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 |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
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:
- CANLAB CLPE-G-Series with supplied PC running Ubuntu 20.04
- CLPE_G_Series_SDK
- ROS 2 Foxy or ROS 2 Galactic
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 runningUbuntu 18.04
, ROS 2 will need to be built from source which is not officially supported onUbuntu 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
withgalactic
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
CONTRIBUTING
Repository Summary
Checkout URI | https://github.com/canlab-co/clpe_ros.git |
VCS Type | git |
VCS Version | noetic |
Last Updated | 2024-12-18 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
clpe_ros | 0.1.0 |
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 1
driver. For the ROS 2
driver, please switch to the main
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:
- CANLAB CLPE-G-Series with supplied PC running Ubuntu 20.04
- CLPE_G_Series_SDK
- ROS 1 Noetic
Note: It is strongly recommended to install
Ubuntu 20.04
on the PC shipped with CLPE-G-Series. This way ROS 1 binaries can be installed as debian packages. If the PC is runningUbuntu 18.04
, ROS 1 will need to be built from source which is not officially supported onUbuntu 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 1 Installation
Depending on the version of Ubuntu installed, follow the instructions in the links above to install ROS 1 Noetic binaries or from source. To source ROS 1
source /opt/ros/noetic/setup.bash # if binaries are installed
source ~/ros1_noetic/install/setup.bash # if installed from source following link above
Install CLPE SDK and ROS 1 Driver
Create workspace
mkdir -p ~/ws_clpe/src
cd ~/ws_clpe/
wget https://raw.githubusercontent.com/canlab-co/clpe_ros/noetic/clpe.repos
vcs import src < clpe.repos
Install dependencies
cd ~/ws_clpe
# source your ROS 1 workspace before this command
sudo rosdep init # if you have not done this before
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro noetic -y
Build the driver
cd ~/ws_clpe
# source your ROS 1 workspace if you have not already
catkin_make install --cmake-args -DCMAKE_BUILD_TYPE=Release
# To also build the benchmarking scripts
catkin_make install --cmake-args -DCMAKE_BUILD_TYPE=Release -DCLPE_ROS_BUILD_BENCHMARKS=On
Run the driver
Launch
cd ~/ws_clpe
source install/setup.bash
** UYVY **
roslaunch clpe_ros clpe_ros.launch password:=<sudo-password> slave:=n encoding:=yuv422 timestamp:=xavier
** JPEG **
roslaunch clpe_ros clpe_ros.launch password:=<sudo-password> slave:=n encoding:=jpeg timestamp:=local
Note: If
sudo-password
is a number, say42
, you should pass it aspassword:=\'42\'
If you have not equipped slave CLPE-G-Series, you should enterslave:=n
By default the driver will publish topics per camera (X).
- /clpe_ros/cam_X/image_raw: The raw image published as
sensor_msgs::Image
. - /clpe_ros/cam_X/compressed: The JPEG image published as
sensor_msgs::CompressedImage
. - The default encoding is
yuv422
. For other supported encodings, see Configuration below.
Frame rate per sensor
- CLCC-G-01X 8CH
UYVY - 30 fps
JPEG - 30 fps - CLCC-G-02X 8CH
UYVY - 24~25 fps
JPEG - 30 fps
Visualizing in Rviz
File truncated at 100 lines see the full file