APP下载

基于ARM的六足仿生机器人野外定位系统

2017-01-13姜树海12杨若凡12超12

计算机测量与控制 2016年8期
关键词:树海短消息林业大学

姜树海12 杨若凡12 马 超12

(1.南京林业大学智能控制与机器人技术研究所,南京 210037;2.南京林业大学机械电子工程学院,南京 210037)

基于ARM的六足仿生机器人野外定位系统

姜树海1,2, 杨若凡1,2, 马 超1,2

(1.南京林业大学智能控制与机器人技术研究所,南京 210037;2.南京林业大学机械电子工程学院,南京 210037)

为了更好地控制六足仿生机器人适应野外作业环境,针对机器人野外定位问题,提出了一种六足仿生减灾救援机器人无线野外定位系统解决方案,方案以三星S3C2440为硬件平台,以嵌入式linux系统为软件平台,设计了六足仿生机器人野外定位系统;通过GPS全球定位系统进行六足仿生机器人的定位,利用GPRS实现网络通信,并将定位信息传输到终端设备,终端设备通过发送命令的方式控制六足仿生机器人实现相应的动作;实验证明:该系统的稳定性好,可靠性较高,能较好地满足六足仿生减灾救援机器人野外定位的需求。

六足仿生机器人;定位;GPS;嵌入式;Linux;GPRS

0 引言

随着地球环境的不断恶化,自然灾害的频繁发生,迫切需要能够在复杂多变、崎岖不平的恶劣地形环境下工作的高度自动化装备。六足仿生机器人在非结构化、不规则和凹凸不平的地形条件下,具有良好的恶劣地形环境的适应能力[1]。多足生物能够自如地行走在地球上各种车辆无法达到的地方[2]。有的昆虫甚至能够自由地出入垂直的洞穴。鉴于六足昆虫以及其它多足爬行生物极强的恶劣地形环境的适应能力,六足及其它多足仿生机器人的研究对地震救援、军事侦查、星球探测和反恐活动、森林火灾巡检与防控和灾后救援等具有重要的实际意义。为此,南京林业大学的姜树海研究团队在六足仿生机器人及其减灾救援领域的理论与应用做了有益的研究工作[3-6]。

六足仿生机器人在进行灾害监控和搜救的过程中,要求能够实现野外定位和灾害现场画面的实时传送与播放,以便对机器人进行远程控制。全球首个机器人远程操作系统是由美国西北大学的Argonne国家实验室的R.Goertz成功研制[7-8]。从此遥操作控制技术得到了飞速的发展。随着网络技术的兴起和发展,采用Internet作为通信介质的机器人逐渐成为研究的热点。西澳大利亚大学Ken Taylor和James Trevelyan研究开发了通过Internet控制机器人手臂动作[9]。机器人远程监控系统要求传送数据的实时性高,数据量大[10]。因此,我们研发的六足仿生机器人野外定位系统,在保证数据传输质量的前提下,定位系统的实时性和可靠性是我们的设计目标[11]。基于IP的网络视频监控正在成为视频监控技术的主流[12]。采用这种方式有利于人们远距离的操控,有利于机器人的野外“生存”。通过GPS全球定位系统的检测向用户返回六足机器人的具体方位,对于机器人的野外生存有着重要的意义。针对灾害救援的应用实际要求,本文设计了基于ARM微处理器的机器人野外定位系统,GSP模块为普通的串口GPS设备,GPRS使用带串口的GPRS设备,采用微处理器S3C2440为主控核心,ARM920T为嵌入式开发平台。嵌入式开发平台搭载内核为linux-2.6.31的操作系统。利用GPS采集六足机器人的位置信息,当中断设备发送命令要求返回位置信息时,位置信息将通过GPRS模块返回给终端设备,同时终端设备用发送命令的方式来控制六足机器人的相应的步态。实验证明所提出的系统具有较高的稳定性和可靠性,结构简单,搭建容易,操作方便,能很好的满足六足仿生减灾救援机器人野外定位需求。

1 六足机器人野外定位系统的硬件设计

六足仿生减灾救援机器人控制系统的硬件结构如图1所示。CPU采用三星公司生产的一款32位ARM920T内核的RISC处理器S3C2440,主频达到400MHz,超频达到533 MHz,低功耗,3.3 V供电,适合长时间在野外作业(外加太阳能电池)。加强的ARM体系结构MMU用于支持WinCE和Linux操作系统。此外,处理器内部集成了4通道DMA,3通道的UART,2通道SPI,130个GPIO等[13]。

图1 六足机器人硬件系统结构框图

采用GPS模块采集位置信息,GPS模块为市场带串口的全球定位设备,将采集到的数据放入挂载的U盘中,为以后取出U盘分析机器人的移动轨迹奠定基础。

通用分组无线服务技术(General Packet Radio Service,简称GPRS)是一种在现有的GSM的基础上发展起来的移动数据业务[14-15]。GPRS引入了分组交换能力,而且几乎兼容所有GSM网络软、硬件平台。GPRS通过封包方式来传输,并不占用整个频道,以其传输资料的单位计算其费用,降低了使用者的成本。GPRS的数据传输速度高,每秒可达到至57.6 Kb,最大可达171.2 Kb。我们的系统采用带串口的GPRS模块,可以直接对串口编程来控制收发功能。

图2 ARM控制器和GPRS模块的连接

2 六足机器人野外定位系统的软件设计

2.1 嵌入式Linux操作系统的移植

移植对于嵌入式系统来说非常重要。系统的移植就是将Linux系统针对具体的目标平台做相应的裁剪,配置,编译之后,安装到目标平台上,并能够使其正常、稳定的运行和工作[16]。在嵌入式Linux系统移植前,要做必要的准备工作,包括在虚拟机VMware中安装Redhat9操作系统,安装必要的库文件和应用软件,搭建交叉编译环境,如GCC,NFS、SMB、FTP服务、交叉编译器arm-linux-gcc4.1.2等。接着宿主机上进行相应目标文件编译、配置及移植。嵌入式平台操作系统的移植一般包括了以下几个步骤:

1)Bootloader移植:嵌入式平台选用U-boot作为操作系统的引导程序。U-boot(Universal Boot Loader)在PPCBoot的基础上发展起来的,能够引导大部分的操作系统,目前对Linux系统的支持最好。U-boot分为阶段1(stage1)和阶段2 (stage2)两大部分。阶段1常用汇编语言实现,存放依赖于CPU体系结构的代码。阶段2常用C语言来实现,这样可以实现复杂的功能[17]。在主机上编译U-boot,通过修改相关的文件使得U-boot支持我们的Nandflash以及相关的文件,支持2440内核,编译U-boot等操作最终生成u-boot.bin文件,移植完成,使用oflash下载到nandflash中即可。

2)Linux内核移植:在官网http://www.kernel.org/获得最新版本的内核源码。在主机上编译嵌入式Linux内核,通过修改文件Makefile文件和机器码(与U-boot中传来的相同)、在终端输入make menuconfig进入配置窗口进行内核配置,进入Device driver,选择支持串口,以及所需要的常用驱动,将不需要的驱动模块去掉,精简系统,增加支持YAFFS文件系统,make生成zImage的内核镜像文件。本系统采用内核版本为2.6.31,生成的内核文件使用Tftp下载到nandflash中。

3)根文件系统移植:根文件系统通常是用来存放运行时系统的文件和外部设备数据文件。通常用Busybox定制根文件系统,通过编译、修改Busybox目录下的Makefile文件,配置busybox,更改内核下Filesystem目录选项,制作好根文件系统,初期使用的是NFS挂载文件系统,这样有利于开发。确定无误后,制作文件系统镜像文件,下载到开发板中即可上电运行(改好环境参数)。

2.2 GPS程序的编写

GPS程序流程如图3所示。系统采用模块化编程,GPS与ARM控制器通过RS232接口连接。首先对串口进行初始化,GPS接收串口初始化,然后根据终端设备发过来的指令进行相应的定位步态操作。

图3 GPS程序流程

Linux系统对串口的编程主要是对struct termios主要是对结构体的初始化,如下:

2.3 GPS的程序设计

硬件连接好以后,GPS上电,每隔一定的时间就会返回一定格式的数据,下面给出部分GPS的解析程序。

2.4 GRPS程序的编写

2.4.1 AT命令集

若要实现GPRS消息的收发功能,就要熟悉与GPRS消息相关的AT命令集。PDU模式收发短信的部分AT指令包括:选择短消息模式、设置短消息中心号码、发送短消息和接收短消息。

2.4.2 GPRS短消息接收和发送

GPRS短消息接收和发送的实现主要经过GPRS模块的初始化、AT指令分析、PDU编码和GPRS发送短消息几个步骤。

1)GPRS模块的初始化:系统启动后,通过调用相关函数完成模块的初始化工作。

2)AT指令分析:GPRS模块与嵌入式平台通过UARTl进行数据通讯,按照AT指令进行数据封装,然后进行数据的发送或接收。

3)PDU编码:通常PUD编码串主要由短信服务中心地址,目的号码,消息内容3个部分组成。即:PDUCODE=AD.DRESS+PHONE+MESSAGE。在中国地区,这些信息是固定的。

主要的程序是通过调用以上模块程序的接口来进行GPS的信息传输。

首先对GPS、GPRS串口进行初始化,对串口1与串口2,相应的/proc/devices设 备/dev/TX2440_serial1和/dev/TX2440_serial2。通过使用void gps_parse(char*line,GPS_INFO*GPS)可对GPS信息进行解析,使用static void UTC2BTC(date_time*GPS)函数将世界时转换为北京时间sprintf(short_message_buf,"DATE:%ld-%02d-% 02d\n",GPS->D.year,GPS->D.month,GPS->D.day),通态GSM_Send_Message(fd2)即可通过GPRS发送给终端用户。同理可以发送纬度和经度消息给用户终端:

两次分别调用GSM_Send_Message(fd2),其中short _message_buf是全局数组。经过这些操作就可以实现机器人的野外定位系统。

3 实验测试

将测试板的串口1和串口2分别接GPS和GPRS模块,上电,同时利用终端发包含request positon的信息给测试板,测试板会立即返回当前的位置信息。同时也可以发送right和left使机器人向左或者向右行走,或着on off来开始和关闭六足机器人。

2015年12月16日12:32:10

北纬:32°4′59″东经:118°48′23″

2015年12月16日12:32:11

北纬:32°4′59″东经:118°48′23″

2015年12月16日12:32:12

北纬:32°4′59″东经:118°48′23″

2015年12月16日12:32:13

北纬:32°4′59″东经:118°48′23″

2015年12月16日12:32:14

北纬:32°4′59″东经:118°48′23″

2015年12月16日12:32:15

北纬:32°4′59″东经:118°48′24″

...........

4 结论与展望

为了使我们开发的六足减灾救援机器人能够更好地实现野外环境下的巡检和救援作业,我们提出了一种基于ARM的六足机器人野外定位系统实现方案。该方案运用嵌入式控制技术、全球定位技术和GPRS技术,以嵌入式ARM920T为开发平台,三星公司S3C2440为微处理器,在该平台上移植了Linux2.6.31的操作系统,利用GPS采集六足机器人的位置信息,实现了六足仿生机器人的野外定位。实验测得的定位效果能够满足六足仿生机器人野外定位的要求。同时实现机器人的无线定位与导航控制。未来的通信技术不仅可以实现无线的定位数据的传输,而且可以实现实时的图像数据传输,更有利于六足仿生机器人的野外生存,未来我们将致力于实现仿生机器人的野外实际作业。

[1]姜树海,唐晶晶,陈 波,等.仿生甲虫六足机器人结构设计与步态分析[J].南京林业大学学报(自然科学版),2012,36 (6):115-120.

[2]Waldron K J,Vohnout V J.Pery A,et al.Configuration design of the adaptive suspension vehicle[J].International Journal of Robotics Research,1984,3(2):37-48.

[3]柳天虹,姜树海.基于ARM的机器人远程网络视频监控系统[J].测控技术,2014,33(5):65-68.

[4]陈 波,唐晶晶,姜树海.基于ADAMS的仿生六足机器人运动仿真[J].计算机仿真,2012,19(9):182-186.

[5]姜树海.林业机器人发展现状[J].东北林业大学学报,2009,37(12):95-97.

[6]柳天虹,姜树海.仿生六足机器人稳定性分析与仿真[J].计算机仿真,2013,30(12):360-364.

[7]Feeling is Believing:History of Telerobotics Technology in:The Robot in the Garden,Telepistomology and the Internet Robot [M].K.Goldberg,editor,MIT Press,1999.

[8]Goertz R C.Fundamentals of General-Purpose Remote Manipulators[J].Nucleonics,1952,10(11):36-45.

[9]Some Online Robots:Robots that Manipulate[EB/OL].http://ford.ieor.berkeley.edu/ir/robots.html.

[10]施 伟,蔡自兴.远程机器人监控系统的研制[J].湘潭师范学院学报(自然科学版),2004,26(4):42-45.

[11]赵 鹏,戴梅萼,付 良.远程机器人监控系统关键技术的研究和实现[J].小型微型计算机系统,2000,21(12):1261-1263.

[12]王晓明.一种MPEG-4视频采集与传输系统的研究与实现[J].计算机测量与控制,2005,13(8):869-871.

[13]Samsung Electronics.S3C2440A 32BIT coms microcontroller user 's manual[M].Republic of Korea:Samsung Electronics,2006.

[14]黄宇红,孙少陵.通用分组无线业务(GPRS)[J].电信科学,2000(05):7-10.

[15]李艳晴,刘向东,董 宁,等.基于GPRS/GPS的车辆监控系统的设计[J].微计算机信息,2004,20(04):39-40,105.

[16]邹 球.基于ARM2410嵌入式Linux内核的编译与移植[J].电脑知识与技术,2008(15):1157-1159.

[17]刘永红,刘尽尧.基于ARM9的GPRS短消息数据传输系统[J].现代计算机,2008(5):125-128.

Hexapod Bionic Robot Field Positioning System Based on ARM

Jiang Shuhai1,2,Yang Ruofan1,2,Ma Chao1,2

(1.Institute of Intelligent Control and Robotics,Nanjing Forestry University,Nanjing 210037,China;2.College of Mechanical and Electronic Engineering,Nanjing Forestry University,Nanjing 210037,China)

In order to better control the hexapod bionic robot to adapt to the wild fieldwork environment,a new solution of wireless field positioning system of the hexapod bionic mitigation rescue robot is proposed in connection with the problem of robot field positioning.In this paper,we design a bionic robot field positioning system by using the Samsung S3C2440 microprocessor as hardware platform and the embedded Linux system as software platform.The hexapod bionic robot is positioned by GPS global positioning system and the location information is transmitted to the terminal equipments by using the GPRS network communication.Then the terminal equipments send commands to control hexapod bionic robot to achieve the appropriate actions.Experiments show that,this system has good stability and high reliability.It can better meet the needs of field positioning of the hexapod bionic mitigation rescue robot.

hexapod bionic robot;positioning;embedded;Linux;GPS;GPRS

1671-4598(2016)08-0122-04

10.16526/j.cnki.11-4762/tp.2016.08.033

:TP24

:A

2016-03-07;

:2016-03-28。

国家公益性行业科研专项重大项目(201404402-03);南京林业大学引进高层次人才基金项目(G2003-01);江苏省普通高校学术学位研究生科研创新计划项目(KYLX_0869)。

姜树海(1964-),男,吉林长春人,工学博士,副教授,主要从事机器人及其自动化,智能控制方向的研究。

猜你喜欢

树海短消息林业大学
《南京林业大学学报(自然科学版)》征稿简则
《南京林业大学学报(自然科学版)》征稿简则
《南京林业大学学报(自然科学版)》征稿简则
《南京林业大学学报(自然科学版)》征稿简则
富士山中藏着一个自杀森林
赵树海:奇想创造“树葆”科技护佑青山
试论电视新闻短消息的采写策略
浅谈广播短消息的采写
诡异的自杀森林 日本青木原树海里的悲歌
短消息业务评估体系的研究与实现