机器人配置
设置 TCP
设置工具中心点(TCP)坐标,坐标值相对于法兰盘末端工具坐标系。仅在运动学上有意义。
lebai.set_tcp(tcp)
参数说明: tcp 相对于法兰的偏移量的参数介绍:
参数 类型 说明 x int X 方向偏移量,单位 m y int Y 方向偏移量,单位 m z int Z 方向偏移量,单位 m rx int 绕 Z 轴旋转角度,单位 rad ry int 绕 Y 轴旋转角度,单位 rad rz int 绕 Z 轴旋转角度,单位 rad 返回值:无返回值。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
tcp = {'x' : 0, 'y' : 0, 'z' : 0, 'rz' : 0, 'ry' : 0, 'rx' : 0}
lebai.set_tcp(tcp)
flange_pose = lebai.get_kin_data()['actual_tcp_pose'] #不设置tcp 当前末端坐标,是反馈法兰盘中心坐标
print(flange_pose)
tcp = {'x' : 0, 'y' : 0, 'z' : 0.175, 'rz' : 0, 'ry' : 0, 'rx' : 0} #末端工具夹爪,相对于法兰中心的偏移量,从而计算真实的末端的工具中心坐标
lebai.set_tcp(tcp)
actual_tcp_pose = lebai.get_kin_data()['actual_tcp_pose'] #反馈工具位置
print(actual_tcp_pose)
获取当前TCP
tcp = lebai.get_tcp()
- 返回值:dict类型。返回当前机器人工具中心点(TCP)设置。仅具有运动学意义。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
tcp0 = {'x' : 0, 'y' : 0, 'z' : 0, 'rz' : 0, 'ry' : 0, 'rx' : 0}
lebai.set_tcp(tcp0)
tcp00 = lebai.get_tcp()
print(tcp00)
tcp1 = {'x' : 0, 'y' : 0, 'z' : 0.175, 'rz' : 0, 'ry' : 0, 'rx' : 0}
lebai.set_tcp(tcp1)
tcp11 = lebai.get_tcp()
print(tcp11)
设置速度因子
lebai.set_velocity_factor(factor)
- 参数说明: 以手臂运动命令的速度为基准,设置实际速度为运动命令速度的对应百分比,如 100 表示运动命令速度的 100%,10 表示运动命令速度的 10%。
参数 类型 说明 factor int 速度因子百分比,范围 0~100 - 返回值:无返回值。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import time
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
joint_pose = [0,-1.05,1.05,0,1.57,0]
lebai.movej(joint_pose,a,v,t,r)
lebai.wait_move()
lebai.set_velocity_factor(100)
joint_pose1 = [0.6,-1.05,1.05,0,1.57,0]
a = 5 #关节加速度 (rad/s2)
v = 1.5 #关节速度 (rad/s)
t = 0 #运动时间 (s)。 当 t > 0 时,参数速度 v 和加速度 a 无效
r = 0.5 #交融半径 (m)。用于指定路径的平滑效果
lebai.movej(joint_pose1,a,v,t,r)
time.sleep(3)
lebai.movej(joint_pose,a,v,t,r)
lebai.wait_move()
lebai.set_velocity_factor(50)
lebai.movej(joint_pose1,a,v,t,r)
获取速度因子
factor = lebai.get_velocity_factor()
- 返回值:int 类型。返回速度因子百分比,范围 0~100。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
lebai.set_velocity_factor(90)
velocity_factor = lebai.get_velocity_factor()
print(velocity_factor)
设置机器人末端负载
lebai.set_payload(mass, cog)
参数说明: 当负载的重量或者重量分布发生变化时,必须调用该方法更新。比如当机器人捡起或者放下一个较重的物体时。
参数 类型 说明 mass int 负载质量,单位:kg。可选,默认不更新 cog dict 质心,相对于法兰的偏移量。可选,默认不更新 注意:该设置会影响拖动示教体验。请务必确保设置与机器人实际情况一致。
返回值:无返回值。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import time
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
mass = 0.5
cog = {'x':0,'y':0,'z':0.176} #相对于末端法兰盘的位置,沿着法兰z轴0.176m的地方作为末端重量的质心
lebai.set_payload(mass, cog)
获取末端负载
payload = lebai.get_payload()
- 返回值:dict类型。返回当前机器人末端负载的质量和质心。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import time
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
mass = 0.5
cog = {'x':0,'y':0,'z':0.176} #相对于末端法兰盘的位置,沿着法兰z轴0.176m的地方作为末端重量的质心
lebai.set_payload(mass, cog)
payload = lebai.get_payload() #{"mass": 0.2, "cog": {}}
print(payload)
设置重力方向
lebai.set_gravity(gravity)
参数说明: 设置机器人重力加速度的方向。当机器人固定好后,这个对应的是与地球中心相反的加速方向。
参数 类型 说明 gravity dict 重力加速度的方向 注:正装方向:{"x": 0, "y": 0, "z": -9.8} ; 侧装方向:{"x": 0, "y": -9.8, "z": 0} ;倒装方向:{"x": 0, "y": 0, "z": 9.8}
返回值:无返回值。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import time
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
gravity = {"x": 0, "y": 0, "z": -9.8} #正装
lebai.set_gravity(gravity)
获取重力方向
gravity = lebai.get_gravity()
- 返回值:dict类型。返回机器人重力加速度的方向。
- 使用示例:
import lebai_sdk
lebai_sdk.init()
import time
import nest_asyncio
nest_asyncio.apply()
robot_ip = "192.168.4.145"
lebai = lebai_sdk.connect(robot_ip, False)
gravity = {"x": 0, "y": 0, "z": -9.8} #正装
lebai.set_gravity(gravity)
gravity = lebai.get_gravity()
print(gravity)