Python SDK
位置和位姿
正解
cart = lebai.kinematics_forward(jpose)
通过机器人正向运动学将关角度坐标转成笛卡尔位置和姿态表达的坐标。
参数
jpose
关节位置
返回
cart
笛卡尔空间位置和姿态
反解
joints = lebai.kinematics_inverse(pose, joints)
通过机器人逆向运动学反解,将笛卡尔位置和姿态转换成关节角度。计算结果与当前 TCP 设置和当前关节位置有关。
参数
pose
笛卡尔位置和姿态joints
反解参考的关节位置。可选,默认为当前反馈关节位置
返回
joints
关节位置
位姿特征坐标系转换
c = lebai.pose_trans(a, b)
a 为一个相对机器人底座世界坐标系变换后的新坐标系 {A},b 是相对于坐标系 {A} 的位姿描述。最后返回b相对于机器人世界坐标系的位姿描述。
参数
a
位姿 Ab
位姿 B
返回
c
位姿 C=AB
位姿的逆
c = lebai.pose_inverse(a)
用于求位姿 a 对应的齐次矩阵 A,A的逆的位姿描述。可用于求解位姿方程。
参数
a
输入位姿
返回
c
A的逆矩阵对应的笛卡尔位置和位姿
位姿的加
pose = lebai.pose_add(base, delta, frame)
从base位置,往frame方向移动delta后的位姿。
参数
base
起始位姿delta
位姿偏移量frame
位姿偏移量方向,仅姿态部分有效。可空,默认基座方向
返回
pose
移动后的位姿
机器人配置
设置 TCP
lebai.set_tcp(tcp)
设置工具中心点(TCP)坐标,坐标值相对于法兰盘末端工具坐标系。仅在运动学上有意义。
- 参数
tcp
相对于法兰的偏移量,包含 x、y、z、rx、ry、rz
获取当前TCP
tcp = lebai.get_tcp()
- 返回
tcp
当前机器人工具中心点(TCP)设置
设置速度因子
lebai.set_velocity_factor(factor)
以手臂运动命令的速度为基准,设置实际速度为运动命令速度的对应百分比。
- 参数
factor
速度因子百分比,范围 0~100
设置机器人末端负载
lebai.set_payload(mass, cog)
当负载的重量或者重量分布发生变化时,必须调用该方法更新。
- 参数
mass
负载质量,单位:kg。可选,默认不更新cog
质心,相对于法兰的偏移量。可选,默认不更新
设置重力方向
lebai.set_gravity(gravity)
设置机器人重力加速度的方向。
- 参数
gravity
重力加速度的方向
正装方向:{"x": 0, "y": 0, "z": -9.8};侧装方向:{"x": 0, "y": -9.8, "z": 0};倒装方向:{"x": 0, "y": 0, "z": 9.8}
信号量交互
系统内置 256 个信号量,下标从 0 开始到 255。每个信号量都可以存储一个 32 位整数类型值,取值范围 -2147483648~2147483647。系统重新启动后,所有信号量都会被重新置为 0。
设置信号量
lebai.set_signal(index, value)
设置对应信号量的值。
- 参数
index
信号量下标value
设置的信号量值
获取信号量
value = lebai.get_signal(index)
获取对应信号量的值。
参数
index
信号量下标
返回
value
对应信号量的值