Программирование робота Lego Mindstorms nxt 0 под os alt Linux



Дата24.04.2016
өлшемі34 Kb.
#80597

Программирование робота Lego Mindstorms NXT 2.0 под OS Alt Linux.


А.С.Шалаева, Д.В.Широков

Научный руководитель: Д.А.Слинкин

ФГБОУ ВПО ШГПИ, г. Шадринск

Lego Mindstorms – третий продукт в линейке Mindstorms – специальной серии конструкторов Lego, предназначенной для создания программируемых роботов. Конструкторы Lego Mindstorms активно используется в учебных заведениях по всему миру, и не только в школах, но даже в ВУЗах. Как результат – стали популярны соревнования роботов, где каждое учебное учреждение может выставить свои команды.


Наборы Lego Mindstorms комплектуются набором стандартных деталей Lego (балки, оси, колеса, шестерни) и набором, состоящим из сенсоров, двигателей и программируемого блока. Также в комплекте стандартное ПО NXT-G и Robolab. Языки программирования для Lego Mindstorms бывают графические и текстовые.

В настоящее время программный продукт, входящий в комплект поставки набора, рассчитан на работу в MacOS и Windows, официальной поддержки других операционных систем нет. В тоже время постепенное распространение в образовательных учреждениях свободного программного обеспечения и, в частности, операционной системы Linux, обеспечивает потребность в средствах программирования Lego Mindstorms под Linux, не уступающие по возможностям пропретарным ОС.

Из всех средств программирования Lego Mindstorms под Linux были выбраны компилятор командной строки nbc (http://bricxcc.sourceforge.net/nbc/) и свободная среда разработки программного обеспечения geany (http://www.geany.org/).

Nbc состоит из одного исполняемого файла, запускаемого с параметрами. Расширяемость geany позволяет создать отдельный профиль для файлов-программ Lego Mindstorms. В geany имеется подсветка синтаксиса, возможность добавить дополнительные языки и уникальные для каждого языка параметры компиляции.

Добавление подсветки синтаксиса осуществляется созданием файла filetypes.*.conf (* - название языка) в каталоге /home/имя_пользователя/.config/geany/filedefs. Файл состоит из нижеперечисленных секции:


  1. [styling] – в этой секции определяются цвета подсветки синтаксиса.

  2. [keywords] – содержит ключевые слова для различных списков, специфичных для типа файла.

  3. [settings] – содержит различные настройки (расширение по умолчанию, символы комментариев и т.д.)

  4. [build_menu] – содержит команды сборки

Nbc имеет следующие основные параметры:

  • -S= - устройство передачи (usb в случае если через usb)

  • -d – загрузить программу

  • -r – загрузить и запустить

  • -O= - скомпилировать в файл

  • -help – вывод справки

В меню geany сборкаустановить_команды_сборки в секции “команды для языка” указывается путь к программе и необходимые параметры nbc.

Использование Geany и nbc имеет ряд преимуществ:



Единственная проблема которая может встретиться – это невозможность, в отсутствии административного доступа, загрузить исполняемый код в робота через устройство usb. Для решения проблемы используется программа udev – менеджер устройств, основной задачей которого является обслуживание файлов устройств в каталоге /dev и обработка всех действий, выполняемых в пространстве пользователя при добавлении/отключении внешних устройств. Установка прав доступа и прав собственности на устройства описываются в файлах XX-name.rules (XX-число, name-имя_файла) в каталоге /etc/udev/rules.d. Для установления своих правил доступа к usb следует создать новый файл с расширение “.rules”. Например:

SUBSYSTEM==”usb”, mode=”0666”, GROUP=”



- название группы в которую входит пользователь и которой нужно дать доступ.

Описанная в статье настройка работы geany совместно с nbc была успешно протестирована под операционной системой Altlinux 5.0 и может быть использована в любой другой Linux-системе.

Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет