I haven’t even loaded ROS 2 (Humble Hawksbill) on the new GoPi5Go-Dave yet, and already they want us to try ROS 2 Jazzy Jalisco (over Ubuntu 24.04 Noble Numbat) in prep for the official release on May 23rd.
There’s supposedly new “Jazzy T-Shirts” in it for the tryin’.
GoPi5Go-Dave is in the middle of docking tests, so he’s sitting this one out, but I couldn’t resist setting up my DeskPi5 with Ubuntu Noble Numbat. Have to decide if I’m going to really give Jazzy a go, or stick with the proven ROS 2 Humble that is good for three more years.
Or, you could set up a multi-boot environment and have both!
(I really have to re-visit my multi-boot experiments and clarify them.)
Actually, (if I was you), I’d stick with a known quantity and let the other masochists experiment with the unknown. As I see it you already have enough on your plate as it is, without adding the additional variable of an untried OS into the mix.
The problem is the known quantity is “ROS 2 in Docker Container” on Pi5. When Dave was a Pi4 bot, he had ROS 2 Humble installed on Ubuntu 22. Create3-Wali was my first Pi5 bot and having to rebuild the Docker container everytime I wanted to add a ROS package meant 30 minutes and a book-keeping nightmare.
Supposedly Jazzy will run on Ubuntu 24 on Pi5 so the architecture and all my Humble Dave utility command scripts will work for GoPi5Go-Dave. (I had Humble Dave much more advanced than Create3-Wali, so if Jazzy on Ubuntu 24 on Pi5 works on my DeskPi5, I will forge the path for GoPiGo3 on Ubuntu 24. I must have a masochist heart.)
Ubuntu 24 Noble Numbat installs on Raspberry Pi5 (with keyboard, mouse, and hdmi display)
ROS 2 Jazzy installs with apt - runs super - ros2cli, turtlebotsim, rqt work great - didn’t try rViz2 but usually run that on my Mac in VM - setting that up now.
Originally, I was thinking:
PiOS on Pi5 - Official OS for Raspberry Pi SBC
ROS2 Humble on Ubuntu 22 in Docker - Official OS for ROS 2 Humble
GoPiGo3 API had to be customized for the Bookworm PiOS and even more for Pi5.
My Create3-Wali “Docker is a PITA” experience is pushing me toward finding out how the GoPiGo3 API will be on Ubuntu 24.04 Noble.
Note: Ubuntu 24.04 Noble is a “RPi Imager” supported OS so apparently RPi Foundation is making sure to keep the Raspberry Pi in the list of “supported architectures” for Canonical’s Ubuntu releases.
Does that mean “. . . .will run on Ubuntu 24 on Pi5 without a Docker container?”
I’m not knocking Docker, but I think mandating a Docker container come Hell or High Water is a bit much. Perhaps it’s an interesting alternative to multi-boot environments, but shouldn’t that be up to the person running the environment to decide?
IMHO it’s like requiring a payware, traceable to a trusted root authority, secure site certificate just to use a joystick within a web page.1 Though there might be good reasons for doing that under certain situations, this should ultimately be a decision made based on the specific use-case.
====================
It appears that browser companies are beginning to back-away from it being an “engraved in titanium/rhodium/robidium alloy requirement”, as I remember Mozilla communicating a desire to re-think it based on non-trivial amounts of backlash. I don’t remember what Chrome, et. al. is doing but hopefully they will also get wise to reality.
Exactly - no Docker needed. Native Ubuntu 24 on the Pi5 and ROS 2 Noble running in the native OS.
And I just installed an Ubuntu 24 Noble / ROS 2 Jazzy in Fusion VM on my Mac and it “sees” my RPi5 Noble/Jazzy system - We are talking installs that work lickety-split. (Well the Ubuntu install on the RPi5 was 30 minutes and one restart because I thought it was stuck. I let it finish the second try.)
(GoPiGo3 API has never been lickety-split since I forged off into “non-GoPiGo OS” territory. That will have to wait till GoPi5Go-Dave has finished his current 3 day set of dock till charge current <175mA / undock till 9.9v … four six hour cycles a day.)
Wow, wow, WOW!
rViz2 runs at 15-18 frames per second in a 6" by 4" window, and at 5-7 frames per second in a 16x9 inch window. Was not recommended on a Pi4, but on this Pi5 it “works in a pinch” Uses 35% of processor and 1.7GB memory
rViz2 runs at 31fps on my Mac VM with 8 cores 8GB assigned - as long as I pick x11 window manager.
The ROS 2 Jazzy over Ubuntu 24.04 Noble on Raspberry Pi 5 went so well, I thought I’d “real quick” add the GoPiGo3 API to that test system.
In previous iterations, I figured out:
GoPiGo3 API on Ubuntu 22: (could still use pigpiod with Pi4)
GoPiGo3 API on Pi OS Bookworm on Pi5:
commented out all pigpio from GoPiGo3 API for Pi5
changed gopigo3_power.py from RPi.GPIO to gpiod for Pi5
So GoPiGo3 API on Ubuntu 24 on Pi5 should be simple; just combine the two setups…aarggggh.
Some wise soul changed the groups and device mapping on Ubuntu 24, so the “make pi user” and “Install GoPiGo3 API to Ubuntu” scripts don’t work for Ubuntu 24 on Pi5.
That Docker idea is looking good again, especially since GoPi5Go-Dave has passed 7 undock/redock cycles and working on cycle 8 without needing human assistance or software modification. Moving to Ubuntu 24 would me back to square one. The whole point of Create3-Wali adventure was to quickly rise above the platform issues. That didn’t work out, and I’m still working on creating a stable platform.
GoPi5Go-Dave has 1085 hours running my custom GoPiGo3 API on PiOS on the Pi5. Adding Dockerized ROS 2 Humble to Dave will be moving forward. Having to create a GoPiGo3 API install for Ubuntu 24 would be a giant leap back to the starting line. Guess I should accept Docker is the easier path.