机器人学导论(John J Craig,2017)学习笔记(更新中)
Lecture1 Introduction
Introduction of robotics
- reference textbook:
1. Cai ZiXing,2015
1. Saeed B. Niku.,2013
2. Siciliano,B.,2010
Types of robots
robot{Robot manipulatorsMobile robots{Ground robots{Wheeled robotsLegged robotsSubmarine robotsAerial robots robot \begin{cases} Robot\ manipulators \\[3ex] Mobile\ robots \begin{cases} Ground\ robots \begin{cases} Wheeled\ robots\\ Legged\ robots \end{cases} \\[2ex] Submarine\ robots\\[2ex] Aerial\ robots\\ \end{cases} \end{cases} robot⎩ ⎨ ⎧Robot manipulatorsMobile robots⎩ ⎨ ⎧Ground robots{Wheeled robotsLegged robotsSubmarine robotsAerial robots
Lecture2 Manufacturing Systems & Robot Kinematics
1. manufacturing system
1.1 manufacturing classification
- project
- one of a kind(ship & nuclear power plant) and complex and site building
- job shop
- not site building and low volume and production quantities
- repetitive
- fixed routing,repeat
- line
- delivery time required is short,require many different models and options
- continuous
- volume is high…,like chemical components
2. kinematicas of robot manipulator
2.1 robot manipulators
2.1.1 configuration
- robot arms
- rigid bodies(links) connected by joints
- joints:
- revolute, prismatic, spherical
- drive:
- electric or hydraulic
- end-effector(tool):
- mounted on a flange or plate secured to the wrist joint of robot
- robot configuration
- cartesian(笛卡尔): PPP
- cylindrical(圆柱): RPP
- articulated(铰接): RRP
- spherical(球坐标): RRR
- SCARA: RRP(selective compliance assembly robot arm)
- hand coordinate
- motion control methods
- point to point control
- a sequence of discrete points
- like: spot welding(点焊), pick-and-place, loading and unloading
- continuous path control
- follow a prescribed path, controlled-path motion
- like: spray painting, Arc welding(弧焊), gluing
- point to point control
2.1.2 robot specifications
specification
- number of axes:
- major axes,(1-3)=>position the wrist
- minor axes,(4-6)=>orient the rool
- redundant,(7-n)=>reaching around obstacles, avoiding undesirable configuration
- degree of freedom(DOF)
- workspace
- payload(load capacity)
- precision v.s. repeatability(精度和集中度)
DOF
- The Chebychev-Grübler-Kutzbach formula:
- M=d(n−g−1)+∑i=1gfi M=d(n-g-1)+ \sum_{i=1}^{g}{f_{i}} M=d(n−g−1)+i=1∑gfi
- M: the mobility or the system DOF
- d: the order of the sysem (d=3 for planar motion,and d=6 for spatial motion)
- n: the number of the links including the frames
- g: the number of joints
- fif_ifi: the number of DOFs for the ith joint
- DOF of joints
- cylindrical joint (1R,1P):DOF=2 , 2 components
- prismatic joint (1P):DOF=1 , 2 components
- ball(or spherical) joint: DOF=3 , 1 components
- Hooker joint(or U(universe)-jont) : DOF=2 ,1 components
- revolute joint: DOF=1 ,2 components
2.2 kinematics
2.2.1 what is kinematics
- forward kinematics:
- given joint variables, find end-effection position
- inverse kinematics
- given end-effectation position and orientation, find joint variables
2.2.2 preliminary
robot reference frames
- world frame -> fixed
- joint frame
- tool frame
coordinate transformation
rotation only
- reference coordinate f
- rame OXYZ
- body-attached frame O’uvw
point represented in OXYZ is Pxyz=[px,py,pz]TP_{xyz}=[p_x,p_y,p_z]^TPxyz=[px,py,pz]T, or pxyz=pxix+pyjy+pzkz\mathbf{p}_{xyz}=p_x\mathbf{i}_x+p_y\mathbf{j}_y+p_z\mathbf{k}_zpxyz=pxix+pyjy+pzkz
point represented in O’uvw:
puvw=puiu+pvjv+pwkw\mathbf{p}_{uvw}=p_u\mathbf{i}_u+p_v\mathbf{j}_v+p_w\mathbf{k}_wpuvw=puiu+pvjv+pwkw
- uvw to XYZ coordinate transformation
- rotation only: pxyz=Rpuvw\mathbf{p}_{xyz}=R\mathbf{p}_{uvw}pxyz=Rpuvw
we new: px=i⋅pp_x=\mathbf{i}\cdot\mathbf{p}px=i⋅p , so pxyz=[ixTjyTkzT]⋅p\mathbf{p}_{xyz}=\left[ \begin{matrix}\mathbf{i}_x^T\\\mathbf{j}_y^T\\\mathbf{k}_z^T\end{matrix}\right]\cdot\mathbf{p}pxyz= ixTjyTkzT ⋅p
where, p=[iujvkw][pupvpw]\mathbf{p}=\left[\begin{matrix}\mathbf{i}_u&\mathbf{j}_v&\mathbf{k}_w\end{matrix}\right]\left[\begin{matrix}p_u\\p_v\\p_w\end{matrix}\right]p=[iujvkw] pupvpw
so, that[pxpypz]=[ix⋅iuix⋅jvix⋅kwjy⋅iujy⋅jvjy⋅kwkz⋅iukz⋅jvkz⋅kw]⋅[pupvpw]\left[\begin{matrix}p_x\\p_y\\p_z\end{matrix}\right]=\left[\begin{matrix} \mathbf{i}_x\cdot\mathbf{i}_u&\mathbf{i}_x\cdot\mathbf{j}_v&\mathbf{i}_x\cdot\mathbf{k}_w\\ \mathbf{j}_y\cdot\mathbf{i}_u&\mathbf{j}_y\cdot\mathbf{j}_v&\mathbf{j}_y\cdot\mathbf{k}_w\\ \mathbf{k}_z\cdot\mathbf{i}_u&\mathbf{k}_z\cdot\mathbf{j}_v&\mathbf{k}_z\cdot\mathbf{k}_w\\ \end{matrix} \right]\cdot\left[\begin{matrix}p_u\\p_v\\p_w\end{matrix}\right] pxpypz = ix⋅iujy⋅iukz⋅iuix⋅jvjy⋅jvkz⋅jvix⋅kwjy⋅kwkz⋅kw ⋅ pupvpw
so so that:- Rot(x,θ\thetaθ)=[1000cosθ−sinθ0sinθcosθ]\left[\begin{matrix}1&0&0\\0&\cos\theta&-\sin\theta\\0&\sin\theta&\cos\theta\end{matrix}\right] 1000cosθsinθ0−sinθcosθ
- Rot(y,θ\thetaθ)=[cosθ0sinθ010−sinθ0cosθ]\left[\begin{matrix}\cos\theta&0&\sin\theta\\0&1&0\\-\sin\theta&0&\cos\theta\end{matrix}\right] cosθ0−sinθ010sinθ0cosθ
- Rot(z,θ\thetaθ)=[cosθ−sinθ0sinθcosθ0001]\left[\begin{matrix}\cos\theta&-\sin\theta&0\\\sin\theta&\cos\theta&0\\0&0&1\end{matrix}\right]
cosθsinθ0−sinθcosθ0001
Matrix R 可看作转换矩阵,也可看做对向量做旋转操作的旋转矩阵
- rotation only: pxyz=Rpuvw\mathbf{p}_{xyz}=R\mathbf{p}_{uvw}pxyz=Rpuvw
- XYZ to uvw coordinate transformation
to find matrix Q:let puvw=Q⋅pxyz\mathbf{p}_{uvw}=Q\cdot\mathbf{p}_{xyz}puvw=Q⋅pxyz
similarly that:
[pupvpw]=[iu⋅ixiu⋅jyiu⋅kzjv⋅ixjv⋅jyjv⋅kzkw⋅ixkw⋅jykw⋅kz]⋅[pxpypz] \left[\begin{matrix}p_u\\p_v\\p_w\end{matrix}\right]=\left[\begin{matrix} \mathbf{i}_u\cdot\mathbf{i}_x&\mathbf{i}_u\cdot\mathbf{j}_y&\mathbf{i}_u\cdot\mathbf{k}_z\\ \mathbf{j}_v\cdot\mathbf{i}_x&\mathbf{j}_v\cdot\mathbf{j}_y&\mathbf{j}_v\cdot\mathbf{k}_z\\ \mathbf{k}_w\cdot\mathbf{i}_x&\mathbf{k}_w\cdot\mathbf{j}_y&\mathbf{k}_w\cdot\mathbf{k}_z\\ \end{matrix} \right]\cdot\left[\begin{matrix}p_x\\p_y\\p_z\end{matrix}\right] pupvpw = iu⋅ixjv⋅ixkw⋅ixiu⋅jyjv⋅jykw⋅jyiu⋅kzjv⋅kzkw⋅kz ⋅ pxpypz
we can figure out that:
Q=R−1=RTQ=R^{-1}=R^TQ=R−1=RT
Matrix Q 可看作转换矩阵,也可看做对向量做与R相反θ\thetaθ的旋转操作的旋转矩阵
composite rotation matrix
- a sequence of finite rotations:
- matrix multiplications do not commute
- rules:
- if rotating coordinate O-U-V-W is rotating about principal axis of OXYZ frame,then pre-multiply the R to the I
- if rotating coordinate O-U-V-W is rotating about principal axis of OUVW frame,then post-multiply the R to the I
Homogeneous representation
- coordiante transformation from {B} to {A}:
ArP=ARB⋅BrP+ArO′^Ar^P=^AR_B\cdot^Br^P+^Ar^{O^\prime}ArP=ARB⋅BrP+ArO′ - Homogeneous transformation matrix:
ATB=[ARBArO′01×31]^AT_B=\left[\begin{matrix}^AR_B&^Ar^{O^\prime}\\\mathbf{0}_{1\times3}&1\end{matrix}\right]ATB=[ARB01×3ArO′1]
[ArP1]=ATB⋅[BrP1]\left[\begin{matrix}^Ar_P\\1\end{matrix}\right]=^AT_B\cdot\left[\begin{matrix}^Br_P\\1\end{matrix}\right][ArP1]=ATB⋅[BrP1]
composite Homogeneous transformation matrix
- similar to composite rotation matrix
Orientation Representation
- Euler angles reoresentation (ϕ\phiϕ, θ\thetaθ, ψ\psiψ )
- many different typses
- Euler angle I:
- ϕ\phiϕ: about OZ axis
- θ\thetaθ: about OU axis
- ψ\psiψ: about OW axis
- Euler angle II
- ϕ\phiϕ: about OZ axis
- θ\thetaθ: about OV axis
- ψ\psiψ: about OW axis
- Roll-Pitch-Yaw
- ϕ\phiϕ: about OX axis
- θ\thetaθ: about OY axis
- ψ\psiψ: about OZ axis
- Euler angle I:
- description of Euler angle representations
- many different typses
Lecture3 Mathematical Background
3.1 Matrix
- symmetric matrix:
AT=A ⇒ akj=ajkA^T=A\ \Rightarrow\ a_{kj}=a_{jk}AT=A ⇒ akj=ajk - skew-symmetric matrix:
AT=−A ⇒ akj=−ajkA^T=-A\ \Rightarrow \ a_{kj}=-a_{jk}AT=−A ⇒ akj=−ajk - orthogonal matrix:
AT=A−1A^T=A^{-1}AT=A−1
any real square matrix A may be written as the sum of a symmetric matrix R and a skew-symmetric matrix S,where:R=12(A+AT) S=12(A−AT)R=\frac{1}{2}(A+A^T)\ \ \ S=\frac{1}{2}(A-A^T)R=21(A+AT) S=21(A−AT) - triangular matrix(上\下三角)
- diagonal matrix(对角矩阵)
- scalar matrix [a000a000a]\left[\begin{matrix}a&0&0\\0&a&0\\0&0&a\end{matrix}\right] a000a000a
- unit matrix(单位)
- inner product or dot product:
a⋅b=aTb\mathbf{a}\cdot\mathbf{b}=\mathbf{a}^T\mathbf{b}a⋅b=aTb - idempotent matrix:
A2=AA^2=AA2=A - orthogonality:
a⋅b=0⇒a and b is orthogonality\mathbf{a}\cdot\mathbf{b}=0\Rightarrow \mathbf{a}{\text{ and }}\mathbf{b}\text{ is orthogonality}a⋅b=0⇒a and b is orthogonality - vector product:
V=a×b=[a2b3−a3b2,a3b1−a1b3,a1b2−a2b1]V=\mathbf{a}\times\mathbf{b}=[a_2b_3-a_3b_2,a_3b_1-a_1b_3,a_1b_2-a_2b_1]V=a×b=[a2b3−a3b2,a3b1−a1b3,a1b2−a2b1]
=∣ijka1a2a3b1b2b3∣=\left|\begin{matrix}\mathbf{i}&\mathbf{j}&\mathbf{k}\\a_1&a_2&a_3\\b_1&b_2&b_3\end{matrix}\right|= ia1b1ja2b2ka3b3
∣V∣=∣a∣∣b∣sinγ|V|=|a||b|\sin\gamma∣V∣=∣a∣∣b∣sinγ - scalar triple product or mixed triple product:
a=[a1,a2,a3],b=[b1,b2,b3]c=[c1,c2,c3]\mathbf{a}=[a_1,a_2,a_3],\mathbf{b}=[b_1,b_2,b_3]\mathbf{c}=[c_1,c_2,c_3]a=[a1,a2,a3],b=[b1,b2,b3]c=[c1,c2,c3]
(a b c)=a⋅(b×c)=∣a1a2a3b1b2b3c1c2c3∣(\mathbf{a}\ \ \mathbf{b}\ \ \mathbf{c})=\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})=\left|\begin{matrix}a_1&a_2&a_3\\b_1&b_2&b_3\\c_1&c_2&c_3\end{matrix}\right|(a b c)=a⋅(b×c)= a1b1c1a2b2c2a3b3c3 - tr(A):
tr(A)=∑i=13aiitr(A)= \sum_{i=1}^{3}{a_{ii}}tr(A)=∑i=13aii - Vert(A)
Vert(A)=12[a32−a23a13−a31a21−a12]Vert(A)=\frac{1}{2}\left[\begin{matrix}a_{32}-a_{23}\\a_{13}-a_{31}\\a_{21}-a_{12}\end{matrix}\right]Vert(A)=21 a32−a23a13−a31a21−a12 - linear transformations:
- isomorphism: a linear transformation of a vector space γ\gammaγ into itself
- linear transformation of the 3D space
- projections
- reflections
- rotation
- affine(仿射)
- properties of orthogonal projection P of ε3\varepsilon^3ε3(R3R^3R3):
P2=P (idempotent)P^2=P{\text{ (idempotent)}}P2=P (idempotent) P⋅n=0 n: unit normalP\cdot\mathbf{n}=0{\text{ n: unit normal}}P⋅n=0 n: unit normal - orthogonal projection: P onto Π\PiΠ
P=1−nnTP=\mathbf{1}-\mathbf{n}\mathbf{n}^TP=1−nnT - reflection R of ε3\varepsilon^3ε3 onto a plane Π\PiΠpassing through the origin:
R=1−2nnTR=\mathbf{1}-2\mathbf{n}\mathbf{n}^TR=1−2nnT - component v\mathbf{v}v along e\mathbf{e}e and normal ve\mathbf{v}_eve
ve=eeTv\mathbf{v}_e=\mathbf{e}\mathbf{e}^T\mathbf{v}ve=eeTv
vn=(1−eeT)v\mathbf{v}_n=(\mathbf{1}-\mathbf{e}\mathbf{e}^T)\mathbf{v}vn=(1−eeT)v
e\mathbf{e}e: unit vector - L’s eigenvector λe\lambda\mathbf{e}λe and eigenvalue λ\lambdaλ
det(λI−L)=0det(\lambda I-L)=0det(λI−L)=0
(characteristic equation)
3.2 rigid-body rotations
- distance between u\mathbf{u}u and v\mathbf{v}v:
d=(u−v)T⋅(u−v)d=\sqrt{(\mathbf{u}-\mathbf{v})^T\cdot(\mathbf{u}-\mathbf{v})}d=(u−v)T⋅(u−v) - the volume V of the tetrahedron(四面体) defined by the origin and these points u,v,w\mathbf{u},\mathbf{v},\mathbf{w}u,v,w:
V=16∣u×v⋅w∣=16∣det[u v w]∣V=\frac{1}{6}|\mathbf{u}\times\mathbf{v}\cdot\mathbf{w}|=\frac{1}{6}|det[\mathbf{u}\ \mathbf{v}\ \mathbf{w}]|V=61∣u×v⋅w∣=61∣det[u v w]∣ - Let Q be an isometry mapping the triad {u,v,w{\mathbf{u},\mathbf{v},\mathbf{w}}u,v,w} into {u′,v′,w′{\mathbf{u}^{\prime},\mathbf{v}^{\prime},\mathbf{w}^{\prime}}u′,v′,w′}, the distance from the origin to the points vector u,v,w\mathbf{u},\mathbf{v},\mathbf{w}u,v,w is:
∣∣u∣∣=uuT,∣∣v∣∣=vvT,∣∣w∣∣=wwT||\mathbf{u}||=\sqrt{\mathbf{u}\mathbf{u}^T},||\mathbf{v}||=\sqrt{\mathbf{v}\mathbf{v}^T},||\mathbf{w}||=\sqrt{\mathbf{w}\mathbf{w}^T}∣∣u∣∣=uuT,∣∣v∣∣=vvT,∣∣w∣∣=wwT
Clearly:
∣∣u∣∣=∣∣u′∣∣,∣∣v∣∣=∣∣v′∣∣,∣∣w∣∣=∣∣w′∣∣||\mathbf{u}||=||\mathbf{u}^{\prime}||,||\mathbf{v}||=||\mathbf{v}^{\prime}||,||\mathbf{w}||=||\mathbf{w}^{\prime}||∣∣u∣∣=∣∣u′∣∣,∣∣v∣∣=∣∣v′∣∣,∣∣w∣∣=∣∣w′∣∣
det[u′,v′,w′]=±det[u,v,w]det[\mathbf{u}^{\prime},\mathbf{v}^{\prime},\mathbf{w}^{\prime}]=\pm det[\mathbf{u},\mathbf{v},\mathbf{w}]det[u′,v′,w′]=±det[u,v,w]
case1: sign is preserved, the isometry is rotation
case2: otherwise, isometry represents a reflection.
Hence,distance preservation requires
pTp=p′Tp′\mathbf{p}^T\mathbf{p}=\mathbf{p}^{\prime T}\mathbf{p}^{\prime}pTp=p′Tp′, where p′=Qp\mathbf{p}^{\prime}=Q\mathbf{p}p′=Qp
⇒QTQ=I ⇒ Q:orthogonal matrix\Rightarrow Q^TQ=I\ \ \Rightarrow\ Q:\text{orthogonal matrix}⇒QTQ=I ⇒ Q:orthogonal matrix
let T=[u v w], T′=[u′ v′ w′]T=[\mathbf{u}\ \mathbf{v}\ \mathbf{w}],\ T^\prime =[\mathbf{u}^\prime \ \mathbf{v}^\prime \ \mathbf{w}^\prime]T=[u v w], T′=[u′ v′ w′]
we have T′=QTT^\prime = QTT′=QT, for a rigid-body matrix:
det(T)=det(T′) ⇒ det(Q)=±1, proper othogonal matrixdet(T)=det(T^\prime)\ \Rightarrow \ det(Q)=\pm1,\text{ proper othogonal matrix}det(T)=det(T′) ⇒ det(Q)=±1, proper othogonal matrix - the cross-product matrix(矩阵叉乘):
V=[v1v2v3]V=\left[\begin{matrix}v_1\\v_2\\v_3\end{matrix}\right]V= v1v2v3 , x=[x1x2x3]\mathbf{x}=\left[\begin{matrix}x_1\\x_2\\x_3\end{matrix}\right]x= x1x2x3
V×x=[v2x3−v3x2v3x1−v1x3v1x2−v2x1]V\times \mathbf{x}=\left[\begin{matrix}v_2x_3-v_3x_2\\v_3x_1-v_1x_3\\v_1x_2-v_2x_1\end{matrix}\right]V×x= v2x3−v3x2v3x1−v1x3v1x2−v2x1
∂(V×x)∂x=[∂(V×x)∂x1 ∂(V×x)∂x2 ∂(V×x)∂x3]=[0−v3v2v30−v1−v2v10]\frac{\partial(V\times\mathbf{x})}{\partial\mathbf{x}}=[\frac{\partial(V\times\mathbf{x})}{\partial\mathbf{x}_1}\ \frac{\partial(V\times\mathbf{x})}{\partial\mathbf{x}_2}\ \frac{\partial(V\times\mathbf{x})}{\partial\mathbf{x}_3}]=\left[\begin{matrix}0&-v_3&v_2\\v_3&0&-v_1\\-v_2&v_1&0\end{matrix}\right]∂x∂(V×x)=[∂x1∂(V×x) ∂x2∂(V×x) ∂x3∂(V×x)]= 0v3−v2−v30v1v2−v10
given any 3-D vector a\mathbf{a}a, then its cross-product matrix A\mathbf{A}A is skew-symmetric matrix AT=−AA^T=-AAT=−A - rotation matrix Q\mathbf{Q}Q:
-
Q=eeT+cosϕ(1−eeT)+sinϕEQ=\mathbf{e}\mathbf{e}^T+\cos\phi(\mathbf{1}-\mathbf{e}\mathbf{e}^T)+\sin\phi EQ=eeT+cosϕ(1−eeT)+sinϕE
[E]=1×e=[0−e3e2e30−e1−e2e10][E]=\mathbf{1}\times\mathbf{e}=\left[\begin{matrix}0&-e_3&e_2\\e_3&0&-e_1\\-e_2&e_1&0\end{matrix}\right][E]=1×e= 0e3−e2−e30e1e2−e10 -
an alternative representation Q could be:
Q=1+sinϕE+(1−cosϕ)E2Q=1+\sin\phi E+(1-\cos\phi)E^2Q=1+sinϕE+(1−cosϕ)E2 -
the canonical form of the rotation matrix:
[Q]x=[1000cosϕ−sinϕ0sinϕcosϕ][Q]_x=\left[\begin{matrix}1&0&0\\0&\cos\phi&-\sin\phi\\0&\sin\phi&\cos\phi\end{matrix}\right][Q]x= 1000cosϕsinϕ0−sinϕcosϕ , [Q]y=[cosϕ0sinϕ010−sinϕ0cosϕ][Q]_y=\left[\begin{matrix}\cos\phi&0&\sin\phi\\0&1&0\\-\sin\phi&0&\cos\phi\end{matrix}\right][Q]y= cosϕ0−sinϕ010sinϕ0cosϕ [Q]z=[cosϕ−sinϕ0sinϕcosϕ0001][Q]_z=\left[\begin{matrix}\cos\phi&-\sin\phi&0\\\sin\phi&\cos\phi&0\\0&0&1\end{matrix}\right][Q]z= cosϕsinϕ0−sinϕcosϕ0001
-
- the linear invariant of a rotation(已知旋转矩阵求e\mathbf{e}e和ϕ\phiϕ):
- q=Vert(Q)=Vert(sinϕE)=sinϕe\mathbf{q}=Vert(Q)=Vert(\sin\phi\mathbf{E})=\sin\phi\mathbf{e}q=Vert(Q)=Vert(sinϕE)=sinϕe
- tr(Q)=1+2cosϕtr(Q)=1+2\cos\phitr(Q)=1+2cosϕ
- sinϕ=±∣∣q∣∣\sin\phi=\pm||\mathbf{q}||sinϕ=±∣∣q∣∣
- e=qsinϕ\mathbf{e}=\frac{\mathbf{q}}{\sin\phi}e=sinϕq
- cosϕ=tr(Q)−12=q0\cos\phi=\frac{tr(Q)-1}{2}=q_0cosϕ=2tr(Q)−1=q0
- Q=qqT∣∣q∣∣2+q0(1−qqT∣∣q∣∣2)+Q‾Q=\frac{\mathbf{q}\mathbf{q}^T}{||\mathbf{q}||^2}+q_0(1-\frac{\mathbf{q}\mathbf{q}^T}{||\mathbf{q}||^2})+\overline{Q}Q=∣∣q∣∣2qqT+q0(1−∣∣q∣∣2qqT)+Q
- properties of 3 linear transformation matrix :
- orthogonal:
- idempotent matrix
- singular: det(Q)=0det(Q)=0det(Q)=0
- symmetric matrix
- rotation:
- QQT=1QQ^T=1QQT=1
- det(Q)=1det(Q)=1det(Q)=1
- reflection:
- symmetric matrix
- tr(Q)≠−1,3tr(Q)\neq-1,3tr(Q)=−1,3
- QQT=1QQ^T=1QQT=1
- det(Q)=−1det(Q)=-1det(Q)=−1
- orthogonal:
Lecture4 Fundamentals of Rigid-Body Mechanics
angular velcity matrix of rigid-body motion
p(t)=Q(t)⋅po⇒p˙(t)=Q˙(t)po and po=QT(t)p(t)\mathbf{p}(t)=Q(t)\cdot \mathbf{p}_o \Rightarrow \dot{ \mathbf{p}}(t)=\dot{Q}(t) \mathbf{p}_o \ \ and\ \ \mathbf{p}_o=Q^T(t) \mathbf{p}(t)p(t)=Q(t)⋅po⇒p˙(t)=Q˙(t)po and po=QT(t)p(t)
so that, p˙(t)=Q˙QTp\dot{ \mathbf{p}}(t)=\dot{ Q}Q^T \mathbf{p}p˙(t)=Q˙QTp
let :
Ω=Q˙QT\Omega=\dot{ Q}Q^TΩ=Q˙QT
where ω=[ωxωyωz]\omega =\left[\begin{matrix} \mathbf{\omega}_x \\ \mathbf{\omega}_y \\ \mathbf{\omega}_z \end{matrix} \right]ω=
ωxωyωz
and Ω=1×ω\Omega=1\times\omegaΩ=1×ω
general instantaneous motion of a rigid-body
- position :
p(t)=a(t)+Q(t)(p−a)\mathbf{p}(t) = \mathbf{a}(t) + Q(t)(\mathbf{p}-\mathbf{a} )p(t)=a(t)+Q(t)(p−a) - velcity :
p˙=a˙+Ω(p−a)\dot{\mathbf{p}}=\dot{\mathbf{a}}+\Omega (\mathbf{p}-\mathbf{a} )p˙=a˙+Ω(p−a)
Subsequently, (p˙−a˙)(p−a)=0(\dot{\mathbf{p}}-\dot{\mathbf{a}})(\mathbf{p}-\mathbf{a} )=0(p˙−a˙)(p−a)=0
it indicates the relative velocity of two point of the same rigid body is perpendicular(垂直) to the line joining them.
hence, the instantaneous motion of a body is equivalent to that of bolt of a screw of axis L’,called Instantaneous Screw Axis(ISA)(旋转轴)
As the ISA changes, the motion of the body is called an instantaneous screw
v0=v0ω∣∣ω∣∣\mathbf{v}_0=v_0\frac{\mathbf{\omega}}{||\mathbf{\omega}||}v0=v0∣∣ω∣∣ω, ω\omegaω called amplitude
p’: pitch of the instantaneous screw
p′=v0∣∣ω∣∣ m/radp'=\frac{v_0}{||\mathbf{\omega} ||} \ \ m/radp′=∣∣ω∣∣v0 m/rad
to determine the set of the points of the plate that undergo a velocity of minimum magnitude:
po′=1∣∣ω∣∣ΩC˙p^{'}_o=\frac{1}{||\omega||}\Omega \dot{C}po′=∣∣ω∣∣1ΩC˙
* ISA L’ can be specified uniquely through its Plu¨\ddot{u}u¨cker(普吕克) array pL\mathbf{p}_LpL:
pL′=[e′n′]\mathbf{p}'_L=\left[\begin{matrix} \mathbf{e}' \\ \mathbf{n}' \end{matrix} \right]pL′=[e′n′]
where e′\mathbf{e}'e′: direction of L’ and n′\mathbf{n}'n′ : moment about origin
and n′=p′×e′\mathbf{n}'=\mathbf{p}' \times \mathbf{e}'n′=p′×e′
e′=ω∣∣ω∣∣\mathbf{e}'=\frac{\mathbf{\omega}}{||\mathbf{\omega} ||}e′=∣∣ω∣∣ω
Twist-transfer Formula
it relates the twist of the same rigid body at two different point
tA=[ωvA]\mathbf{t}_A=\left[\begin{matrix} \mathbf{\omega} \\ \mathbf{v}_A \end{matrix} \right]tA=[ωvA] and tA=[ωvA]\mathbf{t}_A=\left[ \begin{matrix}\mathbf{\omega}\\ \mathbf{v}_A \end{matrix} \right]tA=[ωvA] t\mathbf{t}t: instantaneous velocity
vP=vA+(a−p)×ω\mathbf{v}_P=\mathbf{v}_A+(\mathbf{a}-\mathbf{p} )\times \mathbf{\omega}vP=vA+(a−p)×ω
so, tP=UtA\mathbf{t}_P=U\mathbf{t}_AtP=UtA , where U=[I0A−PI]U=\left[\begin{matrix} I&\mathbf{0}\\A-P&I\end{matrix} \right]U=[IA−P0I]
computation of the twist parameter
* centriod c=13∑i=13pic=\frac{1}{3}\sum^{3}_{i=1}p_ic=31∑i=13pi likewise : c˙=13∑i=13p˙i\dot{c}=\frac{1}{3}\sum^{3}_{i=1}\dot{p}_ic˙=31∑i=13p˙i
P=[p1−c, p2−c, p3−c]\mathbf{P} =[p_1-c, \ p_2-c,\ p_3-c]P=[p1−c, p2−c, p3−c]
P˙=[p˙1−c˙, p˙2−c˙, p˙3−c˙]\dot{\mathbf{P}} =[\dot{p}_1-\dot{c}, \ \dot{p}_2-\dot{c}, \ \dot{p}_3-\dot{c} ]P˙=[p˙1−c˙, p˙2−c˙, p˙3−c˙]
P˙=ΩP\dot{\mathbf{P}} =\Omega\mathbf{P}P˙=ΩP
D⋅vect(Ω)=vect(P˙)D\cdot vect(\Omega)=vect(\dot{\mathbf{P}})D⋅vect(Ω)=vect(P˙), where D=12[tr(P)I−P]D=\frac{1}{2}[tr(P)I-P]D=21[tr(P)I−P]
we can use the equation to find angle velocity ω\omegaω:
- find D: D=12[tr(P)I−P]D=\frac{1}{2}[tr(P)I-P]D=21[tr(P)I−P]
- find: vert(P˙)vert(\dot{P})vert(P˙)
- use: D⋅vect(Ω)=vect(P˙)D\cdot vect(\Omega)=vect(\dot{\mathbf{P}})D⋅vect(Ω)=vect(P˙) and compare both side ,then find ω\omegaω
compatibility conditions of velocity
method1: check all points use (p˙−a˙)(p−a)=0(\dot{\mathbf{p}}-\dot{\mathbf{a}})(\mathbf{p}-\mathbf{a} )=0(p˙−a˙)(p−a)=0
method2:
- position
PTP=CP^TP=CPTP=C - velocity
P˙TP+PTP˙=0\dot{P}^TP+P^T\dot{P}=0P˙TP+PTP˙=0
i.e. P˙TP\dot{P}^TPP˙TP is skew-symmetric matrix
compatibility conditions of accelerations:
∵p¨=a¨+Ω˙(p−a)+Ω(p˙−a˙)\because \ddot{\mathbf{p}}=\ddot{\mathbf{a}}+\dot{\Omega}(\mathbf{p}-\mathbf{a})+\Omega(\dot{\mathbf{p}}-\dot{\mathbf{a}})∵p¨=a¨+Ω˙(p−a)+Ω(p˙−a˙)
∴p¨=a¨+(Ω˙+Ω2)(p−a)\therefore \ddot{\mathbf{p}}=\ddot{\mathbf{a}}+(\dot{\Omega}+\Omega^2)(\mathbf{p}-\mathbf{a})∴p¨=a¨+(Ω˙+Ω2)(p−a)
angular-acceleration matrix:
W=Ω˙+Ω2W=\dot{\Omega}+\Omega^2W=Ω˙+Ω2
vect(W)=vect(Ω˙)=ω˙vect(W)=vect(\dot{\Omega})=\dot{\omega}vect(W)=vect(Ω˙)=ω˙
tr(W)=tr(Ω2)=−2∣∣ω∣∣2tr(W)=tr(\Omega^2)=-2||\omega||^2tr(W)=tr(Ω2)=−2∣∣ω∣∣2
t˙=[ω˙v˙]\dot{t}=\left[\begin{matrix} \dot{\mathbf{\omega}}\\\dot{\mathbf{v}} \end{matrix} \right]t˙=[ω˙v˙]
computation of angular-acceleration from piont-acceleration:
c¨=13∑i=13pi¨\ddot{\mathbf{c}}=\frac{1}{3}\sum^3_{i=1}\ddot{\mathbf{p_i}}c¨=31∑i=13pi¨
P¨=[p1¨−c¨p2¨−c¨p3¨−c¨]\ddot{P}=\left[\begin{matrix} \ddot{\mathbf{p}_1}-\ddot{\mathbf{c}} & \ddot{\mathbf{p}_2}-\ddot{\mathbf{c}}&\ddot{\mathbf{p}_3}-\ddot{\mathbf{c}} \end{matrix}\right]P¨=[p1¨−c¨p2¨−c¨p3¨−c¨]
p¨=(Ω˙+Ω2)P\ddot{\mathbf{p}}=(\dot{\Omega}+\Omega^2)Pp¨=(Ω˙+Ω2)P
D(˙ω)=vect(P¨−∣Omega2P)D\dot(\mathbf{\omega})=vect(\ddot{P}-|Omega^2P)D(˙ω)=vect(P¨−∣Omega2P)
verify the angle acceleration compatible
Lecture5 Kinematics and Statics of Robotic Mechanical Systems
basic definitions
- kinematic chain: llinks + kinematic pairs
- upper kinematic pairs: point,line contact.
- lower kinematic pairs: surface contact
- type of lower kinematic pairs
- R: rotating pair, or revolute joints
- P: sliding pair, or prismatic joints
- first links: manipulator base
- last links: end effector(EE)
Denavit-Hartenberg table
DH parameters
- ziz_izi: ith axis
- xix_ixi: is defined as the common perpendicular to zi−1z_{i-1}zi−1 and ziz_izi from zi−1z_{i-1}zi−1 to ziz_izi.
- yiy_iyi: y=z×x\mathbf{y}=\mathbf{z}\times \mathbf{x}y=z×x, right hand rule
- aia_iai: distance between ziz_izi and zi+1z_{i+1}zi+1
- bib_ibi: intersection of xi+1x_{i+1}xi+1 and ziz_izi , O’ in ziz_izi
- αi\alpha_iαi: the angle of ziz_izi and zi+1z_{i+1}zi+1 (from ziz_izi to zi+1z_{i+1}zi+1 along xi+1x_{i+1}xi+1)
- θi\theta_iθi: the angle of xix_ixi to xi+1x_{i+1}xi+1 , (from xix_ixi to xi+1x_{i+1}xi+1 , along ziz_izi)
- x1x_1x1: position arbitrary, fixed and parallel to floor
- link from o to n, frame from 1 to n+1
[Qi]i=[cosθi−cosαisinθisinαisinθisinθicosαicosθi−sinαicosθi0sinαicosαi] [Q_i]_i=\left[\begin{matrix} \cos\theta_i & -\cos\alpha_i\sin\theta_i & \sin\alpha_i\sin\theta_i \\ \sin\theta_i & \cos\alpha_i \cos\theta_i & - \sin\alpha_i \cos\theta_i \\ 0& \sin\alpha_i & \cos\alpha_i \end{matrix} \right][Qi]i=
cosθisinθi0−cosαisinθicosαicosθisinαisinαisinθi−sinαicosθicosαi
[ai]i=[aicosθiaisinθibi] [bi]i=[aibisinαibicosαi] [a_i]_i= \left[ \begin{matrix} a_i \cos\theta_i \\ a_i \sin\theta_i \\ b_i \end{matrix} \right]\ \ \ \ [b_i]_i = \left[ \begin{matrix} a_i \\ b_i \sin\alpha_i \\ b_i \cos\alpha_i \end{matrix} \right] [ai]i=
aicosθiaisinθibi
[bi]i=
aibisinαibicosαi
ai=Qibi a_i = Q_ib_i ai=Qibi
general IKP for six_revolute manipulator
- the EE position and orientation:
- orientation :
Q1Q2Q3Q4Q5Q6=QQ_1Q_2Q_3Q_4Q_5Q_6=QQ1Q2Q3Q4Q5Q6=Q - position:
P=a1+Q1a2+Q1Q2a3+Q1Q2Q3a4+Q1Q2Q3Q4a5+Q1Q2Q3Q4Q5a6P=a_1+Q_1a_2+Q_1Q_2a_3+Q_1Q_2Q_3a_4+Q_1Q_2Q_3Q_4a_5+Q_1Q_2Q_3Q_4Q_5a_6P=a1+Q1a2+Q1Q2a3+Q1Q2Q3a4+Q1Q2Q3Q4a5+Q1Q2Q3Q4Q5a6
- orientation :
Lecture6 Innovative Design and Application
6.1 parallel manipulators
- types of manipulators
manipulator{Serial MainpulatorParallel Manipulator manipulator \begin{cases} Serial\ Mainpulator\\[2ex] Parallel\ Manipulator \end{cases} manipulator⎩ ⎨ ⎧Serial MainpulatorParallel Manipulator - basic concepts and definitions
- Parallel mechanism: close-loop mechanism, mobile platform is connected to the base by at last two independent kinematic chains
- Similar terms: closed-loop mechanism, parallel robot, parallel manipulator
- Antonyms: open-loop mechanism, serial manipulator, serial robot
- Parallel Kinematic Machine(PKM): machine tool based on a parallel mechanism.
- advantages and disadvantages of PKM
- advantages
- high rigidity(刚度) and stiffness(强度)
- high speed
- high accuracy
- high flexibility
- disadvantages
- small workspace and cutting volume
- difficulty to design
- coupled control system
- advantages
6.2 innovation design(parallezation of serial robots)
synthesis starting from the actuating structure
synthesis of parallel links based on DOF constaints
requirements on parallel actuated arms
6.3 reconfigurable robotic manipulators
6.4 modular flexure joints for compliant mechanisms
PZT(压电陶瓷) actuator
6.5applications
Lecture7
更多推荐



所有评论(0)