Введение
|
Введение
Это перевод, оригинал находится здесь
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.
Назад к верху страницы
|