mi-task/README_INTEGRATION.md

299 lines
7.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 机器狗控制系统集成方案
## 📋 概述
本文档描述了如何将 `single-test` 测试模块优雅地集成到 `main.py` 中,同时保留原本的任务点模式。
## 🎯 集成目标
1. **保持兼容性**完全保留原有的任务1-5执行流程
2. **增加测试功能**:集成子运动函数测试能力
3. **用户友好**:提供直观的模式选择界面
4. **灵活启动**:支持多种启动方式
## 🏗️ 架构设计
### 文件结构
```
task/
├── main.py # 主程序(已修改)
├── start.py # 启动脚本(新增)
├── config.py # 配置文件(新增)
├── README_INTEGRATION.md # 集成说明(本文件)
├── single-test/ # 测试模块目录
│ ├── __init__.py
│ ├── test_main.py
│ ├── test_basic_movements.py
│ ├── test_arc_movements.py
│ ├── test_custom_gait.py
│ ├── test_vision_functions.py
│ ├── test_complex_movements.py
│ └── README.md
└── [其他原有文件...]
```
### 核心组件
#### 1. 主程序 (`main.py`)
- **新增模式选择功能**支持3种运行模式
- **保留原有逻辑**`legacy_main()` 函数保持原始功能
- **智能导入**:自动检测 `single-test` 模块可用性
- **配置驱动**:使用 `config.py` 管理参数
#### 2. 启动脚本 (`start.py`)
- **命令行接口**:支持参数化启动
- **快速启动**:直接启动指定模式
- **帮助系统**:提供详细的使用说明
#### 3. 配置文件 (`config.py`)
- **集中配置**:统一管理所有参数
- **分类管理**:按功能模块组织配置
- **动态修改**:支持运行时配置更新
## 🚀 使用方法
### 方法1交互式菜单推荐
```bash
# 启动主菜单,选择运行模式
python main.py
```
显示菜单:
```
======================================================================
机器狗控制系统
======================================================================
🎯 运行模式选择:
1. 完整任务模式 - 运行完整的任务1-5流程
2. 测试模式 - 进入子运动函数测试
3. 交互式测试 - 快速测试单个功能
0. 退出程序
======================================================================
```
### 方法2命令行启动
```bash
# 直接运行完整任务
python start.py -m task
# 直接进入测试模式
python start.py -m test
# 直接进入交互式测试
python start.py -m interactive
# 使用原始模式(兼容旧版)
python start.py -l
# 查看帮助
python start.py -h
```
### 方法3程序调用
```python
# 在其他Python脚本中调用
from main import run_complete_task_mode, run_test_mode, run_interactive_test_mode
# 运行完整任务
run_complete_task_mode()
# 运行测试模式
run_test_mode()
# 运行交互式测试
run_interactive_test_mode()
```
## 🔧 三种运行模式
### 1. 完整任务模式
- **功能**执行完整的任务1-5流程
- **适用场景**:正式比赛、完整测试
- **特点**:与原始 `main.py` 行为完全一致
### 2. 测试模式
- **功能**:进入 `single-test` 主菜单
- **适用场景**:功能调试、分模块测试
- **特点**:提供完整的测试套件选择
### 3. 交互式测试模式
- **功能**:快速命令行测试界面
- **适用场景**:快速验证、单个功能测试
- **特点**:输入编号即可执行测试
## ⚙️ 配置管理
### 系统配置
```python
SYSTEM_CONFIG = {
'TIME_SLEEP': 5000, # 默认等待时间
'ENABLE_SINGLE_TEST': True, # 启用测试功能
'DEFAULT_TEST_OBSERVE': True, # 测试详细输出
'SAFETY_CHECK': True, # 安全检查
'AUTO_STAND_UP': True, # 自动站立
}
```
### 测试配置
```python
TEST_CONFIG = {
'BASIC_MOVEMENT': {
'turn_speed': 0.5, # 转弯速度
'move_speed': 0.3, # 移动速度
'default_distance': 1.0, # 默认距离
},
# ... 其他测试配置
}
```
### 使用配置
```python
from config import get_config, update_config
# 获取配置
time_sleep = get_config('SYSTEM', 'TIME_SLEEP', 5000)
# 更新配置
update_config('SYSTEM', 'TIME_SLEEP', 3000)
```
## 🛡️ 安全特性
### 1. 模块检测
- 自动检测 `single-test` 模块是否可用
- 模块不存在时优雅降级
- 提供明确的错误提示
### 2. 异常处理
- 每个模式都有独立的异常处理
- 资源清理保证
- 用户友好的错误信息
### 3. 兼容性保证
- 保留原始 `legacy_main()` 函数
- 配置文件向后兼容
- 渐进式升级支持
## 📊 集成优势
### 1. 无缝集成
- ✅ 保留所有原有功能
- ✅ 新增功能不影响原有逻辑
- ✅ 支持渐进式迁移
### 2. 用户体验
- ✅ 直观的模式选择界面
- ✅ 多种启动方式
- ✅ 详细的帮助信息
### 3. 开发友好
- ✅ 模块化设计
- ✅ 配置化管理
- ✅ 易于扩展
### 4. 运维便利
- ✅ 命令行支持
- ✅ 批处理友好
- ✅ 自动化集成
## 🔄 迁移指南
### 从原始版本迁移
1. **备份原始文件**
```bash
cp main.py main.py.backup
```
2. **更新文件**
- 替换 `main.py` 为新版本
- 添加 `start.py` 和 `config.py`
- 确保 `single-test/` 目录存在
3. **验证功能**
```bash
# 测试原始功能
python start.py -l
# 测试新功能
python start.py -m test
```
### 自定义配置
1. **修改配置文件**
```python
# config.py
SYSTEM_CONFIG['TIME_SLEEP'] = 3000 # 修改默认等待时间
```
2. **添加新的测试配置**
```python
TEST_CONFIG['CUSTOM_TEST'] = {
'param1': 'value1',
'param2': 'value2',
}
```
## 🐛 故障排除
### 常见问题
1. **single-test模块未找到**
```
警告single-test模块未找到测试功能将不可用
```
- 检查 `single-test/` 目录是否存在
- 确认 `single-test/__init__.py` 文件存在
2. **配置文件错误**
```
ModuleNotFoundError: No module named 'config'
```
- 确认 `config.py` 文件存在
- 检查文件语法是否正确
3. **权限问题**
```bash
# 给启动脚本添加执行权限
chmod +x start.py
```
### 调试模式
启用详细日志:
```python
# 在config.py中修改
SYSTEM_CONFIG['LOG_LEVEL'] = 'DEBUG'
SYSTEM_CONFIG['LOG_TO_FILE'] = True
```
## 📈 未来扩展
### 1. 新增运行模式
- 可以轻松添加新的运行模式
- 修改 `print_main_menu()` 和 `main()` 函数
### 2. 更多测试功能
- 在 `single-test/` 目录添加新的测试模块
- 更新 `test_main.py` 的菜单
### 3. 高级配置
- 支持配置文件热重载
- 添加配置验证功能
- 支持环境变量配置
## 📞 技术支持
如果在集成过程中遇到问题,请:
1. 检查本文档的故障排除部分
2. 查看相关模块的README文件
3. 检查日志文件(如果启用)
4. 联系技术支持团队
---
**版本**: 1.0
**更新日期**: 2024年12月
**维护者**: 机器狗控制系统开发团队