1. 框架概览
1.1 定位
维度 |
说明 |
|---|---|
层级 |
应用框架(Application Framework) |
核心库 |
|
职责 |
模块装配、配置加载、Server 生命周期、导航 API |
通信层 |
Autolink · 架构 Architecture(独立子项目) |
消息层 |
|
对标 |
Navigation2 栈组合 + Cyber RT 组件思想 |
Framework 回答「各模块如何组织、配置与启动」;Communication 回答「进程间如何收发消息」。
1.2 三层模型
┌─────────────────────────────────────────┐
│ Application Framework (本章) │
│ system::Autonomy · Server · 插件 · 配置 │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ commsgs — 消息类型(C++ struct + proto) │
└──────────────────┬──────────────────────┘
│
┌──────────────────▼──────────────────────┐
│ autolink — Node / Channel / Service / Action │
└───────────────────────────────────────────┘
1.3 核心组件
组件 |
路径 |
职责 |
|---|---|---|
|
|
顶层入口,持有各 Server |
|
|
静态地图、发布 OccupancyGrid |
|
|
全局规划、costmap |
|
|
局部控制、里程计 |
|
|
BT 导航编排 |
|
|
TF 缓冲与静态外参 |
|
|
gRPC 等外部桥接 |
1.4 设计原则
Server 模式:各子系统以
*Server类对外,内部可持有 autolink Node配置驱动:Lua → Protobuf →
*Options→ Server 构造插件化算法:规划器、控制器、BT 节点以
.so动态加载Nav2 语义对齐:接口与话题/Action 命名尽量与 Navigation2 一致
可独立运行:不强制 ROS 2;
commsgs提供消息兼容
1.5 与旧文档的关系
原 autonomy_framework_and_communication.md 中的 Autolink API 详解 已迁移至 03 Communication。本章聚焦 Autonomy 应用层。