基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx
《基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx》由会员分享,可在线阅读,更多相关《基于Xllinx Vivado HLS的小型无人机平衡仪设计.docx(8页珍藏版)》请在第一文库网上搜索。
1、基于XIIinXVivadoH1S的小型无人机平衡仪设计小型无人机在航拍、灾害救援、防火等领域得到广泛运用,但是无人机操作复杂,尤其是控制飞行姿态平稳、航线准确和降落平滑,对地面人员的操作水平要求较高。操作问题容易造成无人机的飞行事故,严重时会损坏飞机机体及机上设备,也会危害对地面人员及财产安全。因此,需要平衡仪辅助地面操作人员控制飞机的姿态和航迹。FPGA对数据并行处理,使用相同算法时与CPU相比,计算速度高,影响速度快,适合数据密集、重复性高的工作。FPGA在逻辑上具有高度灵活性,对各种通讯协议具有良好的兼容性,也可根据各种控制系统制定数据输出格式。FPGA架构飞控具有较大优势,但由于FP
2、GA设计难度较高,开发流程繁琐,开发周期长,影响FPGA架构飞控的应用和普及。本文针对上述问题提出了一种基于XIIinXVivadoH1S工具的FPGA架构飞控的快捷开发方法,并将该方法应用于四旋翼飞行器平衡仪的设计上。1平衡仪介绍平衡仪用于提高无人机飞行的稳定性。无人机的稳定性包括横向稳定性、纵向稳定性和航向稳定性,分别表示无人机在横滚、俯仰和航向上恢复原始状态的能力。通过使用平衡仪辅助地面人员操纵无人机,可精确控制无人机的飞行姿态。本平衡仪包括惯性测量单元:使用三轴加速度计、三轴陀螺仪和三轴磁力计测量无人机物理运动状态;数据处理单元:平衡仪系统的核心,用来计算无A机当前姿态并控制控制机械执
3、行结构调整无人机姿态。平衡仪结构如图1所J0图1平衡仪结构图本平衡仪算法分为姿态解算算法和控制算法。姿态解算算法用于得到当前无人机飞行姿态,当前姿态用俯仰角、横滚角和方向角表示,姿态解算算法的核心为四元数法。平衡仪软件流程如图2所示,系统上电后对处理器和传感器进行初始化。使用加速度计补偿陀螺仪的漂移,进行数据融合得到误差四元数,计算得到当前四元数后,计算得到当前姿态角。对遥控信号解码后可得到目标姿态角,与当前姿态角一起通过PD算法得到控制量的输出。图2平衡仪算法流程图2X11inxVivadoH1S介绍当今无线、医疗、军用之品和消费类产品应用中使用的高级算法比以往更加复杂,加上紧迫的开发和验证
4、计划,即最有经验的RT1开发团队都感到极具挑战。VivadoDesignSuiteVivado高层次综合可将CC+和SyStCn1C规范直接引入XIIinXA11Programmab1e器件,无需手动创建RT1,从而加速了IP创建。ViVado高层次综合支持ISE和ViVado设计环境,使系统工程师和设计架构师能以更快速的方式创建IPo早探索了具有不同设计需求和多种微架构后,VivadoH1S(High-1eve1Synthesis)能直接将CC+和SyStemC转换为VHD1或Veri1og的RT1级,从而加速了设计的实现和验证,功能仿真可以通过C语言执行,这相比VHD1和Veri1og仿真
5、加速超过了一个数量级。VivadoH1S提供给设计人员和架构师一个更快,更可靠的方法进行高品质设计。3设计思路通过上述分析,使用X11inXVivadoH1S套件时需要以己有C语言实现后仿真的飞控核心代码为基础,整合为XIIinXVivadoH1S套件所需结构,完成功能仿真后,通过高级综合工具转换为对应IP核,在EDK套件中配置后生成对应比特流文件。3.1C语言代码调整C语言平台调试方便,可通过在线调试查看变量数值,对数据格式支持性好,代码编译数度较快,可使用幽1对飞控算法框架做功能仿真。飞控框架验证合理后,需要对C语言代码做调整,包括一下几个方面:1整理飞控算法的程序结构。平衡仪核心代码主要
6、分为传感器数据的预处理、和姿态角解算、控制量计算等部分。将这些功能整合到一个函数FC中,使用统一的输入输出变量。2整理飞控算法的输入输出变量。根据H1S工具对数据格式的要求,输入变量使用值传递方法,输出变量和输入输出变量使用指针传递方法。此处输入变量包括传感器数据、遥控信号值和控制参数。输出信号包括飞机的控制信号、姿态角和一部分状态值。3调整非关键信号的数据格式。目前XIIinXZynq系列芯片普遍有对浮点数处理的专用DSP单元,对浮点数有良好的支持。但DSP单元数量有限,对于对响应时间具有苛刻要求的系统中,可采用部分点数运算部分定点运算的方法。对于精度要求高的变量或者关键变量,如四元数,采用
7、浮点数计算;对于对要求不高且对系统影响不大的信号,如遥控信号值,采用定点运算的方法。3.2H1S使用在H1S中建立工程,选择正确的目标芯片,添加所有的C语言文件,在工程的ToPFUnCXion中填写算法的顶层函数名称,本例中为FC。运行CSynthesis,调试提示的警告和错误。可通过添加Testbench软件仿真飞控算法的C语言程序。例如测试姿态解算功能时,需要使用预先采样的传感器数值验算算法计算得到的姿态值是否准确、响应是否及时。建立TeStbenCh文件,定义预先存储的传感器实验数据和FC函数对应的输入输出变量,在main函数中按照传感器采样顺序和数据格式将传感器数据依次送入FC函数,使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Xllinx Vivado HLS的小型无人机平衡仪设计 基于 Xllinx HLS 小型 无人机 平衡 设计