No version for distro humble showing foxy. Known supported distros are highlighted in the buttons above.
Repo symbol

clpe_ros repository

clpe_ros

ROS Distro
foxy

Repository Summary

Checkout URI https://github.com/canlab-co/clpe_ros.git
VCS Type git
VCS Version main
Last Updated 2024-12-18
Dev Status MAINTAINED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Packages

Name Version
clpe_ros 0.1.1

README

About

This repository contains ROS 1 and ROS 2 drivers for the CANLAB CLPE-G-Series system. CLPE-G-Series is a multi camera grabber board for N2.0 GMSL camera. This drivers exposes camera images and information from CLPE-G-Series as ROS messages using the image_transport framework.

This branch contains the ROS 2 driver. For the ROS 1 driver, please switch to the noetic branch.

Environment(PC Specification)

  • PC Model: Nuvo-8208GC
  • CPU Cores : 12
  • CPU Clock : 3.7Ghz
  • DRAM Size : 64GB (32GB + 32GB)
  • DRAM Type : DDR4

System Requirements

Requirements:

Note: It is strongly recommended to install Ubuntu 20.04 on the PC shipped with CLPE-G-Series. This way ROS 2 binaries can be installed as debian packages. If the PC is running Ubuntu 18.04, ROS 2 will need to be built from source which is not officially supported on Ubuntu 18.04. Alternatively, containers or VM may be used but the CLPE-G-Series drivers has to be properly passed through.

Setup

System dependencies

sudo apt update && sudo apt install git cmake wget gcc g++ libgstreamer-plugins-base1.0-dev python3-colcon* python3-rosdep python3-vcstool -y

ROS 2 Installation

Depending on the version of Ubuntu installed, follow the instructions in the links above to install ROS 2 binaries or from source. To source ROS 2

source /opt/ros/foxy/setup.bash # if binaries are installed
source ~/ros2_foxy/install/setup.bash # if installed from source following link above

Note: Replace foxy with galactic if using ROS 2 Galactic

Install CLPE SDK and ROS 2 Driver

Create workspace

mkdir -p ~/ws_clpe2/src
cd ~/ws_clpe2/
wget https://raw.githubusercontent.com/canlab-co/clpe_ros/main/clpe.repos
vcs import src < clpe.repos

Install dependencies

cd ~/ws_clpe2
# source your ROS 2 workspace before this command
sudo rosdep init # if you have not done this before
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro $ROS_DISTRO -y

Build the driver

cd ~/ws_clpe2
# source your ROS 2 workspace if you have not already
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
# To also build the benchmarking scripts
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release -DCLPE_ROS_BUILD_BENCHMARKS=On

Run the driver

DDS Configuration

For better image transport performance over DDS, we recommend using FastDDS with Shared Memory Transport enabled. First copy the the fastdds.xml config file to a suitable directory, eg. $HOME/fastdds.xml

cd ~/ws_clpe2/src
cp canlab-co/clpe_ros/fastdds.xml ~/

Next add these two lines to your ~/.bashrc

export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
export FASTRTPS_DEFAULT_PROFILES_FILE=$HOME/fastdds.xml

Make sure to source ~/.bashrc first on all terminals before launching any ROS 2 nodes including the driver.

Launch

cd ~/ws_clpe2
source install/setup.bash
** UYVY **
ros2 launch clpe_ros clpe_ros.launch.py password:=<sudo-password> slave:=n encoding:=yuv422 timestamp:=xavier
** JPEG **
ros2 launch clpe_ros clpe_ros.launch.py password:=<sudo-password> slave:=n encoding:=jpeg timestamp:=local

File truncated at 100 lines see the full file