To install Ubuntu MATE 18.04 on a Rpi 3B+ I followed these instructions.
Unlike the installation of the Raspbian For Robots the Ubuntu installation will require using a keyboard, display and mouse.
Once you have burned the Ubuntu MATE image to your micro SD card, insert it into your Rpi 3B+ and apply power. When the Ubuntu OS has booted up, follow the on screen instructions until you have just the desktop displayed.
Now you have to setup Ubuntu to be able to ssh into the Ubuntu OS. Follow these instructions to install and enable the openssh server, but do not start the server as you need to generate new host keys before starting openssh. To generate new host keys run the following: “sudo /usr/bin/ssh-keygen -A”. Then start openssh by running “systemctl start ssh;”.
You are going to have to know the IP address of your Rpi3B+ which you can do by viewing your WiFi router’s DHCP list.
Once you know your Rpi 3B+ IP address, then you can use Putty or a similar app to ssh into the Ubuntu OS.
Then you are going to want to create a Virtual Network Connection (VNC) with your Ubuntu OS. I followed these instructions to create and install tightvncserver on the Ubuntu MATE. However I found that if you are going to want to use the ROS Visualizer (rviz) tightvncserver does not support Xserver or OpenGL which rviz requires.
I presently have the Tigervnc server working on my Ubuntu Mate OS and it definitely does support Xserver and OpenGL however it has the same problem as the tightvnc server in that it does not allow copy and paste into the Ubuntu Mate desktop terminal window so I will have to see how to correct that issue.
You will also have to install a VNC client on your PC/laptop. I am using RealVNC, but there are others.
Once you get your VNC client running you will probably find that you cannot copy and paste into your VNC client’s terminal emulator. Not to worry as you can use your ssh app to correct the problem.
In your ssh terminal window type the following: “sudo apt-get install autocutsel”.
Then type the following: “sudo vncserver -kill :1” followed by “sudo nano ~/.vnc/xstartup”. Add the following line under xrdb $HOME/.Xresources : autocutsel -fork then save the .vnc/startup file.
Run “vncserver” to restart the tightvnc server. I stop the vncserver using Putty when I am done using the VNC Client and restart it using Putty when I want to use the VNC client.
Now comes the ROS Melodic installation following these instructions and these additional instructions. I used the ROS Wiki instructions to install the ROS Melodic Desktop which includes rviz.
After ROS has installed, creat your ros catkin workspace:
- $ mkdir -p ~/catkin_ws/src
- $ cd ~/catkin_ws
- $ catkin_make
More to come