СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Занятие 15. Робот для прохождения траектории

Категория: Прочее

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Занятие 15. Робот для прохождения траектории»

Робот для траектории Lego Mindstorms EV3

Робот для траектории

Lego Mindstorms EV3

Собираем базовую модель учебного робота Robot Educator Для этого можно использовать инструкцию в программном обеспечении MINDSTORMS EV3.

Собираем базовую модель учебного робота Robot Educator

Для этого можно использовать инструкцию в программном обеспечении MINDSTORMS EV3.

Заголовок слайда

Заголовок слайда

Так же нам понадобятся, датчики света-цвета EV3.

Так же нам понадобятся, датчики света-цвета EV3.

В режиме измерения окружающей освещенности, количество света, попавшее на светочувствительный элемент, преобразуется в цифровое значение, которое уже используется в программе. В режиме измерения отраженного цвета, помимо светочувствительного элемента, активируется светои-спускающий элемент (светодиод). Свет, выпущенный этим элементом, отражается от какой-нибудь поверхности и попадает обратно в светочувствительный элемент.

В режиме измерения окружающей освещенности, количество света, попавшее на светочувствительный элемент, преобразуется в цифровое значение, которое уже используется в программе.

В режиме измерения отраженного цвета, помимо светочувствительного элемента, активируется светои-спускающий элемент (светодиод). Свет, выпущенный этим элементом, отражается от какой-нибудь поверхности и попадает обратно в светочувствительный элемент.

Что выполняет датчик освещенности?   Измеряет уровень освещенности. Например, показания сенсора может быть 10% на темной стороне и 90% процентов на светлой.

Что выполняет датчик освещенности?

Измеряет уровень освещенности.

Например, показания сенсора может быть 10% на темной стороне и 90% процентов на светлой.

На какой высоте от поверхности поля и под каким углом лучше всего крепить датчик освещенности? На расстоянии 1 см. и менее от поверхности  Под углом 90 ° и менее относительно робота

На какой высоте от поверхности поля и под каким углом лучше всего крепить датчик освещенности?

  • На расстоянии 1 см. и менее от поверхности

  • Под углом 90 ° и менее относительно робота
Что такое средняя освещенность и по какой формуле она рассчитывается? Это освещенность на границе Iср=(Iсв+Iтем)/2

Что такое средняя освещенность и по какой формуле она рассчитывается?

Это освещенность на границе

Iср=(Iсв+Iтем)/2

Перед началом программирования, необходимо провести калибровку сенсора освещенности. После чего, измерить, что показывает сенсор на разных частях карты светлой и темной части карты. Пусть после калибровки, показания сенсора будут 30% на темной стороне и 70% процентов на светлой. Следовательно, условием, когда можно рассматривать, что робот уже на темной стороне – значение на сенсоре стало меньше 50%. 30 % 70 %

Перед началом программирования, необходимо провести калибровку сенсора освещенности. После чего, измерить, что показывает сенсор на разных частях карты светлой и темной части карты. Пусть после калибровки, показания сенсора будут 30% на темной стороне и 70% процентов на светлой.

Следовательно, условием, когда можно рассматривать, что робот уже на темной стороне – значение на сенсоре стало меньше 50%.

30 %

70 %

Для примера мы разберём 3 примера программ для движения по чёрной траектории изображённой на ровном, светлом фоне: Один датчик, с П регулятором. Один датчик, с ПK регулятором. Два датчика.

Для примера мы разберём 3 примера программ для движения по чёрной траектории изображённой на ровном, светлом фоне:

  • Один датчик, с П регулятором.
  • Один датчик, с ПK регулятором.
  • Два датчика.
Пример 1.  Один датчик, с П регулятором.

Пример 1. Один датчик, с П регулятором.

Конструкция Датчик света устанавливается на балку, удобно расположенную на модели.

Конструкция

Датчик света устанавливается на балку, удобно расположенную на модели.

Алгоритм Действие алгоритма основано на том, что в зависимости от степени перекрытия, пучка подсветки датчика чёрной линией, возвращаемые датчиком показания градиентно варьируются. Робот сохраняет положение датчика света на границе чёрной линии. Преобразовывая входные данные от датчика света, система управления формирует значение скорости поворота робота. Так как на реальной траектории датчик формирует значения во всём своём рабочем диапазоне (0-100), то значением к которому стремиться робот, выбрано 50. В этом случае значения передаваемые функции поворота формируются в диапазоне -50 - 50, но этих значений недостаточно для крутого поворота траектории. По этому следует расширить диапазон в полтора раза до -75 - 75.

Алгоритм

Действие алгоритма основано на том, что в зависимости от степени перекрытия, пучка подсветки датчика чёрной линией, возвращаемые датчиком показания градиентно варьируются. Робот сохраняет положение датчика света на границе чёрной линии. Преобразовывая входные данные от датчика света, система управления формирует значение скорости поворота робота.

Так как на реальной траектории датчик формирует значения во всём своём рабочем диапазоне (0-100), то значением к которому стремиться робот, выбрано 50. В этом случае значения передаваемые функции поворота формируются в диапазоне -50 - 50, но этих значений недостаточно для крутого поворота траектории. По этому следует расширить диапазон в полтора раза до -75 - 75.

Заголовок слайда Более устойчиво алгоритм работает, если использовать моторы с управлением скоростью –100...100. В этом случае есть возможность отрегулировать плавность поворота в соответствии с кривизной линии

Заголовок слайда

Более устойчиво алгоритм работает, если использовать моторы с управлением скоростью –100...100.

В этом случае есть возможность отрегулировать плавность поворота в соответствии с кривизной линии

Так как на реальной траектории датчик формирует значения во всём своём рабочем диапазоне (0-100), то значением к которому стремиться робот, выбрано 50. В этом случае значения передаваемые функции поворота формируются в диапазоне -50 - 50, но этих значений недостаточно для крутого поворота траектории. По этому следует расширить диапазон в полтора раза до -75 - 75.

Так как на реальной траектории датчик формирует значения во всём своём рабочем диапазоне (0-100), то значением к которому стремиться робот, выбрано 50. В этом случае значения передаваемые функции поворота формируются в диапазоне -50 - 50, но этих значений недостаточно для крутого поворота траектории. По этому следует расширить диапазон в полтора раза до -75 - 75.

Пример 2. Один датчик, с ПK регулятором.

Пример 2. Один датчик, с ПK регулятором.

К нашему пропорциональному регулятору мы добавляем ещё и простой кубический регулятор, который добавит изгиб в функции регулятора. Это позволит уменьшить раскачивание робота рядом нужной границей траектории, а так же совершать более сильные рывки при сильном удалении от неё Вы наверно заметили, что в прошлом примере робот излишне раскачивался, что не давало ему достаточно разогнаться. Сейчас мы постараемся немного улучшить эту ситуацию.

К нашему пропорциональному регулятору мы добавляем ещё и простой кубический регулятор, который добавит изгиб в функции регулятора. Это позволит уменьшить раскачивание робота рядом нужной границей траектории, а так же совершать более сильные рывки при сильном удалении от неё

Вы наверно заметили, что в прошлом примере робот излишне раскачивался, что не давало ему достаточно разогнаться. Сейчас мы постараемся немного улучшить эту ситуацию.

Пример 3. Два датчика

Пример 3. Два датчика

Заголовок слайда

Заголовок слайда

Использование двух датчиков позволяет более чётко разграничить отклонение датчиков от линии и позволяет легко отфильтровывать/подсчитывать перекрёстки или сложные повороты на траектории.

Использование двух датчиков позволяет более чётко разграничить отклонение датчиков от линии и позволяет легко отфильтровывать/подсчитывать перекрёстки или сложные повороты на траектории.

Возможные проблемы В этом случае следует либо стартовать с другой стороны линии, либо поменять подключения моторов к контроллеру местами. Робот крутится на месте, не заезжая на линию Робот проскакивает линию, не успевая среагировать. Следует понизить мощность моторов. Надо увеличить порог чувствитель-ности датчика (например, не на 5, а на 8 пунктов). Вообще говоря, это число можно рассчитать. Для этого следует снять показания датчика на белом, затем на черном, вычесть одно из другого и поделить пополам. Например, (56 – 40) / 2 = 8. Робот реагирует на мелкие помехи на белом, не доезжая до черного.

Возможные проблемы

В этом случае следует либо стартовать с другой стороны линии, либо поменять подключения моторов к контроллеру местами.

Робот крутится на месте, не заезжая на линию

Робот проскакивает линию, не успевая среагировать.

Следует понизить мощность моторов.

Надо увеличить порог чувствитель-ности датчика (например, не на 5, а на 8 пунктов). Вообще говоря, это число можно рассчитать. Для этого следует снять показания датчика на белом, затем на черном, вычесть одно из другого и поделить пополам. Например, (56 – 40) / 2 = 8.

Робот реагирует на мелкие помехи на белом, не доезжая до черного.