简介
Basis Robotics Framework 是由 Basis Robotics 开发的一个面向生产的机器人开发框架,它基于发布-订阅(pub-sub)架构,旨在使机器人代码易于测试和开发,强调确定性测试和易用性。与 ROS 和类似框架不同,Basis 抽象了发布者和订阅者,采用输入 + 条件(同步器)-> 处理器(你的代码)-> 输出的模型。你只需声明你的代码响应的消息和条件,框架将自动管理所有底层的发布者、订阅者和消息路由。
特点
1. 可测试性
- 机器人和机器人代码应该易于测试。
- 单元测试和集成测试应始终产生相同的结果(确定性)。
- 测试机器人不应需要手动进程管理。
2. 易用性
- 框架应易于使用且开发速度快。
- 用户声明他们希望框架执行的行为——回调、条件、消息。框架处理其余部分。只需编写代码!
- 框架不应“妨碍”你的工作——如果你需要一个代码生成器不支持的高级功能(如传输桥接),我们不会阻止你这样做(尽管它可能不支持确定性重放)。
- 将单元组合成不同进程非常容易,配置启动文件和单元在运行时也非常容易。
3. 性能
- 随着代码库的增长,它不应该变慢。
- 易于组合单元并允许进程内传输对此有很大帮助。
- 按需序列化仅在类型序列化到网络或写入磁盘时才序列化。
- 我们已经能够在没有