chrono::vehicle::ChPathFollowerDriverStanley Class Reference
Description
#include <ChPathFollowerDriver.h>
Inheritance diagram for chrono::vehicle::ChPathFollowerDriverStanley:
Collaboration diagram for chrono::vehicle::ChPathFollowerDriverStanley:
Public Member Functions | |
ChPathFollowerDriverStanley (ChVehicle &vehicle, std::shared_ptr< ChBezierCurve > path, const std::string &path_name, double target_speed, bool isClosedPath=false, double maxWheelTurnAngle=0.0) | |
Construct using the specified Bezier curve. More... | |
ChPathFollowerDriverStanley (ChVehicle &vehicle, const std::string &steering_filename, const std::string &speed_filename, std::shared_ptr< ChBezierCurve > path, const std::string &path_name, double target_speed, bool isClosedPath=false, double maxWheelTurnAngle=0.0) | |
Construct using JSON specification files. More... | |
void | SetDesiredSpeed (double val) |
Set the desired vehicle speed. | |
void | SetThresholdThrottle (double val) |
Specify the throttle value below which braking is enabled. More... | |
ChPathSteeringControllerStanley & | GetSteeringController () |
Get the underlying steering controller object. | |
ChSpeedController & | GetSpeedController () |
Get the underlying speed controller object. | |
void | Reset () |
Reset the underlying controllers. | |
virtual void | Advance (double step) override |
Advance the state of this driver system by the specified duration. | |
void | ExportPathPovray (const std::string &out_dir) |
Export the Bezier curve for POV-Ray postprocessing. | |
Public Member Functions inherited from chrono::vehicle::ChDriver | |
ChDriver (ChVehicle &vehicle) | |
double | GetThrottle () const |
Get the driver throttle input (in the range [0,1]) | |
double | GetSteering () const |
Get the driver steering input (in the range [-1,+1]) | |
double | GetBraking () const |
Get the driver braking input (in the range [0,1]) | |
Inputs | GetInputs () const |
Get all current inputs at once. | |
virtual void | Initialize () |
Initialize this driver system. | |
virtual void | Synchronize (double time) |
Update the state of this driver system at the current time. | |
bool | LogInit (const std::string &filename) |
Initialize output file for recording driver inputs. | |
bool | Log (double time) |
Record the current driver inputs to the log file. | |
void | SetSteering (double val, double min_val=-1, double max_val=1) |
Overwrite the value for the driver steering input. | |
void | SetThrottle (double val, double min_val=0, double max_val=1) |
Overwrite the value for the driver throttle input. | |
void | SetBraking (double val, double min_val=0, double max_val=1) |
Overwrite the value for the driver braking input. | |
Additional Inherited Members | |
Protected Attributes inherited from chrono::vehicle::ChDriver | |
ChVehicle & | m_vehicle |
reference to associated vehicle | |
double | m_throttle |
current value of throttle input | |
double | m_steering |
current value of steering input | |
double | m_braking |
current value of braking input | |
Constructor & Destructor Documentation
◆ ChPathFollowerDriverStanley() [1/2]
chrono::vehicle::ChPathFollowerDriverStanley::ChPathFollowerDriverStanley | ( | ChVehicle & | vehicle, |
std::shared_ptr< ChBezierCurve > | path, | ||
const std::string & | path_name, | ||
double | target_speed, | ||
bool | isClosedPath = false , |
||
double | maxWheelTurnAngle = 0.0 |
||
) |
Construct using the specified Bezier curve.
- Parameters
-
vehicle associated vehicle path Bezier curve with target path path_name name of the path curve target_speed constant target speed isClosedPath Treat the path as a closed loop maxWheelTurnAngle needed for wheeled vehicles, use default for tracked vehicles
◆ ChPathFollowerDriverStanley() [2/2]
chrono::vehicle::ChPathFollowerDriverStanley::ChPathFollowerDriverStanley | ( | ChVehicle & | vehicle, |
const std::string & | steering_filename, | ||
const std::string & | speed_filename, | ||
std::shared_ptr< ChBezierCurve > | path, | ||
const std::string & | path_name, | ||
double | target_speed, | ||
bool | isClosedPath = false , |
||
double | maxWheelTurnAngle = 0.0 |
||
) |
Construct using JSON specification files.
The two files must contain specification for the path-follower steering controller and the constant-speed controller, respectively.
- Parameters
-
vehicle associated vehicle steering_filename JSON file with steering controller specification speed_filename JSON file with speed controller specification path Bezier curve with target path path_name name of the path curve target_speed constant target speed isClosedPath Treat the path as a closed loop maxWheelTurnAngle needed for wheeled vehicles, use default for tracked vehicles
Member Function Documentation
◆ SetThresholdThrottle()
|
inline |
Specify the throttle value below which braking is enabled.
If the vehicle is moving faster than the set speed, the controller attempts to reduce speed either by reducing the throttle input (if the current throttle input is above the threshold value) or by applying brakes (otherwise).
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_vehicle/driver/ChPathFollowerDriver.h
- /builds/uwsbel/chrono/src/chrono_vehicle/driver/ChPathFollowerDriver.cpp