Skip to content

ROS2 Messages and Services Documentation

This document outlines the messages and services used in the ROS2 setup for a robot. It provides descriptions of each message and service, detailing their fields and purposes.

Messages

Area.msg

This message defines an area in a specific context, such as a zone or region on a map. It includes information about the name, type, specific area type, color, and additional data in the form of a MeshBox object.

Fields:

  • name: Name of the area.
  • type: Type of the area.
  • area_type: Specific type of the area.
  • color: Color of the area as a byte array.
  • data: Data of the area as a MeshBox object.

Dimension.msg

This message describes the dimensions of an object (width, height, and length). It is often used to specify the size of three-dimensional objects.

Fields:

  • width: Width.
  • height: Height.
  • length: Length.

LaneEdge.msg

This message represents an edge in a lane graph, connecting two nodes. It includes information about the source and target nodes, the type of edge, the name of the edge, and additional parameters.

Fields:

  • source: Source node of the edge.
  • target: Target node of the edge.
  • edge_type: Type of the edge.
  • name: Name of the edge.
  • params: Additional parameters as key-value pairs.

LaneGraph.msg

This message describes a graph consisting of nodes (LaneNode) and edges (LaneEdge). It is used to represent the structure of a road network or path.

Fields:

  • nodes: List of nodes in the graph.
  • edges: List of edges in the graph.

LaneNode.msg

This message represents a node in a lane graph. It includes information about the name of the node, its position, and additional parameters.

Fields:

  • name: Name of the node.
  • position: Position of the node as a Vector3 object.
  • params: Additional parameters as key-value pairs.

Marker.msg

This message defines a marker that represents a specific position and information in space. It includes information about the pose, name, color, type, and radius of the marker.

Fields:

  • pose: Pose of the marker.
  • name: Name of the marker.
  • color: Color of the marker as a byte array.
  • type: Type of the marker.
  • radius: Radius of the marker.

MeshBox.msg

This message describes either a mesh or a box. It includes information about the type of the object, the polygons of the mesh (if it is a mesh), the size of the box (if it is a box), and the pose of the object.

Fields:

  • type: Type of the object (mesh or box).
  • polygons: Polygons of the mesh as a list of Vector3 objects.
  • size: Size of the box as a Dimension object.
  • pose: Pose of the object.

Services

AddArea.srv

This service is used to add a new area. It takes an Area object as input and indicates whether the operation was successful.

Request:

  • area: The area to be added as an Area object.

Response:

  • success: Indicates whether the operation was successful.

AddLane.srv

This service is used to add a new lane graph. It takes a LaneGraph object as input and indicates whether the operation was successful.

Request:

  • lane: The lane graph to be added.

Response:

  • success: Indicates whether the operation was successful.

AddMarker.srv

This service is used to add a new marker. It takes a Marker object as input and indicates whether the operation was successful.

Request:

  • marker: The marker to be added.

Response:

  • success: Indicates whether the operation was successful.

ListArea.srv

This service is used to retrieve a list of all areas. It returns a list of Area objects.

Response:

  • area: List of areas as an array of Area objects.

ListLane.srv

This service is used to retrieve a list of all lane graphs. It returns a list of LaneGraph objects.

Response:

  • lane: List of lane graphs as an array of LaneGraph objects.

ListMarker.srv

This service is used to retrieve a list of all markers. It returns a list of Marker objects.

Response:

  • marker: List of markers as an array of Marker objects.

OverwriteMap.srv

This service is used to overwrite the current map with a new one. It takes a map as a YAML string and indicates whether the operation was successful.

Request:

  • map: Map as a YAML string.

Response:

  • success: Indicates whether the operation was successful.

RemoveArea.srv

This service is used to remove a specific area. It takes the name of the area to be removed as input and indicates whether the operation was successful.

Request:

  • name: Name of the area to be removed.

Response:

  • success: Indicates whether the operation was successful.

RemoveLane.srv

This service is used to remove a specific lane graph. It takes the name of the lane graph to be removed as input and indicates whether the operation was successful.

Request:

  • name: Name of the lane graph to be removed.

Response:

  • success: Indicates whether the operation was successful.

RemoveMarker.srv

This service is used to remove a specific marker. It takes the name of the marker to be removed as input and indicates whether the operation was successful.

Request:

  • name: Name of the marker to be removed.

Response:

  • success: Indicates whether the operation was successful.

UpdateArea.srv

This service is used to update an existing area. It takes an updated Area object as input and indicates whether the operation was successful.

Request:

  • area: The area to be updated as an Area object.

Response:

  • success: Indicates whether the operation was successful.

UpdateLane.srv

This service is used to update an existing lane graph. It takes an updated LaneGraph object as input and indicates whether the operation was successful.

Request:

  • lane: The lane graph to be updated.

Response:

  • success: Indicates whether the operation was successful.

UpdateMarker.srv

This service is used to update an existing marker. It takes an updated Marker object as input and indicates whether the operation was successful.

Request:

  • marker: The marker to be updated.

Response:

  • success: Indicates whether the operation was successful.