ROS机械臂中Movelt!

Movelt!简介

一个易于集成使用的集成化开发平台

由一系列移动操作的功能包组成

1、运动规划

2、操作控制

3、3D感知

4、运动学

5、控制与导航算法

.......

提供友好的GUI

可应用于工业、商业、研发和其他领域

ROS社区中使用度排名前三的功能包

 Movelt!三大核心功能

1、运动学:KDL、Trac-IK、IKFast.....

2、路径规划:OMPL 、CHOMP 、 SBPL ....

3、碰撞检测:FCL 、PCD....\

通过命令行、rviz上位机可视化界面、通讯来调用该三大功能,通过以上任意一种方式发送指令给Movelt!后,Movelt!里的核心节点为Move Group,它会接收用户给他发布的指令及外部摄像头获取的点云数据,实现如何从A到B,这样会调用各种算法来实现该功能,并输出trajactory(运动轨迹)给机器人。

一、用户接口(User Interface)

1、C++:使用move_group_intereface包提供的API

2、Python:使用moveit_commander包提供夫人API

3、GUI:使用Movelt!的rviz插件

二、ROS参数服务器

1、URDF:robot_description参数,获取机器人URDF模型的描述信息

2、SRDF:robot_description_semantic参数。获取机器人模型的配置消息

3、config:机器人的其他配置信息,例如关节限位、运动学插件、运动规划插件等

三、机器人

1、Topic和Action通信

如何使用Movelt!

1、组装:创建机器人URDF模型

2、配置:使用Movelt! Setup Assistant工具生成配置文件

3、驱动:添加机器人控制器插件(controller)

4、控制:Movelt!控制机器人运动(算法仿真、物理仿真)

Movelt!可视化配置

报错:[rospack] Error: package 'moveit_setup_assistant' not found

执行:rosrun moveit_setup_assistant moveit_setup_assistant
显示报错:[rospack] Error: package ‘moveit_setup_assistant’ not found
这是由于没有安装moveit的包,所以找不到。

解决方法:

sudo apt-get install ros-xxxx-moveit

xxxx为自己系统中ROS的版本

安装完成后设置一下环境:

source /opt/ros/noetic/setup.bash

再打开终端输入:

rosrun moveit_setup_assistant moveit_setup_assistant

显示如下可视化界面

以创建新功能包为例

若在此处报错,加载不了机械臂模型文件

ROS was unable to find the package name 'probot_description' within the ROS workspace. This may cause issues later.

则用VSCode 打开该工作空间,在该终端里运行指令即可解决。

随后点击self-collision ,用于各个关节之间的自碰撞检测

点击generate collision matrix即可。自动产生碰撞矩阵

第三步、虚拟关节virtual joints  一般用于机械臂一般会配一个底盘,底盘会跟外部环境发生移动(世界坐标的world 坐标系与机器人底盘的base_link坐标系的位置的相对变换),所使用机械臂固定在地面上,跟world坐标系不存在相对变换,即可不需要设置。

第四步、规划组(planning groups)  跟实际机械臂的情况有关,所使用机械臂为6关节,则6关节为一规划组,联合考虑它们的位置。

设置名字 主要用于在编写代码时方便调用该规划组

其次是运动规划组的求解器(六关节正逆解、如何实现算法),通过运动学的求解器做配置,使用默认的kdl求解器。同时路径规划算法选择RRT。

还需配置组里面包含了哪些关节,点击Add Kin.Chain,链条里包含六关节

需要配置机器人六关节分别包含哪些link

所示例的机器人只有六个关节,没有包含爪夹,若包含爪夹,还需点击Add Group来添加一个规划组,通过两个组来控制机械臂运动。

第五步 robot poses 预定一些机器人的点位,方便于编成的时候去使用

第六步 end effectors 配置机器人终端的夹具(点击add end effector),该示例不需要配置

第七步 passine joints 用于机器人在做配置时,哪些关节是不需要考虑其运动的,若有则需配置,添加至右边框

第八九步 control、simulation目前在该窗口添加会出现一些问题,所以一般不再这里面配置,直接在文件里配置

第十步 3D perception 若外部有摄像头,可以选择摄像头发布的数据类型

选择话题发布的名字,选择完话题后,会自动订阅外部话题,加入外部的场景信息。目前没有视觉的集成不需配置

第十一步 作者信息填写

第十二步 自动产生配置文件  把文件保存在自己的工作空间里

这是显示有些没有配置,直接点ok即可

启动文件,看是否成功

显示如下界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3015743.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

成功案例(IF=7.3)| 转录组+蛋白质组+代谢组联合分析分析揭示胰腺癌中TAM2相关的糖酵解和丙酮酸代谢重构

研究背景 肿瘤的进展和发展需要癌细胞的代谢重编程,癌细胞能量代谢模式的改变可以满足快速增殖和适应肿瘤微环境的需要。肿瘤微环境(TME)中的代谢状态受到多种因素的影响,包括血管生成、与其他细胞的相互作用和系统代谢。代谢异质…

临时邮箱API发送邮件的安全性?如何保障?

临时邮箱API发送邮件的步骤有哪些?设置邮箱API方法? 电子邮件作为一种重要的通信方式,而临时邮箱API作为一种新兴的邮件发送技术,其安全性更是成为大家关注的焦点。那么,临时邮箱API发送邮件的安全性究竟如何呢&#…

doris经典bug

在部署完登录web页面查看的时候会发现只有一个节点可以读取信息剩余的节点什么也没读取到 在发现问题后,我们去对应的节点去看log日志,发现它自己绑定到前端的地址上了 现在我们已经发现问题了,以下就开始解决问题 重置doris 首先对be进行操…

IIoT:数据融合在工业物联网中的应用——青创智通

工业物联网解决方案-工业IOT-青创智通 随着科技的不断发展,工业物联网(IIoT)已经逐渐渗透到各个行业,为企业的生产和管理带来了前所未有的便利。 然而,与此同时,海量的数据也为企业带来了挑战。如何将这些…

宜选影票在线选座电影票小程序开发如何获取api接口?

要开发一个在线选座电影票小程序并获取API接口,你需要遵循几个关键步骤。以下是通常的流程: 明确需求和目标: 在开始之前,明确你的小程序需要哪些功能,例如电影查询、场次查询、在线选座、购票支付等。确定你需要从AP…

07_Flutter使用NestedScrollView+TabBarView滚动位置共享问题修复

07_Flutter使用NestedScrollViewTabBarView滚动位置共享问题修复 一.案发现场 可以看到,上图中三个列表的滑动位置共享了,滑动其中一个列表,会影响到另外两个,这显然不符合要求,先来看下布局,再说明产生这个…

5.7代码

1.环境治理 分析:最开始进入了一个误区,觉得都有通路了直接算通路就可以,后来才发现居然是最小路径的总和,所以大概是每减一次都要算一次各点之间的最小路径了,然后是循环,到需要的条件为止 总的来说思路不…

VMware 替代专题|14 个常见问题,解读 VMware 替代的方方面面

随着 VMware by Broadcom 调整订阅模式和产品组合,不少用户也将 VMware 替代提上日程。为了帮助用户顺利完成从 VMware 替代方案评估到产品落地的一系列环节,我们通过这篇博客,对 VMware 替代场景下用户经常遇到的问题进行了梳理和解答。 更…

绘画作品3d数字云展厅提升大众的艺术鉴赏和欣赏能力

3D虚拟展厅作为未来艺术的展示途径,正逐渐成为文化创意产业蓬勃发展的重要引擎。这一创新形式不仅打破了传统艺术展览的局限性,更以其独特的魅力吸引着全球观众的目光。 3D虚拟艺术品展厅以其独特的魅力,助力提升大众的艺术鉴赏和欣赏能力。观…

redis 使用记录

redis 使用记录 下载运行配置文件启动 参考 下载 github: Redis for Windows 或者从百度网盘下载 Redis version 3.2.100 链接: https://pan.baidu.com/s/1kxNOuZFunvVhVy1cfQzCDA?pwdpibh 运行 双击运行 运行效果 如果出错:查看是否项目路径是否包含中文 配…

1688工厂货源API接口:用于商品采集、商品搜索、商品详情数据抓取

item_get 获得1688商品详情item_search 按关键字搜索商品item_search_img 按图搜索1688商品(拍立淘)item_search_suggest 获得搜索词推荐item_fee 获得商品快递费用seller_info 获得店铺详情item_search_shop 获得店铺的所有商品item_password 获得淘口令…

端侧AI从“芯”开发机会到来,MediaTek举办天玑开发者大会MDDC2024

MDDC2024速览: 发布芯片新品MediaTek天玑9300旗舰5G生成式AI移动芯片、生态发布天玑AI先锋计划、for开发者的生成式AI端侧“天玑AI开发套件”、发布《生成式AI手机产业白皮书》、for游戏的MediaTek星速引擎技术…… MediaTek 5月27日举办天玑开发者大会2024&#xf…

矩阵快速幂

要想知道矩阵快速幂,我们先了解一下什么叫快速幂和矩阵乘法 一、快速幂 快速幂算法是用来快速计算指数表达式的值的,例如 210000000,普通的计算方法 2*2*2*2…10000000次,如果一个数字的计算都要计算那么多次的话,那么这个程序一…

【LAMMPS学习】八、基础知识(5.9)LAMMPS 近场动力学

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。 …

如何与精益生产咨询公司合作,确保项目的成功?

随着竞争的白热化,企业为了提升生产效率和降低成本,纷纷寻求精益生产咨询公司的帮助。然而,与咨询公司合作并不是一蹴而就的事情,需要双方共同努力,才能确保项目的成功。那么,如何与精益生产咨询公司合作&a…

使用开放式用户通信连接两台西门子S71200plc

步骤1.在项目中创建两台PLC。 步骤2.分别设置两个PLC的参数。 plc1 plc2 步骤3.对两个plc进行组态 步骤4.在plc1和plc2中各自创建DB块,用于通信。 须在块的属性中取消优化块的访问选项。 plc1 plc2 步骤5.往plc1的main块中编写代码。 步骤6.往plc2的main块中编写…

python学习笔记-02

变量和数据类型 程序中运用变量存储数据,python是一门强类型语言,赋值时不需要指定数据类型。 1.变量的定义 语法格式:变量名数据 a10 print(a) a哈哈 print(a)python中基本数据类型: 数字(num):int(有符号整数)、lo…

如何用virtualbox 来跑openwrt 镜像?

1.下载好openwrt源代吗,编译之前先配置,让编译产生x86的virtualbox 镜像: 编译完成之后会产生vdi镜像文件, 在virtualbox 中创建一虚拟机,类型选择linux,版本other linux 64: 内存选择512: 这个地方把镜像…

LeetCode算法题:7. 整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。 如果反转后整数超过 32 位的有符号整数的范围 [−2^31, 2^31 − 1] ,就返回 0。 假设环境不允许存储 64 位整数(有符号或无符号)。 示例 1: 输…

iOS--runloop的初步认识

runloop的初步认识 简单认识runloopEvent looprunloop其实就是个对象NSRunloop和CFRunLoopRef的依赖关系runloop与线程runloop moderunloop sourceCFRunLoopSourceCFRunLoopObserverCFRunLoopTimer runloop的实现runloop的获取添加ModeCFRunLoopAddCommonMode 添加Run Loop Sou…