chrono::vehicle::ChPathFollowerDriverSR Class Reference
Description
Path-following driver system using a P-like lateral steering controller with variable path prediction.
#include <ChPathFollowerDriver.h>
Inheritance diagram for chrono::vehicle::ChPathFollowerDriverSR:

Collaboration diagram for chrono::vehicle::ChPathFollowerDriverSR:

Public Member Functions | |
| ChPathFollowerDriverSR (ChVehicle &vehicle, std::shared_ptr< ChBezierCurve > path, const std::string &path_name, double target_speed, double maxWheelTurnAngle=0.0, double axle_space=2.5, double zero_duration=0, double ramp_duration=0) | |
| Construct using the specified Bezier curve. More... | |
| ChPathFollowerDriverSR (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, double maxWheelTurnAngle=0.0, double axle_space=2.5, double zero_duration=0, double ramp_duration=0) | |
| Construct using JSON specification files. More... | |
| ChPathSteeringControllerSR & | GetSteeringController () const |
| Get the underlying steering controller object. | |
Public Member Functions inherited from chrono::vehicle::ChClosedLoopDriver | |
| void | SetDesiredSpeed (double val) |
| Set the desired vehicle speed. | |
| void | SetThresholdThrottle (double val) |
| Specify the throttle value below which braking is enabled. More... | |
| ChSpeedController & | GetSpeedController () const |
| Get the underlying speed controller object. | |
| void | Reset () |
| Reset the underlying controllers. | |
| virtual void | Initialize () override |
| Initialize this driver system. | |
| virtual void | Advance (double step) override |
| Advance the state of this driver system by the specified duration. | |
| void | SetColor (const ChColor &color) |
| Set color of path visualization. | |
| 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) | |
| Construct a driver subsystem associated with the given 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]). | |
| double | GetClutch () const |
| Get the driver clutch input (in the range [0,1]). | |
| DriverInputs | GetInputs () const |
| Get all current inputs at once. | |
| 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 steering) |
| Overwrite the value for the driver steering input (input is clamped in [-1,+1]). | |
| void | SetThrottle (double throttle) |
| Overwrite the value for the driver throttle input (input is clamped in [0,+1]). | |
| void | SetBraking (double braking) |
| Overwrite the value for the driver braking input (input is clamped in [0,+1]). | |
| void | SetClutch (double clutch) |
| Overwrite the value for the clutch braking input (input is clamped in [0,+1]). | |
Additional Inherited Members | |
Protected Member Functions inherited from chrono::vehicle::ChClosedLoopDriver | |
| ChClosedLoopDriver (ChVehicle &vehicle, const std::string &path_name, double target_speed, double zero_duration, double ramp_duration) | |
| Construct using the specified Bezier curve. More... | |
| ChClosedLoopDriver (ChVehicle &vehicle, const std::string &speed_filename, const std::string &path_name, double target_speed, double zero_duration, double ramp_duration) | |
| Construct using JSON specification files. More... | |
Protected Attributes inherited from chrono::vehicle::ChClosedLoopDriver | |
| std::unique_ptr< ChSteeringController > | m_steeringPID |
| steering controller | |
| std::unique_ptr< ChSpeedController > | m_speedPID |
| speed controller | |
| double | m_target_speed |
| desired vehicle speed | |
| std::string | m_pathName |
| for path visualization | |
| ChColor | m_color |
| for path visualization | |
| double | m_throttle_threshold |
| throttle value below which brakes are applied | |
| double | m_zero_duration |
| initial duration with zero driver outputs | |
| double | m_ramp_duration |
| time to ramp up throttle from 0 | |
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 | |
| double | m_clutch |
| current value of clutch input | |
Constructor & Destructor Documentation
◆ ChPathFollowerDriverSR() [1/2]
| chrono::vehicle::ChPathFollowerDriverSR::ChPathFollowerDriverSR | ( | ChVehicle & | vehicle, |
| std::shared_ptr< ChBezierCurve > | path, | ||
| const std::string & | path_name, | ||
| double | target_speed, | ||
| double | maxWheelTurnAngle = 0.0, |
||
| double | axle_space = 2.5, |
||
| double | zero_duration = 0, |
||
| double | ramp_duration = 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 maxWheelTurnAngle needed for wheeled vehicles, use default for tracked vehicles axle_space needed for course prediction zero_duration initial duration with zero driver outputs ramp_duration time to ramp up throttle from 0
◆ ChPathFollowerDriverSR() [2/2]
| chrono::vehicle::ChPathFollowerDriverSR::ChPathFollowerDriverSR | ( | 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, | ||
| double | maxWheelTurnAngle = 0.0, |
||
| double | axle_space = 2.5, |
||
| double | zero_duration = 0, |
||
| double | ramp_duration = 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 maxWheelTurnAngle needed for wheeled vehicles, use default for tracked vehicles axle_space needed for course prediction zero_duration initial duration with zero driver outputs ramp_duration time to ramp up throttle from 0
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
Public Member Functions inherited from