roboforum.ru

Технический форум по робототехнике.

Robot OS [ROS]

Robot OS [ROS]

Vooon » 27 янв 2010, 00:38

Домашняя страница: http://www.ros.org
Используется для робота PR2 от Willow Garage.
На данный момент активно развивается, с сентября сделано более двух тысяч изменений.

Система включает в себя:
1. сервер параметров
2. фреймворки для языков C++, Python
3. набор готовых узлов сети
4. привязки к средствам симуляции
5. утилиты

Для симуляции используется Gazebo из проекта Player/Stage.
Вложения
pr2_gazebo.png
Симуляция робота PR2

OROCOS KDL (Kinematics Dynamics Library)

Vooon » 30 янв 2010, 06:59

Разбираясь с росом наткнулся на другой интересный проект — OROCOS (Open Robot Control Software).
Особенно меня заинтересовала кинематическая библиотека KDL (C++).
Ну и интересно сделан парсер для загрузки кинематической схемы из XML файла описания.

Re: Robot OS [ROS]

konstantinmirin » 07 фев 2010, 21:04

Я за этим проектом слежу с мая 2009. Ребята фигней не занимаются, а очень плотно работают. Есть существенные успехи, классно что все опен-сорс и отвечают на все вопросы.
Единственное что... кроме как в модели пощупать их работу нам нереально. Их робот оочень дорогой :) Два сервака ксеон i7, по восемь ядер в каждом. 24 гига оперы, 2 ТБ диск (на каждом) из них. Но это все фигня, это хотя бы можно достать или как-то заменить, ухудшив быстродействие. Прикол там в оборудовании. Камеру не смотрел еще, но смотрел два лазера - один в основании, второй в "плечах". Второй может вращаться. Так вот, каждый из них стоит по 5400 зелени :) И драйверы в Player только к этим лазерам, остальные самому писать надо. Точнее есть еще к одному, на него цену я не нашел но не думаю что намного меньше :)
Оценить стоимость рук (в каждой по 7 степеней свободы) мне сложно, я не специалист в механике.
Но в любом случае меньше чем 15 штук никак не выходит :)
Что мне еще там не очень нравится... Может это в силу моего незнания темы я так считаю, но просто запускал я анимацию в мае, там моделировался эксперимент по манипуляции кубиками. Количество вычислений впечатляло :) Они расчитывали с помощью обратной кинематики положение каждого узла руки, угла его отклонения, строили путь перемещения модели руки, проверяя наличие коллизий на кадом шаге. Естественно, это куча вычислений и для этого нужны ксеоны :)
Но ведь человек это делает не осознавая кадой мышцы, верно? На мой взгляд, надо стремиться именно к этому. Может стоило поставить микроконтроллеры в каждый узел руки и пусть мозг думает только над тем, с какой стороны подвести руку к объекту, а положения каждого узла пусть расчитывают сами узлы так же как это делают мышцы у нас.
Опять же, может быть я только что сморозил глупость :) Но складывается впечатление что основной подход к решению задач там - это программинг, при чем высокого уровня. Вообще, это, конечно, верно. Я сам программист, не особо железками увлекаюсь, так что с одной стороны подход мне симпатичен. Но с другой, мне кажется они впадают в крайности.

В плане манипуляции, мне очень понравилось вот это видео: http://www.youtube.com/watch?v=-KxjVlaLBmk Как они это сделали - понятия не имею, но КЛАССНО. именно так должны вести себя манипуляторы роботов - быстрее, сильнее и совершеннее человеческих.

Я защищаю диплом через несколько недель и хочу поступить в аспирантуру, именно по направлению робототехники. Если возьмут конечно :) Так что буду рад продолжить обсуждение, обменяться мыслями (опытом был бы рад, но пока кроме желания ничего нет :)) и т.д.

Re: Robot OS [ROS]

CiSi » 07 фев 2010, 21:50

Да, манипулятор просто супер! :)

Re: Robot OS [ROS]

konstantinmirin » 07 фев 2010, 23:19

Мне бы хотелось такой иметь и погонять и попрограмить для него. Понятно что начинать буду с модели. Но на мой дилетантский взгляд - это ОЧЕНЬ дорогой робот. Робот для дома должен стоить до 5000 баксов.
Поэтому для меня ооочень интересен проект OpenRobotics здесь в клубе. Я только просмотрел, но цены всех контроллеров и комплектующих что есть очень приятные. Да, чтобы потянуть комп, робота надо делать весьма массивным, поэтому драйверы двигателей и комплектующих из магазина здесь не покатят. Зато, я думаю, низкий уровень из них можно сварганить. И будет это на порядок дешевле того что у PR2. Да, у нас не будет дальномера до 30м от ведущего японского производителя но ведь не в нем счастье :) Есть вещи, которые более доступны по цене и при этом могут выполнять те же задачи. Да, хуже, но могут :)

Поэтому после сдачи диплома в свободное время планирую копать то что есть сейчас по OpenRobotics и саму ROS :)

Re: Robot OS [ROS]

AndreiSk » 07 фев 2010, 23:35

Давайте уточним,
1. если вы имели в виду CPU Xeon, то это зион по нашему
2. зеленью смазывать робота надо в меру, понятно что хобби недешевое, но можно и до $700 робота собрать с камерой+cpu (проверено).
3. OpenRobotics штука модульная, кому то нравится, но как всегда, у этих модулей есть аналоги.
И в общем случае, выбор OpenRobotics к роботам имеет косвенное отношение... ну как хлеб для бутерброда,
кому то круасаны нравятся, а кто то на черный намазывает масло :roll:
4. "Да, чтобы потянуть комп, робота надо делать весьма массивным, поэтому драйверы двигателей и комплектующих из магазина здесь не покатят. Зато, я думаю, низкий уровень из них можно сварганить. " - это неверно, у меня на столе стоит робот, драйвер двигателя из магазина, колеса из магазина, компьютер (Intel Atom Dual Core, Xeon тут пока не нужен) из магазина, стереозрение из магазина, и получился довольно небольшой робот 3кг 20x20см.
Голова на плечах, алгоритм в роботе, а зелень тут только компенсирует недостающие звенья ;)
Начните с малого, не надо вам сразу робота за $5000.

Re: Robot OS [ROS]

Angel71 » 07 фев 2010, 23:53

konstantinmirin, :unknown: слабо понятно каким боком здесь Ishikawa Komuro Lab. 8) непонятно, так на офсайть хоть загляните, там очень много всего разжевано, в картинках, видео, формулах,...
Но ведь человек это делает не осознавая кадой мышцы, верно? На мой взгляд, надо стремиться именно к этому. Может стоило поставить микроконтроллеры в каждый узел руки и пусть мозг думает только над тем, с какой стороны подвести руку к объекту, а положения каждого узла пусть расчитывают сами узлы так же как это делают мышцы у нас.
Опять же, может быть я только что сморозил глупость

:) аха, имхо именно последнее предложение.
Естественно, это куча вычислений и для этого нужны ксеоны

:D дануна
Мне бы хотелось такой иметь и погонять и попрограмить для него

:) ой, опоздали. они все уже давно раздали

Добавлено спустя 2 минуты 28 секунд:
Да, чтобы потянуть комп, робота надо делать весьма массивным

:shock:

Re: Robot OS [ROS]

Сергей » 08 фев 2010, 00:00

Прежде чем мутить РОБОТа на базе Xeon, вы сначала алгоритмы погоняйте на домашнем PC, или так не круто?

Re: Robot OS [ROS]

CiSi » 08 фев 2010, 00:02

Что касается "потянуть комп", то в OR сейчас выпустили новый ДД, который может управлять достаточно мощными двигателями, чтобы справиться с такой задачей.
И вообще посмотрите здесь на сайте проекты в качестве основного мозга которых используется комп.

Re: Robot OS [ROS]

Angel71 » 08 фев 2010, 00:04

OR-MD2-10A-12V-X: Драйвер на реле для двух двигателей, до 10А, 12В
Характеристики модуля:
Напряжение питания: 12 В
Возможность использования ШИМ: Есть
Максимальный ток на канал: 10А
Габариты модуля: 66 х 66 х 42 мм (длина*ширина - по печатной плате)
Вес: не более 120г

Re: Robot OS [ROS]

konstantinmirin » 08 фев 2010, 00:57

Что меня всегда поражало на русских форумах по любой теме так это то что стоит в чем-то сморозить глупость и цепляться начинают к каждому слову. Ну это лирика. Теперь к сути.

1) AndreiSk
1. Да, именно Xeon.
2. Согласен. Смазывать не собирался, см. ниже пол 5К. А манипулятор, который может что-то более-менее тяжелое поднять у робота есть? Тяжелое - это обычные бытовые предметы - стаканы, тарелки, утюги. Я не цепляюсь, я просто спрашиваю. Вес робота я прикидывал на 5-7 кг чтобы потом можно было что-то добавить и не потерять в скорости/возможностях платформы.
3. Верно, аналоги есть. Почему OpenRobotics заинтересовал - потому что паять много мне не прикольно. Могу, но не кайфую :) Поэтому быстро собрать из модулей, у которых приемлимая цена - это мне нравится. Особенно нравится то, что у OR в планах, а может уже и реализовано, не читал, дрова под Player, который испольуется в ROS. Это большой плюс как для меня. Возможно естьаналоги с такой же фичей, но OR были просто первыми. Я хочу попробовать с ними и если получится - помочь в развитии, потому что идея быстро собрать железки из конструктора и приступить к программингу - это супер. Существующие базы, которые могут на себе потащить комп дороговаты.
Робота за 5К я собирать и не собирался. Я говорил лишь о том, что стоимость "робота для человека" а-ля PR2 должнабыть такой. У них выходит минимум в 3 раза дороже. Конечно я собираюсь начать с чего-то простого и усложнять по мере возмжностей/времени.

2) Angel71
1.
слабо понятно каким боком здесь Ishikawa Komuro Lab
Только тем, что манипуляторы во много раз шустрее, чего мне и хотелось бы добиться
2. А вы читали? Если да, я буду очень признателен за небольшое разъяснение - за счет чего достигается такая скорость работы?
3.
аха, имхо именно последнее предложение.
Аргументы пожалуйста.
4.
Естественно, это куча вычислений и для этого нужны ксеоны
:D дануна
Сами себе противоречите. Если я был не прав в предыдущем своем предположении что можно избежать такого количества расчетов и пользоваться работой на микроконтрллеров более низкого уровня, значит таких расчетов избежать нельзя и следовательно объем вычислений весьма велик. Этот вопрос я в мае обсуждал с Rosen Diankov, автором OpenRave и симуляции о которой я говорил. Он сказал что считать там реально дофига и на мой комментарий что у меня оочень долго все посоветовал поставить не на виртуальную машину, а не реальную или попробовать дать виртуалкедва ядра и больше памяти. Так что насчет назначения ксеонов вы не правы :) Особенно учитывая что модель строится на основе машинного зрения плюс данных от двух лазерных сканеров в реальном времени.
5.
ой, опоздали. они все уже давно раздали
Как я сказал, я слежуза проектом. Например сейчас они раздают еще десяток учреждениям по всему миру. Да, я опоздал потому что завяку надо было подавать до 31 января. Но мне как бы такой навороченны и не нужен. Прелесть РОС в том, что я могу поднять ее на любом роботе. Этого я и хочу добиться.
6.
Да, чтобы потянуть комп, робота надо делать весьма массивным
:shock:
Ага. Платформа размером 15х15 см материнку на себе не поместит. Это точно :) Так что от мини-роботов сразу отказываемся. Именно это я и имел в виду под "массивный" 3-5 кг - это уже не малютка.
3) Сергей
Прежде чем мутить РОБОТа на базе Xeon, вы сначала алгоритмы погоняйте на домашнем PC, или так не круто?

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

Мутить что-то простое можно параллельно с разбиранием кода ROS, OpenCV и Player. До xeona дело дойдет не скоро, это точно :)
4) CiSi, Angel71. Да, я на него посматривал. И не был уверен что мне хватит :) Но я характеристики движков еще не смотрел, так что пока это пустые разговоры с моей стороны. Закончу диплом - буду делать.
5) CiSi.
И вообще посмотрите здесь на сайте проекты в качестве основного мозга которых используется комп.

Именно это я и делаю :) Но тут больше про роботов на основе МК. Я так понимаю, большинство здесь больше паять любят чем програмить на чем-то. Во всяком случае, мне так показалось.

Народ, я понимаю, что мои комменты/идеи могут быть бредом. Но я не претендую на абсолютную истину. Я высказываю своим мысли на форуме где люди занимаются тем же самым. Поэтому расчитываю на адекватные и интересные беседы. Роботы "в железе" для меня практически новая тема. До этого я только моделировал, да и диплом пишу на модели. А с железом хочу повозиться, чтобы пощупать и лучше понять все это дело.

Re: Robot OS [ROS]

Angel71 » 08 фев 2010, 04:12

2) :) оффсайт http://www.k2.t.u-tokyo.ac.jp/index-e.html
3,4) почитайте хоть немного нейрофизиологию, очень много полезной информации узнаете. "осознание" абсолютно не означает, что "обработка" происходит не в головном мозге.
:) таки серьёзно думаете, что ставя в какие-то сочленения кучу контроллеров с производительностью в несколько десятков мегомипсов мипсов каждый (и напрочь не способных аппаратно производить операции с плавающей точкой) вы сможете производить свои меговычесления, на которые вам чуть ли не ксеон подавай? применять в колличестве более производительные контроллеры... скажу мягко - очень неразумно по многим причинам
и т.д. и т.п.
"дофига считать" звучит устрашающе, только ни о чём не говорит, даже примерно. может вам стоит вообще рассмотреть немного другой вариант? сделать просто бота по минимуму, без всяких излишеств на борту. только сам каркас на колёсах (ногах), со всеми нужными моторами и сервами, манипуляторами, датчиками, камерами,... и подключить всё это к обычному компу по проводу или радиоканалу. конструкция будет намного проще, легче и соответственно дешевле, да и используйте хоть кластер компов. вам же без разницы в первое время, где будет управляющий. даже, если вы решите установить его на боте, то вам всё-равно нужно будет как-то соединяться с компом, на котором вы будете писать софт.
6) в природе есть pico-itx, есть nano-itx. размеры разные 7*10см, 10*15, 12*12см,...
:wink: и так, к слову, всякие там платформы, контроллеры, общие мысли,... малосвязанные с ROS вообще оффтопик. их можно пообсуждать в других темах или создать свою
Последний раз редактировалось Angel71 08 фев 2010, 11:46, всего редактировалось 1 раз.

Re: Robot OS [ROS]

=DeaD= » 08 фев 2010, 11:55

konstantinmirin писал(а):Существующие базы, которые могут на себе потащить комп дороговаты.

Не думаю. Сейчас появился новый класс компов - неттопы, это как нетбуки, только без аккума и экрана. Как раз нафиг не надо такому роботу обычный экран с клавиатурой и свой аккум, чтобы не было проблемы асинхронной зарядки двух аккумов. Среди этих неттопов есть варианты на платформе NVidia Ion, там можно применять CUDA, т.е. при определенной сноровке можно заполучить вычислительную мощность поболее Xeon'а в части задач.

А вообще мне непонятно желание срочно поставить ПК на робота - чем радиоканал не устраивает на первое время? А когда будет что тащить на бортовой ПК - там станет ясно какой именно он нужен (8*Xeon или неттопа NVidia Ion хватит), вот тогда и перетаскивать всё это на борт.

Добавлено спустя 2 часа 35 минут 24 секунды:
А еще меня в этих PR2 смущает использование лазерных сканеров и разработка всего софта опираясь на них. Никаких перспектив этому занятию я не вижу, пока эти сканеры не будут стоить 250-500$ за штуку. Вроде уже давно есть технологии Optical-flow и стереозрения, почему бы не базироваться на них - мне неведомо.

Re: Robot OS [ROS]

konstantinmirin » 08 фев 2010, 14:43

А вообще мне непонятно желание срочно поставить ПК на робота - чем радиоканал не устраивает на первое время? А когда будет что тащить на бортовой ПК - там станет ясно какой именно он нужен (8*Xeon или неттопа NVidia Ion хватит), вот тогда и перетаскивать всё это на борт.

Желание возникает потому что я хочу со всеми устройствами, которые будут у робота "общаться" в ROS через драйвера (существующие или самописные) Player. Если брать радиоканал, то все команды идут на МК, а он уже раздает все устройствам.
Хотя может быть можно сделать так чтобы радиоканал+МК был чем-то вроде "виртуального кабеля", просто транслировал команды устройствам и обратно через блютус тот же, а драйвера устройств были на компе. То есть по сути просто передаются RAW-команды. Эта идея привлекательна :) Но только как начало.
На роботе я хочу иметь манипулятор, камеру (лучше 2, но для начала одну) и дальномер. Ну и шасси конечно :) Робота я хочу использовать для экспериментов по комьютерному зрению, навигации и манипуляции простыми предметами.

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

В идеале - создать "домашнего робота" за 2К :)
Для дальнейших обсуждений не ROS, я создам отдельную тему, а то сильно отвлеклись.

Re: Robot OS [ROS]

=DeaD= » 08 фев 2010, 16:03

Как тему создадите - туда перенесу, а пока тут, если Vooon не против :)

Добавлено спустя 1 минуту 13 секунд:
konstantinmirin писал(а):Желание возникает потому что я хочу со всеми устройствами, которые будут у робота "общаться" в ROS через драйвера (существующие или самописные) Player. Если брать радиоканал, то все команды идут на МК, а он уже раздает все устройствам.

Крайне интересно, как минуя МК вы собираетесь управлять сервами, читать показания с дальномеров и рулить коллекторными движками? По моему один фиг придется ставить МК, а уж как этот МК соединен с ПК - вам не всё равно? Или блютуз или USB<=>UART адаптер.


cron
Rambler\'s Top100 Mail.ru counter