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

0.摘要

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


本篇分享我们主要讨论第2、3、5章,因为RRT我觉得太深奥了,让我再往后拖一拖再学!

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

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

2.1综述
简单来说就是对一个机械臂:建模→求DH参数表→正运动学→逆运动学→直线和圆弧插值
只不过学长做的是冗余机械臂(七自由度),所以在运动学求解过程中有很多问题需要进行个性化的解决。
我研究的是六自由度机械臂,所以就不考虑冗余的问题
“建模→求DH参数表→正运动学→逆运动学”这部分问题我在之前的专栏博客中对六自由度机械臂进行了详细书写,也给出了C++代码
今天主要给出直线和圆弧插值的部分
2.2直线插值

学长给出的方法是:位置对x,y,z直接插值,姿态对欧拉角插值, 最核心的公式是2-15
不难看出这里边△S没有被定义,我现在也不太知道他的具体算法

但是这段给我了一个很好的提醒,因为我自己用C++编写插值,都是没有时间戳的,都是直接把两个P1,P2直接直线或者三次插值,没有考虑速度加速度限制,包括实际我们进行GAZEBO下的动力学仿真或者机械臂仿真,都是要考虑实际驱动的问题。
2.3圆弧轨迹插值


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

3.基于ROS的平台仿真

3.1ROS的基本组成

这段话,我每次读都会有不同的感受,推荐去拜读古月居的书籍、视频等等
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控制框图

这很自动化了,要是添加视觉伺服,这个框架会更复杂
4.2两种消息实现方式


这里学长还给出了自己定义的消息列表

实际上是比gazebo+rviz+moveit简洁了很多的
就是自己从头搭的框架,这件事,说复杂也没那么复杂,但是工作量很大,对ROS的系统架构熟悉程度要求也高!

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

  1. 基于matlab的mk2三自由度机械臂轨迹规划及控制器仿真设计

    基于matlab的mk2三自由度机械臂轨迹规划及控制器仿真设计(报告+ppt) 摘 要:本文的研究对象为EEZYbotARM MK2三自由度机械臂,分析了其机械结构,建立D-H参数表,同时在MATLA ...

  2. 通过ROS控制真实机械臂(2)----单轴运动,手柄控制

    创建ROS包,包名redwall_arm ,通过自定义的消息,将手柄的数据发布 msg/ joycontrol.msg,内容如下,分别对应罗技手柄的按钮和遥杆轴. int32 button1 int3 ...

  3. 【STM32】【C】【嵌入式】分享一下我的项目经验--基于stm32桌面主从机械臂设计(二弹)

    本文为原创文章,转载需要注明转载出处 前言:嵌入式开发是相比其他IT行业是比较难的行业,它不仅需要你去掌握软件的经验,还要去学习一些硬件的知识, 它是软件和硬件的一个粘合剂,起到一个至关重要的地位 下 ...

  4. 基于机器视觉的多机械臂煤矸石分拣机器人系统研究

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 基于机器视觉的多机械臂煤矸石分拣机器人系统研究 王鹏1,2,曹现刚 ...

  5. 将CAD模型通过SolidWorks导出机器人URDF文件(基于innfos六轴机械臂)

    将CAD模型通过SolidWorks导出机器人URDF文件(基于innfos六轴机械臂) 前言 也是初次接触这方面的学习,看了许多的资料,其中古月老师的有个课程挺好的,有机械臂和小车的,我们实验室有机 ...

  6. 机器人抓矸石_基于机器视觉的多机械臂煤矸石分拣机器人系统研究

    工矿自动化 Industryand MineAutomation Vol. 45 No. 9 Sep.2019 第 45 卷第 9 期 2019 年 9 月 文章编号 : 1671 - 251X(20 ...

  7. matlab 角度转四元数_基于Matlab的机械臂路径规划

    什么是 trajectory(路径)规划 中文路径在英语中可能有两种翻译: 1. path 2. trajectory 首先告诉大家,我们所说的"路径"是后者--trajector ...

  8. matlab与vrep联合仿真,基于MATLAB与V-REP的机器人加工轨迹生成与运动仿真.PDF

    基于MATLAB与V-REP的机器人加工轨迹生成与运动仿真 第 卷 第 期 ( ) 57 5 厦门大学学报 自然科学版 Vol.57 No.5 年 月 ( ) 2018 9 Se.2018 Journ ...

  9. 【机器人】基于指数积的机械臂运动学标定

    基于局部POE的机器人运动学标定 导语:定位精度作为影响机器人性能的重要因素,需要对机器人进行标定来提高机器人的定位精度从而满足工业上的需要. Question: 什么是机器人标定?为什么机器人需要标 ...

最新文章

  1. python花钱培训值吗-python培训需要花多少钱?
  2. 运行SSIS包的几种方式
  3. 计算几何常用算法的理论基础【转】
  4. vue 动态设置背景图片
  5. 使用.net开发手机管理软件(一至三)
  6. Struts2框架学习笔记1
  7. 显示客户端接收什么服务器,什么是显示服务器,用来做什么?
  8. 判断ImageView背景图片是否与Drawable中的某个图片一样的两个方法
  9. 虚电路网络和数据报网络
  10. 编译qt的oracle驱动,怎样编译Qt下的Oracle驱动
  11. HDU3746 Cyclic Nacklace KMP求循环节
  12. UltraEdit-32 温馨提示:右协会,取消 bak文件
  13. STM32 ADC工作原理
  14. 配置mysql读写分离
  15. 如何批量将图片转换为 Excel 文档
  16. html页面导出word文档
  17. 关于 css的一些 基本应用 可供回忆
  18. Spring注解解析及工作原理、自定义注解
  19. #!/usr/bin/env node 到底是什么
  20. 职场新人如何发公司内部邮件

热门文章

  1. 银行网申计算机技能怎么填,邮政储蓄银行网申填写技巧分享二
  2. 2021年电影市场票房波动模型分析思路及参考代码
  3. 免费电子面单Api_快递鸟接口JAVA对接调用案例
  4. HTML网页设计与制作:电影网站设计——电影泰坦尼克号(4页) HTML+CSS+JavaScript
  5. echart旭日图_Echarts的旭日图如何显示tooltip
  6. 网站结构优化要做好哪些
  7. Python读取zip文件中的图片(无需解压)
  8. 如何使用Windows Live Writer远程发布到WordPress
  9. 利用ps导出svg(主要用于上传自定义图标到iconfont)
  10. 观影《铁拳男人》有感