Author Archive

Web интерфейс для управления Webot

webot

Нами был разработан веб интерфейс для управления нашим роботом удалённого присутствия Webot. Интерфейс работает без установки каких-либо плагинов из Google Chrome и с установкой Chrome Frame из Internet Explorer. Интерфейс размещён на нашем сайте: www.wicron.com, но он может быть размещён и на любом другом сайте - мы подготовили простой API.

Кроме веб интерфейса для управления мы разработали веб интерфейс для организации живой очереди на управление публично доступным роботом. Он также есть на нашем сайте и может быть размещён на сторонних сайтах посредством простого API.
Читать полностью »

Comment

Алгоритм сопровождения TLD (aka Predator)

В данной статье исследован алгоритм надёжного длительного сопровождения заранее неизвестных объектов в естественной среде. Алгоритм выдерживаем разрывы между кадрами, быстрое движение камеры, полное исчезновение, а затем появление объекта. Подход, который использован в данном алгоритме называется Сопровождение-Моделирование-Обнаружение (Tracking-Modeling-Detection (TMD)), он сочетает адаптивное сопровождение объекта с обучением детектора объекта в процессе распознавания. После того как объект был захвачен при помощи какого-либо алгоритма захвата, траектория объекта начинает наблюдаться двумя процессами (расширяющее и урезающее события). Они строят детектор объекта на лету. Оба процесса делают ошибки, стабильность системы достигается отменой событий. Обучение на лету и классификация производятся при помощи рандомизированного леса.

Читать полностью »

Comment

Лекции университета Carnegie Mellon по компьютерному зрению

Недавно мы встречались с разработчиком программного обеспечения для робота Neato XV-11. Он закончил университет Carnegie Mellon. Это один из ведущих мировых университетов по робототехнике. В одном из своих проектов мы планируем использовать систему технического зрения. Естественно, мы решили посоветоваться с ним. Он нам предоставил лекции по техническому зрению из его университета и шесть домашних заданий. Лекции и домашнии задания на английском. Я их выложил в этой статье.
Читать полностью »

2 Comments

Протокол CanOpen

Недавно перед нами встала необходимость объединить несколько устройств в CAN сеть. Одно из устройств было реализовано на базе чипа от Beck и программировалось из CodeSys, другое на базе ARM контроллера, а главным устройством в сети должен был быть персональный компьютер с UNIX подобной ОС на борту. После изучения существующих промышленных протоколов я остановился на CanOpen. Этот протокол оказался очень гибким, он позволяет настроить различные режимы работы сети. Но главное CanOpen поддерживается в CodeSys и существует реализация на C под персональные компьютеры и контроллеры. В этой статье я расскажу, что такое CanOpen и как его запустить на персональном компьютере, используя библиотеку от http://www.canfestival.org.
Читать полностью »

Comment

RRT-Connect - неоптимальное планирование траектории робота

В предыдущей статье по планированию траектории мобильного робота я рассмотрел Open Motion Planning Library. Теперь давайте рассмотрим как работает один из алгоритмов планирования траектории: RRT-Connect. При чтении этой статьи от читателя потребуется небольшое знание математики. Сначала я рассмотрю общую архитектуру систем планирования траектории, а потом перейду к рассмотрению конкретного алгоритма.

Читать полностью »

Comment

Система технического зрения на видеокарте

В последней версии OpenCV появилась возможность проводить большую часть вычислений на видеокарте, а не на центральном процессоре. Правда для этого нужна видеокарта от nvidia с поддержкой технологии CUDA. Разработчики OpenCV реализовали многие функции библиотеки на языке CUDA и сделали к ним интерфейсы на C++. Таким образом, чтобы использовать видеокарту, не нужно знать CUDA. Нужно лишь знать базовые принципы использования модуля OpenCV GPU. Их мы в данной стать и рассмотрим. Также приведу сравнение производительности вычислений на центральном процессоре и видеокарте.
 
 
 
Читать полностью »

Comment

Кросс компиляция под микроконтроллеры AVR при помощи CMake

CMake очень мощная система сборки. Она давно известна разработчикам настольных приложений. Её используют такие проекты как OpenCV, KDE. В этой статье рассмотрим, как при помощи CMake собирать проекты под микроконтроллеры AVR. Я пробовал собирать проекты для AVR из под AVRStudio и Eclipse. AVRStudio мне не понравилась как среда разработки. А у Eclipse мне не понравился файл проекта. Я в нём так и не смог сделать некоторые вещи, которые в CMake делаются одной строчкой.
Читать полностью »

Comment

Дискретный ПИД регулятор

При разработке автоматических систем, таких как система следования по заданной траектории мобильного робота или система поддержания постоянной температуры, возникает необходимость поддержания какого-либо параметра в соответствии с заданным значением. Само заданное значение может достаточно быстро меняться во времени. Теория автоматического управления для этой цели предлагает использовать регуляторы. Наиболее распространён ПИД (пропорциональный интегральный дифференциальный) регулятор. В данной статье рассмотрим на простом примере, что он собой представляет и как его реализовать на C++.

Читать полностью »

Comment

Радиомодули rfm12b

При разработке навигационной системы мобильного робота нам были необходимы беспроводные радио модули. Сначала мы попробовали радио модули tr24. Но оказалось, что они передают на слишком малое расстояние. Следующими радио модулями, которые мы попробовали стали rfm12. Для работы с ними существует бесплатная библиотека для AVR. В этой статье я опишу как использовать эти радио модули и опишу наш опыт их использования.
Читать полностью »

Comment