Mobile Robot Controlusing Bluetooth Low Energy
Bachelor Thesis – Till Riemer
Contents
Concept and Requirements
Project Background
Software Design
Realization
Conclusion and Outview
Concept
Real-world usage scenariosAgriculture/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
BluetoothShort-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 SumobotDevkit for robots participating in Sumobot contest
BASIC stamp controller, easily extendable
Atmel AVR ButterflyEmbedded 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 CC2540Embedded 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 HCIusing 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 applicationMovements as predefined distinct values
Multi-tab viewusing Navigation Controllerand Swipe Gesture Recognizer objects
Movement buttons sending 1-Byte code over GATT
Several improvements such as status bar, differentConnection 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!