MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件

2023-11-11

一.安装MoveIt assistant

sudo apt-get install ros-kinetic-moveit

如果报错说找不到软件包,可能是没有更新源,只要去roswiki上找安装教程,把源重新加入就可以了。

二.打开配置助手

roslaunch moveit_setup_assistant setup_assistant.launch

这个没什么好说的,就一行命令的事

三.开始配置

1.首先你需要有一个没有问题的URDF文件。

至于怎么检查有没有问题:
不用担心,ROS有工具可以使用。

sudo apt-get install liburdfdom-tools

安装完成后只需要用下面这行命令就可以检查特定URDF文件。[your urdf file namw]替换为你的文件名

check_urdf [your urdf file name].urdf

如果没有问题就会看到类似下面这样的信息
这里写图片描述

2.有了URDF文件后,那么启动配置助手,加载URDF文件

这里写图片描述
有两个按键,一个是创建新的MoveIt配置文件,另一个是编辑已有的MoveIt配置文件
这里我们选择创建新的配置文件。
这里写图片描述
选择Browse浏览文件目录,选择你想要的URDF文件,点击load files确定就行了。
这里写图片描述
笔者在这里曾经踩了一次坑,当时无论我用什么URDF文件,load之后在右边的预览框内都无法出现模型的预览。
我找遍了百度,Google都无法找到解决方法,最后还是看terminal的报错信息才意识到可能是因为我没有把URDF文件放在我的工作空间内
所以导致配置助手找不到URDF文件,在我把URDF文件夹放在工作空间的src目录下以后,就成功看到上面这幅图了。
不仅如此,如果单单只有一个URDF文件的话也是不行的,具体原因你要去看terminal的报错信息,这很有用,学会看报错信息很重要。看完就会发现错误提示可能会是说找不到xxx的描述文件,其实就是说找不到你这个模型的stl文件。

3.自碰撞检测配置

这里写图片描述
点击左边栏,跳转到第二步。
第二步是自碰撞检测的配置。很容易理解,机器人在规划运动轨迹的时候可能会出现自身结构相互碰撞的情况,所以我们就需要自碰撞检测
一般来说这一步按照默认值就行了,10000个采样点可以满足一般需求了。
所以只需要点击Generate Collision Matrix 生成碰撞矩阵
这里写图片描述
直观上看碰撞矩阵就像上图这样

4.设置虚拟关节

在这里什么叫做虚拟关节呢?虚拟关节就是定义一个关节将机器人与世界链接起来,举个例子,比如现在给机械臂安装上一个AGV小车底盘,那么这个小车底盘就算机械臂的虚拟关节,这个关节类型是planar(在平面上运动)的;如果把机械臂固定在地面上,那么与地面的连接就算一个虚拟关节,这个关节类型是fixed(固定)的;再比如是一个人形机器人,那么脚底和世界的连接也算一个虚拟关节,而这个关节类型就是float(浮动)的。
child_link指你想要连接到世界的关节。
这里写图片描述

5.创建planning group

创建planning group是使用MoveIt非常核心的一步。
这里写图片描述

规划组的名称:

这里写图片描述

运动学逆解工具选择:

这里选择比较常用的KDL
这里写图片描述

运动规划参数配置:

这里写图片描述
1. Kin. Search Resolution: 关节空间的采样密度
2. Kin. Search TImeout: 求解时间
3. Kin. Solver Attempts: 求解失败尝试次数

这三项参数一般保持默认值就行了。

OMPL算法选择(不一定有这个东西):

这里写图片描述
可能是版本原因,有些MoveIt配置助手并没有这个选项,我能找到的同类教程也鲜有出现这个东西,这个选项其实就是让用户自己选择OMPL的算法,在这里我们选择RRT。关于算法优劣的对比,在这里就不讲了,才疏学浅不好乱讲。
在MoveIt配置助手里,创建规划组有四种方法Add Joints, Add Links, Add Kin. Chain, Add Subgroups,这里我选用Add Kin. Chain。
这里写图片描述
这就完成了一个规划组的配置了。
到此,我们创建了手臂部分的规划组,但是还不够,别忘了,我们还有夹持器呢。
这里写图片描述
这里写图片描述
这里写图片描述

这样就创建了两个规划组。

6.设置robot poses

这一步是用来预先设置好一些固定的位置,就像宏定义一样,自定义一个位置常量,这样我们在写代码的时候就可以直接调用这个位置量了。可以用来设置初始位置什么的。
这里写图片描述
可以手动调节也可以输入数值来调节,调节的单位是弧度。
设置完点击保存就行了。如果没问题的话就会看到下图这样的界面
这里写图片描述

7.配置末端执行器

在大多数情况下,我们会给机械臂安装末端执行器,可以是夹持器,可以是真空吸盘,甚至可以是3d打印机的挤出头。如果恰好安装的是夹持器这种末端执行器,那么刚刚我们多设置的一个规划组就有用了。
这里写图片描述
这里写图片描述

8.设置被动关节

什么叫被动关节?顾名思义就是无法主动运动的关节,也可以理解为从动关节。比如双驱小车上的从动万向轮。码垛机械臂上的从动连杆。如果在这一步设置为被动关节,那么这个关节就不会参与运动规划。
在这里没有被动关节,所以这一步可以跳过。

9.填写作者信息

这里写图片描述

10.最后一步————生成配置文件

这里写图片描述
都是傻瓜操作,就不多说了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件 的相关文章

  • Python 实现 Dijkstar 路径规划算法

    Dijstar 最短路径算法 用于计算起始点到最终点的最短路径 一般采用的是贪心算法策略 原理可以参考 图解 Open list 和 close list 环境 Terminal 需要预先安装两个库 matplotlib 和 math pi
  • gazebo通过sdf搭建仿真环境和机器人Husky

    具体格式要求可参考 http sdformat org spec ver 1 6 elem sdf
  • 思岚RPLIDAR A2 在ubuntu 16.04上的测试

    1 下载雷达ROS包 首先在github上下载rplidar的ros包 下载指令为 默认安装了git git clone https github com Slamtec rplidar ros git 在ubuntu上创建工作空间 并将该
  • 无人飞行器智能感知竞赛--模拟器安装

    开发环境 win11 wsl2 注意事项 请配合视频使用 如果不看视频会对下面的配置过程迷惑 因为一开始我是想安装在ubuntu18 04的 中途发现ubuntu18 04没有ros noetic 所以转入ubuntu20 04配置 视频链
  • 无人驾驶论坛

    1 百度Apollo论坛 http www 51apollo com 2 人工智能中文资讯网 http www ailab cn
  • rosrun 和 roslaunch 的时候 TAB 的自动补全出现问题

    rosrun 和 roslaunch 的时候 TAB 的自动补全出现问题 rospack Warning error while crawling home sun boost filesystem status Permission de
  • Ubuntu镜像下载地址

    镜像地址https launchpad net ubuntu cdmirrors
  • Ubuntu下vscode配置ROS环境

    摘要 最近准备放弃用clion开发ROS使用更主流的vscode 整理一下在ubuntu18 04下的VSCode安装和ROS环境配置流程 安装 方法一 软件商店安装 个人还是推荐使用ubuntu软件下载vscode 简单不容易出错 方法二
  • ROS noetic tf demo错误处理及python版本切换

    文章目录 报错描述及解决 ubuntu20 04下python版本切换 报错描述及解决 ubuntu版本 20 04 ROS版本 noetic roslaunch turtle tf turtle tf demo launch 报错信息 t
  • 激光雷达LMS111在ROS上的使用

    LMS111 10100 在ROS上的测试与使用 准备工作 设备 硬件 LMS111 101000激光雷达 软件 ubuntu16 04 ROS 开始 设备连接 将激光雷达与处理器 电脑 工控机等 通过以太网连接好 激光雷达默认的IP地址为
  • Ubuntu18.04配置Seetaface6

    目录 一 下载安装Qt软件 1 安装包下载 2 安装Qt 3 配置 二 下载源码 三 编译工具 四 编译 1 编译OpenRoleZoo 2 编译SeetaAuthorize 3 编译TenniS 五 运行 1 修改lib路径 2 buil
  • 树莓派配置wifi做热点方法

    http wiki jikexueyuan com project raspberry pi wifi html
  • 《学习篇》学会这18个常用ROS命令集合就能入门ROS了

    常用ROS命令概述 ROS常用命令可以按照其使用场景分为ROSshell命令 ROS执行命令 ROS信息命令 ROS catkin命令与ROS功能包命令 虽然很难从一开始就很熟练地使用所有的命令 但是随着使用的次数增多 你会发现常用的几个R
  • roslaunch error: ERROR: cannot launch node of type

    今天在因为github上有个之前的包更新了 重新git clone后出现了一个问题 ERROR cannot launch node of type crazyflie demo controller py can t locate nod
  • 可视化点云

    我在找到的视差图像上有来自 gpu reprojectImageTo3D 的 3D 点 我现在想显示这个点云 如何将找到的点云转换为OpenCV to sensor msgs PointCloud2 我不需要发布点云 这仅用于调试可视化 是
  • 无法加载 LZ4 支持的 Python 扩展。 LZ4 压缩将不可用

    我是 ROS 新手 我刚刚打开终端并输入roscore和另一个终端并键入rostopic node我收到这个错误 上面写着 无法加载 LZ4 支持的 Python 扩展 LZ4 压缩将不可用 我搜索并去了https pypi org pro
  • 不使用ros编译roscpp(使用g++)

    我正在尝试在不使用ROS其余部分的情况下编译roscpp 我只需要订阅一个节点 但该节点拥有使用旧版本ROS的节点 并且由于编译问题 我无法将我的程序与他的程序集成 我从git下载了源代码 https github com ros ros
  • 我的代码的 Boost 更新问题

    我最近将 boost 更新到 1 59 并安装在 usr local 中 我的系统默认安装在 usr 并且是1 46 我使用的是ubuntu 12 04 我的代码库使用 ROS Hydro 机器人操作系统 我有一个相当大的代码库 在更新之前
  • 如何订阅“/scan”主题、修改消息并发布到新主题?

    我想通过订阅message ranges来改进turtlebot3的LDS 01传感器 通过应用一些算法修改messange ranges并将其发布到新主题 如下所示 但是当我运行编码时出现错误 错误是 遇到溢出的情况 错误是 运行时警告
  • 如何从里程计/tf数据获取投影矩阵?

    我想将视觉里程计的结果与 KITTI 数据集提供的事实进行比较 对于地面中的每一帧 我都有一个投影矩阵 例如 1 000000e 00 9 043683e 12 2 326809e 11 1 110223e 16 9 043683e 12

随机推荐

  • <转>企业应用架构 --- 分层

    系统架构师 基础到企业应用架构 分层 上篇 一 前言 大家好 接近一年的时间没有怎么书写博客了 一方面是工作上比较忙 同时生活上也步入正轨 事情比较繁多 目前总算是趋于稳定 可以有时间来完善以前没有写完的系列 也算是对自己这段时间工作和生活
  • 程序流程图是什么?基本流程图讲解

    程序流程图是什么 程序流程图是流程图的其中一种分类 又称程序框图 指用特定图形符号加上对应的文字描述表示程序中所需要的各项操作或判断的图示 程序流程图除了说明程序的流程顺序外 着重于说明程序的逻辑性 一 程序流程图特点 当程序流程中有较多循
  • 动态规划经典例题-国王的金矿问题

    金矿问题 问题概述 有一位国王拥有5座金矿 每座金矿的黄金储量不同 需要参与挖掘的工人人数也不同 例如有的金矿储量是500kg黄金 需 要5个工人来挖掘 有的金矿储量是200kg黄金 需要3个工人来挖 掘 如果参与挖矿的工人的总数是10 每
  • 转:FindBugs,第 2 部分: 编写自定义检测器

    FindBugs 第 2 部分 编写自定义检测器 如何编写自定义检测器以查找特定于应用程序的问题 FindBugs 是一种可以扩展和定制以满足自己团队独特要求的静态分析工具 在本系列的第 2 部分中 高级软件工程师 Chris Grinds
  • odoo12 用户(users) 权限管理界面分析

    起因 由于需要了解 odoo的权限管理 去看了下 odoo 是如何给用户赋权限的 发现好多不能理解 因此 打算从 user 的xml开始 看里面到底是什么意思 第一步 肯定查看user的xml 找user源码 odoo odoo addon
  • delphi xe 10.3 访问 linux 7 mysql 5.7.20

    下载 https cdn mysql com archives mysql 5 7 mysql 5 7 34 win32 zip 解压 并复制lib目录下的所有文件到 X Program Files x86 Embarcadero Stud
  • MySQL崩溃修复案例

    问题描述 研究MySQL源代码 调试并压测MySQL源代码时 MySQL崩溃了 问题是它竟然崩溃了 而且还损坏了InnoDB文件 还好是在调试环境下发生的 赶紧看看如何解决这个问题 经过一系列的查阅资料 验证 对比 MySQL源码调试跟踪
  • 单线程的Redis为什么这么快

    一 为什么Redis是单线程的 Redis 是基于内存的操作 而CPU 不是 Redis 的瓶颈 Redis 的瓶颈最有可能是机器内存的 大小或者网络带宽 同时 单线程的实现更加简单和经济 采用单线程可以使指令串行 不用额外 维护锁机制 避
  • java通过反射创建对象的两种方式

    我个人觉得我自己是个比较粗心的人 所以各位大佬发现有什么不对的地方还请留言告知 在java中 通过反射创建对象有两种方式 使用Class对象的newInstance 方法来创建对象 具体步骤是 1 获取类的Class对象 有三种方式可以获取
  • 深度学习系列:阿里DIN模型的原理和代码实现

    一 前言 今天介绍阿里巴巴的DIN网络 不得不说 阿里妈妈的大佬是真的多 经常都会更新非常多的创造性的东西 比如DIN中使用的自适应正则化技术以及Dice激活函数以及注意力机制的使用 并且值得注意的是DIN网络中使用的注意力机制还挺多的 哈
  • C语言中不定参数函数

    在我们平常调用函数的时候 会进行传参 调用的函数也会有参数去接收 数量和类型都是对应的 而不定参数函数是指对一个函数传参 参数的个数可以不确定 接下来 我就简单的叙述一下不定参数函数的原理及应用 在我们刚学C语言的时候 大多会首先接触pri
  • 可变长参数 VS C++11 可变长模板

    转 https blog csdn net zj510 article details 36633603 C 可变长参数 VS C 11 可变长模板 2014年07月03日 13 50 32 阅读数 10437 有些时候 我们定义一个函数
  • fine-tuning(微调)的理解

    fine tuning 介绍 什么情况下使用微调 微调指导事项 不同数据集下使用微调 涉及到的其他知识 学习率 learning rate 卷积神经网络的核心 迁移学习与微调 什么是迁移学习 为什么要迁移学习 详细解释 自己的理解 不知道对
  • 分库分表设计方案

    一 为什么要分库分表 随着业务的不断发展 数据量不断增加 因此数据操作 如增删改查的开销也会越来越大 原来基于单库单表的设计已经不能满足存储需求 数据库随时面临爆库风险 再加上物理服务器的资源有限 CPU 磁盘 内存 IO 等 最终数据库所
  • 爬虫之selenium

    目录 selenium介绍 基本使用 selenium用法 元素操作 等待元素被加载 元素各项属性 执行js代码 切换选项卡 浏览器前进后退 无界面浏览器 xpath的使用 简单介绍 selenium中使用 异常处理 登录获取cookie保
  • Android 图片压缩二:

    public Bitmap zoomBitmap Bitmap bitmap int width int height int w bitmap getWidth int h bitmap getHeight Matrix matrix n
  • Asp.Net Core&CAP实现分布式事务

    需要注意的是标题中的CAP不是指的CAP理论 而是园区大神杨晓东实现的框架 CAP框架基于本地消息表用最终一致性实现分布式事务 本地消息表 首先我们考虑一个场景 在将用户信息更改后 需要发送一条消息到消息队列 缓存或是写入到其他库中 这个过
  • STM32F103ZET6【HAL函开发】STM32CUBEMX------II2C实验

    SCL和SDA都要接上拉电阻 起始信号 SCL为高 SDA由高变为低 停止信号 SCL为高 SDA由低变为高 数据有效性 SCL为高电平时 SDA数据有效 此时SDA为高电平时 表示数据为 1 为低电平时 表示数据为 0 当SCL为低电平时
  • Linus命令大全

    Linus命令是Linux操作系统中的一些常用命令 下面是一些常用的Linus命令 ls 用于显示当前目录中的文件和目录 cd 用于切换当前目录 pwd 显示当前目录的路径 mkdir 创建新目录 rm 删除文件或目录 cp 复制文件或目录
  • MoveIt入门之——使用MoveIt配置助手生成MoveIt配置文件

    一 安装MoveIt assistant sudo apt get install ros kinetic moveit 如果报错说找不到软件包 可能是没有更新源 只要去roswiki上找安装教程 把源重新加入就可以了 二 打开配置助手 r