鱼香ros2(八)Workspace
一、Workspace:工作空间
当前目录下有多个功能包的时候,明明只需要一个功能包,当我使用colcon build这个指令时,会构建所有的功能包,再比如,功能包的编译产生的临时文件和功能包都在同一个目录下,一旦功能包出现增加,看起来就会很混杂,因此我们需要使用多功能包组合的最佳实践workspace。
一个完整的机器人项目往往由多个不同的功能模块组成,所以就需要对多个功能包进行组合。ros2开发者约定了workspace——即工作空间这一概念。
1、创建工作空间
mkdir -p chapt2_ws/src
-p:双层文件夹,即 chapt2_ws包下的src包
2、整理功能包
将原来的功能包拷贝到我们的工作空间下
mv demo_cpp_pkg/ chapt2_ws/src/
mv demo_python_pkg/ chapt2_ws/src/
然后使用rm将构建文件删掉
rm -rf build/ install/ log/

3、构建工作空间里的功能包
构建所有功能包:colcon build
构建单独功能包:colcon build --packages-select demo_cpp_pkg


4、构建workspace下功能包的依赖情况
将功能包放在同一空间下,当构建时比如我的A功能包依赖B功能包,那么我可以直接在.xml文件中表示依赖,那么在构建A功能包的时候他就会去找我们的B功能包,并且当你使用colcon build全部构建时,会自动先去构建B功能包,再构建A功能包。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)