Ubuntu 的 ROS2 操作系统turtlebot3环境搭建

news2024/12/27 13:26:25

引言

在这里插入图片描述


学习目标

在这里插入图片描述


学习内容

1 PC 设置

注意:本文内容对应的是远程PC(桌面或笔记本电脑),用于控制TurtleBot3。 请勿将此指令应用到TurtleBot3机器人上。

1.1 兼容性注意事项
  • 说明:本说明已在安装了 Ubuntu 22.04 和 ROS2 Humble 版本的 Linux 系统上进行测试。
  • 安装前请详细参考 ———>专栏: Linux系统之Ubuntu系统安装 。
  • 安装前请详细参考 ———>专栏: Turtlebot3 PC端ROS环境搭建与仿真。
1.2 下载和安装 Ubuntu 系统

1.2.1 下载适用于 PC 的 Ubuntu 22.04 LTS 镜像。

  • 🕐见专栏:Linux系统之Ubuntu系统安装之 1-磁盘建立空闲分区。
  • 🕑见专栏:Linux系统之Ubuntu系统安装之 2-Ubuntu/Windows系统启动盘制作。

1.2.2 按照 安装 Ubuntu 的说明在 PC 上安装 Ubuntu 桌面版。

  • 见专栏:Linux系统之Ubuntu系统安装之 3-Ubuntu系统详细安装教程。

2 安装 ROS2 Humble

2.1 在终端中依次输入以下命令来安装 ROS2 Humble
# 更新包索引
sudo apt update

# 升级现有包
sudo apt upgrade

# 安装 ROS2 Humble
sudo apt install ros-humble-desktop

# 安装 ROS2 的开发工具
sudo apt install ros-humble-ros-base

2.2 专栏参考教程

如果2.1安装步骤失败,请参考下列教程:

专栏:Turtlebot3 PC端ROS环境搭建与仿真之 Ubuntu 的 ROS 2 操作系统安装与测试。


3 安装依赖的 ROS2 包

# 安装 TurtleBot3 需要的 ROS2 依赖包
sudo apt install ros-humble-joy ros-humble-teleop-twist-joy \
ros-humble-teleop-twist-keyboard ros-humble-laser-proc \
ros-humble-rgbd-launch ros-humble-rosserial-arduino \
ros-humble-rosserial-python ros-humble-rosserial-client \
ros-humble-rosserial-msgs ros-humble-amcl ros-humble-map-server \
ros-humble-move-base ros-humble-urdf ros-humble-xacro \
ros-humble-compressed-image-transport ros-humble-rqt* ros-humble-rviz \
ros-humble-gmapping ros-humble-navigation ros-humble-interactive-markers


4 安装 TurtleBot3 包

4.1 通过Debian包安装TurtleBot3
# 安装 Dynamixel SDK 和 TurtleBot3 包
sudo apt install ros-humble-dynamixel-sdk
sudo apt install ros-humble-turtlebot3-msgs
sudo apt install ros-humble-turtlebot3

4.2 通过源代码构建(推荐)
# 移除现有包
sudo apt remove ros-humble-dynamixel-sdk
sudo apt remove ros-humble-turtlebot3-msgs
sudo apt remove ros-humble-turtlebot3

# 创建工作空间并克隆源码
mkdir -p ~/turtlebot3_ws/src
cd ~/turtlebot3_ws/src/
git clone -b humble-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b humble-devel https://github.com/ROBOTIS-GIT/turtlebot3.git

# 编译工作空间
cd ~/turtlebot3_ws
colcon build --symlink-install

# 添加工作空间环境到 .bashrc
gedit 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
source ~/.bashrc


5 网络配置

5.1 查找分配的IP地址

连接PC到WiFi设备,并使用以下命令查找分配的IP地址:

# 获取IP地址
ifconfig

参考图例如下图所示:
在这里插入图片描述

5.2 更新 ROS2 的IP设置

打开.bashrc文件,并根据上面获取的IP地址更新ROS的IP设置。

# 打开.bashrc文件
gedit ~/.bashrc

# 将localhost地址替换为获取的IP地址
# 在文件末尾添加以下内容
export ROS_MASTER_URI=http://<Your_PC_IP>:11311
export ROS_HOSTNAME=<Your_PC_IP>

参考图例如下图所示:

在这里插入图片描述

5.3 更新.bashrc配置
# 重新加载.bashrc
source ~/.bashrc


小结

  • 本文详细介绍了在 Ubuntu 系统上为 TurtleBot3 配置 ROS Noetic 环境的步骤,包含系统安装、依赖包安装和网络配置。
  • 通过本文的逐步操作,用户能够在 PC 端搭建稳定的 ROS 环境,有效控制 TurtleBot3 并为后续的机器人开发和算法调试打好基础,确保设备间的连接和 ROS 设置顺利完成。

欢迎大家评论留言!!!


友情提示:

  • 专栏:Turtlebot3 PC端ROS环境搭建与仿真
  • 下一节:Ubuntu 的 ROS 操作系统 turtlebot3 环境测试

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

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

相关文章

区块链技术在慈善捐赠中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 区块链技术在慈善捐赠中的应用 区块链技术在慈善捐赠中的应用 区块链技术在慈善捐赠中的应用 引言 区块链技术概述 定义与原理 发…

C++ | Leetcode C++题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; class Solution { public:int nextGreaterElement(int n) {int x n, cnt 1;for (; x > 10 && x / 10 % 10 > x % 10; x / 10) {cnt;}x / 10;if (x 0) {return -1;}int targetDigit x % 10;int x2 n, cnt2 0;for (; x2 …

MySql-8.0.40安装详细教程

文章目录 原创下载安装包安装配置初始化MySQL数据库安装mysql服务并启动启动MySQL服务连接MySQL配置环境变量 原创 MySql-8.0.26安装详细教程&#xff08;保姆级&#xff09; 下载安装包 MySQL Community Downloads 直接到选择MySQL Community Server版本页面 MySQL Commun…

算法学习第一弹——C++基础

早上好啊&#xff0c;大佬们。来看看咱们这回学点啥&#xff0c;在前不久刚出完C语言写的PTA中L1的题目&#xff0c;想必大家都不过瘾&#xff0c;感觉那些题都不过如此&#xff0c;所以&#xff0c;为了我们能更好的去处理更难的题目&#xff0c;小白兔决定奋发图强&#xff0…

vue2 -- el-form组件动态增减表单项及表单项验证

需求 在数据录入场景(如订单信息录入)中,可根据实际情况(如商品种类增加)动态添加表单项(如商品相关信息)。包含必填项验证和数据格式验证(如邮箱、电话格式),防止错误数据提交。 效果 代码一 <template><div>

【GPTs】Get Simpsonized:一键变身趣味辛普森角色

博客主页&#xff1a; [小ᶻZ࿆] 本文专栏: AIGC | GPTs应用实例 文章目录 &#x1f4af;GPTs指令&#x1f4af;前言&#x1f4af;Get Simpsonized主要功能适用场景优点缺点使用方式 &#x1f4af;小结 &#x1f4af;GPTs指令 中文翻译&#xff1a; 指令保护和安全规则&…

丹摩征文活动|CogVideoX-2b:从安装到上线,轻松搞定全过程!

CogVideoX-2b&#xff1a;从安装到上线&#xff0c;轻松搞定全过程&#xff01; CogVideoX简介 CogVideoX的推出标志着视频生成技术的一次重大突破。过去&#xff0c;如何在保持高效的同时提升视频质量一直是一个难题&#xff0c;但CogVideoX 通过其先进的3D变分自编码器&…

CocosCreator 构建透明背景应用(最新版!!!)

文章目录 透明原理补充设置截图以及代码step1: electron-js mian.jsstep2:ENABLE_TRANSPARENT_CANVASstep3:SOLID_COLOR Transparentstep:4 Build Web phonestep5:package electron-js & change body background-color 效果图补充 透明原理 使用Cocos creator 做桌面应用开…

【H2O2|全栈】JS案例章节(三)——轮播图实现

目录 前言 开篇语 准备工作 需求 HTML和CSS 注意事项 原生JS实现 变量设置 方法设置 自动轮播与轮播销毁 翻页按钮 li点击切换指定图片 JQuery实现 变量设置 方法设置 自动轮播与轮播销毁 翻页按钮 li点击切换指定图片 结束语 前言 开篇语 本系列为短章节…

Vivado+Vscode联合打造verilog环境

一、Vivado下载安装 详细参考我另一篇文章&#xff1a; Vivado2022.2下载安装_fpga vivado下载-CSDN博客https://blog.csdn.net/weixin_61081689/article/details/143460790?spm1001.2014.3001.5501 二、Vscode下载安装 详细参考我另一篇文章&#xff1a; VscodeAnacond…

A20红色革命文物征集管理系统

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

【软考】系统架构设计师-计算机系统基础(1):计算机硬件

知识点汇总 1、指令集 精简指令集RISC&#xff1a;寄存器&#xff0c;硬布线&#xff0c;效率高&#xff1b;复杂指令集CISC&#xff1a;微程序控制技术&#xff0c;效率低&#xff1b; 2、奇偶校验码&#xff1a;码距是2&#xff08;出错位校验位&#xff09;&#xff0c;只…

掌握高级 SQL 技巧:提升数据查询和管理能力

&#x1f4dd;个人主页&#x1f339;&#xff1a;一ge科研小菜鸡-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; SQL&#xff08;Structured Query Language&#xff09;是处理和管理关系型数据库的重要工具。随着数据量的增加和业务需求的复杂…

从无音响Windows 端到 有音响macOS 端实时音频传输播放

以下是从 Windows 端到 macOS 端传输音频的优化方案&#xff0c;基于上述链接中的思路进行调整&#xff1a; Windows 端操作 安装必要软件 安装 Python&#xff08;确保版本兼容且已正确配置环境变量&#xff09;。安装 PyAudio 库&#xff0c;可通过 pip install pyaudio 命令…

Python小试牛刀:第一次爬虫,获取国家编码名称

使用场景&#xff1a; 需要初始化国家&#xff08;地区表&#xff09;&#xff0c;字段有国家名称、国家编码等等。 解决方案&#xff1a; 使用requests发送请求&#xff0c;使用bs4解析得到的HTML&#xff0c;打开F12&#xff0c;查看元素&#xff0c;&#xff08;可以Ctrl…

“倒时差”用英语怎么说?生活英语口语学习柯桥外语培训

“倒时差”用英语怎么说&#xff1f; “倒时差”&#xff0c;这个让无数旅人闻之色变的词汇&#xff0c;在英语中对应的正是“Jet Lag”。"Jet" 指的是喷气式飞机&#xff0c;而 "lag" 指的是落后或延迟。这个短语形象地描述了当人们乘坐喷气式飞机快速穿…

图书推荐 | Python金融大数据分析快速入门与案例详解(文末免费送书)

1、Python编程语言与金融大数据分析 随着信息技术的飞速发展&#xff0c;大数据分析技术应运而生&#xff0c;为各行各业带来了前所未有的变革。金融行业作为全球经济的核心&#xff0c;对数据十分依赖。因此&#xff0c;掌握大数据分析技术对于金融从业者来说具有重要的现实意…

易泊车牌识别相机:4S 店的智能之选

在当今数字化时代&#xff0c;科技的进步不断为各个行业带来更高效、便捷的解决方案。对于 4S 店来说&#xff0c;易泊车牌识别相机的出现&#xff0c;无疑为其运营管理带来了全新的变革。 一、易泊车牌识别相机的强大功能 易泊车牌识别相机以其卓越的性能和精准的识别能力&…

Docker平台搭建方法

Docker平台搭建方法 1.1在VMware中创建两个虚拟机&#xff0c;只需要1个网卡&#xff0c;连接192.168.200.0网络。 虚拟机分配2个CPU,2G内存&#xff0c;60G硬盘&#xff0c;主机名分别为server和client,IP地址分别为192.168.200.137和192.168.200.138。server节点还兼做regis…

云计算在教育领域的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 云计算在教育领域的应用 云计算在教育领域的应用 云计算在教育领域的应用 引言 云计算概述 定义与原理 发展历程 云计算的关键技…