Введение
Введение

Это перевод, оригинал находится здесь

What is leJOS NXJ

leJOS NXJ это среда программирования Java для LEGO MINDSTORMS NXT ®. Она позволяет программировать LEGO ® роботов на языке Java.

Она состоит из:

  • Прошивки для "кирпича", замещающей стандартную прошивку NXT и включающую в себя виртуальную машину Java (Java Virtual Machine).
  • Библиотеку классов языка Java (classes.jar) в которой реализован leJOS NXJ API (набор классов и функций, с помощью которых можно управлять двигателями, лампочками, считывать показания датчиков) и которая предоставляет альтернативу Java Runtime (стандартным пакетам времени исполнения языка Java), оптимизированным для работы в NXT.
  • Линковщик для сборки пользовательских классов с classes.jar для формирования бинарных файлов, которые можно будет загрузить для исполнения на NXT.
  • инструменты для PC для прошивки виртуальной машины в "кирпич" и загрузки программ, отладки и многих других функций.
  • API для PC для написания программ для выполнения на PC, которые могли бы связываться с программами, работающими под управлением leJOS NXJ (в "кирпиче") с использованием Java-потоков через протокол Bluetooth или шину USB, или с использованием коммуникационного протокола LEGO (LCP).
  • Большое количество примеров

Т.к. leJOS замещает стандартную прошивку "кирпича", то новая прошивка leJOS NXJ должна быть прошита в кирпич (NXT), и она заменит собой стандартную прошивку LEGO MINDSTORMS. Процедура перепрошивки стирает все файлы, хранящиеся внутри "кирпича". Оригинальная прошивка LEGO может быть восстановлена с использованием стандартного программного обеспечения, идущего в комплекте с конструктором.

leJOS это программное обеспечение с открытыми исходными кодами, находящимися в репозитарии sourceforge. Оно происходит от проектаTinyVM, в котором была реализована виртуальная машина Java для конструктора LEGO Mindstorms RCX. RCX-версия leJOS очень популярна среди владельцев конструкторов LEGO Mindstorms , в настоящее время количество скачиваний leJOS приближается к 200000. Автор TinyVM и версии RCX leJOS - Жозе Солорзано (Jose Solorzano).

"кирпич" NXT дал команде разработчиков leJOS возможность сильно расширить возможности leJOS.

Назад наверх страницы

Преимущества leJOS NXJ

У среды leJOS NXJ есть много преимуществ перед NXT-G или другими средами для NXT:

  • Использует язык Java являющийся индустриальным стандартом.
  • Поддерживает объектно-ориентированное программирование.
  • Это проект с открытыми исходными кодами и много людей внесли в него свой вклад.
  • Она позволяет вам использовать профессиональные среды разработки (включая Eclipse или Netbeans).
  • У неё есть модули расширения (плагины) как для Eclipse так и для Netbeans.
  • Она кроссплатформенна, в настоящее время поддерживаются как минимум – Windows, Linux и Mac OS X.
  • Она значительно быстрее чем NXT-G.
  • Она полностью поддерживает протоколы Bluetooth, USB, I2C и RS485.
  • Она обеспечивает очень точное управление электромоторами.
  • Она поддерживает последние особенности языка Java 1.7.
  • Она поддерживает улучшенную навигацию.
  • Она поддерживает алгоритмы локализации включая Monte Carlo Localization (MCL).
  • Она поддерживает другие вероятностные алгоритмы, используемые в робототехники, как например, фильтры Калмана.
  • Она предоставляет поведенческие (Behavior) классы которые поддерживают subsumption-архитектуру architecture для более удобного программирования поведения роботов
  • Поддерживает большое количество дополнительных датчиков
  • Поддерживает удалённое ведение логов на PC через Bluetooth или USB, путём перенаправления потоков вывода System.out и System.err.
  • Поддерживает удалённые мониторирование и отладку программ для leJOS NXJ с PC.
  • Поддерживает арифметику с плавающей точкой, тригонометрические и другие математические функции.
  • Поддерживает JME LCD пользовательский интерфейс, включая многие графические функции.
  • Поддерживает многопоточность.
  • Поддерживает парадигму слушателей и событий (listeners и events).
  • Поддерживает безопасное управление памятью со сборкой мусора.
  • Поддерживает перенаправление стандартных потоков ввода-вывода языка Java через Bluetooth, USB и RS485.
  • Имеет встроенную файловую систему на flash-памяти с возможностью доступа через стандартные java.io классы.
  • Поддерживает ведение логов данных и удалённый захват логов.
  • Поддержка звука, включая возможность проигрывания 8-битных WAV файлов .
  • Предоставляет многочисленные примеры программ.
  • Поддерживает удалённое исполнение значительного подмножества функций API с PC.
  • На вэб-сайте есть форумы, чтоб помочь решить любые проблемы, которые могут у вас возникнуть, чтоб делиться идеями, чтоб общаться с другими командами разработчиков.
  • Поддержка телеметрии и телеуправления (telerobotic) через стандартные сокеты TCP/IP.
  • Поддерка связи "кирпич-кирпич" (NXT to NXT) через Bluetooth или RS485.
  • Поддержка связи через Bluetooth с другими устройствами, такими как GPS-приёмники.
  • Поддержка GPS устройств, включая поддержку javax.microedition.location API.
  • Поддержка Bluetooth-клавиатур, использующих профиль Bluetooth Serial Port Profile (SPP).
  • И многое другое (не стал переводить)
  • It supports two-way communication with RCX via third party adapters such as the Mindsensors NRLink.
  • It supports servo motors and Power Function (PF) motors.
  • It provides compatibility with Lego Communications Protocol (LCP), so that many tools that work with the standard LEGO firmware, also work with leJOS.
  • It has an easy to use menu system.
  • It is widely used by universities and other education establishments.
  • It has support for simple computer vision applications.

Назад к верху страницы


Hosted by uCoz