├── abb_egm_msgs ├── msg │ ├── EGMState.msg │ └── EGMChannelState.msg ├── CHANGELOG.rst ├── package.xml ├── LICENSE ├── README.md └── CMakeLists.txt ├── abb_rapid_sm_addin_msgs ├── msg │ ├── RuntimeState.msg │ ├── EGMStopSettings.msg │ ├── EGMSetupSettings.msg │ ├── EGMSettings.msg │ ├── EGMRunSettings.msg │ ├── EGMActivateSettings.msg │ └── StateMachineState.msg ├── CHANGELOG.rst ├── package.xml ├── srv │ ├── GetEGMSettings.srv │ ├── SetEGMSettings.srv │ ├── SetRAPIDRoutine.srv │ └── SetSGCommand.srv ├── LICENSE ├── README.md └── CMakeLists.txt ├── abb_robot_msgs ├── msg │ ├── MechanicalUnitState.msg │ ├── RAPIDSymbolPath.msg │ ├── SystemState.msg │ ├── RAPIDTaskState.msg │ └── ServiceResponses.msg ├── CHANGELOG.rst ├── package.xml ├── srv │ ├── TriggerWithResultCode.srv │ ├── GetIOSignal.srv │ ├── SetIOSignal.srv │ ├── GetRAPIDBool.srv │ ├── GetRAPIDNum.srv │ ├── GetRAPIDDnum.srv │ ├── GetRAPIDString.srv │ ├── SetRAPIDBool.srv │ ├── SetRAPIDNum.srv │ ├── SetRAPIDDnum.srv │ ├── SetRAPIDString.srv │ ├── SetSpeedRatio.srv │ ├── GetRobotControllerDescription.srv │ ├── GetSpeedRatio.srv │ ├── GetFileContents.srv │ ├── GetRAPIDSymbol.srv │ ├── SetRAPIDSymbol.srv │ └── SetFileContents.srv ├── LICENSE ├── README.md └── CMakeLists.txt ├── abb_rapid_msgs ├── package.xml ├── msg │ ├── Orient.msg │ ├── Pos.msg │ ├── JointTarget.msg │ ├── Pose.msg │ ├── RobJoint.msg │ ├── ExtJoint.msg │ ├── ToolData.msg │ ├── LoadData.msg │ ├── ConfData.msg │ ├── RobTarget.msg │ └── WObjData.msg ├── CHANGELOG.rst ├── LICENSE ├── README.md └── CMakeLists.txt ├── .github └── workflows │ ├── ci_focal.yml │ └── ci_bionic.yml ├── LICENSE └── README.md /abb_egm_msgs/msg/EGMState.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent a subset of states 4 | # of all (known) EGM communication channels. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Message fields 9 | #------------------------------------------------------------------------------- 10 | # Metadata. 11 | std_msgs/Header header 12 | 13 | # EGM channel states. 14 | EGMChannelState[] egm_channels 15 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/msg/RuntimeState.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the runtime states 4 | # of all (known) RobotWare "StateMachine Add-In" RAPID instances. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Message fields 9 | #------------------------------------------------------------------------------- 10 | # Metadata. 11 | std_msgs/Header header 12 | 13 | # "StateMachine Add-In" instances. 14 | StateMachineState[] state_machines 15 | -------------------------------------------------------------------------------- /abb_robot_msgs/msg/MechanicalUnitState.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent a subset of states 4 | # of a mechanical unit defined in an ABB robot controller system. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Message fields 9 | #------------------------------------------------------------------------------- 10 | # The mechanical unit's name. 11 | string name 12 | 13 | # The mechanical unit's activated/deactivated status. 14 | bool activated 15 | -------------------------------------------------------------------------------- /abb_rapid_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | abb_rapid_msgs 5 | 0.5.3 6 | 7 | Provides ROS message definitions, representing RAPID data from ABB robot controllers. 8 | 9 | G.A. vd. Hoorn (TU Delft Robotics Institute) 10 | BSD-3-Clause 11 | Jon Tjerngren 12 | 13 | catkin 14 | 15 | message_generation 16 | message_runtime 17 | 18 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/msg/EGMStopSettings.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the custom RAPID 4 | # data type "EGMStopSettings" from the RobotWare "StateMachine Add-In". 5 | # 6 | # Note: 7 | # "EGMStopSettings" are for example used with the RAPID EGM instruction 8 | # "EGMStop". 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Ramp out time [s]. 15 | float32 ramp_out_time 16 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/Orient.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "orient" (orientation). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Quaternion 1-4. 15 | float32 q1 16 | float32 q2 17 | float32 q3 18 | float32 q4 19 | -------------------------------------------------------------------------------- /abb_egm_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package abb_egm_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 0.5.3 (2021-04-03) 6 | ------------------ 7 | * Lower minimum required CMake version to solve build error on Kinetic (`#14 `_) 8 | * Contributors: gavanderhoorn 9 | 10 | 0.5.2 (2021-04-02) 11 | ------------------ 12 | * Install readme and license (`#12 `_) 13 | * Contributors: gavanderhoorn 14 | 15 | 0.5.1 (2021-03-30) 16 | ------------------ 17 | * No changes 18 | 19 | 0.5.0 (2021-01-21) 20 | ------------------ 21 | * Initial release 22 | * Contributors: Jon Tjerngren 23 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/Pos.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "pos" (positions (only X, Y and Z)). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # The x-, y- and z-value of the position. 15 | float32 x 16 | float32 y 17 | float32 z 18 | -------------------------------------------------------------------------------- /abb_robot_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package abb_robot_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 0.5.3 (2021-04-03) 6 | ------------------ 7 | * Lower minimum required CMake version to solve build error on Kinetic (`#14 `_) 8 | * Contributors: gavanderhoorn 9 | 10 | 0.5.2 (2021-04-02) 11 | ------------------ 12 | * Install readme and license (`#12 `_) 13 | * Contributors: gavanderhoorn 14 | 15 | 0.5.1 (2021-03-30) 16 | ------------------ 17 | * No changes 18 | 19 | 0.5.0 (2021-01-21) 20 | ------------------ 21 | * Initial release 22 | * Contributors: Jon Tjerngren 23 | -------------------------------------------------------------------------------- /abb_robot_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | abb_robot_msgs 5 | 0.5.3 6 | 7 | Provides ROS message and service definitions, representing basic interaction with ABB robot controllers. 8 | 9 | G.A. vd. Hoorn (TU Delft Robotics Institute) 10 | BSD-3-Clause 11 | Jon Tjerngren 12 | 13 | catkin 14 | 15 | message_generation 16 | message_runtime 17 | std_msgs 18 | 19 | -------------------------------------------------------------------------------- /abb_egm_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | abb_egm_msgs 5 | 0.5.3 6 | 7 | Provides ROS message definitions, representing Externally Guided Motion (EGM) data from ABB robot controllers. 8 | 9 | G.A. vd. Hoorn (TU Delft Robotics Institute) 10 | BSD-3-Clause 11 | Jon Tjerngren 12 | 13 | catkin 14 | 15 | message_generation 16 | message_runtime 17 | std_msgs 18 | 19 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package abb_rapid_sm_addin_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 0.5.3 (2021-04-03) 6 | ------------------ 7 | * Lower minimum required CMake version to solve build error on Kinetic (`#14 `_) 8 | * Contributors: gavanderhoorn 9 | 10 | 0.5.2 (2021-04-02) 11 | ------------------ 12 | * Install readme and license (`#12 `_) 13 | * Contributors: gavanderhoorn 14 | 15 | 0.5.1 (2021-03-30) 16 | ------------------ 17 | * No changes 18 | 19 | 0.5.0 (2021-01-21) 20 | ------------------ 21 | * Initial release 22 | * Contributors: Jon Tjerngren 23 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/JointTarget.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "jointtarget" (joint position data). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Axis positions of the robot axes in degrees. 15 | RobJoint robax 16 | 17 | # The position of the external axes. 18 | ExtJoint extax 19 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/Pose.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "pose" (coordinate transformations). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # The displacement in position (x, y, and z) of the coordinate system. 15 | Pos trans 16 | 17 | # The rotation of the coordinate system. 18 | Orient rot 19 | -------------------------------------------------------------------------------- /abb_robot_msgs/msg/RAPIDSymbolPath.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the path to a RAPID 4 | # symbol (e.g. a variable) defined in an ABB robot controller system. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Message fields 9 | #------------------------------------------------------------------------------- 10 | # Name of the RAPID task, where the symbol exists (i.e. the symbol's context). 11 | string task 12 | 13 | # Name of the RAPID module, where the symbol has been defined. 14 | string module 15 | 16 | # Name of the RAPID symbol in question. 17 | string symbol 18 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/RobJoint.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "robjoint" (joint position of robot axes). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # The position of robot axis 1-6 in degrees from the calibration position. 15 | float32 rax_1 16 | float32 rax_2 17 | float32 rax_3 18 | float32 rax_4 19 | float32 rax_5 20 | float32 rax_6 21 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/msg/EGMSetupSettings.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the custom RAPID 4 | # data type "EGMSetupSettings" from the RobotWare "StateMachine Add-In". 5 | # 6 | # Note: 7 | # "EGMSetupSettings" are for example used with the RAPID EGM instruction 8 | # "EGMSetupUC". 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Indicator for if the EGM controller should apply filtering on the 15 | # EGM references. 16 | bool use_filtering 17 | 18 | # Communication timeout [s]. 19 | float32 comm_timeout 20 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | abb_rapid_sm_addin_msgs 5 | 0.5.3 6 | 7 | Provides ROS message and service definitions, representing interaction 8 | with ABB robot controllers using the RobotWare StateMachine Add-In. 9 | 10 | G.A. vd. Hoorn (TU Delft Robotics Institute) 11 | BSD-3-Clause 12 | Jon Tjerngren 13 | 14 | catkin 15 | 16 | abb_rapid_msgs 17 | message_generation 18 | message_runtime 19 | std_msgs 20 | 21 | -------------------------------------------------------------------------------- /abb_robot_msgs/msg/SystemState.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent a subset of states 4 | # of an ABB robot controller system. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Message fields 9 | #------------------------------------------------------------------------------- 10 | # Metadata. 11 | std_msgs/Header header 12 | 13 | # Motors on/off indicator. 14 | bool motors_on 15 | 16 | # Auto/manual mode indicator. 17 | bool auto_mode 18 | 19 | # RAPID running/stopped indicator. 20 | bool rapid_running 21 | 22 | # RAPID task states. 23 | RAPIDTaskState[] rapid_tasks 24 | 25 | # Mechanical unit states. 26 | MechanicalUnitState[] mechanical_units 27 | -------------------------------------------------------------------------------- /abb_rapid_msgs/CHANGELOG.rst: -------------------------------------------------------------------------------- 1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 | Changelog for package abb_rapid_msgs 3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4 | 5 | 0.5.3 (2021-04-03) 6 | ------------------ 7 | * Lower minimum required CMake version to solve build error on Kinetic (`#14 `_) 8 | * Contributors: gavanderhoorn 9 | 10 | 0.5.2 (2021-04-02) 11 | ------------------ 12 | * Install readme and license (`#12 `_) 13 | * Contributors: gavanderhoorn 14 | 15 | 0.5.1 (2021-03-30) 16 | ------------------ 17 | * Remove non-ASCII characters from message comments (`#9 `_) 18 | * Contributors: gavanderhoorn 19 | 20 | 0.5.0 (2021-01-21) 21 | ------------------ 22 | * Initial release 23 | * Contributors: Jon Tjerngren 24 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/ExtJoint.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "extjoint" (position of external joints). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # The position of the external logical axis "a"-"f", 15 | # expressed in degrees or mm (depending on the type of axis). 16 | float32 eax_a 17 | float32 eax_b 18 | float32 eax_c 19 | float32 eax_d 20 | float32 eax_e 21 | float32 eax_f 22 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/TriggerWithResultCode.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to allow triggering a service 4 | # where the response includes both a numerical result code and a human 5 | # readable message. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields (none) 10 | #------------------------------------------------------------------------------- 11 | 12 | --- 13 | 14 | #------------------------------------------------------------------------------- 15 | # Service response fields 16 | #------------------------------------------------------------------------------- 17 | # Service success/failure indicator. 18 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 19 | uint16 result_code 20 | 21 | # Informational, e.g. for error messages 22 | string message 23 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/msg/EGMSettings.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the custom RAPID 4 | # data type "EGMSettings" from the RobotWare "StateMachine Add-In". 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Message fields 9 | #------------------------------------------------------------------------------- 10 | # Indicator for if EGM motions are allowed to start. 11 | bool allow_egm_motions 12 | 13 | # Indicator for if RAPID tasks should be synced before starting EGM motions 14 | # (only used in multi robot systems). 15 | bool use_presync 16 | 17 | # Settings for EGMSetupUC instructions. 18 | EGMSetupSettings setup_uc 19 | 20 | # Settings for EGMAct instructions. 21 | EGMActivateSettings activate 22 | 23 | # Settings for EGMRun instructions. 24 | EGMRunSettings run 25 | 26 | # Settings for EGMStop instructions. 27 | EGMStopSettings stop 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetIOSignal.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the 4 | # value of an IO-signal defined in an ABB robot controller system. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Service request fields 9 | #------------------------------------------------------------------------------- 10 | # Name of the targeted IO-signal. 11 | string signal 12 | 13 | --- 14 | 15 | #------------------------------------------------------------------------------- 16 | # Service response fields 17 | #------------------------------------------------------------------------------- 18 | # Value of the IO-signal. 19 | string value 20 | 21 | # Service success/failure indicator. 22 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 23 | uint16 result_code 24 | 25 | # Status message (empty if service succeeded). 26 | string message 27 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetIOSignal.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the 4 | # value of an IO-signal defined in an ABB robot controller system. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Service request fields 9 | #------------------------------------------------------------------------------- 10 | # Name of the targeted IO-signal. 11 | string signal 12 | 13 | # New value for the IO-signal. 14 | string value 15 | 16 | --- 17 | 18 | #------------------------------------------------------------------------------- 19 | # Service response fields 20 | #------------------------------------------------------------------------------- 21 | # Service success/failure indicator. 22 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 23 | uint16 result_code 24 | 25 | # Status message (empty if service succeeded). 26 | string message 27 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/msg/EGMRunSettings.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the custom RAPID 4 | # data type "EGMRunSettings" from the RobotWare "StateMachine Add-In". 5 | # 6 | # Note: 7 | # "EGMRunSettings" are for example used with the RAPID EGM instructions 8 | # "EGMRunJoint" and "EGMRunPose". 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Condition time [s] for how long an EGM motion's convergence criteria must be 15 | # fulfilled before the motion is considered to be finished. 16 | float32 cond_time 17 | 18 | # Ramp in time [s]. 19 | float32 ramp_in_time 20 | 21 | # Static offset applied on top of the EGM references 22 | # (only used in EGM pose mode). 23 | abb_rapid_msgs/Pose offset 24 | 25 | # Position correction gain for the EGM controller. 26 | float32 pos_corr_gain 27 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetRAPIDBool.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the value 4 | # of a RAPID 'bool' symbol (e.g. a variable) defined in an ABB robot 5 | # controller system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | --- 15 | 16 | #------------------------------------------------------------------------------- 17 | # Service response fields 18 | #------------------------------------------------------------------------------- 19 | # Value of the RAPID symbol. 20 | bool value 21 | 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetRAPIDNum.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the value 4 | # of a RAPID 'num' symbol (e.g. a variable) defined in an ABB robot controller 5 | # system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | --- 15 | 16 | #------------------------------------------------------------------------------- 17 | # Service response fields 18 | #------------------------------------------------------------------------------- 19 | # Value of the RAPID symbol. 20 | float32 value 21 | 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetRAPIDDnum.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the value 4 | # of a RAPID 'dnum' symbol (e.g. a variable) defined in an ABB robot 5 | # controller system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | --- 15 | 16 | #------------------------------------------------------------------------------- 17 | # Service response fields 18 | #------------------------------------------------------------------------------- 19 | # Value of the RAPID symbol. 20 | float64 value 21 | 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetRAPIDString.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the value 4 | # of a RAPID 'string' symbol (e.g. a variable) defined in an ABB robot 5 | # controller system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | --- 15 | 16 | #------------------------------------------------------------------------------- 17 | # Service response fields 18 | #------------------------------------------------------------------------------- 19 | # Value of the RAPID symbol. 20 | string value 21 | 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetRAPIDBool.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the value 4 | # of a RAPID 'bool' symbol (e.g. a variable) defined in an ABB robot 5 | # controller system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | # New value of the RAPID symbol. 15 | bool value 16 | 17 | --- 18 | 19 | #------------------------------------------------------------------------------- 20 | # Service response fields 21 | #------------------------------------------------------------------------------- 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetRAPIDNum.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the value 4 | # of a RAPID 'num' symbol (e.g. a variable) defined in an ABB robot controller 5 | # system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | # New value of the RAPID symbol. 15 | float32 value 16 | 17 | --- 18 | 19 | #------------------------------------------------------------------------------- 20 | # Service response fields 21 | #------------------------------------------------------------------------------- 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetRAPIDDnum.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the value 4 | # of a RAPID 'dnum' symbol (e.g. a variable) defined in an ABB robot 5 | # controller system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | # New value of the RAPID symbol. 15 | float64 value 16 | 17 | --- 18 | 19 | #------------------------------------------------------------------------------- 20 | # Service response fields 21 | #------------------------------------------------------------------------------- 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetRAPIDString.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the value 4 | # of a RAPID 'string' symbol (e.g. a variable) defined in an ABB robot 5 | # controller system. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Service request fields 10 | #------------------------------------------------------------------------------- 11 | # Path to the targeted RAPID symbol. 12 | RAPIDSymbolPath path 13 | 14 | # New value of the RAPID symbol. 15 | string value 16 | 17 | --- 18 | 19 | #------------------------------------------------------------------------------- 20 | # Service response fields 21 | #------------------------------------------------------------------------------- 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetSpeedRatio.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the 4 | # speed ratio for an ABB robot controller system's RAPID motions 5 | # (e.g. MoveAbsJ and MoveL). 6 | # 7 | # Note: 8 | # The speed ratio must be an integer in the range [0, 100] (i.e. inclusive). 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | # New speed ratio. 15 | uint8 speed_ratio 16 | 17 | --- 18 | 19 | #------------------------------------------------------------------------------- 20 | # Service response fields 21 | #------------------------------------------------------------------------------- 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetRobotControllerDescription.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get a 4 | # (partial) description of an ABB robot controller system. 5 | # 6 | # Note: 7 | # The description will be returned in a Google Protocol Buffer text format. 8 | #------------------------------------------------------------------------------- 9 | 10 | #------------------------------------------------------------------------------- 11 | # Service request fields 12 | #------------------------------------------------------------------------------- 13 | 14 | --- 15 | 16 | #------------------------------------------------------------------------------- 17 | # Service response fields 18 | #------------------------------------------------------------------------------- 19 | # Description of the robot controller system. 20 | string description 21 | 22 | # Service success/failure indicator. 23 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 24 | uint16 result_code 25 | 26 | # Status message (empty if service succeeded). 27 | string message 28 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetSpeedRatio.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the 4 | # speed ratio for an ABB robot controller system's RAPID motions 5 | # (e.g. MoveAbsJ and MoveL). 6 | # 7 | # Note: 8 | # The speed ratio will be an integer in the range [0, 100] (i.e. inclusive). 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | 15 | --- 16 | 17 | #------------------------------------------------------------------------------- 18 | # Service response fields 19 | #------------------------------------------------------------------------------- 20 | # Speed ratio. 21 | uint8 speed_ratio 22 | 23 | # Service success/failure indicator. 24 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 25 | uint16 result_code 26 | 27 | # Status message (empty if service succeeded). 28 | string message 29 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetFileContents.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the 4 | # contents of a file existing in an ABB robot controller system. 5 | # 6 | # Note: 7 | # The file is assumed to be located in the system's home directory. 8 | #------------------------------------------------------------------------------- 9 | 10 | #------------------------------------------------------------------------------- 11 | # Service request fields 12 | #------------------------------------------------------------------------------- 13 | # Filename (including file extension) of the targeted file. 14 | string filename 15 | 16 | --- 17 | 18 | #------------------------------------------------------------------------------- 19 | # Service response fields 20 | #------------------------------------------------------------------------------- 21 | # Contents of the file. 22 | string contents 23 | 24 | # Service success/failure indicator. 25 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 26 | uint16 result_code 27 | 28 | # Status message (empty if service succeeded). 29 | string message 30 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/GetRAPIDSymbol.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the value 4 | # of a RAPID symbol (e.g. a variable) defined in an ABB robot controller 5 | # system. 6 | # 7 | # Note: 8 | # The RAPID symbol's value will be returned in raw text format. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | # Path to the targeted RAPID symbol. 15 | RAPIDSymbolPath path 16 | 17 | --- 18 | 19 | #------------------------------------------------------------------------------- 20 | # Service response fields 21 | #------------------------------------------------------------------------------- 22 | # Value (in raw text format) of the RAPID symbol. 23 | string value 24 | 25 | # Service success/failure indicator. 26 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 27 | uint16 result_code 28 | 29 | # Status message (empty if service succeeded). 30 | string message 31 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetRAPIDSymbol.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the value 4 | # of a RAPID symbol (e.g. a variable) defined in an ABB robot controller 5 | # system. 6 | # 7 | # Note: 8 | # The RAPID symbol's new value must be in raw text format. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | # Path to the targeted RAPID symbol. 15 | RAPIDSymbolPath path 16 | 17 | # New value (in raw text format) for the RAPID symbol. 18 | string value 19 | 20 | --- 21 | 22 | #------------------------------------------------------------------------------- 23 | # Service response fields 24 | #------------------------------------------------------------------------------- 25 | # Service success/failure indicator. 26 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 27 | uint16 result_code 28 | 29 | # Status message (empty if service succeeded). 30 | string message 31 | -------------------------------------------------------------------------------- /abb_robot_msgs/msg/RAPIDTaskState.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent a subset of states 4 | # of a RAPID task defined in an ABB robot controller system. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Enumerations 9 | #------------------------------------------------------------------------------- 10 | # RAPID execution states: 11 | uint8 EXECUTION_STATE_UNKNOWN = 1 12 | uint8 EXECUTION_STATE_READY = 2 13 | uint8 EXECUTION_STATE_STOPPED = 3 14 | uint8 EXECUTION_STATE_STARTED = 4 15 | uint8 EXECUTION_STATE_UNINITIALIZED = 5 16 | 17 | #------------------------------------------------------------------------------- 18 | # Message fields 19 | #------------------------------------------------------------------------------- 20 | # The RAPID task's name. 21 | string name 22 | 23 | # The RAPID task's activated/deactivated status. 24 | bool activated 25 | 26 | # The RAPID task's execution state. 27 | uint8 execution_state 28 | 29 | # The RAPID task is a motion task. 30 | bool motion_task 31 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/ToolData.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "tooldata" (tool data). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Defines whether or not the robot is holding the tool: 15 | # - TRUE: The robot is holding the tool. 16 | # - FALSE: The robot is not holding the tool, that is, a stationary tool. 17 | bool robhold 18 | 19 | # The tool coordinate system, that is: 20 | # - The position of the TCP (x, y and z) in mm, 21 | # expressed in the wrist coordinate system (tool0). 22 | # - The orientation of the tool coordinate system, 23 | # expressed in the wrist coordinate system. 24 | Pose tframe 25 | 26 | # The load of the tool (if robot held tool). 27 | # The load of the gripper holding the work object (if stationary tool). 28 | LoadData tload 29 | -------------------------------------------------------------------------------- /abb_robot_msgs/srv/SetFileContents.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the 4 | # contents of a file in an ABB robot controller system. 5 | # 6 | # Note: 7 | # The file will be placed in the system's home directory. If the file 8 | # doesn't exist, then it will be created, otherwise it will be overwritten. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | # Filename (including file extension) for the file in the system. 15 | string filename 16 | 17 | # New contents for the file. 18 | string contents 19 | 20 | --- 21 | 22 | #------------------------------------------------------------------------------- 23 | # Service response fields 24 | #------------------------------------------------------------------------------- 25 | # Service success/failure indicator. 26 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 27 | uint16 result_code 28 | 29 | # Status message (empty if service succeeded). 30 | string message 31 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/srv/GetEGMSettings.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to get the value 4 | # of a predefined RAPID variable of the custom RAPID data type "EGMSettings". 5 | # 6 | # Note: 7 | # This variable is defined in each RAPID motion task, in ABB robot controller 8 | # systems, that are using the RobotWare "StateMachine Add-In". 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | # The RAPID task, where the variable exists. 15 | string task 16 | 17 | --- 18 | 19 | #------------------------------------------------------------------------------- 20 | # Service response fields 21 | #------------------------------------------------------------------------------- 22 | # The settings used for RAPID EGM instructions. 23 | EGMSettings settings 24 | 25 | # Service success/failure indicator. 26 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 27 | uint16 result_code 28 | 29 | # Status message (empty if service succeeded). 30 | string message 31 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/srv/SetEGMSettings.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the value 4 | # of a predefined RAPID variable of the custom RAPID data type "EGMSettings". 5 | # 6 | # Note: 7 | # This variable is defined in each RAPID motion task, in ABB robot controller 8 | # systems, that are using the RobotWare "StateMachine Add-In". 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | # The RAPID task, where the variable exists. 15 | string task 16 | 17 | # New settings to use for RAPID EGM instructions. 18 | EGMSettings settings 19 | 20 | --- 21 | 22 | #------------------------------------------------------------------------------- 23 | # Service response fields 24 | #------------------------------------------------------------------------------- 25 | # Service success/failure indicator. 26 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 27 | uint16 result_code 28 | 29 | # Status message (empty if service succeeded). 30 | string message 31 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/srv/SetRAPIDRoutine.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the value 4 | # of a predefined RAPID variable for specifying a custom RAPID routine to run. 5 | # 6 | # Note: 7 | # This variable is defined in each RAPID motion task, in ABB robot 8 | # controller systems, that are using the RobotWare "StateMachine Add-In". 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Service request fields 13 | #------------------------------------------------------------------------------- 14 | # The RAPID task that runs the "StateMachine Add-In" instance. 15 | string task 16 | 17 | # Desired custom RAPID routine to run. 18 | string routine 19 | 20 | --- 21 | 22 | #------------------------------------------------------------------------------- 23 | # Service response fields 24 | #------------------------------------------------------------------------------- 25 | # Service success/failure indicator. 26 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 27 | uint16 result_code 28 | 29 | # Status message (empty if service succeeded). 30 | string message 31 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/LoadData.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "loaddata" (load data). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # The mass (weight) of the load in kg. 15 | float32 mass 16 | 17 | # The center of gravity of the payload, expressed in mm, 18 | # in the tool coordinate system if the robot is holding the tool. 19 | # 20 | # If a stationary tool is used then the center of gravity for the payload 21 | # held by the gripper is expressed in the object frame of the work object 22 | # coordinate system moved by the robot. 23 | Pos cog 24 | 25 | # The orientation of the axes of moment. 26 | # 27 | # These are the principal axes of the payload 28 | # moment of inertia with origin in cog. 29 | # 30 | # If the robot is holding the tool, the axes of moment 31 | # are expressed in the tool coordinate system. 32 | Orient aom 33 | 34 | # The moment of inertia of the load around the x-, y- and z-axis, 35 | # expressed in kgm^2. 36 | float32 ix 37 | float32 iy 38 | float32 iz 39 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/msg/EGMActivateSettings.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the custom RAPID 4 | # data type "EGMActivateSettings" from the RobotWare "StateMachine Add-In". 5 | # 6 | # Note: 7 | # "EGMActivateSettings" are for example used with the RAPID EGM instructions 8 | # "EGMActJoint" and "EGMActPose". 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Tool to use for EGM motions. 15 | abb_rapid_msgs/ToolData tool 16 | 17 | # Work object to use for EGM motions. 18 | abb_rapid_msgs/WObjData wobj 19 | 20 | # Correction frame to use for EGM motions (only used in EGM pose mode). 21 | abb_rapid_msgs/Pose correction_frame 22 | 23 | # Sensor frame to use for EGM motions (only used in EGM pose mode). 24 | abb_rapid_msgs/Pose sensor_frame 25 | 26 | # Condition threshold value [deg or mm] for when an EGM motion's convergence 27 | # criteria is considered to be fulfilled. 28 | float32 cond_min_max 29 | 30 | # Low pass filter bandwidth [Hz] for the EGM controller. 31 | float32 lp_filter 32 | 33 | # Sample rate [ms] for the EGM communication. 34 | uint8 sample_rate 35 | 36 | # Maximum admitted joint speed [deg/s]. 37 | float32 max_speed_deviation 38 | -------------------------------------------------------------------------------- /.github/workflows/ci_focal.yml: -------------------------------------------------------------------------------- 1 | name: CI - Ubuntu Focal 2 | 3 | on: 4 | # direct pushes to protected branches are not supported 5 | pull_request: 6 | # run every day, at 6am UTC 7 | schedule: 8 | - cron: '0 6 * * *' 9 | # allow manually starting this workflow 10 | workflow_dispatch: 11 | 12 | jobs: 13 | industrial_ci: 14 | name: ROS Noetic (${{ matrix.ros_repo }}) 15 | runs-on: ubuntu-20.04 16 | 17 | strategy: 18 | matrix: 19 | ros_distro: [ noetic ] 20 | ros_repo: [ main, testing ] 21 | 22 | env: 23 | CCACHE_DIR: "${{ github.workspace }}/.ccache" 24 | 25 | steps: 26 | - name: Fetch repository 27 | uses: actions/checkout@v3 28 | 29 | - name: ccache cache 30 | uses: actions/cache@v3 31 | with: 32 | path: ${{ env.CCACHE_DIR }} 33 | # we always want the ccache cache to be persisted, as we cannot easily 34 | # determine whether dependencies have changed, and ccache will manage 35 | # updating the cache for us. Adding 'run_id' to the key will force an 36 | # upload at the end of the job. 37 | key: ccache-${{ matrix.ros_distro }}-${{ matrix.ros_repo }}-${{github.run_id}} 38 | restore-keys: | 39 | ccache-${{ matrix.ros_distro }}-${{ matrix.ros_repo }} 40 | 41 | - name: Run industrial_ci 42 | uses: ros-industrial/industrial_ci@master 43 | env: 44 | ROS_DISTRO: ${{ matrix.ros_distro }} 45 | ROS_REPO: ${{ matrix.ros_repo }} 46 | -------------------------------------------------------------------------------- /.github/workflows/ci_bionic.yml: -------------------------------------------------------------------------------- 1 | name: CI - Ubuntu Bionic 2 | 3 | on: 4 | # direct pushes to protected branches are not supported 5 | pull_request: 6 | # run every day, at 6am UTC 7 | schedule: 8 | - cron: '0 6 * * *' 9 | # allow manually starting this workflow 10 | workflow_dispatch: 11 | 12 | jobs: 13 | industrial_ci: 14 | name: ROS Melodic (${{ matrix.ros_repo }}) 15 | runs-on: ubuntu-20.04 16 | 17 | strategy: 18 | matrix: 19 | ros_distro: [ melodic ] 20 | ros_repo: [ main, testing ] 21 | 22 | env: 23 | CCACHE_DIR: "${{ github.workspace }}/.ccache" 24 | 25 | steps: 26 | - name: Fetch repository 27 | uses: actions/checkout@v3 28 | 29 | - name: ccache cache 30 | uses: actions/cache@v3 31 | with: 32 | path: ${{ env.CCACHE_DIR }} 33 | # we always want the ccache cache to be persisted, as we cannot easily 34 | # determine whether dependencies have changed, and ccache will manage 35 | # updating the cache for us. Adding 'run_id' to the key will force an 36 | # upload at the end of the job. 37 | key: ccache-${{ matrix.ros_distro }}-${{ matrix.ros_repo }}-${{github.run_id}} 38 | restore-keys: | 39 | ccache-${{ matrix.ros_distro }}-${{ matrix.ros_repo }} 40 | 41 | - name: Run industrial_ci 42 | uses: ros-industrial/industrial_ci@master 43 | env: 44 | ROS_DISTRO: ${{ matrix.ros_distro }} 45 | ROS_REPO: ${{ matrix.ros_repo }} 46 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020, ABB Schweiz AG 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with 5 | or without modification, are permitted provided that 6 | the following conditions are met: 7 | 8 | * Redistributions of source code must retain the 9 | above copyright notice, this list of conditions 10 | and the following disclaimer. 11 | * Redistributions in binary form must reproduce the 12 | above copyright notice, this list of conditions 13 | and the following disclaimer in the documentation 14 | and/or other materials provided with the 15 | distribution. 16 | * Neither the name of ABB nor the names of its 17 | contributors may be used to endorse or promote 18 | products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /abb_egm_msgs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020, ABB Schweiz AG 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with 5 | or without modification, are permitted provided that 6 | the following conditions are met: 7 | 8 | * Redistributions of source code must retain the 9 | above copyright notice, this list of conditions 10 | and the following disclaimer. 11 | * Redistributions in binary form must reproduce the 12 | above copyright notice, this list of conditions 13 | and the following disclaimer in the documentation 14 | and/or other materials provided with the 15 | distribution. 16 | * Neither the name of ABB nor the names of its 17 | contributors may be used to endorse or promote 18 | products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /abb_rapid_msgs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020, ABB Schweiz AG 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with 5 | or without modification, are permitted provided that 6 | the following conditions are met: 7 | 8 | * Redistributions of source code must retain the 9 | above copyright notice, this list of conditions 10 | and the following disclaimer. 11 | * Redistributions in binary form must reproduce the 12 | above copyright notice, this list of conditions 13 | and the following disclaimer in the documentation 14 | and/or other materials provided with the 15 | distribution. 16 | * Neither the name of ABB nor the names of its 17 | contributors may be used to endorse or promote 18 | products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /abb_robot_msgs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020, ABB Schweiz AG 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with 5 | or without modification, are permitted provided that 6 | the following conditions are met: 7 | 8 | * Redistributions of source code must retain the 9 | above copyright notice, this list of conditions 10 | and the following disclaimer. 11 | * Redistributions in binary form must reproduce the 12 | above copyright notice, this list of conditions 13 | and the following disclaimer in the documentation 14 | and/or other materials provided with the 15 | distribution. 16 | * Neither the name of ABB nor the names of its 17 | contributors may be used to endorse or promote 18 | products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020, ABB Schweiz AG 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with 5 | or without modification, are permitted provided that 6 | the following conditions are met: 7 | 8 | * Redistributions of source code must retain the 9 | above copyright notice, this list of conditions 10 | and the following disclaimer. 11 | * Redistributions in binary form must reproduce the 12 | above copyright notice, this list of conditions 13 | and the following disclaimer in the documentation 14 | and/or other materials provided with the 15 | distribution. 16 | * Neither the name of ABB nor the names of its 17 | contributors may be used to endorse or promote 18 | products derived from this software without 19 | specific prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 22 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 25 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 27 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 28 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 29 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 30 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/ConfData.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "confdata" (robot configuration data). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Rotating axis: 15 | # - The current quadrant of axis 1, 4 and 6, 16 | # expressed as a positive or negative integer. 17 | # Linear axis: 18 | # - The current meter interval of axis 1, 4 and 6, 19 | # expressed as a positive or negative integer. 20 | float32 cf1 21 | float32 cf4 22 | float32 cf6 23 | 24 | # Rotating axis: 25 | # - For serial link robots, the current robot configuration, 26 | # expressed as an integer in the range from 0 to 7. 27 | # - For SCARA robots, the current robot configuration, 28 | # expressed as an integer in the range from 0 to 1. 29 | # - For 7-axis robots, the current robot configuration, 30 | # expressed as an integer in the range from 0 to 7. 31 | # - For paint robots, the current quadrant of axis 5, 32 | # expressed as a positive or negative integer. 33 | # - For other robots, using the current quadrant of axis 2, 34 | # expressed as a positive or negative integer. 35 | # Linear axis: 36 | # - The current meter interval of axis 2, 37 | # expressed as a positive or negative integer. 38 | float32 cfx 39 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/RobTarget.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "robtarget" (position data). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # The position (x, y, and z) of the tool center point expressed in mm. 15 | # 16 | # The position is specified in relation to the current object coordinate system, 17 | # including program displacement. 18 | # 19 | # If no work object is specified then this is the world coordinate system. 20 | Pos trans 21 | 22 | # The orientation of the tool, expressed in the 23 | # form of a quaternion (q1, q2, q3, and q4). 24 | # 25 | # The orientation is specified in relation to the current 26 | # object coordinate system including program displacement. 27 | # 28 | # If no work object is specified then this is the world coordinate system. 29 | Orient rot 30 | 31 | # The axis configuration of the robot (cf1, cf4, cf6, and cfx). 32 | # 33 | # This is defined in the form of the current quarter 34 | # revolution of axis 1, axis 4, and axis 6. 35 | # 36 | # The first positive quarter revolution 0 to 90 degrees is defined as 0. 37 | # 38 | # The meaning of the component cfx is dependent on robot type. 39 | ConfData robconf 40 | 41 | # The position of the additional axes. 42 | ExtJoint extax 43 | -------------------------------------------------------------------------------- /abb_rapid_msgs/msg/WObjData.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the 4 | # RAPID data type "wobjdata" (work object data). 5 | # 6 | # Note: 7 | # Please see the "Technical reference manual - RAPID Instructions, 8 | # Functions and Data types" for more details. 9 | #------------------------------------------------------------------------------- 10 | 11 | #------------------------------------------------------------------------------- 12 | # Message fields 13 | #------------------------------------------------------------------------------- 14 | # Defines whether or not the robot in the actual 15 | # program task is holding the work object: 16 | # - TRUE: The robot is holding the work object, 17 | # i.e. using a stationary tool. 18 | # - FALSE: The robot is not holding the work object, 19 | # i.e. the robot is holding the tool. 20 | bool robhold 21 | 22 | # Defines whether or not a fixed user coordinate system is used: 23 | # - TRUE: Fixed user coordinate system. 24 | # - FALSE: Movable user coordinate system, 25 | # i.e. coordinated external axes are used. 26 | # Also to be used in a MultiMove system in 27 | # semicoordinated or synchronized coordinated mode. 28 | bool ufprog 29 | 30 | # The mechanical unit with which the robot movements are coordinated. 31 | # 32 | # Only specified in the case of movable user 33 | # coordinate systems (ufprog is FALSE). 34 | string ufmec 35 | 36 | # The user coordinate system, i.e. the position 37 | # of the current work surface or fixture. 38 | Pose uframe 39 | 40 | # The object coordinate system, i.e. the position 41 | # of the current work object. 42 | Pose oframe 43 | -------------------------------------------------------------------------------- /abb_egm_msgs/msg/EGMChannelState.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent a subset of states 4 | # of an EGM communication channel. I.e. a channel between an EGM client, 5 | # in an ABB robot controller system, and an external EGM server. 6 | #------------------------------------------------------------------------------- 7 | 8 | #------------------------------------------------------------------------------- 9 | # Enumerations 10 | #------------------------------------------------------------------------------- 11 | # EGM client states: 12 | uint8 EGM_UNDEFINED = 1 13 | uint8 EGM_ERROR = 2 14 | uint8 EGM_STOPPED = 3 15 | uint8 EGM_RUNNING = 4 16 | 17 | # Motor states: 18 | uint8 MOTORS_UNDEFINED = 1 19 | uint8 MOTORS_ON = 2 20 | uint8 MOTORS_OFF = 3 21 | 22 | # RAPID states: 23 | uint8 RAPID_UNDEFINED = 1 24 | uint8 RAPID_STOPPED = 2 25 | uint8 RAPID_RUNNING = 3 26 | 27 | #------------------------------------------------------------------------------- 28 | # Message fields 29 | #------------------------------------------------------------------------------- 30 | # The EGM channel's name. 31 | string name 32 | 33 | # The EGM channel's active/inactive status. 34 | bool active 35 | 36 | # Indicator for if the EGM convergence criteria is currently fulfilled or not. 37 | bool egm_convergence_met 38 | 39 | # EGM client state. 40 | uint8 egm_client_state 41 | 42 | # Motor state. 43 | uint8 motor_state 44 | 45 | # RAPID execution state. 46 | uint8 rapid_execution_state 47 | 48 | # Utilization rate of the connected mechanical unit. 49 | # 50 | # An utilization rate > 100 mean that EGM motion references are 51 | # too aggressive and should be reduced. 52 | float64 utilization_rate 53 | -------------------------------------------------------------------------------- /abb_rapid_msgs/README.md: -------------------------------------------------------------------------------- 1 | # abb_rapid_msgs 2 | 3 | [![license - bsd 3 clause](https://img.shields.io/:license-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) 4 | [![support level: vendor](https://img.shields.io/badge/support%20level-vendor-brightgreen.svg)](http://rosindustrial.org/news/2016/10/7/better-supporting-a-growing-ros-industrial-software-platform) 5 | 6 | **Please note that this package has not been productized, and that academia is the intended audience.**\ 7 | **The package is provided "as-is", and as such no more than limited support can be expected.** 8 | 9 | ## Overview 10 | 11 | ROS message definitions representing complex `RAPID` data structures. 12 | 13 | Please see [abb_robot_driver_interfaces](https://github.com/ros-industrial/abb_robot_driver_interfaces) for more details. 14 | 15 | ## Acknowledgements 16 | 17 | ### ROSIN Project 18 | 19 |

20 | 21 | rosin_logo 22 | 23 | The core development has been made within the European Union's Horizon 2020 project: ROSIN - ROS-Industrial Quality-Assured Robot Software Components (see http://rosin-project.eu for more info). 24 |

25 | eu_flag 26 | The ROSIN project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 732287. 27 |

28 | 29 | *The opinions expressed here reflects only the author's view and reflects in no way the European Commission's opinions. The European Commission is not responsible for any use that may be made of the contained information.* 30 | 31 | ### Special Thanks 32 | 33 | Special thanks to [gavanderhoorn](https://github.com/gavanderhoorn) for guidance with open-source practices and conventions. 34 | -------------------------------------------------------------------------------- /abb_robot_msgs/README.md: -------------------------------------------------------------------------------- 1 | # abb_robot_msgs 2 | 3 | [![license - bsd 3 clause](https://img.shields.io/:license-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) 4 | [![support level: vendor](https://img.shields.io/badge/support%20level-vendor-brightgreen.svg)](http://rosindustrial.org/news/2016/10/7/better-supporting-a-growing-ros-industrial-software-platform) 5 | 6 | **Please note that this package has not been productized, and that academia is the intended audience.**\ 7 | **The package is provided "as-is", and as such no more than limited support can be expected.** 8 | 9 | ## Overview 10 | 11 | ROS message and service definitions representing basic interaction with ABB robots. 12 | 13 | Please see [abb_robot_driver_interfaces](https://github.com/ros-industrial/abb_robot_driver_interfaces) for more details. 14 | 15 | ## Acknowledgements 16 | 17 | ### ROSIN Project 18 | 19 |

20 | 21 | rosin_logo 22 | 23 | The core development has been made within the European Union's Horizon 2020 project: ROSIN - ROS-Industrial Quality-Assured Robot Software Components (see http://rosin-project.eu for more info). 24 |

25 | eu_flag 26 | The ROSIN project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 732287. 27 |

28 | 29 | *The opinions expressed here reflects only the author's view and reflects in no way the European Commission's opinions. The European Commission is not responsible for any use that may be made of the contained information.* 30 | 31 | ### Special Thanks 32 | 33 | Special thanks to [gavanderhoorn](https://github.com/gavanderhoorn) for guidance with open-source practices and conventions. 34 | -------------------------------------------------------------------------------- /abb_egm_msgs/README.md: -------------------------------------------------------------------------------- 1 | # abb_egm_msgs 2 | 3 | [![license - bsd 3 clause](https://img.shields.io/:license-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) 4 | [![support level: vendor](https://img.shields.io/badge/support%20level-vendor-brightgreen.svg)](http://rosindustrial.org/news/2016/10/7/better-supporting-a-growing-ros-industrial-software-platform) 5 | 6 | **Please note that this package has not been productized, and that academia is the intended audience.**\ 7 | **The package is provided "as-is", and as such no more than limited support can be expected.** 8 | 9 | ## Overview 10 | 11 | ROS message definitions representing data related to *Externally Guided Motion* (`EGM`) communication channels. 12 | 13 | Please see [abb_robot_driver_interfaces](https://github.com/ros-industrial/abb_robot_driver_interfaces) for more details. 14 | 15 | ## Acknowledgements 16 | 17 | ### ROSIN Project 18 | 19 |

20 | 21 | rosin_logo 22 | 23 | The core development has been made within the European Union's Horizon 2020 project: ROSIN - ROS-Industrial Quality-Assured Robot Software Components (see http://rosin-project.eu for more info). 24 |

25 | eu_flag 26 | The ROSIN project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 732287. 27 |

28 | 29 | *The opinions expressed here reflects only the author's view and reflects in no way the European Commission's opinions. The European Commission is not responsible for any use that may be made of the contained information.* 30 | 31 | ### Special Thanks 32 | 33 | Special thanks to [gavanderhoorn](https://github.com/gavanderhoorn) for guidance with open-source practices and conventions. 34 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/msg/StateMachineState.msg: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this message definition, is to represent the state of an 4 | # instance of the RobotWare "StateMachine Add-In"'s RAPID implementation. 5 | #------------------------------------------------------------------------------- 6 | 7 | #------------------------------------------------------------------------------- 8 | # Enumerations 9 | #------------------------------------------------------------------------------- 10 | # Possible "StateMachine Add-In" RAPID states: 11 | # 12 | # Note: These enumeration values differ from the RAPID implementation 13 | # values to avoid conflict with default values in ROS messages. 14 | uint8 SM_STATE_UNKNOWN = 1 15 | uint8 SM_STATE_IDLE = 2 16 | uint8 SM_STATE_INITIALIZE = 3 17 | uint8 SM_STATE_RUN_RAPID_ROUTINE = 4 18 | uint8 SM_STATE_RUN_EGM_ROUTINE = 5 19 | 20 | # Possible "StateMachine Add-In" RAPID EGM actions: 21 | # 22 | # Note: These enumeration values differ from the RAPID implementation 23 | # values to avoid conflict with default values in ROS messages. 24 | uint8 EGM_ACTION_UNKNOWN = 1 25 | uint8 EGM_ACTION_NONE = 2 26 | uint8 EGM_ACTION_RUN_JOINT = 3 27 | uint8 EGM_ACTION_RUN_POSE = 4 28 | uint8 EGM_ACTION_STOP = 5 29 | uint8 EGM_ACTION_START_STREAM = 6 30 | uint8 EGM_ACTION_STOP_STREAM = 7 31 | 32 | #------------------------------------------------------------------------------- 33 | # Message fields 34 | #------------------------------------------------------------------------------- 35 | # The RAPID task that runs the "StateMachine Add-In" instance. 36 | string rapid_task 37 | 38 | # The "StateMachine Add-In" instance's current state. 39 | uint8 sm_state 40 | 41 | # The "StateMachine Add-In" instance's current EGM action 42 | # (only used if the RobotWare EGM option is present). 43 | uint8 egm_action 44 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/README.md: -------------------------------------------------------------------------------- 1 | # abb_rapid_sm_addin_msgs 2 | 3 | [![license - bsd 3 clause](https://img.shields.io/:license-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) 4 | [![support level: vendor](https://img.shields.io/badge/support%20level-vendor-brightgreen.svg)](http://rosindustrial.org/news/2016/10/7/better-supporting-a-growing-ros-industrial-software-platform) 5 | 6 | **Please note that this package has not been productized, and that academia is the intended audience.**\ 7 | **The package is provided "as-is", and as such no more than limited support can be expected.** 8 | 9 | ## Overview 10 | 11 | ROS message and service definitions representing interaction with `RAPID` program instances of the `RobotWare` [StateMachine Add-In](https://robotapps.robotstudio.com/#/viewApp/c163de01-792e-4892-a290-37dbe050b6e1). 12 | 13 | Please see [abb_robot_driver_interfaces](https://github.com/ros-industrial/abb_robot_driver_interfaces) for more details. 14 | 15 | ## Acknowledgements 16 | 17 | ### ROSIN Project 18 | 19 |

20 | 21 | rosin_logo 22 | 23 | The core development has been made within the European Union's Horizon 2020 project: ROSIN - ROS-Industrial Quality-Assured Robot Software Components (see http://rosin-project.eu for more info). 24 |

25 | eu_flag 26 | The ROSIN project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 732287. 27 |

28 | 29 | *The opinions expressed here reflects only the author's view and reflects in no way the European Commission's opinions. The European Commission is not responsible for any use that may be made of the contained information.* 30 | 31 | ### Special Thanks 32 | 33 | Special thanks to [gavanderhoorn](https://github.com/gavanderhoorn) for guidance with open-source practices and conventions. 34 | -------------------------------------------------------------------------------- /abb_robot_msgs/msg/ServiceResponses.msg: -------------------------------------------------------------------------------- 1 | # result codes are 16 bit unsigned 2 | 3 | # Generic OK 4 | string SUCCESS="" 5 | uint16 RC_SUCCESS=1 6 | 7 | # Generic failure message 8 | string FAILED="Service failed (e.g. timeout or resource not found, see the DEBUG log for details)" 9 | uint16 RC_FAILED=2 10 | 11 | # The server's underlying communication interface is busy 12 | string SERVER_IS_BUSY="Server is busy" 13 | uint16 RC_SERVER_IS_BUSY=1001 14 | 15 | # Filename field is empty in service request 16 | string EMPTY_FILENAME="Filename is empty" 17 | uint16 RC_EMPTY_FILENAME=2001 18 | 19 | # Signal name field is empty in service request 20 | string EMPTY_SIGNAL_NAME="Signal name is empty" 21 | uint16 RC_EMPTY_SIGNAL_NAME=2002 22 | 23 | # RAPID task name field is empty in service request 24 | string EMPTY_RAPID_TASK_NAME="RAPID task name is empty" 25 | uint16 RC_EMPTY_RAPID_TASK_NAME=2003 26 | 27 | # RAPID module name field is empty in service request 28 | string EMPTY_RAPID_MODULE_NAME="RAPID module name is empty" 29 | uint16 RC_EMPTY_RAPID_MODULE_NAME=2004 30 | 31 | # RAPID symbol name field is empty in service request 32 | string EMPTY_RAPID_SYMBOL_NAME="RAPID symbol name is empty" 33 | uint16 RC_EMPTY_RAPID_SYMBOL_NAME=2005 34 | 35 | # Robot controller is not in auto mode 36 | string NOT_IN_AUTO_MODE="Robot controller is not in AUTO mode" 37 | uint16 RC_NOT_IN_AUTO_MODE=3001 38 | 39 | # The motors are off 40 | string MOTORS_ARE_OFF="Motors are off" 41 | uint16 RC_MOTORS_ARE_OFF=3002 42 | 43 | # The motors are on 44 | string MOTORS_ARE_ON="Motors are on" 45 | uint16 RC_MOTORS_ARE_ON=3003 46 | 47 | # RAPID has not been stopped 48 | string RAPID_NOT_STOPPED="RAPID has not been stopped" 49 | uint16 RC_RAPID_NOT_STOPPED=3004 50 | 51 | # RAPID is not running 52 | string RAPID_NOT_RUNNING="RAPID is not running" 53 | uint16 RC_RAPID_NOT_RUNNING=3005 54 | 55 | # RobotWare StateMachine Add-In runtime state is missing 56 | string SM_RUNTIME_STATES_MISSING="No runtime states received for any StateMachine Add-In instance" 57 | uint16 RC_SM_RUNTIME_STATES_MISSING=4001 58 | 59 | # RobotWare StateMachine Add-In-instances do not know RAPID task 60 | string SM_UNKNOWN_RAPID_TASK="RAPID task not found among known StateMachine Add-In instances" 61 | uint16 RC_SM_UNKNOWN_RAPID_TASK=4002 62 | 63 | # RobotWare StateMachine Add-In instance has not been initialized 64 | string SM_UNINITIALIZED="StateMachine Add-In instance has not been initialized" 65 | uint16 RC_SM_UNINITIALIZED=4003 66 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/srv/SetSGCommand.srv: -------------------------------------------------------------------------------- 1 | #------------------------------------------------------------------------------- 2 | # Description: 3 | # The purpose of this service definition, is to define a way to set the values 4 | # of predefined RAPID variables for commanding a SmartGripper tool. 5 | # 6 | # Note: 7 | # These variables are defined in each RAPID motion task, in ABB robot 8 | # controller systems, that are using the RobotWare "StateMachine Add-In" 9 | # together with a SmartGripper tool. 10 | #------------------------------------------------------------------------------- 11 | 12 | #------------------------------------------------------------------------------- 13 | # Enumerations 14 | #------------------------------------------------------------------------------- 15 | # Supported "StateMachine Add-In" SmartGripper commands: 16 | # 17 | # Note: These enumeration values differ from the RAPID implementation 18 | # values to avoid conflict with default values in ROS messages. 19 | uint8 SG_COMMAND_UNKNOWN = 1 20 | uint8 SG_COMMAND_NONE = 2 21 | uint8 SG_COMMAND_INITIALIZE = 3 22 | uint8 SG_COMMAND_CALIBRATE = 4 23 | uint8 SG_COMMAND_MOVE_TO = 5 24 | uint8 SG_COMMAND_GRIP_IN = 6 25 | uint8 SG_COMMAND_GRIP_OUT = 7 26 | uint8 SG_COMMAND_BLOW_ON_1 = 8 27 | uint8 SG_COMMAND_BLOW_ON_2 = 9 28 | uint8 SG_COMMAND_BLOW_OFF_1 = 10 29 | uint8 SG_COMMAND_BLOW_OFF_2 = 11 30 | uint8 SG_COMMAND_VACUUM_ON_1 = 12 31 | uint8 SG_COMMAND_VACUUM_ON_2 = 13 32 | uint8 SG_COMMAND_VACUUM_OFF_1 = 14 33 | uint8 SG_COMMAND_VACUUM_OFF_2 = 15 34 | 35 | #------------------------------------------------------------------------------- 36 | # Service request fields 37 | #------------------------------------------------------------------------------- 38 | # The RAPID task that runs the "StateMachine Add-In" instance. 39 | string task 40 | 41 | # Desired SmartGripper command. 42 | uint8 command 43 | 44 | # Desired target position [mm] (only used for the 'SG_COMMAND_MOVE_TO' command). 45 | float32 target_position 46 | 47 | --- 48 | 49 | #------------------------------------------------------------------------------- 50 | # Service response fields 51 | #------------------------------------------------------------------------------- 52 | # Service success/failure indicator. 53 | # Refer to 'abb_robot_msgs/ServiceResponses' for defined error codes. 54 | uint16 result_code 55 | 56 | # Status message (empty if service succeeded). 57 | string message 58 | -------------------------------------------------------------------------------- /abb_egm_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | 3 | ######################################################################################################################## 4 | # Metadata 5 | ######################################################################################################################## 6 | # Read the package manifest. 7 | file(READ "${CMAKE_CURRENT_SOURCE_DIR}/package.xml" package_xml_str) 8 | 9 | # Extract project name. 10 | if(NOT package_xml_str MATCHES "([A-Za-z0-9_]+)") 11 | message(FATAL_ERROR "Could not parse project name from package manifest (aborting)") 12 | else() 13 | set(extracted_name ${CMAKE_MATCH_1}) 14 | endif() 15 | 16 | # Extract project version. 17 | if(NOT package_xml_str MATCHES "([0-9]+.[0-9]+.[0-9]+)") 18 | message(FATAL_ERROR "Could not parse project version from package manifest (aborting)") 19 | else() 20 | set(extracted_version ${CMAKE_MATCH_1}) 21 | endif() 22 | 23 | ######################################################################################################################## 24 | # CMake project 25 | ######################################################################################################################## 26 | project(${extracted_name} VERSION ${extracted_version}) 27 | 28 | #=========================================================== 29 | # Dependencies 30 | #=========================================================== 31 | #----------------------------- 32 | # Catkin packages 33 | #----------------------------- 34 | find_package(catkin 35 | REQUIRED COMPONENTS 36 | message_generation 37 | std_msgs 38 | ) 39 | 40 | #=========================================================== 41 | # Generate ROS interfaces 42 | #=========================================================== 43 | add_message_files( 44 | FILES 45 | EGMChannelState.msg 46 | EGMState.msg 47 | ) 48 | 49 | generate_messages( 50 | DEPENDENCIES 51 | std_msgs 52 | ) 53 | 54 | #=========================================================== 55 | # Catkin package specific configurations 56 | #=========================================================== 57 | catkin_package( 58 | CATKIN_DEPENDS 59 | message_runtime 60 | std_msgs 61 | ) 62 | 63 | #=========================================================== 64 | # Install additional files 65 | #=========================================================== 66 | install( 67 | FILES 68 | LICENSE 69 | README.md 70 | DESTINATION 71 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 72 | ) 73 | -------------------------------------------------------------------------------- /abb_rapid_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | 3 | ######################################################################################################################## 4 | # Metadata 5 | ######################################################################################################################## 6 | # Read the package manifest. 7 | file(READ "${CMAKE_CURRENT_SOURCE_DIR}/package.xml" package_xml_str) 8 | 9 | # Extract project name. 10 | if(NOT package_xml_str MATCHES "([A-Za-z0-9_]+)") 11 | message(FATAL_ERROR "Could not parse project name from package manifest (aborting)") 12 | else() 13 | set(extracted_name ${CMAKE_MATCH_1}) 14 | endif() 15 | 16 | # Extract project version. 17 | if(NOT package_xml_str MATCHES "([0-9]+.[0-9]+.[0-9]+)") 18 | message(FATAL_ERROR "Could not parse project version from package manifest (aborting)") 19 | else() 20 | set(extracted_version ${CMAKE_MATCH_1}) 21 | endif() 22 | 23 | ######################################################################################################################## 24 | # CMake project 25 | ######################################################################################################################## 26 | project(${extracted_name} VERSION ${extracted_version}) 27 | 28 | #=========================================================== 29 | # Dependencies 30 | #=========================================================== 31 | #----------------------------- 32 | # Catkin packages 33 | #----------------------------- 34 | find_package(catkin 35 | REQUIRED COMPONENTS 36 | message_generation 37 | ) 38 | 39 | #=========================================================== 40 | # Generate ROS interfaces 41 | #=========================================================== 42 | add_message_files( 43 | FILES 44 | ConfData.msg 45 | ExtJoint.msg 46 | JointTarget.msg 47 | LoadData.msg 48 | Orient.msg 49 | Pos.msg 50 | Pose.msg 51 | RobJoint.msg 52 | RobTarget.msg 53 | ToolData.msg 54 | WObjData.msg 55 | ) 56 | 57 | generate_messages() 58 | 59 | #=========================================================== 60 | # Catkin package specific configurations 61 | #=========================================================== 62 | catkin_package( 63 | CATKIN_DEPENDS 64 | message_runtime 65 | ) 66 | 67 | #=========================================================== 68 | # Install additional files 69 | #=========================================================== 70 | install( 71 | FILES 72 | LICENSE 73 | README.md 74 | DESTINATION 75 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 76 | ) 77 | -------------------------------------------------------------------------------- /abb_rapid_sm_addin_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | 3 | ######################################################################################################################## 4 | # Metadata 5 | ######################################################################################################################## 6 | # Read the package manifest. 7 | file(READ "${CMAKE_CURRENT_SOURCE_DIR}/package.xml" package_xml_str) 8 | 9 | # Extract project name. 10 | if(NOT package_xml_str MATCHES "([A-Za-z0-9_]+)") 11 | message(FATAL_ERROR "Could not parse project name from package manifest (aborting)") 12 | else() 13 | set(extracted_name ${CMAKE_MATCH_1}) 14 | endif() 15 | 16 | # Extract project version. 17 | if(NOT package_xml_str MATCHES "([0-9]+.[0-9]+.[0-9]+)") 18 | message(FATAL_ERROR "Could not parse project version from package manifest (aborting)") 19 | else() 20 | set(extracted_version ${CMAKE_MATCH_1}) 21 | endif() 22 | 23 | ######################################################################################################################## 24 | # CMake project 25 | ######################################################################################################################## 26 | project(${extracted_name} VERSION ${extracted_version}) 27 | 28 | #=========================================================== 29 | # Dependencies 30 | #=========================================================== 31 | #----------------------------- 32 | # Catkin packages 33 | #----------------------------- 34 | find_package(catkin 35 | REQUIRED COMPONENTS 36 | abb_rapid_msgs 37 | message_generation 38 | std_msgs 39 | ) 40 | 41 | #=========================================================== 42 | # Generate ROS interfaces 43 | #=========================================================== 44 | add_message_files( 45 | FILES 46 | EGMActivateSettings.msg 47 | EGMRunSettings.msg 48 | EGMSettings.msg 49 | EGMSetupSettings.msg 50 | EGMStopSettings.msg 51 | RuntimeState.msg 52 | StateMachineState.msg 53 | ) 54 | 55 | add_service_files( 56 | FILES 57 | GetEGMSettings.srv 58 | SetEGMSettings.srv 59 | SetRAPIDRoutine.srv 60 | SetSGCommand.srv 61 | ) 62 | 63 | generate_messages( 64 | DEPENDENCIES 65 | abb_rapid_msgs 66 | std_msgs 67 | ) 68 | 69 | #=========================================================== 70 | # Catkin package specific configurations 71 | #=========================================================== 72 | catkin_package( 73 | CATKIN_DEPENDS 74 | abb_rapid_msgs 75 | message_runtime 76 | std_msgs 77 | ) 78 | 79 | #=========================================================== 80 | # Install additional files 81 | #=========================================================== 82 | install( 83 | FILES 84 | LICENSE 85 | README.md 86 | DESTINATION 87 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 88 | ) 89 | -------------------------------------------------------------------------------- /abb_robot_msgs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | 3 | ######################################################################################################################## 4 | # Metadata 5 | ######################################################################################################################## 6 | # Read the package manifest. 7 | file(READ "${CMAKE_CURRENT_SOURCE_DIR}/package.xml" package_xml_str) 8 | 9 | # Extract project name. 10 | if(NOT package_xml_str MATCHES "([A-Za-z0-9_]+)") 11 | message(FATAL_ERROR "Could not parse project name from package manifest (aborting)") 12 | else() 13 | set(extracted_name ${CMAKE_MATCH_1}) 14 | endif() 15 | 16 | # Extract project version. 17 | if(NOT package_xml_str MATCHES "([0-9]+.[0-9]+.[0-9]+)") 18 | message(FATAL_ERROR "Could not parse project version from package manifest (aborting)") 19 | else() 20 | set(extracted_version ${CMAKE_MATCH_1}) 21 | endif() 22 | 23 | ######################################################################################################################## 24 | # CMake project 25 | ######################################################################################################################## 26 | project(${extracted_name} VERSION ${extracted_version}) 27 | 28 | #=========================================================== 29 | # Dependencies 30 | #=========================================================== 31 | #----------------------------- 32 | # Catkin packages 33 | #----------------------------- 34 | find_package(catkin 35 | REQUIRED COMPONENTS 36 | message_generation 37 | std_msgs 38 | ) 39 | 40 | #=========================================================== 41 | # Generate ROS interfaces 42 | #=========================================================== 43 | add_message_files( 44 | FILES 45 | MechanicalUnitState.msg 46 | RAPIDSymbolPath.msg 47 | RAPIDTaskState.msg 48 | ServiceResponses.msg 49 | SystemState.msg 50 | ) 51 | 52 | add_service_files( 53 | FILES 54 | GetFileContents.srv 55 | GetIOSignal.srv 56 | GetRAPIDBool.srv 57 | GetRAPIDDnum.srv 58 | GetRAPIDNum.srv 59 | GetRAPIDString.srv 60 | GetRAPIDSymbol.srv 61 | GetRobotControllerDescription.srv 62 | GetSpeedRatio.srv 63 | SetFileContents.srv 64 | SetIOSignal.srv 65 | SetRAPIDBool.srv 66 | SetRAPIDDnum.srv 67 | SetRAPIDNum.srv 68 | SetRAPIDString.srv 69 | SetRAPIDSymbol.srv 70 | SetSpeedRatio.srv 71 | TriggerWithResultCode.srv 72 | ) 73 | 74 | generate_messages( 75 | DEPENDENCIES 76 | std_msgs 77 | ) 78 | 79 | #=========================================================== 80 | # Catkin package specific configurations 81 | #=========================================================== 82 | catkin_package( 83 | CATKIN_DEPENDS 84 | message_runtime 85 | std_msgs 86 | ) 87 | 88 | #=========================================================== 89 | # Install additional files 90 | #=========================================================== 91 | install( 92 | FILES 93 | LICENSE 94 | README.md 95 | DESTINATION 96 | ${CATKIN_PACKAGE_SHARE_DESTINATION} 97 | ) 98 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # abb_robot_driver_interfaces 2 | 3 | ![CI - Ubuntu Bionic](https://github.com/ros-industrial/abb_robot_driver_interfaces/workflows/CI%20-%20Ubuntu%20Bionic/badge.svg) 4 | ![CI - Ubuntu Focal](https://github.com/ros-industrial/abb_robot_driver_interfaces/workflows/CI%20-%20Ubuntu%20Focal/badge.svg) 5 | [![Github Issues](https://img.shields.io/github/issues/ros-industrial/abb_robot_driver_interfaces.svg)](http://github.com/ros-industrial/abb_robot_driver_interfaces/issues) 6 | 7 | [![license - bsd 3 clause](https://img.shields.io/:license-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) 8 | 9 | [![support level: community](https://img.shields.io/badge/support%20level-community-lightgray.svg)](http://rosindustrial.org/news/2016/10/7/better-supporting-a-growing-ros-industrial-software-platform) 10 | 11 | **Please note that the included packages have not been productized, and that academia is the intended audience.**\ 12 | **The packages are provided "as-is", and as such no more than limited support can be expected.** 13 | 14 | ## Overview 15 | 16 | ROS packages with ROS message and service definitions, intended for use with [abb_robot_driver](https://github.com/ros-industrial/abb_robot_driver). 17 | 18 | The included packages are briefly described in the following table: 19 | 20 | | Package | Description | 21 | | --- | --- | 22 | | [abb_robot_msgs](abb_robot_msgs) | ROS message and service definitions representing basic interaction with ABB robots:
  • Reading system states (*e.g. motors on/off and if auto/manual mode is active*).
  • Starting and stopping `RAPID` program execution.
  • Reading and writing of `RAPID` data symbols (*e.g. variables and constants*).
  • Reading and writing of IO-signals.
  • And more.
| 23 | | [abb_rapid_msgs](abb_rapid_msgs) | ROS message definitions representing complex `RAPID` data structures:
  • `loaddata`.
  • `tooldata`.
  • `wobjdata`.
  • `jointtarget`.
  • `robtarget`.
  • And more.
| 24 | | [abb_egm_msgs](abb_egm_msgs) | ROS message definitions representing data related to *Externally Guided Motion* (`EGM`) communication channels. | 25 | | [abb_rapid_sm_addin_msgs](abb_rapid_sm_addin_msgs) | ROS message and service definitions representing interaction with `RAPID` program instances of the `RobotWare` [StateMachine Add-In](https://robotapps.robotstudio.com/#/viewApp/c163de01-792e-4892-a290-37dbe050b6e1):
  • Reading runtime states of the `RAPID` program instances (*i.e. the state machines*).
  • Starting and stopping `EGM` communication sessions.
  • Reading and writing of `EGM` `RAPID` settings.
  • Opening/closing `SmartGripper` fingers.
  • And more.
| 26 | 27 | Please see [abb_robot_driver](https://github.com/ros-industrial/abb_robot_driver) for more details. 28 | 29 | ## Acknowledgements 30 | 31 | ### ROSIN Project 32 | 33 |

34 | 35 | rosin_logo 36 | 37 | The core development has been made within the European Union's Horizon 2020 project: ROSIN - ROS-Industrial Quality-Assured Robot Software Components (see http://rosin-project.eu for more info). 38 |

39 | eu_flag 40 | The ROSIN project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement no. 732287. 41 |

42 | 43 | *The opinions expressed here reflects only the author's view and reflects in no way the European Commission's opinions. The European Commission is not responsible for any use that may be made of the contained information.* 44 | 45 | ### Special Thanks 46 | 47 | Special thanks to [gavanderhoorn](https://github.com/gavanderhoorn) for guidance with open-source practices and conventions. 48 | --------------------------------------------------------------------------------