一、介绍

WorkSpace --- 自定义的工作空间

    |--- build:编译空间,用于存放CMake和catkin的缓存信息、配置信息和其他中间文件。

    |--- devel:用于存放编译后生成的目标文件,包括头文件、动态&静态链接库、可执行文件等。

    |--- src: 源码

        |-- package:功能包(ROS基本单元)包含多个节点、库与配置文件,包名所有字母小写,只能由字母、数字与下划线组成

            |-- CMakeLists.txt 配置编译规则,比如源文件、依赖项、目标文件

            |-- package.xml 包信息,比如:包名、版本、作者、依赖项...(以前版本是 manifest.xml)

            |-- scripts 存储python文件

            |-- src 存储C++源文件

            |-- include 头文件

            |-- msg 消息通信格式文件

            |-- srv 服务通信格式文件

            |-- action 动作格式文件

            |-- launch 可一次性运行多个节点 

            |-- config 配置信息

        |-- CMakeLists.txt: 编译的基本配置
 
二、package.xml
  该文件定义有关软件包的属性,例如软件包名称,版本号,作者,维护者以及对其他catkin软件包的依赖性
 
三、CMakelists.txt
  CMake构建系统的输入,用于构建软件包
 
四、为什么要编译一下?
 
  在ROS中,源代码需要被编译成可执行文件,才能被ROS系统识别和使用。因此,当你下载或者创建新的ROS包时,需要通过编译来生成可执行文件。
  这些可执行文件可以是ROS节点、ROS服务、ROS工具、ROS库等等。编译是将源代码转化为机器可执行代码的过程,这个过程可以确保源代码的正确性、可重复性和性能。
 
五、下载缺失的库
  添加包:
    

 

 

  启动:
    roscore:是 ROS 的系统先决条件节点和程序的集合, 必须运行 roscore 才能使 ROS 节点进行通信。就是master
    rosrun:运行指定的ROS节点
      rosrun 包名 可执行文件名
      比如:rosrun turtlesim turtlesim_node
    roslaunch:运行多个节点
      rosrun 包名 launch文件
posted on 2023-03-07 23:48  黑逍逍  阅读(40)  评论(0)    收藏  举报