加载中!

 
 时 间 记 忆 
<<  < 2008 - >  >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28
加载中!

 
 专 题 分 类 
加载中!
 最 新 评 论 
加载中!
 最 新 日 志 
加载中!
 最 新 留 言 
加载中!

 
 友 情 连 接 
 用 户 登 录 
加载中!
 文 章 搜 索 
 博 客 信 息 
加载中!



 
 
 
      (原创)移动机器人控制软件的设计与实现(1) 

>>2006-2-26 15:22:39
 

移动机器人的应用现在非常多,做一个移动机器人似乎也很容易,车体自己可以加工,也可以去买现成的;避障可以用超声阵列;导航可以用激光测距LMS;定位可以用电子地图加LMS加陀螺仪;驱动可以用各种电机及配套驱动器或者自己做;通讯可以去买现成的无线通讯模块,可以是数字的,也有模拟的;大范围定位可以用GPS模块,也是现成的;至于什么红外,蓝牙,甚至计算机视觉都可以去市场上买,但是(然而)为什么做一个移动机器人还是这么难呢?尤其是对一个新手而言。一个老外说过,硬件是现成的,软件算法杂志里有的是,很多可以在网上当,但即使是一个博士生也要花费很长的时间完成一个实际可用的移动机器人。为什么?因为机器人应用的困难在应用软件的设计上。前面那个老外也说过,现在什么都可以在网上当,唯独应用程序不能。有过自己写移动机器人程序的人可能会理解这段话,当然也仅仅是可能,因为不排除有很多机器人大拿一上来就可以写出很棒的移动机器人软件。

移动机器人的控制软件开发是和硬件紧密相关的,甚至和机器人的体系结构也密切相关,同样是移动机器人,有的是用PC控制的,有的是用多个嵌入式系统实现的,有的则是多机器人协同工作的,操作系统有人会用DOS,有人会用Windows,有人会用Linux,有人会用Embeded Operation System。硬件平台有的用x86,有的用ARM芯片,有的会用DSP,通讯里面会有串口,TCP/IP网络,无线以太网,红外,蓝牙等,甚至驱动机构也不一样,有的是用腿,有的是用轮子,即使是轮子也有好多种情况,两个轮子,三个轮子(包括两个独立驱动轮一个随动轮,或者两个同步驱动轮一个转向轮等),四个轮子,五个轮子等等,有的是集中控制的体系结构,有的是分布式控制的体系结构。应用也不同,有智能行走的,有人远程控制的,也有人机结合的,诸如此类,这样看来,移动机器人应用程序的开发的确是很复杂,“无法从网上直接当了”,看来只能自己从头开始编写代码了这一条路好走了。

的确如此,但自己从头编程序也存在一个问题,那就是如何着手。我们写文章希望有模板,同样写机器人应用程序也希望能有一个模板,按照模板的约定,把自己编写的模块嵌进去,就可以得到一个应用程序了。可惜程序设计里面的模板无法移植到机器人程序设计领域,但是我们可以采用一个框架,在这个框架的规范下,我们写的模块或者利用他人写的模块进行组合就可以得到一个合理的应用程序。

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

值的一提的是,国内外已经有很多人在做或者已经做过这方面的工作了,我写在这里的目的只是为了和大家交流。由于最近时间很紧张,每次只能写一小点,所以打算分数次把这部分内容介绍完,主要包括框架的模型,模块的接口定义,模块之间的通讯,动态模块的加载和配置,以及采用该框架实现的移动机器人应用举例,并提供相应的框架的源代码。

(未完待续)

   Richard   
 
      Re:(原创)移动机器人控制软件的设计与实现(1)

>>2006-8-9 21:22:26
 
lily(游客)

谢谢您的回答,我还有个问题:

对于两轮机器人,在让机器人拐弯时如何控制它的偏转角速度呢?

个人主页 | 引用 | 返回 | 删除 | 回复
   lily(游客)   
 
      Re:(原创)移动机器人控制软件的设计与实现(1)

>>2006-8-8 15:01:43
 
lxmzju2000导航和避障还是不太一样的,避障只是避障,导航则需要实现从当前位置到目的位置的规划,执行,当然也包括避障。定位我觉得效果好的还是得依赖路标的辅助,单纯靠GPS恐怕没这么高的精度。罗盘没用过,不敢说了。
个人主页 | 引用 | 返回 | 删除 | 回复
   lxmzju2000   
 
      Re:(原创)移动机器人控制软件的设计与实现(1)

>>2006-8-7 9:43:57
 
lily(游客)现有的定位方法是不是都需要有电子地图或者某种已知精确位置的路标辅助,才能定位?如果是在室外的话,单凭借gps+罗盘+编码器是不能很好定位的,是不是?
个人主页 | 引用 | 返回 | 删除 | 回复
   lily(游客)   
 
      Re:(原创)移动机器人控制软件的设计与实现(1)

>>2006-8-7 9:39:02
 
lily(游客)

请问,导航的工作是什麽?与避障不同吗?

个人主页 | 引用 | 返回 | 删除 | 回复
   lily(游客)   
发表评论:
加载中!