实时运动控制接口

1 robot_movej - 关节空间运动到目标位姿

方法: robot_movej(socket_fd, move_cmd)

参数:

  • socket_fd:连接句柄
  • move_cmd:运动指令结构体,包含目标位置和运动参数

返回值:

  • int:执行结果
    • 0:成功
    • 非0:失败,错误码见错误码详情

使用示例:

注意:使用时要先上电

Python
import nrc_interface as nrc
import time

# 建立连接
socket_fd = nrc.connect_robot("192.168.1.13", "6001")

nrc.set_servo_poweron(socket_fd)  # 上电
time.sleep(1)

# 初始化MoveCmd
moveCmd = nrc.MoveCmd()

# 目标关节角度7轴
target = [0, 0, 0, 0, 0, 0, 0]

# 设置长度=7
moveCmd.targetPosValue.resize(7)

# 逐个赋值
for i in range(7):
    moveCmd.targetPosValue[i] = target[i]

# 设置运动参数
moveCmd.coord = 0
moveCmd.velocity = 100
moveCmd.acc = 100
moveCmd.dec = 100
moveCmd.pl = 5

# 调用官方实时关节运动接口
ret = nrc.robot_movej(socket_fd, moveCmd)
print(f"调用返回值(ret)={ret}")

time.sleep(10)

2 robot_movel - 笛卡尔空间直线运动到目标位姿

方法: robot_movel(socket_fd, move_cmd)

功能: 在笛卡尔空间中,控制机械臂从当前位姿沿直线运动至目标位姿。

参数:

  • socket_fd:连接句柄(机器人连接成功后返回的ID)
  • move_cmd:运动指令结构体,包含笛卡尔目标位姿及运动参数

返回值:

  • int:执行结果
    • 0:成功
    • 非0:失败,错误码见错误码详情

使用示例:

注意:使用时要先上电

Python
import nrc_interface as nrc
import time

# 建立连接
socket_fd = nrc.connect_robot("192.168.1.13", "6001")

nrc.set_servo_poweron(socket_fd)  # 上电
time.sleep(1)

# 初始化MoveCmd
moveCmd = nrc.MoveCmd()

# 目标关节角度7轴
target = [236, 39, 244, 3.14, 0, 0, 0]

# 设置长度=7
moveCmd.targetPosValue.resize(7)

# 逐个赋值
for i in range(7):
    moveCmd.targetPosValue[i] = target[i]

# 设置运动参数
moveCmd.coord = 0
moveCmd.velocity = 100
moveCmd.acc = 100
moveCmd.dec = 100
moveCmd.pl = 5

# 调用实时关节运动接口
ret = nrc.robot_movel(socket_fd, moveCmd)
print(f"调用返回值(ret)={ret}")

time.sleep(10)