roboforum.ru

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

Робот DemoVisionRobot с техническим зрением

Re: Робот DemoVisionRobot с техническим зрением

=DeaD= » 21 май 2010, 22:37

А сейчас как организовано управление сервами? Не понимаю как плавность движений может дополнительную нагрузку создать.

Re: Робот DemoVisionRobot с техническим зрением

artymen » 22 май 2010, 11:23

По прерыванию от таймера с интервалом в 10мс выполняется приращение ШИМ на 1мкс в сторону текущего заданного положения. 10мс это очень большой интервал по сравнению со временем выполнения обработчика прерывания, но если сделать, например, 0.1мкс, то его выполнение отберет существенно больше времени у основного кода. Хотя впрочем менее 1мс не имеет смысла делать. Но есть паузы 50мс из-за того, что я вынужден запрещать прерывания во время приема кадра от камеры. В принципе, можно включать их между приемом строк, тогда более 1мс пауз не будет. Но опять же, при интервале 10мс я делаю приращение в 1мкс. Если я уменьшу интервал, тогда и приращение надо будет уменьшить, а это не имеет смысла, т.к. чувстительность сервы к ШИМу около 10мкс.
Короче говоря, я не понимаю, как возможно обеспечить плавность движений конкретно этих серв.

Re: Робот DemoVisionRobot с техническим зрением

Michael_K » 22 май 2010, 11:33

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

Re: Робот DemoVisionRobot с техническим зрением

=DeaD= » 22 май 2010, 13:18

artymen писал(а):По прерыванию от таймера с интервалом в 10мс выполняется приращение ШИМ на 1мкс в сторону текущего заданного положения.

Нет смысла менять скважность ШИМ чаще 20мс, с этим периодом сигнал уходит на серву.

Попробуйте между строк в середине приёма кадра 2 раза обновлять положение сервы.

И приращением возможным поиграйте.

Re: Робот DemoVisionRobot с техническим зрением

artymen » 22 май 2010, 23:27

Да, точно, забыл про период. Получается, что каждое второе приращение не имело никакого значения, вернее сказать, привело к неравномерности изменения сигнала с каждым периодом ШИМ, но я сильно сомневаюсь ,что это при такой большой частоте привело бы к дрожанию. Природа дрожания заключается в том, что в зависимости от настроек контура регулирования в серве и текущего состояния системы остановка/разгон происходят в опредленных временых зонах, когда серва приближается к целевому положению, и чтобы предовтратить/сгладить разгон/остановки, нужно в этих зонах изменять целевое положение. Это невозможно, во всяком случае требуется серьезное вмешательство и глубокие изменения. В принципе, при условии неизменности нагрузки, можно подбирать интервалы/приращения и случайным образом может и удастся "синхронизироваться", но это условие отсутствует.

Re: Робот DemoVisionRobot с техническим зрением

=DeaD= » 22 май 2010, 23:37

Думаю опять какая-то левая шняга мешается, типа 8 бит :crazy:

Плавный разгон и торможение - так сделать максимальное изменение ШИМа за 20мс в размере 10мкс и всё, думаю там нормально всё будет работать.

Re: Робот DemoVisionRobot с техническим зрением

Michael_K » 23 май 2010, 00:37

artymen писал(а):В принципе, при условии неизменности нагрузки,

Ну во-первых, не надо недооценивать динамику...
Невооруженным глазом даже на ютубовском ролике видно, как руку колбасит.
(В принципе, наверное, можно поприкручивать ПИД-ы...)

=DeaD= писал(а):Думаю опять какая-то левая шняга мешается, типа 8 бит

+1... Тоже так кажется. Тщательней курить код.

Re: Робот DemoVisionRobot с техническим зрением

artymen » 23 май 2010, 09:31

Вот я как раз про динамику этим самым и сказал, что она свой вклад вносит весьма существенный. Ладно, попробую, раз у вас получается все. Поставил в очередь заданий :)

Re: Робот DemoVisionRobot с техническим зрением

loox » 26 май 2010, 18:48

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

Re: Робот DemoVisionRobot с техническим зрением

artymen » 05 июн 2010, 20:12

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

В-общем, на данный момент все как бы готово. Работает мой робот ну очень отвратно. Между получением кадра и выдачей управления на сервы задержка около полусекунды, так что можете представить себе, какой он тормоз :) Я совсем не ожидал, что вычисления займут настолько много времени, даже учитывая программный FPU. Со смехом вспоминаю, как я в самом начале все подбирал и расчитывал, ориентируясь на 30 fps от камеры :D

Заставить моего киборга схватить шарик подобно подвигу. Если на это посмотреть со стороны, то даже и не сообразишь, что он это делает на основе зрения и в результате огроменных вычислений. Фактически я тыкаю шариком этому балбесу в рожу и всячески подставляю его ему, чтобы он наконец схватил :D Тут еще плохо, что область обзора видеокамеры внизу прилично закрывается схватом, приходится маячить шариком в верхнем полуконусе обзора, и в попытках нацеливания робот поднимается вверх, откуда его сложно заманить вниз, а из-за неидеального распознавания размер рапознанного участка обычно меньше фактического, и вычиялемое расстояние до шарика оказывается бОльшим, чем есть, и робот вытягивается во всю длину, пытаясь дотянуться, в результате у него не остается запаса расстояния для непосредственного захвата после прицеливания, я тыкаю ему в рожу шариком, и он пятится назад. Ну и в попытке захвата он промахивается, и даже хватает пальцы, но в большинстве случаев, благодаря моей мегатехнологии он их отпускает. Вот такой вот цирк :D Позже выложу видео.

До защиты осталось 15 дней. Диплом практически готов, остались совсем мелочи. Я предпочту оставшееся время посвятить подготовке празднования защиты. А робот мне уже, честно говоря, надоел. Я полгода в-одиночку пыхтел над ним на голом энтузиазме. Этому тоже есть предел.

P.S. Все-все материалы опубликую здесь после защиты :)
Последний раз редактировалось artymen 06 июн 2010, 11:05, всего редактировалось 1 раз.

Re: Робот DemoVisionRobot с техническим зрением

artymen » 06 июн 2010, 10:42

Вот такие пироги:


Re: Робот DemoVisionRobot с техническим зрением

=DeaD= » 06 июн 2010, 10:58

А по-моему прикольный результат, просто ты слишком придираешься к себе :)
Конечно можно улучшить, но и такое зрение и управление на ARM7 это уже очень круто.
:Bravo: :beer: :good:

Re: Робот DemoVisionRobot с техническим зрением

Michael_K » 06 июн 2010, 11:51

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

А вообще, без шуток, по-моему, вполне достойно :good:

Re: Робот DemoVisionRobot с техническим зрением

artymen » 06 июн 2010, 11:55

Теперь еще потренироваться, чтобы перед комиссией мульку правильно показать :)
(Да чего там - сделать жесткую прогу и натренироваться самому, чтобы выглядело, как будто он следит за шариком,... а не вы вовремя ему шарик подставляете :D ).
самый большой развод здесь будет по отношению ко мне самому: не я робота создавал и учил полгода, а он меня тренировал ! :ROFL:

Re: Робот DemoVisionRobot с техническим зрением

Michael_K » 06 июн 2010, 13:05

Ага... Я тут уже писал где-то про гитарный синтезатор с нейросетями :)

Добавлено спустя 8 минут 42 секунды:
Найти не получается...
Там суть в том, что некая фирма сделала крутой синтезатор для гитары (примочку) на нейросетях.
И отзывы пользователей были такие, что типа сначала синтезатор вообще тупит, нифига не понимает, а потом постепенно обучается и становится круто...
Так вот как-то на выставке у разработчика спросили про обучение...
Разработчик сделал вот так O_O и сказал: "какое нафиг обучение? Там нейросеть с жестко зашитыми коэффициентами. Мы ее обучили на сотне разных гитар и хороших исполнителей и зашиваем. Она не умеет обучаться."
Тогда юзеры сделали так O_O... "А почему же тогда он сначала тупит, а потом играет лучше и лучше?"
- Ну так это ВЫ САМИ к нему привыкаете и обучаетесь играть с ним :)))


cron
Rambler\'s Top100 Mail.ru counter