树莓派4B安装Ubuntu20.04与ROS

2023-05-16

树莓派4B搭建Ubuntu20.04与ROS

文章目录

    • 树莓派4B搭建Ubuntu20.04与ROS
  • 前言
  • 一、安装Ubuntu20.04
    • 1.下载Ubuntu20.04LTS server
    • 2.将镜像文件用Win32DiskImager烧录进SD卡中
    • 3.设置开机自动连接WIFI,以方便后续ssh远程连接
    • 4.查询树莓派ip
    • 5.使用Putty连接
    • 6.更换国内镜像源
    • 7.安装桌面
    • 7.windows远程连接
  • 二、安装Ros
    • 1.添加ROS源与密钥
    • 2.安装
    • 3.初始化
    • 3.运行小乌龟


前言

树莓派4B入手有一段时间了,那时只是安装了树莓派系统就没再动过,后来一直在搞飞控。现在发现需要跑系统,例如激光雷达对室内环境的建模,单纯飞控就处理不过来了,于是开始学习系统,先用树莓派跑个ROS学习一下。本人水平有限,在借鉴了一些大佬的文章下成功安装ROS


一、安装Ubuntu20.04

需要提前准备SD卡、工作WiFi、Putty、SD Card Formatter 、Win32DiskImager

1.下载Ubuntu20.04LTS server

官网网址:https://cn.ubuntu.com/download/raspberry-pi
这里可以自行选择是否有桌面版本,服务器版本可以后续安装桌面

2.将镜像文件用Win32DiskImager烧录进SD卡中

如果你的SD之前烧录过系统,需要用SD Card Formatter先对其进行格式化。
在这里插入图片描述 选项设置为快速格式化即可

在这里插入图片描述
选择你下载的.img文件写入SD卡中。

3.设置开机自动连接WIFI,以方便后续ssh远程连接

我这里直接选择无线的连接方式,毕竟带着一根网线太麻烦了。
1、Ubuntu20.04自动开启ssh,因此不用添加ssh文件
2、在电脑上打开SD的boot文件里的network-config,去掉一些#,修改为如下

在这里插入图片描述access-points:下一行修改为你的wifi名称,如果名称里有空格则需要“名称”,password:“你的wifi密码”。保存退出,弹出SD卡插入树莓派卡槽。

4.查询树莓派ip

系统第一次开机后不会自动连接wifi,当系统开机结束后,重新上电。
将你的电脑连入同一网络。打开cmd,输入ARP -a,查询树莓派的ip地址,或者使用Wireless Network Watcher
在这里插入图片描述

在这里插入图片描述

5.使用Putty连接

Putty是一个免费的ssh客户端

在这里插入图片描述打开putty,在ip address里输入树莓派的ip地址,然后ssh连接。

在这里插入图片描述
第一次登陆的用户名和密码都是:ubuntu
然后会让你修改密码,重新登陆

6.更换国内镜像源

这一步比较重要
1、有人说ubuntu20.04会自动选择最优源,但还是学会自己更改一下比较好
2、sudo vim /etc/apt/sources.list打开下载源文件,具体vim使用方法要熟练掌握,或者使用nano:sudo nano /etc/apt/sources.list
3、国内有很多源,若选择了清华源,将文件中的ports.ubuntu.com都换成mirrors.tuna.tsinghua.edu.cn,若是中科大源,将文件中的ports.ubuntu.com都换成mirrors.ustc.edu.cn.注意因为树莓派是arm构架,所以focal前是ubuntu-ports而不是ubuntu,更换的时候要注意
在这里插入图片描述
4、sudo apt update更新一下
在这里插入图片描述
如果出现错误则仔细审查修改是否正确

7.安装桌面

安装ubuntu桌面:sudo apt-get install ubuntu-desktop
安装xubuntu桌面:sudo apt-get install xubuntu-desktop
注意:安装xubuntu桌面在远程连接的时候可能会出现闪退的情况,需要执行echo “xfce4-session” >~/.xsession 创建xsession文件即可

7.windows远程连接

因为没有显示屏,所以选择xrdp
安装VNC:sudo apt-get install tightvncserver
安装XRDP:sudo apt-get install xrdp
win+r输入mstsc打开win10远程桌面连接,输入树莓派ip,点击连接
默认xorg连接,输入用户名及密码
在这里插入图片描述我这里安装的是xbuntu

二、安装Ros

1.添加ROS源与密钥

ROS源:sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’
密钥:sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net --recv-key 0xB01FA116
网上的密钥有几种,源也有不同的
更新sudo apt-get update

2.安装

安装预备环境:sudo apt install python3-rosdep注意这里已经是python3了,有的博客哪里还没有更新
sudo apt install ros-noetic-desktop-full下载完整桌面版
ubuntu不同版本对应的ROS版本不一样
这里20.04对应的是noetic
安装时间可能会很长

3.初始化

sudo rosdep init
rosdep update
这里可能会出错,多半是网络的原因,使用手机热点可能会好一些,或者修改后host
这里其实是从github上下载一些文件,方便后续使用的包自动更新,所以可以用网上的方法,自己创建文档复制github上的内容,跳过init这一步即可
或者选择放弃,之后使用的时候需要哪些包再手动安装,或切换网络

3.运行小乌龟

打开第一个终端:roscore
在这里插入图片描述

打开第二个终端:rosrun turtlesim turtlesim_node
在这里插入图片描述打开小乌龟界面

打开第三个终端:rosrun turtlesim turtle_teleop_key
在这里插入图片描述打开小乌龟控制界面,在选择了第三个终端的情况下,可以使用上下左右键控制小乌龟了
至此,ROS安装成功

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

树莓派4B安装Ubuntu20.04与ROS 的相关文章

随机推荐

  • gazebo小车自主路径规划导航仿真

    gazebo小车自主路径规划仿真 在之前的文章中完成了对地图的构建 xff0c 接下来使用 Ros navgition完成机器人自主导航 首先是Ros navigation的下载安装 ros功能包 xff1a Navigation ros
  • 关于结构体对齐

    首先我们先了解一下各数据类型所占的字节数 x64系统 xff08 64位 xff09 x86系统 xff08 32位 xff09 在这里有一个很有意思的点 xff0c 我使用VS在x86与x64系统下运行出来的long类型所占据的空间都是4
  • 安装docker报出的错误及解决方案

    1 错误一 xff1a 解决方案 xff1a yum erase podman buildan yum install y docker ce allowerasing 重启服务 systemtl restart docker yum源的安
  • make、makefile的使用解释(Linux项目自动化构建工具)

    本文所使用系统为Linux centos 7 makefile是一个文件 里面包含了 xff1a 1 文件与文件的依赖关系 2 文件与文件的依赖方法 为什么需要包含文件与文件的依赖方法和依赖方法呢 xff1f 一个工程中的源文件不计数 xf
  • elementUI中neditor第一次加载无法正常赋值的解决方法

    1 lt neditor v if 61 34 neditorLoad 34 v model 61 34 formFields content 34 class 61 34 wd editor 34 gt 加上v if 61 34 nedi
  • Gazebo仿真中光源的设置

    目录 写在前面官方文档链接point类型directional类型spot类型 写在前面 最近研究在Gazebo中仿真px4 xff0c 使用Apriltag ros包对Apriltag二维码检测的时候发现光源对检测影响非常大 xff0c
  • 使用Java操作Hbase

    目录 修改hosts文件 导入jar包 配置hbase信息 xff0c 连接hbase数据库 创建表 删除表 获取namespace 获取tables 添加数据 查询表中的数据 查询表中所有数据 关闭流 修改hosts文件 位置 xff1a
  • CAN协议国际标准化协议部分总结(一)

    前言 xff1a 本文主要是对CAN协议中ISO11898做一个简短的总结 ISO11898 ISO11519 ISO15765 CAN协议在OSI模型中包含三层 xff0c 物理层 数据链路层和传输层 各层中CAN定义内容可参考下图 其协
  • STM32 串口 DMA 数据读取(详细代码)

    最近重新开始学32 xff0c 搞到串口 DMA 的时候 xff0c 数据读取卡了很长一段时间 xff0c 最终 xff0c 功夫不负有心人终于搞出来了 在此以记录一下 xff0c 方便以后查询使用 在调试的过程中也遇到了很多bug xff
  • 在阿里云购买Linux服务器,配置宝塔环境,全图文,最最详细图解,保姆级教学

    在阿里云购买Linux服务器 xff08 CentOs 7 xff09 xff0c 配置宝塔环境 一 在阿里云购买CentOs服务器 Linux系统 CentOS是免费的 开源的 可以重新分发的开源操作系统 xff0c CentOS xff
  • (Linux)FreeRTOS(任务)

    任务调度器 调度器就是使用相关的调度算法来决定当前需要执行的任务 xff0c 调度器总是在所有处于就绪列表的任务中 xff0c 选择具有最高优先级的任务来执行 抢占式调度 xff1a 主要是针对优先级不同的任务 xff0c 每个任务都有一个
  • 制作一个串口助手 | python + pyqt5

    目录 一 背景 1 1 开发流程图 二 前提 2 1 关于环境 2 2 关于源码 三 步骤 3 1 使用pyqt创建一个 ui界面并生成 py文件 3 2 创建两个 py文件 xff0c 一个用来继承ui界面生成的 py类 xff0c 一个
  • FreeRTOS任务调度与任务切换 | FreeRTOS八

    目录 说明 xff1a 一 任务调度器 1 1 开启任务调度器函数 1 2 任务调度器实现步骤 1 3 xPortStartScheduler 函数 二 启动一个任务 2 1 prvStartFirstTask 函数 2 2 vPortSV
  • 单片机原理简介

    提出问题 xff1a 什么是单片机 xff1f 类似于一台性能相对较弱的微型电脑 xff0c 具有完整的计算机结构和片内外设 xff08 例如串口 xff0c I2C xff0c ADC等硬件 xff09 xff0c 将他们集成封装在一颗芯
  • composer安装第三方库

    用法 xff1a 在thinkphp根目录下执行 composer require wechatpay wechatpay 1 4
  • STM32F407ZGT6控制ESP8266与OV2640下的百度智能图片识别

    前言 xff1a STM32F407ZGT6控制OV2640下采集到JPG图片格式的二进制数据 xff0c 然后对二进制数据进行BASE64编码 xff0c 接着通过串口将数据传输给ESP8266并上传至训练好的EASYDL的AI算法识别平
  • 力扣数组算法(c++)(代码随想录数组部分)

    文章一部分内容和图片引用代码随想录和力扣官方题解 数组 C 43 43 考察数组的题目一般在思维上都不难 xff0c 主要是考察对代码的掌控能力 数组是存放在连续内存空间上的相同类型数据的集合 数组可以方便的通过下标索引的方式获取到下标下对
  • cv_bridge用于ROS图像和OpenCV图像的转换

    一 背景 ROS对于传感器数据有自己的格式和规范 而在OpenCV中 xff0c 图像是以Mat矩阵的形式存储的 xff0c 这与ROS定义的图像消息的格式有一定的区别 xff0c 所以我们需要利用cv bridge将这两种不相同的格式联系
  • ROS通信机制——python实现

    一 普通话题通信 1 创建发布者 注意 xff1a 不要在开头添加注释 xff0c 下面代码第一行是指定编译器 xff0c 第二行是防止因为代码中的中文注释而出现乱码 usr bin env python coding utf 8 导包 i
  • 树莓派4B安装Ubuntu20.04与ROS

    树莓派4B搭建Ubuntu20 04与ROS 文章目录 树莓派4B搭建Ubuntu20 04与ROS 前言一 安装Ubuntu20 041 下载Ubuntu20 04LTS server2 将镜像文件用Win32DiskImager烧录进S