1、?收稿日期:2008-11?基本项目:上海市重点学科建设资助项目(T0103)?作者简介:范海艇(1984?),男,硕士,研究方向为基于 FPGA的嵌入式系统开发。用 N iosII嵌入式软核实现 RoboCup中型组足球机器人的底层控制范海艇,项宗杰,陈万米,林骁元,林立奇(上海大学 自动化系,上海 200072)?摘要:介绍基于 N iosII嵌入式软核处理器的 RoboCup中型组足球机器人的底层控制的设计方案,详细论述了系统设计的各个步骤。该控制方案在一块基于 A ltera CycloneII FPGA 上实现,完全满足设计之初提出的接口统一、控制精确、便于升级的要求。文章对基于 N
2、 iosII进行 SOPC系统设计具有参考价值。关键词:N iosII;FPGA;SOPC;底层控制系统中图分类号:TM 930?文献标识码:B?文章编号:1006-2394(2009)05-0033-04I mple mentation ofOn?board Control System Used in RoboCup SoccerM iddle Size Competition Based on N iosIIFAN Hai?ting,XIANG Zong?jie,CHEN Wan?m,i LIN Li?qi(Depart ment ofAuto mation,ShanghaiUniver
3、sity,Shanghai200072,China)Abstract:Onem ethod of utilizing NiosII soft core to design an on?board control system which is used in RoboCupSoccerM iddle Size Competition is introduced in this paper.More details during the i mplement of each function areinvolved.The design has been i mplemented on an A
4、ltera CycloneII FPGA,which is satisfied w ith the demand of stand?ard interface,accurate control and easy updating.The paper has universal guidance forNiosII and SOPC designers.Key words:N iosII;FPGA;SOPC;on?board control syste m1?机器人底层系统介绍足球机器人是一个典型的智能机器人系统,其底层控制系统的基本任务是:与决策上位机保持数据通讯,并将上位机下发的指令转为对机
5、器人驱动电机、传感器以及踢球机构的控制,实现机器人在场地上移动和射门的动作。按功能模块可分为:与上位机建立通信连接;全向轮的驱动及精确控制;气动踢球的控制以及各传感器的输入与融合等。机器人足球赛的胜负除了取决于决策子系统水平的高低外,在很大程度上决定于硬件系统机器人性能的好坏。机器人的性能主要由底层控制系统决定,研究与开发集成度好、可靠性和控制精度高的控制系统具有重要的意义。定制统一标准的上位机通讯接口,提高机器人运动的快速性与控制精度,及在功能上能根据实际要求快速改变和扩展将是本研究的重点。2?N iosII的核心地位N iosII系列 32位 RISC(精简指令集架构)嵌入式处理器是 Al
6、tera公司提出的第二代嵌入式软核处理器,是 A ltera 公司特有的基于通用 FPGA 架构的软CPU内核,其性能超过 200DM IPS,大部分指令都能在5ns的周期内完成。用户可将一个或多个可配置N iosII软核处理器、存储器、I O接口、各种外围设备等系统设计需要的部件集成到一块 FPGA 芯片上,构建成一个SOPC(片上可编程系统),并从无限的系统配置组合中选择满足性能和成本达到最优组合的方案,而不必为系统级设计采用 ASIC(专用集成电路)。鉴于 N iosII处理器集成度高、灵活性强、运算速度快的特点,完全符合中型组机器人底层控制高效、简单、灵活以及开发周期短的要求。3?底层
7、控制的实现足球机器人底层控制系统主要包括:处理器单元、?33?2009年第 5期?仪 表 技 术存储单元、USB通信单元、运动控制单元、电机驱动单元、速度检测单元以及踢球等功能模块。其结构组成如图 1所示。图 1?系统结构框图3.1?USB通信的实现机器人本体一方面要及时、准确地接收上层决策机下发的控制指令,另一方面要定时向上层决策机传送大量代表机器人当前运行状态的数据。对于中型组机器人而言,目前决策指令的刷新频率可以达到 50帧。传统的 RS-232串口无法满足大量数据的传输,因此采用 FTDI公司的 FT245RL芯片,实现上位 PC与底层控制板之间 USB接口的连接。该芯片主要功能是进行
8、 USB 和并行 I/O口之间的协议转换。一方面可从上位 PC接收 USB数据,并将其转换为并行 I/O 口的数据流格式发送给 FPGA;另一方面可通过并行口将数据转换为 USB的数据格式传回上位 PC。中间的协议栈全部由芯片自动完成,开发者无须考虑固件代码的设计。最大传输率可以达到 1Mbyte/s。在上位机端有标准函数接口,方便程序开发者进行二次开发。在下位机端,FT245RL 提供FIFO接口与 FPGA连接。主要通过数据线 D0 D7及读写控制线(WR、RD、TXE和 RXF)来完成和 FPGA的 8位字节数据的交互。FT245RL 内含两个 FIFO数据缓冲区,一个是 256字节的接
9、收缓冲区,另一个是128字节的发送缓冲区,它们均用于 USB数据与并行I/O口数据的交换缓冲区。根据 FT245RL 读写使能的控制时序图,在 N iosII软件开发环境(NiosII I DE)中以控制 I O的方式,完成 USB数据的读写操作。为保证指令信息的完整接收与发送,定制了数据包的格式,其定义如表 1所示。表 1?数据帧格式帧头地址信息校验帧尾0 x56车体 I DdataCRC0 x0d?数据包有五个字段组成,帧头和帧尾代表整个指令包的开始和结束,地址字段代表机器人编号,信息字段内包含了对机器人控制的指令信息及反映机器人状态的信息,CRC校验字段用来验证整个数据包的正确性。3.2
10、?机器人运动控制的实现在进行机器人足球比赛时主要依靠机器人灵活的行动机构实现控球、拦截、传球等技术动作,而这些动作都是依靠控制伺服电机来完成,所以对伺服电机精确地控制是赢得比赛的关键。用户定制的 PWM _IP 模块与 N iosII处理器通过Avalon总线互联,产生 3路独立的 P WM 信号。每一路 PWM 信号经过 I R2110外部芯片后产生悬浮电压,驱动 4个 Mosfet组成的 H 桥电路后直接输出给单个独立的驱动电机;同时,处理器根据电机测速码盘所反映的实际转速值对电机进行 PI算法处理,实现对电机的精确控制。A ltera公司并没有提供现成的 PWM 核,所以需要通过自定义用
11、户外设的方法来实现。所谓自定义用户外设,即将自己设计的 IP 模块集成到 SOPC Builder中,实现 IP核的复用。外设元件所需实现的功能由硬件描述语言(VHDL)完成,该外设元件与 N iosII之间通过 Avalon总线互联。NiosII以改变状态寄存器的方式改变外设的工作状态,实现对自定外设的控制,这种灵活的机制也使得系统的可扩展性进一步提升。计数模块对伺服电机的光电码盘信号进行鉴相、倍频和测速,并将数据通过 Avalon总线反馈至 N iosII处理器完成闭环。PID算法的编写在软件开发环境IDE中实现,鉴于 NiosII具有强大的运算功能,单指令内即可完成 32位的乘除运算,另
12、有 64位和 128位乘积专用指令,可以轻松完成大量乘除运算。为了满足底层控制与决策上位机指令的统一性的要求,规定决策机下发的数据为机器人速度 Vx、Vy、?(国际标准单位制)。对于机器人底层而言,是通过控制三个以一定角度环形排列的万向轮(如图 2所示),可以实现机器人任意方向的平动和转动。图 2?万向轮结构图?34?仪 表 技 术?2009年第 5期图 3?软件流程图?三个伺服电机的速度 V1、V2、V3与机器人实际速度 Vx、Vy、?相互映射关系满足如下计算公式,映射过程及单位制转化由 NiosII完成。v1v2v3=-sin?cos?1-sin?-cos?1101vxvy?(1)3.3?
13、踢球及各传感器的实现机器人除了移动以外,还要具备一些功能,如踢球、异常报警、红外测球等。目前较流行的踢球方式有两种,一种是利用通电螺线管产生磁力,驱动踢球机构将球踢出,踢球力度通过调整螺线管通电时间加以控制;另一种是利用压缩气动推动气缸,以电磁阀控制气阀是否开启以及开启的时间,本车体采用第二种方案。异常警报是在机器人产生异常情况如电机长时间堵转,或是电池欠压等情况下告知人们;红外测球用以辅助摄像机检测机器人是否处于控球状态;以上功能的控制都是开关量,N iosII可以通过 PI O控制器核实现对 FPGA上 IO管脚控制;同时,FPGA上 I O管脚可以自行分配,这也使得机器人在功能扩展的时候
14、无需重新印制电路板,缩短再次开发的时间。4?底层控制程序的实现底层控制程序是以 C语言的形式在 Altera公司提供的软件集成开发工具 IDE环境下完成编写的。系统启动后对外部设备初始化,在没有异常的情况下系统进入等待状态。USB数据通过中断的方式读入,根据不同的信息完成机器人的配置、踢球及移动功能。机器人状态信息的上传则由定时器中断实现。具体流程如图 3所示。5?平台调试实验选定机器人在场地上以 2m/s的速度向前和向右移动,每 2ms采集一次机器人各个电机的编码盘数据,经过 M atlab曲线拟合,得到机器人在 x方向和 y方向移动时三个电机的各自闭环阶跃响应(如图 4、图5所示)。结果表
15、明,电机在 100ms以内基本到达稳态。图 4?X方向运动时电机阶跃响应图图 5?Y方向运动时电机阶跃响应图机器人底部安装被动式编码盘,用以记录机器人在场地上的真实移动。实验中,以 10ms的间隔实时记录下机器人的位移值,并通过 M atlab将机器人每一个阶段的位移值拟合为运动轨迹图(图 6、图 7所示)。实验证明,机器人在向前运动和向右运动的姿态精度在 5?以内。?图 6?X 方向机器人运动轨迹图?35?2009年第 5期?仪 表 技 术图 7?Y方向机器人运动轨迹图6?结束语本文以 N iosII嵌入式软核为核心,介绍了中型组机器人底层系统实现的整套方案,充分利用 N iosII软核高效
16、、简单、灵活的机制,结合 SOPC技术,大大减小了系统的体积;同时 A ltera提供的强大而完备的软件环境使设计者把精力集中在系统整体构架和功能上,简化了电路实现细节,缩短了开发周期。整个系统在设计之初就提出了统一、精确、灵活这三个要求,在文中多次得到验证。实验结果表明,本文提出的基于 N iosII软核实现对 RoboCup中型组足球机器人的底层控制实际可行。对致力于机器人足球平台开发的研究人员来说,文中提出的方案也具有一定的参考价值。该机器人平台参加了 2008年机器人足球世界杯比赛,在国际上处于前八强。参考文献:1 李兰英,等.N iosII嵌入式软核 SOPC 设计 原理及应用M.北
17、京:北京航空航天大学出版社,2006.2 孔宇,石中锁,江培蕾.基于 USB接口的数据采集通用模型设计 J.冶金自动化,2007增刊(S1):513-515.3 余毅,马聘,贾惠波.基于 N iosII的 PWM 控制电路设计 J.微计算机信息,2008,(24):7-8.4 聂晓璐,赵臣.全方向 F180足球机器人的运动学分析 J.机电一体化,2006,(4):28-31.5 RaulRojas.OmnidirectionalControl Z.Berliu:FreieUniver?sitat,2005.6 Byun,Kyung?Seok,K i m,Sung?Jae,Song,Jae?Bo
18、k.Design of afour?wheeled o mni?directionalmobile robotw ith variablewheelarrangement mechanis m J.Proceeding?IEEEInternationalConference on Robotics and Automation.2002,(1):720-725.(许雪军编发)(上接第 30页)测水下超声波换能器与水面超声波换能器之间的距离,并据此计算出接收灵敏度衰减量,采用程控放大器加以幅度补偿,使得有用的载波信号放大到刚好不削顶,这样就可以设定一个固定的门限电压除去杂波。电路框图如图 6所示
19、。图 66?结论根据上述原理,上海仪器仪表研究所设计了双频超声波声控采水系统。经水下测试表明,根据水深探测器确定水下超声波换能器与水面超声波换能器之间的距离,并据此确定接收灵敏度;采用门限比较器除去杂波,可以很好的还原有用信号,达到水声通讯的目的。(许雪军编发)(上接第 32页)5?小结单片机系统和 SCPI编程仪器有机结合起来,可以应用于复杂的环境中完成自动测试、分析、控制作业。整个控制系统硬件结构简单,体积小(可以集成到一块小的控制板上),功能较强;软件设计灵活,速度快,可以现场处理也可以与远方微机通信实现监督,整体设计方便、周期短、实用性强。参考文献:1 赵茂泰.智能仪器原理及其应用 M.北京:电子工业出版社,1999.2 丁元杰,陈赢清.单片微机原理 M.上海:上海科技文献出版社,1993.3 何立民.单片机应用系统设计 M.北京:北京航空航天大学出版社,1991.4 徐爱钧,彭秀华.单片机高级语言 c51应用程序设计 M.北京:电子工业出版社,1998.5 E3647A Dual outputDC po wer users?guide Z.Agilent tech?nologies,1999.(丁云编发)?36?仪 表 技 术?2009年第 5期