Franky 1.0.2
A High-Level Motion API for Franka
Loading...
Searching...
No Matches
robot_state.hpp
Go to the documentation of this file.
1// Adapted from https://github.com/frankaemika/libfranka/blob/main/include/franka/robot_state.h
2#pragma once
3
4#include <franka/robot_state.h>
5
7#include "franky/twist.hpp"
9#include "franky/types.hpp"
10#include "franky/util.hpp"
11
12namespace franky {
13
20struct RobotState {
22 const franka::RobotState& robot_state, std::optional<Vector7d> q_est = std::nullopt,
23 std::optional<Vector7d> dq_est = std::nullopt, std::optional<Vector7d> ddq_est = std::nullopt,
24 std::optional<Twist> O_dP_EE_est = std::nullopt, std::optional<TwistAcceleration> O_ddP_EE_est = std::nullopt,
25 std::optional<double> delbow_est = std::nullopt, std::optional<double> ddelbow_est = std::nullopt);
26
28 const franka::RobotState& robot_state, const Jacobian& ee_jacobian, const Vector7d& q_est, const Vector7d& dq_est,
29 const Vector7d& ddq_est);
30
35 Affine O_T_EE{}; // NOLINT(readability-identifier-naming)
36
41 Affine O_T_EE_d{}; // NOLINT(readability-identifier-naming)
42
51 Affine F_T_EE{}; // NOLINT(readability-identifier-naming)
52
53#ifdef FRANKA_0_8
62 Affine F_T_NE{}; // NOLINT(readability-identifier-naming)
63
73 Affine NE_T_EE{}; // NOLINT(readability-identifier-naming)
74#endif
75
82 Affine EE_T_K{}; // NOLINT(readability-identifier-naming)
83
88 double m_ee{};
89
94 IntertiaMatrix I_ee{}; // NOLINT(readability-identifier-naming)
95
100 Eigen::Vector3d F_x_Cee{}; // NOLINT(readability-identifier-naming)
101
106 double m_load{};
107
112 IntertiaMatrix I_load{}; // NOLINT(readability-identifier-naming)
113
118 Eigen::Vector3d F_x_Cload{}; // NOLINT(readability-identifier-naming)
119
124 double m_total{};
125
131 IntertiaMatrix I_total{}; // NOLINT(readability-identifier-naming)
132
138 Eigen::Vector3d F_x_Ctotal{}; // NOLINT(readability-identifier-naming)
139
144
149
154
158 double delbow_c{};
159
163 double ddelbow_c{};
164
169 Vector7d tau_J{}; // NOLINT(readability-identifier-naming)
170
175 Vector7d tau_J_d{}; // NOLINT(readability-identifier-naming)
176
181 Vector7d dtau_J{}; // NOLINT(readability-identifier-naming)
182
188
194
200
206
212
220
228
237
246
254
263 Vector6d O_F_ext_hat_K{}; // NOLINT(readability-identifier-naming)
264
273 Vector6d K_F_ext_hat_K{}; // NOLINT(readability-identifier-naming)
274
280 Twist O_dP_EE_d{}; // NOLINT(readability-identifier-naming)
281
282#ifdef FRANKA_0_9
290 Eigen::Vector3d O_ddP_O{}; // NOLINT(readability-identifier-naming)
291#endif
292
297 Affine O_T_EE_c{}; // NOLINT(readability-identifier-naming)
298
303 Twist O_dP_EE_c{}; // NOLINT(readability-identifier-naming)
304
311 TwistAcceleration O_ddP_EE_c{}; // NOLINT(readability-identifier-naming)
312
318
324
328 franka::Errors current_errors{};
329
333 franka::Errors last_motion_errors{};
334
343
347 franka::RobotMode robot_mode = franka::RobotMode::kUserStopped;
348
355 franka::Duration time{};
356
361 std::optional<Vector7d> q_est{};
362
367 std::optional<Vector7d> dq_est{};
368
373 std::optional<Vector7d> ddq_est{};
374
380 std::optional<Twist> O_dP_EE_est{};
381
387 std::optional<TwistAcceleration> O_ddP_EE_est{};
388
394 std::optional<double> delbow_est{};
395
401 std::optional<double> ddelbow_est{};
402};
403
404} // namespace franky
Elbow state of the robot.
Definition elbow_state.hpp:27
TwistAcceleration acceleration of a frame (2nd derivative of a pose).
Definition twist_acceleration.hpp:14
Twist of a frame.
Definition twist.hpp:13
Definition dynamics_limit.cpp:8
std::array< double, dims > toStdD(const Eigen::Matrix< double, dims, 1 > &vector)
Definition util.hpp:18
Eigen::Matrix< double, 3, 3 > IntertiaMatrix
Definition types.hpp:14
Eigen::Vector< double, 7 > Vector7d
Definition types.hpp:12
Eigen::Vector< double, 6 > Vector6d
Definition types.hpp:11
Eigen::Matrix< double, 6, 7 > Jacobian
Definition types.hpp:13
Eigen::Affine3d Affine
Definition types.hpp:16
Full state of the robot.
Definition robot_state.hpp:20
franka::Errors last_motion_errors
Definition robot_state.hpp:333
Affine O_T_EE
Definition robot_state.hpp:35
Vector6d K_F_ext_hat_K
Definition robot_state.hpp:273
Vector7d tau_ext_hat_filtered
Definition robot_state.hpp:253
static RobotState from_franka(const franka::RobotState &robot_state, std::optional< Vector7d > q_est=std::nullopt, std::optional< Vector7d > dq_est=std::nullopt, std::optional< Vector7d > ddq_est=std::nullopt, std::optional< Twist > O_dP_EE_est=std::nullopt, std::optional< TwistAcceleration > O_ddP_EE_est=std::nullopt, std::optional< double > delbow_est=std::nullopt, std::optional< double > ddelbow_est=std::nullopt)
Definition robot_state.cpp:7
Vector7d joint_contact
Definition robot_state.hpp:219
Eigen::Vector3d F_x_Cee
Definition robot_state.hpp:100
std::optional< Vector7d > q_est
Definition robot_state.hpp:361
Eigen::Vector3d F_x_Ctotal
Definition robot_state.hpp:138
Vector7d dq_d
Definition robot_state.hpp:205
TwistAcceleration O_ddP_EE_c
Definition robot_state.hpp:311
std::optional< TwistAcceleration > O_ddP_EE_est
Definition robot_state.hpp:387
double delbow_c
Definition robot_state.hpp:158
Vector6d cartesian_contact
Definition robot_state.hpp:227
Affine EE_T_K
Definition robot_state.hpp:82
IntertiaMatrix I_total
Definition robot_state.hpp:131
Vector7d tau_J_d
Definition robot_state.hpp:175
ElbowState elbow_c
Definition robot_state.hpp:153
Vector7d joint_collision
Definition robot_state.hpp:236
Vector7d dtau_J
Definition robot_state.hpp:181
Vector6d cartesian_collision
Definition robot_state.hpp:245
Vector7d dtheta
Definition robot_state.hpp:323
Vector7d theta
Definition robot_state.hpp:317
double m_total
Definition robot_state.hpp:124
IntertiaMatrix I_ee
Definition robot_state.hpp:94
Affine O_T_EE_d
Definition robot_state.hpp:41
franka::Duration time
Definition robot_state.hpp:355
double control_command_success_rate
Definition robot_state.hpp:342
std::optional< Twist > O_dP_EE_est
Definition robot_state.hpp:380
Vector7d tau_J
Definition robot_state.hpp:169
Affine F_T_EE
Definition robot_state.hpp:51
std::optional< Vector7d > ddq_est
Definition robot_state.hpp:373
Twist O_dP_EE_d
Definition robot_state.hpp:280
double m_ee
Definition robot_state.hpp:88
Twist O_dP_EE_c
Definition robot_state.hpp:303
ElbowState elbow_d
Definition robot_state.hpp:148
ElbowState elbow
Definition robot_state.hpp:143
Vector7d ddq_d
Definition robot_state.hpp:211
Vector7d q_d
Definition robot_state.hpp:193
std::optional< Vector7d > dq_est
Definition robot_state.hpp:367
franka::RobotMode robot_mode
Definition robot_state.hpp:347
double ddelbow_c
Definition robot_state.hpp:163
Eigen::Vector3d F_x_Cload
Definition robot_state.hpp:118
double m_load
Definition robot_state.hpp:106
Vector6d O_F_ext_hat_K
Definition robot_state.hpp:263
std::optional< double > delbow_est
Definition robot_state.hpp:394
IntertiaMatrix I_load
Definition robot_state.hpp:112
Vector7d q
Definition robot_state.hpp:187
std::optional< double > ddelbow_est
Definition robot_state.hpp:401
Vector7d dq
Definition robot_state.hpp:199
Affine O_T_EE_c
Definition robot_state.hpp:297
franka::Errors current_errors
Definition robot_state.hpp:328