No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License TODO: License declaration
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/realmanrobot/ros2_rm_robot.git
VCS Type git
VCS Version humble
Last Updated 2025-01-09
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

TODO: Package description

Additional Links

No additional links.

Maintainers

  • rm

Authors

No additional authors.
[中文简体](https://github.com/RealManRobot/ros2_rm_robot/blob/humble/rm_ros_interfaces/README_CN.md)| [English](https://github.com/RealManRobot/ros2_rm_robot/blob/humble/rm_ros_interfaces/README.md)
# RealMan Robot rm_ros_interface User Manual V1.2 RealMan Intelligent Technology (Beijing) Co., Ltd. Revision History- | No. | Date| Comment | | -----| -----| -----| |V1.0 | 2-18-2024 | Draft | |V1.1 | 7-8-2024 | Amend(Add teaching message) | |V1.2 | 12-25-2024 | Amend(Add UDP report message) |

目录

rm_ros_interface_Package_Description

The main function of the rm_ros_interface package is to provide necessary message files for the robotic arm to run under the framework of ROS2. In the following text, we will provide a detailed introduction to this package through the following aspects.

  • 1.Package use.
  • 2.Package architecture description.
  • 3.Package topic description.
    Through the introduction of the three parts, it can help you-
  • 1.Understand the package use.
  • 2.Familiar with the file structure and function of the package.
  • 3.Familiar with the topic related to the package for easy development and use.

    rm_ros_interface_Package_Use

    This package does not have any executable commands, but it is used to provide the necessary message files for other packages.

    rm_ros_interface_Package_Architecture_Description

    Overview_of_Package_Files

├── CMakeLists.txt                # compilation rule file
├── include                       # dependency header file folder
│   └── rm_ros_interfaces
├── msg                          # current message file (see below for details)
│   ├── Armcurrentstatus.msg
│   ├── Armoriginalstate.msg
│   ├── Armsoftversion.msg
│   ├── Armstate.msg
│   ├── Cartepos.msg
│   ├── Carteposcustom.msg
│   ├── Forcepositionmovejoint.msg
│   ├── Forcepositionmovepose.msg
│   ├── Force_Position_State.msg
│   ├── Getallframe.msg
│   ├── GetArmState_Command.msg
│   ├── Gripperpick.msg
│   ├── Gripperset.msg
│   ├── Handangle.msg
│   ├── Handforce.msg
│   ├── Handposture.msg
│   ├── Handseq.msg
│   ├── Handspeed.msg
│   ├── Handstatus.msg
│   ├── Jointcurrent.msg
│   ├── Jointenflag.msg
│   ├── Jointerrclear.msg
│   ├── Jointerrorcode.msg
│   ├── Jointposeeuler.msg
│   ├── Jointpos.msg
│   ├── Jointposcustom.msg
│   ├── Jointspeed.msg
│   ├── Jointteach.msg
│   ├── Jointtemperature.msg
│   ├── Jointvoltage.msg
│   ├── Liftheight.msg
│   ├── Liftspeed.msg
│   ├── Liftstate.msg
│   ├── Movec.msg
│   ├── Movej.msg
│   ├── Movejp.msg
│   ├── Movel.msg
│   ├── Ortteach.msg
│   ├── Posteach.msg
│   ├── Setforceposition.msg
│   ├── Setrealtimepush.msg
│   ├── Sixforce.msg
│   └── Stop.msg
├── package.xml                                      # dependency declaration file
└── src

rm_ros_interface_message_description

Joint_error_code-Jointerrorcode_msg

uint16[] joint_error  
uint8 dof  

msg member
uint16[] joint_error
Error message for each joint.
uint8 dof
Degree of freedom message of the robotic arm.

Clearing_the_joint’s_error_code-Jointerrclear_msg

uint8 joint_num  
bool block  

msg member
joint_num
the corresponding joint number, from the base to the robotic arm gripper, the number is 1-6 or 1-7.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

All_coordinate_system_names-Getallframe_msg

string[10] frame_name  

msg member
frame_name
The array of work coordinate system names returned

Joine_motion-Movej_msg

float32[] joint  
uint8 speed  
bool block  
uint8 trajectory_connect
uint8 dof  

msg member
joint
Joint angle, float type, unit-radians.
speed
Speed percentage ratio coefficient, 0-100.
trajectory_connect Is the trajectory plan now. 1.wait 0.plan now. block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.
dof
Degree of freedom message of the robotic arm.

Linear_motion-Movel_msg

geometry_msgs/Pose pose  
uint8 speed  
uint8 trajectory_connect  
bool block  

msg member
pose
Robotic arm pose-geometry_msgs/Pose type, x, y, z coordinates (float type, unit-m) + quaternion (float type).
speed
Speed percentage ratio coefficient, 0-100.
trajectory_connect Is the trajectory plan now. 1.wait 0.plan now. block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Circular_motion-Movec_msg

geometry_msgs/Pose pose_mid  
geometry_msgs/Pose pose_end  
uint8 speed  
uint8 trajectory_connect  
bool block  
uint8 loop

msg member
pose_mid
Middle pose: geometry_msgs/Pose type, x, y, z coordinates (float type, unit: m) + quaternion.
pose_end
Target pose: geometry_msgs/Pose type, x, y, z coordinates (float type, unit: m) + quaternion.
speed
Speed percentage ratio coefficient, 0-100.
trajectory_connect Is the trajectory plan now. 1.wait 0.plan now. block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.
loop Number of cycles

Joint_space_planning_to_target_pose-Movejp_msg

geometry_msgs/Pose pose  
uint8 speed  
uint8 trajectory_connect  
bool block 

msg member pose
Target pose: geometry_msgs/Pose type, x, y, z coordinates (float type, unit: m) + quaternion.
speed
Speed percentage ratio coefficient, 0-100.
trajectory_connect Is the trajectory plan now. 1.wait 0.plan now. block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Joint_teaching-Jointteach_msg

uint8 num
uint8 direction
uint8 speed
bool block

msg member
num
joint num,1~7. direction
teach direction,0-negative direction,1-positive direction. speed speed:speed percentage ratio coefficient, 0-100. block
whether it is a blocking mode, bool type, true: blocking, false: non-blocking.

Position_teaching-Posteach_msg

uint8 type
uint8 direction
uint8 speed
bool block

msg member
type
Teaching demonstration type: input0:X-axis direction、1:Y-axis direction、2:Z-axis direction. direction
teach direction,0-negative direction,1-positive direction. speed speed:speed percentage ratio coefficient, 0-100.
block
whether it is a blocking mode, bool type, true: blocking, false: non-blocking.

Attitude_teaching-Ortteach_msg

uint8 type
uint8 direction
uint8 speed
bool block

msg member
type
Teaching demonstration type: input0:RX-axis direction、1:RY-axis direction、2:RZ-axis direction direction
teach direction,0-negative direction,1-positive direction. speed speed:speed percentage ratio coefficient, 0-100.
block
whether it is a blocking mode, bool type, true: blocking, false: non-blocking.

Joint_transmission-Jointpos_msg

float32[] joint  
bool follow  
float32 expand  
uint8 dof

msg member
joint Joint angle, float type, unit: radians.
follow
Follow state, bool type, true: high follow, false: low follow, default high follow if not set.
expand
Expand joint, float type, unit: radians.
dof
Degree of freedom message of the robotic arm.

Pose_transmission-Cartepos_msg

geometry_msgs/Pose pose  
bool follow  

msg member
pose
Robotic arm poses geometry_msgs/Pose type, x, y, z coordinates (float type, unit: m) + quaternion.
follow
Follow state, bool type, true: high follow, false: low follow, default high follow if not set.

Current_robotic_arm_state_Angle_and_Euler_angle-Armoriginalstate_msg

float32[] joint  
float32[6] pose  
uint16 arm_err  
uint16 sys_err  
uint8 dof

msg member
joint
Joint angle, float type, unit: °.
pose
Current pose of the robotic arm, float type, x, y, z coordinates, unit: m, x, y, z Euler angle, unit: degree.
arm_err
Robotic arm running error code, unsigned int type.
arm_err Controller error code, unsigned int type.
dof
Degree of freedom message of the robotic arm.

Current_arm_state_radians_and_quaternion-Armstate_msg

float32[] joint  
geometry_msgs/Pose pose  
uint16 arm_err  
uint16 sys_err  
uint8 dof  

msg member
joint
Joint angle, float type, unit: radians.
pose
Current pose of the robotic arm, float type, x, y, z coordinates, unit: m, x, y, z, w quaternion.
arm_err
Robotic arm running error code, unsigned int type.
arm_err
Controller error code, unsigned int type.
dof
Degree of freedom message of the robotic arm.

Getting_the_software_version-Armsoftversion_msg

string planversion  
string ctrlversion  
string kernal1  
string kernal2  
string productversion  

msg member
planversion
The read user interface kernel version number, string type.
ctrlversion
Real-time kernel version number, string type.
kernal1
The version number of sub-core 1 of the real-time kernel, string type.
kernal2
The version number of sub-core 2 of the real-time kernel, string type.
productversion
Robotic arm model, string type.

Gripper_pick-Gripperpick_msg

uint16 speed  
uint16 force  
bool block 
uint16 timeout 

msg member
speed
Gripper pick speed, unsigned int type, range: 1-1000.
force
Gripper pick torque threshold, unsigned int type, range: 50-1000.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.
timeout Set the timeout for the return, and the blocking mode will take effect (in seconds).

Gripper_pick_gripper_pick-on-Gripperpick_msg

uint16 speed  
uint16 force  
bool block  
uint16 timeout 

msg member
speed
Gripper pick speed, unsigned int type, range: 1-1000.
force
Gripper picks torque threshold, unsigned int type, range: 50-1000.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.
timeout Set the timeout for the return, and the blocking mode will take effect (in seconds).

Gripper_reaching_the_given_position-Gripperset_msg

uint16 position  
bool block 
uint16 timeout 

msg member
position
Gripper target position, unsigned int type, range: 1-1000, representing the degree of opening of the gripper: 0-70 mm.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.
timeout Set the timeout for the return, and the blocking mode will take effect (in seconds).

Force-position_mixing_control-Setforceposition_msg

uint8 sensor  
uint8 mode  
uint8 direction  
int16 n  
bool block

msg member
sensor
Sensor; 0 - One-axis force; 1 - Six-axis force.
mode
Mode: 0 - Base coordinate system force control; 1 - Tool coordinate system force control.
Direction
Force control direction; 0 - Along the X-axis; 1 - Along the Y-axis; 2 - Along the Z-axis; 3 - Along the RX posture direction; 4 - Along the RY posture direction; 5 - Along the RZ posture direction.
n
Force value, unit: 0.1 N.
block
whether it is a blocking mode, true: blocking, false: non-blocking.

Six-axis_force_data-Sixforce_msg

float32 force_fx  
float32 force_fy  
float32 force_fz  
float32 force_mx  
float32 force_my  
float32 force_mz

msg member
force_fx
the force along the x-axis direction.
force_fy
the force along the y-axis direction.
force_fz the force along the z-axis direction.
force_mx
the force when rotating along the x-axis direction.
force_my
the force when rotating along the y-axis direction.
force_mz
the force when rotating along the z-axis direction.

Setting_the_dexterous_hand_posture-Hand_posture_msg

uint16 posture_num  
bool block 

msg member
posture_num
The serial number of the posture pre-saved in the dexterous hand, ranges from 1 to 40.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Setting_the_dexterous_hand_action_sequence-Handseq_msg

uint16 seq_num  
bool block

msg member
seq_num
The serial number of the sequence pre-saved in the dexterous hand, ranging from 1 to 40.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Setting_the_angles_of_various_degrees_of_freedom_for_the_dexterous_hand-Handangle_msg

int16[6] hand_angle   
bool block

msg member
hand_angle
Hand angle array, range: 0-1000. And -1 represents that no operation is performed on this degree of freedom and the current state remains.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Setting_the_dexterous_hand_action_sequence-Handspeed_msg

uint16 hand_speed  
bool block

msg member
hand_speed Hand speed, range: 1-1000.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Setting_the_force_threshold_for_the_dexterous_hand-Handforce_msg

uint16 hand_force  
bool block

msg member
hand_force
Hand force, range: 1-1000.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Transmissive_force-position_mixing_control_compensation-angle-Forcepositionmovejoint_msg

float32[] joint  
uint8 sensor  
uint8 mode  
int16 dir  
float32 force  
bool follow  
uint8 dof

msg member
joint
Angle force-position mixing transmission, unit: radians.
sensor
Type of sensor used, 0 - One-axis force, 1 - Six-axis force.
mode
Mode, 0 - Along the work coordinate system, 1 - Along the tool end coordinate system.
dir
Force control direction, 0 to 5 represent X/Y/Z/Rx/Ry/Rz respectively, and the default direction for one-axis force type is the Z direction.
force
Force value, accuracy: 0.1 N or 0.1 Nm.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.
dof
Degree of freedom message of the robotic arm.

Transmissive_force-position_mixing_control_compensation-pose-Forcepositionmovejoint_msg

geometry_msgs/Pose pose  
uint8 sensor  
uint8 mode  
int16 dir  
float32 force  
bool follow

msg member
pose
Robotic arm pose message, x, y, z position message + quaternion posture message.
sensor
Type of sensor used, 0 - One-axis force, 1 - Six-axis force.
mode
Mode, 0 - Along the work coordinate system, 1 - Along the tool end coordinate system.
dir
Force control direction, 0 to 5 represent X/Y/Z/Rx/Ry/Rz respectively, and the default direction for one-axis force type is the Z direction.
force
Force value, accuracy: 0.1 N or 0.1 Nm.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Speed_open_loop_control-lifting_mechanism-Liftspeed_msg

int16 speed  
bool block

msg member
speed
Speed percentage, -100-100. Speed < 0: the lifting mechanism moves downward; Speed > 0: the lifting mechanism moves upward; Speed = 0: the lifting mechanism stops.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Position_closed-loop_control-lifting_mechanism-Lift_height_msg

uint16 height  
uint16 speed  
bool block

msg member
height
Target height, unit: mm, accuracy: 0-2600.
speed
Speed percentage, 1-100.
block
whether it is a blocking mode, bool type, true-blocking, false-non-blocking.

Getting_the_state_of_the_lifting_mechanism-Liftstate_msg

int16 height   
int16 current  
uint16 err_flag

msg member
height
Current lifting mechanism height, unit: mm, accuracy: 1mm, range: 0-2300.
current
Lifting drive error code, error code type refers to joint error code.

Getting_or_setting_UDP_active_reporting_configuration-Setrealtimepush_msg

uint16 cycle  
uint16 port  
uint16 force_coordinate  
string ip

msg member
cycle
Set the broadcast cycle, which is a multiple of 5ms.
port
Set the port number for broadcasting.
force_coordinate
Coordinate system for external force data of the system, where 0 is the sensor coordinate system, 1 is the current work coordinate system, and 2 is the current tool coordinate system.
ip
Customized reporting target IP address.

UDP_manipulator_status_report-Armcurrentstatus_msg

uint16 arm_current_status

msg member
arm_current_status
Mechanical arm status, 0-RM_IDLE_E // Enabled but idle state 1-RM_MOVE_L_E // move L state in motion 2-RM_MOVE_J_E // move J in motion 3-RM_MOVE_C_E // move C state in motion 4-RM_MOVE_S_E // move S state in motion 5-RM_MOVE_THROUGH_JOINT_E // Angle transparent state 6-RM_MOVE_THROUGH_POSE_E // Pose transparent state 7-RM _ move _ through _ force _ pose _ e//Force control transparent transmission state 8-RM_MOVE_THROUGH_CURRENT_E // Current loop transparent state 9-RM_STOP_E // Emergency stop status 10-RM_SLOW_STOP_E // slow stop status 11-RM_PAUSE_E // Pause status 12-RM_CURRENT_DRAG_E // Current loop drag status 13-RM_SENSOR_DRAG_E // Six-axis force drag state 14-RM_TECH_DEMONSTRATION_E // Teaching Status

UDP_joint_current_report-Jointcurrent_msg

float32[] joint_current

msg member
joint_current
Current joint current with an accuracy of 0.001mA.

UDP_joint_enabling_status_report-Jointenflag_msg

bool[] joint_en_flag

msg member
joint_en_flag
Current joint enabling state, 1 is up enabling and 0 is down enabling.

UDP_manipulator_Euler_angle_posture_report-Jointposeeuler_msg

float32[3] euler
float32[3] position

msg member
euler
Euler angle of current waypoint attitude, with an accuracy of 0.001rad.
position
The current waypoint position has an accuracy of 0.000001M.

UDP joint_speed_report-Jointspeed_msg

float32[] joint_speed

msg member
joint_speed
Current joint speed, accuracy 0.02RPM.

UDP_joint_temperature_report-Jointtemperature_msg

float32[] joint_temperature

msg member
joint_temperature
Current joint temperature, with an accuracy of 0.001℃.

UDP_joint_voltage_report-Jointvoltage_msg

float32[] joint_voltage

msg member
joint_voltage
Current joint voltage, with an accuracy of 0.001V V.

Customize_high_following_mode_joint_transmission-Jointpos_msg

float32[] joint  
bool follow  
float32 expand  
uint8 dof
uint8 trajectory_mode
uint8 radio

msg member
joint
Joint angle, float type, unit: radians.
follow
Follow state, bool type, true: high follow, false: low follow, default high follow if not set.
expand
Expand joint, float type, unit: radians.
dof
Degree of freedom message of the robotic arm.
trajectory_mode
When the high following mode is set, multiple modes are supported, including 0- complete transparent transmission mode, 1- curve fitting mode and 2- filtering mode.
radio
Set the smoothing coefficient in curve fitting mode (range 0-100) or the filter parameter in filtering mode (range 0-1000). The higher the value, the better the smoothing effect.

Customize_high_following_mode_pose_transmission-Cartepos_msg

geometry_msgs/Pose pose  
bool follow  
uint8 trajectory_mode
uint8 radio

msg member
pose
Robotic arm poses geometry_msgs/Pose type, x, y, z coordinates (float type, unit: m) + quaternion.
follow
Follow state, bool type, true: high follow, false: low follow, default high follow if not set. trajectory_mode
When the high following mode is set, multiple modes are supported, including 0- complete transparent transmission mode, 1- curve fitting mode and 2- filtering mode.
radio
Set the smoothing coefficient in curve fitting mode (range 0-100) or the filter parameter in filtering mode (range 0-1000). The higher the value, the better the smoothing effect.

It is mainly for the application of API to achieve some of the robotic arm functions; for a more complete introduction and use, please see the special document “RealMan Robotic Arm ROS2 Topic Detailed Description”.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Recent questions tagged rm_ros_interfaces at Robotics Stack Exchange

No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.