树莓派4B(8G)原生系统Raspbian Buster安装ROS Melodic

1. 关于树莓派操作系统的选择与安装

在树莓派系统安装与ros安装上面着实费了不少时间,为了增加对照,在我的3b+和4B上分别反复安装了原生系统、ubuntu server18、ubuntu mate16、ubuntu mate18、ubuntu mate20的32位和64位。。。反正板子多、卡也多哈哈。
最后结论:树莓派3B+用ubuntu mate16/18(32位),树莓派4B用ubuntu mate20(32位64位均可),注意树莓派4B只能用mate20版本,之前的都不行。

2. 树莓派Raspbian Buster系统安装ROS

是谁告诉我树莓派原生系统不好装ubuntu的啊啊啊???于是我在没有尝试的情况下就转战ubuntu了,总之在ubuntu上面折腾了一天最后还是没有装成功,第三部分会解释。然后就试试看在Raspbian系统上面安装,找了几篇博客发现大同小异,基本和官网的教程差不多。于是直接照着官网教程安装,竟然一次成功了?!果然实践出真知啊。下面的步骤基本都是按照官方教程来的,建议大家直接看官网,老外写东西确实是详细、靠谱。

  1. 登录官网树莓派系统安装ros。如图所示
    在这里插入图片描述

  2. 选择安装kinetic还是Melodic,点进去就可以了。我选择的Melodic。

  3. 添加软件源、添加密钥

$ 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

我这里直接用的ros官网的,实测正常安装。如果安装过程慢可以换成国内镜像试试,在官网也可以找到其他镜像Mirrors

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
  1. 更新
$ sudo apt-get update
$ sudo apt-get upgrade
  1. 安装依赖(过程稍长,自己会全部安装好)
$ sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
  1. 初始化rosdep
$ sudo rosdep init
$ rosdep update

这一步是个大坑,很多人会倒在这里,根本原因是raw.githubusercontent.com这个网站国内进不去了。。参考这篇博客,完美解决问题。

  1. 创建ros工作空间
$ mkdir -p ~/ros_catkin_ws
$ cd ~/ros_catkin_ws
  1. 下载包(注意Rsspbian系统是使用源码安装ros)
    这里官方给了两种方案,一种是推荐的一般安装(ROS-Comm),没有GUI TOOLS,很多包也没有,包括小海龟turtlesim。一种是Desktop,我两种都试了,都能装上,建议装Desktop版,这是完整版本。
    在这里插入图片描述

ROS-Common版本

$ rosinstall_generator ros_comm --rosdistro melodic --deps --wet-only --tar > melodic-ros_comm-wet.rosinstall
$ wstool init src melodic-ros_comm-wet.rosinstall

Desktop版本

$ rosinstall_generator desktop --rosdistro melodic --deps --wet-only --tar > melodic-desktop-wet.rosinstall
$ wstool init src melodic-desktop-wet.rosinstall

执行完上述命令后会下载所有的ros包到~/ros_catkin_ws/src目录下。

  1. 安装rosdep的依赖
$ cd ~/ros_catkin_ws
$ rosdep install -y --from-paths src --ignore-src --rosdistro melodic -r --os=debian:buster

这条命令会遍历src下的所有ros包并自动安装所有依赖。

  1. 编译与安装
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic

将ros编译安装到/opt/ros/melodic中,你也可以更改这个目录,source的时候对应路径就好。
经过长时间的等待就会装好了!!!
11. source ROS的路径
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
使用zsh的就用这条
echo "source /opt/ros/melodic/setup.zsh" >> ~/.zshrc
12. 成功
启动看看,测试一下小海龟
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
这里使用三个终端打开,推荐一个终端terminator,比默认的好用,可以分频, sudo apt install terminator就可。

3. UBUNTU MATE20.04 安装ROS Noetic

使用ubuntu安装我一直没有装上,一开始说定位不到软件包,结果发现ubuntu20对应的得安装最新版本的ROS Noetic,安装ROS Melodic是装不上的。后来又一直有依赖问题,还没有解决。
暂且表下,日后再装。

猜你喜欢

转载自blog.csdn.net/qq_30267617/article/details/108252600