在Simulink中为步行机器人建造地板/地面

时间:2015-09-21 10:26:55

标签: matlab mapping simulink robot simmechanics

我试图创建一个简单的身体模型,然后再进行控制。但是,当我将两条腿连接到身体上时,我遇到了麻烦。

我所做的是我从左脚开始建造模型,连接到世界框架,然后到达躯干。我最终复制了其中一条腿并再次将它连接到世界框架和躯干上,有效地关闭了#34;循环"。但是,我在尝试运行模拟时收到以下错误消息。

'untitled/Right Leg/Hip/Revolute Joint' has a degenerate mass distribution on its follower side.

我有一种感觉,这与双腿连接到躯干到世界框架的事实有关。

如果我通过直接将躯干连接到世界框架让腿从躯干上垂下来,那么它就能起作用。但我需要将腿连接到地面/地板上#34;

对此进行建模的正确方法是什么,以便我以后可以启动关节?

Block diagram of bipedal system

Visualisation of bipedal system

1 个答案:

答案 0 :(得分:0)

我相信你的机器人和地板之间需要三个连接:

  1. 左脚与地板之间的接触力

  2. 右脚与地板之间的接触力

  3. 一个虚拟连接,可让您指定躯干在地板上方的初始高度。

  4. 指定地板上方初始高度的虚拟连接通常使用6自由度关节完成。它不限制任何东西,但允许您指定躯干的初始位置,方向和速度。

    联系人可以通过硬停止来完成,但我建议你在MATLAB中央文件交换中查看这个库:

    https://www.mathworks.com/matlabcentral/fileexchange/47417-simscape-multibody-contact-forces-library

    这将允许您模拟脚和地板之间的接触,以及使机器人能够行走的摩擦力。你需要的力量是面对面的接触力。

    试一试,看看你的想法。

    - 史蒂夫