如何在Raspberry Pi 4(Raspbian Buster)上安装ROS Melodic,Rosserial和更多

在安装在底盘上的第一传感器或致动器之前,从构建自主机器人的过程开始。构建过程需要硬件和软件设置,这是本文的主题。

第一步是设置并安装将管理硬件组件和运行算法以控制机器人的计算机。对于您在本网站上找到的机器人项目(至少在开始时),我将使用Raspberry PI作为机器人顶部的主电脑。

不同的项目可能有不同的要求。出于这个原因,我曾经使用最强大的PI版本:覆盆子PI 4型号B,具有4GB的RAM。此版本能够运行ROS,算法来检测对象,以及深度学习算法。

覆盆子pi 4套件

覆盆子pi 4套件

在这篇文章结束时,你’LL有一个Raspberry Pi,准备运行Python算法,发送和接收来自单板微控制器的数据,并安装了远程访问服务。

我将帖子分成六个部分,以便能够从一个主题切换到另一个主题或忽略特定安装的主题。我开始安装操作系统所需的步骤,我继续安装框架和工具。

我相信每个人都应该能够建立机器人。因此,即使您是初学者或高级用户,您将能够拥有在PI上运行的所有软件和框架。您需要做的就是通过关注并遵循本教程中的所有步骤。

我与本教程的目标是拥有一个可靠的计算机,您将用于构建自主机器人并只要需要在没有任何超时的情况下继续运行。

如果您认为这篇文章很长,请将您阻止几个小时,也许有一天,您可能会有另一种选择。您可以找到运行ROS的已准备好图像的列表。显着的优点是您将在几分钟内具有Up和运行PI,以便在此帖子中没有所有框架和工具的成本。

我们非常接近开始安装,但首先,我们必须定义所有所需的硬件资源和规范。我已经提到了我在这篇文章中使用的pi版本。以下是所使用的所有硬件组件和附件的完整列表。

组件列表:

  • Raspberry PI 4模型B,带有4GB的RAM [亚马逊链接]
  • 电源5V 3A USB-C适配器
  • 官方32GB microSD卡
  • MicroSD卡的全尺寸适配器
  • 键盘和鼠标[亚马逊链接]
  • 具有HDMI输入的屏幕

如果您已经有Raspberry PI 4(任何带有1,2或4GB的RAM),MicroSD卡和电源,请检查规格,并务必提供PI 4兼容的电源和MicroSD卡从这个列表。如果没有,您可能在安装过​​程中具有各种错误,并且本教程不介绍。

有一旦我们有硬件组件和附件列表,我们就可以启动设置和安装过程。

目录

1.如何在覆盆子PI 4上安装Raspbian Buster
2.启用SSH以获取远程访问
3.安装ROS Melodic
4.安装Arduino IDE和Rosserial
5.安装Pycharm IDE
6.设置虚拟网络计算(VNC)

1.如何在覆盆子PI 4上安装Raspbian Buster

在本教程的这一部分中,我解释了如何在覆盆子PI 4上安装Raspbian Buster 4.我选择在PI 4上安装Raspbian 4原因:

  • Raspbian是覆盆子PI电脑的官方操作系统;
  • Raspbian Buster与ROS Melodic兼容。旋律是长期支持释放,其在2023年结束;

Raspbian是一个由Raspberry PI基金会正式提供的基于Debian的(32位)的计算机操作系统,作为覆盆子PI系列的主要操作系统。操作系统包括一组基本程序和实用程序,可帮助您开发和执行程序。它作为您和PI硬件之间的桥梁,并管理CPU,内存,存储盘,GPIO(通用输入/输出)引脚等。

使用Raspberry PI Imager软件安装Raspbian操作系统变得更加容易。该程序包括擦除和写入用于PI的MicroSD存储卡的选项。

我使用PI成像仪程序来删除我的存储卡。然后我从选项菜单中选择Raspbian Buster以在MicroSD卡上安装。它没有按预期工作。所以,我决定下载“Raspbian Buster与桌面和推荐的软件”来自Raspberry PI网站的图像并使用Raspberry PI Imager安装它。

1.1追随在覆盆子PI 4上安装Raspbian Buster的步骤

让’S下载并安装Buster:
Step 1:下载最新版本的raspberry Pi成像器并安装它。根据您使用的操作系统,请选择以下链接之一:

Step 2:将MicroSD卡插入存储卡适配器,并将该适配器插入计算机的读卡器中。

笔记: 如果使用的存储卡是新的,则无需擦除并格式化卡。否则,您必须使用Raspberry PI Imager擦除并格式化卡。

第3步:下载“Raspbian Buster与桌面和推荐的软件”或三个Raspbian版本中的任何一个。对于本教程,我使用带有桌面和推荐软件的版本。

第四步:启动Raspberry PI成像器并使用菜单“使用习惯 从计算机中选择自定义.img”加载在计算机上下载的Raspbian图像。

从计算机中选择自定义.img

从计算机中选择自定义.img

第5步:使用“成像”菜单选择SD卡驱动器。
第6步:点击开始将数据写入SD卡。这一步需要几分钟。
第7步:在完成存储卡上写入操作系统的图像后,将MicroSD卡插入覆盆子PI’S插槽和电路板。

你有几个步骤要做。这些步骤包括您的语言,密码和电路板连接到Internet的设置。一旦完成设置过程,我们就可以进一步进入下一步并开始在覆盆子PI中启用SSH。

2.启用SSH以获取远程访问

Secure Shell(SSH)是一种网络协议,可以允许您牢固地通过不安全的网络操作PI板。您可以通过使用用户和笔记本电脑,桌面,甚至智能手机的IP地址登录覆盆子PI来实现这一目标。

使用此服务,您可以在PI上运行命令,而无需插入显示器,键盘,鼠标,或将自己移动到覆盆子PI的位置。当PI板在移动机器人上运行时,此服务是必不可少的。

我假设您熟悉shell终端和命令行的基础知识。

笔记: 如果您忘记选择键盘布局,请导航到Raspberry PI Desktop首选项菜单,并使用标准US键盘布局除非您想选择适合键盘的键盘布局。对于本教程,我使用美国键盘布局。

步骤1:要启用SSH,请打开终端并键入:

第2步:在弹出屏幕中,导航到‘5接口选项‘ and press enter.
选择‘P2 SSH‘,按Enter键,然后选择‘是的‘.

选择'5个接口选项'

选择‘5个接口选项’

使用上面的两个设置,只有使用键盘,鼠标和屏幕手动验证到PI后,才能使用PI使用SSH服务。但是,我们的目标是在PI通电并连接到Internet之后通过SSH运行命令。解决方案是允许根登录。

第3步:打开终端并运行命令:

Step 4:向下滚动到‘#验证‘并取消注释该行‘#permitrootlogin.‘删除#然后写‘是的‘.

许可root登录

许可root登录

保存文件‘Ctrl + O.‘ and exit ‘Ctrl + X.‘.

第5步:运行以下命令并注意PI的IP:

第6步:重启pi。

此时,我们可以通过SSH服务在PI上运行命令,而无需使用键盘,鼠标和屏幕进行身份验证。即使我们几乎准备好安装PI上的第一个框架,我们仍然需要安装其他软件。

对于SSH服务,我跑了油灰在我的笔记本电脑上。 Putty是一个免费且开源的终端仿真器,串行控制台和网络文件传输应用程序,允许我们在PI上运行命令。

我们有一个操作PI计算机,SSH服务,运行和运行,以及通过SSH访问PI的终端仿真器。在此步骤中,我们已准备好进一步进一步安装ROS框架。

3.安装ROS Melodic

罗斯(机器人操作系统)是一个在Raspbian之上运行的框架。该框架包括我们将用于构建机器人的一组库和工具。

如果您想构建不同的机器人,ROS是一体化解决方案。一旦了解如何编写节点,服务,操作和使用软件包,您可以制作不同类型的机器人,包括机器人武器,无人机或自主移动机器人。

罗斯为几乎任何机器人应用提供了多种封装。映射,导航和本地化,只是构建机器人的有用包的一些例子。

你想使用Python而不是C ++来控制你的机器人吗?您被允许编写Python节点并使其与C ++节点通信。

你想在虚拟世界中建立你的机器人吗?您需要一个模拟工具。 ROS拥有用于仿真和可视化的优秀工具,例如RVIZ和凉亭。

您可以运行多个独立机器人并使其彼此通信。使用ROS的好处的列表更长,涵盖机器人开发中的不同区域。

目前没有覆盆子PI 4和Raspbian Buster操作系统的官方ROS旋律安装指南。因此,我们需要从来源构建它。

我们非常接近开始运行命令以安装ROS。在运行第一个命令之前,我将对ROS分发进行简短介绍。对于本教程和我的下一个项目,我选择使用ROS旋律分布。该分布于2018年发布,直至2023年。

让’s begin to install ROS Melodic:
步骤1:设置存储库:

第2步:安装构建工具(编译器,cmake等)

  • Rosdep.是用于安装系统依赖项的命令行工具。
  • Rosinstall._generator.生成包含有关ROS包/堆栈的存储库的信息的RosInstall文件。
  • WSTOOL.是一种用于维护来自多个版本控制系统的项目工作空间的工具。

第3步:初始化Rosdep.
Rosdep.有所有依赖项的规则,如果某些事情无法正常工作,则值得将其报告为一个问题。依赖项列表解决Rosdep.这里.

第四步:创建Catkin工作区以构建核心包。

第5步:获取核心包
最小桌面安装可能是覆盆子PI的首选,因为板可能在机器人顶部运行。这个安装没有’T包括2D / 3D模拟器,导航和2D / 3D感知。

笔记: -J4选项并行下载四个包。如果您有一个带有1GB或2GB的RAM的PI 4版本,并且‘wstool init’失败或中断,您可以通过运行-j2恢复下载。

第6步:安装兼容版本的ASSIMP(Open Asset Import库)以修复rviz的Collada_URDF依赖关系问题和OGRE。

第7步:解决依赖项
我们必须确保所有所需的依赖项都到位:

第8步:构建和源安装
在上面的步骤中,我们完成下载软件包并解决依赖项。在这一步,我们准备建立了Catkin包。

我们使用Catkin._make_isolated.命令,因为有Catkin和PlainCMake.在Catkin上仅在Catkin上开发时,您可以选择使用的工作空间Catkin /命令/ Catkin_Make它只适用于Catkin包装。

此时,我们完成ROS安装。最后一件事是重新启动覆盆子pi。

PI在上路并运行后,我们会检查并启动遥控会话:

您应该看到罗敏会话,如Bellow Image:

r会话

r会话

检查已安装的ROS包列表:

罗斯pack列表名称

罗斯pack列表名称

结束了r会话运行命令Ctrl + C..

此时,我们已准备好开始工作。第一件事是创建工作空间以构建软件包以在机器人上运行:

4.安装Arduino IDE和Rosserial

arduino.是一个能够读取传感器输入的开源电子平台并将其转换为输出以控制电机。嗯,您可以使用PI板以及读取传感器输入并控制机器人的方向。是的,这是真的。但是,覆盆子PI和Arduino是完全不同的板。

arduino.是一个快速的原型板,需要更少的努力来接口传感器和其他电子元件。另一方面,Raspberry PI需要用于接口传感器和其他组件的库和软件。如果传感器,电机驱动器或任何组件以微控制器更容易地控制,我更喜欢使用Arduino而不是覆盆子PI。

如果您决定仅使用PI继续构建机器人,您可以忽略本教程的这一部分。但是,如果您选择使用ROS使用Arduino,那么您必须进一步进一步并安装Arduino IDE和Rosserial库。

您可以在Arduino Uno,Leonardo,Mega以及到期的情况下运行ROS。

罗斯serial._arduino.包是用于arduino之间进行通信的协议’S UART和覆盆子PI。 Arduino能够发布和订阅ROS消息,发布TF转换并获取ROS系统时间。

我们非常接近开始安装Arduino IDE。在安装Arduino IDE之前,让’S检查您的系统架构。首先,您需要安装一个‘list hardware’ [lshw]工具显示系统架构。

要显示系统的体系结构,请运行以下命令:

LSHW.

LSHW.

4.1安装Arduino IDE 1.8.12

如果我们检查Raspberry PI 4的架构,我们可以看到B型Rev 1.2型号正在使用32位。需要此信息来下载Arduino IDE的正确软件版本。

步骤1:下载32位版本for Linux ARM:链接到arduino. IDE.

此步骤可能需要几分钟才能下载该文件。导航到下载目录并解压缩存档。

第2步:打开终端并导航到下载目录,然后转到Arduino目录并运行命令:

此时,您已经完成了覆盆子PI上的Arduino IDE的安装。下一步是安装罗斯serial..

4.2从来源安装rosserial

步骤1:易于-get.命令适用于可用包的数据库。第一步是更新此数据库。否则,系统并未’知道是否有可用的较新的包。一旦我们更新了包数据库,我们可以升级已安装的软件包。

第2步:从GitHub存储库克隆rosserial:

第3步:生成罗斯serial._msgs.沟通需要:

第四步:制作库文件Catkin_ws / devel / lib目录

第5步:安装罗斯_lib.进入Arduino环境:

arduino.和ros_lib.

arduino.和ros_lib

第6步:我们需要在每个我们将运行ROS命令的终端中提供Setup.Bash文件。这些脚本控制许多重要的ROS环境变量和非ROS环境变量。

第7步:此命令是导入罗斯serial.图书馆进入Arduino IDE。

让’如果一切正常工作,请检查一下。打开Arduino IDE并导航到File -> Examples -> ros_lib。选择一个示例,打开它,然后编译文件。

arduino.你好世界计划

arduino.你好世界计划

通过上述所有步骤,我们完成了Arduino IDE和Rosserial库的安装。此时,我们可以使用Arduino与Raspberry Pi发布传感器输入或电机驱动器的读取命令。

5.安装Pycharm IDE

在本教程中,我写了关于我们需要构建机器人的框架和软件。我没有的一个重要话题’t说出的是编程语言。

我宁愿在arduino上运行覆盆子pi和arduino [c ++]的python。如果您计划在PI上的其他编程语言上运行而不是Python,您可以忽略本教程的这一部分,然后进一步进入下一个主题。在这一部分中,我将向您展示如何检查Raspbian上安装的Python版本并安装Python IDE。

如果您是Pycharm IDE上的新型建立代码,它’值得看一下。您有两个选项可下载:一个免费的社区版和带有其他功能的付费版本。

在本教程中,我将向您展示如何安装Pycharm社区IDE。

此时,我们非常接近启动运行命令并安装IDE。

Raspbian Buster安装了Python 3,而且您仍然没有’t必须进行任何额外的安装。要检查Python版本,请运行以下命令:

$ python3  - 转换

$ Python3.–version

我们非常接近开始安装Pycharm IDE。

步骤1:首先,让我们’S开始下载该工具的社区版本。这关联下载Pycharm版本3.3的Linux版本。

第2步:下载完成后,转到下载目录并解压缩文件。

第3步:继续开放终端并导航到下载目录。将文件移动到/选择,这是我们将安装未捆绑包的目录。最后一步是运行shell可执行文件文件以安装IDE。

笔记: 如果在安装期间,您在命令上获取Java错误,请运行:$ sudo apt-get安装OpenJDK-11-JDK

第四步:如果安装顺利工作,将出现弹出窗口。使用自定义首选项填充步骤。

  1. 从“工具”菜单中,选择“Create Desktop Entry…”
  2. 如果您想要所有用户的启动器,请勾选复选框。
  3. 当您将被问到,添加密码。
  4. Navigate to Application menu -> Programming, and you should see the PyCharm Community Edition in the list.

6.设置虚拟网络计算(VNC)

几乎一直都是,覆盆子PI板将在机器人的顶部运行。有没有使用SSH服务的操作。相反,我们可以使用VNC服务在在远程计算机上工作时访问图形用户界面(GUI)。

要使用VNC,我们需要在本地计算机上运行PI和VNC客户端的VNC服务器。此外,我们需要知道PI的IP地址,以及用于身份验证的用户名和密码。

在安装VNC服务之前,我们必须检查允许我们运行虚拟网络的服务和选项。

步骤1:我们必须启动GUI / Desktop Manager服务。必须将PI设置为启动到桌面(服务模式)。因为我们将在没有附加的HDMI监视器的项目中使用PI,所以我们需要指定屏幕分辨率。

要更改分辨率,请运行命令:

第2步:导航Advanced Options -> Resolution,并选择一个选项。

第3步:重启你的pi。

6.1在PI上安装VNC服务器

步骤1:运行命令:

第2步:导航到‘5个接口选项‘菜单项,然后按Enter键。
然后导航到‘P3 VNC‘ press Enter

P3 VNC

P3 VNC

选择是的然后按Enter键。然后选择确定(输入)。

您将返回主菜单并选择完成。

第3步:重启你的pi。

6.2在本地计算机上安装VNC客户端

我使用真正的VNC客户端,因为它适用于MacOS,Linux,Windows和其他操作系统。为操作系统选择合适的版本并下载查看器这里.

一旦您在PI上运行的VNC服务器和本地计算机上运行的VNC客户端,请按照以下步骤操作:

  1. 输入PI的IP地址。
  2. 在远程系统上输入帐户的用户名和密码。
  3. 用gui连接到pi。

概括

您现在有一个覆盆子PI板准备开始运行算法并与微控制器平台进行通信。

我们从PI上的Raspbian安装开始,并继续启用SSH服务,该服务允许我们在无担保网络上运行PI上的命令。

然后我们继续使用ROS Melodic,Arduino IDE和Rosserial安装。所有这些软件库和工具都是控制机器人的基础。

最后,我向您展示了如何安装流行的Python IDE并在在远程计算机上工作时设置VNC服务以访问图形用户界面(GUI)。

如果您有任何疑问,请随时在评论部分留下评论!

参考:

9评论» Write a comment

    • 你好
      每个人都给桌面带来了另一个缺乏的表格。 PI运行一个提供GUI,文件系统,网络等的操作系统。

      arduino.对控制电机非常有用,读取传感器输出和比Pi更好的实时反应性能。因此,您可以在GPIO时机与Arduino比运行Linux操作系统的PI更准确。毕竟,这取决于用户的口味和需求。

  1. 感谢您的辛勤工作。
    必须认识到严肃的工作。
    描述性形式以及功能是100%完美。
    恭喜。
    JP(EX-HP支持ENG。)

  2. 教程似乎写得很好,但我’在广泛的搜索之后,我已经无法修复的错误。

    最新的是:包装中的错误‘/home/pi/ros_catkin_ws/src/console_bridge/package.xml.’:
    清单包含无效的XML:
    没有找到元素:第1行,第0列

    您是否有针对安装错误的直接建议?

  3. 欣赏您对令人惊叹的教程的努力。

    安装ROS Melodic Step8时我有问题
    苏达./src/catkin/bin/catkin_make_isolated.–安装-dcmake_build_type =发布–安装 - 空间/ opt / ros / melodic -j2
    我已经尝试了好几次,终端始终陷入QT_GUI_CPP [65's 186] 31%
    PI 4变得迟钝,进度不会继续。

    你有解决问题吗?
    谢谢。

发表评论

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