Занятие 8. Кегля: конструкция для линейного перемещения объектов (задачи 4.21–4.22)
Занятие 8. Перемещение кегли (мини-задачи 4.21–4.22)
Цель занятия: обучающиеся проектируют навесной толкатель и перемещают кеглю в зону прямолинейно (4.21) и по непрямой траектории (4.22), собирая решение из уже готовых блоков driveMM/tankTurn.
Разминка-вспоминание + кумулятивный квиз №1 (10 мин, занятия 1–7)
- мм/тик — формула и ваше значение.
- Тики танкового поворота на 90° — формула.
- Зачем медиана в
distMM()? - Как считается порог линии?
- Почему 4.23 нельзя решить через
driveMM? - Правило ЛиПо, которое чаще всего нарушают? (заряд без присмотра)
Теория: регламент говорит «сборка конструкции» — это отдельная компетенция
Компетенция «сборка конструкции для линейного перемещения объектов» проверяет инженерное решение, не код. Критерии хорошего толкателя:
- Кегля не убегает. Плоский бампер выталкивает кеглю вбок при малейшем перекосе. Рабочая форма — V-образный или П-образный ловитель шире кегли на 2–3 см с бортами: кегля самоцентрируется при заходе.
- Кегля не опрокидывается. Толкать на высоте центра масс кегли или ниже; кромка ловителя — без острых углов.
- Робот видит поверх. Ловитель не перекрывает дальномер и датчики линии (иначе занятия 9–14 потребуют пересборки — думаем на ход вперёд).
- Съёмность. Крепление за 1 минуту без пайки: разные мини-задачи — разное навесное.
Разбор (worked example): 4.22 как композиция
Непрямолинейное перемещение (например, обвезти отметку и завезти кеглю в зону сбоку) — это план из готовых кирпичей, новый код не пишется:
void task_4_22() {
driveMM(300); // подъехать и поймать кеглю ловителем
tankTurn(-45); // довернуть на обходную траекторию
driveMM(400);
tankTurn(45); // выровняться на зону
driveMM(250); // завезти
driveMM(-150); // ВЫЕХАТЬ НАЗАД: кегля остаётся в зоне, робот — нет
}Два неочевидных момента разобрать вслух:
- поворот с кеглей в ловителе метёт кеглю по дуге — либо повороты делать ДО захвата кегли, либо ловитель глубокий и углы малые;
- отъезд назад в конце — обязательный финальный «кирпич» почти всех задач на объекты: зачёт по положению объекта, а робот не должен его сдвинуть после фиксации.
Практика
Спроектировать ловитель (15 мин, эскиз до сборки)
На бумаге: ширина, высота линии толкания, чем крепится, что не перекрывает. Защита эскиза тренеру за 60 секунд — только потом детали в руки (проектирование до сборки — привычка, которая на турнире экономит попытки).
Собрать и испытать захват кегли
driveMM(300) на кеглю с преднамеренным смещением ±3 см от оси: кегля обязана самоцентрироваться в ловителе.
Сдать 4.21
Судья ставит кеглю и зону (прямая видимость). Кегля полностью в зоне, робот выехал — зачёт.
Сдать 4.22
Судья добавляет запретную отметку между кеглей и зоной — маршрут в объезд. План пишется прямо на бланке (как на турнире: сначала траектория на бумаге, потом код).
ТБ и типичные ошибки:
- отладка с кеглей — колёса на полу, руки не в зоне ловителя при работающем моторе;
- ловитель из острого поликарбоната без обработки кромок — режет руки, обработать;
- кегля опрокидывается при старте — снижаем стартовое ускорение (начинать с PWM_MIN, поднимать плавно);
- «доедем до зоны и остановимся В ней» — робот в зоне может стоить баллов; читайте формулировку: перемещается кегля, робот выезжает.
Мини-проверка выхода
4.21 сдана; для 4.22 предъявлен бумажный план траектории до заезда. Вопрос: «какие три требования к ловителю вы заложили и какое проверили экспериментом?»