Движение вдоль стены ev3 программа

Чтобы посмотреть презентацию с картинками, оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов презентации: “Алгоритм движения по черной линии с одним датчиком цвета”Кружок по «Робототехнике»Педагог до Езидов Ахмед ЭлиевичПри МБУ ДО «Шелковской ЦТТ» Для изучения алгоритма движения по черной линии, будет использоваться робот Lego Mindstorms EV3 с одним датчиком цвета Датчик цветаДатчик цвета различает 7 цветов и может определить отсутствие цвета. Как и в NXT, он может работать как датчик освещенности.Поле для соревнований роботов «Линия S»Предлагаемый полигон с трассой в форме буквы «S» позволит вам провести еще одно интересное тестирование созданных роботов на скорость и реакцию.

Рассмотрим простейший алгоритм движения по черной линии на одном датчике цвета на EV3.Данный алгоритм является самым медленным, но самым стабильным.Робот будет двигаться не строго по черной линии, а по ее границе, подворачивая то влево, то вправо и постепенно перемещаясь впередАлгоритм очень простой: если датчик видит черный цвет, то робот поворачивает в одну сторону, если белый — в другую. Движение по линии в режиме яркости отраженного светас двумя датчикамиИногда датчик цвета недостаточно эффективно может различить черный и белый цвета.

Робототехника ТРИК. Движение вдоль стены

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

Для этого в меню блока EV3 находим вкладку «Приложения модуля»Теперь вы находитесь в окне просмотра портов и можете увидеть показания всех датчиков на текущий момент. наши датчики должны подсветиться красным, что означает, что они работают в режиме определения яркости отраженного света. Если же они светят синим – в окне просмотра портов на нужном порте нажимаем центральную кнопку и выбираем режим COL-REFLECT.Теперь поставим робота так, чтобы оба датчика располагались над белой поверхностью.

Смотрим на цифры в портах 1 и 4.В нашем случае, значения 66 и 71 соответственно. Это и будут значения белого у датчиков. Теперь поставим робота так, чтобы датчики располагались над черной поверхностью. Снова посмотрим значения портов 1 и 4.У нас 5 и 6 соответственно. Это – значения черного. Дальше, мы изменим предыдущую программу. А именно – изменим настройки переключателей.

Пока у них установлено Датчик цвета -> Измерение -> Цвет. Нам же требуется установить Датчик цвета -> Сравнение -> Яркость отраженного светаТеперь мы должны установить «тип сравнения» и «пороговое значение». Пороговое значение – это значение некоторого «серого», значения меньше которого мы будем считать черным, а больше – белым.

Для первого приближения удобно использовать среднее значение между белым и черным каждого датчика. Таким образом, пороговое значение первого датчика (порт №1) будет (66+5)/2=35.5. Округлим до 35.Пороговое значение второго датчика (порт №4): (71+6)/2 = 38.5. Округлим до 38.Теперь выставляем эти значения в каждом переключателе соответственно.Вот и все, блоки с движениями остаются на своих местах без изменений, так как, если мы ставим в «типе сравнения» знак «

EV3 Урок 10. Движение вдоль стены / Прохождение лабиринта

Изучить программу движения. Запрограммировать робота. Переслать видео тестирования модели

Алгоритмы управления мобильным LEGO-роботом. Движение по линии с двумя датчиками освещенности

Педагог дополнительного образования

Казакова Любовь Александровна

Движение по линии

  • Два датчика освещения
  • Пропорциональный регулятор (П-регулятор)

Алгоритм движения вдоль черной линии без пропорционального регулятора

  • Оба мотора крутятся с одинаковой мощностью
  • Если правый датчик освещенности попадает на черную линию, то мощность левого мотора (например В) снижается или происходит остановка
  • Если левый датчик освещенности попадает на черную линию, то мощность другого из моторов (например С) снижается (осуществляется возврат на линию) снижается или происходит остановка
  • Если оба датчика на белом или черном, то происходит прямолинейное движение
Читайте также:
Если в расчетах учитываются срок выполнения заказа программа выпуска

Движение организовано с помощью изменения мощности одно из моторов

Пример программы движения вдоль черной линии без П-регулятора

Движение организовано с помощью изменения угла поворота

  • Пропорциональный регулятор (П-регулятор) позволяет регулировать поведение робота в зависимости от того, на сколько его поведение отличается от желаемого.
  • Чем больше робот откланяется от цели, тем больше нужно приложить сил, что бы к ней вернуться.

  • П-регулятор используется для удержания робота в определенном состоянии:
  • Удержание положения манипулятора Движение по линии (датчик освещенности) Движение вдоль стены (датчик расстояния)
  • Удержание положения манипулятора
  • Движение по линии (датчик освещенности)
  • Движение вдоль стены (датчик расстояния)

Движение по линии с одним датчиком

  • Цель – движение по границе «белый-черный»
  • Человек может различить границу белого и черного цвета. Робот не может.
  • Цель для робота – находится на сером цвете

При использовании двух датчиков освещенности возможна организация движения по более сложным трассам


Алгоритм движения по трассе с перекрестками

  • Оба датчика на белом – робот едет прямолинейно (оба мотора крутятся с одинаковой мощностью)
  • Если правый датчик освещенности попадает на черную линию, а левый на белом то происходит поворот направо
  • Если левый датчик освещенности попадает на черную линию, а правый на белом то происходит поворот на лево
  • Если оба датчика на черном, то происходит прямолинейное движение. Можно вести подсчет перекрестков или выполнять какие либо действия


Принцип работы П-регулятора

Положение датчиков

Алгоритм движения вдоль черной линии с пропорциональным регулятором

  • Ц — целевые значения (снять показания с датчика освещенности на белом и черном, рассчитать среднее)
  • Т — текущее значение — получаем с датчика
  • К — коэффициент чувствительности. Чем больше, тем выше чувствительность


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

Человек видит черную линию и ее четкую границу. Датчик освещенности работает несколько иначе.

Именно это свойство датчика освещенности – невозможность четко различить границу белого и черного – мы и будем использовать для расчета скорости движения.

Во-первых, введем понятие “Идеальная точка траектории”.

Показания датчика освещенности колеблются в диапазоне от 20 до 80, чаще всего на белом цвете показания равны примерно 65, на черном порядка 40.

Идеальная точка – условная точка примерно посередине белого и черного цветов, следуя которой робот будет перемещаться вдоль черной линии.

Здесь принципиально расположение точки – между белым и черным. Задать ее точно на белом или черном не получится по математическим причинам, почему – будет ясно позднее.

Эмпирическим путем мы вычислили, что идеальную точку можно высчитать по следующей формуле:

Робот должен двигаться строго по идеальной точке. Если случается отклонение в какую-либо сторону, робот должен вернуться к этой точке.

Составим математическое описание задачи.

Исходные данные.

Текущие показания датчика освещенности.

Мощность вращения мотора В.

Мощность вращения мотора С.

Рассмотрим две ситуации. Первая: робот отклонился от черной линии в сторону белого.

В этом случае робот должен увеличить мощность вращение мотора В и уменьшить мощность мотора С.

В ситуации, когда робот заезжает на черную линию, все наоборот.

Чем сильнее робот отклоняется от идеальной точки, тем быстрее ему надо к ней вернуться.

Но создание такого регулятора – задача довольно непростая, да и не всегда он требуется в целом виде.

Поэтому мы решили ограничиться только П-регулятором, адекватно реагирующем на отклонение от черной линии.

На языке математики это будет записано так:

где Hb и Hc – итоговые мощности моторов B и C соответственно,

Hбазовая – некая базовая мощность моторов, определяющая скорость движения робота. Подбирается экспериментально, в зависимости от конструкции робота и резкости поворотов.

Читайте также:
Как называется программа или техническое средство выполняющее трансляцию программы

Iтек – текущие показания датчика освещенности.

I ид – рассчитанная идеальная точка.

k – коэффициент пропорциональности, подбирается экспериментально.

В третьей части рассмотрим, как это запрограммировать в среде NXT-G.

Паста с тунцом в сливочном соусе Паста со свежим тунцом в сливочном соусе

Паста с тунцом в сливочном соусе – блюдо, от которого любой проглотит свой язык, само собой не просто, так смеха ради, а потому что это безумно вкусно. Тунец и паста отлично гармонируют друг с другом. Конечно, возможно, кому-то это блюдо придется не по ду

Спринг-роллы с овощами Овощные роллы в домашних условиях

Таким образом, если вы бьётесь над вопросом «чем отличаются суши от роллов?», отвечаем – ничем. Несколько слов о том, какие бывают роллы. Роллы – это не обязательно японская кухня. Рецепт роллов в том или ином виде присутствует во многих азиатских кухнях.

Охрана животного и растительного мира в международных договорах И здоровье человека

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

Минимальный размер оплаты труда (мрот)

Минимальная зарплата — это минимальный размер оплаты труда (МРОТ), который утверждается Правительством РФ ежегодно на основании Федерального закона «О минимальном размере оплаты труда». МРОТ рассчитывается за полностью отработанную месячную норму рабочег

Источник: gameasphalt.ru

Робототехника_2011

2. Движение вдоль стенки на П-регуляторе
Решим такую задачу. Робот должен двигаться вдоль стенки на заданном расстоянии L. Предположим, что левое колесо робота управляется мотором B, правое — мотором С, а датчик расстояния, подключенный к порту 1, закреплен несколько впереди корпуса тележки (это важно!) и направлен на стену справа по ходу движения.

Расстояние до стенки в настоящий момент времени, которое показывает датчик, обозначим S1. Измеряется она в сантиметрах.
Моторы двигаются со средней скоростью 50% от максимума, но при отклонении от заданного курса на них осуществляется управляющее воздействие u (на мотор В 50+u, на мотор С 50-u):
u=k*(S1-L), где k — некий усиливающий коэффициент, определяющий воздействие регулятора на систему.
Таким образом, при S1=L робот не меняет курса и едет прямо. В случае отклонения его курс корректируется. Для робота NXT средних размеров коэффициент k может колебаться от 1 до 10 в зависимости от многих факторов. Подберите его самостоятельно.

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

3. Пропорционально-дифференциальный регулятор
В некоторых случаях П-регулятор может вывести систему из устойчивого состояния.

Например, если робот направлен от стенки, но находится по отношения к ней ближе заданного расстояния, на моторы поступит команда еще сильнее повернуть от стенки, в результате чего с ней может быть утерян контакт (датчик расстояния получает отраженный сигнал практически только от перпендикулярной поверхности).

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

u=k1*(S -L)+k2*(s1-Sold), где Sold — расстояние на предыдущем шаге.

Необходимо подобрать подходящие значения коэффициентов k1 и k2. Обычно подбор начинается с пропорционального коэффициента (k1) при нулевом дифференциальном (k2=0). Когда достигнута некоторая стабильность на небольших отклонениях, добавляется дифференциальная составляющая.

4. Конструкция робота с датчиком расстояния, расположенным под углом

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

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

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

Читайте также:
Ошибки в программе delphi

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


Как и впервой конструкции, датчик располагается вертикально:


Увеличенное за счет корпуса робота расстояние до стены способствует расширению области обзора:

Очевидно, что изменение конструкции влечет изменение коэффициентов регулятора k1 и k2. Обычно подбор начинается с пропорционального коэффициента при нулевом дифференциальном. Когда достигнута некоторая стабильность на небольших отклонениях, добавляется дифференциальная составляющая.

Источник: przrobot11.blogspot.com

Роботы MindStorms

Роботы в работе! Создаем, программируем, проектируем, соревнуемся и выигрываем!

Страницы

Облако тегов:

ДО курс по робототехнике

Я Я-2Информация о спецкурсе тут

3 апреля 2013 г.

Алгоритмы: движение вдоль стены

Не правда ли программа, заданная в качестве задачки на понимание NXT-G в этом посте, похожа на программы, поясняющие движение вдоль линии, в этом ?

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

Если быть более точным, то в задаче робот поворачивает вправо, если расстояние на сенсоре меньше 14 см. и влево, если расстояние на сенсоре больше 16 см. Сложно представить, для чего может понадобиться такое движение, если сенсор смотрит вперед или назад. Но многое встает на свои места, если предположить, что сенсор установлен на одном из бортов робота и смотрит в сторону.

Если нарисовать схему такого движения, то становится видно, что по левому борту робота на протяжении всего движения, находится какое-то препятствие и робот пытается не подъезжать к нему слишком близко и не отъезжать слишком далеко. Если предположить, что препятствие это стена, то движение робота можно назвать движением вдоль стены . При некрутых заворотах стены, робот будет стараться держаться на определенном расстоянии, т.е. поворачивать вместе с заворотом стены.

Кстати, этот вариант ответа (движение вдоль стены) тоже был среди ответов, которые были присланы после публикации задачи .

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

Сейчас же хотелось бы обратить внимание на одну деталь, об которую довольно часто «спотыкаются» те, кто только начинает реализовывать движение вдоль стены.

В общем случае, движение робота параллельно стене и сенсор расстояния показывает вполне ожидаемые значение, на основе которых принимается решение в какую сторону поворачивать.

Но может возникнуть ситуация, когда робот в попытке вновь приблизиться к стене, значительно повернется к ней. Это приведет к тому, что сенсор начнет показывать очень большое расстояние — данные после отражения от стены не поступают в сенсор и он «думает», что препятствие еще слишком далеко.

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

Решение этой проблемы, традиционно, не одно. Оно может быть как программным, так и конструкторским. Например, можно не фиксировать датчик жестко, а поставить его на мотор.

Таким образом, после поворота робота, скажем, налево, сенсор расстояния поворачивается, стараясь быть направленным прямо на стену. А при повороте направо, мотор поворачивает сенсор в другую сторону:

Особенно такая схема удобна при сборке робота с управляющими рулевым мотором, тогда сенсор можно крепить к тому же мотору, что управляет направляющими колесами. Причем лучше крепить не напрямую, а подобрать подходящее сочетание шестерней.

Источник: nxt33.blogspot.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru