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

Robot states data in joint and Cartesian space. More...

#include <data.hpp>

Public Attributes

std::pair< int, int > timestamp = {}
 
std::vector< double > q = {}
 
std::vector< double > theta = {}
 
std::vector< double > dq = {}
 
std::vector< double > dtheta = {}
 
std::vector< double > tau = {}
 
std::vector< double > tau_des = {}
 
std::vector< double > tau_dot = {}
 
std::vector< double > tau_ext = {}
 
std::vector< double > tau_interact = {}
 
std::vector< double > temperature = {}
 
std::array< double, kPoseSize > tcp_pose = {}
 
std::array< double, kCartDoF > tcp_vel = {}
 
std::array< double, kPoseSize > flange_pose = {}
 
std::array< double, kCartDoF > ft_sensor_raw = {}
 
std::array< double, kCartDoF > ext_wrench_in_tcp = {}
 
std::array< double, kCartDoF > ext_wrench_in_world = {}
 
std::array< double, kCartDoF > ext_wrench_in_tcp_raw = {}
 
std::array< double, kCartDoF > ext_wrench_in_world_raw = {}
 

Detailed Description

Robot states data in joint and Cartesian space.

Note
If external axes exist, the joint-space states will contain external axes data at the front of the vectors.

Definition at line 167 of file data.hpp.

Member Data Documentation

◆ dq

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

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

Note
If a joint has only one encoder, then \( \dot{\theta} = \dot{q} \).

Definition at line 195 of file data.hpp.

◆ dtheta

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

Measured joint velocities of the full system using motor-side encoder: \( \dot{\theta} \in \mathbb{R}^{n \times 1} \). This is the indirect but less noisy measurement of joint velocities. Unit: \( [rad/s] or [m/s] \).

Note
If a joint has only one encoder, then \( \dot{\theta} = \dot{q} \).

Definition at line 203 of file data.hpp.

◆ ext_wrench_in_tcp

std::array<double, kCartDoF> flexiv::rdk::RobotStates::ext_wrench_in_tcp = {}

Estimated external wrench w.r.t. TCP frame, applied on TCP: \( ^{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 285 of file data.hpp.

◆ ext_wrench_in_tcp_raw

std::array<double, kCartDoF> flexiv::rdk::RobotStates::ext_wrench_in_tcp_raw = {}

Unfiltered version of ext_wrench_in_tcp. The data is more noisy but has no filter latency.

Definition at line 298 of file data.hpp.

◆ ext_wrench_in_world

std::array<double, kCartDoF> flexiv::rdk::RobotStates::ext_wrench_in_world = {}

Estimated external wrench w.r.t. world frame, applied on TCP: \( ^{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] \).

Definition at line 293 of file data.hpp.

◆ ext_wrench_in_world_raw

std::array<double, kCartDoF> flexiv::rdk::RobotStates::ext_wrench_in_world_raw = {}

Unfiltered version of ext_wrench_in_world The data is more noisy but has no filter latency.

Definition at line 303 of file data.hpp.

◆ flange_pose

std::array<double, kPoseSize> flexiv::rdk::RobotStates::flange_pose = {}

Measured flange pose w.r.t. world 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 269 of file data.hpp.

◆ ft_sensor_raw

std::array<double, kCartDoF> flexiv::rdk::RobotStates::ft_sensor_raw = {}

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 277 of file data.hpp.

◆ q

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

Measured joint positions of the full system using link-side encoder: \( q \in \mathbb{R}^{n \times 1} \). This is the direct measurement of joint positions. Unit: \( [rad] or [m] \).

Note
If a joint has only one encoder, then \( \theta = q \).

Definition at line 178 of file data.hpp.

◆ tau

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

Measured joint torques of the full system: \( \tau \in \mathbb{R}^{n \times 1} \). Unit: \( [Nm] \).

Note
If a joint has no torque measurement, the corresponding value will be 0.

Definition at line 210 of file data.hpp.

◆ tau_des

std::vector<double> flexiv::rdk::RobotStates::tau_des = {}

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

Note
If a joint has no torque control capability, the corresponding value will be 0.

Definition at line 218 of file data.hpp.

◆ tau_dot

std::vector<double> flexiv::rdk::RobotStates::tau_dot = {}

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

Note
If a joint has no torque measurement, the corresponding value will be 0.

Definition at line 225 of file data.hpp.

◆ tau_ext

std::vector<double> flexiv::rdk::RobotStates::tau_ext = {}

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

Note
If a joint has no torque measurement, the corresponding value will be 0.

Definition at line 233 of file data.hpp.

◆ tau_interact

std::vector<double> flexiv::rdk::RobotStates::tau_interact = {}

Estimated interaction joint torques of the full system: \( \hat \tau_{int} \in \mathbb{R}^{n \times 1} \). Produced by any interaction forces at the TCP. Unit: \( [Nm] \).

Note
If a joint has no torque measurement, the corresponding value will be 0.

Definition at line 240 of file data.hpp.

◆ tcp_pose

std::array<double, kPoseSize> flexiv::rdk::RobotStates::tcp_pose = {}

Measured TCP pose w.r.t. world 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]:[] \).

Definition at line 254 of file data.hpp.

◆ tcp_vel

std::array<double, kCartDoF> flexiv::rdk::RobotStates::tcp_vel = {}

Measured TCP velocity w.r.t. world 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 262 of file data.hpp.

◆ temperature

std::vector<double> flexiv::rdk::RobotStates::temperature = {}

Measured joint temperatures of the full system: \( temp \in \mathbb{R}^{n \times 1} \). Unit: \( [°C] \).

Note
If a joint has no temperature measurement, the corresponding value will be 0.

Definition at line 247 of file data.hpp.

◆ theta

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

Measured joint positions of the full system using motor-side encoder: \( \theta \in \mathbb{R}^{n \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] or [m] \).

Note
If a joint has only one encoder, then \( \theta = q \).

Definition at line 187 of file data.hpp.

◆ timestamp

std::pair<int, int> flexiv::rdk::RobotStates::timestamp = {}

Current time since epoch of the robot system. The pair consists of {seconds since epoch, nanoseconds since last full second}

Definition at line 171 of file data.hpp.


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