![]() |
ORCA: Optimization-based framework for Robotic Control Applications
|
#include <CartesianAccelerationPID.h>
Public Member Functions | |
CartesianAccelerationPID (const std::string &name) | |
The cartesian acceleration PID helps any cartesian task servo around a desired cartesian pose, velocity and acceleration.
. More... | |
void | setDesired (const Eigen::Matrix4d &cartesian_position_traj, const Vector6d &cartesian_velocity_traj, const Vector6d &cartesian_acceleration_traj) |
Set the control frame desired cartesian pose w.r.t the base frame. This is usually something to get from a trajectory generator. More... | |
const Vector6d & | getCommand () const |
Returns the computed command. More... | |
const Eigen::Matrix4d & | getCurrentCartesianPose () const |
Returns the current pose of the control frame (w.r.t the base frame) More... | |
const Eigen::Vector3d & | getCurrentCartesianPosition () const |
Returns the current position of the control frame (w.r.t the base frame) More... | |
const Eigen::Matrix3d & | getCurrentCartesianRotation () const |
Returns the current rotation of the control frame (w.r.t the base frame) More... | |
const Vector6d & | getCurrentCartesianVelocity () const |
Returns the current cartesian velocity in mixed representation. More... | |
const Eigen::Matrix4d & | getDesiredCartesianPose () const |
Returns desired pose (set with setDesired) More... | |
const Vector6d & | getDesiredCartesianVelocity () const |
Returns the desired cartesian acceleration (mixed representation) More... | |
const Vector6d & | getDesiredCartesianAcceleration () const |
Return the desired cartesian acceleration. More... | |
const Vector6d & | getCartesianPoseError () const |
Returns the computed pose error as a 6D Vector [dx,dy,dz,drx,dry,drz]. More... | |
const Vector6d & | getCartesianVelocityError () const |
Returns the computed cartesian velocity. More... | |
void | print () const |
Outputs info on std::cout. More... | |
PIDController::Ptr | pid () |
The dimension 6 pid controller. More... | |
![]() | |
CartesianServoController (const std::string &name) | |
void | setBaseFrame (const std::string &base_ref_frame) |
void | setControlFrame (const std::string &control_frame) |
const std::string & | getBaseFrame () const |
const std::string & | getControlFrame () const |
![]() | |
TaskBase (const std::string &name, optim::ControlVariable control_var) | |
virtual | ~TaskBase () |
bool | isActivated () const |
bool | isComputing () const |
bool | setRobotModel (robot::RobotModel::Ptr robot) |
optim::ControlVariable | getControlVariable () const |
virtual bool | activate () |
virtual void | update (double current_time, double dt) |
virtual bool | deactivate () |
virtual bool | setProblem (std::shared_ptr< const orca::optim::Problem > problem) |
bool | hasProblem () const |
bool | hasRobot () const |
bool | dependsOnProblem () const |
bool | dependsOnWrench () const |
bool | dependsOnRobotJoints () const |
bool | dependsOnFloatingBase () const |
bool | hasWrench () const |
bool | isRobotInitialized () const |
State | getState () const |
void | setRampDuration (double ramp_time) |
double | getRampDuration () const |
double | getCurrentRampValue () const |
double | getStartTime () const |
double | getStopTime () const |
std::shared_ptr< const optim::Problem > | getProblem () const |
std::shared_ptr< const common::Wrench > | getWrench () const |
std::shared_ptr< const robot::RobotModel > | getRobot () const |
void | addChild (TaskBase::Ptr e) |
Add a child/slave task that will be updated BEFORE the parent task. More... | |
bool | hasParent () const |
Returns true if the task owned by a parent task. More... | |
bool | hasChildren () const |
Returns true if the task has children. More... | |
const std::string & | getParentName () const |
Returns the parent name if it exists, empty otherwise. More... | |
const std::string & | getPrintableName () const |
Returns the name that include parent name if present. More... | |
void | onResizedCallback (std::function< void(void)> cb) |
void | onActivationCallback (std::function< void(void)> cb) |
void | onActivatedCallback (std::function< void(void)> cb) |
void | onComputeBeginCallback (std::function< void(double, double)> cb) |
void | onComputeEndCallback (std::function< void(double, double)> cb) |
void | onDeactivationCallback (std::function< void(void)> cb) |
void | onDeactivatedCallback (std::function< void(void)> cb) |
![]() | |
ConfigurableOrcaObject (const std::string &config_name) | |
virtual | ~ConfigurableOrcaObject () |
template<class T > | |
void | addParameter (const std::string ¶m_name, Parameter< T > *param, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0) |
Returns true if all params added with have been set. More... | |
template<class T > | |
void | addParameter (const std::string ¶m_name, T ¶m, ParamPolicy policy=ParamPolicy::Required, std::function< void()> on_loading_success=0) |
ParameterBase * | getParameter (const std::string ¶m_name) |
Returns a param via its name. More... | |
void | printParameters () const |
Print all parameters to std::cout. More... | |
bool | configureFromFile (const std::string &yaml_url) |
Configure the task from YAML/JSON file. It must contain all the required parameters. More... | |
bool | configureFromString (const std::string &yaml_str) |
Configure the task from YAML/JSON string. It must contain all the required parameters. More... | |
bool | isConfigured () const |
const ParamMap & | getParameters () const |
void | onConfigureSuccess (std::function< void()> f) |
![]() | |
OrcaObject (const std::string &name) | |
virtual | ~OrcaObject () |
const std::string & | getName () const |
void | setName (const std::string &name) |
Protected Member Functions | |
void | onResize () |
void | onActivation () |
void | onCompute (double current_time, double dt) |
![]() | |
virtual void | resize () |
robot::RobotModel::Ptr | robot () |
std::shared_ptr< Wrench > | wrench () |
virtual void | onResized () |
virtual void | onActivated () |
virtual bool | rampUp (double time_since_start) |
void | setRampValue (double new_val) |
virtual bool | rampDown (double time_since_stop) |
virtual void | onDeactivation () |
virtual void | onDeactivated () |
Additional Inherited Members | |
![]() | |
using | Ptr = std::shared_ptr< CartesianServoController > |
![]() | |
enum | State { Init = 0, Resized, Activating, Activated, Deactivating, Deactivated, Error } |
Represents the internal state of the task. More... | |
using | Ptr = std::shared_ptr< TaskBase > |
![]() | |
using | Ptr = std::shared_ptr< ConfigurableOrcaObject > |
using | ParamMap = std::map< std::string, ParameterBase *> |
![]() | |
orca::common::MutexRecursive | mutex |
The recursive mutex that is locked during the update function. It is up to the external user to lock this mutex to protect the task attributes. More... | |
CartesianAccelerationPID::CartesianAccelerationPID | ( | const std::string & | name | ) |
The cartesian acceleration PID helps any cartesian task servo around a desired cartesian pose, velocity and acceleration.
.
name | The name of the component |
const Vector6d & CartesianAccelerationPID::getCartesianPoseError | ( | ) | const |
Returns the computed pose error as a 6D Vector [dx,dy,dz,drx,dry,drz].
const Vector6d & CartesianAccelerationPID::getCartesianVelocityError | ( | ) | const |
Returns the computed cartesian velocity.
|
virtual |
Returns the computed command.
Implements orca::common::CartesianServoController.
const Eigen::Matrix4d & CartesianAccelerationPID::getCurrentCartesianPose | ( | ) | const |
Returns the current pose of the control frame (w.r.t the base frame)
const Eigen::Vector3d & CartesianAccelerationPID::getCurrentCartesianPosition | ( | ) | const |
Returns the current position of the control frame (w.r.t the base frame)
const Eigen::Matrix3d & CartesianAccelerationPID::getCurrentCartesianRotation | ( | ) | const |
Returns the current rotation of the control frame (w.r.t the base frame)
const Vector6d & CartesianAccelerationPID::getCurrentCartesianVelocity | ( | ) | const |
Returns the current cartesian velocity in mixed representation.
const Vector6d & CartesianAccelerationPID::getDesiredCartesianAcceleration | ( | ) | const |
Return the desired cartesian acceleration.
const Eigen::Matrix4d & CartesianAccelerationPID::getDesiredCartesianPose | ( | ) | const |
Returns desired pose (set with setDesired)
const Vector6d & CartesianAccelerationPID::getDesiredCartesianVelocity | ( | ) | const |
Returns the desired cartesian acceleration (mixed representation)
|
protectedvirtual |
Reimplemented from orca::common::TaskBase.
|
protectedvirtual |
Implements orca::common::TaskBase.
|
protectedvirtual |
Implements orca::common::TaskBase.
PIDController::Ptr CartesianAccelerationPID::pid | ( | ) |
The dimension 6 pid controller.
|
virtual |
Outputs info on std::cout.
Reimplemented from orca::common::TaskBase.
void CartesianAccelerationPID::setDesired | ( | const Eigen::Matrix4d & | cartesian_position_traj, |
const Vector6d & | cartesian_velocity_traj, | ||
const Vector6d & | cartesian_acceleration_traj | ||
) |
Set the control frame desired cartesian pose w.r.t the base frame. This is usually something to get from a trajectory generator.
cartesian_position_traj | The desired pose w.r.t the base frame |
cartesian_velocity_traj | The desired cartesian velocity in mixed representation |
cartesian_acceleration_traj | The desired cartesian acceleration in mixed representation |