Ejemplo n.º 1
0
def _lane_msg_from_lines(left: Line, middle: Line, right: Line) -> LaneMsg:
    """Create a lane message from three lines."""
    msg = LaneMsg()
    msg.middle_line = middle.to_geometry_msgs()
    msg.left_line = left.to_geometry_msgs()
    msg.right_line = right.to_geometry_msgs()
    return msg
Ejemplo n.º 2
0
def parking_msgs(
    right_spots: List[Polygon],
    left_spots: List[Polygon],
    right_border: Line,
    left_border: Line,
    id: int,
) -> groundtruth_srvs.ParkingSrvResponse:
    response = groundtruth_srvs.ParkingSrvResponse()

    right_msg = groundtruth_msgs.Parking()
    right_msg.borders = [
        groundtruth_msgs.Line(right_border.to_geometry_msgs())
    ]
    right_msg.spots = list(
        groundtruth_msgs.LabeledPolygon(spot.to_geometry_msg(),
                                        groundtruth_msgs.Parking.SPOT_FREE)
        for spot in right_spots)
    response.right_msg = right_msg

    left_msg = groundtruth_msgs.Parking()
    left_msg.borders = [groundtruth_msgs.Line(left_border.to_geometry_msgs())]
    left_msg.spots = list(
        groundtruth_msgs.LabeledPolygon(spot.to_geometry_msg(),
                                        groundtruth_msgs.Parking.SPOT_FREE)
        for spot in left_spots)
    response.left_msg = left_msg

    return response