staubli_driver_ros2 main
ROS2 control driver for Staubli robots
Loading...
Searching...
No Matches
types.hpp
Go to the documentation of this file.
1// Copyright 2025 ICUBE Laboratory, University of Strasbourg
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// Author: Thibault Poignonec (thibault.poignonec@gmail.fr)
16
17#ifndef STAUBLI_ROBOT_DRIVER__TYPES_HPP_
18#define STAUBLI_ROBOT_DRIVER__TYPES_HPP_
19
20namespace staubli_robot_driver {
21
25enum class MessageType : uint8_t {
26 INVALID = 0x00,
27 ROBOT_STATE = 0x01,
28 ROBOT_COMMAND = 0x02,
29 DIAGNOSTIC_DATA = 0x03
30};
31
35enum class CommandType : uint8_t {
36 INVALID = 0x00,
37 STOP = 0x01,
38 JOINT_POSITION = 0x02,
39 JOINT_VELOCITY = 0x03,
40 JOINT_TORQUE = 0x04,
41 // Used by VAL3 server, not valid command to send to robot
44};
45
49enum class OperationMode : uint8_t {
50 UNKNOWN = 0x00,
51 MANUAL = 0x01,
52 AUTOMATIC = 0x02,
53 REMOTE = 0x03
54};
55
56// /**
57// * @brief Operation mode statuses
58// */
59// enum class OperationModeStatus : uint8_t {
60// UNKNOWN = 0x00,
61// PROGRAMMED_MOTION = 0x01,
62// CONNECTION_MOTION = 0x02,
63// HOLDING_POSITION = 0x03,
64// MANUAL_JOINT_JOG = 0x04,
65// MANUAL_FRAME_JOG = 0x05,
66// MANUAL_TOOL_JOG = 0x06,
67// MANUAL_POINT_JOG = 0x07
68// };
69
70
74enum class SafetyStatus : uint8_t {
75 NO_SAFETY_STOP = 0x00,
76 WAIT_FOR_RESTART = 0x01,
77 SS1 = 0x02,
78 SS2 = 0x03,
79 WAIT_FOR_WMS = 0x04
80};
81
85enum class StatusFlag : uint16_t {
86 POWER_ON = 0x0001,
87 BRAKES_RELEASED = 0x0002,
88 MOTION_POSSIBLE = 0x0004,
89 IN_MOTION = 0x0008,
90 ERROR_STATE = 0x0010,
91 ESTOP_PRESSED = 0x0020,
92};
93
98 JOINT_POSITIONS = 0x0001,
99 JOINT_VELOCITIES = 0x0002,
100 JOINT_TORQUES = 0x0004,
101 FT_SENSOR = 0x0008,
102 DIGITAL_INPUTS = 0x0010,
103 ANALOG_INPUTS = 0x0020,
104};
105
106} // namespace staubli_robot_driver
107
108#endif // STAUBLI_ROBOT_DRIVER__TYPES_HPP_
Bilateral real-time socket interface for pub/sub communication.
Definition real_time_socket_interface.hpp:39
Definition messages.hpp:23
ValidFieldFlag
Valid fields (bit masks)
Definition types.hpp:97
OperationMode
Operation modes.
Definition types.hpp:49
CommandType
Command types.
Definition types.hpp:35
MessageType
Message types for communication.
Definition types.hpp:25
SafetyStatus
Safety status.
Definition types.hpp:74
StatusFlag
Status flag (bit masks)
Definition types.hpp:85