树莓派4b的ros安装(1)

1 树莓派系统的选择

在树莓派官网提供了三种平台,第一种对应的是树莓派原生系统下的系统,第二种是兼容mac和windows的debain系统,第三种是第三方开发系统,本文章主要对后两者的ros环境搭建进行。

2 树莓派系统的配置

ubuntu镜像文件推荐使用ubuntu18,上面官网提供的系统大多
镜像工具下载链接1(付费),下载链接2(免费)密码 jgu4.
先对系统进行换源,先备份两个源的原文件

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak

2.1 系统源

先换系统源文件,在终端使用nano编辑/etc/apt/sources.list

sudo nano /etc/apt/sources.list

注释原来的源文件,输入新的源。根据自己系统输入对应的源(查看自身系统在终端输入lsb_release -a)确定系统的codename

lsb_release -a

根据不同的codename选择不同的源

jessie

中科大

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi

清华

deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi

重庆大学

deb http://mirrors.cqu.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi

浙江大学

deb http://mirrors.zju.edu.cn/raspbian/raspbian/ jessie main contrib non-free rpi

阿里云

deb http://mirrors.aliyun.com/raspbian/raspbian/ jessie main contrib non-free rpi
Stretch

中科大

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

清华

deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

重庆大学

deb http://mirrors.cqu.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

浙江大学

deb http://mirrors.zju.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

阿里云

deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
buster

中科大

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

清华

deb https://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

2.2 更新源

更换更新源文件,进入raspi.list后先注释原先源

sudo nano /etc/apt/sources.list.d/raspi.list
Jessie

中科大

deb https://mirrors.ustc.edu.cn/archive.raspberrypi.org/ jessie main ui

清华

deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ jessie main ui

默认官方源

deb http://archive.raspberrypi.org/debian/ jessie main ui
Stretch

中科大

deb https://mirrors.ustc.edu.cn/archive.raspberrypi.org/ stretch main ui

清华

deb https://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

默认官方源

deb http://archive.raspberrypi.org/debian/ stretch main ui##  3 两种常用系统下的ROS安装
buster
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main

1 ubuntu的ros安装

第二篇文章

2 raspbain的ros安装

本文根据wiki官网安装,官方手册提供了现有的六种ros安装方法,本文以kinetic为例,安装详细如下

2.1 系统的确认
  1. 确认系统正确为raspbain。Raspbian 下载页面。
  2. 在终端窗口输入以下指令可以查看自身系统
lsb_release -a

系统确认

2.2 配置ros存储库
  1. 如果上面codename显示的是strech 版本是必须安装dirmngr的, 显示buster 可以直接忽视这行代码。
sudo apt-get install dirmngr
  1. 根据官方手册显示此处。jessie和buster版本是一样的配置如下
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://ha.pool.sks-keyservers.net:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

如果第二行报错,失败,此处可能配置密钥没有代理接口出错,可以接入ubuntu接口试试

 sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  1. 确认自身系统package 最新
sudo apt-get update
sudo apt-get upgrade
  1. 安装引导依赖和安装rosdep,rosinstall,wstool工具
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
  1. 初始化rosdep,此处问题高发区,往下查看解决方案
sudo rosdep init
rosdep  update

当提示界面是这样时表示成功了
在这里插入图片描述

2.3 源码安装
  1. 创建工作空间
mkdir -p ~/ros_catkin_ws
cd ~/ros_catkin_ws
  1. 选择合适的ros版本,获取核心包,以便构建它们。为此,我们将使用 wstool。
    ros-comm:ros包和基本通信库没有gui
rosinstall_generator desktop --rosdistro kinetic --deps --wet-only --tar > kinetic-desktop-wet.rosinstall
wstool init src kinetic-desktop-wet.rosinstall

对于如果第二行出现以下的error,可以一直执行

wstool update -j4 -t src

在这里插入图片描述
直到出现所有的都done为止
在这里插入图片描述

2.4 解决其他的依赖关系

在构建 catkin 工作区之前,需要确保拥有所有必需的依赖项。使用 rosdep 工具,但是,存储库中没有一些依赖项。它们必须首先手动构建

  1. 提供兼容版本的 Assimp(打开资产导入库)来修复此链接错误:
mkdir -p ~/ros_catkin_ws/external_src
cd ~/ros_catkin_ws/external_src
wget http://sourceforge.net/projects/assimp/files/assimp-3.1/assimp-3.1.1_no_test_models.zip/download -O assimp-3.1.1_no_test_models.zip
unzip assimp-3.1.1_no_test_models.zip
cd assimp-3.1.1
cmake .
make
sudo make install

3 问题汇总及解决方案

  1. rosdep init的问题1,根据ros安装手册我们知道是配置了一些yaml文件接口解决方法如下
cd /etc/ros/rosdep/sources.list.d/
sudo nano 20-default.list

第一行进入目录下,第二行用nano打开 20-default.list,此处nano的使用方法如下ctrl+x 退出 会提示是否保留按y 确认是,按n 否,最后会提示是否使用这个20-default。 确认 enter 确认。
如果会使用nano 的话直接复制以下代码到20-default.list中

## os-specific listings first
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml osx
# generic
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
yaml https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
gbpdistro https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml fuerte
# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

此处开始可以忽略rosdep init 直接进入 rosdep update指令。

  1. rosdep update 对应主要是rosdep update 无法访问问题,或者访问超时,此处解决方案主要借鉴2
    此文的更改主要是对要访问更新下载的链接url添加代理接口(https://ghproxy.com/)
    如果嫌麻烦可以直接git 这个接口下载
  2. 源码安装问题(wstool init src kinetic-ros_comm-wet.rosinstall)

  1. https://www.guyuehome.com/12640 ↩︎

  2. https://blog.csdn.net/leida_wt/article/details/115120940 ↩︎

  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
树莓派4B ROS镜像是为树莓派4B开发的一种特定操作系统(Raspberry Pi 4B ROS Image),它包含了ROS(机器人操作系统)的所有必要组件和库,以便在树莓派上进行机器人相关的开发和项目。 ROS(机器人操作系统)是一个开源的、灵活的机器人软件平台,它提供了一系列工具、库和规范,用于构建机器人系统和应用。ROS支持多种编程语言,如C++和Python,并提供了一系列功能包,以支持机器人导航、感知、控制等任务。 树莓派4B ROS镜像为树莓派的用户提供了一个方便且易用的环境,以便开展机器人相关的项目。借助这个镜像,用户可以在树莓派上运行ROS并访问ROS的各种功能和库。此外,该镜像还预先安装了一些常用的ROS功能包,如导航功能包、感知功能包等,以提供更多的开发选项和启动点。 树莓派4B ROS镜像的安装非常简单,只需下载镜像文件,并将其烧录到SD卡上,然后将SD卡插入树莓派即可。一旦完成安装,用户就可以开始使用ROS进行机器人相关的开发,并利用树莓派4B的性能和GPIO接口来实现物理控制和交互。 总结来说,树莓派4B ROS镜像提供了一个方便、易用的环境,使得在树莓派上进行机器人相关的开发变得更加便捷。它为用户提供了ROS的所有必要组件和库,并预先安装了一些常用的ROS功能包,以帮助用户快速开始开发机器人应用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值