Profile - CN302


CN302

基于Nios Ⅱ 的机器人避障导航系统

北京交通大学
计算机学院信息科学研究所






Advisor

Name: 丁晓明

Members

No. Name English Name
1 程新宇 chengxinyu
2 周荣 zhourong
3 吴倩倩 wuqianqian

Project Paper

1. 设计概述 (Preliminary Paper)

 

l         设计意图
机器人的出现和发展极大的提高了人类社会的生产力,深刻地改变了人类的生活面貌。随着计算机技术、微电子技术的快速发展,机器人传感器的种类和精度都得到了很大的提高,但现有的机器人体积庞大,系统复杂,造价昂贵,使其不能够投入到广泛的应用中去.
我们的设计创新点是提出了一种基于精简传感器体系的多功能轻便移动机器人。它可以根据不同的工作需求设置不同的工作内容和工作方式存储多种机器人相关功能算法,可以根据不同的算法配置不同的传感器组,再利用系统的可重配置使机器人能够最大限度的利用系统资源来实现其功能。使得同一个机器人在不同的工作环境利用不同的传感器获取外界信息,完成不同的工作,这一点是当前其它机器人所做不到的。更由于本机器人的成本低廉,这也是目前机器人市场上很有竞争力的一个优势。
 
l         适用范围及针对用户群
本机器人系统内置多种智能算法,根据不同的算法配置不同的传感器组,使其能够具有多种功能,利用自主导航,路径规划,地图重建等智能方法完成不同的工作内容:
未知环境的探索,可以用于灾难救援,有害物检测等人不易从事的工作,如本机器人可以深入狭小的未知环境中,利用各种传感器进行避障导航,对未知环境进行探索,收集各种数据,重建环境地图,自动规划路径,掌握情况,拍摄图像。为救援工作探明情况。在探索过程中不会受到有害气体,环境温度等的影响,完成一般人员无法完成的工作。
家庭应用,自主导航,避障机器人系统能用于家庭服务、残疾人辅助、自动清洁等各方面适用于无暇顾及家务的都市人群或家中的残疾人。
 
l         本设计采用NiosⅡ的优势
1.机器人系统本身就要求其控制系统为实时系统,由于NiosII IDE开发环境集成了已经移植到NIOSII处理器的RTOS uc/osII操作系统,所以选用NiosⅡ软核系统来开发可以保证机器人的实时性。
2.本作品设计意图中的精简传感器体系能够通过NiosⅡ软核系统的可裁减性来实现。而不同传感器系统的选择也必须利用NiosⅡ软核系统的可配置性来实现。如本作品有三种传感器,视觉,声纳和罗盘,这些传感器的添加和根据不同功能的资源分配,只有NiosII能协调并发挥到最好的状态。并且NiosII软核处理器轻便,也是本作品所必需的。
3.采用自定义用户指令和自定义用户外设将图像处理算法、目标跟踪算法中反复应用的模块用硬件模块实现,提高系统的处理能力和运算速度的,是机器人对接收到的传感器信息可以及时作出反应。
4.C2H对设计的有力支持。

                  NiosⅡ提供的C2H编译器能够将对性能要求较高的C语言程序自动转换为硬件加速器,集成到基于FPGA的SOPC系统中。这样,分担了NiosⅡ处理器的数据计算和存储器访问功能,使处理器能够更好的处理其他任务。由于Avalon互联架构并没有限制主机和从机的数量,因此,NiosⅡ C2H编译器可以根据转换目标代码的要求,产生多个存储器自治硬件加速器。帮助嵌入式系统开发人员提高效率,实现成功的设计。

(Revision: 7 / 2008-09-14 09:49:02)

2. 功能描述 (Final Project Paper)

 

本设计采用DE1多媒体开发平台,充分利用了NiosII软核的特性,结合自定义用户指令、自定义用户外设、uc/osII RTOS实时操作系统来保证机器人系统的实时性。软件设计架构打破了嵌入式系统常规的面向过程的开发,而使用 C++语言完全使用面向对象的设计思想和程序开发,设计实现了一个基于多种传感器组和多种智能算法的移动机器人。本作品使用传感器精简,整体价格低廉,所蕴含的智能算法能使用于多种环境,其功能如下:
1.发现并定位障碍物
本智能机器人通过I2C总线连接三个声纳传感器(超声波测距传感器)获取周围信息数据,并利用多声纳的信息融合准确定位障碍物。
 
2.路径规划
在准确定位障碍物的基础上,本智能机器人在行进过程中,同时也i2c总线与罗盘进行交互,并通过串行口接受里程表数据,从而实时计算出机器人的位置和姿态信息。再使用本小组自主研发基于精简传感器系统的改进人工势场法。实现了机器人在行进过程中自主躲避路径上的障碍物。并且能够轨迹平滑的完成自主导航到达设定的目标,在找到目标后,对目标及周围情况进行拍摄存储,并且沿路返回。
人工势场法是机器人路径规划问题中的经典算法其主要思想是用引力场和斥力场来描述目标点和障碍物对机器人的影响,并用最终的合力场来引导机器人运动到目标点。由于该算法对未知环境,已知环境的路径规划都具有很高的可行性使得其在机器人领域中被广泛引用,但人工势场法本身具有易陷入力平衡的缺点。本小组研发的改进人工势场法不仅克服了该缺点,而且完全适用于本精简传感器系统。
 
3.基于机器人视觉的目标跟踪
通过对自定义外设-DM9000A网络芯片的控制。实现LWIP网络协议,通过标准的TCP/IP协议访问网络摄像头采集目标点图片,并由封装成自定义外设的JPEG解码模块处理,再结合基于色差的模式识别算法定位预设目标,模拟引力场信息,使机器人沿平滑轨迹自主到达目标点,完成自主导航。
在图像处理过程中,利用C2H将中值滤波去噪模块转化为硬件模块,以及自定义外设-JPEG解码模块的使用,都大大提高系统的速度,保证了系统的实时性。
 
4.对未知空间进行探索并重建地图,使机器人返回起始点。
机器人根据配备的罗盘、里程表等传感器在机器人寻找目标点过程中记录自身的运动轨迹,通过声纳扫描周围未知环境来获得未知环境的障碍物信息,利用重建程序进行地图重建。再利用重建的地图信息规划出返回路径,使机器人回到起始点。
 
5.语音提示
机器人采用SPI模式,读取SD卡中的语音数据,在诸如开始寻找目标点开始返回”时刻,提示用户,增强了系统的智能性。
 
本设计硬件部件主要包括DE1开发平台、网络接口板、I2C扩展板、机械运动部分、机械运动控制板、供电及电压转换模块、可转动IP摄像头、声纳传感器组、罗盘、里程表、喇叭等。
核心系统的功能模块主要分成以下七个:核心决策模块,传感器交互模块,网络通讯模块、目标识别模块、运动控制模块,图像解码模块、数据存储模块。
 
核心决策模块、目标识别模块、运动控制模块是本设计的算法部分,也是本作品的功能核心所在。我们利用NiosII处理器强大的运算能力,大部分算法用c++实现,并在核心决策模块中将算法中最耗时间的部分用标准C语言实现,并用C2H工具的加速功能将该部分进行加速,不但缩短了开发周期,并且获得了性能的提升。
传感器交互模块:通过串行口和I2C总线配置各个传感器,包括声纳、罗盘和里程表,并有效获取实时的传感器数据。对数据进行分析处理供核心模块使用。
网络传输模块采用以太网方式,实现数据的交互。利用DE1的扩展接口,以DM9000A芯片为核心,自行开发了网络接口板,并且使用LWIP协议栈实现了TCP/IP 通讯。通过TCP/IP协议连接IP摄像头不但能实时获取拍摄的图像,而且可以通过发送命令控制摄像头的转动等动作。由于以太网的引入使得系统具有更好的扩展性。
图像解码模块:把从网络摄像头接受的jpeg图像解码为BMP图像以方便目标识别模块使用。由于运算量非常大,经过测试,用软件解码速度较慢,完全无法满足系统的实时性。所以本模块用veilog语言编写成用户逻辑,封装为自定义外设,然后集成在Avalon总线上使其完成JPEG解码的功能,通过硬件的解码,使其解码过程具有快速性,高效性,占用资源少,CPU利用率高等优点,通过测试,软件解码过程大约4秒钟,而此方式小于0.5秒,从而体现了自定义外设的优点。
数据存储模块:数据存储模块主要用于存储机器人播放的语音数据和机器人蔽障过程中的自建地图。由于需要存储各种情况下机器人需要播放的不同语音数据。就需要比较大的存储空间,因此采用sd卡作为数据存储区,并且易于修改语音内容。
 
NiosII处理器的特点和sopc的设计理念使我们的设计过程变得不那么枯燥,这是一个不断优化算法,完善设计,使系统速度运行速度更快的一个过程。我们将设计分成一下两个步骤进行:1)搭建NiosII系统,将算法用纯软件的方式在NiosII上运行起来,并初步实现系统的功能2)利用自定义指令和自定义外设,加速算法的运行。
(Revision: 8 / 2008-09-14 09:32:19)

3. 性能参数 (Final Project Paper)

 

为了能让机器人完成避障,目标识别与跟踪等功能,对图像的实时采集和传感器快速感知物体的能力要求极高,如果延时过大即得不到实时物体的信息,也很难识别目标点,因此高速的信息采集和处理以及可靠性的控制成了机器人系统的重点。这样我们采用了自定义外设JEPG图像解码模块,通过硬件的实现,使其解码过程具有快速性,高效性,占用资源少,CPU利用率高等优点,从而提升了信息处理能力。以及定制DM9000A用户逻辑外设,使其稳定的控制DM9000A,从而在此基础上利用LWIP实现网络通信,最终使得IP摄像头的图象得到了可靠性的传输。同时机器人坐标的计算中用到了自定义指令,以及利用C2H对采集的图像进行中值滤波,提高了系统的性能。
实时性的保证
下图是系统工程编译之后各种资源的占用情况:

经过优化后算法的各个步骤运行时间如下:
传感器组完成一次数据采集:158.55ms
传感器数据的处理: 18.23ms
机器人行为决策时间:195.51ms
PID控制:超调量 %<5%,调整时间ts<300ms
图像采集时间:33.33 ms
图像解码时间:483.71ms
下面是系统性能优化前后的对比:
 
通过算法的实现,一次获得三组声纳,罗盘以及里程的时间不足0.2s,同时经过自定义外设DM9000A控制器可以很可靠的得到当前图像的信息,这些都是在NiosII软核控制器下实现的,在精简传感器的模式下,只有做到高速的信息处理,才能保证处理器对传感器的反应和摄像头的信息做出正确的判断,从而控制机器人无误的完成一系列的功能。
同时,NiosII软核控制器充分体现了作为一个CPU既有强大的运算功能的同时又是核心的控制设备,在我们的系统中他不但运行了大量的算法,处理大量的传感器信息。并且控制用户自定义外设等挂接在总线上的硬件模块的工作。并且通过我们用户自定义指令的使用更能体现出NiosII作为软核处理器灵活性强的优点。
(Revision: 3 / 2008-09-14 09:33:48)

4. 设计结构 (Preliminary Paper)

 

 
本机器人系统的设计使用闭环反馈系统,通过传感器可将运动系统的实际运动速度、状态等反馈到运动控制系统和自主决策系统,下图中红色的部分为核心决策处理系统,由FPGANios II实现,通过接口连接控制机械运动系统和传感系统。这两个系统主要负责与外界环境的交互。
 
        本机器人系统的体系结构图

 

 

 

                                                                  硬件框架图

 

 

 

     一、避障、局部路径规划算法软件流程图 

                                                                                

                                                                         二、原路返回算法软件流程图

(Revision: 12 / 2008-09-14 09:55:41)

5. 设计方法 (Final Project Paper)

 

一、系统硬件设计
我们以NiosII软核处理器为核心,采用DE1开发平台,DE1开发板上集成了多种外设接口,并且易于扩展,为我们的设计提供了便利的条件。
    SOPC Builder建立的SOPC硬件系统如下图所示:
 

 

二.硬件实现步骤及实现方法
整个设计采用自上而下的设计方法,在SOPC Builder中搭建系统硬件模块。将所需的各功能模块通过Avalon总线集成,这样系统的稳定性更高。SOPC Builder所具有强大的系统集成特性,大大缩短了我们的设计周期,在很短的时间内就可以构建一个稳定的系统,进而基于硬件完成系统的软件设计,最后集成为一个完整的系统。
1.基于网络传输的图象采集模块
由于DE1上没有网络接口的功能,为了增强系统的可扩展性,我们通过GPIO外接自制的DM9000A电路板,以及定制DM9000A用户逻辑外设,使其稳定的控制DM9000A网络芯片进行工作,在此基础上利用LWIP实现网络通信,最终实现了IP摄像头的图象传输,自定义用户外设在这里起到了无可替代的作用。
1DM9000A硬件接口
     如下图所示为DM9000A芯片,DM9000A的48个管脚中,TX+、TX、-RX+、RX-分别连接到RJ45LED上与之对应的TD+、TD-、RD+、RD-。LED1和LED2也分别连接到RJ45 INTLED上黄灯的LED和绿灯的LED接口,其余管脚除空悬管脚之外,均连接到了EP2C20F484C7N,管脚定义与对应关系如下,DM9000A的控制器时钟为25MHZ,也由FPGA提供。

 

 

 

(2) . DM9000A软核控制器与LWIP协议栈的结合实现了网络接口
    通过自定义外设DM9000A控制器对DM9000A进行控制,在NiosII控制下完成LWIP协议栈的初始化,但首先系统硬件必须包括带有中断的网络控制器接口,其次整个系统软件需要建立在uc/os实时操作系统之上。对于底层设备的访问,即对设备特定寄存器的访问,通过以下两个底层函数的实现:IOWR(base,offset,data)和IORD(base,offset)。IOWR(base,offset,data)的用途是向基址为base及偏移为offset的寄存器写入数据data, IORD(base,offset) 是从基址为base及偏移为offset的地址读取数据,大部分设备的HAL库中所提供的硬件接口是在这两个函数的基础上建立的。
(3).LWIP对DM9000A的软件支持
LWIP提供的几个重要的结构体:
(1netif结构体作为LWIP中网络接口的基础数据类型,描述了网络接口的基本属性以及输入、输出函数。(2alt_lwip_dev结构体描述了符合LWIP规范的网络端口设备。(3alt_lwip_dev_list:设备链表
在LWIP定义的这些结构体类型的基础上,定义了针对DM9000网络接口的一个结构体。有了这个结构体,DM9000的寄存器读写操作开始与LWIP的工作机制发生了联系。(4)LWIP定义了一个全局变量alt_lwip_device_list,所有LWIP提供的API均可以对这一变量进行操作。而DM9000通过ALTERA_AVALON_DM9K_INSTANCE宏指令将DM9000作为alt_lwip_device_list中的一个alt_lwip_dev(实际上就是唯一的一个alt_lwip_dev),使得LWIP的API函数的操作将转换为对DM9000的寄存器读写操作。
(4)摄像头的图像采集及其传输
    当网口和摄像头初始化成功后,IP摄像头和DE1开发板之间通过TCP/IP协议建立起网络连接,这样就能实时的实现图像的传输,以及控制命令的发送。从而为基于图像识别目标的高效性和准确性提供了有效保障。
 
2.JEPG解码模块:
   从IP摄像头获得的图片格式是jpeg格式,因此我们需要把Jpeg解码成系统易处理的bmp格式,为了增强我们的机器人的实时性,我们通过veilog语言编写用户逻辑,封装成自定义外设,然后集成在Avalon总线上使其完成JPEG解码的功能,通过硬件的解码,使其解码过程具有快速性,高效性,占用资源少,CPU利用率高等优点,通过测试,软件解码过程大约4秒钟,而此方式小于0.5秒,从而体现了自定义外设的优点。
要实现jpeg的解码,首先必须了解jpeg的压缩过程。jpeg压缩分四个步骤实现: (1).颜色模式转换及采样。(2).DCT变换。(3).量化。(4).编码,一般采用Huffman编码。所以解压缩的过程我们只需要进行反过程即可。
由此,JPEG解码的流程图如下所示:

 

其核心的算法是离散反余弦变换,反量化,使用霍夫曼可变字长编码器对量化系数解码。当然,还涉及色彩模型的转换,量化系数的“之”字排列,对直流系数的差分脉冲编码调制,对交流系数的行程长度编码等技术。
具体的解码流程如图下图所示:
 

 

3.SD卡语音播放模块

通过SD卡控制信号,控制存放音频文件的SD卡,采用SPI模式的访问方法,使NiosII处理器从SD卡中读取语音数据,并通过音频编/解码器WM8731播放语音,从而使机器人更加智能化。
SD存储卡是一个完全开放的标准,多用于MP3、数码摄像机、数码相机、电子图书、AV器材等等,其应用非常广泛,这里用来存储所需要的语音。SD卡为9引脚,目的是通过把传输方式由串行变成并行,以提高传输速度。它的读写速度比MMC卡要快一些,同时安全性也更高。我们主要采用1线的SPI模式:
SPI模式的时序表1:
 

 

 

4.传感器信息采集模块
 精简传感器组主要由三组声纳和罗盘构成,srf08声纳传感器主要用于感知外界环境,通过超声波测距的方式感知周围不同角度的环境中障碍物的距离,再通过智能算法预测出障碍物的位置、大小等信息。Cmps03罗盘主要用于实时感知机器人自身的角度,可以使机器人在运动过程中旋转的角度更加精确。声纳和罗盘通过自制的i2c总线扩展板连接到运动控制部分的i2c总线上。
单声纳感知外界环境的范围:
下面是CMPS03罗盘的实物图以及接口:
 
罗盘的时序图,通过时序图将罗盘接到运动控制部分的i2c总线上。
 
5.电机控制模块
(1).PID控制
每次躲避障碍物都是靠精准的控制左右电机的转速,因此对电机转速控制的好坏直接影响机器人的执行任务的性能,由此我们采用了PID控制方法对电机转速进行控制,从而实现电机调速系统。PID控制的器控制规律为比例、积分、微分控制。
比例控制作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。积分控制是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。
其控制算法有直接算法和增量算法。这里利用增量算法,其算法如下:
 
式中Kp为比例常数,Ki为积分常数,Kd为微分常数,他们是做好一个控制器的关键常数,不同的控制需要对他们选择不同的数值,还经过现场调试才能获得较好的效果。
(2). PID控制器的参数整定
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用.因此我们采用第二种方法,经过大量实验和不断测试后最终找到了一组比较适合的参数。
 
 
通过光盘码计数器,能反馈出当时的电机转速,最终实现PID的闭环控制。

 三,系统软件设计

  1.µc/os-II操作系统:
   µc/os-II,是免费且公开源码的嵌入式操作系统。在世界范围内得到广泛的应用,包括诸多领域,如手机,路由器,集线器、飞行器、 医疗设备等等。uC/OS适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。本系统的软件开发均在NIOSII集成的µc/os-II操作系统上面完成。
我们在主要用三个Task,一个用来启动摄像头的任务,一个采集传感器信息的任务,还有一个运动控制决策的任务,三个任务之间在µc/os的支持下正常的进行通讯。
 
   2.软件架构设计----体现面向对象的设计
    我们的软件设计架构打破了嵌入式系统常规的面向过程的开发,我们完全使用面向对象的设计思想和程序开发,主要用了 C++语言,采用了经典设计模式中的门面模式、代理模式和工厂模式等很大程度的降低了各个部分之间的耦合性,并且提供了一些可复用组件的接口,提高了代码的有效性和易读性,我们的软件结构体现了软件设计思想的开闭原则,即对于修改是封闭的,对于更新是开放的,所以对今后代码更改和版本更新起到了非常重要的作用。
    下面是我们在用UML进行建立模型时所用的类图。从下图可以看到我们的各个类之间的内聚和依赖关系。其核心部分主要包括Robot(机器人类)、User(功能操作类),Robot主要包括Encoder(里程表类)、Drive(电机类)、Cmps03(罗盘类)、Serializer(串口类)、MySonar(自定义声纳传感器组类)、Gpio(通用输入输出接口类),MySonar主要包括三个Srf08(声纳传感器类)。User主要包括一些用户功能操作,包括SdCard(对SD卡进行读取语音信息),Http(对网络图象传输操作),其中包括DM9000A的ARP、LWIP实现以及图片传输处理等。

 

 3.算法设计

 第一,路径规划算法,本小组自主研发了基于精简传感器系统的改进人工势场法。人工势场法是机器人路径规划问题中的经典算法其主要思想是用引力场和斥力场来描述目标点和障碍物对机器人的影响,并用最终的合力场来引导机器人运动到目标点。由于该算法对未知环境,已知环境的路径规划都具有很高的可行性使得其在机器人领域中被广泛引用,但人工势场法本身具有易陷入力平衡的缺点。本小组研发的改进人工势场法不仅克服了该缺点,而且完全适用于本精简传感器系统,使得本智能机器人能够轨迹平滑的完成自主导航,蔽障,沿路返回等功能。
 
第二,目标识别算法,由于机器人要求很高的实时性,而摄像头采集的大量图片如果完全用软件处理,将导致系统出现很大的延迟。为了解决本问题,本小组采用jpeg解码的自定义外设,C2H去噪模块,并与模式识别算法相配合保障了系统的实时性。
 
第三,重建地图算法,本算法根据机器人运动过程中,声纳探测到的障碍物,以及路径规划算法得到的路径,重绘出未知环境的地图。
 
 
四.SOPC概念在本设计中的应用
 
SOPC是Altera公司提出的一种灵活、高效的SOC解决方案,是一种新的软硬件协同设计的系统设计技术。它将处理器、存储器、I/O口、UART组件、DM9000A控制器和SD Card 控制器等系统设计需要的功能模块集成到一个可编程器件上,构成一个可编程片上系统。
在本次设计中,自定义外设DM9000A提供了图像传输的网络接口,从而保证了实时的获得当前目标图像的信息。
自定义外设JEPG解码器提供了高速的图像解码方式,以及图像的快速处理使得对机器人行为进行高效的控制。
C2H加速对图像进行中值滤波从而促进了整个系统的实时性。
SOPC系统具有在硬件的可重构与可重配置,这是FPGA在硬件开发过程中独一无二的特点。NiosII软核处理器,具有可裁剪的特性,所以我们可以轻易的将机器人中智能算法进行升级,而不用过多的考虑硬件方面的问题。其次,由于机器人需要在狭小环境中进行探索,而且不同的算法可能需要不同的传感器组进行配合。所以我们必需利用尽量少的资源来完成自己的设计,让机器人的体积尽量小而功能尽量强大,但是如果没有系统的可重构性,将无法保障机器人的这个需求。
使用自定义用户指令、自定义用户外设、C2H的方式可以对系统的性能给予很大的提高,从而使机器人系统的实时性得以保障和目标寻找和跟踪。

 

  

(Revision: 11 / 2008-09-14 10:55:30)

6. 设计特点 (Preliminary Paper)

 

1、本作品可以依据不同的功能,选取特定传感器组,并利用NiosII体积小,可裁剪性,可重配置性来实现,完全做到了系统体系的精简化和作品的低成本。使其在目前的机器人市场上具有很高的竞争力,并且应用前景广泛。
2、我们的设计创新的提出了一种基于精简传感器体系的多功能轻便移动机器人。它可以根据不同的工作需求设置不同的工作内容和工作方式存储多种机器人相关功能算法,可以根据不同的算法配置不同的传感器组,再利用系统的可重配置使机器人能够最大限度的利用系统资源来实现其功能。使得同一个机器人在不同的工作环境利用不同的传感器获取外界信息,完成不同的工作,这一点是当前其它机器人所做不到的
3、利用图像、声纳、罗盘等多种传感器信息融合的方式实现智能避障、目标跟踪和地图重建。
4、我们针对本机器人系统,研发了自己的改进人工势场算法,并在应用中得到了很好的效果。
5、使用基于FPGA的SOPC技术,提高系统稳定性,适应各种复杂的工作环境。
6、使用NiosII提供的多种硬件加速方式如自定义用户指令,自定义用户外设等大大提高运算速度,并且使用uc/osII实时操作系统,使算法和控制的实时性得到了有效的保证。

7本作品使SOPC系统成为自主思考的移动设备,使以ALTERA DE1为核心的机器人硬件及SOPC系统成为配置灵活性高、可裁减、高性能的机器人研究、实验平台。

(Revision: 4 / 2008-09-14 09:43:42)

7. 总结 (Final Project Paper)

 

我们在这次大赛规定的时间内实现了最初设想的系统功能,在一些细节上我们还需要努力改进。大赛过程中我们学到了很多新的有关NiosII的知识,首次尝试了在DE1平台上实现了智能机器人系统,并且仅在用电池对开发板进行供电的情况下就能得到非常不错的效果,这体现了NiosII处理器强大处理功能和可靠的运行特性以及功耗小的特点。而这一点对于需要动态运动的机器人来说是至关重要的。另外,我们在学习过程中积累了对uc/os-II的开发经验。并深刻的体会到了应用自定义外设和自定义指令对程序运算速度明显提高的优点。在硬件知识学习之余,我们还在DE1平台上研发出了自己的机器人路径规划算法。在整个设计过程中,我们的团队体现出了很强的凝聚力和协作力,由此才保证了我们顺利的完成了本次大赛。
由于NiosII软核系统的体积小,可裁剪性,可重配置性保证了机器人的实时性,使机器人完全做到了系统体系的精简化和作品的低成本,再结合针对本精简系统开发的多种智能算法,才使我们的机器人系统能完成多种特定任务,实现我们的想法。
最后感谢ALTERA公司为我们提供了此次机器人系统所需的DE1开发平台以及我们的指导老师和帮助我们的同学!
(Revision: 3 / 2008-09-14 10:05:47)