当前位置: 首页 > news >正文

【moveit!】ROS学习笔记

参考:Movelt使用笔记-Movelt Setup Assistant-CSDN博客

MoveIt! 学习笔记12 - MoveIt! Setup Assistant 配置方法_ros moveit 添加home点-CSDN博客

一、使用Setup Assistant配置机械臂

(1)使用如下命令启动MoveIt Setup Assistant

rosrun moveit_setup_assistant moveit_setup_assistant

(2)加载机器人URDF模型

新建或从本地加载urdf文件。

在下侧的模型加载窗口中设置模型文件路径为机械臂功能包下的URDF文件arm.xacro,并点击“Load Files”按钮完成模型加载。

模型加载成功后,可以在右侧的窗口中看到MArm机械臂的模型。

此步骤中如果使用已有的配置功能包,完成配置后会覆盖原有功能 包中的文件内容

(3)配置自碰撞矩阵

点击MoveIt Setup Assistant界面左侧的第二项“Self-Collisions”,配置自碰撞矩阵。

MoveIt!允许我们设置一定数量的随机采样点,根据这些点生成碰撞参数,检测永远不会发生碰撞的link。可想而知,点过多会造成运算速度较慢,点过少会导致参数不完善等问题。默认的采样点数量是10000个,按照这个默认值点击“Generate Collision Matrix”按钮,即可生成碰撞矩阵。

(4)配置虚拟关节

虚拟关节主要用来描述机器人在world坐标系下的位置。如果机器 人是移动的,则虚拟关节可以与移动基座关联,但这里设计的机械臂是 固定不动的,所以无需设置虚拟关节。

(5)创建规划组

这一步可以将机器人的多个组成部分(link,joint)集成到一个组中,运动规划器会针对一组link或joint完成规划任务。在配置过程中, 还可以选择运动学解析器。这里创建两个组:一个组包含机械臂本体, 一个组包含前端夹爪。

首先创建机械臂本体的arm组。点击“Add Group”按钮进行配置。

·Group Name:arm

·Kinematic Solver:kdl_kinematics_plugin/KDLKinematicsPlugin

·Kin.Search Resolution:0.005

·Kin.Search Timeout(sec):0.05

·Kin.Solver Attempts:3

然后点击“Add Kin.Chain”按钮,设置运动学计算需要包含的link。 点击界面中“Robot Links”旁的下三角,打开所有link;再选中需要的 link,点击“Choose Selected”按钮就可以选择该link。这里将机械臂的运动学计算所包含的关节设置如下。

·Base Link:base_link

·Tip Link:grasping_frame

接下来还要为机械臂的夹爪添加一个gripper组,运动学解析器不用选择

·Group Name:gripper

·Kinematic Solver:None

·Kin.Search Resolution:0.005

·Kin.Search Timeout(sec):0.05

·Kin.Solver Attempts:3

再点击“Add Links”按钮,在左侧选 择gripper group需要包含的三个link,在右侧的机器人模型中可以看到选 中的link变成了红色。点击向右的箭头将这三个link加入右侧的选中列表 中,即可确认关联。

(6)定义机器人位姿

点击“Add Pose”按钮,在出现的界面中设置第一个位姿——home。 首先在“Pose Name”输入框中输入位姿名称,再选择对应的规划组为 arm(。该位姿的机器人姿态是六轴角度都处于0位置的位置,可以理解为是机器人的初始位姿。

可以创建多个固定位姿(后续在rviz中可以作为目标位姿选择)

(7)配置终端夹爪

点击“Add End Effector”按钮,可对机械臂前端装配的夹爪进行配置。

·End Effector Name:robot_gripper

·End Effector Group:gripper

·Parent Link(usually part of the arm):grasping_frame

·Parent Group(optional):可选项,不需要设置

(8)设置作者信息

(9)生成配置文件

点击“Browse”按钮,选择一个存储配置功能包的路径。Setup Assistant会将所有配置文件打包生成一个ROS功能包,一般命名 为“RobotName_moveit_config”。 点击“Generate Package”按钮,如果成功生成并保存配置文件,则可 以看到“Configuration package generated successfully!”的消息提示。

到此为止,Setup Assistant的使命终于完成,点击“Exit Setup Assistant”按钮即可退出界面。

二、RobotName_moveit_config功能包配置文件

生成的配置文件主要在config和launch文件下

config文件下的内容主要是各种需要加载的参数,最主要的是srdf文件,可在其中修改或添加预设的位姿。

launch文件中是各种启动文件,最主要的是move_group.launch,各种demo都是调用这个文件,是moveit运行的核心文件。可以根据需要调整demo.launch、move_group.launch的设置。

三、启动moveit!

生成配置文件后,可按如下命令启动moveit!:

roslaunch RobotName_moveit_config demo.launch

这个是纯仿真环境的演示demo。如果要使用真实机械臂,某些配置文件需要修改。

相关文章:

【moveit!】ROS学习笔记

参考:Movelt使用笔记-Movelt Setup Assistant-CSDN博客 MoveIt! 学习笔记12 - MoveIt! Setup Assistant 配置方法_ros moveit 添加home点-CSDN博客 一、使用Setup Assistant配置机械臂 (1)使用如下命令启动MoveIt Setup Assistant rosrun…...

【Leetcode 每日一题 - 补卡】3259. 超级饮料的最大强化能量

问题背景 来自未来的体育科学家给你两个整数数组 e n e r g y D r i n k A energyDrinkA energyDrinkA 和 e n e r g y D r i n k B energyDrinkB energyDrinkB,数组长度都等于 n n n。这两个数组分别代表 A A A、 B B B 两种不同能量饮料每小时所能提供的强化…...

【人工智能】使用Python实现序列到序列(Seq2Seq)模型进行机器翻译

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 序列到序列(Sequence-to-Sequence, Seq2Seq)模型是解决序列输入到序列输出任务的核心架构,广泛应用于机器翻译、文本摘要和问答系统等自然语言处理任务中。本篇文章深入介绍 Seq2Seq 模型的原理及其核心组件(…...

量化交易系统开发-实时行情自动化交易-4.4.1.做市策略实现

19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来继续说说做市策略实现。 做市策…...

Pinia之2:计数器案例、computed函数、异步action、storeToRefs函数、pinia调试

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...

Microsoft Excel如何插入多行

1.打开要编辑的excel表,在指定位置,鼠标右键点击“插入”一行 2.按住shift键,鼠标的光标箭头会变化成如下图所示 3.一直按住shift键和鼠标左键,往下拖动,直至到插入足够的行...

Redis【1】- 如何阅读Redis 源码

1 Redis 的简介 Redis 实际上是简称,全称为 Remote Dictionary Server (远程字典服务器),由 Salvatore Sanfilippo 写的高性能 key-value 存储系统,其完全开源免费,遵守 BSD 协议。Redis 与其他 key-value 缓存产品(如…...

shell查看服务器的内存和CPU,实时使用情况

要查看服务器的内存和 CPU 实时使用情况,可以使用以下方法和命令: 1. 使用 top 运行 top 命令以显示实时的系统性能信息,包括 CPU 和内存使用情况。 top按 q 退出。输出内容包括: CPU 使用率:位于顶部,标…...

软件/游戏提示:mfc42u.dll没有被指定在windows上运行如何解决?多种有效解决方法汇总分享

遇到“mfc42u.dll 没有被指定在 Windows 上运行”的错误提示,通常是因为系统缺少必要的运行库文件或文件损坏。以下是多种有效的解决方法,可以帮助你解决这个问题: 原因分析 出现这个错误的原因是Windows无法找到或加载MFC42u.dll文件。这可…...

《Python基础》之函数、模块与库

目录 简介 一、函数 1、数学类函数 2、聚合类函数 3、和进制相关的函数 4、字符类函数 5、类型转换相关函数 6、获取输出类函数 二、模块与库的使用方法 1、模块和库的导入方法 2、第三方模块的下载 下载方法 简介 在Python编程的世界中,函数、模块和库是…...

selinux和防火墙实验

1 、 selinux 的说明 SELinux 是 Security-Enhanced Linux 的缩写,意思是安全强化的 linux 。 SELinux 主要由美国国家安全局( NSA )开发,当初开发的目的是为了避免资源的误用。 系统资源都是通过程序进行访问的,如…...

k8s Init:ImagePullBackOff 的解决方法

kubectl describe po (pod名字) -n kube-system 可查看pod所在的节点信息 例如&#xff1a; kubectl describe po calico-node-2lcxx -n kube-system 执行拉取前先把用到的节点的源换了 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"re…...

Spring AOP相关知识详解

难 文章目录 1.AOP介绍1.1 面向切面编程 - Aspect Oriented Programming (AOP)1.2 优点 2.AOP的概念2.1 连接点、切入点、通知、切面&#xff1a;2.2 注解2.2.1 通知类型2.2.1.1 通知的优先级排序 2.2.2 其他重要注解2.2.3 示例代码&#xff08;四种通知&#xff09; 3.Spring …...

selinux和防火墙

第七章 selinux 一、selinux的说明 SELinux&#xff1a;安全强化的 linux&#xff0c;Security-Enhanced Linux的缩写 SELinux &#xff1a; 由美国国家安全局&#xff08; NSA &#xff09;开发&#xff0c;目的是为了避免资源的误用 SELinux&#xff1a; 是对程序、文件等权…...

【vue for beginner】Composition API 和 Options API 的区别

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 vue2中的方式叫Options API &#xff0c;vue3中叫Composition API。 Composition…...

jmeter5.6.3安装教程

一、官网下载 需要提前配置好jdk的环境变量 jmeter官网&#xff1a;https://jmeter.apache.org/download_jmeter.cgi 选择点击二进制的zip文件 下载成功后&#xff0c;默认解压下一步&#xff0c;更改安装路径就行(我安装在D盘) 实用jmeter的bin目录作为系统变量 然后把这…...

关于Spring基础了解

Spring简介 Spring框架是一个开源的Java应用框架&#xff0c;旨在简化企业级应用程序的开发。它提供了一系列强大的工具和服务&#xff0c;帮助开发者构建高质量的Java应用程序。Spring框架的核心理念是使开发过程更加模块化、可测试和可维护。 主要特性 依赖注入&#xff08…...

输入json 达到预览效果

下载 npm i vue-json-pretty2.4.0 <template><div class"newBranchesDialog"><t-base-dialogv-if"addDialogShow"title"Json数据配置"closeDialog"closeDialog":dialogVisible"addDialogShow":center"…...

DataLoade类与list ,iterator ,yield的用法

1 问题 探索DataLoader的属性&#xff0c;方法 Vscode中图标含意 list 与 iterator 的区别&#xff0c;尤其yield的用法 2 方法 知乎搜索DataLoader的属性&#xff0c;方法 pytorch基础的dataloader类是 from torch.utils.data.dataloader import Dataloader 其主要的参数如下&…...

model_selection.train_test_split函数介绍

目录 model_selection.train_test_split函数实战 model_selection.train_test_split函数 model_selection.train_test_split 是 Scikit-Learn 中用于将数据集拆分为训练集和测试集的函数。这个函数非常有用&#xff0c;因为在机器学习中&#xff0c;我们通常需要将数据集分为训…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上&#xff0c;开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识&#xff0c;在 vs 2017 平台上&#xff0c;进行 ASP.NET 应用程序和简易网站的开发&#xff1b;初步熟悉开发一…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...

热门Chrome扩展程序存在明文传输风险,用户隐私安全受威胁

赛门铁克威胁猎手团队最新报告披露&#xff0c;数款拥有数百万活跃用户的Chrome扩展程序正在通过未加密的HTTP连接静默泄露用户敏感数据&#xff0c;严重威胁用户隐私安全。 知名扩展程序存在明文传输风险 尽管宣称提供安全浏览、数据分析或便捷界面等功能&#xff0c;但SEMR…...

门静脉高压——表现

一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构&#xff1a;由肠系膜上静脉和脾静脉汇合构成&#xff0c;是肝脏血液供应的主要来源。淤血后果&#xff1a;门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血&#xff0c;引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...

SQL注入篇-sqlmap的配置和使用

在之前的皮卡丘靶场第五期SQL注入的内容中我们谈到了sqlmap&#xff0c;但是由于很多朋友看不了解命令行格式&#xff0c;所以是纯手动获取数据库信息的 接下来我们就用sqlmap来进行皮卡丘靶场的sql注入学习&#xff0c;链接&#xff1a;https://wwhc.lanzoue.com/ifJY32ybh6vc…...

OPENCV图形计算面积、弧长API讲解(1)

一.OPENCV图形面积、弧长计算的API介绍 之前我们已经把图形轮廓的检测、画框等功能讲解了一遍。那今天我们主要结合轮廓检测的API去计算图形的面积&#xff0c;这些面积可以是矩形、圆形等等。图形面积计算和弧长计算常用于车辆识别、桥梁识别等重要功能&#xff0c;常用的API…...