概述
树莓派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 系统的确认
- 确认系统正确为raspbain。Raspbian 下载页面。
- 在终端窗口输入以下指令可以查看自身系统
lsb_release -a
2.2 配置ros存储库
- 如果上面codename显示的是strech 版本是必须安装dirmngr的, 显示buster 可以直接忽视这行代码。
sudo apt-get install dirmngr
- 根据官方手册显示此处。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
- 确认自身系统package 最新
sudo apt-get update
sudo apt-get upgrade
- 安装引导依赖和安装rosdep,rosinstall,wstool工具
sudo apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
- 初始化rosdep,此处问题高发区,往下查看解决方案
sudo rosdep init
rosdep update
当提示界面是这样时表示成功了
2.3 源码安装
- 创建工作空间
mkdir -p ~/ros_catkin_ws
cd ~/ros_catkin_ws
- 选择合适的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 工具,但是,存储库中没有一些依赖项。它们必须首先手动构建
- 提供兼容版本的 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 问题汇总及解决方案
- 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指令。
- rosdep update 对应主要是rosdep update 无法访问问题,或者访问超时,此处解决方案主要借鉴2
此文的更改主要是对要访问更新下载的链接url添加代理接口(https://ghproxy.com/)
如果嫌麻烦可以直接git 这个接口下载 - 源码安装问题(wstool init src kinetic-ros_comm-wet.rosinstall)
https://www.guyuehome.com/12640 ↩︎
https://blog.csdn.net/leida_wt/article/details/115120940 ↩︎
最后
以上就是酷炫冰淇淋为你收集整理的树莓派4b的ros安装(1)的全部内容,希望文章能够帮你解决树莓派4b的ros安装(1)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复