Как позиционировать автономного робота с точностью 0.5 мм?

П.Х.Мороз
Offline
Зарегистрирован: 04.02.2015

Задача следующая:

Двухколёсный робот должен, двигаясь по листу бумаги формата А3, рисовать на нём штрихами "карандашный" рисунок. Например портрет человека. Или что другое - типа старинной литографии.

Проблема такая:

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

Для контроля и исправления ошибки позиционирования нужна обратная связь. Нужна система определения положения и направления движения робота. Подскажите - что можно использовать? Может какая-то активная поверхность на которой располагать лист бумаги? Вообще - на каких принципах и датчиках можно реализовать позиционирование с точностью 0.3-0.5 мм? (По моим прикидкам - достаточно для рисунка на листе А3)

axill
Offline
Зарегистрирован: 05.09.2011

думаю, что такая точность для полностью автономного робота (в чистом поле) не достижима

можно придумать активное или пассивное маркирование поля и снабдить робот датчиками для ориентации по созданной маркировке

возможно самый простой вариант - это сделать позиционирование шановыми приводами как вы написали с автоматической периодической корректировкой нуля (установкой нуля координат). Это позволило бы держать накапливаемую погрешность в заданных рамках. Например в левом переднем углу поля сделать угол или пассивно отмеченный или активно. Когда робот решает скорректировать ноль он двигается по направлению этого угла условно "вперед и влево" до срабатывания датчиков по оси x и y. Датчики могут быть контактные или индукционные. Точно так же станок чпу делает установку нуля координат. У меня обычные констактные датчики дают точность установки нуля на уровне одной десятой мм. Проксимити свитч даст точность еще лучше. Угол можно искать или исходя из предположения, что накопленная ошибка не бывает настолько большой, чтобы совсем потеряться либо дополнить ориентацю по акселерометру (по полюсам земли)

П.Х.Мороз
Offline
Зарегистрирован: 04.02.2015

В станках ЧПУ рабочая головка передвигается по жёстким направляющим шаговыми двигами, поэтому перемещение получается очень точным и ошибка если появляется, то только из-за люфта, который легко устраняется, или из-за сбоя - неверного выполнения команды, что крайне маловероятно. Вероятность накопления ошибки ничтожна.

В моём случае корректировка нуля не поможет ИМХО, нужно корректировать траекторию "на лету", по фактическому перемещению. Робот двигается на двух резиновых колёсах, в общем случае имеющих неодинаковую окружность, чтобы он двигался по прямой - надо его контролировать и поправлять. Кривые разных радиусов рисуются за счёт разности вращения колёс, неизбежная неточность соотношения количества оборотов колёс и их пробуксовка будут изменять кривую. Компас, из доступных датчиков, выдаёт всего 256 направлений на окружности 360 градусов, ошибка - больше половины градуса! И так далее...

Для рисования похожего на образец портрета, нужно сделать минимум 300-500 штрихов в среднем по 10 см длиной на листе А3. Т.е. 30-50 метров нужно начертить. К концу рисования, из-за накопившихся ошибок, картина будет как у Пикассо! Глаз на подбородке!

Когда-то давно, в детстве, видел инженерный планшет для ввода чертежей в комп. Размер - формат А1, под полупрозрачной поверхностью видно множество пересекающихся горизонтальных и вертикальных проволок с шагом 5-8 мм примерно. Чертёж крепился на поверхность планшета. Работали с ним мышью похожей на современную, только сверху куча кнопок была, и впереди торчала пластмассовая лупа с прицельной точкой, которую можно было очень точно навести на точку чертежа. Мне кажется эта технология мне помогла-бы, если кто-нибудь рассказал, что это было и как работает.

axill
Offline
Зарегистрирован: 05.09.2011

посмотрите как работают сканирующие лазером 3d сканнеры. там используется лазер и камера. может такая идея поможет

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

Сделать под лист подложку с координатной сеткой нужного шага из проводников на которые поочередно подавать импульсы тока. Текущие координаты опроса транслировать в эфир (вайфай, блютуз и т.п.) Робот должен иметь датчик эм-поля (в простейшем случае дроссель) появление сигнала на котором позволяет фиксировать переданные в этот момент координаты опроса сетки и значит определить точное положение робота.

axill
Offline
Зарегистрирован: 05.09.2011

Alex_Sk пишет:

Сделать под лист подложку с координатной сеткой нужного шага из проводников на которые поочередно подавать импульсы тока. Текущие координаты опроса транслировать в эфир (вайфай, блютуз и т.п.) Робот должен иметь датчик эм-поля (в простейшем случае дроссель) появление сигнала на котором позволяет фиксировать переданные в этот момент координаты опроса сетки и значит определить точное положение робота.

как вы себе это представляете при том, что нужна точность меньше мм?

сетку такую сделать самому не реально. а чисто лросселем не получится расстояние до ближайшего узла сетки замерить, чтобы можно было получить точность лучше чем узел сетки. опять же магнитное поле размажет картину на как минимум несколько сантиметров

такая точность исключает электромагнитные даьчики, здесь только лазерное позиционирование

кстати. лазерные дельномеры дают сопоставимую точность. если по акселерометру определять просто в каком направлении ось X, а в каком ось Y, по кждому направлению иметь стенку расстояние до которой измерять лазерным дальномером - два измерения и получаем X и Y, правда не представляю из чего сделать такой точности дальномер

art100
Offline
Зарегистрирован: 09.03.2014

да без проблем

рельсы

 

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

axill пишет:

как вы себе это представляете при том, что нужна точность меньше мм?

сетку такую сделать самому не реально. а чисто лросселем не получится расстояние до ближайшего узла сетки замерить, чтобы можно было получить точность лучше чем узел сетки. опять же магнитное поле размажет картину на как минимум несколько сантиметров

такая точность исключает электромагнитные даьчики, здесь только лазерное позиционирование

Да запросто. Шаг сетки может быть и 5 мм. С датчика поля (дросселя) на аналоговый вход и пишем в массив скажем по 5 значений опроса сетки по каждой координате если 3-е значение больше чем предыдущее в этой позиции и в отдельную переменную позицию по сетке. А дальше интерполируем по уровню сигнала и получаем позицию относительно проводов сетки с необходимой точностью. Вы что, серьезно считаете что в дигитайзерах и графических планшетах сетка в сотые миллиметра или лазеры? :)

П.Х.Мороз
Offline
Зарегистрирован: 04.02.2015

Alex_Sk пишет:

axill пишет:

.......... такая точность исключает электромагнитные даьчики, здесь только лазерное позиционирование

Да запросто. Шаг сетки может быть и 5 мм. С датчика поля (дросселя) на аналоговый вход и пишем в массив скажем по 5 значений опроса сетки по каждой координате если 3-е значение больше чем предыдущее в этой позиции и в отдельную переменную позицию по сетке. А дальше интерполируем по уровню сигнала и получаем позицию относительно проводов сетки с необходимой точностью. Вы что, серьезно считаете что в дигитайзерах и графических планшетах сетка в сотые миллиметра или лазеры? :)

ДА-ДА-ДА! Это оно!

Расположив по кругу вокруг пишущего узла 8 разнонаправленных датчиков и измеряя уровень наводимого от разных линий сетки импульсного ВЧ-сигнала, можно достаточно точно вычислить положение и направление робота. Наверно по этому-же принципу работает планшет описанный мной в посте №3.

Спасибо огромное Alex_Sk ! Очень выручил! Я раньше не занимался роботами, жизнь заставила, поэтому задаю детские вопросы.

P.S. Дочь учится в седьмом классе, с этого года у них в программе факультатив по робототехнике. Договорились с дочей летом сделать робота-художника - внеклассная работа. А пока-что я буду готовить планшет под него (ещё раз спасибо Alex_Sk) и писать библиотеку управления. Собирать робота и писать для него прогу будет она сама, с моей помощью (ей - алгоритм, мне - исполняющие модули). Иначе за лето не успеть. Надо-же ещё и отдыхать ребёнку. На Алтай, позагорать, покупаться на недельку на Ая. Плюс ещё в детском лагере полторы недели фестиваля детских театральных студий. Плюс к бабушке в деревню на две недели - делать робота мало времени остаётся.

bwn
Offline
Зарегистрирован: 25.08.2014

Удачи в ваших начинаниях, хотя по замаху делать надо уже сейчас, лета не хватит точно.