当前位置:   article > 正文

对六自由度机械臂的运动控制及python实现(附源码)

对六自由度机械臂的运动控制及python实现(附源码)

        经过一周的研究,对六自由度机械臂运动进行了研究,利用高中几何知识进行了运动控制策略的设计,无偿贡献出源码,可以为入门的小伙伴提供一定的借鉴。

1、机械臂物理参数的介绍

        买了一个六轴机械臂,作为研究对象,如果是其它机械臂,可以根据机械臂参数对代码进行修改。机械臂参数如下图所示:

1.1  部件与尺寸

        机械臂如下部件组成,描述如下表:

序号

名称

描述

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.2坐标系与工作空间

        机械臂坐标系为数学直角正交坐标系,每个电机绕着旋转轴顺时针、逆时针旋转(正负已经标明),方向如图1所示,机械臂通过6个电机的旋转运动,实现了一系列复杂的动作。

        注意,由于机械结构和设计的原因,有的电机不能进行-180°至180°的全向转动,会有一个转动的范围(见上表),这部分没有在python中实现。

2、机械臂运动控制原理

        机械臂运动控制要解决的核心问题是,知道物体的位置(中心点坐标)和主方向(物体的朝向),程序自动计算出机械臂的各关节角度位置,将夹具准确送到抓取物体的部位,并对准抓取位置。

2.1机械臂运动的几何简化

        总体思路是将机械臂的三维复杂运动简化为两个平面的运动,即“俯视平面”,和“垂直平面(本文叫R平面)”的组合运动。如下两个图:

      

 

 2.2机械臂抓手即后面末关节的处理

        普通的机械臂的控制以上就可以,由于我手头这个大象机械臂比较特殊,有很多90度弯头,而且抓手安装后,他的落点与上面简化模型就出现了偏差,因此,还需要根据这个特点,根据实际的物体坐标和主方向,计算出上节的理想抓手坐标点(x,y),然后就能求出全部关节的角度了。

3、python源码

以下是源代码,可以直接运行,本站源码链接:对六自由度机械臂的运动控制及python实现(源码)资源-CSDN文库

关注文末公众号,回复数字0,免费获取

按键盘"O"键,进入自动鼠标点击右侧图机械臂工作半径范围的地方,自动计算各关节的旋转坐标。

再按键盘"O"键,退出鼠标点击计算模式,改用监盘手动操作模式,按“[”或 “]”,是J1关节旋转,按“w"是扩大作业半径,按"s"是缩小作业半径。

运行效果如下:

以上是几何实现,那么如果采用更通用的数值逆解,应该如何实现呢,新开辟一个新专栏——机器人学基础——python算法_JAMES费的博客-CSDN博客,打算继续用python这个工具,把机械臂这件事情研究得更透彻一些。

可以继续移步相关文章:N轴机械臂的MDH正向建模,及python算法_JAMES费的博客-CSDN博客,

 4、机器人相关扩展阅读

4.1 四轴机械臂相关

4.1.1实现了一个写字孪生机器人


文章:python机器人编程——用python实现一个写字机器人

4.1.2实现了机械臂+机器视觉+大模型指令解析流程打通:

python机器人实战——0到1创建一个自动是色块机器人项目-CSDN直播

4.1.3实现了语音输入+大模型指令解析+机器视觉+机械臂流程打通:

机器人能听懂人话了_哔哩哔哩_bilibili

除了机器臂研究,本人还研究了差速小车的运动控制、路径规划、定位等机器人移动相关文章和python程序,感兴趣请移步:

4.2 移动小车相关

4.2.1、栅格地图机器人

(1)博客:

python做了一个极简的栅格地图行走机器人,到底能干啥?[第五弹]——解锁蒙特卡洛定位功能-CSDN博客(2)对应python资源:python做了一个极简的栅格地图行走机器人,第五弹-解锁蒙特卡洛定位功能,python源码资源-CSDN文库

4.1.2、vrep仿真环境与python联合,实现差速小车的自动循迹控制:

(1)博客

python机器人编程——差速AGV机器、基于视觉和预测控制的循迹、自动行驶(上篇)_agv编程-CSDN博客

python机器人编程——差速AGV机器、基于视觉和预测控制的循迹、自动行驶(下篇)_agv路线规划原则python-CSDN博客

(2)对应python及仿真环境资源:

实现了在coppeliasim(vrep)仿真环境的小车巡检自动驾驶,python源码,带UI,小车状态IMU趋势监控资源-CSDN文库


        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/993276
推荐阅读
相关标签
  

闽ICP备14008679号