Contents
This node provides access to laser scan data, publishing it in the map coordinate frame.
API Documentation
hokuyo_listener_cu
hokuyo_listener_cu is responsible for interfacing with the Hokuyo laser scanner and then publishing scan data to the rest of the system. Published messages include the scan origin to give them context.Subscribed Topics
scan (sensor_msgs/LaserScan)- This is a laser scan from the hokuyo laser scanner node it contains coordinates in local angle-distance format.
- The robot's best estimate of where it is, given all pose data, in map coordinates (/map_cu).
Published Topics
/cu/laser_scan_cu (hokuyo_listener_cu/PointCloudWithOrigin)- This is a list of laser scan hits, along with the pose of the laser scanner when it captured them. Coordinates are in the map coordinate system (/map_cu).
Services Called
/cu/get_map_cu (nav_msgs/GetMap)- Waits this service on boot so that hokuyo_listener_cu knows mapper_cu is up and running before attempting interaction with it
- Waits this service on boot so that listener knows localization_cu is up and running before using data provided by it.
Parameters
~laser_scanner_x (double, default: 0.15 (m))- x displacement in meters between the scanner coordinate system and the world coordinate system (/scanner_cu and /world_cu, respectively).
- y displacement in meters between the scanner coordinate system and the world coordinate system (/scanner_cu and /world_cu, respectively).
- Radial displacement in radians between the scanner coordinate system and the world coordinate system (/scanner_cu and /world_cu, respectively).
- When true, the tf ROS package is used to facilitate coordinate transformations.
Required tf Transforms
/scanner_cu → /map_cu- Transform between laser scanner and map.
Provided tf Transforms
/robot_cu → /scanner_cu- Transform between robot and laser scanner.
Setting up launch file
The hokuyo_listener_cu node interacts with the hokuyo node that is included in the ROS kitchen-sink install. To set up the ROS hokuyo node, add the following commands to the .launch file that kicks-off your code:
<group ns="hokuyo"> <param name="calibrate_time" type="bool" value="false" /> <param name="hokuyoLaserModel04LX" type="bool" value="true" /> <param name="min_ang" type="double" value="-2.086214" /> <param name="max_ang" type="double" value="2.092350" /> </group> <node name="hokuyo" pkg="hokuyo_node" type="hokuyo_node" respawn="false" output="screen" /> <node name="hokuyo" pkg="hokuyo_node" type="hokuyo_node" respawn="false" output="screen" />