Repository Summary
Checkout URI | https://github.com/beamaginelidar/l3cam_ros.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-05-26 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
l3cam_ros | 1.0.2 |
README
l3cam_ros
This package is an ROS driver for the L3Cam device manufactured by Beamagine. The driver relies on the library libL3Cam 0.1.18
provided by Beamagine as part of the L3Cam SDK. For more info on the L3Cam check the L3Cam User Manual.
If you are looking for this package for ROS2, go to the l3cam_ros2 package.
This package is supported only on Linux systems and has only been tested with ROS noetic on an Ubuntu 20.04 system.
Installation
Dependencies
First, you will need to install the L3Cam SDK.
Download the package from Beamagine’s L3Cam SDK 0.1.18 release repository and install the required package depending on your hardware architecture:
sudo dpkg -i <PACKAGE>
ROS Driver
Clone this repository in your catkin workspace (e.g. catkin_ws) and build:
cd ~/catkin_ws/src && git clone https://github.com/beamaginelidar/l3cam_ros
catkin_make
Access Permission
You will need to give permission to the cfg files.
cd ~/catkin_ws/src/l3cam_ros/cfg
chmod a+x Network.cfg Lidar.cfg Polarimetric.cfg Rgb.cfg Thermal.cfg AlliedWide.cfg AlliedNarrow.cfg
Operational Advice
Jumbo frames
You will need to enable jumbo frames on your ethernet adapter by increasing the MTU (Maximum Transmission Unit) on the network interface attached to the camera.
A jumbo frame is an Ethernet frame that is larger than 1500 bytes. Most Ethernet adapters support jumbo frames, however it is usually turned off by default. Please note in order to set a 9000 byte packet size on the camera, the Ethernet adapter must support a jumbo frame size of 9000 bytes or higher.
You can check what your current MTU setting is by running the following command:
ifconfig | grep mtu
You should increase the MTU to 9000
to allow jumbo frames. If you use Network Manager, this can be done by opening the network interface settings and editing the “MTU” box under the “Identity” tab.
See the “Linux host configuration” section of the L3Cam User Manual for full details.
Receive Buffer Size
It is also recommended to increase your network default and maximum receive buffer size.
You can check what your current buffer size is:
sudo sysctl 'net.core.rmem_max'
sudo sysctl 'net.core.rmem_default'
Update the buffer size with the following commands:
sudo sh -c "echo 'net.core.rmem_default=268435456' >> /etc/sysctl.conf"
sudo sh -c "echo 'net.core.rmem_max=268435456' >> /etc/sysctl.conf"
sudo sysctl -p
Port usage
libL3Cam
uses the following ports for streaming and communications:
PROTOCOL | PORT | CONFIGURATION |
---|---|---|
TCP | 6000 (L3CAM) | Fixed |
UDP | 6050 (LIDAR) | Fixed |
UDP | 6060 (Allied Wide, Polarimetric) | Fixed |
UDP | 6020 (Allied Narrow, RGB) | Fixed |
UDP | 6030 (LWIR) | Fixed |
RTSP | 5040 (LIDAR) | Reconfigurable |
RTSP | 5030 (Allied Wide, Polarimetric) | Reconfigurable |
RTSP | 5010 (Allied Narrow, RGB) | Reconfigurable |
RTSP | 5020 (LWIR) | Reconfigurable |
TCP is used internally by libL3Cam
and is transparent to the user. However, the system host must have the required port available.
Launch
l3cam
To run the l3cam_ros driver, launch the l3cam.launch
file specifying (if wanted) if the stream launch file, the configure launch file, rviz
(for visualization GUI) and rqt_reconfigure
(for dynamic reconfigure GUI) have to be launched too. By default, the values are as follows:
```
File truncated at 100 lines see the full file