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

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(О проекте)
(Перспективы проекта)
 
(не показано 38 промежуточных версий 4 участников)
Строка 1: Строка 1:
 
{{:OpenRoboticsMenu}}
 
{{:OpenRoboticsMenu}}
 +
[[Category:Проекты компонентов|Проекты компонентов]]
  
== О проекте ==
+
== Цель проекта ==
Основная цель проекта - обеспечить строителей роботов своего рода электронным конструктором, состоящим из набора недорогих, взаимно совместимых (в том числе по разъемам и по механике) модулей с объявленными открытыми интерфейсами и готовыми прошивками микроконтроллеров. Мы считаем, что это позволит одновременно значительно сократить затраты времени и денег на разработку роботов, а также обеспечит значительное количество людей общей платформой, что позволит не только создавать программные решения которые могут быть мгновенно применены на практике всеми обладателями такой же платформы, но и даст возможность новичкам в робототехнике в кратчайшие сроки "догонять" уже опытных товарищей и вместе с ними двигаться дальше, не занимаясь месяцами созданием своей платформы.
+
Основная цель проекта Open Robotics — обеспечить по разумным ценам всех желающих конструктором, состоящим из набора взаимно совместимых (в том числе по разъёмам и типоразмерам) электронных модулей с объявленными открытыми интерфейсами и готовыми прошивками. Ассортимент модулей позволит решать большинство типовых задач любительской и спортивной робототехники. Такой подход поможет значительно сократить затраты времени на разработку роботов и обеспечит всех общей платформой. А это значит, что не только появится возможность создавать программные решения которые могут быть без труда применены на практике всеми обладателями такой же платформы, но и все начинающие смогут в кратчайшие сроки догнать своих опытных товарищей и вместе с ними двигаться дальше, не занимаясь месяцами созданием своей платформы, на завершении строительства которой у большинства силы и заканчиваются.
  
Одним из приоритетных вариантов использования модулей проекта является создание роботов с использованием ПК в качестве основного процессора, без программирования микроконтроллеров и серьезного изучения электроники, однако ничто не мешает использовать компоненты проекта для разработки роботов без использования ПК или использовать свои специализированные/доработанные прошивки для контроллеров модулей.
+
Кроме того для большинства людей приходящих в робототехнику необходимость сразу изучать программирование микроконтроллеров становится достаточно серьёзной проблемой, которая уже на первом этапе может их остановить. Чтобы избежать этого мы в обязательном порядке создаём готовые прошивки для наших модулей, позволяющие использовать их, управляя всеми основными функциями с персонального компьютера по радиоканалу или через проводной интерфейс.
 +
 
 +
== Текущее состояние и ближайшие планы ==
 +
В ходе проекта (за прошедшие 2 года с момента запуска проекта) разработано и запущено в продажу 12 видов модулей, в состоянии проектирования, закупки компонент, сборки прототипов и тестирования находится еще 5 видов различных модулей.
 +
 
 +
== Перспективы проекта ==
 +
В ближайшем будущем (в рамках 2011 года) планируется:
 +
# Обеспечить компоненты для сборки шагающих роботов, манипулятора и поворотной платформы для камеры\датчиков;
 +
# Создание библиотек для решения различных задач на ПК (техническое зрение через радиокамеру, навигация, построение карт помещений, управление манипуляторами, шагающими роботами и т. п.);
 +
# Создание драйверов устройств для модулей Open Robotics под платформы MS Robotics Studio и Player/Stage/Gazebo;
 +
# Продолжить написание в вики набора статей по типовым проектам, построенным на модулях Open Robotics;
  
 
== В чем отличия этого проекта от других ==
 
== В чем отличия этого проекта от других ==
Строка 11: Строка 22:
 
Вот лишь некоторые отличия нашего проекта от других (разумеется некоторые свойства есть в других проектах, но нам не удалось найти готовое решение, включающее в себя значительную часть этих свойств, хотя возможно к моменту прочтения вами этих строк такие конкурирующие решения могут уже начать появляться):
 
Вот лишь некоторые отличия нашего проекта от других (разумеется некоторые свойства есть в других проектах, но нам не удалось найти готовое решение, включающее в себя значительную часть этих свойств, хотя возможно к моменту прочтения вами этих строк такие конкурирующие решения могут уже начать появляться):
  
* '''Прошивки модулей "шлюз-контроллер", позволяющие собирать роботов управляемых с ПК/КПК без программирования микроконтроллеров'''. (Это опциональное отличие, может использоваться, а может нет, хотя мы надеемся, что именно этот вариант будет наиболее часто используемым начинающими).
+
* '''Прошивки модулей архитектуры [[ORFA]], позволяющие собирать роботов управляемых с ПК/КПК без программирования микроконтроллеров'''. (Это опциональное отличие, может использоваться, а может нет, хотя мы надеемся, что именно этот вариант будет наиболее часто используемым начинающими).
  
* '''Использование логических уровней 3.3В''' - это позволяет нам использовать высокопроизводительные контроллеры, экранчики от сотовых, акселерометры, карты памяти и прочую электронику подключая их напрямую к выводам МК без всяких конвертеров уровней, а значит наши модули будут проще и дешевле как в опытном производстве, так и в массовом изготовлении;
+
* '''Использование логических уровней 3.3В''' — это позволяет нам использовать высокопроизводительные контроллеры, экранчики от сотовых, акселерометры, карты памяти и прочую электронику подключая их напрямую к выводам МК без всяких конвертеров уровней, а значит наши модули будут проще и дешевле как в опытном производстве, так и в массовом изготовлении;
  
* '''Использование стандартизированных разъемов''', - [[RoboBus]], [[RoboGPIO]], [[RoboMD2]] позволяющих быстро соединять соответствующие типы устройств в электронно-вычислительную сеть робота и решать почти любые задачи просто компонуя уже готовые устройства, не используя паяльник, макетные платы и т.п. (подробнее о стандартах на разъемы см. ниже).
+
* '''Использование стандартизированных разъемов''', — [[RoboBus]], [[RoboGPIO]], [[RoboMD2]], [[RoboI2C]], [[RoboServo]] позволяющих быстро соединять соответствующие типы устройств в электронно-вычислительную сеть робота и решать почти любые задачи просто компонуя уже готовые устройства, не используя паяльник, макетные платы и т. п. (подробнее о стандартах на разъемы см. ниже).
  
* '''Стандартизованные типоразмеры плат и правила расстановки разъемов'''. При их соблюдении модули можно собирать в "бутерброд", что значительно упрощает размещение их в компактных роботах и соединение между собой шинами данных.
+
* '''Стандартизованные типоразмеры плат и правила расстановки разъемов'''. При их соблюдении модули можно собирать в «бутерброд», что значительно упрощает размещение их в компактных роботах и соединение между собой шинами данных.
  
* '''Поддержка на русском языке''' - тут наверное не нужно объяснять чем это хорошо, впрочем значительному кругу лиц всё равно на каком языке читать документацию.
+
* '''Поддержка на русском языке''' — тут наверное не нужно объяснять чем это хорошо, впрочем значительному кругу лиц всё равно на каком языке читать документацию.
  
<br><br>
+
<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-2-new.jpg|700px]]
[[Изображение:OR-Interchange.jpg|800px]]
 

Текущая версия на 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