[Из песочницы] Эксперименты с моделированием ходьбы

cd395961694e43bdb46068da19fb50f6.jpgНебольшой рассказ о том, как простенькая физическая модель ходьбы, написанная практически на коленке, дала неожиданно хорошие результаты при сравнении с реальностью. За подробностями прошу под хабракат.

МодельОбо всем по порядку. Эксперимент родился из интереса посмотреть, возможно ли при проектировании шагающего механизма достичь равномерного и прямолинейного движения его корпуса. Проблема довольно очевидна. При вынесении центра масс за пределы стопы, сила тяжести создаёт момент, стремящийся опрокинуть робота: 02f6923d6a2c4002ae318dd105926983.pngКонечно, этого можно избежать, увеличив ступни. Если их длина будет больше ширины шага, то подобной неустойчивости не возникает. Но такой выход довольно неуклюж. К счастью, помимо опорной ноги, у нас есть нога свободная, которая может принять на себя весь получаемый механизмом момент импульса и при этом ускорится в нужном ей направлении. Модель заключается в согласовании такого движения свободной ноги с движением опорной ноги и корпуса. При этом возникает условие на максимальную длину шага при заданных параметрах робота и его скорости, а также специфическая динамика свободной ноги.Для того чтобы посмотреть, как получаемое движение будет выглядеть, была написана небольшая программа.Примечание: Модель рассматривает только движение в плоскости. Поэтому и вертикальные колебания корпуса, вызываемые переваливаниями с ноги на ногу в поперечном направлении выходят за границы обсуждаемого.

Программа cd395961694e43bdb46068da19fb50f6.jpgПотрогать её можно тут.Обозначения: M/m — отношение массы корпуса к массе ноги, height — высота тазобедренного сустава над землей, foot — длина ступни (задаётся её половина), v — скорость движения корпуса, Scale — масштаб картинки.Все величины указываются в единицах СИ.После изменения входных данных нужно нажать Calculate для пересчета параметров модели.Бегающая вертикальная черта — человек (для масштаба).

Анализ результатов Ради интереса я попробовал в качестве входных данных взять примерные параметры человека и сравнить полученные расчетом данные с экспериментальными, найденными на википедии: 1915e5c2e82f40a2b8171c6221749941.pngВ этот момент волосы у меня на голове несколько зашевелились. Само собой, реальные погрешности больше, чем расхождение в графиках: модель довольно грубая, да и «среднестатистический человек» понятие не точное. Но и чистой случайностью такую сходимость явно не объяснить.Чтобы также проверить выводы из теории о временной зависимости положения ступней, для анализы было выбрано видео. Для определения положения корпуса тречилось ухо, а за положение ступни бралось примерное положение её середины. Полученные результаты для опорной и свободной фаз движения ноги представлены на графике: 77c20a2ee7e748a5b4eb0074f1faf736.png(x — координата по оси, направленной вдоль направления движения, в системе отсчета, связанной с корпусом.)

В рассматриваемой модели, опорная ступня движется равномерно относительно корпуса (ведь относительно земли она покоится, а движение корпуса относительно земли считается равномерным). Как видно из графика (синяя линия), в действительности это примерно так и происходит.

Но куда интереснее рассмотреть движение свободной ноги. Из модели следует, что его график (красная линия) должен представлять собой два куска кубических парабол, соединённых участком с линейной зависимостью:

376cf097d1444473a7edc0611a337434.png

Перерисовав полученные данные в логарифмических координатах, получаем следующую картину:

183232c27eb44ce48ba09c10266b105b.pngКрасным и синим цветами обозначены точки, относящиеся к разным половинам исходного красного графика.

Далёкие от начала координат точки не представляют особого интереса, поскольку относятся к участку равномерного движения. По начальным же точкам можно провести прямую, что свидетельствует о наличии степенной зависимости. Угловой коэффициент при этом равен ln (x)/ln (t)≈tg (71⁰)≈2.9. То есть зависимость, как и следует из теории, близка к кубической.

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

© Habrahabr.ru