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

вторник, 27 января 2015 г.

VirtualBrick - виртуальный EV3 робот

Мир образовательной робототехники развивается семимильными шагами: недавно компания Robomatter известная своими продуктами RobotC и Virtual Worlds сообщила о выпуске нового продукта - Virtual Brick.
По факту, это переработанный Virtual NXT, но сейчас его так называть больше не стало смысла, потому что помимо NXT блока, он может теперь эмулировать и EV3 блок.

Но начнем все по порядку.

Virtual Brick - программное обеспечение, которое может эмулировать NXT/EV3 блок, а точнее целого робота. После установки его все выглядит так, как будто к компьютеру по USB подключено LEGO Mindstorms оборудование. Даже можно услышать стандартный "та-дам" звук подсоединения USB устройства при запуске эмулятора. В итоге, это приводит к тому, что из графических сред программирования, работающих со стандартным firmware, - LabView, NXT-G и EV3-G вы можете программировать это устройство. Только робот теперь будет запускаться не в реальном, а в виртуальном мире.


С четырьмя шагами, демонстрирующими способ работы с Virtual Brick, можно ознакомится в видео (на английском) ниже:

воскресенье, 16 февраля 2014 г.

Программируем LEGO Mindstorms на планшете

Совсем недавно компания LEGO в социальной сети профессионалов LinkedIn выложила вакансию:
"Digital designers for LEGO Group
As a digital designer, you will be part of a team of product designers that develop programmable LEGO toys for kids aged 8-99. We are looking for designers with a user interface design education or background from the digital world. Your mission will be to collaborate in creating toys that a kid should be able to program from a tablet."
Из текста вакансии раскрываются планы компании - предоставить возможность программировать электронные конструкторы (может это будет Mindstorms, а может WeDo, а может что-то новое) с планшета. Что ж, будет интересно посмотреть на то, чем LEGO планирует в этот раз восхитить мир!

А пока, все желающие уже могут сейчас попробовать программировать LEGO Mindstorms NXT на iPAD. Для этого нужно установить соответствующее приложение iNXTG-Lite.

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

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

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

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

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

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

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

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

Русскоязычный вебинар по среде программирования NXT-G

Многие интернет пользователи активно пользуются интернет-сервисом от компании Google - Hangouts. Одна из вещей, которую позволяет сделать этот сервис, - проведение видео-конференций.

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

среда, 3 апреля 2013 г.

Робот для состязаний: выход из лабиринта. Часть V

Предыдущий цикл статей, в котором давались советы относительно того как выходить из лабиринта не закончился самым главным - там было объяснено правило правой руки, давался обзор тактик решения задачи для средней категории World Robot Olympiad 2011, советы по тому, какими датчиками и как пользоваться, но так и не было рассмотрено, как написать самую простую программу. Настало время наверстать этот момент.
Итак, сперва следует напомнить, какие же основные блоки определяют поведение робота в лабиринте:
  1. Движение прямо с опросом датчиков, обнаруживающих проход справа, и датчиков, обнаруживающих столкновение с преградой
  2. Поворот направо, в случае обнаружения прохода
  3. Поворот налево, в случае обнаружения препятствия

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

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

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

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

четверг, 14 марта 2013 г.

Робот для состязаний: "Батик". Часть VI

Если рассматривать состязания основной категории World Robot Olympiad 2013 с точки зрения программирования, то самым интересным можно назвать состязание "Батик", второе место займет "Остров Комодо", а самым скучным "Боробудур".
И вот здесь определенный парадокс - ведь "Батик" - это младшая возрастная группа, а равно ребята, кто совсем недавно начал знакомиться с программированием, и которое в этом возрасте еще не является чем-то само-собой разумеющимся: математическая база еще не та, некоторые понятия довольно сложны для усвоения и т.п. Хотя, с другой стороны, быть может такие интересные задачи должны дать дополнительную мотивацию для изучения школьниками компьютерных наук, так чтобы в более старшем возрасте задачи по программированию им казались на столько же простыми, как таблица умножения.

В этой заметке рассматриваются основные этапы решения первой части задания "Батик", а именно сортировка кубиков-"красок" по разноцветным корзинам.
Начать следует с того, чтобы еще раз взглянуть на соответствующий участок трассы:

суббота, 9 марта 2013 г.

NXT-G: досрочный выход из MyBlock

Возможность создания собственных блоков (MyBlock) в среде NXT-G - достаточно мощный инструмент написания понятных и компактных программ. Можно передавать данные в такой блок и поучать результаты выполнения блока - это делает их применимыми для решения широкого круга задач.
Одни и те же собственные блоки могут использоваться в разных программах. А значит, написанные и доведенные до совершенства только один раз, их можно вставлять в разные программы в течение многих лет.

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

Часто бывает необходимо досрочно выйти непосредственно из блока, а не из всей программы. Например, если в ходе работы блока обнаружилась ошибка или выяснилось, что часть действий не нужно выполнять. В данном случае использовать блок "Остановка"/"Stop" некорректно - хотя работа блока и остановится, но также остановится и вся программа.

NXT R3PTAR - пишем свою программу

В школе, где проходит наш кружок робототехники, нужно было провести "удивительный урок" для первоклассников, приуроченный к 23 феваряля и 8 марта. Одним из роботов, который должен был появиться на этом уроке, было решено сделать - NXT R3PTAR - змею, похожую на EV3 R3PTAR, только выполненную из набора NXT 2.0.
Об существующих инструкциях по сборке для данного "животного" уже упоминалось в блоге. А вот программу пришлось составлять самостоятельно. А поскольку кто-то захочет повторить этот опыт - процесс составления программы приводиться в этой заметке.

воскресенье, 3 марта 2013 г.

Зачем нужны профили в NXT-G?

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

Итак, стоить наверное начать с того, что все программы, которые сохраняет пользователь в среде программирования, помещаются по умолчанию в следующую папку, расположенную в папке Мои Документы / My Documents:

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

Учебно-тренировочный сбор в Нижнем Новгороде

25-26 февраля в Нижнем Новгороде прошел учебно-тренировочный сбор по LEGO-робототехнике для преподавателей города и области.

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

суббота, 23 февраля 2013 г.

Простые шаги для организации bluetooth соединения в NXT-G

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

Общими вопросами для тех, кто только-только сталкивается с необходимостью соединить два NXT блока по Bluetooth каналу, являются "как сделать так, чтобы блоки увидели друг друга" и "как мне переслать информацию от одного блока на другой". Эти вопросы звучат на столько часто, что австралийский преподаватель робототехники Damien Kee решил подготовить понятный и доступный каждому (кто мало-мальски распознает английскую речь на слух) материал, помогающий новичкам сделать первые шаги на этом поприще. Как только такая мини-лекция стала готова, Damien не замедлил поделиться ей с LEGO-сообществом. Поэтому тем, кому интересна эта тема и он планирует первый раз делать какие-то проекты связанные с соединением по Bluetooth, крайне рекомендуется ознакомиться с видео-роликами ниже.

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

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

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

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

среда, 21 ноября 2012 г.

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

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

В предыдущих заметках было выведено, что он однозначно зависит от освещенности трассы и яркости элементов на ней:
Где, Lmax - значения сенсора освещенности на самом светлом участке поля, а Lmin - значение сенсора на самом темном участке.

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

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

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

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

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

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

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

Рассмотрим, что происходит с вращением оси мотора в случае работы следующей программы:

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

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

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

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

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

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

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

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

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

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

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

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