For the last two years, I have been trying to catch up to @keithw and his Finmark GoPiGo3 ROS robot, using the latest ROS 2 Long Term Support version named Humble Hawksbill.
I had to convert the ROS GoPiGo3 node to ROS 2, while learning ROS 2, then learn how to install, configure, and launch the ROS 2 mapping/localization package SLAM-Toolbox and the ROS 2 navigation package Nav2.
ROS 2 nodes can reside on any computer running ROS 2 on the same network, and many people run the processor/memory intensive nodes on their laptop or desktop computers which in my book turns the robot into a remote controlled car. My goal has always been to create a totally autonomous ROS 2 GoPiGo3 robot, and the recent upgrade of my GoPiGo3 to a Raspberry Pi 4B with 2GB of memory has proven up to the challenge.
In this first test of ârunning it allâ on Humble Dave, he loaded all four cores to the max at peak load of 7 and averaging 3 to 4. (4.0 means all four cores are executing code 100% of the time with no swapped out code waiting a turn.) Memory wise, Dave used 770 MB of physical memory which suggests his former Pi3B+ would not have been able to run everything.
Here is a 3 minute video showing Humble Dave performing autonomous map building and navigation: