Каков хороший подход к четвероногой походке?


12

У меня есть маленький четвероногий с тремя ногами степени свободы, над которым я работал: 3DOF Mini Quadruped .

Мой оригинальный код для этого был простым сервоконтроллером на Arduino и кодом Scala, который отправлял сервоприводы по проводам. Я выполнил всю логику инверсной кинематики и походки в Scala и заставил ее ходить: 3d из четвероногой первой походки .

Моя логика походки в Скале была несколько наивной; это зависело от того, были ли ноги в правильном положении в начале (одна сторона выдвинута вперед и назад, а другая - навстречу друг другу). Логика была просто перевести все четыре фута назад на 1 мм вдоль y, и всякий раз, когда угол тазика становился чрезмерно задним, остановитесь и выполните небольшую процедуру, где эта нога поднимается на 10 мм в z, затем переводится вперед на 60 мм вдоль y и опускается вниз. Наивный, но эффективный.

Теперь я переписал свой код IK в Arduino C, и я пытаюсь решить, как двигаться дальше с динамикой походки. Мне было трудно найти хорошие, легкие для понимания ресурсы о походках. У меня есть кое-какие знания о разнице между динамически устойчивыми походками (такими как походка ползучести), когда тело всегда является устойчивым штативом, и динамически нестабильными походками (ходьба, рысь), когда две ноги отрываются от земли одновременно, и телом по существу падает вперед в ногу.

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

Я знаю, что это довольно общий вопрос, но мне интересно посмотреть, как другие люди напали на эту проблему, и все, что мне удалось найти, - это исследовательские работы.


Я впечатлен работой, которую вы проделали с роботами. Я остро нуждаюсь в вашей помощи, чтобы найти некоторые ценные решения. В течение последних 6 месяцев я искал решения для решения кинематики гексапода без каких-либо положительных результатов. Мне удалось найти уравнения для всех углов сервопривода с телом, параллельным полу, но я не смог сделать это с помощью тело наклонено в одну сторону. Благодарим Вас за помощь :-) С уважением, Гари

Добро пожаловать в R.Se @ user2350 - пожалуйста, не задавайте дополнительные вопросы (независимо от того, как они связаны) в качестве ответов
Андрей

Ответы:


5

Походка у вас на самом деле не так уж и плоха, хотя ступням не хватает тяги, поэтому трудно понять, насколько она хороша на самом деле.

Я не уверен в вашей терминологии динамически стабильных походок. Как я всегда это понимал, походка в стиле двух штативов известна как статически устойчивая походка, в то время как при ходьбе, как Петман, используется динамически устойчивая походка. Никогда не слышал о динамически нестабильной походке. Это больше похоже на пьянство.

Две ноги на земле, вероятно, нижний предел для этой конструкции робота. Как правило, это проще сделать с помощью высоких гуманоидных роботов, которые падают долго. Широкие плоские роботы должны подниматься и ставить свои ноги довольно быстро, если они не оставляют многих на полу.

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

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

Если ваша цель - только максимальная скорость, то я бы просто сконцентрировался на финансировании оптимальной схемы походки. Это сложнее сделать. Есть два хороших способа приблизиться к этому:

  1. Моделирование. Создайте комплексную компьютерную модель робота, включающую массу, жесткость, крутящий момент и т. Д. Используйте эту модель, чтобы полностью понять динамическое поведение.

  2. Методом проб и ошибок. Вы можете сделать это трудным путем, программируя случайные походки, настраивая их на догадку и измеряя их производительность. Попробуйте заставить его идти как вперед, так и по диагонали. Или вы можете использовать генетический алгоритм, чтобы помочь вам автоматически искать лучшие походки. Сложность использования GA заключается в том, что у вас должен быть какой-то способ автоматически измерять производительность походки.

Третий способ - превратить робота в ученого, который проводит тщательные эксперименты над собой, чтобы проверить гипотезы о себе и понять, как ходить, как робот из морской звезды Корнелльского университета .

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.