ROS 笔记(01)— Ubuntu 20.04 ROS 环境搭建

2023-11-17

1. 系统和 ROS 版本

不同的 ROS 版本所需的 ubuntu 版本不同,每一版 ROS 都有其对应版本的 Ubuntu ,切记不可随便安装。

具体可看 ROS 官网 https://wiki.ros.org/ROS/Installation

  • 操作系统选择 Ubuntu 20.04
  • ROS 版本 ROS noetic

2. 安装步骤

2.1 配置 ROS 软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

2.2 配置密钥

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

2.3 更新系统软件源

sudo apt update

2.4 安装 ROS

在这里可以选择完整版,这样就可以将 ROSrqtrviz、机器人通用库、2D/3D 仿真器、导航、2D/3D 感知等功能一次性安装完成。

sudo apt install ros-noetic-desktop-full

2.5 初始化 rosdep

在开始使用 ROS 之前,还需要安装 rosdeprosdepROS 一些核心组件的运行基础,会在编译 ROS 源码时检查和安装程序包依赖。

sudo rosdep init

执行完成如下图提示命令进行更新

Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

	rosdep update

2.6 配置账户

在当前用户目录下生成 .ros 目录,该目录下保存着日志文件和测试结果文件。

rosdep update

有如下打印说明更新成功

$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
...
updated cache in /home/xxx/.ros/rosdep/sources.cache

如果有以下错误发生

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
ERROR: error loading sources list:
	('The read operation timed out',)

请参考 rosdep update — The read operation timed out 解决方法

2.7 设置环境变量

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

到这里 ROS 的安装已经完成,可以通过下面命令查看 ROS 环境变量。

sudo print env | grep -i ros

2.8 安装依赖包

至此,ROS 的核心程序包就安装好了,为了构建和管理开发者自己的 ROS 工作空间,我们还需要再安装一些 ROS 依赖的包。

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

至此 ROS 的安装已经完成,为了验证安装是否成功,我们接着需要测试一下。

3. 验证安装

3.1 查看安装版本

$ rosversion -d
noetic

3.2 运行 demo

3.2.1 启动 ROS Master

输入命令

$ roscore 

输出打印

... logging to /home/xxx/.ros/log/02ee2bec-e7d5-11ec-b050-00e070ce7d11/roslaunch-jetty-pc-12973.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://jetty-pc:46029/
ros_comm version 1.14.13


SUMMARY
========

PARAMETERS
 * /rosdistro: noetic
 * /rosversion: 1.14.13

NODES

auto-starting new master
process[master]: started with pid [12993]
ROS_MASTER_URI=http://jetty-pc:11311/

setting /run_id to 02ee2bec-e7d5-11ec-b050-00e070ce7d11
process[rosout-1]: started with pid [13004]
started core service [/rosout]

3.2.2 启动小海龟仿真器

再另外打开一个终端,然后执行如下命令

$ rosrun turtlesim turtlesim_node 

输出打印

[ INFO] [1654766990.824376259]: Starting turtlesim with node name /turtlesim
[ INFO] [1654766990.832467864]: Spawning turtle [turtle1] at x=[5.544445], y=[5.544445], theta=[0.000000]

此时会出现一个新的窗口,此时的小乌龟是禁止不动的。

3.2.3 启动小海龟控制节点

我们再打开一个终端,执行如下命令

$ rosrun turtlesim turtle_teleop_key

输出打印

Reading from keyboard
---------------------------
Use arrow keys to move the turtle. 'q' to quit.

以上内容的大概意思是我们可以用键盘控制小海龟进行移动,我们在这个终端按键盘上的“上、下、左、右”键,此时发现小海龟也在移动。
1.jpg

需要注意的是:鼠标需要选中的是终端的窗口,不是可视化的界面窗口,否则操作不起作用。

3.2.4 查看节点关系图

我们再打开一个终端,运行以下命令,

$ rqt_graph

可以看到 ROS 的图形化界面,展示结点的关系:
2.jpg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS 笔记(01)— Ubuntu 20.04 ROS 环境搭建 的相关文章

  • 用acme.sh申请免费ssl证书-let‘s encrypt

    这个是申请泛域名证书 移动端和电脑端直接用这个就可以了 不需要分开申请 安装脚本 curl https get acme sh sh 进入 cd acme sh 看下目录有什么 root csdn ls adl acme sh drwx 8

随机推荐

  • CO_XT_COMPONENTS_DELETE 删除工单组件

    REPORT zdtest6 判断是否有原始组件 如有全删 DATA ls return TYPE coxt bapireturn DATA lt resbkeys TYPE coxt t resbdel lt return TYPE ST
  • RabbitMQ--扩展--03--日志文件,故障恢复,集群迁移,集群监控

    RabbitMQ 扩展 03 日志文件 故障恢复 集群迁移 集群监控 1 RabbitMQ日志查看 如果在使用RabbitMQ 的过程中出现了异常情况 通过查看RabbitMQ 的服务日志可以让你在处理异常的过程中事半功倍 RabbitMQ
  • python基础—字符串操作

    1 字符串 Python内置了一系列的数据类型 其中最主要的内置类型是数值类型 文本序列 字符串 类型 序列 列表 元组和range 类型 集合类型 映射 字典 类型 本章在介绍字符串 列表 元组和range类型共有的通用序列操作方法的基础
  • 常用的相似度计算方法原理及实现

    在数据分析和数据挖掘以及搜索引擎中 我们经常需要知道个体间差异的大小 进而评价个体的相似性和类别 常见的比如数据分析中比如相关分析 数据挖掘中的分类聚类 K Means等 算法 搜索引擎进行物品推荐时 相似度就是比较两个事物的相似性 一般通
  • 笔记本计算机bios设置,联想笔记本BIOS设置详解

    大部分用户朋友遇到系统损坏时 不得不选择重装系统这样简单粗暴快的方式来解决 然而在准备重装时却遇到BIOS设置难题 不得不求助网络上各路大神 却还是没能真正得到帮助 下面快启动小编为大家分享联想笔记本BIOS设置详解 希望能为大家排忧解难
  • 一些杂七杂八的概率统计基础(变分推断所需)

    在开始之前要了解以下这个统计学中背景知识 贝叶斯学派与频率学派 极大似然估计学派 最大的区别就是 贝叶斯学派认为参数 不是一个确定值 而是一个随机变量 且随机变量一定是服从某个分布的 在概率统计中 随机变量 随机数量 变量中的值是随机现象的
  • 莫烦强化学习视频笔记:第五节 5.2 Policy Gradients 算法更新和思维决策

    目录 1 要点 2 算法流程 3 算法代码形式 3 1 算法更新 3 2 思维决策 3 2 1 初始化 3 2 2 建立 Policy 神经网络 3 2 3 选行为 3 2 4 存储回合 3 2 5 学习 1 要点 Policy gradi
  • linux vim/vi 跳转到最后一行 跳转快捷键

    vim vi操作 跳到文本的最后一行 按 G 即 shift g 跳到文本的第一行的第一个字符 按两次 g 跳到当前行的最后一个字符 在当前行按 键 即 shift 4 跳到当前行的第一个字符 在当前行按 0
  • 《数字图像处理》笔记

    目录 第1章 绪论 1 1 图像概述 1 1 1 基本概念和术语 1 1 2 不同波段的图像示例 1 1 3 不同类型的图像示例 1 2 图像工程概述 1 2 1 图像工程的三个层次 1 3 图像表示和显示 1 3 1图像和像素的表示 1
  • Vue使用babel-polyfill兼容IE解决白屏及语法报错

    解决vue elementUI项目使用webpack打包上线后 服务器环境下IE报语法错误及白屏问题 在最近的项目中 在使用webpack打包后发布 有用户反馈使用IE浏览器访问会白屏 这就不能忍受了 经过排查发现 发生这个错误应该是有文件
  • Theos(七):常见问题

    目录 Theos 故障排除 Theos Troubleshooting 空的 THEOS 环境变量或者损坏的符号链接 Empty THEOS or corrupt symlink 缺少 SDK Missing SDK SDK 体积过小 Sm
  • js逆向之浏览器控制台

    js逆向之浏览器控制台 首先介绍一下浏览器控制台的使用 以开发者使用最多的chrome为例 Windows操作系统下的F12键可以打开控制台 mac操作系统下用Fn F12键打开 我们选择平时使用较多的模块进行介绍 2 1 Network
  • 详解HashMap+源码讲解(慎看!!!)

    HashMap 一 Map 1 关于Map的说明 2 Map常用方法说明 二 了解HashMap原理 自己实现 1 常用方法说明 使用 会用就行 1 实现一个HashMap对象 2 调用 put k v 3 调用 get k 2 什么是哈希
  • (jsp和Servlet 功能篇) Servlet 实现文件上传

    在开发过程中用得比较多的上传组件是commons fileupload和japSmartUpload 这两个组件都可以很好的完成文件上传的功能 此例用commons fileupload 这个组件在http jakarta apache o
  • 乐高叉车wedo教案_乐高 WEDO自带12个活动教学参考书.pdf

    活动内容 序号 活动名称 类别 Dancing Birds 1 跳舞的鸟 Spinner 2 疯狂机械 陀螺 Drumming Monkey 3 打鼓的猴子 Alligator 4 鳄鱼 Lion 5 野生动物 狮子 Bird 6 鸟 Go
  • 【TIDB】TIDB数据类型详解

    TIDB的数据类型 文章目录 TIDB的数据类型 1 数值类型 2 日期和时间类型 3 字符串类型 3 SET 类型 4 JSON类型 1 数值类型 1 整数类型 2 浮点类型 3 定点类型 decamal 20 6 2 日期和时间类型 3
  • C++实现顺序表和单链表

    顺序表 顺序表是在计算机内存中以数组的形式保存的线性表 是指用一组地址连续的存储单元依次存储数据元素的线性结构 确定了起始位置 就可通过公式计算出表中任一元素的地址 LOC ai LOC a1 i 1 L 1 i n L是元素占用存储单元的
  • 【信息】宁波银行金融科技系统研发面经:笔试,技术面,行政面,终面

    0 内推 我的内推码 90OF50 具体内推信息可见 宁波银行金融科技部2023届校招开始了 内推码 90OF50 社招请直接与我私信联系哦 前端 后端 数据 产品 测试 设计等等岗位求贤若渴 1 前言 答主已经如愿收到了offer 邮件
  • 数学建模之灰色关联分析(GRA)

    本文参考的是司守奎 孙兆亮主编的数学建模算法与应用 第二版 灰色关联分析不仅能够用做关联分析 也能够用于评价 其具体分析步骤如下 第一步 需要确定评价对象和参考数列 评价对象一般指的就是待分析的各个特征组 例如需要评价一个同学的成绩 那么他
  • ROS 笔记(01)— Ubuntu 20.04 ROS 环境搭建

    ROS 官网 https www ros org ROS 中文官网 http wiki ros org cn 1 系统和 ROS 版本 不同的 ROS 版本所需的 ubuntu 版本不同 每一版 ROS 都有其对应版本的 Ubuntu 切记