在macOS上安装ROS 2
目录
本页介绍如何在macOS上从预编译的二进制包安装ROS 2。 [Alyssa@5737]
注解
预构建的二进制文件不包括所有ROS 2包。包括 ROS base variant 中的所有包,并且只包括 ROS desktop variant 中的包的一个子集。包的准确列表可在 this ros2.repos file 列的仓库中查看。 [Alyssa@5738]
安装先决条件
在安装ROS 2之前,您需要安装以下内容。 [待校准@5740]
brew * (需要安装更多的东西; 你可能已经安装了这个工具) *: [Alyssa@5714]
安装说明请参阅:http://brew.sh/ [Alyssa@5715]
可选 : 通过运行以下命令检查您的系统配置是否满足
brew
的需求: [小鱼@5716]brew doctor Fix any problems that it identifies.
使用
brew
安装更多包: [Alyssa@5718]brew install python@3.8 # Unlink in case you have python@3.7 installed already brew unlink python # Make the python command be Python 3.8 brew link --force python@3.8 # install asio and tinyxml2 for Fast-RTPS brew install asio tinyxml2 # install dependencies for robot state publisher brew install tinyxml eigen pcre poco # OpenCV isn't a dependency of ROS 2, but it is used by some demos. brew install opencv # install OpenSSL for DDS-Security brew install openssl # if you are using ZSH, then replace '.bashrc' with '.zshrc' echo "export OPENSSL_ROOT_DIR=$(brew --prefix openssl)" >> ~/.bashrc # install Qt for RViz brew install qt freetype assimp # install console_bridge for rosbag2 brew install console_bridge # install dependencies for rcl_logging_log4cxx brew install log4cxx spdlog # install CUnit for Cyclone DDS brew install cunit
安装ros2 doctor的依赖项 [Alyssa@5741]
python3 -m pip install rosdistro
安装rqt的依赖项 [Alyssa@5720]
brew install sip pyqt5
在安装过程中查找sip相关内容时,需要修复一些路径名 (参见 ROS 1 wiki ): [Alyssa@5744]
ln -s /usr/local/share/sip/Qt5 /usr/local/share/sip/PyQt5
brew install graphviz
python3 -m pip install pygraphviz pydot
注解
安装
pygraphviz
时,你可能会遇到 "error: Error locating graphviz" 的问题。请尝试以下install命令: [Alyssa@5748]python3 -m pip install --install-option="--include-path=/usr/local/include/" --install-option="--library-path=/usr/local/lib/" pygraphviz
安装SROS2的依赖项 [Alyssa@5749]
python3 -m pip install lxml
为命令行工具安装其他运行时依赖项: [待校准@5751]
python3 -m pip install catkin_pkg empy ifcfg lark-parser lxml netifaces numpy pyparsing pyyaml setuptools argcomplete
禁用系统完整性保护 (SIP)
macOS/OS X版本 > = 10.11时默认情况下启用了系统完整性保护。为使SIP不阻止继承动态链接器的环境变量的进程,如 DYLD_LIBRARY_PATH
,你需要禁用它 参考此说明文档。 [Alyssa@5728]
下载ROS 2
下载macOS的最新软件包; 让我们假设它最终下载到 “~/Downloads/ros2-release-distro-date-macos-amd64.tar.bz2”。 [Alyssa@5752]
注意: 可能有多个二进制下载选项,这可能会导致文件名不同。 [待校准@5534]
解压: [Alyssa@5535]
mkdir -p ~/ros2_foxy cd ~/ros2_foxy tar xf ~/Downloads/ros2-release-distro-date-macos-amd64.tar.bz2
安装额外的DDS实现 (可选) [待校准@5495]
如果您想使用除默认的eProsima快速RTPS之外的其他DDS或RTPS供应商,您可以参考 here. [Alyssa@5664]
尝试运行一些例子 [Alyssa@5504]
在一个终端中,如上所述设置ROS 2环境,然后运行一个c++的 talker
: [Alyssa@5733]
ros2 run demo_nodes_cpp talker
在另一个终端中,设置ROS 2环境,然后运行Python listener
: [待校准@5753]
ros2 run demo_nodes_py listener
你应该看到了 talker
说这是 Publishing
消息 ,listener
说 I heard
这些消息。这证明了C++和Python的APIs都是正常工作的。万岁! [Alyssa@5507]
安装后的下一步
继续使用 tutorials and demos 来配置您的环境,创建您自己的工作空间和包,并学习ROS 2核心概念。 [Alyssa@5734]
使用ROS 1 bridge
ROS 1bridge可以连接从ROS 1到ROS 2的话题,反之亦然。看看这个专门的文献 documentation 如何编译和使用ROS 1bridge。 [Alyssa@5511]
附加RMW实现 (可选)
ROS 2使用的默认中间件是 Fast-RTPS
,但中间件 (RMW) 可以在运行时替换。有关如何使用多个RMWs的信息,请参阅 guide 。 [待校准@5754]
故障排除
故障排除技术可以参考 here 。 [Alyssa@5735]
卸载
如果你按照上面的指示用colcon安装了你的工作空间, "uninstalling" 可能只是打开一个新的终端,而没有source工作空间的
setup
文件。因此,您的环境就会表现得好像您的系统上没有安装Foxy。 [Alyssa@5523]如果您还打算释放所有空间,则可以使用以下命令删除整个工作空间的目录: [Alyssa@5524]
rm -rf ~/ros2_foxy