УНИВЕРСИТЕТ ИТМО
Кафедра «Технологии программирования»



Главная

Новости
 Новости науки
 Важное
 Почетные доктора
 Инновации
 Культура
 Люди
 Разное
 Скартел-Yota
 Стрим
 Смольный
Учебный процесс
 Образование
 Дипломы
 Курсовые проекты
 Лабораторные работы
 Учебные курсы
 Визуализаторы
 Unimod-проекты
 Семинары
 Стипендии
Наука
 События и факты
 Госконтракты
 Статьи
 Диссертации
 Книги
 Презентации
 Свидетельства
 Сотрудничество
Исследования
 Автоматы
 Верификация
 Биоинформатика
 Искусственный интеллект
 Генетические алгоритмы
 Движение
 UniMod
 Роботы и агенты
 Нейронные сети
 ФЦП ИТМО-Аалто
 Разное

О нас
 Премии
 Сертификаты и дипломы
 Соревнования по программированию
 Прорыв
 Автографы
 Рецензии

Беллетристика
 Мотивация
 Мысли
Медиа
 Видео
 Фотографии
 Аудио
 Интервью

English
 Home

 Articles
 Posters
 Automata-Based Programming
 Initiatives
 Projects
 Presentations
 UniMod
 UniMod Projects
 Visualizers


Поиск по сайту

Яndex



   Главная / Курсовые проекты / Разработка программного обеспечения роботов "Lego Mindstorms" на основе автоматного подхода (Проект "Isenguard") (версия для печати)


Разработка программного обеспечения роботов "Lego Mindstorms" на основе автоматного подхода (Проект "Isenguard")



© 2005 Б.М. Ярцев, А.А. Шалыто

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Исходные тексты
Модели роботов для программы MLCAD

Аннотация

В 1998 году компанией Lego был создан конструктор Lego Mindstorms, являющийся одним из расширений базового комплекта Lego Technics. Этот конструктор отличается от предыдущих конструкторов этой фирмы наличием различных датчиков (сенсоров) и микроконтроллеров, программируемых пользователем. Каждый комплект этого конструктора содержит определенную комплектацию датчиков и один микроконтроллер.

Сначала этот набор предназначался для детей. Его программирование выполнялось в примитивной визуальной среде, которая позволяла задавать поведение роботов при помощи весьма специфических схем.

Позднее появились энтузиасты (сотрудники различных университетов и IT-фирм), которые создали язык программирования NQC (not quite C), очень похожий на C. При помощи этого языка стало возможным программировать роботов Lego традиционным способом. Первоначально программа на этом языке пишется на персональном компьютере, компилируется и загружается в память микроконтроллера через инфракрасный порт. При этом отметим, что память микроконтроллера составляет всего 32 Кб, что резко ограничивает круг решаемых задач, и в частности даже ту, которая рассматривается в настоящем проекте.

Специализированная операционная система (ОС), которая была разработана для установки на роботе для исполнения программы на языке NQC, занимала 26 Кб — для прикладной программы памяти практически не оставалось. После этого, на сайте www.sourceforge.net появился проект legos — это ОС позволяет писать программы для указанного робота на языке C. Она занимает 18 Кб. Сейчас этот проект переименован в BrickOS, и работа над ним продолжается.

В проекте в качестве операционной системы выбрана leJOS. Она написана на языке программирования Java и занимает 16 Кб. В ней присутствует урезанный стандартный Java API, а также классы и интерфейсы для интерпретации команд программы и получения информации от датчиков.

Теперь о проекте Isenguard. Это название навеяно одноименной башней из романа Дж. Толкиена, так как робот-поставщик сконструирован из двух частей, одна из которых башня, содержащая микроконтроллер. В проекте предложена технология программирования рассматриваемых роботов на основе автоматного подхода.

По материалам настоящей работы подготовлен доклад Automata-Based Programming of the Reactive Multi-Agent Control Systems, который принят на конференцию International Conference Integration of Knowledge Intensive Multi-Agent Systems (KIMAS ’05): Modeling, Evolution and Engineering. 8—21 April 2005, Waltham, Massachusetts.




© 2002—2024 По техническим вопросам сайта: alexvatyan@gmail.com