Показаны сообщения с ярлыком свет. Показать все сообщения
Показаны сообщения с ярлыком свет. Показать все сообщения

вторник, 17 декабря 2013 г.

Продолжение серии русскоязычных вебинаров по NXT-G

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

Ниже представлены два последних прошедших вебинара.
Вебинар №6.
Прошел в виде мастер-класса, где Сергей вместе со своими учениками рассказывали про создание и программирование робота для участия в состязании Робо-Сумо.

пятница, 29 марта 2013 г.

Алгоритмы: черно-белое движение. Часть XI

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

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

вторник, 19 марта 2013 г.

среда, 6 марта 2013 г.

Датчики освещенности SmartBricks разрешены на всероссйиском этапе WRO

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


Естественно, ожидается, что если команда, по результатам участия во всероссийском этапе, попадает в сборную России для участия в финале в Индонезии, то она должна будет поставить уже LEGOвские датчики. Думается, что это будет уже более возможно для таких команд - поскольку поездка в Индонезию предполагает появление дополнительных источников финансирования.

пятница, 1 марта 2013 г.

Кружок по робототехнике. Как готовились к зимним состязаниям

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

Как можно было увидеть в прошлой заметке, декабрь выдался довольно урожайным месяцем на робо-состязания (1, 2). Затем, долгожданные и зимние каникулы, которые "съели" аж целых 3 занятия.
Как только вышли с каникул, нужно было готовиться к состязаниям, проходившим в рамках фестиваля РОБОФЕСТ-2013. И, многие уже в курсе, выступали мы очень хорошо!

четверг, 29 ноября 2012 г.

Кружок по робототехнике. Занятие шестое

Продолжение. Предыдущая - пятая часть здесь.

Шестое занятие нашей небольшой группы обещало быть очень интересным - помимо интересной темы "Ветвления в программах" мною были заготовлены интересные задания.
План был познакомиться с обычными ветвлениями в среде NXT-G, исключительно применяя их к сравнениям показаний с датчиков. Ребята должны были на практике попробовать изменять поведение своей программы, в зависимости от разных условий окружающей среды, причем среди практических заданий появлялось такое, где им надо было использовать вложенные ветвления.

пятница, 16 ноября 2012 г.

Кружок по робототехнике. Занятие пятое

Продолжение. Предыдущая часть здесь.

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

вторник, 30 октября 2012 г.

Алгоритмы: черно-белое движение. Часть VI

Продолжение. В этот раз не будет сложных формул и замудренных графиков - данная заметка посвящена именно тому для чего и предназначались роботы, а именно нудной и повторяющейся деятельности.
Но прежде нужно понять, где же в предыдущих заметках была эта нудная и повторяющаяся работа. Для этого взглянем еще раз на формулы.
Первая вычисляет коэффициент пропорциональной составляющей.
А вторая позволяет рассчитать мощность для каждого мотора.
Где, LA - предполагаемая освещенность на границе линии, которую можно определить по следующей, третьей формуле.
Можно заметить, что и KP и LA использующиеся в формуле для мощностей, зависят от уровней освещенности: на белой - Lmax и черной - Lmin частях поля. А это значит, что каждый раз когда робот попадает в другие условия освещенности, или у него изменяется датчик или его расположение относительно поверхности поля, то и KP, и LA придется рассчитывать заново, подставлять в программу и перекомпилировать ее. Поэтому вот это очень и хочется возложить на плечи робота - пусть он делает вычисления вместо человека.

Как бы тогда хотелось, чтобы устройство функционировало?

четверг, 25 октября 2012 г.

Алгоритмы: черно-белое движение. Часть V

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

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

Для составления таблицы еще раз укажем формулы зависимости мощностей от показаний датчика, а также будем считать, что датчик на самом светлом участке поля (Lmax) показывает 60%, а на темном (Lmin) - 24%, таким образом получается, что ожидаемая освещенность на границе линии (LA) - 42%.

среда, 24 октября 2012 г.

Алгоритмы: черно-белое движение. Часть IV

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

среда, 17 октября 2012 г.

Алгоритмы: черно-белое движение. Часть III

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

Как же это сделать?

Ниже представлена диаграмма, показывающая как изменяется характер движения тележки в зависимости от того, с какой стороны границы находится датчик света. На границе линии датчик показывает 50% освещенности.

суббота, 13 октября 2012 г.

Алгоритмы: черно-белое движение. Часть II

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

В прошлый раз, было показано как шаг за шагом прийти к самому простому алгоритму движения вдоль линии - линейному:
Можно напомнить, что при запуске тележки, работающей по этому алгоритму, характер движения будет следующий:
Этот же алгоритм можно записать слегка другим способом. Для этого, вместо каждого блока Wait, будет стоять эквивалентный цикл, оканчивающийся при том же условии, что и блок Wait.

четверг, 11 октября 2012 г.

Робо-состязания: базовые навыки по программированию роботов

Когда учащиеся проходят некоторый базовый курс обучения, то встает вопрос, что изучать дальше, какие навыки будут необходимы для участия команд в робо-состязаниях.
В ходе Летнего Робототехнического лагеря - 2012, вырисовалась примерная схема, как можно шаг за шагом готовить команды, на каких задачах их можно тренировать.
Итак, ниже представлен план по какому происходила тренировка команд в лагере. Данный план может быть легко адаптирован под нужды учебного процесса в кружке и/или уроки информатики. Причем он достаточно универсальный - не опирается на какой-то отдельный язык программирования - задания в нем могут быть выполнены, что на NXT-G, что на Robolab, а равно также и на RobotC, LabView и NXC.

вторник, 2 октября 2012 г.

NXC: датчики, енкодеры, кнопки - взаимодействуем с внешним миром

Программирование робота, в большинстве случаев, - изменение поведения робота как реакция на информацию, пришедшую к управляющему устройству с датчиков и сенсоров. Эта заметка рассматривает примеры опроса датчиков в языке Not eXactly C, а также некоторые особенности, которые необходимо учитывать при работе с ними.
Пример 1. Датчик расстояния
Для датчика расстояния (ультразвуковой) используются специальные функции для его инициализации и опроса.

суббота, 29 сентября 2012 г.

Световые датчики SmartBricks - отчет о использовании

Как сообщалось ранее, на рынке датчиков предназначенных для роботы с LEGO Mindstorms NXT появилась новая фирма-разработчик - SmartBricks. Компания - российская и в первую очередь ориентируется на российского потребителя - школы, кружки и энтузиастов-одиночек.
Одно из предложений, которое делает компания, - широкая линейка датчиков освещения: здесь есть датчики с традиционными цветам подсветки: красный, зеленый и синий, а также с источником белого света и даже ультрафиолетового. Для того, чтобы оценить насколько данные датчики подходят для нужд образовательной LEGO-робототехники, блог NiNoXT решил провести их полномасштабное тестирование, результаты которого публикуются в данной заметке.

Итак, объектами тестирования будут 4 датчика:
Начнем с внешнего вида:

понедельник, 24 сентября 2012 г.

NXT и Python: опрашиваем датчики

Базовые способы работы с моторами в Python были рассмотрены в прошлой заметке - теперь настало время осветить, какие API (applications programming interface) доступны для работы со стандартными LEGO NXT датчиками.
Начнем с того, что посмотрим на модуль nxt.sensor, который предоставляет классы по работе с датчиками. Для этого в Python Shell запросим справку по модулю:
import nxt.sensor
help(nxt.sensor)
Небольшая информационная страничка расскажет, что данный модуль предоставляет доступ к следующим под-модулям:
  • analog
  • common
  • digital
  • generic
  • hitechnic
  • mindsensors
Т.е. видно, что помимо стандартных датчиков, библиотека nxt-python поддерживает работу и с датчиками известных производителей Mindsensors и HiTechnic.

воскресенье, 16 сентября 2012 г.

Скорость опроса сенсоров

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

Итак, сначала надо определиться с методикой определения частоты опроса датчика.
Предлагается такой алгоритм:
  1. Инициализируем датчик
  2. Запоминаем текущее значение таймера (или сбрасываем таймер в ноль)
  3. Делаем N итераций цикла, который делает только одно действие - опрашивает датчик
  4. После завершения цикла запоминаем новое значение таймера, а точнее на сколько он изменился с шага 2.
В результате, поделив количество итераций на время, которое они заняли, станет известно сколько итераций выполниться за 1 секунду.

понедельник, 3 сентября 2012 г.

LEGO датчики - сделано в России

Известный факт, что дополнительное оборудование для LEGO Mindstorms NXT в России купить сложнее, чем в Европе или Северной Америке.
Причины здесь две - трудности с доставкой из-за рубежа и цена этого оборудования. Но дело вскорости может измениться в лучшую сторону - на так давно на российском рынке появилась компания SMARTBRICKS, одно из направлений которой - производство и продажа аналоговых и цифровых датчиков для конструкторов LEGO.

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

Авторы блога NiNoXT уже получили несколько датчиков на тестирование и смогли испытать аналоговые датчики освещенности на решение "реальных" задач в робототехническом лагере на Истре. Так что ждите обзоров и результатов сравнения с оригинальными комплектующими.

суббота, 19 мая 2012 г.

Обсуждаем различия между наборами NXT

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

четверг, 29 марта 2012 г.

NXC: движение вдоль линии в эмуляторе

Для того, чтобы показать возможности редактора nxcEditor и симулятора NXT робота, выложено небольшое видео с демонстрацией основных алгоритмов движения вдоль линии в данной среде.
Использовалась самая последняя версия редактора, в которой добавлена возможность тонкой регулировки показаний светового сенсора.
Related Posts Plugin for WordPress, Blogger...