[Documentation] [TitleIndex] [WordIndex

ROS Software Maintainer: Bernardo R. Japon


GoPiGo3 is a differential drive robot manufactured by Dexter Industries, that offers a wide range of sensors and actuators to assemble on it. The robot is intended to be used as an educational kit for learning about both robotics and programming, two complementary perspectives that clearly show the transversal knowledge you should acquire to become a robotics engineer.

The manufacturer developed a very complete set of libraries to run software in several languages: Python, Scratch, C, Javascript and Go. Anyway, in order to be really useful also for research and professional training, ROS support is nowdays a must. And this is what we are glad to share now with the ROS community.

Dexter Industries manual

ROS packages


There is a book- also authored by the ROS package maintainer- to guide through your learning experience of ROS with GoPiGo3: Hands-on ROS for Robotics Programming The book phylosophy is learn by example and there are plenty of examples to learn ROS from scratch to the more advanced features, i.e. Robot Navigation, Deep Learning and Reinforcement Learning (find a brief summary of the scope in this article).

Regarding the source code, there are two repositories:

ROS Melodic image for GoPiGo3

You can download this pre-built image from here. Its characteristics are:

NOTE: In the source page you also have the complete list of downloads for GoPiGo3.

The image contains ROS Melodic including the code needed to run the examples of the chapters that involve the physical robot:

After downloading the image file you just need to burn the image to the micro SD card of the GoPiGo3 Raspberry, using the friendly Balena Etcher app (it lets you skip the extraction process, i.e. you can add directly the compressed tar.gz file).

Latest & advanced tutorials

You can get related material and advanced tutorials in the maintainer's website TheRobotAcademy.com. Here is where readers who finish the book should keep on improving their ROS skills with the little GoPiGo3.

Learn ROS by Example

This serie of tutorials is intended to learn ROS from scratch using GoPiGo3, both hardware and simulated versions. It goes from the basic concepts to the advanced topics dealing with SLAM, Robot Navigation, Deep Learning and Reinforcement Learning.

NOTE: This is a work in progress, so you may re-visit this page from time-to-time in order to find the new tutorials. Coming deadlines are offered for the interested readers


In this first stage, all the tutorials refer to the virtual model of GoPiGo3. This way you avoid dealing with robot hardware issues, and may focus on ROS concepts applied to a real robot.

ROS basic concepts with GoPiGo3

ROS Programming from the Beginning

Kinematic simulation using RViz

Getting Started with Virtual GoPiGo3

Dynamic simulation using Gazebo (11 July 2020)

More basics to come ...


In this second stage we introduce the robot hardware, and you will use ROS to run the same software both in the simulated

Many practical articles to come (planned for July-August 2020)


Many deep-dive articles to come (planned for September-October 2020)

Tutorials & Articles

It follows the list of related ROS with GoPiGo3 articles published in the Medium blog of the maintainer of the ROS packages:

2020-08-08 12:24