- Dexter Industries manual
- ROS packages
- Learn ROS by Example
- Tutorials & Articles
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.
Dexter Industries manual
Software libraries for Python, NodeJS, Java, C/C#, NodeJS, Go and Scratch
ROS GoPiGo3 basic bundle. It includes the following packages:
gopigo3_description provides the URDF model of the robot that you can use to perform simulations.
gopigo3_fake allows to experiment with the robot without needing the physical one. Yo can, for example, explore its kinematics with RViz tool
gopigo3_bringup allows the user to operate the physical robot including the distance sensor and the servomotors of the wheels.
Tutorial on this package: Learning Robotics with ROS made easy
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 packages organized by chapters (both for the robot and remote laptop): https://github.com/PacktPublishing/Hands-On-ROS-for-Robotics-Programming
ROS Melodic image for GoPiGo3
You can download this pre-built image from here. Its characteristics are:
- OS Ubuntu Mate 18.04
- ROS Melodic distribution
- Compatible with Raspberry Pi 3
Pre-built catkin workspace including GoPiGo3 source code
The image contains ROS Melodic including the code needed to run the examples of the chapters that involve the physical robot:
Chapter 7: Robot Control and Simulation
Chapter 9: SLAM for Robot Navigation
Chapter 10: Applying Machine Learning in Robotics
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
Kinematic simulation using RViz
Dynamic simulation using Gazebo (next)
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
Practical articles to come
Deep-dive articles to come