IRI Hokyo Laser3D
diagrama_h3d.jpg

Description:

  • This is a high level driver to manage Hokuyo3D, a 3D laser Scanner based in Hokuyo UTM30lx.

Functionalities:

  • Configure the scan, via parameter server or dynamic reconfigure gui
    • Resolution, dg/slice
    • Laser Mode, distance or distance+intensity
  • Get a 3D Scan via service
  • Get continuous 3D Scans

More information:

iri_hokuyo_laser3d: iri_hokuyo_laser3d

This is a wrapper for the driver of the 3D Laser scanner H3D of IRI.

howto

Run node

Call this node from rosrun:

rosrun iri_hokuyo_laser3d iri_hokuyo_laser3d frame_id:=/robot/laser3d

Call this node from launch:

<launch>
  <node pkg="iri_hokuyo_laser3d"
        type="iri_hokuyo_laser3d"
        name="h3d"
        output="screen">
    <param name="frame_id" value="/robot/laser3d"/>
    <param name="laser_port" value="/dev/ttyACM0" />
    <param name="scan_mode" value="True" /> <!-- from home position:True, from current position:False -->
    <param name="resolution" value="0.5" /> <!-- [0.05, 2] -->
    <param name="laser_mode" value="1" />   <!-- range:0, range+intensity:1 -->
    <param name="continuous" value="False" />
    <param name="publish_pointcloud" value="False" />
    <param name="publish_pointcloud2" value="True" />
  </node>
</launch>

Call service

Call the service from command line:

rosservice call /robot/laser3d/get_3d_scan 1.0

Call the service from code in manifest file:

<depend package="iri_hokuyo_laser3d" />

in cpp code:

#include <iri_hokuyo_laser3d/Get3DScan.h>

iri_hokuyo_laser3d::Get3DScan get_pointcloud;
get_pointcloud.request.request = 1;
if(ros::service::exists("/robot/laser3d/get_3d_scan",true))
{
  if(ros::service::call("/robot/laser3d/get_3d_scan", get_pointcloud))
    ROS_DEBUG("get_3d_scan Service Called");
  else
    ROS_WARN("get_3d_scan Service NOT Called");
}else{
  ROS_WARN("get_3d_scan service doesn't exist!");
}
logo.png


iri_hokuyo_laser3d
Author(s): Marti Morta, mmorta at iri.upc.edu
autogenerated on Fri Dec 6 2013 21:51:18