如何理解连续状态向量?
How to make sense of the continuous state vector?
背景
我正在尝试平衡移动倒立摆(即赛格威)。
为了模拟,我创建了一个简单的机器人,它包括一个通过旋转关节连接到圆柱体(轮子)上的杆。
问题
在构建我的 MIP 工厂后,plant.num_positions()
returns 8
和 plant.num_velocities()
returns 7
,即总共 continuous_state
尺寸是 15
- 我如何理解这么多的州?
- 我想其中之一代表杆子与垂直方向的角度。我怎么找到它?
- 还有,为什么
num_positions()
不等于num_velocities()
?
默认情况下,urdf/sdf 解析器为系统添加基于四元数的浮动基数。这个浮动基础关节有 7 个位置变量(x、y、z + 四元数)和 6 个速度(xdot、ydot、zdot,+ 空间速度)。您应该使用多体 API 以正确的顺序获取变量。
您可以在世界 link 和您的基地(在 urdf/sdf 或您的代码中)之间添加一个关节,以用例如底部的棱柱形接头。
有很多关于如何模拟它的例子,在 drake 中,也在 http://underactuated.mit.edu
Spatial velocities are 6-element quantities that are pairs of ordinary 3-vectors. Elements 0-2 are the angular velocity component while elements 3-5 are the translational velocity.
// Note: In the context we store the quaternion's components first (q₀ to q₃),
// followed by the position vector components (q₄ to q₆).
背景
我正在尝试平衡移动倒立摆(即赛格威)。
为了模拟,我创建了一个简单的机器人,它包括一个通过旋转关节连接到圆柱体(轮子)上的杆。
问题
在构建我的 MIP 工厂后,plant.num_positions()
returns 8
和 plant.num_velocities()
returns 7
,即总共 continuous_state
尺寸是 15
- 我如何理解这么多的州?
- 我想其中之一代表杆子与垂直方向的角度。我怎么找到它?
- 还有,为什么
num_positions()
不等于num_velocities()
?
默认情况下,urdf/sdf 解析器为系统添加基于四元数的浮动基数。这个浮动基础关节有 7 个位置变量(x、y、z + 四元数)和 6 个速度(xdot、ydot、zdot,+ 空间速度)。您应该使用多体 API 以正确的顺序获取变量。
您可以在世界 link 和您的基地(在 urdf/sdf 或您的代码中)之间添加一个关节,以用例如底部的棱柱形接头。
有很多关于如何模拟它的例子,在 drake 中,也在 http://underactuated.mit.edu
Spatial velocities are 6-element quantities that are pairs of ordinary 3-vectors. Elements 0-2 are the angular velocity component while elements 3-5 are the translational velocity.
// Note: In the context we store the quaternion's components first (q₀ to q₃),
// followed by the position vector components (q₄ to q₆).