从零开始学习树莓派4B与ROS历程(1)——安装ubantu系统,ROS以及配置远程SSH(一系列错误解决办法,无显示屏外设也可以安装系列)

2023-05-16

目录

安装ubuntu系统文件

 1.使用显示器连接树莓派

2.使用SSH xshell安装

 安装ROS


安装ubuntu系统文件

 1.下载ubuntu系统文件Ubuntu18版,目前最新都是21版本了,但是树莓派处理能力有限,而且新版安装ros时会有许多奇怪的错误,因此选择18.04版本,LST意思是长期支持版(我这里下载的是非桌面版,桌面版会有卡顿,不过对于初学者安装桌面版也是不错的选择,安装个显示器,此时树莓派相当于一个小电脑)

http://cdimage.ubuntu.com/releases/18.04/release/

 18.04.5是系统版本,可以看到该镜像适合树莓派4。这里我们选择64bit下载镜像

2.下载官方烧录软件,将img文件烧录进内存卡https://downloads.raspberrypi.org/imager/imager_1.4.exe

3.插读卡器到电脑

 将镜像文件解压成img文件文件名

ubuntu-18.04.5-preinstalled-server-arm64+raspi4.img.xz

SD Card选择你的树莓派的储存卡,然后写入即可

 

 1.使用显示器连接树莓派

开机进入后提示输入账户:

默认:ubuntu
password:ubuntu

 接着再次提醒输入密码ubuntu,然后输入自己的新密码两遍,出现

ubuntu@ubuntu:

 说明开机完毕。

1、进入netplan配置

cd /etc/netplan/

sudo vim 50-cloud-init.yaml

 2.vim中修改为(注意冒号后面空格)

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eth0:
            dhcp4: false
            dhcp6: no
            addresses: [192.168.1.111/24]
            gateway4: 192.168.1.1
            #nameservers:
         		 #addresses: [114.114.114.114, 8.8.8.8]
     wifis:
        wlan0:
           dhcp4: true
           access-points:
                    "无线网的ssid":
                    password: "无线网密码password"
    version: 2

 实际输入高亮效果如图:

 3.配置生效

sudo netplan try
sudo netplan apply
systemctl daemon-reload

 注意:下次开机若是网络不存在的话,开机系统会等待5min网络连接

 4.更新源并重启

sudo apt-get update
sudo apt-get upgrade
reboot

5.安装

sudo apt-get install ubuntu-desktop

sudo apt-get update --fix-missing

 7.此时重启ubuntu会自动进入桌面版就可以咯

2.使用SSH xshell安装

 最开始先去百度"xshell"下载最新版,我目前用的7,长这样

1.首先接着我们刚刚烧录完树莓派的ubuntu18.04系统,此时需要重新插一下读卡器,出来一个带着“boot”名字的盘,我看有的人是systemBoot,有的是其他,反正你会看到一个内存区,进去后找到network-config这个文件

 将我框出来的这部分注释去掉(删去#)

 此时MEIZU,就是我待会树莓派和电脑同时连的wifi,12345678就是密码,你们对应位置改自己的就行,记得英文双引号!!!!

保存插卡,给树莓派上电,静等10min,看它从爆闪小绿灯到安静,然后断电再次上电

稍等一会就能存开热点的设备上看到ubuntu连接了你的wifi,即可跳过下面一小段内容

  

        如果没有,请断电静等一会再看看,要是还没有,重新用读卡器看你的boot里        

        network- config里修改是否准确,我这里提供一下我的内容,你们依此改

# This file contains a netplan-compatible configuration which cloud-init
# will apply on first-boot. Please refer to the cloud-init documentation and
# the netplan reference for full details:
#
# https://cloudinit.readthedocs.io/
# https://netplan.io/reference
#
# Some additional examples are commented out below

version: 2
ethernets:
  eth0:
    dhcp4: true
    optional: true
wifis:
  wlan0:
    dhcp4: true
    optional: true
    access-points:
      "MEIZU":
        password: "12345678"
#      myotherlan:
#        password: "correct battery horse staple"
#      workssid:
#        auth:
#          key-management: eap
#          method: peap
#          identity: "me@example.com"
#          password: "passw0rd"
#          ca-certificate: /etc/my_ca.pem

如果连接好了wifi,恭喜你,SSH基本可以连接了,不管用什么方法,查看你树莓派的ip地址,我这里用的WNetWatcher,能看到就行,毕竟你要是开的热点,直接就能看到,地址类似这样:192.168.xx.xxx

打开xshell7,新建会话

 

 连接中

 如果第一次连接成功,就会提醒你输入用户名,这里初始默认:ubuntu

然后输入密码:ubuntu

连接成功后,命令行里面让你再次重复密码:ubuntu

之后提醒你输入新密码两遍,此时连接完成。

 安装ROS

因为如果直接用命令行版本ubuntu安装ros打字会非常麻烦,这时桌面版好处就体现了

1.修改源(使用nano比较好操作)

sudo nano /etc/apt/sources.list

修改为

# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse

保存即可

进入cn/melodic/Installation/Ubuntu - ROS Wiki

跳过镜像设置那一步跟着命令行一行一行输入即可

以下为各种错误处理


1.执行完该语句报错

sudo apt install ros-melodic-desktop-full

 

 或者其它等奇怪的错误,基本就是源的选择问题,提供阿里云,中科大和清华的源可以解决

1.首先打开/etc/apt/sources.list

sudo nano /etc/apt/sources.list

2.获取源

  • 18.04阿里云源 (要获取20版本的去ubuntu镜像-ubuntu下载地址-ubuntu安装教程-阿里巴巴开源镜像站 (aliyun.com))
    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    
  • Ubuntu 20.04中科大源 (18.04的源怎么获取进去Ubuntu 源使用帮助 — USTC Mirror Help 文档可以看)
    # 默认注释了源码仓库,如有需要可自行取消注释
    deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
    
    deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
    
    deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
    
    deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
    
    # 预发布软件源,不建议启用
    # deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
    # deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse

3.将原本内容备份好,然后将需要的源替换进去

源生效

sudo apt-get update

2.报错

sudo rosdep init

 显示ERROR内容类似如下

sudo rosdep init
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

原因仍然是源的问题,因为该init是为了获取git一个文件,没翻墙会申请超时

解决方法:

1.改换源,或者手机热点网络

2. 进入git文件内容,然后复制内容

       新建并进入如下目录

cd /etc/ros/rosdep/sources.list.d
(假如上面目录不存在,则使用sudo mkdir -p /etc/ros/rosdep/sources.list.d)
sudo nano 20-default.list

        在20-default.list中粘贴刚刚复制的内容并保持再次sudo rosdep init

注意,如上解决方法是我成功解决的,如果还未解决,则可以参考ROS:sudo rosdep init出错常规方法都无效后解决办法记录 - 知乎 (zhihu.com)该文章还介绍了其它方法

3.报错ERROR或者time out

rosdep update

Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml]:
    <urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml]:
    <urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml]:
    <urlopen error [Errno 104] Connection reset by peer> (https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml)
ERROR: unable to process source [https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml]:
    Failed to download target platform data for gbpdistro:
    <urlopen error [Errno 104] Connection reset by peer>
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Add distro "crystal"
ERROR: error loading sources list:
    <urlopen error <urlopen error [Errno 104

更换源 ,翻墙vpn


当时安装的时候错误并非完全解决了

然后有意思的是,但还是存在部分ERROR时,此时接着wiki继续往下,结束后在命令行中敲ros,然后双击TAB按键出现如图,说明ros安装已经成功

输入命令

roscore

出现如下说明已经成功

 更多问题可以留言,我安装了树莓派和虚拟机两环境的ROS,真的是搜了各种错误,万幸都解决了

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

从零开始学习树莓派4B与ROS历程(1)——安装ubantu系统,ROS以及配置远程SSH(一系列错误解决办法,无显示屏外设也可以安装系列) 的相关文章

  • 使用 SSH.NET 在命令输出期间发送输入

    With PuTTY I connect to an SSH server and then I execute a command that constantly output logs multiple lines per second
  • python paramiko 模块中长时间运行的 ssh 命令(以及如何结束它们)

    我想运行一个tail f logfile使用 python 的 paramiko 模块在远程计算机上运行命令 到目前为止 我一直在尝试以下方式 interface paramiko SSHClient snip the connection
  • 我可以在远程服务器上运行位于本地计算机上的 bash 脚本吗?

    我有本地脚本 我想在远程服务器上运行 我已经设置了 ssh 密钥对以启用无需密码的登录 我当前的方法是将脚本 rsync 到服务器 然后运行它 ssh user remoteserver rsync localserver script s
  • 如何在接收端打开没有 SSHD 的 shell?

    我有一台没有 SSHD 的机器 我想从远程机器 我可以完全控制 在这台机器上打开 bash shell 由于我的有限机器上有 SSH 因此我配置了反向代理 ssh R 19999 localhost 22 remoteuser remote
  • gitosis 要求输入密码

    我已经按照以下说明设置了 gitosis 服务器here http scie nti st 2007 11 14 hosting git repositories the easy and secure way 它对于初始用户来说效果很好
  • 通过私钥使用 Python 进行 SSH

    在我的脚本中 我需要使用私钥通过 SSH 连接到远程系统 并将文件转储到其目录中 我用来 SSH 进入系统的命令是这样的 ssh i private key localhost 接下来是标准输入 输入密钥 private key 的密码 我
  • 使用Python mysql.connector远程连接MySQL

    以下代码 在同一 LAN 内与 mysql 服务器不同的机器上运行 使用 Python3 和 mysql connector 本地连接到 MySQL 数据库 import mysql connector cnx mysql connecto
  • Jenkins Git 参数插件无法获取标签

    詹金斯版本 1 593 Git 参数插件 0 4 0 GIT 客户端插件 1 16 1 我使用私有 git 存储库 可以通过 ssh 访问 我的构建是参数化的 git参数是TAG TO BUILD 要构建的分支是refs tags TAG
  • 健全性检查 SSH 公钥? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我已要求用户提供他们的公共 id rsa pub ssh 密钥 然后将其放入 home theiraccount ssh authorized key
  • pexpect 和 ssh:如何在 su - root -c 之后格式化一串命令

    我正在尝试迭代服务器和密码列表来更改一组服务器上的 sshd 配置 以便我可以使用无密码 SSH 密钥通过 root 登录 运行命令 我可以在 bash 中轻松完成此操作 但我正在尝试学习 Python 并且 显然 希望放弃手动输入密码 这
  • 与 ssh2_connect() 断开连接

    我已经使用 ssh2 连接ssh2 connect到服务器 但我没有看到任何方法在联机帮助页中 http php net ssh2 connect我应该如何结束连接 我不太喜欢在断开连接之前等待脚本结束 我可以用吗fclose 这听起来不对
  • 如何使用java与防火墙(路由器)建立ssh连接?

    由于某种原因 我需要连接到防火墙 基于Linux 并使用Java添加一些规则 用google搜索了一段时间后 我发现jsch是我最好的选择 但是当我 用它来执行命令 显示主机名 例如 返回错误 如果我 执行类似命令 ls l and who
  • 无法通过 SSH 连接到 EC2 实例

    因此 我从网上启动了我的实例 下载了密钥对并安装了它 大约一天的时间里一切都运行良好 然后我重新启动了计算机 但我无法再通过 SSH 连接到它 我尝试重新下载密钥对并重新安装它 但我不断收到 权限被拒绝 公钥 错误 这是详细的输出 我也尝试
  • 为什么 SSH 远程命令获得的环境变量比手动运行时少? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 如果我 ssh 到计算机并运行它 我有一个命令可以正常运行 但当我尝试使用远程 ssh 命令运行它时会失败 例如 ssh user IP
  • 如何将命令作为参数传递给 ssh [重复]

    这个问题在这里已经有答案了 我的需要是让这个命令起作用 sshpass p XXXX ssh oStrictHostKeyChecking no email protected cdn cgi l email protection sudo
  • SSH 无法对 [email protected] 进行身份验证

    最近 我在 Github com 上注册了一个免费计划 我按照他们的说明生成 ssh 密钥以添加到我的帐户 然而 当我尝试ssh v email protected cdn cgi l email protection 我收到此错误 deb
  • 如何在Windows上安装机器人操作系统ROSJava?

    ROS 的文档很糟糕 一个很大的讽刺是 ROS 的 Groovy 和 ROSJava 版本的创建是为了让 Windows 等平台上的开发人员能够利用出色的机器人 SDK 而所有安装说明仍然面向 Linux ubuntu 用户 The ROS
  • 如何用python脚本控制TP LINK路由器

    我想知道是否有一个工具可以让我连接到路由器并关闭它 然后从 python 脚本重新启动它 我知道如果我写 import os os system ssh l root 192 168 2 1 我可以通过 python 连接到我的路由器 但是
  • 连接到 OpenShift (Redhat Paas) mysql 实例

    我正在尝试将我的 C 应用程序与 openshift 数据库连接 但我得到了这个例外conn Open Eccezione gt MySql Data MySqlClient MySqlException 0x80004005 Unable
  • ssh远程变量赋值?

    以下内容对我不起作用 ssh email protected cdn cgi l email protection k 5 echo k 它只是返回一个空行 如何在远程会话 ssh 上分配变量 Note 我的问题是not关于如何将本地变量传

随机推荐

  • xtrabackup恢复单表

    在一般生产环境下可能会删表 xff0c 这时候如果基于数据库恢复 xff0c 然后再把那个表恢复过来 xff0c 就比较麻烦 xff0c 这里提供一个基于物理备份直接恢复单表的方法 在innodb引擎设置独立表空间 xff0c 一般表对应的
  • Linux也支持远程桌面,看来是孤陋寡闻了。

    Linux也支持远程桌面 xff0c 看来是孤陋寡闻了 最近在学习树霉派 xff0c 一个超牛比的东西 xff0c 只有信用卡片般大小 xff0c 却是麻雀虽小 xff0c 五脏俱全 xff0c 里面装了Linux系统 xff0c 又不带显
  • MGR基本使用

    第一章 xff1a MGR介绍 MGR MySQL Group Replication 是一个MySQL Server插件 xff0c 可用于创建弹性 xff0c 高可用MySQL集群方案 有一个内置的组成员服务 xff0c 在任何给定的时
  • MySQL5.7安装半同步插件报错,错误码1126

    MySQL5 7安装半同步插件报错 xff0c 错误码1126 mysql gt INSTALL PLUGIN rpl semi sync master SONAME 39 semisync master so 39 ERROR 1126
  • apollo ros联合编译进度及问题

    0 进度 xff1a cyber base 全是头文件 xff0c 做成INTERFACE 库 xff0c cyber base cyber common xff1a 先分开构建 xff0c 最后合成cyber common库 cyber
  • lvm热更换磁盘

    lvm热更换磁盘 由于更换存储或者磁盘等问题 xff0c 需要将lvm里面的某个磁盘替换出来回收 xff0c 采用热回收的方法 xff0c 可以在线迁移数据 xff0c 不影响业务使用 xff0c 当然会对磁盘的io造成影响 xff0c 建
  • svn常见问题,报错,命令转载

    我自己犯过的一个错误是 xff1a svn MyERP core Main svn act b8bd621b c193 4969 b66c d35f11009815 后来证实是地址的大小写问题 xff0c 我修改了大小写 xff0c 然后删
  • Hadoop2-MapReduce(2)

    新的API xff1a Mapper MyMapper extends Mapper lt gt map LongWritable key Text value Context context throws context write ne
  • Keil生成bin文件绝对路径,U盘SD卡根目录

    使用U盘或者SD卡更新固件 xff0c 手动操作bin文件很麻烦 xff0c 可以使用keil自带快捷命令 比如U盘符是F盘 fromelf exe bin output 61 F 64 L bin L 编译时候自动生成替换
  • 【数据清洗】总结

    写在前面 xff08 201908 xff09 xff1a 数据质量问题往往会影响到工作效果 xff0c 我们学习现代工具后 xff0c 很容易就建立起一个初步的模型 但是真正的工作是如何优化它 xff0c 而关键节点就包括数据的清洗和模型
  • Ubuntu安装Proxychains4

    平时在使用github的时候 xff0c 偶尔发现无法Clone仓库 xff0c 此时就需要用特别的上网的方式解决 一 安装proxychains4 sudo apt get install proxychains4 注意 国内某些软件源没
  • 关于OLSR协议中的MPR机制的阅读与理解

    主要参考Request For Comments7181 OLSRv2 及RFC文档进行理解 MPR机制简介 简介 MPR MultiPoint Relay多点中继 机制是OLSR Optimized Link State Routing最
  • open /run/flannel/subnet.env: no such file or directory

    查看pod的信息时发现报错 xff1a open run flannel subnet env no such file or directory 一是查看各个节点 xff0c 包括master 节点是否有 run flannel subn
  • maven 依赖com.google.code.kaptcha

    前言 在工程的pom xml文件里已经加了 span class hljs tag lt span class hljs title dependency span gt span span class hljs tag lt span c
  • 灰度共生矩阵GLCM及其matlab实现

    Prerequisites 概念 计算方式 对于精度要求高且纹理细密的纹理分布 我们取像素间距为 d 1 d 1 d 1 以下是方向的说明 我们来看 matlab内置工具箱中的灰度共生矩阵的生成函数graycomatrix gray lev
  • np.max 与 np.maximum

    1 参数 首先比较二者的参数部分 xff1a np max xff1a a axis 61 None out 61 None keepdims 61 False 求序列的最值最少接收一个参数axis xff1a 默认为列向 xff08 也即
  • matlab 中使用 GPU 加速运算

    为了提高大规模数据处理的能力 xff0c matlab 的 GPU 并行计算 xff0c 本质上是在 cuda 的基础上开发的 wrapper xff0c 也就是说 matlab 目前只支持 NVIDIA 的显卡 1 GPU 硬件支持 首先
  • Linux Ubuntu系统设置成中文语言

    1 打开 系统设置 xff1a 可以从右上角弹出菜单 xff0c 选择 System Settings 打开系统设置 也可以点击左侧 xff08 齿轮和扳手 xff09 快捷图标打开 2 首先选择软件更新服务器 xff0c 选择国内的 3
  • VNC 灰屏

    用vnc连接服务器的时候 xff0c 出现了灰屏 xff0c xff08 在xshell可以正常运行 xff09 上面会显示三个checkbox xff1a Accept clipboard from viewers Send clipbo
  • 从零开始学习树莓派4B与ROS历程(1)——安装ubantu系统,ROS以及配置远程SSH(一系列错误解决办法,无显示屏外设也可以安装系列)

    目录 安装ubuntu系统文件 1 使用显示器连接树莓派 2 使用SSH xshell安装 安装ROS 安装ubuntu系统文件 1 下载ubuntu系统文件Ubuntu18版 xff0c 目前最新都是21版本了 xff0c 但是树莓派处理