Ubuntu20.04以及ROS系统的安装(避坑指南)

2023-05-16

一、Ubuntu20.04的安装

        暑期在我导那里确认好研究方向后,一个人摸爬滚打走来确实走了不少弯路,遂决定写下这篇文章来帮助有需要的朋友来避坑。本次安装是通过VMware来创建一台虚拟机进行后续操作,之所以选择20.04而不是最新版的是因为Ubuntu22.04没有与之对应的ROS1版本,这会导致后边ROS系统安装不成功。

        1.下载VMware 下载 VMware Workstation Pro | CN 

        进入系统界面点击【帮助】栏中的输入许可证密钥  YF390-0HF8P-M81RQ-2DXQE-M2UT6即可正常使用,如果后续这个密钥过期了也可以自行去网上搜索。

        2.下载镜像文件 Tsinghua Open Source Mirror

        进入上述网址可下载清华大学的镜像文件,选择Ubuntu-20.04.5-desktop-amd64.iso文件下载即可。

        3.创建虚拟机

          点击下一步后,选择稍后安装操作系统

         选择Linux系统以及Ubuntu64位

         根据自己需求设置磁盘大小(其实在虚拟机上的话也无所谓,后边需要改也很方便)。

         点击完成后,进入编辑虚拟机设置选项,在硬件CD/DVD(SATA)一栏选择使用之前下好的ISO映像文件。然后就可以打开虚拟机了。

         等待一会便会出现下图界面,选择好语言安装Ubuntu。

         默认选项并继续。

         下边选项建议将安装Ubuntu时下载更新取消掉,后续用到的时候再去更新也无妨,当然了如果时间充裕的话也可以选上。

         这里因为是虚拟机也可以不用管,选择现在安装,后边弹窗也默认继续。

         这里只要是选择这个时区应该都是默认的上海了。

         设置自己的信息并继续就可以安装了,等待时间可能稍微有点长。

         安装完成后系统会直接重启,记得将该状态栏重新调整为使用物理驱动器

         选项一栏中将共享文件夹启用并设置相关路径可以实现文件夹的交互(直接拖拽)。另外最新的几个版本都是自动安装了VMware Tools可以直接全屏,再古老一点的版本需要自行安装。如果最近的几个版本不能全屏或者是看着不舒适可以点击虚拟机右上方关机键,选择设置选项并进入显示器调整分辨率。

         最后上方虚拟机有个神奇的功能叫快照,可以记录当前虚拟机的状态(血的教训!!!推荐各位还是设置一下,不然后边莫名其妙系统崩了其他方法也解决不了的话只能重新安装,天知道我这一两个月装了多少回,现在养成了习惯,每有一个大的改动就快照一下。)

         到这里第一大块Ubuntu系统的安装就完成了,下面将介绍怎么安装ROS系统。

二、ROS系统的安装(noetic)

        右键选择在终端打开或者快捷键CTRL+ALT+T打开终端输入。

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.添加密钥    

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

3.添加密钥

$ sudo apt update
$ sudo apt install ros-noetic-desktop-full

        上述noetic为Ubuntu20.04对应的ROS版本,若要安装其他版本可自行更换成melodic等。

4.初始化rosdep(最新的几个版本可以省略)

5.设置环境变量

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

6.安装rosinstall

$ sudo apt install python3-rosinstall python3-rosinstall-generator python3-wstool build-essential

7.检验环节

        打开终端输入roscore,安装成功便会显示ROS系统的版本号。

         接着我们就可以跑一个简单的小海龟例程了。另起终端并输入下代码即可看到一只小海龟。

$ rosrun turtlesim turtlesim_node

         再另起一个终端还可以实现用键盘控制小海龟的移动。

$ rosrun turtlesim turtle_teleop_key 

        写在最后,如果仅仅只是想体验一下装虚拟机就行,耗时短,交互比较方便,还有快照功能,可以避免很多问题,但要是想深入研究还是要去安装双系统的,虚拟机在某些地方就不能满足你的性能要求了。

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

Ubuntu20.04以及ROS系统的安装(避坑指南) 的相关文章

  • socket编程二十六:基于UDP的服务器端和客户端

    前面的文章中我们给出了几个 TCP 的例子 xff0c 对于 UDP 而言 xff0c 只要能理解前面的内容 xff0c 实现并非难事 UDP中的服务器端和客户端没有连接 UDP 不像 TCP xff0c 无需在连接状态下交换数据 xff0
  • 下载高清电影的必须收藏的网站

    下载高清电影的必须收藏的网站 Posted 2012 12 06 分类 生活范儿 电影 生活范儿 电影 CHD 虽然蓝光推出 xff0c 但是高清已经势不可挡 xff0c 动辄几G甚至几十G一部的电影冲击着我们的视觉 xff0c 也考验着我
  • 电赛总结|电赛注意事项

    电赛总结 赛前 1 准备模块非常重要 如果没有提前准备模块 xff0c 在赛中也是在想尽办法买模块 xff0c 只是花更多的钱和运费等 xff0c 也不会去自己搭 所以赛前一定要准备模块 常见模块 降压模块 xff0c 升压稳压模块 xff
  • Putty使用教程

    Putty作为免费且开源的老牌 SSH 客户端 xff0c PuTTY 经常用于 Windows 下连接管理远程服务器 为方便刚接触 VPS 的新手参考使用 xff0c 本文配合截图介绍 PuTTY 的基础用法及一些设置技巧 xff0c 希
  • #Python实现话题的发布与订阅

    Python实现话题的发布与订阅 首先我们的先了解ROS文件系统的基本框架 xff0c 如下图所示 xff1a 由上图可知 xff0c py文件放在工作包里面的scripts文件夹内 xff0c 所以 xff0c 整活 xff01 1 在工
  • #创建自定义topic

    创建自定义topic 前面我们学了用C 43 43 和Python创建发布者与订阅者 xff0c 这次我们创建自定义的话题 xff0c 其实同C 43 43 实现topic差不多 xff0c 都是编写 cpp文件 步骤有点多且繁琐 xff0
  • #使用TF实现海龟机器人跟随

    使用TF实现海龟机器人跟随 昨天粗略地讲解了一会儿TF变换 xff0c 用的是ROS系统中自带的功能包实现小海龟跟随的功能 xff08 具体见 初识TF变换 xff09 今天我们将用自己编写节点的方式实现小海龟跟随的功能 xff0c 并且
  • #创建虚拟机器人URDF模型

    创建虚拟机器人URDF模型 题外话 xff1a 作业发布已有一两天了 xff0c 之所以今天才编辑这篇博客 xff0c 是因为我也遇到问题了 xff0c 现在以及解决了 xff08 小细节 xff1a 创建功能包之前先编译工作空间确保里面已
  • # gazebo 仿真

    gazebo 仿真 1 给 base link 添加惯性 xff0c 碰撞以及 gazebo 属性 在路径xqrobot description urdf xacro 件夹下新建 件夹 gazebo xff0c 并在 gazebo 件下创建
  • #Gmapping

    Gmapping 开始之前先安装两个功能包 xff0c 命令如下 xff1a sudo apt span class token operator span get install ros span class token operator
  • #navigation

    navigation 1 安装相关依赖 sudo apt span class token operator span get install ros span class token operator span kinetic span
  • # Qt_day1

    Qt day1 1 项目框架 span class token macro property span class token directive hash span span class token directive keyword i
  • ros先订阅后发布 无法收到消息的解决办法

    现象 今天遇到的问题是 使用的是Ros1 在先订阅后发布时 会导致订阅者无法收到订阅的消息 除非在发布者发布后重新订阅 思考 以前使用的是Ros2似乎并不关心订阅和发布的先后顺序 nbsp 似乎都可以收到消息 nbsp nbsp 这个问题后
  • C/C++中关于struct和class类的区别

    struct和class的主要的区别在于两者默认的访问权限有所不同 在不设置类中的成员属性和成员方法的权限时 xff0c struct默认的访问权限是公共权限 xff0c class默认的访问权限是私有权限 补充 xff1a 成员属性和成员
  • C++中STL容器的主要使用及含义

    1 stack栈容器的使用 假如栈中存放的是字符串 xff0c 我们做如下定义 xff1a stack lt string gt ss 设该变量名为ss 其主要用法如下 xff1a ss push a 存入栈中元素a ss top 读取栈顶
  • 电赛备赛记录第一篇(控制部分)

    2022 5 25 九校联赛备赛阶段第一天 联赛小车系统沿用去年国赛使用的树莓派驱动底板与外设 整车情况良好 xff0c 摄像头通信 连接均正常 xff0c 现已拼装完整 复产复工的初步成果为 xff1a 小车可以实现开机自启动的程序运行
  • 数据结构——栈详解

    1 栈 Stack 是一种线性存储结构 xff0c 它具有如下特点 xff1a xff08 1 xff09 栈中的数据元素遵守 先进后出 34 First In Last Out 的原则 xff0c 简称FILO结构 xff08 后进先出的
  • 双目相机标定

    一 运行环境 opencv2 windows vs 二 图像获取 分割 保存 参考博客opencv打开双目摄像头 图像切割保存 scutqq的博客 CSDN博客 双目图像分割 include amp lt opencv2 core core
  • uart1接收不定长度数据和发送:STM32 HAL库串口+DMA+IDLE空闲中断

    DMA增加 xff1a usart1 gpio 默认即可 usart1中断必须打开 在 STM32 中 USART 发送接收有三种基本方式 xff0c 轮询 中断和 DMA 1 轮询方式为堵塞模式 xff0c 使用超时管理机制 它每次接收一
  • 串口、网口等自定义通信协议的问题

    自定义通信协议的问题 一 串口1 通信分为网络通信和串口通信2 协议格式3 协议设计4 代码实现 二 网口1 TCP粘包与拆包 包的划分 出现TCP粘包的原因 粘包与拆包的几种情况 常见的粘包与拆包解决方案 2 为什么UDP没有粘包 xff

随机推荐

  • 如何理解奇偶校验位?

    奇偶校验位提供对传输数据的简单错误 xff08 奇偶校验 xff09 检查 此表描述奇偶校验的类型 奇偶校验类型 xff1a Even 描述 xff1a 数据位加上奇偶校验位产生偶数个1 xfffc 奇偶校验类型 xff1a Mark 描述
  • C语言----隐藏代码文件

    在C语言中 xff0c 常用的文件主要是后缀为 c的源文件以及后缀名为 h的头文件 我们通常使用头文件对函数进行声明 xff0c 使用源文件对具体的函数进行实现 有些时候会由于各种原因需要将函数的功能交给别人使用 xff0c 但是又不想将具
  • c++入门系列(三)之头文件

    1 什么是头文件 xff1f 在C语言家族程序中 xff0c 头文件被大量使用 一般而言 xff0c 每个C 43 43 C程序通常由头文件和定义文件组成 头文件作为一种包含功能的函数 数据接口声明的载体文件 xff0c 主要用于保存程序的
  • std::atomic_thread_fence

    在原子变量的存取上应用不同的memory order可以实现不同的内存序来达到数据同步的目的 xff0c 而在C 43 43 11及之后的标准里 xff0c 除了利用原子操作指定内存序 xff0c 还定义了单独使用 内存栅栏 xff08 s
  • 【数据结构】【期末复习】知识点总结

    算法 线性表 概念明晰 xff1a 随机存取 顺序存取 随机存储和顺序存储 随机存取 顺序存取 随机存储和顺序存储这四个概念是完全不一样的 xff0c 切不可将之混淆 很多人包括我可能认为随机存取就是随机存储 xff0c 顺序存取就是顺序存
  • 【单片机学习】51单片机【定时/计数器】,详细介绍

    51单片机学习 一 先知先会1 CPU时序的有关知识1 1 周期换算2 在学习定时器之前需要明白的3 定时 计数器的工作原理4 51单片机定时器结构 二 定时 计数器的控制1 工作方式寄存器TMOD2 控制寄存器TCON3 定时 计数器的工
  • 【跟着江科大学Stm32】GPIO_LED_流水灯_蜂鸣器

    只要坚持下来了 xff0c 一定会有收获 xff01 一 LED闪烁 span class token macro property span class token directive hash span span class token
  • STM32F103C8T6 PWM驱动舵机(SG90)

    小知识 xff1a 同一个定时器 xff0c 不同通道输出不同输出PWM的特点 对于同一个定时器的不同通道输出PWM xff0c 因为它们是共用一个计数器的 xff0c 所以频率必须一样 xff0c 而占空比由各自的CCR决定 xff0c
  • STM32 PWM周期与频率的计算

    文章目录 STM32 PWM周期与频率的计算频率的计算占空比的计算笔记仅供自学 xff0c 用来回看复习 xff0c 不一定适合你 xff0c 如有错误请指出 STM32 PWM周期与频率的计算 TIM TimeBaseInitTypeDe
  • STM32F103C8T6 实现舵机与电机的控制 2个定时器输出不同频率的PWM

    智能小家居 舵机开门 xff0c 电机做风扇 or 拉窗帘 呼吸灯做提示 xff0c 小OLED屏幕显示当前状态 文章目录 直接上代码main cpwm hpwm cservo hservo cmotor hmotor c笔记仅供自学 xf
  • 【学习记录】Tpro遥控器_暂时取消Tpro的控制权(简易)

    文章目录 按照如下图示配置1 设置好 96 逻辑开关 96 2 选择执行该 96 逻辑开关指令 96 的 96 通道 96 3 配置成功附 xff1a 继电器与R88的接法 按照如下图示配置 1 设置好逻辑开关 2 选择执行该逻辑开关指令的
  • 【Linux】gcc编译工具,断点的设置,gdb调试

    文章目录 注意1 在gcc编译过程中一定要加入选项 96 g 96 xff1b 2 只有在代码处于 96 运行 96 中在 96 暂停 96 状态时才能查看变量值 xff1b 3 设置断点后 xff0c 程序在指定行之前停止 总结主要内容1
  • 【Linux】信号量操作函数

    文章目录 二 实验原理1 semget 函数函数作用 xff1a 参数意义 xff1a 例子 xff1a 2 semop 函数函数作用 xff1a 参数意义 xff1a struct sembuf 结构体定义如下例子 xff1a 再来个完整
  • 【Linux】# 2022 Linux 笔试主要内容 MJ_University

    2022 Linux 笔试主要内容 看前须知道 带 的都是老师复习课上提到的内容 xff0c 但不代表说一定会考哦 xff01 选择题 xff08 20分 xff09 填空题 xff08 20分 xff09 判断题 xff08 10分 xf
  • Ubuntu18.04安装AX210驱动

    Linux Support for Intel Wireless Adapters 从官网可以看到AX210支持的内核版本是5 10 43 如果要在低于5 10的内核版本上安装AX210的驱动的话 xff0c 需要安装以下方法操作 xff1
  • 【Linux】实验四 进程信号通信

    文章目录 一 实验目的二 实验内容三 实验原理1 信号3 1 1 信号的基本概念3 1 2 信号的发送 2 所涉及的系统函数调用3 2 1 fork 3 2 2 kill This is my question 3 2 3 signal 代
  • 报错.SO文件找不到

    此报错大多数可以通过设置环境变量解决 原因 xff1a 当执行函数动态链接 so时 xff0c 此文件不在缺省目录下 lib and usr lib 里 缺省 61 61 默认 解决方案 xff1a 1 find name so文件名 2
  • 头文件(.h) 和实现文件(.cpp)区别

    简单讲 xff0c 一个Package就是由同名的 h和 cpp文件组成 当然可以少其中任意一个文件 xff1a 只有 h文件的Package可以是接口或模板 template 的定义 xff1b 只有 cpp文件的Package可以是一个
  • 坚持学习100天:STL(头大的英文,一个模板库,非得写得我看不懂)

    前言 Hello 我是修齊 学习C 43 43 的第一百零一十八天 18是个美好的数字 xff0c 18岁刚刚好 xff0c 28岁也要用心学习 在这里记录一些学习的东西和学习的心情 内容主要是一些自己学习整理的小笔记 一 指针与引用 1
  • Ubuntu20.04以及ROS系统的安装(避坑指南)

    一 Ubuntu20 04的安装 暑期在我导那里确认好研究方向后 xff0c 一个人摸爬滚打走来确实走了不少弯路 xff0c 遂决定写下这篇文章来帮助有需要的朋友来避坑 本次安装是通过VMware来创建一台虚拟机进行后续操作 xff0c 之