Форум myROBOT.ru » Лаборатория » Алгоритмы » Ориентация робота в пространстве.

Страниц (2): [1] 2 »
 

1. Иван_Жихарев - 19 Ноября, 2013 - 20:33:49 - перейти к сообщению
Всем доброго времени суток. Работая над проектом робота пришла в голову идея "научить" его делать карту пространства, где он находится, и передвигаться по ней с какой-либо целью.
Возникло две идеи:
Первая - "съемка и наложение". Здесь два варианта. Если робот находится в закрытом пространстве то:

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

Второй вариант, когда робот находится в незамкнутом пространстве. здесь робот составляет карту только тогда, когда это становится необходимо( в поисках пути к цели и др.) В данном случае карта динамическая. т.е. ее центром становится робот.

Вторая идея - ячейки и массивы. Опять же если робот в замкнутом пространстве он обходит ее по периметру а потом по "спирали" перемещается в центр этого пространства. при этом если на его пути возникает препятствие, которое он не сможет преодолеть, робот помечает его 0 или 1, а потом, объехав его, возвращается на прежнюю территорию. результатом получается здоровенный массив из нулей и единиц.


У меня возникает такой вывод:

Первый вариант (съемка и наложение) имеет более простую программу, но сложную для меня матчасть ( дальномер и серва для того чтобы знать угол поворота датчика(кстати вместо нее можно использовать шаговый двигатель)).
Второй вариант имеет сложную программную часть, но при этом может обойтись ик бампером.
2. Петр Киселев - 19 Ноября, 2013 - 20:55:27 - перейти к сообщению
Иван, идея замечательная и нужная! Я об этом давно думал, но страшился ее сложности. Одному такую работу осилить трудно. На мой взгляд, необходим коллективный мозговой штурм, когда даже самые бредовые на первый взгляд идеи, будят воображение и мысль может найти реальное решение.
С удовольствием подключусь к обсуждению данной проблемы!
3. Иван_Жихарев - 19 Ноября, 2013 - 21:02:41 - перейти к сообщению
съемка из 1 положения
4. Иван_Жихарев - 19 Ноября, 2013 - 21:03:46 - перейти к сообщению
переход в точку 2, съемка
5. Иван_Жихарев - 19 Ноября, 2013 - 21:04:48 - перейти к сообщению
наложение изображений из первой и второй точек
6. Иван_Жихарев - 19 Ноября, 2013 - 21:07:02 - перейти к сообщению
отбрасываем ненужные тени получаем готовую карту
(Добавление)
Это по первому методу. По второму, к сожалению, пока никаких идей нет. Ламер
7. Петр Киселев - 19 Ноября, 2013 - 21:13:39 - перейти к сообщению
Пятна внутри - это маяки?
8. Иван_Жихарев - 19 Ноября, 2013 - 21:19:49 - перейти к сообщению
Петр, рад, что вы тоже заинтересовались этой проблемой. Думаю этот вопрос когда - нибудь да и приходил в голову любому инженеру - робототехнику. Здесь я с Вашей помощью хочу добиться простейшего варианта алгоритма и матчасти.
Лично для меня сложность несет составление программы.
(Добавление)
Петр Киселев пишет:
Пятна внутри - это маяки?

Нет это препятствия.
(Добавление)
я примерно представляю как это будет выглядеть:

дальномер закреплен на валу шагового движка. контроллер считывает с него показания, поворачивает вал на определенный угол, опять считывает показания. и так несколько раз.
робот запоминает координаты точки на которой находился, передвигается на следующую опять сканирует.
в результате получатся таблицы из координат углов и расстояний.
потом все эти таблицы сложатся т.е. если на одной есть тень, а на другой нет, то в итоге тени не будет вообще.
9. Петр Киселев - 19 Ноября, 2013 - 21:54:30 - перейти к сообщению
Стало понятней!
Теперь роботу надо организовать, например, оптимальный маршрут следования в заданную точку. Подобные задачи решает робот, проходящий лабиринт.
10. Иван_Жихарев - 19 Ноября, 2013 - 22:19:27 - перейти к сообщению
Да.

Вот для наглядности "карта"
красный кружок робот (координаты (0,0))
черным цветом обозначены границы территории
красные линии - вектора до критических точек
желтые пятна - координаты критических точек( опред. по формуле х=х0 + S*cos a
y=y0 + S*cos a)
Вопрос: как роботу определить, что это именно "критические" точки (по их координатам)
(Добавление)
(желтым только те точки которые видны из начальной координаты робота)
11. Иван_Жихарев - 19 Ноября, 2013 - 22:35:03 - перейти к сообщению
здесь робот переехал в другую точку и из нее "увидел" только одну новую точку (с красной меткой внутри) потом он должен переехать в нее и от туда увидеть другие точки.
так он найдет все эти критические точки и по ним построит карту.

но для робота важна не сама карта, а пределы препятствий, чтобы потом построить маршрут до цели минуя препятствия
(Добавление)

Я, наверно, плохо объясняю, просто пытаюсь выложить все мысли по этому поводу Улыбка
12. Predator - 13 Февраля, 2015 - 10:46:27 - перейти к сообщению
вот такая статейка появилась на просторах
http://www.terraelectronica.ru/n...ws_utr.php?ID=80
никто не щупал?
13. Петр Киселев - 22 Февраля, 2015 - 14:41:55 - перейти к сообщению
Посмотрел. Спасибо за информацию!
"Не щупал", девайс, конечно, интересный, но дороговатенький!
Хорошо, что мне выделили денюжек (обещали ежемесячно подкидывать по паре тыщ).
Будем посмотреть! Голливудская улыбка
14. cjA - 27 Марта, 2015 - 01:20:01 - перейти к сообщению
Петр Киселев, Лапу когда сделаете?
(Добавление)
Иван_Жихарев пишет:
если на одной есть тень, а на другой нет, то в итоге тени не будет вообще.
тут читаю некого болотова, и там есть об негативной медицине. хз, может так и есть. Но по формулам от Ньютона и Эйлера- все имнно так есть сейчас. (это в геометрическом пространстве, есть еще цвет, теплота, мнн... блеск, (тоже величина измеряемая))
15. Петр Киселев - 27 Апреля, 2015 - 22:50:12 - перейти к сообщению
cjA пишет:
Петр Киселев, Лапу когда сделаете?

С "лапой" пока облом! Приводы, которые сделал, не подошли. Шестерни оказались слабоваты. Пока буду доделывать Танкетку и Двухкорпусного роботов. Ну и попутно решать проблему с приводами руки.
(Добавление)
Здесь появилась новая тема, созвучная с тем, что "замутил" Иван_Жихарев.
Ваня! А-у-у! Откликнись!