Сегодня я хочу рассказать про программный стек, который я буду использовать. Один из основных критериев, который я учитывал, проекты должны быть Open Source. Исходя из запланированного функционала нам потребуется библиотеки:
- компьютерного зрения;
- распознавания речи;
- синтеза речи;
- системы принятия решений;
- ориентации в пространстве.
Как будет видно далее, некоторые библиотеки зависят друг от друга.
Вся система робота будет базироваться на операционной системе Linux. Так что основная часть библиотек и инструментов разработаны именно для этой операционной системы.
ROS
Начнем с основы - ROS (Robot Operating System) - это набор библиотек и инструментов, разработанный ребятами из Willow Garage позволяет построить систему для робота из отдельных программных модулей. ROS обеспечивает аппаратную абстракцию, предлагает драйверы устройств, библиотеки, визуализаторы, обмен сообщениями, менеджеры пакетов и многое другое. ROS выпускается в соответствии с открытым исходным кодом. Именно ROS будет связывать между собой все последующие модули. Ознакомиться с деталями можно на сайте проекта: http://www.ros.org/
OpenCV
Этот проект призван облегчить реализацию компьютерного зрения. OpenCV (Open source Computer Vision) - библиотеки, в которых уже содержатся алгоритмы для компьютерного зрения. Их спектр весьма широк - от наложения фильтров на изображения, до распознавания лиц в потоке видео. Имеет API для C/C++, Python, Java и других языков. Основная страница проекта: http://opencv.org/
CMU Sphinx/Pocket Sphinx
Система для распознавания речи, разработанная в Carnegie Mellon University. Библиотека содержит акустические модели и примеры. Правда для поддержки русского языка придется поколдовать. Фреймворк позволяет создавать свои языковые модели. Pocket Sphinx - это адаптированная версия для embedded систем. Также есть Python-модули для поддержки API. Сайт проекта: http://cmusphinx.sourceforge.net/
Julius
Еще один фреймворк для распознавания речи. Основан на HMM и может распознавать непрерывную речь. Также обладает Python-оберткой для API. Сайт проекта: http://julius.sourceforge.jp/en_index.php
В следующей части рассмотрим фреймворки для синтеза речи, принятия решений, ориентации в пространстве и построения карт местности.
А пока смотрим мой первый тестовый запуск манипулятора:)
Комментариев нет:
Отправить комментарий