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.mzph.cn/web/7898.shtml

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

相关文章

SQL Server 存储过程中的字符串本身包含单引号的用法

文章目录 引言I 存储过程中的字符串本身包含单引号的用法1.1 问题1.2解决方法引言 使用场景: 字符串类型字段的值比较 I 存储过程中的字符串本身包含单引号的用法 在SQL Server中,单引号用于表示字符串常量。如果你的存储过程中的字符串本身包含单引号,你需要用两个连续的…

三色标记法详解

什么是三色标记法 三色标记法(Three-color Marking)是一种在垃圾回收(Garbage Collection, GC)领域广泛使用的算法,尤其是在Java虚拟机(JVM)中,与追踪式垃圾回收相关联。它的核心目的…

线性滤波和预测理论的新成果【1961.Kalman】翻译

线性滤波和预测理论的新成果 New Results in Linear Filtering and Prediction TheoryR. 线性滤波与预测理论的新结果[j]。 E. KALMAN Study, Baltimore, MarylandResearch Institute for AdvancedR. E.卡尔曼研究,巴尔的摩,马里兰州高级研究所。 S. …

【PX4-AutoPilot教程-TIPS】MAVROS2运行px4.launch文件报错ValueError无法启动的解决方法

MAVROS2运行px4.launch文件报错ValueError无法启动的解决方法 问题描述解决方法 环境: Ubuntu :20.04 LTS ROS :ROS2 Foxy PX4 :1.13.0 问题描述 在使用命令ros2 launch mavros px4.launch命令启动MAVROS2与PX4之间的连接时报…

函数—描述现实世界现象的基本工具(二)

在数学和物理学中,函数是描述现实世界现象的基本工具。通过将函数视为对象,数学家和物理学家能够使用代数、几何和分析的技术来研究现实世界问题。这种方法不仅提供了对现象的深入理解,而且也使得复杂问题的求解成为可能。在科学和工程的许多…

FL Studio20.9水果安装及切换修改中文语言教程

前言 喜欢音乐制作的小伙伴千万不要错过这个功能强大,安装便捷的音乐软件哦!如果你们已经下载好了这款软件的话,小编今天在这里就为大家详细讲解下如何安装FL Studio软件,一起来学习吧! 注意: &#xff0…

关于RN中Image的style下tintColor使用

React Native中Image组件的style属性下面有个tintColor 文档描述如下: tintColor: color Changes the color of all the non-transparent pixels to the tintColor. 改变不透明像素的颜色 比如一个白色背景页面,黑色icon图标,手机切换到暗黑…

游戏开发重要的环节

游戏开发已经成为一项技术和艺术相结合的复杂工程。成功的游戏不仅需要引人入胜的故事情节和精美的视觉效果,还需要无缝的技术实现和令人满意的用户体验。本文将探讨游戏开发中最关键的几个方面,以帮助读者更好地理解游戏开发的核心要素。 创意与设计 …

QT程序简单国际化实验

文章目录 第一步:新建一个QT工程第二步:添加控件第三步:在pro文件中添加内容第四步:更新文件第五步:打开QT的Linguist第六步:添加翻译内容第七步:回到QT Creator中添加文件第八步:给…

Python学习笔记(五)——函数和代码得复用

函数的定义与使用 函数的定义 函数是一段代码的表示&#xff0c;也是一段代码的完整封装 -函数是一段具有特定功能的、可重复使用的语句组 -函数是一种功能的抽象&#xff0c;一般函数表达特定功能 -两个作用&#xff1a;降低编码难度和代码复用 def <函数名>(<…

20230507,LIST容器

学了又忘学了又忘&#xff0c;明知道会忘又不想复习又还得学 LIST容器 1.1 基本概念 链表是一种物理存储单元上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接实现的&#xff1b;链表由一系列结点组成 结点&#xff1a;一个是存储数据元素的数据域&a…

【系统架构师】-选择题(十五)

1、实时操作系统&#xff08;RTOS&#xff09;内核与应用程序之间的接口称为&#xff08;API&#xff09; PCI是外设部件互连标准 GUI&#xff0c;图形用户界面&#xff0c;是用户与操作系统之间的接口 2、基于网络的数据库&#xff08;Netware Database&#xff0c;NDB&#x…

Offline:IQL

ICLR 2022 Poster Intro 部分离线强化学习的对价值函数采用的是最小化均方bellman误差。而其中误差源自单步的TD误差。TD误差中对target Q的计算需要选取一个max的动作&#xff0c;这就容易导致采取了OOD的数据。因此&#xff0c;IQL取消max,&#xff0c;通过一个期望回归算子…

Mybatis进阶4-权限管理

权限管理 1.权限 //相当于 职责 2.用户 //相当于 职员&#xff08;职员就职于一个职位&#xff09; 3.角色 //相当于 职位&#xff08;有多个职责&#xff09; 权限管理基础表&#xff1a;权限表&#xff0c;用户表&#xff0c;角色表 问题1&#xff1a;…

无法添加以供审核,提交以供审核时遇到意外错误。如果问题仍然存在,请联系我们

遇到问题&#xff1a; 无法添加以供审核 要开始审核流程&#xff0c;必须提供以下项目&#xff1a; 提交以供审核时遇到意外错误。如果问题仍然存在&#xff0c;请联系我们。 解决办法&#xff1a; 修改备案号为小写&#xff0c; 例如&#xff1a;京ICP备2023013223号-2A 改…

自己动手为wordpress注册一个Carousel轮播区块

要为WordPress注册一个Carousel轮播区块&#xff0c;你可以创建一个自定义Gutenberg块。以下是一个简单的示例&#xff0c;说明如何创建一个Carousel轮播区块&#xff1a; 1. 在你的主题目录中创建一个名为carousel-block的子文件夹。在这个文件夹中&#xff0c;创建一个名为c…

NumPy及Matplotlib基本用法

NumPy及Matplotlib基本用法 导语NumPy导入与生成算术运算N维数组广播元素访问 Matplotlib简单图案绘制多函数绘制图像显示参考文献 导语 深度学习中经常需要对图像和矩阵进行操作&#xff0c;好在python提供了Numpy和Matplotlib库&#xff0c;前者类似一个已经定义的数组类&am…

Error Code: 1449. The user specified as a definer (‘admin‘@‘%‘) does not exist

前言 在进行MySQL数据库迁移或存储过程部署时&#xff0c;您可能会遇到错误 [Err] 1449 - The user specified as a definer (admin%) does not exist。这篇文章将为您提供一个详细的解决方案&#xff0c;帮助您顺利解决这一问题。 错误背景 此错误通常发生在尝试执行一个存…

扫描反代Cloudflare的IP 给网站CDN加速 免费制作自己的CDN加速

Cloudflare的CDN系统基本上每个站长都家喻户晓&#xff0c;大家都知道大陆对于搭建网站的审核力度&#xff0c;以至于Cloudflare并没有大陆的泛播节点&#xff0c;有也是只有香港节点。但是这些节点对于海外是加速效果&#xff0c;对于大陆就是一个字慢&#xff0c;晚高峰的情况…

JavaScript异步编程——02-Ajax入门和发送http请求

同步和异步回顾 同步和异步的简单理解 同步&#xff1a;必须等待前面的任务完成&#xff0c;才能继续后面的任务。 异步&#xff1a;不受当前任务的影响。 拿排队举例&#xff1a; 同步&#xff1a;在银行排队时&#xff0c;只有等到你了&#xff0c;才能够去处理业务。 异…