机器人开发--设计范式

  • 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、张晓辉博士在睿慕课开设的《工业机器人控制系统的设计》

机器人开发--设计范式相关推荐

  1. MBD设计模式(机器人开发,控制系统开发)

    机器人开发设计 MBD设计模式(机器人开发,控制系统开发) 掌握基于模型设计的六轴机械臂控制系统的开发方法 掌握六轴机械臂的知识和控制器的软硬件实现 MBD设计模式(机器人开发,控制系统开发) MBD ...

  2. 【疯壳·机器人教程3】人形街舞机器人-控制主板设计及开发环境搭建

    多自由度人形双足舞蹈机器人  --疯壳·机器人开发系列 控制主板设计及开发环境搭建 1 控制主板简介      我们主板正面如下图所示,其中有 3 片 74HC244,是用来增加电流驱动.      ...

  3. 400 多行代码!超详细 Rasa 中文聊天机器人开发指南 | 原力计划

    作者 | 无名之辈FTER 责编 | 夕颜 出品 | 程序人生(ID:coder_life) 本文翻译自Rasa官方文档,并融合了自己的理解和项目实战,同时对文档中涉及到的技术点进行了一定程度的扩展, ...

  4. 超越EfficientNet,GPU上加速5倍,何恺明组CVPR 2020论文提出新型网络设计范式

    选自arXiv 作者:Ilija Radosavovic等 机器之心编译 机器之心编辑部 近日,何恺明大神组又发了一篇新论文,提出了一种新的网络设计范式.与以往研究不同,他们没有专注于设计单个网络实例 ...

  5. ROS探索总结(十六)(十七)(十八)(十九)——HRMRP机器人的设计 构建完整的机器人应用系统 重读tf 如何配置机器人的导航功能

    ROS探索总结(十六)--HRMRP机器人的设计 1. HRMRP简介         HRMRP(Hybrid Real-time Mobile Robot Platform,混合实时移动机器人平台 ...

  6. 浅谈 「现代 Web 开发」 范式

    「现代 Web 开发」代指现在全球技术社区和全行业里,越来越重要的一个「大趋势」(Megatrend).一场正在进行中的「范式转移」.其中,重要的是如何将「现代 Web 开发」转化成具体的技术栈和研发 ...

  7. 8.3 机器人平台设计之arduino与电机驱动

    机器人平台设计8章:https://blog.csdn.net/qq_52537255/article/details/119350982 机器人平台设计8章 8-1 概述:https://blog. ...

  8. 商用室内机器人才是未来机器人开发的热点与趋势

    商业环境(商店.餐厅.咖啡馆.超市等场所)里,室内机器人才是下一波热潮!你知道为什么吗? 2016年,专注于机器人开发的风投资金已经达到了19.5亿美金,跟六年前相比,这个投资额上涨了10 倍,而且这 ...

  9. MySQL基础教程 包含SQL语句、约束、表关系、设计范式、多表、事务等

    简介 数据库 ​ 数据库(Database):是按照数据结构来组织.存储和管理数据的仓库.每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据. ​ 我们也可以将数据存 ...

最新文章

  1. Linux的企业-Redis数据库、缓存和哨兵Sentinal、Redis高可用
  2. 2021年春季学期-信号与系统-第四次作业参考答案-第十一小题
  3. PPT 2016 后台播放功能
  4. 北京信息科技大学第十一届程序设计竞赛
  5. maven 父maven_Maven的春天
  6. Mysql 连接的使用
  7. php控制器的作用,控制器定义 · ThinkPHP5.0完全开发手册 · 看云
  8. python for语句_从零开始py个thon3:循环语句(1)
  9. 新时代ITer们的思考及购书有奖活动
  10. RVCT31编译问题
  11. Laravel 队列发送邮件
  12. Oracle DML NOLOGGING
  13. 开源众包-项目大厅数据爬取
  14. delphi LPT1端口打印与开钱箱
  15. 2016年腾讯校招笔试题
  16. 私有云 公有云 社区云 混合云 专有云
  17. 京东登录页面(静态页面)
  18. docker 安装redis详细说明
  19. 蓝牙耳机选哪种的比较好、高端蓝牙耳机推荐
  20. 第七篇 nacos 注册中心

热门文章

  1. Linux git环境搭建和常用指令--推送至Github为例
  2. 使用easyexcel快速导出xlsx表格(简洁、高效、易懂)
  3. 上海亚商投顾:创业板指高开高走 ChatGPT概念卷土重来
  4. 聚类 Cluster
  5. 优麒麟 2204 与 win10 双系统安装笔记
  6. Kafka基于Zookeeper搭建高可用集群实战
  7. 【React】做一个百万答题小项目
  8. / 和 /* 和 /** 的区别
  9. Tensorflow变量作用域及变量初始化
  10. java播放音频文件mp3