刚体的自由度

机器人的 configuration 用来表示机器人的位置

configuration space 或者 C-space 是机器人的所有位置的空间

机器人的自由度是机器人 configuration space的维数或者说是表达 configuration 的最小数字

三维刚体的自由度等于6,x, y, z,yaw, pitch, roll

机器人的自由度等于各点的自由度之和减去这些点上的限制数

可以这样理解,在三维刚体上先选择一个点A,它的自由度是3,没有限制

再选择一个点B,它的自由度是3,由于之前有点A,点B和点A的距离是固定的,所以点B只能在以A为球心,AB距离为半径的球上,即点B的限制数为1,球上确定一个点,需要两个参数,经度,纬度

最后选择点C,它的自由度是3,由于和点A,点B的距离固定,所以点C在球A,球B相交的切面上,是一个圆,点C的限制数为2,表示圆上的点只需要一个属性

若A,B,C不共线,则三维刚体在空间中的位置已经确定,此时它的自由度等于 3*3-2-1  即6

 

对于多个刚体组合,可使用Grubler's formula

m为单个刚体的自由度,在2维平面为3,在3维平面为6,N是link数量, J为 joint 数量,fi为第i个joint的自由度,使用grubler's formula 需要注意各 constraints需要相互独立

grubler's formula

dof = m(N-1-J) + sum(fi)

 

机体坐标系转换

space frame or body frame

Rsb body frame在space frame的表示

Rsb = [0, 1, 0; -1, 0, 0; 0, 0, 1]

9个数有6个限制,三个限制在于列行量必须是单位向量,另外三个在于行向量之间正交

6个限制可写为R'*R = I, det R = 1

special orthogonal group SO(3) R'R = I and det R = 1;

旋转矩阵满足

R-1 = R'

R1R2 = SO(3)

R1R2 != R2R1

R1R2R3 = R1(R2R3)

对于一个三维向量, ||Rx|| = ||x|| 表示旋转矩阵不改变长度

 

旋转矩阵的作用

(1) 表示orientation

(2)改变参考坐标系

(3) 旋转一个向量或者坐标系

 

计算坐标旋转的角速度

posted @ 2019-04-18 18:47  roov  阅读(18)  评论(0编辑  收藏  举报