далеко
Первоначальный выпуск | 6 августа 2000 г |
---|---|
Стабильная версия | v3.0
/ 17 сентября 2006 г |
Написано в | Ява , С |
Платформа | Кросс-платформенный |
Лицензия | с открытым исходным кодом ( MPL ) |
Веб-сайт | далеко |
Первоначальный выпуск | 6 января 2007 г |
---|---|
Стабильная версия | v0.9.1
/ 6 февраля 2012 г |
Написано в | Ява , С |
Платформа | Кросс-платформенный |
Лицензия | с открытым исходным кодом ( MPL ) |
Веб-сайт | далеко |
Первоначальный выпуск | 14 января 2014 г |
---|---|
Стабильная версия | v0.9.1
/ 16 ноября 2015 г |
Написано в | Ява |
Платформа | Кросс-платформенный |
Лицензия | с открытым исходным кодом ( GPL v3 ) |
Веб-сайт | далеко |
leJOS — это прошивки замена программируемых кубиков Lego Mindstorms . Различные варианты программного обеспечения поддерживают оригинальную систему Robotics Invention System , NXT и EV3 . Он включает в себя виртуальную машину Java , которая позволяет программировать роботов Lego Mindstorms на языке программирования Java . Он также включает в себя «iCommand.jar», который позволяет вам общаться через Bluetooth с оригинальной прошивкой Mindstorm. Его часто используют для преподавания Java студентам первого курса информатики . [ 1 ] на базе leJOS Робот Джиттер облетел Международную космическую станцию в декабре 2001 года. [ 2 ]
Произношение
[ редактировать ]По данным официального сайта:
- В английском языке это слово похоже на Lego, за исключением того, что здесь есть буква J, обозначающая Java, поэтому правильное произношение будет Ley-J-oss. Если вы смелы и хотите произнести это имя по -испански , есть слово «lejos», что означает «далеко», и оно произносится как Lay-hoss.
Название leJOS было предложено Хосе Солорсано на основе аббревиатура операционной системы Java (JOS), название другой операционной системы для RCX, legOS и испанское слово «lejos».
История
[ редактировать ]Первоначально leJOS был задуман как TinyVM и разработан Хосе Солорсано в конце 1999 года. Он начинался как хобби- проект с открытым исходным кодом , который он позже превратил в то, что сегодня известно как leJOS. Многие участники присоединились к проекту и внесли важные улучшения. Среди них Брайан Бэгналл, Юрген Стубер и Пол Эндрюс, которые позже взяли на себя управление проектом, поскольку Хосе фактически ушел из него.
По состоянию на 20 августа 2006 г. выпуск оригинальной leJOS для RCX был прекращен с выпуском версии 3.0. Вскоре после этого была выпущена iCommand, библиотека для управления NXT с компьютера с поддержкой Bluetooth через LCP. В этой библиотеке использовалась стандартная прошивка Lego. Позже эта библиотека была заменена leJOS NXJ 0.8. В январе 2007 года был выпущен полный порт на новый Lego Mindstorms NXT в качестве замены прошивки. Это намного быстрее (x15 или около того), чем версия RCX. [ нужна ссылка ] , имеет больше доступной памяти, систему меню, поддержку Bluetooth с использованием библиотеки Bluecove и обеспечивает доступ ко многим другим функциям NXT. [ 3 ]
В 2008 году были выпущены версии 0.5, 0.6 и 0.7. Помимо многочисленных улучшений основных классов, был выпущен плагин Eclipse вместе с новой версией руководства. В 2009 году вышло еще 2 крупных релиза: 0.8 и 0.85. В мае 2011 года была выпущена версия 0.9. В общих чертах, выпуски сосредоточены на улучшениях алгоритмов навигации, а также на поддержке многочисленных датчиков сторонних производителей и подключаемого модуля Eclipse.
В 2013 году началась разработка порта для кубика Lego Mindstorms EV3 . В 2014 году были выпущены альфа-версии 0,5 и 0,6. В 2015 году были выпущены бета-версии 0.9 и 0.9.1.
С ноября 2014 года leJOS в слегка адаптированной версии используется также в проекте с открытым исходным кодом Open Roberta. [ 4 ]
Архитектура
[ редактировать ]робота leJOS NXJ обеспечивает поддержку доступа к портам I²C . Это обеспечивает доступ к стандартным датчикам и двигателям (ультразвуковой датчик расстояния, датчик касания, датчик звука и датчик освещенности). Другие компании, такие как MindSensors [ 5 ] и ХайТехник [ 6 ] расширили этот базовый набор, предоставив усовершенствованные датчики, исполнительные механизмы и мультиплексоры. Java leJOS NXJ включает API для этих продуктов.
Воспользовавшись преимуществами объектно-ориентированной структуры Java, разработчики LeJOS NXJ смогли скрыть детали реализации датчиков и исполнительных механизмов за множеством интерфейсов. Это позволяет разработчику робототехники работать с абстракциями высокого уровня, не беспокоясь о таких деталях, как шестнадцатеричные адреса аппаратных компонентов. Проект включает в себя реализацию широко используемого контроллера с обратной связью, ПИД-регулятора и фильтра Калмана алгоритма шумоподавления . leJOS NXJ также предоставляет библиотеки, поддерживающие более абстрактные функции, такие как навигация, картографирование и робототехника, основанная на поведении .
Вот простая программа leJOS:
import lejos.nxt.Motor;
import lejos.nxt.Button;
public class Example {
public static void main(String[] args) {
Motor.A.forward();
Button.waitForPress();
Motor.A.backward();
Button.waitForPress();
System.exit(1);
}
}
Сообщество
[ редактировать ]С момента выхода первой альфа-версии leJOS NXJ в 2007 году у проекта неизменно появилось активное сообщество.
- С января 2007 г. по октябрь 2011 г. было скачано более 225 000 раз. [ 7 ]
- В 2011 году количество загрузок в среднем составляло от 4000 до 6000 в месяц. [ 7 ]
- В 2011 году на форумах обсуждалось более 500 тем. Каждая тема часто генерировала несколько сотен постов. [ 8 ]
- С мая 2012 г. по март 2013 г. было скачано более 36 000 выпусков версии 0.91. [ 9 ]
Основная группа разработчиков представляла собой относительно небольшую группу. Взносы принимаются от других участников сообщества. Некоторые интерфейсы для датчиков и исполнительных механизмов сторонних производителей были предоставлены участниками, не входящими в основную команду. Платформа использовалась на университетских курсах по робототехнике, в студенческих исследовательских проектах и в качестве платформы для исследований в области робототехники.
NXJ и платформа Java
[ редактировать ]Поскольку leJOS NXJ — это проект Java, он опирается на богатый функционал, присущий платформе Java. Существуют плагины leJOS NXJ для двух ведущих Java IDE : Eclipse и NetBeans . Разработчики робототехники могут воспользоваться стандартными функциями IDE (среды завершения кода, рефакторинга и тестирования), а также реализовать функции NXJ по принципу «укажи и щелкни»: компиляцию, связывание и загрузку. Разработчикам робототехники NXJ также доступно множество Java-проектов с открытым исходным кодом (таких как Apache Math).
См. также
[ редактировать ]- Список виртуальных машин Java
- Лего Майндштормс
- Система изобретений робототехники
- ГОРОД
- Комплекс робототехники
Ссылки
[ редактировать ]- ^ Элуафик, Али (2012). «Набор инструментов Lego Mindstorms Robotics Invention Systems 2.0: пример исследования». arXiv : 1204.1650 [ cs.RO ].
- ^ «Джиттер на сайте НАСА» . Архивировано из оригинала 25 ноября 2010 года . Проверено 5 декабря 2011 г.
- ^ «LeJOS, Java для Lego Mindstorms» . Проверено 4 ноября 2011 г.
- ^ Йост, Беате; Кеттерл, Маркус; Бадд, Рейнхард; Леймбах, Торстен (2014). «Среды графического программирования для образовательных роботов: Open Roberta - еще один?». Международный симпозиум IEEE по мультимедиа 2014 . стр. 381–386. дои : 10.1109/ISM.2014.24 . ISBN 978-1-4799-4311-1 . S2CID 8272806 .
- ^ «Ментализаторы» . Проверено 22 августа 2012 г.
- ^ «Продукты ХайТехник» . Датапорт Системс, Инк . Проверено 22 августа 2012 г.
- ^ Jump up to: а б «Статистика из Sourceforge» . Проверено 2 декабря 2011 г.
- ^ «Статистика с форумов NXJ» . Проверено 5 декабря 2011 г.
- ^ «Статистика с форумов NXJ» . Проверено 10 марта 2013 г.
Дальнейшее чтение
[ редактировать ]- Брайан Бэгналл (2011). Раскрытие интеллекта: создание роботов LEGO NXT с помощью Java . Вариант Пресс ISBN 0-9868322-0-0
- Брайан Бэгналл (2002). Базовое программирование LEGO Mindstorms . Прентис Холл PTR. ISBN 0-13-009364-5
- Джулио Феррари и др. (2002). Программирование LEGO Mindstorms на Java . Сингресс. ISBN 1-928994-55-5
- Макс Шебель и др. (2015). Роберта — Программирование EV3 на Java . Издательство Фраунгофера. ISBN 978-3-8396-0840-1