问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

在树莓派上安装 ROS Melodic

创作时间:
作者:
@小白创作中心

在树莓派上安装 ROS Melodic

引用
CSDN
1.
https://m.blog.csdn.net/weixin_43978579/article/details/140660967

ROS(机器人操作系统)是一个开源的元操作系统,为机器人提供了硬件抽象、底层设备控制、常用函数实现、进程间消息传递以及包管理等功能。它还提供了用于获取、编译、编写和跨计算机运行代码所需的工具和库函数。在某些方面,ROS相当于一种"机器人框架"。

树莓派支持多种系统,以Raspbian Buster为例,本文将记录在树莓派上下载并构建ROS Melodic的步骤。其他型号的树莓派安装过程类似。

一、安装 ROS Melodic

打开树莓派终端并执行以下步骤:

  1. 安装 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 -
    
  2. 更新 Debian 包索引,并升级已安装的软件包

    $ sudo apt-get update
    $ sudo apt-get upgrade
    
  3. 安装依赖包

    $ sudo apt install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
    
  4. 初始化 rosdep

    $ sudo rosdep init
    $ rosdep update
    

二、创建 catkin 工作空间

  1. 创建一个 catkin 工作空间来构建核心包。
    在树莓派终端上运行以下命令。

    $ mkdir -p ~/ros_catkin_ws
    $ cd ~/ros_catkin_ws
    
  2. 使用 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 用户工作空间,执行以下步骤。

  1. 为 ROS Melodic 源设置脚本。

    source /opt/ros/melodic/setup.bash
    
  2. 初始化 ROS 用户工作空间 ~/catkin_ws
    创建并初始化 ROS 用户工作空间:~/catkin_ws

    mkdir -p ~/catkin_ws/src
    cd ~/catkin_ws/src
    catkin_init_workspace
    
  3. 构建 ROS 用户工作空间。
    此步骤在 ~/catkin_ws 工作空间下创建 develbuild 目录。

    cd ~/catkin_ws/
    catkin_make
    
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号