mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.1K
active users

#GoPiGo3

0 posts0 participants0 posts today

A Robot Has Got To Speak His Mind!

This morning my robot Carl said something unusual - "Unable to undock!"

It has been so long since I heard him say that, over two years in fact. I had forgotten he can recognize something is blocking his intended path after his battery has been fully charged.

I moved the bag and heard:

2025-06-07 13:11|Initiating dismount.
2025-06-07 13:11|Dismounting
2025-06-07 13:11|New Charging State Not Charging
2025-06-07 13:11|Dismount complete

ROS 2 Success with ReentrantCallbackGroups

Robot "Kilted-Dave" was not able to declare docking success from the dock callback because the battery_state callback was not allowed to execute to update the new charging state.

I had already setup callback groups but failed to initialize the battery_state callback group as reentrant.

Single line fix to a problem plaguing my #GoPiGo3 #RaspberryPi4 #ROS2_KiltedKaiju #robot since he was "Humble-Dave" on #ROS2Humble

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.

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.

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

Replied in thread

@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

GitHubROS2-GoPiGo3/Docs/Test_ROS2_GoPiGo3.md at main · slowrunner/ROS2-GoPiGo3Headless Setup of ROS2 GoPiGo3 Robot Humble Hawksbill, Ubuntu 22.04 Server - slowrunner/ROS2-GoPiGo3
Replied in thread

@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...

Replied in thread

@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/

GitHubGoPi5Go/config/docker at main · slowrunner/GoPi5GoGoPiGo3 Robot with Raspberry Pi 5 Processor . Contribute to slowrunner/GoPi5Go development by creating an account on GitHub.

Ghosts In My Robot

I awoke this morning hearing a strange quiet whirring sound in the room where my #GoPiGo3 #robots Carl and Dave reside.

Tracked the sound down to GoPi5Go-Dave’s #YDLidarX4 scanning the room for ghosts he thought might attack?

No ghosts had infected his brain, but did find a ghost elsewhere.

Wiggling his cables stopped the spinning, but subsequent wiggles can start and stop the spinning.

I can’t deal with ghosts before breakfast, but Dave is playing more quietly now.

Oh #robot #wheelencoders - Oh No...

I've been refreshing 20 years forgotten C++ skill with my re-incarnated #RaspberryPi5 #PiOSBookworm powered #GoPiGo3 robot "GoPi5Go-Dave". I and feeling pretty good till I got to watching for 32-bit #unsignedinteger encoder ticks to reach a desired value. Ouch my brain is fried.

I decided it would help if I could run the Python version of the robot API, but the Python GoPiGo3 API was not working on the Pi5 due to lack of pigpiod package for Pi5

...