构建机器人需要涉及很多学科的技能,包括嵌入式固件和硬件设计、传感器的选择、控制系统的设计,连同机械结构设计。而仿真环境能够为测试、评测和机器人技术算法的可视化提供一个虚拟的舞台,而不用花费高昂的研发成本(和时间)。本文将简要介绍一些 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 的踪迹。

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

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!