本文系统配置ubuntu20.04+ros1,是初学者按照ros官网初级教程学习记录,仅作个人学习记录,如有问题可联系本文作者。
附上ros1官网学习教程链接https://wiki.ros.org/https://wiki.ros.org/
一、管理环境
在安装ROS期间,会有提示需要source多个setup.*sh文件中的某一个,或者添加这条命令到你的shell启动脚本里面,这是因为ROS依赖于使用shell环境组合空间的概念,针对不同版本的ROS或不同的软件包集开发使用这些操作将会变得更加容易。
无论是在查找还是使用ROS软件包方面遇到了问题,都需要确保已经正确配置了环境。使用如下指令(指令中$ 符号后为终端输入内容)可以检查ROS_ROOT和ROS_PACKAGE_PATH这两个环境变量正确设置:
$ printenv | grep ROS
这时候终端将会出现以下内容:
如果没有的话,这个时候需要重新source。
通过Ubuntu上的apt工具来安装ROS,可以在/opt/ros/<distro>/目录中看到setup.*sh文件,以执行下面的source命令:
$ source /opt/ros/<distro>/setup.bash
请使用具体的ROS发行版简称代替<distro>。比如我安装的是ROS Noetic Ninjemys,则上述命令改为:
$ source /opt/ros/noetic/setup.bash
在每次打开终端时你都需要先运行上面这条后才能访问ROS相关的命令,为了避免这一繁琐过程,你可以事先在.bashrc文件中添加这条命令。这样做也可以方便你在同一台计算机上安装并随时切换到不同版本的ROS(比如kinetic和noetic)。
对于其他平台,无论你把ROS安装在哪里,都应该能找到这些setup.*sh文件。
二、创建ROS工作空间
注意: 组织和构建ROS代码有rosbuild和catkin两种不同的操作说明。rosbuild不再维护且不推荐了,而是作为传统保留。catkin现在是组织代码的推荐方式,它使用更标准的CMake约定,并具有更大的灵活性,特别是对于希望集成外部代码库或希望发布其软件的用户。如需了解详细信息,请访问catkin or rosbuild。
另以下操作方法只适用于ROS Groovy及更新版本。如果是新用户,请选择catkin。对于ROS Fuerte及早期版本,请选择rosbuild。
下面创建和构建一个catkin工作空间:
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/ $ catkin_make
出现以下内容(不完整截图)
【catkin_make命令在catkin工作空间中是一个非常方便的工具。在你的工作空间中第一次运行它时,它会在src目录下创建一个CMakeLists.txt的链接。
对于ROS Melodic和早期版本的Python 3用户:注意,如果你从源代码构建ROS来实现Python 3的兼容性,并适当地设置您的系统(即:安装所有必需的ROS Python包的Python 3版本,例如catkin),那么在干净的catkin工作区中的第一个catkin_make命令必须是:
$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
这将会配置catkin_make使用Python 3,在以后的构建中可以只使用catkin_make。】
另外,如果查看当前目录应该能看到build和devel这两个目录。在devel文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在环境的最顶层。
接下来首先source一下新生成的setup.*sh文件:
$ source devel/setup.bash
保证工作区被安装脚本正确覆盖,确定ROS_PACKAGE_PATH环境变量包含你当前的工作空间目录:
$ echo $ROS_PACKAGE_PATH
至此,环境已经搭建完成,可以继续接下来的学习。