Большинство роботов, показанных в старых (да и некоторых новых) научно-фантастических фильмах, двигались рывками. До недавнего времени и большинство реальных роботов двигались точно так же. Сейчас высокие технологии привели к тому, что движения роботов могут быть очень плавными, без рывков.
Для того, чтобы наглядно увидеть преимущества плавных движений роботизированных систем перед движениями, которые больше похожи на рывки, команда исследователей из Университета Чалмерса (Chalmers University) провела специальный эксперимент. В нем использовалась одна и та же механическая система, которая управлялась различными алгоритмами движения.
Первая группа ПО позволяла роботу двигаться так, как мы к этому привыкли — рывками. Вторая группа ПО включала специальный алгоритм, сглаживающий движения робота. Как оказалось, второй способ предпочтительнее, и не только потому, что так движение робота выглядит лучше для человека. Нет, здесь все дело в рациональности и энергосбережении: при гладких, плавных движениях робота энергии потреблялось на 40% меньше, чем в случае движений, которые не сглаживались.
Большинство промышленных роботов, роботизированных станков с манипуляторами и тому подобных систем двигаются без сглаживания. Исследователи (работу которых, в частности, поддерживает General Motors) указывают, что использование алгоритмов сглаживания движений позволит производствам экономить значительные средства в результате более энергоэффективной работы производственных систем. 40% экономии — это огромные средства, в масштабах крупного предприятия.
Комментарии (22)
Foreglance
01.09.2015 08:57Цикл раскрутить-остановить-реверсировать мотор требует значительно больших токов, по сравнению с его вращением на максимальной скорости — это видно по пикам потребления энергии на видео.
Думается, что среднюю скорость манипулятора можно оставить прежней, уменьшив ускорение при начале и завершении движения (двигать плавнее), но увеличив скорость мотора на этапе основного перемещения.
Рассуждая как не специалист-робототехник (собравший пару любительский манипуляторов) — думаю скорость перемещения частей манипулятора очень ограничена их инерционностью, балансом механической жесткости и прочности, требуемой точности и повторяемости операции, электрическими и механическими ограничениями электромоторов (про гидравлику даже не берусь размышлять — с ее мощностями и давлениями).
В 3D принтерах вроде такое уже используют в некоторых прошивках — чтобы снизить вибрации и увеличить скорость.
Формально, под максимальной скоростью робота-манипулятора подразумевают максимальную скорость конечной точки захвата (griper's tip) при максимальном раскрытии сегментов (joints), однако такую скорость нельзя принимать за достоверную, а вместо этого стандартным измерением считается скорость в цикле «поднять и положить на расстоянии 12 дюймов». Источник на английском: Articulated robot:«Maximum Speed»;Industrial robot:Speed.
SunSunSun
01.09.2015 09:41Решено, начинаю плавно ходить, двигаться и говорить :)
Gothician
01.09.2015 09:48-2Точно. А еще бы нашим официальным лицам научиться плавно думать и говорить. А то сначала скажут, а потом начинают соображать, что же они сказали.
DrReiz
01.09.2015 13:34У современного человека проблема другая — калорий потребляется больше, чем расходуется. Соответственно, для человека рекомендация обратная — двигаться рывками!
Siper
01.09.2015 11:11+3Ого, такими темпами они скоро придумают возвращать часть энергии в сеть при торможении.
dendron
01.09.2015 11:16Они там не matplotlib использовали для рисования графиков? Уж больно стиль похож.
Alv
01.09.2015 11:32В общем-то, вполне вероятно, что людям такое движение кажется естественней как раз потому, что эволюция отсекла резкие движения у наших далеких предков как энергонеэффективные.
neverice
01.09.2015 11:43Ну и бонусом идет меньше нагрузки на узлы, меньше вибрации, выше точность (в некоторых случаях), не такая массивная станина и т.д. Честно говоря, был уверен, что такое решение уже давно применяется в промышленных роботах.
mobilesfinks
01.09.2015 15:37+1Вспоминается сразу Основы теории цепей и переходные процессы
Если так логически подумать, то резкие движения — частые переходные процессы, больше энергии уходит для «старта» цепи — для запуска серводвигателей. При плавном движении, когда переходных процессов меньше, то и расходов энергии на движение меньше, к тому же тут ещё можно использовать инерционность манипулятора.
Аналогия пришла с фрагментацией диска. При большой фрагментации на обычном HDD скорость доступа к файлам падает т.к. для чтения файла головкам диска нужно совершать лишние движения (излишний расход времени). Тут примерно так же получается, но с энергией.
ProLimit
01.09.2015 22:20Авторы работы лукавят с этим видео. Они всего лишь снизили ускорения, но чтобы компенсировать замедление, съели паузы (там где «несглаженый» робот просто ждет). Если делать все честно, то второй робот не выполнит программу гораздо медленнее. Если говорить об эффективности производства, то оно зависит от времени выполнения команды, возможно даже боьше чем от энергопотребления.
Ezhyg
Ага, на 40% увеличили энергоэффективность… за счёт снижения скорости на 40% — гениально!
Color
Сначала тоже так подумал, но, судя по всему, снижение скорости там меньше, чем 40%.
К тому же есть линии, которые не так сильно чувствительны к скорости, да и распараллелить процесс всегда можно.
Что-то мне подсказывает, что 40% — это нехилая оптимизация расходов. И список компаний, участвующих в проекте, показанный в конце видео (в первую очередь KUKA, Deimler и Siemens) говорит о том, что это действительно так
Ezhyg
Конечно же я утрировал :). Мало того, там в некоторые моменты плавное движение оказывалось даже впереди.
kumbr_87
Сомнительно что более плавное движение может обогнать более резкое т. к. максимальная скорость в обоих случая ограничена техникой, но в случае более резкого движения ускорение больше, соответственно он заведомо должен уходить вперед. Как-то сомнительно это все, не в плане энергосбережения, а в плане обеспечения одинаковой скорости работы.
Ezhyg
Так снято видео. Я не виноват, не пинайте меня :).
Судя по видео, в паре мест «плавное нарастание» начинается сразу после «плавного затухания», а при движении рывками там же стоят паузы.
Кстати, в самом видео сказано о 30-35%, цифры 40 там нет :).
Мало того, в начале видео есть слова про оптимизацию траектории, а потом показывают плавность движения.
В предыдущем комментарии я как раз хотел написать, про то что алгоритм лучше рассчитывающий траекторию движения сервоприводов, следящий только за тем, чтобы сам манипулятор был в нужном месте, не важно в каком порядке (ну, с определёнными оглядками на рабочее пространство) — окажется полезнее простой плавности. Наряду с уменьшением ненужных пауз, во время которых вполне возможно и сделать плавные замедление-ускорение.
AdvanTiSS
Алгоритм движения на автоматизированном конвейерном производстве предельно оптимизирован — там каждый лишний сантиметр технологического перехода на счету. Речь идет сугубо об энергетической эффективности движения. Судя по результатам — излишнее ускорение расходует больше энергии при старте и торможении чем плавное движение при одинаковой средней скорости
vintage
Водителям маршруток бы такой алгоритм в подкорку, а то у них есть только два режима работы «быстрее догоняем впереди идущего» и «срочно тормозим, чтобы не поцеловать его в зад» :-)
Mad__Max
Лучше сразу заменять работами.
Gothician
В промышленности уже давно применяют устройства плавного пуска двигателей и преобразователи частоты. И они действительно позволяют сохранить достаточно много энергии. И не только — они также увеличивают ресурс силовой части и подвижных частей, убирают паразитные реактивные мощности.
Ezhyg
Вы не поверите, но в этом роботе уже используется плавный пуск, иначе его движения были бы похожи вообще на брейкданс.
А остальное известно любому хоть чуть-чуть разбирающемуся в технике.
Вот только речь идёт про другое.
Gordon01
Уменьшили ускорения. Скорость та же.
Mad__Max
Если достижимая скорость та же, а ускорения уменьшили, то общее время совершения движений очевидно увеличится, а средняя скорость снизится.
Либо одновременно со снижением ускорений нужно увеличить максимальную скорость, чтобы это компенсировать. Но если это возможно и допустимо для данного конкретного робота, то почему это не было сделано раньше без всякой привязки к «плавности»?