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

вторник, 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, можно ознакомится в видео (на английском) ниже:

четверг, 13 февраля 2014 г.

JAVA объединяет NXT и EV3 блоки!

К вчерашней статье про передачу сообщений по WiFi между NXT и EV3 блоками был добавлен комментарий, в котором спрашивалось как обеспечить соединение этих двух платформ по BlueTooth.

Действительно, на стандартной прошивке и стандартными средствами (EV3-G) программирования это не достигнуть.
И такое возможно только с использованием LeJOS прошивки как на NXT, так и на EV3, и соответственно программирования на языке Java.

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

среда, 12 февраля 2014 г.

Соединение по WiFi между NXT и EV3

Известно, что оба блока EV3 и NXT имеют возможность посылать сообщения по BlueTooth. Два блока даже смогут взаимодействовать между собой, если на обоих сторонах установлена LeJOS прошивка. Теме не менее, для многих интересным вопросом является возможность соединить между собой эти два блока посредством более современных протоколов семейства WiFi. Недавно появилось сообщение, что такое вполне осуществимо.
Все технические детали связки еще не известны, но пока это становится возможным при использовании следующих компонент:
  • на NXT блоке используется программа на RobotC
  • к NXT блоку подключен HumaRobotics WiFiBlock
  • на EV3 блоке используется LeJOS программное обеспечение и WiFi dongle (Edimax EW-7811UN или Netgear WNA1100)

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

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

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

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

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

Управление NXT роботом через Arduino

Не только Raspberry Pi, но и Arduino отлично уживается с NXT роботами - примеры такого взаимодействия мы уже показывали. Следующее видео - еще один пример.
Одна плата Arduino Uno используется в джойстике, вторая - установлена на роботе и взаимодействует с NXT через I2C шину. Для передачи сигналов предусмотрен инфракрасный передатчик на джойстике и инфракрасный приемник на роботе. И передатчик, и приемник подключены к Arduino. К NXT подключены стандартные датчики касания и ультразвука, но также есть возможность подключить дополнительные датчики к Arduino.


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

Лети мой бумажный самолет

В интернете можно найти видео LEGO Mindstorms фабрики по сборке самолетов из LEGO деталей. Ему уже несколько лет и никто не отваживался c тех пор повторить опыт построения летательных аппаратов с помощью LEGO роботов.
И вот, относительно недавно, появилось вот такое интересное устройство - оно и собирает самолеты, и отправляет их в полет.

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

Принтер из книжки

Печатное устройство из книжки "The Unofficial LEGO MINDSTORMS NXT 2.0 Inventor's Guide" все же больше плоттер, чем принтер, ибо рисует исключительно линиями.

Но школьники из немецкой гимназии им. Франца Ганиеля решили немного усовершенствовать его и превратили в принтер:

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

Робот для состязаний: как забраться по лестнице

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


А проходимость устройства на финальном видео

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

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

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

четверг, 7 февраля 2013 г.

Аналоговые датчики NXT и Raspberry PI

Компания Dexter Industries не остановилась на достигнутом и выложила в интернет инструкцию по подключению аналоговых датчиков (пока только датчик касания) к Raspberry PI плате.

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

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

воскресенье, 3 февраля 2013 г.

На чем программировать NXT блок?

В течение прошлого месяца несколько раз поднимался вопрос в духе "Посоветуйте язык/среду программирования LEGO роботов". Чтобы помочь сориентироваться и подвести вопрошающих к более конкретным вопросам вида "Что лучше X или Y", была сформирована специальная диаграмма.
Данная диаграмма категоризирует наиболее популярные языки и среды программирования NXT блока (NXC, NBC, RobotC, leJOS, nxtOSEK, NXT-G, LabView, Enchanting, Robolab) исходя из следующих критериев:
  • Операционная система, где будет проходить программирование
  • Текстовый язык программирования или графическая среда. При этом текстовый язык, скорее всего, имеет свою собственную среду разработки
  • Нужно ли перепрошивать блок специальным Firmware
  • На сколько просто изучить программирование в данном конкретном инструменте. Чем больше плюсиков, тем сложнее
Она не рассматривает языки программирования, позволяющие запускать программу для управления роботом на компьютере или ноутбуке.

пятница, 1 февраля 2013 г.

Подключение цифровых NXT датчиков к Raspberry PI

Когда только появилась информация о том, что в новом Mindstorms EV3 стоит Linux, почему-то в голове возникла мысль о Raspberry PI - небольшом одноплатном компьютере, к которому можно подключить множество стандартных устройств вроде клавиатуры, монитора и т.п., - потому что на нем тоже крутиться эта же операционная система. Ведь по сути блок EV3 лишь по некоторым параметрам проигрывает Raspberry PI, да еще обладает встроенной возможностью подключения моторов и датчиков.
Как оказывается, последнее - подключение датчиков, - не является прерогативой LEGO устройства. Распайка платы Raspberry PI тоже позволяет подключать цифровые датчики, а I2C шина операционной системы Linux известна уже давно.

Известная своими датчиками, подключаемыми к NXT блоку, компания Dexter Industries выложила у себя на сайте статью, подробно рассказывающую как подключать цифровые датчики, совместимые с NXT блоком, к Raspberry PI компьютеру.

В основе статьи лежат следующие шаги:
  1. Подключение датчика посредством NXT Bread Board Adapter


    к соответствующим выходам на плате Raspberry PI.

  2. Загрузка I2C модулей ядра на Raspberry PI устройстве.
  3. Написание Python скрипта работающего на устройстве и опрашивающего датчик.
Смотрим, что у них получилось:


Судя по схеме, на Raspberry PI есть выходы UART, а это значит, что цифровые датчики EV3, тоже будет подключить не проблема.

Остается открытым вопрос - а LEGO моторами так управлять возможно? Единственное ограничение, которое пока видится, это питание моторов - Raspberry PI не отдает 9 вольт, а только 5.

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

Цифровые датчики SmartBricks: не NXT-G единым...

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

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

Прежде, чем перейти описанию того как работать с цифровыми датчиками в языках NXC и Python, нужно сначала обратить внимание на, то как устроен интерфейс общения NXT блока с датчиком через протокол I2C. В целом, неплохая вводная есть известной книге "Extreme NXT: Extending the LEGO MINDSTORMS NXT to the Next Level" (*) и есть надежда, что это описание перекочует в "перевод" на русский язык, который делается энтузиастами из Оренбурга. Сейчас же, в двух словах можно сказать, что цифровой датчик по сути представляет из себя отдельное вычислительное устройство, которое может отдавать данные - обработанные результаты измерений, причем обработка измерений может контролироваться снаружи - на устройство могут подаваться входные данные, задающие правила вычислений, или переменные, участвующие в этих вычислениях. Иными словами, NXT блок может передавать в датчик данные по I2C шине и считывать из датчика данные.

суббота, 26 января 2013 г.

Немного настроения для выходных

Немного хорошего настроения на выходные.

Девушка-музыкант PixieTea выложила в сети ролик, где она спела известную песню "Marry You" под аккомпанемент LEGO инструментов.


Все заряжаемся позитивом и готовимся к новым свершениям!

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

Инструкции для сборки EV3 R3PTAR из NXT 2.0

Тот, кто смотрел рекламные ролики LEGO Mindstorms EV3, наверняка помнят робота R3PTAR - змею, которую можно создать из коробочной версии конструктора.

Так вот энтузиасты решили не ждать появления конструктора в продаже и собрали данную модель из того, что было под рукой, а именно из LEGO Mindstorms NXT 2.0.

Распродажа LEGO Mindstorms NXT 2.0 на OZON.ru

Стартовала распродажа в российском интеренет-магазине OZON.ru: конструктор LEGO Mindstorms NXT 2.0 можно купить за 10777 рублей.
Кто хочет порадовать себя пост-новогодним подарком - спешите!

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

NXT и Python: мотор застрял?

Предыдущие статьи по программированию NXT роботов на языке Python можно считать вводными - они вкратце знакомили с базовыми API, применив которые можно было уже написать простые программы.
Естественно, многое осталось за рамками тех материалов - например, функции, управляющие движением моторов, были описаны не все, да и для описанных не были указаны все возможные параметры.

Если попробовать запустить робота с небольшими (меньше 50 процентов) параметрами мощности с помощью функции run() - такое, к примеру, возможно при движении тележки вдоль черной линии по PID регулятору, то соответствующий мотор может вообще не начать вращаться. Причем, при этом сам мотор может выдавать высокочастотный писк.

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

Установка nxt-python модуля под Windows

Не смотря на то, что на блоге было опубликовано уже много статей посвященных программированию LEGO роботов на языке Python,еще не было заметки, которая бы помогала настроить среду программирования на операционной системе Windows (хотя под Linux уже было одна).
Поэтому пора восполнить этот пробел.

Будем подразумевать, что сам язык программирования уже установлен на компьютере и следующий шаг установить все остальное программное обеспечение, необходимые для работы с NXT блоком. Единственное, что хочется добавить, что поскольку другие модули python, которые понадобятся для аспектов программирования роботов, поставляются только для 32битной ОС, то и python придется поставить в его 32битной версии.

Все начнется с установки модуля nxt-python, который можно скачать здесь. Скачав ZIP архив, необходимо распаковать его в удобное место, желательно, чтобы путь при этом получился не очень длинный, поскольку потом его придется вбивать руками в командной строке. Затем, запустите командный интерпретатор cmd.

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

Еще одна коробка передач

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

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

Python, NXT и компьютерное зрение

OpenCV (Open Source Computer Vision Library) - библиотека алгоритмов компьютерного зрения, обработки изображений и численных алгоритмов общего назначения. Она обладает большим потенциалом, который позволяет применять ее в робототехнических нуждах, так что роботы могут, подобно человеку, взаимодействовать с предметами окружающего мира - выделять и распознавать их, реагировать соответствующим образом.
Библиотека поддерживается многими языками программирования, в том числе и Python. А это значит, что благодаря модулю nxt-python, для LEGO роботов тоже можно проектировать программы, использующие в своей основе алгоритмы компьютерного зрения.

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

Related Posts Plugin for WordPress, Blogger...