TaskspaceMixedImpedanceVelocityController Class Reference

#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
 

Detailed Description

Definition at line 40 of file TaskspaceMixedImpedanceVelocityController.h.

Member Typedef Documentation

◆ Config

using Config = common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfig

Definition at line 45 of file TaskspaceMixedImpedanceVelocityController.h.

◆ ConfigDict

using ConfigDict = common::control_law::arondto::TaskspaceMixedImpedanceVelocityControllerConfigDict

Definition at line 47 of file TaskspaceMixedImpedanceVelocityController.h.

◆ FTConfig

using FTConfig = common::ft::arondto::FTConfig

Definition at line 43 of file TaskspaceMixedImpedanceVelocityController.h.

Member Function Documentation

◆ firstRun()

void firstRun ( )

Definition at line 47 of file TaskspaceMixedImpedanceVelocityController.cpp.

+ Here is the call graph for this function:

◆ initialize()

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.

+ Here is the call graph for this function:

◆ isControlModeValid()

bool isControlModeValid ( const std::vector< std::string > &  nameList,
const std::map< std::string, std::string > &  jointControlModeMap 
)

◆ preactivateInit()

void preactivateInit ( const VirtualRobot::RobotNodeSetPtr &  rns)

◆ run()

void run ( Config c,
RtStatus robotStatus 
)

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.

+ Here is the call graph for this function:

Member Data Documentation

◆ ftsensor

◆ jointIDTorqueMode

std::vector<size_t> jointIDTorqueMode

Definition at line 111 of file TaskspaceMixedImpedanceVelocityController.h.

◆ jointIDVelocityMode

std::vector<size_t> jointIDVelocityMode

Definition at line 112 of file TaskspaceMixedImpedanceVelocityController.h.

◆ nDoFTorque

size_t nDoFTorque

Definition at line 94 of file TaskspaceMixedImpedanceVelocityController.h.

◆ nDoFVelocity

size_t nDoFVelocity

Definition at line 95 of file TaskspaceMixedImpedanceVelocityController.h.

◆ numOfJoints

unsigned int numOfJoints

Definition at line 93 of file TaskspaceMixedImpedanceVelocityController.h.

◆ rtTCP

VirtualRobot::RobotNodePtr rtTCP

Definition at line 108 of file TaskspaceMixedImpedanceVelocityController.h.

◆ tcp

VirtualRobot::RobotNodePtr tcp

Definition at line 107 of file TaskspaceMixedImpedanceVelocityController.h.


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