Категория:Open Robotics

Материал из roboforum.ru Wiki
Версия от 08:39, 3 мая 2009; =DeaD= (обсуждение | вклад) (Текущее состояние и ближайшие планы)
Перейти к: навигация, поиск
Концепция
проекта
Электронные модули
и документация к ним
Общая
документация
Общие
файлы
Примеры
проектов
Где купить OR-WRT прошивка
Новое!
OR-4WD-Rover
платформа Новое!
Форум



Цель проекта

Основная цель проекта Open Robotics - обеспечить всех желающих своего рода электронным конструктором, состоящим из набора недорогих, взаимно совместимых (в том числе по разъёмам и типоразмерам) модулей с объявленными открытыми интерфейсами и готовыми прошивками. Ассортимент модулей позволяет решать почти все типовые задачи мобильных роботов. Мы считаем, что это позволит значительно сократить затраты времени и денег на разработку роботов, а также обеспечит значительное количество людей общей платформой. А это значит, что не только появится возможность создавать программные решения которые могут быть без труда применены на практике всеми обладателями такой же платформы, но и приходящие в робототехнику из других областей деятельности новички смогут в кратчайшие сроки "догонять" уже опытных товарищей и вместе с ними двигаться дальше, не занимаясь месяцами созданием своей платформы, на завершении строительства которой у большинства силы и заканчиваются.

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

Текущее состояние и ближайшие планы

На данный момент в рамках проекта (за прошедшие 7 месяцев с момента его старта в новом составе) разработано и запущено в продажу 6 видов модулей, в состоянии закупки компонент / сборки прототипа и тестирования находится еще 12 различных модулей.

Перспективы проекта

В ближайшем будущем (в рамках 2009, начала 2010 года) планируется:

  1. Создание в вики набора статей по типовым проектам, построенным на модулях Open Robotics (работа уже начата);
  2. Создание библиотек для решения различных задач на ПК (техническое зрение через радиокамеру, навигация, построение карт помещений, управление манипуляторами, шагающими роботами и т.п.);
  3. Решение вопроса по механической платформе хотя-бы для 1-2 видов роботов (возможно будут просто выбраны удобные платформы из доступных на рынке и обеспечена их поставка за разумные деньги);

В чем отличия этого проекта от других

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

Вот лишь некоторые отличия нашего проекта от других (разумеется некоторые свойства есть в других проектах, но нам не удалось найти готовое решение, включающее в себя значительную часть этих свойств, хотя возможно к моменту прочтения вами этих строк такие конкурирующие решения могут уже начать появляться):

  • Прошивки модулей "шлюз-контроллер", позволяющие собирать роботов управляемых с ПК/КПК без программирования микроконтроллеров. (Это опциональное отличие, может использоваться, а может нет, хотя мы надеемся, что именно этот вариант будет наиболее часто используемым начинающими).
  • Использование логических уровней 3.3В - это позволяет нам использовать высокопроизводительные контроллеры, экранчики от сотовых, акселерометры, карты памяти и прочую электронику подключая их напрямую к выводам МК без всяких конвертеров уровней, а значит наши модули будут проще и дешевле как в опытном производстве, так и в массовом изготовлении;
  • Использование стандартизированных разъемов, - RoboBus, RoboGPIO, RoboMD2 позволяющих быстро соединять соответствующие типы устройств в электронно-вычислительную сеть робота и решать почти любые задачи просто компонуя уже готовые устройства, не используя паяльник, макетные платы и т.п. (подробнее о стандартах на разъемы см. ниже).
  • Стандартизованные типоразмеры плат и правила расстановки разъемов. При их соблюдении модули можно собирать в "бутерброд", что значительно упрощает размещение их в компактных роботах и соединение между собой шинами данных.
  • Поддержка на русском языке - тут наверное не нужно объяснять чем это хорошо, впрочем значительному кругу лиц всё равно на каком языке читать документацию.



Основные достижения проекта

В ходе реализации проекта (хотя не всегда в рамках именно этого проекта) были утверждены стандарты на разъемы, питание и уровни сигналов:

  • RoboBus - стандарт на шину межмодульного взаимодействия мобильных роботов (шина из 14 линий, включающая питание +3.3В и +5.0В и интерфейсы UART, I2C, SPI + линию RESET и 3 линии общего назначения);
  • RoboMD2 - стандарт на разъем подключения драйвера двух двигателей к контроллеру (шина из 12 линий, включающая питание от баттареи, сигналы направления и ШИМ для каждого двигателя + выходы с датчиков тока и перегрузки двигателей);
  • RoboGPIO - стандарт на разъем для подключения устройство общего назначения (разъем из 4 контактов, включающий питание +5.0В, опционально 3.3В / неочищенное входящее питания и одна сигнальная линия от МК);
  • RoboI2C - стандарт на урезанную шину межмодульного взаимодействия мобильных роботов (шина из 4 линий, включающая питание +5.0В и интерфейс I2C);


Кроме того - зафиксирован стандарт физических размеров печатных плат модулей проекта, позволяющий удобно компоновать такие платы одну над другой на стойках и использовать их в роботах габаритами от 10х10см.


Вариант использования модулей

ВНИМАНИЕ: Приведенное ниже изображение не включает в себя некоторые важные элементы концепции, как то - отделение драйверов двигателей от контроллера и использование стандартизированных интерфейсов для взаимодействия между модулями, в ближайшее время этот недочет будет устранен. OR-Interchange.jpg