机器人配置

从资源库加载 TCP

读取已保存的工具中心点(TCP)。

  • 函数名:[Robot]下的方法load_tcp
  • 参数:
    1. name: [str] 名称
    2. dir: [str] 工作空间名称。可选,默认根目录
  • 返回:[CartesianPose] 相对于法兰的偏移量

示例程序

tcp = lebai:load_tcp("tcp1")
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "load_tcp", "params": [{"name": "", "dir": ""}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"position": {}, "rotation": {}}, "id": 1 }

设置 TCP

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

  • 函数名:[Robot]下的方法set_tcp
  • 参数:
    1. pose: [CartesianPose] 相对于法兰的偏移量
  • 返回:无

示例程序

tcp = {x = 0, y = 0, z = 0.175, rz = 0, ry = 0, rx = 0}
lebai:set_tcp(tcp)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "set_tcp", "params": [{"position": {}, "rotation": {}}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {}, "id": 1 }

获取当前 TCP

获取当前机器人工具中心点(TCP)设置。仅具有运动学意义。

示例程序

tcp = lebai:get_tcp()
print(tcp)

设置速度因子

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

  • 函数名:[Robot]下的方法set_velocity_factor
  • 参数:
    1. speed_factor: [int] 速度因子百分比,范围 0~100
  • 返回:无

示例程序

lebai:set_velocity_factor(100)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "set_kin_factor", "params": [{"speed_factor": 100}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {}, "id": 1 }

获取速度因子

  • 函数名:[Robot]下的方法get_velocity_factor
  • 参数:无
  • 返回:[int] 速度因子百分比,范围 0~100

示例程序

factor = lebai:get_velocity_factor()
print(factor)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_kin_factor", "params": [{}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"speed_factor": 100}, "id": 1 }

设置碰撞检测灵敏度

设置碰撞检测灵敏度,数值越大越灵敏。

  • 函数名:[Robot]下的方法set_collision_detector_sensitivity
  • 参数:
    1. sensitivity: [int] 灵敏度,范围 0~100
  • 返回:无

示例程序

lebai:set_collision_detector_sensitivity(50)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "set_collision_detector", "params": [{"action": "STOP", "pause_time": 0, "sensitivity": 50}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {}, "id": 1 }

临时禁用碰撞检测

  • 函数名:[Robot]下的方法disable_collision_detector
  • 参数:无
  • 返回:无

示例程序

lebai:disable_collision_detector()

启用碰撞检测

  • 函数名:[Robot]下的方法enable_collision_detector
  • 参数:无
  • 返回:无

示例程序

lebai:enable_collision_detector()

临时禁用关节限位

  • 函数名:[Robot]下的方法disable_joint_limits
  • 参数:无
  • 返回:无

示例程序

lebai:disable_joint_limits()

启用关节限位

  • 函数名:[Robot]下的方法enable_joint_limits
  • 参数:无
  • 返回:无

示例程序

lebai:enable_joint_limits()

从资源库加载末端负载

读取已保存的负载参数。

  • 函数名:[Robot]下的方法load_payload
  • 参数:
    1. name: [str] 名称
    2. dir: [str] 工作空间名称。可选,默认根目录
  • 返回:[Payload] 末端负载

示例程序

payload = lebai:load_payload("payload1")
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "load_payload", "params": [{"name": "", "dir": ""}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"mass": 0.2, "cog": {}}, "id": 1 }

设置机器人末端负载

设置当前负载参数(只设置指定项)。当负载的重量或者重量分布发生变化时,必须调用该方法更新。比如当机器人捡起或者放下一个较重的物体时。

注意

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

  • 函数名:[Robot]下的方法set_payload
  • 参数:
    1. mass: [float] 负载质量(kg)。可选,默认不更新
    2. cog: [Position] 负载重心偏移位置(m),相对于法兰的偏移量。可选,默认不更新
  • 返回:无

示例程序

mass = 0.5
cog = {x = 0, y = 0, z = 0.176}
lebai:set_payload(mass, cog)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "set_payload", "params": [{"mass": 0.2, "cog": {}}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {}, "id": 1 }

获取负载

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

  • 函数名:[Robot]下的方法get_payload
  • 参数:无
  • 返回:[Payload] 当前机器人末端负载

示例程序

payload = lebai:get_payload()
print(payload)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_payload", "params": [{}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"mass": 0.2, "cog": {}}, "id": 1 }

设置重力方向

设置机器人重力加速度的方向。当机器人固定好后,这个对应的是与地球中心相反的加速方向。

注意

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

  • 函数名:[Robot]下的方法set_gravity
  • 参数:
    1. pose: [Position] 重力方向相对于机器人的基座的偏移量
  • 返回:无

注:正装方向:{"x": 0, "y": 0, "z": -9.8};侧装方向:{"x": 0, "y": -9.8, "z": 0};倒装方向:{"x": 0, "y": 0, "z": 9.8}

示例程序

gravity = {x = 0, y = 0, z = -9.8}
lebai:set_gravity(gravity)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "set_gravity", "params": [{"x": 0, "y": 0, "z": -9.8}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {}, "id": 1 }

获取重力方向

  • 函数名:[Robot]下的方法get_gravity
  • 参数:无
  • 返回:[Position] 重力方向相对于机器人的基座的偏移量

示例程序

gravity = lebai:get_gravity()
print(gravity)
JSON-RPC
// 请求:
{ "jsonrpc": "2.0", "method": "get_gravity", "params": [{}], "id": 1 }
// 响应:
{ "jsonrpc": "2.0", "result": {"x": 0, "y": 0, "z": -9.8}, "id": 1 }

设置自动配置项

注意

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

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

示例程序

lebai:set_auto("ARM_POWER", true)
lebai:set_auto("ENABLE_JOINT", false)

获取自动配置项

  • 函数名:[Robot]下的方法get_auto
  • 参数:
    1. name: [AutoCfg] 自动配置项名称
  • 返回:[bool] 是否启用对应配置项;未设置时返回None

示例程序

enabled = lebai:get_auto("ARM_POWER")
print(enabled)