Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Android controlled robot

15,532 views

Published on

Published in: Technology, Business

Android controlled robot

  1. 1. Android-Controlled Robot Ben Johnke ECE561 Final Project December 16, 2013 1
  2. 2. Project Overview • What? – Vehicle which can be controlled remotely by an Android smartphone • How? – Write an Android app which allows the user to provide throttle and steering inputs – The app sends commands via Bluetooth – Commands received by Bluetooth modem connected to microcontroller – Microcontroller controls motors 2
  3. 3. System Overview Microcontroller Bluetooth modem Power source Motor driver Android controller application Drivetrain 3
  4. 4. System Overview Microcontroller Bluetooth modem Power source Motor driver Android controller application Drivetrain 4
  5. 5. Drivetrain • Vehicle driven by left and right DC motors • Motor torque spec based on estimated vehicle weight, desired acceleration • Differential steering employed – Turn vehicle by driving motors at different velocities – Ball casters in front allow pivoting; no additional wheels needed 5
  6. 6. System Overview Microcontroller Bluetooth modem Power source Motor driver Android controller application Drivetrain 6
  7. 7. Power Source • Few battery technologies can provide high current • Max. discharge rate specified by “C”-rating – C = battery capacity in amp hrs. – NiMH: ~1C – LiPo: 10C+ • LiPo selected to meet this application’s high-current needs – 6A stall current per motor – Chosen battery has 4.0Ah capacity and 25C discharge rating 7
  8. 8. System Overview Microcontroller Bluetooth modem Power source Motor driver Android controller application Drivetrain 8
  9. 9. Motor Driver • Motor control requires full processor attention – Monitor motor speed – Continuously adjust motor voltage to minimize error between desired and actual motor speeds – Essentially a digital feedback control system • Want to avoid this additional hardware and software complexity • Solution: Pololu Dual Motor Driver Shield for Arduino – Contains 2 STMicroelectronics VNH5019 motor drivers, each rated for 12A – Includes Arduino library allowing motor speeds to be set with simple function call 9
  10. 10. System Overview Microcontroller Bluetooth modem Power source Motor driver Android controller application Drivetrain 10
  11. 11. Microcontroller • Arduino UNO – 14 digital I/O pins which can also be used for serial communication – On-board regulated 5V supply – Works with Pololu Motor Driver Shield • Implements differential steering algorithm – Outside wheel speed set based on throttle command alone – Inside wheel speed also set based on throttle command, but subtracted from according to sharpness of steering angle – Rate limiter keeps speeds from changing too quickly 11
  12. 12. System Overview Microcontroller Bluetooth modem Power source Motor driver Android controller application Drivetrain 12
  13. 13. Bluetooth Modem • Want Class 1 Bluetooth for long range (~100m) – Chosen model: BlueSMiRF Gold • Essentially implements a wireless serial stream – When modem receives a message via Bluetooth, it sends that message via serial – When modem receives a message via serial, it sends that message via Bluetooth • Has static network address which Android controller uses to establish a connection 13
  14. 14. System Overview Microcontroller Bluetooth modem Power source Motor driver Android controller application Drivetrain 14
  15. 15. Android Controller Application • Creates socket for communicating with Bluetooth modem, using its known address • Reads throttle and steering slider bar values, transmits periodically on socket’s OutputStream • Listens on socket’s InputStream for error messages from Arduino 15
  16. 16. Lessons Learned • Skills – – – – Android app development (Java, XML) Selecting parts based on datasheets Practical aspects: sourcing parts, mechanical fabrication Bringing a design from concept to implementation • Conclusion – It is feasible to implement Bluetooth communication between smartphone and microcontroller – This opens door for wide range of possible similar applications • Remote starter for car • Automation of household tasks 16
  17. 17. Future Extensions • Advanced motion – i.e. robot arm controlled by servo motor • Obstacle avoidance – Install proximity sensor; develop algorithms to steer around / back up when obstacles detected • Vision – Use camera to transmit frames back to Android application for display to user – Bluetooth too low-bandwidth; switch to WiFi 17
  18. 18. Video • https://www.youtube.com/watch?v=LB0zt2BY d84 18

×