ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Here are notes for updating a Ubiquity Robotics Magni to Noetic, This includes raspicam_node:
From ubiquity image 16.04
remove ros, disable magni-base.system, comment out last three lines of .bashrc
update upgrade to 18.04 and then 20.04 best to do this while not mounted in robot, connected directly with hdmi, keyboard/mouse – wired ethernet. I’ve had lots of difficulty with the pi 4 I am using losing wireless – this might be just a flakey Pi 4.
This also may involve removal of certain packages. After getting to 20.04 I needed to reinstall lubuntu-desktop and gdm3 (lightdm and sddm seemed to break after 20.04)
ubuntu-20.04.2-preinstalled-server-armhf+raspi.img.xz
starting from 20.04 image use u-boot to add bootdelay – 2 so can boot inserted into Magni add gpu_mem=128 start_x=1 to config.txt to enable raspicam
some of these installs might be duplicates of already installed packages
22 sudo apt install mlocate 25 sudo apt install python-setuptools python3-setuptools 28 sudo apt install unzip 34 sudo apt install make
37 sudo apt install build-essential
ROS + catkin install via typical instructions, but note ros-noetic-desktop-full does not exist for the arm32 (armhf71) architecture
46 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo -E apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update sudo apt install ros-noetic-desktop
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool (note python3-rosdep NOT python3-rosdep2 !!!!!!!!!
source ros environment
sudo apt install ros-noetic-usb-cam* sudo apt install net-tools sudo apt install network-manager sudo apt install ros-noetic-rosbridge* sudo apt install python-is-python3 sudo apt install ros-noetic-tf2* 160 sudo apt install ros-noetic-teleop-twist*
vision, navigation image
Optional, proabably not needed or already part of tf2*: sudo apt-get install ros-noetic-velocity-controllers sudo apt install ros-noetic-diff-drive-controller sudo apt install ros-noetic-joint-state-controller
catkin
?sudo apt install chrony
????------optional---- suggest not using raspi-config on ubuntu------???? sudo dpkg -i /tmp/raspi-config_20200601_all.deb 10 sudo raspi-config install userland ????? may not need if already installed from 16.04 image ????
sudo snap install rpi-userland –edge
copy the userland/opt/vc from snap to opt/vc (this installs the mmal libraries)
pigpiod is needed for pi_sonar
wget https://github.com/joan2937/pigpio/archive/master.zip unzip master.zip cd pigpio-master/ make sudo make install
sudo rosdep init rosdep update
catkin mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/ $ catkin_make
72 git clone http://github.com/ubiquityrobotics/ubiquity_motor 73 git clone http://github.com/ubiquityrobotics/magni_robot 74 git clone http://github.com/ubiquityrobotics/pi_sonar 75 git clone http://github.com/ubiquityrobotics/oled_display_node
80 git clone http://github.com/wjwwood/serial git clone http://github.com/ubiquityrobotics/move_basic
edit pi_sonar.cpp add #include <boost format.hpp="">
edit launch base add () to prints ??? may have been done already
edit test_motor.py in ubiquity_motor replace 2 ‘,e’ to ‘as e’
catkin_make
tested
on my version raspistill works, magni_base, pi_sonar, oled_display all work, I could drive with logitech.
Not working - wifi - not sure if software/firmware or this Pi 4 unit. I’ll experiment with turning BT off, but this seems intermittent, and I am leaning to the wifi chip. Seems to be a problem with the Pi. The Pi 3 can’t seem to handle the load of lubuntu, so I’ve only tested on one Pi 4. Ideally, I’d like to duplicate with a brand spanking new Pi 4 - hint – hint. Lterature says Pi 4 wifi very sensitive to under voltage, but it seems worse when on the magni, and better when outside powered by a lower amperage (2 amp) supply.
To DO: pifi build install for 20.04 I tried building from Rohan’s github, but failed, may have to do with minuart-bt overlay
New magni_base in usersbin, new roscore in systemd
etc/ubiquity/env.sh and robot.yaml
Notes sample config.txt:
gpu_mem=128 start_x=1
[pi4] kernel=uboot_rpi_4.bin max_framebuffers=2
[pi2] kernel=uboot_rpi_2.bin
[pi3] kernel=uboot_rpi_3.bin
[all]
device_tree_address=0x03000000
enable_uart=1 dtparam=audio=on dtparam=i2c_arm=on dtparam=spi=on dtoverlay=miniuart-bt core_freq=250 dtoverlay=ic2-rtc,mcp7940x
cmdline=cmdline.txt
include syscfg.txt include usercfg.txt
disable_overscan=1 dtoverlay=vc4-fkms-v3d
sample cmdline.txt
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 root=LABEL=writable rootfstype=ext4 rootwait fixrtc
(in old style from upgrade files are in /boot, in 20.04 source install from /boot/firmware)