Raspicam_node on ARM64 Raspberry pi

I had issues several months ago getting the Raspberry Pi camera working on the ARM64 version of Ubuntu 20.04. This is for ROS 1 Noetic, but would help those porting to ROS 2. While specifically for a Ubiquity Robotics Magni, this should work with Turtlebots or Neato Botvacs. This is somewhat customized for running a robot that uses fiducial navigation or navigation markers. Other solutions for this exist, but I occasionally get questions from people struggling with this.

------- - a dump of my history --------------------------------

Starting from a Pi ARM64 server install/add wifi by editing the netplan:

15 sudo vi /etc/netplan/50-cloud-init.yaml
16 sudo netplan --debug apply
17 ifconfig
18 sudo apt update

add netools and ssh

19 sudo apt install net-tools openssh-server
20 sudo apt upgrade

29 ifconfig (to test connectivity)

add desktop (optional for noetic-desktop-full)
30 sudo apt-add-repository ppa:lubuntu-desktop/ppa
31 sudo apt install lubuntu-desktop

Add camera support libraries and test:

0 sudo apt install libraspberrypi-bin libraspberrypi-dev
41 raspistill -o test.jpg

make sure config has start_x=1 and gpu_mem=128 specified
44 cd /boot
45 ls
46 cd firmware/
47 ls *.txt
48 more config.txt
49 more cmdline.txt
50 sudo vi config.txt

Install ros noetic desktop full and other ubiquity nodes from debs or git:

56 sudo apt install ros-noetic-raspicam-node
57 sudo apt install ros-noetic-magni-robot
60 source /opt/ros/noetic/setup.bash
61 roscd
62 sudo rosdep init
63 sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool
64 ls
65 sudo rosdep init
70 sudo snap install rpi-userland --edge
71 cd
72 mkdir -p ~/catkin_ws/src
73 cd catkin_ws/
74 catkin_make
75 cd src/
76 git clone http://github.com/ubiquityrobotics/raspicam_node (if needed for different branch)
77 cd …
78 source ~/catkin_ws/devel/setup.bash
79 roscd
80 cd
81 cd catkin_ws/
82 catkin_make
94 roslaunch raspicam_node camerav2_410x308_30fps.launch
95 history
96 cd catkin_ws/src/
97 git clone http://github.com/ubiquityrobotics/magni_robot
98 git clone http://github.com/ubiquityrobotics/pi_sonar
99 git clone http://github.com/ubiquityrobotics/oled_display
100 git clone http://github.com/ubiquityrobotics/oled_display_node
101 git clone http://github.com/ubiquityrobotics/ubiquity_motor
102 cd …
103 ls src
104 cd …
105 catkin_make
106 cd catkin_ws/
107 catkin_make
108 cd src/
109 git clone http://github.com/wjwwood/serial
111 catkin_make
112 cd
113 wget https://github.com/joan2937/pigpio/archive/master.zip
114 unzip master.zip
115 cd pigpio-master/
116 make
117 sudo make install
118 cd
158 git clone http://github.com/ubiquityrobotics/fiducials
159 cd …
160 catkin_make --pkg fiducials
161 sudo apt install ros-noetic-vision-msgs
162 catkin_make --pkg fiducials
163 rostopic list
164 sudo apt install ros-noetic-vision-aruco-detect
165 sudo apt install ros-noetic-aruco-detect
166 roscd
167 source .bashrc
168 roscd

finally copy camera_info to .ros

then raspicam_node launch followed by aruco_detect.launch work

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.