Реклама

пятница, 25 декабря 2015 г.

DIY-Bot - Описание программной части. Часть 1

DIY-Bot. Claw-Bot
Сегодня я хочу рассказать про программный стек, который я буду использовать. Один из основных критериев, который я учитывал, проекты должны быть 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

В следующей части рассмотрим фреймворки для синтеза речи, принятия решений, ориентации в пространстве и построения карт местности.

А пока смотрим мой первый тестовый запуск манипулятора:) 

Комментариев нет:

Отправить комментарий