In recent years, there have been several projects that have used a smartphone to control a robot. I had always looked at them with interest, but myself I concentrated more on projects with the Raspberry Pi or Arduino. But now even older smartphones are so powerful, and packed with sensors, that they are still very well suited to control an autonomous robot car. The project OpenBot offers on its homepage a guide how to build an autonomous driving model robot with a smartphone. The building instruction includes the hardware like chassis and electronics and goes all the way to the software and describes the training of the neural network that controls the robot.
I personally will interpret the OpenBot project’s building instructions for the chassis and a cheaper power supply, but my plan is to stick to the OpenBot project for the electronics and software. I will do the interpretation for the chassis, because I don’t have a 3D printer myself and it is too expensive for me to print the chassis in the order. Because there are good and proven alternatives for a working chassis that can be easily built by yourself.
The following picture shows my OpenBot which I built with a cheap chassis from the Far East.
Why build an OpenBot yourself
For me it is the interest in technology and the combination of electronics from Arduino and smartphone that has always interested me and is now being used. The project is also a great example of how neural networks can be used by anyone to perform complex tasks like controlling a robot.
Note: The OpenBot project (homepage) requires the use of an Android smartphone. The software to control the robot car is not available for iPhone models!
Functional Principle – OpenBot
An already somewhat older smartphone based on Android serves as the computing unit for this robot car and controls it autonomously. The smartphone uses an artificial intelligence, a so-called neural network, which recognizes obstacles, people, free surfaces etc. in the image and links the robot car. I will use a Samsung Galaxy S8 as my smartphone, which is a bit outdated but still works. By using my own smartphone, the costs for this robot will be reduced significantly compared to models that have extra hardware like a NVIDIA TX2 board or similar. Nevertheless, thanks to the smartphone, this robot can execute neural networks and thus avoid obstacles or follow a person.
The smartphone is connected to an Arduino Nano built into the robot car via USB cable. This allows the Android app on the smartphone to use the Arduino Nano connected to the smartphone via USB cable to control the motor driver, read the measured distance of the ultrasound sensor and measure the number of revolutions of two motors. With this information plus the camera image, the neural network will control the robot car.
I am very enthusiastic about the OpenBot project in advance and I am already looking forward to the implementation. First the robot car itself has to be built. But for me, the exciting part of the project then lies in the software and the training of an own neural network. Here it will be really exciting to see what is possible and what will work well or less well. In the next article I will talk about the components needed to build the robot car as described on the OpenBot page. I will use my experiences from a lot of robot car projects.
The video shows my OpenBot ready to run:
My personal book recommendation:
For those who are not yet familiar with the Arduino, I recommend the following book “Arduino: The comprehensive manual” by Dr. Claus Kühnel as a perfect reference book. It explains a lot in the field of electronics with a really good background knowledge and many details about sensors, LEDs, displays etc. that protect you from making countless mistakes. So you save a lot of frustration, time and of course money for new components. Therefore this book is the ideal reference book for beginners as well as for experienced hobbyists who like to look up in a book and focus on quality.
Article Overview OpenBot robot cuto:OpenBot – Your smartphone controls a robot car – Introduction
OpenBot – Your smartphone controls a robot car – needed parts part 1-2
OpenBot – Your smartphone controls a robot car – needed parts part 2-2
OpenBot – Your smartphone controls a robot car – constructing a chassis
OpenBot – Your smartphone controls a robot car – Wiring
OpenBot – Your smartphone controls a robot car – Flashing the Arduino firmware
OpenBot – Your smartphone controls a robot car – Android App and first test run
OpenBot – Your smartphone controls a robot car – Record training data
OpenBot – Your smartphone controls a robot car – Set up training environment
OpenBot – Your smartphone controls a robot car – train the neural network
OpenBot – Your smartphone controls a robot car – Setting up Android Studio and your Smartphone
OpenBot – Your smartphone controls a robot car – compile your own OpenBot Android app