1项目布景及方针
1.1项目布景
本文课题源于华中科技大学瑞萨实验室的移动机器人项目以及智能车比赛,首要意图是依据嵌入式技能和操控体系原理,依据FPGA结合ARM的根本架构规划一个小型移动机器人渠道,能够研讨主动驾驶、主动泊车、图画处理、智能操控算法等机器人运用。
该渠道是一种模块化、通用、层次结构的规划方案,使得研讨人员能够依据自己的要求挑选不同的模块经过简略的组合,构建符合要求的移动机器人渠道。所规划的小型移动机器人渠道不但有助于机器人技能范畴的研讨,也是一个抱负的嵌入式技能的研讨和验证渠道。
移动机器人范畴在可重装备和模块化方面一向有很多的研讨。跟着FPGA在嵌入式体系中的广泛运用,经过硬件言语编程来完结所需的逻辑功用、完结硬件渠道的重装备,为可重装备和模块化机器人的规划供给了一种新的办法。FPGA担任完结衔接各类传感器和执行机构的逻辑电路功用和必要的信号处理,只需编写不同的硬件言语程序,即可完结所需的电路功用,衔接相应的传感器和执行机构,完结硬件的重新装备。跟着依据FPGA的SOPC技能的开展,运用SOPC技能来完结可重装备的机器人操控器也成为了机器人渠道研讨的抢手。但是依据开发操控体系的商业性、体系可晋级性、算法杂乱度以及东西链、生态链老练度的视点考虑,运用依据ARM的CPU作为主操控器更易于完结该渠道。因而本项目将依据分立的ARM和FPGA根本架构完结移动机器人渠道。
该机器人渠道体系分为三个层次:实时操控层、操控数据流层、传感器与驱动器层。体系高两层运用串行核算的MCU(ARM7)和并行核算的FPGA(Spartan6)这样的AMP架构,处理器间高效的通讯将是提高整个体系功用的要害,依据开发经历,本渠道将选用EMC与SSP这样串并结合的通讯办法。渠道还能够上扩一个高端嵌入式体系接口,ARM7能够经过USB与ARM Cortex A9通讯,完结更杂乱的功用。传感器与驱动器层能够搭载多种传感器与驱动器模块,运算在FPGA中完结。
关于软件渠道规划,该小型移动机器人能够移植十分有商业远景的TOPPERS实时嵌入式操作体系,既能够在ARM7上移植,也能够考虑在Spartan6上移植。
该课题思维现已在专业课程、移动机器人项目以及两项智能车比赛中得到数年规划的充沛验证,团队有老练的硬件渠道、OS及组件体系移植典范、IP规划典范、算法资源和测试数据,现已开端相关模块的完结。
1.1.1FPGA处理底层密布数据流
FPGA相对CPU的特色在于并行核算和高速,因而适合于处理批量数据。针对本项目,FPGA担任数字图画处理、智能操控、图画人机接口等典型运用的底层密布数据流。
以点阵液晶LCM作为根本人机接口为例阐明。引进映射缓冲区这一思维,能够把LCM接口的物理接口部分和数据部分分隔,即ARM只读写映射区的数据,而FPGA担任液晶的详细时序要求,通用性、可移植性大大增强。引进双口RAM,则可完结ARM的快速数据通道EMC接口与LCM的慢数据通道接口的跨时钟域规划。这样一来,体系的同步、模块化、高效大大加强。一起能够运用C言语逻辑描绘优势完结杂乱的画图功用,而运用Verlilog HDL物理并行优势在数据间刺进杂乱的时序、指令及状态机操作。
1.1.2ARM处理上层杂乱操控流
CPU相对硬件的特色是杂乱函数核算。实时嵌入式操作体系TOPPERS在ARM7上的移植能够丰厚体系的运用及加强实时性。一起结合丰厚的协议栈及运用支撑,体系功用能够得到较大扩展。运用ARM处理杂乱操控流并扩展功用、运用FPGA处理密布数据流,正是该渠道最明显的特色。
1.2首要完结方针
1.2.1ARM与FPGA高效通讯及重装备
选用的ARM7芯片具有32 位外部存储器操控器EMC以及串行同步接口SSP。EMC支撑异步静态存储器(如SRAM、Flash)和动态存储器(例如SDRAM)的并行接口,而SSP兼容SSI、SPI、MicroWave等格局,并支撑DMA传输。
为了充沛发挥接口功用,ARM7与Spartan6之间的通讯选用双向EMC与双向SSP结合的办法,其间一路SSP被装备成SPI形式,完结ARM对FPGA从串装备。
1.2.2FPGA完结图画处理
本项目运用摄像头首要是为了完结循线和标志辨认,上层操控流所需的信息并没有那么丰厚,大部分无用信息能够经过可编程硬件滤波、图画切割、图画细化;其次,高速运动的机器人渠道捕捉的图画也是各帧运动的,需求对运动帧做滤波、趋势判别处理。由此发生的数据流均由可编程硬件FPGA完结。
1.2.3FPGA完结在体系图画显现
针对显现输出设备,有两类使命:车载显现和无线显现。
车载显现可运用小型LCM显现根本的人机界面和实时监控数据;而无线显现可选用无线局域网等网络衔接机器人渠道和上位机,实时回传摄像头图画,还能够在FPGA中处理核算生成的途径,将二者复合后回传。
1.2.4FPGA完结运动操控算法
传统PID根本算法并不会占用CPU多少时刻,但考虑到运动操控中对双闭环、智能算法、PMSM等更为火急的需求,一起考虑到体系可扩展可重构功用,选用FPGA完结运动操控是一种适宜的解决方案。
1.2.5FPGA完结含糊操控等智能算法
高档言语具有比硬件描绘言语更好的行为级建模才能,而依据System Generator和Matlab Simulink的软硬件协同规划办法正成为一大抢手操控体系开发办法。
含糊操控这类智能算法无需树立被控目标的数学模型,对操控目标的参数改变或非线性特性具有较好的适应才能,对搅扰或噪声具有更强的按捺功用。但其完结需求较高的并行程度,考虑到可重构性,由FPGA完结含糊操控硬件,而由ARM完结重构或晋级,具有十分好的架构长处。
在本项目中运用含糊操控,既能够运用到操控层操控战略、传感器层数据交融,也能够运用到驱动层电机操控,能够说各个层次都有运用。
本项目考虑在Matlab Simulink环境下树立含糊操控体系根本模型,得到抱负仿真成果后,建立System Generator模型并完结定点仿真,完结软件硬件协同规划。
1.2.6FPGA完结传感器数据交融
操控流层需求的信息更多的是笼统级、行为级,而详细传感器带来了很多的数据流,怎么组合出各类传感器,并提取出有用的信息是一大要害。为此,能够选用数据交融的办法,详细能够运用含糊操控等智能算法。
2体系原理及技能
2.1体系结构
2.1.1机器人渠道
暂定DFRobot的ROB0001:4轮驱动,无转向驱动,需求经过差速转向。
-
Four encodered DC motors
-
Includes 4x gearmotors
-
Aluminum frame and mounting hardware
-
Speed: 80 cm/s
-
Electronics, camera, servo motors sold separately
-
Package Dimensions: 360mm x 355mm x 165mm
-
27cm (Length) x 20cm (width) x 6cm(height) (rectangular base)
-
27cm (Length) x 20cm (width) x 7cm(height) (upper deck)
也能够考虑飞思卡尔或瑞萨智能车渠道,带转向驱动。
2.1.2操控体系结构
-
电机驱动环
-
车体操控环
2.1.3处理与核算渠道架构
体系分为ARM实时操控流层、FPGA操控与数据流层、传感器与驱动器层这三层,最底层将由外扩的IO操控,运算在FPGA中完结。高功用处理层暂不完结。
-
硬件结构如下:
-
内部结构如下:
2.2硬件流程
2.2.1图画处理模块
与一般视频图画处理不同,该渠道是针对机器而非人而进行处理,因而需求得到机器能有用时其他图画帧中的途径、标志等。时序操控、滤波、切割、挑选、紧缩、运动检测、跨时钟域同步等过程。
2.2.2电机操控模块
转速指令与电机操控器分隔,后者由FPGA完结。
2.2.3含糊算法模块
将T-S型FLC用在电机转矩操控中,发挥FPGA的高度并行及快速特性。
2.3软件流程
2.3.1使命调度
2.3.2图画处理流程
2.3.3途径辨认
2.3.4循线操控算法
因为能够切内弯,因而能够分直道、一般弯道、S弯道三种状况来处理。而这三种状况能够经过主途径曲线的拐点数区别。
-
盯梢操控
-
转向操控
-
动力操控
3需求的资源
3.1首要硬件
Nexys™3 Spartan-6 FPGA Board、NXP LPC2478、Xilinx XC6LX9-TQG144。
3.2仪器
ChipScope PRO、示波器、万用表。
3.3开发东西
FPGA:ISE Design Suite、Modelsim、Matlab Simulink SystemGnerator;
ARM:Eclipse;
电路:Altium Designer。