351 lines
33 KiB
Markdown
351 lines
33 KiB
Markdown
# CARLA messages reference
|
|
|
|
The following reference lists all the CARLA messages available in the ROS bridge.
|
|
|
|
Any doubts regarding these messages or the CARLA-ROS bridge can be solved in the forum.
|
|
|
|
<div class="build-buttons">
|
|
<!-- Latest release button -->
|
|
<p>
|
|
<a href="https://forum.carla.org/c/carla-ecosystem/ros-bridge" target="_blank" class="btn btn-neutral" title="Go to the CARLA Forum, ROS bridge section">
|
|
CARLA forum</a>
|
|
</p>
|
|
</div>
|
|
|
|
---
|
|
## CarlaActorInfo.msg
|
|
|
|
Information shared between ROS and CARLA regarding an actor.
|
|
|
|
| Field | Type | Description |
|
|
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
|
| `id` | uint32 | The ID of the actor. |
|
|
| `parent_id` | uint32 | The ID of the parent actor. \`0\` if no parent available. |
|
|
| `type` | string | The identifier of the blueprint this actor was based on. |
|
|
| `rolename` | string | Role assigned to the actor when spawned. |
|
|
|
|
|
|
|
|
|
|
---
|
|
## CarlaActorList.msg
|
|
|
|
A list of messages with some basic information for CARLA actors.
|
|
|
|
| Field | Type | Description |
|
|
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
|
|
| `actors` | [CarlaActorInfo](<#carlaactorinfomsg>) | List of messages with actors' information. |
|
|
|
|
|
|
|
|
---
|
|
## CarlaCollisionEvent.msg
|
|
|
|
Data retrieved on a collision event detected by the collision sensor of an actor.
|
|
|
|
| Field | Type | Description |
|
|
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
| `header` | [Header](<http://docs.ros.org/melodic/api/std_msgs/html/msg/Header.html>) | Time stamp and frame ID when the message is published. |
|
|
| `other_actor_id` | uint32 | ID of the actor against whom the collision was detected. |
|
|
| `normal_impulse` | geometry\_msgs/Vector3 | Vector representing resulting impulse from the collision. |
|
|
|
|
|
|
|
|
|
|
---
|
|
## CarlaControl.msg
|
|
|
|
These messages control the simulation while in synchronous mode. The constant defined is translated as stepping commands.
|
|
|
|
| Field | Type | Description |
|
|
| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
|
|
| `command` | int8 | **PLAY**=0 <br>**PAUSE**=1 <br>**STEP\_ONCE**=2 |
|
|
|
|
<br>
|
|
|
|
!!! Important
|
|
In synchronous mode, only the ROS bridge client is allowed to tick.
|
|
|
|
---
|
|
## CarlaEgoVehicleControl.msg
|
|
|
|
Messages sent to apply a control to a vehicle in both modes, autopilot and manual. These are published in a stack.
|
|
|
|
| Field | Type | Description |
|
|
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
| `header` | [Header](<http://docs.ros.org/melodic/api/std_msgs/html/msg/Header.html>) | Time stamp and frame ID when the message is published. |
|
|
| `throttle` | float32 | Scalar value to cotrol the vehicle throttle: **[0.0, 1.0]** |
|
|
| `steer` | float32 | Scalar value to control the vehicle steering direction: **[-1.0, 1.0]** to control the vehicle steering |
|
|
| `brake` | float32 | Scalar value to control the vehicle brakes: **[0.0, 1.0]** |
|
|
| `hand_brake` | bool | If **True**, the hand brake is enabled. |
|
|
| `reverse` | bool | If **True**, the vehicle will move reverse. |
|
|
| `gear` | int32 | Changes between the available gears in a vehicle. |
|
|
| `manual_gear_shift` | bool | If **True**, the gears will be shifted using `gear`. |
|
|
<br>
|
|
|
|
---
|
|
## CarlaEgoVehicleInfo.msg
|
|
|
|
Static information regarding a vehicle, mostly the attributes used to define the vehicle's physics.
|
|
|
|
| Field | Type | Description |
|
|
| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
|
|
| `id` | uint32 | ID of the vehicle actor. |
|
|
| `type` | string | The identifier of the blueprint this vehicle was based on. |
|
|
| `type` | string | The identifier of the blueprint this vehicle was based on. |
|
|
| `rolename` | string | Role assigned to the vehicle. |
|
|
| `wheels` | [CarlaEgoVehicleInfoWheel](<#carlaegovehicleinfowheelmsg>) | List of messages with information regarding wheels. |
|
|
| `max_rpm` | float32 | Maximum RPM of the vehicle's engine. |
|
|
| `moi` | float32 | Moment of inertia of the vehicle's engine. |
|
|
| `damping_rate_full_throttle` | float32 | Damping rate when the throttle is at maximum. |
|
|
| `damping_rate_zero_throttle`<br>`_clutch_engaged` | float32 | Damping rate when the throttle is zero with clutch engaged. |
|
|
| `damping_rate_zero_throttle`<br>`_clutch_disengaged` | float32 | Damping rate when the throttle is zero with clutch disengaged. |
|
|
| `use_gear_autobox` | bool | If **True**, the vehicle will have an automatic transmission. |
|
|
| `gear_switch_time` | float32 | Switching time between gears. |
|
|
| `clutch_strength` | float32 | The clutch strength of the vehicle. Measured in **Kgm^2/s**. |
|
|
| `mass` | float32 | The mass of the vehicle measured in Kg. |
|
|
| `drag_coefficient` | float32 | Drag coefficient of the vehicle's chassis. |
|
|
| `center_of_mass` | geometry\_msgs/Vector3 | The center of mass of the vehicle. |
|
|
|
|
|
|
<br>
|
|
|
|
|
|
---
|
|
## CarlaEgoVehicleInfoWheel.msg
|
|
|
|
Static information regarding a wheel that will be part of a [CarlaEgoVehicleInfo.msg](#carlaegovehicleinfomsg) message.
|
|
|
|
| Field | Type | Description |
|
|
| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
|
|
| `tire_friction` | float32 | A scalar value that indicates the friction of the wheel. |
|
|
| `damping_rate` | float32 | The damping rate of the wheel. |
|
|
| `max_steer_angle` | float32 | The maximum angle in degrees that the wheel can steer. |
|
|
| `radius` | float32 | The radius of the wheel in centimeters. |
|
|
| `max_brake_torque` | float32 | The maximum brake torque in Nm. |
|
|
| `max_handbrake_torque` | float32 | The maximum handbrake torque in Nm. |
|
|
| `position` | geometry\_msgs/Vector3 | World position of the wheel. |
|
|
|
|
|
|
<br>
|
|
|
|
---
|
|
## CarlaEgoVehicleStatus.msg
|
|
|
|
Current status of the vehicle as an object in the world.
|
|
|
|
| Field | Type | Description |
|
|
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
| `header` | [Header](<http://docs.ros.org/melodic/api/std_msgs/html/msg/Header.html>) | Time stamp and frame ID when the message is published. |
|
|
| `velocity` | float32 | Current speed of the vehicle. |
|
|
| `acceleration` | geometry\_msgs/Accel | Current acceleration of the vehicle. |
|
|
| `orientation` | geometry\_msgs/Quaternion | Current orientation of the vehicle. |
|
|
| `control` | [CarlaEgoVehicleControl](<#carlaegovehiclecontrolmsg>) | Current control values as reported by CARLA. |
|
|
|
|
|
|
|
|
<br>
|
|
|
|
---
|
|
## CarlaLaneInvasionEvent.msg
|
|
|
|
These messages publish lane invasions detected by a lane-invasion sensor attached to a vehicle. The invasions detected in the last step are passed as a list with a constant definition to identify the lane crossed.
|
|
|
|
|
|
|
|
| Field | Type | Description |
|
|
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
|
|
| `header` | [header](<http://docs.ros.org/melodic/api/std_msgs/html/msg/Header.html>) | Time stamp and frame ID when the message is published. |
|
|
| `crossed_lane_markings` | int32[] | **LANE\_MARKING\_OTHER**=0 <br>**LANE\_MARKING\_BROKEN**=1 <br>**LANE\_MARKING\_SOLID**=2 |
|
|
|
|
|
|
<br>
|
|
|
|
---
|
|
## CarlaScenario.msg
|
|
|
|
Details for a test scenario.
|
|
|
|
|
|
| Field | Type | Description |
|
|
| ---------------------------------- | ---------------------------------- | ---------------------------------- |
|
|
| `name` | string | Name of the scenario. |
|
|
| `scenario_file` | string | Test file for the scenario. |
|
|
| `destination` | geometry\_msgs/Pose | Goal location of the scenario. |
|
|
| `target_speed` | float64 | Desired speed during the scenario. |
|
|
|
|
|
|
<br>
|
|
|
|
---
|
|
## CarlaScenarioList.msg
|
|
|
|
List of test scenarios to run in ScenarioRunner.
|
|
|
|
|
|
| Field | Type | Description |
|
|
| -------------------------------------- | -------------------------------------- | -------------------------------------- |
|
|
| `scenarios` | [CarlaScenario[]](<#carlascenariomsg>) | List of scenarios. |
|
|
|
|
|
|
<br>
|
|
|
|
---
|
|
## CarlaScenarioRunnerStatus.msg
|
|
|
|
Current state of the ScenarioRunner. It is managed using a constant.
|
|
|
|
|
|
| Field | Type | Description |
|
|
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `status` | uint8 | Current state of the scenario as an enum: <br>**STOPPED**=0 <br>**STARTING**=1 <br>**RUNNING**=2 <br>**SHUTTINGDOWN**=3 <br>**ERROR**=4 |
|
|
|
|
|
|
|
|
## CarlaStatus.msg
|
|
|
|
Current world settings of the simulation.
|
|
|
|
|
|
| Field | Type | Description |
|
|
| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
|
|
| `frame` | uint64 | Current frame number. |
|
|
| `fixed_delta_seconds` | float32 | Simulation time between last and current step. |
|
|
| `synchronous_mode` | bool | If **True**, synchronous mode is enabled. |
|
|
| `synchronous_mode_running` | bool | **True** when the simulation is running. **False** when it is paused. |
|
|
|
|
|
|
|
|
## CarlaTrafficLightStatus.msg
|
|
|
|
Constant definition regarding the state of a traffic light.
|
|
|
|
| Field | Type | Description |
|
|
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
| `id` | uint32 | ID of the traffic light actor. |
|
|
| `state` | uint8 | **RED**=0 <br>**YELLOW**=1 <br>**GREEN**=2 <br>**OFF**=3 <br>**UNKNOWN**=4 |
|
|
|
|
|
|
|
|
## CarlaTrafficLightStatusList.msg
|
|
|
|
List of traffic lights with their status.
|
|
|
|
| Field | Type | Description |
|
|
| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
|
|
| `scenarios` | [CarlaTrafficLightStatus[]](<#carlatrafficlightstatusmsg>) | A list of messages summarizing traffic light states. |
|
|
|
|
|
|
|
|
## CarlaWalkerControl.msg
|
|
|
|
Information needed to apply a movement controller to a walker.
|
|
|
|
| Field | Type | Description |
|
|
| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
|
|
| `direction` | geometry\_msgs/Vector3 | Vector that controls the direction of the walker. |
|
|
| `speed` | float32 | A scalar value to control the walker's speed. |
|
|
| `jump` | bool | If **True**, the walker will jump. |
|
|
|
|
|
|
|
|
## CarlaWaypoint.msg
|
|
|
|
Data contained in a waypoint object.
|
|
|
|
| Field | Type | Description |
|
|
| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
|
|
| `road_id` | int32 | OpenDRIVE road's id. |
|
|
| `section_id` | int32 | OpenDRIVE section's id, based on the order that they are originally defined. |
|
|
| `lane_id` | int32 | OpenDRIVE lane's id, this value can be positive or negative which represents the direction of the current lane with respect to the road. |
|
|
| `is_junction` | bool | **True**, if the current Waypoint is on a junction as defined by OpenDRIVE. |
|
|
| `is_junction` | [geometry\_msgs/Pose](<http://docs.ros.org/api/geometry_msgs/html/msg/Pose.html>) | **True** when the simulation is running. **False** when it is paused. |
|
|
|
|
|
|
|
|
## CarlaWorldInfo.msg
|
|
|
|
Information about the current CARLA map.
|
|
|
|
| Field | Type | Description |
|
|
| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
|
|
| `map_name` | string | Name of the CARLA map loaded in the current world. |
|
|
| `opendrive` | string | .xodr OpenDRIVE file of the current map as a string. |
|
|
|
|
|
|
|
|
## EgoVehicleControlCurrent.msg
|
|
|
|
Current time, speed and acceleration values of the vehicle. Used by the controller. It is part of a `Carla_Ackermann_Control.EgoVehicleControlInfo.msg` message.
|
|
|
|
| Field | Type | Description |
|
|
| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- |
|
|
| `time_sec` | float32 | Current time when the controller is applied. |
|
|
| `speed` | float32 | Current speed applied by the controller. |
|
|
| `speed_abs` | float32 | Speed as an absolute value. |
|
|
| `accel` | float32 | Current acceleration applied by the controller. |
|
|
|
|
|
|
|
|
## EgoVehicleControlInfo.msg
|
|
|
|
Current values within an Ackermann controller. These messages are useful for debugging.
|
|
|
|
| Field | Type | Description |
|
|
| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
| `header` | [header](<http://docs.ros.org/melodic/api/std_msgs/html/msg/Header.html>) | Time stamp and frame ID when the message is published. |
|
|
| `restrictions` | [EgoVehicleControlMaxima](<#egovehiclecontrolmaximamsg>) | Limits to the controller values. |
|
|
| `target` | [EgoVehicleControlTarget](<#egovehiclecontroltargetmsg>) | Limits to the controller values. |
|
|
| `current` | [EgoVehicleControlCurrent](<#egovehiclecontrolcurrentmsg>) | Limits to the controller values. |
|
|
| `status` | [EgoVehicleControlStatus](<#egovehiclecontrolstatusmsg>) | Limits to the controller values. |
|
|
| `output` | [CarlaEgoVehicleControl](<#carlaegovehiclecontrolmsg>) | Limits to the controller values. |
|
|
|
|
|
|
|
|
## EgoVehicleControlMaxima.msg
|
|
|
|
Controller restrictions (limit values). It is part of a `Carla_Ackermann_Control.EgoVehicleControlInfo.msg` message.
|
|
|
|
| Field | Type | Description |
|
|
| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
|
|
| `max_steering_angle` | float32 | Max. steering angle for a vehicle. |
|
|
| `max_speed` | float32 | Max. speed for a vehicle. |
|
|
| `max_accel` | float32 | Max. acceleration for a vehicle. |
|
|
| `max_decel` | float32 | Max. deceleration for a vehicle. Default: **8m/s^2** |
|
|
| `min_accel` | float32 | Min. acceleration for a vehicle. When the Ackermann taget accel. exceeds this value, the input accel. is controlled. |
|
|
| `max_pedal` | float32 | Min. pedal. |
|
|
|
|
|
|
|
|
## EgoVehicleControlStatus.msg
|
|
|
|
Current status of the ego vehicle controller. It is part of a `Carla_Ackermann_Control.EgoVehicleControlInfo.msg` message.
|
|
|
|
| Field | Type | Description |
|
|
| -------------------------------- | -------------------------------- | -------------------------------- |
|
|
| `status` | string | Current control status. |
|
|
| `speed_control_activation_count` | uint8 | Speed controller. |
|
|
| `speed_control_accel_delta` | float32 | Speed controller. |
|
|
| `speed_control_accel_target` | float32 | Speed controller. |
|
|
| `accel_control_pedal_delta` | float32 | Acceleration controller. |
|
|
| `accel_control_pedal_target` | float32 | Acceleration controller. |
|
|
| `brake_upper_border` | float32 | Borders for lay off pedal. |
|
|
| `throttle_lower_border` | float32 | Borders for lay off pedal. |
|
|
|
|
|
|
|
|
|
|
## EgoVehicleControlTarget.msg
|
|
|
|
Target values of the ego vehicle controller. It is part of a `Carla_Ackermann_Control.EgoVehicleControlInfo.msg` message.
|
|
|
|
| Field | Type | Description |
|
|
| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
|
|
| `steering_angle` | float32 | Target steering angle for the controller. |
|
|
| `speed` | float32 | Target speed for the controller. |
|
|
| `speed_abs` | float32 | Speed as an absolute value. |
|
|
| `accel` | float32 | Target acceleration for the controller. |
|
|
| `jerk` | float32 | Target jerk for the controller. |
|
|
|
|
<br>
|