赞
踩
经过一周的研究,对六自由度机械臂运动进行了研究,利用高中几何知识进行了运动控制策略的设计,无偿贡献出源码,可以为入门的小伙伴提供一定的借鉴。
买了一个六轴机械臂,作为研究对象,如果是其它机械臂,可以根据机械臂参数对代码进行修改。机械臂参数如下图所示:
机械臂如下部件组成,描述如下表:
序号 | 名称 | 描述 | 在python中的定义 |
1 | 骨长1 | 机械臂原点至第1弯头中心,距离170.48mm | 类名:Mini_Arm,属性名:骨长1 |
2 | 骨长2 | 第1弯头至第4弯头中心,距离138.35mm | 类名:Mini_Arm,属性名:骨长2 |
3 | 骨长3 | 第4弯头至第5弯头中心,距离100mm | 类名:Mini_Arm,属性名:骨长3 |
4 | 骨长4 | 第5弯头至第7弯头中心,距离85mm | 类名:Mini_Arm,属性名:骨长4 |
5 | 小骨 | 第(1至2)、(3至4)、(5至6)弯头距离的统称,距离80mm | 类名:Mini_Arm,属性名:小骨 |
6 | 末骨 | J5转轴中心至机械臂末端的距离,62.40mm | 类名:Mini_Arm,属性名:末骨 |
7 | J1 | 第1个旋转电机角度,范围[-165°,165°] | 类名:Mini_Arm,属性名:J[0] |
8 | J2 | 第2个旋转电机角度,范围[-90°,90°] | 类名:Mini_Arm,属性名:J[1] |
9 | J3 | 第3个旋转电机角度,范围[-120°,120°] | 类名:Mini_Arm,属性名:J[2] |
10 | J4 | 第4个旋转电机角度,范围[-120°,120°] | 类名:Mini_Arm,属性名:J[3] |
11 | J5 | 第5个旋转电机角度,范围[-180°,180°] | 类名:Mini_Arm,属性名:J[4] |
12 | J6 | 第6个旋转电机角度,范围[-180°,180°] | 类名:Mini_Arm,属性名:J[5] |
机械臂坐标系为数学直角正交坐标系,每个电机绕着旋转轴顺时针、逆时针旋转(正负已经标明),方向如图1所示,机械臂通过6个电机的旋转运动,实现了一系列复杂的动作。
注意,由于机械结构和设计的原因,有的电机不能进行-180°至180°的全向转动,会有一个转动的范围(见上表),这部分没有在python中实现。
机械臂运动控制要解决的核心问题是,知道物体的位置(中心点坐标)和主方向(物体的朝向),程序自动计算出机械臂的各关节角度位置,将夹具准确送到抓取物体的部位,并对准抓取位置。
总体思路是将机械臂的三维复杂运动简化为两个平面的运动,即“俯视平面”,和“垂直平面(本文叫R平面)”的组合运动。如下两个图:
普通的机械臂的控制以上就可以,由于我手头这个大象机械臂比较特殊,有很多90度弯头,而且抓手安装后,他的落点与上面简化模型就出现了偏差,因此,还需要根据这个特点,根据实际的物体坐标和主方向,计算出上节的理想抓手坐标点(x,y),然后就能求出全部关节的角度了。
以下是源代码,可以直接运行,本站源码链接:对六自由度机械臂的运动控制及python实现(源码)资源-CSDN文库
或关注文末公众号,回复数字0,免费获取
按键盘"O"键,进入自动鼠标点击右侧图机械臂工作半径范围的地方,自动计算各关节的旋转坐标。
再按键盘"O"键,退出鼠标点击计算模式,改用监盘手动操作模式,按“[”或 “]”,是J1关节旋转,按“w"是扩大作业半径,按"s"是缩小作业半径。
运行效果如下:
以上是几何实现,那么如果采用更通用的数值逆解,应该如何实现呢,新开辟一个新专栏——机器人学基础——python算法_JAMES费的博客-CSDN博客,打算继续用python这个工具,把机械臂这件事情研究得更透彻一些。
可以继续移步相关文章:N轴机械臂的MDH正向建模,及python算法_JAMES费的博客-CSDN博客,
文章:python机器人编程——用python实现一个写字机器人
python机器人实战——0到1创建一个自动是色块机器人项目-CSDN直播
除了机器臂研究,本人还研究了差速小车的运动控制、路径规划、定位等机器人移动相关文章和python程序,感兴趣请移步:
(1)博客:
python做了一个极简的栅格地图行走机器人,到底能干啥?[第五弹]——解锁蒙特卡洛定位功能-CSDN博客(2)对应python资源:python做了一个极简的栅格地图行走机器人,第五弹-解锁蒙特卡洛定位功能,python源码资源-CSDN文库
(1)博客
python机器人编程——差速AGV机器、基于视觉和预测控制的循迹、自动行驶(上篇)_agv编程-CSDN博客
python机器人编程——差速AGV机器、基于视觉和预测控制的循迹、自动行驶(下篇)_agv路线规划原则python-CSDN博客
(2)对应python及仿真环境资源:
实现了在coppeliasim(vrep)仿真环境的小车巡检自动驾驶,python源码,带UI,小车状态IMU趋势监控资源-CSDN文库
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。