
2337.嵌入式机载摄影稳定平台的设计.doc
4页嵌入式机载摄影稳定平台的设计摘 要:为消除无人机或直升机飞行振动对航空摄影清晰度的影响,设计了安装摄像机的机载摄影稳定平台该机载摄影稳定平台采用了嵌入式控制技术﹑多传感器融合技术等以微处理器AT91RM9200和嵌入式操作系统μC/OS–Ⅱ为核心设计了控制系统;以微机械陀螺﹑加速度计和GPS等传感器组成航姿仪来测量稳定平台的速度与姿态信息该稳定平台在实验室的摇摆平台上和无人飞机上分别进行了稳定测试,其姿态稳定精度达到0.4°,隔离度达到38dB,从而达到了高清晰度摄影的要求同时,具有重量轻﹑功耗小﹑灵活度高等特点关键词:机载摄影;陀螺稳定平台;嵌入式控制Design of embedded stabilized platform for aerial photographyAbstract:In order to eliminate the vibration effect of unmanned aerial vehicle or helicopter and to get high quality image, an aerial photography stabilized platform is designed. The stabilized platform is developed by means of embedded technology, multi-sensor fusion technology and so on. The control system is designed based on AT91RM9200 microcomputer and embedded μC/OS-Ⅱ operating system. The attitude and heading reference system apparatus is mainly composed of an MEMS-gyro, an accelerometer and a GPS (Global Positioning System). Its aim is to measure the position and velocity of the stabilized platform and send data to the control system. The platform was tested on the wobbling platform in laboratory and an unmanned aerial vehicle. Test result indicates that the stabilized accuracy can achieve to 0.4 degree and the isolation can achieve to 38dB, which can satisfy the requirements of high definition aerial photography.Key words:aerial photography; gyro-stabilized platform; embedded control1 引 言收稿日期:2008-09 Received Date:2008-09在无人机或直升机上采用高清晰摄像机进行航空摄影时,由于飞机在飞行时会受到本机和气流等多重影响,导致机体将无法保持平稳,这给机载相机的高精度拍摄带来很大的困难。
而机载摄影稳定平台正是用于在航空摄影过程中对摄影机进行稳定控制以隔离直升机或无人机在飞行中的振动保持航空摄影时摄相机水平(俯仰和横滚两个方向)稳定以及航向角(方位方向)稳定以保证摄相机能够清晰的摄影近年来,随着精密机械、微电子技术、数字信号处理技术、功率电子技术和伺服驱动技术的飞速发展,惯性稳定技术有了很大的发展国外在在这方面的研究已经向小型化、数字化和集成化方向发展[1]国内在这方面的研究起步相对较晚,很多直升机光电机载采用光电一体化技术实现,结构笨重、功耗大、不能适应多摄像机的摄影,特别是高清晰度摄像机采用微机械陀螺和石英加速度计组成的航姿仪比采用挠性陀螺体积更小、功耗更低、寿命更长、抗冲击能力更好、成本更低实测结果完全可以满足本系统的精度要求而随着嵌入式技术的发展,人们对系统智能化、小型化的要求也越来越高而基于ARM结构的微处理器以其高性能、低功耗、低成本等方面的优势被广泛应用本机载摄影稳定平台采用了嵌入式控制技术,多传感器融合技术、伺服控制技术等来实现性能优于传统的直升机机载稳定系统2 控制系统硬件结构机载摄影稳定平台的工作原理为根据操控计算机通过无线遥控给出当前的锁定姿态进行稳定,当围绕平台的某个支撑轴有外力干扰力矩时,惯性平台偏离给定位置,通过航姿仪测定出稳定平台的位置姿态信息和速度信息反馈给微控制器AT91RM9200,通过控制算法解算得出机载摄影稳定平台的方位轴、俯仰轴和横滚轴当前的运动角速度和角位移,解算出实际的位置姿态,与锁定姿态比较。
分别作为位置环和速度环的控制依据,通过PID分别调节方位速度环、方位位置环、俯仰速度环、俯仰位置环,横滚速度环和横滚位置环的PID参数,总共需要调整18个PID的参数,根据偏差计算出伺服机构控制电机运转方向和大小,对系统的航向、水平、俯仰、横滚和方位进行修正和补偿控制,以让平台稳定在给定的位置如图1所示机载摄影稳定平台主要由航姿仪、上位机、微控制器、平台伺服机构等组成由于系统中涉及较大的数据运算处理,故采用ATMEL推出的高性能的ARM9处理器AT91RM9200为微控制器其中航姿仪作为测量单元被安装在稳定平台上,可以实时测量机载摄影稳定平台的姿态信息以及平台的俯仰、方位和横滚的速度AT91RM9200通过RS422实时接收到航姿仪所采集的数据信息,分别对方位、俯仰和横滚三个电机进行控制,电机驱动相应的执行机构从而实现机载平台的稳定控制图1 控制系统原理图Fig.1 Block diagram of the control system principle2.1 航姿仪(测量单元)由于飞行环境复杂、单一传感器由于获取的信息有限,通常会存在不确定性以及偶然的错误或缺失,而影响整个系统的稳定性和精度,所以作为航空摄影稳定平台的测量单元,航姿仪是将GPS、三个微机械陀螺仪及三个加速度计多个传感器结合起来进行使用,它们各自产生的信息进行综合,以便获得合适的位姿信息。
但是传感器在长时间的工作过程中将不可避免地存在漂移误差影响,这些元件误差将直接导致导航系统定位误差增大,动态定位精度降低,因此为了充分发挥传感器的性能,提高系统的精度需要对其误差进行补偿卡尔曼滤波算法是一种递推形式的状态和参数估计方法,它以测量误差为依据,进行估计和校正,不断逼近状态或参数真实值因此,可以利用其融台多个传感器的测量值,以获得稳定平台的位置及航向角估计值陀螺测得的载体角速度信息和加速度计测得的载体加速度信息由数据采集器进行模/数转换后通过DSP进行数据解算处理后,再通过RS422发送给微控制器(AT91RM9200)其主要由GPS接受模块、惯性测量模块、信号调理电路、DSP+FPGA处理模块、电源模块等组成,其控制电路结构图如图2所示图2 航姿仪结构图Fig.2 Structure diagram of the attitude and headingreference system2.2 主控制器AT91RM9200及其外围电路AT91RM9200是ATMEL公司推出的一款用于工业控制的ARM9处理器,它基于ARM920T内核, 工作在180 MHz频率下的运算速度可高达200MIPS。
AT91RM9200集成了丰富的外围及标准接口单元,其中有高速片上SRAM和低延迟的外部总线接口(EBI)、高级中断控制器(AIC)、外围数据控制器(PDC)、电源管理控制器(PMC)、USB2.0接口、以太网10/100 BaseT MAC控制器等,这些接口极大地扩展了外部器件的种类AT91RM9200内部只有16k的SRAM,远远不能满足应用程序的要求,所以需要扩展外部SDRAM及Flash2.3 伺服机构控制本系统需要实现方位、俯仰和横滚三个方向的稳定故由横滚伺服系统、俯仰伺服系统以及方位伺服系统够成,它们的结构基本相同,彼此相互独立在系统中采用了三个直流伺服电机AT91RM9200 有六个相同定时/计数器(TC), 可用其中的三个TC产生3路独立PWM信号(占空比50%),另三个TC作为计数器使用,分别去计三路独立PWM信号脉冲的个数通过调整PWM的频率可以控制电机的速度而脉冲的个数可以控制电机的转角其电路接口相对简单3 平台软件设计3.1 嵌入式实时操作系统目前商用的嵌入式操作系统产品很多,它们相对比较成熟,并且提供了强大的开发和调试工具,但开发成本昂贵且大部分不提供源代码,并不适合小型系统的开发。
而μC/OS-Ⅱ相对于其它操作系统它不仅提供一个内核,具有公开源代码、可移植性、可固化、可裁减、支持多任务、具有可确定性等特点,比较适合中小型嵌入式系统的应用开发考虑到μC/OS-Ⅱ的这些特点,本系统采用μC/OS-Ⅱ操作系统μC/OS-Ⅱ的移植过程比较简单它在ARM7处理器上的移植相当成熟在AT91RM9200上的移植与ARM7处理器上的移植类似,由于篇幅的限制,本文不具体介绍μC/OS-Ⅱ在AT91RM9200上的移植过程μC/OS-Ⅱ要求用户提供一个周期性的10~100次/s时钟源,来实现时间的延时和超时功能[3]AT91RM9200内有个Period Interal Timer(PIT),它是一个十六位的减法计数器,使用它很容易给μC/OS-Ⅱ提供10~100次/s时钟节拍PIT计数器产生时钟节拍为100次/s的程序代如下void uCOS_TickInit(){volatile int status;AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,AT91C_ID_SYS,1,0, OS_CPU_IRQ_ISR ); // 配置 PIT 中断 AT91F_AIC_EnableIt(AT91C_BASE_AIC,AT91C_ID_SYS);// PIT产生中断使能 AT91C_BASE_ST->ST_IDR = AT91C_ST_PITS; status = AT91C_BASE_ST->ST_SR;AT91C_BASE_ST->ST_PIMR = 327;// 给初值为μC/OS产生100 Hz的系统时钟 AT91C_BASE_ST->ST_IER = AT91C_ST_PITS; }3.2 应用程序用户的应用程序位于系统最上层,在操作系统μC/OS-Ⅱ的管理下,系统的工作被划分为若干任务,用户按照任务来“模块化”地编写处理程序。
每个处理程序都包含一个循环执行的程序段基于μC/OS-Ⅱ的应用系统工作时,由初始化模块、定时中断模块、通讯模块组成、初始化模块在执行时间上优先于其他模块,而其它模块工作于系统正常控制状态,各自完成独立的功能,它们之间的信息交换只采用少量的数据耦合,相互之间为并行关系,正常运行时构成一个简单的多任务系统定时中断模块完成系统主要的控制、检测;通讯模块完成数据信息交换,系统开始工作是首先初始化CPU;接着进行操作系统初始化,主要完成任务控制块(TCB)初始化、TCB优先级表初始化、空任务的创建等;然后开始创建新任务;最后调用OSStart()函数启动多任务调度应用程序主流程图如3所示首先设定摄影目标,启动AT91RM9200的定时器2,以30 ms为一个控制周期,然后判断当。












