首页 > 解决方案 > 如何理解连续状态向量?

问题描述

背景

我正在尝试平衡移动倒立摆(即赛格威)。

对于模拟,我创建了一个简单的机器人,该机器人包括一个通过旋转关节连接到圆柱体(轮子)的杆。

问题

构建我的 MIP 工厂后,plant.num_positions()返回8plant.num_velocities()返回7,即总continuous_state大小为15

  1. 我如何理解这么多的州?
  2. 我想其中一个代表杆与垂直线的角度。我怎么找到那个?
  3. 另外,为什么num_positions()不等于num_velocities()

标签: drake

解决方案


默认情况下,urdf/sdf 解析器为系统添加基于四元数的浮动基数。这个浮动基础关节有 7 个位置变量(x,y,z + 四元数)和 6 个速度(xdot, ydot, zdot, + 空间速度)。您应该使用多体 API 以正确的顺序获取变量。

您可以在世界链接和您的基础之间添加一个关节(在 urdf/sdf 或您的代码中),以用例如基础的棱柱关节替换隐含的浮动关节。

有很多关于如何模拟它的例子,在德雷克,还有在http://underactuated.mit.edu


推荐阅读