|
逢 甲 大 学 自 动 控 制 工 程 学 系 毕 业 专 题 报 告 以线性马达为基础之高速动 态平台控制设计与模拟 Control Design And Simulation for A Linear Motor-Based High-Speed Dynamic Platform 指导教授:林俊良 学生:林政君 林治玮 黄骏富 中 华 民 国 九 十 一 年 五 月 ii iii 感谢 感谢指导教授林俊良教授,在这将近一年的时间中的指导与照顾,不断的激发 我们的思考,使本论文得以顺利的完成,同时也得以在研究方法与待人处世方面获 益良多,在此献上诚挚的谢意. 此外,感谢黄荣兴教授在专题审查时给我们的建议与指导,使得本论文的内容 更加详尽,正确.当然也感谢蔡瑞崇学长以及几位同实验室的学长们,在研究过程 中给予我们适时的建议与协助,更是我们生活中的益友,实在非常感谢. 最後仅以此论文献给家人及朋友,感谢大家的支持,不论是精神上或是实质上, 使得我们有机会接下并完成本论文,谢谢所有关心我们的人. iv 中文摘要 本计画引用线性伺服马达的特长,开发一个崭新线性伺服马达为致动器之高 速,大推力,高精确度六轴动感平台即时模拟系统;我们除了完成顺向,逆向运动 及动态方程式的推导,并完成了全控制系统之设计,该系统分为两个部分,马达定 位部份,以状态回授控制器控制线性马达行程及速度,并以小波类神经网路抵消力 涟波及摩擦对马达定位精度影响,平台姿态控制部分则应用一种小脑模式神经网路 (CMAC)控制法则,借重它多自由度及高速运算的特点,提升系统的性能.计画进 行中,我们对於平台之运动性能,马达定位精度,杂讯抑制能力等均作了广泛的模 拟与分析,其所呈现的结果证实了本计画所开发之控制系统设计设计及平台动态模 式的正确性. v Abstract Characteristic features of linear DC motors are used to model a simulate system of six degree-of-freedom that have high speed , large thrust and high accuracy in this paper. In the presented architecture, the base platform has six linear slideways each actuated by a linear DC motor. In this paper, the design of full control system are accomplished. Inverse dynamics, inverse, forward kinematics describing the motion of the platform are derived. Two types of controller for linear motors and platform are design. The controller for linear motors proposed consists of two parts, one is a state feedback component, and the other one is a learning feedback component. (Wavelet Neural Networks ).The state feedback controller are used to control the travel and the velocity of the linear motors. The learning feedback component (Wavelet Neural Networks )are used to improve some disturbances especially viscous friction and force ripples .Using CMAC to control the position and orientation of the platform.by many of it's free degrees and high speed operation. Many simulations and analyses of that, performance of platform, location of motor and the improvement of disturbance. These results confirm the correctnes of system that have be accomplished in this paper. vi目录 感谢................................................................i 中文摘要........................................................... ii 英文摘要............................................................iii 目录.................................................................iv 图目录............................................................vii 表目录............................................................xii 第1章绪论.............................................................1 1.1 研究动机.........................................................1 第2章 线性马达驱动平台系统简介........................................5 2.1 线性马达驱动平台构型之比较分析...................................6 2.2 平台运动方程式的分析.............................................9 2.2.1线性马达驱动平台逆向运动方程式.............................. . 10 2.2.2 线性马达驱动平台逆向动态之方程式............................ 13 2.3 线性马达驱动平台系统顺向运动.................................... 28 2.4讨论..................................................................31 第3章 线性马达.................................................................. 32 3.1 线性马达特性....................................................32 vii 3.2 力涟波..........................................................36 第4章 线性马达控制...................................................41 4.1 马达干扰模式...................................................41 4.2 小波神经网路...................................................42 4.3 线性马达控制器架构.......................................45 4.4控制器设计.............................................47 4.4.1系统动态方程式............................................47 4.4.2 状态回授控制器.............................................. 48 4.4.3 小波神经网路控制器.......................................... 50 4.5 线性马达定位性能模拟验证....................................... 52 4.6 讨论........................................................... 59 第5章 平台系统动态方程式.............................................60 5.1 平台系统动态方程式.............................................60 第6章 平台姿态控制...................................................63 6.1 CMAC类神经网路控制器..........................................63 6.2 CMAC控制平台系统..............................................65 6.3 CMAC之计算架构与工作原理........................................ 66 6.4 CMAC系统於平台控制的模拟....................................... 74 viii 6.5 讨论........................................................... 75 第7章 即时模拟系统................................................... 76 7.1 即时模拟系统之简介............................................. 76 7.2 S-function介绍................................................. 77 7.3 SIMULINK之数值模拟架构参数设定............................. 79 7.4 ControlDesk 整合型操作介面...................................... 83 7.5 即时模拟结果.................................................... 86 第8章 结论......................................................... 99 参考文献........................................................... 101 ix 图目录 图1.1适用飞行模拟器之动态平台.....................................1 图1.2适用加工机具之动态平台........................................2 图2.1 三平行轨道型线性马达驱动动感平台............................. 6 图2.2 六杆线性马达驱动型动感平台................................... 7 图2.3 线性三角轨道螺杆支撑型三杆动感平台........................... 7 图2.4 三动子滑面型六杆动感平台..................................... 8 图2.5 本计画配合研发之六边线性滑轨型动感平台................... 9 图2.6 卡氏座标和基座座标之关系图.................................. 10 图2.7 逆向运动之位置向量示意图.................................... 11 图2.8 滑轨与上平板端点之座标关系图............................... 13 图2.9 线性马达驱动之杆子力与力矩之自由体图.................... 17 图2.10 杆子与滑轨滑动点距离之示意图............................... 18 图2.11 线性马达驱动平台之力与力矩自由体图..................... 19 图2.12 逆向动态分析流程图......................................... 24 图2.13 驱动力曲线图(椭圆轨迹支点在杆子质心) ................ 25 图2.14 驱动力曲线图(椭圆轨迹支点在下平台滑动点)............ 25 图2.15 驱动力曲线图(正圆轨迹)..................................... 26 x 图2.16 驱动力曲线图(倾斜20度的正圆轨迹).......................... 26 图2.17 驱动力曲线图(椭圆轨迹运动,且上平台以y为轴心作正弦波倾斜). 27 图2.18 驱动力曲线图(上平台以y为轴心作正弦波倾斜)................. 27 图2.19 驱动力曲线图(轨迹如倾斜的8字型) .......................... 28 图2.20 前向运动之计算流程图............…….......................... 29 图3.1 旋转马达变为线性马达示意图.................................. 32 图3.2 线性马达的模组立体图........................................ 36 图3.3 等效结构图.................................................. 37 图3.4 位移与力涟波之关系.......................................... 39 图3.5 干扰模式.................................................... 40 图4.1 包含干扰之线性马达方块图.................................... 41 图4.2 小波神经网路................................................ 42 图4.3 小波基本波形(0,1==ba).................................. 44 图4.4 控制架构图.................................................. 45 图4.5 系统参考模式................................................ 45 图4.6 小波神经网路控制器.......................................... 50 图4.7运动路径一之响应图 (a)输出响应图..................................................53 xi (b)非线性时变干扰项输出值dT................................... 53 (c)小波神经网路输出值nT....................................... 54 (d)力连波之鉴别结果的近似误差ndTTe -=........................ 54 图4.8运动路径二之响应图 (a)输出响应图................................................. 55 (b)非线性时变干扰项输出值dT................................... 55 (c)小波神经网路输出值nT....................................... 56 (d)力连波之鉴别结果的近似误差ndTTe -=........................ 56 图4.9运动路径三之响应图 (a)输出响应图................................................. 57 (b)非线性时变干扰项输出值dT................................... 57 (c)小波神经网路输出值nT....................................... 58 (d)力连波之鉴别结果的近似误差ndTTe -=........................ 58 图6.1 CMAC控制系统............................................... 65 图6.2 CMAC学习架构............................................... 66 图6.3 CMAC运算架构............................................... 67 图6.4 Generalization法则......................................... 68 图6.5 分层记忆体法则.............................................. 70 xii 图6.6 记忆体读取流程图............................................ 71 图6.7 记忆体写入流程图............................................ 72 图6.8 CMAC控制系统............................................... 74 图7.1 Real-Time Workshop程式产生过程.............................. 77 图7.2 Simulink block libraries of RTI............................. 79 图7.3 Solver参数设定画面.......................................... 82 图7.4 RTW参数设定画面............................................. 82 图7.5 即时控制架构图.............................................. 83 图7.6 ControlDesk 操作介面(一) ................................... 84 图7.7 ControlDesk 操作介面(二) ................................... 85 图7.8 X-axis之输入 (路径一) ......................................88 图7.9 X-axis之实际输出(路径一) ...................................88 图7.10 X-axis上的追踪误差(路径一).................................89 图7.11 Y-axis t之输入(路径一).....................................89 图7.12 Y-axis之实际输出(路径一) ..................................90 图7.13 Y-axis上的追踪误差(路径一) ................................90 图7.14 CMAC控制器输出(路径一) ....................................91 图7.15 X-axis之输入(路径二).......................................92 xiii 图7.16 X-axis之实际输出(路径二)...................................92 图7.17 X-axis之误差(路径二) ......................................93 图7.18 Y-axis之输入(路径二) ......................................93 图7.19 Y-axis之实际输出(路径二) ..................................94 图7.20 Y-axis之误差(路径二) ......................................94 图7.21 φ之输入(路径二) ...........................................95 图7.22 φ之实际输出(路径二) .......................................95 图7.23 φ之误差(路径二) ...........................................96 图7.24 θ之输入(路径二) ...........................................96 图7.25 θ之实际输出(路径二) .......................................97 图7.26 θ之误差(路径二) ...........................................97 图7.27 CMAC控制器输出(路径二) ................................... 98 xiv 表目录 表2-1 液压伺服驱动平台与线性马达驱动平台之比较.....................5 表3-1 各类线性马达之特性比较......................................34 表3-2 典型之线性马达与传统线性传动机构之成本及性能比较............34 表3-3 线性马达参数表..............................................38 1 第1章 绪论 1.1研究动机 由於六轴动态平台的结构为平行连杆形式,其结构刚性较同自由度的串接连杆 机构具有更佳的刚性.自1960年开发成功以来,已广泛应用於工具机,飞行模拟 器,测试平台和娱乐场所等,且新用途仍不断增加中.世界各先进国家均投入许多 人力及物力进行基础和应用研究.国科会亦将这方面的研究列为控制学门重点研究 项目[1].图1.1,1.2分别为美国,日本应用於飞行模拟器,加工机具.由於动态平 台研制涉及机械,电机,控制,资讯等技术,有关系统特性分析的层面也相当广阔 且深入,因此除了高度实用性外,它也是一个训练系统整合,分析,设计,测试以 及实现新式控制学理的最佳对象. 图1.1适用飞行模拟器之动态平台 2 图1.2 适用加工机具之动态平台 以往文献中所看到的平台机构,都是用油压缸来驱动,藉由杆长的伸缩使平台 产生各种姿态的变化.由於线性马达符合了现今工业界需要快速,精密定位的需求 [2,3,4,5],所以我们尝试利用这些优点来设计一套由线性马达为主体的平台系统.整 个平台都是全新的架构,设计的概念是上,下平台间之杆长为固定,而下平台是由 线性马达滑轨组成,由线性马达动子之移动带动杆子来改变整个平台的姿态.以下 为线性马达驱动平台一般优缺点比较: 线性马达驱动平台的优点 高速度移动,定位精度高 六杆六个自由度,机构较简单,应用灵活,低故障 杆长可调变,应用范围广 低噪音,无油污 3 线性马达驱动平台的缺点 工作空间小而不规则 有奇异点,奇异点上无法控制 马达推力小 由上述可知使用线性马达驱动平台的优点仍多於缺点,故本计画首次尝试引用 线性伺服马达的特长,开发一以线性伺服马达为致动器之高速,大推力,高精确度 的六轴动态平台,为线性伺服马达的用途开发崭新的应用空间,同时藉此计画的进 行,突破线性马达的限制.而本计画所采用之线性马达,其机构上的特点所产生的 特性,如摩擦力(friction force)[6,7,8,9]与力涟波(force ripple)[10,11,12,13]等,是影响 整体系统精确度之重要因素,因此设计控制器时必须针对这些非线性干扰做补偿, 以提升系统性能.由於小波(wavelet)[14,15]函数具有高频至低频的高度延展性,使 得小波神经网路具有学习快速变化函数的能力.近来已经有越来越多的研究将小波 理论[14,16,17]应用於控制领域中[18,19,20,21]等.故本计画采用其特性建构一小波 类神经网路以抵消力涟波及摩擦对马达定位的影响.此外,平台姿态控制部分我们 引用修正过的小脑模式神经网路(CMAC)学习架构[23,24,25,26],借重它可运用於多 自由度及拥有高速运算力的特点,提升平台的控制精度. 最後,於MATLAB-SIMULINK-Real Time Workshop操作环境下实现控制法则, 4 并且下载至dSPACE数位信号处理模组进行即时平台控制器模拟;另外,利用xPC Target提供一个即装即用的虚拟目标模拟环境,以模拟平台的动态特性.xPC Target 能够运用一般的PC作为即时模拟环境(real-time-targets),它的即时多工核心能够与 Real-Time Workshop完全地整合,使其能够在PC上准确地执行即时程式码. 本计画最後完成了一个以高速数位信号处理模组(dSPACE DS1103)与虚拟目标 产生器(xPC Target)所构成的即时模拟平台,计画进行中,我们对於平台之运动性 能,马达定位精度,杂讯抑制能力等均作了广泛的模拟与分析,其所呈现的结果证 实了本计画所开发之控制系统设计设计及平台动态模式的正确性. 第2章 线性马达驱动平台系统简介 5 平台设计的发展过程,由最早的电动马达推动螺杆,进而为伺服阀驱动液压 缸,最後为线性马达的驱动,逐渐走向快速且精确化的设计.实务上,各种模拟器 的逼真度及精密加工的技术都有待高速高精密动态平台的辅助,以达成高速运动精 密定位及提高产能的目的.各种驱动方式的平台设计都有其优缺点,以下为液压伺 服驱动平台与线性马达驱动平台作的一般性比较: 表2-1液压伺服驱动平台与线性马达驱动平台之比较 液压伺服驱动平台 线性马达驱动平台 作动速度 较慢 较快 精 确 度 较差 较佳 载 重 较重 较轻 设计成本 较低 较高 噪 音 较大 较小 一般液压伺服驱动平台大多运用在载重较大的工件上,如飞行模拟器,汽车模 拟器,地震屋模拟器及动感电影院等等,而线性马达驱动平台大多运用在尺寸需求 较精确的设计上,如精密机械的设计及半导体业界之精密加工处理等等. 2.1 线性马达驱动平台构型之比较分析 6 线性马达驱动平台的发展,是近几年来平台研制的新趋势.一般线性马达驱动 平台之机构设计常见的有以下五种构型: (1) 三平行轨道型线性马达驱动动感平台[2] 如图2.1所示,三轨道平行,即三对等长斜立杆子位於平行三平面上,变化杆 子之倾斜角及方向即可改变平台姿态位置.例如前对两杆互补角度减小(或增加)且 後对两杆互补角度增加(或减小),即可改变平台之俯仰角,如要改变航向,只要将 前对两杆同时往一方倾斜,再将後对两杆同时往另一方倾斜,而中对两杆互补角度 减小则可达成,其他之滚转与位移道理皆同. 图2.1 三平行轨道型线性马达驱动动感平台 (2) 六杆线性马达驱动型动感平台 如图2.2所示,此六杆线性马达驱动型与传统六杆平台完全一样,所不同者, 仅是此为线性马达驱动直接改变杆长而己,但是目前此种线性马达致动模组尚未开 发且杆子之支撑结构需要特殊考量,否则此种架构之运动方程与传统六杆平台完全 相同,而动态方程仅要杆子驱动力稍加改变即可. 7 图2.2 六杆线性马达驱动型动感平台 (3) 线性三角轨道螺杆支撑型三杆动感平台 如图2.3所示,此种复合式动感平台结构较简单,其实是将传统马达驱动之三 杆平台负责三杆扭转之马达改成线性马达三角滑轨而己. 图2.3线性三角轨道螺杆支撑型三杆动感平台 (4) 三动子滑面型六杆动感平台 如图2.4所示,三动子可在平面上任意滑动,每个动上接有两根固定长度之杆 子,可改变上平板方向与姿态,此为德国最新研发出来之产品. 8 图2.4 三动子滑面型六杆动感平台 以上第1及第3种构型都有应用线型马达轨道支撑点滑动而改变平台之姿态位 置,传统之六杆或三杆平台支撑点都是固定,无论在重负载或高速运转时其刚性, 稳定性都较佳,而在线性轨道高速高冲力滑动时,刚性,稳定性及剪侧力扭转力都 需特殊考量,因此这些新产品新架构之使用必先行透过机构运动动力学之最佳化分 析,理论推导与实际模拟验证. (5) 六边线性滑轨型六杆动感平台 本计画所提出之构型(如图2.5所示)不同於1996年瑞士IWF所提出之平行轨道 Hexaglide架构(如图2.1所示),其最大相异处在於此为六边线性滑轨型,杆长固定, 杆子在下平台的支点沿著线性马达滑轨滑动.经初步分析结果,此构型比Hexaglide 架构稳定与安全,而其转动角度极限与电油压驱动平差异不大.本计画系以此构型 作为控制之标的,进行运动控制与马达定位控制之设计. 9 图2.5 本计画配合研发之六边线性滑轨型动感平台 2.2平台运动方程式的分析 假设R代表由基座座标(base coordinate)转换到平台座标(platform coordinate) 之旋转矩阵(rotation matrix),T代表两个座标原点之向量,方向为由基座到平台, 向量符号左上方之P为平台座标表示法,在此定义了两个座标系卡氏座标 []Txyzφθψ及基座座标[1d 2d 3d 4d 5d 6d]T,如图2.6,,,xyz代表平 台方向位置,ψθφ,,代表平台之姿态角度,而1d 6d代表第一至第六线性马达动子 滑动的位置. 10 Joint Space Cartesian Space 图2.6 卡氏座标和基座座标之关系图 我们先定义转动矩阵TR,表示由平台座标系统转换到基座座标系统: +-+ ++- - = θφψθφψφψθφψφ θφψθφψφψθφψφ θψθψθ coscossinsincoscossincossincossinsin cossinsinsinsincoscoscossinsinsincos sinsincoscoscos TR 所以由基座座标转到平台座标之转动矩阵可以R来表示.此外,定义T为一向量, 表示由平台原点位置到基座原点之位置向量[]TTxTyTz=.同理Tp表示由基座 原点到平台原点的位置向量.我们可得到:TRTp-=. 2.2.1线性马达驱动平台逆向运动方程式 所谓逆向运动(inverse kinematics)分析是指由卡氏座标经基座座标的映射, 也就是由输入平台之位置(x y z)与姿态(ψθφ )反求马达致动器的滑动距离. d1 d2 d3 d4 d5 d6 Forward kinematics Inverse kinematics X Y Z θ φ ψ 11 逆向运动学(Inverse Kinematics):经过Cartesian Space至Joint Space之映射关 系,即由上平板之姿态方位及中心点位置得出滑轨移动的位置.上,下平台各向量 之关系可以图2.7表示之: 图2.7 逆向运动之位置向量示意图 矩阵R为平台座标{}P转换至基座座标{}B的姿态转换矩阵 p v p pz y x TR z y x T Z Y X = = 1 10 11 其中 - - - = = φφ φφ θθ θθ ψψ ψψ φθψ cossin0 sincos0 001 cos0sin 010 sin0cos 100 0cossin 0sincos ,,,XYZRRRR - -+ +- = φθφθθ φψφθψφψφθψθψ φψφθψφψφθψθψ coscossincossin sincoscossinsincoscossinsinsincossin sinsincossincoscossinsinsincoscoscos 而,1~6p iviPTRPi=+= BO PO iBiO i PP v T iL 12 由图2.8可知,第i根滑轨之直线方程为: ,1,,6iyaiybiyaiy ixaixbixaix BBBB i BBBB -- == -- K 进一步化简可得 ,1,,6biyaiybixaiybiyaix iyix bixaixbixaix BBBBBB BBi BBBB -- =+= -- K 其中0T aiaixaiyBB=Band0T bibixbiyBB=B再藉由杆子的方程式 ()()2222lPBPBPiziyiyixix=+-+-, 6~1=i 由上两式可解得: 2 2 4 ,2,5 2 4 ,1,3,4,6 2 ix bbac i a B bbac i a -+- = = --- = 其中 22()()bixaixbiyaiyaBBBB=-+- 22()2()()2()()ixbixaixbiyaiybixaiybiyaixiybixaixbiyaiybPBBBBBBBBPBBBB=--+----- 2222222()()()2()()()bixaixixiyizbixaiybiyaixiybixaiybiyaixbixaixbixaixcBBPPPBBBBPBBBBBBBBl=-+++------ ixB 求出後,相继可求出iyB,如此以来便能根据平台的输入轨迹求出相对应的线性 马达的动子位置. 13 iP biBaiB 图2.8 滑轨与上平板端点之座标关系图 2.2.2 线性马达驱动平台逆向动态之方程式 所谓逆向动态分析,就是给定平台之运动路径轨迹求得平台机构线性马达所需 的驱动力.在逆向动态方程中[3],我们由力与力矩方程可列出36个线性方程,再 将36个线性方程简化成6个方程式,求出此6个方程式之解後再求线性马达驱动力 [4]. 一,平台与杆件之座标转换及其角速度和角加速度 要得到平台机构的驱动力,须先求解平台与杆件的速度及加速度,而平台和杆 件的姿态变化是以尤拉角(φ θ ψ)来描述,所以不同姿态下的尤拉角其转换矩阵也 不同,而角速度,角加速度的推导亦不同,以下就平台与杆件转换矩阵的关系推导 其角速度和角加速度. (1) 平台角速度及角加速度 依平台的姿态转换矩阵及其转换顺序,我们可导出其关系: 14 (a) 先对固定之Z轴旋转ψ角度,可得到下式: kk jij jii = + = - = ψψ ψψ cossin sincos (2.01) (b) 再对Y 轴旋转θ角度,可得到下式: θθ θθ cossin sincos kik jj kii + -= = + = (2.02) (c) 最後对X 轴旋转φ角度,可得到下式: φφ φφ cossin sincos kjk kjj ii + = - = = (2.03) 由(a),(b),(c)之顺序旋转,可将上平台角速度以尤拉角表示为: ijkp + +=φθψω&&& 由(2.01), (2.02)与(2.03),可整理得表示在平台座标系{}P之上平台的角速度: - + +- = φθφθψ φθφθψ φθψ ω scc csc s p && && && 0 (2.04) 由於平台的角速度以尤拉角的关系式表示在平台座标系{}P,我们可直接对角速 度微分求得角加速度: --+- -+-- +-- = φφθφθφθφφθθψφθψ φφθφθφθφφθθψφθψ φθθψθψ α cssccscc scccsssc cs p &&&&&&&&& &&&&&&&&& &&&&&& )( )( (2.05) 15 (2) 杆件尤拉角: 杆子座标{}i转换至基座座标{}B的转换矩阵iR: ,61,2,i kji kji kji iziz iyiyiy ixixix L= =, iz iR (2.06) 将iR转置可得由基座座标{}B转换到脚轴座标{}i的转换矩阵liR: - - - = = 100 0 0 0 010 0 100 0 0 ,,, ψψ ψψ θθ θθ φφ φφ ψθφ cs sc cs sc cs sc RRRRZYZi - +-+ --- = θψθψθ θφψφψθφψφψθφ θφψφψθφψφψθφ csscs ssccscsscccs sccssccssccc (2.07) (2.06)与(2.07)比较可得各脚轴之尤拉角: )cossin/()cossin(tan /)sin(costan )/(tan 1 1 1 iyixiyix iziyix ixiy jjii kkk kk iiiii iii i φφφφψ φφθ φ +-+-= += = - - - (3) 杆件角加速度: 杆件的姿态转换矩阵其转换顺序与上平台不同,我们列出其关系如下: (a) 先对固定之Z轴旋转φ角度,可得到下式: kk jij jii = + = - = φφ φφ cossin sincos (2.08) (b) 再对Y 轴旋转θ角度,可得到下式 16 θθ θθ cossin sincos kik jj kii + -= = + = (2.09) (c) 最後对Z 轴旋转ψ角度,可得到下式 kk jij jii = + = - = ψψ ψψ cossin sincos (2.10) 比较最後将杆件的角速度以尤拉角表示: kjki + +=ψθφω&&& 由(2.08),(2.09)与(2.10)式,经整理後,可得到在杆子座标系{}i中杆件的角速度: + + +- = ψθφ ψθθψφ ψθθψφ ω && && && c css ssc i (2.11) 由於杆件的角速度以尤拉角的关系式表示在杆子座标系{}i,我们可直接对角 速度微分求得角加速度: +- -+++ ++-+- = ψθθφθφ ψψθψθθψθθψψφθψφ ψψθψθθψθθψψφθψφ α &&&&&& &&&&&&&&& &&&&&&&&& sc sccsscss csccsssc i)( )( (2.12) 二,逆向动态方程式之推导 此平台机构的下平台杆子支点会跟著滑轨动子移动,因此与Stewart平台杆子支 点为不动点有所不同:A.力矩支点在杆子质心iO,B.支点在下平台滑动点.而在以下 17 平台滑动点为支点时,滑动点会加速滑动,此加速滑动将衍生额外项次於运动方程 式中,分述如下: A.力矩支点在杆子质心iO: (1)杆子质心之力平衡(参考图2.9) 第i根杆子之角动量为 iizizziiyiyyiixixxikIjIiIH rrr )()()(ωωω++= (2.13) 故质心之角动量变化为 iixyziiiHHH×+=ω)(&& (2.14) piy iF piz iF ijrikr i ia iactF iW bix iFbiy iF biz iF pix iF iO iir 图2.9 线性马达驱动之杆子力与力矩之自由体图 (a) 质心之合力矩: 以质心iO为支点之合力矩为: bi i bi i pi i pi i OFrFrM i ×+×= (2.15) 18 0 micr. Bir MC. iB Bic ir 图2.10 杆子与滑轨滑动点距离之示意图 由(2.14)和(2.15)式可得pix iF,piy iF,piz iF和bix iF,biy iF,biz iF之间的关系, 其中杆子转动惯量微分为零,pix iF与bix iF之力通过支点及pi ir,bi ir只有x方向,故 经整理後得: iyiyyizixixxixizizzbiz i bix i piz i pix iIIIFrFrωωωωω&--=+ (2.16) izizziyixixxixiyiyybiy i bix i piy i pix iIIIFrFrωωωωω&+-=+ (2.17) (b) 质心之合力: mic i ii T ipi i bi irmWRFF.&&=-- (2.18) 其中,Bic i Bi T imic irrRr&&&&&&+=. )(.Bic i iiBic i iBi T imic irrrRr××+×+=ωωα&&&& Bir&&为滑轨滑动时前一次与後一次之位置方向的微分二次.将上式展开後可得: piz i izmzic i ibiz iFWcrmF++=)(.θ&& (2.19) .()iii biyiicmyizpiyFmrssWFθψ=++&& (2.20) pix i izmxic i ibix iFWcsrmF+-+=)(.ψθ&& (2.21) 将(2.16)及(2.17)式代入(2.19)及(2.20)式中可求出: 19 )/(})({.bix i pix i izbix i mzic i ibix i iyiyyizixixxixizizzpiz irrWcrrmrIIIF+----=θωωωωω&&& (2.22) .{()}/()iiiiii piyiyyiyixixxixiyizzizbixiyicmybixizpixbixFIIIrmrrssWrrωωωωωθψ=-+--+&&& (2.23) 再将(2.22)及(2.23)代回(2.20)及(2.21)即可解出biz iF,biy iF,其中pix ir及bix ir皆为Bicx ir. (2) 上平台之力平衡 上平台之角动量: ppzpzzppypyyppxpxxpkIjIiIH rrr )()()(ωωω++= ,pzzpyypxxIII,,为平台之转动惯量. 平台之角动量变化: ppxyzpppHHH×+=ω)(&& (2.24) (a) 上平台之合力矩: = ×= 6 1i pi p i p OFPM p (2.25) 其中 pi i pipi i i T pi PFRFRRF==,为上平台接头的受力,表示在平台座标系{}P; i PP为上平台中心点至上平台接头的位置向量,表示在平台座标系{}P; pO pW pi iF 图2.11 线性马达驱动平台之力与力矩自由体图 将平台的角动量变化(2.24)式与(2.25)式整理可得: 20 = = = -+=- -+=- -+= 6 1 6 1 6 1 )()( )( )( i pxpypxxpyypzpzzpix P iy P piy P ix P i pzpxpzzpxxpypyypiz P ix P pzpypyypzzpxpxx i piz P iy P ωωω ωωω ωωω IIIFPFP IIIFP IIIFP & && (2.26) 将pi PF展开成表示在脚轴座上标系{}i的pi iF可得 {} pxpypxxpyypzpzz i piz i pipiy i pipix i piiy P piz i pipiy i pipix i piix P i pzpxpzzpxxpypyypiz i pipiy i pipix i piix P pzpypyypzzpxpxx i piz i pipiy i pipix i piiy P ωωω ωωω ωωω )( )()( )()( )()( 6 1 131211232221 6 1 333231 6 1 333231 III FRFRFRPFRFRFRP IIIFRFRFRP IIIFRFRFRP -+= ++-++ -+=++- -+=++ = = = & && (2.27) (b) 平台之合力: pp i pi i ipamFRW=+- = 6 1 (2.28) 其中pm为上平板的质量;pa为上平板的加速度. 将pi i iFR展开可得 pzpp i piz i ipiy i ipix i i pyp i piz i ipiy i ipix i i pxp i piz i ipiy i ipix i i amWFRFRFR amFRFRFR amFRFRFR =-++ =++ =++ = = = 6 1 333231 6 1 232221 6 1 131211 )( )( )( (2.29) 我们将式(2.31)和(2.33)重新整理得到6个线性方程组的系统,如下所示: []{}[]QFD=pix i (2.30) 其中矩阵][D与矩阵[]Q表示如下: 21 316 215 114 313 312 11211 ii ii ii piiy P i piix P i piiy P piix P i RD RD RD RPD RPD RPRPD = = = = =- -= (2.31) 6 122231213 1 6 23233 1 332 ()()() ()() ()( PiiPii pzzpzpyypxxpypxixpipiypipiziypipiypipiz i Pii pyypypxxpzzpxpzixpipiypipiz i Pi pxxpxpzzpyypypziypipi QIIIPRFRFPRFRF QIIIPRFRF QIIIPRF ωωω ωωω ωωω = = =+--+-+ =+-++ =+-- &&& 6 33 1 6 41213 1 6 52223 1 6 63233 1 ) () () () i ypipiz i ii ppxipiyipiz i ii ppyipiyipiz i ii ppzipiyipizp i RF QmaRFRF QmaRFRF QmaRFRFW = = = = + =-+ =-+ =-++ (2.32) 由(2.30)式可解得pix iF,再代回(2.21)可求得bix iF (3) 滑轨之驱动力方程 由图2.9可知iactF为biF在滑轨方向之分向量,故iactF可求得如下: ibi i iiactFRFθcos= (2.33) 其中 iθ为bi i iFR与iactF之夹角,即i bi i i bi i i iFR FR uθcos=・ rr r . B.支点在下平台滑动点 22 当支点在下平台滑动点时,我们可推导出杆子力矩及力方程如下: (1) 支点在iB之力矩 i T ii i pi i i i BiiBic i Bic i iBic i icWRLFLrmrrmrH×+×=×+×+ 2 1 &&&&& (2.34) 其中,iizizziiyiyyiixixxickIjIiIHωωω++= icixyzicicHHH×+=ω)(&& iiyixixxixiyiyyizizziixizizzizixixxiyiyyiiziyiyyiyizizzixixxkIIIjIIIiIII)()()(ωωωωωωωωωωωωωωω-++-++-+=&&& 由上式整理可得i piyF及i pizF: ix i iyix i mzic i Bicxiiyixixxixiyiyyizizzpiy iLWssLrrmIIIF)/)( 2 1 (.ψθωωωωω-+-+=&&& (2.35) ix i izix i myic i Bicziixizizzizixixxiyiyypiz iLWcLrrmIIIF)/)( 2 1 (.θωωωωω-++--=&&& (2.36) (2) 上平台之力平衡 与方法A一样,即可求pix iF.又mic i ipibirmWFF.&&=--,若表示在杆子座标{i}时 为: mic i ii T ipi i bi irmWRFF.&&=-- (2.37) 而mic ir.&&可由前面求出,所以可以由(2.37)解得bix iF,biy iF及biz iF mxic i iizpix i bix irmWFF.))cossin((&&+-+=ψθ (2.38) myic i iizpiy i biy irmWFF.))sin((sin&&++=ψθ (2.39) mzic i iizpiz i biz irmWFF.))((cos&&++=θ (2.40) (3) 滑轨驱动力之解 23 因为驱动力iactF为bi iF在滑轨上之投影,故ibi i iiactFRFθcos=,其中, bi i i bi i i iFR FR u・=r θcos,iR为由座标系{i}转换至座标系{B}之转换矩阵. 三,模拟与验证 我们先给予一个预先规划的路径,路径以时间为参数,包含上平台的位置及姿 态,即vT和尤拉角,将此路径轨迹输入,则可求得滑轨的驱动力,其动态分析流程 图如图2.12所示. 24 图2.12 逆向动态分析流程图 以下之模拟中,输入路径资料档为一椭圆轨迹,以杆子不同的支点位置模拟驱 动力,一是支点在杆子质心,另一是支点在杆子端点,求出滑轨驱动力,验证以 Newton-Euler求得的逆向动态方程式正确性.图2.13,14示出模拟的结果. 程式开始 计算平台与杆件之角速度,角加 速度,速度及加速度 否 是 输入路径轨迹资料 求尤拉角及微分关系 时刻之计算iPTTt,1+ 1, , -DQD FF piz i piy i 并求建构矩阵 计算 iact i pix iFF并计算求解 程式结束 工作结束 25 图2.13驱动力曲线图(椭圆轨迹支点在杆子质心) 图2.14驱动力曲线图(椭圆轨迹支点在下平台滑动点) 26 图2.15驱动力曲线图(正圆轨迹) 图2.16驱动力曲线图(倾斜20度的正圆轨迹) 27 图2.17驱动力曲线图(椭圆轨迹运动,且上平台以y为轴心作正弦波倾斜) 图2.18驱动力曲线图(上平台以y为轴心作正弦波倾斜) 28 图2.19驱动力曲线图(轨迹为倾斜的8字型) 此阶段逆向运动方程式所求出线性马达驱动力可以作为对平台控制的一项基 础. 2.3 线性马达驱动平台系统顺向运动[5] 前向运动(forward kinematics)是从基座座标到卡氏座标的转换,亦即由驱动 马达动子的移动距离得出上平台的姿态与位置.当我们对此平台的马达下命令便会 造成移动距离[1d 2d 3d 4d 5d 6d]T的变化,又因平台是架构於六根杆子之上, 29 所以当马达有所转动时即会造成平台姿态(,,φθψ)与位置(,,)xyz的变化.一般的 分析方法要得出这种平行机构的前向运动,需要解高阶方程式,而且还要从众多解 法中找出一个正确答案,故很难达成即时控制的目的.本研究系以折衷的方式,选 用数值分析法,先利用牛顿差分(Newton-difference)数值方法求出受限方程式 (constraint equation),再以牛顿差分叠代运算来求得前向运动之结果 (,,,,,)xyzφθψ. εpp),利用系数比较可以得到 12 1 12 2 1.316 21.65 1.316 pp k pp k = +- = 令51=p和2002=p,可得到一状态回授控制增益为 []759.878139.323K= 50 4.4.3小波神经网路控制器 1x 2x nx 11xc 22xc nnxc MM M 11,NMw nNMw,1 12,NMw nmNMw, 1c 2c nc 11,NMψ nNM,1 ψ 12,NMψ nmNM,ψ MM f 图4.6小波神经网路控制器 图4.6为控制器所采用之小波神经网路,网路中之小波函数)(,xbaψ为 )()(2 1 ,a bx axba - =-ψψ 其中) 2 (exp)(1)( 2 2t tt--=ψ.权值 nmNMw,更新部分,首先定义一误差函数)(kE为 1 ()()() 2 TEkekek= 其中)()(^)(kykyke-=.利用梯度下降法则,可以推导出小波神经网路之权值w更 新法则为 51 1 12 ()() () () ^(()()) ^(()()) () () () ()() () ()() ()()()() ()1()() ()()()() fcn E wkEk Ek wk ykyk ykyk w yk ek wk ykyk ek ykwk kTkTkykyk ektktkK Rukukwkwk η η η η η η - =- =- - =-- = = =-++++ & & &&%% 其中: (1) ()()()() ()()()() ykykykyk t wkykwkwk == && & (2) 2 1 12 ()()() ()()() ()1() () ()() ()() () ()()() ()()()()() () ()()()()()() () [ f f E fcn ccE ykykuk wkukwk ykek k ukRwk kykeky K ukRwkwk kTkTkykykyky GGkkK ukRwkwkwkwkwk yk = =- =-- =----- =- &&% %&%&&%&&&%& 12 1 12 ()()() ()]() ()()()()() ()()()()() 1()() ()()()()() ffccn E fcn E kkGTkTkyyk ktkK ukRwkukRwkwk kTkTkykykyk ktkK wkRukukwkwk - ++-+ =-++++ && %% &&& %% 52 4.5线性马达定位性能模拟验证 将表3-3的各项参数代入图4.4中可得控制方块图.其次利用MATLAB软体之 SIMULINK工具箱架构一模拟环境,进行软体模拟.模拟过程中,我们采用不同运 动路径所产生移动距离的变化作为参考讯号,并探讨移动距离产生变化时,马达的 输出响应. 模拟过程中,小波神经网路之神经元个数为36个,至於小波函数参数a,b及 学习率η,则依据每个不同模拟情况作适当的调整. 图4.7为路径一:():30sinXt×,():20sinYt×,:300Z(:)unitmm且负载为0 公斤的模拟结果,小波函数参数a=1,b=0,学习率η= 2000000.图4.8为图4.8为 路径二:():20sinXt×,():30sinYt×,:200Z(:)unitmm且负载为0公斤的模拟 结果,小波函数参数a=1,b=0,学习率η= 2000000.图4.9为为路径三: ():30sinXt×,():30sinYt×,:200Z(:)unitmm且负载为0公斤的模拟结果,小 波函数参数a=1,b=0,学习率η= 2000000.由模拟结果可以观察出小波神经网路 控制器可以有效的抑制非线性的干扰,使得ndTT -趋近於零,系统输出响应相当近 似於参考模式的输出. 53 (a) (b) 54 (c) (d) 图4.7运动路径一之响应图(a)输出响应图,(b)非线性时变干扰项输出值dT,(c) 小波神经网路输出值nT,(d)力连波之鉴别结果的近似误差ndTTe -=. 55 (a) (b) 56 (c) (d) 图4.8运动路径二之响应图(a)输出响应图,(b)非线性时变干扰项输出值dT,(c)小波 神经网路输出值nT,(d)力连波之鉴别结果的近似误差ndTTe -=. 57 (a) (b) 58 (c) (d) 图4.9运动路径三之响应图(a)输出响应图,(b)非线性时变干扰项输出值dT,(c) 小波神经网路输出值nT,(d)力连波之鉴别结果的近似误差ndTTe -=. 59 4.6讨论 由4.5节图4.7,图4.8,图4.9所示之图(a)可以发现未加小波神经网路控制器时, 由於非线性干扰的影响,使得系统输出响应存在一些许稳态误差,而在加入小波神 经网路控制器後,可以有效抑制由力涟波与摩擦力所产生之干扰,使得系统之输出 响应更近似於参考模式的输出.图(b),(c)则可发现小波神经网路控制器输出与实际 力涟波输出相当近似,但仍存在些许之误差.这是由於所给定之输入讯号为正弦波, 会导致位置不断地变化,因此鉴别用之小波神经网路中的权值 nmNM,θ亦会不断地变 化,因此离线的鉴别结果并无法相当近似实际力涟波函数的输出.由图(d)可以观察 出小波神经网路控制器可以有效抑制非线性的干扰,使得ndTT -趋近於零. 第5章 平台系统动态方程式 60 5.1 平台系统动态方程式 由逆向运动方程式中可得i P i BPRTP+=, 杆子之两端的向量T iziyixiSSSS][= 为ii B iBPS-=,令 i i iS S s=,ii B isPM×= (5.01) 其中is表第i杆子的相对於基底座标的单位向量,iM则为第i杆子单位驱动力is相对 於基底座标的力矩,以is及iM可组成一Plucker座标: 123456 123456 36123456 66 1234563666 123456 123456 xxxxxx yyyyyy zzzzzz xxxxxx yyyyyy zzzzzz ssssss ssssss sssssss U MMMMMMM MMMMMM MMMMMM × × ×× == (5.02) 空间中的刚体受外力作用时,可用总力(F)及力矩()τ的组合,来描述刚体的运 动.此平台在三度空间中运动时,将受到惯性力,重力,支柱力,力矩,外力与外 力矩之作用,因此其运动方程式可表示为: 6 1 6 1 0 0 IGEbi i IEi i FFFF τττ = = +++= ++= (5.03) 其中 IF,Iτ:分别表示因惯性产生的力与力矩,EF,Eτ:分别表示作用於平台的外 力与外力矩,biF,iτ分别表示第i根杆子藉由i PP施加在上平台的力与力矩,GF表 示平台之重力. 61 根据牛顿-尤拉方程式,惯性力及矩分别可表示为: ()I d Fmvmv dt -==& (5.04) ()()TTTT I dd IRIRRIRRIRRIR dtdt τωωωω -===++&&& TTTIRRIIRRIRRIωωωωω =++=+&&&&& (5.05) 其中I 为活动平台相对於基底座标之惯性张量,I为活动平台相对於原点在其质心 之座标系之惯性张量两者的关系如下: -- -- -- = zzyzxz yzyyxy xzxyxx III III III I,TRIRI= ,其中21 999277.9 4xxyypIImr=== ,21 1998555.9 2zzpImr==,507prmm=,而 = ××= 6 1 1663 i iFsF (5.06) = ××= 6 1 1663 i iFMτ (5.07) 其中[]123456 T bbbbbbFffffff=为各杆子对平台之施力大小构成之向量,将上述的 之公式整理後可得: 16 1666 )( × ×× - + -- = E T E IRRI Fgvm FU τωω&&& (5.08) 进一步表示为: BBMPCPNUF++=&& (5.09) 其中[]T BPxyzθφψ= 62 111213 212223 313233 00000 00000 00000 000 000 000 m m m M III III III = , 4546 5456 6465 000000 000000 000000 0000 0000 0000 C cc cc cc = , 45313233 46212223 5446 56111213 6446 6556 () xyz xyz xyz cIII cIII cc cIII cc cc ωωω ωωω ωωω =++ =-++ = =++ =- =- []T EXEYEZEXEYEZNFFmgFτττ=------ m=15.55kg为活动平台的质量,,,xyzφωθωψω===&&&.由於此处F是表示杆子对平 台之施力大小,可由线性马达所求出的驱动力去推导F: 1 2 3 4 5 6 == b b b b b b f f f F f f f cosθ iact i F (5.10) 推导出平台系统动态方程式,藉由此动态方程式可将由线性马达所求出的驱动力当 作输入,并以Runge-Kutta 四阶数值积分求解,即可模拟求得平台的真实位置. 63 第6章 平台姿态控制 6.1 CMAC类神经网路控制器 目前控制领域有两大难题:控制系统逐渐大型化,复杂化且非线性现象更加明 显,所以很难推导出系统的正确模型,传统PID控制器对於低阶的控制系统虽然能 够有效的掌控,但对於高度非线性的系统通常无法处理.近年来,类神经网路受到 广泛的讨论,并也大量的应用於各个领域如影像处理,语音辨识,智慧控制・・・ 等. CMAC类神经网路基本上是一种查表法,是由Albus[23][24]於1975年首先提 出,而Miller[25][26]在1987年则提出了结合CMAC与传统控制器的架构,且成功 地将其应用於机器人控制. 本研究中,我们将CMAC网路建构於PC上 ,作为平台之姿态控制,其优点为 实现完整架构所须的时间很短,且易於修改系统参数,能有效掌握系统的状况.我 们改变系统的输入,以讨论CMAC在不同输入下是否能有效控制平台的6个自由度 运动.CMAC类神经网路具有平行运算的特性,但在PC上以软体实现CMAC仍是 循序运算,无法以平行运算进行.本研究以Pentium III PC实现CMAC网路,由於 PC之运算速度极快,因此可弥补此一不足. 实际控制系统中,常发生两个系统之间有互相偶合的非线性现象,更何况是六 个互相影响的受控系统.於此情况,一般传统的控制器(如PID)无法有效控制.由 64 於CMAC具有处理多维非线性系统的能力,本研究也因此希望验证CMAC控制系 统是否可以同时对此动态平台作有效地控制,发挥其处理非线性现象的能力. 65 + Platform Inverse dynamics u y&y&& ,1,,6riFi=K Inverse Kinematics ,1,,6riyi=K nT% ,1,,6ciTi=K - 1 R EK mm + 1 fk Wavelet N.N. - )(sGc nT K 1e2eu% dT + y + + + )(sGcCMACN.N. BrP BP,1,,6iFi=K 1 s 1 s we ce 1 ms 1 s ,1,,6diyi=K 6.2 CMAC控制平台系统 图6.1 CMAC控制系统 66 图6.1为我们所提出之完整平台的控制系统,其中BrP表示平台的输入 []ddddddZYXψθφ,,,,,,BP表示平台的输出[]ψθφ,,,,,ZYX,而CMAC控制器在联想 (recall)的过程中是根据状态向量((1)BrPK+,()BPK,(1)BPK-)来决定其控制输出 cU((1)BrPK+,()BPK,(1)BPK-).在学习(learning)的过程中,CMAC控制器利用 状态变数为映射向量,并以联想过程的CMAC控制系统输出cU(K)当成正确的资料 来训练CMAC控制器,达到控制的效果. 6.3 CMAC之计算架构与工作原理 对於控制系统的设计,其目的是利用控制器将系统的状态输出()BPK趋使理想 系统状态输出(1)BPK+.本研究中,控制器输出采(1)BrPK+,()BPK,(1)BPK-的 函数, CMAC学习架构如图6.2所示. CMAC Controller plant ()BPK()cUK (1)BPK+ 图6.2 CMAC学习架构 CMAC之运算架构如图6.3所示.基本上,CMAC运作为一种查表法,通常用 於学习复杂且非线性的函数.它包含了三次映射的四层类神经网路,详细原理说明 如下. 67 1. S→A Mapping (Quantization and Generalization) 首先,必须定义出一组适当的系统状态()nsssS,...,,21=,当成CMAC之输入向 量.每个状态变数()niSi,...,2,1=只在有限区间[]iiba,内变化,因此可以将状态变数iS 经过量化程序编码至整数序列空间,此过程将有利於CMAC查表的搜寻,量化空间 的大小将与控制精度的记忆体需求息息相关. 最後在此步骤中,必须执行衍化(generalization)的程序.每次衍化的过程都会将 一组输入向量映射至联想记忆体(association memory)中的数个位置;本研究中映射 方式采D. Ellison所发表的演算法则[27],如图6.4示.其最大的好处是使相似的输 入向量能共同拥有近似的输出响应,这也就是CMAC能迅速达到即时控制的原因. 图6.3中,S1与S2较为接近,所以对应这两组输入向量的连结记忆体位置有些重 叠;相反地,S1和S3是完全分开的,所以其对应的连结记忆体的位置没有重叠. S1S2S3SAA' Uc(K) Input State Space Association Memory Physical Memory - = 1 0 g i iW 图6.3 CMAC运算架构 图6.4中,其衍化数目为4,且只有黑色的方块有值.假如两组经过量化後的输 68 入向量为AS与BS,其中AS= (3, 5)产生了(5, 5),(6, 6),(3, 7),(4, 8) 四个联想记忆 体的位置(图中的黑色方块),BS= (5,3)则产生了(7, 3),(8, 4) ,(5, 5),(6, 6)四个位 置,则其中(5, 5),(6, 6)为重叠的部份.所以当状态轨迹(state trajectory)出现过AS, 再出现BS时,CMAC控制器的控制输出便不为零,而为(5, 5),(6, 6)位置中所存在 的值,也就是CMAC具有预测输出的能力.D. Ellison之映射法则如下: () () -+ + = = gpt pt gpsf gpsff i ipi , ,, ,, ) ) if gspti+<+ ) (6.01) 其中 ()[]1/2+-=gsgti) g : the size of generalization 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1^s 2 ^s . . . . . . . . . . 图6.4 Generalization法则 2. A→A' Mapping (Hash coding) 一般而言,CMAC 输入状态为多维空间,所以相对需要的连结记忆体也相当大, 69 但实用上记忆体有限,因此若要将联想记忆体全部放至实际记忆体中是不可能的. 故藉由Hash转换,将较大的联想记忆体空间映射至较小的实体记忆体中.Hash函 数的选取必须要符合两个特性:随机且分散地映射至实体记忆体,务必使记忆体碰 撞机率降低,演算过程必须简单及快速,这样才能达到即时控制的效果.Hash函数 的计算程序如下: = ×= n i ipipPRfK 1 p=0,1,……,(g-1) (6.02) hp = Kp mod m m : the size of physical memory hp : the address in the physical memory iPR : prime number 将每个变数pif分别乘上不同的质数iPR,再对总和进行馀数运算就可以得到 实际记忆体的位址,馀数的选取最好是大於或等於实际记忆体空间的最小质数.例 如,假设我们选取两个质数分别为7和23,则连结记忆体位置为(3,5)将被映射至 ()23573×+× mod 1031 = 136的记忆体位址.但我们发现不同映射至同记忆体位址 而发生碰撞的情形一定会发生,使能控制的准确性大打折扣,所以我们采用了逼个 分层记忆体来避免碰撞的问题,其每一层结构以图形表示之(见图6.5): 70 s1s2s3weightempty s1s2s3weightempty s1s2s3weightempty LEVEL1 LEVEL2 LEVEL3 10000 20001000 图6.5 分层记忆体法则 当CMAC欲写入值时,电脑以Hash函数的方法计算,在LEVEL1层定出一个 位址,电脑会先检查该位址是否是空的.若是,则写入值,并将Y(K+1),Y(K), Y(K-1)量化後的值分别存在s1,s2,s3中,若不是空的,则检查s1,s2,s3内之值 是否皆为相同,若皆相同表示先前已对此点学习过,CMAC则可再写入值以调整该 处的权值.若此位址不是空著,s1,s2,s3也不全部相同,则表示在LEVEL1中发 生碰撞,记忆体中没有空间能够再储存这些值,这时指标将跳至LEVEL2.LEVEL2 为与记忆体相同结构的记忆体,其定址方式跟LEVEL1相同,不过选择的质数与定 义的空间不同.在LEVEL2上,重覆如LEVEL1中相同的动作,当再次发生碰撞时 则再往下跳至LEVEL3.一直重覆此动作跳到可以写入值的LEVEL中,只要设计 的分层够多,则之前发生的碰撞问题就可以有效地避免,详细运作流程如图6.6. 71 START 在此层以 hash coding法则定址 Empty=0 比较s1,s2,s3 指标跳至 下一层记忆体 下一层记忆体 传回 weight=0 END 传回 weight 传回 weight=0 YesYes NoNo Yes 图6.6 记忆体读取流程图 当CMAC要读出权值时,电脑同样先在LEVEL1层先定出一个位址,若是空 的,则传回零,在这种情形时我们不须要再到下一层去找.若有值於其中,则电脑 会先比较s1,s2,s3确定是否为同一个值,若是,则传回其中的权值,若不同,表 示此层已被其他的s1,s2,s3所占用,此时指标将跳至下一层中继续寻找,直至找 到完全相同的s1,s2,s3或者其值为零(表示这一点从未有值存入)为止.并不须要 读完所有的记忆体位址,详细的运作情形示於图6.7. 72 START 在此层以 hash coding法则定址 Empty=0 比较s1,s2,s3 指标跳至 下一层记忆体 下一层记忆体 END 以 调整其weight YesYes NoNo Yes No ()* CMACUU G - μ 图6.7 记忆体写入流程图 3. A'→Y Mapping (Weight Summing) 这个映射的过程是将实际记忆体中,被某一个输入向量所激发(active)的g个位 置的函数值相加,就可以得到CMAC的理想控制输出cU(K)或实际的控制输出 * CU(K).此项特性有助於硬体设计的简化. ()() - = = 1 0 * g i iCCWKorUKU (6.03) iW : 第i个权值 ()KUC * : CMAC实际的控制输出 ()KUC : CMAC理想的控制输出 73 4. Error-Correction Learning CMAC类神经网路学习过程中,除了上面三个步骤外,还必须包含学习的程序. CMAC为具有学习能力的架构,所以学习法则的选取相当重要,这会影响到CMAC 的学习结果.以下为学习法则的计算型式: ()()()()() ()()()()() ()()()()() * * 1 1,,1 1,,1 iiC CBrBB CCBrBB WKWKUKUK g UKUPKPKPK UKUPKPKPK μ +=+- =+- =+- (6.04) μ:学习率 g : 衍化之数目 iW: 第i个权值 CMAC网路学习过程中,我们以误差函数()()[]KUKUcc *-来修正CMAC的记忆 体内容(由座标(1)BrPK+,()BPK,(1)BPK-加以定址),而最终目标将是学习系统 的逆函数()()()()()11,,1BrBBGPKPKPKUK-+-=.(6.04)式中,学习率μ介於 [0,1] 之间,其值影响著控制过程的性能.若μ值很小,学习(learning)过程变化较平滑, 可以得到较精确的控制,但必须要较长的时间收0,反之,可加速学习能力,不过 会得到较差的控制精度甚至造成系统不稳定. 74 6.4 CMAC系统於平台控制的模拟 图6.8 为CMAC控制系统流程此流程图中包含了上述章节所介绍的逆向动态方 程式,马达控制,平台系统动态方程式以及CMAC控制器,CMAC控制器 是以同一个记忆体空间,学习六个控制对象共同的系统反函数,并同时输出控制力 於这六个控制对象.CMAC控制器以理想平台位置及平台的实际位置误差为修正 量,求得所需的CMAC输出,理想位置经过逆向动态方程式求得到相对应的输出 力,并以CMAC控制器来对平台作微量的调整.模拟的结果我们将在7.5节再作介 绍. Input Inverse Dynamics Linear motor CMAC control Dynamic Platform ddd dddZYX ψθφ,, ,, Output rrr rrrZYX ψθφ,, ,, 6,...,1,=iFri 6,...,1,=iFi 6,...,1,=iTei 图6.8 CMAC控制系统 75 6.5讨论 本研究为了避免重复储存所造成的碰撞问题,采用分层记忆体的方式,并设计 较大的记忆体,由於较下层的记忆体要在上层发生碰撞才会有值存入,且机率较上 层低,所以愈下层记忆体宣告的大小就不用太大.根据模拟及实验的结果,假如记 忆体设定够大,就只需用到第一层记忆体.因此我们可以根据实际情况来增减记忆 体的层数与每一层的大小,即可以较小的记忆体空间完成CMAC控制系统. 另外是参数的影响,以下对各参数的功用稍加描述∶ (1) 衍化(Generalization)的影响∶衍化会影响学习的效能,衍化之值可调的范围很 广,但愈大系统震汤愈厉害,太小则没有学习的效果. (2) 学习率(Learning Rate)的影响∶学习率会影响实验的精度,较大的学习率学习速 度快但系统震汤激烈,误差亦会增加;太小则学习慢,系统收敛时间较长,不 过误差相对的减小. (3) 量化(Quantization)的影响∶当系统输入很大时,位移定址所需的记忆体也很大, 同时衍化的值也要跟著增加,如此计算量会大增.所以量化的效果是可以大幅 减小所需记忆体的空间与计算量,以获得较好的控制效果. 76 第7章 即时模拟系统 7.1 即时模拟系统之简介 为了达到即时模拟之效果,本研究结合MATLAB软体之SIMULINK工具箱, Real-Time Workshop(RTW)转译程式及数位信号处理卡DS1103.利用DS1103强大 运算及I/O能力架构一即时模拟系统,可进行即时模拟. RTW主要功能是将SIMULINK方块图转译为一程式码,其产生之程式码可使 用於多种的环境,如即时系统或独立模拟系统等.因此配合高速DSP控制卡或较快 之电脑其可应用於即时控制器之实现,即时讯号处理,即时硬体回路模拟 (hardware-in-the-loop simulation) ,线上即时参数调整及将转译成之ANSIC程式码 应用於其他程式中.图7.1为RTW将SIMULINK方块图转译为一程式码之流程图. 77 MATLABSimulink RTW Build Target Language Comliler make Real-Time Workshop model.mdl system.tmf TLC program: System target file Block target files Run-time interface support files model.rtw model.c model.h model.prm model.reg model.mk C-MEX S-functions Download to target hardware Star execution using Simulink's external model 图7.1 Real-Time Workshop程式产生过程 7.2 S-function介绍 S-function(system function)乃是MATLAB所提供用来描述动态系统的程式语 言,其可以用MATLAB或C语言写成.S-function主要功能是,当使用者所需使用 之功能是SIMULINK现成方块图所无法提供,使用者可以利用S-function,依照自 我需求设计一符合SIMULINK环境之方块图.在这里必须注意的是,如果所写成之 S-function最後将利用RTW转成可即时执行之程式码,则S-function可以只使用C 语言撰写. 78 在Simulink的系统模拟方式中,最复杂且具有弹性的分析方法.当在Simulink 建立一个方块图为基础的系统时,就等於建立了一个S-Function.S-Function是一种 以用程式描述而非控制方块图描述的动态系统,可以使用几种方法来描述: 1. 用MATLAB原有的语言来写,并编译成Matlab的M-File格式的 档案. 2. 用C语言或Fortan来写,编译成MEX-File. 在Simulink中,也有一个方块是专门使用S-Function,此方块位於 『Nonlinear Library』中.由於S-Function非常适用於不管是连续系统或是离散系统, 甚至於包含离散及连续的系统也适用. RTI的功能主要是用於dSPACE数位信号处理模组与SIMULINK的 连结,如图7.2所示.图7.2分为两个部分: 右半部:是关於RTI的I/O装置,这些装置基本上与dSPACE I/O装置 都有相当关系. 左半部:提供更多的功能方块用於dSPACE数位信号处理模组与 SIMULINK的连结. 79 图7.2 Simulink block libraries of RTI 7.3 SIMULINK之数值模拟架构参数设定 参数设定是进行模拟工作前的准备工作,参数该如何设定是根据程 式设计的需求,以便让SIMULINK发挥最好的效能.最基本的参数设定 在解题器(solver)上,包括起始与终止模拟的时间,模拟的步阶大小 等. 参数设定的方法可以直接用指令simset 或者到Simulation→ Parameters出现对话盒後,进行设定.对话盒如图7.3解题器(Solver)参 数设定画面,图7.4 RTW参数设定画面,其中的项目说明如下: 1. Apply用於修改参数後,动作的确认.代表目前改变的参数设定,用 於接下来的模拟. 2. Revert为复原的意思,代表沿用前一次open对话盒前未修改的参数 80 设定,用於接下来的模拟. 3. Close关闭对话盒,在模拟进行中可以不必关闭. 4. Help可显示使用方法的说明. 5. Simulation time为模拟的起止时间,不见得等於真正的时间,得视程 式的大小与复杂度而定. 6. Solver option包括许多项目,其中∶ ◆variable-step能够在模拟过程中自动修正步阶大小(step size)以满足 误差的容忍度设定与零跨越(zero crossing)的需求.其解题器共有 ode45,ode23,ode113,ode15s,ode23s,discrete等可选,一般设定 ode45为解题器,但当模型没有连续的状态(continuous state)表示 时,则必须选discrete.Max step size与initial step size一般预设值 为auto. ◆fixed-step则是固定的步阶大小,不会自动修正步阶大小,以满足误 差的容忍度设定与零跨越.所显示的Solver option与variable-step不 同.其解题器共有ode5,ode4,ode3,ode2,ode1,discrete等可选, 一般设定ode4为解题器,其等效於ode45.另外,ode3等效於ode23. 其step size只有fixed-step size可以设定,同时也没有output options 81 的设定问题. ※在建立即时模拟的应用上我们只能选择fixed-step解题器. 7. Output options包括第一个为Refine output其Refine factor最大可到 4,预设值为1,数字越大则输出越平滑.第二个可设定的参数为 Produce additional output设定其Output times的数值,类似Refine factor,使得输 |