ROS:
调用机械臂JSON协议 为了方便用户通过ROS1控制机械臂,睿尔曼提供了基于JSON的ROS1功能包,可以通过ROS话题查询和控制机械臂。在实际使用机械臂时,用户可通过以太网口与机械臂建立通信控制机械臂。
系统错误代码
序号 | 错误代码(16进制) | 错误内容 |
---|---|---|
1 | 0x0000 | 系统正常 |
2 | 0x1001 | 关节通信异常 |
3 | 0x1002 | 目标角度超过限位 |
4 | 0x1003 | 该处不可达,为奇异点 |
5 | 0x1004 | 实时内核通信错误 |
6 | 0x1005 | 关节通信总线错误 |
7 | 0x1006 | 规划层内核错误 |
8 | 0x1007 | 关节超速 |
9 | 0x1008 | 末端接口板无法连接 |
10 | 0x1009 | 超速度限制 |
11 | 0x100A | 超加速度限制 |
12 | 0x100B | 关节抱闸未打开 |
13 | 0x100C | 拖动示教时超速 |
14 | 0x100D | 机械臂发生碰撞 |
15 | 0x100E | 无该工作坐标系 |
16 | 0x100F | 无该工具坐标系 |
17 | 0x1010 | 关节发生掉使能错误 |
18 | 0x1011 | 圆弧规划错误 |
19 | 0x1012 | 自碰撞错误 |
20 | 0x1013 | 碰撞到电子围栏错误(预留) |
21 | 0x5001 | 预留 |
22 | 0x5002 | 预留 |
23 | 0x5003 | 控制器过温 |
24 | 0x5004 | 预留 |
25 | 0x5005 | 控制器过流 |
26 | 0x5006 | 控制器欠流 |
27 | 0x5007 | 控制器过压 |
28 | 0x5008 | 控制器欠压 |
29 | 0x5009 | 实时层无法通讯 |
关节错误代码
序号 | 错误代码(16进制) | 错误内容 |
---|---|---|
1 | 0x0000 | 关节正常 |
2 | 0x0001 | FOC错误 |
3 | 0x0002 | 过压 |
4 | 0x0004 | 欠压 |
5 | 0x0008 | 过温 |
6 | 0x0010 | 启动失败 |
7 | 0x0020 | 编码器错误 |
8 | 0x0040 | 过流 |
9 | 0x0080 | 软件错误 |
10 | 0x0100 | 温度传感器错误 |
11 | 0x0200 | 位置超限错误 |
12 | 0x0400 | 关节ID非法 |
13 | 0x0800 | 位置跟踪错误 |
14 | 0x1000 | 电流检测错误 |
15 | 0x2000 | 抱闸打开失败 |
16 | 0x4000 | 位置指令阶跃警告 |
17 | 0x8000 | 多圈关节丢圈数 |
18 | 0xF000 | 通信丢帧 |
设置关节使能状态Joint_Enable.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_num | uint8 | 对应关节序号,从基座到机械臂夹爪端。 六自由度序号依次为1~6,七自由度序号依次为1~7. |
state | bool | true-上使能,false-掉使能 |
使用命令示例:
rostopic pub /rm_driver/Joint_Enable rm_msgs/Joint_Enable "joint_num: 1 state: true"
返回命令示例:
rostopic echo /rm_driver/Joint_En_State_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
切换当前工具坐标系ChangeTool_Name.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | String | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/ChangeToolName_Cmd rm_msgs/ChangeTool_Name "toolname: '6WM'"
返回命令示例:
rostopic echo /rm_driver/ChangeTool_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
切换当前工作坐标系ChangeWorkFrame_Name.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | String | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/ChangeWorkFrame_Cmd rm_msgs/ChangeWorkFrame_Name "WorkFrame_name: 'Base'"
返回命令示例:
rostopic echo /rm_driver/ChangeWorkFrame_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
查询当前工作坐标系
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/GetTotalWorkFrame std_msgs/Empty "{}"
返回值查看: 根据rm_driver节点打印信息查看。
获取机械臂关节当前电流Joint_Current.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | String | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/GetCurrentJointCurrent std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Joint_Current
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_current | float32[] | 关节电流(单位:uA) |
机械臂运动规划
关节空间运动MoveJ.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint | float32[] | 关节角度,单位:弧度。 |
speed | float32 | 速度比例系数,0~1。 |
trajectory_connect | uint8 | 可选参数,代表是否和下一条运动一起规划, 0代表立即规划, 1代表和下一条轨迹一起规划,当为1时,轨迹不会立即执行。 |
使用命令示例:
六自由度
rostopic pub /rm_driver/MoveJ_Cmd rm_msgs/MoveJ "joint: [0, 0, 0, 0, 0, 0] speed: 0.2 trajectory_connect: 0"
七自由度
rostopic pub /rm_driver/MoveJ_Cmd rm_msgs/MoveJ "joint: [0, 0, 0, 0, 0, 0, 0] speed: 0.2 trajectory_connect: 0"
返回命令示例:
rostopic echo /rm_driver/Plan_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
笛卡尔空间直线运动MoveL.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Pose | geometry_msgs/Pose | 机械臂位姿,x、y、z坐标(float类型,单位:m)+四元数。 |
speed | float32 | 速度比例系数,0~1。 |
trajectory_connect | uint8 | 可选参数,代表是否和下一条运动一起规划, 0代表立即规划, 1代表和下一条轨迹一起规划,当为1时,轨迹不会立即执行。 |
使用命令示例:
rostopic pub /rm_driver/MoveL_Cmd rm_msgs/MoveL "Pose:
position:
x: 0.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0
speed: 0.2
trajectory_connect: 0"
返回命令示例:
rostopic echo /rm_driver/Plan_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
笛卡尔空间圆弧运动MoveC.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Mid_Pose | geometry_msgs/Pose | 中间位姿,x、y、z坐标(float类型,单位:m)+四元数。 |
End_Pose | geometry_msgs/Pose | 终点位姿,x、y、z坐标(float类型,单位:m)+四元数。 |
speed | float32 | 速度比例系数,0~1。 |
loop | uint16 | 旋转圈数。 |
trajectory_connect | uint8 | 可选参数,代表是否和下一条运动一起规划。 0代表立即规划,1代表和下一条轨迹一起规划,当为1时,轨迹不会立即执行。 |
使用命令示例:
rostopic pub /rm_driver/MoveC_Cmd rm_msgs/MoveC "Mid_Pose:
position:
x: 0.2949
y: 0.1377
z: 0.1048
orientation:
x: 0.05
y: -0.989
z: -0.1359
w: 0.0274
End_Pose:
position:
x: 0.2417
y: 0.0
z: 0.1213
orientation:
x: 0.0136
y: 0.9993
z: 0.0241
w: 0.0261
speed: 0.5
loop: 0
trajectory_connect: 0"
返回命令示例:
rostopic echo /rm_driver/Plan_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
关节角度CANFD透传JointPos.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint | float32[] | 关节角度,单位:弧度。 |
expand | float32 | 拓展关节,单位:弧度。 |
使用命令示例: 透传需要连续发送多个连续的点实现,单纯靠以下命令并不能实现功能,当前moveit控制使用了角度透传的控制方式。
rostopic pub /rm_driver/JointPos rm_msgs/JointPos "joint: [0, 0, 0, 0, 0, 0] expand: 0.0"
返回参数说明: 成功:无返回值;失败返回:driver终端返回错误码。
自定义高跟随模式关节角度CANFD透传JointPosCustom.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint | float32[] | 关节角度,单位:弧度。 |
expand | float32 | 拓展关节,单位:弧度。 |
follow | bool | 驱动器的运动跟随效果,true为高跟随,false为低跟随。 |
trajectory_mode | uint8 | 高跟随模式下,支持多种模式,0-完全透传模式,1-曲线拟合模式,2-滤波模式。 |
radio | uint8 | 设置曲线拟合模式下平滑系数(范围0-100)或者滤波模式下的滤波参数(范围0-1000),数值越大表示平滑效果越好。 |
使用命令示例: 透传需要连续发送多个连续的点实现,单纯靠以下命令并不能实现功能,当前moveit控制使用了角度透传的控制方式。
rostopic pub /rm_driver/MoveJ_Fd_Custom_Cmd rm_msgs/JointPosCustom
"joint: [0, 0, 0, 0, 0, 0]
expand: 0.0
follow: false
trajectory_mode: 0
radio: 0"
返回参数说明: 成功:无返回值;失败返回:driver终端返回错误码。
位姿CANFD透传CartePos.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Pose | geometry_msgs/Pose | 透传位姿,x、y、z坐标(float类型,单位:m)+四元数。 |
使用命令示例: 需要是大量(10个以上)位置连续的点,单纯靠以下命令并不能实现功能,以2ms以上的周期持续发布。
rostopic pub /rm_driver/MoveP_Fd_Cmd rm_msgs/CartePos
"Pose:
position:
x: 0.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0"
返回参数说明: 成功:无返回值;失败返回:driver终端返回错误码。
自定义高跟随模式位姿CANFD透传CartePosCustom.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Pose | geometry_msgs/Pose | 透传位姿,geometry_msgs/Pose类型,x、y、z坐标(float类型,单位:m)+四元数。 |
follow | bool | 驱动器的运动跟随效果,true为高跟随,false为低跟随。 |
trajectory_mode | uint8 | 高跟随模式下,支持多种模式,0-完全透传模式,1-曲线拟合模式,2-滤波模式。 |
radio | uint8 | 设置曲线拟合模式下平滑系数(范围0-100)或者滤波模式下的滤波参数(范围0-1000),数值越大表示平滑效果越好。 |
使用命令示例: 需要是大量(10个以上)位置连续 的点,单纯靠以下命令并不能实现功能,以2ms以上的周期持续发布。
rostopic pub /rm_driver/MoveP_Fd_Custom_Cmd rm_msgs/CartePosCustom
"Pose:
position:
x: 0.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0
follow: false
trajectory_mode: 0
radio: 0"
返回参数说明: 成功:无返回值;失败返回:driver终端返回错误码。
关节空间规划到目标位姿MoveJ_P.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Pose | geometry_msgs/Pose | 目标位姿,x、y、z坐标(float类型,单位:m)+四元数。 |
speed | float32 | 速度比例系数,0~1。 |
trajectory_connect | uint8 | 可选参数,代表是否和下一条运动一起规划, 0代表立即规划, 1代表和下一条轨迹一起规划,当为1时,轨迹不会立即执行。 |
使用命令示例:
rostopic pub /rm_driver/MoveJ_P_Cmd rm_msgs/MoveJ_P
"Pose:
position:
x: 0.0
y: 0.0
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.0
w: 0.0
speed: 0.0
trajectory_connect: 0"
返回命令示例:
rostopic echo /rm_driver/Plan_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
机械臂运动配置-步进指令
关节步进Joint_Step.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_num | uint8 | 要运动的关节。 |
step_angle | float32 | 步进角度(单位:角度)。 |
speed | float32 | 运动速度。 |
使用命令示例: 六自由度
rostopic pub /rm_driver/SetJointStep rm_msgs/Joint_Step "joint_num: 6 step_angle: 90.0 speed: 0.2"
七自由度
rostopic pub /rm_driver/SetJointStep rm_msgs/Joint_Step "joint_num: 7 step_angle: 90.0 speed: 0.2"
返回命令示例:
rostopic echo /rm_driver/Plan_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
机械臂运动配置-运动指令
轨迹急停Stop.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | / |
使用命令示例:
rostopic pub /rm_driver/Emergency_Stop std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Set_Arm_Stop_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
机械臂运动配置-示教指令类
关节示教Joint_Teach.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
teach_joint | int16 | 示教控制关节 |
direction | string | 关节转动方向 “pos”:正方向,“neg”:反方向 |
v | int16 | 关节转动速度0-100 |
使用命令示例:
rostopic pub /rm_driver/Arm_JointTeach rm_msgs/Joint_Teach "teach_joint: 1 direction: 'pos' v: 20"
返回命令示例:
rostopic echo /rm_driver/SetJointTeach_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
位置示教Pos_Teach.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
teach_type | string | 坐标轴,”x”,”y”,”z” |
direction | string | 示教方向 “pos”:正方向,“neg”:反方向 |
v | int16 | 关节转动速度0-100 |
使用命令示例:
rostopic pub /rm_driver/Arm_PosTeach rm_msgs/Pos_Teach "teach_type: 'z' direction: 'pos' v: 10"
返回命令示例:
rostopic echo /rm_driver/SetPosTeach_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
姿态示教Ort_Teach.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
teach_type | string | 旋转所绕坐标轴,”rx”,“ry”,“rz” |
direction | string | 示教方向 “pos”:正方向,“neg”:反方向 |
v | int16 | 关节转动速度0-100 |
使用命令示例:
rostopic pub /rm_driver/Arm_OrtTeach rm_msgs/Ort_Teach "teach_type: 'rz' direction: 'pos' v: 10"
返回命令示例:
rostopic echo /rm_driver/SetOrtTeach_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
示教停止Stop_Teach.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
command | string | 停止指令“set_stop_teach”,运行以下指令即可 |
使用命令示例:
rostopic pub /rm_driver/Arm_StopTeach rm_msgs/Stop_Teach "command: ''"
返回命令示例:
rostopic echo /rm_driver/SetStopTeach_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
系统配置
控制机械臂上电断电
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | Byte | 1控制机械臂上电,0控制机械臂断电 |
使用命令示例:
rostopic pub /rm_driver/SetArmPower std_msgs/Byte "data: 0"
返回命令示例:
rostopic echo /rm_driver/Set_Arm_Power_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
读取软件版本号Arm_Software_Version.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Get_Arm_Software_Version std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Get_Arm_Software_Version_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Product_version | string | 机械臂类型。 |
Plan_version | string | 软件版本号。 |
清除系统错误
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Clear_System_Err std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/System_En_State_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | bool | true:设置成功;false:设置失败。 |
查询机械臂状态信息
获取机械臂关节当前电流Joint_Current.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/GetCurrentJointCurrent std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Joint_Current
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_current | float32[] | 关节电流(单位:uA) |
查询机械臂关节角度
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty msg | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/GetArmJoint_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /joint_states
参数说明:
参数 | 类型 | 说明 |
---|---|---|
sensor_msgs | JointState | / |
查询机械臂状态(弧度+四元数)GetArmState_Command.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
command | string | / |
使用命令示例:
rostopic pub /rm_driver/GetArmState_Cmd rm_msgs/GetArmState_Command "command: ''"
返回命令示例:
rostopic echo /rm_driver/ArmCurrentState
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint | float32[] | 机械臂弧度信息 |
Pose | geometry_msgs/Pose | 机械臂当前位姿(四元数) |
arm_err | bool | 机械臂错误信息 |
sys_err | bool | 系统错误信息 |
dof | bool | 机械臂自由度 |
查询机械臂状态(角度+欧拉角)GetArmState_Command.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
command | string | / |
使用命令示例:
rostopic pub /rm_driver/GetArmState_Cmd rm_msgs/GetArmState_Command "command: ''"
返回命令示例:
rostopic echo /rm_driver/Arm_Current_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint | float32[] | 机械臂角度信息 |
Pose | float32[6] | 机械臂当前位姿(欧拉角) |
arm_err | uint16 | 机械臂错误信息 |
sys_err | uint16 | 系统错误信息 |
dof | bool | 机械臂自由度 |
控制器IO配置及获取
设置机械臂数字IO输出状态Arm_Digital_Output.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
num | uint8 | IO端口号,范围:1~4 |
state | bool | “state”:IO状态,1-输出高,0-输出低 |
使用命令示例:
rostopic pub /rm_driver/Arm_Digital_Output rm_msgs/Arm_Digital_Output "num: 1 state: true"
返回命令示例:
rostopic echo /rm_driver/Set_DO_State_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
获取所有IO输入状态IO_Update.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
type | int8 | 1查询控制器IO状态,2查询工具端IO状态 |
使用命令示例:
rostopic pub /rm_driver/IO_Update rm_msgs/IO_Update "type: 1"
返回命令示例:
rostopic echo /rm_driver/Arm_IO_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Arm_Digital_Input | nt8[4] | 0代表低;1代表高;-1代表为输出状态 |
工具端IO配置及获取
设置工具端数字IO输出状态Tool_Digital_Output.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
num | uint8 | IO端口号,范围:1~4 |
state | bool | “state”:IO状态,1-输出高,0-输出低 |
使用命令示例:
rostopic pub /rm_driver/Tool_Digital_Output rm_msgs/Tool_Digital_Output "num: 1 state: true"
返回命令示例:
rostopic echo /rm_driver/Set_Tool_DO_State_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
获取工具端数字IO状态IO_Update.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
type | uint8 | 1查询控制器IO状态; 2查询工具端IO状态 |
使用命令示例:
rostopic pub /rm_driver/IO_Update rm_msgs/IO_Update "type: 2"
返回命令示例:
rostopic echo /rm_driver/Tool_IO_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Tool_IO_Mode | bool[2] | 数字I/O输入/输出状态 0-输入模式,1-输出模式 |
Tool_IO_State | bool[2] | 数字I/O电平状态 0-低,1-高 |
末端夹爪控制(选配)
睿尔曼机械臂末端配备了因时的EG2-4C2夹爪,为了便于用户操作夹爪,机械臂控制器对用户适配了夹爪的ROS控制方式。
设置夹爪持续力控夹取Gripper_Pick.msg
夹爪以设定的速度力控夹取,当受力超过设定力后,停止运动
参数说明:
参数 | 类型 | 说明 |
---|---|---|
speed | uint16 | 取值范围:1~1000,代表夹爪开合速度,无量纲 |
force | uint16 | 取值范围:1~1000,代表夹爪夹持力,最大1.5kg |
使用命令示例:
rostopic pub /rm_driver/Gripper_Pick_On rm_msgs/Gripper_Pick "speed: 100 force: 100"
返回命令示例:
rostopic echo /rm_driver/Set_Gripper_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
设置夹爪力控夹取Gripper_Pick.msg
夹爪以设定的速度力控夹取,当受力超过设定力后,停止运动。
参数说明:
参数 | 类型 | 说明 |
---|---|---|
speed | uint16 | 取值范围:1~1000,代表夹爪开合速度,无量纲 |
force | uint16 | 取值范围:1~1000,代表夹爪夹持力,最大1.5kg |
使用命令示例:
rostopic pub /rm_driver/Gripper_Pick rm_msgs/Gripper_Pick "speed: 100 force: 100"
返回命令示例:
rostopic echo /rm_driver/Set_Gripper_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
夹爪到达指定位置Gripper_Set.msg
设置夹爪到固定位置,夹爪到位置后或者所受力超过阈值后停止。
参数说明:
参数 | 类型 | 说明 |
---|---|---|
position | uint16 | 夹爪目标位置,范围:1~1000,代表夹爪开口度:0~70mm |
使用命令示例:
rostopic pub /rm_driver/Gripper_Set rm_msgs/Gripper_Set "position: 100"
返回命令示例:
rostopic echo /rm_driver/Set_Gripper_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
末端六维力传感器的使用(选配)
睿尔曼RM-65F机械臂末端配备集成式六维力传感器,无需外部走线,用户可直接通过ROS话题对六维力进行操作。
查询六维力数据Six_Force.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/GetSixForce_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/GetSixForce #六维力原始数据
rostopic echo /rm_driver/SixZeroForce #传感器坐标系下的六维力数据
rostopic echo /rm_driver/WorkZeroForce #工作坐标系下的传感器数据
rostopic echo /rm_driver/ToolZeroForce #工具坐标系下的传感器数据
参数说明:
参数 | 类型 | 说明 |
---|---|---|
force_Fx | float32 | / |
force_Fy | float32 | / |
force_Fz | float32 | / |
force_Mx | float32 | / |
force_My | float32 | / |
force_Mz | float32 | / |
清空六维力数据
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | / |
使用命令示例:
rostopic pub /rm_driver/ClearForceData_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/ClearForceData_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
自动设置六维力重心参数
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/SetForceSensor_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/ForceSensorSet_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
手动标定六维力数据Manual_Set_Force_Pose.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
pose | string | pose1:位置1关节角度,pose2:位置2关节角度;pose3:位置3关节角度;pose4:位置4关节角度。 |
joint | int64[] | 0.001角度,如90度为90000。 |
注意
上述四个位置必须按照顺序依次下发,当pose4下发完成后,机械臂运行到指定位置。
使用命令示例:
rostopic pub /rm_driver/ManualSetForcePose_Cmd rm_msgs/Manual_Set_Force_Pose "pose: ' pose1' joint: [0, 0, 0, 0, 90000, 0]"
返回命令示例:
rostopic echo /rm_driver/ForceSensorSet_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
停止标定力传感器重心
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/StopSetForceSensor_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/StopSetForceSensor_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
拖动示教
拖动示教结束
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/StartMultiDragTeach_result std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/StopDragTeach_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
开启复合拖动示教Start_Multi_Drag_Teach.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
mode | uint8 | 0-电流环模式 1-使用末端六维力,只动位置 2-使用末端六维力,只动姿态 3-使用末端六维力,位置和姿态同时动 |
使用命令示例:
rostopic pub /rm_driver/StartMultiDragTeach_Cmd rm_msgs/Start_Multi_Drag_Teach "mode: 0"
返回命令示例:
rostopic echo /rm_driver/StartMultiDragTeach_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
力位混合控制Set_Force_Position.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
sensor | uint8 | 传感器;0-一维力;1-六维力 |
mode | uint8 | 0-工作坐标系力控;1-工具坐标系 |
direction | uint8 | 力控方向 0-沿X轴 1-沿Y轴 2-沿Z轴 3-沿RX姿态方向 4-沿RY姿态方向 5-沿RZ姿态方向 |
N | int16 | 力的大小,单位0.1N |
使用命令示例:
rostopic pub /rm_driver/SetForcePosition_Cmd rm_msgs/Set_Force_Position "sensor: 0 mode: 0 direction: 0 N: 0"
返回命令示例:
rostopic echo /rm_driver/SetForcePosition_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
结束力位混合控制
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/StopForcePostion_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/StopForcePostion_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
Modbus模式配置及寄存器读写
设置RS485波特率
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint32 | 波特率可选范围:9600,19200,38400,115200和460800,若用户设置其他数据,控制器会默认按照460800处理。 |
使用命令示例:
rostopic pub /rm_driver/Set_RS485 std_msgs/UInt32 "data: 115200"
查询控制器RS485模式(第三代控制器)Controller_RS485_Mode.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Get_Controller_RS485_Mode std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Get_Controller_RS485_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
controller_RS485_mode | uint8 | 控制器RS485模式,0代表默认RS485串行通讯,1代表modbus-RTU主站模式,2代表modbus-RTU从站模式。 |
tool_RS485_mode | uint8 | 工具端RS485模式,此时无效。 |
baudrate | uint32 | 波特率。 |
modbus_timeout | uint32 | modbus协议超时时间,单位100ms,仅在modbus-RTU模式下提供此字段。 |
查询工具端RS485模式(第三代控制器)Tool_RS485_Mode.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Get_Tool_RS485_Mode std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Get_Tool_RS485_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
controller_RS485_mode | uint8 | 控制器RS485模式,此时无效。 |
tool_RS485_mode | uint8 | 工具端RS485模式,0代表默认RS485串行通讯,1代表modbus-RTU主站模式,2代表modbus-RTU从站模式。 |
baudrate | uint32 | 波特率。 |
modbus_timeout | uint32 | modbus协议超时时间,单位100ms,仅在modbus-RTU模式下提供此字段。 |
配置通讯端口ModbusRTU模式Set_Modbus_Mode.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口为RTU主站,1-末端接口板RS485接口为RTU主站,2-控制器RS485端口为RTU从站。 |
baudrate | uint32 | 波特率,支持9600,115200,460800三种常见波特率。 |
timeout | uint32 | 超时时间,单位百毫秒。对Modbus设备所有的读写指令,在规定的超时时间内未返回响应数据,则返回超时报错提醒。超时时间不能为0,若设置为0,则机械臂按1进行配置。 |
ip | string | 此时无效。 |
使用命令示例:
rostopic pub /rm_driver/Set_Modbus_Mode rm_msgs/Set_Modbus_Mode "{port: 0, baudrate: 9600, timeout: 1, ip: '192.168.1.100'}"
返回命令示例:
rostopic echo /rm_driver/Set_Modbus_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
关闭通讯端口ModbusRTU模式
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint8 | 通讯端口,0-控制器RS485端口为RTU主站,1-末端接口板RS485接口为RTU主站,2-控制器RS485端口为RTU从站。 |
使用命令示例:
rostopic pub /rm_driver/Close_Modbus_Mode std_msgs/UInt8 "data: 0"
返回命令示例:
rostopic echo /rm_driver/Close_Modbus_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
配置连接ModbusTCP从站(第三代控制器)Set_Modbus_Mode.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 从站的端口号。 |
baudrate | uint32 | 此时无效,波特率,支持9600,115200,460800三种常见波特率。 |
timeout | uint32 | 超时时间,单位百毫秒。对Modbus设备所有的读写指令,在规定的超时时间内未返回响应数据,则返回超时报错提醒。超时时间不能为0,若设置为0,则机械臂按1进行配置。 |
ip | string | 从站的IP地址。 |
使用命令示例:
rostopic pub /rm_driver/Set_Modbustcp_Mode rm_msgs/Set_Modbus_Mode
"port: 502
baudrate: 0 #(不起作用)
timeout: 1
ip: '192.168.1.18'"
返回命令示例:
rostopic echo /rm_driver/Set_Modbustcp_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
配置关闭ModbusTCP从站(第三代控制器)
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Close_Modbustcp_Mode std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Close_Modbustcp_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
读线圈Read_Register.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 线圈起始地址。 |
num | uint32 | 要读的线圈的数量,该指令最多一次性支持读8个线圈数据,即返回的数据不会超过一个字节。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Read_Coils rm_msgs/Read_Register "port: 0 address: 0 num: 1 device: 1"
返回命令示例:
rostopic echo /rm_driver/Read_Coils_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16[] | 返回数据。 |
state | bool | 状态信息。 |
读多圈数据Read_Register.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 线圈起始地址。 |
num | uint32 | 8<=num<=120要读的线圈的数量,该指令最多一次性支持读120个线圈数据,即15个byte。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Read_Multiple_Coils rm_msgs/Read_Register "port: 0 address: 0 num: 0 device: 0"
返回命令示例:
rostopic echo /rm_driver/ Read_Multiple_Coils_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16[] | 返回数据。 |
state | bool | 状态信息。 |
写单圈数据Write_Register.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 线圈起始地址。 |
num | uint32 | (单圈不起作用)写线圈个数,每次写的数量不超过160个。 |
data | uint16[] | 要写入线圈的数据组,类型:byte。若线圈个数不大于8,则写入的数据为1个字节;否则,则为多个数据的数组。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Write_Single_Coil rm_msgs/Write_Register "port: 0 address: 0 num: 0 data: [0] device: 1"
返回命令示例:
rostopic echo /rm_driver/Write_Single_Coil_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
写多圈数据Write_Register.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 线圈起始地址。 |
num | uint32 | (单圈不起作用)写线圈个数,每次写的数量不超过160个。 |
data | uint16[] | 要写入线圈的数据组,类型:byte。若线圈个数不大于8,则写入的数据为1个字节;否则,则为多个数据的数组。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Write_Coils rm_msgs/Write_Register "port: 0 address: 0 num: 10 data: [1,0] device: 1"
返回命令示例:
rostopic echo /rm_driver/Write_Coils_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
读离散量输入Read_Register.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 数据起始地址。 |
num | uint32 | 要读的离散量输入数量,该指令最多一次性支持读8个离散量输入数据,即返回的数据不会超过一个字节。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Read_Input_Status rm_msgs/Read_Register "port: 0 address: 0 num: 2 device: 1"
返回命令示例:
rostopic echo /rm_driver/Read_Input_Status_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16[] | 返回数据。 |
state | bool | 状态信息。 |
读保持寄存器Register_Data.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 数据起始地址。 |
num | uint32 | (不起作用)要读的寄存器数量,该指令最多一次性支持读8个寄存器数据,即返回的数据不会超过一个字节。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Read_Holding_Registers rm_msgs/Read_Register "port: 0 address: 0 num: 0 device: 1"
返回命令示例:
rostopic echo / rm_driver/Read_Holding_Registers_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16[] | 返回数据。 |
state | bool | 状态信息。 |
写单个寄存器Write_Register.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 数据起始地址。 |
num | uint32 | (不起作用)写寄存器个数,寄存器每次写的数量不超过10个。 |
data | uint16[] | 要写入寄存器的数据,数据类型:int16。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Write_Single_Register rm_msgs/Write_Register "port: 0 address: 0 num: 0 data: [1000] device: 1"
返回命令示例:
rostopic echo /rm_driver/Write_Single_Register_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
写多个寄存器Write_Register.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 数据起始地址。 |
num | uint32 | 写寄存器个数,寄存器每次写的数量不超过10个。 |
data | uint16[] | 要写入寄存器的数据,数据类型:int16。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Write_Registers rm_msgs/Write_Register "port: 0 address: 10 num: 2 data: [15,20,25,30] device: 1"
返回命令示例:
rostopic echo /rm_driver/Write_Registers_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
读多个保持寄存器Register_Data.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 数据起始地址。 |
num | uint32 | 2 < num < 13 要读的寄存器的数量,该指令最多一次性支持读 12 个寄存器数据, 即 24 个 byte。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Read_Multiple_Holding_Registers rm_msgs/Read_Register "port: 0 address: 0 num: 5 device: 1"
返回命令示例:
rostopic echo /rm_driver/Read_Multiple_Holding_Registers_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16[] | 返回数据。 |
state | bool | 状态信息。 |
读输入寄存器Register_Data.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 数据起始地址。 |
num | uint32 | (不起作用) |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Read_Input_Registers rm_msgs/Read_Register "port: 0 address: 10 num: 0 device: 1"
返回命令示例:
rostopic echo /rm_driver/Read_Input_Registers_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16[] | 返回数据。 |
state | bool | 状态信息。 |
读多个输入寄存器Register_Data.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
port | uint8 | 通讯端口,0-控制器RS485端口,1-末端接口板RS485接口,3-控制器ModbusTCP连接外部从站端口。 |
address | uint32 | 数据起始地址。 |
num | uint32 | 2 < num < 13 要读的寄存器的数量,该指令最多一次性支持读12个寄存器数据, 即24个byte。 |
device | uint32 | 外设设备地址。 |
使用命令示例:
rostopic pub /rm_driver/Read_Multiple_Input_Registers rm_msgs/Read_Register "port: 0 address: 0 num: 5 device: 1"
返回命令示例:
rostopic echo /rm_driver/Read_Multiple_Input_Registers_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16[] | 返回数据。 |
state | bool | 状态信息。 |
末端五指灵巧手控制(选配)
睿尔曼机械臂末端配备了五指灵巧手,可通过ROS对灵巧手进行设置。
设置灵巧手手势序号Hand_Posture.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
posture_num | uint16 | 预先保存在灵巧手内的手势序号,范围:1~40 |
使用命令示例:
rostopic pub /rm_driver/Hand_SetPosture rm_msgs/Hand_Posture "posture_num: 0"
返回命令示例:
rostopic echo /rm_driver/Set_Hand_Posture_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
设置灵巧手动作序列Hand_Seq.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
seq_num | uint16 | 预先保存在灵巧手内的序列序号,范围:1~40 |
使用命令示例:
rostopic pub /rm_driver/Hand_SetSeq rm_msgs/Hand_Seq "seq_num: 0"
返回命令示例:
rostopic echo /rm_driver/Set_Hand_Seq_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
设置灵巧手各自由度角度Hand_Angle.msg
设置灵巧手角度,灵巧手有 6 个自由度,从 1~6 分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转。
参数说明:
参数 | 类型 | 说明 |
---|---|---|
hand_angle | uint16 | (以实际产品为准,因时为例)手指角度数组,范围:0~1000. 另外,-1 代表该自由度不执行任何操作,保持当前状态。 |
使用命令示例:
rostopic pub /rm_driver/Hand_SetAngle rm_msgs/Hand_Angle "hand_angle: [0, 0, 0, 0, 0, 0]"
返回命令示例:
rostopic echo /rm_driver/Set_Hand_Angle_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
设置灵巧手速度Hand_Speed.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
hand_speed | uint16 | 手指速度,范围:1~1000 |
使用命令示例:
rostopic pub /rm_driver/Hand_SetSpeed rm_msgs/Hand_Speed "hand_speed: 0"
返回命令示例:
rostopic echo /rm_driver/Set_Hand_Speed_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
设置灵巧手力阈值Hand_Force.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
hand_Force | uint16 | 手指力,范围:1~1000 |
使用命令示例:
rostopic pub /rm_driver/Hand_SetForce rm_msgs/Hand_Force "hand_force: 0"
返回命令示例:
rostopic echo /rm_driver/Set_Hand_Force_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
设置灵巧手角度跟随Hand_Angle.msg
设置灵巧手角度,灵巧手有 6 个自由度,从 1~6 分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转。
参数说明:
参数 | 类型 | 说明 |
---|---|---|
hand_angle | int16[6] | 手指角度数组(以实际产品为准,因时为例),范围:0~2000.另外,-1 代表该自由度不执行任何操作,保持当前状态。 |
使用命令示例:
rostopic pub /rm_driver/Hand_FollowAngle rm_msgs/Hand_Angle "hand_angle: [0, 0, 0, 0, 0, 0]"
返回命令示例:
rostopic echo /rm_driver/Set_Hand_Follow_Angle_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
设置灵巧手姿态跟随Hand_Angle.msg
设置灵巧手角度,灵巧手有 6 个自由度,从 1~6 分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转。
参数说明:
参数 | 类型 | 说明 |
---|---|---|
hand_angle | int16[6] | 手指姿态数组(以实际产品为准,因时为例),范围:0~1000。 |
使用命令示例:
rostopic pub /rm_driver/Hand_FollowPos rm_msgs/Hand_Angle "hand_angle: [0, 0, 0, 0, 0, 0]"
返回命令示例:
rostopic echo /rm_driver/Set_Hand_Follow_Pos_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
透传力位混合控制补偿模式
针对睿尔曼带一维力和六维力版本的机械臂,用户除了可直接使用示教器调用底层的力位混合控制模块外,还可以将自定义的轨迹以周期性透传的形式结合底层的力位混合控制算法进行补偿。
开启透传力位混合控制补偿模式
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/StartForcePositionMove_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/StartForcePositionMove_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
透传力位混合控制补偿(位姿)Force_Position_Move_Pose.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Pose | geometry_msgs/Pose | 四元数信息 |
sensor | uint8 | 所使用传感器类型,0-一维力,1-六维力 |
mode | uint8 | 模式,0-沿工作坐标系,1-沿工具端坐标系 |
dir | uint8 | 力控方向,0~5分别代表X/Y/Z/Rx/Ry/Rz,其中一维力类型时默认方向为Z方向 |
force | int16 | 力的大小,精度0.1N或者0.1Nm |
使用命令示例:
rostopic pub /rm_driver/ForcePositionMovePose_Cmd rm_msgs/Force_Position_Move_Pose "Pose: position: {x: 0.0, y: 0.0, z: 0.0} orientation: {x: 0.0, y: 0.0, z: 0.0, w: 0.0} sensor: 1 mode: 0 dir: 0 force: 0"
参数说明:
成功:无返回,失败:报错信息查看rm_driver节点。
自定义高跟随模式透传力位混合控制补偿(位姿)Force_Position_Move_Pose_Custom.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Pose | geometry_msgs/Pose | 四元数信息。 |
sensor | uint8 | 所使用传感器类型,0-一维力,1-六维力。 |
mode | uint8 | 模式,0-沿工作坐标系,1-沿工具端坐标系。 |
dir | uint8 | 力控方向,0~5分别代表X/Y/Z/Rx/Ry/Rz,其中一维力类型时默认方向为Z方向。 |
force | int16 | 力的大小,精度0.1N或者0.1Nm。 |
follow | bool | 驱动器的运动跟随效果,true为高跟随,false为低跟随。 |
trajectory_mode | uint8 | 高跟随模式下,支持多种模式,0-完全透传模式,1-曲线拟合模式,2-滤波模式。 |
radio | uint8 | 设置曲线拟合模式下平滑系数(范围0-100)或者滤波模式下的滤波参数(范围0-1000),数值越大表示平滑效果越好。 |
使用命令示例:
rostopic pub /rm_driver/ForcePositionMovePoseCustom_Cmd rm_msgs/Force_Position_Move_Pose_Custom
"Pose:
position: {x: 0.0, y: 0.0, z: 0.0}
orientation: {x: 0.0, y: 0.0, z: 0.0, w: 0.0}
sensor: 1
mode: 0
dir: 0
force: 0
follow: false
trajectory_mode: 0
radio: 0"
参数说明:
成功:无返回,失败:报错信息查看rm_driver节点。
透传力位混合控制补偿(弧度)Force_Position_Move_Joint.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint | float32[] | 弧度信息。 |
sensor | uint8 | 所使用传感器类型,0-一维力,1-六维力。 |
mode | uint8 | 模式,0-沿工作坐标系,1-沿工具端坐标系。 |
dir | uint8 | 力控方向,0~5分别代表X/Y/Z/Rx/Ry/Rz,其中一维力类型时默认方向为Z方向。 |
force | int16 | 力的大小,精度0.1N或者0.1Nm。 |
dof | uint8 | 机械臂自由度信息。 |
使用命令示例:
rostopic pub /rm_driver/ForcePositionMoveJiont_Cmd rm_msgs/Force_Position_Move_Joint "joint: [0, 0, 0, 0, 0, 0] sensor: 0 mode: 0 dir: 0 force: 0 dof: 0"
参数说明:
成功:无返回,失败:报错信息查看rm_driver节点
关闭透传力位混合控制补偿模式
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/StopForcePositionMove_Cmd std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/StopForcePositionMove_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
升降机构
睿尔曼机械臂可集成自主研发升降机构。
升降机构速度开环控制Lift_Speed.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
speed | int16 | 速度百分比,-100~100: 1. speed<0:升降机构向下运动; 2. speed>0:升降机构向上运动; 3. speed=0:升降机构停止运动。 |
使用命令示例:
rostopic pub /rm_driver/Lift_SetSpeed rm_msgs/Lift_Speed "speed: 0"
返回命令示例:
rostopic echo /rm_driver/Set_Lift_Speed_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
升降机构位置闭环控制Lift_Height.msg
升降机构运行到指定高度。 参数说明:
参数 | 类型 | 说明 |
---|---|---|
height | uint16 | 目标高度,单位 mm,范围:0~2600。 |
speed | uint16 | 速度百分比,1~100。 |
使用命令示例:
rostopic pub /rm_driver/Lift_SetHeight rm_msgs/Lift_Height "height: 0 speed: 0"
返回命令示例:
rostopic echo /rm_driver/Plan_State
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
获取升降机构状态LiftState.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Lift_GetState std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/LiftState
参数说明:
参数 | 类型 | 说明 |
---|---|---|
height | int16 | 当前高度。 |
current | int16 | 当前电流。 |
err_flag | uint16 | 驱动错误代码。 |
mode | byte | 当前升降状态 0-空闲 1-正方向速度运动 2-正方向位置运动 3-负方向速度运动 4-负方向位置运动。 |
机械臂状态主动上报
设置 UDP 机械臂状态主动上报配置Set_Realtime_Push.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
cycle | uint16 | 设置广播周期,为5ms的倍数(默认1即1*5=5ms,200Hz)。 |
port | uint16 | 设置广播的端口号(默认8089)。 |
force_coordinate | uint16 | 设置系统外受力数据的坐标系(仅带有力传感器的机械臂支持)。 |
ip | string | 设置自定义的上报目标IP 地址(默认192.168.1.10)。 |
hand_enable | bool | 设置灵巧手状态主动上报使能。 |
aloha_state_enable | bool | aloha主臂状态。 |
arm_current_status_enable | bool | 机械臂当前状态。 |
expand_state_enable | bool | 扩展关节信息。 |
joint_acc_enable | bool | 关节加速度。 |
joint_speed_enable | bool | 关节速度。 |
lift_state_enable | bool | 升降关节信息。 |
rm_plus_base_enable | bool | 末端设备基础信息。 |
rm_plus_state_enable | bool | 末端设备实时信息。 |
使用命令示例:
rostopic pub /rm_driver/Set_Realtime_Push rm_msgs/Set_Realtime_Push
"cycle: 1
port: 8089
force_coordinate: 0
ip: '192.168.1.10'
hand_enable: false
aloha_state_enable: false
arm_current_status_enable: false
expand_state_enable: false
joint_acc_enable: false
joint_speed_enable: false
lift_state_enable: false
rm_plus_base_enable: false
rm_plus_state_enable: false"
返回命令示例:
rostopic echo /rm_driver/Set_Realtime_Push_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
查询 UDP 机械臂状态主动上报配置Set_Realtime_Push.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Get_Realtime_Push std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Get_Realtime_Push_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
cycle | uint16 | 设置广播周期,为5ms的倍数(默认1即1*5=5ms,200Hz)。 |
port | uint16 | 设置广播的端口号(默认8089)。 |
force_coordinate | uint16 | 设置系统外受力数据的坐标系(仅带有力传感器的机械臂支持)。 |
ip | string | 设置自定义的上报目标IP 地址(默认192.168.1.10)。 |
hand_enable | bool | 设置灵巧手状态主动上报使能。 |
aloha_state_enable | bool | aloha主臂状态。 |
arm_current_status_enable | bool | 机械臂当前状态。 |
expand_state_enable | bool | 扩展关节信息。 |
joint_acc_enable | bool | 关节加速度。 |
joint_speed_enable | bool | 关节速度。 |
lift_state_enable | bool | 升降关节信息。 |
rm_plus_base_enable | bool | 末端设备基础信息。 |
rm_plus_state_enable | bool | 末端设备实时信息。 |
末端生态指令集
设置末端生态协议模式
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint32 | 0-禁用协议; 9600-开启协议(波特率9600); 115200-开启协议(波特率115200); 256000-开启协议(波特率256000); 460800-开启协议(波特率460800)。 |
使用命令示例:
rostopic pub /rm_driver/Set_Rm_Plus_Mode std_msgs/UInt32 "data: 9600"
返回命令示例:
rostopic echo /rm_driver/Set_Rm_Plus_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
查询末端生态协议模式
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Get_Rm_Plus_Mode std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Get_Rm_Plus_Mode_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint32 | 0-禁用协议; 9600-开启协议(波特率9600); 115200-开启协议(波特率115200); 256000-开启协议(波特率256000); 460800-开启协议(波特率460800)。 |
设置触觉传感器模式
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint32 | 0-关闭触觉传感器; 1-打开触觉传感器(返回处理后数据); 2-打开触觉传感器(返回原始数据)。 |
使用命令示例:
rostopic pub /rm_driver/Set_Rm_Plus_Mode std_msgs/UInt32 "data: 1"
返回命令示例:
rostopic echo /rm_driver/Set_Rm_Plus_Touch_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Bool | true:设置成功;false:设置失败。 |
查询触觉传感器模式
参数说明:
参数 | 类型 | 说明 |
---|---|---|
std_msgs | Empty | ROS自带msg。 |
使用命令示例:
rostopic pub /rm_driver/Get_Rm_Plus_Touch std_msgs/Empty "{}"
返回命令示例:
rostopic echo /rm_driver/Get_Rm_Plus_Touch_Result
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint32 | 0-关闭触觉传感器; 1-打开触觉传感器(返回处理后数据); 2-打开触觉传感器(返回原始数据)。 |
UDP机械臂状态主动上报
六维力Six_Force.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
force_fx | float32 | 沿x轴方向受力大小。 |
force_fy | float32 | 沿y轴方向受力大小。 |
force_fz | float32 | 沿z轴方向受力大小。 |
force_mx | float32 | 沿x轴方向转动受力大小。 |
force_my | float32 | 沿y轴方向转动受力大小。 |
force_mz | float32 | 沿z轴方向转动受力大小。 |
使用命令示例:
rostopic echo /rm_driver/UdpSixForce
一维力Six_Force.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
force_fx | float32 | 沿x轴方向受力大小。 |
force_fy | float32 | 沿y轴方向受力大小。 |
force_fz | float32 | 沿z轴方向受力大小。(仅该数值有效) |
force_mx | float32 | 沿x轴方向转动受力大小。 |
force_my | float32 | 沿y轴方向转动受力大小。 |
force_mz | float32 | 沿z轴方向转动受力大小。 |
使用命令示例:
rostopic echo /rm_driver/UdpSixForce
机械臂错误
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16 | 机械臂报错信息。 |
使用命令示例:
rostopic echo /rm_driver/ArmError
系统错误
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16 | 系统报错信息。 |
使用命令示例:
rostopic echo /rm_driver/SysError
关节错误Joint_Error_Code.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_error | uint16[] | 每个关节报错信息. |
使用命令示例:
rostopic echo /rm_driver/JointErrorCode
机械臂弧度数据
参数说明:
参数 | 类型 | 说明 |
---|---|---|
sec | int32 | 时间信息,秒。 |
nanosec | uint32 | 时间信息,纳秒。 |
frame_id | string | 坐标系名称。 |
name | string[] | 关节名称。 |
position | float64[] | 关节弧度信息。 |
velocity | float64[] | 关节速度信息。(暂未使用) |
effort | float64[] | 关节受力信息。(暂未使用) |
使用命令示例:
rostopic echo /joint_states
位姿信息
参数说明:
参数 | 类型 | 说明 |
---|---|---|
position.x | float64 | 机械臂当前坐标信息。 |
position.y | float64 | 机械臂当前坐标信息。 |
position.z | float64 | 机械臂当前坐标信息。 |
Quaternion orientation.x | float64 | 机械臂当前姿态信息。 |
Quaternion orientation.y | float64 | 机械臂当前姿态信息。 |
Quaternion orientation.z | float64 | 机械臂当前姿态信息。 |
Quaternion orientation.w | float64 | 机械臂当前姿态信息。 |
使用命令示例:
rostopic echo /rm_driver/Pose_State
当前六维力传感器系统外受力数据Six_Force.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
force_fx | float32 | 当前传感器沿x轴方向受外力大小。 |
force_fy | float32 | 当前传感器沿y轴方向受外力大小。 |
force_fz | float32 | 当前传感器沿z轴方向受外力大小。 |
force_mx | float32 | 沿x轴方向转动受力大小。 |
force_my | float32 | 沿y轴方向转动受力大小。 |
force_mz | float32 | 沿z轴方向转动受力大小。 |
使用命令示例:
rostopic echo /rm_driver/UdpSixZeroForce
当前一维力传感器系统外受力数据Six_Force.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
force_fx | float32 | 当前传感器沿x轴方向受外力大小。 |
force_fy | float32 | 当前传感器沿y轴方向受外力大小。 |
force_fz | float32 | 当前传感器沿z轴方向受外力大小。(仅该数据有效) |
force_mx | float32 | 沿x轴方向转动受力大小。 |
force_my | float32 | 沿y轴方向转动受力大小。 |
force_mz | float32 | 沿z轴方向转动受力大小。 |
使用命令示例:
rostopic echo /rm_driver/UdpSixZeroForce
系统外受力数据参考坐标系
参数说明:
参数 | 类型 | 说明 |
---|---|---|
data | uint16 | 系统外受力数据的坐标系 0 为传感器坐标系 1 为当前工作坐标系 2 为当前工具坐标系 该数据会影响一维力和六维力传感器系统外受力数据的参考坐标系。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Coordinate
灵巧手当前状态Hand_Status.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
hand_angle | uint16[6] | 手指角度数组,范围:0~2000。 |
hand_pos | uint16[6] | 手指位置数组,范围:0~1000。 |
hand_state | uint16[6] | 手指状态,0正在松开,1正在抓取,2位置到位停止,3力到位停止,5电流保护停止,6电缸堵转停止,7电缸故障停止。 |
hand_force | uint16[6] | 灵巧手自由度电流,单位mN。 |
hand_err | uint16 | 灵巧手系统错误,1表示有错误,0表示无错误。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Hand_Status
机械臂当前状态Arm_Current_Status.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
arm_current_status | string | 机械臂当前状态。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Arm_Current_status
机械臂关节电流Joint_Current.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_current | float32[] | 关节电流。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Joint_Current
机械臂关节使能标志Joint_En_Flag.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_en_flag | bool[] | 关节使能标志。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Joint_En_Flag
机械臂关节速度Joint_Speed.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_speed | float32[] | 关节速度。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Joint_Speed
机械臂关节温度Joint_Temperature.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
Joint_temperature | float32[] | 关节温度。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Joint_Temperature
机械臂关节电压Joint_Voltage.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
joint_voltage | float32[] | 关节电压。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Joint_Voltage
机械臂欧拉角位姿Joint_PoseEuler.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
euler | float32[3] | 欧拉角。 |
position | float32[3] | 末端位置。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Joint_PoseEuler
末端设备实时信息Rm_Plus_State.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
sys_state | int32 | 系统状态。 |
sys_err | int32 | 系统错误。 |
dof_state | int32[] | 各自由度当前状态。 |
dof_err | int32[] | 各自由度错误信息。 |
pos | int32[] | 各自由度当前位置。 |
speed | int32[] | 各自由度当前速度。 |
angle | int32[] | 各自由度当前角度。 |
current | int32[] | 各自由度当前电流。 |
normal_force | int32[] | 自由度触觉三维力的法向力。 |
tangential_force | int32[] | 自由度触觉三维力的切向力。 |
tangential_force_dir | int32[] | 自由度触觉三维力的切向力方向。 |
tsa | uint32[] | 自由度触觉自接近。 |
tma | uint32[] | 自由度触觉互接近。 |
touch_data | int32[] | 触觉传感器原始数据。 |
force | int32[] | 自由度力矩。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Plus_State
末端设备基础信息Rm_Plus_Base.msg
参数说明:
参数 | 类型 | 说明 |
---|---|---|
manu | string | 设备厂家。 |
type | int8 | 设备类型 1:两指夹爪 2:五指灵巧手 3:三指夹爪。 |
hv | string | 硬件版本。 |
sv | string | 软件版本。 |
bv | string | boot版本。 |
id | int32 | 设备ID。 |
dof | int8 | 自由度。 |
check | int8 | 自检开关。 |
bee | int8 | 蜂鸣器开关。 |
force | bool | 力控支持。 |
touch | bool | 触觉支持。 |
touch_num | int8 | 触觉个数。 |
touch_sw | int8 | 触觉开关。 |
hand | int8 | 手方向 1 :左手 2: 右手。 |
pos_up | int32[] | 位置上限,单位:无量纲。 |
pos_low | int32[] | 位置下限,单位:无量纲。 |
angle_up | int32[] | 角度上限,单位:0.01度。 |
angle_low | int32[] | 角度下限,单位:0.01度。 |
speed_up | int32[] | 速度上限,单位:无量纲。 |
speed_low | int32[] | 速度下限,单位:无量纲。 |
force_up | int32[] | 力上限,单位:0.001N。 |
force_low | int32[] | 力下限,单位:0.001N。 |
使用命令示例:
rostopic echo /rm_driver/Udp_Plus_Base