|
SCL
1.0
Standard Control Library : Control, dynamics, physics, and simulation
|
#include <CTaskOpPosPIDA1OrderInfTime.hpp>


Public Member Functions | |
| virtual bool | computeServo (const SRobotSensors *arg_sensors) |
| virtual bool | computeModel (const SRobotSensors *arg_sensors) |
| virtual STaskBase * | getTaskData () |
| virtual bool | setGoalPos (const Eigen::VectorXd &arg_goal) |
| virtual bool | setGoalVel (const Eigen::VectorXd &arg_goal) |
| virtual bool | setGoalAcc (const Eigen::VectorXd &arg_goal) |
| virtual bool | getGoalPos (Eigen::VectorXd &arg_goal) const |
| virtual bool | getGoalVel (Eigen::VectorXd &arg_goal) const |
| virtual bool | getGoalAcc (Eigen::VectorXd &arg_goal) const |
| virtual bool | getPos (Eigen::VectorXd &arg_pos) const |
| virtual bool | getVel (Eigen::VectorXd &arg_vel) const |
| virtual bool | getAcc (Eigen::VectorXd &arg_acc) const |
| sBool | achievedGoalPos () |
| void | setFlagComputeOpPosGravity (sBool arg_compute_grav) |
| sBool | integralGainActive () |
| CTaskOpPosPIDA1OrderInfTime () | |
| virtual | ~CTaskOpPosPIDA1OrderInfTime () |
| virtual bool | init (STaskBase *arg_task_data, CDynamicsBase *arg_dynamics) |
| virtual void | reset () |
| virtual sBool | hasBeenInit () |
| virtual sBool | setActivated (sBool arg_activate) |
| virtual sBool | hasBeenActivated () |
Protected Attributes | |
| STaskOpPosPIDA1OrderInfTime * | data_ |
| Eigen::VectorXd | tmp1 |
| Eigen::VectorXd | tmp2 |
| Eigen::ColPivHouseholderQR < Eigen::Matrix3d > | qr_ |
| sBool | lambda_inv_singular_ |
| Eigen::JacobiSVD< Eigen::Matrix3d > | svd_ |
| Eigen::Matrix3d | singular_values_ |
| sBool | flag_compute_gravity_ |
| sBool | flag_integral_gain_active_ |
| sBool | has_been_init_ |
| CDynamicsBase * | dynamics_ |
Computes the operational space forces for a single 3-d (x,y,z) goal point Euclidean task
It computes:
NOTE : This differs from the plain operational space controller in that it also incorporates integral gain. For many applications, integral gain is actually not desirable since it introduces a non-deterministic time-varying control signal to the equations. To make this work well, one might have to tune gains manually depending on the motor task involved.
Use with caution.
| scl::CTaskOpPosPIDA1OrderInfTime::CTaskOpPosPIDA1OrderInfTime | ( | ) |
Default constructor : Does nothing
|
inlinevirtual |
Default destructor : Does nothing.
| bool scl::CTaskOpPosPIDA1OrderInfTime::achievedGoalPos | ( | ) |
Whether the task has achieved its goal position.
|
virtual |
Computes the dynamics (task model) Assumes that the data_->model_.gc_model_ has been updated.
Implements scl::CTaskBase.
|
virtual |
Computes the task torques
Implements scl::CTaskBase.
|
inlinevirtual |
Gets the current acceleration. Returns false if not supported by task.
Reimplemented from scl::CTaskBase.
|
inlinevirtual |
Gets the current goal acceleration. Returns false if not supported by task.
Reimplemented from scl::CTaskBase.
|
inlinevirtual |
Gets the current goal position. Returns false if not supported by task.
Reimplemented from scl::CTaskBase.
|
inlinevirtual |
Gets the current goal velocity. Returns false if not supported by task.
Reimplemented from scl::CTaskBase.
|
inlinevirtual |
Gets the current position. Returns false if not supported by task.
Reimplemented from scl::CTaskBase.
|
virtual |
Return this task controller's task data structure.
Implements scl::CTaskBase.
|
inlinevirtual |
Gets the current velocity. Returns false if not supported by task.
Reimplemented from scl::CTaskBase.
|
inlinevirtualinherited |
Activated = All dynamic parameters and data structures are up to date and task is actively contributing to a controller.
|
inlinevirtualinherited |
Initialized = All static parameters are set and data structures are up to date. Ready to contribute to a controller.
|
virtual |
Initializes the task object. Required to set output gc force dofs
Implements scl::CTaskBase.
|
inline |
Whether the integral gain has activated.
|
virtual |
Resets the task by removing its data. NOTE : Does not deallocate its data structure
Implements scl::CTaskBase.
Activated = All dynamic parameters and data structures are up to date and task is actively contributing to a controller.
Set to true/false during runtime to activate/deactivate task.
Returns : success/failure
|
virtual |
Sets the current goal acceleration
Reimplemented from scl::CTaskBase.
|
virtual |
Sets the current goal position
Reimplemented from scl::CTaskBase.
|
virtual |
Sets the current goal velocity
Reimplemented from scl::CTaskBase.
|
protected |
The actual data structure for this computational object
|
protectedinherited |
A Dynamics model required to compute the task's dynamics
|
protectedinherited |
Initialized = All static parameters are set and data structures are up to date.
Set to true in init()
|
protected |
True when the lambda_inv matrix turns singular.
|
protected |
For inverting the lambda matrix (when it gets singular)
|
protected |
For inverting the operational space inertia matrix near singularities. 3x3 for operational point tasks.
|
protected |
Temporary variables
1.8.6