ROS-Moveit!配置

news2024/9/21 20:42:47

文章目录

    • 1. SW2URDF
    • 2.Moveit下载及初始化
    • 3.自碰撞矩阵 Self-Collisions
    • 4.虚拟关节 Virtual Joints(不配置)
    • 5.规划组 Planning Groups
      • 添加机械臂规划组
      • 添加夹爪规划组
    • 6.机器人姿态 Robot Pose
    • 7.末端执行器 End Effectors
    • 8.作者信息 Author Information
    • 9.配置文件Configuration Files
    • 10.运行

MoveIt! 一个机器人(mobile manipulation)相关的工具集软件,集成了各种 SOTA 库,包括:

  • 运动规划(Motion Planning)
  • 操作(Manipulation)
  • 3D 感知(Perception)
  • 运动学(Kinematics)
  • 碰撞检测(Collision Checking)
  • 控制(Control)
  • 导航(Navigation)

下面介绍下Moveit的使用步骤

1. SW2URDF

使用Solidworks建立一个机械臂模型,然后划分各个部分的Link/Joint,建立参考轴和参考坐标系,具体可根据机器人运动学分为标准DH建系(SDH)和改进DH 建系(MDH)。

  • SDH: 杆i坐标系建立在关节i+1上,即连杆i的坐标系固定在连杆的远端
  • MDH: 杆i坐标系建立在关节i上,即连杆i的坐标系固定在连杆的近端

见习步骤主要如下:

  • 先确定Z轴,为关节轴线的方向
  • 再确定X轴,为前一个关节的Z轴与本关节的Z轴的公垂线,即Xi = Zi-1 X Zi, 方向指向下一个关节处,如果两轴线相交则X轴垂直Z轴相交平面
  • 再确定原点,为Z轴与X轴相交处,或两Z轴相交处
  • 最后确定Y轴,根据右手笛卡尔坐标系确定

具体可参考这篇文章 浅谈标准DH(SDH)和改进DH(MDH)
image-20230707170138915

最后使用SW2URDF插件,将SW模型转化为URDF文件,具体可参考我前面的文章Solidworks小车模型转urdf文件

然后将此生成的功能包文件,复制到自己的工作空间src目录下,然后catkin_make编译

可以运行:

source ./devel/setup.bash
roslaunch ros_robot_arm display.launch

image-20230707155509911

旁边的GUI界面可以拖动控制关节运动。

2.Moveit下载及初始化

下载:

sudo apt-get install ros-noetic-moveit   #noetic 是所安装的ros对应版本名称
source /opt/ros/noetic/setup.bash

然后,在你所导入的模型URDF功能包所在的功能空间下,运行下面命令

source ./devel/setup.bash
roslaunch moveit_setup_assistant setup_assistant.launch 

image-20230707160526558

创建新的Moveit配置功能包,导入刚才的urdf文件,Load Files

image-20230707160702231

3.自碰撞矩阵 Self-Collisions

image-20230707160847852

选择适合冲突检查数量,单击Generate Collision Matrix生成碰撞矩阵

4.虚拟关节 Virtual Joints(不配置)

5.规划组 Planning Groups

单击Add Group

添加机械臂规划组

image-20230707161513147

  • Group Name: arm_group
  • Kinematic Solver(运动学求解器):kdl_kinematics_plugin/KDLKinematicsPlugin
  • OMPL Planning(OMPL规划器):RRT
  • 其他默认

然后单击Add Joints添加关节

image-20230707161825543

选择除base_link和夹爪部分的机械臂Link,然后Save

添加夹爪规划组

只更改Group namehand_group,其他为默认,然后添加Joints,单击Save

image-20230707162618655

image-20230707162648750

6.机器人姿态 Robot Pose

image-20230707162822565

定义Pose Name,选择相应的规划组,然后移动关节确定姿态,然后单击Save

image-20230707163341309

Pose可以根据自己需要自定义

7.末端执行器 End Effectors

单击Add End Effector

image-20230707163549509

  • End Effector Name: hand_ee
  • End Effector Group: hand_group
  • Parent Link: Link6(与夹爪连接的arm link部分)
  • Parent Group:None或arm_group

最后单击Save保存

8.作者信息 Author Information

Passive Joints / Controllers / Simulation / 3D Perception此部分内容可以不用配置,有需要的读者可搜索资料研究下

image-20230707164150580

名字和邮箱名称可自取

9.配置文件Configuration Files

在自己功能包/src目录下新建文件夹moveit_ros_robot_arm

然后生成功能包Generate Package

image-20230707164505607

最后推出Exit Setup Assistant

10.运行

工作空间下catkin_make编译

source ./devel/setup.bash
roslaunch moveit_ros_robot_arm demo.launch 

image-20230707164818638

出现如上界面,即配置成功

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

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

相关文章

(秋招)面激光slam必备知识--scan context

scan context是一个描述场景的描述符,它之前不是用在slam上面的,但是有人将它用到激光slam上面,发现还可以,于是这个scan context就用来进行激光slam的位置识别(做闭环用的)。 ​ 编辑切换为居中 添加图片注释,不超过…

Python基础综合案例-数据可视化(地图)

今天给大家带来的是Python综合实战开发的数据可视化操作 通过python实现对数据的分析、可视化 数据来源:线上公布数据,需要可私信 前期准备工作:Python可视化准备工作 前期模块安装等前期基础的准备工作大家可以看我之前的文章讲解,有问题可…

< 每日算法 - JavaScript解析:一文解决 “ 买卖股票 ” 系列算法题 >

每日算法 - JavaScript解析:一文解决 “ 买卖股票 ” 系列算法题 一、基础题目> 题目> 解题思路定义操作定义状态动态规划值所需变量完整代码 二、添加条件:当交易次数为 ∞ 时> 题目> 解决思路 三、添加条件:当交易次数为 K nu…

小机器人在现实世界中学会快速驾驶

小机器人在现实世界中学会快速驾驶 —强化学习加上预训练让机器人赛车手加速前进— Without a lifetime of experience to build on like humans have (and totally take for granted), robots that want to learn a new skill often have to start from scratch. Reinforceme…

【案例教程】GIS在地质灾害危险性评估与灾后重建中的实践技术应用及python机器学习灾害易发性评价模型建立与优化

地质灾害是指全球地壳自然地质演化过程中,由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下,地质灾害在世界范围内频繁发生。我国除滑坡灾害外,还包括崩塌、泥石流、地面沉…

AI对话宝-智能AI在线问答写作

AI对话宝的工作原理是基于自然语言处理技术。当用户与其进行交互时,AI对话宝会根据用户的输入,通过算法和模型来理解用户的意图,并给出相应的回答,并且系统还可以不断学习并优化其回答,从而提高其交互的效率和准确性。…

批量提取目录下的所有文件名称放至Excel表格中,方便快捷,快来试试吧

批量提取目录下的所有文件名称放至Excel表格中,方便快捷,快来试试吧 Sina Visitor Systemhttps://weibo.com/tv/show/1034:4920955869265935?fromold_pc_videoshow

binwalk-解包工具

一、binwalk介绍 二、安装binwalk # 1. 安装依赖和binwalk ​git clone https://github.com/ReFirmLabs/binwalk.git cd binwalk sudo python ./setup.py uninstall # 如果您有以前安装的 Binwalk 版本,建议您在升级之前将其卸载 sudo ./deps.sh # 安装依赖项 sud…

C语言学习(三十五)---动态内存练习题与柔性数组

经过前面的内容,我们已经对动态内存的知识已经有了相当多了了解,今天我们再做几道有关动态内存的练习题,然后再介绍一下柔性数组,好了,话不多说,开整!!! 动态内存练习题…

上海亚商投顾:沪指失守3200点 两市成交不足8000亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 沪指今日延续调整,失守3200点关口,深成指、创业板指盘中均跌超1%。AI概念股集体下挫&#…

你会做接口测试吗?接口测试面试题盲扫(附答案)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 为什么要做接口测…

【跑实验06】如何数据集中加入图像尺寸?如何把tuple格式的坐标按顺序写成四列数据?如何把某一列放到最后?

文章目录 一、如何数据集中加入图像尺寸?二、如何把tuple格式的坐标按顺序写成四列数据?三、如何把某一列放到最后? 一、如何数据集中加入图像尺寸? 部分核心代码如下: image_files [filename for filename in os.l…

Windows | \\wsl.localhost无法访问

Windows | \\wsl.localhost无法访问 在地址栏输入:\\wsl.localhost或者\\wsl.localhost\

解决新版Pyahcrm2023.1.2版本没有manage repositories按钮无法更改依赖源的问题及使用Pycharm安装库的新理解

本文章的理解基于下面两篇文章: https://blog.csdn.net/henu1710252658/article/details/130918206 https://blog.csdn.net/henu1710252658/article/details/82015796 问题一:新版Pyahcrm2023.1.2版本没有manage repositories按钮无法更改依赖源 首先&am…

高效读深度学习代码:如何又快又好的get代码的逻辑与思想

犹豫很久要不要把读代码这个事情专门挑出来写成一篇推文。毕竟读代码嘛,大家可能都会读。而且笔者个人读的和写的代码量也并不足以到指导大家读代码的程度。但笔者还是决定大胆地写一点:就当是给自己设立今后读代码的标准,也将一些之前未能践…

浏览器相关面试题

1、在浏览器中输入URL并回车后发生了什么 https:www.baidu.com url > 统一资源定位发,(网址) 是IP的一个映射,方便记忆 https:传输协议(http和TCP之间加了一层TSL或者SSL的安全层) www&a…

在Ubuntu中禁用和启用CPU内核详解

概要 在某些情况下,您可能需要在Ubuntu操作系统中禁用或启用CPU内核。禁用CPU内核可以帮助您降低功耗,提高性能或解决一些与硬件和软件兼容性相关的问题。本文将介绍如何在Ubuntu中禁用和启用CPU内核的方法。 方法一:使用GRUB配置 GRUB是Ubu…

谷歌验证码kaptcha使用(包括前端获取获取解析)

1.后端 基于springboot开发。 包结构 1.导入依赖 <!--kaptcha验证码生成器--><dependency><groupId>com.github.axet</groupId><artifactId>kaptcha</artifactId><version>0.0.9</version></dependency> 2.配置类 …

从零开始:深度学习入门资料推荐

还记得几年前刚入坑的时候&#xff0c;老师给的入门资料就是一堆论文&#xff01;害的我差点放弃。。。 如今深度学习应用的开发成本越来越低&#xff0c;学习资料越来越多&#xff0c;于是对初学者来说进入了另一个相反的困境——资料过多&#xff0c;让人眼花缭乱&#xff0…

ASEMI整流桥MB6S是什么电子元件

编辑-Z 在电子工程领域&#xff0c;整流器是一种常见的电子设备&#xff0c;用于将交流电&#xff08;AC&#xff09;转换为直流电&#xff08;DC&#xff09;。其中&#xff0c;整流桥MB6S是一种广泛使用的整流器&#xff0c;以其高效、稳定和可靠的性能赢得了工程师们的青睐…