An Android Robot

A autonomous car robot connected with android phone.
Chen, 2016-08-09

A mobile robot was designed to patrol the construction site to detect and remove constructional waste. Having the idea of open-source, accessible and extend-able robot hardware and software, we chose Android phone as onboard computation processor and Arduino as hardware driver, since Android can easily integrate different sensors, interfaces, communication protocols and run on inexpensive devices.

We focused on the software development since Arduino hardware for mobile robots are mature enough, where we basically used two servo motors and one distance sensor to perceive environment and move the robot. Whereas the combination of Arduino and Android is worth exploration. To complete the control system, we developed 1) localization system, 2) path planning, 3) communication protocol, 4) user interface.

We implemented our own localization system through tag detection, specifically we made apriltags detection plugin Falcon for grasshopper to get less than 2 cm precision and up to 30 HZ detection frequency. Moreover, we also developed a path planning plugin to navigate the robot and avoid obstacles based on A star path finding algorithm.

We used UDP communication protocol to connect robot to other devices, and Android communicates with Arduino through serial connection. To wrap it up, we gained a complete control system in grasshopper where you can send commands from your phone or robot can perform autonomous tasks. Taking advantage of Android platform, expanding to multi agent system becomes simple. Information can be shared among the agents wirelessly.