In May 2022, Open Robotics released a new distribution of ROS-2 , which was codenamed Humble-Hawksbill. From July 2022, we decided to extend our support to the new distribution of ROS 2.
The new distribution of ROS 2 was released in Ubuntu 22.04. People who are utilizing our robots in different areas of application can easily port to the new distribution of ROS 2, by installing the new version of Ubuntu.
For the migration, we will be using a flavour of Ubuntu known as the Xubuntu . The reason to choose XUbuntu is that it is comparatively lightweight and would be much more efficient in the older machines.
Installation on the robot-PC¶
Now, we will go through the step-by-step process of migrating the user’s robot to the newest version of ROS:
For this migration process and also retriving the robot specific parameters, we strongly recommend the users keep the robot’s old SSD / HDD as a backup device and buy a new one for the new version of Ubuntu.
- Download Xubuntu 22.04 from the official website and install it onto the robot. There are various tutorials out there on the internet, select anyone of them.
- Visit the robot-setup-tools repo on GitHub and search under Actions -> Build debian package for recent CI-runs containing the Debian package as an artifact.
Alternatively you can build the package on your own by cloning the repository and running build script:
git clone https://github.com/neobotix/robot-setup-tool.git
- Install the given .deb package using the following command:
sudo apt install ./neobotix-tools.deb
During the installation process there will be a prompt for entering the VNC password.
Once the installation is complete, restart the robot as prompted by the installation process.
Installation on the client-PC¶
To use any graphical tools like RViz or plotjuggler, we suggest the users also migrate the version of ROS to humble in the client-PC as well. For this, the users can just utilize the normal version of Ubuntu. There are no constraints in the flavor of Ubuntu that the users want to use on the client-PC since it will only be mostly used for visualization and data realization. We are not going to go into detail on the process of installation of Ubuntu 22.04 in the client-PC.
The rest of the tutorial would be emphasizing on “How to establish a remote connection to the robot PC?” A remote connection is very vital for the user to access the desktop of the Robot PC. For this, we can utilize the X2Go server or Vino VNC server. Note that, the Debian package already installs all the necessary packages to enable the X2Go servers.
Preconfigured VNC Server is already running on the robot. After the robot is booted up, the VNC connection can be established using any VNC client. We have had good expiriences using Remmina on Linux. For Windows users we recommend using SSVNC.
VNC is easy to use and is reliable enough in environemts with good network infrastructure. However there are some downsides like poor performance on bad network connection, not properly working traffic encryption and limited functionality (e.g. audio passthrough).
In case you have issues using VNC, you need encrypted data transfer or more functionality is needed, you can try using X2Go.
The following steps will elaborate on the step-by-step process of installing and configuring the X2Go client for accessing the user’s robot desktop:
- If you are using Windows or Mac download and install the X2Go client from the official website. On Linux you can install it by using the package manager. On e.g. Ubuntu using the following command:
sudo apt-get install x2goclient
- Open the X2Go client, either by running
x2goclientcommand from the command line or by searching and selecting the application.
- Create a new session: Session -> New Session
- Set the host to the IP-Address of your robot-PC.
- Set the login to the user name, that you gave during the installation process of Xubuntu.
- In the session type, select the X2Go/X11 Desktop sharing. Press Okay!
- Now select the newly created session, that could be found on the sessions pane in the right side of your screen.
- Provide the Login credentials and continue.
- Select the Full Access mode in the remote desktop sharing.
- Now the user will be able to access the desktop of the Robot-PC.