惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
L
LINUX DO - 最新话题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
小众软件
小众软件
Jina AI
Jina AI
The Cloudflare Blog
P
Palo Alto Networks Blog
AWS News Blog
AWS News Blog
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
Know Your Adversary
Know Your Adversary
T
Threat Research - Cisco Blogs
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
G
GRAHAM CLULEY
Project Zero
Project Zero
博客园_首页
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
Spread Privacy
Spread Privacy
WordPress大学
WordPress大学
Hugging Face - Blog
Hugging Face - Blog
Latest news
Latest news
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tor Project blog
S
Securelist
V
Vulnerabilities – Threatpost
T
The Exploit Database - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
IT之家
IT之家
Google DeepMind News
Google DeepMind News
爱范儿
爱范儿
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Last Watchdog
The Last Watchdog
T
Tenable Blog
宝玉的分享
宝玉的分享
S
Secure Thoughts
P
Privacy & Cybersecurity Law Blog
量子位
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Security Archives - TechRepublic
Security Archives - TechRepublic

博客园 - Lucky帅小武

AI学习入门,超清晰AI知识图谱整理及核心概念解析 基于SSM的在线考试系统毕业设计论文【范文】 基于SSM的仓库进销存系统毕业设计论文【范文】 基于SSM的在线外卖订餐系统毕业设计论文【范文】 基于SSM的酒店管理系统毕业设计论文【范文】 基于SSM的校园论坛网站系统毕业设计论文【范文】 ROS2笔记6--ROS2常用命令工具 ROS2笔记5--动作通讯 ROS2笔记4--服务通讯 ROS2笔记3--话题通讯 ROS2笔记2--工作空间、功能包、节点 基于SSM的网上商城系统毕业设计论文【范文】 软考笔记(1)--操作系统 软考笔记(9)--计算机组成原理4--总线系统 软考笔记(9)--计算机组成原理3--处理器 软考笔记(9)--计算机组成原理2--指令系统 软考笔记(8)--多媒体技术 软考笔记(7)--数据库关系代数 软考笔记(5)--系统安全性与保密性设计
ROS2笔记1--简介及开发环境搭建
Lucky帅小武 · 2024-04-17 · via 博客园 - Lucky帅小武

一、ROS2简介

1.1、ROS2概述

ROS2是第二代的Robot Operating System, ROS1的升级版本,解决了ROS1存在的一些问题。与ROS1相比,Linux版本与ROS2版本的选择也有关系,对应关系如下:

ROS2版本

Ubuntu版本

Foxy

Ubuntu20.04

Galactic

Ubuntu20.04

Humble

Ubuntu22.04

1.2、ROS2特性

1、ROS2全面支持三种平台:Ubuntu、MAC OS X、Windows10

2、实现了分布式架构,取消Master中央节点,实现节点的分布式发现,发布/订阅,请求/响应通讯

3、支持实时

4、使用新版本的编程语言:C++11、Python3.5+

5、使用了新的编译系统Ament,ROS为Catkin

6、ROS1可以通过rosbridge和ROS2通信

1.3、ROS2与ROS1的区别

1、语言

ROS1核心是C++03,而ROS2广泛使用C++11

ROS的Python使用Python2,ROS2使用的Python版本至少是3.5及以上,Foxy使用的Python版本是3.8

2、中间件

ROS1启动前需要开启roscore,这个master负责所有节点之间的通讯,而ROS2则没有,只有一个抽象的中间件接口,通过该接口传输数据。此接口所有实现都基于DDS标准,使得ROS2能够提供各种优质的Qos服务策略,改善不同网络的通信。

3、编译命令

ROS1的编译命令为catkin_make;ROS2的编译命令为colcon build

二、ROS2安装Foxy

2.1、设置语言环境

先检查本地语言环境是否支持UTF-8编码,语言环境可以不同,但必须支持UTF-8编码,调用如下指令检查并设置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.2、设置软件源

启动Ubuntu universe存储库

 
sudo apt install software-properties-common
sudo add-apt-repository universe

将ROS2 apt存储库添加到系统,用apt授权GPG密钥

sudo apt update && sudo apt install curl -y
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 $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.lsit > /dev/null

2.3、安装Foxy

1、首先更新apt存储库缓存

sudo apt update

2、然后升级已安装的软件,ROS2软件包建立在经常更新的Ubuntu系统上,在安装新软件包之前确保系统是最新的。

sudo apt upgrade

3、安装桌面版ROS2合适的版本

Foxy版本:

sudo apt install ros-foxy-desktop python3-argcomplete

Humble版本:

sudo apt install ros-humble-desktop

4、安装colcon构建工具

sudo apt install python3-colcon-common-extensions

2.4、配置环境

终端下,执行ROS2程序时,需要调用如下命令配置环境:

方法1:执行下面命令单次有效,每次新开终端时都得执行命令

source /opt/ros/foxy/setup.bash

方法2:将配置环境指令写入~/.bashrc文件中,那么新启动终端时不需要手动配置

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

2.5、卸载ROS2

执行如下命令协助ROS2:

sudo apt remove ~nros-foxy-* && sudo apt autoremove

还可以再删除ROS2对应的存储库:

sudo rm /etc/apt/sources.list.d/ros2.list 
sudo apt update 
sudo apt autoremove 
sudo apt upgrade

三、ROS2集成开发环境搭建

3.1、Ubuntu安装vscode

方法1:通过Snapcraft安装

sudo apt update 
sudo apt install snapd 
sudo snap install --classic code

方法2:通过Ubuntu Make安装

sudo apt install ubuntu-make 
umake --install code

方法3:下载官方DEB软件包安装

访问Visual Studio Code官网下载最新DEB软件包

下载完成后打开包含DEB文件的文件夹,在终端输入安装命令:

sudo dpkg -i code_*.deb

其中 code_*.deb是下载的DEB文件的具体名称

3.2、安装Git