суббота, 21 декабря 2013 г.

EV3 производительность. Часть I

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

Например, вот выступление новосибирской команды Лига Роботов на World Robot Olympiad 2013 в Джакарте. Робот движется на достаточно большой скорости и отличить красный шарик от синего позволит только частый опрос датчиков цвета. Но если при этом произойдет значительная задержка при выполнении операции остановки, то робот проедет шарик мимо и выполнить его сбор будет уже невозможно:

пятница, 20 декабря 2013 г.

RobotC Virtual Worlds и среда программирования NXT-G

Просматривая материалы на сайте RobotC можно обнаружить интересную "старую" новость - создатели популярной среды программирования сообщают о возможной будущей поддержке Виртуальными Мирами (RobotC Virtual Worlds - RVW) другой популярной среды программирования - NXT-G. Неожиданно, не так ли?!
Что это значит? А то, что теперь познавать основы программирования LEGO роботов смогут даже те школьники, у которых нет своего собственного NXT набора. Или даже еще лучше - целые робототехнические классы могут тренироваться в работе в среде NXT-G без необходимости иметь большое количество реальных роботов: к ним будут допускаться те ребята, кто сначала научил свой "виртуальный" механизм решению заданной задачи.

ROBOTC: эволюция языков программирования

Вчера в блоге RobotC появилось интересное сообщение, что в новой версии данной среды программирования создатели готовят свой графический язык программирования, чем-то напоминающий язык программирования Scratch.

До сих пор, среда программирования RobotC поддерживала только два языка: непосредственно RobotC - особый диалект C и Natural Language (иногда его называют "естественный язык").
Первый используется уже опытными программистами, основная аудитория второго - школьники, кто только начинает программировать на текстовых языках программирования. Carnegie Mellon University и RobotC позиционировали язык Natural Language, как переходный от графического языка NXT-G к текстовым языкам. По сути, в нем позволяется вместо низкоуровневых команд управления моторами и опроса датчиков использовать процедуры, название которых говорит о действии, которое робот будет выполнять: forward(), stop(), startMotor(), pointTurn(), untilRotations(), untilDark() и т.п. Полный список поддерживаемых функций с их описанием можно посмотреть здесь.
task main()
{
  forward(63);       //Включить моторы с мощностью в 63%
  untilLight(500);   //Ждать до тех пор, пока на сенсоре освещенности
                     //не станет светлее, чем 500 единиц
  stop();            //Остановить моторы
}

четверг, 19 декабря 2013 г.

Тестовые релизы BricxCC поддерживают EV3

Не смотря на то, что официально это еще объявлено не было, энтузиасты уже начали использовать среду программирования Bricx Command Center для программирования новых EV3 роботов. Информации в интернете на эту тему довольно мало, но тем не менее преподаватель из Северодвинска Александр Паршев обратился к недавней статье от широко известного LEGO Mindstorms гуру R.J. McNamara о программировании EV3 в BricxCC.
Александр прошел по шагам по шагам, описанным в данной статье, и получил в итоге исполняемый файл, который запускается на EV3 блоке. После чего появилась статья на русском языке, как получить подобный результат. Стоить заметить, что метод не требует перепрошивки firmware или подключения устройств типа WiFi донгла или SD-карты, не требует доступа к блоку по терминалу.

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

P.S. Если в оригинальной статье от R.J. McNamara не открываются картинки, попробуйте открыть страницу в виде PDF файла.

Обучающие ролики по программированию EV3 теперь на YouTube.

После опубликования ссылки на обучающие ролики по EV3, Сара Лихтенберг начала получать отзывы, что видео на сайте просматривать не очень удобно. Поэтому она решила сменить локацию великолепных роликов, подготовленных ее учащимися - теперь они доступны на YouTube.
Верный шаг, не правда ли?
Другой известный преподаватель LEGO робототехники Graeme Faulkner, также выкладывает на свой канал обучающие видео-ролики, только имеет смысл начать знакомится с ними с соответствующих страниц на сайте преподавателя, потому что они там выстроены в особую структуру - это целый курс, который он адаптирует со среды программирования NXT-G, на среду программирования EV3 (и, кстати, называет ее EV3-G). Кстати, там же можно найти начало курса, цель которого рассказать, как можно программировать NXT роботов на EV3 программном обеспечении.

500 тысяч LEGO деталей

Именно такое количество понадобилось Стиву Саммартино и Раулю Оайда, чтобы собрать полноразмерный старомодный автомобиль из LEGO.
Что еще можно сказать о проекте?
  • Автомобиль может достигать скорости 20-30 км/ч.
  • В двигателе машины используется 256 пневматических поршней LEGO расположенных по окружности. Подобные ротативные двигатели использовались в самолетостроении.
  • Потребовалось 60 тыс. долларов, чтобы воплотить изначальную задумку в готовое решение.
К сожалению, на текущий момент это все детали. Если кто-то найдет больше информации - отписывайтесь в комментариях.


Видео ролик, набравший больше 250 тысячи просмотров за два дня можно посмотреть ниже:

среда, 18 декабря 2013 г.

Работа с файлами в среде программирования EV3

Точно так же, как и среда программирования LEGO Mindstorms NXT-G, среда программирования нового набора EV3 тоже поддерживает работу с файлами. Манипуляции с файлами могут понадобится в многих случаях. Например, если необходимо снять показания с сенсоров и енкодеров во время выполнения роботом задания на каком-нибудь полигоне, либо чтобы получить данные какого-то эксперимента для дальнейшего их анализа.
С помощью файлов можно организовать перенос данных с компьютера на робота, например, чтобы он нарисовал портрет Мона Лизы, или передачу данных между разными программами, например, когда одна программа сканирует предмет, а вторая потом собирает его. Иными словами, применять как запись данных в файл, так и их чтение можно во множестве устройств и механизмов.

Блок работы с файлами расположен в палитре "Дополнения"

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

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

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

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

LEGO Mindstorms NXT Репликатор

Старый добрый NXT еще будет удивлять устройствами, которые можно из него собрать, долгое время!

Вот, например, Replicator - повторятель, он строит копии небольших кубиков, собранных из LEGO.
С точки зрения процесса, устройство состоит из двух частей: первая часть сканирует кубик, необходимый для реплицированя; вторая часть выполняет непосредственно реплицирование - собирает копию из подходящих деталей.

понедельник, 16 декабря 2013 г.

Дополнение к статье "Темная сторона силы на EV3"

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

С полностью заряженной аккумуляторной батарей, блок выдает 91 процент.
Используя знания о напряжении аккумулятора из этой статьи и сделав простую пропорцию, получаем, что блок будет показывать 100% при 9 V напряжения. Т.е., по сути, показания на блоке зависят от напряжения, и это позволяет оценить уровень заряда на батарее. Как и где это можно применить, описывалось чуть больше года назад.

Темная сторона силы на EV3

Среда программирования LEGO Mindstorms EV3 будучи прямым продолжателем традиций от NXT-G взяла также много хорошего от других своих предшественников Robolab и LabView: досрочный выход из цикла, массивы, сложные арифметические выражения, управление по изменению значения на датчике.
Еще одним полезным приобретением является возможность замерять мощность подаваемую на мотор.

Сборка робота - командная работа

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

Оказалось, что хорошим выходом из положения является поиск такой модели робота, которая бы и собиралась быстро, и довольно просто расширялась дополнительными деталями, моторами, датчиками.
Стандартный робот, инструкция по сборке которого идет отдельной книжкой с образовательным набором NXT (картинка выше), не очень подходит, если его оценивать по критериям, представленными выше: эта модель довольно сложная в сборке и поэтому затратная по времени, к тому же эта конструкция славится отсутствием параллельных и перпендикулярных земле деталей, поэтому возникают определенные проблемы с установкой датчиков.

воскресенье, 15 декабря 2013 г.

Проблема с двумя датчиками расстояния на EV3

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

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

Обучающие видео по программированию EV3 роботов

Те, кто следит за сообщениями в Google группе legoengineering на прошлой неделе, наверняка, могли заметить сообщение от Сары Лихтенберг, где она делает анонс одного обучающих видео-роликов, подготовленных ее студентами.
И если перейти по ссылке, указанной в ее сообщении, то можно набрести на интересный ресурс!

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

Для этого, ее ребята подготавливают и выкладывают с сеть ролики, где они в довольно простой (даже для тех, кто плохо понимает по-английски) рассказывают, как писать программы решающих ту или иную задачу, или просто делятся своими знаниями относительно среды программирования LEGO Mindstorms EV3.

понедельник, 9 декабря 2013 г.

По следам WRO 2013: интервью для интернет-журнала "стр. 42"

Интернет-журнал "стр. 42" пригласил Президента Российской Ассоциации Образовательной Робототехники Максима Васильева и тренера команды-чемпионов, преподавателя школы №2017 г. Москвы Сергея Мустафина к себе в студию. Вместе с ведущим Александром Греком, представители российской сборной обсуждают текущую ситуацию с образовательной робототехникой в России.
Обязательно посмотрите, наверняка, многие услышат довольно интересные вещи: про World Robot Olympiad, про футбол роботов, про подготовку школьников к робототехническим состязаниям!

суббота, 7 декабря 2013 г.

30 занимательных механизмов из одной коробки

Около 10 лет назад компания LEGO выпустила довольно интересный набор для конструирования - #4094 Inventor. Не смотря на относительно небольшой размер (всего 255 деталей) из него, как оказывается, можно сделать довольно интересные механизмы.
Вот, например, довольно старые видео, демонстрирующее 30 различных механизмов, собранные из этого набора (почти... автор добавил только 2 резинки, 2 оси и 2 соединителя осей). Данные видео обязательны к тщательному изучению для робототехников - они показывают, насколько много функционала можно реализовать, имея всего лишь один мотор!

пятница, 6 декабря 2013 г.

EV3: выполняем повороты с помощью датчика-гироскопа. Часть I

Сложные траектории движения - частоиспользуемые техники изменения положения робота на поле. Робот должен проехать по квадрату или завернуть за угол лабиринта, объехать препятствие по дуге. На LEGO Mindstorms RCX и NXT роботов расчет траектории для таких передвижений был нетривиально вещью. Приходилось либо вручную подбирать значения, насколько нужно повернуться каждому из моторов, либо выводить сложную формулу зависящую от диаметра колеса и ширины колесной базы робота.
Но в любом случае, как только вы меняли базу робота, или ставили бОльшие колеса, всю работу приходилось начинать сначала.

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

Например, самая простая программа для выполнения роботом поворота на 90 градусов вокруг своей оси будет выглядеть следующим образом:

четверг, 5 декабря 2013 г.

EV3 на OZONе

Если кому-то не с руки покупать LEGO Mindstorms EV3 в реальных магазинах, то знайте, что этот конструктор появился в известном и безопасном интернет-магазине OZON. Приходите, заказывайте! У меня уже есть один новенький, еще пока нераспакованный!

EV3: потребление энергии - исследование от Dexter Industries

Как истинная железячная компания, известный производитель датчиков для LEGO Mindstorms - Dexter Industries спешит исследовать EV3 аппаратное обеспечение в полную силу. Ведь от этого могут зависеть их новые изобретения. Их последнее недавно опубликованное исследование касается потребления энергии EV3 блоком при различных режимах работы.
Подробнее со статьей, описывающей эксперимент и его результаты, на английском языке можно ознакомиться здесь. Ниже представлены только наиболее важные части из этой статьи.

Вначале команде исследователей нужно было определиться с базовым напряжением и они сделали измерение напряжения у двух свежезаряженных EV3 аккумуляторных батарей: показания на одной были 8.2V, на другой - 8.33V. Поэтому в своих экспериментах они исследовали потребление энергии с такими показаниями напряжения, как 9V, 8.2V, 7.5V и 5V.

В своих тестах они не использовали ни BT, ни WiFi.

среда, 4 декабря 2013 г.

Анонс сразу о двух версиях журнала Hispabrick

Да, давненько не выкладывались новости, касающиеся мира зарубежного LEGO-конструирования!.. Поэтому в этой заметке анонсируются сразу два номера журнала по LEGO-конструированию Hispabrick: 17ый и 18ый (скачать можно здесь и здесь)

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

воскресенье, 1 декабря 2013 г.

Решение проблем с EV3 датчиком-гироскопом программным способом

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

Данное видео демонстрирует этот эффект:

Related Posts Plugin for WordPress, Blogger...