Skip to content
This repository has been archived by the owner on Apr 24, 2023. It is now read-only.
Alejandro Escontrela edited this page Oct 27, 2018 · 4 revisions

Constructs an Occupancy Grid of the robot's surrounding area using lidar and semantic segmentation cloud data. Publishes occupancy grid to /map topic for later use in path planning.

Occupancy grid is published in the /map frame, which is the world-fixed frame with the X axis pointing upwards. More information on the /map frame can be found in REP-105.

Launch Information: mapper node currently launched from mapper.launch in igvc_navigation.

Subscribed Topics

  • /odometry/filtered [nav_msgs/Odometry]
    • Provides information regarding robot's position and orientation (Pose), as well as the robot's linear and angular velocity (Twist).
  • /scan/pointcloud [sensor_msgs/PointCloud2]
    • 1D Pointcloud data containing one entry [x,y,z] for each point in the pointcloud. Original frame is /lidar.
  • /semantic_segmentation_cloud [sensor_msgs/PointCloud2]
    • Pointcloud containing the location of lines obtained via pinhole projection of a camera located on the robot's main mast.
  • /tf [tf2_msgs/TFMessage]
    • Transform tree topic. Provides transforms to child_frame_id from header.frame_id.
  • /tf_static [tf2_msgs/TFMessage]
    • Contains transform information relating the robot's static frames (assumed to never change and be valid for all timestamps). Topic msg contains geometry_msgs/TransformStamped[] array where each element expresses a transform from coordinate frame header.frame_id to the coordinate frame child_frame_id.

Published Topics

  • /map [igvc_msgs/map]
    • Topic containing the final occupancy grid as a sensor_msgs/Image encoded within an igvc_msgs/map message.
    • igvc_msgs/map message definition can be found in igvc_msgs package.

Debug Mode Only:

Parameters

  • topics (string, "/scan/pointcloud /semantic_segmentation_cloud")
    • space-separated list of topics whose data will be incorporated into the occupancy grid.
  • occupancy_grid_length (int, 50)
    • length of the occupancy grid in meters.
  • occupancy_grid_width (int, 50)
    • width of the occupancy grid in meters.
  • occupancy_grid_resolution (double, 0.2)
    • resolution of occupancy grid. Lower values mean more points will be considered for the same length and width of the occupancy grid.
  • start_X (double, 25)
    • robot's starting x position in the occupancy grid.
  • start_Y (double, 25)
    • robot's starting y position in the occupancy grid.
  • debug (bool, true)
    • whether to run the node in debug more.

Required tf Transforms

  • /lidar/base_footprint
    • Transforms lidar readings from the /lidar coordinate frame to the /base_footprint; the representation of the robot's position on the floor. More information regarding base_footprint found in REP-120.