Подробная инструкция по сборке робота высокой сложности. У этого робота используются датчик цвета, два двигателя. Очень интересный вариант СЕГВЭЯ получается.
Версия лего миндсормс nxt 2.0 (версия 8647)
Сложность строительства ,
программирования:
Этот робот имитирует всем известный Segway PT, который является двухколесным самобалансирующимся
транспортным средством, на котором находится наездник(водитель). Балансрует он с помощью датчика цвета из
набора NXT 2.0 версии конструктора 8547. При этом датчик используется в простом режиме,
определяя близость к земле. Обнаруживая приблизительный угол наклона, робот балансирует своё положения (постоянно подруливает двигателями)!
Для забавы, если у Вас есть второй блок NXT, Вы можете настроить удалённое управление по каналу
Bluetooth этим сигвей - роботом. Это позволит Вам управлять уровнем наклона всадника вперед и назад с помощью
блока NXT в качестве Bluetooth-пульт дистанционного управления. Естественно, при этом
робот начнет подруливать вперед или назад для создания баланса, так же, как реальный Segway!
Многие самобалансирующейся роботы (в том числе настоящее транспортное средство Segway PT) используют
специальные гироскопические или другие сложные и дорогие датчики для обнаружения угол наклона
робота. А этот робот использует только датчик цвета (в режиме датчика света),
направляя датчик на землю и измеряет отраженный свет, который незначительно меняется в зависимости от того, насколько близко датчик находится от земли.
Пошаговая инструкция:
1
OR
Вы можете использовать блок NXT либо с батарейками/аккумуляторами АА или аккумуляторной батареей NXT.
2
3
4
5
Вставьте крест на кресс провода между двигателями, направляя провода под ними, как
показано выше. Оберните а затем подключить В и С, провода в оба двигателя,
как показано ниже, а затем, наконец, приложить датчик цвета, как показано,
который должен быть подключен к порту 3.
6
7
8
9
10
11
12
Подключить двигатель всадника в порт А. Ультразвуковой датчик на этом этапе сборки не подключайте!
Примечание: В отличие от балансирующих роботов, которые используют
гироскопические датчики или другие специальные датчики, эта конструкция
используется только датчик цвета, который не знает, где находится «верх» в
абсолютном смысле, так что он может только догадываться о своём относительном
наклоне на основе количества отраженного света, полученного от земли. Для того,
чтобы получить хорошие результаты при использвании робота, пожалуйста, прочитайте следующие важные советы.
Для получения роботом сегвэй баланса требуется хорошее освещение и
поверхностные условия для датчика цвета. Также требуется, чтобы Вы начали роботу
с точно сбалансированым роботом. Так что будьте готовы экспериментировать с
различными поверхностями и освещениями Придётся попрактиковаться для
хорошей балансировки робота. Вот несколько советов:
Следите за освещением. Внешний комнатный свет или плохо освещённая комната может
путать датчик цвета, особенно если освещения и тени меняются при движении робота. Для
достижения наилучших результатов, найдити место, где датчик цвета будет в тени и на него
не будет попадать прямой солнечный цвет при движении вперёд и назад.
Кроме того, люминесцентные светильники будут мешать меньше, чем лампы накаливания.
В частности, убедитесь, что при удалении вашей руки или рук, при освобождении робота в самом начале его запуска, что тень или условия освещения не
меняются в этой точке.
Обратите внимание на поверхность. Робот требует поверхность, которая имеет очень равномерную яркость.
На чистой белой бумаге он будет хорошо двигаться. Подойдёт также любая поверхность с равномерным
сплошным цветом без какого-либо узора. Деревянный пол с рисунком древесины, или
кафельный пол с текстурой не подойдёт! Так как отражение света будет изменяться при движении робота!
помните про первоначальный баланс. Так как датчик цвета не может определить,
какое движение будет вверх, робот должен начать в идеально сбалансированном положении.
А затем программа будет пытаться сохранить этот баланс, пытаясь отыскать тот же отраженный
свет, считанный датчиком цвета в самом начале программы. В частности, робот должен
быть физически сбалансированы, что не то же самое, если держать его визуально прямо
вверх. Если вы просто держите его в вертикальном положении рукой, она не будет
физически сбалансированы.
В начале программы, программа подает звуковой сигнал, три раза в течение трех
секунд, чтобы дать вам время, чтобы сбалансировать робота своими
руками, то он измеряет своё положение на 4-ом (более высоком тоне) звуковом сигнале.
Цель состоит в том, чтобы сбалансировать робота на 4-ый звуковой сигнал.
Затем он начинает пробовать остаться сбалансированным автоматически. Заметим,
что если вы наклоните робота очень близко к поверхности, но не вполне сбалансируете его, то он будет
вести вперед или назад в направлении, которое он опирался на старте. Получение
хорошего результата можно достичь попрактиковавшись! Так что будьте терпеливы!
Хороший способ сбалансировать робота перед началом работы программы это
в течение трех звуковых сигналов подержать его только за верхнюю часть головы
водителя (ультразвуковой датчик). Делать это нужно очень легко с помощью указательного и большого
пальца (немного отпуская то один то другой палец, как бы давая свободу роботу)
При этой пытайтесь сделать так, чтобы робот не опирался на обе пальца.
Программы для робота SEAGWAY NXT
Две программы предназначены для "робота СЕГВЭЙ с наездником": Segway и SegwayBT. Обе эти
программы балансирую робота, используя форму "ПИД-регулятора". См. эту статью
Википедии о ПИД-регулировании для понимания технической информации о том, как
ПИД-регулятор работает.
Программа Segway позволит роботу автоматически сбалансироваться самому.
Это делается исходя из его начального положения, без каких-либо движений всадника. При
использовании этой программы, Вы можете заблокировать всадника на месте, чтобы
держать его вертикально, как описано ниже.
Программа SegwayBT добавляет возможность удалённого управления по БЛЮТУЗ. Она позволяет
контролировать наклон вперед и назад всадника по средствам другого блока NXT через безпроводную сеть Bluetooth.
Порядок настройки:
Во-первых, установить Bluetooth-соединение со вторым контроллером NXT (блоком дистанционного управления)
на Segway на подключение 1, а затем запустить программу SegwayRemote на пульте дистанционного управления NXT и SegwayBT
программы по Segway NXT, начиная, когда основной робот на Segway будет сбалансированным.
Теперь нажав серую левую или правую кнопку со стрелками на пульте дистанционного управления NXT
Вы произведёте небольшой наклон наездника. Используйте только
легкими движения (например, один или два нажатия в каждом направлении), так чтобы Segway сможг не отставать от движения. Иначе он просто не успеет и упадёт.
Блокировка наездника на месте
При использовании Segway программы, которая не позволяет наезднику наклоняться,
можно заблокировать этого всадника на месте, как показано ниже.
Это позволит роботу легче работать. Не забудьте снять блокировку при использовании SegwayBT программы.
Вы можете использовать любую из этих осей для закрепления всадника на месте. Ось 5-го размера
будет выглядеть лучше, но ось 8-го размера проще вставляется и удаляется.
Задачи для обучения
Программы Segway и SegwayBT используют стратегию "ПИД-регулятора", чтобы
сбалансировать робота. Этот тип управления может быть использован в
нескольких других приложений робототехники. Статья о ПИД-регуляторе для роботов
Lego Mindstorms обеспечивает хорошее введение в ПИД-регулировании.
Позволяет перейти к следующей ступени развития роботов и робототехники на контролере LEGO MINDSTORMS NXT 2.0.
Развивая такой тип регулирования и сравнивая его с более простыми способами, можно сказать что Вы сможете адаптировать программу Segway для использования
ПИД-стратегии и в других своих приложения. Экспериментируйте!
Программа SegwayBT не изменяет мощности на колеса, чтобы робот
двигался вперед и назад. Скорее, он просто наклоняется тело водителя, который
заставляет робота приспособиться и оставаться сбалансированным. А уже это
приводит к эффекту, при котором робот двигается вперед и назад (похоже на реальный Segway
при начале работы). Сможете ли вы изменить управляющую программу для того, чтобы движение
вперёд и назад осуществялось изменением мощности двигателя?
Твердый мост между колесами не является необходимым, но оно не даёт роботу двигаться
боком при регулировании баланса. Попробуйте удалить эту центральную ось.
Теперь Вы можете сделать изменения в программе SegwayBT для регулировки
мощности двигателя на колеса. Опять же говорим про ту цель, чтобы
робота поворачивал налево и направо с помощью дистанционного управления, при этом оставался сбалансированным?
Программа Segway является одним из основных ПИД-регулятором, который использует
датчик цвета, чтобы определить "ошибку" в своей позиции, а затем пытается
исправить её. Если робот начинает свою работу не вполне сбалансированым, он будет двигаться
постоянно в одном направлении, или, возможно, даже ускорится в этом направлении,
а затем упадёт. Программа Segway не считает движение вперед / назад при изменении положения робота
во время определения "ошибка" ПИД-регулятора. Можете ли вы изменить программу, чтобы
ошибка расчета использовала датчик вращения одного из приводных двигателей
и добавляла фактор ошибки, который возрастает по мере того, как робот бродит от своей
отправной точки? Может ли контроллер использовать это, чтобы держать робот
близко к своей отправной точки, а не блуждать в разные стороны? Повлияет ли это на его способность оставаться сбалансированным?