Прохождение суперсложной линии Mindstorms Education EV3 Classroom
На этом видео демонстрируется, как робот на базе Mindstorms Education EV3 проходит, крайне сложную линию. 1. Изгибы крутые 2. Много поворотов в разные стороны. 3. Линия 10мм толщиной. 4. Толщина разная на разных участках. Алгоритм работает по принципу ПИД-регулятора (пропорционально-интегрально-дифференциальный регулятор) — устройство в управляющем контуре с обратной связью, которое автоматически поддерживает заданное значение выходной величины на определённом уровне путём управления входным воздействием. А так, как оптический датчик у нас Один и нужно учитывать с какой стороны едет робот (с право по линии или с лево). Есть контроль ухода с линии - если робот с трассы (линии ушел) он простым разворотом возвращается на линию. А так как робот слишком крупный для такой мелкой линии - движение не получается плавным на приемлемой скорости. Программа состоит из двух почти одинаковых частей. В одной из базовой яркости вычитается - яркость с датчика на текущий момент. Задача удерживать определенный диапазон яркостей - означающий, что мы ещё на линии. И второй - из измеряемой яркости вычитаем целевую (10-20 единиц по 100 бальной шкале). Это влияет на качество прохода левых или правых поворотов. Если программа фиксирует уход с линии - уровень белого зашкаливает (более 60-80). Она делает выбор по какой секции ей идти левой или правой. Если был сход с линии при коррекция правых поворотов - переключаемся на левые и наоборот если был сход с линии при коррекция левых поворотов - переключаемся на правые. Булеву переменную перекидываем в противоположное состояния и от её состояния зависит какая коррекция работает (с право от линии мы или слева). С двумя датчиками такой проблемы решать не надо - но мы не ищем легких путей. Да и просто интересно было, какой алгоритм будет давать 100% отсутствие сбоев. https://sites.google.com/view/robot-rex/mindstorms-ev3
На этом видео демонстрируется, как робот на базе Mindstorms Education EV3 проходит, крайне сложную линию. 1. Изгибы крутые 2. Много поворотов в разные стороны. 3. Линия 10мм толщиной. 4. Толщина разная на разных участках. Алгоритм работает по принципу ПИД-регулятора (пропорционально-интегрально-дифференциальный регулятор) — устройство в управляющем контуре с обратной связью, которое автоматически поддерживает заданное значение выходной величины на определённом уровне путём управления входным воздействием. А так, как оптический датчик у нас Один и нужно учитывать с какой стороны едет робот (с право по линии или с лево). Есть контроль ухода с линии - если робот с трассы (линии ушел) он простым разворотом возвращается на линию. А так как робот слишком крупный для такой мелкой линии - движение не получается плавным на приемлемой скорости. Программа состоит из двух почти одинаковых частей. В одной из базовой яркости вычитается - яркость с датчика на текущий момент. Задача удерживать определенный диапазон яркостей - означающий, что мы ещё на линии. И второй - из измеряемой яркости вычитаем целевую (10-20 единиц по 100 бальной шкале). Это влияет на качество прохода левых или правых поворотов. Если программа фиксирует уход с линии - уровень белого зашкаливает (более 60-80). Она делает выбор по какой секции ей идти левой или правой. Если был сход с линии при коррекция правых поворотов - переключаемся на левые и наоборот если был сход с линии при коррекция левых поворотов - переключаемся на правые. Булеву переменную перекидываем в противоположное состояния и от её состояния зависит какая коррекция работает (с право от линии мы или слева). С двумя датчиками такой проблемы решать не надо - но мы не ищем легких путей. Да и просто интересно было, какой алгоритм будет давать 100% отсутствие сбоев. https://sites.google.com/view/robot-rex/mindstorms-ev3
