Подробная инструкция по сборке робота средней сложности. У этого робота уже есть одн датчик цвета, и уже можно писать средние по сложности программы для управления двумя серводвигателями на основании данных, олученных от датчика.
Версия лего миндсормс nxt 2.0 (версия 8647)
Сложность строительства ,
программирования:
Этот робот будет следовать по линии на полу с помощью датчика цвета NXT 2.0.
В конце публикации Вы можете загрузить две программы.
Одна из них представялет собой простой вариант. Назовём её программа "двух состояний".
Она приводит зигзагообразные движения, что смотрится, конечно, страшновато.
И более сложную программу "Пропорциональное движение" - это более плавное и быстрое следование по линии.
Попробуйте Линейного ползуна на листе испытаний NXT.
Создай свою собственную линию, используя ленту на полу.
Сборрочная инструкция
1-6
Сначала Вам необходимо собрать "Робота пятиминутку". Нажмите на картинку для перехода к инструкции его создания.
7
Присоедините цветовой датчик к порту № 3 NXT контроллера.
Программирование "Линейного ползуна"
Скачайте программу двух состояний - программа 1 и
программу пропорционального движения - программа 2
Эти две программы, предназначенные для "Линейного ползуна". Обе программы
используют цветовой датчик в режиме "Light Sensor".
В этом режиме горит только красная светодиодная лампа датчика.
Датчик измеряет количество света, который отражается обратно в датчик,
получая в итоге значение от 0 до 100.
Конечно, можно использовать цветовой датчик в полноцветном режиме, но мы
выяснили что для решения именно этой задачи одного цвета достаточно.
Программа № 1 "два состояния" - простая и позволяет роботу перемещаться
по линии, но требует специальную калибровку датчика.
Робот постоянно "подруливает" то влево, то вправо в зигзагообразном стиле.
Запомните, что робота нужно запускать возле правого края линии!
Перед тем как использовать эту программу, рекомендуем сначала откалибровать
значение яркости для использования в качестве "отсечки" между
двумя состояниями (светлый и темный). Для этого вы можете использовать
програмамму "Светометр".
Порядок измерения: с помощью программы измеряете яркость по центру линии (темный цвет),
на полу (яркий цвет), и выбираете среднее из них значение. Это и будет назваться отсечкой.
Например, если программа показывает 20 единиц на линии и 40 единиц на полу,
то в качестве порогового значения (отсечики) нужно выбрать 30 единиц.
Программа № 2 "пропорциональное движение" - более сложная. Она
непрерывно регулирует мощность двигателей робота в зависимости от того,
насколько далеко находится линия. Если робот находится немного от края линии,
то используется небольшая мощность двигателей. Когда робот находится точно над
правым краем линии, он будет двигаться прямо вперед на полной мощности.
Это позволяет ему двигаться плавнее и быстрее, чем при работе программы "два состояния".
Кроме того, программа "пропорциональное движение" делает автоматическую "калибровка"
в начале, когда робот сканирует линии и поверхность, чтобы
определить самый темный и самый яркий участок, так что нет
необходимости вручную определять пороговые значения. Для получения правильной
калибровки, поставьте робота с датчиком непосредственно по середине линии.
Возможные эксперименты
Обязательно попробуйте другие трассы, создав собственную.
Трассу можно создавать из обычной изоленты чёрно цвета, потому что
это она чёрная и гибкая, а также не оставляет следов на полу при отрывании от пола.
При создании трассы, обязательно, сделайте несколько прямых участков, резких поворотов.
Проведите эксперименты и выясните на какой трассе робот ведёт себя лучше всего, вылетает ли он
с трассы? И при каких условях?
Поэкспериментируйте также с настройкой уровня мощности двигателей,
выбирете такие значения в программе, при которых робот не вылетает из трассы и всегда
проходит её без проблем.
Соберите другую модель робота. Можете выбрать из каталога, а можете придумать модель сами.
Установите цветовой датчика на другого робота и посмотрите, будет ли он
тоже следовать по линии. Какие роботы следуют по линии лучше, какие хуже?
Конечно, на движение робота будут влиять место положения серводвигателей,
колёс, датчика. Попробуйте изменить значение переменной "Мощность" в
программе "пропрорциональное движение", чтобы попытаться настроить управляемость,
необходимую для вашего робота.