MoveIt 机械臂运动 学习 01-MoveIt 初次见面

news2024/9/21 18:38:18

ROS中有针对机器人进行移动操作的一套工具——MoveIt!。在主页http://moveit.ros.org 上
包含使用MoveIt!的文档、教程、安装说明以及多种机械臂(或机器人)的示例演示,如一些
移动操作任务,包括抓握、拾取和放置,或简单的逆向运动学的运动规划。

这个库包含一个快速的逆运动学解算器(作为运动规划单元的一部分)、先进的操作算
法、三维感知抓握(通常以点云的形式)、运动学、控制和导航等功能。除了后台功能,它还
提供了一个易于使用的图形用户界面(GUI)通过MoveIt!和rviz插件配置新的机械臂,使用户
能以直观的方式进行运动规划任务的开发。

MoveIt!体系结构

MoveIt!的体系结构如图1所示,内容摘自官方文档的概念部分(http://moveit.ros.org/
documentation/concepts/ )。在这里,我们简要介绍主要概念。若想安装MoveIt!,只需要运行这个命令:

sudo apt-get install ros-<distro>-moveit

其中, 是您正在使用的 ROS 版本的名称。例如,如果您正在使用 ROS Kinetic,则应将 替换为“kinetic”。

ROS 版本 查看

rosversion  -d

在这里插入图片描述

sudo apt-get install ros-noetic-moveit-full

另外,也可以通过在它相应的工作空间运行下面的命令来安装本章附带代码的所有依赖

rosdep install --from-paths src -iy

如果上面的找不到包可以用下面的这个方法

复制以下指令到命令行,一键进行配置安装

wget -O $HOME/moveit1_install.sh https://raw.githubusercontent.com/auromix/ros-install-one-click/main/moveit1_install.sh && sudo chmod +x $HOME/moveit1_install.sh && sudo bash $HOME/moveit1_install.sh && rm $HOME/moveit1_install.sh

等待下载包并安装,安装好后提示是否下载tutorial code ,根据个人需要是否决定下载
在这里插入图片描述
我选 输入y 继续

在这里插入图片描述
发现这里有个问题,
所以,只要执行下面这条指令就可以顺利安装ROS Noetic版本的rosdep了

然后,使用以下两条指令,初始化及更新一下rosdep就可以正常使用了

sudo rosdep init

在这里插入图片描述

rosdep update

这个得看你网络情况了,不行就多试几次,或者你连开外网vpn

MoveIt!的体系结构框图

在这里插入图片描述

体系结构的中心是move_group单元。其主要思想是,首先需要定义由关节和其他元件构成
的群组(group),然后使用运动规划算法执行移动操作。这类算法考虑与物体交互的场景以及
该群组关节的特性。

群组使用标准的ROS工具和定义语言进行定义,如YAML、URDF和SDF等。简而言之,我
们必须对关节进行定义,它们是一个群组的部分并包含关节约束。同样,可定义末端执行器的
工具,如一个夹持器和感知传感器。机器人必须开放JointTrajectoryAction控制器,从而使运动
规划的输出可以在机器人的硬件(或仿真器)规划执行。为了监控执行情况,需要通过机器人状态发布者发布/joint_states所有内容都由ROS控制并由特定传感器驱动发布

需要注意的是MoveIt!提供了一个图形用户界面向导去定义给定的机器人关节群组,可以通过下面的命令直接调用:

roslaunch moveit setup assistant setup assistant.launch

当move_group配置正确后,就可以和它连接通信。MoveIt!提供了C++和Python的应用程
序接口(API)以及一个无缝集成的rviz插件来实现此功能,使我们可以向机器人发送运动目
标,规划任务并发送给机器人执行等,如下图所示:

在这里插入图片描述

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

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

相关文章

前端框架图谱

以上图谱基于个人经验总结&#xff0c;比如小程序、第三方平台等未在其中有所体现

Web安全之PHP的伪协议漏洞利用,以及伪协议漏洞防护方法

一、背景 今天介绍一个比较冷门的知识&#xff0c;只有在PHP环境中存在的伪协议漏洞&#xff0c;那么什么是PHP伪协议呢&#xff1f;PHP伪协议事实上就是支持的协议与封装协议。可用于类似 fopen()、 copy()、 file_exists() 和 filesize() 的文件系统函数。 除了这些封装协议…

sqlmap requires ‘python-pymysql‘ third-party library

使用sqlmap进行udf提权报错&#xff1a; [14:06:04] [CRITICAL] sqlmap requires python-pymysql third-party library in order to directly connect to the DBMS MySQL. You can download it from https://github.com/PyMySQL/PyMySQL. Alternative is to use a package pyt…

[WSL] 安装MySQL8

安装版本 mysql --version mysql Ver 8.0.35-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))安装步骤 sudo apt-get update sudo apt-get upgradesudo apt-get install mysql-server apt install mysql-client apt install libmysqlclient-devsudo usermod -d /var/lib/m…

excel中通过ROW函数返回引用的行号

例如&#xff0c;想引用B3的行号&#xff08;行号应该是3&#xff09;&#xff1a; 鼠标点在想输入函数的单元格&#xff1a; 插入-》函数&#xff1a; 选择ROW函数&#xff1a; 点击“继续”&#xff0c;然后点击红框圈出来的按钮&#xff1a; 鼠标点击B3单元格&…

亚马逊鲲鹏系统能注册哪些国家的买家号

亚马逊鲲鹏系统全面支持12个站点&#xff1a;美国站点、加拿大站点、德国站点、英国站点、法国站点、意大利站点、西班牙站点、日本站点、印度站点、新加坡站点、澳大利亚站点、荷兰站点。 对于注册可以用手机号或者用邮箱进行注册&#xff0c;注册时自动模拟真人点击输入账号、…

VB.net TCP服务端监听端口接收客户端RFID网络读卡器上传的读卡数据

本 示例使用设备介绍&#xff1a;WIFI/TCP/UDP/HTTP协议RFID液显网络读卡器可二次开发语音播报POE-淘宝网 (taobao.com) Imports System.Threading Imports System.Net Imports System.Net.Sockets Public Class Form1Dim ListenSocket As SocketDim Dict As New Dictionary(Of…

vscode 内置扩展找不到? 设置之后不知道怎么还原?

搜索上面框起来的就是内置扩展 vscode这一招太恶心。。。

自动化测试项目:浅谈分层设计的思路

本文以笔者当前使用的自动化测试项目为例&#xff0c;浅谈分层设计的思路&#xff0c;不涉及到具体的代码细节和某个框架的实现原理&#xff0c;重点关注在分层前后的使用对比&#xff0c;可能会以一些伪代码为例来说明举例。 接口测试三要素&#xff1a; 参数构造发起请求&a…

3种方法,教你用Pytest更改自动化测试用例执行顺序!

前言 在自动化测试中&#xff0c;自动化测试用例设计原则就是&#xff1a;执行过程时不能存在依赖顺序。那么如果测试用例需要按照指定顺序执行&#xff0c;这个时候应该怎么做呢&#xff1f; 目前单元测试框架中UnitTest没有办法改变测试用例的执行顺序&#xff0c;但是另一…

1688商品采集api接口1688代购商品采集API商品详情数据获取

做小程序商城时&#xff0c;最崩溃的瞬间是什么&#xff1f; 一定是当你有几百件商品&#xff0c;却要一件一件编辑商品名称、规格、上传图片吧…… 为了帮助商家快速上货开店&#xff0c;特意提供了1688的获取商品详情数据的接口&#xff0c;方便商家一键采集淘宝、天猫、京…

【广州华锐视点】海外制片人VR虚拟情景教学带来全新的学习体验

虚拟现实&#xff08;Virtual Reality&#xff0c;简称VR&#xff09;是一种利用电脑模拟产生一个三维的虚拟世界&#xff0c;提供用户关于视觉、听觉、触觉等感官的模拟体验的技术。随着科技的进步&#xff0c;VR已经被广泛应用到许多领域&#xff0c;包括游戏、教育、医疗、房…

Outlook如何恢复已删除邮件

Outlook如何恢复已删除邮件 操作指引&#xff1a; Outlook客户端恢复最近7天删除的邮件&#xff1a; Outlook客户端要求最新版本&#xff0c;如没有如下选项&#xff0c;建议联机更新windows update 网页邮箱恢复最近7天删除的邮件&#xff1a;

极智芯 | GPU架构与计算能力

欢迎关注我的公众号 [极智视界]&#xff0c;获取我的更多经验分享 大家好&#xff0c;我是极智视界&#xff0c;本文分享一下 GPU架构与计算能力。 邀您加入我的知识星球「极智视界」&#xff0c;星球内有超多好玩的项目实战源码和资源下载&#xff0c;链接&#xff1a;https:…

黑客技术(网络安全)—高效自学

前言 前几天发布了一篇 网络安全&#xff08;黑客&#xff09;自学 没想到收到了许多人的私信想要学习网安黑客技术&#xff01;却不知道从哪里开始学起&#xff01;怎么学 今天给大家分享一下&#xff0c;很多人上来就说想学习黑客&#xff0c;但是连方向都没搞清楚就开始学习…

subprocess 模块用法

如果你只关心命令的标准输出&#xff0c;并且希望在命令执行失败时引发异常&#xff0c;可以使用 check_output。如果你需要更多的控制&#xff0c;例如与正在运行的进程进行交互&#xff0c;可以使用 Popen。如果你希望获取标准输出和命令的状态码&#xff0c;可以使用 getsta…

数据结构-数型查找

二叉排序树&#xff08;BST&#xff09; 二叉排序树&#xff0c;又称二叉查找树&#xff08;BST&#xff0c;Binary Search Tree&#xff09; 一颗二叉树或者是空二叉树&#xff0c;或者是具有如下性质的二叉树&#xff1a; 左子树上所有结点的关键字均小于根结点的关键字&…

LeetCode(9)跳跃游戏【数组/字符串】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 55. 跳跃游戏 1.题目 给你一个非负整数数组 nums &#xff0c;你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标&#xff0c;如果可以&#xff0c;返回…

在Linux系统下微调Llama2(MetaAI)大模型教程—Qlora

Llama2是Meta最新开源的语言大模型&#xff0c;训练数据集2万亿token&#xff0c;上下文长度是由Llama的2048扩展到4096&#xff0c;可以理解和生成更长的文本&#xff0c;包括7B、13B和70B三个模型&#xff0c;在各种基准集的测试上表现突出&#xff0c;最重要的是&#xff0c…

《QT从基础到进阶·二十二》QGraphicsView显示大量图形项item导致界面卡顿的解决办法

有时候因业务需要&#xff0c;paint函数在界面上绘制了成百上千个图形项Items&#xff0c;导致操作界面的时候有明显的卡顿感&#xff0c;下文会提供一种比较好的解决办法&#xff0c;先来了解下QGraphicsItem的缓存方式。 &#xff08;1&#xff09;setCacheMode(QGraphicsIt…