警告

您正在阅读的 ROS 2 文档版本已达到 EOL(生命周期结束),不再受官方支持。如果您想了解最新信息,请访问 Jazzy.

使用 Eclipse Oxygen 在 Linux 上构建 ROS 2 [社区贡献]

警告

有些人报告了有关本教程的问题。如果这些步骤对你有效,请在 https://github.com/ros2/ros2/issues/495 上留言。如果不成功,请在评论中说明不成功的第一个步骤。

本教程基于干净的 ubuntu-16.04.2 安装和带有 egit 的 eclipse oxygen。它使用 RTI Connext 作为中间件来实现实时性能。本教程 原始安装页面 也许更新得更及时,请查阅该网站了解信息。

安装:

苏都  -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/dashing.list';
苏都 apt-key 建议 --钥匙服务器 ha.pool.sks-keyservers.net --recv-keys 421C365BD9FF1F717815A3895523BAEEB01FA116
苏都 适切 更新 sudo 适切 安装 笨蛋 wget 基本建设 cppcheck cmake libopencv-dev python-empy python3-dev python3-empy python3-nose python3-pip python3-pyparsing python3-setuptools python3-vcstool python3-yaml libtinyxml-dev libeigen3-dev clang-format pydocstyle 火片 python3-coverage python3-mock python3-pep8 去壳 libasio-dev libtinyxml2-dev libcurl4-openssl-dev libqt5core5a libqt5gui5 libqt5opengl5 libqt5widgets5 libxaw7-dev libgles2-mesa-dev libglu1-mesa-dev qtbase5-dev

然后安装

苏都 管道3 安装 argcomplete flake8 鳞片8-盲点-例外 flake8-builtins flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings flake8-import-order flake8-quotes 测试 pytest-cov 跃马

创建名为 ros2_ws 的 eclipse 工作区。(名称不必是 ros2_ws)。

日蚀-1

在这个 eclipse 工作区中,我们创建了一个 C++ 项目。有了这个选项,我们就有了一个用于完成代码的索引器。

日蚀-1

我们将项目命名为 ros2_ws

日蚀-1

我们可以看到我们的项目和一些包含项。这些内容并不在我们的工作区中,所以不要删除,它们是为索引器准备的。

日蚀-1

我们在项目中创建一个名为 "src "的文件夹

日蚀-1

我们在项目中看到了这个文件夹。这个文件夹也存在于我们的工作区中。然后,我们进入控制台,切换到 /home/ros/ros2_ws/ros2_ws 目录,在其中输入

wget https://raw.githubusercontent.com/ros2/ros2/dashing/ros2.repos vcs-import 来源 <; ros2.repos

在 .bashrc 中添加 export RTI_LICENSE_FILE=/home/ros/rti_connext_dds-5.3.1/rti_license.dat,然后创建源代码。

日蚀-1

我们现在需要 RTI 许可证,可以在其网站上获取。请参考 Linux 开发设置页面.注册后,RTI 许可证文件将直接通过电子邮件发送。

邮件中有一个 RTI 软件的下载链接。我们在 chmod +x 后运行 .run 文件

日蚀-1 日蚀-1

我们选择主目录来安装

日蚀-1 日蚀-1 日蚀-1

在启动的启动器中,我们选择 RTI 许可证文件并将其复制到全局

日蚀-1

在左下方选择安装按钮

日蚀-1

安装 RTI 软件的安全软件包

日蚀-1

和 openssl 软件包

日蚀-1

解压 openssl-1.0.2n 软件包并将其复制到 RTI 安装目录。在控制台中输入 /home/ros/rti_connext_dds-5.3.1/resource/scripts/rtisetenv_x64Linux3gcc5.4.0.bash,并导出 RMW_IMPLEMENTATION=rmw_connext_cpp。

现在,我们在 Eclipse 中打开 Project->Preferences(项目首选项),然后转到 Environment(环境)。

日蚀-1

我们输入环境变量。我们只需打开一个 bash 控制台,然后运行 "env > /tmp/out",再运行 ROS 2 local_setup.bash,然后运行 "env > /tmp/out1 "和 "diff /tmp/out /tmp/out1",就能获得环境变量。diff 显示的输出是我们在 eclipse 环境变量中输入的内容,这样 eclipse 就能知道新的 PATH 变量。

日蚀-1 日蚀-1

然后,我们进入 "建设者 "页面,点击 "新建 "按钮。

日蚀-1

我们输入 amen.py 的设置

日蚀-1

之后,我们取消选择 CDT-生成器

日蚀-1

然后,我们转到 C++ Build,删除构建命令 make,因为我们使用的是 ament.py(不知道是否真的需要这样做,因为我们之前禁用了 CDT-Builder?)

日蚀-1

现在我们可以右击并运行 "构建项目"。

提示:错误:我删除了/home/ros/rti_connext_dds-5.3.1/lib/x64Linux3gcc5.4.0/5.3.1/5.3.1目录,并加倍了库。

日蚀-1

然后,我们可以打开两个控制台,在两个控制台中都输入 ros2_ws/install/local_setup.bash,并运行 talker 和 listener

日蚀-1

在 eclipse 中看到我们的项目,转到 git-repositories-view 并导入本地 repo

日蚀-1

我们选择目录,然后选择我们感兴趣的版本库,例如查看代码行作者等 git 信息,或切换到其他分支等。

日蚀-1

将 git-repo 添加到 git-repository-view 后,我们可以右键单击它,然后选择 "导入项目"。

日蚀-1

导入源是我们项目的目录

日蚀-1

我们在项目浏览器视图的左下方看到,这个项目就在我们的 ros2_ws 项目旁边。但其中一个与 Egit 相连,可以显示 git 注释等,而另一个则不行。因此,请打开链接到 Egit 的项目中的文件。

日蚀-1

用 Egit 链接的文件。在编辑器中的行号旁单击右键,在弹出的对话框中选择 "显示修订信息",然后用鼠标悬停在该行号上,就能看到作者等信息,以及提交信息等其他内容。

日蚀-1