chrono::vehicle::ChSpeedControllerPID Class Reference

Description

Speed controller using a PID controller.

#include <ChSpeedController.h>

Inheritance diagram for chrono::vehicle::ChSpeedControllerPID:
Collaboration diagram for chrono::vehicle::ChSpeedControllerPID:

Public Member Functions

 ChSpeedControllerPID ()
 Construct a speed controller with default parameters. More...
 
 ChSpeedControllerPID (const std::string &filename)
 Construct a steering controller with parameters read from a JSON file.
 
 ~ChSpeedControllerPID ()
 Destructor.
 
void SetGains (double Kp, double Ki, double Kd)
 Set the gains for the PID controller.
 
- Public Member Functions inherited from chrono::vehicle::ChSpeedController
virtual ~ChSpeedController ()
 Destructor.
 
double GetCurrentSpeed () const
 Return the current speed.
 
void Reset (const ChFrameMoving<> &ref_frame)
 Reset the speed controller.
 
double Advance (const ChFrameMoving<> &ref_frame, double target_speed, double time, double step)
 Advance the state of the speed controller.
 
void StartDataCollection ()
 Start/restart data collection.
 
void StopDataCollection ()
 Suspend/stop data collection.
 
bool IsDataCollectionEnabled () const
 Return true if data is being collected.
 
bool IsDataAvailable () const
 Return true if data is available for output.
 
void WriteOutputFile (const std::string &filename)
 Output data collected so far to the specified file.
 

Additional Inherited Members

- Protected Attributes inherited from chrono::vehicle::ChSpeedController
double m_speed
 current vehicle speed
 
double m_err
 current error (signed distance to target point)
 
double m_errd
 error derivative
 
double m_erri
 integral of error
 
ChWriterCSVm_csv
 ChWriterCSV object for data collection.
 
bool m_collect
 flag indicating whether or not data is being collected
 

Constructor & Destructor Documentation

◆ ChSpeedControllerPID()

chrono::vehicle::ChSpeedControllerPID::ChSpeedControllerPID ( )

Construct a speed controller with default parameters.

Default values are all gains set to zero (no controller). The user is responsible for calling SetGains.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_vehicle/utils/ChSpeedController.h
  • /builds/uwsbel/chrono/src/chrono_vehicle/utils/ChSpeedController.cpp