Урок "Вспомогательные алгоритмы" Lisacs's blog / 31.03.2015 Для работы в конференции "Весенние интернет-каникулы 2015" публикую урок "Вспомогательные алгоритмы".Цель: познакомить учеников с понятием "вспомогательные алгоритмы", научить выявлять необходимость подпрограмм и создавать вспомогательные алгоритмы в языке NXT-G.Задачи: 1. . Научить создавать вспомогательный алгоритм ("Мой блок").2.
Простые задачи на отработку алгоритмических структур с применением роботов Lisacs's blog / 30.03.2015 Для работы на на конференции "Весенние интернет-каникулы 2015" публикую подборку задач на отработку применения основных алгоритмических структур на уроках робототехники.1. . Задания на ожидание ответа от датчиков1.1.
Перехитрить Акинатора natyanikova / 25.03.2015 Недавно я познакомилась с интересной детской игрушкой - Джинном Акинатором, который читает ваши мысли и безошибочно угадывает животных. . Акинатор задаёт вопросы, на которые можно ответить "да", "нет", "не знаю" и "наверно, нет", в результате чего он составляет представление о загаданном животном и даёт правильный ответ.
Алгоритмы: черно-белое движение. Часть VIII Следы NiNoXT в Галактике / 30.11.2012 Как и было обещано ранее, настало время рассмотреть от чего же еще зависит коэффициент пропорциональности линейного регулятора при движении вдоль линии.В предыдущих заметках было выведено, что он однозначно зависит от освещенности трассы и яркости элементов на ней:Где Lmax - значения сенсора освещенности на самом светлом участке поля, а Lmin - значение сенсора на самом темном участке.Данный коэффициент использовался в формуле, которая определяла мощность, подаваемую на каждый мотор при том или ином значении освещенности во время движения.Значения мощностей, получаемых этими формулами, можно отобразить на графике:Иными словами, в заметке №5 было показано, что посредством введения коэффициента пропорциональности, для каждого значения освещенности от Lmin до Lmax, сопоставились значения мощности в диапазоне от 0 до 100%.Из графика и из формулы выше видно, что мощность колеблется вокруг некоторого среднего значения - 50%. . Что по сути обозначает мощность, при которой оба мотора двигаются в одном направлении с одинаковой скоростью, т.е.
Алгоритмы: черно-белое движение. Часть VII Следы NiNoXT в Галактике / 28.11.2012 В прошлых двух заметках (1, 2) было указано, что коэффициент пропорциональности линейного регулятора при движении вдоль черной линии зависит от минимального и максимального значений, которые показывает датчик освещенности на данном конкретном поле.Прежде, чем переходить к исследованию от чего же еще зависит коэффициент, хотелось бы рассмотреть некоторые особенности управления моторами через каналы данных. . Данное знание позволит более тщательно подходить к расчету коэффициента пропорциональности или, как это будет показано в конце заметки, сделать программу более устойчивой к изменению освещенности на поле.Рассмотрим, что происходит с вращением оси мотора в случае работы следующей программы:В программе в каждой следующей итерации цикла в качестве значения мощности мотора передаются все меньшие числа.При запуске программы будет видно: мотор крутится вперед, постепенно теряя скорость, затем останавливается, и постепенно набирая скорость, опять крутится вперед.Что доказывает - если в среде NXT-G в качестве мощности подавать отрицательные значения, то ось мотора будет вращаться в прямом направлении (вперед), а не в обратном направлении, как это можно было бы ожидать.
Алгоритмы: черно-белое движение. Часть II с половиной Следы NiNoXT в Галактике / 27.11.2012 В части II цикла обзора алгоритмов движения вдоль линии, траектория движения робота представляла из себя своеобразный зигзаг. . Причем, если посмотреть на работу каждого колеса в замедленной съемке, то окажется, что существуют такие моменты времени, когда колесо крутится назад (особенно это видно на больших колесах), хотя в программе никакого движения назад нет.Если посмотреть на график того, как изменяется положение оси мотора со временем, то он будет выглядеть примерно так:Т.е.
Алгоритмы: черно-белое движение. Часть VI Следы NiNoXT в Галактике / 09.11.2012 Продолжение. . В этот раз не будет сложных формул и замудренных графиков - данная заметка посвящена именно тому, для чего и предназначались роботы, а именно - нудной и повторяющейся деятельности.
Алгоритмы: черно-белое движение. Часть V Следы NiNoXT в Галактике / 31.10.2012 Продолжение саги, в которой постепенно подобрались к П-регулятору - вводим коэффициент пропорциональной составляющей.Когда программа из прошлой заметки будет запущена на реальном роботе, то в большинстве случаев будет заметно, что тележка не ведет себя полностью так, как ожидалось. . Ведь судя по диаграммам, приведенным в начале прошлой заметки, в поведении моторов должен наступать такой момент, когда один из них должен целиком остановиться, в то время как другой должен ехать с максимально возможной скоростью.
Алгоритмы: черно-белое движение. Часть IV Следы NiNoXT в Галактике / 28.10.2012 Четвертая часть заметок об алгоритмах движения вдоль линии является промежуточным звеном при переходе от релейного регулятора к ПИД регулятору.В прошлой заметке алгоритм движения вдоль линии был усовершенствован таким образом, что позволял на прямых участках двигаться роботу-тележке двумя колесами одновременно - для этого в базовый алгоритм, состоящий из двух состояний - поворот влево и поворот вправо, было введено третье состояние - движение прямо.Можно продолжить улучшение и разбить каждый из поворотов на два - в первом случае тележка двигается только одним колесом, а другое стоит; во втором случае оба колеса двигаются, но только скорость одного выше скорости другого.Таким образом, диапазон всех возможных показаний сенсора разбивается теперь не на три, как в прошлый раз, а на пять участков.Следующая диаграмма показывает, что будет происходить с мощностью двигателей в алгоритме, диапазон которого разбивается на семь участков.И ведь так можно продолжать довольно долго - разбивать диапазон все на более мелкие участки: на 9, 11, 13 и т.п. . Во всех этих случаях будет наблюдаться следующая тенденция: на одном из моторов мощность будет расти с увеличением показаний на световом сенсоре, в то время, как на другом моторе мощность будет уменьшаться.Иными словами: Чем больше освещенность, тем больше мощность на моторе X, но меньше - на моторе Y. Чем меньше освещенность, тем меньше мощность на моторе X, но больше - на моторе Y. Причем, мощность все время увеличивается (или уменьшается) на одинаковые пропорции: При освещенности 10, мощность будет V, а при освещенности 20, мощность будет 2V. Т.е.
Алгоритмы: черно-белое движение. Часть III Следы NiNoXT в Галактике / 25.10.2012 Эта заметка - продолжение цикла материалов, повествующих о методе преподавания элементов теории автоматического управления в рамках занятий по робототехнике.Робот, двигающийся вдоль линии, по алгоритму, рассмотренному в прошлых заметках, не может похвастаться особой скоростью. . Явно это видно на прямых участках, где тележка, вместо того, чтобы ехать вперед двумя колесам, все-равно совершает постоянный поиск границы линии двигаясь, то одним, то другим колесом.
Алгоритмы: черно-белое движение, часть II Следы NiNoXT в Галактике / 19.10.2012 Данная заметка продолжает рассказывать об одном из методов, демонстрирующего, как может преподноситься теория автоматического управления в рамках занятий по робототехнике в специализированных кружках.В прошлый раз было показано как, шаг за шагом, прийти к самому простому алгоритму движения вдоль линии - линейному:Можно напомнить, что при запуске тележки, работающей по этому алгоритму, характер движения будет следующий:Этот же алгоритм можно записать слегка другим способом. . Для этого, вместо каждого блока Wait, будет стоять эквивалентный цикл, оканчивающийся при том же условии, что и блок Wait.Затем, чтобы отразить смысл процесса, блоки управления моторами будут перенесены внутрь цикла.
Алгоритмы: черно-белое движение. Часть I Следы NiNoXT в Галактике / 13.10.2012 Этот заметка открывает целый цикл материалов, цель которого показать, как, шаг за шагом, можно дать участникам робототехнических кружков навыки реализации таких популярных алгоритмов, как алгоритмы движения вдоль линии.Введение Сенсор освещенности (или цветовой сенсор) из набора Lego Mindstorms NXT, один из наиболее используемых сенсоров при конструировании и программировании Lego-роботов.По внутреннему устройству он не такой сложный, как сенсор расстояния. . Основным элементом в нем является светочувствительный элемент (фоторезистор или фототранзистор). В режиме измерения окружающей освещенности количество света, попавшее на светочувствительный элемент, преобразуется в цифровое значение, которое уже используется в программе.