Skip to content

机械臂示教指令armTeachMove

机械臂示教控制相关指令,如关节、位置、姿态的步进和示教控制。

关节步进rm_set_joint_step()

  • 方法原型:
C
int rm_set_joint_step(rm_robot_handle * handle,int joint_num,float step,int v,int block)

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

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
joint_num输入参数关节序号,1~7。
step输入参数步进的角度。
v输入参数速度比例1~100,即规划速度和加速度占关节最大线转速和加速度的百分比。
block输入参数阻塞设置:
多线程模式:0,非阻塞模式,发送指令后立即返回;1,阻塞模式,等待机械臂到达目标位置或规划失败后返回。
单线程模式:0,非阻塞模式;其他值,阻塞模式并设置超时时间,根据运动时间设置,单位为秒。

注意:使用单线程阻塞模式时,请设置超时时间确保轨迹在超时时间内运行结束返回。

  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
-4int当前到位设备校验失败,即当前到位设备不为关节。
-5int单线程模式超时未接收到返回,请确保超时时间设置合理。
  • 使用示例
C
// 默认当前线程模式为多线程,使用阻塞模式,以50%的速度使关节1正向运动10°
rm_set_joint_step(robot_handle, 1, 10, 50, 1);

位置步进rm_set_pos_step()

当前工作坐标系下,位置步进。

  • 方法原型:
C
int rm_set_pos_step(rm_robot_handle * handle,rm_pos_teach_type_e type,float step,int v,int block)

可以跳转rm_robot_handle查阅结构体详细描述可以跳转rm_pos_teach_type_e查阅枚举类型详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
type输入参数示教类型。
step输入参数步进的距离,单位m,精确到0.001mm。
v输入参数速度比例1~100,即规划速度和加速度占关节最大线转速和加速度的百分比。
block输入参数阻塞设置:
多线程模式:0,非阻塞模式,发送指令后立即返回;1,阻塞模式,等待机械臂到达目标位置或规划失败后返回。
单线程模式:0,非阻塞模式;其他值,阻塞模式并设置超时时间,根据运动时间设置,单位为秒。

注意:使用单线程阻塞模式时,请设置超时时间确保轨迹在超时时间内运行结束返回。

  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
-4int当前到位设备校验失败,即当前到位设备不为关节。
-5int单线程模式超时未接收到返回,请确保超时时间设置合理。

注意:参考坐标系默认为当前工作坐标系,可调用rm_set_teach_frame修改为工具坐标系。

  • 使用示例
C
// 默认当前线程模式为多线程,阻塞模式,沿当前工作坐标系X轴正方向步进0.05m
rm_set_pos_step(robot_handle, RM_X_DIR_E, 0.05f, 50, 1);

姿态步进rm_set_ort_step()

当前工作坐标系下,姿态步进。

  • 方法原型:
C
int rm_set_ort_step(rm_robot_handle * handle,rm-ort-teach-type-e type,float step,int v,int block)

可以跳转rm_robot_handle查阅结构体详细描述可以跳转rm-ort-teach-type-e查阅枚举类型详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
type输入参数示教类型。
step输入参数步进的弧度,单位rad,精确到0.001rad。
v输入参数速度比例1~100,即规划速度和加速度占关节最大线转速和加速度的百分比。
block输入参数阻塞设置:
多线程模式:0,非阻塞模式,发送指令后立即返回;1,阻塞模式,等待机械臂到达目标位置或规划失败后返回。
单线程模式:0,非阻塞模式;其他值,阻塞模式并设置超时时间,根据运动时间设置,单位为秒。

注意:使用单线程阻塞模式时,请设置超时时间确保轨迹在超时时间内运行结束返回。

  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
-4int当前到位设备校验失败,即当前到位设备不为关节。
-5int单线程模式超时未接收到返回,请确保超时时间设置合理。

注意:参考坐标系默认为当前工作坐标系,可调用rm_set_teach_frame修改为工具坐标系。

  • 使用示例
C
// 默认当前线程模式为多线程,阻塞模式,绕 x 轴负方向旋转 0.5rad,速度 20%
rm_set_ort_step(robot_handle, RM_RX_ROTATE_E, -0.5f, 20, 1);

切换示教运动坐标系rm_set_teach_frame()

  • 方法原型:
C
int rm_set_teach_frame(rm_robot_handle * handle,int frame_type)

可以跳转rm_robot_handle查阅结构体详细描述可以跳转rm-ort-teach-type-e查阅枚举类型详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
frame_type输入参数0: 工作坐标系运动, 1: 工具坐标系运动。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
// 设置示教坐标系为工具坐标系  
if (rm_set_teach_frame(robot_handle, 1) == 0) {  
    printf("Teach Frame set successfully\n");
} else {  
    printf("Failed to get teach frame\n");  
}

获取示教参考坐标系rm_get_teach_frame()

  • 方法原型:
C
int rm_get_teach_frame(rm_robot_handle * handle,int frame_type)

可以跳转rm_robot_handle查阅结构体详细描述可以跳转rm-ort-teach-type-e查阅枚举类型详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
frame_type输入参数0: 工作坐标系运动, 1: 工具坐标系运动。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
// 获取当前示教坐标系 
int frame_type = -1;  
if (rm_get_teach_frame(&handle, &frame_type) == 0) {  
    printf("Current teach frame: %d\n", frame_type);
} else {  
    printf("Failed to get teach frame\n");  
}

关节示教rm_set_joint_teach()

  • 方法原型:
C
int rm_set_joint_teach(rm_robot_handle * handle,int joint_num,int direction,int v)

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

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
joint_num输入参数示教关节的序号,1~7。
direction输入参数示教方向,0-负方向,1-正方向。
v输入参数速度比例1~100,即规划速度和加速度占关节最大线转速和加速度的百分比。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
// 关节1以50%的速度正向示教
rm_set_joint_teach(robot_handle, 1, 1, 50);

笛卡尔空间位置示教rm_set_pos_teach()

当前工作坐标系下,笛卡尔空间位置示教。

  • 方法原型:
C
int rm_set_pos_teach(rm_robot_handle * handle,rm_pos_teach_type_e type,int direction,int v)

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

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
type输入参数示教类型。
direction输入参数示教方向,0-负方向,1-正方向。
v输入参数速度比例1~100,即规划速度和加速度占关节最大线转速和加速度的百分比。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。

注意:参考坐标系默认为当前工作坐标系,可调用rm_set_teach_frame修改为工具坐标系。

  • 使用示例
C
// 沿当前工作坐标系X轴正方向示教,速度50%
rm_set_pos_teach(robot_handle, RM_X_DIR_E, 1, 50);

笛卡尔空间姿态示教rm_set_ort_teach()

当前工作坐标系下,笛卡尔空间姿态示教。

  • 方法原型:
C
int rm_set_ort_teach(rm_robot_handle * handle,rm-ort-teach-type-e type,int direction,int v)

可以跳转rm_robot_handle查阅结构体详细描述可以跳转rm-ort-teach-type-e查阅枚举类型详细描述

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
type输入参数示教类型。
direction输入参数示教方向,0-负方向,1-正方向。
v输入参数速度比例1~100,即规划速度和加速度占关节最大线转速和加速度的百分比。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。

注意:参考坐标系默认为当前工作坐标系,可调用rm_set_teach_frame修改为工具坐标系。

  • 使用示例
C
// 阻塞模式姿态示教,绕x 轴负方向旋转,速度 20%
rm_set_ort_teach(robot_handle, RM_RX_ROTATE_E, 0, 20);

示教停止rm_set_stop_teach()

  • 方法原型:
C
int rm_set_stop_teach(rm_robot_handle * handle)

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

  • 参数说明:
参数类型说明
handle输入参数机械臂句柄。
  • 返回值:
参数类型说明
0int成功。
1int控制器返回false,传递参数错误或机械臂状态发生错误。
-1int数据发送失败,通信过程中出现问题。
-2int数据接收失败,通信过程中出现问题或者控制器超时没有返回。
-3int返回值解析失败,接收到的数据格式不正确或不完整。
  • 使用示例
C
// 停止示教  
if (rm_set_stop_teach(robot_handle) == 0) {  
    printf("Teach stop successfully\n");
} else {  
    printf("Failed to stop teach\n");  
}