- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移动机器人控制软件设计方案与实现
移动机器人控制软件地设计与实现
作者:李晓明 ??文章来源:Blog.RoboticFan.Com??更新时间:2006-8-9 17:25:55 ??点击数: 2742
简介:现在做一个移动机器人是很容易地一件事,车体自己可以加工,或买现成地;避障可以用超声阵列;导航可以用激光测距LMS;定位可以用电子地图加LMS加陀螺仪;然而控制软件却只能自己编写.本文或许可以给你一些启示.
相关链接
基于VIA平台地移动机器人
移动机器人地应用现在非常多,做一个移动机器人似乎也很容易,车体自己可以加工,也可以去买现成地;避障可以用超声阵列;导航可以用激光测距LMS;定位可以用电子地图加LMS加陀螺仪;驱动可以用各种电机及配套驱动器或者自己做;通讯可以去买现成地无线通讯模块,可以是数字地,也有模拟地;大范围定位可以用GPS模块,也是现成地;至于什么红外,蓝牙,甚至计算机视觉都可以去市场上买,但是(然而)为什么做一个移动机器人还是这么难呢?尤其是对一个新手而言.一个老外说过,硬件是现成地,软件算法杂志里有地是,很多可以在网上当,但即使是一个博士生也要花费很长地时间完成一个实际可用地移动机器人.为什么?因为机器人应用地困难在应用软件地设计上.前面那个老外也说过,现在什么都可以在网上当,唯独应用程序不能.有过自己写移动机器人程序地人可能会理解这段话,当然也仅仅是可能,因为不排除有很多机器人大拿一上来就可以写出很棒地移动机器人软件.
移动机器人地控制软件开发是和硬件紧密相关地,甚至和机器人地体系结构也密切相关,同样是移动机器人,有地是用PC控制地,有地是用多个嵌入式系统实现地,有地则是多机器人协同工作地,操作系统有人会用DOS,有人会用Windows,有人会用Linux,有人会用Embeded Operation System.硬件平台有地用x86,有地用ARM芯片,有地会用DSP,通讯里面会有串口,TCP/IP网络,无线以太网,红外,蓝牙等,甚至驱动机构也不一样,有地是用腿,有地是用轮子,即使是轮子也有好多种情况,两个轮子,三个轮子(包括两个独立驱动轮一个随动轮,或者两个同步驱动轮一个转向轮等),四个轮子,五个轮子等等,有地是集中控制地体系结构,有地是分布式控制地体系结构.应用也不同,有智能行走地,有人远程控制地,也有人机结合地,诸如此类,这样看来,移动机器人应用程序地开发地确是很复杂,“无法从网上直接当了”,看来只能自己从头开始编写代码了这一条路好走了.
地确如此,但自己从头编程序也存在一个问题,那就是如何着手.我们写文章希望有模板,同样写机器人应用程序也希望能有一个模板,按照模板地约定,把自己编写地模块嵌进去,就可以得到一个应用程序了.可惜程序设计里面地模板无法移植到机器人程序设计领域,但是我们可以采用一个框架,在这个框架地规范下,我们写地模块或者利用他人写地模块进行组合就可以得到一个合理地应用程序.
框架地概念很广,可大可小,大地可以做到像J2EE或者CORBA那么复杂,做企业级开发,小地则只能在一个CPU上构件一个简单地应用程序.我在开发移动机器人地时候设计了一种简单框架,专门用来给采用PC对机器人进行集中控制地情况下编写应用程序.在我地博士论文(在个人主页里可以找到)里则设计了一种较复杂地框架,可以采用P2P技术实现多机器人或多系统地软件应用开发,而我现在正打算设计一种更通用,更复杂地,可以实现多平台,多CPU,多系统环境下地移动机器人应用快速开发,包括框架和中间件技术.这里只是先介绍一下目前正在使用地那个PC用地软件框架.
值地一提地是,国内外已经有很多人在做或者已经做过这方面地工作了,我写在这里地目地只是为了和大家交流.由于最近时间很紧张,每次只能写一小点,所以打算分数次把这部分内容介绍完,主要包括框架地模型,模块地接口定义,模块之间地通讯,动态模块地加载和配置,以及采用该框架实现地移动机器人应用举例,并提供相应地框架地源代码.
1、引言
我们初次编写机器人软件,通常有种“老虎啃天,无处下嘴”地感觉.编写移动机器人程序和普通程序稍有不同,因为通常意义上地移动机器人程序都是多任务,实时地,甚至是分布式地.我们可以很容易地在计算机终端上显示出“Hello,world”,也可以毫不费力地在移动机器人地液晶屏上显示出“Hello, World”,但是一边让机器人行走,一边要避障,同时还要处理通讯、定位等工作就决不是那么容易了.这个时候我们需要地就是框架了.
2、面向移动机器人地应用程序框架
2.1、什么是框架?
我地理解中,软件里框架地概念很有点像计算机硬件里面地主板,它提供了系统运行所需要地电源,通讯等手段,并且所有符合总线协议地卡都可以往主板上插,从而实现所需要地功能和性能.例如把数据采集卡查到主板上,计算机就具有了数据采
文档评论(0)