02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真

[1]钱伟. 基于ROS的移动操作机械臂底层规划及运动仿真[D].哈尔滨工业大学,2015.

0.摘要

钱伟学长的论文在我学习轨迹规划初期就开始阅读,在学习过程中,也对于很多疑惑的问题,找寻到了答案,在我学习ROS系统结构,插值,RRT算法,过程中都有非常大的帮助!对于论文中的很多内容,我还是不能完全体会,借此机会,梳理学长的论文内容,也分享给大家。

02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真_第1张图片

02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真_第2张图片
本篇分享我们主要讨论第2、3、5章,因为RRT我觉得太深奥了,让我再往后拖一拖再学!

2.第二章 冗余机械臂运动学建模分析

本章通过对冗余机械臂的构型进行运动学分析,利用D-H参数法建立了机械臂的连杆坐标系,解决了正向运动学的问题。逆向运动学的研究首先给出了S-E-W
以及手臂三角形平面的概念,将机械臂的冗余自由度变换为手臂三角形平面的转动角度,实现了机械臂的降维,从而求出末端位姿对应的当前关节角度与手臂平面转动角度的关系。笛卡尔空间插值运动包含了常见的直线插补、圆弧插补以及冗余机械臂特有的自运动插补运动,通过离线计算的方式记录关节角度随时间的变化关系,证明了本章逆运动学求解方法的准确性和有效性。

2.1综述
简单来说就是对一个机械臂:建模→求DH参数表→正运动学→逆运动学→直线和圆弧插值
只不过学长做的是冗余机械臂(七自由度),所以在运动学求解过程中有很多问题需要进行个性化的解决。
我研究的是六自由度机械臂,所以就不考虑冗余的问题
“建模→求DH参数表→正运动学→逆运动学”这部分问题我在之前的专栏博客中对六自由度机械臂进行了详细书写,也给出了C++代码
今天主要给出直线和圆弧插值的部分
2.2直线插值
02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真_第3张图片
学长给出的方法是:位置对x,y,z直接插值,姿态对欧拉角插值, 最核心的公式是2-15
不难看出这里边△S没有被定义,我现在也不太知道他的具体算法
02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真_第4张图片
但是这段给我了一个很好的提醒,因为我自己用C++编写插值,都是没有时间戳的,都是直接把两个P1,P2直接直线或者三次插值,没有考虑速度加速度限制,包括实际我们进行GAZEBO下的动力学仿真或者机械臂仿真,都是要考虑实际驱动的问题。
2.3圆弧轨迹插值

在这里插入图片描述
其他的公式我就不截图,可以去读学长的论文
圆弧轨迹插值的核心就是,输入是圆弧上两个点P1,P2和圆心C,然后算出从P1到P2的圆心角theta1到thata2,直接对theta进行插值

3.基于ROS的平台仿真

3.1ROS的基本组成
02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真_第5张图片
这段话,我每次读都会有不同的感受,推荐去拜读古月居的书籍、视频等等
3.2GAZEBO
你如果打开Gazebo的任何一个简介,都会告诉你,他是一个动力学仿真工具,而RVIZ只是一个显示工具,你用RVIZ显示出来的东西和matlab的机器人工具包是一样的,所以真正想为了机械臂的应用做仿真,还是得用Gazebo
以下是我个人对Gazebo的肤浅的个人现阶段理解:
就是你真的想做Gazebo的仿真,就要自己写C++或者Python的代码,这就是我觉得钱伟学长最厉害的地方,网上有很多RVIZ和gazebo的联合使用,我的理解,那还是一个不含动力学(比如摩擦,力矩,重力因素)的正逆运动学计算,他就是把RVIZ显示的数据再输入给Gazebo而已!
还有那个GAzebo真的是属实有点迷惑了,我的使用体验就是啥都不能调试(我学得太差了,我还是得重新学!我2月份会写出Gazebo和Rviz界面的学习笔记)
说回来,在Gazebo下结合做控制,你要不就用moveit,要不就用ros_control,是gazebo的接口,但是我现在用moveit就要(moveit+Rviz+Gazebo)我觉得他不是动力学仿真,用ros_contorl,我写出来的控制器,就不是很稳定

一瓶子不满,半瓶子晃荡就是我!

4.第五章 控制器设计及仿真实验

4.1控制框图
02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真_第6张图片
这很自动化了,要是添加视觉伺服,这个框架会更复杂
4.2两种消息实现方式

02论文分享与分析——基于ROS的移动机械臂底层规划及运动仿真_第7张图片
这里学长还给出了自己定义的消息列表
在这里插入图片描述
实际上是比gazebo+rviz+moveit简洁了很多的
就是自己从头搭的框架,这件事,说复杂也没那么复杂,但是工作量很大,对ROS的系统架构熟悉程度要求也高!

你可能感兴趣的:(论文总结与分析,c++)