source /opt/ros/foxy/setup.zsh
source ../realsense_ws/install/local_setup.zsh (realsense-ros from source)
source install/local_setup.zsh (main workspace with sensor streaming)
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH (need in local desktop to make rviz2 available)
ros2 launch raibo-smd_ros head_launch.py
Launch + dependency based implementation for RAIBO's sensor module's ROS2 base stack
Brief overview and progress of of RAIBO's Sensor Module Development (raibo-smd) is outlined here
This package is tested on the ROS2 foxy distribution (link)
You need a base underlay workspace to install this package from source (i.e. "dev_ws
folder")
Installation Instructions for ROS2 here
Instrtuctions for creating your dev_ws
is here
1.1. librealsense2
(link)
Note: The release does not have to be v2.41.0 specifically, but make sure that the ros-wrapper is compatible with it.
You can use any method of installation.
Make sure that the installation can detect and retrieve data from both cameras:
rs-enumerate-devices -s
The above command must output each of the connected devices on each line.
realsense-viewer
The above command must start a graphical interface, which connects to one of the Realsense devices.
Note: Binary installation is recommended to keep development workspace minimal.
IMPORTANT: The link for installation shows instructions to install for the ros distribution dashing. Change all the dashing
statements to either foxy
or ${ROS_DISTRO}
.
So, the binary installation is as follows:
- Install ROS2 Dependancies:
sudo apt-get install ros-${ROS_DISTRO}-cv-bridge ros-${ROS_DISTRO}-librealsense2 ros-${ROS_DISTRO}-message-filters ros-${ROS_DISTRO}-image-transport
- Install non-ROS Dependancies:
sudo apt-get install -y libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev
sudo apt-get install -y libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
- Install Package
sudo apt-get install ros-${ROS_DISTRO}-realsense2-camera-msgs ros-${ROS_DISTRO}-realsense2-camera
The validity of the commands above are unstable. If the below commands do not work, use apt-cache search realsense
to search for relevant packages. As a last resort, install from source.
- Check Installation
ros2 pkg list | grep realsense
the above command must include:
realsense2_camera
realsense2_camera_msgs
1.3. velodyne
(ROS2 Wrapper) (link)
For the ip and route configuration, use the following IP address (factory default).
192.168. 1.201
^^^ ^^^
(192.168. XX. YY)
If problem about the IP address persists, check out the discussion here
Additionally, since RAIBO uses a usb-c hub for ethernet connection, the adapter alias will be something different than [eth0
].
Use sudo ifconfig -a
command to see possible internet adapters, and choose the alias with the connected MAC that matches that of the LiDAR. (i.e.: enx00e04c680015
)
1.4. perception_pcl
(ROS2 library) (link (github)) (link (ROS index))
As of 2022-01-07, building from binaries results in depnedency errors.
Build from source instead (ros2
branch).
This also results in dependancy errors.
- Resolution: in both
transforms.hpp
andtransforms.cpp
, change one of the#include
statements as follows:
from: #include <tf2_geometry_msgs/tf2_geometry_msgs.hpp>
^^
to : #include <tf2_geometry_msgs/tf2_geometry_msgs.h>
- Move to your
workspace/src
and clone this repo.
cd ~/dev_ws/src
git clone https://github.com/iamchoking/raibo-smd_ros.git
- Build Package
cd ~/dev_ws
source /opt/ros/${ROS_DISTRO}/setup.bash
colcon build --symlink-install --base-paths src/raibo-smd_ros
Simple launch commands can manipulate the realsense_ros
and velodyne
nodes, publish pre-determined tf
's and visualise the pointCloud output using rviz2
- Launch head module only
ros2 launch raibo-smd_ros head_launch.py
- Launch lidar module only
ros2 launch raibo-smd_ros lidar_launch.py
- Launch all modules
ros2 launch raibo-smd_ros full_launch.py