论文部分内容阅读
机械臂的运动规划是在给定的障碍物环境下的运动序列问题,也就是从起始点到目标点的一条无碰撞路径。对于六自由度UR5机械臂的运动规划而言,需要描述旋转关节的六维矢量[θ1,θ2,θ3,θ4,θ5,θ6]T在空间内的构形,本文对多自由度机械臂在高维构形空间内的自主避障问题进行了研究。虑到传统的路径规划算法在在高维构形空间内存在计算量呈“指数灾难”等问题,本文采用适用于高维构形空间内的快速随机搜索树算法RRT,通过节点采样、生成步长、碰撞检测等环节生成新的路径,从而规避了传统算法大量的计算。本文首先对六自由度的UR5机械臂采用D-H法进行正运动学建模,因为逆运动学的求解较为复杂,为了得到其封闭解,基于Pierper准则,提出一种固定第2、3、4关节为3-R平面臂的方法,将第5关节的x-y平面映射到第1关节坐标系空间内来求解θ5和θ1,其余关节角通过数值解析法求解,最后通过代入角度值进行逆运动学的验证。为了得到末端的确定运动状态,本文对机械臂在笛卡尔空间内进行了直线和圆弧的轨迹规划,离线计算得到关节角状态和时间的关系,同时验证了逆解的正确性。其次,针对RRT路径规划算法步长生成较慢的缺点,本文提出将贪婪策略应用到带有启发式的双向随机搜索树算法上,使节点一直朝向目标点或者障碍物区域扩展,对比分析RRT和RRT-Connect的生成速度;针对路径是否最优和收敛的问题,本文提出一种高斯分布的采样策略,替代原始的随机采样的特性,并将其应用到路径渐进优化的RRT*上,提高了路径的收敛速度;考虑到碰撞检测算法的优劣决定了采样规划路径的完整性和快速性,本章采用基于AABB层次包围盒树的方法对其进行机械臂和障碍物的碰撞检测;为了使采样的锯齿路径更加平滑,本文提出一种在无碰撞情况下的更加优化的样条平滑处理算法,保证了机械臂能够无碰平稳运动。最后,在目前国际上主流的开源机器人操作系统ROS(Robot Operation System)平台下,完成UR5机械臂的虚拟运动控制的系统设计。首先通过URDF(United Robot Description File)格式文件描述机械臂和末端夹持器的运动链、惯性特性等,描绘出各个连杆和关节的parent-child关系图;其次通过Moveit软件包完成运动规划所需要的配置和启动文件的编译工作,为了逼真的模拟真实样机的工作,本文在ROS机制下设计了控制仿真的软件架构,创建了关节控制文件,创建Moveit控制管理器来启动各关节,模拟了控制器控制UR5的运动过程,分析了正逆运动学在ROS下的求解流程;最后通过Moveit运动规划插件OMPL载入高斯分布采样的RRT*-Gaussian算法,建立两种不同的含障碍物抓取场景,完成UR5自主避碰的路径搜索和抓取工作。最后载入其他的规划算法RRT,RRT*,RRT-Connect,RRT-Gaussian,通过箱形图对比分析各算法的特性,并且导出机械臂各关节的运动状态信息。