|
staubli_driver_ros2 main
ROS2 control driver for Staubli robots
|
Classes | |
| class | DiagnosticDataMessage |
| Diagnostic data. More... | |
| struct | FrameHeader |
| Frame header structure. More... | |
| class | Message |
| Generic message structure. More... | |
| struct | MessageStatus |
| Status struct to hold message status information. More... | |
| class | MockRobotServer |
| Mock robot server to simulate a Staubli robot for testing purposes. More... | |
| class | RealTimeSocketInterface |
| Bilateral real-time socket interface for pub/sub communication. More... | |
| class | RealTimeSocketSubscriber |
| Real-time socket subscriber class template. More... | |
| class | RobotCommandMessage |
| Robot command message. More... | |
| class | RobotDriver |
| Main interface for controlling Staubli robots. More... | |
| class | RobotStateMessage |
| Robot state message. More... | |
| class | Socket |
| Abstract interface for communication with the robot. More... | |
| class | SocketFactory |
| Factory for creating communication interfaces. More... | |
| class | StaubliHardwareInterface |
| class | TCPSocket |
| Class for handling bidirectional TCP communication. More... | |
| class | TCPSocketFactory |
| Factory implementation for TCP communication. More... | |
| class | UDPSocket |
| Class for handling bidirectional UDP communication. More... | |
| class | UDPSocketFactory |
| Factory implementation for UDP communication. More... | |
Enumerations | |
| enum class | MessageType : uint8_t { INVALID = 0x00 , ROBOT_STATE = 0x01 , ROBOT_COMMAND = 0x02 , DIAGNOSTIC_DATA = 0x03 } |
| Message types for communication. More... | |
| enum class | CommandType : uint8_t { INVALID = 0x00 , STOP = 0x01 , JOINT_POSITION = 0x02 , JOINT_VELOCITY = 0x03 , JOINT_TORQUE = 0x04 , DECELERATION_JOINT_POSITION = 0x0A , DECELERATION_JOINT_VELOCITY = 0x0B } |
| Command types. More... | |
| enum class | OperationMode : uint8_t { UNKNOWN = 0x00 , MANUAL = 0x01 , AUTOMATIC = 0x02 , REMOTE = 0x03 } |
| Operation modes. More... | |
| enum class | SafetyStatus : uint8_t { NO_SAFETY_STOP = 0x00 , WAIT_FOR_RESTART = 0x01 , SS1 = 0x02 , SS2 = 0x03 , WAIT_FOR_WMS = 0x04 } |
| Safety status. More... | |
| enum class | StatusFlag : uint16_t { POWER_ON = 0x0001 , BRAKES_RELEASED = 0x0002 , MOTION_POSSIBLE = 0x0004 , IN_MOTION = 0x0008 , ERROR_STATE = 0x0010 , ESTOP_PRESSED = 0x0020 } |
| Status flag (bit masks) More... | |
| enum class | ValidFieldFlag : uint16_t { JOINT_POSITIONS = 0x0001 , JOINT_VELOCITIES = 0x0002 , JOINT_TORQUES = 0x0004 , FT_SENSOR = 0x0008 , DIGITAL_INPUTS = 0x0010 , ANALOG_INPUTS = 0x0020 } |
| Valid fields (bit masks) More... | |
Variables | |
| constexpr uint16_t | MAGIC_NUMBER = 0xABCD |
| Magic number to identify the protocol. | |
| constexpr uint8_t | PROTOCOL_VERSION = 1 |
| Protocol version. | |
| constexpr uint16_t | DEFAULT_CONTROL_PORT = 8080 |
| Default port for the control socket. | |
| constexpr uint16_t | DEFAULT_DIAGNOSTICS_PORT = 8081 |
| Default port for the diagnostics socket. | |
| constexpr size_t | MAX_FRAME_SEQUENCE_NUMBER = std::numeric_limits<uint16_t>::max() |
| Maximal sequence number before wrap-around. | |
| constexpr size_t | MAX_SOCKET_PACKET_SIZE = 1024 |
| Maximum packet size (bytes) for socket communication. | |
Message types for communication.
| Enumerator | |
|---|---|
| INVALID | |
| ROBOT_STATE | |
| ROBOT_COMMAND | |
| DIAGNOSTIC_DATA | |
Specialization for double: serialize_type as float to save space.
Specialization for double: deserialize_type from float.
Serialize an array of type T into a byte buffer.
| T | Underlying type of the array elements |
| N | Number of elements in the array |
| arr | Array to serialize |
| buffer | Buffer to write to |
Deserialize an array of type T from a byte buffer.
| T | Underlying type of the array elements |
| N | Number of elements in the array |
| buffer | Buffer to read from |
| arr | Array to deserialize |
| bool staubli_robot_driver::set_command_stop | ( | RobotCommandMessage & | msg | ) |
| bool staubli_robot_driver::set_command_joint_position | ( | RobotCommandMessage & | msg, |
| std::vector< double > | joint_positions | ||
| ) |
| bool staubli_robot_driver::set_command_joint_velocity | ( | RobotCommandMessage & | msg, |
| std::vector< double > | joint_velocities | ||
| ) |
| bool staubli_robot_driver::set_sequence_number | ( | RobotCommandMessage & | msg, |
| RobotStateMessage & | state | ||
| ) |
| bool staubli_robot_driver::prepare_robot_command_message | ( | RobotCommandMessage & | msg, |
| RobotStateMessage & | state | ||
| ) |
Clear and prepare a RobotCommandMessage.
| msg | Message to clear |
| state | Last read robot state (to set sequence number) |
Magic number to identify the protocol.
Default port for the control socket.
Default port for the diagnostics socket.
|
constexpr |
Maximal sequence number before wrap-around.