ROS的工程结构是指什么
ros的工程结构是指ros工程在硬盘中什么目录,长什么样。
典型的ROS工程
workspace_folder/ -- WORKSPACE
src/ -- SOURCE SPACE
CMakeLists.txt -- 'Toplevel' CMake file, provided by catkin
package_1/
CMakeLists.txt -- CMakeLists.txt file for package_1
package.xml -- Package manifest for package_1
...
package_n/
CMakeLists.txt -- CMakeLists.txt file for package_n
package.xml -- Package manifest for package_n
catkin workspace
管理和组织ros文件和ros代码的地方
-
catkin
ROS 定制的编译构建系统,是对CMake的拓展,编辑规则和CMake很像。
-
catkin空间
可以理解为一个文件夹,可以用来组织和管理工程包。
建立工作空间
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin_make
'catkin_ws’是空间名字,可以取其他名字,在创建时要保证工作空间下有’/src’文件夹**(src是写代码的地方)**。
文件夹创建完成后用catkin_make
命令完成构建。
-
catkin_make
catkin_make
起编译的作用,一般修改代码后需要回到工作空间重新编译:cd ~/catkin_ws catkin_make source ~/catkin_ws/devel/setup.bash
在编译完成后要source刷新环境,加入环境变量中,让系统知道编译生成的ros可执行文件放在何处。
‘/src’
'/src’中放着功能包(packege)。
- package是编译的基本单元(编译时会在’/src’递归地查找package,可以把几个功能包放在一个子文件夹中)
其他
-
‘/build’
放cmake 和catkin缓存和中间文件
-
‘/devel’
放目标文件:
- 头文件
- 动态链接库
- 静态链接库
- 可执行文件