Категория:Open Robotics — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Перспективы проекта)
 
(не показано 55 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
{{:OpenRoboticsMenu}}
 
{{:OpenRoboticsMenu}}
 +
[[Category:Проекты компонентов|Проекты компонентов]]
  
== О проекте ==
+
== Цель проекта ==
Проект Open Robotics - это попытка создать доступную по стоимости, расширяемую, очень легко повторяемую и модульную архитектуру компактного мобильного робота. Основная цель проекта - помочь как можно быстрее и дешевле получить первую серьезную платформу для экспериментов, которую потом можно будет расширять не переделывая всё самого начала. Изначально проект ориентирован на разработку основной программы на ПК без изучения программирования микроконтроллеров, однако ничто не мешает использовать компоненты проекта для разработки роботов без использования ПК или использовать свои специализированные\доработанные прошивки контроллеров.
+
Основная цель проекта Open Robotics — обеспечить по разумным ценам всех желающих конструктором, состоящим из набора взаимно совместимых (в том числе по разъёмам и типоразмерам) электронных модулей с объявленными открытыми интерфейсами и готовыми прошивками. Ассортимент модулей позволит решать большинство типовых задач любительской и спортивной робототехники. Такой подход поможет значительно сократить затраты времени на разработку роботов и обеспечит всех общей платформой. А это значит, что не только появится возможность создавать программные решения которые могут быть без труда применены на практике всеми обладателями такой же платформы, но и все начинающие смогут в кратчайшие сроки догнать своих опытных товарищей и вместе с ними двигаться дальше, не занимаясь месяцами созданием своей платформы, на завершении строительства которой у большинства силы и заканчиваются.
  
 +
Кроме того для большинства людей приходящих в робототехнику необходимость сразу изучать программирование микроконтроллеров становится достаточно серьёзной проблемой, которая уже на первом этапе может их остановить. Чтобы избежать этого мы в обязательном порядке создаём готовые прошивки для наших модулей, позволяющие использовать их, управляя всеми основными функциями с персонального компьютера по радиоканалу или через проводной интерфейс.
  
== В чем отличия этого проекта от десятков других проектов контроллеров и модулей ==
+
== Текущее состояние и ближайшие планы ==
 +
В ходе проекта (за прошедшие 2 года с момента запуска проекта) разработано и запущено в продажу 12 видов модулей, в состоянии проектирования, закупки компонент, сборки прототипов и тестирования находится еще 5 видов различных модулей.
 +
 
 +
== Перспективы проекта ==
 +
В ближайшем будущем (в рамках 2011 года) планируется:
 +
# Обеспечить компоненты для сборки шагающих роботов, манипулятора и поворотной платформы для камеры\датчиков;
 +
# Создание библиотек для решения различных задач на ПК (техническое зрение через радиокамеру, навигация, построение карт помещений, управление манипуляторами, шагающими роботами и т. п.);
 +
# Создание драйверов устройств для модулей Open Robotics под платформы MS Robotics Studio и Player/Stage/Gazebo;
 +
# Продолжить написание в вики набора статей по типовым проектам, построенным на модулях Open Robotics;
 +
 
 +
== В чем отличия этого проекта от других ==
 
На самом деле принципиальных отличий с одной стороны не очень много, но с другой стороны в этом проекте мы постарались собрать большое количество мелочей, повышающих удобство использования модулей, которые, как мы считаем, обеспечат переход из количества в качество и сделают работу с модулями по сложности не многим более тяжелой, чем сборка машинок из детского конструктора, но при этом останется огромный простор по дальнейшему развитию системы.
 
На самом деле принципиальных отличий с одной стороны не очень много, но с другой стороны в этом проекте мы постарались собрать большое количество мелочей, повышающих удобство использования модулей, которые, как мы считаем, обеспечат переход из количества в качество и сделают работу с модулями по сложности не многим более тяжелой, чем сборка машинок из детского конструктора, но при этом останется огромный простор по дальнейшему развитию системы.
  
 
Вот лишь некоторые отличия нашего проекта от других (разумеется некоторые свойства есть в других проектах, но нам не удалось найти готовое решение, включающее в себя значительную часть этих свойств, хотя возможно к моменту прочтения вами этих строк такие конкурирующие решения могут уже начать появляться):
 
Вот лишь некоторые отличия нашего проекта от других (разумеется некоторые свойства есть в других проектах, но нам не удалось найти готовое решение, включающее в себя значительную часть этих свойств, хотя возможно к моменту прочтения вами этих строк такие конкурирующие решения могут уже начать появляться):
  
* Использование логических уровней 3.3В - это позволяет нам использовать высокопроизводительные контроллеры, экранчики от сотовых, акселерометры, карты памяти и прочую электронику подключая их напрямую к выводам МК без всяких конвертеров уровней, а значит наши модули будут проще и дешевле как в опытном производстве, так и в массовом изготовлении;
+
* '''Прошивки модулей архитектуры [[ORFA]], позволяющие собирать роботов управляемых с ПК/КПК без программирования микроконтроллеров'''. (Это опциональное отличие, может использоваться, а может нет, хотя мы надеемся, что именно этот вариант будет наиболее часто используемым начинающими).
  
* Использование шины [[RoboBus]] в качестве стандарта межмодульного взаимодействия позволяет нам практически любой готовый модуль (например, экранчик от сотового, акселерометр или радиомодуль) обеспечить простейшей обвязкой и разъемом RoboBus и получить новый качественный модуль на 100% совместимый с уже имеющимися модулями;
+
* '''Использование логических уровней 3.3В''' — это позволяет нам использовать высокопроизводительные контроллеры, экранчики от сотовых, акселерометры, карты памяти и прочую электронику подключая их напрямую к выводам МК без всяких конвертеров уровней, а значит наши модули будут проще и дешевле как в опытном производстве, так и в массовом изготовлении;
  
* Применение разъема [[RoboGPIO]] для подключения различных простых устройств позволяет обеспечить быструю сборку конструкций с использованием готовых устройств снабженных таким разъемом (например, можно без какой-либо модификации подключать к контроллеру модельные сервоприводы, поддерживающие управляющий сигнал от 3В).
+
* '''Использование стандартизированных разъемов''', — [[RoboBus]], [[RoboGPIO]], [[RoboMD2]], [[RoboI2C]], [[RoboServo]] позволяющих быстро соединять соответствующие типы устройств в электронно-вычислительную сеть робота и решать почти любые задачи просто компонуя уже готовые устройства, не используя паяльник, макетные платы и т. п. (подробнее о стандартах на разъемы см. ниже).
  
* Для подключения драйверов коллекторных двигателей разработан разъем [[RoboMD2]] через который можно к любому контроллеру с таким портом подключить любой драйвер двигателей, т.е. при переходи от компактной платформы к крупногабаритной поменять придётся только модуль драйвера двигателей, если предыдущий не сможет работать с увеличившимся током и/или напряжением.
+
* '''Стандартизованные типоразмеры плат и правила расстановки разъемов'''. При их соблюдении модули можно собирать в «бутерброд», что значительно упрощает размещение их в компактных роботах и соединение между собой шинами данных.
  
* Для размеров печатных плат модулей разработаны несколько типоразмеров и правила расстановки разъемов на печатных платах. При их соблюдении модули этих типоразмеров можно собирать в "бутерброд", что значительно упрощает размещение их в компактных роботах и соединение между собой шинами данных.
+
* '''Поддержка на русском языке''' — тут наверное не нужно объяснять чем это хорошо, впрочем значительному кругу лиц всё равно на каком языке читать документацию.
 +
 
 +
<br /><br />
  
 
== Основные достижения проекта ==
 
== Основные достижения проекта ==
 +
Разработана архитектура построения прошивок модулей [[ORFA|Open Robotics Firmware Architecture (ORFA)]], позволяющая быстро создавать как Master, так и Slave устройства на шину i2c, управлять всем оборудованием робота через стандартный UART по унифицированному протоколу, быстро добавлять новые типы поддерживаемых контроллерами устройств не затрагивая уже имеющиеся и т. д.
 +
 +
 
В ходе реализации проекта (хотя не всегда в рамках именно этого проекта) были утверждены стандарты на разъемы, питание и уровни сигналов:
 
В ходе реализации проекта (хотя не всегда в рамках именно этого проекта) были утверждены стандарты на разъемы, питание и уровни сигналов:
  
* [[RoboBus]] - стандарт на шину межмодульного взаимодействия мобильных роботов (шина из 14 линий, включающая питание +3.3В и +5.0В и интерфейсы UART, I2C, SPI + линию RESET и 3 линии общего назначения);
+
* [[RoboBus]] — стандарт на шину межмодульного взаимодействия мобильных роботов (шина из 14 линий, включающая питание +3.3В и +5.0В и интерфейсы UART, I2C, SPI + линию RESET и 3 линии общего назначения);
  
* [[RoboMD2]] - стандарт на разъем подключения драйвера двух двигателей к контроллеру (шина из 12 линий, включающая питание от баттареи, сигналы направления и ШИМ для каждого двигателя + выходы с датчиков тока и перегрузки двигателей);
+
* [[RoboMD2]] — стандарт на разъем подключения драйвера двух двигателей к контроллеру (шина из 12 линий, включающая питание от баттареи, сигналы направления и ШИМ для каждого двигателя + выходы с датчиков тока и перегрузки двигателей);
  
* [[RoboGPIO]] - стандарт на разъем для подключения устройство общего назначения (разъем из 4 контактов, включающий питание +5.0В, опционально 3.3В / неочищенное входящее питания и одна сигнальная линия от МК);
+
* [[RoboGPIO]] — стандарт на разъем для подключения устройство общего назначения (разъем из 4 контактов, включающий питание +5.0В, опционально 3.3В / неочищенное входящее питания и одна сигнальная линия от МК);
  
* [[RoboI2C]] - стандарт на урезанную шину межмодульного взаимодействия мобильных роботов (шина из 4 линий, включающая питание +5.0В и интерфейс I2C);
+
* [[RoboI2C]] — стандарт на урезанную шину межмодульного взаимодействия мобильных роботов (шина из 4 линий, включающая питание +5.0В и интерфейс I2C);
  
  
Кроме того - зафиксирован [[Стандарт размеров модулей Open Robotics|стандарт физических размеров печатных плат модулей проекта]], позволяющий удобно компоновать такие платы одну над другой на стойках и использовать их в роботах габаритами от 10х10см.
+
Для удобства компоновки зафиксирован [[Стандарт размеров модулей Open Robotics|стандарт физических размеров печатных плат модулей проекта]], позволяющий удобно компоновать такие платы одну над другой на стойках и использовать их в роботах габаритами от 10х10 см.
  
 +
== Варианты использования модулей (кроме ORduino)==
 +
=== Вариант 1: Мобильный робот с радиоканалом до ПК ===
 +
[[Файл:OR-Interchange-1-new.jpg|800px]]
  
== Вариант использования модулей ==
+
=== Вариант 2: Мобильный робот с ноутбуком на борту ===
[[Изображение:OR-Interchange.jpg|800px]]
+
[[Файл:OR-Interchange-2-new.jpg|700px]]

Текущая версия на 17:42, 11 мая 2011

Концепция
проекта
Электронные модули
и документация к ним
Общая
документация
Общие
файлы
Примеры
проектов
Где купить OR-WRT прошивка
Новое!
OR-4WD-Rover
платформа Новое!
Форум



Цель проекта

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

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

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

В ходе проекта (за прошедшие 2 года с момента запуска проекта) разработано и запущено в продажу 12 видов модулей, в состоянии проектирования, закупки компонент, сборки прототипов и тестирования находится еще 5 видов различных модулей.

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

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

  1. Обеспечить компоненты для сборки шагающих роботов, манипулятора и поворотной платформы для камеры\датчиков;
  2. Создание библиотек для решения различных задач на ПК (техническое зрение через радиокамеру, навигация, построение карт помещений, управление манипуляторами, шагающими роботами и т. п.);
  3. Создание драйверов устройств для модулей Open Robotics под платформы MS Robotics Studio и Player/Stage/Gazebo;
  4. Продолжить написание в вики набора статей по типовым проектам, построенным на модулях Open Robotics;

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

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

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

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



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

Разработана архитектура построения прошивок модулей Open Robotics Firmware Architecture (ORFA), позволяющая быстро создавать как Master, так и Slave устройства на шину i2c, управлять всем оборудованием робота через стандартный UART по унифицированному протоколу, быстро добавлять новые типы поддерживаемых контроллерами устройств не затрагивая уже имеющиеся и т. д.


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

  • 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 см.

Варианты использования модулей (кроме ORduino)

Вариант 1: Мобильный робот с радиоканалом до ПК

OR-Interchange-1-new.jpg

Вариант 2: Мобильный робот с ноутбуком на борту

OR-Interchange-2-new.jpg