机器人与3D视觉 Robotics Toolbox Python 一 安装 Robotics Toolbox Python

一 安装python 库

前置条件需要 Python >= 3.6,使用pip 安装

bash 复制代码
pip install roboticstoolbox-python

测试安装是否成功

bash 复制代码
import roboticstoolbox as rtb
print(rtb.__version__)

输出结果

二 Robotics Toolbox Python样例程序

加载机器人模型

加载由URDF文件定义的Franka Emika Panda机器人模型

python 复制代码
import roboticstoolbox as rtb
robot = rtb.models.Panda()
print(robot)
bash 复制代码
┌───────────┬───────┬──────┬────────┬─────────┬────────┐
│    θⱼ     │  dⱼ   │  aⱼ  │   ⍺ⱼ   │   q⁻    │   q⁺   │
├───────────┼───────┼──────┼────────┼─────────┼────────┤
│ q1        │ 0.352 │ 0.07 │ -90.0° │ -180.0° │ 180.0° │
│ q2 - 90°  │     0 │ 0.36 │   0.0° │ -100.0° │ 100.0° │
│ q3        │     0 │    0 │ -90.0° │ -220.0° │  60.0° │
│ q4        │  0.38 │    0 │  90.0° │ -200.0° │ 200.0° │
│ q5        │     0 │    0 │ -90.0° │ -120.0° │ 120.0° │
│ q6 + 180° │ 0.065 │    0 │   0.0° │ -400.0° │ 400.0° │
└───────────┴───────┴──────┴────────┴─────────┴────────┘

┌─┬──┐
└─┴──┘

┌─────┬─────┬──────┬───────┬─────┬──────┬──────┐
│name │ q0  │ q1   │ q2    │ q3  │ q4   │ q5   │
├─────┼─────┼──────┼───────┼─────┼──────┼──────┤
│  qr │  0° │  0°  │  0°   │  0° │  30° │  0°  │
│  qz │  0° │  0°  │  0°   │  0° │  0°  │  0°  │
│  qd │  0° │ -90° │  180° │  0° │  0°  │ -90° │
└─────┴─────┴──────┴───────┴─────┴──────┴──────┘

计算正向运动学

python 复制代码
>>> Te=Robt_post =robot.fkine(robot.qr) 
>>> print(Te) 
powershell 复制代码
  -0.5       0         0.866     0.5063    
   0         1         0         0
  -0.866     0        -0.5       0.6795    
   0         0         0         1

解逆运动学

首先选择根据位置和方向(末端执行器z轴向下(A=-z)和手指方向平行于y轴(O=+y))定义的SE(3)姿势

python 复制代码
>>> from spatialmath import SE3
>>> Tep = SE3.Trans(0.6, -0.3, 0.1) * SE3.OA([0, 1, 0], [0, 0, -1])
>>> sol = robot.ik_LM(Tep)         # 
>>> print(sol)
python 复制代码
(array([-4.63679405e-01,  1.30094095e+00, -4.61104212e-01, -4.58798962e-04,
        7.30870594e-01, -4.63099538e-01]), 1, 51, 2, 9.433557824147973e-08)
python 复制代码
>>> q_pickup = sol[0]
>>> print(robot.fkine(q_pickup)) 
python 复制代码
  -1         0.0002383 -5.733e-05  0.5998
   0.0002383  1        -0.0003137 -0.3
   5.725e-05 -0.0003138 -1         0.1001
   0         0         0         1

动画显示

python 复制代码
>>> qt = rtb.jtraj(robot.qr, q_pickup, 50)
>>> robot.plot(qt.q, backend='pyplot', movie='IRB140.gif') 

显示的效果

显示示教界面

python 复制代码
robot.teach(robot.q)

三 Robotics Toolbox Python和ABB 机器人 robot studio 的验证

在同一个点的位置

相关推荐
探讨探讨AGV36 分钟前
以科技赋能未来,科聪持续支持青年创新实践 —— 第七届“科聪杯”浙江省大学生智能机器人创意竞赛圆满落幕
人工智能·科技·机器人
cooldream20092 小时前
Python 包管理新时代:深入了解 `uv` 的使用与实践
python·uv·包管理器
之歆2 小时前
Python-魔术方法-创建、初始化与销毁-hash-bool-可视化-运算符重载-容器和大小-可调用对象-上下文管理-反射-描述器-二分-学习笔记
笔记·python·学习
胖达不服输2 小时前
「日拱一码」025 机器学习——评价指标
人工智能·python·机器学习·评价指标
brave_zhao3 小时前
JavaBeanUtils javaBean转map, 实体类转map,实体集合转List<Map>
linux·windows·python
看到我,请让我去学习4 小时前
OpenCV 图像进阶处理:特征提取与车牌识别深度解析
人工智能·opencv·计算机视觉
apihz4 小时前
通用图片搜索-搜狗源免费API接口使用指南
android·java·python·php·音视频
爱吃面条的猿4 小时前
pycharm中自动补全方法返回变量
ide·python·pycharm
倔强青铜三4 小时前
苦练Python第15天:Lambda函数——Python的匿名一行杀器
人工智能·python·面试
云空5 小时前
《QtPy:Python与Qt的完美桥梁》
开发语言·python·qt·pyqt