在上文我们将ROS2 foxy安装到Ubuntu 20, 并做了消息传递的测试。接下来我们对它的运行环境再做一些配置,方便以后的实验。echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrcprintenv | grep -i ROSecho "export ROS_DOMAIN_ID=0" >> ~/.bashrc 注: ROS2安装分两种,要么编译源代码安装,要么直接使用安装包安装。我们是选择的debian安装包安装的。本节使用的setup.bash路径也是默认的。如果是通过编译源代码安装,这个路径在安装时可以自定义,设置时就得选择相应的路径。 代码 "echo ..."运行后,只是将该行代码写入.bashrc文件,并没有做其他操作。该代码是利用source口令来执行setup.bash,设置环境。.bashrc会被运行,当新的terminal被打开时。所以运行printenv代码时,需要开启一个新的terminal。 优点是以后再运行ROS2自带的口令,就不需要每次运行source那段口令。printenv运行后,它会输出类似这样的信息:ROS_VERSION=2 ROS_PYTHON_VERSION=3 AMENT_PREFIX_PATH=/opt/ros/foxy PYTHONPATH=/opt/ros/foxy/lib/python3.8/site-packages LD_LIBRARY_PATH=/opt/ros/foxy/opt/yaml_cpp_vendor/lib:/opt/ros/foxy/opt/rviz_ogre_vendor/lib:/opt/ros/foxy/lib/x86_64-linux-gnu:/opt/ros/foxy/lib ROS_LOCALHOST_ONLY=0 PATH=/opt/ros/foxy/bin:...... ROS_DISTRO=foxy ROS_DOMAIN_ID的值需要在0到232之间。DDS(数据分发服务)是一个开放标准的实时系统连接框架,它使分布式系统能够作为一个集成的整体安全运行。 ROS2基于 DDS,可轻松实现分布式机器人系统的 3D 可视化,ROS_DOMAIN_ID在DDS中会被使用到。 现在ROS2的运行环境就准备好了。下一节我们将介绍在ROS2上控制物体在图形界面上的移动。 参考资料: https://docs.ros.org/en/foxy/Tutorials/Configuring-ROS2-Environment.html