ROS With Arducam ToF Camera – for Raspberry Pi
About ROS
Robot Operating System (ROS or ros) is an open-source robotics middleware suite. Although ROS is not an operating system (OS) but a set of software frameworks for robot software development, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management.
Using ROS2 with Arducam ToF Camera
To properly use ROS2 with Arducam ToF Camera, the camera driver and necessary dependencies have to be installed first.
- If you have NOT installed them yet, start from Step 1. (Step 1, 2, 3 are same commands as those instructed in <Getting Started: Arducam ToF Camera for Raspberry Pi>
- If you have already installed them, please start from Step 4.
Step 1. Pull the repository.
git clone https://github.com/ArduCAM/Arducam_tof_camera.git
Step 2. Change the directory to Arducam_tof_camera
cd Arducam_tof_camera
Step 3. Installation (Driver, Dependencies, SDK, OpenCV)
./Install_dependencies.sh
When you see the reboot prompt, enter y. Raspberry Pi will automatically reboot.
Step 4. Installing ROS2
curl -s https://raw.githubusercontent.com/v1ster/rpi-bullseye-ros2/main/install.bash | bash
ROS2 Configuration
#Modify enviroment viriables
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "export ROS_DOMAIN_ID=7" >> ~/.bashrc
source ~/.bashrc
sudo apt install python3-colcon-common-extensions
Step 5. Compile & run ROS2 on your Raspberry Pi
Compile
cd Arducam_tof_camera/ros2_publisher
colcon build --merge-install
Run
. install/setup.bash
ros2 run arducam_rclpy_tof_pointcloud tof_pointcloud
Step 6. Previewing on your HOST computer
Install ROS2 on your host PC, and run rviz2
rviz2
Click Add > By topic > Select PointCloud2
Enable PointCloud2, change Fixed Frame to sensor_frame, and change Size (m) to 0.001, and you will see a real-time point cloud preview like the following: