CARLA
Loading...
Searching...
No Matches
LibCarla
source
carla
ros2
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
13
namespace
carla
{
14
namespace
ros2 {
15
16
struct
VehicleControl
17
{
18
float
throttle
;
19
float
steer
;
20
float
brake
;
21
bool
hand_brake
;
22
bool
reverse
;
23
int32_t
gear
;
24
bool
manual_gear_shift
;
25
};
26
27
struct
AckermannControl
28
{
29
float
steer
;
30
float
steer_speed
;
31
float
speed
;
32
float
acceleration
;
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).
39
struct
VehicleAccelerationControl
40
{
41
float
acceleration
;
42
float
steer
;
43
float
steer_speed
;
44
};
45
46
struct
MessageControl
47
{
48
const
char
*
message
;
49
};
50
51
using
ROS2CallbackData
=
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
carla::ros2::ROS2MessageCallbackData
std::variant< MessageControl > ROS2MessageCallbackData
Definition
ROS2CallbackData.h:53
carla::ros2::ActorCallback
std::function< void(void *actor, ROS2CallbackData data)> ActorCallback
Definition
ROS2CallbackData.h:55
carla::ros2::ActorMessageCallback
std::function< void(void *actor, ROS2MessageCallbackData data)> ActorMessageCallback
Definition
ROS2CallbackData.h:56
carla::ros2::ROS2CallbackData
std::variant< VehicleControl, AckermannControl, VehicleAccelerationControl > ROS2CallbackData
Definition
ROS2CallbackData.h:52
carla
This file contains definitions of common data structures used in traffic manager.
Definition
SignComponent.h:21
carla::ros2::AckermannControl
Definition
ROS2CallbackData.h:28
carla::ros2::AckermannControl::jerk
float jerk
Definition
ROS2CallbackData.h:33
carla::ros2::AckermannControl::speed
float speed
Definition
ROS2CallbackData.h:31
carla::ros2::AckermannControl::steer_speed
float steer_speed
Definition
ROS2CallbackData.h:30
carla::ros2::AckermannControl::acceleration
float acceleration
Definition
ROS2CallbackData.h:32
carla::ros2::AckermannControl::steer
float steer
Definition
ROS2CallbackData.h:29
carla::ros2::MessageControl
Definition
ROS2CallbackData.h:47
carla::ros2::MessageControl::message
const char * message
Definition
ROS2CallbackData.h:48
carla::ros2::VehicleAccelerationControl
Control decoded from Autoware's /control/command/control_cmd: longitudinal acceleration [m/s^2] + ste...
Definition
ROS2CallbackData.h:40
carla::ros2::VehicleAccelerationControl::steer
float steer
Definition
ROS2CallbackData.h:42
carla::ros2::VehicleAccelerationControl::steer_speed
float steer_speed
Definition
ROS2CallbackData.h:43
carla::ros2::VehicleAccelerationControl::acceleration
float acceleration
Definition
ROS2CallbackData.h:41
carla::ros2::VehicleControl
Definition
ROS2CallbackData.h:17
carla::ros2::VehicleControl::reverse
bool reverse
Definition
ROS2CallbackData.h:22
carla::ros2::VehicleControl::manual_gear_shift
bool manual_gear_shift
Definition
ROS2CallbackData.h:24
carla::ros2::VehicleControl::hand_brake
bool hand_brake
Definition
ROS2CallbackData.h:21
carla::ros2::VehicleControl::throttle
float throttle
Definition
ROS2CallbackData.h:18
carla::ros2::VehicleControl::brake
float brake
Definition
ROS2CallbackData.h:20
carla::ros2::VehicleControl::steer
float steer
Definition
ROS2CallbackData.h:19
carla::ros2::VehicleControl::gear
int32_t gear
Definition
ROS2CallbackData.h:23
Generated by
1.9.8