机器人开发--设计范式
- 1 概念
- 范式特点
- 2 三种范式
- 2.1 机器人基元:感知(sense)、规划(plan)、执行(act)
- 2.2 范式分类
- 分级范式 hierarchical paradigm
- 反应范式 reactive paradigm
- 混合范式 hybrid paradigm
- 3 范式在游戏中的对应(from - https://atlasz.github.io/2017/10/24/game-ai-introduction/)
- Sensor
- Decision-Maker
- Action
- 4 工业机器人控制系统
- 5 机器人控制范式
- 5.1 外设驱动范式
- 参考
1 概念
范式是一种哲理或界定一类问题的一组假设或技术。它是一种看待世界的方式,也包含了一系列解决问题的工具。可以理解为抽象的思维模式,即方法论。设定范式的目的是提高软件复用性,架构的复用性。
目前机器人学中智能的组织有三种形式:分级范式;反应范式;慎思/反应混合范式。
范式特点
- 范式在一定程度内具有公认性;
- 范式是一个由基本定律、理论、应用以及相关的仪器设备等构成的一个整体,它的存在给科学家提供了一个研究纲领;
- 范式还为科学研究提供了可模仿的成功的先例。
2 三种范式
了解中国人,得了解儒释道思想;了解机器人,得了解人工智能范式。
2.1 机器人基元:感知(sense)、规划(plan)、执行(act)
感知:通过传感器获得信息并产生对 其他功能有用的输出信号。
规划:接受信息并产生一个或多个任务让机器人来执行。
执行:产生输出命令来驱动电机执行的功能。
输入 | 机器人基元 | 输出 |
---|---|---|
传感器输入数据 | 感知基元 | 感知信息输出 |
输入感知信息和认知 | 规划基元 | 产生的指令 |
感知信息或指令 | 执行基元 | 执行的命令 |
2.2 范式分类
都是自20世纪被提出和发展的概念,分别是1967年到1990年(分级范式)、1988年到1992年(反应范式)和1992年至今(混合范式)。
分级范式 hierarchical paradigm
分级范式所指的是机器人会按照 1.感知、2.规划、3.执行的步骤依次重复运行,来完成其自身的任务。
分级范式的机器人的工作逻辑是,看一眼,想一步,走一步,再看一眼,想一步……
如果遇到突发情况,分级范式系统是无法快速响应。
反应范式 reactive paradigm
- 反应范式完全剔除了规划层的内容,将感知和执行直接连接在一起。该方法的提出源起于动物行为,试想当一个人尝试端起水杯喝水,但他/她并不知道水杯很热,于是被烫疼了下意识地缩回了手,这个人的大脑最高级指令给出的是端起水杯,但在执行的过程中被突然感知到的温度信息和疼痛信息中断。
- 这是一种反射行为,是未经规划的基本动物行为。
- 反应范式是一个非常符合直觉的方法,几乎当下所有的基础机器人比赛或自动化类比赛都会建议选手使用这种策略。比如巡线小车比赛,它要求选手设计的小车可以按照特定的轨迹线移动,并按照速度决出名次。一般来说,选手需要设计出能让小车准确识别线道的算法,并部署在尺寸和性能有限的小型嵌入式设备上,并且需要设计面向不同感知结果的小车行为程序,最后完成联调测试。为了更好地完成比赛任务,选手可能还会添加感知自身状态的传感器,比如轮子的里程计和车身的惯性测量单元等,并基于这些设计更多的行为模式。
- 反应范式可以在许多局限性场景获得成功部署,但由于其缺少规划模块,也缺少记忆和推理能力,使用反应范式设计的机器人无法在复杂场景中顺利完成任务。
- 映射到游戏AI中,行为树(BehaviourTree)就是这种范式的代表。
混合范式 hybrid paradigm
随着多核心处理器和互联网的飞速发展,高并发的软件也是现代和当代机器人中必不可缺的一项内容,所以从理论和工程上,混合范式都是最优选。它可以提供一个规范的自顶向下的分级管理模式,比如最高层是任务规划器,并向下按照复杂度依次拆分,最后是生成执行命令的模块。
3 范式在游戏中的对应(from - https://atlasz.github.io/2017/10/24/game-ai-introduction/)
Sensor
Sensor指代的不仅仅是Agent的传感器应该如何设计实现,还包含在游戏开发中外部环境信息的定义,量化处理方法及一些工具化的思想。
- 传感器设计方面:比如根据游戏特性,有的Agent采用视锥来搜集视野信息,有的则简单采用扇形和点来设计雷达;Unity官方教程Stealth中接触Navmesh的Corner来感知声音范围,是否在墙后等。
- 外部环境信息的定义:
【1】静态数据:比如RecastNavigation(Unity使用的开源寻路组件)中Bake的Navmesh,不同行走Layer、OffMeshLink等扩展信息的标识;Killzone中Strategy Graph对于导航的影响。
【2】动态数据:比如势力图(Influence Map)的运用。 - 信息的量化处理方法:比如使用模糊逻辑(FuzzyLogic)把多个外部条件量化到一个确定值;Utility Theory中如何设计一个Utility或者Score;很多基于Planner进行决策游戏中WorldState和WorldProerty的定义。
- 工具化:比如依据玩家战斗信息的热度图来自动化生成Strategy Graph;根据Navmesh的信息来自动化生成掩体、障碍、狙击点等信息来帮助策划配置。
Decision-Maker
Decision-Maker包含各种Reactivity、Deliberation或者混合范式的实现方式与利弊。比如Halo中的行为树,F.E.A.R中的G.O.A.P,Killzone中的HTN等等。
Action
Action部分包含如何呈现和管理Agent具体Action行为的思路。比如借助线性或者非线性时间轴编辑器(比如Unity的Flux、鹅厂的AgeAction等)来实现怪物AI的ActionManager;比如F.E.A.R中的一个状态机三个状态管理Action等等。
4 工业机器人控制系统
5 机器人控制范式
5.1 外设驱动范式
参考
1、百科–机器人范式
2、《人工智能机器人学导论》
3、DFROBOT–机器人范式
4、机器人协作平台软件建模,设计与实现
5、游戏开发中的人工智能
6、機器人範式 Robotic Paradigm
7、工业机器人控制系统的设计框架
8、张晓辉博士在睿慕课开设的《工业机器人控制系统的设计》