如何在运行Raspbian Stretch Lite的Raspberry Pi 3上安装ROS Kinetic

我想用Raspberry Pi 3开发板和ROS Kinetic控制自主机器人。 Pi 3将连接到另一台用于监视和控制设置的Linux PC。电脑的设置在这里 文章.

由于缺乏处理器和内存方面的Pi资源,我’m被迫更有效地利用资源。第一步是在Pi上安装Raspbian Stretch Lite之类的操作系统。通过类型命令与该系统进行交互。它没有’桌面版随附GUI和其他软件。从理论上讲,如果您不想给Pi板增加太多不必要的任务,这是一个完美的操作系统。

当PC为从机时,系统将使用Raspberry Pi板作为主机。此配置意味着在机器人上而不是在远程PC上运行Roscore。 PC用于查看来自Pi的消息或将一些手动更正发送回机器人。

我在Raspbian Stretch Lite上没有安装GUI工具的情况下安装了ROS Kinetic版本,并在下面做了所有步骤。

  • 步骤1:下载并安装Raspbian Stretch Lite
    描述了Raspberry Lite的安装步骤 这里.
  • 步骤2:通过SSH连接到Pi,然后运行以下命令:

    sudo sh -c ‘echo “deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main” > /etc/apt/sources.list.d/ros-latest.list’

    wget http://packages.ros.org/ros.key -O – | sudo apt-key add –

    sudo apt-get更新

    须藤apt-get install -y python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

    须藤apt install dirmngr

    sudo rosdep初始化

    rosdep更新

    rosinstall_generator ros_comm–rosdistro kinetic –deps –wet-only –tar > dynamic-ros_comm-wet.rosinstall

    wstool init src dynamic-ros_comm-wet.rosinstall

    rosdep安装 -y –from-paths src –ignore-src –rosdistro动力学–os=debian:stretch

    须藤./src/catkin/bin/catkin_make_isolated–安装-DCMAKE_BUILD_TYPE =发布–安装空间/ opt / ros / kinetic -j1

    (感谢CaJU和Bruce W)

    来源/opt/ros/kinetic/setup.bash

    回声‘来源/opt/ros/kinetic/setup.bash’ >> ~/.bashrc

    mkdir -p〜/ catkin_workspace / src

    cd catkin_workspace / src

    catkin_init_workspace

    cd〜/ catkin_workspace /

    catkin_make

    源〜/ catkin_workspace / devel / setup.bash

    回声‘源〜/ catkin_workspace / devel / setup.bash’ >> ~/.bashrc

    出口| grep ROS

  • 步骤3(可选): 安装过程需要几个小时,我真诚地’不想过早重复安装。我决定在完成初始安装后立即克隆存储卡。 这里 是克隆存储卡所需的步骤。

您可以找到其他信息 这里这里.

8条评论 » Write a comment

  1. 使用以下命令时,我的Raspberry Pi冻结了:
    须藤./src/catkin/bin/catkin_make_isolated–安装-DCMAKE_BUILD_TYPE =发布–安装空间/ opt / ros / kinetic -j2
    特别是在安装“roscpp” package.

    • 嗨!也许您可以尝试删除“-j2”在命令末尾。它被编写为在两个线程中运行命令,这是更快的方法,但是有时树莓在多个线程中执行命令时会遇到问题。

      • 在我身上,如果你不这样做’t显式设置为单核,它使用4个核。所以用“-j1” instead of “-j2”在命令末尾。

        I’您还可以通过将交换空间增加到2GB来解决此问题。我都做了,但是不需要交换空间。使用2个内核,内存使用率上升到100%。一世’ve read that’s由于死锁正在等待内存。

  2. 所以我’ve spent the past few weeks trying to research how to get ROS Melodic on a 树莓派 3 B+ with Raspbian Lite (Stretch). It seems following your instructions 和 replacing kinetic with melodic actually did the trick!

  3. 你好
    我正在执行上述步骤。
    但是我跑步后‘wstool init src dynamic-ros_comm-wet.rosinstall’,我无法克服失败的命运。
    您能提出解决办法吗?
    安装期间捕获到异常:错误处理‘genmsg’:[genmsg]结帐 //github.com/ros-gbp/genmsg-release/archive/release/kinetic/genmsg/0.5.11-0.tar.gz ms-release-release-kinetic-genmsg-0.5.11-0版本到/ home / pi / src / ms失败。
    错误处理‘ros_comm/rosmaster’:[ros_comm / rosmaster]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmaster/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmaster-1.12.14-0到/ home / pi / src / ros_comm / rosmaster的版本失败。
    错误处理‘ros_comm/rosmsg’:[ros_comm / rosmsg]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmsg/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmsg-1.12.14-0到/ home / pi / src / ros_comm / rosmsg的版本失败。
    错误处理‘ros_comm/roswtf’:[ros_comm / roswtf]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/roswtf/1.12.14-0.tar.gz ros_comm-release-release-kinetic-roswtf-1.12.14-0到/ home / pi / src / ros_comm / roswtf的版本失败。

    ERROR in config: 错误处理‘genmsg’:[genmsg]结帐 //github.com/ros-gbp/genmsg-release/archive/release/kinetic/genmsg/0.5.11-0.tar.gz ms-release-release-kinetic-genmsg-0.5.11-0版本到/ home / pi / src / ms失败。
    错误处理‘ros_comm/rosmaster’:[ros_comm / rosmaster]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmaster/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmaster-1.12.14-0到/ home / pi / src / ros_comm / rosmaster的版本失败。
    错误处理‘ros_comm/rosmsg’:[ros_comm / rosmsg]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/rosmsg/1.12.14-0.tar.gz ros_comm-release-release-kinetic-rosmsg-1.12.14-0到/ home / pi / src / ros_comm / rosmsg的版本失败。
    错误处理‘ros_comm/roswtf’:[ros_comm / roswtf]签出 //github.com/ros-gbp/ros_comm-release/archive/release/kinetic/roswtf/1.12.14-0.tar.gz ros_comm-release-release-kinetic-roswtf-1.12.14-0到/ home / pi / src / ros_comm / roswtf的版本失败。

    提前致谢

    • 我有同样的问题。
      github存储库的名称不匹配。
      删除每个版本的最终版本号“version:” line in “dynamic-ros_comm-wet.rosinstall”给您错误的文件。
      删除src文件夹(rm -r src),然后再次执行:
      “wstool init src dynamic-ros_comm-wet.rosinstall”
      那解决了我的问题。
      我已经在github中编辑了文件,但是它是用于旋律分发的。
      //github.com/5haggy/ROS/blob/master/melodic-ros_comm-wet.rosinstall

  4. Argh快结束了!一世’我试图在运行Stretch Lite的RPi3上安装ROS,但是在运行时‘rosdep install’(第10条命令)我收到一个错误,某些软件包/堆栈无法将其rosdep密钥解析为系统依赖项,例如:

    genlisp:对于操作系统[debian],[genmsg]均未定义
    rosbag:对于操作系统[debian]没有[roscpp]的定义
    rostest:对于操作系统[debian],[rosmaster]没有定义

    随后,由于缺少软件包,此后的命令给出了错误。有什么建议吗?

  5. 有人看到凉亭有问题吗?尝试使用raspbian在debian buster上运行此命令,它给出了错误。

发表回覆 考特尼·康罗伊(Courtney Conroy) 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *