.. _program_listing_file_include_franka_robot_state.h: Program Listing for File robot_state.h ====================================== |exhale_lsh| :ref:`Return to documentation for file ` (``include/franka/robot_state.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright (c) 2024 Franka Robotics GmbH // Use of this source code is governed by the Apache-2.0 license, see LICENSE #pragma once #include #include #include #include namespace franka { enum class RobotMode { kOther, kIdle, kMove, kGuiding, kReflex, kUserStopped, kAutomaticErrorRecovery }; struct RobotState { std::array O_T_EE{}; // NOLINT(readability-identifier-naming) std::array O_T_EE_d{}; // NOLINT(readability-identifier-naming) std::array F_T_EE{}; // NOLINT(readability-identifier-naming) std::array F_T_NE{}; // NOLINT(readability-identifier-naming) std::array NE_T_EE{}; // NOLINT(readability-identifier-naming) std::array EE_T_K{}; // NOLINT(readability-identifier-naming) double m_ee{}; std::array I_ee{}; // NOLINT(readability-identifier-naming) std::array F_x_Cee{}; // NOLINT(readability-identifier-naming) double m_load{}; std::array I_load{}; // NOLINT(readability-identifier-naming) std::array F_x_Cload{}; // NOLINT(readability-identifier-naming) double m_total{}; std::array I_total{}; // NOLINT(readability-identifier-naming) std::array F_x_Ctotal{}; // NOLINT(readability-identifier-naming) std::array elbow{}; std::array elbow_d{}; std::array elbow_c{}; std::array delbow_c{}; std::array ddelbow_c{}; std::array tau_J{}; // NOLINT(readability-identifier-naming) std::array tau_J_d{}; // NOLINT(readability-identifier-naming) std::array dtau_J{}; // NOLINT(readability-identifier-naming) std::array q{}; std::array q_d{}; std::array dq{}; std::array dq_d{}; std::array ddq_d{}; std::array joint_contact{}; std::array cartesian_contact{}; std::array joint_collision{}; std::array cartesian_collision{}; std::array tau_ext_hat_filtered{}; std::array O_F_ext_hat_K{}; // NOLINT(readability-identifier-naming) std::array K_F_ext_hat_K{}; // NOLINT(readability-identifier-naming) std::array O_dP_EE_d{}; // NOLINT(readability-identifier-naming) std::array O_ddP_O{}; // NOLINT(readability-identifier-naming) std::array O_T_EE_c{}; // NOLINT(readability-identifier-naming) std::array O_dP_EE_c{}; // NOLINT(readability-identifier-naming) std::array O_ddP_EE_c{}; // NOLINT(readability-identifier-naming) std::array theta{}; std::array dtheta{}; Errors current_errors{}; Errors last_motion_errors{}; double control_command_success_rate{}; RobotMode robot_mode = RobotMode::kUserStopped; Duration time{}; }; std::ostream& operator<<(std::ostream& ostream, const franka::RobotState& robot_state); std::ostream& operator<<(std::ostream& ostream, RobotMode robot_mode); } // namespace franka