Success: ROS2 Humble Hawksbill GoPiGo3 Robot in 1 hour

Success this week bringing my Raspberry Pi 4B 2GB ROS2 GoPiGo3 robot Dave up on Humble Hawksbill and Ubuntu Server 22.04 Server Jammy Jellyfish. Got the complete headless install process down to 1 hour from raw SDcard to teleop controlling the ROS2 GoPiGo3 robot around.

ROS2 GoPiGo3 Robot Dave:

 

(BTW, If you already have a Pi4 or Pi3B+ board, the GoPiGo3 Core robot kit is available from the manufacturer for $129 - rechargeable battery and charger included:

My complete headless install steps, scripts, and ROS2 GoPiGo3 node are at:

I don’t work for the manufacturer. I just want more “ROS2 GoPiGo3 Robot” friends to learn and share with.

2 Likes

Add another year for me to learn a little about slam-toolbox and Nav2, but ROS 2 GoPiGo3 robot “Humble Dave” did his first navigation in my kitchen:

And to think I thought I could “Learn ROS in Four Days” … maybe four life-times.

I am starting to sense the Nav2 world philosophy, from “the god’s” responses to questions and more reading of the large volume of documentation on this extremely versatile and complex package.

The approach expected of noobs:

  • Work through the Gazebo simulated Turtlebot3 Tutorial
  • Create a local <your_robot>_nav2 package ← MANDATORY for success, docs use “recommended”
  • Simulate your robot in Gazebo with <your_robot>_nav2 package using default parameters
  • Simulate your robot in Gazebo with your test-map … using default parameters
  • Run your physical robot with <your_robot>_nav2 package using default parameters
  • Change one parameter at a time, loop until stumped
    • Simulate your robot in your test-map in Gazebo … using the changed parameter
    • Run your physical robot … using the changed parameter

And only after that, ask your questions, include a log.

My “avoid all simulation” attitude is a personal problem I need to get over.

I also sense I need to go back to the former SLAM-Toolbox step and complete the following:

  • Map an area and Save Map (I have this figured out, just have not created a “Test Area Map”)
  • Run SLAM-Toolbox in Localization-Only mode (need to learn how to do this)

and then proceed through the “with your test-map” Nav2 steps above.

90% of the questions appear to be “My robot stops short of the goal” which is exactly my experience and the result of my reading suggests:

  • Tuning will allow getting closer to the goal pose, but do not expect (do not even try for) perfection
  • Tuning may allow getting closer to the goal position, but goal heading is even more difficult to achieve.
  • The tighter one tunes for goal perfection, the less tolerance for obstacles will be.
  • Multi-goal paths require even more complex tuning in the presence of dynamic obstacles
  • Using an external path planner with nav2 will result in a “clash of wills”

Navigation Stack nav2 @smac