ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 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]

arm_64bit=1

device_tree_address=0x03000000

The following settings are "defaults" expected to be overridden by the

included configuration. The only reason they are included is, again, to

support old firmwares which don't understand the "include" command.

hdmi_safe=1

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)