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://www.hqwc.cn/news/675488.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库表的约束】

文章目录 一、NULL vs (空字符串)二、not null 和default三、列描述字段comment四、zerofill五、primary key 主键总结 一、NULL vs ‘’(空字符串) NULL和空字符串’’ NULL代表什么都没有。 空字符串’代表有,但串…

通过 Java 操作 redis -- 基本通用命令

目录 使用 String 类型的 get 和 set 方法 使用通用命令 exists ,del 使用通用命令 keys 使用通用命令 expire,ttl 使用通用命令 type 要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis 关…

VMware虚拟机提示内存不足

VMware虚拟机,k8s集群搭建内存不足的问题 疑问:我的电脑是8G8G双通道的内存,当我在搭建k8s集群时给master-2G内存,node1-3G内存,node2-3G内存; 当依次打开虚拟机到node2时VM提示“物理内存不足,…

【漏洞复现】CData API Server 路径遍历漏洞(CVE-2024-31849)

0x01 产品简介 CData API Server是CData公司的一个强大的数据连接平台,旨在帮助企业轻松地访问、整合和分析各种数据源。 0x02 漏洞概述 CData API Server 23.4.8846之前版本存在安全漏洞,该漏洞源于存在路径遍历漏洞。攻击者可利用该漏洞获得对应用程…

Unet简单结构概述

总体结构代码 class UNet(nn.Module):def __init__(self, n_channels, n_classes, bilinearFalse):super(UNet, self).__init__()self.n_channels n_channelsself.n_classes n_classesself.bilinear bilinearself.inc (DoubleConv(n_channels, 64))self.down1 (Down(64, …

根据最近拒包项目总结,详细讲解Google最新政策(上)

关于占比最多的移动垃圾软件拒审问题 移动垃圾软件(Mobile Unwanted Software)特征表现1> 具有欺骗性,承诺其无法实现的价值主张。2> 诱骗用户进行安装,或搭载在用户安装的其他程序上。3> 不向用户告知其所有主要功能和重要功能。4> 以非预期方式影响用户的系统…

牛客网刷题 | BC78 KiKi说祝福语

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 2020年来到了&#…

LeetCode刷题记(五):121~150题

121. 买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从…

新火种AI|挑战谷歌,OpenAI要推出搜索引擎?

作者:一号 编辑:美美 在AI革新的浪潮下,谷歌搜索迎来了越来越多的“挑战者”。 最近,据多家外媒的消息,有知情人士透露,OpenAI正计划上线一款基于ChatGPT的大型产品,将提供一个新的搜索引擎&…

数据结构---动态数组

一、数据结构基本理论 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。强调数据元素之间的关系 算法五个特性: 输入、输出、有穷、确定、可行 数据结构分类: 逻辑结构:集合、线性结构、树形结构、图形结构 物理…

Elasticsearch:使用 MongoDB connector 同步数据到 Elasticsearch

MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。Elasticsearch 是一个高效强…

LTE的EARFCN和band之间的对应关系

一、通过EARFCN查询对应band 工作中经常遇到只知道EARFCN而需要计算band的情况,因此查了相关协议,找到了他们之间的对应关系,可以直接查表,非常方便。 具体见: 3GPP TS 36.101 5.7.3 Carrier frequency and EAR…