Инженеры научили роботов танцевать
Инженеры Disney Research разработали метод, позволяющий роботам или анимированным персонажам выполнять быстрые движения без остаточного раскачивания.
На этапе планирования движения алгоритм анализирует поведение модели и оптимизирует движения электромоторов так, чтобы погасить низкочастотные колебания.
Одно из отличий реального устройства от идеальной модели состоит в том, что при движении в нем неизбежно возникают деформации. В случае с быстрыми движениями и тяжелыми компонентами эти деформации приводят к довольно сильным остаточным колебаниям. Например, если переместить подвешенный трос в другую точку, после остановки руки он еще долго будет раскачиваться из стороны в сторону, пока колебания окончательно не пропадут. Основных путей решения этой проблемы два: сделать детали как можно более жесткими, но это обычно подразумевает и увеличение массы, или сделать движения как можно более медленными, что так же не всегда приемлемо.
Есть и третий путь — заранее осуществлять кроме целевых движений дополнительные, которые призваны компенсировать будущие колебания. Инженеры под руководством Морица Бехера создали алгоритм, позволяющий оптимизировать движения анимированных персонажей, состоящих из жестких и гибких сегментов, таким образом, чтобы минимизировать остаточные колебания после быстрых движений.
Разработчики проверили работу алгоритма на пяти различных моделях, в частности достаточно сложных, таких как человекоподобный персонаж, боксирующий или, играебщего на барабанах. Эксперименты на реальных персонажах из проволоки показали, что алгоритм достаточно эффективно гасит остаточные колебания, хотя и не полностью.