目的/用例
需要一个带有样板的节点来操作定位器并管理输入和输出数据流。
设计
RelativeLocalizerNode 是一个通用的相对定位节点模板,它管理了分别符合LocalizerConstraint 和 MapConstraint指定接口的定位器实现和地图实现,以及一个用了PoseInitializerBase实现的地图实现。
类型约束被实现为封装一系列静态断言的结构,如果给定的算法实现没有提供到RelativeLocalizerNode 的所需接口,则编译失败并显示通知消息。请参阅这些约束结构的文档以了解定位和建图算法的新实现的接口要求。
- 在每个接收到的观测消息中,在获取的初始估计的帮助下,接收到的消息在定位器中注册并发布。
- 在每个接收到的地图消息时,定位器中的地图都会更新。
假设/已知限制
由于有多个回调,节点应该在任何阶段在单个线程中运行。
输入/输出/API
输入:
- 地图讯息
- 观测讯息
- 初始估计的转换消息
输出:
- 输出位姿信息
错误检测和处理
安全考虑
未来的扩展/未实现的部分
相关问题
- #143 - Implement RelativeLocalizerBaseNode