Lego Mindstorms NXT

Программируемый комплект робототехники
Логотип со словом «mindstorms» на оранжевом фоне
Логотип Lego Mindstorms NXT
Маленький робот на полу
«Гольф-бот» — робот, созданный с помощью набора NXT

Lego Mindstorms NXT — программируемый робототехнический набор, выпущенный Lego 2 августа 2006 года. [1] [2] [ необходим неосновной источник ] Он заменил Robotics Invention System , набор Lego Mindstorms первого поколения. Базовый набор поставляется в двух версиях: розничная версия [3] и образовательный базовый набор. [4] Он поставляется с программным обеспечением NXT-G или дополнительным LabVIEW для Lego Mindstorms. [5] Существует множество неофициальных языков, таких как NXC, NBC, leJOS NXJ и RobotC. Набор второго поколения, Lego Mindstorms NXT 2.0, был выпущен 1 августа 2009 года с цветовым датчиком и другими обновлениями. Третье поколение EV3 было выпущено в сентябре 2013 года.

Интеллектуальный блок NXT

Части комплекта
Комплект Lego Mindstorms NXT
Человекоподобный робот
Робот, собранный из набора

Основным компонентом набора является компьютер NXT Intelligent Brick, который может принимать входные данные от четырех датчиков и управлять тремя двигателями с помощью модифицированной версии кабелей RJ12 (похожей на телефонные линии RJ11 , но несовместимой с ними ). ​​Пластиковый штифт для удержания кабеля в гнезде немного смещен вправо. Блок имеет монохромный ЖК-дисплей 100×64 пикселей и четыре кнопки, которые могут управлять пользовательским интерфейсом с иерархическими меню. Он имеет 32-битный микроконтроллер ARM7TDMI Atmel AT91SAM7 S256 с 256 КБ флэш-памяти и 64 КБ ОЗУ, 8-битный микроконтроллер Atmel AVR ATmega48 и поддержку Bluetooth. В наборе есть динамик , и он может воспроизводить звуковые файлы с частотой дискретизации до 8 кГц. Питание осуществляется от 6 батареек типа АА (по 1,5 В каждая) в потребительской версии набора и от перезаряжаемой литий-ионной батареи в образовательной версии. Блок совместим с датчиками и моторами своего преемника Lego Mindstorms EV3 . [6]

Наборы для разработки

Lego выпустила прошивку с открытым исходным кодом для NXT Intelligent Brick и схемы для всех аппаратных компонентов. [7]

Доступно несколько комплектов разработчика с документацией для NXT:

  • Комплект разработчика программного обеспечения (SDK) с информацией о драйверах USB-хоста, формате исполняемого файла и справочником по байт-коду
  • Комплект разработчика оборудования (HDK) с документацией и схемами для блока NXT и датчиков
  • Bluetooth Developer Kit (BDK), документирующий протоколы, используемые для связи Bluetooth

Программирование

Простые программы можно создавать с помощью меню на интеллектуальном блоке NXT. Более сложные программы и звуковые файлы можно загружать с помощью порта USB или Bluetooth. Файлы можно копировать по беспроводной связи между двумя блоками NXT, а некоторые мобильные телефоны можно использовать в качестве пульта дистанционного управления. До трех блоков NXT могут одновременно обмениваться данными через Bluetooth при запуске программ, созданных пользователем.

Розничная версия комплекта включает программное обеспечение для написания программ, работающих на персональных компьютерах с Windows и Mac OS. Программное обеспечение, основанное на National Instruments LabVIEW , предоставляет визуальный язык программирования для написания простых программ и загрузки их в NXT Brick; вместо того, чтобы требовать от пользователей писать строки кода, они могут использовать блоки, похожие на блок-схемы, для разработки своей программы.

НХТ
NXT-G v2.0 — это графическая среда программирования, которая поставляется в комплекте с NXT и может использоваться для реального программирования. Программное обеспечение может запускать несколько параллельных циклов или сочетать автономное управление с Bluetooth или другим дистанционным управлением. Оно поддерживает виртуальные инструменты для всех датчиков и компонентов Lego и большинства сторонних датчиков и компонентов. Версия 2.0 содержит новые задачи, дистанционное управление, пользовательские графические и звуковые дизайнеры, а также поддержку цветового датчика Lego. [8]
C# с Microsoft Robotics Developer Studio
Бесплатные инструменты ( Visual Studio Express в сочетании с Robotics Developer Studio ) позволяют программировать NXT с использованием языка C# . [9]
BricxCC, коды Next Byte, не совсем C
Bricx Command Center (BricxCC) — это интегрированная среда разработки (IDE), используемая для написания, компиляции и редактирования программ NBC и NXC для NXT. Кроме того, поскольку BricxCC изначально был создан для RCX , программы для него можно писать с помощью NQC через BricxCC. Различные версии прошивки можно прошивать в NXT с помощью BricxCC. Next Byte Codes (NBC) — это простой язык с открытым исходным кодом с синтаксисом языка ассемблера , который можно использовать для программирования блока NXT. BricxCC также имеет возможность декомпилировать стандартные исполняемые файлы .rxe NXT в NBC. Not eXactly C (NXC) — это высокоуровневый язык с открытым исходным кодом , [10] похожий на C и построенный на компиляторе NBC. Его можно использовать для программирования блока NXT. NXC — это по сути NQC для NXT. [11]
Роболаб
Новая среда программирования, изначально использовавшаяся в программируемом блоке RCX. Версия 2.9 была обновлена ​​для программирования блока NXT. Lego объявила о прекращении поддержки Robolab, но Robolab 2.9 по-прежнему доступен. [12]
РобоМозг
RoboMind — это образовательное программное обеспечение для обучения студентов логике, программированию и робототехнике. Скрипты можно переносить в робота Lego Mindstorms NXT для тестирования. [13]
Очаровательный
Enchanting переносит программирование NXT в среду разработки Scratch IDE, разработанную группой Lifelong Kindergarten Group Массачусетского технологического института, чтобы сделать программирование интуитивно понятным для маленьких детей.
РОБОТК
Язык программирования на основе C для VEX, VEX Cortex, FIRST Tech Challenge и Lego Mindstorms . ROBOTC позволяет NXT быстро запускать программы и сжимает файлы для размещения большого количества программ.
NXTGCC
Набор инструментов GCC для программирования прошивки NXT на языке C.
леДЖОС NXT
leJOS NXJ — это высокоуровневый язык программирования с открытым исходным кодом, основанный на Java , который использует пользовательскую прошивку. [14]
nxtOSEK
nxtOSEK можно использовать для написания на C и C++ с пользовательской прошивкой. [15]
ИКОНА
ICON может записывать файлы на сам NXT. [16] [17]
MATLAB — это язык программирования высокого уровня для численных вычислений, сбора данных и анализа. Он может управлять роботами Lego NXT через последовательный порт Bluetooth (связь через последовательный порт является частью базовой функциональности MATLAB) или через USB . [18] (бесплатно и с открытым исходным кодом). Simulink — это среда блок-схем для моделирования и имитации динамических систем. Пользователь может проектировать и моделировать алгоритмы управления и системы Lego, а также программировать Lego NXT или EV3. [19]
Луа
plLua [20] — это порт языка программирования Lua , языка сценариев общего назначения, для Lego Mindstorms.
Ада
Порт GNAT [21] для NXT. Он опирается на выделенное ядро ​​времени выполнения на основе профиля Ravenscar, используемого на спутнике Goce , что позволяет высокоуровневым функциям Ada разрабатывать параллельные и работающие в реальном времени системы на Mindstorms NXT.
УРБИ
URBI — параллельный, событийно-управляемый язык с интерфейсами к C++/Java и Matlab. Он имеет компонентную архитектуру (UObject) для распространения. Urbi совместим со многими роботами, включая Nao (ср. Robocup), Bioloid и Aibo. [22]
FLL NXT Навигация
FLL Nxt Navigation [23] — это программа с открытым исходным кодом для помощи в навигации на соревновательном столе FLL. Она использует файлы NXT-G и .txt для написания программ.
Ruby-nxt
Ruby-nxt [24] — библиотека для программирования NXT для языка программирования Ruby . Код не компилируется в двоичный файл (в отличие от других языков для NXT), а передается в NXT через Bluetooth.
Робототехника.NXT
Robotics.NXT [25] — это интерфейс Haskell для NXT через Bluetooth. Он поддерживает прямые команды, сообщения и множество датчиков, а также поддерживает простое управление блоком NXT на основе сообщений через удаленно выполняемую программу. Базовый код NXC включен.
LibNXT
LibNXT [26] — это библиотека утилит для общения с интеллектуальным блоком Lego Mindstorms NXT на относительно низком уровне. Она ориентирована на платформы, которые не поддерживаются официальным программным обеспечением Lego Mindstorms NXT (например, Linux), и работает в любой POSIX-совместимой операционной системе, где поддерживается libusb 0.1. Поддержка Windows также возможна с портом libusb win32.
C_NXT
C_NXT [27] — библиотека для управления Lego NXT, лицензированная по GPLv2 . Она позволяет пользователям управлять Lego NXT через Bluetooth из других программ на языке C. Библиотека, работающая на Linux, обеспечивает низкоуровневое управление и высокоуровневую абстракцию.
PyNXC
PyNXC [28] — проект, который преобразует код Python в Not Exactly C (NXC) [29] для загрузки в роботов Lego Mindstorms.
NXT-Python
NXT-Python [30] — это модуль Python, который взаимодействует с NXT через USB или Bluetooth. Он поддерживает команды и несколько датчиков стороннего производителя.
Программное обеспечение LEGO Mindstorms EV3
Программное обеспечение, которое поставляется с новым набором Mindstorms EV3, может программировать NXT. [31]
Физические игрушки
Схема программирования
Машинка Lego NXT, которая объезжает стены, реализованная в Physical Etoys
Physical Etoys — это система визуального программирования для электронных устройств, поддерживающая прямой и компилируемый режимы.
Интерпретатор C/C++ Гл.
Ch — это интерпретатор C/C++, работающий на C/C++ для управления Lego NXT или EV3. Не требуется загрузка/скачивание прошивки или компиляция. Код AC/C++, работающий на Ch, может управлять Lego NXT, EV3 или несколькими NXT/EV3. [32]

Датчики и исполнительные механизмы

В базовый комплект Lego Mindstorms NXT входит: [33]

  • Три серводвигателя со встроенными редукторными узлами и внутренними оптическими вращающимися энкодерами , которые определяют их вращение с точностью до одного градуса. [34]
  • Датчик касания определяет, нажата ли она, была ли она ударена или отпущена. Оранжевая кнопка ввода и серые правая и левая кнопки NXT могут быть запрограммированы как датчики касания. В программном обеспечении NXT-G значение 0 дается, когда она не нажата, и значение 1 дается, если она нажата. [35]
  • Датчик освещенности определяет уровень освещенности в одном направлении и включает светодиод для освещения объекта. Он может определять отраженные значения света с помощью встроенного красного светодиода или окружающего света. В программном обеспечении NXT-G он определяет свет по шкале от 0 до 100; 100 — очень яркий, а 0 — темный. [36] При калибровке датчик можно использовать в качестве датчика расстояния.
  • Датчик звука измеряет громкость по шкале от 0 до 100: 100 — очень громко, 0 — тихо.
  • Ультразвуковой датчик может измерять расстояние от датчика до чего-либо, к чему он обращен, и обнаруживать движение. Он может показывать расстояние в сантиметрах и дюймах. Максимальное расстояние, которое он может измерить, составляет 233 сантиметра (92 дюйма) с точностью до 3 сантиметров (1,2 дюйма). Датчик посылает ультразвуковые звуковые волны, которые отражаются от объекта впереди него, а затем обратно, и определяет время, которое это заняло. [37]

Другие части можно купить отдельно. [38] Сторонние компании производят датчики, такие как компас , гироскоп , инфракрасный трекер, считыватель RFID и акселерометрические датчики, продаваемые Lego. Датчик температуры может измерять в градусах Цельсия или Фаренгейта.

Соединитель

Датчики подключаются к блоку NXT с помощью шестипозиционного модульного разъема с аналоговыми и цифровыми интерфейсами. Аналоговый интерфейс обратно совместим (с использованием адаптера) со старой Robotics Invention System. Цифровой интерфейс способен к коммуникации I 2 C и RS-485 .

Распиновка интерфейса датчика NXT
ПриколотьИмяФункцияЦветНомер контакта
1АНАЛОГОВЫЙАналоговый интерфейс, питание +9ВКонтакт 1 – АНА
Белый
2ЗемляЗемляКонтакт 2 – Земля
Черный
3ЗемляЗемляКонтакт 3 – Земля
Красный
4IPOWERA+4,3В питаниеКонтакт 4 – IPOWERA
Зеленый
5DIGIAI0I 2 C часы (SCL), RS-485 BКонтакт 5 – DIGIAI0
Желтый
6DIGIAI1Данные I 2 C (SDA), RS-485 AКонтакт 6 – DIGIAI1
Синий

NXT2.0

Lego Mindstorms NXT 2.0 — второй набор в серии Lego Mindstorms , представленный 5 августа 2009 года в магазине Lego Shop в США. Набор содержит 619 деталей, включая датчик, который может определять цвета. За ним последовал Lego Mindstorms EV3 . [39]

Функции

См. подпись
Модель погрузчика, собранная из Lego Mindstorms NXT 2.0
  • Звуковой редактор для записи звука и программирования блока NXT для его воспроизведения.
  • Редактор изображений для загрузки изображения в блок NXT для отображения на экране.

Интеллектуальный блок NXT

  • 32-битный главный микроконтроллер Atmel AT91SAM7 S256 ( флэш-память 256 КБ , ОЗУ 64 КБ )
  • 8-битный микроконтроллер Atmel ATmega48 @ 4 МГц (4 КБ флэш-памяти, 512 байт ОЗУ)
  • ЖК- экран 100×64 пикселей
  • Четыре входных порта RJ12 (порты 1–4)
  • Три выходных порта RJ12 (порты переменного тока)
  • USB-порт
  • Bluetooth класса II V2.0
  • Громкоговоритель – качество звука 8 кГц, разрешение 8 бит, частота дискретизации 2–16 кГц
  • Четыре кнопки для навигации по меню и использования в программах
  • Питание от шести батареек типа АА или аккумулятора NXT.

Смотрите также

Ссылки

  1. ^ "Что такое NXT? LEGO Group представляет набор инструментов Lego Mindstorms NXT Robotics на выставке бытовой электроники" (пресс-релиз). Лас-Вегас, Невада : The Lego Group . 4 января 2006 г. Архивировано из оригинала 8 июля 2009 г. Получено 17 сентября 2007 г.
  2. ^ "LEGO MINDSTORMS NXT Robotics Toolset Now Widely Available" (пресс-релиз). Нью-Йорк, штат Нью-Йорк : The Lego Group . 2 августа 2006 г. Архивировано из оригинала 11 сентября 2006 г. Получено 3 июля 2022 г.
  3. ^ "8527Mindstorms NXT Kit". Mindstorms.lego.com . LEGO Group . Архивировано из оригинала 2009-02-03 . Получено 2008-12-26 .
  4. ^ "Lego Mindstorms Education NXT Base Set". Education.lego.com . Архивировано из оригинала 2011-12-10 . Получено 2011-09-30 .
  5. ^ "LEGO Education | Продукция > Средняя школа > NI LabVIEW для программного обеспечения LEGO MINDSTORMS". Архивировано из оригинала 2011-12-16 . Получено 2011-11-16 .
  6. ^ «Использование программного обеспечения EV3 для запуска NXT – LEGO Engineering». 2013-11-01 . Получено 2024-08-05 .
  7. ^ «Все инструменты, чтобы довести ваш Lego Mindstorms NXT до экстремального состояния!». Архивировано из оригинала 6 октября 2009 г.
  8. ^ "Галерея Brickshelf - Примеры фрагментов кода". Brickshelf.com . Получено 3 июля 2022 г. .
  9. ^ "Шоу". Docs.microsoft.com . Получено 3 июля 2022 г. .
  10. ^ "Не совсем C". Sourceforge.net .
  11. ^ "NBC – NeXT Byte Codes, Not eXactly C и SuperPro C". Sourceforge.net .
  12. ^ "Lego Education". Lego.com .
  13. ^ "RoboMind.net – Документация > Поддержка Lego Mindstorms NXT". Robomind.net .
  14. ^ Мораль, Хуан Антонио Бренья. «LeJOS, Java для Lego Mindstorms». Sourceforge.net .
  15. ^ "nxtOSEK". Sourceforge.net . 9 января 2014 г.
  16. ^ "ICON". Teamhassenplug.org . Получено 3 июля 2022 г. .
  17. ^ "Team Hassenplug". Teamhassenplug.org . Получено 3 июля 2022 г. .
  18. ^ "mindstorms / ev3-toolbox-matlab · GitLab". Gi.rwth-aachen.de . Получено 3 июля 2022 г. .
  19. ^ "Search Hardware Support". Mathworks.com . Получено 3 июля 2022 г. .
  20. ^ "pbLua Home Page". 8 декабря 2008 г. Архивировано из оригинала 2008-12-08 . Получено 3 июля 2022 г.
  21. ^ "Libre - Главная > Инструменты > GNAT GPL для LEGO MINDSTORMS NXT – Ravenscar Edition". Архивировано из оригинала 2012-03-05 . Получено 2009-06-24 .
  22. ^ "Gostai". Gostai.com . Архивировано из оригинала 2007-04-30.
  23. ^ "FLL NXT Navigation - Home". Архивировано из оригинала 2016-03-04 . Получено 2009-03-12 .
  24. ^ "zuk/ruby-nxt". Github.com . 14 ноября 2020 г. . Получено 3 июля 2022 г. .
  25. ^ "NXT". Hackage.haskell.org . Получено 3 июля 2022 г. .
  26. ^ "Архив Google Code — долгосрочное хранилище для хостинга проектов Google Code". Code.google.com . Получено 3 июля 2022 г. .
  27. ^ "C_NXT". Github.com . 13 июня 2016 . Получено 3 июля 2022 .
  28. ^ "Архив Google Code — долгосрочное хранилище для хостинга проектов Google Code". Code.google.com . Получено 3 июля 2022 г. .
  29. ^ "NBC - NeXT Byte Codes, Not eXactly C, and SuperPro C". Bricxcc.sourceforge.net . Получено 3 июля 2022 г. .
  30. ^ "Schodet/nxt-python" . Гитхаб.com . 18 июня 2022 г. Проверено 3 июля 2022 г.
  31. ^ "FAQs available for". Education.lego.com . Получено 7 декабря 2019 г. .
  32. ^ "UC Davis Center for Integrated Computing and STEM Education » Ch Robot Controller". Ucdavis.edu .
  33. ^ "Главная – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com". Lego.com . Архивировано из оригинала 2012-05-29 . Получено 2009-01-15 .
  34. ^ "Главная – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com". Lego.com .
  35. ^ "Главная – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com". Lego.com . Архивировано из оригинала 2012-02-17 . Получено 2009-01-15 .
  36. ^ "Главная – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com". Lego.com .
  37. ^ "Главная – LEGO MINDSTORMS® - LEGO.com – Mindstorms LEGO.com". Lego.com .
  38. ^ "Home – Lego Mindstroms - LEGO.com". Lego.com . Архивировано из оригинала 2009-10-06 . Получено 2009-01-15 .
  39. Майлз, Стюарт (6 ноября 2018 г.). «LEGO Mindstorms NXT 2.0 launches». Pocket-lint . Получено 28 января 2009 г. .
  • lego.Edutech.com, официальный партнер Lego Education
  • внешний контроллер с открытым аппаратным обеспечением beaglebone
  • Программа NXT, помощь в программировании Lego Mindstorms NXT
  • HiTechnic.com, сертифицированные датчики LEGO для Lego Mindstorms
  • mindsensors.com, Датчики для Lego Mindstorms NXT
  • Trinfactor3.com, позволяет использовать 32 аналоговых датчика с 1 NXT
  • robojoy-club, робот NXT и программа для новичков
  • Установка и монтаж шестеренок
  • Роберта, Образовательная робототехника
  • Сообщество и проекты Lego Mindstorms
  • Прочитайте этот обзор, прежде чем купить Lego Mindstorms EV3
  • Проекты Lego Mindstorms NXT и Lego Mindstorms NXT 2.0
  • Стреляющий робот NXT 2.0 в действии
Retrieved from "https://en.wikipedia.org/w/index.php?title=Lego_Mindstorms_NXT&oldid=1263244530"