机械臂建模,轨迹规划,避障路径规划(介绍+代码)(三)
前言
最近写的一个作业,记录分享一下,主要是对机械臂在MATLAB中的仿真,其中包括机械臂建模,机械臂轨迹规划,机械臂避障路径规划等。
前面两个博文中:
机械臂建模,轨迹规划,避障路径规划(介绍+代码)(一)
机械臂建模,轨迹规划,避障路径规划(介绍+代码)(二)
已经分别介绍完机械臂建模,机械臂轨迹规划两个部分,而这一部分则是介绍机械臂避障路径规划部分,主要分为以下几个部分:使用蚁群算法的路径规划,机械臂碰撞检测,机械臂避障路径规划整体仿真。
使用蚁群算法的路径规划
蚁群算法是一种很适宜路径探索的智能算法,蚁群算法的原理及使用方法再很多博文中都有提到,这里不做赘述。
二维路径规划的方法和代码有很多,这里介绍的是三维路径规划,原理与二维路径规划类似,只是将三维空间进行栅格划分,在进行路径寻优时,由于三维空间点数比二维路径多太多,需要规定好下一个迭代点的寻优方向,这样有利于减少迭代次数,加快搜索速度。
寻优方向又称为蚂蚁的可视区域,例如
直接放仿真效果图,程序在本文结尾:
加一个MATLAB画三维长方体的程序,在三维障碍物演示的时候比较常用:MATLAB 画三维长方体 介绍+代码
机械臂碰撞检测
机械臂碰撞检测是检测机械臂是否与障碍物之间发生了碰撞,一般检测方法是,将障碍物进行规则化处理,以长方体或者圆柱体将障碍物包括进去,然后机械臂本身具有一定体积,可以将机械臂的连杆以圆柱体进行包络,为了方便起见,则将机械臂等效成线,而对障碍物进行膨胀处理,则机械臂的碰撞检测即可简化为当机械臂的线碰到障碍物的面时可认为发生了碰撞。
以下为仿真效果图,程序在本文结尾:
机械臂避障路径规划整体仿真
在完成三维路径规划,机械臂碰撞检测工作后,即可实施机械臂整体避障路径规划仿真,整体实施程序流程框架如下:
以下为仿真效果图,程序在本文结尾:
1.未加路径平滑,关节角突变较大:
2.加上路径平滑(三次插值):
3.来回避障演示:
程序下载
机械臂避障路径规划仿真 蚁群算法 三维路径规划
机械臂碰撞检测 八组逆解碰撞检测 机械臂避障路径规划
机械臂避障路径规划仿真 路径平滑