1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/bin/bash
# 快速开始脚本 - Linux/macOS
 
echo "=========================================="
echo "车辆运动模型校准 - 快速开始"
echo "=========================================="
 
# 检查Python依赖
echo "检查Python依赖..."
python3 -c "import serial, numpy, scipy, matplotlib" 2>/dev/null
if [ $? -ne 0 ]; then
    echo "安装依赖..."
    pip3 install pyserial numpy scipy matplotlib
fi
 
# 提示用户连接硬件
echo ""
echo "请确认:"
echo "1. 车辆已放置在空旷场地"
echo "2. UART5已连接到电脑"
echo "3. GPS/IMU工作正常"
echo ""
read -p "按回车继续,或Ctrl+C退出..."
 
# 检测串口
echo ""
echo "可用串口:"
if [ "$(uname)" = "Linux" ]; then
    ls /dev/ttyUSB* 2>/dev/null || echo "未找到USB串口"
    ls /dev/ttyACM* 2>/dev/null
    read -p "请输入串口号 (例如 /dev/ttyUSB0): " PORT
else
    echo "请手动输入串口号"
    read -p "串口号: " PORT
fi
 
# 记录数据
echo ""
echo "=========================================="
echo "步骤1: 数据记录"
echo "=========================================="
echo "现在将启动数据记录..."
echo "请在车辆上:"
echo "  1. CH8拨到 < 1500"
echo "  2. CH7拨到 > 1800"
echo "  3. 等待48秒测试完成"
echo ""
read -p "按回车开始记录..."
 
python3 tools/calibration_logger.py -p "$PORT"
 
# 查找最新的日志文件
LOGFILE=$(ls -t calibration_*.log 2>/dev/null | head -1)
 
if [ -z "$LOGFILE" ]; then
    echo "错误:未找到日志文件"
    exit 1
fi
 
echo ""
echo "日志文件: $LOGFILE"
 
# 分析数据
echo ""
echo "=========================================="
echo "步骤2: 数据分析"
echo "=========================================="
read -p "按回车开始分析..."
 
python3 tools/calibration_analyzer.py "$LOGFILE"
 
# 显示结果
echo ""
echo "=========================================="
echo "完成!"
echo "=========================================="
echo "输出目录: calibration_results/"
echo ""
echo "生成的文件:"
echo "  - calibration_parameters.json  (参数文件)"
echo "  - *.png                        (可视化图表)"
echo ""
echo "下一步:"
echo "  1. 查看 calibration_results/calibration_parameters.json"
echo "  2. 复制 recommended_config 中的参数"
echo "  3. 更新到 STM32H743/FML/motion_config.h"
echo "  4. 重新编译、烧录、测试"
echo ""