我正在阅读Matthew T Mason撰写的《机械手操纵力学》,偶然发现了运动学约束的概念。该书提到了两种类型的约束:完整约束和非完整约束

以下是书中提到的完整约束的一个示例:



在通道中滑动的矩形块,其坐标x,y和theta自由变化。通道施加了约束,因此矩形的y值是固定的。完整约束描述如下:



以下是非完整约束的示例:



假设我们在积木上增加了一个轮子,所以它的表现就像独轮车或溜冰鞋。在任何给定的时间点,滑块都可以向前和向后移动,可以绕车轮中心旋转,但是不能向侧面移动。非完整约束方程如下:



作者还写道:<。则每个独立的完整约束都会将系统的自由度降低一个,但非完整约束则不会。


到目前为止的所有解释似乎与我对机器人完整运动的物理含义的理解相矛盾:


我一直认为完整的机器人意味着它可以在所有方向上移动,因此可控的总数自由度等于总自由度。但是,当每个完整的约束都降低了系统的自由度时,怎么可能呢?
非完整的约束怎么会降低系统的自由度呢?单轮脚踏车不是在限制滑车向侧面移动吗?为什么不认为系统的自由度降低了?

我希望有人可以帮助阐明我的理解。

#1 楼

您可以将自由度看作是描述系统所需的变量数。因此,对于在2D平面中移动的机器人,其状态将表示为:
$$
s = \ begin {bmatrix}
x \\
y \\
\ theta \\
\ end {bmatrix}
$$

要使机器人在2D平面上运动是完整的,它必须具有改变任何物体的能力。状态变量在任何给定时间,无论当前其他变量具有什么值。

因此,举例来说,这意味着要使其完整,机器人必须能够将其$ Y $变量更改为所需的任何值,而无需更改$ X $和$ \ theta $。在示例中,您给出了非完整的约束,虽然机器人可能达到任何$ X $,$ Y $和$ \ theta $值,但它对必须采用的路径数有限制(这样一种不可能的途径是侧向移动!)。

一般来说,为了完整,fredoom的度数必须与可微分的自由度数相同:
$$ DOF = DDOF $$

DOF定义了达到各种配置的可能性,例如位置($ X $和$ Y $)和方向($ \ theta $)

DDOF定义了独立允许的速度数,例如线性速度($ \ dot {X} $和$ \ dot {Y} $)和角速度($ \ dot {\ theta} $)。

完整的限制限制了自由度的数量。例如,您的轮式机器人无法飞行,因此$ Z $(高度)不属于该状态。

非完整限制限制了随意更改状态导数的能力,因此它们减少DDOF的数量。例如,您不能让单轮脚踏车旋转(恒定的\\ dot {\ theta} $),而只能沿$ X $方向移动。

有趣的是,灯塔是完整的!


静止的一切都是完整的,因为它具有0个自由度和0个DDOF!

因此,简而言之:

1)自由度=状态下的变量数

2)DDOF =可以独立更改的速度

3)完整的限制会降低自由度

4)非完整的限制会降低DDOFs

5)当且仅当DOFs = DDOFs
时,机器人才是完整的

评论


$ \ begingroup $
假设降低自由度也会导致DDOF降低,是否正确?例如如果对象被限制在z轴上移动,则z轴上线速度的DDOF也将被限制
$ \ endgroup $
–nasw_264
17年9月10日在17:15

$ \ begingroup $
在大多数情况下,这种情况极有可能发生,但是在某些情况下,情况并非如此:自行车具有3个自由度(XY和theta)而只有1DDOF(角速度会影响X和Y速度)。现在,阻塞前轮,使其不会转向。您只剩下1DOF(X)和只有1 DDOF(X中的速度)。
$ \ endgroup $
–池
17 Sep 11'在0:17



$ \ begingroup $
顺便说一句,如果您想获得有关此主题的更多详细信息,我建议您阅读Roland Siegwart的《自动驾驶机器人的归纳》一书。这对我来说有点数学难题,但是如果您有时间的话,还是一本好书。第3章是您想要的,它讲授了移动度,可操纵性,可操纵性以及与移动机器人运动学相关的其他重要概念
$ \ endgroup $
–池
17年9月11日在0:52

#2 楼

完整约束适用于配置变量,用等式表示是部分或全部配置变量。

约束适用于配置变量的变化率,并且不能为因此,集成到配置变量中的约束是非完整的。它由部分或全部配置速度中的方程表示。例如,一辆汽车可以具有任意配置(x,y,$ \ theta $),但是在任何配置下,它的速度都受到限制$(\ dot {x},\ dot {y},\ dot {\ theta} )由于车轮的滚动约束,它可以实现。非完整性可能是由于驱动不足或滚动约束引起的。