- 3.0.2 rigid body dynamics module.
|
A joint position controller using a PID controller for all joints. More...
#include <JointPositionPIDController.h>
Public Types | |
typedef std::shared_ptr< JointPositionPIDController< NJOINTS > > | Ptr |
typedef ct::core::PIDController< double > | PIDController |
Public Member Functions | |
virtual JointPositionPIDController< NJOINTS > * | clone () const override |
JointPositionPIDController (const Eigen::Matrix< double, NJOINTS, 1 > &desiredPosition=Eigen::Matrix< double, NJOINTS, 1 >::Zero(), const Eigen::Matrix< double, NJOINTS, 1 > &desiredVelocity=Eigen::Matrix< double, NJOINTS, 1 >::Zero(), const std::vector< PIDController::parameters_t > ¶meters=std::vector< PIDController::parameters_t >(NJOINTS, PIDController::parameters_t())) | |
JointPositionPIDController (const Eigen::Matrix< double, NJOINTS, 1 > &desiredPosition, const Eigen::Matrix< double, NJOINTS, 1 > &desiredVelocity, const PIDController::parameters_t ¶meters) | |
virtual | ~JointPositionPIDController () |
void | computeControl (const core::StateVector< STATE_DIM > &state, const core::Time &t, core::ControlVector< NJOINTS > &control) override |
void | setDesiredPosition (const Eigen::Matrix< double, NJOINTS, 1 > &desiredPosition) |
void | setDesiredPosition (double desiredPosition, int jointId) |
void | setAllPIDGains (double kp, double ki, double kd) |
void | reset () |
Public Member Functions inherited from ct::core::Controller< 2 *NJOINTS, NJOINTS > | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | Controller () |
Controller (const Controller &other) | |
virtual | ~Controller () |
virtual void | computeControl (const StateVector< 2 *NJOINTS, SCALAR > &state, const SCALAR &t, ControlVector< NJOINTS, SCALAR > &controlAction)=0 |
virtual ControlMatrix< NJOINTS, SCALAR > | getDerivativeU0 (const StateVector< 2 *NJOINTS, SCALAR > &state, const SCALAR time) |
virtual ControlMatrix< NJOINTS, SCALAR > | getDerivativeUf (const StateVector< 2 *NJOINTS, SCALAR > &state, const SCALAR time) |
Static Public Attributes | |
static const size_t | STATE_DIM = 2 * NJOINTS |
static const size_t | CONTROL_DIM = NJOINTS |
Protected Attributes | |
std::vector< PIDController > | jointControllers_ |
A joint position controller using a PID controller for all joints.
NJOINTS | number of joints of the robot |
typedef std::shared_ptr<JointPositionPIDController<NJOINTS> > ct::rbd::JointPositionPIDController< NJOINTS >::Ptr |
typedef ct::core::PIDController<double> ct::rbd::JointPositionPIDController< NJOINTS >::PIDController |
ct::rbd::JointPositionPIDController< NJOINTS >::JointPositionPIDController | ( | const Eigen::Matrix< double, NJOINTS, 1 > & | desiredPosition = Eigen::Matrix<double, NJOINTS, 1>::Zero() , |
const Eigen::Matrix< double, NJOINTS, 1 > & | desiredVelocity = Eigen::Matrix<double, NJOINTS, 1>::Zero() , |
||
const std::vector< PIDController::parameters_t > & | parameters = std::vector<PIDController::parameters_t>(NJOINTS, PIDController::parameters_t()) |
||
) |
References i.
ct::rbd::JointPositionPIDController< NJOINTS >::JointPositionPIDController | ( | const Eigen::Matrix< double, NJOINTS, 1 > & | desiredPosition, |
const Eigen::Matrix< double, NJOINTS, 1 > & | desiredVelocity, | ||
const PIDController::parameters_t & | parameters | ||
) |
References i.
|
virtual |
|
overridevirtual |
Implements ct::core::Controller< 2 *NJOINTS, NJOINTS >.
|
override |
void ct::rbd::JointPositionPIDController< NJOINTS >::setDesiredPosition | ( | const Eigen::Matrix< double, NJOINTS, 1 > & | desiredPosition | ) |
References i.
void ct::rbd::JointPositionPIDController< NJOINTS >::setDesiredPosition | ( | double | desiredPosition, |
int | jointId | ||
) |
void ct::rbd::JointPositionPIDController< NJOINTS >::setAllPIDGains | ( | double | kp, |
double | ki, | ||
double | kd | ||
) |
References i.
void ct::rbd::JointPositionPIDController< NJOINTS >::reset | ( | ) |
References i.
|
static |
|
static |
|
protected |