|
|
#include <armarx/control/common/control_law/TaskspaceController.h>
Public Types | |
| using | Config = ConfigType |
| using | ConfigDict = ConfigDictType |
| using | FTConfig = common::ft::arondto::FTConfig |
Public Member Functions | |
| void | applyAdmittanceInterface (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | applyInverseDynamics (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | applyInverseKinematics (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | computeInertiaInverse (TSCtrlRtStatus &rtStatus) |
| void | firstRun () |
| void | initialize (const VirtualRobot::RobotNodeSetPtr &rns, const VirtualRobot::RobotNodeSetPtr &rtRns) |
| bool | isControlModeValid (const std::vector< std::string > &nameList, const std::map< std::string, std::string > &jointControlModeMap) |
| bool | isForceTorqueSafe () |
| virtual void | run (ConfigType &c, TSCtrlRtStatus &robotStatus)=0 |
| void | setForceTorqueGuard (bool forceGuard, bool torqueGuard) |
| void | updateJacobian (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | updateNullspaceForceCommand (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | updateNullspaceTwistCommand (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| Admittance. | |
| void | updateTSAdmittanceCommand (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| Impedance. | |
| void | updateTSError (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | updateTSForceCommand (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| Velocity. | |
| void | updateTSTwistCommand (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | updateTwist (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| void | validate (ConfigType &c, TSCtrlRtStatus &rtStatus) |
| virtual | ~TaskspaceController ()=default |
Public Attributes | |
| common::ft::FTSensor | ftsensor |
| VirtualRobot::RobotNodePtr | rtTCP |
| VirtualRobot::RobotNodePtr | tcp |
Definition at line 47 of file TaskspaceController.h.
| using Config = ConfigType |
Definition at line 51 of file TaskspaceController.h.
| using ConfigDict = ConfigDictType |
Definition at line 52 of file TaskspaceController.h.
| using FTConfig = common::ft::arondto::FTConfig |
Definition at line 50 of file TaskspaceController.h.
|
virtualdefault |
| void applyAdmittanceInterface | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
Definition at line 367 of file TaskspaceController.cpp.
| void applyInverseDynamics | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
Map TS target force to JS
write torque target
Definition at line 238 of file TaskspaceController.cpp.
| void applyInverseKinematics | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
Map TS target velocity to JS
Definition at line 257 of file TaskspaceController.cpp.
| void computeInertiaInverse | ( | TSCtrlRtStatus & | rtStatus | ) |
Determine the size of the submatrix (M x M)
Extract elements: Loop over rows and columns
Invert and cast to float
Definition at line 333 of file TaskspaceController.cpp.
| void firstRun | ( | ) |
Definition at line 26 of file TaskspaceController.cpp.
| void initialize | ( | const VirtualRobot::RobotNodeSetPtr & | rns, |
| const VirtualRobot::RobotNodeSetPtr & | rtRns ) |
Definition at line 95 of file TaskspaceController.h.
| bool isControlModeValid | ( | const std::vector< std::string > & | nameList, |
| const std::map< std::string, std::string > & | jointControlModeMap ) |
Definition at line 33 of file TaskspaceController.cpp.
| bool isForceTorqueSafe | ( | ) |
Definition at line 394 of file TaskspaceController.cpp.
|
pure virtual |
Implemented in TSAdmController, TSImpController, TSMixImpVelController, and TSVelController.
| void setForceTorqueGuard | ( | bool | forceGuard, |
| bool | torqueGuard ) |
Definition at line 277 of file TaskspaceController.cpp.
| void updateJacobian | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
---------------------------— compute jacobi ---------------------------------------—
Definition at line 111 of file TaskspaceController.cpp.
| void updateNullspaceForceCommand | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
Nullspace PD Control
Definition at line 202 of file TaskspaceController.cpp.
| void updateNullspaceTwistCommand | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
| void updateTSAdmittanceCommand | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
Impedance.
-------------------------— admittance control ------------------------------------------— calculate pose error between the virtual pose and the target pose
admittance control law and Euler Integration -> virtual pose
----------------------------------— Impedance control -----------------------------— calculate pose error between target pose and current pose !!! This is very important: you have to keep position and orientation both with UI unit (meter, radian) to calculate impedance force.
Definition at line 285 of file TaskspaceController.cpp.
| void updateTSError | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
----------------------------------— TS Error -----------------------------— calculate pose error between target pose and current pose !!! This is very important: you have to keep position and orientation both with UI unit (meter, radian) to calculate impedance force.
position error in meter
Definition at line 159 of file TaskspaceController.cpp.
| void updateTSForceCommand | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
| void updateTSTwistCommand | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
------------------------— Velocity control ----------------------------------------— Unit in m/s and rad/s
Definition at line 180 of file TaskspaceController.cpp.
| void updateTwist | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
---------------------------— update velocity/twist --------------------------------—
in m/s
Definition at line 143 of file TaskspaceController.cpp.
| void validate | ( | ConfigType & | c, |
| TSCtrlRtStatus & | rtStatus ) |
run in rt thread
safety guard by FT and target pose
this should not be moved to non rt, just in case non rt thread dies, rt still functions safely
Definition at line 61 of file TaskspaceController.cpp.
| common::ft::FTSensor ftsensor |
Definition at line 57 of file TaskspaceController.h.
| VirtualRobot::RobotNodePtr rtTCP |
Definition at line 56 of file TaskspaceController.h.
| VirtualRobot::RobotNodePtr tcp |
Definition at line 55 of file TaskspaceController.h.