在树莓派上安装 ROS Melodic
在树莓派上安装 ROS Melodic
ROS(机器人操作系统)是一个开源的元操作系统,为机器人提供了硬件抽象、底层设备控制、常用函数实现、进程间消息传递以及包管理等功能。它还提供了用于获取、编译、编写和跨计算机运行代码所需的工具和库函数。在某些方面,ROS相当于一种"机器人框架"。
树莓派支持多种系统,以Raspbian Buster为例,本文将记录在树莓派上下载并构建ROS Melodic的步骤。其他型号的树莓派安装过程类似。
一、安装 ROS Melodic
打开树莓派终端并执行以下步骤:
安装 repository key
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' $ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
更新 Debian 包索引,并升级已安装的软件包
$ sudo apt-get update $ sudo apt-get upgrade
安装依赖包
$ sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
初始化 rosdep
$ sudo rosdep init $ rosdep update
二、创建 catkin 工作空间
创建一个 catkin 工作空间来构建核心包。
在树莓派终端上运行以下命令。$ mkdir -p ~/ros_catkin_ws $ cd ~/ros_catkin_ws
使用 wstool 命令来获取核心包并在树莓派上构建它们。
$ rosinstall_generator ros_comm rosout std_msgs sensor_msgs geometry_msgs tf --rosdistro melodic --deps --wet-only --tar > melodic-ros_mw-wet.rosinstall $ wstool init src melodic-ros_mw-wet.rosinstall
这个命令会添加指定变体中的所有 catkin 或 wet 包,然后将源代码下载到
~/ros_catkin_ws/src
目录中。一旦执行此命令,系统可能需要几分钟时间将核心包下载到src
文件夹中。如果
wstool init
命令失败或被中断,你可以通过运行以下命令来恢复下载过程。wstool update -j4 -t src
注意:
-j4
参数表示并行下载四个文件,以加快下载速度。-t src
参数指定了下载到的目标目录。
三、使用 rosdep 解决依赖关系
在构建 catkin 工作空间之前,需要确保已经解决了所有依赖关系并安装了所有包。
通过在树莓派终端上运行以下命令来解决依赖关系。
$ cd ~/ros_catkin_ws
$ rosdep install -y --from-paths src --ignore-src --rosdistro melodic -r --os=debian:buster
四、构建 catkin 工作空间
对于早期的树莓派硬件(如:Model B+、Model B Rev1、Model B Rev2、Pi 2 Model B、Pi Zero W),可以增加交换空间以提高构建速度。
在树莓派终端上执行此命令以打开交换配置文件。
$ sudo nano /etc/dphys-swapfile
在编辑器窗口中,搜索 CONF_SWAPSIZE
变量并将其设置为 500。保存文件。这将把交换空间增加到 500MB。
执行以下命令以激活新的交换空间大小。
$ sudo dphys-swapfile setup
$ sudo dphys-swapfile swapon
在解决完依赖关系和下载完软件包之后,调用 catkin_make_isolated
,构建 catkin 工作空间。
$ sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic
ROS Melodic 现在已安装在树莓派硬件板上。
激活新安装的环境。
$ source /opt/ros/melodic/setup.bash
你可以在 ~/.bashrc
文件中源设置 setup.bash
,以便每次启动新 shell 时自动将 ROS 环境变量添加到 bash 会话中。
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
五、创建 catkin 用户工作空间
在树莓派终端上创建一个 catkin 用户工作空间,执行以下步骤。
为 ROS Melodic 源设置脚本。
source /opt/ros/melodic/setup.bash
初始化 ROS 用户工作空间
~/catkin_ws
。
创建并初始化 ROS 用户工作空间:~/catkin_ws
。mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace
构建 ROS 用户工作空间。
此步骤在~/catkin_ws
工作空间下创建devel
和build
目录。cd ~/catkin_ws/ catkin_make