Компания CSEM разработала систему управления роботом, полностью основанную на технологии Java.
Ключевыми факторами микросборки являются cкорость и точность, для обеспечения которых миниатюрные роботы подходят значительно лучше, чем крупные механизмы. Специалисты научно-исследовательского центра Centre Suisse d’Electronique et de Microtechnique (CSEM), расположенного в коммуне Альпнах (Швейцария), разработали промышленного робота PocketDelta, который оптимизирован для применения в сфере микротехнологий. Габариты этого робота составляют всего лишь 120x120x200 мм, и он может выполнять до 3 циклов движений в секунду с точностью позиционирования в несколько микрон.
Элементы управления миниробота полностью интегрированы. Ядро системы управления состоит из платы PC104 и процессора AMD Geode. Платы периферийных устройств предоставляют возможности цифрового ввода-вывода, а CAN-шина обеспечивает связь системы управления с сервоусилителями приводов робота.
Система управления роботом написана полностью на языке Java и выполняется на виртуальной машине JamaicaVM под управлением операционной системы реального времени QNX. Требования системы управления иерархически спроецированы на классы языка Java. Важной частью программного обеспечения системы управления являются драйверы плат периферийных устройств стандарта PC104. Данные драйверы частично активны, то есть выполняют внутренние задачи. Например, драйвер платы CANbus обрабатывает CAN-сигналы с периодом 2 кГц в реальном времени. Класс RobotController регулирует приводы, движения которых координируются классом TaskPlanner, а тот, в свою очередь, использует класс, содержащий геометрические параметры робота. Управление функциональным состоянием робота осуществляется с помощью конечного автомата.
Веб-сервер, который находится на контроллере, даёт возможность управлять роботом и конфигурировать его посредством веб-браузера. Например, можно планировать маршрут робота, генерируя команды на перемещение робота с помощью виртуальных cgi-сценариев.
Контроллер одновременно выполняет около 20 задач, из которых около 12 являются высокоприоритетными объектами класса RealtimeThread.
Дополнительную информацию можно получить по адресу http://www.csem.ch.
|