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 Agriculture/cleaning vehicles for limited space environments Consumer Electronics SWAT / Rescue operations Camera control / Fly Cam Archeology exploration Concept Requirements Designed for Hardware available on stock for mass production Extendability and portability Peripheral totally remotely controllable Control interface usable by non IT experts Focus on power saving and speed in accordance Background Bluetooth Short-distance wireless communication protocol Currently version 4.0 (introduced LE) Consists of several layers (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 and basic protocols Reduced amount of adjusted profiles Energy saving through shorter device discovery and sleep mode Background Parallax Sumobot Devkit for robots participating in Sumobot contest BASIC stamp controller, easily extendable Atmel AVR Butterfly Embedded board based on Atmega 169V MCU U(S)ART interface (no HW flow control) 1x 16bit, 2x 8-bit HW timer with PWM support -> power supply changed to Sumobot 4x1.5V Background Texas Instruments CC2540 Embedded Development kit with BLE stack on single chip (8051 MCU) Embedded/UART and USB version Supporting single/dual CPU and Master/Slave mode Closed-Source OSAL, BLE stack programmable on all layers Background Apple iPhone 4S Software Design System Architecture Software Design Butterfly application Communication with CC2540 over HCI using the UART interface Receiving 1-byte movement commands over GATT, interpreting into predefined movement actions example: Forward 1x -> GATT recv. 0x01 -> setMotorSpeed(50,50); Servo control using hardware timer (PWM) Software Design Software Design CC2540 application Based on HostTestRelease sample project by Texas Instruments Peripheral Mode Registered functions handle external Bluetooth Messages and HCI commands GAP on device, GATT transmission to host over HCI Software Design iPhone application Based on TI example application Model/View/Controller Delegator Buttons controling relative direction 3-step speed control Realization iPhone application Movements as predefined distinct values Multi-tab view using Navigation Controller and Swipe Gesture Recognizer objects Movement buttons sending 1-Byte code over GATT Several improvements such as status bar, different Connection interval etc. Realization CC2540 application Minor changes: - UART flow control disabled - GATT forwarding over HCI - Peripheral device configuration Realization Butterfly application Servos using PWM timer like in Sumobot project UART: - one-time Oscillator calibration - Interrupt-driven UART driver + Message Queues HCI interface Conclusion Current state iPhone application more or less done, further improvements Connection window to be optimized GATT transmission over HCI tbd Future testing Conclusion Possible Improvements Control interface: - 3-axis gravity sensor control - Fluent 2D-space movement (-> Diablo) - Speech recognition (Siri?) Authorization / AES encryption XML data transmission protocol Efficience analysis and power saving optimization Thank you for attending!