ground_projection package

The ground_projection package provides the tools for projecting line segments from an image reference frame to the ground reference frame, as well as a ROS node that implements this functionality. It has been designed to be a part of the lane localization pipeline. Consists of the ROS node nodes.GroundProjectionNode and the ground_projection library.

GroundProjectionNode

class GroundProjectionNode(node_name: str)

This node projects the line segments detected in the image to the ground plane and in the robot’s reference frame. In this way it enables lane localization in the 2D ground plane. This projection is performed using the homography matrix obtained from the extrinsic calibration procedure.

Parameters

node_name (str) – a unique, descriptive name for the node that ROS will use

Subscribers:

~camera_info (sensor_msgs.msg.CameraInfo): Intrinsic properties of the camera. Needed for rectifying the segments. ~lineseglist_in (duckietown_msgs.msg.SegmentList): Line segments in pixel space from unrectified images

Publishers:

~lineseglist_out (duckietown_msgs.msg.SegmentList): Line segments in the ground plane relative to the robot origin ~debug/ground_projection_image/compressed (sensor_msgs.msg.CompressedImage): Debug image that shows the robot relative to the projected segments. Useful to check if the extrinsic calibration is accurate.