机器人配置
从资源库加载 TCP
读取已保存的工具中心点(TCP)。
- 函数名:[Robot]下的方法
load_tcp - 参数:
- name: [str] 名称
- dir: [str] 工作空间名称。可选,默认根目录
- 返回:[CartesianPose] 相对于法兰的偏移量
示例程序
tcp = lebai:load_tcp("tcp1")
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 - 参数:
- pose: [CartesianPose] 相对于法兰的偏移量
- 返回:无
示例程序
tcp = {x = 0, y = 0, z = 0.175, rz = 0, ry = 0, rx = 0}
lebai:set_tcp(tcp)
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)设置。仅具有运动学意义。
- 函数名:[Robot]下的方法
get_tcp - 参数:无
- 返回:[CartesianPose] 当前机器人 TCP,类型同设置 TCP的入参
示例程序
tcp = lebai:get_tcp()
print(tcp)
tcp = lebai.get_tcp()
print(tcp)
设置速度因子
以手臂运动命令的速度为基准,设置实际速度为运动命令速度的对应百分比,如 100 表示运动命令速度的 100%,10 表示运动命令速度的 10%。
- 函数名:[Robot]下的方法
set_velocity_factor - 参数:
- speed_factor: [int] 速度因子百分比,范围 0~100
- 返回:无
示例程序
lebai:set_velocity_factor(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)
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 - 参数:
- sensitivity: [int] 灵敏度,范围 0~100
- 返回:无
示例程序
lebai:set_collision_detector_sensitivity(50)
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()
lebai.disable_collision_detector()
启用碰撞检测
- 函数名:[Robot]下的方法
enable_collision_detector - 参数:无
- 返回:无
示例程序
lebai:enable_collision_detector()
lebai.enable_collision_detector()
临时禁用关节限位
- 函数名:[Robot]下的方法
disable_joint_limits - 参数:无
- 返回:无
示例程序
lebai:disable_joint_limits()
lebai.disable_joint_limits()
启用关节限位
- 函数名:[Robot]下的方法
enable_joint_limits - 参数:无
- 返回:无
示例程序
lebai:enable_joint_limits()
lebai.enable_joint_limits()
从资源库加载末端负载
读取已保存的负载参数。
示例程序
payload = lebai:load_payload("payload1")
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 - 参数:
- mass: [float] 负载质量(kg)。可选,默认不更新
- cog: [Position] 负载重心偏移位置(m),相对于法兰的偏移量。可选,默认不更新
- 返回:无
示例程序
mass = 0.5
cog = {x = 0, y = 0, z = 0.176}
lebai:set_payload(mass, cog)
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 }
获取负载
获取当前机器人末端负载的质量和质心。
示例程序
payload = lebai:get_payload()
print(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 }
设置重力方向
设置机器人重力加速度的方向。当机器人固定好后,这个对应的是与地球中心相反的加速方向。
注意
该设置会影响拖动示教体验。请务必确保设置与机器人实际情况一致。
注:正装方向:{"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)
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 }
获取重力方向
示例程序
gravity = lebai:get_gravity()
print(gravity)
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 - 参数:
- name: [AutoCfg] 自动配置项名称,目前支持以下配置项
ARM_POWER是否开机后自动上电,默认trueENABLE_JOINT是否开机后自动上电并启动手臂,默认falseINIT_CLAW是否上电后自动初始化夹爪,默认true
- value: [bool] true为使能,false为禁用
- name: [AutoCfg] 自动配置项名称,目前支持以下配置项
- 返回:无
示例程序
lebai:set_auto("ARM_POWER", true)
lebai:set_auto("ENABLE_JOINT", false)
lebai.set_auto("ARM_POWER", True)
lebai.set_auto("ENABLE_JOINT", False)
获取自动配置项
示例程序
enabled = lebai:get_auto("ARM_POWER")
print(enabled)
enabled = lebai.get_auto("ARM_POWER")
print(enabled)
