Buzz,一种用于自组织无人机群的编程语言
成群的昆虫,成群的鸟和鱼群令人着迷。许多生物一起作为一种生物运行。同时,科学家解释说,在这种情况下,整个群体的每个生命组成部分都会建立其行为,只关注其邻居。相同的主题引起了意大利裔加拿大人Pintsiroli Carlo(Carlo Pinciroli)的兴趣,自2007年以来,他们一直从事管理大量半自动机器人领域的研究。他 和他的同事谈到了该领域的最新成就-一群机器人的编程语言Buzz。这项开发工作是由加拿大蒙特利尔高等理工学院MIST理工学院的科学家及其外国同事进行的。对移动机器人进行编程本身就是一项相当复杂的任务。当机器人必须对其动作做出决定时,控制整个鸡群的行为甚至在变化的环境中的任务更加困难。有两种解决方法-从下至上,以及从上至下。自下而上的方法表明,程序员需要从机器人的运动和定向系统开始,处理机器人行为的所有细节和细微差别。自上而下的方法涉及在较高级别上设置任务,其中根据预先准备的算法来计算机器人行为的详细信息。
来自该项目的大量机器人麦克劳金(McLurkin),该领域的另一位研究员Buzz语言的作者将其描述为现今常见的JavaScript,Python和Lua的语法继承者。这样做是为了减少进入语言的门槛。他们试图做到这一点,以便程序员可以选择一种方法-他可以选择从下至上还是从上至下进行工作。该语言丰富了用于处理大量机器人的特殊设计。例如,swarm允许您将机器人分为几组,每组都有自己的任务。邻居的设计使您可以与邻近的机器人彼此互动,并在真实的学校中模拟动物的行为。还有其他设计-例如,虚拟stigmergy(虚拟stigmergy),它可以向机器人发出命令以向每个人传输并记住键值对集合形式的信息。它以昆虫之间间接协调相互作用的机制命名,该机制最早在白蚁中观察到。当其中一个人更改环境状态时,其他人会感知到这种变化,这可以激励他们确定其后续行动。Carlo Pinziroli在研究活动中还创建了ARGoS。 -用来模拟大量机器人工作的程序。几个机构和独立研究团队以相似的方向使用该程序。该视频演示了ARGoS虚拟环境中机器人虚拟群的交互作用,该交互模仿了Spiri直升机的工作(目前处于发布成品阶段的众筹项目)。该视频显示了一群机器人如何解决找到两个不同目标并根据找到的目标将它们分为两部分的问题。他们分三个阶段进行。首先,机器人要达到一定的高度。同时,已经达到身高的机器人会向所有邻居告知实现此中间目标(虚拟势)的情况。在第二阶段,机器人对物体进行视觉搜索,绕垂直轴旋转。在第三阶段,找到所需物体的机器人将成功通知邻居,并与他们共享有关物体颜色和到物体的距离的信息。彻底旋转的那些机器人没有看到任何搜索对象,而是根据从邻居那里收到的信息来确定要加入的两组对象。第四阶段是将群分为两个部分。查找对象的机器人和从邻居那里接收有关对象信息的机器人分为两组。本文的作者表达了希望,Buzz将使对机器人技术感兴趣的每个人都能以相当简单的方式实现他们的想法,并且还将使对一大堆机器人进行编程的问题进一步发展。根据他们的信息,现在没有标准平台可以让研究人员比较他们的成就,分享他们的成果并使用该领域其他人的成就。Buzz是免费的,其源代码是开放的,并根据MIT许可证进行分发。Source: https://habr.com/ru/post/zh-CN382755/
All Articles