#GoPiGo3

2025-05-14

I heard the sound of my ROS 2 Jazzy robot WaLI (Wallfollower Looking for Intelligence) rotating in search of his dock to recharge.

"Head spinning" WaLI was trying to push my ROS 2 Kilted Kaiju robot Kilted Dave off the dock.

Lesson learned: they still need me.

#ROS_2 #Robot #Kilted #Jazzy #GoPiGo3

Turtlebot 5 WaLI (Raspberry Pi 5 running Turtlebot 4 stack on an iRobot Create educational robot platform next to a GoPiGo3 robot running the beta ROS 2 Kilted Kaiju on a Raspberry Pi 4 named Kilted Dave.
2025-05-03

#ROS2 #KiltedKaiju Is On My Mind..

Successfully installed the #GoPiGo3 #Robot software to #ubuntu24_04lts Server on #RaspberryPi4

Successfully installed ROS 2 Kilted Kaiju (arm64)

Successfully ported robot "HumbleDave2" to be "Kilted Dave" and he sensed his battery was fully charged and got off his dock for the first time under the beta release of ROS 2 Kilted Kaiju

Haven't managed to build the #YDLIDAR_X4 ROS 2 driver yet - so Kilted Dave isn't going to go wandering yet.

2025-04-11

My Pets - Never need to taken out to do their business, don't need to be fed, never make a mess while I'm away...BUT they do demand I teach them something way too often.

TurtleBot5-WaLI (Wallfollower Looking For Intelligence) is running ROS2 Jazzy, and HumbleDave2 (Just Dave) is running ROS2 Humble Hawksbill.

TB5-Wali has been "alive" for 2056 hours since Jan 9, 2025.

HumbleDave2 has self docked 1283 times in his four years of life to date.

#Create3 #GoPiGo3 #RaspberryPi5 #robot

Two robots - Turtlebot 5 WaLI has a WALL-E character atop a Create3 robot base, and next to him is Humble Dave 2 which has a Minion Dave character atop a GoPiGo3 robot base.  Each robot is standing in front of their charging dock during their play time.
2025-04-08

Everyone loves Docker but me.

My robot GoPi5Go-Dave ran #ROS2 Humble in a Docker container
( #Ubuntu22 was not available for Pi5 )

The #Pi5 #I2C died so I downgraded Dave to a Pi4 - no more Docker, no more two OS to update, no more hardware interface nightmares.

ROS 2 "Humble Dave 2" got on his dock, charged for 2.4 hrs, got off his dock, and promptly complained the "Future has no done attribute"

Isn't that the definition of the future?

ROS Joke: Just need to fix the future.

#GoPiGo3

GoPiGo3 robot with Minion character Dave on top, on his dock in front of a sign with the robot's name "Humble Dave 2" and a large 6 by 6 square AprilTag.
2025-04-05

Robot Reincarnation Is Real

The #RaspberryPi5 powering my GoPi5Go-Dave #robot blew its I2C bus "out of the blue". He no longer managed his battery level and died.

Robot Dave first existed as "Humble Dave" from 2021 to 2023, and was reincarnated as "GoPi5Go-Dave from 2023 to 2025.

Again reincarnated, #Pi4 #GoPiGo3 #ROS2 "Humble Dave2" is alive on his dock, awaiting further #Python enlightenment.

Special thanks to @CleoQc of #ModularRobotics for putting Dave back on the straight and narrow.

Differential drive GoPiGo3 Robot with Minion Dave character on top
2024-11-25

What's on my mind?

Disappointment and Disillusionment!

- Invested 7 yrs in #GoPiGo3 #robot
- Created #ROS2 nodes for #proprioception, #odometry, #LIDAR, #docking, #tts #mapping, #navigation, #simulation, #ObjectRecognition, and #LifeLogging

- My robot cannot safely and reliably navigate in my complex home environment.
- No slower turns, no inflation value can fix

I'm done, destroyed, no strength left for "one more try". GoPi5Go-Dave is on the shelf with other "reached its limit" robots.

Shelf with WALL-E figures from 2023 Create3-WaLi robot, GoPi5Go-Dave robot (Minion Dave on top) built in 2018, Rug Warrior Pro robot built in year 2000.Shows totally wrong robot localization in a map of home built with ROS 2 cartographer.  The robot thinks the world is 45 degrees different than the actual environment.
2024-10-13

When Your Robot Is Lying To You

I discovered my 6 year old robot Carl was lying to me about his age.

The story: forum.dexterindustries.com/t/w

(Robot Carl thinks he is special because he has a unique DOI - Digital Object Identifier.)

#GoPiGo3 #RaspberryPi #DOI #Robots

6 year old robot Carl is a GoPiGo3 mobile robot platform with a tall rubber Minion Carl on top, shown in front of his recharge dock.
2024-09-24

In ROS there is a URDF file (Universal Robot Description File) which allows the robot visualization application to show a symbolic robot and the robot and state publishers to update where the robot parts are located as the robot moves.

These files can be amazingly complex to get the values correct for every part of a robot to appear in the correct place, and for sensor data to be accurate.

Over the years I have created #GoPiGo3 #URDF files. Today the GoPi5Go-Dave file:

#ros2humble

Robot GoPi5Go-Dave visualized in Rviz2 from his new URDF file.  Minion Dave is depicted by a dome topped yellow cylinder with goggles and black eyes.  The robot is depicted by four horizontal blue platforms with a yellow LIDAR, and yellow Oak-D-W stereo depth camera on the frontPicture of the actual GoPi5Go-Dave robot, with minion Dave atop the robot.
2024-09-17

Finally got around to diagramming ROSbot GoPi5Go-Dave's Software Architecture

#GoPiGo3 #Docker #RaspberryPi5 #RaspberryPiOS #Robot #ros2humble

Docker container with ROS 2 Humble nodes that control robot and provide mapping, navigating, docking, and battery management to keep GoPi5Go-Dave running 24 hours, 7 days a week.Oak-D-W97 stereo Depth camera and 360 degree LIDAR of robot
2024-09-08

Tried Google Gemini to code a Python ROS 2 multi-threaded node that subscribes to 2 topics, calls 2 asynchronous services and has a main callback every 1 second that implements a state machine.

It got close but I would be learning to "program" Gemini, rather than learning to program ROS, and I don't want to debug code that was not tested to work.

Starting from ROS tutorials with code that has been tested has worked well for programming my robots so far.

#GoogleGemini #ROS2 #GoPiGo3 #robot

GoPiGo3 Differential Drive robot with Minion Carl holding his arms up in frustration when his Google Gemini ROS (Robot Operating System) code quit prematurely.
2024-08-31

@danie10

Congratulations and thank you!

I don't remember why, but I do remember searching DockerHub a couple months ago to see if anyone had a whole 64-bit Raspberry Pi OS Bookworm image Pi 4 container.

(I converted one of my #GoPiGo3 robots to sport a Pi 5 which broke some install scripts and programs (GPIO stuff). I fixed the scripts and programs to work for Pi5 but can't test to see if they are compatible with Pi 4 robots. That may have been why I was searching DockerHub.)

2024-08-27

Progress - GoPi5Go-Dave Robot Is Docking and Undocking 24/7 managed by ROS 2 nodes.

2024-08-26 19:16|dave_node.py| ---- GoPi5Go-Dave ROS Docking 928 : success at battery 10v after 2.5 h playtime

His stack:
- dave_node
- docking_node
- [slam_toolkit and nav2]
- [RTABmap]
- battery_node
- gopigo3_node
- odometer node
- ydLIDAR node
- oak_d_w_ros2 node
- teleop_joy node
- say_server node(Piper-TTS)
- safety_shutdown node
- I2C mutex

#GoPiGo3 #ROS2Humble #Robot #RaspberryPi5 #Docker #autonomous

Robot GoPi5Go-Dave sitting on his dock recharging.  Top to bottom: 5 inch tall Minion Dave character, LIDAR and Oak-D-W stereo depth camera, then battery and audio speaker, atop a Raspberry Pi 5 and GoPiGo3 controller board, on a clear plexiglass platform holding the wheels/motors, and docking contacts.
2024-08-18

18 months ago I tried to teach my Raspberry Pi4 robot to use TFlite to recognize American Sign Language. (0% accuracy)

Since then my robot upgraded to a Pi5 and an Oak-D-W spatial camera with a dedicated neural net processor, AND I learned that Google gave out $500,000 to encourage folks to teach their computers to recognize ASL.

kaggle.com/competitions/asl-fi

Hopefully this will give my robot ASL as an input modality.

#ASL #robot #machinelearning #OakDlite #RaspberryPi #KaggleChallenge #GoPiGo3

TensorFlowLite claiming to confidently recognize an ASL finger spelling C when shown fingers  for the letter W.
2024-08-15

@drfootleg
> ROS with real robot

Not a trained ROSer, but figured out from first robot node and keyboard driving, joystick driving, adding LIDAR, and URDF for visualizing my bot in rviz2 on the desktop, up to running SLAM on the bot.

I created a custom "ROS 2 GoPiGo3 Robot Node", and then a set of guided "tests" with shell script commands to help remember how to do things.

Perhaps some useful stuff:

github.com/slowrunner/ROS2-GoP

and the node is at github.com/slowrunner/ROS2-GoP

#GoPiGo3 #ros2humble

2024-08-12

@themagpi

> Raspberry Pi projects?

Solved a month long mystery!

How to manage Raspberry Pi I2C device access inside ROS2/Ubuntu/Docker container **AND** outside the container in Raspberry PiOS Bookworm?

Docker invocation must map both the bus AND the mutex lock folder /var/lock/

#RaspberryPi5 #RaspberryPiOS
#I2C #Mutex #Docker #ROS2humble #Robot #GoPiGo3

Block diagram showing Docker container with mapped I2C bus and mapped mutex locking folder /var/lock/ for a mutex protected EasyINA219 class running both inside and outside the Docker container accessing an I2C bus connected INA219 voltage and current sensor
2024-08-12

@drfootleg Another tip that has been plaguing me for a month!

If you have processes inside a Docker container and other processes outside the Docker container that need mutex protection such as I2C bus or SPI bus accesses, you need to map the bus (obviously) **and** the mutex folder!

I had the sensor access working great but could not figure out why my inside and outside "mutex protected" accesses were colliding...

#GoPiGo3 #Docker #RaspberryPiOS #mutex #ros2humble

Diagram showing that a mutex protected class inside a Docker container and a mutex proteccted class outside the container - with mapped I2C bus and mapped mutex folder /var/lock
2024-08-11

Think I solved why my inside Docker (ROS 2) access to I2C INA219 current sensor was colliding with my outside Docker access to the device - forgot to map the /var/lock directory so the mutex is visible from both environments!

#Docker #mutex #ina219 #robot #GoPiGo3 #ros2humble

2024-08-11

@drfootleg

> ROS2 in Docker on PiOS Bookworm for Pi5

Tip: Break the build into two Dockerfiles - 1) the long base build, and 2) the experimental build steps that will fail a few times (quickly).

Check out my robot's Docker build steps and DockerFiles at
github.com/slowrunner/GoPi5Go/

#GoPiGo3 #Docker #ros2humble #RaspberryPi5 #RaspberryPiOS

2024-07-30

GoPi5Go-Dave now has a (virtual environment) Quantum Processor!

Installed Qiskit-Aer Quantum Simulator, and managed to get a few "example circuits" to run.

I have absolutely no idea what robot Dave can do with his Quantum Processor, nor how to design the logic circuits.

Supposedly a Quantum Processor could run circles around ROS 2 Nav2 (if I add a mobile refrigerator to my robot).

#GoPiGo3 #QuantumProcessing #Qisket_Aer #ROS_2 #Nav2 #MobileRobots

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst