Modern Robotics机器人的构型空间
机器人的构型(configuration)是一个机器人所有点的位置。描述机器人构型的最小实数坐标的个数n是机器人的自由度的数目。这个n维空间包括着机器人所有可能的构型(configurations)称为机器人的构型空间(configuration space,C-space)。机器人的构型可以由它的构型空间里的一个点描述。
机器人的自由度
机器人常见的关节如下图所示

旋转关节(revolute joint,R),平移关节(prismatic joint,P),螺旋关节(Helical joint,H)都是只有一个自由度。关节也可以有多个自由度,例如圆柱关节(cylindrical joint ,C)有两个自由度,万向节(Universal joint,U)有两个自由度,球形关节(spherical joint,S)有三个关节,其功能与人体的肩关节很像。
Gru¨bler′sGr\ddot {\text u}bler'sGru¨bler′s公式
考察一个又NNN个连杆构成的机械系统,地面也看做一个连杆。假设JJJ是关节的数量,mmm是刚体的自由度(对于平面刚体m=3m=3m=3,对于空间刚体m=6m=6m=6),fif_ifi为第iii个关节具有的自由度数目,cic_ici是第iii个关节具有的约束数目,这里对所有iii都有fi+ci=mf_i+c_i=mfi+ci=m。那么Gru¨bler′sGr\ddot {\text u}bler'sGru¨bler′s计算机器人的自由度数目为
dof=m(N−1)−∑i=1Jci=m(N−1)−∑i=1J(m−fi)=m(N−1−J)+∑i=1Jfi(2.4) dof=m(N-1)-\sum_{i=1}^J c_i\\ =m(N-1)-\sum_{i=1}^J (m-f_i)\\ =m(N-1-J)+\sum_{i=1}^J f_i \tag{2.4} dof=m(N−1)−i=1∑Jci=m(N−1)−i=1∑J(m−fi)=m(N−1−J)+i=1∑Jfi(2.4)
这个公式成立的条件是所有的关节约束是独立的。
下面是计算该公式的C语言模块。
/**
*@brief Description:使用GrublersFormula公式计算机构的自由度.
*@param[in] N 连杆的数目(包括大地).
*@param[in] m 连杆(刚体)的自由度(平面刚体m=3,空间刚体m=6).
*@param[in] J 关节的数量.
*@param[in] f 数组,每个关节的自由度.
*@return 返回输入该机构的自由度.
*@note: 各个关节的约束是独立的才能使用该函数计算机构的自由度.
*@waring:
*/
int GrublersFormula(int m, int N, int J, int *f)
{
int i;
int dof;
int c = 0;
for (i=1;i<=J;i++)
{
//计算自由度的约束
c = c + f[i-1];
}
dof = m*(N - 1 - J) + c;
return dof;
}
Example 2.4使用Gru¨bler′sGr\ddot {\text u}bler'sGru¨bler′s公式计算下面的平面机构自由度

这些连杆是平面刚体,因此m=3
(a) dof=3∗(5−1−4)+4=4dof=3*(5-1-4)+4=4dof=3∗(5−1−4)+4=4
(b)dof=3∗(5−1−5)+5=2dof=3*(5-1-5)+5=2dof=3∗(5−1−5)+5=2
©dof=3∗(6−1−7)+7=1dof=3*(6-1-7)+7=1dof=3∗(6

最低0.47元/天 解锁文章
1万+





