目录

一、简介

二、环境版本

三、学习目标

五、任务实施

六、任务拓展

七、课堂小结

八、课后练习


一、简介

大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天我们来学习一下“机械臂自主避障”。

二、环境版本

  • 主机系统版本:Windwos10 64位
  • 处理器型号:Intel-i7
  • 虚拟机版本:VMware Workstation 16 Pro
  • 虚拟机系统:Ubuntu 18.04.6 LTS
  • ROS版本:Melodic

三、学习目标

 四、知识储备

下面开始介绍本节内容的知识点:

1.添加障碍物的方法

在MoveIt!中,可以添加虚拟障碍物,机械臂在规划时即可主动避障进行规划路径,使用这种方法,可以将机器人在真实物理空间的障碍物进行建模,并导入ROS的虚拟空间,这样在进行真实控制时,MoveIt!可以规划防止碰撞的路径。

在MoveIt!中具有一个规划场景监听器的模块结构,可以用来检测机器人场景中是否存在障碍物。障碍物有几种方式可以告诉监听器:

(1)通过RViz界面的形式添加;

(2)通过程序(C++/Python)编程进行添加;

(3)通过机器人的外部传感器,例如通过realsense深度相机实时检测到的信息加入到场景中。

本节主要介绍前两种方法的使用。

2.RViz中添加障碍物

(1)如下图所示,在Planing选项卡中,将Goal State选择到home,并点击Plan & Execute按钮,等待机械臂运动到初始位姿。

(2)如下图所示,选择Scene Objects选项卡,在下拉列表中选择用来添加的物体,可以添加已有模型或者自行使用SolidWorks构建的模型,这里选择Box障碍物,然后点击绿色加号按钮,即可在Current Sense Objects列表中看到增加的障碍物,并且在右侧三维可视化窗口也可以看到绿色障碍物。

(3)如下图所示,通过拖拽右侧绿色障碍物的红绿蓝三维箭头坐标,可以将障碍物拖拽到下图的位置,这里的位置不是固定的,为了方便观察现象,放置到机械臂末端的下方,并点击publish按钮。

(4)如下图所示,选择Planning选项卡,在右侧三维界面拖拽机械臂末端蓝色小球到障碍物下方,并且不能使机械臂碰到障碍物,如果碰到障碍物,机械臂会变为红色。

(5)如下图所示,在Planning选项卡中,选择Plan & Execute按钮,开始规划路径并运动,机械臂即可自主避障进行路径规划。

3.Python程序添加障碍物

分别在两个终端输入如下指令,启动MoveIt!并运行自主避障的Python程序,如下图所示,可以在MoveIt!界面中,看到机械臂会先回到初始位姿,然后末端增加一个圆柱形物体,模拟抓取物体完成,并在空间中新增一个绿色的桌子,用来模拟障碍物,机器人运动到指定位置和返回的过程中会计算轨迹,避免机械臂和抓取的物体碰撞到桌子。

五、任务实施

接下来,我们来看下在RViz中添加障碍物与编程添加障碍物两种方式的自主避障演示

遨博协作机器人ROS开发 - 机械臂自主避障

六、任务拓展

导入自定义障碍物模型

通过RViz界面操作与编程两种方式,导入在SolidWorks中绘制的自定义复杂障碍物模型,观察自主避障的效果。

七、课堂小结

下面我们进行课堂小结:

MoveIt!运动规划能够完成自主避障功能,可以通过RViz图形化界面与编程的方式实现,在真实开发中,可以放置与真实环境相同的障碍物,避免真实机械臂发生碰撞。

八、课后练习

最后给大家布置一道课后习题

通过编程的方式实现向RViz中添加障碍物,包括抓取台、放置台、被抓物体,实现机械臂物体抓取、运输、放置的全过程。

在接下来的ROS课程中,我们会讲解遨博机械臂复杂轨迹规划,欢迎持续关注。

遨博协作机器人ROS开发 - 机械臂自主避障相关推荐

  1. 遨博协作机器人ROS开发 - 机械臂规划场景构建

    目录 一.简介 二.环境版本 三.学习目标 四.知识储备 五.任务实施 六.任务拓展 七.课堂小结 八.课后练习 一.简介 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天 ...

  2. 遨博协作机器人ROS开发 - 机械臂复杂轨迹规划

    目录 一.简介 二.环境版本 三.学习目标 四.知识储备 五.任务实施 六.任务拓展 七.课堂小结 八.课后练习 一.简介 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天 ...

  3. 遨博协作机器人ROS开发 - 机械臂语音交互控制

    目录 一.简介 二.环境版本 三.学习目标 四.知识储备 五.任务实施 六.任务拓展 七.课堂小结 八.课后练习 一.简介 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),在前 ...

  4. 遨博协作机器人ROS开发 - ROS Melodic环境搭建与测试

    目录 一.简介 二.环境版本 三.ROS环境搭建 1. 系统安装 2. 更新镜像源 3. 安装ROS 四.AUBO E系列机械臂ROS环境 1. 依赖环境的安装 2. 下载并编译AUBO ROS 3. ...

  5. 遨博协作机器人ROS开发 - 机器人手眼标定原理

    目录 一.简介 二.环境版本 三.学习目标 四.知识储备 五.课堂小结 六.课后练习 一.简介 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),在前面课程中我们讲解了Intel ...

  6. 遨博协作机器人ROS开发 - 末端工具ROS驱动

    目录 一.简介 二.环境版本 三.学习目标 四.知识储备 五.任务实施 六.任务拓展 七.课堂小结 八.课后练习 一.简介 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天 ...

  7. 遨博协作机器人ROS开发 - Gazebo仿真与控制真实机器人

    目录 一.简介 二.环境版本 三.Gazebo仿真 1.gazebo使用 2. 仿真遨博机械臂 四.ROS控制真实机器人 1. 网络配置 2. 真实机器人控制 3. 真实机器人运动速度调节 五.小结 ...

  8. 遨博协作机器人ROS开发 - 自定义运动学求解器算法插件

    目录 一.简介 二.环境版本 三.学习目标 四.知识储备 五.任务实施 六.任务拓展 七.课堂小结 八.课后练习 一.简介 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),今天 ...

  9. 遨博协作机器人ROS开发 - Intel RealSense深度相机ROS驱动

    目录 一.简介 二.环境版本 三.学习目标 四.知识储备 五.任务实施 六.任务拓展 七.课堂小结 八.课后练习 一.简介 大家好,欢迎关注遨博学院带来的系列技术分享文章(协作机器人ROS开发),在前 ...

最新文章

  1. ssh_exchange_identification: Connection closed by remote host 解决方法
  2. 记阿里的一次壮烈牺牲
  3. 【整理】ABAP快捷启动Debug三种方式
  4. Boost:bind绑定__cdecl(成员函数)测试程序
  5. Centos6.9以下查看端口占用情况和开启端口命令
  6. JAVA学习day07
  7. 前端学习(3138):react-hello-react之组件挂载流程
  8. 多用途管理仪表板UI模板,把枯燥变得简单
  9. oracle 手动添加分区,如何在oracle中创建子分区?
  10. bzoj3524: [Poi2014]Couriers / bzoj2223: [Coci 2009]PATULJCI 主席树
  11. 函数指针和指针函数(回调函数)
  12. 睡眠者效应(Sleeper Effect):当下被拒绝,但其实已经
  13. 安川机器人仿真软件安装
  14. 自学3D游戏建模有哪些教材?自学难不难?能学成就业吗
  15. 电脑用cmd命令将手机中的文件导入电脑中
  16. CentOS 单机安装Zookeeper-3.4.13
  17. 岁月如沙容颜易逝,年关将至的感伤你有吗?
  18. 从50分到90分,网站性能优化实践
  19. Eclipse添加Tomcat
  20. ShardingSphere 学习

热门文章

  1. console连接h3c s5500_win7系统使用USB口连接H3C交换机Console口的操作方法
  2. 通往WinDbg的捷径
  3. Wamp错误: Forbidden You don't have permission to access / on this server.
  4. ”每股净资产”与“每股未分配利润”
  5. 重点:bat脚本的基本命令语法
  6. 不小心格式化交换机Flash后的挽救
  7. Cadence Allegro向导创建DIP排针封装图文教程及视频演示
  8. 上海中小学计算机教师招聘,2020年上海市实验学校教师招聘公告(21人)
  9. php 框架效率测试,关于DoitPHP,ThinkPHP,Yii,CI,DooPHP等框架的性能对比测试
  10. 弹吉他节奏跟不上?试试用这个循序渐进的方法吧~