bars
首页界面图集技术研究猎鹰任务
M4 技术架构
技术架构
M4 技术要点
1
后端核心基于 JVM(Java)。部分高性能组件使用 Rust/C++ 编写。适配主流操作系统。支持 ARM 架构和国产信创操作系统。
2
通过自研的持久层引擎,支持各类主流数据库。支持国产信创数据库。不需要手工维护表结构,系统启动时自动更新表结构。自研全自动缓存层,能拦截 90% 以上的数据库请求,大大降低系统开销;自动清缓存,不需要手工管理,因此几乎没有 BUG。
3
前端核心技术框架是 React。没有使用任何第三方 UI 组件库。全部组件库自研。充分适配移动端、扫码、焦点操作等工业场景。支持全局放大缩小,适配比较差的工业显示器。
4
核心产品与项目代码可以实现完全分离。支持后端逻辑和前端业务的扩展定制。后端通过 Python 脚本扩展系统功能。前端通过 JavaScript 扩展页面功能。所有用户使用相同版本的核心产品。但又可以有自己定制的业务逻辑。老用户更方便获取最新的产品功能更新。
5
系统关键组件,如猎鹰任务、调度等均具备宕机恢复能力,能记住执行进度,从中断处恢复执行。
即将开源 多智能体路径规划(MAPF)测试平台
MAPF DEV 是仙工自主研发的多智能体路径规划(MAPF)测试平台。即将开源。支持 CBS、PBS、A*、SIPP 等多种 MAPF 算法的测试。具有地图构建、参数配置、求解、运行模拟、导入导出、求解分析、3D 可视化等功能。能快速实现几百台智能体(机器人)的仿真测试。
视频 1:MAPF DEV 基础功能展示
视频 1:MAPF DEV 基础功能展示
MAPF DEV 全面覆盖调度场景全流程核心需求,支持灵活调控地图尺寸、节点大小及障碍物比例,可通过随机生成或加载 / 保存功能快速搭建环境;同时能完成机器人生成、随机任务创建与智能求解,提供多种调度策略选择,并可实时查看求解仿真运行过程,深入底层与高层求解细节,助力用户清晰掌握调度逻辑与执行原理。
视频 2:MAPF DEV 大规模运行实况
视频 2:MAPF DEV 大规模运行实况
在较大地图规模与极高障碍物密度的复杂场景下,MAPF DEV 依然展现出极快的求解速度,同时清晰呈现机器人在密集障碍环境中的高效避让流程,充分验证了系统在大规模、高复杂度调度场景中的稳定性、实用性与强适应性。
学术研究
The multi-robot path planning problem, or multi-agent path planning problem, has been studied for many years. There are a large number of academic papers exploring solutions from various perspectives. Although these papers are still far from product-level functionality, they can serve as a starting point for related explorations. Here are some classic literatures on robot path planning.
Sharon, Guni, et al. "Conflict-based search for optimal multi-agent pathfinding." Artificial intelligence 219 (2015): 40-66.
Bnaya, Zahy, and Ariel Felner. "Conflict-oriented windowed hierarchical cooperative A." 2014 IEEE International Conference on Robotics and Automation (ICRA). IEEE, 2014.
Li, Jiaoyang, et al. "Lifelong multi-agent path finding in large-scale warehouses." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 35. No. 13. 2021.
Here are some key technical terms in the field.
Complete (Completeness): Refers to the property that an algorithm is guaranteed to find a solution when one exists. If an algorithm lacks completeness, it may return "no solution" even when a valid solution exists (i.e., the problem is solvable).
Optimal (Optimality): Means that an algorithm not only finds a solution but also ensures it is the optimal one (e.g., the solution with minimal cost, shortest path, etc.).
Bounded Sub-optimal: Allows solutions that are sub-optimal within a specified bound. For example, a solution with a cost no more than 1.2 times the optimal solution is considered bounded sub-optimal.
Lifelong: Refers to scenarios where an agent receives new goals after completing a previous one or handles multiple goals in sequence (e.g., first going to point A, then to point B).
One-shot: Contrasts with "lifelong," referring to a single planning task without subsequent or sequential goals.
Anytime: Applies to scenarios with limited time, where the algorithm first returns a sufficiently good solution within a specified time frame. If more time is available, it iteratively refines the solution to achieve better optimality (e.g., generating improved results through multiple iterations).
Online: Generally refers to planning while executing, rather than pausing the robot during planning, executing the planned path, and then pausing again for subsequent planning.
Offline: Generally refers to executing a path only after complete planning is finished.
Roadmap: A topological graph of connected paths, distinct from grid or chessboard-style maps.
Dynamic: Note that in this context, it typically refers to "dynamics" rather than "dynamic environments." For example, "two-order dynamic" indicates that a robot cannot accelerate or decelerate infinitely (i.e., it cannot instantaneously move at a specified speed or stop abruptly).