配置空间与采样式运动规划全解析
配置空间约束处理
在处理配置空间时,约束条件的设定至关重要。对于二维平面中每个点的(x)和(y)坐标,若所有关节均为旋转关节,可通过特定方式设定约束。当两个物体(A_j)和(A_k)需刚性连接时,除了固定一个点的两个坐标外,还需额外约束以防止相互旋转,可通过选取(A_j)上另一点并确保其一个坐标在(A_k)的体坐标系中处于正确位置来实现,但添加四个方程时会有一个冗余,因为(A_j)相对于(A_k)只有三个自由度(源于(SE(2))的维度)。
在三维空间(W = R^3)中,情况更为复杂。固定一个点会产生三个约束,此时(A_j)可相对于(A_k)在(SO(3))中进行任意旋转,这意味着它们通过球形关节连接。若为旋转关节连接,则需额外两个约束,可从第二个点的坐标中选取;若为刚性连接,则需第三个点的一个约束。不过,独立约束最多为六个,这是由(SE(3))的维度决定的。
为了便于处理,还需将三角函数转换为多项式。对于二维变换,可使用复数进行常见替换;在三维情况下,若采用(DH)参数化,(\cos\theta_i)、(\sin\theta_i)表达式可用一个复数参数化,(\cos\alpha_i)、(\sin\alpha_i)表达式可用另一个复数参数化;若直接使用(SO(3))的旋转矩阵进行参数化,则应使用四元数参数化。最终将约束列为(f = 0)形式的多项式方程。
能否根据独立约束的数量确定簇的维度呢?一般来说是不行的,从相关示例中的连杆链可以看出,不同的方程会产生不同维度的簇。不过,可以提供自由度数量的简单上界。假设生成树形式的连杆总自由度为(m),每个独立约束最多消除一个自由度,若有(l)个独立约束,则该簇的维度最多为(m - l)
超级会员免费看
订阅专栏 解锁全文
954

被折叠的 条评论
为什么被折叠?



