Hands on Ros: using the ROS Melodic image for GoPiGo3

As mentioned in another thread I was having issues, and decided to re-start with a clean slate. I was actually having a little trouble finding the correct Ubuntu Mate 18.04 image file for the Raspberry Pi since it’s a bit old now. But I did come across this post: http://therobotacademy.com/003_Ubuntu_ROS_Melodic_image/ by @brjapon. The page has a download link which actually shows the maintainers as @cleoqc and “Modrobotics”. It was last updated 5/31/21. This looked pretty promising, so I decided to try it.

Long story short - it seems to be working fine. A few notes below on how I got it working:

  • the file downloads as a .tar.gz file. So you’ll have to use whatever program you like (I use 7-zip on windows) to first extract the .tar file from the .gz file downloaded, and then extract again to get the .img file that’s within the .tar file. You can then copy the .img to a micro-SD card with BalenaEtcher (or whatever).

  • I booted the system with a keyboard and monitor attached because I wasn’t sure how it was configured. It boots into the Ubuntu Mate GUI. I logged in to my wifi with the GUI tool. The default user is ‘pi’ and the password is ‘raspberry’. The system did automatically log in to wifi after that (I did check the box to set the wifi hotspot for all users - I think that makes a difference).

  • I had to go into the Mate configuration settings to change the keyboard (it was set to Spanish), and the time zone (it was set to Madrid)

*I changed the default password with sudo raspi-config from a terminal window to what I had before. The image is configured not to require a password for sudo, which is actually kind of convenient and low risk given the setting. I’m sure that could be changed if you felt it was necessary.

  • I also used rospi-config to have the gopigo3 boot into a command line by default so I’m not always running the GUI. I can always start it if I need to.

  • I wasn’t sure if ssh was enabled, so I went ahead and ran sudo systemctl enable ssh in the terminal just to be sure. After a reboot I was able to ssh in via wifi just fine (although the antenna light came on again after that initial reboot. But I’m giving up on that issue at this point).

  • I changed the hostname to what I had before, “finmark”, instead of the default gopigo3 (I followed these instructions). I also then had to edit .bashrc on the robot to set ROS_HOSTNAME=finmark.local instead of gopigo3.local. This would be entirely optional if you’re happy with the default name.

  • because of the ROS gpg key expiration issue, I had to update the key for the repositories before I could use apt for update/upgrade.

I had copied my robot’s catkin_ws/src files to my laptop before I reformatted the SD card. After I installed the image I deleted everything in the catkin_ws folder (including the /build and /dev folders), copied in my /src folder, and then ran catkin_make to rebuild everything. I just did a quick test - things seem to run OK. I think they would be fine as they are if someone was just getting started.

Overall so far so good - certainly saved me a ton of time compared with truly starting from scratch. More to come.

Thanks to @cleoqc and @brjapon for making this image available!

<edited from original for more clarity (I hope) on the steps needed>


Don’t forget to disable IPv6 on every interface as IPv6 is a known troublemaker.

1 Like

Any chance of setting IPv6 off by default in future versions?