ROS2教程 - 2 环境安装

news2024/11/30 11:22:55

更好的阅读体验:https://www.foooor.com

2 环境安装

下面以 ROS2 的 humble 版本为例,介绍 ROS2 的安装。

ROS1 只能在 ubuntu 系统上安装,ROS2全面支持三种平台:Ubuntu、MAC OS X、Windows10,下面在 Ubuntu22.04 上进行安装,如果要在 Ubuntu20.04 上安装,只能通过源码安装,比较麻烦,推荐 Ubuntu22.04。

2.1 安装ROS2

1 设置语言环境

先检查并设置UTF-8编码,防止出现编码问题:

locale    # 检查是否支持UTF-8
sudo apt update && sudo apt install locales
sudo update-locale LC_ALL=en.US.UTF-8 Lang=en_US.UTF-8 export LANG=en_US.UTF-8
locale    # 验证是否设置成功

2 添加源

sudo apt update && sudo apt install curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key  -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(source /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

执行第二个语句的时候可能会报错(没报错就跳过,进入步骤3):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

解决方法如下:

访问 https://site.ip138.com/ ,填写 raw.githubusercontent.com 进行搜索,查看域名对应的 IP 地址信息:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

或者,访问 https://www.ipaddress.com/ ,在顶部搜索栏输入 raw.githubusercontent.com 进行查询:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在搜索页面找到查询结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

然后将查询到的 IP和域名 配置到系统的 hosts 文件中:

# 编辑hosts文件
sudo vim /etc/hosts

配置域名和IP的映射:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

保存退出后,就可以正常使用了。

3 安装ROS2

sudo apt update
sudo apt upgrade
sudo apt install ros-humble-desktop

4 设置环境变量

source /opt/ros/humble/setup.bash
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

通过设置环境变量,每次打开终端,都可以让终端知道 ROS2 安装在哪里,就可以运行 ros2命令了。

此时 ROS2 已经安装完成,下面验证一下。

2.2 测试ROS安装

下面通过 ROS 中的内置经典示例,小海龟来测试一下 ROS2 是否能正常运行。

重新打开一个终端,执行:

ros2 run turtlesim turtlesim_node

上面的命令是启动的小海龟窗口节点。ROS2 中运行节点,使用 ros2 run 命令。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


重新打开另一个终端,执行:

ros2 run turtlesim turtle_teleop_key

上面的命令是启动键盘控制节点,可以在该终端(焦点在终端,不是小海龟窗口),通过上下左右键,控制小海龟运动了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

至此,ROS2 已经安装成功!

2.3 开发工具

1 安装Visual Studio Code

开发 ROS 使用的编辑器一般为 Visual Studio Code,其中也提供了 ROS 开发的插件。

首先安装 VSCode,这个就不用过多介绍了,直接搜索 Visual Studio Code ,进入官网,找到对应自己系统和内核架构的安装包,安装即可。

Ubuntu系统,可以 右键 -> 安装,如果右键没有 安装,可以 右键 -> 选择其他程序打开,选择软件安装即可。

或者使用命令行安装:

sudo dpkg -i 安装包.deb

2 安装ROS插件

在VSCode插件中搜索插件,可以安装如下插件,帮助我们更好的开发。

VSCode默认是英文的,如果觉得使用不方便,可以安装中文语言插件。

搜索 chinese ,安装一下 VSCode 的汉化包:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安装完成,重启。


开发 ROS 主要使用 Python 和 C++ 语言,所以安装一下 Python 和 C++ 的语言插件。

搜索 Python ,并安装插件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

搜索 C++ ,并安装插件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


搜索 ROS,安装一下 ROS 插件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

搜索 cmake ,用于后面编译 C++代码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


搜索 msg ,找到 Msg Language Support,我们后期会编写 msg 类型的文件,这个可以进行高亮提示等。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

搜索 urdf ,安装 URDF 插件,后面编写机器人模型文件,可以进行格式高亮提示等:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

搜索 intellicode ,这个是人工智能代码提示的工具,可以帮助我们进行代码提示和补全,方便开发:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3 安装colcon构建工具

ROS1的编译命令为 catkin_make ,ROS2的编译命令为 colcon build,所以要安装 colcon 构建工具,用于在后面进行项目的编译构建。

sudo apt install python3-colcon-ros

4 安装pip工具

pip 工具是用来下载 Python 依赖的工具,使用如下命令安装 pip

sudo apt install python3-pip

安装完成,就可以使用 pip3 install 命令来安装 Python 的依赖了。

5 安装 rosdepc

rosdepc 是用来自动安装 ROS 功能包的依赖的,官方提供了 rosdep,但是国内很难访问,经常安装失败。所以国内的开发者基于 rosdep 做了一个 rosdepc,解决了网络访问的问题。

使用如下命令安装 rosdepc

sudo pip3 install rosdepc

安装完成,使用如下命令初始化和更新 rosdepc

sudo rosdepc init
sudo rosdepc update

如果我们已经有功能包了(后面再讲解),需要安装依赖,那么可以进入到工作空间目录下,执行如下命令,会自动下载功能包需要的依赖:

rosdepc install -i --from-path src --rosdistro humble -y

humble 表示当前的 ROS 版本。这种方式对于从网上获取到的功能包,安装所需的依赖,特别方便。

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

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

相关文章

神经网络入门实战:(六)PyTorch 中的实用工具 SummaryWriter 和 TensorBoard 的说明

(一) SummaryWriter 这里先讲解 SummaryWriter ,TensorBoard 会在第二大点进行说明。 SummaryWriter 是 PyTorch 中的一个非常实用的工具,它主要用于将深度学习模型训练过程中的各种日志和统计数据记录下来,并可以与 TensorBoard 配合使用&am…

git的使用(简洁版)

什么是 Git? Git 是一个分布式版本控制系统 (DVCS),用于跟踪文件的更改并协调多人之间的工作。它由 Linus Torvalds 在 2005 年创建,最初是为了管理 Linux 内核的开发。Git 的主要目标是提供高效、易用的版本控制工具,使得开发者…

联想M7400Pro打印机报无法打印02 关闭电源,然后重新打开。故障检修分析

联想M7400Pro打印机无法打印02可能是由于硬件故障、软件问题、通信故障等引起的。 以下是故障的解决方法: 1、关闭打印机(可尝试多次重新启动打印机)。 2、重新放置碳粉盒组件。 3、检查打印机驱动程序是否已正确安装。 4、检查打印机的设置,确保已选择正确的打印模式…

排序(数据结构)

排序: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 常见排序法 . 常见排序算法的实现 插入排序 1.直接插入排序 2.希尔排序( 缩小增量排序) 希尔排序的特性总结&#x…

【深度学习】铝箔表面缺陷检测【附链接】

一、铝箔表面缺陷种类 铝箔广泛应用于食品包装、药品包装和工业用途等领域,表面质量直接影响产品的性能和安全性。铝箔表面常见的缺陷主要包括: 划痕:铝箔在生产、加工或运输过程中可能会出现划痕,影响外观和功能。 气泡&#x…

OpenCV 图像轮廓查找与绘制全攻略:从函数使用到实战应用详解

摘要:本文详细介绍了 OpenCV 中用于查找图像轮廓的 cv2.findContours() 函数以及绘制轮廓的 cv2.drawContours() 函数的使用方法。涵盖 cv2.findContours() 各参数(如 mode 不同取值对应不同轮廓检索模式)及返回值的详细解析,搭配…

AI之Data之Label Tool:Label Studio(多类型数据标注工具)的简介、安装和使用方法、案例应用之详细攻略

AI之Data之Label Tool:Label Studio(多类型数据标注工具)的简介、安装和使用方法、案例应用之详细攻略 目录 Label Studio的简介 1、特点 Label Studio的安装和使用方法: 1、Label Studio 提供多种安装方式 T1、使用Docker安装 T2、使用pip安装&am…

【Linux相关】服务器无网情况配置conda

【Linux相关】 服务器无网情况配置conda 文章目录 环境配置1. 本地下载miniconda,传到服务器2. 确认安装包是否传送成功3. 确保有安装权限4. 安装5. 写路径6. 看一下是否成功 环境配置 ssh的话,服务器连不上网,无法在线下载,需要本…

Redis使用场景-缓存-缓存穿透

前言 之前在针对实习面试的博文中讲到Redis在实际开发中的生产问题,其中缓存穿透、击穿、雪崩在面试中问的最频繁,本文加了图解,希望帮助你更直观的了解缓存穿透😀 (放出之前写的针对实习面试的关于Redis生产问题的博…

Docker desktop 改变存储位置

项目场景: 在windows下,使用docker desktop是使用docker最简单直接的方式。但是,这毕竟是一个可视化的界面,使用起来还是和linux环境下的版本有很大的区别。 例如,使用docker desktop,会默认将镜像以及容…

[CA] 尝试深入理解core.cpp -1

#我给你代码,你给我在源代码上额外加上中文注释!,如果是函数告诉我它读取了什么结构,传递了什么值,可能或者已经知道它将在哪些函数利用,是体现了pipeline 的哪一步# #include "core.h" #includ…

宠物空气净化器推荐2024超详细测评 希喂VS霍尼韦尔谁能胜出

最近有粉丝一直在评论区和后台探讨宠物空气净化器是不是智商税的问题,有人认为宠物空气净化器肯定不是智商税,有些人认为将其购回家就是个没用的东西,还占地方,双方各有自己的观点。 其实宠物空气净化器和普通的空气净化器是有很大…

NeuIPS 2024 | YOCO的高效解码器-解码器架构

该研究提出了一种新的大模型架构,名为YOCO(You Only Cache Once),其目的是解决长序列语言模型推理中的内存瓶颈。YOCO通过解码器-解码器结构的创新设计,显著减少推理时的显存占用并提升了长序列的处理效率。 现有大模…

《数据挖掘:概念、模型、方法与算法(第三版)》

嘿,数据挖掘的小伙伴们!今天我要给你们介绍一本超级实用的书——《数据挖掘:概念、模型、方法与算法》第三版。这本书是数据挖掘领域的经典之作,由该领域的知名专家编写,系统性地介绍了在高维数据空间中分析和提取大量…

RT-DETR融合Inner-IoU及相关改进思路

RT-DETR使用教程: RT-DETR使用教程 RT-DETR改进汇总贴:RT-DETR更新汇总贴 《Inner-IoU: More Effective Intersection over Union Loss with Auxiliary Bounding Box》 一、 模块介绍 论文链接:https://arxiv.org/abs/2311.02877 代码链接&a…

解决“磁盘已插上,但Windows系统无法识别“问题

电脑上有2块硬盘,一块是500GB的固态硬盘,另一块是1000GB的机械硬盘,按下开机键,发现500G的固态硬盘识别了,但1000GB的机械硬盘却无法识别。后面为了描述方便,将"500GB的固态硬盘"称为X盘&#xf…

[2024年3月10日]第15届蓝桥杯青少组stema选拔赛C++中高级(第二子卷、编程题(2))

方法一&#xff08;string&#xff09;&#xff1a; #include <iostream> #include <string> using namespace std;// 检查是否为回文数 bool isPalindrome(int n) {string str to_string(n);int left 0, right str.size() - 1;while (left < right) {if (s…

智慧防汛平台在城市生命线安全建设中的应用

随着城市化进程的加快&#xff0c;城市基础设施的复杂性和互联性不断增强&#xff0c;城市生命线的安全管理面临前所未有的挑战。智慧防汛平台作为城市生命线安全建设的重要组成部分&#xff0c;通过现代信息技术提升城市防汛应急管理的智能化水平&#xff0c;保障城市安全。 …

【R安装】VSCODE安装及R语言环境配置

目录 VSCODE下载及安装VSCODE上配置R语言环境参考 Visual Studio Code&#xff08;简称“VSCode” &#xff09;是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的&#xff0c;针对于编写现代Web和云应用的跨平台源代码编辑器&…

Unity3D模型场景等测量长度和角度功能demo开发

最近项目用到多段连续测量物体长度和角度功能&#xff0c;自己研究了下。 1.其中向量角度计算&#xff1a; 需要传入三个坐标来进行计算。三个坐标确定两条向量线段的方向&#xff0c;从而来计算夹角。 public Vector3 SetAngle(Vector3 p1, Vector3 p2,Vector3 p3) { …