Можно ли получить полную символьную c эквивалент движения? - PullRequest
2 голосов
/ 06 мая 2020

Кажется, что мы должны вставить значения numeri c в контекст и получить соответствующее уравнение движения. Можно ли вставить значения symboli c и получить EoM, например, q1, q2?

context = plant.CreateDefaultContext()
plant.SetPositions(context, q)
if v is not None:
    plant.SetVelocities(context, v)
M = plant.CalcMassMatrixViaInverseDynamics(context)
Cv = plant.CalcBiasTerm(context)
tauG = plant.CalcGravityGeneralizedForces(context)
B = plant.MakeActuationMatrix()
return (M, Cv, tauG, B)

1 Ответ

4 голосов
/ 06 мая 2020

Да! (не многие симуляторы роботов могут это сделать!) См. последнюю ячейку этого примера: https://github.com/RussTedrake/underactuated/tree/7faf2721c248e889464fe024a65982a43dd78aff/examples/double_pendulum/dynamics.ipynb, которая вызывает метод здесь: https://github.com/RussTedrake/underactuated/blob/7faf2721c248e889464fe024a65982a43dd78aff/underactuated/multibody.py

Предостережение: пока не работает через столкновения / контакт.

...