|
#include <armarx/control/common/control_law/TaskspaceMixedImpedanceVelocityController.h>
Classes | |
struct | RtStatus |
internal status of the controller, containing intermediate variables, mutable targets More... | |
Public Types | |
using | Config = common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfig |
using | ConfigDict = common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfigDict |
using | FTConfig = common::ft::arondto::FTConfig |
Public Member Functions | |
void | firstRun () |
void | initialize (const VirtualRobot::RobotNodeSetPtr &rns, const VirtualRobot::RobotNodeSetPtr &rtRns, const std::vector< size_t > &torqueControlledIndex, const std::vector< size_t > &velocityControlledIndex) |
bool | isControlModeValid (const std::vector< std::string > &nameList, const std::map< std::string, std::string > &jointControlModeMap) |
void | preactivateInit (const VirtualRobot::RobotNodeSetPtr &rns) |
void | run (Config &c, RtStatus &robotStatus) |
Public Attributes | |
common::ft::FTSensor | ftsensor |
std::vector< size_t > | jointIDTorqueMode |
std::vector< size_t > | jointIDVelocityMode |
size_t | nDoFTorque |
size_t | nDoFVelocity |
unsigned int | numOfJoints |
VirtualRobot::RobotNodePtr | rtTCP |
VirtualRobot::RobotNodePtr | tcp |
Definition at line 40 of file TaskspaceMixedImpedanceVelocityController.h.
using Config = common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfig |
Definition at line 45 of file TaskspaceMixedImpedanceVelocityController.h.
using ConfigDict = common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfigDict |
Definition at line 47 of file TaskspaceMixedImpedanceVelocityController.h.
using FTConfig = common::ft::arondto::FTConfig |
Definition at line 43 of file TaskspaceMixedImpedanceVelocityController.h.
void firstRun | ( | ) |
Definition at line 47 of file TaskspaceMixedImpedanceVelocityController.cpp.
void initialize | ( | const VirtualRobot::RobotNodeSetPtr & | rns, |
const VirtualRobot::RobotNodeSetPtr & | rtRns, | ||
const std::vector< size_t > & | torqueControlledIndex, | ||
const std::vector< size_t > & | velocityControlledIndex | ||
) |
Definition at line 16 of file TaskspaceMixedImpedanceVelocityController.cpp.
bool isControlModeValid | ( | const std::vector< std::string > & | nameList, |
const std::map< std::string, std::string > & | jointControlModeMap | ||
) |
Definition at line 53 of file TaskspaceMixedImpedanceVelocityController.cpp.
void preactivateInit | ( | const VirtualRobot::RobotNodeSetPtr & | rns | ) |
Definition at line 41 of file TaskspaceMixedImpedanceVelocityController.cpp.
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 as safely
---------------------------— compute jacobi ---------------------------------------—
---------------------------— update velocity/twist --------------------------------—
----------------------------------— 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.
in mm
----------------------------------— Velocity 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 desired Cartesian velocity.
--------------------------— Nullspace PD Control -----------------------------------------------—
--------------------------— Map TS target force/velocity to JS -----------------------------------------------—
--------------------------— write torque target ----------------------------------—
Definition at line 105 of file TaskspaceMixedImpedanceVelocityController.cpp.
common::ft::FTSensor ftsensor |
Definition at line 109 of file TaskspaceMixedImpedanceVelocityController.h.
std::vector<size_t> jointIDTorqueMode |
Definition at line 111 of file TaskspaceMixedImpedanceVelocityController.h.
std::vector<size_t> jointIDVelocityMode |
Definition at line 112 of file TaskspaceMixedImpedanceVelocityController.h.
size_t nDoFTorque |
Definition at line 94 of file TaskspaceMixedImpedanceVelocityController.h.
size_t nDoFVelocity |
Definition at line 95 of file TaskspaceMixedImpedanceVelocityController.h.
unsigned int numOfJoints |
Definition at line 93 of file TaskspaceMixedImpedanceVelocityController.h.
VirtualRobot::RobotNodePtr rtTCP |
Definition at line 108 of file TaskspaceMixedImpedanceVelocityController.h.
VirtualRobot::RobotNodePtr tcp |
Definition at line 107 of file TaskspaceMixedImpedanceVelocityController.h.