Success: Scripted GoPiGo3 Install For Ubuntu 22.04 (64-bit) Server Jammy Jellyfish

In preparation for my Humble Hawksbill ROS2 GoPiGo3 rebuild, I needed to install the GoPiGo3 API on the latest Ubuntu 22.04 (64-bit) Server Jammy Jellyfish (headless).

I have minimized the amount of typing and rebooting to create

STEP 1: GoPiGo3 On Jammy Jellyfish

Next up - Step 2: ROS2 Humble Hawksbill For GoPiGo3 … wish me luck


that’s great - good luck


Wow, I didn’ t remember installing ROS2 was so “nothing” … ROS2 Humble Base took less than 5 minutes. Talker and Listener in C++ and Python worked so ROS2 is alive.

Now I have to collect the ROS2 GoPiGo3 node and msgs into a workspace and get it all compiling and building again without being under the “shadow” of Hands On ROS.


Thank you - you must have special powers.

I managed to get my ROS2 GoPiGo3 node built and running,

ubuntu@ROS2HH:~/ros2ws$ [INFO] [1665633572.183942751] [gopigo3_node]: ros2_gopigo3_node: created main loop callback at 30 Hz
GoPiGo3 info:
Manufacturer    :  Dexter Industries
Board           :  GoPiGo3
Serial Number   :  56ECD67E5152415447202020FF192614
Hardware version:  3.x.x
Firmware version:  1.0.0

GoPiGo3 Configuration:
(Using default values or ~/Dexter/gpg3_config.json if present)
WHEEL_BASE_WIDTH: 117.000 mm
ENCODER_TICKS_PER_ROTATION: 16 (per one motor revolution)
MOTOR_GEAR_RATIO: 120 (motor revolutions per wheel revolution)
MOTOR_TICKS_PER_DEGREE: 5.33 (of wheel rotation)

Node Version: 0.6
Rate: 30 hz
Servo1 PulseWidths L: 2094 R: 750 us
Servo1 Total Sector Width: 2.443 radians
Servo2 PulseWidths L: 2425 R: 575 us
Servo2 Total Sector Width: 3.14 radians

Turbo Bias Correction: 0.010 m/s
Bias Threshold Speed: 0.200 m/s

and get teleop_twist_keyboard built and running in a second shell,

ubuntu@ROS2HH:~/ros2ws$ ./ 

This node takes keypresses from the keyboard and publishes them
as Twist messages. It works best with a US keyboard layout.
Moving around:
   u    i    o
   j    k    l
   m    ,    .

For Holonomic mode (strafing), hold down the shift key:
   U    I    O
   J    K    L
   M    <    >

t : up (+z)
b : down (-z)

anything else : stop

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%

CTRL-C to quit

currently:	speed 0.1	turn 1.0 

so I can send command messages to “Humble Hawksbill” GoPiGo3!

and Humble Hawksbill added a “topic echo --once” feature so it doesn’t run away with my terminal:

ubuntu@ROS2HH:~/ros2ws$ ros2 topic echo --once /battery_voltage
data: 11.254

I only got 5 hrs sleep last night, so I have not been thinking straight all day - your good luck wish must have done magic!

Still have to complete writing up step2 the ROS2 install steps, then how to test all the features of the ROS2 GoPiGo3 node, then
start on the distance sensor node and ultrasonic ranger node - the “easy nodes”.

And package up my ROS2 GoPiGo3 node(s) with installation

Eventually tackling the “biggies” - LiDAR, pi camera.



No, the credit is all yours and it’s a MASSIVE win.


Agree completely. And it will help me because some of this is beyond my tech skills.