我是靠谱客的博主 酷炫冰淇淋,最近开发中收集的这篇文章主要介绍树莓派4b的ros安装(1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

    • 1 树莓派系统的选择
    • 2 树莓派系统的配置
      • 2.1 系统源
        • jessie
        • Stretch
        • buster
      • 2.2 更新源
        • Jessie
        • Stretch
        • buster
      • 1 ubuntu的ros安装
      • 2 raspbain的ros安装
        • 2.1 系统的确认
        • 2.2 配置ros存储库
        • 2.3 源码安装
        • 2.4 解决其他的依赖关系
    • 3 问题汇总及解决方案

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 ↩︎

最后

以上就是酷炫冰淇淋为你收集整理的树莓派4b的ros安装(1)的全部内容,希望文章能够帮你解决树莓派4b的ros安装(1)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部