如何为Drake系统设置不同的输入输出大小



我正在尝试编写一个系统,该系统将自由体的状态作为输入,并将旋转关节的期望状态作为输出。

因此输入端口应该接受大小为13的向量,输出端口应该给出大小为2的向量。

现在,我只想从输入状态中提取一个值,所以我尝试这样做:

ball_state = Variable("ball_state")
desired_theta_system = builder.AddSystem(SymbolicVectorSystem(input=[ball_state], state=[], dynamics=[], output=[ball_state[6], 0]))

但是,这不起作用,因为ball_state变量不可下标。

我该怎么做?我需要导出LeafSystem吗?

谢谢!

你当然可以写一个小的LeafSystem,但是你可以用MatrixGain系统来完成它(例如用D =

)
[0, ..., 0, 1, 0, ...] ;
[0, ... 0].

最新更新