SCL
1.0
Standard Control Library : Control, dynamics, physics, and simulation
|
#include <CTaskComPos.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 () |
CTaskComPos () | |
virtual | ~CTaskComPos () |
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 | |
sBool | has_been_init_ |
CDynamicsBase * | dynamics_ |
Private Attributes | |
STaskComPos * | data_ |
Eigen::VectorXd | tmp1 |
Eigen::VectorXd | tmp2 |
Eigen::Matrix3d | J_premultiplier_ |
Eigen::ColPivHouseholderQR < Eigen::Matrix3d > | qr_ |
sBool | lambda_inv_singular_ |
Eigen::JacobiSVD< Eigen::Matrix3d > | svd_ |
Eigen::Matrix3d | singular_values_ |
Computes the operational space forces for a single 3-d (x,y,z) center of mass goal point Euclidean task
It computes:
scl::CTaskComPos::CTaskComPos | ( | ) |
Default constructor : Sets stuff to zero.
|
inlinevirtual |
Default destructor : Does nothing.
bool scl::CTaskComPos::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.
|
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.
|
private |
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()
|
private |
For normalizing the Jacobian
|
private |
True when the lambda_inv matrix turns singular.
|
private |
For inverting the lambda matrix (when it gets singular)
|
private |
For inverting the operational space inertia matrix near singularities. 3x3 for operational point tasks.
|
private |
Temporary variables