depth_nav_tools: cliff_detector | depth_nav_msgs | depth_sensor_pose | laserscan_kinect | nav_layer_from_points

Package Summary

Package laserscan_kinect converts depth image from Microsoft Kinect sensor to 2D laser scanner format. Conversion algorithm allows to remove ground from depth image and compensate sensor mount tilt angle relative to the ground.

depth_nav_tools: cliff_detector | depth_nav_msgs | depth_sensor_pose | laserscan_kinect | nav_layer_from_points

Package Summary

Package laserscan_kinect converts depth image from Microsoft Kinect sensor to 2D laser scanner format. Conversion algorithm allows to remove ground from depth image and compensate sensor mount tilt angle relative to the ground.

Overview

The package laserscan_kinect converts depth image to laser scan (sensor_msgs/LaserScan). It allows to use RGB-D sensor (i.e. Microsoft Kinect) for navigation purposes. Package laserscan_kinect finds smallest value of distance in each column of depth image and converts it to polar coordinates.

Moreover, package provides features like ground removing from scan and sensor tilt compensation in distance values, but it is necessary to know height of sensor optical center and tilt angle in frame of ground.

Example

laserscan_kinect_detection.jpg The picture shows comparison between laser scan based on converted depth image from Microsoft Kinect (blue points) and laser scan from scanner Hokuyo URG-04LX-UG01 (black points). Moreover, picture contains the rgb image and the depth image.

Usage

The file /config/params.yaml constains example parameters values. To start node laserscan_kinect can be used a following file /launch/laserscan.launch .

Node

laserscan_kinect

Subscribed Topics

image (sensor_msgs/Image)
  • Depth image which will be converted to laserscan.
camera_info (sensor_msgs/CameraInfo)
  • Additional information about depth sensor.

Published Topics

/scan (sensor_msgs/LaserScan)
  • Converted depthimage. It contains information about robot surrounding in planar scan.

Parameters

~output_frame_id (str, default: camera_depth_frame)
  • Frame id for the output laserscan message.
~range_min (double, default: 0.5)
  • Minimum sensor range (in meters). Pixels in depth image with values smaller than this parameter are ignored in processing.
~range_max (double, default: 5.0)
  • Maximum sensor range (in meters). Pixels in depth image with values greater than this parameter are ignored in processing.
~depth_img_row_step (int, default: 2)
  • Row step in depth image processing. Increasing this parameter we decrease computational complexity of algorithm but some of data are losted.
~scan_height (int, default: 440)
  • Height of used part of depth image (in pixels).
~cam_model_update (bool, default: false)
  • Determines if continuously camera model data update is neccessary. If it's true, then camera model (sensor_msgs/CameraInfo) from topic camera_info is updated with each new depth image message. Otherwise, camera model and parameters associated with it are updated only at the start of node or when node parameter are changed by dynamic_reconfigure.
~ground_remove_en (bool, default: false)
  • Determines if ground remove from output scan feature is enabled. The ground removing method to work needs a correctly values of parameters like a sensor_tilt_angle and sensor_mount_height.
~sensor_mount_height (double, default: 0.4)
  • Height of depth sensor optical center mount (in meters). Parameter is necessary for ground removing featrue. It should be measured from ground to the optical center of depth sensor.
~sensor_tilt_angle (double, default: 0.0)
  • Depth sensor tilt angle (in degrees). If the sensor is leaning towards the ground the tilt angle should be positive. Otherwise, the value of angle should be negative.
~ground_margin (double, default: 0.05)
  • Margin in ground removing feature (in meters).
~tilt_compensation_en (bool, default: false)
  • Parameter determines if sensor tilt angle compensation is enabled.

Report a Bug

Use GitHub to report bugs or submit feature requests. [View active issues]

Wiki: laserscan_kinect (last edited 2017-02-11 20:06:59 by MichalDrwiega)