Apollo
6.0
Open source self driving car software
|
This is the interface class of vehicle controller. It defines pure virtual functions, and also some implemented common functions. More...
#include <vehicle_controller.h>
Public Member Functions | |
virtual | ~VehicleController ()=default |
virtual common::ErrorCode | Init (const VehicleParameter ¶ms, CanSender< ChassisDetail > *const can_sender, MessageManager< ChassisDetail > *const message_manager)=0 |
initialize the vehicle controller. More... | |
virtual bool | Start ()=0 |
start the vehicle controller. More... | |
virtual void | Stop ()=0 |
stop the vehicle controller. More... | |
virtual Chassis | chassis ()=0 |
calculate and return the chassis. More... | |
virtual common::ErrorCode | Update (const control::ControlCommand &command) |
update the vehicle controller. More... | |
virtual common::ErrorCode | SetDrivingMode (const Chassis::DrivingMode &driving_mode) |
set vehicle to appointed driving mode. More... | |
Protected Member Functions | |
virtual Chassis::DrivingMode | driving_mode () |
virtual void | set_driving_mode (const Chassis::DrivingMode &driving_mode) |
Protected Attributes | |
canbus::VehicleParameter | params_ |
common::VehicleParam | vehicle_params_ |
CanSender< ChassisDetail > * | can_sender_ = nullptr |
MessageManager< ChassisDetail > * | message_manager_ = nullptr |
bool | is_initialized_ = false |
Chassis::DrivingMode | driving_mode_ = Chassis::COMPLETE_MANUAL |
bool | is_reset_ = false |
std::mutex | mode_mutex_ |
This is the interface class of vehicle controller. It defines pure virtual functions, and also some implemented common functions.
|
virtualdefault |
|
pure virtual |
calculate and return the chassis.
Implemented in apollo::canbus::lincoln::LincolnController, apollo::canbus::lexus::LexusController, apollo::canbus::gem::GemController, apollo::canbus::ch::ChController, apollo::canbus::transit::TransitController, apollo::canbus::wey::WeyController, apollo::canbus::zhongyun::ZhongyunController, apollo::canbus::devkit::DevkitController, apollo::canbus::neolix_edu::Neolix_eduController, and apollo::canbus::ge3::Ge3Controller.
|
protectedvirtual |
|
pure virtual |
initialize the vehicle controller.
can_sender | a pointer to canbus sender. |
message_manager | a pointer to the message_manager. |
|
protectedvirtual |
|
virtual |
set vehicle to appointed driving mode.
driving | mode to be appointed. |
|
pure virtual |
start the vehicle controller.
Implemented in apollo::canbus::lincoln::LincolnController, apollo::canbus::lexus::LexusController, apollo::canbus::gem::GemController, apollo::canbus::ch::ChController, apollo::canbus::transit::TransitController, apollo::canbus::wey::WeyController, apollo::canbus::zhongyun::ZhongyunController, apollo::canbus::devkit::DevkitController, apollo::canbus::neolix_edu::Neolix_eduController, and apollo::canbus::ge3::Ge3Controller.
|
pure virtual |
stop the vehicle controller.
Implemented in apollo::canbus::lincoln::LincolnController, apollo::canbus::lexus::LexusController, apollo::canbus::gem::GemController, apollo::canbus::ch::ChController, apollo::canbus::transit::TransitController, apollo::canbus::wey::WeyController, apollo::canbus::zhongyun::ZhongyunController, apollo::canbus::devkit::DevkitController, apollo::canbus::neolix_edu::Neolix_eduController, and apollo::canbus::ge3::Ge3Controller.
|
virtual |
update the vehicle controller.
command | the control command |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |