From 9a12414b5318b1e5a2f3c0cb6bba56e3969ec7c5 Mon Sep 17 00:00:00 2001 From: Jacob Larsen Date: Mon, 22 Sep 2025 06:41:43 +0000 Subject: [PATCH 1/4] Update RTDE list to include new fields Also reordered the fields to match the documentation order. --- src/rtde/data_package.cpp | 521 ++++++++++++++++++++------------------ 1 file changed, 268 insertions(+), 253 deletions(-) diff --git a/src/rtde/data_package.cpp b/src/rtde/data_package.cpp index efa5b6699..6e4753b67 100644 --- a/src/rtde/data_package.cpp +++ b/src/rtde/data_package.cpp @@ -34,6 +34,248 @@ namespace urcl namespace rtde_interface { std::unordered_map DataPackage::g_type_list{ + // INPUTS + { "speed_slider_mask", uint32_t() }, + { "speed_slider_fraction", double() }, + { "standard_digital_output_mask", uint8_t() }, + { "configurable_digital_output_mask", uint8_t() }, + { "standard_digital_output", uint8_t() }, + { "configurable_digital_output", uint8_t() }, + { "standard_analog_output_mask", uint8_t() }, + { "standard_analog_output_type", uint8_t() }, + { "standard_analog_output_0", double() }, + { "standard_analog_output_1", double() }, + { "external_force_torque", vector6d_t() }, + + // INPUT / OUTPUT + { "input_bit_registers0_to_31", uint32_t() }, + { "input_bit_registers32_to_63", uint32_t() }, + { "input_bit_register_0", bool() }, + { "input_bit_register_1", bool() }, + { "input_bit_register_2", bool() }, + { "input_bit_register_3", bool() }, + { "input_bit_register_4", bool() }, + { "input_bit_register_5", bool() }, + { "input_bit_register_6", bool() }, + { "input_bit_register_7", bool() }, + { "input_bit_register_8", bool() }, + { "input_bit_register_9", bool() }, + { "input_bit_register_10", bool() }, + { "input_bit_register_11", bool() }, + { "input_bit_register_12", bool() }, + { "input_bit_register_13", bool() }, + { "input_bit_register_14", bool() }, + { "input_bit_register_15", bool() }, + { "input_bit_register_16", bool() }, + { "input_bit_register_17", bool() }, + { "input_bit_register_18", bool() }, + { "input_bit_register_19", bool() }, + { "input_bit_register_20", bool() }, + { "input_bit_register_21", bool() }, + { "input_bit_register_22", bool() }, + { "input_bit_register_23", bool() }, + { "input_bit_register_24", bool() }, + { "input_bit_register_25", bool() }, + { "input_bit_register_26", bool() }, + { "input_bit_register_27", bool() }, + { "input_bit_register_28", bool() }, + { "input_bit_register_29", bool() }, + { "input_bit_register_30", bool() }, + { "input_bit_register_31", bool() }, + { "input_bit_register_32", bool() }, + { "input_bit_register_33", bool() }, + { "input_bit_register_34", bool() }, + { "input_bit_register_35", bool() }, + { "input_bit_register_36", bool() }, + { "input_bit_register_37", bool() }, + { "input_bit_register_38", bool() }, + { "input_bit_register_39", bool() }, + { "input_bit_register_40", bool() }, + { "input_bit_register_41", bool() }, + { "input_bit_register_42", bool() }, + { "input_bit_register_43", bool() }, + { "input_bit_register_44", bool() }, + { "input_bit_register_45", bool() }, + { "input_bit_register_46", bool() }, + { "input_bit_register_47", bool() }, + { "input_bit_register_48", bool() }, + { "input_bit_register_49", bool() }, + { "input_bit_register_50", bool() }, + { "input_bit_register_51", bool() }, + { "input_bit_register_52", bool() }, + { "input_bit_register_53", bool() }, + { "input_bit_register_54", bool() }, + { "input_bit_register_55", bool() }, + { "input_bit_register_56", bool() }, + { "input_bit_register_57", bool() }, + { "input_bit_register_58", bool() }, + { "input_bit_register_59", bool() }, + { "input_bit_register_60", bool() }, + { "input_bit_register_61", bool() }, + { "input_bit_register_62", bool() }, + { "input_bit_register_63", bool() }, + { "input_bit_register_64", bool() }, + { "input_bit_register_65", bool() }, + { "input_bit_register_66", bool() }, + { "input_bit_register_67", bool() }, + { "input_bit_register_68", bool() }, + { "input_bit_register_69", bool() }, + { "input_bit_register_70", bool() }, + { "input_bit_register_71", bool() }, + { "input_bit_register_72", bool() }, + { "input_bit_register_73", bool() }, + { "input_bit_register_74", bool() }, + { "input_bit_register_75", bool() }, + { "input_bit_register_76", bool() }, + { "input_bit_register_77", bool() }, + { "input_bit_register_78", bool() }, + { "input_bit_register_79", bool() }, + { "input_bit_register_80", bool() }, + { "input_bit_register_81", bool() }, + { "input_bit_register_82", bool() }, + { "input_bit_register_83", bool() }, + { "input_bit_register_84", bool() }, + { "input_bit_register_85", bool() }, + { "input_bit_register_86", bool() }, + { "input_bit_register_87", bool() }, + { "input_bit_register_88", bool() }, + { "input_bit_register_89", bool() }, + { "input_bit_register_90", bool() }, + { "input_bit_register_91", bool() }, + { "input_bit_register_92", bool() }, + { "input_bit_register_93", bool() }, + { "input_bit_register_94", bool() }, + { "input_bit_register_95", bool() }, + { "input_bit_register_96", bool() }, + { "input_bit_register_97", bool() }, + { "input_bit_register_98", bool() }, + { "input_bit_register_99", bool() }, + { "input_bit_register_100", bool() }, + { "input_bit_register_101", bool() }, + { "input_bit_register_102", bool() }, + { "input_bit_register_103", bool() }, + { "input_bit_register_104", bool() }, + { "input_bit_register_105", bool() }, + { "input_bit_register_106", bool() }, + { "input_bit_register_107", bool() }, + { "input_bit_register_108", bool() }, + { "input_bit_register_109", bool() }, + { "input_bit_register_110", bool() }, + { "input_bit_register_111", bool() }, + { "input_bit_register_112", bool() }, + { "input_bit_register_113", bool() }, + { "input_bit_register_114", bool() }, + { "input_bit_register_115", bool() }, + { "input_bit_register_116", bool() }, + { "input_bit_register_117", bool() }, + { "input_bit_register_118", bool() }, + { "input_bit_register_119", bool() }, + { "input_bit_register_120", bool() }, + { "input_bit_register_121", bool() }, + { "input_bit_register_122", bool() }, + { "input_bit_register_123", bool() }, + { "input_bit_register_124", bool() }, + { "input_bit_register_125", bool() }, + { "input_bit_register_126", bool() }, + { "input_bit_register_127", bool() }, + { "input_int_register_0", int32_t() }, + { "input_int_register_1", int32_t() }, + { "input_int_register_2", int32_t() }, + { "input_int_register_3", int32_t() }, + { "input_int_register_4", int32_t() }, + { "input_int_register_5", int32_t() }, + { "input_int_register_6", int32_t() }, + { "input_int_register_7", int32_t() }, + { "input_int_register_8", int32_t() }, + { "input_int_register_9", int32_t() }, + { "input_int_register_10", int32_t() }, + { "input_int_register_11", int32_t() }, + { "input_int_register_12", int32_t() }, + { "input_int_register_13", int32_t() }, + { "input_int_register_14", int32_t() }, + { "input_int_register_15", int32_t() }, + { "input_int_register_16", int32_t() }, + { "input_int_register_17", int32_t() }, + { "input_int_register_18", int32_t() }, + { "input_int_register_19", int32_t() }, + { "input_int_register_20", int32_t() }, + { "input_int_register_21", int32_t() }, + { "input_int_register_22", int32_t() }, + { "input_int_register_23", int32_t() }, + { "input_int_register_24", int32_t() }, + { "input_int_register_25", int32_t() }, + { "input_int_register_26", int32_t() }, + { "input_int_register_27", int32_t() }, + { "input_int_register_28", int32_t() }, + { "input_int_register_29", int32_t() }, + { "input_int_register_30", int32_t() }, + { "input_int_register_31", int32_t() }, + { "input_int_register_32", int32_t() }, + { "input_int_register_33", int32_t() }, + { "input_int_register_34", int32_t() }, + { "input_int_register_35", int32_t() }, + { "input_int_register_36", int32_t() }, + { "input_int_register_37", int32_t() }, + { "input_int_register_38", int32_t() }, + { "input_int_register_39", int32_t() }, + { "input_int_register_40", int32_t() }, + { "input_int_register_41", int32_t() }, + { "input_int_register_42", int32_t() }, + { "input_int_register_43", int32_t() }, + { "input_int_register_44", int32_t() }, + { "input_int_register_45", int32_t() }, + { "input_int_register_46", int32_t() }, + { "input_int_register_47", int32_t() }, + { "input_double_register_0", double() }, + { "input_double_register_1", double() }, + { "input_double_register_2", double() }, + { "input_double_register_3", double() }, + { "input_double_register_4", double() }, + { "input_double_register_5", double() }, + { "input_double_register_6", double() }, + { "input_double_register_7", double() }, + { "input_double_register_8", double() }, + { "input_double_register_9", double() }, + { "input_double_register_10", double() }, + { "input_double_register_11", double() }, + { "input_double_register_12", double() }, + { "input_double_register_13", double() }, + { "input_double_register_14", double() }, + { "input_double_register_15", double() }, + { "input_double_register_16", double() }, + { "input_double_register_17", double() }, + { "input_double_register_18", double() }, + { "input_double_register_19", double() }, + { "input_double_register_20", double() }, + { "input_double_register_21", double() }, + { "input_double_register_22", double() }, + { "input_double_register_23", double() }, + { "input_double_register_24", double() }, + { "input_double_register_25", double() }, + { "input_double_register_26", double() }, + { "input_double_register_27", double() }, + { "input_double_register_28", double() }, + { "input_double_register_29", double() }, + { "input_double_register_30", double() }, + { "input_double_register_31", double() }, + { "input_double_register_32", double() }, + { "input_double_register_33", double() }, + { "input_double_register_34", double() }, + { "input_double_register_35", double() }, + { "input_double_register_36", double() }, + { "input_double_register_37", double() }, + { "input_double_register_38", double() }, + { "input_double_register_39", double() }, + { "input_double_register_40", double() }, + { "input_double_register_41", double() }, + { "input_double_register_42", double() }, + { "input_double_register_43", double() }, + { "input_double_register_44", double() }, + { "input_double_register_45", double() }, + { "input_double_register_46", double() }, + { "input_double_register_47", double() }, + + // OUTPUTS { "timestamp", double() }, { "target_q", vector6d_t() }, { "target_qd", vector6d_t() }, @@ -44,6 +286,7 @@ std::unordered_map DataPackage::g_ { "actual_qd", vector6d_t() }, { "actual_current", vector6d_t() }, { "actual_current_window", vector6d_t() }, + { "actual_current_as_torque", vector6d_t() }, { "joint_control_output", vector6d_t() }, { "actual_TCP_pose", vector6d_t() }, { "actual_TCP_speed", vector6d_t() }, @@ -77,18 +320,6 @@ std::unordered_map DataPackage::g_ { "standard_analog_output0", double() }, { "standard_analog_output1", double() }, { "io_current", double() }, - { "euromap67_input_bits", uint32_t() }, - { "euromap67_output_bits", uint32_t() }, - { "euromap67_24V_voltage", double() }, - { "euromap67_24V_current", double() }, - { "tool_mode", uint32_t() }, - { "tool_analog_input_types", uint32_t() }, - { "tool_analog_input0", double() }, - { "tool_analog_input1", double() }, - { "tool_output_voltage", int32_t() }, - { "tool_output_current", double() }, - { "tool_temperature", double() }, - { "tcp_force_scalar", double() }, { "output_bit_registers0_to_31", uint32_t() }, { "output_bit_registers32_to_63", uint32_t() }, { "output_bit_register_0", bool() }, @@ -315,255 +546,39 @@ std::unordered_map DataPackage::g_ { "output_double_register_45", double() }, { "output_double_register_46", double() }, { "output_double_register_47", double() }, - { "input_bit_registers0_to_31", uint32_t() }, - { "input_bit_registers32_to_63", uint32_t() }, - { "input_bit_register_0", bool() }, - { "input_bit_register_1", bool() }, - { "input_bit_register_2", bool() }, - { "input_bit_register_3", bool() }, - { "input_bit_register_4", bool() }, - { "input_bit_register_5", bool() }, - { "input_bit_register_6", bool() }, - { "input_bit_register_7", bool() }, - { "input_bit_register_8", bool() }, - { "input_bit_register_9", bool() }, - { "input_bit_register_10", bool() }, - { "input_bit_register_11", bool() }, - { "input_bit_register_12", bool() }, - { "input_bit_register_13", bool() }, - { "input_bit_register_14", bool() }, - { "input_bit_register_15", bool() }, - { "input_bit_register_16", bool() }, - { "input_bit_register_17", bool() }, - { "input_bit_register_18", bool() }, - { "input_bit_register_19", bool() }, - { "input_bit_register_20", bool() }, - { "input_bit_register_21", bool() }, - { "input_bit_register_22", bool() }, - { "input_bit_register_23", bool() }, - { "input_bit_register_24", bool() }, - { "input_bit_register_25", bool() }, - { "input_bit_register_26", bool() }, - { "input_bit_register_27", bool() }, - { "input_bit_register_28", bool() }, - { "input_bit_register_29", bool() }, - { "input_bit_register_30", bool() }, - { "input_bit_register_31", bool() }, - { "input_bit_register_32", bool() }, - { "input_bit_register_33", bool() }, - { "input_bit_register_34", bool() }, - { "input_bit_register_35", bool() }, - { "input_bit_register_36", bool() }, - { "input_bit_register_37", bool() }, - { "input_bit_register_38", bool() }, - { "input_bit_register_39", bool() }, - { "input_bit_register_40", bool() }, - { "input_bit_register_41", bool() }, - { "input_bit_register_42", bool() }, - { "input_bit_register_43", bool() }, - { "input_bit_register_44", bool() }, - { "input_bit_register_45", bool() }, - { "input_bit_register_46", bool() }, - { "input_bit_register_47", bool() }, - { "input_bit_register_48", bool() }, - { "input_bit_register_49", bool() }, - { "input_bit_register_50", bool() }, - { "input_bit_register_51", bool() }, - { "input_bit_register_52", bool() }, - { "input_bit_register_53", bool() }, - { "input_bit_register_54", bool() }, - { "input_bit_register_55", bool() }, - { "input_bit_register_56", bool() }, - { "input_bit_register_57", bool() }, - { "input_bit_register_58", bool() }, - { "input_bit_register_59", bool() }, - { "input_bit_register_60", bool() }, - { "input_bit_register_61", bool() }, - { "input_bit_register_62", bool() }, - { "input_bit_register_63", bool() }, - { "input_bit_register_64", bool() }, - { "input_bit_register_65", bool() }, - { "input_bit_register_66", bool() }, - { "input_bit_register_67", bool() }, - { "input_bit_register_68", bool() }, - { "input_bit_register_69", bool() }, - { "input_bit_register_70", bool() }, - { "input_bit_register_71", bool() }, - { "input_bit_register_72", bool() }, - { "input_bit_register_73", bool() }, - { "input_bit_register_74", bool() }, - { "input_bit_register_75", bool() }, - { "input_bit_register_76", bool() }, - { "input_bit_register_77", bool() }, - { "input_bit_register_78", bool() }, - { "input_bit_register_79", bool() }, - { "input_bit_register_80", bool() }, - { "input_bit_register_81", bool() }, - { "input_bit_register_82", bool() }, - { "input_bit_register_83", bool() }, - { "input_bit_register_84", bool() }, - { "input_bit_register_85", bool() }, - { "input_bit_register_86", bool() }, - { "input_bit_register_87", bool() }, - { "input_bit_register_88", bool() }, - { "input_bit_register_89", bool() }, - { "input_bit_register_90", bool() }, - { "input_bit_register_91", bool() }, - { "input_bit_register_92", bool() }, - { "input_bit_register_93", bool() }, - { "input_bit_register_94", bool() }, - { "input_bit_register_95", bool() }, - { "input_bit_register_96", bool() }, - { "input_bit_register_97", bool() }, - { "input_bit_register_98", bool() }, - { "input_bit_register_99", bool() }, - { "input_bit_register_100", bool() }, - { "input_bit_register_101", bool() }, - { "input_bit_register_102", bool() }, - { "input_bit_register_103", bool() }, - { "input_bit_register_104", bool() }, - { "input_bit_register_105", bool() }, - { "input_bit_register_106", bool() }, - { "input_bit_register_107", bool() }, - { "input_bit_register_108", bool() }, - { "input_bit_register_109", bool() }, - { "input_bit_register_110", bool() }, - { "input_bit_register_111", bool() }, - { "input_bit_register_112", bool() }, - { "input_bit_register_113", bool() }, - { "input_bit_register_114", bool() }, - { "input_bit_register_115", bool() }, - { "input_bit_register_116", bool() }, - { "input_bit_register_117", bool() }, - { "input_bit_register_118", bool() }, - { "input_bit_register_119", bool() }, - { "input_bit_register_120", bool() }, - { "input_bit_register_121", bool() }, - { "input_bit_register_122", bool() }, - { "input_bit_register_123", bool() }, - { "input_bit_register_124", bool() }, - { "input_bit_register_125", bool() }, - { "input_bit_register_126", bool() }, - { "input_bit_register_127", bool() }, - { "input_int_register_0", int32_t() }, - { "input_int_register_1", int32_t() }, - { "input_int_register_2", int32_t() }, - { "input_int_register_3", int32_t() }, - { "input_int_register_4", int32_t() }, - { "input_int_register_5", int32_t() }, - { "input_int_register_6", int32_t() }, - { "input_int_register_7", int32_t() }, - { "input_int_register_8", int32_t() }, - { "input_int_register_9", int32_t() }, - { "input_int_register_10", int32_t() }, - { "input_int_register_11", int32_t() }, - { "input_int_register_12", int32_t() }, - { "input_int_register_13", int32_t() }, - { "input_int_register_14", int32_t() }, - { "input_int_register_15", int32_t() }, - { "input_int_register_16", int32_t() }, - { "input_int_register_17", int32_t() }, - { "input_int_register_18", int32_t() }, - { "input_int_register_19", int32_t() }, - { "input_int_register_20", int32_t() }, - { "input_int_register_21", int32_t() }, - { "input_int_register_22", int32_t() }, - { "input_int_register_23", int32_t() }, - { "input_int_register_24", int32_t() }, - { "input_int_register_25", int32_t() }, - { "input_int_register_26", int32_t() }, - { "input_int_register_27", int32_t() }, - { "input_int_register_28", int32_t() }, - { "input_int_register_29", int32_t() }, - { "input_int_register_30", int32_t() }, - { "input_int_register_31", int32_t() }, - { "input_int_register_32", int32_t() }, - { "input_int_register_33", int32_t() }, - { "input_int_register_34", int32_t() }, - { "input_int_register_35", int32_t() }, - { "input_int_register_36", int32_t() }, - { "input_int_register_37", int32_t() }, - { "input_int_register_38", int32_t() }, - { "input_int_register_39", int32_t() }, - { "input_int_register_40", int32_t() }, - { "input_int_register_41", int32_t() }, - { "input_int_register_42", int32_t() }, - { "input_int_register_43", int32_t() }, - { "input_int_register_44", int32_t() }, - { "input_int_register_45", int32_t() }, - { "input_int_register_46", int32_t() }, - { "input_int_register_47", int32_t() }, - { "input_double_register_0", double() }, - { "input_double_register_1", double() }, - { "input_double_register_2", double() }, - { "input_double_register_3", double() }, - { "input_double_register_4", double() }, - { "input_double_register_5", double() }, - { "input_double_register_6", double() }, - { "input_double_register_7", double() }, - { "input_double_register_8", double() }, - { "input_double_register_9", double() }, - { "input_double_register_10", double() }, - { "input_double_register_11", double() }, - { "input_double_register_12", double() }, - { "input_double_register_13", double() }, - { "input_double_register_14", double() }, - { "input_double_register_15", double() }, - { "input_double_register_16", double() }, - { "input_double_register_17", double() }, - { "input_double_register_18", double() }, - { "input_double_register_19", double() }, - { "input_double_register_20", double() }, - { "input_double_register_21", double() }, - { "input_double_register_22", double() }, - { "input_double_register_23", double() }, - { "input_double_register_24", double() }, - { "input_double_register_25", double() }, - { "input_double_register_26", double() }, - { "input_double_register_27", double() }, - { "input_double_register_28", double() }, - { "input_double_register_29", double() }, - { "input_double_register_30", double() }, - { "input_double_register_31", double() }, - { "input_double_register_32", double() }, - { "input_double_register_33", double() }, - { "input_double_register_34", double() }, - { "input_double_register_35", double() }, - { "input_double_register_36", double() }, - { "input_double_register_37", double() }, - { "input_double_register_38", double() }, - { "input_double_register_39", double() }, - { "input_double_register_40", double() }, - { "input_double_register_41", double() }, - { "input_double_register_42", double() }, - { "input_double_register_43", double() }, - { "input_double_register_44", double() }, - { "input_double_register_45", double() }, - { "input_double_register_46", double() }, - { "input_double_register_47", double() }, - { "speed_slider_mask", uint32_t() }, - { "speed_slider_fraction", double() }, - { "standard_digital_output_mask", uint8_t() }, - { "standard_digital_output", uint8_t() }, - { "configurable_digital_output_mask", uint8_t() }, - { "configurable_digital_output", uint8_t() }, - { "tool_digital_output_mask", uint8_t() }, + { "output_bit_registers", uint32_t() }, + { "actual_robot_energy_consumed", double() }, + { "actual_robot_braking_energy_dissipated", double() }, + { "encoder0_raw", int32_t() }, + { "encoder1_raw", int32_t() }, + { "euromap67_input_bits", uint32_t() }, + { "euromap67_output_bits", uint32_t() }, + { "euromap67_24V_voltage", double() }, + { "euromap67_24V_current", double() }, + { "tool_mode", uint32_t() }, + { "tool_analog_input_types", uint32_t() }, + { "tool_analog_input0", double() }, + { "tool_analog_input1", double() }, + { "tool_output_voltage", int32_t() }, + { "tool_output_current", double() }, + { "tool_temperature", double() }, { "tool_output_mode", uint8_t() }, { "tool_digital_output0_mode", uint8_t() }, { "tool_digital_output1_mode", uint8_t() }, - { "tool_digital_output", uint8_t() }, + { "tcp_force_scalar", double() }, + { "joint_position_deviation_ratio", double() }, + { "collision_detection_ratio", double() }, + { "ft_raw_wrench", vector6d_t() }, + { "wrench_calc_from_currents", vector6d_t() }, { "payload", double() }, { "payload_cog", vector3d_t() }, { "payload_inertia", vector6d_t() }, { "script_control_line", uint32_t() }, - { "ft_raw_wrench", vector6d_t() }, - { "joint_position_deviation_ratio", double() }, - { "collision_detection_ratio", double() }, { "time_scale_source", int32_t() }, - { "standard_analog_output_mask", uint8_t() }, - { "standard_analog_output_type", uint8_t() }, - { "standard_analog_output_0", double() }, - { "standard_analog_output_1", double() }, + + // NOT IN OFFICIAL DOCS + { "tool_digital_output_mask", uint8_t() }, + { "tool_digital_output", uint8_t() }, { "tcp_offset", vector6d_t() }, }; From 898504a4758a98f7bf195ce3ca9953f3d7d7dac8 Mon Sep 17 00:00:00 2001 From: Jacob Larsen Date: Mon, 29 Sep 2025 08:25:10 +0000 Subject: [PATCH 2/4] Update to new docs --- src/rtde/data_package.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/rtde/data_package.cpp b/src/rtde/data_package.cpp index 6e4753b67..3527dc2fb 100644 --- a/src/rtde/data_package.cpp +++ b/src/rtde/data_package.cpp @@ -38,8 +38,8 @@ std::unordered_map DataPackage::g_ { "speed_slider_mask", uint32_t() }, { "speed_slider_fraction", double() }, { "standard_digital_output_mask", uint8_t() }, - { "configurable_digital_output_mask", uint8_t() }, { "standard_digital_output", uint8_t() }, + { "configurable_digital_output_mask", uint8_t() }, { "configurable_digital_output", uint8_t() }, { "standard_analog_output_mask", uint8_t() }, { "standard_analog_output_type", uint8_t() }, @@ -293,9 +293,14 @@ std::unordered_map DataPackage::g_ { "actual_TCP_force", vector6d_t() }, { "target_TCP_pose", vector6d_t() }, { "target_TCP_speed", vector6d_t() }, + { "tcp_offset", vector6d_t() }, + { "actual_TCP_acceleration", vector6d_t() }, + { "target_TCP_acceleration", vector6d_t() }, { "actual_digital_input_bits", uint64_t() }, + { "actual_configurable_digital_input_bits", uint64_t() }, { "joint_temperatures", vector6d_t() }, { "actual_execution_time", double() }, + { "target_execution_time", double() }, { "robot_mode", int32_t() }, { "joint_mode", vector6int32_t() }, { "safety_mode", int32_t() }, @@ -309,6 +314,7 @@ std::unordered_map DataPackage::g_ { "actual_robot_current", double() }, { "actual_joint_voltage", vector6d_t() }, { "actual_digital_output_bits", uint64_t() }, + { "actual_configurable_digital_output_bits", uint64_t() }, { "runtime_state", uint32_t() }, { "elbow_position", vector3d_t() }, { "elbow_velocity", vector3d_t() }, @@ -546,7 +552,6 @@ std::unordered_map DataPackage::g_ { "output_double_register_45", double() }, { "output_double_register_46", double() }, { "output_double_register_47", double() }, - { "output_bit_registers", uint32_t() }, { "actual_robot_energy_consumed", double() }, { "actual_robot_braking_energy_dissipated", double() }, { "encoder0_raw", int32_t() }, @@ -579,7 +584,6 @@ std::unordered_map DataPackage::g_ // NOT IN OFFICIAL DOCS { "tool_digital_output_mask", uint8_t() }, { "tool_digital_output", uint8_t() }, - { "tcp_offset", vector6d_t() }, }; void rtde_interface::DataPackage::initEmpty() From c29fdfa1ea0fe4860a83926655ef481b771a163c Mon Sep 17 00:00:00 2001 From: Jacob Larsen Date: Mon, 29 Sep 2025 09:30:10 +0000 Subject: [PATCH 3/4] Update exhaustive rtde test recipe --- .../exhaustive_rtde_output_recipe.txt | 874 +++++++++++------- 1 file changed, 532 insertions(+), 342 deletions(-) diff --git a/tests/resources/exhaustive_rtde_output_recipe.txt b/tests/resources/exhaustive_rtde_output_recipe.txt index 0d87fc963..5ca846c8f 100644 --- a/tests/resources/exhaustive_rtde_output_recipe.txt +++ b/tests/resources/exhaustive_rtde_output_recipe.txt @@ -1,342 +1,532 @@ -timestamp -target_q -target_qd -target_qdd -target_current -target_moment -actual_q -actual_qd -actual_current -actual_current_window -joint_control_output -actual_TCP_pose -actual_TCP_speed -actual_TCP_force -target_TCP_pose -target_TCP_speed -actual_digital_input_bits -joint_temperatures -actual_execution_time -robot_mode -joint_mode -safety_mode -safety_status -actual_tool_accelerometer -speed_scaling -target_speed_fraction -actual_momentum -actual_main_voltage -actual_robot_voltage -actual_robot_current -actual_joint_voltage -actual_digital_output_bits -runtime_state -elbow_position -elbow_velocity -robot_status_bits -safety_status_bits -analog_io_types -standard_analog_input0 -standard_analog_input1 -standard_analog_output0 -standard_analog_output1 -io_current -euromap67_input_bits -euromap67_output_bits -euromap67_24V_voltage -euromap67_24V_current -tool_mode -tool_analog_input_types -tool_analog_input0 -tool_analog_input1 -tool_output_voltage -tool_output_current -tool_temperature -tcp_force_scalar -output_bit_registers0_to_31 -output_bit_registers32_to_63 -output_bit_register_64 -output_bit_register_65 -output_bit_register_66 -output_bit_register_67 -output_bit_register_68 -output_bit_register_69 -output_bit_register_70 -output_bit_register_71 -output_bit_register_72 -output_bit_register_73 -output_bit_register_74 -output_bit_register_75 -output_bit_register_76 -output_bit_register_77 -output_bit_register_78 -output_bit_register_79 -output_bit_register_80 -output_bit_register_81 -output_bit_register_82 -output_bit_register_83 -output_bit_register_84 -output_bit_register_85 -output_bit_register_86 -output_bit_register_87 -output_bit_register_88 -output_bit_register_89 -output_bit_register_90 -output_bit_register_91 -output_bit_register_92 -output_bit_register_93 -output_bit_register_94 -output_bit_register_95 -output_bit_register_96 -output_bit_register_97 -output_bit_register_98 -output_bit_register_99 -output_bit_register_100 -output_bit_register_101 -output_bit_register_102 -output_bit_register_103 -output_bit_register_104 -output_bit_register_105 -output_bit_register_106 -output_bit_register_107 -output_bit_register_108 -output_bit_register_109 -output_bit_register_110 -output_bit_register_111 -output_bit_register_112 -output_bit_register_113 -output_bit_register_114 -output_bit_register_115 -output_bit_register_116 -output_bit_register_117 -output_bit_register_118 -output_bit_register_119 -output_bit_register_120 -output_bit_register_121 -output_bit_register_122 -output_bit_register_123 -output_bit_register_124 -output_bit_register_125 -output_bit_register_126 -output_bit_register_127 -output_int_register_0 -output_int_register_1 -output_int_register_2 -output_int_register_3 -output_int_register_4 -output_int_register_5 -output_int_register_6 -output_int_register_7 -output_int_register_8 -output_int_register_9 -output_int_register_10 -output_int_register_11 -output_int_register_12 -output_int_register_13 -output_int_register_14 -output_int_register_15 -output_int_register_16 -output_int_register_17 -output_int_register_18 -output_int_register_19 -output_int_register_20 -output_int_register_21 -output_int_register_22 -output_int_register_23 -output_int_register_24 -output_int_register_25 -output_int_register_26 -output_int_register_27 -output_int_register_28 -output_int_register_29 -output_int_register_30 -output_int_register_31 -output_int_register_32 -output_int_register_33 -output_int_register_34 -output_int_register_35 -output_int_register_36 -output_int_register_37 -output_int_register_38 -output_int_register_39 -output_int_register_40 -output_int_register_41 -output_int_register_42 -output_int_register_43 -output_int_register_44 -output_int_register_45 -output_int_register_46 -output_int_register_47 -output_double_register_0 -output_double_register_1 -output_double_register_2 -output_double_register_3 -output_double_register_4 -output_double_register_5 -output_double_register_6 -output_double_register_7 -output_double_register_8 -output_double_register_9 -output_double_register_10 -output_double_register_11 -output_double_register_12 -output_double_register_13 -output_double_register_14 -output_double_register_15 -output_double_register_16 -output_double_register_17 -output_double_register_18 -output_double_register_19 -output_double_register_20 -output_double_register_21 -output_double_register_22 -output_double_register_23 -output_double_register_24 -output_double_register_25 -output_double_register_26 -output_double_register_27 -output_double_register_28 -output_double_register_29 -output_double_register_30 -output_double_register_31 -output_double_register_32 -output_double_register_33 -output_double_register_34 -output_double_register_35 -output_double_register_36 -output_double_register_37 -output_double_register_38 -output_double_register_39 -output_double_register_40 -output_double_register_41 -output_double_register_42 -output_double_register_43 -output_double_register_44 -output_double_register_45 -output_double_register_46 -output_double_register_47 -input_bit_registers0_to_31 -input_bit_registers32_to_63 -input_bit_register_64 -input_bit_register_65 -input_bit_register_66 -input_bit_register_67 -input_bit_register_68 -input_bit_register_69 -input_bit_register_70 -input_bit_register_71 -input_bit_register_72 -input_bit_register_73 -input_bit_register_74 -input_bit_register_75 -input_bit_register_76 -input_bit_register_77 -input_bit_register_78 -input_bit_register_79 -input_bit_register_80 -input_bit_register_81 -input_bit_register_82 -input_bit_register_83 -input_bit_register_84 -input_bit_register_85 -input_bit_register_86 -input_bit_register_87 -input_bit_register_88 -input_bit_register_89 -input_bit_register_90 -input_bit_register_91 -input_bit_register_92 -input_bit_register_93 -input_bit_register_94 -input_bit_register_95 -input_bit_register_96 -input_bit_register_97 -input_bit_register_98 -input_bit_register_99 -input_bit_register_100 -input_bit_register_101 -input_bit_register_102 -input_bit_register_103 -input_bit_register_104 -input_bit_register_105 -input_bit_register_106 -input_bit_register_107 -input_bit_register_108 -input_bit_register_109 -input_bit_register_110 -input_bit_register_111 -input_bit_register_112 -input_bit_register_113 -input_bit_register_114 -input_bit_register_115 -input_bit_register_116 -input_bit_register_117 -input_bit_register_118 -input_bit_register_119 -input_bit_register_120 -input_bit_register_121 -input_bit_register_122 -input_bit_register_123 -input_bit_register_124 -input_bit_register_125 -input_bit_register_126 -input_bit_register_127 -input_double_register_0 -input_double_register_1 -input_double_register_2 -input_double_register_3 -input_double_register_4 -input_double_register_5 -input_double_register_6 -input_double_register_7 -input_double_register_8 -input_double_register_9 -input_double_register_10 -input_double_register_11 -input_double_register_12 -input_double_register_13 -input_double_register_14 -input_double_register_15 -input_double_register_16 -input_double_register_17 -input_double_register_18 -input_double_register_19 -input_double_register_20 -input_double_register_21 -input_double_register_22 -input_double_register_23 -input_double_register_24 -input_double_register_25 -input_double_register_26 -input_double_register_27 -input_double_register_28 -input_double_register_29 -input_double_register_30 -input_double_register_31 -input_double_register_32 -input_double_register_33 -input_double_register_34 -input_double_register_35 -input_double_register_36 -input_double_register_37 -input_double_register_38 -input_double_register_39 -input_double_register_40 -input_double_register_41 -input_double_register_42 -input_double_register_43 -input_double_register_44 -input_double_register_45 -input_double_register_46 -input_double_register_47 -tool_output_mode -tool_digital_output0_mode -tool_digital_output1_mode -payload -payload_cog -payload_inertia -script_control_line -ft_raw_wrench -joint_position_deviation_ratio -collision_detection_ratio -time_scale_source + input_bit_registers0_to_31 + input_bit_registers32_to_63 + input_bit_register_0 + input_bit_register_1 + input_bit_register_2 + input_bit_register_3 + input_bit_register_4 + input_bit_register_5 + input_bit_register_6 + input_bit_register_7 + input_bit_register_8 + input_bit_register_9 + input_bit_register_10 + input_bit_register_11 + input_bit_register_12 + input_bit_register_13 + input_bit_register_14 + input_bit_register_15 + input_bit_register_16 + input_bit_register_17 + input_bit_register_18 + input_bit_register_19 + input_bit_register_20 + input_bit_register_21 + input_bit_register_22 + input_bit_register_23 + input_bit_register_24 + input_bit_register_25 + input_bit_register_26 + input_bit_register_27 + input_bit_register_28 + input_bit_register_29 + input_bit_register_30 + input_bit_register_31 + input_bit_register_32 + input_bit_register_33 + input_bit_register_34 + input_bit_register_35 + input_bit_register_36 + input_bit_register_37 + input_bit_register_38 + input_bit_register_39 + input_bit_register_40 + input_bit_register_41 + input_bit_register_42 + input_bit_register_43 + input_bit_register_44 + input_bit_register_45 + input_bit_register_46 + input_bit_register_47 + input_bit_register_48 + input_bit_register_49 + input_bit_register_50 + input_bit_register_51 + input_bit_register_52 + input_bit_register_53 + input_bit_register_54 + input_bit_register_55 + input_bit_register_56 + input_bit_register_57 + input_bit_register_58 + input_bit_register_59 + input_bit_register_60 + input_bit_register_61 + input_bit_register_62 + input_bit_register_63 + input_bit_register_64 + input_bit_register_65 + input_bit_register_66 + input_bit_register_67 + input_bit_register_68 + input_bit_register_69 + input_bit_register_70 + input_bit_register_71 + input_bit_register_72 + input_bit_register_73 + input_bit_register_74 + input_bit_register_75 + input_bit_register_76 + input_bit_register_77 + input_bit_register_78 + input_bit_register_79 + input_bit_register_80 + input_bit_register_81 + input_bit_register_82 + input_bit_register_83 + input_bit_register_84 + input_bit_register_85 + input_bit_register_86 + input_bit_register_87 + input_bit_register_88 + input_bit_register_89 + input_bit_register_90 + input_bit_register_91 + input_bit_register_92 + input_bit_register_93 + input_bit_register_94 + input_bit_register_95 + input_bit_register_96 + input_bit_register_97 + input_bit_register_98 + input_bit_register_99 + input_bit_register_100 + input_bit_register_101 + input_bit_register_102 + input_bit_register_103 + input_bit_register_104 + input_bit_register_105 + input_bit_register_106 + input_bit_register_107 + input_bit_register_108 + input_bit_register_109 + input_bit_register_110 + input_bit_register_111 + input_bit_register_112 + input_bit_register_113 + input_bit_register_114 + input_bit_register_115 + input_bit_register_116 + input_bit_register_117 + input_bit_register_118 + input_bit_register_119 + input_bit_register_120 + input_bit_register_121 + input_bit_register_122 + input_bit_register_123 + input_bit_register_124 + input_bit_register_125 + input_bit_register_126 + input_bit_register_127 + input_int_register_0 + input_int_register_1 + input_int_register_2 + input_int_register_3 + input_int_register_4 + input_int_register_5 + input_int_register_6 + input_int_register_7 + input_int_register_8 + input_int_register_9 + input_int_register_10 + input_int_register_11 + input_int_register_12 + input_int_register_13 + input_int_register_14 + input_int_register_15 + input_int_register_16 + input_int_register_17 + input_int_register_18 + input_int_register_19 + input_int_register_20 + input_int_register_21 + input_int_register_22 + input_int_register_23 + input_int_register_24 + input_int_register_25 + input_int_register_26 + input_int_register_27 + input_int_register_28 + input_int_register_29 + input_int_register_30 + input_int_register_31 + input_int_register_32 + input_int_register_33 + input_int_register_34 + input_int_register_35 + input_int_register_36 + input_int_register_37 + input_int_register_38 + input_int_register_39 + input_int_register_40 + input_int_register_41 + input_int_register_42 + input_int_register_43 + input_int_register_44 + input_int_register_45 + input_int_register_46 + input_int_register_47 + input_double_register_0 + input_double_register_1 + input_double_register_2 + input_double_register_3 + input_double_register_4 + input_double_register_5 + input_double_register_6 + input_double_register_7 + input_double_register_8 + input_double_register_9 + input_double_register_10 + input_double_register_11 + input_double_register_12 + input_double_register_13 + input_double_register_14 + input_double_register_15 + input_double_register_16 + input_double_register_17 + input_double_register_18 + input_double_register_19 + input_double_register_20 + input_double_register_21 + input_double_register_22 + input_double_register_23 + input_double_register_24 + input_double_register_25 + input_double_register_26 + input_double_register_27 + input_double_register_28 + input_double_register_29 + input_double_register_30 + input_double_register_31 + input_double_register_32 + input_double_register_33 + input_double_register_34 + input_double_register_35 + input_double_register_36 + input_double_register_37 + input_double_register_38 + input_double_register_39 + input_double_register_40 + input_double_register_41 + input_double_register_42 + input_double_register_43 + input_double_register_44 + input_double_register_45 + input_double_register_46 + input_double_register_47 + timestamp + target_q + target_qd + target_qdd + target_current + target_moment + actual_q + actual_qd + actual_current + actual_current_window + actual_current_as_torque + joint_control_output + actual_TCP_pose + actual_TCP_speed + actual_TCP_force + target_TCP_pose + target_TCP_speed + tcp_offset + actual_TCP_acceleration + target_TCP_acceleration + actual_digital_input_bits + actual_configurable_digital_input_bits + joint_temperatures + actual_execution_time + target_execution_time + robot_mode + joint_mode + safety_mode + safety_status + actual_tool_accelerometer + speed_scaling + target_speed_fraction + actual_momentum + actual_main_voltage + actual_robot_voltage + actual_robot_current + actual_joint_voltaget + actual_digital_output_bits + actual_configurable_digital_output_bits + runtime_state + elbow_positiont + elbow_velocityt + robot_status_bits + safety_status_bits + analog_io_types + standard_analog_input0 + standard_analog_input1 + standard_analog_output0 + standard_analog_output1 + io_current + output_bit_registers0_to_31 + output_bit_registers32_to_63 + output_bit_register_0 + output_bit_register_1 + output_bit_register_2 + output_bit_register_3 + output_bit_register_4 + output_bit_register_5 + output_bit_register_6 + output_bit_register_7 + output_bit_register_8 + output_bit_register_9 + output_bit_register_10 + output_bit_register_11 + output_bit_register_12 + output_bit_register_13 + output_bit_register_14 + output_bit_register_15 + output_bit_register_16 + output_bit_register_17 + output_bit_register_18 + output_bit_register_19 + output_bit_register_20 + output_bit_register_21 + output_bit_register_22 + output_bit_register_23 + output_bit_register_24 + output_bit_register_25 + output_bit_register_26 + output_bit_register_27 + output_bit_register_28 + output_bit_register_29 + output_bit_register_30 + output_bit_register_31 + output_bit_register_32 + output_bit_register_33 + output_bit_register_34 + output_bit_register_35 + output_bit_register_36 + output_bit_register_37 + output_bit_register_38 + output_bit_register_39 + output_bit_register_40 + output_bit_register_41 + output_bit_register_42 + output_bit_register_43 + output_bit_register_44 + output_bit_register_45 + output_bit_register_46 + output_bit_register_47 + output_bit_register_48 + output_bit_register_49 + output_bit_register_50 + output_bit_register_51 + output_bit_register_52 + output_bit_register_53 + output_bit_register_54 + output_bit_register_55 + output_bit_register_56 + output_bit_register_57 + output_bit_register_58 + output_bit_register_59 + output_bit_register_60 + output_bit_register_61 + output_bit_register_62 + output_bit_register_63 + output_bit_register_64 + output_bit_register_65 + output_bit_register_66 + output_bit_register_67 + output_bit_register_68 + output_bit_register_69 + output_bit_register_70 + output_bit_register_71 + output_bit_register_72 + output_bit_register_73 + output_bit_register_74 + output_bit_register_75 + output_bit_register_76 + output_bit_register_77 + output_bit_register_78 + output_bit_register_79 + output_bit_register_80 + output_bit_register_81 + output_bit_register_82 + output_bit_register_83 + output_bit_register_84 + output_bit_register_85 + output_bit_register_86 + output_bit_register_87 + output_bit_register_88 + output_bit_register_89 + output_bit_register_90 + output_bit_register_91 + output_bit_register_92 + output_bit_register_93 + output_bit_register_94 + output_bit_register_95 + output_bit_register_96 + output_bit_register_97 + output_bit_register_98 + output_bit_register_99 + output_bit_register_100 + output_bit_register_101 + output_bit_register_102 + output_bit_register_103 + output_bit_register_104 + output_bit_register_105 + output_bit_register_106 + output_bit_register_107 + output_bit_register_108 + output_bit_register_109 + output_bit_register_110 + output_bit_register_111 + output_bit_register_112 + output_bit_register_113 + output_bit_register_114 + output_bit_register_115 + output_bit_register_116 + output_bit_register_117 + output_bit_register_118 + output_bit_register_119 + output_bit_register_120 + output_bit_register_121 + output_bit_register_122 + output_bit_register_123 + output_bit_register_124 + output_bit_register_125 + output_bit_register_126 + output_bit_register_127 + output_int_register_0 + output_int_register_1 + output_int_register_2 + output_int_register_3 + output_int_register_4 + output_int_register_5 + output_int_register_6 + output_int_register_7 + output_int_register_8 + output_int_register_9 + output_int_register_10 + output_int_register_11 + output_int_register_12 + output_int_register_13 + output_int_register_14 + output_int_register_15 + output_int_register_16 + output_int_register_17 + output_int_register_18 + output_int_register_19 + output_int_register_20 + output_int_register_21 + output_int_register_22 + output_int_register_23 + output_int_register_24 + output_int_register_25 + output_int_register_26 + output_int_register_27 + output_int_register_28 + output_int_register_29 + output_int_register_30 + output_int_register_31 + output_int_register_32 + output_int_register_33 + output_int_register_34 + output_int_register_35 + output_int_register_36 + output_int_register_37 + output_int_register_38 + output_int_register_39 + output_int_register_40 + output_int_register_41 + output_int_register_42 + output_int_register_43 + output_int_register_44 + output_int_register_45 + output_int_register_46 + output_int_register_47 + output_double_register_0 + output_double_register_1 + output_double_register_2 + output_double_register_3 + output_double_register_4 + output_double_register_5 + output_double_register_6 + output_double_register_7 + output_double_register_8 + output_double_register_9 + output_double_register_10 + output_double_register_11 + output_double_register_12 + output_double_register_13 + output_double_register_14 + output_double_register_15 + output_double_register_16 + output_double_register_17 + output_double_register_18 + output_double_register_19 + output_double_register_20 + output_double_register_21 + output_double_register_22 + output_double_register_23 + output_double_register_24 + output_double_register_25 + output_double_register_26 + output_double_register_27 + output_double_register_28 + output_double_register_29 + output_double_register_30 + output_double_register_31 + output_double_register_32 + output_double_register_33 + output_double_register_34 + output_double_register_35 + output_double_register_36 + output_double_register_37 + output_double_register_38 + output_double_register_39 + output_double_register_40 + output_double_register_41 + output_double_register_42 + output_double_register_43 + output_double_register_44 + output_double_register_45 + output_double_register_46 + output_double_register_47 + actual_robot_energy_consumed + actual_robot_braking_energy_dissipated + encoder0_raw + encoder1_raw + euromap67_input_bits + euromap67_output_bits + euromap67_24V_voltage + euromap67_24V_current + tool_mode + tool_analog_input_types + tool_analog_input0 + tool_analog_input1 + tool_output_voltage + tool_output_current + tool_temperature + tool_output_mode + tool_digital_output0_mode + tool_digital_output1_mode + tcp_force_scalar + joint_position_deviation_ratio + collision_detection_ratio + ft_raw_wrench + wrench_calc_from_currents + payload + payload_cog + payload_inertiat + script_control_line + time_scale_source + tool_digital_output_mask + tool_digital_output \ No newline at end of file From be637614d0ede5ea65a1efdbb5044157bbb9c726 Mon Sep 17 00:00:00 2001 From: Felix Exner Date: Tue, 30 Sep 2025 11:59:10 +0200 Subject: [PATCH 4/4] Increase buffer size when setting up RTDE fields --- src/rtde/rtde_client.cpp | 4 +- .../exhaustive_rtde_output_recipe.txt | 934 ++++++++---------- 2 files changed, 404 insertions(+), 534 deletions(-) diff --git a/src/rtde/rtde_client.cpp b/src/rtde/rtde_client.cpp index c804041ad..425dc981d 100644 --- a/src/rtde/rtde_client.cpp +++ b/src/rtde/rtde_client.cpp @@ -287,7 +287,7 @@ void RTDEClient::setupOutputs(const uint16_t protocol_version) unsigned int num_retries = 0; size_t size; size_t written; - uint8_t buffer[8192]; + uint8_t buffer[65536]; URCL_LOG_INFO("Setting up RTDE communication with frequency %f", target_frequency_); while (num_retries < MAX_REQUEST_RETRIES) @@ -717,4 +717,4 @@ std::vector RTDEClient::splitVariableTypes(const std::string& varia return result; } } // namespace rtde_interface -} // namespace urcl \ No newline at end of file +} // namespace urcl diff --git a/tests/resources/exhaustive_rtde_output_recipe.txt b/tests/resources/exhaustive_rtde_output_recipe.txt index 5ca846c8f..e0df0aa2a 100644 --- a/tests/resources/exhaustive_rtde_output_recipe.txt +++ b/tests/resources/exhaustive_rtde_output_recipe.txt @@ -1,532 +1,402 @@ - input_bit_registers0_to_31 - input_bit_registers32_to_63 - input_bit_register_0 - input_bit_register_1 - input_bit_register_2 - input_bit_register_3 - input_bit_register_4 - input_bit_register_5 - input_bit_register_6 - input_bit_register_7 - input_bit_register_8 - input_bit_register_9 - input_bit_register_10 - input_bit_register_11 - input_bit_register_12 - input_bit_register_13 - input_bit_register_14 - input_bit_register_15 - input_bit_register_16 - input_bit_register_17 - input_bit_register_18 - input_bit_register_19 - input_bit_register_20 - input_bit_register_21 - input_bit_register_22 - input_bit_register_23 - input_bit_register_24 - input_bit_register_25 - input_bit_register_26 - input_bit_register_27 - input_bit_register_28 - input_bit_register_29 - input_bit_register_30 - input_bit_register_31 - input_bit_register_32 - input_bit_register_33 - input_bit_register_34 - input_bit_register_35 - input_bit_register_36 - input_bit_register_37 - input_bit_register_38 - input_bit_register_39 - input_bit_register_40 - input_bit_register_41 - input_bit_register_42 - input_bit_register_43 - input_bit_register_44 - input_bit_register_45 - input_bit_register_46 - input_bit_register_47 - input_bit_register_48 - input_bit_register_49 - input_bit_register_50 - input_bit_register_51 - input_bit_register_52 - input_bit_register_53 - input_bit_register_54 - input_bit_register_55 - input_bit_register_56 - input_bit_register_57 - input_bit_register_58 - input_bit_register_59 - input_bit_register_60 - input_bit_register_61 - input_bit_register_62 - input_bit_register_63 - input_bit_register_64 - input_bit_register_65 - input_bit_register_66 - input_bit_register_67 - input_bit_register_68 - input_bit_register_69 - input_bit_register_70 - input_bit_register_71 - input_bit_register_72 - input_bit_register_73 - input_bit_register_74 - input_bit_register_75 - input_bit_register_76 - input_bit_register_77 - input_bit_register_78 - input_bit_register_79 - input_bit_register_80 - input_bit_register_81 - input_bit_register_82 - input_bit_register_83 - input_bit_register_84 - input_bit_register_85 - input_bit_register_86 - input_bit_register_87 - input_bit_register_88 - input_bit_register_89 - input_bit_register_90 - input_bit_register_91 - input_bit_register_92 - input_bit_register_93 - input_bit_register_94 - input_bit_register_95 - input_bit_register_96 - input_bit_register_97 - input_bit_register_98 - input_bit_register_99 - input_bit_register_100 - input_bit_register_101 - input_bit_register_102 - input_bit_register_103 - input_bit_register_104 - input_bit_register_105 - input_bit_register_106 - input_bit_register_107 - input_bit_register_108 - input_bit_register_109 - input_bit_register_110 - input_bit_register_111 - input_bit_register_112 - input_bit_register_113 - input_bit_register_114 - input_bit_register_115 - input_bit_register_116 - input_bit_register_117 - input_bit_register_118 - input_bit_register_119 - input_bit_register_120 - input_bit_register_121 - input_bit_register_122 - input_bit_register_123 - input_bit_register_124 - input_bit_register_125 - input_bit_register_126 - input_bit_register_127 - input_int_register_0 - input_int_register_1 - input_int_register_2 - input_int_register_3 - input_int_register_4 - input_int_register_5 - input_int_register_6 - input_int_register_7 - input_int_register_8 - input_int_register_9 - input_int_register_10 - input_int_register_11 - input_int_register_12 - input_int_register_13 - input_int_register_14 - input_int_register_15 - input_int_register_16 - input_int_register_17 - input_int_register_18 - input_int_register_19 - input_int_register_20 - input_int_register_21 - input_int_register_22 - input_int_register_23 - input_int_register_24 - input_int_register_25 - input_int_register_26 - input_int_register_27 - input_int_register_28 - input_int_register_29 - input_int_register_30 - input_int_register_31 - input_int_register_32 - input_int_register_33 - input_int_register_34 - input_int_register_35 - input_int_register_36 - input_int_register_37 - input_int_register_38 - input_int_register_39 - input_int_register_40 - input_int_register_41 - input_int_register_42 - input_int_register_43 - input_int_register_44 - input_int_register_45 - input_int_register_46 - input_int_register_47 - input_double_register_0 - input_double_register_1 - input_double_register_2 - input_double_register_3 - input_double_register_4 - input_double_register_5 - input_double_register_6 - input_double_register_7 - input_double_register_8 - input_double_register_9 - input_double_register_10 - input_double_register_11 - input_double_register_12 - input_double_register_13 - input_double_register_14 - input_double_register_15 - input_double_register_16 - input_double_register_17 - input_double_register_18 - input_double_register_19 - input_double_register_20 - input_double_register_21 - input_double_register_22 - input_double_register_23 - input_double_register_24 - input_double_register_25 - input_double_register_26 - input_double_register_27 - input_double_register_28 - input_double_register_29 - input_double_register_30 - input_double_register_31 - input_double_register_32 - input_double_register_33 - input_double_register_34 - input_double_register_35 - input_double_register_36 - input_double_register_37 - input_double_register_38 - input_double_register_39 - input_double_register_40 - input_double_register_41 - input_double_register_42 - input_double_register_43 - input_double_register_44 - input_double_register_45 - input_double_register_46 - input_double_register_47 - timestamp - target_q - target_qd - target_qdd - target_current - target_moment - actual_q - actual_qd - actual_current - actual_current_window - actual_current_as_torque - joint_control_output - actual_TCP_pose - actual_TCP_speed - actual_TCP_force - target_TCP_pose - target_TCP_speed - tcp_offset - actual_TCP_acceleration - target_TCP_acceleration - actual_digital_input_bits - actual_configurable_digital_input_bits - joint_temperatures - actual_execution_time - target_execution_time - robot_mode - joint_mode - safety_mode - safety_status - actual_tool_accelerometer - speed_scaling - target_speed_fraction - actual_momentum - actual_main_voltage - actual_robot_voltage - actual_robot_current - actual_joint_voltaget - actual_digital_output_bits - actual_configurable_digital_output_bits - runtime_state - elbow_positiont - elbow_velocityt - robot_status_bits - safety_status_bits - analog_io_types - standard_analog_input0 - standard_analog_input1 - standard_analog_output0 - standard_analog_output1 - io_current - output_bit_registers0_to_31 - output_bit_registers32_to_63 - output_bit_register_0 - output_bit_register_1 - output_bit_register_2 - output_bit_register_3 - output_bit_register_4 - output_bit_register_5 - output_bit_register_6 - output_bit_register_7 - output_bit_register_8 - output_bit_register_9 - output_bit_register_10 - output_bit_register_11 - output_bit_register_12 - output_bit_register_13 - output_bit_register_14 - output_bit_register_15 - output_bit_register_16 - output_bit_register_17 - output_bit_register_18 - output_bit_register_19 - output_bit_register_20 - output_bit_register_21 - output_bit_register_22 - output_bit_register_23 - output_bit_register_24 - output_bit_register_25 - output_bit_register_26 - output_bit_register_27 - output_bit_register_28 - output_bit_register_29 - output_bit_register_30 - output_bit_register_31 - output_bit_register_32 - output_bit_register_33 - output_bit_register_34 - output_bit_register_35 - output_bit_register_36 - output_bit_register_37 - output_bit_register_38 - output_bit_register_39 - output_bit_register_40 - output_bit_register_41 - output_bit_register_42 - output_bit_register_43 - output_bit_register_44 - output_bit_register_45 - output_bit_register_46 - output_bit_register_47 - output_bit_register_48 - output_bit_register_49 - output_bit_register_50 - output_bit_register_51 - output_bit_register_52 - output_bit_register_53 - output_bit_register_54 - output_bit_register_55 - output_bit_register_56 - output_bit_register_57 - output_bit_register_58 - output_bit_register_59 - output_bit_register_60 - output_bit_register_61 - output_bit_register_62 - output_bit_register_63 - output_bit_register_64 - output_bit_register_65 - output_bit_register_66 - output_bit_register_67 - output_bit_register_68 - output_bit_register_69 - output_bit_register_70 - output_bit_register_71 - output_bit_register_72 - output_bit_register_73 - output_bit_register_74 - output_bit_register_75 - output_bit_register_76 - output_bit_register_77 - output_bit_register_78 - output_bit_register_79 - output_bit_register_80 - output_bit_register_81 - output_bit_register_82 - output_bit_register_83 - output_bit_register_84 - output_bit_register_85 - output_bit_register_86 - output_bit_register_87 - output_bit_register_88 - output_bit_register_89 - output_bit_register_90 - output_bit_register_91 - output_bit_register_92 - output_bit_register_93 - output_bit_register_94 - output_bit_register_95 - output_bit_register_96 - output_bit_register_97 - output_bit_register_98 - output_bit_register_99 - output_bit_register_100 - output_bit_register_101 - output_bit_register_102 - output_bit_register_103 - output_bit_register_104 - output_bit_register_105 - output_bit_register_106 - output_bit_register_107 - output_bit_register_108 - output_bit_register_109 - output_bit_register_110 - output_bit_register_111 - output_bit_register_112 - output_bit_register_113 - output_bit_register_114 - output_bit_register_115 - output_bit_register_116 - output_bit_register_117 - output_bit_register_118 - output_bit_register_119 - output_bit_register_120 - output_bit_register_121 - output_bit_register_122 - output_bit_register_123 - output_bit_register_124 - output_bit_register_125 - output_bit_register_126 - output_bit_register_127 - output_int_register_0 - output_int_register_1 - output_int_register_2 - output_int_register_3 - output_int_register_4 - output_int_register_5 - output_int_register_6 - output_int_register_7 - output_int_register_8 - output_int_register_9 - output_int_register_10 - output_int_register_11 - output_int_register_12 - output_int_register_13 - output_int_register_14 - output_int_register_15 - output_int_register_16 - output_int_register_17 - output_int_register_18 - output_int_register_19 - output_int_register_20 - output_int_register_21 - output_int_register_22 - output_int_register_23 - output_int_register_24 - output_int_register_25 - output_int_register_26 - output_int_register_27 - output_int_register_28 - output_int_register_29 - output_int_register_30 - output_int_register_31 - output_int_register_32 - output_int_register_33 - output_int_register_34 - output_int_register_35 - output_int_register_36 - output_int_register_37 - output_int_register_38 - output_int_register_39 - output_int_register_40 - output_int_register_41 - output_int_register_42 - output_int_register_43 - output_int_register_44 - output_int_register_45 - output_int_register_46 - output_int_register_47 - output_double_register_0 - output_double_register_1 - output_double_register_2 - output_double_register_3 - output_double_register_4 - output_double_register_5 - output_double_register_6 - output_double_register_7 - output_double_register_8 - output_double_register_9 - output_double_register_10 - output_double_register_11 - output_double_register_12 - output_double_register_13 - output_double_register_14 - output_double_register_15 - output_double_register_16 - output_double_register_17 - output_double_register_18 - output_double_register_19 - output_double_register_20 - output_double_register_21 - output_double_register_22 - output_double_register_23 - output_double_register_24 - output_double_register_25 - output_double_register_26 - output_double_register_27 - output_double_register_28 - output_double_register_29 - output_double_register_30 - output_double_register_31 - output_double_register_32 - output_double_register_33 - output_double_register_34 - output_double_register_35 - output_double_register_36 - output_double_register_37 - output_double_register_38 - output_double_register_39 - output_double_register_40 - output_double_register_41 - output_double_register_42 - output_double_register_43 - output_double_register_44 - output_double_register_45 - output_double_register_46 - output_double_register_47 - actual_robot_energy_consumed - actual_robot_braking_energy_dissipated - encoder0_raw - encoder1_raw - euromap67_input_bits - euromap67_output_bits - euromap67_24V_voltage - euromap67_24V_current - tool_mode - tool_analog_input_types - tool_analog_input0 - tool_analog_input1 - tool_output_voltage - tool_output_current - tool_temperature - tool_output_mode - tool_digital_output0_mode - tool_digital_output1_mode - tcp_force_scalar - joint_position_deviation_ratio - collision_detection_ratio - ft_raw_wrench - wrench_calc_from_currents - payload - payload_cog - payload_inertiat - script_control_line - time_scale_source - tool_digital_output_mask - tool_digital_output \ No newline at end of file +timestamp +target_q +target_qd +target_qdd +target_current +target_moment +actual_q +actual_qd +actual_current +actual_current_window +actual_current_as_torque +joint_control_output +actual_TCP_pose +actual_TCP_speed +actual_TCP_force +target_TCP_pose +target_TCP_speed +tcp_offset +actual_TCP_acceleration +target_TCP_acceleration +actual_digital_input_bits +actual_configurable_digital_input_bits +joint_temperatures +actual_execution_time +target_execution_time +robot_mode +joint_mode +safety_mode +safety_status +actual_tool_accelerometer +speed_scaling +target_speed_fraction +actual_momentum +actual_main_voltage +actual_robot_voltage +actual_robot_current +actual_joint_voltage +actual_digital_output_bits +actual_configurable_digital_output_bits +runtime_state +elbow_position +elbow_velocity +robot_status_bits +safety_status_bits +analog_io_types +standard_analog_input0 +standard_analog_input1 +standard_analog_output0 +standard_analog_output1 +io_current +actual_robot_energy_consumed +actual_robot_braking_energy_dissipated +encoder0_raw +encoder1_raw +euromap67_input_bits +euromap67_output_bits +euromap67_24V_voltage +euromap67_24V_current +tool_mode +tool_analog_input_types +tool_analog_input0 +tool_analog_input1 +tool_output_voltage +tool_output_current +tool_temperature +tool_output_mode +tool_digital_output0_mode +tool_digital_output1_mode +tcp_force_scalar +joint_position_deviation_ratio +collision_detection_ratio +ft_raw_wrench +wrench_calc_from_currents +payload +payload_cog +payload_inertia +script_control_line +time_scale_source +output_bit_registers0_to_31 +output_bit_registers32_to_63 +output_bit_register_64 +output_bit_register_65 +output_bit_register_66 +output_bit_register_67 +output_bit_register_68 +output_bit_register_69 +output_bit_register_70 +output_bit_register_71 +output_bit_register_72 +output_bit_register_73 +output_bit_register_74 +output_bit_register_75 +output_bit_register_76 +output_bit_register_77 +output_bit_register_78 +output_bit_register_79 +output_bit_register_80 +output_bit_register_81 +output_bit_register_82 +output_bit_register_83 +output_bit_register_84 +output_bit_register_85 +output_bit_register_86 +output_bit_register_87 +output_bit_register_88 +output_bit_register_89 +output_bit_register_90 +output_bit_register_91 +output_bit_register_92 +output_bit_register_93 +output_bit_register_94 +output_bit_register_95 +output_bit_register_96 +output_bit_register_97 +output_bit_register_98 +output_bit_register_99 +output_bit_register_100 +output_bit_register_101 +output_bit_register_102 +output_bit_register_103 +output_bit_register_104 +output_bit_register_105 +output_bit_register_106 +output_bit_register_107 +output_bit_register_108 +output_bit_register_109 +output_bit_register_110 +output_bit_register_111 +output_bit_register_112 +output_bit_register_113 +output_bit_register_114 +output_bit_register_115 +output_bit_register_116 +output_bit_register_117 +output_bit_register_118 +output_bit_register_119 +output_bit_register_120 +output_bit_register_121 +output_bit_register_122 +output_bit_register_123 +output_bit_register_124 +output_bit_register_125 +output_bit_register_126 +output_bit_register_127 +output_int_register_0 +output_int_register_1 +output_int_register_2 +output_int_register_3 +output_int_register_4 +output_int_register_5 +output_int_register_6 +output_int_register_7 +output_int_register_8 +output_int_register_9 +output_int_register_10 +output_int_register_11 +output_int_register_12 +output_int_register_13 +output_int_register_14 +output_int_register_15 +output_int_register_16 +output_int_register_17 +output_int_register_18 +output_int_register_19 +output_int_register_20 +output_int_register_21 +output_int_register_22 +output_int_register_23 +output_int_register_24 +output_int_register_25 +output_int_register_26 +output_int_register_27 +output_int_register_28 +output_int_register_29 +output_int_register_30 +output_int_register_31 +output_int_register_32 +output_int_register_33 +output_int_register_34 +output_int_register_35 +output_int_register_36 +output_int_register_37 +output_int_register_38 +output_int_register_39 +output_int_register_40 +output_int_register_41 +output_int_register_42 +output_int_register_43 +output_int_register_44 +output_int_register_45 +output_int_register_46 +output_int_register_47 +output_double_register_0 +output_double_register_1 +output_double_register_2 +output_double_register_3 +output_double_register_4 +output_double_register_5 +output_double_register_6 +output_double_register_7 +output_double_register_8 +output_double_register_9 +output_double_register_10 +output_double_register_11 +output_double_register_12 +output_double_register_13 +output_double_register_14 +output_double_register_15 +output_double_register_16 +output_double_register_17 +output_double_register_18 +output_double_register_19 +output_double_register_20 +output_double_register_21 +output_double_register_22 +output_double_register_23 +output_double_register_24 +output_double_register_25 +output_double_register_26 +output_double_register_27 +output_double_register_28 +output_double_register_29 +output_double_register_30 +output_double_register_31 +output_double_register_32 +output_double_register_33 +output_double_register_34 +output_double_register_35 +output_double_register_36 +output_double_register_37 +output_double_register_38 +output_double_register_39 +output_double_register_40 +output_double_register_41 +output_double_register_42 +output_double_register_43 +output_double_register_44 +output_double_register_45 +output_double_register_46 +output_double_register_47 +input_bit_registers0_to_31 +input_bit_registers32_to_63 +input_bit_register_64 +input_bit_register_65 +input_bit_register_66 +input_bit_register_67 +input_bit_register_68 +input_bit_register_69 +input_bit_register_70 +input_bit_register_71 +input_bit_register_72 +input_bit_register_73 +input_bit_register_74 +input_bit_register_75 +input_bit_register_76 +input_bit_register_77 +input_bit_register_78 +input_bit_register_79 +input_bit_register_80 +input_bit_register_81 +input_bit_register_82 +input_bit_register_83 +input_bit_register_84 +input_bit_register_85 +input_bit_register_86 +input_bit_register_87 +input_bit_register_88 +input_bit_register_89 +input_bit_register_90 +input_bit_register_91 +input_bit_register_92 +input_bit_register_93 +input_bit_register_94 +input_bit_register_95 +input_bit_register_96 +input_bit_register_97 +input_bit_register_98 +input_bit_register_99 +input_bit_register_100 +input_bit_register_101 +input_bit_register_102 +input_bit_register_103 +input_bit_register_104 +input_bit_register_105 +input_bit_register_106 +input_bit_register_107 +input_bit_register_108 +input_bit_register_109 +input_bit_register_110 +input_bit_register_111 +input_bit_register_112 +input_bit_register_113 +input_bit_register_114 +input_bit_register_115 +input_bit_register_116 +input_bit_register_117 +input_bit_register_118 +input_bit_register_119 +input_bit_register_120 +input_bit_register_121 +input_bit_register_122 +input_bit_register_123 +input_bit_register_124 +input_bit_register_125 +input_bit_register_126 +input_bit_register_127 +input_int_register_0 +input_int_register_1 +input_int_register_2 +input_int_register_3 +input_int_register_4 +input_int_register_5 +input_int_register_6 +input_int_register_7 +input_int_register_8 +input_int_register_9 +input_int_register_10 +input_int_register_11 +input_int_register_12 +input_int_register_13 +input_int_register_14 +input_int_register_15 +input_int_register_16 +input_int_register_17 +input_int_register_18 +input_int_register_19 +input_int_register_20 +input_int_register_21 +input_int_register_22 +input_int_register_23 +input_int_register_24 +input_int_register_25 +input_int_register_26 +input_int_register_27 +input_int_register_28 +input_int_register_29 +input_int_register_30 +input_int_register_31 +input_int_register_32 +input_int_register_33 +input_int_register_34 +input_int_register_35 +input_int_register_36 +input_int_register_37 +input_int_register_38 +input_int_register_39 +input_int_register_40 +input_int_register_41 +input_int_register_42 +input_int_register_43 +input_int_register_44 +input_int_register_45 +input_int_register_46 +input_int_register_47 +input_double_register_0 +input_double_register_1 +input_double_register_2 +input_double_register_3 +input_double_register_4 +input_double_register_5 +input_double_register_6 +input_double_register_7 +input_double_register_8 +input_double_register_9 +input_double_register_10 +input_double_register_11 +input_double_register_12 +input_double_register_13 +input_double_register_14 +input_double_register_15 +input_double_register_16 +input_double_register_17 +input_double_register_18 +input_double_register_19 +input_double_register_20 +input_double_register_21 +input_double_register_22 +input_double_register_23 +input_double_register_24 +input_double_register_25 +input_double_register_26 +input_double_register_27 +input_double_register_28 +input_double_register_29 +input_double_register_30 +input_double_register_31 +input_double_register_32 +input_double_register_33 +input_double_register_34 +input_double_register_35 +input_double_register_36 +input_double_register_37 +input_double_register_38 +input_double_register_39 +input_double_register_40 +input_double_register_41 +input_double_register_42 +input_double_register_43 +input_double_register_44 +input_double_register_45 +input_double_register_46 +input_double_register_47