Raspberry PI 4 Ubuntu 20.04 Noetic – Magni-robot.
Note the Pi 4 differs in that it needs USB-c power, HDMI-micro cable or adapter, heat sinks.
So far with only a few issues the magni_gazebo, empty world launch is working well.
History since loading a fresh 20.04 arm64 image on a 64gig sd card.
6 sudo apt update
7 sudo apt upgrade
8 sudo apt install openssh-server
9 sudo systemctl enable ssh
sudo apt install net-tools
sudo apt-get install ubuntu-desktop
" " " ros-noetic-desktop-full
cd /boot
sudo vi config.txt
(here I messed with an annoying issue I have been unable to solve. - my large older HDMI TV won’t sync on boot, so when I want to use the TV, I first need to boot or re-power to a connected Lilliput display, then switch to the TV. I spent a lot of time trying to fix this issue, to no avail. I have built and installed with some effort RPI-userland and the tvservice -s command says VCHI fails to initalize – that’s weird since the display is obviously working, since ultimately, we will run headless, this may not be an issue, but if it is an arm64 architecture issue, it may mean no raspicam node)
Also installed gnome desktop)
cd /tmp
git clone http://github.com/raspberrypi/userland
cd userland/
./buildme
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/vc/lib
/opt/vc/bin/tvservice -s
[E] Failed to initialize VCHI (ret=-1)
An attempt to install rpi-userland through snap produced and error message about the arm64 architecture is not supported for rpi userland
sudo snap install rpi-userland –edge
error: snap “rpi-userland” is not available on edge for this architecture
(arm64) but exists on other architectures (amd64, armhf).
If someone has an idea about this, I’d appreciate any advice if this an architecture issue, it might mean big issues with cameras, usb, ic2 etc.
Then build and install catkin, rosdep pip3 magni_robot from ubiquityrobotics git and build.
After that empty world launch worked with the exception of rqt_robot_steering,
cd /opt/ros/noetic/lib/rqt_robot_steering/
sudo vi rqt_robot_steering
change the first line from:
#!/usr/bin/env python
to
#!/usr/bin/env python3
…and voila!