21 #include "modules/canbus/proto/canbus_conf.pb.h" 22 #include "modules/canbus/proto/chassis.pb.h" 23 #include "modules/canbus/proto/vehicle_parameter.pb.h" 30 #include "modules/common/proto/error_code.pb.h" 31 #include "modules/control/proto/control_cmd.pb.h" 43 ::apollo::common::ErrorCode
Init(
44 const VehicleParameter& params,
45 CanSender<::apollo::canbus::ChassisDetail>*
const can_sender,
46 MessageManager<::apollo::canbus::ChassisDetail>*
const message_manager)
49 bool Start()
override;
67 void Emergency()
override;
68 ::apollo::common::ErrorCode EnableAutoMode()
override;
69 ::apollo::common::ErrorCode DisableAutoMode()
override;
70 ::apollo::common::ErrorCode EnableSteeringOnlyMode()
override;
71 ::apollo::common::ErrorCode EnableSpeedOnlyMode()
override;
74 void Gear(Chassis::GearPosition state)
override;
79 void Brake(
double acceleration)
override;
83 void Throttle(
double throttle)
override;
87 void Acceleration(
double acc)
override;
91 void Steer(
double angle)
override;
96 void Steer(
double angle,
double angle_spd)
override;
99 void SetEpbBreak(const ::apollo::control::ControlCommand& command)
override;
100 void SetBeam(const ::apollo::control::ControlCommand& command)
override;
101 void SetHorn(const ::apollo::control::ControlCommand& command)
override;
102 void SetTurningSignal(
103 const ::apollo::control::ControlCommand& command)
override;
105 void ResetProtocol();
106 bool CheckChassisError();
107 bool CheckSafetyError(
const canbus::ChassisDetail& chassis);
110 void SecurityDogThreadFunc();
111 virtual bool CheckResponse(
const int32_t flags,
bool need_wait);
112 void set_chassis_error_mask(
const int32_t mask);
113 int32_t chassis_error_mask();
114 Chassis::ErrorCode chassis_error_code();
115 void set_chassis_error_code(
const Chassis::ErrorCode& error_code);
126 std::unique_ptr<std::thread> thread_;
127 bool is_chassis_error_ =
false;
128 bool received_vin_ =
false;
130 std::mutex chassis_error_code_mutex_;
131 Chassis::ErrorCode chassis_error_code_ = Chassis::NO_ERROR;
133 std::mutex chassis_mask_mutex_;
134 int32_t chassis_error_mask_ = 0;
FRIEND_TEST(Ge3ControllerTest, SetDrivingMode)
Chassis chassis() override
calculate and return the chassis.
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
::apollo::common::ErrorCode Init(const VehicleParameter ¶ms, CanSender<::apollo::canbus::ChassisDetail > *const can_sender, MessageManager<::apollo::canbus::ChassisDetail > *const message_manager) override
virtual common::ErrorCode SetDrivingMode(const Chassis::DrivingMode &driving_mode)
set vehicle to appointed driving mode.
Definition: pc_epb_203.h:26
Definition: pc_vcu_205.h:26
Definition: ge3_controller.h:37
Definition: pc_eps_204.h:26
void Stop() override
stop the vehicle controller.
The class of VehicleController.
This is the interface class of vehicle controller. It defines pure virtual functions, and also some implemented common functions.
Definition: vehicle_controller.h:53
Definition: pc_bcm_201.h:26
bool Start() override
start the vehicle controller.
Definition: pc_bcs_202.h:26
Ge3Controller()
Definition: ge3_controller.h:39