Программирование робота 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. Файл состоит из нижеперечисленных секции:
-
[styling] – в этой секции определяются цвета подсветки синтаксиса.
-
[keywords] – содержит ключевые слова для различных списков, специфичных для типа файла.
-
[settings] – содержит различные настройки (расширение по умолчанию, символы комментариев и т.д.)
-
[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-системе.
Достарыңызбен бөлісу: |