前言
在ROS开发过程中,想要发布自己的包贡献到ROS社区,也就是想要自己的包可以通过apt-get的形式进行下载,这样可以避免每次源码编译的时候会遇到很多坑的情况,不过想要发布ROS包到ROS社区需要如下能力:
- 长期维护能力:ROS包会一直迭代更新,因此自己的包也应具有长期维护能力,当然,稳定版本后可以不用长期维护。
- 开源精神:因为ROS包遵循BSD协议,会要求将包开源后才可以上传到ROS社区,所以将自己的包发布到ROS社区,最好有开源精神。
- 文档更新:包的更新也伴随这文档更新,当然也不是绝对的,不过最好有包的使用文档,也就是wiki上。
如果以上的可以做到,那么,恭喜你,可以作为开源成员加入到ROS大家庭来,开源自己代码,共享社区。
本教程只是单纯的介绍如何发布自己的包到ROS社区,并且,发布后如何通过apt-get获取下载,关于文档界面编写,也就是wiki说明,会在后面进行说明。
一般发布自己ROS包有如下步骤:
- 具有github账号与要发布的存储库地址,发布存储库(bloom-release生成的包路径),wiki白名单(文档界面做准备)
- 发布前准备工作,bloom安装(ROS1推荐使用bloom-release进行一键操作)
- 同步到ROS社区
- 等待ROS社区的ROS包版本迭代
- 编辑wiki文档教程
以上步骤完成后,就可以进行apt-get形式下载自己的包了。假如自己的包为cht10_node,那么可以使用如下命令进行安装:
sudo apt-get install ros-<rosdistro>-cht10-node
其中将<rosdistro>替换成自己的ROS版本,也就是自己的包发布到的ROS版本中,比如自己的包发布到了kinetic中,那么就是:
sudo apt-get install ros-kinetic-cht10-node
注意:并不是自己把包发布到ROS社区就等于所有的ROS版本都可以下载,只有发布到对应ROS版本才可以。也就是说要想把自己的包发布到ROS所有版本,必须把自己的包发布到所有的版本中