ROS MoveIT2(humble)安装总结

news2024/11/25 14:58:42

版本

系统版本:ubuntu22.04
ROS2版本:humble
Moveit版本:moveit2-humble

安装 ROS 2 和 Colcon

如果您在接下来的几个步骤中遇到错误,一个好的开始是返回并确保您已正确安装 ROS 2。用户通常忘记的一个是获取 ROS 2 安装本身。

source /opt/ros/humble/setup.bash

安装rosdep以安装系统依赖项:

sudo apt install python3-rosdep

安装 ROS 2 后,请确保您拥有最新的软件包:

sudo rosdep init
rosdep update
sudo apt update
sudo apt dist-upgrade

这里如果出错,把rosdep换成rosdepc

使用mixin安装Colcon ROS 2 构建系统:

sudo apt install python3-colcon-common-extensions
sudo apt install python3-colcon-mixin
colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
colcon mixin update default

安装vcstool:

sudo apt install python3-vcstool

创建 Colcon 工作区并下载教程

对于教程,您需要有一个colcon工作区设置。

mkdir -p ~/ws_moveit2/src

进入您的 Colcon 工作区并拉取 MoveIt 教程源:

cd ~/ws_moveit2/src
git clone https://github.com/ros-planning/moveit2_tutorials -b humble --depth 1

接下来我们将下载 MoveIt 其余部分的源代码:

vcs import < moveit2_tutorials/moveit2_tutorials.repos

这里如果出错是网络问题,github DDS受到污染。
打开/home/**/ws_moveit2/src/moveit2_tutorials.repos

repositories:
  launch_param_builder:
    type: git
    url: https://github.com/PickNikRobotics/launch_param_builder
    version: main
  moveit2:
    type: git
    url: https://github.com/ros-planning/moveit2
    version: humble
  moveit_resources:
    type: git
    url: https://github.com/ros-planning/moveit_resources
    version: ros2
  moveit_task_constructor:
    type: git
    url: https://github.com/ros-planning/moveit_task_constructor.git
    version: ros2
  moveit_visual_tools:
    type: git
    url: https://github.com/ros-planning/moveit_visual_tools
    version: ros2
  rosparam_shortcuts:
    type: git
    url: https://github.com/PickNikRobotics/rosparam_shortcuts
    version: ros2
  srdfdom:
    type: git
    url: https://github.com/ros-planning/srdfdom.git
    version: ros2

在src目录下分别用git clone ***下载到7个文件夹内。可以尝试在网址前面加上:https://ghproxy.com/ ,后面要加 -ros2等。

git clone https://ghproxy.com/https://github.com/PickNikRobotics/launch_param_builder -b main
git clone https://ghproxy.com/https://github.com/ros-planning/moveit2 -b humble
git clone https://ghproxy.com/https://github.com/ros-planning/moveit_resources -b ros2
git clone https://ghproxy.com/https://github.com/ros-planning/moveit_task_constructor.git -b ros2
git clone https://ghproxy.com/https://github.com/ros-planning/moveit_visual_tools -b ros2
git clone https://ghproxy.com/https://github.com/PickNikRobotics/rosparam_shortcuts -b ros2
git clone https://ghproxy.com/https://github.com/ros-planning/srdfdom.git -b ros2

构建Colcon 工作区

以下将从 Debian 安装任何不在您的工作区中的软件包依赖项。这是将安装 MoveIt 及其所有依赖项的步骤:

sudo apt update && rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y

下一个命令将配置您的 Colcon 工作区:

cd ~/ws_moveit2
colcon build --mixin release

此构建命令可能需要很长时间(20 分钟以上),具体取决于您的计算机速度和可用 RAM 量(我们建议 32 GB)。如果您的计算机内存不足,或者您的构建通常很难在您的计算机上完成,您可以将参数附加到上面的 colcon 命令。–parallel-workers 1

如果 mixin 报错了,可以换一种编译方式:

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

这一步出错:ERROR:colcon:colcon build: Duplicate package names not supported。因为重名了,删掉一个。

https://www.guyuehome.com/bubble/detail/id/66980

https://blog.csdn.net/shanpenghui/article/details/89210049
因为你在没有删除vcstool import的情况下重复import了一次,解决方法:把src文件夹里面你从ros2的github下载的东西都删除,再做一次。 无效。是因为重名了,删掉一个。

设置Colcon 工作区

来源 Colcon 工作区:

source ~/ws_moveit2/install/setup.bash

可选:将上一个命令添加到您的.bashrc:

echo 'source ~/ws_moveit2/install/setup.bash' >> ~/.bashrc

运行样例程序

ros2 launch moveit2_tutorials demo.launch.py rviz_tutorial:=true

添加MotionPlanning然后修改group拖拽机械臂执行运动规划。
在这里插入图片描述

参考

https://moveit.picknik.ai/humble/doc/tutorials/getting_started/getting_started.html
https://blog.csdn.net/qq_43557907/article/details/125636298

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

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

相关文章

手写Redux(一):实现Redux

在React中&#xff0c;组件和组件之间通过props传递数据的规范&#xff0c;极大地增强了组件之间的耦合性&#xff0c;而context类似全局变量一样&#xff0c;里面的数据能被随意接触就能被随意修改&#xff0c;每个组件都能够改context里面的内容会导致程序的运行不可预料。 …

复习计算机网络——第二章记录(2)

理解一些基本概念&#xff1a; 1、数据&#xff08;data&#xff09;是运送信息的实体。 2、信号&#xff08;signal&#xff09;是数据的电气的或电磁的表现。 3、数据或信号可以是模拟的&#xff0c;也可以是数字的。 4、所谓“模拟的”就是连续变化的。 5、所谓“数字的…

后端微服务项目中出现的问题整理2022年11月

后端微服务项目中出现的问题整理2022年11月后端微服务项目中出现的问题整理2022年11月1.SpringBoot-Mail-Service&#xff08;Spring邮箱服务&#xff09;报错截图解决办法方法一&#xff1a;使用Resource注解方法二&#xff1a;添加(requiredfalse)Resource和Autowired区别2.反…

基于plc的自动洗碗机的设计(西门子)

目 录 摘 要 I Abstract II 1绪论 1 1.1全自动洗碗机的发展 1 1.2全自动洗碗机概述 2 1.2.1 全自动洗碗机的分类 2 1.2.2 全自动洗碗机的基本结构 3 1.2.3 全自动洗碗机的工作原理 4 1.3研究主要内容 4 2 全自动洗碗机机械设计 6 2.1 整体方案设计 6 2.2 各重要部件设计 6 2.2.…

TF-IDF

2.TF - IDF&#xff1a;作用&#xff1a;提取出来一句话中词的重要性&#xff0c;分成两个部分&#xff1a; tf: 词频(某一类中词条出现的次数 / 该类中所有词条数目) idf: 逆文档频率&#xff08;作用&#xff1a;去掉逗号&#xff0c;的等&#xff09;公式&#xff1a;idf l…

【第一阶段:java基础】第8章:面向对象编程高级-2(P394-P423)final、抽象类、接口、内部类

本系列博客是韩顺平老师java基础课的课程笔记&#xff0c;吐血推荐的一套全网最细java教程&#xff0c;获益匪浅 韩顺平java课程 目录&#xff08;P394-P423&#xff09; 1 final 2 抽象类 3 接口 4 内部类 1️⃣ 局部内部类 2️⃣&#x1f353;匿名内部类 3️⃣成员内部类 4️…

C++,顺序结构,选择结构,循环结构

目录 1.选择结构 1.1if语句 1.1.1单行if语句 1.1.2多行格式的if语句 1.1.3多条件if语句 1.1.4嵌套if语句 1.2三目运算符 1.3switch语句 2.循环结构 2.1while循环 2.2do..while语句 2.3for循环语句 2.4嵌套循环 3.跳转语句 3.1.1break 3.1.2continue 3.1.3goto语句 …

UDP-GlcNAc,UDPAG,尿苷二磷酸-N-乙酰基葡萄糖胺,UDP-N-乙酰葡糖胺

产品名称&#xff1a;UDP-GlcNAc 尿苷二磷酸-N-乙酰基葡萄糖胺&#xff0c;UDPAG&#xff0c;UDP-N-乙酰葡糖胺 别 名&#xff1a;5-二磷酸尿嘧啶核苷-N-乙酰半乳糖胺二钠盐;5′-二磷酸尿嘧啶核苷-N-乙酰半乳糖胺二钠盐 英文名&#xff1a;uridine 5-diphospho-N-acetyl-*g…

在家做副业可以做什么,做自媒体应该选择什么平台

今天分享五个&#xff0c;即使你在家里没有收入&#xff0c;自己就可以做的自媒体副业&#xff0c;给自己带来一些收益。 ​ 第一个自媒体副业是公众号&#xff0c;很多人多人都知道。很多人也喜欢看别人写的公众号。 其实微信官方账号注册很简单&#xff0c;不需要花钱有个邮…

Huggingface Transformers各类库介绍(Tokenizer、Pipeline)

目录前言0、transformers的安装以及介绍0-1、 介绍0-2、安装一、分词——transformers.AutoTokenizer1-0、相关参数介绍&#xff08;常用参数介绍&#xff09;1-1、加载、保存1-2、使用以及原理二、黑盒子——transformers.pipeline2-0、pipeline怎么理解&#xff1f;2-1、目前…

SpringCloud:Gateway之限流、熔断

目录 一、服务雪崩简介及压测实践演示 ​编辑 二、sentinel简单模式之流控QPS案例 什么是Sentinel ​ 安装Sentinel控制台 三、sentinel流控简单模式之并发线程数案例 四、sentinel流控之关联模式&链路模式 关联模式 链路模式 五、sentinel降级之平均响应时间&…

Mybatis入门

详细的Mybatis介绍/使用&#xff0c;可以访问&#xff1a; 地址&#xff1a;mybatis – MyBatis 3 | 简介 目录 一、Mybatis介绍 二、依赖 三、什么是rowmapper 四、Mybatis demo 演示 4.1 背景 4.2 JDBC执行sql的流程 &Mybatis 关键要素 4.3 项目的整体结构&…

kubernetes 实战学习

文章目录kubernetes 实战学习1. 资源创建方式2. Namespace3. Pod3.1 使用命令行创建一个 Pod3.2 使用 YAML 文件创建一个 pod3.3 查看 pod 日志3.4 查看 pod IP3.5 进入 pod 查看信息3.6 一个 pod 里同时运行多个容器3.7 pod 和宿主机之间文件拷贝4. Deployment4.1 deployment …

功能测试(一)—— web项目环境与测试流程、业务流程测试

目录 目标 一、web项目环境说明 【了解】 ​编辑 1.1 环境的定义 1.2 环境(服务器)的组成 1.3 面试题&#xff1a;你们公司有几套环境&#xff1f; 二、熟悉商城项目 【了解】 2.1 商城项目的核心业务 2.2 商城项目的核心功能模块 三、测试流程的应用 【重点】 3.1 需…

Java 基础数据类型占用内存空间和字符串编码简介(二)

Java 基础数据类型占用内存空间简介一 计算机简介1.基本概念2.CPU 三级缓存3.本机参数查看二 数据占用内存情况1.多线程Demo2.结果解析1.直接计算2.volatile 计算3.缓存行填充一 计算机简介 结合多线程计算机的硬件&#xff0c;从侧面理解数据存储如何影响我们的程序 1.基本概…

数据结构学习笔记(Ⅶ):查找

目录 1 查找 1.1 定义 1.2 查找操作 1.3 算法评价指标 2 查找算法 2.1 顺序查找 1.算法思想 2.实现 3.查找效率 4.算法优化 2.2 折半查找 1.算法思想 2.算法实现 3.查找判定树 4.折半查找效率 2.3 分块查找 1.算法思想 2.查找效率分析 3 B树 3.1 B树概念 3…

Java#30(扩展知识:可变参数与Collections)

目录 一.可变参数 二.Collections 1.Collections常用的API 一.可变参数 本质: 可变参数本质上是一个数组 作用: 在形参中接收多个数据 格式: 数据类型...参数名称 例如: int...a 代码示范: package Demo;public class Test {public static void main(String[] args) {int s…

单目标优化:蜣螂优化算法(Dung beetle optimizer,DBO)

蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为的启发所得。 一、蜣螂优化算法 1.1蜣螂滚球 &#xff08;1&#xff09;当蜣螂前行无障碍时…

redis基础3——配置文件核心参数实测+RDB持久化、AOF持久化核心参数详解

文章目录一、redis.conf配置文件详解1.1 查看配置文件位置1.2 启动需指定配置文件1.3 单位大小写不敏感1.4 引用其他配置文件&#xff08;包含&#xff09;1.4.1 测试参数存放前后位置1.4.1.1 反例1.4.1.2 正例1.4.2 测试引用参数有效性1.5 网络相关1.5.1 绑定IP1.5.2 保护模式…

全球领先飞瞳引擎™云服务全球两千+企业用户,集装箱识别集装箱箱况残损检测,正常箱号识别率99.98%以上,箱信息识别及铅封识别免费

全球领先飞瞳引擎™AI集装箱识别检测云服务全球两千企业用户&#xff0c;集装箱识别集装箱箱况残损检测&#xff0c;正常箱号识别率99.98%以上&#xff0c;箱信息识别及铅封识别免费。CIMCAI中集飞瞳是全球应用落地最广&#xff0c;规模最大&#xff0c;最先进的的港航人工智能…