普罗米修斯的ROS功能包怎么构建和分布的总结一下。(包含编译脚本.sh的分析)

2023-05-16

普罗米修斯的ROS功能包怎么构建和分布的总结一下。如果叫你自己重新从零构建一个会不会,叫你增加一个功能包会不会。

 

看下面这个,一个工作空间里面可以有很多个并行的功能包。是不是普罗米修斯里面的各个功能包都是相互同级平行的。

确实我想起来普罗米修斯整个编译后会在普罗米修斯文件夹下生成一个devel文件夹。

每一个功能包里面都对应一个CMakelist文件和一个package文件。prometheus就相当于一个工作空间。

https://www.bilibili.com/video/BV1XV411m714?t=3524

 

 

ROS也不允许在功能包中嵌套其他功能包。

拍自《ROS机器人开发实践》

 

 

 

px4_command这有cmakelist.txt和package.xml,这里确实就是一个功能包,工作空间需要自己先手动建立,后面有说

https://github.com/amov-lab/px4_command

工作空间需要自己手动建立,再在里面下载px4_command功能包!!!!

 

 

 

我现在有个疑问就是功能包是否可以脱离于工作空间而独立存在?

 

 

建立工作空间的目的其实是不是为了便于一起一次性编译?

 

 

 

 

好像这里指定了编译生成的文件夹,所以会统一到一个build文件夹里面,因为这个普罗米修斯是没有工作空间的,感觉只有几个功能包。是的。

确实就是指定路径了,不然应该进入到对应的功能包的目录下再catkin_make。那为什么没有指定devel文件夹是不需要还是什么。

https://blog.csdn.net/u013316124/article/details/53021448

这里明确给出了,现在再看编译脚本可以完完全全看懂了把!!!!!

https://blog.csdn.net/sinat_16643223/article/details/113935412

 

 

 

 

那么prometheus可以总结为就是几个功能包的集合,没有工作空间,每个功能包里面有若干个可执行文件,当然是编译后生成的。这也怪不得最新的普罗米修斯他们把prometheus_experiment功能包单独放出去了,就那些launch文件,就不在prometheus文件夹里面了,现在想想也合理,因为本来prometheus文件夹就不是一个工作空间,就只是几个功能包的合集,你把一个功能包放出去,一样的啊。还有我怀疑prometheus_experiment功能包和其他功能包的关系是不是可以调用,还是说一个功能包里面的launch文件可以任意调用其他功能包里面的可执行文件?

px4_command似乎就是一个功能包,对,就一个,没有工作空间,需要自己手动创建一个工作空间先,但是prometheus连工作空间都不用建立。

 

整个px4-command里只有一个CMakeLists和一个package.xml,所以应该就只有一个功能包!!!!

 

 

 

 

cmakelist里面不是要写功能包的依赖么

 

 

 

 

 

可以让你更为本质地理解普罗米修斯,这样你都可以自己重写一个,可以用也可以不用,就像理解了px4_command的本质,不用它也可以自己弄出一个PX4的指点飞行,这样也才是真正把一个东西吃透了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

普罗米修斯的ROS功能包怎么构建和分布的总结一下。(包含编译脚本.sh的分析) 的相关文章

随机推荐