w********r 发帖数: 14958 | 1 【 以下文字转载自 Physics 讨论区 】
发信人: withourcar (注意不是老id"没有车"), 信区: Physics
标 题: 需要做rigid body simulation, 请支招
发信站: BBS 未名空间站 (Mon Oct 14 13:18:24 2013, 美东)
就是多个body, 之间有一些constrains, 比如joint, ball joint, friction等等。
请问,这方面流行算法有哪些? 先谢了。 |
s********s 发帖数: 316 | |
w********r 发帖数: 14958 | 3 不用现成软件, 就是手动编成。 一个很小的系统。 |
a****g 发帖数: 460 | 4 很小的系统需要什么算法?
矩阵求逆?
可以用matlab。 |
w********r 发帖数: 14958 | 5 不明白, 码工不太懂ME.
有资料吗?
一个box, 和 两个杆,box joint连接。 杆和地面有摩擦力。
被动力怎样求?
【在 a****g 的大作中提到】 : 很小的系统需要什么算法? : 矩阵求逆? : 可以用matlab。
|
l**********i 发帖数: 11748 | 6 有木有示意图片?
简单小系统单纯算受力的话
可以直接套用FEA的矩阵
【在 w********r 的大作中提到】 : 不明白, 码工不太懂ME. : 有资料吗? : 一个box, 和 两个杆,box joint连接。 杆和地面有摩擦力。 : 被动力怎样求?
|
w********r 发帖数: 14958 | 7 类似图中,一般状态。
已知box的速度,角速度。 两条腿是质量为零的轻杆。
求大腿根那个ball joint上的被动力。
【在 l**********i 的大作中提到】 : 有木有示意图片? : 简单小系统单纯算受力的话 : 可以直接套用FEA的矩阵
|
M*****0 发帖数: 1061 | 8 用Matlab 里面的SimMechanics
或Adams搞定 |
l**********i 发帖数: 11748 | 9 两腿中间膝关节那个地方没有damping吧
假设没有damping
假设腿是刚体,无法压缩无法弯曲
大概原理:
用向量来搞
你先搞出来box的 路径关于时间t的一个函数
求导一次是box的 速度of t
再求导一次就是box的 加速度of t
加速度 * 质量 = 力 of t
给你任意一时间t,你就知道力了
【在 w********r 的大作中提到】 : 类似图中,一般状态。 : 已知box的速度,角速度。 两条腿是质量为零的轻杆。 : 求大腿根那个ball joint上的被动力。
|
w********r 发帖数: 14958 | 10 我要知道box路径关于时间的函数, 就不用算了。 求得就是它。
simulation嘛, 就是不知道下一时刻各个部件什么状态。 求各个状态。
【在 l**********i 的大作中提到】 : 两腿中间膝关节那个地方没有damping吧 : 假设没有damping : 假设腿是刚体,无法压缩无法弯曲 : 大概原理: : 用向量来搞 : 你先搞出来box的 路径关于时间t的一个函数 : 求导一次是box的 速度of t : 再求导一次就是box的 加速度of t : 加速度 * 质量 = 力 of t : 给你任意一时间t,你就知道力了
|
|
|
l**********i 发帖数: 11748 | 11 知道速度也行
求导就是加速度了
【在 w********r 的大作中提到】 : 我要知道box路径关于时间的函数, 就不用算了。 求得就是它。 : simulation嘛, 就是不知道下一时刻各个部件什么状态。 求各个状态。
|
w********r 发帖数: 14958 | 12 非也。
此时加速度与此时的速度没直接关系。
对于这样一个非线性系统,
x = [s; dot(s)] s是现在box的状态
dot(x) = F (x(t), u(t))
F不知道。 F是由系统机械原理决定, 不可能由当前速度得出。
【在 l**********i 的大作中提到】 : 知道速度也行 : 求导就是加速度了
|
l**********i 发帖数: 11748 | 13 知道瞬时速度
根据几何关系和一些条件
就能求出瞬时加速度
原理就是牛顿的F=ma
以下这些方法也许会有帮助
D'Alembert's principle
Energy Method-Virtual Work
在Dynamic,Kinematic,Vibration的书里应该都有介绍
大家都常在车版灌水么
我是真心想帮你
我已经尽力了
但是能力实在有限
抱歉了
【在 w********r 的大作中提到】 : 非也。 : 此时加速度与此时的速度没直接关系。 : 对于这样一个非线性系统, : x = [s; dot(s)] s是现在box的状态 : dot(x) = F (x(t), u(t)) : F不知道。 F是由系统机械原理决定, 不可能由当前速度得出。
|
m****0 发帖数: 229 | 14 用软件算的话Adams
自己编程的话可以看看E.J. Haug, Computer-Aided Kinematics and Dynamics of
Mechanical Systems
做Multibody dynamics的模拟,难点是DAE方程的求解,不过文献挺多,纯粹刚体的话
现在已经挺成熟的了
【在 w********r 的大作中提到】 : 【 以下文字转载自 Physics 讨论区 】 : 发信人: withourcar (注意不是老id"没有车"), 信区: Physics : 标 题: 需要做rigid body simulation, 请支招 : 发信站: BBS 未名空间站 (Mon Oct 14 13:18:24 2013, 美东) : 就是多个body, 之间有一些constrains, 比如joint, ball joint, friction等等。 : 请问,这方面流行算法有哪些? 先谢了。
|
w********r 发帖数: 14958 | 15 非常感谢。
【在 l**********i 的大作中提到】 : 知道瞬时速度 : 根据几何关系和一些条件 : 就能求出瞬时加速度 : 原理就是牛顿的F=ma : 以下这些方法也许会有帮助 : D'Alembert's principle : Energy Method-Virtual Work : 在Dynamic,Kinematic,Vibration的书里应该都有介绍 : 大家都常在车版灌水么 : 我是真心想帮你
|
w********r 发帖数: 14958 | 16 非常informative.
【在 m****0 的大作中提到】 : 用软件算的话Adams : 自己编程的话可以看看E.J. Haug, Computer-Aided Kinematics and Dynamics of : Mechanical Systems : 做Multibody dynamics的模拟,难点是DAE方程的求解,不过文献挺多,纯粹刚体的话 : 现在已经挺成熟的了
|
i*****t 发帖数: 24265 | 17
两条腿的外力F都不知道,怎么能求出被动力?
【在 w********r 的大作中提到】 : 类似图中,一般状态。 : 已知box的速度,角速度。 两条腿是质量为零的轻杆。 : 求大腿根那个ball joint上的被动力。
|
i*****t 发帖数: 24265 | 18 box速度角速度都知道了,那么box的路径咋还能不知道?
【在 w********r 的大作中提到】 : 我要知道box路径关于时间的函数, 就不用算了。 求得就是它。 : simulation嘛, 就是不知道下一时刻各个部件什么状态。 求各个状态。
|
w********r 发帖数: 14958 | 19 initial value problem
位置和角速度都是initial condition
【在 i*****t 的大作中提到】 : box速度角速度都知道了,那么box的路径咋还能不知道?
|
i*****t 发帖数: 24265 | |
|
|
w********r 发帖数: 14958 | 21 请问具体哪些robotics理论?
【在 i*****t 的大作中提到】 : 这个问题用robotics理论直接就解决了
|
i*****t 发帖数: 24265 | 22 最基本的课本找来,然后看看dynamics那章就行了
【在 w********r 的大作中提到】 : 请问具体哪些robotics理论?
|
w********r 发帖数: 14958 | 23 我去看看。 谢谢
【在 i*****t 的大作中提到】 : 最基本的课本找来,然后看看dynamics那章就行了
|
i*****t 发帖数: 24265 | 24 不谢,如果想用现成的软件快速省事,直接上ODE或bullet
【在 w********r 的大作中提到】 : 我去看看。 谢谢
|
a****g 发帖数: 460 | 25 码工搞机工的dynamic?
请个一,二年级的phd学生帮你把ODE列出来,你来码吧。
两条腿质量为零的假设不实际吧?
腿没质量,那么只有一个刚体了六个自由度了?
另外,两脚跟周围有约束嘛?屁股下有座位吗?
【在 w********r 的大作中提到】 : 类似图中,一般状态。 : 已知box的速度,角速度。 两条腿是质量为零的轻杆。 : 求大腿根那个ball joint上的被动力。
|
w********r 发帖数: 14958 | 26 码工也可以搞算法。 直立行走,机工的行吗?
这个model肯定有现成办法弄。
两条腿质量为零,是对真腿的简化。 控制真腿,来实现这个假腿。
就一个刚体, 但状态空间有12个自由度。
脚周围只有摩擦力约束,和转动摩擦约束。
【在 a****g 的大作中提到】 : 码工搞机工的dynamic? : 请个一,二年级的phd学生帮你把ODE列出来,你来码吧。 : 两条腿质量为零的假设不实际吧? : 腿没质量,那么只有一个刚体了六个自由度了? : 另外,两脚跟周围有约束嘛?屁股下有座位吗?
|
i*****t 发帖数: 24265 | 27 1 码工编程的搞ODE(open dynamic engine)和bullet这种正合适,反正不用关心具体物
理细节,会编程几个小时就搞定
2 如果腿作为驱动力,则可以忽略其质量
【在 w********r 的大作中提到】 : 码工也可以搞算法。 直立行走,机工的行吗? : 这个model肯定有现成办法弄。 : 两条腿质量为零,是对真腿的简化。 控制真腿,来实现这个假腿。 : 就一个刚体, 但状态空间有12个自由度。 : 脚周围只有摩擦力约束,和转动摩擦约束。
|
l**********i 发帖数: 11748 | 28 要是这样的话
就算考虑腿的质量转动惯量,damping factor还有stiffness
考虑脚与地,髋关节的摩擦
也不会使问题更复杂
因为generalized解法里这些因素都包括了
只要列出式子,码一下就行了
【在 w********r 的大作中提到】 : 码工也可以搞算法。 直立行走,机工的行吗? : 这个model肯定有现成办法弄。 : 两条腿质量为零,是对真腿的简化。 控制真腿,来实现这个假腿。 : 就一个刚体, 但状态空间有12个自由度。 : 脚周围只有摩擦力约束,和转动摩擦约束。
|