【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 中用于将数据集拆分为训练集和测试集的函数。这个函数非常有用,因为在机器学习中,我们通常需要将数据集分为训…...
Springboot 读取 resource 目录下的Excel文件并下载
代码示例: GetMapping("/download") public void download(HttpServletResponse response) {try {String filename "测试.xls";OutputStream outputStream response.getOutputStream();// 获取springboot resource 路径下的文件InputStream inputStream…...
SQL EXISTS 子句的深入解析
SQL EXISTS 子句的深入解析 引言 SQL(Structured Query Language)作为一种强大的数据库查询语言,广泛应用于各种数据库管理系统中。在SQL查询中,EXISTS子句是一种非常实用的工具,用于检查子查询中是否存在至少一行数…...
33.Java冒泡排序
冒泡排序: 一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序. package Javase;import sun.security.util.ByteArrayTagOrder…...
Docker容器ping不通外网问题排查及解决
Docker容器ping不通外网问题排查及解决 解决方案在最下面,不看过程的可直接拉到最下面。 一台虚拟机里突然遇到docker容器一直访问外网失败,网上看到这个解决方案,这边记录一下。 首先需要明确docker的网桥模式,网桥工作在二层…...
JavaScript 库 number-precision 如何使用?
number-precision 是一个 JavaScript 库,主要用于处理 JavaScript 中的数字精度问题。它提供了一些方法,帮助你进行数字运算时保持精度,尤其是在涉及到浮点数运算时,它能够避免传统 JavaScript 中精度丢失的问题。 例如ÿ…...
faiss库中ivf-sq(ScalarQuantizer,标量量化)代码解读-2
文件ScalarQuantizer.h 主要介绍这里面的枚举以及一些函数内容:QuantizerType、RangeStat、ScalarQuantizer、train、compute_codes、decode、SQuantizer、FlatCodesDistanceComputer、get_distance_computer、select_InvertedListScanner QuantizerType 量化类型…...
性能测试工具Grafana、InfluxDB和Collectd的搭建
一、性能监控组成简介 1、监控能力分工:这个系统组合能够覆盖从数据采集、存储到可视化的整个监控流程。Collectd可以收集各种系统和应用的性能指标,InfluxDB提供高效的时序数据存储,而 Grafana 则将这些数据以直观的方式呈现出来。2,实时性能监控:对于需要实时了解系统状…...
【ruby on rails】dup、deep_dup、clone的区别
一、区别 dup 浅复制:dup 方法创建对象的浅复制。 不复制冻结状态:dup 不会复制对象的冻结状态。 不复制单例方法:dup 不会复制对象的单例方法。 deep_dup 深复制:deep_dup 方法创建对象的深复制,递归复制嵌套的对象。…...
原生微信小程序画表格
wxml部分: <view class"table__scroll__view"><view class"table__header"><view class"table__header__item" wx:for"{{TableHeadtitle}}" wx:key"index">{{item.title}}</view></…...
Python实现IP代理池
文章目录 Python实现IP代理池一、引言二、步骤一:获取代理IP1、第一步:爬取代理IP2、第二步:验证代理IP的有效性 三、步骤二:构建IP代理池四、使用示例1、完整的使用示例2、注意事项3、处理网络问题 五、总结 Python实现IP代理池 …...
购物网站前台功能模块分析/百度百度一下一下
文章目录1、设计立方体类(cube),求出立方体的面积和体积2、求两个立方体,是否相等(全局函数和成员函数)2.1、使用全局函数的方法(C语言思想)2.1、使用成员函数的方法(面向对象)1、设…...
网站建设方案预算/seo工作内容
case和select结构在技术上说并不是循环, 因为它们并不对可执行代码块进行迭代. 但是和循环相似的是, 它们也依靠在代码块顶部或底部的条件判断来决定程序的分支. 在代码块中控制程序分支 case (in) / esac 在shell中的case结构与C/C中的switch结构是相同的. 它允许通…...
驻马店建设网站/关联词有哪些类型
有时候我反问我自己,怎么不知道在Python 3中用更简单的方式做“这样”的事,当我寻求答案时,随着时间的推移,我当然发现更简洁、有效并且bug更少的代码。总的来说(不仅仅是这篇文章),“那些”事情…...
建企业网站价格/关键词优化公司如何选择
文章来自:http://www.ciandcd.com 文中的代码来自可以从github下载: https://github.com/ciandcd 本文将引导jenkins初学者安装和配置jenkins的测试环境。 1. 下载jenkins.war我这里下载的是jenknins 2.7。osboxesosboxes:~/github/jenkins-example$ wge…...
wordpress分类目录查不到文章/网络推广专员
一,自调用匿名函数 有两种方式: 第一种: (function(参数){....}(传入参数)) --->括号内的语句被强制执行 第二种: (function(参数){...})(传入参数) --->说明:jquery就是采用这种方式,这种方式的原理: 原来我们调用…...
杭州移动网站建设/seo咨询
目的:1 学习mvcef 2 写下日记也是对自己的督促 期待已久的EF终于来了。 学完本篇文章,你将会掌握基于EF数据模型的完整开发流程。 本次将会完成EF数据模型的搭建和使用。 基于这个模型,将之前的示例添加数据库查询验证功能。 文章提纲 概述 & 要点 …...