PPM библиотека для Arduino

Как известно, большая часть радиоуправляемой техники использует для передачи данных, так называемые PPM-сигналы (с PCM я пока не работал, к сожалению).

В двух словах этот способ передачи можно описать так. Приёмник считывает сигналы от пульта фреймами (~ по 20мс). В каждом фрейме может находиться около восьми импульсов (~ по 2мс). Каждый из этих импульсов соответствует одному каналу. RC-приёмник просто распределяет все эти импульсы из фрейма по разным выводам (каналам).

Таким образом, на выходе из пульта мы получаем сигнал с частотой около 50Гц (раз в 20мс) с управляющим импульсом длиной от 700-800 до 2000-2200 мкс. Длина этого импульса и кодирует информацию, переданную с пульта.

( Читать дальше )

Turtlebot: сборка и запуск

В предыдущих статьях мы разобрались с управлением roomba через Arduino, при помощи python (или любых других языков, способных работать с последовательным портом), а также через ROS. Пришло время сделать собственного Turtlebot’а.

Для постройки Turtlebot’а. потребуются следующие комплектующие:
  • Asus EeePC 1215N (мы использовали acer aspire one D255E)
  • iRobot roomba (можно использовать irobot create. но в России его купить сложно, поэтому дальше речь всегда будет идти о румбе)
  • Microsoft Kinect
  • Детали для сборки конструкции
  • Плата питания кинекта
  • USB — UART преобразователь, например вот такой



( Читать дальше )

Turtlebot: ROS и Roomba

Итак, мы уже научились управлять Румбой с Arduino и с компьютера. Но нам этого мало. Мы хотели бы делать это при помощи ROS. Это, как нам кажется, ещё на один шаг приблизит нас к реализации Turtlebot.

Кстати, хороший туториал для работы с ROS, а также поэтапный процесс установки, можно найти на официальном сайте. Русскую версию туториалов можно найти здесь.

( Читать дальше )

Turtlebot: как научить Румбу общаться с компьютером

Сегодня мы продолжили наше исследование Румбы. В прошлый раз мы научились управлять ей при помощи Arduino. Следующим шагом мы решили попробовать поуправлять Румбой непосредственно с компьютера.

Однако мы сразу же столкнулись с проблемой: мы не можем передавать сигнал непосредственно по сериал-порту на Румбу, т. к. от компьютера по Rx идёт 12 В, а Румба просит 5 В. Нужен специальный преобразователь. Не найдя такового под рукой, мы, конечно же, решили воспользоваться Arduino. Arduino легко справляется с этой задачей.

( Читать дальше )

Turtlebot - первые шаги

Сегодня мы решили начать новый проект: сборка и изучение Turtlebot.
Это устройство превосходно подходит для исследовательских задач в области робототехники, таких как SLAM, одометрия, PID-регулятор и т. п. Однако, как известно, IRobot Create, специально изготовленный для таких задач, в России достать невозможно. Поэтому приходится обходиться роботом-пылесосом — IRobot Roomba. Благо, для того, чтобы сделать из Roomba настоящий Turtlebot, потрудилось немало людей. Например, есть специальный стек под ROS для Roomba.

( Читать дальше )