CARLA
Loading...
Searching...
No Matches
ROS2CallbackData.h
Go to the documentation of this file.
1// Copyright (c) 2026 Computer Vision Center (CVC) at the Universitat Autonoma
2// de Barcelona (UAB).
3//
4// This work is licensed under the terms of the MIT license.
5// For a copy, see <https://opensource.org/licenses/MIT>.
6
7#pragma once
8
9#include <cstdint>
10#include <functional>
11#include <variant>
12
13namespace carla {
14namespace ros2 {
15
17 {
18 float throttle;
19 float steer;
20 float brake;
22 bool reverse;
23 int32_t gear;
25 };
26
28 {
29 float steer;
31 float speed;
33 float jerk;
34 };
35
36 /// Control decoded from Autoware's /control/command/control_cmd:
37 /// longitudinal acceleration [m/s^2] + steering (CARLA sign convention,
38 /// already passed through the AutowareSteeringCompensation LUT).
40 {
42 float steer;
44 };
45
47 {
48 const char* message;
49 };
50
52 std::variant<VehicleControl, AckermannControl, VehicleAccelerationControl>;
53 using ROS2MessageCallbackData = std::variant<MessageControl>;
54
55 using ActorCallback = std::function<void(void *actor, ROS2CallbackData data)>;
56 using ActorMessageCallback = std::function<void(void *actor, ROS2MessageCallbackData data)>;
57
58} // namespace ros2
59} // namespace carla
std::variant< MessageControl > ROS2MessageCallbackData
std::function< void(void *actor, ROS2CallbackData data)> ActorCallback
std::function< void(void *actor, ROS2MessageCallbackData data)> ActorMessageCallback
std::variant< VehicleControl, AckermannControl, VehicleAccelerationControl > ROS2CallbackData
This file contains definitions of common data structures used in traffic manager.
Control decoded from Autoware's /control/command/control_cmd: longitudinal acceleration [m/s^2] + ste...