树莓派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 的相关文章

  • Python 实现 Dijkstar 路径规划算法

    Dijstar 最短路径算法 用于计算起始点到最终点的最短路径 一般采用的是贪心算法策略 原理可以参考 图解 Open list 和 close list 环境 Terminal 需要预先安装两个库 matplotlib 和 math pi
  • ROS之QtCreator开发环境搭建

    文章目录 系统环境 官方教程 安装 卸载 使用 导入工作空间 构建与运行 编写测试程序 系统环境 操作系统 Ubuntu20 04 ROS版本 Noetic 官方教程 按照官方教程或者下面笔记中的内容均能进行环境搭建 笔记中另外做了部分补充
  • ROS中使用VLP16激光雷达获取点云数据

    ROS中使用VLP16激光雷达获取点云数据 个人博客地址 本文测试环境为 Ubuntu20 04 ROS Noetic 需要将激光雷达与PC连接 然后在设置 gt 网络 gt 有线中将IPv4改为手动 并且地址为192 168 1 100
  • 思岚RPLIDAR A2 在ubuntu 16.04上的测试

    1 下载雷达ROS包 首先在github上下载rplidar的ros包 下载指令为 默认安装了git git clone https github com Slamtec rplidar ros git 在ubuntu上创建工作空间 并将该
  • ROS与navigation教程——ACML参数配置

  • 无人飞行器智能感知竞赛--模拟器安装

    开发环境 win11 wsl2 注意事项 请配合视频使用 如果不看视频会对下面的配置过程迷惑 因为一开始我是想安装在ubuntu18 04的 中途发现ubuntu18 04没有ros noetic 所以转入ubuntu20 04配置 视频链
  • V-REP安装

    小知识 是当前目录 是父级目录 是根目录 1 下载V REP 官网地址 http www v rep eu downloads html 我用ubuntu16 04下载V REP PRO EDU V3 5 0 Linux tar 2 解压安
  • 关于相机与激光雷达数据采集与标定

    最近在做一个关于车路协同的项目 需要做一个路侧系统 传感器有摄像头和激光雷达 相机和激光雷达联合标定费了老半天劲 在此记录一下 雷达时间戳不对 导致摄像头和雷达的数据无法对齐 解决办法 修改雷达驱动发布点云消息时的时间戳 相机内参标定可以使
  • ROS noetic tf demo错误处理及python版本切换

    文章目录 报错描述及解决 ubuntu20 04下python版本切换 报错描述及解决 ubuntu版本 20 04 ROS版本 noetic roslaunch turtle tf turtle tf demo launch 报错信息 t
  • 激光雷达LMS111在ROS上的使用

    LMS111 10100 在ROS上的测试与使用 准备工作 设备 硬件 LMS111 101000激光雷达 软件 ubuntu16 04 ROS 开始 设备连接 将激光雷达与处理器 电脑 工控机等 通过以太网连接好 激光雷达默认的IP地址为
  • rosprofiler 安装和使用

    rosprofiler wiki 页面 http wiki ros org rosprofiler rosprofiler package 下载rosprofiler和ros statistics msgs 放到工程目录下编译 https
  • 树莓派配置wifi做热点方法

    http wiki jikexueyuan com project raspberry pi wifi html
  • 最快实现一个自己的扫地机

    作者 良知犹存 转载授权以及围观 欢迎关注微信公众号 羽林君 或者添加作者个人微信 become me 扫地机介绍 扫地机器人行业本质是技术驱动型行业 产品围绕导航系统的升级成为行业发展的主旋律 按功能划分 扫地机器人分为四大系统 即导航系
  • 局域网下ROS多机通信的网络连接配置

    1 在路由器设置中固定各机器IP地址 在浏览器中输入路由器的IP地址 例如TP LINK路由器的IP为 192 168 1 1 进入登录页面后 输入用户名和密码登录 用户名一般为admin 密码为自定义 在 基本设置 gt LAN设置 gt
  • (ros/qt报错) FATAL: ROS_MASTER_URI is not defined in the environment

    安装qt之后 明明打开roscore但是qt运行跟ros有关的节点时报错 FATAL 1450943695 306401842 ROS MASTER URI is not defined in the environment Either
  • ubuntu18.04命令安装ros2

    ROS2官方文档 本教程为apt get命令安装方式 官网教程有点问题 借鉴一下大佬的安装方式 文章目录 1 安装ROS2 1 1 安装秘钥相关指令 1 2 授权秘钥 1 3 添加ROS2软件源 1 4 安装 2 设置环境 可选但是推荐 2
  • ROS1 ROS2学习

    ROS1 ROS2学习 安装 ROS ROS1 ROS2 命令行界面 ROS2 功能包相关指令 ROS 命令行工具 ROS1 CLI工具 ROS2 CLI工具 ROS 通信核心概念 节点 Node 节点相关的CLI 话题 Topic 编写发
  • 进入 docker 容器,exec 丢失 PATH 环境变量

    这是我的 Dockerfile FROM ros kinetic ros core xenial CMD bash 如果我跑docker build t ros docker run it ros 然后从容器内echo PATH 我去拿 o
  • 如何将视频或图像序列转换为包文件?

    我是 ROS 新手 我需要转换预先存在的视频文件 或者large可以连接到视频流中的图像数量 bagROS 中的文件 我在网上找到了这段代码 http answers ros org question 11537 creating a ba
  • 无法加载 LZ4 支持的 Python 扩展。 LZ4 压缩将不可用

    我是 ROS 新手 我刚刚打开终端并输入roscore和另一个终端并键入rostopic node我收到这个错误 上面写着 无法加载 LZ4 支持的 Python 扩展 LZ4 压缩将不可用 我搜索并去了https pypi org pro

随机推荐

  • 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