Posts tagged ‘Software’

Управление роботом с Wii Remote

wii remote
Авторы : Delphi and lord.tiran
Wii Remote - стильный и удобный игровой контроллер от Nintendo. Если вашим устройством требуется управлять на расстоянии, то возможно Wii Remote как раз то что вам нужно.

Что может этот контроллер:

  • Подключение к компьютеру по bluetooth
  • Много кнопок: "A", "B", "home", "-", "+", "1", "2", "Up", "Down", "Left", "Right"
  • Акселерометр
  • Четыре светодиода
  • Встроенный контроллер заряда батареи
  • Микрофон

Питается маленькое чудо от двух пальчиковых батареек или аккумуляторов. С устройством поставляется хороший прорезиненный чехол.

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

Comment

libmodbus for android

В одном из последних проектов наша команда решила попробовать бортовой компьютер с OS Android и ARM процессором в качестве замены дорогому x86 планшету с Linux. Дороговизна x86 Linux планшетов обусловлена высокой стоимостью железной части устройства и стоимостью предустановленной Windows.

В связи с использованием новой платформы, требуется пересобрать софт под ARM Android и научиться конфигурировать систему. В этой и последующих статьях мы расскажем, как нам это удалось.

Перейдем к практической части статьи. Перенос кода начинается со сборки используемых библиотек. Я начал с libmodbus – библиотеки для работы с modbus rtu/tcp. Для сборки библиотеки необходимо иметь Android SDK/NDK (Автор использовал crystax ndk r7), консоль со стандартными unix утилитами, git и установленный CMake. (Для Windows консоль + git можно легко получить, установив http://code.google.com/p/msysgit/)

Последовательность действий с комментариями (список команд в консоли):

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

Comment

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

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

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

Comment

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

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

2 Comments

AVR megaEclipse. Делаем среду all-in-one.

Мне всегда было интересно и даже немного завидно, почему системные программисты и те, кто разрабатывает настольные приложения обладают удобными средами, встроенным отладчиком, могут анализировать написанный код на предмет утечек памяти, производительности кода и так далее и почему этого всего почти нет для 8 и 16-битных микроконтроллеров? А ведь эти рабочие лошадки для большинства проектов выгодны по цене и целесообразны по производительности и функционалу. Проект среды разработки Eclipse призван стереть границы применимости среды и позиционирует некий универсал, не хватающие возможности которого можно дополнить плагинами и запуском внешних приложений. О том, как сделать эту среду отладчиком, средством прошивки микроконтроллеров, симулятором контроллера и средством контроля версий мы и расскажем в этой статье. Все это будет сделано по отношению к МК AVR, как самому любимому и популярному МК в рунете в связке с компилятором GCC. Читать полностью »

7 Comments

Протокол CanOpen

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

Comment

TheremenVision. Первые шаги - первый результат.

Автор: Чебаков Денис Игоревич, лицей № 1571, 11 класс, РК-10 абитуриент.
В прошлой статье
Мы рассказали об очень интересном датчике, принцип работы которого унаследован у всемирно известного прибора - терменвокса. Было решено предоставить возможность любому желающему прототипировать эту штуку и проверить принцип действия. Спустя некоторое время, при небольшом моем участии как консультанта будущий бауманец, а ныне абитуриент, Денис Чебаков, выполнил прототип устройства. Теперь мы можем наглядно посмотреть рабочий вариант конструкции прибора. Существует несколько систем оценки дистанции: различные дальномеры, ультразвуковые датчики, системы машинного зрения. Их недостатками являются высокие требования к вычислительной мощности управляющего устройства (СТЗ), трудность монтирования на роботе заданной конструкции, сложность эксплуатации, необходимость использования на объекте отражателей, дороговизна и т.п. В случае, когда требуется простое, легкое и дешевое устройство, можно использовать систему определения дистанции, основанную на методе пассивной радиочастотной идентификации. Система содержит один опорный генератор электрических колебаний и несколько сенсоров. Сенсор состоит из антенны и генератора. Можно использовать штыревую антенну или лист фольгированного текстолита в качестве антенны. У опорного генератора частота жестко зафиксирована. У сенсорного генератора частота может изменяться, т.к. одна из пластин времязадающего конденсатора подключена к антенне. Емкость изменяется за счет приближения объекта (антенна и объект образуют воздушный конденсатор). Сигналы с опорного и сенсорного генераторов подаются в детектор, который выделяет разностную частоту. По степени изменения разностной частоты можно судить о наличии постороннего предмета вблизи антенны. Читать полностью »

Comment

Локализация и составление карты с помощью DP-SLAM

Данная статья основана на оригинальной публикации разработчиков алгоритма DP-SLAM

Доступность относительно недорогих сканирующих лазерных дальномеров и появление наработок в теории фильтров частиц дало толчок развитию алгоритмов локализации робота в пространстве. Изначально, карты, по которым робот должен был локализоваться, составляли вручную, хотя и было очевидно, что лазерный дальномер мог составить их намного лучше. Исходя из этих соображений, была поставлена задача: создать алгоритм, который бы проводил и локализацию, и составление карты одновременно. Решение этой задачи нашло бы множество применений на практике: проведение аварийно-спасательных работ, космических, подводных или подземных исследований.

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

Comment

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

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

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

Comment