elmot писал(а):
По поводу плат - можно подобрать прикольные платы от st.com, не дороже дуин, но намного мощнее. Туда заправить язык попроще - типа бейсика или lua, который гораздо проще объяснить детям.
В одном из детских кружков "роботосоздания" программируются на Форт. (Forth)
Вложение:
40510_html_12482d8a.jpg [ 24 КиБ | Просмотров: 3169 ]
Вложение:
excib2012_rodnik_3_1.jpg [ 56.16 КиБ | Просмотров: 3140 ]
Из истории работы детского кружка.
Добрынин Д.А. История создания минироботов в ЦДТ "Родник"Добрынин Д.А. Принципы построения малых мобильных роботов - мобильной платформы "Crazy Mouse" и робота-собаки "Робик"Код:
Принципы построения малых мобильных роботов – мобильной платформы «Crazy Mouse»
и робота-собаки «Робик».
Добрынин Д.А.
к.т.н., научный сотрудник ВИНИТИ РАН, Москва, Россия, dobr@viniti.ru
В докладе описываются принципы построения малых мобильных роботов, требования к их структуре, обосновывается
необходимость модульного построения аппаратных и программных частей роботов для обеспечения гибкости архитектуры, уменьшения стоимости и сроков разработок новых систем за счет унификации компонентов.
Малые мобильные роботы занимают определенную нишу среди мобильных автономных робототехнических устройств.
Подобно своим «большим» собратьям они имеют тот же набор технических устройств на борту:
- управляющий модуль, который является «мозгом» робота.
Он обрабатывает сигналы от различных датчиков, принимает решения, реализующие некоторое поведение,
и выдает сигналы на исполнительные устройства. В качестве главной управляющей программы используется операционная
система, под управлением которой работает программа управления роботом;
- датчики, которые преобразуют информацию о препятствиях вокруг робота, положении робота в пространстве и внешних
раздражителях в форму, удобную для обработки управляющим модулем;
- исполнительные механизмы – двигатели, индикаторы и другие «эффекторы»;
- механическая часть – колеса или другие движители, двигатели, редукторы и т.п.;
- системы связи с внешней компьютерной системой – для программирования, оперативного управления, обучения и
реализации других функций.
По сравнению с большими системами на все бортовые устройства малых роботов накладываются серьезные ограничения
по массе, габаритам и потребляемой мощности. Поэтому технические решения, которые позволяют построить малого робота,
отличаются от тех, что используются для создания их «больших» собратьев. Большие роботы часто представляют собой
уникальные системы, построенные для определенных целей. Модификация их представляет собой достаточно сложную и
дорогую техническую задачу. Для уменьшения стоимости компоненты малых роботов должны представлять собой некий
«конструктор», части которого легко собираются в системы разной степени сложности, имеют единый интерфейс и
допускаютпростую замену компонент без переделки всей системы.
На базе кружка технического детского творчества «Родник» были разработаны два мобильных робота – мобильная платформа
«Crazy Mouse» и робот-собака «Робик». Несмотря на большие внешние различия эти два робота построены по одним
принципам, что позволяет говорить об их близком «родстве».
Робот «Crazy Mouse» состоит из несущей платформы, на которой установлено два двигателя с редукторами.
Каждый двигатель управляет отдельным колесом. Для свободного движения с поворотами платформа имеет третье колесо,
которое свободно двигается. Максимальная скорость движения составляет порядка 30 см в секунду.
Конструкция представляет собой две платы соединенные между собой стойкам. На нижней плате крепятся двигатели
с редукторами, свободное колесо, датчики определения полосы и датчики столкновения. На верхней плате расположен
главный контроллер, со встроенной операционной системой Robos 1.1, коммутационная плата, контроллер двигателей,
блок питания, аккумулятор и датчик определения препятствий.
Робот «Crazy Mouse» создавался в целях отработки электронной «начинки» малых мобильных роботов.
Он позволяет обнаруживать препятствия на расстоянии от 5 до 50 см, обнаруживает контрастную полосу.
Возможна установка дополнительных датчиков, например, оптических для обнаружения источников света.
На этом роботе можно изучать алгоритмы управления движением, движение с объездом препятствий, движение по полосе
и др.
Робот-собака «Робик» состоит из коробки, на которой крепится привод передних колёс и редукторы приводов задних колес.
Сверху к коробке прикреплён привод головы, внутри коробки располагаются аккумулятор, управляющий контроллер, контроллер двигателей, контроллер привода передних колес и головы, усилитель звуковой частоты и хвост.
Голова робота-собаки может вращаться на 360 градусов. В ней установлены глаза и детектор дальнего действия. «Робик» умеет произносить фразы, записанные во Flash памяти управляющего контроллера.
На поворотном кронштейне передних колес устанавливаются датчик определения препятствий ближнего действия
и детектор полосы.
«Робик» имеет более сложную механику, чем мобильная платформа, и большее количество исполнительных механизмов.
Управляющий контроллер и датчики идентичны тем, что установлены на роботе «Crazy Mouse».
Таким образом, различны только контроллеры приводов и механическая часть этих двух роботов.
Бортовые системы управления больших роботов обычно строятся на стандартных компьютерных компонентах – обычных
компьютеров, ноутбуков или промышленных контроллеров.
Для малых роботов такой подход не применим в силу ограниченных габаритов и снижения стоимости, поэтому для них
необходимо разрабатывать малогабаритные контроллеры на основе широко распространенных микроконтроллеров.
При этом остро встает проблема с операционной системой, поскольку для стандартных компьютеров существует множество
готовых операционных систем, начиная от DOS, и заканчивая Windows и Linux, а для микроконтроллеров только микроядра
операционных систем, обладающие ограниченными возможностями.
Управляющий контроллер, на котором построены описываемые роботы, реализован на микроконтроллере ATMega128 фирмы
Atmel и имеет встроенную операционную систему, представляющую собой законченную ФОРТ-систему.
Контроллер имеет 128К памяти программ и дополнительно 128К ОЗУ, разбитого на две части.
Для сохранения образов операционной системы и хранения звуков дополнительно используется DataFlash объемом 1 Мбайт.
Для программирования и оперативного управления роботом может подключаться к компьютеру по USB интерфейсу.
Управление идет в режиме терминала, то есть пользователь при помощи простой терминальной программы вводит команды,
а ФОРТ-система их выполняет.
Загрузка программы внутрь контролера происходит в виде текста - контролер сам компилирует программу, а потом её при
необходимости исполняет.
Использование языка ФОРТ в качестве операционной системы для мобильного робота дает следующие преимущества:
- компактность кода (общий размер ядра ФОРТа составляет порядка 16 КБайт), ОЗУ 64 Кбайт хватает для достаточно
серьезных приложений;
- высокое быстродействие (всего лишь в 2-раза медленнее, чем программа, написанная полностью на ассемблере,
в десятки раз быстрее Бейсика);
- язык высокого уровня – программа на ФОРТе понятна и легко изменяется;
- интерактивный язык – для управления устройствами робота (двигателями, датчиками) в реальном времени можно
использовать простой текстовый терминал;
- компиляция в системе – не требуются сложные компиляторы. Программа на ФОРТе в виде текста загружается в контроллер,
компилируется им самим и сохраняется в ОЗУ. Содержимое ОЗУ можно записать во Flash память для последующей быстрой
загрузки;
- высокая скорость отладки – терминальный режим позволяет исполнить части кода непосредственно, при этом мгновенно
проявляется эффект – идет управление оборудованием в реальном времени и ошибки находятся на ранней стадии написания
программы.
При сопряжении управляющего контроллера с исполнительными механизмами и их контроллерами встает проблема создания
«хорошего» системного интерфейса. В отличие от больших систем, где существуют скоростные параллельные интерфейсы,
использование интерфейсов параллельного типа в малых роботах приводит к большому количеству межмодульных соединений,
что сильно усложняет конструкцию.
Обойтись простым интерфейсом с подачей сигналов прямо на выводы микроконтроллера тоже нельзя, поскольку при большом
количестве датчиков и исполнительных устройств просто не хватит выводов микроконтроллера.
Целесообразным является использование простого последовательного интерфейса, желательно синхронного типа,
чтобы снизить точность поддержания частоты при передаче сигналов и повысить скорость обмена.
При построении программного интерфейса необходимо обеспечить «сокрытие» структуры исполнительного контроллера
от управляющего, чтобы сделать однородное управление всей системой.
Все датчики и контроллеры описываемых роботов подключаются к управляющему контроллеру по системному последовательному интерфейсу.
Интерфейс построен на основе аппаратного SPI интерфейса, и позволяет обмениваться информацией с 32 ведомыми устройствами.
Для управляющего контроллера ведомое устройство представляется набором виртуальных регистров, которые можно читать
и записывать.
Таким образом, для управляющего контроллера все внешние устройства представляют собой набор регистров с одинаковыми
правилами чтения и записи. Скорости обмена по системному интерфейсу хватает для обработки датчиков в реальном
времени.
Датчики, используемые в роботах, построены на собственных микроконтроллерах и являются в некотором смысле «умными».
Например, датчик определения препятствия позволяет определить не только наличие препятствия перед роботом, но и зону
(слева, прямо или справа) его нахождения, а также определить дальность с точностью до сантиметра.
Датчик полосы измеряет уровни яркости на 4-х фотодатчиках и позволяет калибровать порог «светло»-«темно»
чисто программными средствами. Таким образом, датчики производят предварительную обработку информации, значительно
разгружая управляющий контроллер.
Построенные мобильные роботы являются модульными системами, что позволяет, во-первых, упростить всю систему в целом,
во-вторых, обеспечить гибкость архитектуры, и в-третьих, уменьшить стоимость и сроки разработок новых систем за счет
унификации компонентов.
Отметился данный кружок и на
Выставке робототехнических устройств Политехнический музей (5 января 2013 г., 9 подъезд, 10:00-17:00)Код:
Объединение робототехники и технического конструирования "Робикон" Центра детского творчества "Родник" г. Орехово-Зуево:
Робот-собака "Робик"
Разработчики:Постнов Владимир, Зорин Иван
Разработка дизайна: Аншаков А.О., Добрынин Д.А., Лазарев М.В. Год создания: 2002 г., последняя модификация: 2010 г.
Руководители: Добрынин Д.А., Лазарев М.В.
Робот Имеет датчики наличия объектов с дальномером (до 1 м). Имеется возможность воспроизведения звуков, речи и
музыки. Словарный запас - более 100 слов. Может управляться и программироваться по каналу BlueTooth от компьютера.
Для управления используется микроконтроллер AVR, программное обеспечение написано на языке Форт.
Сейчас Добрынин Д.А - руководитель лаборатории радиотехники и искуственного интелекта.
Schools Robotics Initiative фирмы StroboticsКод:
Добро пожаловать в программу школы робототехники поддержке ST Robotics Кембриджа.
Миссия этой программы выглядит следующим образом:
Для приведения робототехники "вниз", чтобы более широкий круг студентов, чем это возможно с текущими инициативами,
такими Первой лиге.
Для приведения робототехники "вверх", чтобы более широкий спектр применений, помимо автомобилей RC и манипуляторы
Чтобы поощрять использование Forth и других строительных блоков языках C и за другие синтаксические программирования.
Как это работает
ST обеспечивает набор, содержащий некоторое аппаратное свободно вокруг Конструктора и других металлических
компонентов, на основе ARM контроллер ввода / вывода и управления двигателем и управления на основе языка Форт
(RoboForth).Комплект предлагается бесплатно в ограниченном числе школ первоначально на основе бета-тест.
Школьная команда строит роботов "что-то", а когда закончил с комплектом возвращается ST.
Обратная связь с этих тестов буду вдаваться в дизайне конкурса или лиге.
Хотя ваши студенты могут построить все, что роботы с этим комплектом, например движущееся лицо или танцовщицей
или транспортного средства, вот видео руки робота спроектирована, построена и запрограммирована Наффилд стипендии
студента.
Для Лего MindStortm тоже был Форт
Из Веб архива
PbForthНа Ftp
сохранено.P.S. Для AVR можно начать с amForth (по нему,
с этого места топика были материалы на местном форуме).
Дополнительные материалы, задать и обсудить интересующие вопросы по Форту можно на
форуме рускоязычных Форт пользователей P.P.S. На Форте сделано и делается много интересных вещей (есть и российский Форт контроллер К1894), в частности и один из проектов AI Mind
MindForthКод:
Mind.Forth - программное обеспечение искусственного разума роботов написанное на языке программирования Forth
- стало подлинным искусственным интеллектом в результате внезапного прорыва AI 7 июня 2006 года.
Тем не менее, Mind.Forth не стал АI-Полным до 22 января 2008 года. Прорыв - хорошо виден в режиме обучения - сделало Mind.Forth в состоянии логически мыслить, а не производить ложных ассоциаций (тарабарщин).
Это на самом деле? Это подлинный искусственный интеллект?
Вам судить. Вам быть пионером внедрения. На некоторых старых неуклюжих MS-DOS машины, получить Mind.Forth
и работает (возможно навсегда) для всех, чтобы увидеть и оценить.
Успешность который утверждает, что ультра-умный, но никогда ничего не делает ультра-продуктивной.
Тогда поднимите шляпу, и добро пожаловать в Технологическую сингулярность.
В приложении к русскому языку профессор Тузов В.А. Занимался подобными технологиями (SemLP) с отличными результатами для трансляции одного языка в другой.
монография
Тузов В.А. Компьютерная семантика русского языка а свой проблемно-ориентированный язык он создавал используя Win32Forth Форт систему
- Со своей стороны могу помочь посильными программными разработками инструментальной составляющей Форт направления и подбором "методических" материалов. На SP-Forth, например, сделан
nncron продвинутый планировщик заданий на компьютере, а также
eserv - универсальный мульти сервер (исходники обеих программ открыты)
ТС - Грушин Пётр ПетровичТехноград Ворошилова д.38МБОУ ДОД "Техноград", Воронеж ул. Плехановская,10Мыслите на опережение перспектив. Вы, похоже, больше менеджер т.к. покупаете готовый код или законченные решения.