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

引言

在这里插入图片描述


学习目标

在这里插入图片描述


学习内容

1 PC 设置

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

1.1 兼容性注意事项
  • 警告:Jetson Nano 不支持原生的 Ubuntu 20.04。有关详细信息,请参阅 NVIDIA 开发者论坛。
  • 说明:本说明已在安装了 Ubuntu 20.04 和 ROS1 Noetic Ninjemys 的 Linux 系统上进行测试。
  • 安装前请详细参考 ———>专栏: Linux系统之Ubuntu系统安装 。
  • 安装前请详细参考 ———>专栏: Turtlebot3 PC端ROS环境搭建与仿真。
1.2 下载和安装 Ubuntu 系统

1.2.1 下载适用于 PC 的 Ubuntu 20.04 LTS Desktop 64 位镜像。

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

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

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

2 安装 ROS Noetic

2.1 在终端中依次输入以下命令来安装 ROS Noetic
# 更新包索引
sudo apt update# 升级现有包
sudo apt upgrade# 下载ROS Noetic的安装脚本
wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_noetic.sh# 为脚本添加执行权限
chmod 755 ./install_ros_noetic.sh # 执行安装脚本
bash ./install_ros_noetic.sh
2.2 专栏参考教程

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

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


3 安装依赖的 ROS 包

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

4 安装 TurtleBot3 包

4.1 通过Debian包安装TurtleBot3
# 安装Dynamixel SDK和TurtleBot3包
sudo apt install ros-noetic-dynamixel-sdk
sudo apt install ros-noetic-turtlebot3-msgs
sudo apt install ros-noetic-turtlebot3
4.2 通过源代码构建(推荐)
# 移除现有包
sudo apt remove ros-noetic-dynamixel-sdk
sudo apt remove ros-noetic-turtlebot3-msgs
sudo apt remove ros-noetic-turtlebot3# 创建工作空间并克隆源码
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src/
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/DynamixelSDK.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git
git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git# 编译工作空间
cd ~/catkin_ws && catkin_make# 添加工作空间环境到.bashrc
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

5 网络配置

5.1 查找分配的IP地址

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

# 获取IP地址
ifconfig

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

5.2 更新ROS的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端搭建稳定的TurtleBot3控制环境,并为后续的机器人开发工作奠定基础。
  • 最后通过验证安装确保ROS配置成功,为后续的机器人控制和算法开发奠定基础。

欢迎大家评论留言!!!


友情提示:

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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

009_SSH_Mysql图书管理系统(学生注册 借书 还书 绵阳)——lwplus87(免费送)

Abstract IV 第1章 概述... 1 1.1 课题背景... 1 1.2 课题意义... 1 1.3 文献综述... 2 1.3.1 技术综述... 2 1.4 总体设计原则... 2 第2章 系统分析... 4 2.1 系统的需求分析... 4 2.2 业务流程分析... 5 2.2.1 系统管理员业务流程分析... 5 2.3 数据流程分析... 7 2.3.1 图书…

微服务电商平台课程三:搭建后台服务

前言 上节课,我们一起完成基础环境搭建,这节课, 我们利用上节课搭建我们电商平台.这节课我们采用开源代码进行搭建, 不论大家后续从事什么行业,都要学会站在巨人的肩膀上. 之前所说的,整个微服务平台的技术栈也是非常多的, 由于时间和效果的关系, 我们不可能从每个技术一步一…

解决MySQL中整型字段条件判断禁用不生效的问题

MySQL中&#xff0c;当尝试将整数与字符串进行比较时&#xff0c;数据库可能会尝试将字符串转换为整数。在这种情况下&#xff0c;空字符串会被转换为整数0&#xff0c;所以0 ! 会被解释为0 ! 0&#xff0c;结果自然是false。 在开发过程中&#xff0c;我们经常需要对数据库中的…

大数据技术在金融风控中的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 大数据技术在金融风控中的应用 大数据技术在金融风控中的应用 大数据技术在金融风控中的应用 引言 大数据技术概述 定义与原理 发…

微信小程序_模板与配置_day2

一、目标 A. 能够使用WXML模板语法渲染页面结构 B. 能够使用WXSS样式装饰页面结构 C. 能够使用app.json对小程序进行全局性配置 D. 能够使用page.json对小程序页面进行个性化配置 E. 能够知道如何发起网络数据请求 二、目录 A. WXML模板语法 B. WXSS模板样式 C. 全局配置 D.…

网络安全技术在能源领域的应用

摘要 随着信息技术的飞速发展&#xff0c;能源领域逐渐实现了数字化、网络化和智能化。然而&#xff0c;这也使得能源系统面临着前所未有的网络安全威胁。本文从技术的角度出发&#xff0c;探讨了网络安全技术在能源领域的应用&#xff0c;分析了能源现状面临的网络安全威胁&a…

设计模式-七个基本原则之一-单一职责原则 + SpringBoot案例

单一职责原理:(SRP) 面向对象七个基本原则之一 清晰的职责&#xff1a;每个类应该有一个明确的职责&#xff0c;避免将多个责任混合在一起。降低耦合&#xff1a;通过将不同的职责分开&#xff0c;可以降低类之间的耦合度&#xff0c;提高系统的灵活性。易于维护&#xff1a;当…

nvm 安装指定node版本时--list 显示为空

1、安装nvm 2、查看nvm 可安装的list 语句&#xff1a; nvm list available 注&#xff1a; 可能需要安装的不在list 中&#xff0c;可直接 用命令语句 安装指定版本 nvm install 12.18.1 如果安装list 显示为空 找到安装路径下的 settings.txt,最后两行没有的添加上&#x…

[HNCTF 2022 Week1]ret2shellcode-好久不见12

知识点&#xff1a;1.shellcode获取 获取Shellcode的两种方法&#xff1a; 手写&#xff1a;想办法调用execve("/bin/sh",null,null) 传入字符串&#xff1a;/bin///sh 系统调用execve pwntools自动生成&#xff1a; 先指定context.arch"i386/amd64" …

实现3D热力图

实现思路 首先是需要用canvas绘制一个2D的热力图&#xff0c;如果你还不会&#xff0c;请看json绘制热力图。使用Threejs中的canvas贴图&#xff0c;将贴图贴在PlaneGeometry平面上。使用着色器材质&#xff0c;更具json中的数据让平面模型 拔地而起。使用Threejs内置的TWEEN&…

力扣 LeetCode 977. 有序数组的平方(Day1:数组)

解题思路&#xff1a; 方法一&#xff1a;先平方再快排 方法二&#xff1a;双指针 因为可能有负数&#xff0c;所以对于一个数组 [ -5 , -3 , 0 , 2 , 4 ] 可以从两边向内靠拢&#xff0c;最大值一定出现在两端 设置指针 i 和指针 j 分别从左右两边靠拢 因为要从小到大排序…

[vulnhub] DarkHole: 1

https://www.vulnhub.com/entry/darkhole-1,724/ 端口扫描主机发现 探测存活主机&#xff0c;184是靶机 nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 09:59 CST Nmap scan report for 192.168.75.1 Host is up (0.00027s latency). MA…

[免费]SpringBoot+Vue3校园宿舍管理系统(优质版)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的SpringBootVue3校园宿舍管理系统(优质版)&#xff0c;分享下哈。 项目视频演示 【免费】SpringBootVue3校园宿舍管理系统(优质版) Java毕业设计_哔哩哔哩_bilibili 项目介绍 随着信息技术的不断发展&…

docker基础:搭建centos7(详见B站泷羽sec)

docker的简单学习&#xff1a; sudo apt-get update //这个命令让系统检查有没有新软件 sudo apt-get install docker.io //安装 Docker sudo docker version //查看是否安装成功&#xff0c;显示docker的版本信息 启用Docker 启…

Vue3入门介绍及快速上手

vue3 文章目录 vue31、概况2、快速入门3、常用指令3.1、v-for3.2、v-bind3.3、 v-if & v-show3.4、v-model3.5、 v-on 4 生命周期5、 工程化5.1、环境准备5.2、Vue项目-创建5.3、Vue项目开发流程5.4、组合式API5.5、reactive和ref函数5.6、watch5.7、父子组件通信 6、Vue路…

【ARM Coresight OpenOCD 系列 5 -- arp_examine 使用介绍】

文章目录 OpenOCD arp_examine 使用 OpenOCD arp_examine 使用 因为我们很多时候运行 Openocd 的时候有些 core 还没有启动, 所以最好在配置脚本中添加 -defer-examine这个参数, 如下&#xff1a; #cortex-m33 target create ${_CHIPNAME}.m33 cortex_m -dap ${_CHIPNAME}.da…

【大数据学习 | kafka高级部分】kafka的kraft集群

首先我们分析一下zookeeper在kafka中的作用 zookeeper可以实现controller的选举&#xff0c;并且记录topic和partition的元数据信息&#xff0c;帮助多个broker同步数据信息。 在新版本中的kraft模式中可以这个管理和选举可以用kafka自己完成&#xff0c;而不再依赖zookeeper。…

用户裂变数据分析

用户增长是一个工作和找工作的时候都不可避免的话题&#xff0c;那么用户增长&#xff0c;该怎么做数据分析&#xff1f;本文从两个方面分享了大部分企业做用户增长的方法&#xff0c;希望对你有所帮助。 01 用户增长的基本办法 1. 买量 在互联网公司中&#xff0c;买量是占…

论文分享:DiskANN查询算法

详细总结了三篇有关DiskANN最邻近查询图算法的论文 欢迎大家来点赞&#xff0c;更欢迎感兴趣的友友来探讨&#xff01; DiskANN的提出(NurIPS’19)文献分享: Vamana图算法以及面向SSD的DiskANN文章浏览阅读797次&#xff0c;点赞21次&#xff0c;收藏8次。NurIPS‘19_vamana图…