Python 例程

Lua API

通过向 TCP 的 5180 端口发送 Lua API 来控制任务运行

import socket

client = socket.socket()
client.connect(('127.0.0.1', 5180))
client.send("scene(10087)".encode())

client.close()

SDK

通过下载安装 SDK 来控制任务运行

lebai_sdk

import lebai_sdk

# # 如果出现event loop相关的RuntimeError,尝试添加以下2行
# import nest_asyncio
# nest_asyncio.apply()

lebai_sdk.init()

def main():
    # print(lebai_sdk.discover_devices(2)) #发现同一局域网内的机器人

    robot_ip = "192.168.x.x" #设定机器人ip地址,需要根据机器人实际ip地址修改
    lebai = lebai_sdk.connect(robot_ip, False) #创建实例
    lebai.start_sys() #启动手臂
    joint_pose = [0,-1.05,1.05,0,1.57,0] #目标位姿关节数据
    cartesian_pose = {'x' : -0.383, 'y' : -0.121, 'z' : 0.36, 'rz' : -1.57, 'ry' : 0, 'rx' : 1.57}#目标位姿笛卡尔数据
    a = 0.5 #关节加速度 (rad/s2)
    v = 0.2 #关节速度 (rad/s)
    t = 0   #运动时间 (s)。 当 t > 0 时,参数速度 v 和加速度 a 无效
    r = 0   #交融半径 (m)。用于指定路径的平滑效果
    lebai.movej(joint_pose,a,v,t,r) #关节运动 https://help.lebai.ltd/sdk/motion.html#%E5%85%B3%E8%8A%82%E8%BF%90%E5%8A%A8
    a = 0.3 #空间加速度 (m/s2)
    v = 0.1 #空间速度 (m/s)
    t = 0   #运动时间 (s)。 当 t > 0 时,参数速度 v 和加速度 a 无效
    r = 0   #交融半径 (m)。用于指定路径的平滑效果
    lebai.movel(cartesian_pose,a,v,t,r) #直线运动 https://help.lebai.ltd/sdk/motion.html#%E7%9B%B4%E7%BA%BF%E8%BF%90%E5%8A%A8
    lebai.wait_move() #等待运动完成
    # scene_number = "10000" #需要调用的场景编号
    # lebai.start_task(scene_number, None, None, False, 1) #调用场景
    lebai.stop_sys() #停止手臂

main()

lebai_sdk_asyncio

import asyncio
import lebai_sdk

lebai_sdk.init()

async def main():
    # print(await lebai_sdk.discover_devices(2)) #发现同一局域网内的机器人

    robot_ip = "192.168.x.x" #设定机器人ip地址,需要根据机器人实际ip地址修改
    lebai = await lebai_sdk.connect(robot_ip, False) #创建实例
    await lebai.start_sys() #启动手臂
    joint_pose = [0,-1.05,1.05,0,1.57,0] #目标位姿关节数据
    cartesian_pose = {'x' : -0.383, 'y' : -0.121, 'z' : 0.36, 'rz' : -1.57, 'ry' : 0, 'rx' : 1.57}#目标位姿笛卡尔数据
    a = 0.5 #关节加速度 (rad/s2)
    v = 0.2 #关节速度 (rad/s)
    t = 0   #运动时间 (s)。 当 t > 0 时,参数速度 v 和加速度 a 无效
    r = 0   #交融半径 (m)。用于指定路径的平滑效果
    await lebai.movej(joint_pose,a,v,t,r) #关节运动 https://help.lebai.ltd/sdk/motion.html#%E5%85%B3%E8%8A%82%E8%BF%90%E5%8A%A8
    a = 0.3 #空间加速度 (m/s2)
    v = 0.1 #空间速度 (m/s)
    t = 0   #运动时间 (s)。 当 t > 0 时,参数速度 v 和加速度 a 无效
    r = 0   #交融半径 (m)。用于指定路径的平滑效果
    await lebai.movel(cartesian_pose,a,v,t,r) #直线运动 https://help.lebai.ltd/sdk/motion.html#%E7%9B%B4%E7%BA%BF%E8%BF%90%E5%8A%A8
    await lebai.wait_move() #等待运动完成
    # scene_number = "10000" #需要调用的场景编号
    # await lebai.start_task(scene_number, None, None, False, 1) #调用场景
    await lebai.stop_sys() #停止手臂

asyncio.run(main())