TSCtrlRtStatus Struct Reference

#include <armarx/control/common/control_law/common.h>

+ Inheritance diagram for TSCtrlRtStatus:

Public Member Functions

void reset (size_t numDoF, const std::vector< size_t > &jointIDTorqueMode, const std::vector< size_t > &jointIDVelocityMode) override
 
void rtPreActivate (const Eigen::Matrix4f &currentTCPPose)
 
- Public Member Functions inherited from RobotStatus
virtual ~RobotStatus ()=default
 

Public Attributes

Eigen::Vector6f acc
 
Eigen::Vector6f cartesianVelTarget
 for impedance control
 
Eigen::Vector6f currentForceTorque
 force torque
 
Eigen::Matrix4f currentPose
 
Eigen::Vector6f currentTwist
 
Eigen::VectorXf desiredJointPosition
 
Eigen::VectorXf desiredJointTorque
 targets
 
Eigen::VectorXf desiredJointVelocity
 
Eigen::Matrix4f desiredPose
 
Eigen::Matrix4f desiredPoseUnsafe
 
Eigen::Vector6f forceImpedance
 task space variables (command in operation space)
 
bool forceTorqueSafe = false
 
Eigen::MatrixXf I
 for computing nullspace projection
 
Eigen::MatrixXd inertia
 inertia Note, the inertia variables are only used for collision avoidance controllers, as the inertia is obtained from the simox robot that exists only in collision avoidance controllers TODO, use simox to obtain inertia
 
Eigen::MatrixXf inertiaInv
 
Eigen::MatrixXf inertiaInvVelCtrlJoints
 
Eigen::MatrixXd inertiaVelCtrlJoints
 
Eigen::MatrixXf IVelCtrlJoint
 
Eigen::MatrixXf jacobi
 others jacobi matrix [6, nDoF]
 
Eigen::MatrixXf jpinv
 pseudo inverse of the jacobi [nDoF, 6], for vel control
 
Eigen::MatrixXf jtpinv
 pseudo inverse of the jacobi transpose [6, nDoF], for torque control
 
float lambda = 2.0f
 damping term for pseudo inverse of jacobian
 
Eigen::VectorXf nullspaceTorque
 
Eigen::VectorXf nullspaceVelocity
 
Eigen::AngleAxisf oriDiffAngleAxis
 
Eigen::Vector6f pos
 
Eigen::Matrix3f poseDiffMatAdm
 intermediate results for admittance controller
 
Eigen::Matrix3f poseDiffMatImp
 intermediate results
 
Eigen::Vector6f poseErrorAdm
 
Eigen::Vector6f poseErrorImp
 
Eigen::VectorXf qdAcc
 
Eigen::VectorXf qdPos
 
Eigen::VectorXf qdVel
 
Eigen::VectorXf qTemp
 
Eigen::VectorXf qvelFiltered
 for velocity control
 
bool rtSafe = false
 
bool rtTargetSafe = false
 
Eigen::Vector6f safeFTGuardOffset
 
Eigen::Vector6f vel
 
Eigen::Vector6f virtualAcc
 
Eigen::Matrix4f virtualPose
 
Eigen::Vector6f virtualVel
 
- Public Attributes inherited from RobotStatus
double accumulateTime = 0.0
 
double deltaT = 0
 
Eigen::Matrix4f globalPose
 
std::vector< size_t > jointIDTorqueMode
 
std::vector< size_t > jointIDVelocityMode
 
Eigen::VectorXf jointPosition
 
Eigen::VectorXf jointTorque
 
Eigen::VectorXf jointVelocity
 
size_t nDoF = 0
 
size_t nDoFTorque = 0
 
size_t nDoFVelocity = 0
 

Detailed Description

Definition at line 58 of file common.h.

Member Function Documentation

◆ reset()

void reset ( size_t numDoF,
const std::vector< size_t > & jointIDTorqueMode,
const std::vector< size_t > & jointIDVelocityMode )
overridevirtual

This function should be called BEFORE the RT thread. Usually in constructor of the controller

targets

force torque

task space variables (command in operation space)

current status

intermediate results

intermediate results for admittance controller

inertia

others

Reimplemented from RobotStatus.

Definition at line 32 of file common.cpp.

+ Here is the call graph for this function:

◆ rtPreActivate()

void rtPreActivate ( const Eigen::Matrix4f & currentTCPPose)

!!!! TO BE UPDATED IN PRE-ACTIVATE !!!! only then the up-to-date robot joint information is available

Definition at line 100 of file common.cpp.

Member Data Documentation

◆ acc

Definition at line 98 of file common.h.

◆ cartesianVelTarget

Eigen::Vector6f cartesianVelTarget

for impedance control

Definition at line 75 of file common.h.

◆ currentForceTorque

Eigen::Vector6f currentForceTorque

force torque

Definition at line 70 of file common.h.

◆ currentPose

Eigen::Matrix4f currentPose

Definition at line 79 of file common.h.

◆ currentTwist

Eigen::Vector6f currentTwist

Definition at line 80 of file common.h.

◆ desiredJointPosition

Eigen::VectorXf desiredJointPosition

Definition at line 65 of file common.h.

◆ desiredJointTorque

Eigen::VectorXf desiredJointTorque

targets

Definition at line 63 of file common.h.

◆ desiredJointVelocity

Eigen::VectorXf desiredJointVelocity

Definition at line 64 of file common.h.

◆ desiredPose

Eigen::Matrix4f desiredPose

Definition at line 81 of file common.h.

◆ desiredPoseUnsafe

Eigen::Matrix4f desiredPoseUnsafe

Definition at line 82 of file common.h.

◆ forceImpedance

Eigen::Vector6f forceImpedance

task space variables (command in operation space)

Definition at line 74 of file common.h.

◆ forceTorqueSafe

bool forceTorqueSafe = false

Definition at line 131 of file common.h.

◆ I

Eigen::MatrixXf I

for computing nullspace projection

Definition at line 124 of file common.h.

◆ inertia

Eigen::MatrixXd inertia

inertia Note, the inertia variables are only used for collision avoidance controllers, as the inertia is obtained from the simox robot that exists only in collision avoidance controllers TODO, use simox to obtain inertia

Definition at line 104 of file common.h.

◆ inertiaInv

Eigen::MatrixXf inertiaInv

Definition at line 105 of file common.h.

◆ inertiaInvVelCtrlJoints

Eigen::MatrixXf inertiaInvVelCtrlJoints

Definition at line 107 of file common.h.

◆ inertiaVelCtrlJoints

Eigen::MatrixXd inertiaVelCtrlJoints

Definition at line 106 of file common.h.

◆ IVelCtrlJoint

Eigen::MatrixXf IVelCtrlJoint

Definition at line 108 of file common.h.

◆ jacobi

Eigen::MatrixXf jacobi

others jacobi matrix [6, nDoF]

Definition at line 116 of file common.h.

◆ jpinv

Eigen::MatrixXf jpinv

pseudo inverse of the jacobi [nDoF, 6], for vel control

Definition at line 121 of file common.h.

◆ jtpinv

Eigen::MatrixXf jtpinv

pseudo inverse of the jacobi transpose [6, nDoF], for torque control

Definition at line 118 of file common.h.

◆ lambda

float lambda = 2.0f

damping term for pseudo inverse of jacobian

Definition at line 127 of file common.h.

◆ nullspaceTorque

Eigen::VectorXf nullspaceTorque

Definition at line 66 of file common.h.

◆ nullspaceVelocity

Eigen::VectorXf nullspaceVelocity

Definition at line 67 of file common.h.

◆ oriDiffAngleAxis

Eigen::AngleAxisf oriDiffAngleAxis

Definition at line 87 of file common.h.

◆ pos

Definition at line 96 of file common.h.

◆ poseDiffMatAdm

Eigen::Matrix3f poseDiffMatAdm

intermediate results for admittance controller

Definition at line 90 of file common.h.

◆ poseDiffMatImp

Eigen::Matrix3f poseDiffMatImp

intermediate results

Definition at line 85 of file common.h.

◆ poseErrorAdm

Eigen::Vector6f poseErrorAdm

Definition at line 91 of file common.h.

◆ poseErrorImp

Eigen::Vector6f poseErrorImp

Definition at line 86 of file common.h.

◆ qdAcc

Eigen::VectorXf qdAcc

Definition at line 111 of file common.h.

◆ qdPos

Eigen::VectorXf qdPos

Definition at line 109 of file common.h.

◆ qdVel

Eigen::VectorXf qdVel

Definition at line 110 of file common.h.

◆ qTemp

Eigen::VectorXf qTemp

Definition at line 112 of file common.h.

◆ qvelFiltered

Eigen::VectorXf qvelFiltered

for velocity control

current status

Definition at line 78 of file common.h.

◆ rtSafe

bool rtSafe = false

Definition at line 129 of file common.h.

◆ rtTargetSafe

bool rtTargetSafe = false

Definition at line 130 of file common.h.

◆ safeFTGuardOffset

Eigen::Vector6f safeFTGuardOffset

Definition at line 71 of file common.h.

◆ vel

Definition at line 97 of file common.h.

◆ virtualAcc

Eigen::Vector6f virtualAcc

Definition at line 95 of file common.h.

◆ virtualPose

Eigen::Matrix4f virtualPose

Definition at line 93 of file common.h.

◆ virtualVel

Eigen::Vector6f virtualVel

Definition at line 94 of file common.h.


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