【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所在的节点信息 例如: 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 连接点、切入点、通知、切面:2.2 注解2.2.1 通知类型2.2.1.1 通知的优先级排序 2.2.2 其他重要注解2.2.3 示例代码(四种通知) 3.Spring …...
selinux和防火墙
第七章 selinux 一、selinux的说明 SELinux:安全强化的 linux,Security-Enhanced Linux的缩写 SELinux : 由美国国家安全局( NSA )开发,目的是为了避免资源的误用 SELinux: 是对程序、文件等权…...
【vue for beginner】Composition API 和 Options API 的区别
🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 vue2中的方式叫Options API ,vue3中叫Composition API。 Composition…...
jmeter5.6.3安装教程
一、官网下载 需要提前配置好jdk的环境变量 jmeter官网:https://jmeter.apache.org/download_jmeter.cgi 选择点击二进制的zip文件 下载成功后,默认解压下一步,更改安装路径就行(我安装在D盘) 实用jmeter的bin目录作为系统变量 然后把这…...
关于Spring基础了解
Spring简介 Spring框架是一个开源的Java应用框架,旨在简化企业级应用程序的开发。它提供了一系列强大的工具和服务,帮助开发者构建高质量的Java应用程序。Spring框架的核心理念是使开发过程更加模块化、可测试和可维护。 主要特性 依赖注入(…...
输入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的属性,方法 Vscode中图标含意 list 与 iterator 的区别,尤其yield的用法 2 方法 知乎搜索DataLoader的属性,方法 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 中用于将数据集拆分为训练集和测试集的函数。这个函数非常有用,因为在机器学习中,我们通常需要将数据集分为训…...
wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
网页端 js 读取发票里的二维码信息(图片和PDF格式)
起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的ÿ…...
