插一句,大家做仿真的时候一定要注意仿真的目的:仿真是为了尽可能的模拟实际的状态,使得得到的观测数据对实际实验具有指导作用。仿真并不是为了看起来像,而是要经过合理的抽象,真正的使仿真结果指导实际使用。

这个番外教程不针对初学者!!,需要一定的基础,起码你要对三个连载教程的内容非常熟悉。当你掌握了一定的基础知识后大家可能想了解一下如何实现一个控制器,实现控制、规划等任务。所以这一节的番外教程主要用于给大家展示一下设计的思路。

再插一句。仿真速度基本绝对了最后的成败,举个例子,有个同学四处粘贴代码,一部分控制器在non-thread script实现,另一部分在thread script实现,结果thread script中各种阻塞的写法,导致很简单的功能仿真很慢,基本你最后很难仿真成功,因为快速的仿真意味着你调参更快,更快的看到结果反馈,明确代码运行的时序。

实在是有好多的话对大家说,授人以鱼不如授人以渔,所以就有了这篇,给大家展示一下。

完整的代码和例程请点击购买。(番外类型的程序绝对物超所值)

前言

废话少说,咱们步入正题。咱们这一节的内容为将机械臂安装在移动小车上,能够实现小车移动到指定位置,机械臂能够实现抓取和放下的操作。(对应的场景就是小车进入一个工作环境,运动到工作台前,然后抓取相应的物体,然后再放到另一个地方),工作空间见下图

部件组成

要求基础

灵活操作平移、旋转等,明确模型树层次结构。(见连载0和连载1)

会使用lua脚本完成基本的控制功能,能够读懂lua脚本程序,了解常见的Regular API(见连载2)

会使用matlab与vrep连接,了解常见的Remote API(见连载3)

想要研究机械臂

下面的内容安排为:

小车移动到目标点、目标姿态控制算法

机械臂逆解求解

抓取过程简述

代码结构

小车控制算法

在连载3中已经给出了完整的lua控制代码和matlab控制代码(点击购买),并给出了草图。在连载3中并没有好好讲有限状态机,这里抛砖引玉吧。

有限状态机是嵌入式开发、软件开发、游戏开发常用的一种结构,在本小车控制时划分为以下几个状态:

小车停止状态

小车开始运行,先运动到目标点的过程

小车已经运动到目标点,运动到目标朝向的过程

小车运动到目标位置和姿态,处于检测状态。如果目标点位置发生偏离,小车跳转到状态2。

状态机最重要的就是状态的划分和状态的切换,这里只是引出思路,大家可以参考网上的材料进行学习,当然后面如果有时间的话,我会在连载教程里给出几种状态机的实现方式。(自学状态机可以学习Matlab下的Stateflow,会理解更加深刻)。

如果大家跑了我在连载3中的例程会发现,有时候会出现小车无法运动到目标点的情况,而是绕目标点进行旋转(由于欠驱动的问题),这里我进行了改进,大家可以试试,基本没有任何问题。

小车运动控制

QT-GUI控制台说明

机械臂求逆解

如果你不清楚运动学逆解的话,那么你需要百度学习一下逆解的概念了,不知道逆解,机械臂是没法玩的。

我这里用了vrep再带的计算模块,IK group,配置的话直接看我的例程吧,具体配置过程会放到连载教程里。机械臂采用的UR5,手抓采用的是RG2,抓取过程见下图。

抓取过程(注意并不是从哪里抓起来,放到哪里,而是会跟踪放置台子)

抓取过程简述

通过求解逆解,得到机械臂各个关节的角度,再通过vrep再带的Reflexxes Motion Library type IV工具箱,生成关节的控制指令,将手抓运动到指定位置即可。

代码结构

这个例程里面我使用了两种方式实现,第一种方式为全部使用lua代码,第二种方式为将一部分功能分离出matlab接口,供matlab使用。

首先我用一个non-htread script实现了小车的运动控制功能,和QT-GUI控制台,作为整个程序的控制中心,然后在UR5上实现了机械臂抓取的过程和逆解求解等(采用的是 thread script),在手抓RG2上实现了抓取和松开的功能,通信全部采用Signal的方式。由于在UR5上采用的是 thread script,具有阻塞指令,因此,尽可能的将其功能完整封装,不要让non-thread 的脚本等待他执行完。详细中文注释代码请点击购买

文件清单.png

文件清单1.png

vrep小车避障算法_[番外1]Vrep小车机械臂抓取相关推荐

  1. 边做边思考,谷歌大脑提出并发RL算法,机械臂抓取速度提高一倍!

    选自arXiv 作者:Ted Xiao 等 机器之心编译 机器之心编辑部 RL 算法通常假设,在获取观测值.计算动作并执行期间环境状态不发生变化.这一假设在仿真环境中很容易实现,然而在真实机器人控制当 ...

  2. vrep小车避障算法_V-REP 小车建模

    任务概要参考文档中 Tutorial – BubbleRob Tutorial 部分,学习:车身与轮子物理引擎的设计 动力学模型等参数的设置 传感器的添加与使用 驱动关节的设计与控制 控制脚本的编写 ...

  3. ros自己写避障算法_基于ROS系统自主路径规划与避障小车的研究

    龙源期刊网 http://www.qikan.com.cn 基于 ROS 系统自主路径规划与避障小车的 研究 作者:李阳 卢健 何耀帧 来源:<科技风> 2018 年第 04 期 摘 要: ...

  4. ros自己写避障算法_迷雾学术篇|视觉感知的无人机动态避障(下篇)

    PartI : 开篇语 继九九度过一个为期两天的假日(宅宿舍)之后,终得时间来补一下视觉感知的无人机动态避障的下篇.本篇将在上篇机器视觉技术概念的基础上对无人机的动态避障问题描述和具体的技术流程进行展 ...

  5. 如何将像素坐标转化为机械臂基座坐标_机械臂抓取自动精准标定

    先说结论:这次实验让我充分感受到,传统数学模型像居家好男人,真诚可靠,但就是显得很无聊.神经网络就像是渣男,好用神秘,说不上来哪点好,就是让人忘不了. 为了能够更加精准的抓取物体,首先需要对机械臂进行 ...

  6. matlab机械臂工作空间代码_[连载 5]Vrep--Matlab Robitic Toolbox--PUMA560机械臂控制

    [连载 0]Vrep入门介绍 [连载 1]Vrep小车建模--前进和转向 [连载 2]Vrep小车建模--内嵌脚本 [连载 3]Vrep小车建模--matlab控制 [连载 4]Vrep导入三维模型- ...

  7. 非确定性算法_使用最坏情况提高基于MPC的避障算法对参数不确定性的鲁棒性

    编者按:避障问题是AGV行驶过程中的一个重点,尤其是在未知和非结构化的环境中,没有关于环境的先验知识以及准确的车辆模型参数,难以充分发挥车辆的性能.作者在以前工作中,提出了在未知和非结构化环境中基于非 ...

  8. 水面无人艇局部危险避障算法研究 第1章 绪论

    水面无人艇局部危险避障算法研究 Local Risk Obstacle Avoidance Algorithm of USV 博主 的硕士毕业论文 第1章 绪论 1.1 引言 随着世界人口的不断增长以 ...

  9. 机器人局部动态避障算法dwa解析

    机器人局部动态避障算法dwa解析 简介 dwa算法全称叫动态窗口法(dynamic window approach),其算法过程主要分为仿真获取机器人的运动轨迹.对轨迹进行评价选择最优轨迹两个主要过程 ...

最新文章

  1. linux rm(remove) 命令详解
  2. UA MATH563 概率论的数学基础 鞅论初步1 条件期望
  3. android 多行 对齐方式,android – 按钮与多行文字下沉对齐线,如何解决?
  4. mysql报错01427_ORA-01427问题的分析和解决
  5. Makefile.am、Makefile.in、Makefile、configure.ac关系(十二)
  6. [模拟][字符串]计算器的改良
  7. 计算机代码坑人小程序bat,运用bat写的整人小程序有哪些?
  8. 配置管理计划的主要内容有哪些?
  9. 计算机继电保护书籍,计算机继电保护的发展
  10. 什么是软件项目验收,软件项目验收测试方法分享
  11. 金融分析与风险管理——资本资产定价模型
  12. 自动加载的iframe高度自适应
  13. 【调剂】2020西南科技大学微系统中心招收硕士调剂硕士生
  14. 如何对某一个文件夹下的所有文件快速重命名
  15. sql join备忘
  16. 实习收获—Java后台开发
  17. C++性能之战(3)--emplace_back VS push_back
  18. dv路由算法c语言实现,路由协议之DV算法
  19. 追踪电脑或手机(已知目标IP或mac)进行物理定位
  20. 手机android能打开吗,安卓手机能打开eif文件吗 手机怎么打开eip文件方法

热门文章

  1. ctf 区块链_“中科金财区块链”通过网信办区块链信息服务备案
  2. getline函数问题
  3. 音频均衡器Equalizer算法研究与实现
  4. 如何成为拥有智慧的人?
  5. 用webmagic实现的网络爬虫
  6. 如何在macos电脑中使用预览将图片变为黑白?
  7. 12月微信的新规来了
  8. linux系统字符设备文件类型,Linux文件类型
  9. 怎样打开kali linux中的文件,kali linux 怎么打开exe文件
  10. 水平滚动选择图片 html,jquery实现图片水平滚动效果代码分享