Struct franka::robot::robot_state::RobotState[][src]

pub struct RobotState {
Show fields pub O_T_EE: [f64; 16], pub O_T_EE_d: [f64; 16], pub F_T_EE: [f64; 16], pub F_T_NE: [f64; 16], pub NE_T_EE: [f64; 16], pub EE_T_K: [f64; 16], pub m_ee: f64, pub I_ee: [f64; 9], pub F_x_Cee: [f64; 3], pub m_load: f64, pub I_load: [f64; 9], pub F_x_Cload: [f64; 3], pub m_total: f64, pub I_total: [f64; 9], pub F_x_Ctotal: [f64; 3], pub elbow: [f64; 2], pub elbow_d: [f64; 2], pub elbow_c: [f64; 2], pub delbow_c: [f64; 2], pub ddelbow_c: [f64; 2], pub tau_J: [f64; 7], pub tau_J_d: [f64; 7], pub dtau_J: [f64; 7], pub q: [f64; 7], pub q_d: [f64; 7], pub dq: [f64; 7], pub dq_d: [f64; 7], pub ddq_d: [f64; 7], pub joint_contact: [f64; 7], pub cartesian_contact: [f64; 6], pub joint_collision: [f64; 7], pub cartesian_collision: [f64; 6], pub tau_ext_hat_filtered: [f64; 7], pub O_F_ext_hat_K: [f64; 6], pub K_F_ext_hat_K: [f64; 6], pub O_dP_EE_d: [f64; 6], pub O_T_EE_c: [f64; 16], pub O_dP_EE_c: [f64; 6], pub O_ddP_EE_c: [f64; 6], pub theta: [f64; 7], pub dtheta: [f64; 7], pub current_errors: FrankaErrors, pub last_motion_errors: FrankaErrors, pub control_command_success_rate: f64, pub robot_mode: RobotMode, pub time: Duration,
}

Describes the robot state.

Fields

O_T_EE: [f64; 16]

^{O}T_{EE}

Measured end effector pose in base frame. Pose is represented as a 4x4 matrix in column-major format.

O_T_EE_d: [f64; 16]

{^OT_{EE}}_{d}

Last desired end effector pose of motion generation in base frame. Pose is represented as a 4x4 matrix in column-major format.

F_T_EE: [f64; 16]

^{F}T_{EE}

End effector frame pose in flange frame. Pose is represented as a 4x4 matrix in column-major format.

See

F_T_NE: [f64; 16]

^{F}T_{NE}

Nominal end effector frame pose in flange frame. Pose is represented as a 4x4 matrix in column-major format.

See

NE_T_EE: [f64; 16]

^{NE}T_{EE}

End effector frame pose in nominal end effector frame. Pose is represented as a 4x4 matrix in column-major format.

See

EE_T_K: [f64; 16]

^{EE}T_{K}

Stiffness frame pose in end effector frame. Pose is represented as a 4x4 matrix in column-major format.

See also K-Frame

m_ee: f64

m_{EE}

Configured mass of the end effector.

I_ee: [f64; 9]

I_{EE}

Configured rotational inertia matrix of the end effector load with respect to center of mass.

F_x_Cee: [f64; 3]

^{F}x_{C_{EE}}

Configured center of mass of the end effector load with respect to flange frame.

m_load: f64

m_{load}

Configured mass of the external load.

I_load: [f64; 9]

I_{load}

Configured rotational inertia matrix of the external load with respect to center of mass.

F_x_Cload: [f64; 3]

^{F}x_{C_{load}}

Configured center of mass of the external load with respect to flange frame.

m_total: f64

m_{total}

Sum of the mass of the end effector and the external load.

I_total: [f64; 9]

I_{total}

Combined rotational inertia matrix of the end effector load and the external load with respect to the center of mass.

F_x_Ctotal: [f64; 3]

^{F}x_{C_{total}}

Combined center of mass of the end effector load and the external load with respect to flange frame.

elbow: [f64; 2]

Elbow configuration.

The values of the array are:

  • [0] Position of the 3rd joint in [rad].
  • [1] Sign of the 4th joint. Can be +1 or -1.
elbow_d: [f64; 2]

Desired elbow configuration.

The values of the array are:

  • [0] Position of the 3rd joint in [rad].
  • [1] Sign of the 4th joint. Can be +1 or -1.
elbow_c: [f64; 2]

Commanded elbow configuration.

The values of the array are:

  • [0] Position of the 3rd joint in [rad].
  • [1] Sign of the 4th joint. Can be +1 or -1.
delbow_c: [f64; 2]

Commanded elbow velocity.

The values of the array are:

  • [0] Velocity of the 3rd joint in [rad/s].
  • [1] Sign of the 4th joint. Can be +1 or -1.
ddelbow_c: [f64; 2]

Commanded elbow acceleration.

The values of the array are:

  • [0] Acceleration of the 3rd joint in [rad/s^2].
  • [1] Sign of the 4th joint. Can be +1 or -1.
tau_J: [f64; 7]

\tau_{J}

Measured link-side joint torque sensor signals. Unit: [Nm]

tau_J_d: [f64; 7]

{\tau_J}_d

Desired link-side joint torque sensor signals without gravity. Unit: [Nm]

dtau_J: [f64; 7]

\dot{\tau_{J}}

Derivative of measured link-side joint torque sensor signals. Unit: [Nm/s]

q: [f64; 7]

q

Measured joint position. Unit: [rad]

q_d: [f64; 7]

q_d

Desired joint position. Unit: [rad]

dq: [f64; 7]

\dot{q}

Measured joint velocity. Unit: [rad/s]

dq_d: [f64; 7]

\dot{q}_d

Desired joint velocity. Unit: [rad/s]

ddq_d: [f64; 7]

\ddot{q}_d

Desired joint acceleration. Unit: [rad/s^2]

joint_contact: [f64; 7]

Indicates which contact level is activated in which joint. After contact disappears, value turns to zero.

See Robot::set_collision_behavior for setting sensitivity values.

cartesian_contact: [f64; 6]

Indicates which contact level is activated in which Cartesian dimension (x,y,z,R,P,Y). After contact disappears, the value turns to zero.

See Robot::set_collision_behavior for setting sensitivity values.

joint_collision: [f64; 7]

Indicates which contact level is activated in which joint. After contact disappears, the value stays the same until a reset command is sent.

See Robot::set_collision_behavior for setting sensitivity values.

See Robot::automatic_error_recovery for performing a reset after a collision.

cartesian_collision: [f64; 6]

Indicates which contact level is activated in which Cartesian dimension (x,y,z,R,P,Y). After contact disappears, the value stays the same until a reset command is sent.

See Robot::set_collision_behavior for setting sensitivity values.

See Robot::automatic_error_recovery for performing a reset after a collision.

tau_ext_hat_filtered: [f64; 7]

\hat{\tau}_{\text{ext}}

External torque, filtered. Unit: [Nm]

O_F_ext_hat_K: [f64; 6]

^OF_{K,\text{ext}}

Estimated external wrench (force, torque) acting on stiffness frame, expressed relative to the base frame. See also @ref k-frame “K frame”. Unit: [N,N,N,Nm,Nm,Nm].

K_F_ext_hat_K: [f64; 6]

^{K}F_{K,\text{ext}}

Estimated external wrench (force, torque) acting on stiffness frame, expressed relative to the stiffness frame. See also @ref k-frame “K frame”. Unit: [N,N,N,Nm,Nm,Nm].

O_dP_EE_d: [f64; 6]

{^OdP_{EE}}_{d}

Desired end effector twist in base frame. Unit: [m/s,m/s,m/s,rad/s,rad/s,rad/s]

O_T_EE_c: [f64; 16]

{^OT_{EE}}_{c}

Last commanded end effector pose of motion generation in base frame. Pose is represented as a 4x4 matrix in column-major format.

O_dP_EE_c: [f64; 6]

{^OdP_{EE}}_{c}

Last commanded end effector twist in base frame. Unit: [m/s,m/s,m/s,rad/s,rad/s,rad/s]

O_ddP_EE_c: [f64; 6]

{^OddP_{EE}}_{c}

Last commanded end effector acceleration in base frame. Unit: [m/s^2,m/s^2,m/s^2,rad/s^2,rad/s^2,rad/s^2]

theta: [f64; 7]

\theta

Motor position. Unit: [rad]

dtheta: [f64; 7]

\dot{\theta}

Motor velocity. Unit: [rad/s]

current_errors: FrankaErrors

Current error state.

last_motion_errors: FrankaErrors

Contains the errors that aborted the previous motion

control_command_success_rate: f64

Percentage of the last 100 control commands that were successfully received by the robot.

Shows a value of zero if no control or motion generator loop is currently running.

Range [0,1]

robot_mode: RobotMode

Current robot mode.

time: Duration

Strictly monotonically increasing timestamp since robot start.

Inside of control loops “time_step” parameter of Robot::control can be used instead

Trait Implementations

impl Clone for RobotState[src]

impl Debug for RobotState[src]

impl Default for RobotState[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,