安装和配置ROS环境
主要引用来源:ROS官方教程,但有所补充,欢迎探讨指正
主要内容:
- 相关概念名词解释
- 安装ROS
- 环境配置
- ROS工作空间
- 下一篇预告
相关概念名词解释
-
ROS:Robot Operating System(机器人操作系统),适用于机器人的开源元操作系统,集成了大量的工具,库,协议,提供类似OS所提供的功能,简化对机器人的控制。
-
ROS工作空间:ROS的工作空间(Workspace)是指在ROS中进行软件开发的工作目录或文件夹。它是一个包含ROS软件包的根目录,其中包含用于编译、构建和运行ROS节点的源代码、配置文件和依赖项。
-
ROS软件包:软件包(Package)是组织和管理ROS软件的基本单元。它是一个包含相关文件和代码的目录,用于实现特定的功能或提供一组相关的功能:
- 节点(Nodes):软件包可以包含一个或多个节点,每个节点执行特定的任务或功能。节点可以与其他节点进行通信和协作,通过ROS通信机制传递消息和数据。
- 消息和服务定义(Message and Service Definitions):软件包可能包含消息和服务的定义文件,用于定义节点之间传递的数据结构和通信接口。消息定义使用ROS消息格式(Message Format)来描述数据类型和字段,服务定义描述了节点之间提供的服务和请求-响应通信模式。
- 配置文件(Configuration Files):软件包可能包含配置文件,用于设置和调整节点的参数、主题名称、传感器校准等。配置文件通常使用YAML或XML格式进行描述。
- 启动文件(Launch Files):软件包可以包含启动文件,用于同时启动和配置多个节点。启动文件定义了运行节点所需的参数、节点之间的连接关系和启动顺序。
- 依赖关系(Dependencies):软件包可以依赖其他软件包,以获取所需的功能和库。依赖关系定义在软件包的配置文件中,ROS构建系统会自动处理依赖关系并编译软件包。
安装ROS
参考ROS安装指南
环境配置
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
ROS工作空间
mkdir -p myWorkPlace/src
cd myWorkPlace
catkin_make
catkin_make的具体作用:
用于构建(catkin build)和编译(catkin_make)工作空间中的软件包的命令
- 检查工作空间的目录结构:catkin_make会检查工作空间的目录结构是否满足catkin的要求,包括必要的目录和文件是否存在
- 解析软件包依赖项:catkin_make会分析每个软件包的package.xml文件,确定软件包之间的依赖关系。它会检查依赖项是否满足,并在必要时下载或编译缺失的依赖项。
- 编译源代码:catkin_make会查找每个软件包中的源代码,并根据CMakeLists.txt文件中的指示进行编译。它会调用CMake来生成Makefile,并使用make命令编译源代码。
- 生成可执行文件和库:在编译成功后,catkin_make会生成可执行文件和库文件,这些文件位于工作空间的devel目录下。
下一篇预告
ROS文件系统