Flexiv RDK APIs  0.10
Public Attributes | List of all members
flexiv::RobotStates Struct Reference

Data struct containing the joint- and Cartesian-space robot states. More...

#include <Data.hpp>

Public Attributes

std::vector< double > q = {}
 
std::vector< double > theta = {}
 
std::vector< double > dq = {}
 
std::vector< double > dtheta = {}
 
std::vector< double > tau = {}
 
std::vector< double > tauDes = {}
 
std::vector< double > tauDot = {}
 
std::vector< double > tauExt = {}
 
std::vector< double > tcpPose = {}
 
std::vector< double > tcpPoseDes = {}
 
std::vector< double > tcpVel = {}
 
std::vector< double > camPose = {}
 
std::vector< double > flangePose = {}
 
std::vector< double > ftSensorRaw = {}
 
std::vector< double > extWrenchInTcp = {}
 
std::vector< double > extWrenchInBase = {}
 

Detailed Description

Data struct containing the joint- and Cartesian-space robot states.

Examples
basics1_display_robot_states.cpp, basics5_zero_force_torque_sensors.cpp, intermediate1_realtime_joint_position_control.cpp, intermediate2_realtime_joint_torque_control.cpp, intermediate3_realtime_joint_floating.cpp, intermediate4_realtime_cartesian_pure_motion_control.cpp, intermediate5_realtime_cartesian_motion_force_control.cpp, intermediate6_robot_dynamics.cpp, and intermediate7_teach_by_demonstration.cpp.

Definition at line 77 of file Data.hpp.

Member Data Documentation

◆ camPose

std::vector<double> flexiv::RobotStates::camPose = {}

Measured camera pose expressed in base frame: \( ^{O}T_{cam} \in \mathbb{R}^{7 \times 1} \). Consists of \( \mathbb{R}^{3 \times 1} \) position and \( \mathbb{R}^{4 \times 1} \) quaternion: \( [x, y, z, q_w, q_x, q_y, q_z]^T \). Unit: \( [m]~[] \).

Definition at line 167 of file Data.hpp.

◆ dq

std::vector<double> flexiv::RobotStates::dq = {}

Measured joint velocities using link-side encoder: \( \dot{q} \in \mathbb{R}^{DOF \times 1} \). This is the direct but more noisy measurement of joint velocities. Unit: \( [rad/s] \).

Definition at line 99 of file Data.hpp.

◆ dtheta

std::vector<double> flexiv::RobotStates::dtheta = {}

Measured joint velocities using motor-side encoder: \( \dot{\theta} \in \mathbb{R}^{DOF \times 1} \). This is the indirect but less noisy measurement of joint velocities, preferred for most cases. Unit: \( [rad/s] \).

Examples
intermediate2_realtime_joint_torque_control.cpp, intermediate3_realtime_joint_floating.cpp, and intermediate6_robot_dynamics.cpp.

Definition at line 107 of file Data.hpp.

◆ extWrenchInBase

std::vector<double> flexiv::RobotStates::extWrenchInBase = {}

Estimated external wrench applied on TCP and expressed in base frame: \( ^{0}F_{ext} \in \mathbb{R}^{6 \times 1} \). Consists of \( \mathbb{R}^{3 \times 1} \) force and \( \mathbb{R}^{3 \times 1} \) moment: \( [f_x, f_y, f_z, m_x, m_y, m_z]^T \). Unit: \( [N]~[Nm] \).

Examples
basics5_zero_force_torque_sensors.cpp, intermediate4_realtime_cartesian_pure_motion_control.cpp, and intermediate5_realtime_cartesian_motion_force_control.cpp.

Definition at line 200 of file Data.hpp.

◆ extWrenchInTcp

std::vector<double> flexiv::RobotStates::extWrenchInTcp = {}

Estimated external wrench applied on TCP and expressed in TCP frame: \( ^{TCP}F_{ext} \in \mathbb{R}^{6 \times 1} \). Consists of \( \mathbb{R}^{3 \times 1} \) force and \( \mathbb{R}^{3 \times 1} \) moment: \( [f_x, f_y, f_z, m_x, m_y, m_z]^T \). Unit: \( [N]~[Nm] \).

Definition at line 192 of file Data.hpp.

◆ flangePose

std::vector<double> flexiv::RobotStates::flangePose = {}

Measured flange pose expressed in base frame: \( ^{O}T_{flange} \in \mathbb{R}^{7 \times 1} \). Consists of \( \mathbb{R}^{3 \times 1} \) position and \( \mathbb{R}^{4 \times 1} \) quaternion: \( [x, y, z, q_w, q_x, q_y, q_z]^T \). Unit: \( [m]~[] \).

Definition at line 175 of file Data.hpp.

◆ ftSensorRaw

std::vector<double> flexiv::RobotStates::ftSensorRaw = {}

Force-torque (FT) sensor raw reading in flange frame: \( ^{flange}F_{raw} \in \mathbb{R}^{6 \times 1} \). The value is 0 if no FT sensor is installed. Consists of \( \mathbb{R}^{3 \times 1} \) force and \( \mathbb{R}^{3 \times 1} \) moment: \( [f_x, f_y, f_z, m_x, m_y, m_z]^T \). Unit: \( [N]~[Nm] \).

Definition at line 184 of file Data.hpp.

◆ q

std::vector<double> flexiv::RobotStates::q = {}

Measured joint positions using link-side encoder: \( q \in \mathbb{R}^{DOF \times 1} \). This is the direct measurement of joint positions, preferred for most cases. Unit: \( [rad] \).

Examples
intermediate1_realtime_joint_position_control.cpp, intermediate2_realtime_joint_torque_control.cpp, and intermediate6_robot_dynamics.cpp.

Definition at line 84 of file Data.hpp.

◆ tau

std::vector<double> flexiv::RobotStates::tau = {}

Measured joint torques: \( \tau \in \mathbb{R}^{DOF \times 1} \). Unit: \( [Nm] \).

Examples
intermediate3_realtime_joint_floating.cpp.

Definition at line 113 of file Data.hpp.

◆ tauDes

std::vector<double> flexiv::RobotStates::tauDes = {}

Desired joint torques: \( \tau_{d} \in \mathbb{R}^{DOF \times 1} \). Compensation of nonlinear dynamics (gravity, centrifugal, and Coriolis) is excluded. Unit: \( [Nm] \).

Definition at line 120 of file Data.hpp.

◆ tauDot

std::vector<double> flexiv::RobotStates::tauDot = {}

Numerical derivative of measured joint torques: \( \dot{\tau} \in \mathbb{R}^{DOF \times 1} \). Unit: \( [Nm/s] \).

Definition at line 126 of file Data.hpp.

◆ tauExt

std::vector<double> flexiv::RobotStates::tauExt = {}

Estimated external joint torques: \( \hat \tau_{ext} \in \mathbb{R}^{DOF \times 1} \). Produced by any external contact (with robot body or end-effector) that does not belong to the known robot model. Unit: \( [Nm] \).

Examples
intermediate4_realtime_cartesian_pure_motion_control.cpp.

Definition at line 134 of file Data.hpp.

◆ tcpPose

std::vector<double> flexiv::RobotStates::tcpPose = {}

Measured TCP pose expressed in base frame: \( ^{O}T_{TCP} \in \mathbb{R}^{7 \times 1} \). Consists of \( \mathbb{R}^{3 \times 1} \) position and \( \mathbb{R}^{4 \times 1} \) quaternion: \( [x, y, z, q_w, q_x, q_y, q_z]^T \). Unit: \( [m]~[] \).

Examples
intermediate4_realtime_cartesian_pure_motion_control.cpp, intermediate5_realtime_cartesian_motion_force_control.cpp, and intermediate7_teach_by_demonstration.cpp.

Definition at line 142 of file Data.hpp.

◆ tcpPoseDes

std::vector<double> flexiv::RobotStates::tcpPoseDes = {}

Desired TCP pose expressed in base frame: \( {^{O}T_{TCP}}_{d} \in \mathbb{R}^{7 \times 1} \). Consists of \( \mathbb{R}^{3 \times 1} \) position and \( \mathbb{R}^{4 \times 1} \) quaternion: \( [x, y, z, q_w, q_x, q_y, q_z]^T \). Unit: \( [m]~[] \).

Definition at line 150 of file Data.hpp.

◆ tcpVel

std::vector<double> flexiv::RobotStates::tcpVel = {}

Measured TCP velocity expressed in base frame: \( ^{O}\dot{X} \in \mathbb{R}^{6 \times 1} \). Consists of \( \mathbb{R}^{3 \times 1} \) linear velocity and \( \mathbb{R}^{3 \times 1} \) angular velocity: \( [v_x, v_y, v_z, \omega_x, \omega_y, \omega_z]^T \). Unit: \( [m/s]~[rad/s] \).

Definition at line 159 of file Data.hpp.

◆ theta

std::vector<double> flexiv::RobotStates::theta = {}

Measured joint positions using motor-side encoder: \( \theta \in \mathbb{R}^{DOF \times 1} \). This is the indirect measurement of joint positions. \( \theta = q + \Delta \), where \( \Delta \) is the joint's internal deflection between motor and link. Unit: \( [rad] \).

Definition at line 92 of file Data.hpp.


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