我正在尝试创建一个简单的身体模型,然后对其进行控制。然而,当我将双腿连接到身体时,我遇到了麻烦。
我所做的是从左脚开始构建模型,附加到世界框架,然后到躯干。我最终复制了其中一条腿,并将其再次连接到世界框架和躯干上,有效地闭合了“循环”。但是,在尝试运行模拟时,我收到以下错误消息。
'untitled/Right Leg/Hip/Revolute Joint' has a degenerate mass distribution on its follower side.
我有一种感觉,这与双腿都附着在躯干和世界框架上有关。
如果我通过将躯干直接连接到世界框架来让腿从躯干上垂下来,那么它就可以工作。但我需要将腿固定在“地面/地板”上
建模的正确方法是什么,以便我稍后可以驱动关节?
我相信你的机器人和地板之间需要三个连接:
左脚与地板之间的接触力
右脚与地板之间的接触力
虚拟连接可让您指定躯干距地板的初始高度。
指定地面上方初始高度的虚拟连接通常使用 6 自由度关节来完成。 它不限制任何东西,但可以让您指定躯干的初始位置、方向和速度。
接触力可以通过硬停止来实现,但我建议您查看 MATLAB Central File Exchange 上的这个库:
https://www.mathworks.com/matlabcentral/fileexchange/47417-simscape-multibody-contact-forces-library
这将允许您对脚和地板之间的接触以及使机器人行走的摩擦力进行建模。 您需要的力是面与平面的接触力。
尝试一下,看看你的想法。
--史蒂夫