移动机器人控制软件的设计与实现.doc

移动机器人控制软件的设计与实现.doc

ID:59345703

大小:616.00 KB

页数:23页

时间:2020-09-04

移动机器人控制软件的设计与实现.doc_第1页
移动机器人控制软件的设计与实现.doc_第2页
移动机器人控制软件的设计与实现.doc_第3页
移动机器人控制软件的设计与实现.doc_第4页
移动机器人控制软件的设计与实现.doc_第5页
资源描述:

《移动机器人控制软件的设计与实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、移动机器人控制软件的设计与实现作者:李晓明  文章来源:Blog.RoboticFan.Com  更新时间:2006年08月09日  打印此文  浏览数:22410移动机器人的应用现在非常多,做一个移动机器人似乎也很容易,车体自己可以加工,也可以去买现成的;避障可以用超声阵列;导航可以用激光测距LMS;定位可以用电子地图加LMS加陀螺仪;驱动可以用各种电机及配套驱动器或者自己做;通讯可以去买现成的无线通讯模块,可以是数字的,也有模拟的;大范围定位可以用GPS模块,也是现成的;至于什么红外,蓝牙,甚至计算机视觉都可以去市场上买,

2、但是(然而)为什么做一个移动机器人还是这么难呢?尤其是对一个新手而言。一个老外说过,硬件是现成的,软件算法杂志里有的是,很多可以在网上当,但即使是一个博士生也要花费很长的时间完成一个实际可用的移动机器人。为什么?因为机器人应用的困难在应用软件的设计上。前面那个老外也说过,现在什么都可以在网上当,唯独应用程序不能。有过自己写移动机器人程序的人可能会理解这段话,当然也仅仅是可能,因为不排除有很多机器人大拿一上来就可以写出很棒的移动机器人软件。移动机器人的控制软件开发是和硬件紧密相关的,甚至和机器人的体系结构也密切相关,同样是移动机

3、器人,有的是用PC控制的,有的是用多个嵌入式系统实现的,有的则是多机器人协同工作的,操作系统有人会用DOS,有人会用Windows,有人会用Linux,有人会用EmbededOperationSystem。硬件平台有的用x86,有的用ARM芯片,有的会用DSP,通讯里面会有串口,TCP/IP网络,无线以太网,红外,蓝牙等,甚至驱动机构也不一样,有的是用腿,有的是用轮子,即使是轮子也有好多种情况,两个轮子,三个轮子(包括两个独立驱动轮一个随动轮,或者两个同步驱动轮一个转向轮等),四个轮子,五个轮子等等,有的是集中控制的体系结构,

4、有的是分布式控制的体系结构。应用也不同,有智能行走的,有人远程控制的,也有人机结合的,诸如此类,这样看来,移动机器人应用程序的开发的确是很复杂,“无法从网上直接当了”,看来只能自己从头开始编写代码了这一条路好走了。的确如此,但自己从头编程序也存在一个问题,那就是如何着手。我们写文章希望有模板,同样写机器人应用程序也希望能有一个模板,按照模板的约定,把自己编写的模块嵌进去,就可以得到一个应用程序了。可惜程序设计里面的模板无法移植到机器人程序设计领域,但是我们可以采用一个框架,在这个框架的规范下,我们写的模块或者利用他人写的模块进

5、行组合就可以得到一个合理的应用程序。框架的概念很广,可大可小,大的可以做到像J2EE或者CORBA那么复杂,做企业级开发,小的则只能在一个CPU上构件一个简单的应用程序。我在开发移动机器人的时候设计了一种简单框架,专门用来给采用PC对机器人进行集中控制的情况下编写应用程序。在我的博士论文(在个人主页里可以找到)里则设计了一种较复杂的框架,可以采用P2P技术实现多机器人或多系统的软件应用开发,而我现在正打算设计一种更通用,更复杂的,可以实现多平台,多CPU,多系统环境下的移动机器人应用快速开发,包括框架和中间件技术。这里只是先介

6、绍一下目前正在使用的那个PC用的软件框架。值的一提的是,国内外已经有很多人在做或者已经做过这方面的工作了,我写在这里的目的只是为了和大家交流。由于最近时间很紧张,每次只能写一小点,所以打算分数次把这部分内容介绍完,主要包括框架的模型,模块的接口定义,模块之间的通讯,动态模块的加载和配置,以及采用该框架实现的移动机器人应用举例,并提供相应的框架的源代码。1、引言我们初次编写机器人软件,通常有种“老虎啃天,无处下嘴”的感觉。编写移动机器人程序和普通程序稍有不同,因为通常意义上的移动机器人程序都是多任务,实时的,甚至是分布式的。我们

7、可以很容易的在计算机终端上显示出“Hello,world”,也可以毫不费力的在移动机器人的液晶屏上显示出“Hello,World”,但是一边让机器人行走,一边要避障,同时还要处理通讯、定位等工作就决不是那么容易了。这个时候我们需要的就是框架了。2、面向移动机器人的应用程序框架2.1、什么是框架?我的理解中,软件里框架的概念很有点像计算机硬件里面的主板,它提供了系统运行所需要的电源,通讯等手段,并且所有符合总线协议的卡都可以往主板上插,从而实现所需要的功能和性能。例如把数据采集卡查到主板上,计算机就具有了数据采集的能力;把视频卡

8、插到主板上,计算机就具有了压缩视频的功能,此外还有显卡,声卡,网卡,电视卡,运动控制卡,传真卡等等。软件里的框架也是如此,它有点类似中间件的概念,提供了相当程度的代码支持,同时也定义了一些规范,这些规范包括通讯协议,模块的接口定义等。用户可以自己编写模块,也可以使用别人已经写

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。