zhangkaifeng 2 hafta önce
ebeveyn
işleme
8c3ecc278a
2 değiştirilmiş dosya ile 72 ekleme ve 1 silme
  1. 1 1
      .vscode/settings.json
  2. 71 0
      src/recharge/src/pocess_phtoh

+ 1 - 1
.vscode/settings.json

@@ -1,3 +1,3 @@
 {
-    "cmake.sourceDirectory": "/home/zq/zkf/recharge/src/recharge"
+    "cmake.sourceDirectory": "/home/wljy/zkf/recharge/src/recharge"
 }

+ 71 - 0
src/recharge/src/pocess_phtoh

@@ -0,0 +1,71 @@
+──────────────────────────────────────────────────────────────────────────────────────────
+                                 智能轮椅自主回充系统逻辑流程
+──────────────────────────────────────────────────────────────────────────────────────────
+
+       [ 开始 ]
+          │
+          ▼
+    ┌────────────┐       1. 严重低电量 (Critical Battery)
+    │  READY 状态 │ ────▶ 2. iPad 手动触发 (ipad_phone_interface_start)
+    └────────────┘       3. 场景服务调用 (SceneControls Service)
+          │
+          ▼
+    ┌──────────────┐
+    │ SEARCHING 状态│ ◀──────────────────┐
+    └──────────────┘                    │
+          │                             │
+          ├─[ 10s 内检测到基站? ]── 否 ──▶  ┌──────────────┐
+          │                             │ ROTATING 状态 │ (原地 0.15rad/s 旋转)
+          │                             └──────────────┘
+          │      ┌──────────────────────────┘      │
+          │      │  [ 40s 超时未果? ] ── 是 ──▶ [ 报告错误并返回 READY ]
+          │      └───────────┬──────────────┘
+          │                  │
+         是                 是 (检测到基站特征)
+          │                  │
+          ▼                  ▼
+    ┌────────────────────────────────┐
+    │         WALKING 状态           │ (进入 LidarScanController 闭环控制)
+    └────────────────────────────────┘
+          │
+          ▼
+    ┌──────────────────────────┐
+    │ 激光雷达特征提取与处理      │
+    │ 1. 过滤杂波与聚类         │
+    │ 2. 提取 V 型/直线特征      │
+    │ 3. 计算角平分线 (中线)     │
+    └──────────────────────────┘
+          │
+          ▼
+    ┌──────────────────────────┐        [ 姿态校正机制 ]
+    │ 计算误差: dx, dy, yaw    │ ──▶  如果 距离 < 0.7m 且 角度 > 8°:
+    └──────────────────────────┘      停止前进 -> 原地旋转对准 -> 重新行走
+          │
+          ▼
+    ┌──────────────────────────┐
+    │ 动力输出 (cmd_vel)        │
+    │ 线速度: 基于 dx 比例衰减   │
+    │ 角速度: PID 纠偏 (dy+yaw) │
+    └──────────────────────────┘
+          │
+          ├─[ 检测到充电电压 OR 距离 < 0.54m? ]── 否 ──┐
+          │                                         │
+         是                                         │
+          │                                         ▼
+          ▼                              [ 继续执行 WALKING 迭代 ]
+    ┌────────────────┐
+    │ CHARGING 状态  │ ◀─── [ 异常处理: 若对接中基站丢失 -> 触发 base_station_lost ]
+    └────────────────┘           (系统会尝试重新进入 SEARCHING 或报错)
+          │
+          ▼
+    ┌──────────────────────────┐
+    │ 监控电池状态              │
+    │ 1. 充满 (Battery Full)   │ ──▶ [ 返回 READY 状态,任务完成 ]
+    │ 2. 物理拔出 (Power Off)  │
+    └──────────────────────────┘
+
+──────────────────────────────────────────────────────────────────────────────────────────
+                                 核心安全中断 (Global Interrupts)
+     任何阶段检测到以下信号,立即停止运动并切换回 READY:
+     - 摇杆干预 (Joystick) / 手动推行模式 (Push Start) / 蓝牙断开 / iPad 取消
+──────────────────────────────────────────────────────────────────────────────────────────