• ISSN: 1674-7461
  • CN: 11-5823/TU
  • 主管:中国科学技术协会
  • 主办:中国图学学会
  • 承办:中国建筑科学研究院有限公司

建筑几何造型中的Lie群Lie代数方法

张群力, 黄俊, 程健, 林涛涛

张群力, 黄俊, 程健, 林涛涛. 建筑几何造型中的Lie群Lie代数方法[J]. 土木建筑工程信息技术, 2014, 6(1): 29-36,50.
引用本文: 张群力, 黄俊, 程健, 林涛涛. 建筑几何造型中的Lie群Lie代数方法[J]. 土木建筑工程信息技术, 2014, 6(1): 29-36,50.
Zhang Qunli, Huang Jun, Cheng Jian, Lin Taotao. Lie Group and Lie Algebra Method in Architectural Geometric Modeling[J]. Journal of Information Technologyin Civil Engineering and Architecture, 2014, 6(1): 29-36,50.
Citation: Zhang Qunli, Huang Jun, Cheng Jian, Lin Taotao. Lie Group and Lie Algebra Method in Architectural Geometric Modeling[J]. Journal of Information Technologyin Civil Engineering and Architecture, 2014, 6(1): 29-36,50.

建筑几何造型中的Lie群Lie代数方法

详细信息
    作者简介:

    张群力(1956-),男,工程师。主要研究方向:建筑结构设计与数字化建模

  • 中图分类号: TU113.6+41:TU12

Lie Group and Lie Algebra Method in Architectural Geometric Modeling

  • 摘要: LieLie代数理论在机器人机构学中有着重要应用。E3中刚体的连续运动对应于LieSE(3)上的一条连续曲线。运动旋量$\hat{\xi }\in se\left( 3 \right)$作为LieSE(3)的Lie代数元素,将刚体运动与LieSE(3)联系起来了。根据se(3)与SE(3)之间的指数映射及刚体运动的叠加定理建立串联机器人正向运动指数积公式,从而解析表达出虚拟的刚体运动。伴随刚体的空间运动,刚体边缘曲线在E3空间扫掠出了一张曲面。用计算机图形学与几何造型的方法,获得与刚体运动相对应的,用nurbs表达的建筑几何造型曲面。
    Abstract: Lie group and Lie algebra theory have wide application in robot mechanism. Continuous motion of the rigid body in E3 corresponding to a continuous curve in SE (3) of Lie group. Motion screw is the Lie algebra element in SE (3) of Lie group and integrates rigid motion with SE (3) of Lie group. Constructing the forward motion index product formula of serial robot based on exponential map and rigid body motion superposition theorem, thereby resolving expression of virtual rigid body motion. The edge of rigid body sweeps a curved surface in E3 space with space motion of the rigid body. Finally, obtaining building geometry swept surface which can be expressed by nurbs and corresponding to rigid motion by using computer graphics and geometric modeling approaches.
  • Lie群的理论发端于19世纪70年代挪威数学家Sophus Lie的工作。Lie群是一个群,其上有拓扑,又是一个解析流形。它上面同时包含代数结构、拓扑结构和解析结构,这些结构满足一些相容性条件。在Lie群上,可以同时研究群结构、拓扑结构和几何结构。Lie群是非线性的数学对象,Lie代数是Lie群结构的自然的线性化。Lie群和Lie代数处于代数、拓扑、几何和分析的结合点上。实际工程应用中,研究卫星的姿态、机器人运动及计算机图形学等,LieLie代数理论是一个有效工具。本文将其应用于建筑造型[1]。刚体变换群SE(3)是Lie群中的一个经典范例,与一般抽象的Lie群不同。它有具体的运动学和几何学意义,能够进行直观的形象思维。同时还具有外围空间,SE(3)可以视为12维欧氏空间中的六维超曲面,SO(3)局部上是9维空间的三维超曲面。刚体运动对应于超曲面上的一条曲线,刚体的速度、加速度可以理解为沿曲线的切向量、协变导。除了采用LieLie代数方法讨论外,还可用超曲面上的几何学来研究刚体运动学。在微分流形的平台上可以将几何学与运动学进行统一处理[2]。本文中图号中标有字母a的图为引用图,来自公开网络信息。其它图形是在Rhino平台上采用nurbs技术绘制。

    G为解析流形,其上有乘法运算,使得G在此乘法下成为群且乘法映射f:G×GG, (a, bab和逆映射τ:G×GG, a·a-1都是解析映射,则称GLie群。G作为解析流形的维数称为LieG的维数。

    g是基域K上的向量空间,若g上存在双线性映射[, ]:g×gg,满足(1)[X, X]=0, ∀Xg,(2)Jacobi恒等式:

    [[X, Y], Z]+[[Z, X], Y]+[[Y, Z], X]=0, ∀X, Y, Zg,则称(g, [, ])是域K上的Lie代数,称[, ]为Lie括号。(Lie括号反映了Lie群乘法不可交换性这一事实)g作为向量空间的维数称为Lie代数g的维数。

    abG,左平移映射La:GG, bab且La -1 = La-1 因此是G的拓扑自同胚。同样可以讨论右平移。(左右平移反映了Lie群乘法满足结合率这一事实)由于左右平移都是G的自同胚,所以G中每点处的拓扑结构都是一样的。只要关心单位元e邻域的拓扑即可[3]

    TeGLieG单位元e上的切空间,任取XeTeG,(La)*Xa=aXeXe左平移到点aG的切空间TaG中,即群元素的平移诱导出切向量的平移。(La)*Xa可以看作定义在G×TeG上的一个二元函数。固定a而令Xe遍历TeG,得到线性同构(La)*TeGTaG,它使得G的任一切空间TaG通过平移而自然地同构于TeG。再固定Xe而令a遍历G,得到G上的一个切向量场X,它在每一个点aG的取值为Xa=(La)*Xe=aXe,并且∀a, bG,有(La)*Xb=(La)*(Lb)*Xe=abXe=(Lab)*Xe=Xab。具有这种性质的切向量场X称为左不变向量场。令b=eXa=(La)*Xe这表明左不变向量场必然是由单位元处的某个切向量经过平移生成的。G上的全体左不变向量场的集合(空间)记为γL(G),显然它是一个同构于TeG的线性空间。TeG的每组基恰好对应于γL(G)的一组基,后者形成了G上的一个标架场。

    定义:设GLie群,γL(G)为G上的所有左不变向量场构成向量空间,∀X, YγL(G)在Lie括号[X, Y]=XY-YX下成为Lie代数,称为LieGLie代数。

    对于任意的切向量ATeG,设ΦARG表示左不变向量场XA的积分曲线,它在t=0时经过G的单位元e,即满足ΦA(0)=eΦA'(0)=A$\frac{d}{dt}$ΦA(t)=XA(ΦA(t))及

    $ {\mathit{\Phi }_A}\left( {s + t} \right) = {\mathit{\Phi }_A}\left( s \right){\mathit{\Phi }_A}\left( t \right) $

    (1.1)

    其中A表示一个Lie代数元素,t为参数。因ΦA(t)∈GΦA(s)∈GΦA(t+s)∈G,由(1)式可知映射ΦA(t):RGLie群同态[2],同时也是G的单参数子群。在(1.1)式的等号二边同时对S求导并令S=0得ΦA(0+t)=ΦA′(0)ΦA(t),

    即:

    $ {{\mathit{\Phi '}}_A}\left( t \right) = A{\mathit{\Phi }_A}\left( t \right) $

    (1.2)

    介常微分方程(1.2)得

    $ {\mathit{\Phi }_A}\left( t \right) = {e^{At}} $

    再令t=1,得

    $ {\mathit{\Phi }_A}\left( 1 \right) = {e^A} $

    (1.3)

    将由(1.3)式定义的指数映射TeGG, AeA称为从Lie代数TeGLieG上的指数映射。Lie群的三条基本定理,可以说明Lie代数乃是Lie群结构的局部不变量。用现代的观点表达出来就是说:由Lie群,唯一确定其Lie代数。反之,由Lie代数也可在单位元附近完全确定Lie群。但是Lie代数不能确定Lie群的整体性质。

    E3中的刚体相对于某固定坐标系的位置与姿态叫做位形,刚体全体位形的集合叫做位形空间。所有可能的刚体运动变换空间是Lie群的一个范例。

    刚体的空间转动是一类特殊的刚体运动,它只改变刚体的姿态。刚体的姿态可以用安装在刚体上的动坐标系相对于参考坐标系的相对姿态用旋转矩阵R来描述。旋转群又称为特殊正交群用SO(3)表示,定义为:SO(3)={RGL(3):RTR=I, detR=1}括号内是SO(3)的隐式方程表达。SO(3)是以矩阵乘法作二元运算,以单位阵I为单位元素,以RT作为R的逆,一般线性群GL(3)的3维子群。可以证明SO(3)是满足矩阵乘法的Lie群。

    自由刚体相对于固定坐标系旋转后的位形可由唯一的RSO(3)表示。因此,刚体的姿态可用SO(3)的参数化表示。相应的运动轨迹可表示为R(t)∈SO(3),t∈[0, T]。Euler欧拉定理:任意姿态RSO(3)等效于绕固定轴ωR3旋转θ∈[0, 2π)角。这种旋转运动的表示法也叫做等效轴法。

    SO(3)的Lie代数用so(3)表示, 是由R3×3上的反对称矩阵的集合组成的。$so\left( 3 \right)=\left\{ \hat{\omega }\in {{\bf{R}}^{3\times 3}}:{{{\hat{\omega }}}^{T}}={{{\hat{\omega }}}^{-1}} \right\}$

    其中:ω=[ω1, ω2, ω3]T

    $ \omega \times = \hat \omega = \left[ {\begin{array}{*{20}{c}} 0&{ - {\omega _3}}&{{\omega _2}}\\ {{\omega _3}}&0&{ - {\omega _1}}\\ { - {\omega _2}}&{{\omega _1}}&0 \end{array}} \right] $

    算子∧为叉积的矩阵表达)

    Lie括号的构造为$\left[{{{\hat{\omega }}}_{1}}, {{{\hat{\omega }}}_{2}} \right]={{{\hat{\omega }}}_{1}}{{{\hat{\omega }}}_{2}}-{{{\hat{\omega }}}_{2}}{{{\hat{\omega }}}_{1}}, {{{\hat{\omega }}}_{1}}, {{{\hat{\omega }}}_{2}}\in so\left( 3 \right)$

    其中,ω是沿欧拉转轴(瞬时转轴)的单位矢,其三个方向余弦即为

    ωj(j=1, 2, 3),物理意义是瞬间旋转角速度。

    LieSO(3)与相关的Lie代数so(3)之间的联系是矩阵指数, 即由Lie代数求出Lie群元素。指数映射so(3)→SO(3),是SO(3)上的满映射。即对于给定的RSO(3),存在ωR3ω=1及θR,使得R=exp(${\hat{\omega }}$θ)。

    其中:ωR3为表示旋转方向的单位矢量,θR为旋转角度。物体的每一次转动都存在某一个RSO(3)与之对应,对此可将R写成ωθ的函数。R(ω, θ)=exp(ω, θ)=e${\hat{\omega }}$θ

    $ {e^{\hat \omega \theta }} = I + \hat \omega \sin \theta + {{\hat \omega }^2}\left( {1 - \cos \theta } \right) $

    (2.1)

    上式称为罗德里格斯(Rodrigues)公式。它给出了指数映射so(3)→SO(3)的具体解析表达式。反之,通过矩阵对数能够由Lie群的元素计算出对应的Lie代数。

    以上方法就是采用指数坐标对SO(3)进行参数化。其它常用的参数化方法还有,四元数法、RPY角法和欧拉角法等,每种方法各有优劣处。只有单位四元数能被看作旋转矩阵SO(3)的一种整体参数化的形式,其它方法均属于局部参数化的范畴[4]。在拓扑学上SO(3)与实射影空间PR3之间存在微分同胚映射[5]

    图 1 实射影平面在E3中的一种浸入boy's曲面
    图  1  实射影平面在E3中的一种浸入boy's曲面

    刚体变换群又称欧氏群用SE(3)表示,定义为:SE(3)={(R, T):RSO(3), tR3}

    相对于刚体转动的表达而言,描述一般的刚体运动要复杂得多。必须同时来描述刚体上任意一点的移动及刚体绕该点的转动。为此,通常在刚体上的某点处建立直角坐标系{B}(物体坐标系),通过描述该坐标系相对于参考坐标系{A}的运动来描述刚体的位形。这样刚体上各点的运动情况都可以由物体坐标系{B}的运动以及该点相对于物体坐标系的运动得到。具体有下面二种表达形式:

    欧氏几何中仿射变换形式的表达

    $ {P_A} = {R_{AB}}{P_B} + {t_{AB}} $

    (2.2)

    和射影几何中齐次变换形式的表达

    $ \left( \begin{array}{l} {P_A}\\ 1 \end{array} \right) = \left[ {\begin{array}{*{20}{c}} {{R_{AB}}}&{{t_{AB}}}\\ 0&1 \end{array}} \right]\left( \begin{array}{l} {P_B}\\ 1 \end{array} \right) $

    (2.3)

    式(2.3)矩阵中的最后一行是额外增加的。但在图形学中,其数字1常被标量常数代替,当这个常数大于1时表示图形放大,小于1时表示图形压缩。另外最后一行的0行矢量也可用某个其它行矢量代替,以构成“透视变换”。这两种情况对应的矩阵变换已不再表示刚体变换[6]

    利用齐次坐标和齐次变换矩阵可以证明SE(3)对于矩阵乘法构成Lie群。

    刚体的任一位形可由物体坐标系相对固定坐标系的位置tR3和姿态RSO(3)确定。其所有位形组成的空间称为刚体的位形空间。因此,刚体的位形空间可以表示为R3SO(3)的乘积空间(半直积),记为SE(3)。SE(3)={(R, T):RSO(3), tR3}=SO3⊗R3

    这里的半直积是指将旋转作用于平移而不是相反。刚体的位形空间中元素与LieSE(3)中元素有着同态关系。刚体的姿态可用SE(3)的参数化表示。Chasles夏莱定理:任意刚体运动均可以通过绕一轴的转动加上平行于该轴的移动实现。

    这种组合运动称为旋量运动(或螺旋运动)。旋量运动的无穷小量称为运动旋量$\hat{\xi }\in se\left( 3 \right)$

    以齐次形式表示的刚体变换矩阵是一个Lie群, 同时也是一个特殊欧氏群SE(3)。与LieSE(3)相关的Lie代数用se(3)表示。

    SE(3)的Lie代数:se(3)={(v, ${\hat{\omega }}$):vR3, ${\hat{\omega }}$so(3)}

    在齐次坐标表示中,元素$\hat{\xi }\in se\left( 3 \right)$可写成

    $ \hat \xi = \left[ {\begin{array}{*{20}{c}} {\hat \omega }&v\\ 0&0 \end{array}} \right] \in {{\bf{R}}^{4 \times 4}} $

    Lie括号可表示为$\left[{{{\hat{\xi }}}_{1}}, {{{\hat{\xi }}}_{2}} \right]={{{\hat{\xi }}}_{1}}{{{\hat{\xi }}}_{2}}-{{{\hat{\xi }}}_{2}}{{{\hat{\xi }}}_{1}}, {{{\hat{\xi }}}_{1}}, {{{\hat{\xi }}}_{2}}\in se\left( 3 \right)$

    se(3)中的元素称为旋量,或者叫欧氏群的一个生成元。LieSE(3)与相关的Lie代数se(3)之间的联系是矩阵指数, 通过矩阵对数能够计算出与Lie群的元素对应的Lie代数。指数映射se(3)→SE(3),是SE(3)上的满映射。即对于给定的gSE(3),存在${\hat{\xi }}$se(3)和θR,使得

    $ g = \exp \left( {\hat \xi \theta } \right) = {e^{\theta \hat \xi }} $

    其中:${{e}^{\theta \hat{\xi }}}=\left[\begin{matrix} {{e}^{\theta \hat{\omega }}} & \left( I-{{e}^{\theta \hat{\omega }}} \right)\left( \omega \times v \right)+\theta \omega {{\omega }^{T}}v \\ 0 & 1 \\ \end{matrix} \right]$ ω≠0,${{e}^{\theta \hat{\xi }}}=\left[\begin{matrix} I & v\theta \\ 0 & 1 \\ \end{matrix} \right]\omega =0$

    以上是指数映射se(3)→SE(3)的具体解析表达式。

    反之,通过矩阵对数能够由Lie群的元素计算出对应的Lie代数。

    两个或两个以上的构件通过运动副联接而组成的系统称为运动链。组成运动链的各个构件构成首末封闭系统的运动链称为闭链;反之为开链。由开链组成的机器人称为串联机器人。串联机器人的位形空间可以用一个坐标卡复盖[7],它是一个全局坐标,是一个特殊的微分流形;而多数并联机器人的位形空间不能用一个坐标卡复盖,因此它没有全局坐标,是一个一般的微分流形。

    19世纪初期,CHASLESPOINSOT在其著作里介绍了关于旋量理论的基本原理。(运动学中的旋量与场论中的旋量是两种不同的概念)旋量有三个表征形式:对偶矢量、Plucker坐标和Lie代数。旋量作为Lie代数的一个元素,研究早于LieLie代数的出现。1983年BROCKT最先将Lie群与Lie代数中的指数映射引入到机器人中来,建立了机器人的指数建模方法,通常称为指数积公式。整个系统中只有两个坐标系即可:一个是惯性坐标系{S},另一个是与未端执行器固联的工具坐标系{T}。由于各关节的运动由与之关联的关节轴线的运动旋量产生,由此可以给出其运动学的几何描述。如果用ξ表示该关节轴线的单位运动旋量坐标,则沿此轴线的刚体运动可表示为

    $ {g_{ST}}\left( \theta \right) = {e^{\theta \hat \xi }}{g_{ST}}\left( 0 \right) $

    对于一个具有n个关节的串联机器人正向运动学的求解,利用刚体运动的叠加原理,可得指数积公式如下:

    $ {g_{ST}}\left( \theta \right) = {e^{{\theta _1}{{\hat \xi }_1}}}{e^{{\theta _2}{{\hat \xi }_2}}} \cdots {e^{{\theta _i}{{\hat \xi }_i}}} \cdots {e^{{\theta _n}{{\hat \xi }_n}}}{g_{ST}}\left( 0 \right) $

    式中gST(0)表示工具坐标系的初始位形相对于惯性坐标系的变换矩阵,gST(θ)表示刚体运动后工具坐标系的位形相对于惯性坐标系的变换矩阵。利用指数积公式,机器人的运动学完全可以用机器人各个关节的运动旋量坐标表征。这里变换$g={{e}^{\theta \hat{\xi }}}$所描述的不是点在不同坐标系之间的变换,而是在同一惯性坐标系下描述刚体由起始位形到最终位形的变换。正是该公式可以不考虑中间相对的位形变换,故可以描述为一个单一的输入输出系统,为表达及控制机器人运动带来了诸多便利[6]

    北京凤凰国际传媒中心方案竞赛是由业主单位一香港凤凰卫视邀请国内5家著名设计单位参加的方案招标,方案设计历时45天,北京市建筑设计院胡越工作室提供的设计方案在9个参赛方案中获得专家评审第一名。这个综合性的项目将包含电视演播,办公和商务等各种功能,曲线的壳体来自莫比乌斯带这一概念,这是一条没有开头和结尾的延续的条带,它将宏伟的中庭空间缠绕包裹。一个结构性的钢铁斜肋构架支撑着巨大的玻璃幕墙,这面透明的幕帘为室内带入充足的阳光。

    图 2 北京凤凰国际中心
    图  2  北京凤凰国际中心
    图 3 北京凤凰国际中心施工实景
    图  3  北京凤凰国际中心施工实景

    对其几何造型进行刚体运动分析:

    将一个刚性的椭圆型平面(该平面平行z轴)其形心被约束在圆周上沿圆周用角速度φ作旋转运动,同时该椭圆型平面又绕着其经过点的切线用角速度φ作旋转运动。设转动角速之比φ/φ=2,当φ=2π时,φ=π。此时椭圆型平面的边缘曲线在三维空间中扫掠出一个封闭的环面(扭环面)。设P为刚性椭圆上一动点的初始位置,M为刚性椭圆形心初始位置。经过绕Z轴转动以后分别到达P′点和M′点。然后P′点绕过M′点圆R的切矢v旋转,到达P″点。

    机械臂仿真中间位形

    第一步:建立惯性坐标系{S}与物体坐标系{T}:a和b的几何意义详图 4

    图 4 北京凤凰国际中心几何造型分析动椭圆绕圆心运动伴随自转 二个角速度比为1/2
    图  4  北京凤凰国际中心几何造型分析动椭圆绕圆心运动伴随自转 二个角速度比为1/2
    图 5 动椭圆绕圆心运动伴随自转 机械臂仿真初始位形
    图  5  动椭圆绕圆心运动伴随自转 机械臂仿真初始位形

    第二步:物体坐标系初始位形

    $ {g_{ST}}\left( 0 \right) = \left[ {\begin{array}{*{20}{c}} I&{{{\left[ {\begin{array}{*{20}{c}} 0&a&b \end{array}} \right]}^T}}\\ 0&1 \end{array}} \right] $

    第三步:关节1的单位运动旋量计算如下:

    $ {\omega _1} = \left[ {\begin{array}{*{20}{c}} 0&0&1 \end{array}} \right],{r_1} = \left[ {\begin{array}{*{20}{c}} 0&0&0 \end{array}} \right],{v_1} = {r_1} \times {\omega _1} = {\left[ {\begin{array}{*{20}{c}} 0&0&0 \end{array}} \right]^T} $

    $ {{\hat \omega }_1} = \left[ {\begin{array}{*{20}{c}} 0&{ - 1}&0\\ 1&0&0\\ 0&0&0 \end{array}} \right] $

    $ \omega _1^2 = {\left[ {\begin{array}{*{20}{c}} 0&{ - 1}&0\\ 1&0&0\\ 0&0&0 \end{array}} \right]^2} = \left[ {\begin{array}{*{20}{c}} { - 1}&0&0\\ 0&{ - 1}&0\\ 0&0&0 \end{array}} \right] $

    $ {{\hat \xi }_1} = \left[ {\begin{array}{*{20}{c}} {{\omega _1}}\\ {{r_1} \times {\omega _1}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0\\ 0\\ 1\\ 0\\ 0\\ 0 \end{array}} \right] $

    考虑到

    $ \begin{array}{l} {e^{{\theta _1}{{\hat \xi }_1}}} = I + {{\hat \omega }_1} + \sin {\theta _1} + \hat \omega _1^2\left( {1 - \cos {\theta _1}} \right) = \\ \;\;\;\;\;\; = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&1&0\\ 0&0&1 \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} 0&{ - 1}&0\\ 1&0&0\\ 0&0&0 \end{array}} \right]\sin {\theta _1}\\ \;\;\;\;\;\; + \left[ {\begin{array}{*{20}{c}} { - 1}&0&0\\ 0&{ - 1}&0\\ 0&0&0 \end{array}} \right]\left( {1 - \cos {\theta _1}} \right)\\ \;\;\;\;\;\; = \left[ {\begin{array}{*{20}{c}} {\cos {\theta _1}}&{ - \sin {\theta _1}}&0\\ {\sin {\theta _1}}&{\cos {\theta _1}}&0\\ 0&0&1 \end{array}} \right] \end{array} $

    $ {\omega _1} \times {v_1} = \left[ {\begin{array}{*{20}{c}} 0&0&1 \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} 0&0&0 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&0&0 \end{array}} \right] $

    $ \left( {I - {e^{{\theta _1}{{\hat \xi }_1}}}} \right){\omega _1} \times {v_1} = \left[ {\begin{array}{*{20}{c}} 0&0&0 \end{array}} \right] $

    $ {\omega _1}\omega _1^T = \left[ {\begin{array}{*{20}{c}} 0\\ 0\\ 1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} 0&0&1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&0&0\\ 0&0&0\\ 0&0&1 \end{array}} \right] $

    $ {\omega _1}\omega _1^{\rm{T}}{{\rm{v}}_1} = \left[ {\begin{array}{*{20}{c}} 0&0&0\\ 0&0&0\\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} 0&0&0 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0&0&0 \end{array}} \right] $

    $ \begin{array}{l} {{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_1}{{\rm{ \mathsf{ ξ} }}_1}}} = \left[ {\begin{array}{*{20}{c}} {{{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_1}{\omega _1}}}}&{\left( {{\rm{I}} - {{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_1}{\omega _1}}}\left( {{\omega _1} \times {{\rm{v}}_1}} \right) + {{\rm{ \mathsf{ θ} }}_1}{{\rm{ \mathsf{ ω} }}_1}{\rm{ \mathsf{ ω} }}_1^{\rm{T}}{{\rm{v}}_1}} \right)}\\ 0&1 \end{array}} \right]\\ \;\;\;\;\;\; = \left[ {\begin{array}{*{20}{c}} {{{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_1}{\omega _1}}}}&0\\ 0&1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\cos {\theta _1}}&{ - \sin {\theta _1}}&0&0\\ {\sin {\theta _1}}&{\cos {\theta _1}}&0&0\\ 0&0&1&0\\ 0&0&0&1 \end{array}} \right] \end{array} $

    第四步:关节2的单位运动旋量计算如下:

    $ {\omega _2} = \left( {\begin{array}{*{20}{c}} 1&0&0 \end{array}} \right),{r_2} = \left( {\begin{array}{*{20}{c}} 0&a&b \end{array}} \right), $

    $ {v_2} = {r_2} \times {\omega _2} = \left( {\begin{array}{*{20}{c}} 0&b&{ - a} \end{array}} \right) $

    $ {\omega _2} \times {v_2} = \left( {\begin{array}{*{20}{c}} 1&0&0 \end{array}} \right) \times \left( {\begin{array}{*{20}{c}} 0&b&{ - a} \end{array}} \right) = \left( {\begin{array}{*{20}{c}} 0&a&b \end{array}} \right) $

    $ {{\hat \xi }_2} = \left[ {\begin{array}{*{20}{c}} {{\omega _2}}\\ {{r_2} \times {\omega _2}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1\\ 0\\ 0\\ 0\\ b\\ { - a} \end{array}} \right] $

    $ \begin{array}{l} {{\hat \omega }_2} = \left[ {\begin{array}{*{20}{c}} 0&0&0\\ 0&0&{ - 1}\\ 0&1&0 \end{array}} \right]\omega _2^2 = {\left[ {\begin{array}{*{20}{c}} 0&0&0\\ 0&0&{ - 1}\\ 0&1&0 \end{array}} \right]^2}\\ \;\;\;\; = \left[ {\begin{array}{*{20}{c}} 0&0&0\\ 0&{ - 1}&0\\ 0&0&{ - 1} \end{array}} \right] \end{array} $

    考虑到

    $ \begin{array}{l} {e^{{\theta _2}{{\hat \omega }_2}}} = I + {{\hat \omega }_2}\sin {\theta _2} + \hat \omega _2^2\left( {1 - \cos {\theta _2}} \right) = \\ = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&1&0\\ 0&0&1 \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} 0&0&0\\ 0&0&{ - 1}\\ 0&1&0 \end{array}} \right]\sin {\theta _2}\\ \;\;\;\; + \left[ {\begin{array}{*{20}{c}} 0&0&0\\ 0&{ - 1}&0\\ 0&0&{ - 1} \end{array}} \right]\left( {1 - \cos {\theta _2}} \right)\\ \;\; = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&{\cos {\theta _2}}&{ - \sin {\theta _2}}\\ 0&{\sin {\theta _2}}&{\cos {\theta _2}} \end{array}} \right] \end{array} $

    $ \begin{array}{l} I - {e^{{\theta _2}{{\hat \omega }_2}}} = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&1&0\\ 0&0&1 \end{array}} \right] - \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&{\cos {\theta _2}}&{ - \sin {\theta _2}}\\ 0&{\sin {\theta _2}}&{\cos {\theta _2}} \end{array}} \right]\\ \;\;\;\;\;\;\;\;\;\;\;\;\; = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&{1 - \cos {\theta _2}}&{\sin {\theta _2}}\\ 0&{ - \sin {\theta _2}}&{1 - \cos {\theta _2}} \end{array}} \right] \end{array} $

    $ \left( {I - {e^{{\theta _2}{{\hat \omega }_2}}}} \right)\left( {{\omega _2} \times {v_2}} \right) = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&{1 - \cos {\theta _2}}&{\sin {\theta _2}}\\ 0&{ - \sin {\theta _2}}&{1 - \cos {\theta _2}} \end{array}} \right] $

    $ \left[ {\begin{array}{*{20}{c}} 0\\ a\\ b \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0\\ {a\left( {1 - \cos {\theta _2}} \right) + b\sin {\theta _2}}\\ { - a\sin {\theta _2} + b\left( {1 - \cos {\theta _2}} \right)} \end{array}} \right] $

    $ {\omega _2}\omega _2^T = \left[ {\begin{array}{*{20}{c}} 1\\ 0\\ 0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} 1&0&0 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&0&0\\ 0&0&0 \end{array}} \right], $

    $ {\theta _2}{\omega _2}\omega _2^T{v_2} = {\theta _2}\left[ {\begin{array}{*{20}{c}} 1&0&0\\ 0&0&0\\ 0&0&0 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} 0\\ b\\ { - a} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 0\\ 0\\ 0 \end{array}} \right] $

    $ \begin{array}{l} {{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_2}{{\rm{ \mathsf{ ξ} }}_2}}} = \left[ {\begin{array}{*{20}{c}} {{{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_2}{\omega _2}}}}&{\left( {{\rm{I}} - {{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_2}{\omega _2}}}} \right)\left( {{{\rm{ \mathsf{ ω} }}_2} \times {{\rm{v}}_2}} \right) + {{\rm{ \mathsf{ θ} }}_2}{{\rm{ \mathsf{ ω} }}_2}{\rm{ \mathsf{ ω} }}_2^{\rm{T}}{{\rm{v}}_2}}\\ 0&1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{{\rm{e}}^{{{\rm{ \mathsf{ θ} }}_2}{\omega _2}}}}\\ 0 \end{array}} \right]\\ \;\;\;\;\; = \left[ {\begin{array}{*{20}{c}} 1&0&0&0\\ 0&{\cos {\theta _2}}&{ - \sin {\theta _2}}&{a\left( {1 - \cos {\theta _2}} \right) + b\sin {\theta _2}}\\ 0&{\sin {\theta _2}}&{\cos {\theta _2}}&{ - a\sin {\theta _2} + b\left( {1 - \cos {\theta _2}} \right)}\\ 0&0&0&1 \end{array}} \right] \end{array} $

    第五步:代入POE公式:

    $ \begin{array}{l} {g_{ST}}\left( \theta \right) = {e^{{\theta _1}{{\hat \xi }_1}}}{e^{{\theta _2}{{\hat \xi }_2}}}{g_{ST}}\left( 0 \right) = \left[ {\begin{array}{*{20}{c}} {\cos {\theta _1}}&{ - \sin {\theta _1}}&0&0\\ {\sin {\theta _1}}&{\cos {\theta _1}}&0&0\\ 0&0&1&0\\ 0&0&0&1 \end{array}} \right]\\ \left[ {\begin{array}{*{20}{c}} 1&0&0&0\\ 0&{\cos {\theta _2}}&{ - \sin {\theta _2}}&{a\left( {1 - \cos {\theta _2}} \right) + b\sin {\theta _2}}\\ 0&{\sin {\theta _2}}&{\cos {\theta _2}}&{ - a\sin {\theta _2} + b\left( {1 - \cos {\theta _2}} \right)}\\ 0&0&0&1 \end{array}} \right]\\ \left[ {\begin{array}{*{20}{c}} 1&0&0&0\\ 0&1&0&a\\ 0&0&1&b\\ 0&0&0&1 \end{array}} \right] \end{array} $

    哈萨克斯坦新国家图书馆的几何造型,可用一个刚性的矩型截面绕圆心运动并伴随自身的转动来形成[8]。其造型效果详图(8910)

    图 6 动椭圆绕圆心运动伴随绕圆上经过点的切线转动左(右)图二个角速度比为3/2(1/2)
    图  6  动椭圆绕圆心运动伴随绕圆上经过点的切线转动左(右)图二个角速度比为3/2(1/2)
    图 7 莫比乌斯环面及其等距面上的纽结线网格
    图  7  莫比乌斯环面及其等距面上的纽结线网格
    图 8 哈萨克斯坦新国家图书馆
    图  8  哈萨克斯坦新国家图书馆
    图 9 几何造型分析动矩形绕圆心运动伴随自转 二个角速度比为1/2
    图  9  几何造型分析动矩形绕圆心运动伴随自转 二个角速度比为1/2
    图 10 结构布置网络拓扑
    图  10  结构布置网络拓扑

    古典微分几何采用微积分为工具,研究对象主要是欧氏空间中的曲线曲面;而现代微分几何则是以微分流形为基础,即可以研究n维欧氏空间的曲线曲面,也可以研究非欧氏空间中的几何。按照F.Klein的观点,几何学就是研究在变换群作用下的不变量和不变性质的学问,而几何中的变换群通常都是Lie[1]。比如,若在Rm上选取等距变换群,则有欧氏几何;若选取仿射变换群,则有仿射几何;若将Rm扩充为射影空间,选取射影变换群,则有射影几何。由此足以看出Lie群在几何学研究中的主导作用。由高斯内蕴几何发展起来的黎曼几何与Lie群已成为现代微分几何的两大基石。图 11中的几何造型已不属于欧氏几何造型的范畴:让动椭圆A形心固定在定椭圆B上,A所在的平面与B所在的平面垂直。动椭圆A沿椭圆B运动的同时绕着经过点定椭圆B的切线旋转,伴随动椭圆A自身的等距缩放。

    图 11 动椭圆绕定椭圆伴随动椭圆的自转与等距缩放,外面是等距面上的纽结线网
    图  11  动椭圆绕定椭圆伴随动椭圆的自转与等距缩放,外面是等距面上的纽结线网
    图 12 动椭圆沿定椭圆运动伴随动椭圆自转,表面为离散的运动点群
    图  12  动椭圆沿定椭圆运动伴随动椭圆自转,表面为离散的运动点群

    图 237中所看到的斜网格是扭环面上的纽结线网格[9],在本文方法建立的数字模型上很容易实现纽结线网格的建立与调整。圆环面、扭环面上的纽结线本身具有优美的空间几何结构,利用其作为基线还可以做出其它的几何造型。详图 15图 16。在图 711中可以看到一个双层的几何结构,其中里面的曲面就是扭环面,而外面的一层则是扭环面等距面上的纽结线网格。只需在刚体的初始位形上确定一个椭圆及该椭圆的等距线,通过刚体特定的空间运动,这两条曲线在空间中就扫掠出扭环面与扭环面的等距面。工程中可利用等距面可进行幕墙布置及定义杆件截面。

    图 13 三亚凤凰岛建筑方案
    图  13  三亚凤凰岛建筑方案
    图 14 湖州喜来登大酒店建筑方案
    图  14  湖州喜来登大酒店建筑方案
    图 15 圆环面纽结线几何造型1
    图  15  圆环面纽结线几何造型1
    图 16 圆环面纽结线几何造型2
    图  16  圆环面纽结线几何造型2
    图 17 利用扭环面的等距面可在纽结线上布置矩形截面的杆件
    图  17  利用扭环面的等距面可在纽结线上布置矩形截面的杆件

    LieLie代数方法描述刚体的连续运动。通过指数坐标对LieSE(3)进行参数化,得到物体(动)坐标系相对于惯性(定)坐标系的连续变化的解析表达。在初始位形刚性截面的边缘曲线上任取一点P,通过上述解析表达得到该点随刚体运动扫掠出的一条空间曲线L。当P点遍历整条边缘曲线就得到一张扫掠曲面(建筑造型曲面)。对于本文中的几个例子,可按一般情况即动椭圆绕定椭圆编写程序,而将动椭圆绕定圆作为其特例处理。Lie群是连续群,但计算机只能处理离散数据,将边缘曲线离散为n个控制点,这n个控制点随刚体运动后形成n条空间曲线,在它们上面离散出一个运动点群,采用nurbs技术得到一张nurbs曲面。该nurbs曲面实际对应了LieSE(3)上的一条nurbs曲线。LieLie代数方法不仅可应用于建筑几何造型,还可以应用于结构构件的运动学、动力学建模[10~11]。因此值得对LieLie代数方法的工程应用作进一步的研究。

  • 图  1   实射影平面在E3中的一种浸入boy's曲面

    图  2   北京凤凰国际中心

    图  3   北京凤凰国际中心施工实景

    图  4   北京凤凰国际中心几何造型分析动椭圆绕圆心运动伴随自转 二个角速度比为1/2

    图  5   动椭圆绕圆心运动伴随自转 机械臂仿真初始位形

    图  6   动椭圆绕圆心运动伴随绕圆上经过点的切线转动左(右)图二个角速度比为3/2(1/2)

    图  7   莫比乌斯环面及其等距面上的纽结线网格

    图  8   哈萨克斯坦新国家图书馆

    图  9   几何造型分析动矩形绕圆心运动伴随自转 二个角速度比为1/2

    图  10   结构布置网络拓扑

    图  11   动椭圆绕定椭圆伴随动椭圆的自转与等距缩放,外面是等距面上的纽结线网

    图  12   动椭圆沿定椭圆运动伴随动椭圆自转,表面为离散的运动点群

    图  13   三亚凤凰岛建筑方案

    图  14   湖州喜来登大酒店建筑方案

    图  15   圆环面纽结线几何造型1

    图  16   圆环面纽结线几何造型2

    图  17   利用扭环面的等距面可在纽结线上布置矩形截面的杆件

  • [1] 赵旭安.李群和李代数[M].北京师范大学出版集团.2012.9
    [2] 丁汉, 朱利民.复杂曲面数字化制造的几何学理论和方法[M].北京:科学出版社, 2011.
    [3] 项武义, 候自新, 孟道骥.李群讲义[M].北京大学出版社.1992.6
    [4] 胡茂林.空间和变换[M].科学出版社.2007.6
    [5] Jerrold E. Marsden, Tudor S. Ratiu著(译者: 王丽瑾刘学深). 力学和对称性导论[M]. 清华大学出版. 2006. 8
    [6] (美)理查德. 摩雷, (中)李泽湘, (美)夏恩卡. 萨思特里著(译者: 徐卫良, 钱瑞明). 机器人操作的数学导论[M]. 机械工业出版社. 1989. 6
    [7] 于靖军, 刘辛军, 丁希伦, 戴建生.机器人机构学的数学基础[M].机械工业出版社.2009.4
    [8] 黄俊, 张群力, 程健, 冯武强.莫比乌斯环面上的建筑结构数字建模[M].杭州:浙江建筑2013.7
    [9] 绳圈的数学[M]. 姜伯驹, 大连理工大学出版社. 大连. 2011. 5
    [10] 丁希伦. 空间弹性变形构件的李群李代数分析方法[J]. 机械工程学报. 第41卷第1期, 2005. 1 http://mall.cnki.net/magazine/Article/JXXB200501006.htm
    [11] 丁希伦, 刘颖. 用李群李代数分析具有空间柔性变形杆件的机器人动力学[J]. 机械工程学报. 第43卷第12期. 2007. 12 http://www.cqvip.com/Main/Detail.aspx?id=26234518
图(17)
计量
  • 文章访问数:  1660
  • HTML全文浏览量:  987
  • PDF下载量:  13
  • 被引次数: 0
出版历程
  • 发布日期:  2014-01-31
  • 刊出日期:  2014-01-31

目录

/

返回文章
返回