**Click on the content table for direct access to the different sections

CONTENTS


Prerequisites

Before start, perform the installation of the Framos Software Package (CameraSuite and Librealsense2). Please follow the instructions in the Readme file included.
To validate that the camera is recognized properly please check using the ConfigureIP tool from CameraSuite:

Or the realsense-viewer:


Note: If camera does not appear connected, please review the network settings on host PC and Camera. Refer to the troubleshooting section of this knowledge base as well.


ROS/ROS2 Installation

Inside the ROS/ROS2 wrappers folder from librealsense2 installation a guidance will be included. Please make sure to follow the instructions in the “readme_d400e.md” file included in each ROS folder. 

As example for this article the installation for ROS2 under Ubuntu 20.04 will be presented.


Installation Process

The “readme_d400e.md” will include steps for the different Ubuntu distros as well as the versions that apply for the selected Ubuntu. Make sure to follow part of steps that correspond to the selected ROS and Ubuntu.


Checking Installation

Use in parallel the guidance from ROS website itself (in the picture from the previous section the link is highlighted with a red line). That guidance refers to additional steps that help to check the installation and propose links for further documentation about ROS.

Below a simple example (talker and listener) to check if C++ and Python APIs are working properly for ROS after the installation:

In one terminal

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker

In another terminal

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener


Another thing that can be checked is if the environmental variables are active using following command in terminal:

printenv | grep ROS


Getting started with ROS wrapper and D400e

Resume the “readme_d400e.md” following the instructions to build the wrapper from sources by creating a working directory and installing the dependencies as stated in the steps listed.
Once the building process is done proceed to launch the node. To do so open a terminal:

cd ~/ros2_ws/
. install/local_setup.bash (perform this in each terminal that you open)
ros2 launch realsense2_camera d400e_rs_launch.py

Resulted output after lunching the node:

Use applications like rviz to quickly check the camera streaming. The image below shows an example of the camera added:

Note: make sure to change in the `Fixed Frame` from `map` to `camera_depth_frame` 


After the first trial is done successfully, start adding the different things you would like to set or enable for the camera using the yaml file inside the working directly. Following the example from the guidance would be:

cd ~/ros2_ws/src/realsense2_camera/config
gedit d400e.yaml

Things like “Serial_no” or “ip_address” can be added (the example would grab the first camera found if nothing is given) then set or enable the different things like resolution, channels active or the packet size. Below a small preview of the contents in the yaml file:


The guidance also explains how to configure or create files in case more than one camera is used, like in the example file called “d400e_multi_camera.yaml”. Or in case external events the file will be called “d400e_external_event_mode.yaml”. 


Debugging and troubleshooting initial Tips

The prompted output after using the launch files is the best initial point to start debugging whenever a problem appears. The output will show if something was not enabled, any errors or ,in worst case, will prompt that cannot start because the camera is not found. 

To start, here an example of a successful output:

Here another example when camera is not detected in the system:

Here an example of functionalities listed that aren’t active but could be enabled if required:

Similar messages will be prompt that highlight something whenever a problem rises. Many of these messages will depend on the settings listed in the yaml file as well as the launch file. Therefore, is fundamental to keep a track of the messages being outputted while stating the node.

Note: in case the yaml is not used, node will launch anyway with a default configuration

Check the Publisher QoS policies, they provide information about the topics. Launch in another terminal:

ros2 topic list

ros2 topic info /camera/depth/image_rect_raw

Note: the refence command is ros2 topic info <topic>

In case verbose output is desired

ros2 topic info -v /camera/depth/image_rect_raw

Also a way to see an output of the streaming without any live streaming is by echoing the output in the terminal 

ros2 topic echo /camera/depth/image_rect_raw