机器人 迷宫算法_机器人,迷宫和附属建筑

本文介绍了机器人技术,特别是基于行为的机器人设计理念和Simbad机器人仿真环境。通过Simbad,展示了如何实现包含架构,编写了漫游机器人和迷宫解决机器人Algernon。Algernon使用墙跟随和Pledge算法解决迷宫,展示了简单行为如何组合成复杂行为的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器人技术是一个很久以前就离开科幻小说领域的领域,以推动工业自动化,医疗保健,太空探索和其他应用程序的发展。 软件机器人模拟器不仅简化了机器人工程师的开发工作,而且还为研究人员提供了研究人工智能(AI)算法和机器学习的工具。 这样一种以研究为重点的模拟器是基于Java 3D技术构建的开源Simbad项目(请参阅参考资料 )。 本文展示了如何使用Simbad工具包对虚拟机器人进行编程,以实现包含架构的机器人设计理念。

本文从对机器人技术的简要概述开始,并解释了包含架构的概念。 然后介绍了Simbad工具包,并演示了如何在Simbad中实现包含架构。 然后,您将使用该体系结构编写一个简单的机器人。 最后,您将看到令人着迷的迷宫世界,并对第二台机器人进行编程,该机器人不同于荷马·辛普森(参见参考资料 ),可以从迷宫中摆脱出来。 您的机器人不会是物理的,但会“生活”在Simbad虚拟世界中。

机器人编程

机器人一词没有公认的定义。 出于本文的目的,请考虑将机器人分为三个部分:

  • 传感器集合
  • 定义机器人行为的程序
  • 执行器和效应器的集合

传统机器人

在传统的机器人技术(即1986年之前的机器人技术)中,机器人具有中央的“大脑”,该“大脑”构建和维护世界的“地图”,并根据该地图制定计划。 首先,机器人的传感器(例如,触摸传感器,光传感器和超声波传感器)从其环境中获取信息。 机器人的大脑融合了传感器收集的所有信息,并更新了世界地图。 然后,机器人决定要采取的行动。 它通过其执行器和效应器起作用。 执行器基本上是电动机,并连接到执行器,执行器与机器人的环境相互作用。 效应器的例子是轮子和手臂。 ( 执行器一词通常宽松地指执行器或效应器。)

简而言之,传统的机器人从可能的多个传感器获取输入,融合该传感器信息,更新其世界地图,基于其当前的世界视图制定计划,然后采取行动。 但是,此方法有问题。 一方面,它是高度计算密集型的。 另外,由于外部世界总是在变化,因此保持世界地图最新是很困难的。 此外,许多生物,例如昆虫,在没有外部世界地图甚至记忆的情况下依然繁衍生息。 尝试模仿它们会更好吗? 这些问题导致了一种新型的机器人技术,称为基于行为的机器人技术 (BBR)。 BBR可能是当今机器人实验室中的主导哲学。

包含架构

可以使用包含架构来实现BBR。 包容体系结构的发明者—现在是MIT AI实验室负责人的Rodney A. Brooks —在其1986年的开创性论文“大象不玩象棋”中介绍了它(请参阅参考资料 )。 基于行为的机器人是由一组独立的简单行为组成的 。 行为由触发它们的原因(通常是传感器读数)和所采取的动作(通常涉及效应器)定义。 行为相互叠加。 当两种行为发生冲突时,中央仲裁员将决定哪个优先。 根据BBR支持者的说法,机器人的整体行为是紧急的 ,并且可以大于其各个部分的总和。 出现的较高级别的行为包含较低级别的行为。 无需尝试设计机器人,您只需添加行为并查看出现的情况即可。

Simbad:机器人仿真环境

Simbad允许您在软件中模拟机器人。 根据该项目的网站,该网站“使程序员能够编写自己的机器人控制器,修改环境并使用可用的传感器。它主要面向希望简单学习基础人工智能,机器学习,在自治机器人和自治代理的情况下,更一般地说是AI算法。”

Simbad由Louis Hugues和Nicolas Bredeche用Java语言编写。 在SourceForge.net上托管的项目是免费的,您可以在GNU通用公共许可证的条件下使用和修改。

技术细节

Simbad世界可以包含特工(机器人)和无生命的对象(盒子,墙壁,灯光等)。 Simbad世界中的时间分为离散的滴答声。 Simbad计划在特工之间共享时间。 与物理机器人一样,Simbad Agents既具有传感器(距离,触摸,光线等)又具有执行器(通常是轮子)。 在每个滴答声中,机器人都可以行动。

代理会覆盖performBehavior()方法来确定其行为。 在performBehavior() ,机器人可以记录传感器读数并设置其平移和旋转速度。 performBehavior()会立即发生,因此它无法发出“前进一米”之类的命令。 为了解决此限制,通常必须跟踪机器人的状态。 您还可以使用计时器变量来跟踪您处于当前状态的时钟滴答声。

Simbad API

对于本文的练习,您将主要关

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值