depth_nav_tools repository

Repository Summary

Checkout URI https://github.com/mdrwiega/depth_nav_tools.git
VCS Type git
VCS Version kinetic-devel
Last Updated 2017-11-04
Dev Status DEVELOPED
Released UNRELEASED

Packages

README

depth_nav_tools

The set of software tools dedicated to mobile robot autonomous navigation with depth sensor, for example Microsoft Kinect.

The metapackage depth_nav_tools contains following packages:

  • laserscan_kinect -- It converts depth image to laser scanner format (LaserScan). Firstly, the node finds the smallest value of distance in each column of depth image and converts it to polar coordinates. The package provides features like:
    • removing ground plane from output data,
    • sensor tilt compenstaion.

However, height of the sensor position and the tilt angle must be known for correct data processing. Parameters should be calculated in the frame of the ground plane.

  • depth_sensor_pose -- It detects the ground plane on depth image and estimates height and tilt angle of depth sensor. The procedure of the ground plane detection based on the RANSAC algorithm and acceptable parameters ranges.

  • cliff_detector -- This tool detects negative objects like a cliffs or downstairs. It uses known sensor pose to determine obstables placed below ground plane.

  • nav_layer_from_points -- It creates navigation costmap layer based on received points (i.e. from cliff_detector).

  • depth_nav_msgs -- Specific messages for other packages.

Documentation

General documentation is available at the ROS wiki and in the publication "A set of depth sensor processing ROS tools for wheeled mobile robot navigation"(PDF) by M. Drwięga and J. Jakubiak (Journal of Automation, Mobile Robotics & Intelligent Systems, 2017).

BibTeX:

@ARTICLE{drwiega17jamris,
  author = {Michał Drwięga and Janusz Jakubiak},
  title = {A set of depth sensor processing {ROS} tools for wheeled mobile robot navigation},
  journal = {Journal of Automation, Mobile Robotics & Intelligent Systems (JAMRIS)},
  year = 2017,
  doi = {10.14313/JAMRIS_2-2017/16},
  note = {Software available at \url{http://github.com/mdrwiega/depth_nav_tools}}
}

The example of obstacles detection by laserscan_kinect

Laserscan Kinect detection

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).

Repository Summary

Checkout URI https://github.com/mdrwiega/depth_nav_tools.git
VCS Type git
VCS Version indigo-devel
Last Updated 2017-02-11
Dev Status DEVELOPED
Released UNRELEASED

Packages

README

depth_nav_tools

Set of tools for mobile robot navigation with depth sensor, for example Microsoft Kinect.

Package depth_nav_tools contains following packages: - laserscan_kinect -- converts depth image to laser scan (LaserScan). It 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.

  • depth_sensor_pose -- detects ground plane on depth image and estimate height and tilt angle of depth sensor.

  • cliff_detector -- detects negative objects like a cliff or downstairs.

  • nav_layer_from_points -- creates navigation costmap layer based on received points.

  • depth_nav_msgs -- specific messages for other packages.

Deprecated

Please use version of package for ROS Kinetic.

ROS Documentation

A more detailed, standard ROS-style documentation of this package can be found on the ROS wiki at: http://wiki.ros.org/depth_nav_tools