sot-talos-balance  2.0.5
Collection of dynamic-graph entities aimed at implementing balance control on talos.
AdmittanceControllerEndEffector Class Reference

Admittance controller for an upper body end-effector (right or left wrist) More...

#include <sot/talos_balance/admittance-controller-end-effector.hh>

Inheritance diagram for AdmittanceControllerEndEffector:
Collaboration diagram for AdmittanceControllerEndEffector:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW AdmittanceControllerEndEffector (const std::string &name)
 
 DECLARE_SIGNAL_IN (dqSaturation, dynamicgraph::Vector)
 Value of the saturation to apply on the velocity output. More...
 
 DECLARE_SIGNAL_IN (force, dynamicgraph::Vector)
 6d force given by the sensor in its local frame More...
 
 DECLARE_SIGNAL_IN (Kd, dynamicgraph::Vector)
 Derivative gain (6d) for the error on the force. More...
 
 DECLARE_SIGNAL_IN (Kp, dynamicgraph::Vector)
 Gain (6d) for the integration of the error on the force. More...
 
 DECLARE_SIGNAL_IN (q, dynamicgraph::Vector)
 Current joint configuration of the robot. More...
 
 DECLARE_SIGNAL_IN (w_forceDes, dynamicgraph::Vector)
 6d desired force of the end-effector in the world frame More...
 
 DECLARE_SIGNAL_INNER (w_dq, dynamicgraph::Vector)
 Internal intergration computed in the world frame. More...
 
 DECLARE_SIGNAL_INNER (w_force, dynamicgraph::Vector)
 6d force given by the sensor in the world frame More...
 
 DECLARE_SIGNAL_OUT (dq, dynamicgraph::Vector)
 Velocity reference for the end-effector in the local frame. More...
 
virtual void display (std::ostream &os) const
 
void init (const double &dt, const std::string &sensorFrameName, const std::string &endeffectorName)
 Initialize the entity. More...
 
void resetDq ()
 Reset the velocity. More...
 

Protected Attributes

pinocchio::Data * m_data
 Pinocchio robot data. More...
 
double m_dt
 Time step of the control. More...
 
pinocchio::JointIndex m_endEffectorId
 Id of the joint of the end-effector. More...
 
bool m_initSucceeded
 True if the entity has been successfully initialized. More...
 
double m_mass
 
pinocchio::Model m_model
 Pinocchio robot model. More...
 
int m_n
 Dimension of the force signals and of the output. More...
 
RobotUtilShrPtr m_robot_util
 Robot Util instance to get the sensor frame. More...
 
pinocchio::FrameIndex m_sensorFrameId
 Id of the force sensor frame. More...
 
dynamicgraph::Vector m_w_dq
 Internal state. More...
 

Detailed Description

Admittance controller for an upper body end-effector (right or left wrist)

This entity computes a velocity reference for an end-effector based on the force error in the world frame : w_dq = integral(Kp(w_forceDes-w_force)) + Kd (w_dq)

Definition at line 65 of file admittance-controller-end-effector.hh.

Constructor & Destructor Documentation

◆ AdmittanceControllerEndEffector()

AdmittanceControllerEndEffector ( const std::string &  name)

Definition at line 55 of file admittance-controller-end-effector.cpp.

Member Function Documentation

◆ DECLARE_SIGNAL_IN() [1/6]

DECLARE_SIGNAL_IN ( dqSaturation  ,
dynamicgraph::Vector   
)

Value of the saturation to apply on the velocity output.

◆ DECLARE_SIGNAL_IN() [2/6]

DECLARE_SIGNAL_IN ( force  ,
dynamicgraph::Vector   
)

6d force given by the sensor in its local frame

◆ DECLARE_SIGNAL_IN() [3/6]

DECLARE_SIGNAL_IN ( Kd  ,
dynamicgraph::Vector   
)

Derivative gain (6d) for the error on the force.

◆ DECLARE_SIGNAL_IN() [4/6]

DECLARE_SIGNAL_IN ( Kp  ,
dynamicgraph::Vector   
)

Gain (6d) for the integration of the error on the force.

◆ DECLARE_SIGNAL_IN() [5/6]

DECLARE_SIGNAL_IN ( ,
dynamicgraph::Vector   
)

Current joint configuration of the robot.

◆ DECLARE_SIGNAL_IN() [6/6]

DECLARE_SIGNAL_IN ( w_forceDes  ,
dynamicgraph::Vector   
)

6d desired force of the end-effector in the world frame

◆ DECLARE_SIGNAL_INNER() [1/2]

DECLARE_SIGNAL_INNER ( w_dq  ,
dynamicgraph::Vector   
)

Internal intergration computed in the world frame.

◆ DECLARE_SIGNAL_INNER() [2/2]

DECLARE_SIGNAL_INNER ( w_force  ,
dynamicgraph::Vector   
)

6d force given by the sensor in the world frame

◆ DECLARE_SIGNAL_OUT()

DECLARE_SIGNAL_OUT ( dq  ,
dynamicgraph::Vector   
)

Velocity reference for the end-effector in the local frame.

◆ display()

void display ( std::ostream &  os) const
virtual

Definition at line 237 of file admittance-controller-end-effector.cpp.

◆ init()

void init ( const double &  dt,
const std::string &  sensorFrameName,
const std::string &  endeffectorName 
)

Initialize the entity.

Parameters
[in]dtTime step of the control
[in]sensorFrameNameName of the force sensor of the end-effector used in the pinocchio model
[in]endeffectorNameName of the endEffectorJoint

Definition at line 87 of file admittance-controller-end-effector.cpp.

◆ resetDq()

void resetDq ( )

Reset the velocity.

Definition at line 137 of file admittance-controller-end-effector.cpp.

Member Data Documentation

◆ m_data

pinocchio::Data* m_data
protected

Pinocchio robot data.

Definition at line 134 of file admittance-controller-end-effector.hh.

◆ m_dt

double m_dt
protected

Time step of the control.

Definition at line 125 of file admittance-controller-end-effector.hh.

◆ m_endEffectorId

pinocchio::JointIndex m_endEffectorId
protected

Id of the joint of the end-effector.

Definition at line 138 of file admittance-controller-end-effector.hh.

◆ m_initSucceeded

bool m_initSucceeded
protected

True if the entity has been successfully initialized.

Definition at line 121 of file admittance-controller-end-effector.hh.

◆ m_mass

double m_mass
protected

Definition at line 127 of file admittance-controller-end-effector.hh.

◆ m_model

pinocchio::Model m_model
protected

Pinocchio robot model.

Definition at line 132 of file admittance-controller-end-effector.hh.

◆ m_n

int m_n
protected

Dimension of the force signals and of the output.

Definition at line 119 of file admittance-controller-end-effector.hh.

◆ m_robot_util

RobotUtilShrPtr m_robot_util
protected

Robot Util instance to get the sensor frame.

Definition at line 130 of file admittance-controller-end-effector.hh.

◆ m_sensorFrameId

pinocchio::FrameIndex m_sensorFrameId
protected

Id of the force sensor frame.

Definition at line 136 of file admittance-controller-end-effector.hh.

◆ m_w_dq

dynamicgraph::Vector m_w_dq
protected

Internal state.

Definition at line 123 of file admittance-controller-end-effector.hh.


The documentation for this class was generated from the following files: