1.package:ROS软件的基本组成形式,catkin编译的基本单元,一个package可以包含多个可执行文件(节点)。一个package文件下包含了CMakeLists.txt 和 package.xml,才会被编译系统识别。
CMakeLists.txt:规定了catkin的编译规则。
package.xml:定义了一些package的属性信息,比如,包名、版本号、作者、依赖等。包的自我描述。
scripts:一个你会在package文件夹下创立的子文件夹,用来存放Python和shell的脚本文件。
include:这个文件夹下存放C++的头文件
src:这个文件夹存放C++的源文件,也可以存放Python的源文件。
另外:可以放置自定义的ros的通信内容,消息(msg),服务(srv),动作(action),config,launch
2. 常用的包指令:
rospack:
rospack find package_name 查找某个pkg的地址。
rospack list 列出本地所有的pkg
roscd:
roscd package_name转到某个package的路径下
rosls:
rosls package_name 列举某个pkg下的文件信息
rosed
rosed package_name file_name :编辑包中的文件
catkin_create_pkg
catkin_create_pkg<pkg_name>[deps] 创建一个包
rosdep
rosdep install [pkg_name] :安装某个包所需的依赖
如果你要clone一个ROS的软件包,合理的存放位置是 ~/my_ws/src
CMake文件编写规则中,用于将库文件链接到目标文件的是哪条指令? target_link_libraries()
默认情况下,catkin_make生成的ROS可执行文件放在哪个路径 catkin_ws/devel
CMake的指令中,引入头文件的搜索路径是哪个指令?include_directories()