The Big Rob is not yet finished. I have to work on the look of the robot. But the electronic components are already installed. The brain of the bot is a Raspberry Pi 2 Model B. The Raspberry Pi is connected to a RasPiGNSS module to receive the raw GPS data stream. To control Big Rob via WIFI the Raspberry Pi is connected via a RJ45 cable to a Linksys router which is built into the body. But I will changes this setup in the future and will install an USB wifi card with a booster and external antenna. The robot could navigate autonomously and could be manually controlled via a web interface with a live video stream to show the operator what the bot sees.
The next pictures shows the Big Rob ready for his mission in the field. On top of the bot I mounted a Raspberry Pi Sense-HAT and the GPS antenna. The robot needs the GPS antenna which is connected to the RasPiGNSS module for precise differential GPS navigation. You do not see the base station on the picture which is need in this setup for differential GPS. But the Raspberry Pi of the Big Rob is connected to the base station via WIFI and the RTK library has already calculated a FIX solution with the precise GPS coordinates of the robot.
The Big Rob itself uses a Linksys WRT54GL WIFI router which is used as access point to control the robot and to connect with the base station. The router inside the robot makes it very handy to get the robot ready for a mission. The WIFI connection is very reliable which is important for the operator.
Raspberry Pi robot with GNSS navigation
I am working on a differential GPS solution since November 2016 for my robot cars. The RTK solution consist out of the base station and the mobile unit which is built into the robot. If you would like to read more about the differential GPS solution setup I wrote an article series about the installation and usage of the differential GPS solution which uses the RTK library.
The following picture shows a small part the technical components which are built inside the robot. On the left you see the RasPiGNSS GPS receiver and on top of the RasPiGNSS module you see the GPS antenna.
At the back I mounted the Raspberry Pi Sense-HAT. I need the Sense-HAT for turning the front of the bot to north with the build in magnetometer. With the gyroscope inside the Sense-HAT I could control how far the robot has to turn to the left or right to face north or the GPS way point to drive to.
E-Book – build a remote controlled robot with a Raspberry Pi
With this e-book you can create step by step, your unique remote controlled car. The interaction of hardware, electronics and software are explained with the help of concrete examples. This makes it easy to understand the more complex parts of the project.
The e-book is available as PDF.
The e-book costs 14.90 USD inkl. 19% VAT. (Germany).
When ordering from other countries the gross price may vary since then other VAT rates apply.
Python modul GPS NMEA data sets
In the past I used a USB GPS mouse for navigation. Most of the USB GPS modules are supported by the GPSD demon and the Python GPS module. Typical for such a GPS mouse is a NMEA stream which could be read from the USB interface the USB receiver is connected to. This NEMA data stream is read by the GPSD demon for further processing inside my Python programs.
For the differential GPS RTK solution I changed my Python program to read the NMEA stream from a TCP/IP socket over the network and not from an USB port. This enables my Python program to read the very precise NMEA stream generated by the RTKRCV program. This enables my robot to navigate very precise with the calculated position by the RTK solution.
To change the Python program was very easy. The new NMEA stream could be read directly over the network from the TCP/IP socket and with the extension PYNMEA it is very easy to process the NMEA data inside a Python program. With PYNMEA I could interpret the RTKRCV generated NMEA stream and work with the GPS information to control the bot.
To install PYNMEA on your Raspberry Pi please execute the following command in the terminal window of your Raspbian operating system:
Command: sudo pip install pynmea
The Python program which reads the NMEA stream could be downloaded from the following URL. The program is the base for further programs and explains in general how the GPS data could be processed with Python to control the robot.
download: READ RTKRCV NMEA PYTHON STREAM
For now I am happy with the changes inside my Python program. I already tested the Big Rob in the field with the differential GPS setup. The technical effort is very high but it is worth if you get a very precise positioning system for your bot at the end. It took a while to get everything up and running automatically. But for now the RTK solution works very well and I have only to power up the base station and mobile unit to get a very precise NMEA stream for navigation.
Article list - Big Rob:Big Rob – Raspberry Pi robot
Big Rob – Raspberry Pi robot power train
Big Rob – Raspberry Pi robot motor driver BTS7960B and Python program
Big Rob – Raspberry Pi robot outdoor camera
Big Rob – Raspberry Pi robot with differential GPS
Big Rob – Raspberry Pi robot with nice teeth
Big Rob – Raspberry Pi robot Peak Power Pack power supply