CARLA
载入中...
搜索中...
未找到
Unreal
CarlaUE4
Plugins
Carla
Source
Carla
Actor
ActorROS2Handler.cpp
浏览该文件的文档.
1
// 版权所有 (c) 巴塞罗那自治大学 (UAB) 的 2023 计算机视觉中心 (CVC)。
2
//
3
// 本作品根据 MIT 许可证的条款进行许可。
4
// 有关副本,请参阅 <https://opensource.org/licenses/MIT>。
5
6
#include "
ActorROS2Handler.h
"
7
8
#include "
Carla/Vehicle/CarlaWheeledVehicle.h
"
// 引入Carla车辆模拟器的WheeledVehicle类定义
9
#include "
Carla/Vehicle/VehicleControl.h
"
// 引入Carla车辆控制的定义
10
11
// 定义一个重载的函数调用运算符,用于将ROS2中的车辆控制命令转化为Carla车辆控制命令。
12
void
ActorROS2Handler::operator()
(
carla::ros2::VehicleControl
&Source)
13
{
14
if
(!
_Actor
)
return
;
// 如果没有有效的Actor对象(可能为空或无效),则直接返回,不进行任何操作。
15
16
// 将Actor对象转换为ACarlaWheeledVehicle类型的指针
17
ACarlaWheeledVehicle
*
Vehicle
= Cast<ACarlaWheeledVehicle>(
_Actor
);
18
if
(!
Vehicle
)
return
;
// 如果转换失败(即Actor不是车辆对象),则返回
19
20
// 设置控制值
21
// 创建一个新的FVehicleControl对象,用于设置车辆的控制参数
22
FVehicleControl
NewControl;
23
// 将ROS2中传来的车辆控制数据填充到FVehicleControl结构体中。
24
NewControl.
Throttle
= Source.
throttle
;
// 设置油门值
25
NewControl.
Steer
= Source.
steer
;
// 设置转向值
26
NewControl.
Brake
= Source.
brake
;
// 设置刹车值
27
NewControl.
bHandBrake
= Source.
hand_brake
;
// 设置手刹状态
28
NewControl.
bReverse
= Source.
reverse
;
// 设置是否为倒车状态
29
NewControl.
bManualGearShift
= Source.
manual_gear_shift
;
// 设置是否为手动换挡模式
30
NewControl.
Gear
= Source.
gear
;
// 设置当前的挡位
31
32
// 将新构建的控制命令应用到车辆上,使用用户输入的优先级(EVehicleInputPriority::User)。
33
Vehicle
->ApplyVehicleControl(NewControl, EVehicleInputPriority::User);
34
}
ActorROS2Handler.h
CarlaWheeledVehicle.h
Vehicle
@ Vehicle
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Util/EnvironmentObject.h:32
VehicleControl.h
ACarlaWheeledVehicle
Base class for CARLA wheeled vehicles.
Definition
CarlaWheeledVehicle.h:74
ActorROS2Handler::operator()
void operator()(carla::ros2::VehicleControl &Source)
Definition
ActorROS2Handler.cpp:12
ActorROS2Handler::_Actor
AActor * _Actor
Definition
ActorROS2Handler.h:23
FVehicleControl
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:16
FVehicleControl::Steer
float Steer
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:29
FVehicleControl::Throttle
float Throttle
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:24
FVehicleControl::Brake
float Brake
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:34
FVehicleControl::Gear
int32 Gear
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:55
FVehicleControl::bManualGearShift
bool bManualGearShift
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:49
FVehicleControl::bHandBrake
bool bHandBrake
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:39
FVehicleControl::bReverse
bool bReverse
Definition
Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Vehicle/VehicleControl.h:44
carla::ros2::VehicleControl
Definition
ROS2CallbackData.h:23
carla::ros2::VehicleControl::reverse
bool reverse
Definition
ROS2CallbackData.h:28
carla::ros2::VehicleControl::manual_gear_shift
bool manual_gear_shift
Definition
ROS2CallbackData.h:30
carla::ros2::VehicleControl::hand_brake
bool hand_brake
Definition
ROS2CallbackData.h:27
carla::ros2::VehicleControl::throttle
float throttle
Definition
ROS2CallbackData.h:24
carla::ros2::VehicleControl::brake
float brake
Definition
ROS2CallbackData.h:26
carla::ros2::VehicleControl::steer
float steer
Definition
ROS2CallbackData.h:25
carla::ros2::VehicleControl::gear
int32_t gear
Definition
ROS2CallbackData.h:29
制作者
1.10.0