研制说明书文档

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

研制说明书现有移动机器人的远程控制系统采用专门的工控PC机作为机器人的控制服务器,并与机器人本体分离。显然,这种控制方式的成本非常高昂,体积也过于庞大,无法适应移动机器人的小型化、群体化的要求。随着集成电路技术和软件业的飞速发展,实现嵌入式系统直接接入Internet已经变为可能。在硬件上,有ARM、XScale、PowerPC及MC68K等32位CPU可以满足嵌入式操作系统的要求;软件方面,嵌入式Linux得到了蓬勃发展,并已进入实用阶段。嵌入式技术的飞速发展,使得我们可以将嵌入式系统引入到移动机器人中,从而以较低的成本实现移动机器人的远程控制。1系统体系结构本课题设计了一个基于嵌入式Linux的移动机器人控制系统。系统从体系结构上可以分为四大部分,如图1-1所示,即机器人控制系统平台、机器人服务器、机器人运动控制与传感信息采集、客户端。图1-1系统结构机器人运动控制与传感信息采集图像采集单元无线传感网络接入运动控制与内部传感单元调速电机内部传感器机器人控制系统平台Web服务器网络控制服务器机器人服务器客户端无线路由器802.11bWeb浏览器远程控制程序Internet远程用户可以利用机器人网络控制服务器提供的控制接口,对机器人进行编程控制;同时还可以网页查看机器人上的Web服务器提供的机器人状态信息、传感数据和图像信息等,监视机器人的运动;另外,操作者还可以使用网页上提供的机器人运动控制功能,来调整机器人的位置,设置机器人的工作参数等。多个机器人间则也可通过网络控制服务进行通讯,实现信息共享。1.1机器人控制系统平台随着嵌入式处理器不断发展,以及嵌入式软件的不断进步,嵌入式设备的计算能力和功能得到了极大的提升。在本系统中,机器人控制系统平台为机器人服务器提供运行的软硬件环境,硬件上主要由一块基于ARM处理器的嵌入式控制板,无线网卡和摄像头组成,软件上则是由移植到主控制板上的嵌入式Linux操作系统,以及外围设备的驱动组成。嵌入式Linux系统支持各种标准的通讯协议,能为服务器提供完备的网络环境。该平台通过一块支持802.11b协议的无线网卡,实现了机器人对网络的无线接入,满足其移动性的要求;通过USB摄像头实现对外部环境的图像信息采集。另外,机器人控制系统平台同机器人运动控制与内部传感单元、无线传感网络接入单元通过RS-232接口连接。采用嵌入式设备来实现机器人控制系统平台,大大降低了系统的总体成本,符合移动机器人的小型化、群体化的发展趋势;另外,平台与各个模块间采用标准的连接方式,极大增强了系统的扩展能力。1.2机器人运动控制与传感信息采集机器人运动控制与传感信息采集主要完成对移动机器人驱动电机的控制、图像信息采集,以及内部传感器(指机器人自身携带的各式传感器,如超声波传感器、电子罗盘和光敏传感器等)信息的获取。多数机器人的这几个部分是作为3个独立单元来实现,即一块电机驱动板,一块传感器采集板和一台PC作为图像服务器。为适应小型移动机器人的要求,系统在实现过程中,将内部传感器信息的采集和机器人运动控制合成在一块控制板上,这样不断可以满足一般的运动控制和传感信息采集,还可以将一些简单的行为控制(如转向、寻光等)放到该块控制板上完成,提高了机器人控制的效率,以及灵活性。图像采集则被集成在远程Web监控服务中,采用网页发布的方式来实现对机器人运行环境的图像观察。另外,系统通过无线传感网络接入模块与布置在环境中的无线传感网络相连,极大拓展了机器人对环境的感知能力,并为无线传感器网络与移动机器人的协作性研究提供了可能。1.3机器人服务器机器人服务器能为远程用户提供机器人的控制服务,一方面,它需要完成与远程用户的交互、任务的调度等,即接受用户的指令,并返回机器人的执行结果和运行状态;另一方面,它需要与机器人的运动控制机构和传感采集模块进行交互,控制机器人执行用户的命令。机器人服务器构建在机器人控制系统平台之上,由两部分组成,即机器人网络控制服务器和Web监控服务器。机器人网络控制服务器采用socket通讯的方式与用户进行交互,操作者需要根据该服务器的控制接口编写控制程序,即可实现对机器人的控制;Web监控服务器采用嵌入式Web技术,通过CGI程序完成与用户的动态交互,操作者可以通过网页来观察机器人的运行状态、传感信息,以及机器人自身配备的摄像头所捕捉的环境图像信息。同时提供这两种服务,融合了C/S模式的高度灵活性和B/S模式的简单、便捷性。用户可以根据任务的需要,选择最优的控制方式。1.4客户端客户端,既用户的操作平台,可以由一台联网的PC机,或任何具备上网功能的PDA、智能手机等嵌入式终端来实现。用户可以根据操作平台的不同,选择不同的控制方式,在PC机上可以采用网页来控制;在智能手机上可以通过编写控制程序来控制,等等。2系统硬件设计系统硬件平台主要由五部分组成,即主控制模块、USB无线网卡、USB摄像头、运动控制与内部传感单元和无线传感网络接入模块,系统硬件框图如图2-4所示。主控制板基于S3C2410微处理器,运行嵌入式Linux操作系统;USB无线网卡连接到主控制板上,通过无线路由为机器人提供Internet接入;USB摄像头则用来采集环境的图像信息;运动控制与内部传感单元完成机器人驱动电机的控制,以及内部传感器信息的采集,如超声波传感器、电子罗盘和光敏传感器等;无线传感网络接入模块则可以将布置在环境中的传感器网络收集的信息提供给机器人。图2-1系统硬件框图2.1主控制板为支持嵌入式Linux的运行,机器人主控制板采用了Samsung公司的微处理器S3C2410。该处理器内部集成了ARM公司ARM920T处理器核的32位微处理器,主频最高可达203MHz。ARM920T处理器核实现了内存管理功能(MMU),AMBABUS和Harvard高速缓冲体系结构。这一结构具有独立的16KB的指令Cache和16KB数据Cache。S3C2410处理器集成的外围器件主要有外部存储控制器(SDRAM控制和片选逻辑)、LCD控制器(最大支持4K色STN和256K色TFT)、3通道UART和两通道SPI、2个USB主机端口和1个USB设备端口(1.1版本)、117个通用I/O口和24通道外部中断源、触摸屏接口等。由于S3C2410微处理器提供了一系列完整的外围设备,可以大大减少为系统配置的额外器件,降低了整个系统的开发难度和成本。在处理器丰富资源的基础上,本平台还为其配置了两片16M×16位数据宽度的SDRAM构成,拼成32位模式,共用nGCS6,共64MRAM,起始地址为0x30000000;一片8M×16位数据宽度的INTELE28F128FLASH,安装在BANK0,起始地址为0x00;通过以太网控制器芯片DM9000E扩展了一个网口;一个方便调试的JTAG接口;一个LCD接口和一个触摸屏接口。为满足前述机器人控制系统结构的要求,主控制板引出了两个USBHOST接口和3个UART接口。主控制板硬件框图如图2-2所示。其中,串口0作为Linux系统的控制台;串口1用于连接无线传感网络接入模块;串口2用于连接底层机器人运动控制与内部传感单元;USBHOST1用于连接USB无线网卡;USBHOST2用于连接USB摄像头;以太网口和JTAG口可以方便对系统进行调试和升级。USBUSBFLASHSDRAMS3C2410微处理器主控制板无线传感网络接入模块RS-232运动控制与内部传感模块RS-232无线网卡摄像头图2-2主控制板硬件框图2.2运动控制与内部传感单元系统将机器人的运动控制与一内部传感器信息采集集成在一块控制板中。该控制板采用一片8位PIC18F8520单片机作为微控制器(MCU)。PIC系列单片机是由Microchip公司开发的微控制器,其突出的特点是低功耗,非常适用于各种低功率要求的应用。它有多个系列和型号,分别由一些基本的功能模块按照不同的应用目标组合而成。由于其较高的性价比,在智能仪表,医疗设备,保安系统等领域已经取得了广泛的应用。PIC18F8520采用16位的指令总线,8位的数据总线;内部有2K的RAM,1K的数据存储空间(EEPROM),32K的程序存储空间(FLASH);通用输入输出引脚(I/O)68个;有中断优先级(两极);4个外部中断输入引脚;有5个内部定时器;5个捕捉/比较/PWM(CCP)模块;16路模/数转换(10位)接口;两个通用同步/异步收发器(USART),支持RS232和RS485;主控同步串行端口模块(MSSP),支持两种工作模式(SPI和I2C)。这款芯片接口丰富,性价比高,非常适合小型机器人底层控制的要求。该控制板在硬件设计上采用双层布线,提供了8个通道的调速电机接口,6个通道的模拟传感器接口(可接光敏传感器、寻迹传感器等),两个通道的数字接口(可接碰撞开关),以及5个通道的捕获接口(可接电子罗盘、超声波传感器等),其硬件框图如图2-3所示。运动控制与内部传感单元与主控制板通过串口连接,并使用自定义的一套命令接口进行通讯,实现底层硬件操作的封装。S3C2410主控制芯片USBHOST1USBHOST2JTAG以太网口电源串口2串口1串口0FLASHSDRAM图2-3运动控制与内部传感单元硬件框图2.3其它为满足移动性和网络化的要求,机器人需要以无线的方式接入Internet,系统通过在主控制USBHOST1处外接一个USB无线网卡,配合无线路由器,实现了此项功能。无线传感器网络能对环境进行大范围的、连续的监测,可以弥补机器人感知能力的不足。系统在主控制板的串口1处外接一个无线传感网络接入模块,实现机器人与无线传感器网络的连接。该模块采用的是Crossbow公司的MicaZ无线传感器网络节点,集成了Zigbee协议,从而为无线传感器网络与移动机器人的协作性研究提供了可能。另外,系统在主控制板的USBHOST2外接了一个USB摄像头来实现图像信息的采集。3系统软件设计3.1机器人控制系统平台构建3.1.1嵌入式Linux系统开发环境的建立绝大多数的Linux软件开发都是以native方式进行的,即本机开发、调试,本机运行的方式。这种方式通常不适合于嵌入式系统的软件开发,因为对于嵌入式系统的开发,没有足够的资源在本机(即开发板上系统)运行开发工具和调试工具。通常的嵌入式系统的软件开发采用一种交叉编译调试的方式。交叉编译调试环境建立在宿主机(即一台PC机)上,对应的开发板叫做目标板。马达输出口1-4PIC18F8520马达输出口5-8计数口模拟输入口数字输入口串口主控制板开发时使用宿主机上的交叉编译、汇编及连接工具形成能在目标板上执行的二进制代码,然后把可执行文件下载到目标机上运行。调试时的方法很多,可以使用串口,以太网口等,具体使用哪种调试方法可以根据目标板处理器所提供的支持作出选择。宿主机和目标板的处理器一般都不相同,宿主机为Intel或AMD处理器,而目标板处理器为SAMSUNGS3C2410,GNU编译器提供这样的功能,在编译编译器时可以选择开发所需的宿主机和目标机从而建立开发环境。在本系统开发的过程中,采用的是宿主机交叉编译调试的开发方式。宿主机安装的Linux系统是Redhat9.0,GNU交叉编译器选择的是armv4l-unknown-linux-gcc。宿主机和目标板通过以太网连接(如图3-1所示)。图3-1宿主机和目标板连接示意图另外,还需在宿主机上配置NFS服务TFTP服务:(1)NFS服务的配置:首先必须关闭Linux系统的防火墙,然后在REDHATLINUXPC机上shell提示符[root@….]#中执行setup,弹出菜单界面后,选中Systemservices,回车进入系统服务选项菜单,在其中选中[*]nfs,然后退出setup界面返回到命令提示符下,执行vim/etc/exports,将这个默认的空文件修改为只有如下一行内容:/(rw)//即根目录可读写,/和(rw)之间要要留空格然后保存退出(:wq),再执行/etc/rc.d/init.d/nfsre

1 / 41
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功