// 定义子程序:中转站 SUBROUTINE 中转站 // 循环检查是否到达中转站(蓝色区域) LOOP UNTIL (左灰度传感器值 == 117 OR 右灰度传感器值 == 117) CALL 走中() END LOOP // 到达后减速前进,停在中心位置 SET motor_speed = 60 MOVE forward FOR 200ms STOP all_motors WAIT 500ms // 确保车身稳定以便图像识别 // 识别货物并执行投放逻辑 IF (货框内货物_图像匹配 == 1) THEN // 货框里是A IF (墙上目标_图像匹配 == 1) THEN // 目标是A CALL 丢左() // A对应A,丢左边 ELSE CALL 丢右() // A对应B,丢右边 END IF ELSE // 货框里是B IF (墙上目标_图像匹配 == 1) THEN // 目标是A CALL 丢右() // B对应A,丢右边 ELSE CALL 丢左() // B对应B,丢左边 END IF END IF END SUBROUTINE
| 参数 | 值 | 说明 |
|---|---|---|
| 灰度传感器阈值 | 117 | 识别中转站蓝色地面 |
| 前进速度 | 60 | 到达后减速前进 |
| 前进延时 | 200ms | 可在150-300ms间微调 |
| 稳定延时 | 500ms | 确保摄像头稳定识别 |
| 图像匹配值 | 1=货物A, 2=货物B | 识别标识 |
| 相似度阈值 | 0.5 | 大于此值才算有效识别 |
| 颜色 | 灰度值 | 含义 |
|---|---|---|
| 白色 | 255 | 白线标记 |
| 蓝色 | 117 | 中转站区域 |
| 黑色 | 63 | 普通路面 |
测试一下你对本课内容的掌握程度