Package Summary

ROS package for HLDS(Hitachi-LG Data Storage,Inc.) HLS-LFOM 3D LiDAR(TOF)

Manufacturer of the TOF: Hitachi-LG Data Storage, Inc.

Product Webpage: HLDS 3D LiDAR(TOF)


* Object distance measurement with high accuracy in realtime

* Easy to install with Ethernet (POE+) connection

* Multiple use cases can be accommondated with the SDK

HLS-LFOM1 view_hlds_tof_driver.launch

Product Specification

produc specification



Download latest version(v2.1.0 or later) for Ubuntu 16.04 LTS (x64) and extract it(

Install SDK

$ sudo dpkg -i libtof-dev_<version_number>ubuntu16_amd64.deb

Build HLS-LFOM 3D LiDAR(TOF) driver

$ cd ~/catkin_ws/src  
$ git clone  
$ cd ~/catkin_ws  
$ catkin_make

If using SDK older than v2.3, please use CMakeLists_old.txt.

Setting IP address

Modify IP address of tof.ini file in launch folder. It should be the same as the IP address of the TOF sensor you are trying to connect. (Default is
If you want to change IP address, please refer to Setup TOF sensor of API Reference Manual in SDK

Running Node

Run hlds_3dtof_node

roslaunch hls_lfom_tof_driver hlds_tof_driver.launch  

Run hlds_3dtof_node with RViz

roslaunch hls_lfom_tof_driver view_hlds_tof_driver.launch  



hlds_3dtof_node is a driver for HLS-LFOM 3D LiDAR(TOF). It reads raw sensor data using HLS-LFOM's SDK and convert to ROS message.

Published Topics

cloud (sensor_msgs/PointCloud2)
  • XYZ point cloud
image_depth_raw (sensor_msgs/Image)
  • point.z data with TYPE_32FC1 encoding type
image_depth (sensor_msgs/Image)
  • 3channel depths data with RGB8 encoding type
image_ir (sensor_msgs/Image)
  • IR image with MONO8 encoding type


set_distance_mode_srv (hls_lfom_tof_driver/DistanceMode)
  • Set TOF distance mode (dm_2_0x, dm_1_5x, dm_1_0x, dm_0_5x)
set_edge_signal_cutoff_srv (std_srvs/Empty)
  • Set to 'true' enable and 'false' to disable edge signal cutoff.
set_far_signal_cutoff_srv (hls_lfom_tof_driver/FarSignalCutoff)
  • Set value (0.0~1.0)
set_low_signal_cutoff_srv (hls_lfom_tof_driver/LowSignalCutoff)
  • Set value (0~4095)


camera_mode (string, default: CameraModeDepth) sensor_angle_x (int, default: 0)
  • X-axis rotation angle(0 to 359 degree)
sensor_angle_y (int, default: 0)
  • Y-axis rotation angle(0 to 359 degree)
sensor_angle_z (int, default: 0)
  • Z-axis rotation angle(0 to 359 degree)
edge_signal_cutoff (bool, default: true)
  • Edge noise reduction mode
low_signal_cutoff (int, default: 20)
  • Signal level to cutoff(0 to 4095)
far_signal_cutoff (float, default: 0.0)
  • Distance rate far from TOF(rate:0.0~1.0)
camera_pixel (string, default: 320x240)
  • Pixel size of TOF sensor image. Refer to CameraPixel type of API reference manual in SDK
ir_gain (int, default: 8)
  • Exposure sensitivity for IR(1 to 15)
distance_mode (string, default: dm_1_0x)
  • Distance mode of TOF sensor. Refer to DistanceMode type of API reference manual in SDK
frame_rate (string, default: fr30fps)
  • Frame rate of TOF sensor. Refer to FrameRate type of API reference manual in SDK

Use Case


3D occupancy grid mapping and hector slam with HLS-LFOM1 3D SLAM

Package Installation

// Install pointcloud to laserscan
$ sudo apt-get install ros-kinetic-pointcloud-to-laserscan
//Install hector slam
$ sudo apt-get install ros-kinetic-hector-slam
//Install octomap
$ sudo apt-get install ros-kinetic-octomap-server


3D hector slam launch file

Depth image processing

Combine depth image and IR image into XYZRGB point cloud Depth image processing

Package Installation



Depth image processing launch file


OpenPose with IR image


Package Installation

OpenPose ROS


OpenPose launch file


Wiki: hls_lfom_tof_driver (last edited 2019-04-01 07:28:41 by JeehoonYang)