1、功能包简介
每个机器人可能有很多功能,比如移动控制、视觉感知、自主导航等,如果我们把这些功能的源码都放到一起当然也是可以的,但是当我们想把其中某些功能分享给别人时,就会发现代码都混合到了一起,很难拆分出来。
功能包就是这个原理,我们把不同功能的代码划分到不同的功能包中,尽量降低他们之间的耦合关系,当需要在ROS社区中分享给别人的时候,只需要说明这个功能包该如何使用,别人很快就可以用起来了。
所以功能包的机制,是提高ROS中软件复用率的重要方法之一。
2、创建功能包
如何在ROS2中创建一个功能包呢?我们可以使用这个指令:
ros2 pkg create <package_name> --build-type <build-type> --dependencies <dependencies> --node-name <node-name>
ros2命令中:
-
pkg:表示功能包相关的功能;
-
create:表示创建功能包;
-
package_name:新建功能包的名字;
-
build-type:表示新创建的功能包是C++还是Python的,如果使用C++或者C,那这里就跟ament_cmake,如果使用Python&#