Apollo问答丨Apollo文件夹完整拷贝到另一台电脑,还需要拉镜像编译吗?
自Apollo开发者社区小程序上线以来,我们每一天都会在「社区问答」板块收到许多开发者的技术提问。
每周,可爱的Apollo小姐姐都会精选出被采纳的社区问答进行整理汇总,并统一对大家进行答复。
让我们一起看看本周的精选问答吧~~若你有更好的回答或建议,欢迎留言或加入开发者交流社群一起讨论分享!各位技术大牛也可以到小程序回答问题获得相应积分,参加社区布道师评选。
ENJOY THE FOLLOWING
Apollo 信道里prorobuf的消息使用c++进行序列化的,可以用Python去反序列化吗?比如c++使用的Serialize To Array函数,Python只有SerializeaToString函数。
可以。Cyber RT 好像是有Python教程的。用protoc 把proto 文件compile 成 py 文件,就能引用,然后解析序列化的二进制 protobuf信息。
cyber_visualizer出现这种错误怎么解决?
参考:
https://github.com/ApolloAuto/apollo/issues/9582,可能是显卡驱动问题,重新装下Nvidia驱动,然后重新编译cyber_visualizer。
把安装好的Apollo的文件夹整个拷贝到另一台电脑,还需要拉镜像编译吗?
docker镜像需要重新pull, 或者可以把之前的docker save 出来,拷到其他机器再docker load ,但是镜像有好几个,每个都要这样操作一遍。clone的代码可以拷的。改过的话可以reset回去或者重新 checkout 出来。每次执行dev_start.sh的时候会pull docker 镜像。
Apollo中的工厂模式,比如用工厂来创建一个类对象,前提是一个类是已经注册到Cyber RT(也就是说这个类必须要先编译成动态库,在后续才能被调用),然后才能是创建key-value的map,这个map也就是工厂创建方法的返回值。怎么理解Apollo中的组件的概念和ROS中的节点的对应关系?
组件和ROS node可以看成一样的概念,组件由mainboard加载动态库实现,一个mainboard进程可以启动多个组件。而ROS node只是一个独立的进程。组件可以通过话题触发或者定时器触发,由cyber调度,ROS node一般只是循环运行,不受调度。
①请问雨、雾、雪等恶劣天气下激光雷达采集的数据与普通天气下采集的数据有什么不同?
②现在有公开的恶劣天气下激光雷达数据吗?
③怎么样判断哪些是普通天气下的激光雷达数据,哪些是恶劣天气下的激光雷达数据?
①普通场景下激光雷达能采集到更多的数据,在恶劣天气(大雾天气中,点云几乎要消失了)能获得的数据就很少了。可以通过观察点云图像,然后根据经验来区分。
②应该没有专门公开的恶劣环境下雷达数据集,可以参考PandaSet 。该数据集包括 48,000 多个摄像头图像,以及 16,000 个激光雷达扫描点云图像。它还包括每个场景的 28 个注释,大多数场景的 37 个语义分割标签。由此得来的数据集,涵盖了 5 级自动驾驶中最具挑战性的驾驶条件,其中包括复杂的城市环境,密集的交通和行人,涵盖全天候照明条件,囊括多种天气状况。下载地址:https://scale.com/resources/download/pandaset。
③可以通过语义分割标签区分的。
自社区推出问答积分赛活动以来,Apollo小哥哥每天在社区交流群中分享开发者的提问,并收到了很多热心的解答,大家互帮互助的精神非常赞!
为了奖励为社区作出贡献的开发者,Apollo小哥哥每周将选出积分榜第一名,送出Apollo定制周边一份~
本周积分榜前10名新鲜出炉,快看看自己有没有上榜吧,第一名记得找小哥哥领奖哦~
开发者在使用Apollo平台过程中,如果遇到任何的技术难题,都可以在社区小程序或开发者交流群寻求大神的解答,欢迎大家积极交流!