210 likes | 455 Views
Mobile Robot Control using Bluetooth Low Energy. Bachelor Thesis – Till Riemer. Contents. Concept and Requirements Project Background Software Design Realization Conclusion and Outview. Concept. Real- world usage scenarios
E N D
Mobile Robot Controlusing Bluetooth Low Energy Bachelor Thesis – Till Riemer
Contents ConceptandRequirements Project Background Software Design Realization ConclusionandOutview
Concept Real-worldusagescenarios Agriculture/cleaningvehiclesfor limited spaceenvironments Consumer Electronics SWAT / Rescueoperations Cameracontrol / Fly Cam Archeologyexploration
Concept Requirements Designedfor Hardware available on stock formassproduction Extendabilityandportability Peripheraltotallyremotelycontrollable Controlinterfaceusableby non IT experts Focus on power savingandspeed in accordance
Background Bluetooth Short-distancewirelesscommunicationprotocol Currentlyversion 4.0 (introduced LE) Consistsofseverallayers (profiles): • Physical (2,4Ghz band) • L2CAP • GAP (Piconet/Master/Slave) • ATT(GATT) (Client/Server) • HCI • …
Background Bluetooth Low Energy Extension to Bluetooth standard Same frequency band andbasicprotocols Reducedamountofadjustedprofiles Energysavingthroughshorterdevicediscoveryandsleepmode
Background ParallaxSumobot Devkitforrobotsparticipating in Sumobotcontest BASIC stampcontroller, easilyextendable Atmel AVR Butterfly Embedded boardbased on Atmega 169V MCU U(S)ART interface (no HW flowcontrol) 1x 16bit, 2x 8-bit HW timerwith PWM support -> power supplychangedtoSumobot 4x1.5V
Background Texas Instruments CC2540 Embedded Development kitwith BLE stack on singlechip (8051 MCU) Embedded/UART and USB version Supportingsingle/dual CPU and Master/Slave mode Closed-Source OSAL, BLE stackprogrammable on all layers
Background Apple iPhone 4S
Software Design System Architecture
Software Design Butterfly application Communication with CC2540 over HCI usingthe UART interface Receiving 1-byte movementcommandsover GATT, interpretingintopredefinedmovementactions example: Forward 1x -> GATT recv. 0x01 -> setMotorSpeed(50,50); Servocontrolusinghardwaretimer (PWM)
Software Design CC2540 application Based on HostTestRelease sample projectby Texas Instruments Peripheral Mode Registered functions handle external Bluetooth Messages and HCI commands GAP on device, GATT transmissiontohostoverHCI
Software Design iPhoneapplication Based on TI exampleapplication Model/View/Controller Delegator Buttons controling relative direction 3-step speedcontrol
Realization iPhoneapplication Movementsaspredefineddistinctvalues Multi-tabview using Navigation Controller andSwipeGestureRecognizerobjects Movement buttonssending 1-Byte codeover GATT Severalimprovements such asstatus bar, different Connection interval etc.
Realization CC2540 application Minor changes: • UART flowcontroldisabled • GATT forwardingover HCI • Peripheraldeviceconfiguration
Realization Butterfly application Servosusing PWM timerlike in Sumobotproject UART: • one-time Oscillatorcalibration • Interrupt-driven UART driver + Message Queues HCI interface
Conclusion Currentstate iPhoneapplicationmoreorlessdone, furtherimprovements Connection windowtobeoptimized GATT transmissionover HCI tbd Future testing
Conclusion PossibleImprovements Controlinterface: • 3-axis gravitysensorcontrol • Fluent 2D-space movement (-> Diablo) • Speech recognition (Siri?) Authorization / AES encryption XML datatransmissionprotocol Efficienceanalysisand power savingoptimization