franky.RobotState

class franky.RobotState

Bases: pybind11_object

Full state of the robot

This class contains all fields of franka::RobotState and some additional fields. Each additional field ends in “_est”. Unlike franka::RobotState, all fields are converted to appropriate Eigen/franky types.

__init__(*args, **kwargs)
property EE_T_K

\(^{EE}T_{K}\) Stiffness frame pose in end effector frame.

See also the stiffness frame K.

property F_T_EE

\(^{F}T_{EE}\) End effector frame pose in flange frame.

See also

F_T_NE

See also

NE_T_EE

See also

Robot for an explanation of the F, NE and EE frames.

property F_T_NE

\(^{F}T_{NE}\) Nominal end effector frame pose in flange frame.

See also

F_T_EE

See also

NE_T_EE

See also

Robot for an explanation of the F, NE and EE frames.

property F_x_Cee

\(^{F}x_{C_{EE}}\) Configured center of mass of the end effector load with respect to flange frame.

property F_x_Cload

\(^{F}x_{C_{load}}\) Configured center of mass of the external load with respect to flange frame.

property F_x_Ctotal

\(^{F}x_{C_{total}}\) Combined center of mass of the end effector load and the external load with respect to flange frame.

property I_ee

\(I_{EE}\) Configured rotational inertia matrix of the end effector load with respect to center of mass.

property I_load

\(I_{load}\) Configured rotational inertia matrix of the external load with respect to center of mass.

property I_total

\(I_{total}\) Combined rotational inertia matrix of the end effector load and the external load with respect to the center of mass.

property K_F_ext_hat_K

\(^{K}F_{K,\text{ext}}\) Estimated external wrench (force, torque) acting on stiffness frame, expressed relative to the stiffness frame. Forces applied by the robot to the environment are positive, while forces applied by the environment on the robot are negative. Becomes \([0,0,0,0,0,0]\) when near or in a singularity. See also the stiffness frame K. Unit: \([N,N,N,Nm,Nm,Nm]\).

property NE_T_EE

\(^{NE}T_{EE}\) End effector frame pose in nominal end effector frame.

See also

Robot::setEE to change this frame.

See also

F_T_EE

See also

F_T_NE

See also

Robot for an explanation of the F, NE and EE frames.

property O_F_ext_hat_K

\(^OF_{K,\text{ext}}\) Estimated external wrench (force, torque) acting on stiffness frame, expressed relative to the the base frame. Forces applied by the robot to the environment are positive, while forces applied by the environment on the robot are negative. Becomes \([0,0,0,0,0,0]\) when near or in a singularity. See also the stiffness frame K. Unit: \([N,N,N,Nm,Nm,Nm]\).

property O_T_EE

\(^{O}T_{EE}\) Measured end effector pose in the base frame.

property O_T_EE_c

\({^OT_{EE}}_{c}\) Last commanded end effector pose of motion generation in the base frame.

property O_T_EE_d

\({^OT_{EE}}_{d}\) Last desired end effector pose of motion generation in the base frame.

property O_dP_EE_c

\({^OdP_{EE}}_{c}\) Last commanded end effector twist in the base frame.

property O_dP_EE_d

\({^OdP_{EE}}_{d}\) Desired end effector twist in the base frame. Unit: \([\frac{m}{s},\frac{m}{s},\frac{m}{s},\frac{rad}{s},\frac{rad}{s},\frac{rad}{s}]\).

property O_dP_EE_est

Estimated end-effector twist (linear and angular velocity) expressed in the base frame. Computed by franky; not provided by franka firmware. Unit: \([\frac{m}{s},\frac{m}{s},\frac{m}{s},\frac{rad}{s},\frac{rad}{s},\frac{rad}{s}]\).

property O_ddP_EE_c

\({^OddP_{EE}}_{c}\) Last commanded end effector acceleration in the base frame. Unit: \([\frac{m}{s^2},\frac{m}{s^2},\frac{m}{s^2},\frac{rad}{s^2},\frac{rad}{s^2},\frac{rad}{s^2}]\).

property O_ddP_EE_est

Estimated end-effector spatial acceleration (linear and angular acceleration) expressed in the base frame. Computed by franky; not provided by franka firmware. Unit: \([\frac{m}{s^2},\frac{m}{s^2},\frac{m}{s^2},\frac{rad}{s^2},\frac{rad}{s^2},\frac{rad}{s^2}]\).

property O_ddP_O

\({^OddP}_O\) Linear component of the acceleration of the robot’s base, expressed in frame parallel to the the base frame, i.e. the base’s translational acceleration. If the base is resting this shows the direction of the gravity vector. It is hardcoded for now to {0, 0, -9.81}.

property cartesian_collision

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 also

Robot::setCollisionBehavior for setting sensitivity values.

See also

Robot::automaticErrorRecovery for performing a reset after a collision.

property cartesian_contact

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 also

Robot::setCollisionBehavior for setting sensitivity values.

property control_command_success_rate

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]\).

property current_errors

Current error state.

property ddelbow_c

Commanded elbow acceleration of the 3rd joint in \(\frac{rad}{s^2}\)

property ddelbow_est

Estimated elbow acceleration (acceleration of the third joint), computed by franky. Not provided by franka firmware. Unit: \([\frac{rad}{s^2}]\).

property ddq_d

\([\frac{rad}{s^2}]\)

Type:

\(\ddot{q}_d\) Desired joint acceleration. Unit

property ddq_est

Estimated joint acceleration computed by franky. This value does not come from the franka firmware. Unit: \([\frac{rad}{s^2}]\).

property delbow_c

Commanded velocity of the 3rd joint in \(\frac{rad}{s}\)

property delbow_est

Estimated elbow velocity (velocity of the third joint), computed by franky. Not provided by franka firmware. Unit: \([\frac{rad}{s}]\).

property dq

\([\frac{rad}{s}]\)

Type:

\(\dot{q}\) Measured joint velocity. Unit

property dq_d

\([\frac{rad}{s}]\)

Type:

\(\dot{q}_d\) Desired joint velocity. Unit

property dq_est

Estimated joint velocity computed by franky. This value does not come from the franka firmware. Unit: \([\frac{rad}{s}]\).

property dtau_J

\(\dot{\tau_{J}}\) Derivative of measured link-side joint torque sensor signals. Unit: \([\frac{Nm}{s}]\)

property dtheta

\([\frac{rad}{s}]\)

Type:

\(\dot{\theta}\) Motor velocity. Unit

property elbow

Elbow configuration.

property elbow_c

Commanded elbow configuration.

property elbow_d

Desired elbow configuration.

property joint_collision

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

See also

Robot::setCollisionBehavior for setting sensitivity values.

See also

Robot::automaticErrorRecovery for performing a reset after a collision.

property joint_contact

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

See also

Robot::setCollisionBehavior for setting sensitivity values.

property last_motion_errors

Contains the errors that aborted the previous motion.

property m_ee

\(m_{EE}\) Configured mass of the end effector.

property m_load

\(m_{load}\) Configured mass of the external load.

property m_total

\(m_{total}\) Sum of the mass of the end effector and the external load.

property q

\([rad]\)

Type:

\(q\) Measured joint position. Unit

property q_d

\([rad]\)

Type:

\(q_d\) Desired joint position. Unit

property q_est

Estimated joint position computed by franky. This value does not come from the franka firmware. Unit: \([rad]\).

property robot_mode

Current robot mode.

property tau_J

\([Nm]\)

Type:

\(\tau_{J}\) Measured link-side joint torque sensor signals. Unit

property tau_J_d

\([Nm]\)

Type:

\({\tau_J}_d\) Desired link-side joint torque sensor signals without gravity. Unit

property tau_ext_hat_filtered

\(\hat{\tau}_{\text{ext}}\) Low-pass filtered torques generated by external forces on the joints. It does not include configured end-effector and load nor the mass and dynamics of the robot. tau_ext_hat_filtered is the error between tau_J and the expected torques given by the robot model. Unit: \([Nm]\).

property theta

\([rad]\)

Type:

\(\theta\) Motor position. Unit

property time

Strictly monotonically increasing timestamp since robot start.

Inside of control loops, the time_step parameter of the control loop callbacks can be used instead.