Improved On-Board Communication for Low-Cost Mobile Robots
This project seeks to improve the communication process between the host computer of an existing, low-cost robot, and some on-board peripherals. This robot is used by the department of Computer Science at University of Innsbruck for teaching students autonomous systems. The robot is driven by an Android phone which communicates with the robot’s internal peripherals. The components in use for this communication process introduce various problems which are resolved by this project to ensure better user experience.
Possible prototypes have been evaluated to find the best possible solution for the task. Although the best solution still has some flaws, another prototype was created which brings some new benefits along. Among them are easy to use and easy to maintain interfaces. Together with the prototypes documentation and examples have been crafted to ensure easy access to the material for students. Modularity of the robot has been improved which enables other people to easily enhance the robots capabilities.
The component used in the final solution consists of a microcontroller which is programmed to read in data from an Android phone and controls the robot accordingly. Apart from hardware the microcontroller’s firmware has been written together with and example Android application.
2015-04-30Since the firmware's command buffer logic ignores
\r(carriage return) and terminates on
\n(linefeed), one cannot use the corresponding values as arguments. Just increment the value by one before sending, you won't notice the difference anyway.