Особенно мне интересно сделать робота, который сможет делать домашние дела - посуду, приготовить, погладить, пропылесосить, принести что-то и т.п.
Ту же задачу ставят перед собой ребята из WillowGarage. Они разрабатывают ROS, опен-сорс систему управления любым роботом. Но у них есть некоторые перегибы в плане доступности робота. Тот экземпляр что у них есть тянет на 15 штук, это цена неплохой тачки. Это явно не подходит под "робота для всех". Ну а я, начитавшись Форда, хочу сделать такого, который будет именно для всех. Это конечная цель проекта.
Что мне не нравится в ROS, так это их подход к полному моделированию и просчету всех движений робота. Да, это нужно. Но обычный манипулятор на FPGA осуществляет процесс хватания детали произвольной формы без проблем. Писали такой курсовик в универе Потом препод тестил (не наш, аналогичный алогритм) - шустро и быстро получается. Робот PR2 это делает весьма неторопливо.
Вторая вещь, которая не нравится в их работе - привязка к дорогому High-end оборудованию. Ну не нужна домашнему роботу возможность определять расстояние с точностью до милиметра с 30 метров
Поэтому хочу построить свой вариант робота, которые существенно дешевле и при этом выполняет задачи навигации и манипуляции. При этом сделать упор на машинном зрении с помощью камер вместо лазерных сканеров.
В качестве мозгов буду использовать комп под Убунту. Робот должен быть мобильным, поэтому мать с жесткими дисками, аккумуляторами и т.п. будет ездить на тележке. Из тех готовых тележек что я видел под мой вес (5-7 кг, чтобы можно было затем грузить чем-то еще) я не нашел ни одной, которая бы устраивала меня по цене. Меньше 700-800 за такую штуку я не видел. Поэтому хочу собрать сам, хотя в железках опыта практически нет. Опять же, хочется по максимуму использовать готовые компоненты, поэтому пока смотрю в сторону OpenRobotics.
Эта тема возникла отсюда: viewtopic.php?f=35&t=7443&p=147836
Там мне посоветовали сделать радиуправляемую платформу, которая будет маленькая и дешевая. А мозг пусть стоит и не бегает Действительно, так получается еще дешевле, однако есть несколько недостатков:
1) Если конечная цель будет достигнута, то сажать мозг на тележку придется все равно. Да, общая логика останется той же, но как поменяются "детали реализации"! Обычно именно детали срывают проект по срокам Поэтому чем ближе к боевым условиям сразу - тем лучше
2) Если эта тележка общается с компом по блютусу, то драйвер управления тележкой получается достаточно сложным - читать показания с камеры, дальномеров и т.п. Значит существенную логику придется перенести в МК, чтобы упростить управление тележкой. А это автоматически означает, что если какая-то деталь меняется, то переписывается прошивка МК. Это неудобно и неприятно.
Да, =DeaD= верно заметил в начальном топике:
konstantinmirin писал(а):Желание возникает потому что я хочу со всеми устройствами, которые будут у робота "общаться" в ROS через драйвера (существующие или самописные) Player. Если брать радиоканал, то все команды идут на МК, а он уже раздает все устройствам.
Крайне интересно, как минуя МК вы собираетесь управлять сервами, читать показания с дальномеров и рулить коллекторными движками? По моему один фиг придется ставить МК, а уж как этот МК соединен с ПК - вам не всё равно? Или блютуз или USB<=>UART адаптер.
Значит на каждое устройство свой МК (если это например шасси) или использовать устройства, которые совместимы с компом (например, веб-камера). То есть максимально отделить модули друг от друга, воспользовашись для этого архитектурой ROS и Player (драйвера которые там есть тут не подойдут, но принцип - вполне) Тогда получается гибкая и желеная и программная часть.
В принципе, даже при таком подходе можно сделать р/у часть. На каждый мк свой блютус и натыкать их в USB. Устройств пока что 3 штуки всего.
Обновление. В результате обсуждеия пришли все же к тому, что вполне можно начать с Р/у модели, но желание "на базе OpenRobotics" остается, потому что ORFA хочется использовать. Да и другие вещи понравились. Плюс полная поддержка этого проекта на форуме
Так что пока обсуждаем железки.
Прелесть ROS еще и в том, что можно использовать симулятор OpenRAVE, к которому все уже подключено, ничего не надо "допиливать".
Собственно пока на этом все, потому что конкретных расчетов у меня нет. От железа пока нужна тележка, камера, дальномер. С этим он должен будет научиться ездить.
Я знаю, что идея не оригинальна. Мне кажется главное отличие - в максимальном использовании готовых компонент, чтобы не изобретать колесо или изобретать по минимуму. Только там где это колесо можно заменить стальным вместо титанового и сделать все изделие более доступным.
Ближайшие планы:
1) защитить диплом (24-26 фев)
2) разобраться с кодом ROS и симуляцией
3) прикинуть примерный конфиг робота и смоделировать его, заменив бешенно дорогие лазеры простым дальномером и камерой
4) добиться нормального объезда препятствий в модели
5) собрать железку и покататься на ней
6) двигаться дальше с манипулятором
Обновление 2. В процессе обсуждения выяснилось что самая критичная часть робота - это стереозрение, позволяющее хорошо ориентироваться в пространстве. Так что план немного корректируется:
3) Собрать подобие "головы" в плане зрения (см viewtopic.php?f=35&t=7517&start=30#p148256)
4) Научиться с помощью этого строить 3Д модель
5) прикинуть примерный конфиг робота и смоделировать его, заменив бешенно дорогие лазеры простым дальномером и камерой
6) добиться нормального объезда препятствий в модели
7) собрать железку и покататься на ней
8 ) двигаться дальше с манипулятором
Ближайший месяц-два-три я буду только рад послушать любые замечания/предложения и т.п. по поводу правильной организации робота - и железок и софта и общей конфигурации.
А, да, еще надо бы на базе этой работы написать кандидатсткую и защитить Это если в аспирантуру возьмут