机器人配置

设置工具中心点 auto_sync

设置工具中心点(TCP)坐标,坐标值相对于法兰坐标系。仅在运动学上有意义。

  • 函数名:lua模块的函数set_tcp
  • 参数:
    1. p: [Pose] 工具中心点位姿,坐标值相对于法兰坐标系。可为笛卡尔位姿 {x, y, z, rz, ry, rx} 或关节位姿 {j1, j2, j3, j4, j5, j6}
  • 返回:[bool] 是否设置成功

示例程序

set_tcp({0, 0.04, 0, math.pi/2, 0, 0})

获取当前工具中心点

获取当前机器人工具中心点(TCP)位姿。

  • 函数名:lua模块的函数get_tcp
  • 参数:无
  • 返回:[CartesianPose] 当前机器人 TCP 位姿

示例程序

print(get_tcp())

设置速度因子 auto_sync

以手臂运动命令的速度为基准,设置实际速度为运动命令速度的对应百分比,如 100 表示运动命令速度的 100%,10 表示运动命令速度的 10%。

  • 函数名:lua模块的函数set_velocity_factor
  • 参数:
    1. factor: [int] 速度因子百分比,范围 0~100
  • 返回:[bool] 是否设置成功

示例程序

set_velocity_factor(50)

获取速度因子

获取当前速度因子。

  • 函数名:lua模块的函数get_velocity_factor
  • 参数:无
  • 返回:[int] 速度因子百分比,范围 0~100

示例程序

print(get_velocity_factor())

临时禁用碰撞检测 auto_sync

临时禁用碰撞检测。

  • 函数名:lua模块的函数disable_collision_detector
  • 参数:无
  • 返回:[bool] 是否执行成功

示例程序

disable_collision_detector()

启用碰撞检测 auto_sync

启用碰撞检测。

  • 函数名:lua模块的函数enable_collision_detector
  • 参数:无
  • 返回:[bool] 是否执行成功

示例程序

enable_collision_detector()

临时禁用关节限位 auto_sync

临时禁用关节限位。

  • 函数名:lua模块的函数disable_joint_limits
  • 参数:无
  • 返回:[bool] 是否执行成功

示例程序

disable_joint_limits()

启用关节限位 auto_sync

启用关节限位。

  • 函数名:lua模块的函数enable_joint_limits
  • 参数:无
  • 返回:[bool] 是否执行成功

示例程序

enable_joint_limits()

设置末端负载 auto_sync

同时设置末端负载质量和质心。当负载的重量或者重量分布发生变化时,必须调用该方法更新。比如当机器人捡起或者放下一个较重的物体时。

另外也可以使用单独的方法 设置负载质量设置负载重心 来设置。

  • 函数名:lua模块的函数set_payload
  • 参数:
    1. mass: [float] 负载质量,单位 kg
    2. cog: [table] 质心,相对于法兰坐标系,格式为 {x, y, z}(m),如 {x=0, y=0, z=0.5}
  • 返回:[bool] 是否设置成功

示例程序

-- mass:质量2kg
-- cog:负载中心点坐标 x=0,y=0,z=0.5m(法兰坐标系下)
set_payload(2.0, {x=0, y=0, z=0.5})

设置负载质量 auto_sync

设置末端负载质量。

  • 函数名:lua模块的函数set_payload_mass
  • 参数:
    1. mass: [float] 负载质量,单位 kg
  • 返回:[bool] 是否设置成功

示例程序

set_payload_mass(2.0)

设置负载重心 auto_sync

设置末端负载质心。当负载重量分布发生变化时,必须调用该方法更新。比如:当机器人捡起或者放下一个较重的物体时。

  • 函数名:lua模块的函数set_payload_cog
  • 参数:
    1. cog: [table] 质心,相对于法兰坐标系,格式为 {x, y, z}(m),如 {0, 0, 0.5}{x=0, y=0, z=0.5}
  • 返回:[bool] 是否设置成功

示例程序

set_payload_cog({0, 0, 0.5})

获取末端负载

获取当前机器人末端负载的质量和质心。

  • 函数名:lua模块的函数get_payload
  • 参数:无
  • 返回:[table] 负载信息,格式为 {mass=..., cog={x=..., y=..., z=...}}

示例程序

print(get_payload())

输出:

{cog={y=0,x=0,z=0},mass=0}

设置重力加速度方向 auto_sync

当机器人固定好后,该参数对应与地球中心相反的加速度方向。

注意

该设置会影响拖动示教体验。请务必确保设置与机器人实际安装情况一致。

  • 函数名:lua模块的函数set_gravity
  • 参数:
    1. gravity: [table] 相对于机器人基座标描述的重力方向,格式为 {x, y, z}(m/s²),如 {x=0, y=0, z=-9.82}
  • 返回:[bool] 是否设置成功

示例程序

-- 表示在 Z 轴负方向有一个 9.82 m/s² (1 g) 的加速度(默认)
set_gravity({x=0, y=0, z=-9.82})

获取重力加速度方向

获取当前重力加速度方向。

  • 函数名:lua模块的函数get_gravity
  • 参数:无
  • 返回:[table] 相对于机器人基座标描述的重力方向,格式为 {x, y, z}(m/s²)

示例程序

print(get_gravity())

输出:

{y=0,x=0,z=-9.82}

设置自动配置项 3.1.16

注意

重启后生效;设置一次后长期生效。

  • 函数名:lua模块的函数set_auto
  • 参数:
    1. name: [str] 自动配置项名称,目前支持:
      • ARM_POWER:是否开机后自动上电,默认 true
      • ENABLE_JOINT:是否开机后自动上电并启动手臂,默认 false
      • INIT_CLAW:是否上电后自动初始化夹爪,默认 true
    2. val: [bool] true 为使能,false 为禁用
  • 返回:无

示例程序

set_auto("INIT_CLAW", false)

获取自动配置项 3.1.16

  • 函数名:lua模块的函数get_auto
  • 参数:
    1. name: [str] 自动配置项名称,同 设置自动配置项
  • 返回:[bool] 配置项当前值,未配置时返回 nil

示例程序

print(get_auto("ARM_POWER"))