It was looking like GoPi5Go-Dave might never achieve “ROSbot” status, but he is “officially a ROSbot” today.
- ROS 2 (in Docker container) starts when Dave boots
- The basic “GoPi5Go-Dave nodes” start when ROS 2 in Docker starts
- ros2_gopigo3_node GoPiGo3 ROS2 publishes odom, offers /cmd_vel etc
- battery_node publishes /battery_state
- docking_node publishes /dock_status, offers /dock and /undock services
- dave_node calls /dock when vBatt<10v, and calls /undock when charge current < -175mA
- odometer records all ROS /cmd_vel movement
- joy_node handles wireless F710 joy controller to publish /cmd_vel
- say_node TTS speech server offers /say {“phrase”} service
(gopi5go_power_service, logLife, and safetyShutdown remain as Python programs running in PiOS Bookworm that also start at boot.)
And today for the first time - GoPi5Go-Dave responded to my wireless F710 joy controller and published his adventure for the rViz2 client listening in an Ubuntu virtual machine running on my Mac desktop:
GoPi5Go-Dave is managing his docking and undocking behaviors in ROS 2 Humble, and logging his (joystick commanded) travels:
2024-08-29 15:16:34|start_point - x: 0.013 y: 0.001 z: 0.000 heading: 0
2024-08-29 15:16:42|stop_point - x: 0.725 y: 0.136 z: 0.000 heading: -2 - moved: 0.792 meters in 8.3s
...
2024-08-29 15:16:57|start_point - x: 0.726 y: 0.136 z: 0.000 heading: 4
2024-08-29 15:17:05|stop_point - x: 0.728 y: -0.066 z: 0.000 heading: -89 - moved: 0.214 meters in 7.8s
...
2024-08-29 15:17:06|start_point - x: 0.728 y: -0.066 z: 0.000 heading: -89
2024-08-29 15:17:07|stop_point - x: 0.721 y: -0.097 z: 0.000 heading: -106 - moved: 0.033 meters in 1.3s
2024-08-29 15:17:08|start_point - x: 0.721 y: -0.097 z: 0.000 heading: -106
2024-08-29 15:17:12|stop_point - x: 0.309 y: -0.100 z: 0.000 heading: 175 - moved: 0.420 meters in 4.2s
2024-08-29 15:17:14|start_point - x: 0.309 y: -0.100 z: 0.000 heading: 175
2024-08-29 15:17:17|stop_point - x: 0.070 y: -0.091 z: 0.000 heading: -165 - moved: 0.240 meters in 2.8s
...
and achieved the same lousy odometry (after angular motion) of the former “HumbleDave” and “ROS_GoPiGo3” robots that inhabited his soul before.
The graph of nodes and topics:
There are lots of issues still to slay, but today is a milestone crossing for GoPi5Go-Dave to join HumbleDave and Create3-WaLI as a ROSbot, and joining Create3-WaLI as a 24/7 ROSbot managing to stay alive with ROS 2.