Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->Linux技术 ->嵌入式系统 ->开源机器人技术工具包
  相关分类: 
入门与提高
系统管理
网络应用
嵌入式系统
内核研究
服务器相关
发行版专区
Linux程序设计
Linux安全
BSD相关
桌面应用
  站内搜索: 
热门文章排行
热门文章排行 嵌入式系统 Boot Loader 技术内幕 (04-22)
BusyBox 简化嵌入式 Linux 系统 (04-22)
Linux下的硬件驱动——USB设备(下)(04-22)
Linux串口上网的简单实现 (04-22)
Linux下PCI设备驱动程序开发 (04-22)
精采文章排行
精采文章排行 BusyBox 简化嵌入式 Linux 系统 (04-22)
Linux 助力 Nokia 770 (04-22)
嵌入式Linux 中的应用中的GTK+ (04-22)
嵌入式系统 Boot Loader 技术内幕 (04-22)
FREEBSD下使用crunch集成编译程序 (04-22)
  ·怎么样从FireWire 设备引导Linux ·教你怎么样从FireWire 设备引导Linux ·嵌入式程序员应知道的几个基本问题(2) ·嵌入式程序员应知道的几个基本问题(1) ·Linux 助力 Nokia 770 ·嵌入式Linux 中的应用中的GTK+ ·嵌入式系统 Boot Loader 技术内幕 ·FREEBSD下使用crunch集成编译程序 ·ucLinux下sqlite数据库移植全攻略

开源机器人技术工具包

作者:M. Tim Jones    来源:IBM DW中国   点击:   日期:2007-04-22 [收藏] [投稿]

  IE是否经常中毒?推荐您

构建机器人需要涉及很多学科的技能,包括嵌入式固件和硬件设计、传感器的选择、控制系统的设计,以及机械结构设计。而仿真环境可以为测试、评测和机器人技术算法的可视化提供一个虚拟的舞台,而不用花费高昂的开发成本(和时间)。本文将简要介绍一些 Linux 的开源机器人技术工具包及功能,并帮助我们判断哪些技术最适合我们使用。
软件机器人?

华盛顿大学的研究人员创造了 Softbots 这个术语 —— 它是 软件(software)机器人(robot) 这两个术语混合产生的。术语 智能代理(intelligent agent) 现在使用得更为广泛,尤其是在 Internet 实体内容中更是如此。在 1996 年,Franklin 和 Graesser 提出了第一种代理分类方法将病毒划分为自治代理。

传统机器人的类型有很多,形式也各式各样,但是随着软件代理(虚拟机器人)的出现,这些变种又大大扩充了。虚拟机器人借鉴了物理机器人的很多特性。例如,物理机器人的机动性意味着某种形式的移动,但是移动软件机器人(或 代理)也可以有机动性 —— 此处是指在网络上不同主机之间迁移的能力。图 1 给出了物理和虚拟领域中自治机器人的一个简单的分类。本文将着重使用 软件代理 作为在人工合成环境中仿真机器人的机制。


图 1. 自治机器人的简单分类
自治机器人的简单分类

机器人的元素

不管我们是在讨论物理机器人还是虚拟(软件)机器人,有一些基本的概念都是相同的。机器人用一些传感器用来感知环境,用一些效应器来对环境进行操作,用一个控制系统让机器人按照我们期望的方式进行反应(参见图 2)。


图 2. 所有机器人系统的基本元素
所有机器人系统的基本元素

在物理世界中,消防机器人可以使用温度传感器、红外(IR)传感器、全球定位系统(GPS)来感知环境,并使用发动机和灭火器作为效应器来对环境进行操作。而虚拟搜索代理则可以使用 Web 服务器和 HTTP 接口来感知环境(Internet)并对环境进行操作,并使用一个终端作为效应器来与用户进行通信。

图 3 所示的系统是一个封闭循环,传感器负责为控制系统提供数据,而控制系统则驱动着环境中因素的变化。考虑这个问题的另外一种方法是采用反馈这个术语。如果控制系统指定了一个改变环境的操作,那么传感器就可以验证发生了这种变化,并将环境的新状态反馈给控制系统。而开放循环系统只能假设操作成功改变了环境的状态,这永远都不是什么好事。


图 3. 对环境进行封闭循环操作
对环境进行封闭循环操作

在构建机器人时,我们必须要从一个整体来考虑传感器、效应器和控制系统。对于本文来说,我们将着重介绍控制系统,以及在将其嵌入物理机器人之前可以对其进行仿真和验证的方法。

机器人技术和仿真

仿真在机器人技术领域扮演了一个关键的角色,因为它可以进行一些实验,如果没有仿真技术,这些实验可能会非常昂贵,而且需要花费大量的时间。仿真让我们可以在动态的合成环境中尝试一些做法,同时可以搜集这些响应数据,从而确定控制系统的品质。仿真还可以允许对机器人控制系统进行革新,这依赖于很多代控制系统的随机排列(遗传算法可以证实这一点)。

Linux 和机器人技术

Linux 是机器人技术采用的一个流行操作系统,因为从根源上来说,它与机器人技术的历史是类似的。机器人技术是一个实验领域。它是有关优化、尝试新事务和在将来不断革新的一种技术。Linux 从根本上来说,在这些方面也都具有相同的特性。早期的机器人都非常怪异,很少可以展示出实际应用价值。类似地,Linux 最开始也只是某些“瘾君子”的操作系统,但是它现在已经成长为一个功能强大而且十分稳定的操作系统了,我们在从嵌入式设备到超级计算机(包括很多机器人)上面都可以找到 Linux 的踪迹。

仿真的一大优点表现在多机器人的仿真中。为这些仿真提供的一个流行比赛是机器人足球赛,在这种比赛中,参赛选手可以使用仿真机器人,也可以使用物理机器人,一组机器人会与另外一组机器人展开世界上流行的英式足球较量(这使得这项比赛非常适合成为一项国际赛事)。机器人必须能够完全与整个团队中的其他机器人进行合作(可能相互之间需要进行通信),并与对手团队中的机器人展开竞赛,这对于机器人的行为是一项挑战性极强的测试。

但是对于仿真来说,也有些频感乏术的地方。真实的世界往往都非常凌乱,并且充满了各种噪音,因此这种合成环境基本上都很难进行建模。对机器人进行仿真通常都非常困难,因为真实世界中的传感器通常都可能呈现出不同的或非预期的特性。尽管有这些缺陷,我们依然可以通过在合成环境中对机器人进行仿真而学习到很多知识。

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 3 4 下一页

上一篇:BusyBox 简化嵌入式 Linux 系统   下一篇:机器人走进开放源代码
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·从Linux BIOS的起源 看未来主板框架

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。