Skip to content

五指灵巧手配置handControl

睿尔曼机械臂末端配置因时的五指灵巧手,可通过本接口对灵巧手进行设置,包含手势动作、动作角度、速度、力控范围等。

按灵巧手目标手势序列号运动rm_set_hand_posture()

  • 方法原型:
C
int rm_set_hand_posture(rm_robot_handle * handle,int posture_num,bool block,int timeout)

可以跳转rm_robot_handle查阅结构体详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
posture_num输入参数预先保存在灵巧手内的手势序号,范围:1~40。
block输入参数阻塞设置:
多线程模式:0,非阻塞模式,发送指令后立即返回;1,阻塞模式,等待机械臂到达目标位置或规划失败后返回。
单线程模式:0,非阻塞模式;其他值,阻塞模式并设置超时时间,根据运动时间设置,单位为秒。
timeout输入参数阻塞模式下超时时间设置,单位:秒。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
-4int当前到位设备校验失败,即当前到位设备不为灵巧手。
-5int超时未返回。
  • 使用示例
C
//设置灵巧手阻塞执行1号手势,10秒无返回则超时
int posture_num = 1;
ret = rm_set_hand_posture(robot_handle,posture_num,true,10);

按灵巧手动作序列号运动rm_set_hand_seq()

  • 方法原型:
C
int rm_set_hand_seq(rm_robot_handle * handle,int seq_num,bool block,int timeout)

可以跳转rm_robot_handle查阅结构体详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
seq_num输入参数预先保存在灵巧手内的动作序号,范围:1~40。
block输入参数true表示阻塞模式,等待灵巧手运动结束后返回;
false表示非阻塞模式,发送后立即返回。
timeout输入参数阻塞模式下超时时间设置,单位:秒。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
-4int当前到位设备校验失败,即当前到位设备不为灵巧手。
-5int超时未返回。
  • 使用示例
C
//设置灵巧手阻塞执行1号动作序列,15秒无返回则超时
int posture_num = 1;
ret = rm_set_hand_seq(robot_handle,posture_num,true,15);

设置灵巧手各自由度角度rm_set_hand_angle()

设置灵巧手角度,灵巧手有6个自由度,从1~6分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转。

  • 方法原型:
C
int rm_set_hand_angle(rm_robot_handle * handle,const int * hand_angle)

可以跳转rm_robot_handle查阅结构体详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
hand_angle输入参数预手指角度数组,范围:0~1000.
另外,-1代表该自由度不执行任何操作,保持当前状态。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
//设置灵巧手各手指动作
const int angle[6]= {-1,100,200,300,400,500};
ret = rm_set_hand_angle(robot_handle,angle);

设置灵巧手速度rm_set_hand_speed()

  • 方法原型:
C
int rm_set_hand_speed(rm_robot_handle * handle,int speed)

可以跳转rm_robot_handle查阅结构体详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
speed输入参数手指速度,范围:1~1000。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
//设置灵巧手各手指速度
int speed = 500;
ret = rm_set_hand_speed(robot_handle,speed);

设置灵巧手力阈值rm_set_hand_force()

  • 方法原型:
C
int rm_set_hand_force(rm_robot_handle * handle,int hand_force)

可以跳转rm_robot_handle查阅结构体详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
hand_force输入参数手指力,范围:1~1000。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
//设置灵巧手力阈值500
int force = 500;
ret = rm_set_hand_force(robot_handle,force);

设置灵巧手角度跟随控制 rm_set_hand_follow_angle()

设置灵巧手跟随角度,灵巧手有6个自由度,从1~6分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转,最高50Hz的控制频率。 灵巧手角度的定义(int16):1. 傲意:第一指关节1的角度*100。
2. 因时:0-2000,通过联系技术支持得到驱动器行程与角度关系表。

注意

如果要使用此功能,需要联系技术支持发送定制的灵巧手固件升级包(傲意或者因时)。

  • 方法原型:
C
int rm_set_hand_follow_angle(rm_robot_handle *handle, const int *hand_angle, int block);

可以跳转rm_robot_handle查阅结构体详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
hand_angle输入参数设置灵巧手各手指动作,hand_angle表示手指角度数组,按照灵巧手厂商定义的角度做控制,例如:
1. 因时的角度范围为0到+2000;
2. 傲意的角度范围为-32768到+32767。
block输入参数设置等待机械臂返回状态超时时间,设置0时为非阻塞模式。单位为毫秒。
  • 因时各自由度的角度定义和运动范围说明如下。
角度图例说明范围
小拇指
无名指
中指
食指
image619°~176.7°
大拇指弯曲角度image7-130~53.6°
大拇旋转曲角度image890°~165°
  • 傲意各自由度的角度定义和运动范围说明如下。
角度图例说明范围
食指
中指
无名指
小拇指
image9100.22°~178.37°
97.81° ~ 176.06°
101.38°~176.54°
98.84°~174.86°
大拇指弯曲角度image102.26° ~ 36.76°
大拇旋转曲角度image110° ~ 90°
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
// 高速控制灵巧手,非阻塞模式
const int angle[6]= {0,100,200,300,400,500};
ret = rm_set_hand_follow_angle(robot_handle,angle,0);

设置灵巧手位置跟随控制rm_set_hand_follow_pos()

设置灵巧手跟随位置,灵巧手有6个自由度,从1~6分别为小拇指,无名指,中指,食指,大拇指弯曲,大拇指旋转,最高50Hz的控制频率

注意

如果要使用此功能,需要联系技术支持发送定制的灵巧手固件升级包(傲意或者因时)。

  • 方法原型:
C
int rm_set_hand_follow_pos(rm_robot_handle *handle, const int *hand_pos, int block);

可以跳转rm_robot_handle查阅结构体详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
hand_pos输入参数设置灵巧手各手指动作,hand_pos表示手指位置数组,按照灵巧手厂商定义的角度做控制,例如:
1. 因时的位置范围为0-1000;
2. 傲意的位置范围为0-65535。
block输入参数设置等待机械臂返回状态超时时间,设置0时为非阻塞模式。单位为毫秒。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
// 高速控制灵巧手,非阻塞模式
const int pos[6]= {0,100,200,300,400,500};
ret = rm_set_hand_follow_pos(robot_handle,pos,0);