Problems with catkin and custom code

I am working with the Magni robot base with some custom hardware on top, and in the early development stages, I have encountered some struggles.

  1. Does my workstation have to run the same version of ubuntu as the robot? I can do this but I would like to avoid it if possible.
  2. Is there a good idiomatic way to interface with the GPIO pins in python?
  3. Do I need to connect the robot to the internet at some point? The network we have access to does not allow ssh, so it is possible to move the robot to another network, but it will take extra effort, and it would be nice to only use the access port.
    Thank you for any help you can provide!

I have solved these problems with docker.

  1. Depends on what you are doing, if you are using the robot as a ROS master and your workstation as a ROS node, then you might encounter some problems with having different versions, but by my experience they are very specific.

  2. Use RPi-GPIO library, it is pretty straightforward. Read the Docs.

  3. As you evolve in your development, eventually you will need to connect the robot on the internet to download the needed pkgs (RPI-GPIO for example), that’s a given.