прямая транскрипция для походки компаса - PullRequest
0 голосов
/ 14 апреля 2020

Я бы хотел настроить оптимизацию траектории для системы походки по компасу (как подсказано в видео лекции, использование полномочий управления может расширить область притяжения для стабильной ходьбы).

При попытке использовать DirectTranscription класс по походке компаса, я сталкиваюсь со следующей проблемой:

plant = CompassGait()
context = plant.CreateDefaultContext()
DirectTranscription(plant, context, 21, TimeStep(0.01))

приводит к следующей ошибке:

An exception has occurred, use %tb to see the full traceback.

SystemExit: Failure at bazel-out/k8-opt/bin/systems/framework/_virtual_includes/context/drake/systems/framework/context.h:111 in num_total_states(): condition 'num_abstract_states() == 0' failed.

Есть ли быстрое решение этой проблемы? При рассмотрении реализации походки по компасу абстрактное состояние используется только для визуализации. В принципе, я мог бы сделать копию реализации походки компаса и закомментировать абстрактное состояние. Но я использую среду ноутбука Colab, поэтому я не уверен, как легко это сделать.

Спасибо!

1 Ответ

0 голосов
/ 15 апреля 2020

В реализации DirectCollocation есть опция assume_non_continuous_states_are_fixed, которая решает эту проблему для примера с колесом без оправы, который у меня здесь: http://underactuated.mit.edu/contact.html

Я попробую sh эта функция в DirectTranscription в ближайшее время. Но вы должны быть в состоянии использовать DirectCollocation немедленно. Это работает?

...