Страница 1 из 2

Проектирование робота.

Добавлено: Сб июн 16, 2012 14:05:51
afagorn
Здравствуйте уважаемые радиокоты и кошки!
Вообщем идея такая: ставишь робота на колесиках на стол, он едет до края стола, определяет границы стола, поворачивает определяет следующию границу стола. Вообщем что бы ездил улиткой по столу. Вот схема как он должен ездить. Подскажите как это реализовать.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 14:23:14
Alexey123
А робот при этом может что-то чертить на столе? Если да, то при нахождении края стола или линии отъезжать назад и поворачивать. Иначе нужно в "первом круге" определить длину стола при помощи энкодеров и после этого начать вычитать из длины некую константу, определяя таким образом рассоояние, которое нужно проехать.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 14:29:47
afagorn
Я не понял зачем чертить нужно? И как сделать что бы робот определял край стола?

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 14:41:45
Alexey123
Вариант с линией неудачный, первое, что пришло в голову. В качестве датчика края обычно берётся микропереключатель с длинным "усиком" так, чтобы в нормальном состоянии(робот на ровной поверхности) он был замкнут и находился спереди робота. Второй вариант датчика - источник света и фотодатчик, которые находятся опять-таки спереди робота. Если робот на поверхности, то свет отражается и попадает на фотодатчик. Если датчик находится в воздухе, то отражёный свет не попадет на датчик.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 14:45:22
afagorn
Мне второй вариант понравился больше. (Можно он нем более подробно как это реализовать, а то я чайник в этом деле или ссылку.) Вторая проблема: как он будет определять второй, третий и последующие круги? Это наверное самое сложное.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 14:56:34
Alexey123
Если мы на колёса робота поставим датчики-энкодеры, то мы сможем определить расстояние, которое проехал робот. Пока мы едем первые два отрезка, определяя край стола, мв можем энкодерами замерить проеденное расстояние(пусть это будут х и у). Когда робот начинает проезжать четвёртый отрезок пути, он берёт у и вычитает из него некоторое число. С этого момента датчики края нам не нужны. Робот просто сравнивает полученную разность и показания энкодеров, если они равны - то робот поворачивает и начинает делать новый отрезок. Ну а когда х или у становятся равными нулю, то это значит, что путь завершён. Вот как-то так.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 15:07:42
afagorn
Спасибо за совет. А эти энкодеры их модно купить в радиомагазине?

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 15:10:28
Alexey123
Я думаю, что да. Энкодеры ещё есть в компьютерных мышках, они находятся около колеса прокрутки. Здесь энкодер нужен тошько один, второй необязателен.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 15:18:58
afagorn
Спасибо тебе большое! Очень мне помог.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 15:55:28
afagorn
Если у кого есть другие вариант пишите не стесняйтесь!

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 18:17:18
Ser60
Мы делали со студентам робота, кот. об'езжал препятствия на соле и опредеял край стола. См. описание с видео работы на http://mcs.uwsuper.edu/sb/327/Projects/2009/Trackbot/
Предполагая, что скорость движения робота близка к постоянной, в Вашем случае вместо энкодера я-бы просто замерил время движения по первым двум сторонам стола после поворота до обнаружения края и после третьего поворота поворачивал немного раньше.

Вы не написали предполагается-ли, что робот будет поставлен на стол так, чтобы траектория заворачивалась по часовой стрелке и вообще, будет-ли он первоначально поставлен на край стола? Если нет - алгоритм будет немного сложнее.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 21:47:33
afagorn
http://mcs.uwsuper.edu/sb/327/Projects/2009/Trackbot/
Почему на английском? Как-то не патриотично.
Вы не написали предполагается-ли, что робот будет поставлен на стол так, чтобы траектория заворачивалась по часовой стрелке и вообще, будет-ли он первоначально поставлен на край стола? Если нет - алгоритм будет немного сложнее.
Ой ну Вы и замудрили. Я бы конечно написал если бы робот зарание не был на столе. А так он уже поставлен на стол. Заворачивать он может и по часовой и против.
Предполагая, что скорость движения робота близка к постоянной, в Вашем случае вместо энкодера я-бы просто замерил время движения по первым двум сторонам стола после поворота до обнаружения края и после третьего поворота поворачивал немного раньше.
Я предполагаю что робот будет двигаться хаотично. А если он встретить препяствие на маршруте. Но идеальный вариант если робот будет ехать по маршруту, который указан на схеме и встретив припяствие будет объезжать его и продолжать ехать по маршруту. Вот схема.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 21:59:34
Alexey123
Так как уже очевидно, что в роботе будет микроконтроллер, то добавить реакцию на препятствие можно при помощи нескольких строчек кода и датчика встречи с препятсясвием в виде бортика с микропереключателем.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 22:06:53
afagorn
Alexey123 писал(а):Так как уже очевидно, что в роботе будет микроконтроллер, то добавить реакцию на препятствие можно при помощи нескольких строчек кода и датчика встречи с препятсясвием в виде бортика с микропереключателем.
А надо сделать что бы он ездил по маршруту.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 22:18:59
Alexey123
Ну я уже предложил идею "прокладки" маршрута. А встреча с препятствием будет ветвлением, при этом во время объезда запись расстояния приостанавливается.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 22:46:17
afagorn
Alexey123 писал(а):Ну я уже предложил идею "прокладки" маршрута. А встреча с препятствием будет ветвлением, при этом во время объезда запись расстояния приостанавливается.
Что-то я не понял идею прокладки маршрута.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 23:05:54
Ser60
afagorn писал(а):Почему на английском? Как-то не патриотично.
Статью писал мой студент и русского он не знает.
afagorn писал(а):Я бы конечно написал если бы робот зарание не был на столе. А так он уже поставлен на стол.
Я спрашивал не это. Предполагается-ли, что траектория движения будет заворачиваться улиткой по часовой стрелке? Если нет, то роботу придется решать методом тыка куда поворачивать по достижении края стола. В любом случае, для точного поворота на 90 градусов нужен будет либо датчик движения на колесах (как предлагал Alexey123) либо электронный компас.

Компас будет предпочтителен для возврата на первоначальную траекторию движения вдоль края стола после об'езда препятсявия. С препятсвиями все вообще сложнее, т.к. даже если отключить датчик расстояния на момент об'езда и предположить, что робот вернется на первоначальную траекторию после об'езда, то трудно учесть размеры препятствия для определения момента поворота спирали.

От какого напряжения питаются моторы робота?

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 23:18:04
afagorn
Я спрашивал не это. Предполагается-ли, что траектория движения будет заворачиваться улиткой по часовой стрелке? Если нет, то роботу придется решать методом тыка куда поворачивать по достижении края стола. В любом случае, для точного поворота на 90 градусов нужен будет либо датчик движения на колесах (как предлагал Alexey123) либо электронный компас.
На схеме же обозначено что робот будет ездить улиткой и угол поворота будет равен 90 градусов.
А зачем нужен будет датчик движения если поворот на 90 градусов можно осуществить с помощью МК.(Или нет?) А компас может вернуть робота на начальную точку?
От какого напряжения питаются моторы робота?
Все еще проектируется на бумаге.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 23:27:41
Ser60
Улитка может заворачиваться по часовой стрелке или против. Предполагаете-ли Вы какой-либо определенный поворот траектории, например всегда по часовой стрелке. Если да, то робота надо будет ставить на стол определенным образом.

МК сам по себе не имеет понятия о движении и поворотах робота. Ему нужны датчики, он может лишь обработать сигнал с них для управления моторами. Компас позволит только определить направление движения. Вы с компасом когда-либо по лесу ходили? Только он один не сможет вернуть робота в первоначальную позицию. Нужен будет еще датчик пройденного пути. Ну или датчик положения, например на основе GPS.

Re: Проектирование робота.

Добавлено: Сб июн 16, 2012 23:41:45
maglev
Какие 90 градусов? Никто при испытаниях его ровно не будет выставлять, я-бы вообще по диагонали мордой в угол уткнул в качестве начальной позиции.
Или тебе только в теории разработка нужна?