CN106573378A - 通过机器人反馈增强编程教育的系统和方法 - Google Patents

通过机器人反馈增强编程教育的系统和方法 Download PDF

Info

Publication number
CN106573378A
CN106573378A CN201580041694.6A CN201580041694A CN106573378A CN 106573378 A CN106573378 A CN 106573378A CN 201580041694 A CN201580041694 A CN 201580041694A CN 106573378 A CN106573378 A CN 106573378A
Authority
CN
China
Prior art keywords
group
robot
programming
control instruction
toy robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580041694.6A
Other languages
English (en)
Inventor
维卡斯·古普塔
米卡尔·格雷夫斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pre-I Co
Original Assignee
Pre-I Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pre-I Co filed Critical Pre-I Co
Publication of CN106573378A publication Critical patent/CN106573378A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H11/00Self-movable toy figures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H3/00Dolls
    • A63H3/28Arrangements of sound-producing means in dolls; Means in dolls for producing sounds
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H30/00Remote-control arrangements specially adapted for toys, e.g. for toy vehicles
    • A63H30/02Electrical arrangements
    • A63H30/04Electrical arrangements using wireless transmission
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • B25J11/001Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means with emotions simulating means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0053Computers, e.g. programming
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63HTOYS, e.g. TOPS, DOLLS, HOOPS OR BUILDING BLOCKS
    • A63H2200/00Computerized interactive toys, e.g. dolls
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system
    • Y10S901/04Manual lead through

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Toys (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种用于通过玩具机器人反馈增强编程教育的方法,包括:在远离玩具机器人的用户设备处:在用户设备上的编程接口应用处从用户接收一系列编程输入;从玩具机器人接收一组传感器测量结果;基于一系列的编程输入和一组传感器测量结果来自动地生成关于玩具机器人的一组控制指令;并将一组控制指令发送到玩具机器人;并在玩具机器人处:从用户设备接收一组控制指令;基于一组控制指令操作玩具机器人;在玩具机器人操作期间记录第二组传感器测量结果;并将第二组传感器测量结果发送到用户设备。

Description

通过机器人反馈增强编程教育的系统和方法
相关申请的交叉引用
本申请要求于2014年6月12日提交的美国临时申请号62/011,478和于2014年6月23日提交的美国临时申请号62/015,969的权益,其全部内容通过引用并入本文。
技术领域
本发明一般涉及编程教育领域,并且更具体地涉及一种用于通过在编程教育领域中的机器人反馈来增强编程教育的新的和有用的系统和方法。
背景
最近在教育领域中强调教导儿童和青年人编程。许多人认为编程是我们计算机化世界中的一种有用的技能,且存在几个可在早期阶段介绍的核心概念。然而,编程的复杂性使其向孩子们介绍成为一个具有挑战性的话题。儿童可认为这些概念太难或不够有趣。因此,在编程教育领域中存在创建用于通过机器人反馈增强编程教育的新的和有用的系统和方法的需求。本发明提供了这种新的和有用的系统和方法。
附图简述
图1A是系统的变型的示意图。
图1B是机器人的变型的示意图。
图2A是由机器人执行的方法的变型的流程图。
图2B是由用户设备执行的方法的变型的流程图。
图3是由系统执行的方法的变型的示意图。
图4是方法的变型的示意图,包括执行一组编程输入。
图5是方法的变型的示意图,包括当编程输入被输入到编程接口应用中时动态地执行编程输入。
图6是在操控(puppeteering)编程模式下进行操作的系统的示意图。
图7是在操控编程模式下进行操作的系统的示意图,包括将操纵传感器数据转换成图形控制路径。
图8是在操控编程模式下进行操作的系统的示意图,包括将操纵传感器数据转换成一组操纵编程输入。
图9是在动画编程模式下进行操作的系统的示意图。
图10是在动画编程模式的第一变型下进行操作的系统的示意图。
图11是在动画编程模式的第二变型下进行操作的系统的示意图。
图12是在可视化编程模式的变型下进行操作的系统的示例性示意图。
图13是一个变型的控制层的图示表示。
图14是方法的变型的示意图,包括基于控制个性操作机器人。
图15是确定机器人的控制个性的变型的示意图。
图16是控制器到机器人拓扑变型的示意图。
优选实施方式的描述
以下本发明的优选实施方案的描述并不旨在将本发明限制于这些优选实施方案,而是使得本领域的任何技术人员能够制造和使用本发明。
1.通过机器人反馈增强编程教育的系统
如图1A中所示,通过机器人反馈增强编程教育的系统10可包括交互式机器人100以及至少一个编程接口应用200。特别地,该系统可包括与可在用户设备上操作的应用进行无线通信或有线通信的不同的物理机器人“玩具”。系统用于提供一组工具,通过该一组工具儿童(或任何用户)可探索编程概念并体验编程的结果。系统优选地利用在交互式机器人和编程接口应用之间的部分操作依赖性,但是可以可选地允许交互式机器人完全独立地进行操作,或启用任何其他合适的机器人控制的方法。
1.1交互式机器人。
如图1B所示,交互式机器人100优选地包括一组输出、一组传感器和通信模块。交互式机器人起到可编程设备的作用,并且可独立于编程接口应用而与其环境交互,当机器人和编程接口应用处于通信状态时卸载对编程接口应用的处理和操作决定,或以任何其它合适的方式操作。
交互式机器人100优选地能够与环境交互。在一个变型中,机器人是物理机器人,并能够与物理环境交互。在第二变型中,机器人是虚拟机器人,并能够与虚拟环境交互。交互式机器人可具有任何合适的形式因子,但是优选地被构造以表示某些拟人化机器人,诸如图1A所示的轮式机器人。然而,可使用任何合适的形式的交互式机器人。在一些可替代实施方案中,交互式机器人可以是模拟环境中的模拟交互替身。交互式机器人优选地包括被配置以支持交互式机器人的操作的组件,诸如电力系统、处理单元、存储器和其他合适的元件。
交互式机器人的输出端用于与机器人周围的物理环境、与一个或更多个用户、与其他交互式机器人或与任何其他合适的端点交互。输出端可包括运动设备110、可视化输出端120、音频输出端130或任何其他合适的输出端。输出端优选地布置在机器人上,但是可替换地可以是由机器人控制的远程输出端,或布置在任何其他合适的位置。
运动设备110可包括可控机械元件,诸如机动化轮(例如,动力传动系统)、机动化附肢(例如头、腿、脚、手臂、手、尾等)、机动化附件(例如,球发射器、眼睛等)、触觉反馈(例如,振动器马达)和其它合适的运动设备。运动设备还可包括构造成永久地或可移动地保持机器人附件的机动化安装点,其中机动化安装点可围绕旋转轴线、沿着纵向轴线或沿任何其他合适的方向驱动。机动化安装点可沿着旋转轴线保持附件,其中附件可相对于安装点自由旋转,静态耦合到安装点,在围绕安装点的第一角度方向上可旋转(例如,其中附件或安装点是棘轮的),或以其他方式耦合到安装点。然而,机器人可包括任何其他合适的运动设备。
可视化输出端120可包括可控照明系统、图形显示器或任何合适的可视化显示器。在一个示例中,可视化输出端包括一组单独索引的发光元件,其中每个发光元件可由处理器单独控制。发光元件可以是LED、OLED或任何其它合适的发光元件。然而,机器人可包括任何其他合适的可视化输出端。音频输出端130可包括扬声器、换能器或能够产生音频波的任何其它合适的机构。然而,机器人可包括任何其他合适的输出端。
交互式机器人的输入端用于在机器人处接收用户输入、从其他机器人接收输入、从远离机器人的辅助传感器接收输入、测量周围环境的参数、测量机器人操作参数或提供任何其他合适的信息。交互式机器人可根据编程来响应输入。交互式机器人可附加地或替代地将输入信息流式传输到远程用户设备,其中远程用户设备可处理、存储或以其它方式处理输入信息。
输入端可以是一个或更多个传感器140,但是可替代地或另外地可以是用于与一个或更多个传感器(例如,连接器等)通信耦合的接口。传感器输入可包括运动检测器、距离传感器、成像系统(例如,CCD传感器、CMOS传感器、相机等)、深度相机(例如,结构化光传感器系统)、惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计、倾斜传感器等)、力传感器(例如,压力传感器等)、触摸传感器(例如,一组电极等)、用户输入装置(例如,按钮、模拟控件等)和/或任何合适类型的输入装置。传感器还可包括用于监视机器人操作参数、周围环境参数或任何其它合适参数的系统监视传感器。监测传感器的示例包括马达监测系统(例如,旋转编码器、机械编码器、磁编码器、光学编码器、分解器、霍尔效应传感器、反电动势监测系统等)、光传感器、音频传感器(例如,麦克风)、温度传感器和压力传感器,但是机器人可包括任何其他合适的传感器。
机器人的通信模块150用于在机器人和数据端点之间传送信息。数据端点可以是编程接口应用、用户设备、服务器系统或是任何其他合适的设备。通信模块150优选地是收发器,但是可替换地可以是接收器、发射器或是任何其他合适的通信系统。通信模块150可以是有线的或无线的。通信模块150可以是IR系统、RF系统、信标系统(例如,超声波、RF)、光调制系统、NFC系统、Wi-Fi系统、GSM系统、蓝牙系统、网状系统、蜂窝系统、以太网系统、电力线通信系统、或者是任何其它合适的通信系统。
机器人100还可包括电力存储单元160,其用于存储能量并向有源机器人组件供电。电力存储单元优选地布置在机器人上,但是可替换地可以是远程的。电力存储单元160可以是原电池、次级电池(可再充电电池)、燃料电池或是任何其他合适的电源。
机器人100还可包括处理单元170,其用于控制机器人输出端、通信系统或其它组件。处理单元170可基于传感器测量结果和存储的控制指令独立地和/或自动地控制机器人。处理单元170可附加地或替代地基于从编程接口应用200、用户设备210或其它远程控制系统接收的控制指令来操作机器人。处理单元170可附加地或替代地调整或以其它方式修改所接收的控制指令(例如,基于所存储的机器人个性、传感器测量结果等)。处理单元170可以是处理器、微处理器、GPU、CPU或是任何其他合适的处理单元。处理单元还可包括用于永久或临时存储信息的数字存储器(例如,闪存、RAM等)。存储的信息可以是控制指令(例如,机器人个性)、传感器测量结果或其他输入、标识符信息(例如,机器人标识符信息、用户标识符信息、用户设备标识符信息等)或是任何其它合适的信息。处理单元可包括本地控制系统,其用于独立于编程接口应用来控制机器人,并还可包括远程控制系统,其用于基于从远程控制设备接收的控制指令来控制机器人。远程控制系统优选地通过编程接口应用来进行访问,但可替换地可通过远程云计算系统进行访问或以任何其他合适的方式进行访问。本地控制系统可存储输入、处理编程配置、直接输出控制、并提供任何适当的控制形式。在一些变型中,本地控制系统可配置有个性配置。
机器人的实施方案的个性配置用于提供行为模式指令。个性配置优选地表征由交互式机器人执行的动作类型和控制指令。个性配置可定义输入的输出响应。例如,个性配置可指定当机器人检测到照明的变化时执行舞蹈,当其检测到运动时发出警报,当驾驶时应避开物体或执行任何合适的逻辑。个性配置优选地是可更新的,并优选地根据从编程接口应用接收的交互和编程而演变或以其他方式更新。个性配置优选地初始化交互式机器人的一个新实例作为基本个性。在一个优选实现中,基本个性定义默认或最小响应逻辑,其用于模拟未教育/简单的新机器人。个性配置优选地通过机器人和/或应用交互来更新。随着时间,个性配置更新以至少部分地通过用户的交互进行的设置来提供定制响应逻辑。个性配置的至少一部分被存储和保持在交互式机器人上,使得机器人可独立于应用(例如,当机器人与用户设备断开连接或不由用户设备控制时)进行符合基于个性的行为。个性配置可附加地或可替换地远程进行存储和管理(例如,通过应用或在远程云平台中)。
在具体变型中,机器人100包括一组相对的机动化安装点,其被配置以可移除地连接到一组附件和/或围绕共享旋转轴线旋转;一组可视化输出机构(例如,单独地索引和可控的发光元件,诸如LED);一组音频输出机构(例如,扬声器);一组惯性传感器,其被配置以确定相对于重力矢量或其他外部参考点的机器人方向;一组光传感器;一组音频传感器;用于每个机器人马达或机器人马达的子集的马达监视系统;一组按钮;和无线通信机构(例如,蓝牙通信机构)。机器人还可包括电连接到有源机器人组件的机动化传动系统、处理器、非易失性存储器、板载电力存储器(例如,次级或可充电电池),和/或包括任何其它合适的组件。然而,机器人可具有任何其他合适的组件或配置。
1.2编程接口应用。
编程接口应用200用于向交互式机器人提供编程和交互控制接口。编程接口应用200用于从用户接收编程输入,并可附加地或替代地将编程输入转换为第二计算机语言(例如,目标语言,诸如汇编语言或机器代码)。编程接口应用200可附加地或替代地向用户提供音频和/或可视化反馈。
编程接口应用200优选地在用户设备210上运行(例如,由用户设备210支持),但可替代地在远程服务器上或在任何其他合适的计算系统上运行。用户设备优选地远离机器人(例如,与机器人分离并与机器人不同、物理上未连接到机器人等),但可选地可连接到机器人、安装到机器人或以其它方式与机器人相关联。用户设备可以是任何合适的计算设备,诸如移动设备(例如,智能手机、平板电脑等)、可穿戴计算机、台式计算机、连接电视的计算机、移动电话、另一电子玩具或任何合适的计算设备。系统可包括可与交互式机器人交互的一个或更多个编程接口应用。
编程接口应用200优选地包括被配置以促进机器人逻辑的编程和设置的用户接口。可如所描述的那样应用各种方法编程,诸如机器人动画、机器人操控、可视化编程和直接编程。当与交互式机器人通信时,编程接口应用优选地提供大部分控制指令。由交互式机器人捕获的输入数据可(例如,以接近实时、以预定频率、以可变频率、以固定频率等)被传送到编程接口应用,其中输入数据被处理并转换成响应数据,然后将其被传送到交互式机器人以便执行。可替换地,控制指令可在交互式机器人和编程接口应用之间具有任何合适的分布。编程接口应用的使用优选地有助于机器人的个性实例的更新和修改。
编程接口应用200优选地使用机器人应用编程接口或软件开发工具包,其用于促进与机器人的对接。可使用任何合适的编程接口。接口优选地被广泛用于各种应用和用途。优选地,存在可选择性(或同时)控制机器人的多个编程接口应用。
编程接口应用200还可补充交互式机器人的组件。例如,编程接口应用可用于提供音频输出。编程接口应用可类似地使用计算设备的传感器以补充或替换交互式机器人的输入端。
系统还可包括可促进帐户管理、个性同步和其他合适的特征的远程云平台。
2.通过机器人反馈增强编程教育的方法
如图2B和图3所示,用于通过机器人反馈增强编程教育的方法包括:在用户设备S100处接收编程输入;在用户设备S200处接收来自机器人的传感器数据;基于传感器数据将编程输入处理成控制指令S300;并基于控制指令S400控制机器人。方法还可包括根据控制个性S500控制机器人、接收编程输入和部分地基于编程输入来更新控制个性。
方法用于提供用于编程动作的基于字符的出口,以通过交互游戏来促进编程概念。该方法还可用于使用户(例如,儿童)能够实时或接近实时地对机器人进行编程。方法优选地通过可控实体的渐进开发和编程来利用基于玩具的游戏交互。方法优选地应用于诸如在上述系统中的交互式机器人实体的控制,但方法可选地可应用于任何合适的基于字符的实体的渐进开发和编程。例如,方法可选地可应用于模拟环境中的虚拟机器人(或任何合适的替代物)。虚拟机器人优选地通过模拟环境的图形表示来表示。方法优选地使用获得环境信息的机器人实体,并且然后通过动作来响应。机器人控制可部分地或完全地通过从应用获得的编程引导。
在机器人操作的一个变型中,机器人可将传感器信息(由机器人记录,诸如传感器测量结果)流式传输到编程接口应用(由远程用户设备支持),其中用户设备可基于传感器信息生成用于机器人的控制指令。用户设备可将控制指令流式传输到机器人,其中机器人基于控制指令进行操作,使得用户设备可远程控制机器人。机器人可实时或接近实时(例如,当测量被记录时)批量地以预定频率、响应于传输事件(例如,控制指令的完全执行)或以任何其它合适的频率流传输信息。在机器人操作的第二变型中,机器人可基于个性配置或其他存储的控制信息自动操作。然而,机器人可以以任何其它合适的方式进行操作。
该机器人操作的方法可提供优于常规系统的若干益处。首先,方法提供各种编程方法,其促进对编程概念的继续学习和调查研究,同时还提供适合于各种年龄和认知能力的儿童的各种编程接口。方法优选地应用在机器人编程平台内,其中在所述平台中用户可以以不同的速率进步、交互、共享知识并共享用作编程出口的机器人或其他合适的设备的使用。
第二,方法提供控制个性作为用于提供学习和表达编程课程的渠道的机制。完成编程课程或体验各种概念可导致机器人行为的定制,其可直接或间接地与用户设置的程序相关。
第三,通过将全部或大部分处理转移到远程用户设备,机器人需要减少的板载处理能力的总量,其可降低机器人制造的成本。卸载处理还可使系统能够在编程接口应用处近似实时地对编程输入(例如,代码或编程组件入口)作出反应,诸如通过控制机器人立即执行由输入编程组件指定的动作。这是可能的,因为远程用户设备同时用作控制系统和编程接口。另外,系统可立即检测故障(例如,其中与编程组件相关联的机器人动作不能被执行的情况)并将这些故障通知给用户。
相比之下,常规的远程控制系统仅允许用户输入用于机器人的控制指令,并且不允许或促进编程输入的使用(例如,编程组件)来控制机器人操作。因此,传统的远程控制系统不鼓励用户学习编程概念。该系统和方法还区别于常规编程系统和方法,其需要预先写入、编译整个控制程序,然后加载到机器人上用于执行。这些系统不赋予该系统和方法的实时反馈和调试的优点,因为程序是完全独立于机器人执行而编写的。
2.1在用户设备上接收编程输入.
在用户设备处接收一组编程输入用于从用户获得编程配置S100。编程输入可以是编程组件、编程例程、脚本、应用逻辑、编译的应用对象或可引导机器人的控制指令的任何合适的配置。该组编程输入可包括一个或更多个编程输入,并且可定义控制路径。当该组包括多个编程输入时,该组可以是时间有序的(例如,是一系列编程输入或编程输入的序列)、是无序的、或在该组的编程输入之间具有任何其他合适的关系。编程输入优选地是表示要执行的机器人动作的编程语句,但可附加地或替代地是简单语句、复合语句或是任何其他合适的编程语句。然而,编程输入可以是表达式或是任何其他合适的编程输入。
优选地,通过在用户设备上运行的编程接口应用来接收该组编程输入。然而,可以以任何其它合适的方式接收编程输入。编程接口应用可以是应用网站、物理控制器或可通过其指定编程行为的其他合适的接口。用户设备可远离机器人、物理连接到机器人(例如,通过有线)、安装到机器人或以其他方式与机器人相关联。编程输入优选地是从用户接收的,但可替代地可以是从第二机器人、远程计算系统(例如,服务器)或是从任何其他合适的源接收的。编程输入可在机器人与用户设备连接之前、期间或之后接收;在机器人执行编程输入之前、期间或之后接收;或在任何其他合适的时间接收。编程输入可表示机器人移动、机器人音频输出、机器人可视化输出、条件语句,或表示任何其它合适的机器人功能(机器人能力)或编程语句。
可通过各种不同的编程接口应用以各种不同的方式接收编程输入组,其中每个编程接口应用能够与机器人对接。可替代地,编程输入可通过单个编程接口应用接收,通过一组不同的编程接口模式接收,或以任何其它合适的方式接收。机器人接口,更优选地机器人软件开发工具包,但可选地任何其他合适的机器人接口,可附加地或可替代地提供各种编程输入模式,每个编程输入模式能够与一个或更多个编程接口应用对接,但编程输入模式可替换地可在应用内本地启用。编程模式的示例包括操控编程模式S110、动画编程模式S120、可视化编程模式S130和编程语言模式,但可使用任何其他合适的编程输入模式。各种编程输入模式可单独使用或以任何合适的组合使用。各种编程模式可具有各种优点,并可基于技能水平吸引不同的用户。
编程输入可通过由用户执行的自由形式编程(即,在没有提供特定指示的情况下)来接收。可替换地,可在应用中呈现的特定挑战内接收和处理编程输入。可呈现挑战的序列,其指导用户通过各种目标。该组挑战可用来逐步引入新的编程概念。该组挑战还可基于机器人的能力更新。例如,特定的附件可实现机器人的不同功能,并且可用的挑战可取决于可用的能力。机器人个性还可通过进行连续的挑战来开发。在一个变型中,可基于用户解决挑战的方式来开发不同的机器人个性。例如,如果用户系统地使用相同的编程输入组来解决挑战,机器人个性可更“谨慎”或“仔细”,而如果用户快速尝试使用先前未使用的编程输入来应对挑战,机器人个性可更“冒险”。然而,机器人编程游戏化可以其他方式使用。
一旦使用动画模式、操控模式和/或任何合适的模式捕获控制路径,则控制路径可用作机器人的动作。捕获的控制路径优选地表示为用户界面中的图形对象,其可被组合并定位在用户界面内以定义何时使用控制路径。各种条件语句可被添加到控制路径,并可被组织为动作的顺序序列,作为不同动作状态的状态机,或以任何合适的方式用作编程指示。还可存储、下载和共享控制路径。控制路径可被组合、被分组和被分层控。在一个实现中,可在用户界面中的分层时间线上操纵多个控制路径。时间线的每一层可指机器人的不同出口或任何合适的方面。
可向控制路径和控制路径组分配标识符,其中标识符可用于在其它编程语义中(诸如在编程语言脚本或可视化编程模式中)引用控制路径。另外,方法可包括基于控制路径生成控制指令。控制指令(控制指示)优选地是用于机器人组件或子组件的低级控制指示。在一个变型中,可处理控制路径以产生一组中级到高级控制指令。这些较高级控制指令可被分解为一组控制原语,这些原语优选地被发送到机器人并还可通过用户界面显示。控制原语可包括诸如左(10)、右(10)、前进(2.3)、声音(记录1.mp3)和右臂(10,5)的指令。将控制路径分解成控制原语可示出用户可如何程序化地构造控制路径。另外,其可使用户能够快速获得一组通用的控制指令,并且然后手动修改控制指令以适合逻辑要求。还可存在用户可访问的多个抽象层,诸如高级控制路径对象、中级编程输入、低级机器人控制指令和子组件级控制原语。暴露的水平可由用户选择或可基于检测到的用户的编程水平自动呈现。在第二变型中,分解控制路径可包括对控制路径进行分类。控制路径中的模式可用于自动标记控制路径对象。分类优选地提供在控制路径中表达的控制类型的描述性名称。例如,机器人向前转和向右转的控制路径可标记为“转角向右转”,并且机器人接触墙壁然后反转方向的控制路径可标记为“在墙壁处转身”。
2.1.1编程模式变量。
操控编程模式S110可包括将机器人的物理操纵记录为控制路径,其用于使孩子能够通过处理玩具机器人来对机器人编程。可将控制路径转换成编程输入,其可在编程接口应用上呈现,在编程接口应用上编辑,随后用于控制机器人(或第二机器人),或以任何其它合适的方式使用。如图6所示,用户可通过与机器人的物理游戏来定义丰富的动作序列。在第一示例中,当用户在地板上推动机器人时,可记录机器人的路径。在第二示例中,当用户移动相应的组件时,机器人头部、尾部或安装点致动可被记录为控制路径。优选地可以以基本上类似于动画模式的方式使用操控,除了代替与编程接口应用交互,用户执行或做出对机器人期望的动作。
记录作为控制路径的机器人的物理操纵可包括:在物理机器人操纵期间捕获机器人的传感器数据S112,并将传感器数据转换成控制路径S114。方法还可包括将控制路径转换成一组编程输入(例如,编程语句),在用户设备上呈现编程输入的表示,并接收对编程输入的修改。
在物理操纵期间捕获机器人的传感器数据S112用于捕获指示用户期望的控制路径的信息。可由机器人、由用户设备、远程服务器系统、由次级机器人、由远离机器人的辅助传感器或由任何其他合适的计算系统,捕获和提供传感器数据(例如,操纵传感器数据、传感器测量等)。在一个示例中,捕获传感器数据可包括在机器人处记录和存储操控传感器数据,然后在物理操纵停止之后将操控传感器数据发送到用户设备。在第二示例中,捕获传感器数据可包括实时或接近实时地将传感器数据流式传输到远程用户设备,其中远程用户设备可存储和处理传感器数据。
捕获传感器数据S112可包括当传感器生成数据时记录传感器数据、将传感器信号转换为次级信号并记录次级信号,或以任何其它合适的方式捕获信号。传感器数据优选地是来自机器人上的板载传感器(例如,机器人的传感器)的数据(例如,测量),但可替代地可以是来自远离机器人的次级设备上的传感器的数据,集合从传感器测量产生的数据(例如,指示传感器、组件或子系统性能的数据等),或是来自任何其它合适源的数据。例如,用户设备上的编程接口应用可指示用户在物理机器人操纵(例如,使用用户设备相机、麦克风、惯性传感器或其他传感器)期间记录机器人,其中记录的传感器测量结果可被随后分析(例如,使用视觉分析技术、音频空间分析技术等)以提取控制路径。
操纵传感器数据可以是从一个或更多个传感器收集的一个或更多个数据片段。传感器数据可以是单个传感器测量结果或信号、传感器数据的时间序列系列或序列(例如,其中每个传感器测量结果或信号与相对或绝对时间戳相关联)、传感器数据的时间不可知的组、或是以任何其它合适的方式组织的任何其他合适的数据集。传感器数据可以是传感器测量结果或信号值、传感器测量类型(例如,给定传感器或传感器类型是否已记录测量的二进制指示)、传感器测量分类、或是任何其它合适的传感器数据。传感器数据可以是用于机器人控制的传感器数据(例如,由机器人处理器用于控制机器人操作的数据、发送到远程用户设备并由远程用户设备用来控制机器人操作的数据等),或者是其他数据。传感器测量可包括惯性传感器测量(例如,来自板载加速度计、陀螺仪、磁力计等);位置测量(例如,诸如来自GPS、三角测量、三边测量的绝对位置或其它绝对位置确定系统,相对位置,诸如来自信标或其它相对位置确定系统等)、相机测量(例如,图像或视频);音频测量;环境光测量;马达反馈,诸如马达角位置的测量(例如,来自旋转编码器、电流反馈等)和/或马达运动的测量;或包括任何其它合适的机器人操作参数或环境参数的任何其它合适的测量。
在捕获操纵传感器数据S112的第一示例中,记录马达位置反馈并随后用于确定由马达控制的组件的运动。在捕获传感器数据的第二示例中,可在物理机器人操纵期间记录环境音频和/或视频,其中可随后回放相同或相似的音频和/或视频剪辑。还可随后分析记录的音频和/或视频剪辑以提取可添加到随后生成的操控编程语句组的指令(例如,说“闪红灯”的语音)。在捕获传感器数据的第三示例中,可响应于按钮的选择或启动来播放音频和/或视频剪辑,其中与传感器数据集相关联地存储音频和/或视频剪辑的标识符。在特定示例中,音频和/或视频剪辑标识符与标识在操纵时段期间播放音频和/或视频剪辑时间的时间戳一起存储。然而,可捕获并随后使用任何其他合适的传感器数据。
操纵传感器数据优选地在机器人的物理操纵期间被捕获,但也可在任何其他合适的时间被捕获。传感器数据可在检测到操控触发事件(物理编程触发事件)之后被捕获、连续捕获(其中机器人或用户设备上的次级过程确定保留或丢弃哪些数据),或响应于任何其他合适的记录事件被捕获。触发事件可以是对在机器人上外力的应用的检测、按钮致动的确定(例如,在机器人上或在用户设备上)、图标选择的确定,或是任何其他合适的触发事件。检测在机器人上外力的施加可包括检测与由控制指令指定的运动不同的机器人运动。
在第一示例中,当致动机器人臂但控制指令没有指定机器人臂致动和/或机器人处理器没有控制臂致动时,可检测外力的施加。在具体示例中,可将控制臂马达的马达位置反馈与期望的位置反馈(例如,基于提供给马达的电力的量)进行比较以识别外力施加。在第二示例中,当机器人比基于提供给马达的电力的量确定的预期速度更快(例如,以速度或加速度计)移动时,可检测到外力的施加。然而,可以以任何其它合适的方式确定外力。传感器数据优选地记录为操控传感器数据(例如,操控传感器测量等),直到检测到停止事件,但可替代地可从任何合适的持续时间记录。停止事件可以是按钮致动的确定、图标选择的确定、机器人输入停止的确定(例如,当物理操纵已经结束时),或是任何其他合适的停止事件。
捕获操纵传感器数据S112还可包括启用机器人的物理操纵。可响应于触发事件的检测而启用机器人的物理操纵,或在任何其他合适的时间启用机器人的物理操纵。在一个变型中,实现机器人的物理操纵包括分配机器人输出以选择机器人输入。例如,第一光输出(例如,由发光元件2发射的红光)可分配给第一按钮,并且第一音频输出可分配给第二按钮。在第二变型中,启用机器人的物理操纵还可包括在处于操控模式时调节致动组件上的阻力(例如,降低由用于动力传动系统、头部、尾部、臂或其他部件的马达提供的阻力)。然而,可以以任何其它合适的方式启用物理机器人操纵。
将操纵传感器数据转换成控制路径S114用于将传感器数据转换为用于随后的机器人控制的指令。控制路径可包括用于机器人的一组控制指令(控制指示)或包括任何其他合适的数据。该组控制指令优选地是一系列控制指令或控制指令的序列,具有与每个指令相关联的相对或绝对时间戳,但可选地可以是时间不可知的控制指令集,或以任何其他合适的方式组织。优选地传感器数据被自动转换为控制路径,但可替换地可响应于用户输入的接收而被转换为控制路径,被手动转换或被以其它方式转换。传感器数据优选地由用户设备转换为控制路径,但可替换地可由机器人或任何其他合适的计算系统转换。
将操纵传感器数据转换为操控控制路径可包括通过将传感器数据与预定的参考数据进行比较来识别控制指令,其中预定的参考数据与控制指令相关联(示例在图8中示出)。然而,可根据传感器数据计算控制指令,根据传感器数据估计控制指令,或其他基于传感器数据确定控制指令。
所识别的控制指令可随后被添加到与操纵传感器数据集内的匹配的传感器数据的位置相对应的位置(例如,时间位置、空间位置等)的一组操控控制指令(操控控制路径)。预定的参考数据还可用于在远程机器人控制期间验证控制指令的性能。然而,传感器数据可以以任何其它合适的方式转换成控制路径。操纵传感器数据可在物理操纵周期之后,或在任何其它合适的时间,实时地,接近实时地,转换成控制指令。在一个变体中,将传感器数据与预定参考数据进行比较包括将所记录的传感器数据模式与预定的参考传感器数据模式基本上匹配(例如,准确匹配;在阈值误差范围内匹配,诸如在5%以内;使用模糊逻辑匹配等),其中每个预定参考传感器数据模式与控制指令相关联。在一个示例中,响应于左侧马达编码器测量的比由机器人传动系的右侧马达编码器测量的更慢的马达旋转速率,可检测到左转。
在第二变体中,将传感器数据与预定参考数据进行比较包括将在记录的传感器测量值内的模式与预定的参考传感器测量值内模式基本上匹配(例如,准确匹配;在阈值误差范围内匹配,诸如在5%内;使用模糊逻辑匹配等),其中每个预定的参考传感器测量值模式与控制指令相关联。值可以是绝对值、值变化率(例如,速度、加速度等),或是任何其它合适的值。在一个示例中,可基于马达旋转速率来确定机器人速度,如基于马达编码器测量确定。然而,还可以其他方式根据传感器数据确定控制指令。
记录物理机器人操纵还可包括将操控控制路径转换成一组操控编程输入S116(其示例在图7和图8中示出)。这可用于向用户显示一组编程输入,其要求将机器人编程为以由物理操纵指定的方式行动。操控控制路径可在物理操纵周期之后,或在任何其它合适的时间,实时地,接近实时地,转换操控编程输入。控制路径可包括一系列时序性控制指令或时序性控制指令的序列,或是以任何其他合适的方式组织的一组控制指令。一组编程输入可包括一系列时序性编程输入或编程输入的序列,或以任何其它合适的方式组织。编程输入可以是编程组件(例如,如图8所示)、虚拟矢量(例如,如图7所示),或是任何其它合适的编程输入。将控制路径转换成一组编程输入优选地包括将来自控制路径的一个或更多个控制指令的模式和预定的参考控制指令模式进行匹配(例如,准确匹配;在阈值误差范围内匹配,诸如在5%内;使用模糊逻辑匹配等),其中预定的参考控制指令模式优选地与编程输入相关联。所识别的编程输入可随后被添加到与在操控控制指令集内匹配控制指令的位置相对应的位置(例如,时间位置、空间位置等)的一组操控编程输入。然而,编程输入可被计算、生成或以其他方式根据控制路径确定。
方法还可包括将补充的机器人动作转换为外部控制指示,其用于指示外部组件或用户操纵机器人。外部控制指示(例如,用户动作提示或指令)可与一个或更多个补充的机器人动作(例如,模式)相关联。外部控制指示可在机器人操纵回放期间(例如,类似于用户设备编程模式中的机器人操作)呈现(例如,在编程接口应用上呈现、由机器人播放或以其他方式呈现),但可呈现为编程输入的操纵集内的组件,或在任何其它合适的时间呈现。在一个示例中,当机器人在操纵过程期间被提升(并且机器人缺乏垂直平移机构)时,外部控制指示可以是引导针对机器人的用户动作的语音音频。在上面的楼梯示例中,外部控制指示可播放“将我抬起大约一英尺”的消息。
记录物理机器人操纵还可包括呈现编程输入的表示,其用于在用户设备上的编程接口应用上显示该组操控编程输入的图形表示(图7和图8所示的示例)。编程输入图形表示可以是一个或更多个路径、图标(例如,沿着路径放置的标注)、表示编程组件的块、编写的代码,或者是任何其他合适的图形表示。可实时、接近实时(例如,当基于传感器数据确定编程输入时)、物理操纵周期之后或在任何其它合适的时间,呈现编程输入图形表示。
记录物理机器人操纵还可包括修改一组操控编程输入S118,其可用于接近物理操纵或调整由机器人回放的路径。在物理机器人操纵周期结束之后优选地修改该组操控编程输入,但可选地可在物理机器人操纵期间或在任何其他合适的时间修改该组操控编程输入。该组操控编程输入可由用户修改、由编程接口应用自动修改(例如,以适应或移除补充机器人动作),或以任何其它合适的方式修改。
在一个变型中,用户可从该组操控编程输入添加和/或移除编程输入(例如,通过删除或添加编程输入、拖动和放下编程输入的图形表示等)。
在第二变型中,当一组动作可包括补充的机器人动作或不能完美可再现为一组机器人控制指示的机器人动作(例如,传感器数据可以是不完美的或在机器人上执行的动作可以是物理上不可能由机器人在没有辅助的情况下被执行的)。该变型还可包括识别补充的机器人动作并修改该组操控编程输入。这可由机器人、由编程接口应用或由任何其他合适的组件来执行。识别补充的机器人动作用于识别落在机器人动作的预定义的范围之外的机器人动作。识别补充的机器人动作可包括识别与预定的参考模式或值不匹配的传感器数据(或与机器人动作相关联的其他合适的信息)的模式或值(例如,识别偏差传感器数据模式),或识别匹配用于补充动作的预定参考模式或值的传感器数据的模式或值。与传感器数据进行比较的一组预定参考模式或值优选地是与自主机器人能力相关联的参考模式或值(例如,机器人仅使用板载组件可执行的机器人动作),但还可包括与辅助机器人能力相关联的参考模式或值(例如,机器人可使用辅助组件执行的机器人动作,诸如由可移除地耦合到机器人的臂所实现的动作),与预定的一组的补充动作相关联的参考模式或值(例如,与板载能力之外的机器人动作相关联的参考模式或值),或是任何其他合适的参考模式或值。然而,可另外确定补充的机器人动作。
在一个示例中,与预定的一组补充动作相关联的参考模式可以是沿着与重力相反的矢量的一系列加速度测量,如从惯性传感器(例如,加速度计或陀螺仪)确定的,其可与机器人在垂直方向上行进相关联。如果用户记录将机器人向上移动一段楼梯,则垂直运动可能不能通过机器人的移动能力来实现。
在第三变型中,编程输入或外部控制指示可被自动修改。在自动操操纵编程输入修改的第一示例中,如果传感器数据指示机器人被垂直提升,然后向前移动,则该方法可包括自动确定需要近似行进的垂直和水平距离的跳跃力和角度(例如,由尾部施加到支撑表面上),和用跳跃控制指令替换外部控制指示或步骤的其它表示。在自动操纵编程输入修改的第二示例中,如果传感器数据指示机器人向前行进到左侧然后向前到右侧,则该方法可包括用向前方向上的直线路径自动替换检测到的路径。该替换可响应于与直线路径的偏差低于阈值偏差(例如,低于25%)而发生,其中阈值偏差可以是指示用户意图(但是不能)使机器人向前直线移动线的中断。然而,可以以其他方式调整或修改操纵编程输入。在手动操纵编程输入修改的一个示例中,该方法可包括在编程接口应用从用户接收的对操控路径(例如,一组操纵编程输入)的修改(例如,添加、移除、重新排序、参数调整等)。
操控模式S110还可支持在路径期间捕获条件事件。设置条件事件可需要与编程接口应用交互,但可通过机器人的输入来触发。例如,机器人可具有用于触发特定类型的条件事件捕获的按钮。在特定示例中,方法可包括检测条件事件记录指示符、在机器人处记录输入(例如,击掌或语音输入)、在输入记录之后记录一组条件事件传感器数据,然后将基于条件事件传感器数据所确定的编程输入与输入相关联。方法还可包括在编程接口应用上分类输入并呈现输入的图形表示(例如,作为文本、块、图像等)。然而,还可以其他方式捕获条件事件。
在方法的一个变型中,操控可用于与动画组合。例如,可通过绘图指定机器人的驱动路径,但可通过臂杆的物理操纵来引导臂位置。臂运动的图形表示还可随后被添加到沿着驱动路径的相应位置。然而,机器人编程模式可单独使用、与第二编程模式结合使用、或以任何其它合适的方式使用。
方法还可包括一个或更多个用户设备编程模式,其用于允许用户使用用户设备指定机器人动作的序列(例如,编程机器人)。用户设备编程模式的示例包括动画编程模式S120、可视化编程模式S130、语言编程模式、或包括使得用户能够从用户设备编程机器人的任何其他合适的模式。系统可在操控模式和用户设备编程模式之间操作,可同时在操控模式和用户设备编程模式中操作,或以任何其他合适的方式操作。当系统同时在两种模式下操作时,从操控模式提取的编程输入可自动地添加到一组编程输入(例如,在对应于接收到操控机器人动作的时间的位置)或以其它方式处理。
动画编程模式S120可包括:在动画编程接口应用处接收控制路径,并将控制路径转换为机器人的控制指示。动画编程模式优选地用于指定机器人的虚拟驱动路径,但附加地或可替代地可用于指定沿着控制路径在用户指定的位置执行的机器人动作。如图9、图10和图11所示,可在用户界面中绘制路径以示出机器人应当作为指令执行的移动。在该变型中,方法可包括:检测控制路径记录事件(例如,“记录路径”选项的用户选择);接收定义输入路径的基本上连续的用户输入(例如,用户手指、鼠标或指示笔在用户设备的触摸屏上绘制的路径);在与输入路径一致(例如,近似、匹配等)的虚拟空间内记录虚拟控制路径;以及生成机器人的控制指令(控制指示)以使机器人沿物理空间内的物理路径移动,该物理空间的物理路径基本上镜像虚拟空间内的虚拟路径。虚拟控制路径优选地包括每个与相对时间戳相关联的一组相对虚拟位置(例如,相对于起始点,相对于虚拟参考位置等),使得控制路径被记录为时间的函数。然而,虚拟控制路径可被存储或与任何其他合适的参数相关联。在一个变型中,可通过围绕显示在用户设备上的虚拟网格移动机器人的虚拟表示来接收路径,其中虚拟网格相对于机器人等比例。虚拟网格可代表邻近玩具机器人的物理环境,或代表任何其他合适的环境。
动画编程模式S120还可包括:记录沿着输入路径的用户输入遍历的速度、加速度或任何其他合适的遍历参数;和生成控制指令以利用与输入路径遍历参数相对应(例如,匹配、缩放等)的参数沿着物理路径移动机器人。可替代地,与控制路径相关联的遍历参数(例如,速度、加速度、循环和自旋等)可在控制路径创建之后随后添加到控制路径,或以任何其它合适的方式与控制路径相关联。在可替代的变型中,通过控制应用内的虚拟替身(例如,机器人的CG表示)来表示记录控制路径,或可替代地机器人可在记录控制路径时响应控制路径。
如图10所示,动画编程模式S120还可包括沿着控制路径在用户指定的位置执行辅助机器人动作的接收语句。这可用于控制机器人的其他出口,诸如声音、灯光和机械位置。辅助机器人动作语句可在控制路径输入之前、期间或之后接收;在机器人控制路径的执行之前、期间或之后接收,或在任何其他合适的时间接收。辅助机器人动作语句可在时间上与控制路径相关联(例如,基于路径位置和机器人动作语句时间戳之间的共享时间戳,与沿着的控制路径的位置相关联),位置上与路径相关联(例如,通过用户与路径位置相关联),或以其他方式与路径相关联。在前一变型中,机器人动作语句时间戳可以是选择机器人动作语句的时间、用户分配给机器人动作语句的时间戳,或是任何其他合适的时间戳。辅助机器人动作可以是预定的,在路径输入期间从周围环境记录的,或以其他方式确定的。
在第一示例中,添加辅助机器人动作可包括在沿着先前绘制的控制路径的图形表示的位置处拖动和放下辅助机器人动作的图形表示。在第二示例中,添加辅助机器人动作可包括在绘制控制路径时选择辅助机器人动作的图形表示(例如,其中用户可暂停或停止路径输入,选择辅助机器人动作的图形表示,然后通过选择新添加的辅助机器人动作或路径结束来恢复控制路径入口)。在第三示例中,可在记录控制路径以触发灯时轻敲按钮。在第四示例中,机器人或用户设备的麦克风可在控制路径记录期间记录音频,其中记录的音频可在物理机器人路径遍历期间被发送到机器人或由机器人检索和回放。然而,在动画编程模式中编程下,辅助机器人动作可以以其他方式被添加到控制路径。
控制路径还可包括在路径期间捕获条件事件,其用于使得动态和响应的控制指令能够通过动画化机器人来捕获。在记录路径时,用户可触发条件捕获事件,其可感测特定事件。例如,当记录控制路径时,用户可选择“击掌计数条件”;然后用户将击掌满足条件的次数;并且然后基于击掌计数条件执行有条件的动作。其他条件事件可包括光转变、短语(通过语音识别检测)、运动条件、对象条件(例如,通过图像识别检测对象的存在、深度感测或其他合适的技术),面部识别条件或其他合适的条件。条件事件可以以类似于添加辅助机器人动作的方式被添加,或以任何其它合适的方式被添加。
动画编程模式S120还可包括接收动画设计文档。例如,可向控制路径提供定义控制路径的动画动作的文档。例如,机器人运动的动画可在3D建模软件(例如,MAYA、SketchUp等)中生成,传送到应用,并且翻译成控制指示。在第二示例中,如图11所示,控制路径可由与物理地图(例如,垫等)上的路径相关联的动画设计文档来定义或限制,其中机器人可随后在物理地图上使用标记以在对应于控制路径开始路径的地图上定位物理起始点,并沿着所选择的控制路径自动地遍历。动画设计文档的使用可使更高级和复杂的机器人动作能够被设置用于机器人。
系统还可在可视化编程模式S130(图12所示的示例)和编程语言模式之间操作。可视化编程模式可使用任何合适的可视化编程技术人员。例如,编程组件可被呈现为可被布置和定制以定义应用逻辑的虚拟的、可连接的块。在一些变型中,可实现编译器和/或翻译库,使得可使用诸如Blocky、Scratch的工具和其他合适的可视化编程工具。控制路径可用作可视化编程模式下的块。控制路径可用作可视化编程模式下的块。编程语言模式优选地通过一个或更多个编写的例程使用任何合适的编程语言语义来提供环境以定义应用逻辑。。例如,可使用C、C++、Java、processing或任何合适的编程语言。机器人相关功能、变量、数据对象和其他合适的编程资源的一个或更多个库可在编写的代码中被显示和使用。另外,可以以任何合适的组合使用编程语言模式、可视化编程模式、来自动画模式和操控模式的控制块。
b.在用户设备接收来自机器人的传感器数据。
在用户设备S200处从机器人接收传感器数据用于接收机器人控制指令性能的反馈,接收用于进一步的控制指令生成的机器人输入(例如,用于继续远程机器人控制),接收用于机器人性能分析的数据,接收用于控制路径确定的数据(例如,当系统在操控模式下操作时),或接收用于任何其它合适功能的数据。接收的传感器数据可包括:将传感器数据从机器人发送到用户设备,以及在用户设备处接收来自机器人的传感器数据。传感器数据可由机器人以预定频率(例如,固定或可变频率)发送,响应于传输事件的发生而被发送(例如,响应于机器人按钮的按下,响应于接收到来自用户设备的传输命令等),当传感器数据被生成或记录时被发送(例如,实时地或接近实时地),响应于机器人与用户设备连接而被发送,或在任何其他合适的时间被发送。机器人还可在传输之前压缩、加密或以其它方式处理传感器数据。传感器数据可以是原始传感器数据(例如,原始传感器信号)、处理的测量(例如,其中信号被处理成传感器测量)、传感器概要(例如,其中测量可被加工成更高级别概要),或是任何其他合适的数据。可由机器人、由用户设备、远程服务器系统、由一组次级机器人、由远离机器人(例如,机器人外部)的辅助传感器或由任何其它合适的计算系统捕获和提供传感器数据。传感器数据可由用户设备以预定频率被接收,响应于传输事件被接收,实时或接近实时被接收,在数据被发送时被接收,或以任何其他合适的频率被接收。
从机器人S200接收数据还可包括将用户设备连接到机器人。用户设备可无线地连接到机器人,通过有线连接到机器人,或以其他方式连接到机器人。优选地用户设备可移除地或瞬时地连接到机器人。用户设备优选地响应于连接图标的选择(例如,响应于对指示机器人的图标的选择)而被连接到机器人,或响应于任何其它合适的连接事件的发生而被连接。用户设备可同时连接到单个机器人或多个机器人。在一个变型中,用户设备可经由蓝牙或其它短距离连接而被连接到机器人,其中在通电时机器人可周期性地或连续地广播信号,用户设备可搜索并显示指示机器人在选择搜索图标时物理地邻近用户设备(例如,受到短距离通信的范围的限制)的图形,并且用户设备可响应于对应的机器人图标的选择来建立到机器人的瞬时连接。然而,机器人可以以任何合适的方式连接到用户设备。
c.将编程输入处理成控制指令。
基于用于远程地生成用于机器人的控制指令的传感器数据S300,基于从用户接收的编程输入,其响应于接近瞬时机器人操作条件,将编程输入处理为控制指令。基于编程输入将传感器测量结果处理成控制指令还可使得机器人能够动态地响应于意外的环境或操作条件,诸如机器人的路径中的障碍物、机器人的路径中的悬崖、必要的附件的缺乏,或响应任何其他合适的条件。基于编程输入将传感器测量结果处理为控制指令还可使机器人能够动态地反映(例如,实时地或接近实时地)新输入的编程输入(例如,执行与编程输入相关联的操作),其可使得该组编程输入在它们由用户输入时被调试。
如图4所示,优选地响应于在机器人处接收到用户输入生成控制指令(例如,在机器人处的按钮致动,其中指示按钮致动的数据可被发送到用户设备以触发控制指令生成),但可替换地可响应于用户设备连接到机器人、响应于在编程接口应用处的编程输入接收、响应于在编程接口应用处接收的运行命令生成控制指令,或响应于任何其它合适的执行事件的发生生成控制指令。控制指令优选地完全由用户设备(例如,通过编程接口应用)生成,但可替换地可完全地或部分地由机器人或远程计算系统生成。控制指令优选地被发送到机器人,其中机器人(更优选地为机器人处理器,但可替换地为任何其他合适的组件)接收控制指令并根据控制指令进行操作(例如,其中处理器或其他控制系统根据控制指令控制机器人组件操作)。控制指令优选地在它们生成时被发送,但可选地可以以束的形式发送,响应于执行了最后的控制指令的确定而被发送,或以任何其它合适的频率被发送。
该组的每个编程输入可与该组的其余部分一起处理、在子集中处理或单独处理。编程输入优选地由用户设备、机器人或其他计算系统自动处理,但可替换地可响应于接收到用户输入而进行处理、手动处理或以任何其它合适的方式处理。在接收到传感器数据之前、在接收到传感器数据之后、在确定已经执行最后一组控制指令之前、在确定已经执行最后一组控制指令之后编程输入可被处理为控制指令,或在任何其他合适的时间被处理成控制指令。
在用户设备,处理编程输入S300可包括:响应于第一组传感器数据的接收基于第一组传感器数据将第一编程输入处理成第一组控制指令;接收第二组传感器数据;然后将下一编程输入处理成编程输入序列(例如,下一未执行的编程输入、第二编程输入等)或将其子集处理成基于第二组传感器数据(例如,随后接收的传感器数据)的第二组控制指令。然而,还可以以其他方式处理编程输入。方法还可包括对连续的传感器数据集和连续的未执行的编程输入迭代地重复该方法,直到已经处理和执行了最后的编程输入。第一组和第二组传感器数据可在相应的编程输入在编程接口应用处被接收之前被记录,当相应的编程输入在编程接口应用处被接收时被记录,或在相应的编程输入在编程接口应用处被接收之后被记录。附加地或可替代地,可基于编程输入和次级数据生成控制指令,其中次级数据可以是用户设备传感器数据、从远程服务器接收的信息,或是任何其他合适的数据。
在一个变型中,如图5所示,当接收到编程输入时,生成控制指令和/或将控制指令发送到机器人。这可用于启用动态程序调试。如图4所示,在第二变型中,在已经接收到一系列编程输入之后产生控制指令。这可用于在机器人上执行整个程序。然而,可在任何合适的时间生成(和发送)控制指令。第二组传感器数据优选地根据第一组控制指令在机器人操作期间被记录(通过机器人或外部系统),但可替换地可在根据第一组控制指令的机器人操作之前或之后记录。响应于从用户设备接收到的请求,或在任何其他合适的情况下,可以以预定频率在数据被记录时将第二组传感器数据发送到用户设备(例如,从机器人或记录设备)。
如图4所示,方法还可包括基于第二组传感器数据确定第一组控制指令的机器人性能(执行),其中响应于已经执行了第一组控制指令的确定将下一个编程输入处理为第二组控制指令。可通过在误差阈值程度内(例如,在5%误差内)将传感器数据的模式、值或其他参数与预定模式、值或与控制指令性能相关联的其它参数匹配(例如,基于指定的机器人能力或功能的输出等)从传感器数据集确定控制指令集的性能。可替换地可基于第三组传感器数据来处理第二编程输入,或以任何其他合适的方式处理第二编程输入。
方法还可包括在编程输入执行期间动态地修改一组编程输入。这可用于允许用户在运行中改变机器人编程(例如,控制路径、条件语句等)。在该变型中,方法可包括当正在执行该组编程输入时接收编程输入组的修改,以及响应于修改的接收而生成修改的一系列编程输入。方法还可包括基于随后接收的传感器数据和修改的一系列编程输入自动生成控制指令。不管哪个编程输入被修改或新的编程输入被插入到哪里(例如,其中机器人在修改接收之后执行修改的编程输入)这都可被执行,或只有在瞬时执行位置之后修改的或新的编程输入在编程输入系列内这可被执行。然而,编程输入集可以以其它方式被修改,并且机器人控制可以以其他方式受影响。
如图5所示,方法还可包括识别防止基于第二组传感器数据执行下一个未执行的编程输入的条件。识别防止下一个未执行的编程输入的条件可包括确定第二组传感器数据与后续编程输入的要求之间的不一致性。然而,可以以任何其它合适的方式确定阻塞条件。防止执行下一个未执行的编程输入的条件的示例包括在机器人运动路径中障碍物的存在,缺少用于规定的机器人动作所需的外部部件组件(例如,附件、支撑表面等)的缺乏,或任何其他合适的条件。
识别防止执行下一个未执行的编程输入的条件还可包括暂停机器人控制指令执行并将错误通知用户。暂停机器人控制指令执行可包括生成并向机器人发送暂停控制指令,其中机器人可停止所有控制指令执行,停止控制指令子集的执行(例如,不受阻碍条件影响的那些指令)或响应任何其它合适的方式。将错误通知用户可包括控制机器人以将错误通知用户(例如,向机器人发送控制指令以播放“无法移动!”,以闪光警告灯或播放警告声),在编程接口应用或用户设备上显示失败通知,在编程接口应用或用户设备上显示可用的编程输入选项(例如,显示“备份”输入选项或“转向”输入选项),或以任何其他合适的方式通知用户。当向用户呈现编程输入选项时,方法还可包括基于传感器数据识别可用于机器人的机器人动作(或相关联的编程输入),其中所显示的编程输入选项是可用机器人动作的虚拟表示。方法还可包括响应于编程输入选项选择接收而控制机器人(使用用户设备)以执行所选择的编程输入选项。控制机器人以执行所选择的编程输入选项可包括用所选择的编程输入替换未执行的编程输入,在编程输入队列内的未执行的编程输入之前插入所选择的编程输入,或以其它方式优先执行所选择的编程输入。然而,还可以其方式处理编程输入。
d.基于控制指令控制机器人。
基于控制指令S400控制机器人用于基于在用户设备处接收的编程输入来远程地控制机器人。控制机器人可包括,在机器人处:在机器人处接收控制指令,并控制机器人子组件以执行控制指令。可通过与用于发送传感器数据的通信信道相同的通信信道来接收控制指令,通过不同的通信信道或协议接收控制指令,或以任何其他合适的方式接收控制指令。响应于控制指令接收、在控制指令接收的阈值时间段内(例如,立即、尽可能快、在5秒内等)、响应于性能事件的确定(例如,当满足条件事件时),可执行控制指令(例如,基于控制指令操作的机器人),或在任何其他合适的时间执行控制指令。
e.机器人个性。
如图14所示,方法还可包括根据控制个性S500控制机器人。控制个性可包括一组控制指令,该一组控制指令独立于用户设备控制来控制机器人操作,并且可定义默认的机器人行为。在一个变型中,机器人在待机模式下根据控制个性操作(例如,当机器人未从用户设备接收控制指令时,由用户设备以其他方式远程控制,或以物理编程模式操作)。在第二变型中,机器人可在用户设备远程控制期间根据个性完全地或部分地操作,其中机器人动作可根据控制个性被自动补充或修改。然而,机器人可基于控制个性以任何合适的方式进行操作。
根据控制个性S500控制机器人用于执行引导机器人动作的应用逻辑。根据控制个性控制机器人可包括以自主模式和以委派控制模式(例如,用户设备编程模式)控制机器人。自主模式优选地接合本地控制系统。本地控制系统可独立于应用进行使用。在自主模式下,可基于存储在机器人上的个性配置的至少一部分自动生成控制指令。例如,当儿童在没有打开的应用的情况下玩玩具机器人时,可使用个性直接控制机器人动作。个性配置的本地版本优选地指定各种行为触发-响应模式。优选地,委派控制模式基本上类似于上面描述的模式,并且当应用与机器人通信并执行控制指示时可被接合。委派控制模式可附加地或可替代地与可通过因特网或任何合适的网络基础设施访问的远程控制系统通信。
该方法还可包括生成机器人的个性S520。可自动生成(例如,基于模式或与存储的历史的机器人动作和/或编程输入集的关联)、手动生成、预定或以其他方式确定个性。
在一个变型中,编程输入的历史可影响个性配置。个性配置优选地反映通过接收编程输入来实现的机器人的组合“学习”。当用户玩机器人、完成编程挑战、设计机器人的定制程序时,可更新个性以反映编程逻辑的类型或编程逻辑中的模式。在该变型中,确定个性可包括存储与机器人相关联的编程输入的历史,从编程输入的历史识别控制指令或编程输入的模式,以及基于所识别的模式生成个性。
在第二变型中,如图15所示,控制指令或编程输入的预定模式可与预定义的个性相关联,其中预定义的个性可响应于与相应的预定模式基本匹配(例如,在阈值误差范围内)的控制指令的历史模式,与机器人相关联。然而,个性可以以其它方式确定。
个性可由用户设备、由远程计算系统、由机器人或由任何其他合适的系统生成。个性可存储在机器人上(例如,其中如果在单独的系统上生成则将个性发送给机器人),存储在用户设备上(例如,其中用户设备可远程控制机器人,独立于编程输入),存储在远程计算系统上(例如,其中个性由机器人或用户设备检索),或存储在任何其他合适的计算系统上。
控制个性还可被逐渐修改(更新)以反映用户通常编程机器人的行为的方式。例如,如果用户反复地谨慎执行新的或未知的动作(例如,当历史的一组编程输入反映大百分比的被分类为“谨慎”的动作时,使用编程输入等),在其他情况下机器人可变得更谨慎。在具体示例中,如果用户将机器人编程以仅使用直线运动和90度转弯的谨慎方式移动,则自主控制指令可类似地有利于平行于两个垂直轴中的一个的运动。在第二示例中,如果用户经常编程机器人以“亢奋”方式移动(例如,用户历史地使用指定高速移动的编程输入),则当驾驶到目的地时个性配置可指示机器人执行驱动动作也许添加循环和旋转的快速流体。
另外,个性配置可对特定类型的事件触发器定义动作。如果用户通常在特定事件期间播放声音效果,则声音效果可用作该事件的默认值。当接收到新的程序反馈时,程序反馈可处理当前程序;识别任何模式,并根据新的程序反馈和过去的控制指令来计算个性控制指令。
个性配置更新优选地跨所有应用发生,但对于选择的应用可禁用个性更新。每个用户帐户优选地与由机器人标识符(全局唯一或非唯一标识符)标识的给定机器人的单个控制个性相关联,但可替换地可与机器人的多个控制个性相关联。在后一种变型中,瞬时分配给机器人的控制个性可由用户手动选择、自动选择(例如,基于一天中的时间、估计的用户情绪等),或以任何其他合适的方式选择。每个机器人可支持(例如,存储)一个或更多个控制个性。在一个实现中,多个用户可使用机器人,其中一个用户在任何特定时间登录并成为机器人的活动用户。个性可由机器人、由用户、由应用、由一组应用或由任何合适的范围来限定。个性还可以以任何合适的方式被保存、共享、分叉或修改。另外,帐户或机器人可具有总的来说可被选择性地激活或使用的一组不同的个性。在一个实现中,存在帐户的全局个性配置,但仅当使用该特定应用时才存在增强全局配置的次级应用特定个性。类似地,可通过其他个性的组合来形成新的个性。例如,当没有特定活动用户时,可使用机器人的默认个性配置,其中默认个性配置是来自机器人的多个用户的个性配置的组合。
方法还可包括基于控制个性补充或修改控制指令S540,其中基于编程输入生成控制指令(图14所示的示例)。控制指令可由机器人、由用户设备或由任何其他合适的计算系统来补充或修改。控制个性优选地与应用的编程输入协作工作以更新机器人如何响应环境。虽然编程输入优选地依赖于当前加载的和可能控制机器人的特定应用,个性配置可独立于应用来表示,并更依赖于机器人的渐进发展。编程输入优选地指定高优先级控制指令,其优选地接收比基于个性配置的控制指令更高级别的优先级。当明确的控制指令不由程序或其他较高优先级控制指令(例如,安全控制指令)提供时,个性配置可用作默认定制行为。例如,如果个性指定每当机器人在给定速度以上行进时应显示红灯,则当控制指令指定机器人以高于阈值速度的速度行进时,机器人可被控制以显示红灯,即使控制指令不指定显示颜色。
在一个变型中,方法可包括在应用控制期间非侵入地表达个性,其用于定义在执行程序时如何对个性进行动作。机器人优选地保持程序之间的某种状态以促进机器人是具有历史的实际角色的概念。非侵入地表达个性可包括具有应用控制的压倒性个性。优选地通过输出来表达个性。如果应用操纵特定输出,则与该输出相关的个性控制指令可在该应用的持续时间或在应用可使用该输出的状态的持续时间内被覆盖。例如,如果应用正在控制机器人的运动,但不使用机器人上的扬声器或灯,则个性配置将不会影响机器人的运动,但可导致通过扬声器和灯表示的动作。
在第二变型中,可基于控制个性来修改控制指令,其中由控制指令操纵的输出可完全或部分地受个性控制指令影响。在该变型中,方法可包括,基于控制个性,将控制指令识别为一组中的一个(例如,其中该组与机器人子组件相关联,其中该组指定可修改的控制指令等)和以预定方式修改控制指令。例如,当控制个性反映“亢奋”个性时,可修改指定机器人以基本恒定速度的直线行进的控制指令,以包括自旋、循环、高速遍历的喷出,或以任何其他合适的方式修改。然而,还可以其他方式修改或补充控制指令。
方法还可包括实时更新编程输入,其用于使编程更具交互性。编程输入可自动推送到机器人。当编辑和/或创建程序时,可影响到机器人的行为和/或个性。类似地,调试和错误处理可通过机器人和/或编程接口应用提供实时反馈。警报和警告可在用户界面以及机器人的行为中表示。在一些情况下,个性配置可改变机器人如何表达错误或警告,例如,机器人可模拟“病”行为、“困惑”行为或“愤怒”行为。另外,可实时更新用于修正错误或警告的更正和更改。实时编程和调试优选地为用户探索编程提供更紧密的反馈回路。
另外,虽然方法被描述为关于应用和机器人的一对一关系,但方法和系统还可持支多个机器人对应一个控制器场景、一个机器人对应多个控制器场景,以及由许多控制器控制的许多机器人,如图16所示。多个用户可协作(或竞争)为一个机器人设置编程输入。类似地,编程输入可被发送到多个机器人。
系统和方法可至少部分地被呈现为和/或实现为被配置以接收存储计算机可读指令的计算机可读介质的机器。指令优选地由计算机可执行组件来执行,该计算机可执行组件优选地与机器人系统和编程接口应用集成。计算机可读介质可存储在任何合适的计算机可读介质上,诸如RAM、ROM、闪存、EEPROM、光学设备(CD或DVD)、硬盘驱动器、软盘驱动器或任何合适的设备。计算机可执行组件优选地是通用或专用处理器,但任何合适的专用硬件或硬件/固件组合设备可选地或附加地可执行指令。
如本领域技术人员将从先前的详细描述以及从附图和权利要求中认识到的,可对本发明的优选实施方案进行修改和改变,而不脱离以下权利要求中限定的本发明的范围。

Claims (40)

1.一种通过玩具机器人反馈来增强编程教育的方法,所述玩具机器人包括一组传感器,所述方法包括:
·在远离所述玩具机器人的用户设备处:
a)在所述用户设备上的编程接口应用处从用户接收一系列编程输入;
b)从所述玩具机器人接收一组传感器测量结果;
c)基于所述一系列编程输入中的编程输入和所述一组传感器测量结果来自动地生成针对所述玩具机器人的一组控制指令;
d)将所述一组控制指令发送到所述玩具机器人;
·在所述玩具机器人处:
e)从所述用户设备接收所述一组控制指令;
f)基于所述一组控制指令来操作所述玩具机器人;
g)在玩具机器人操作期间记录第二组传感器测量结果;和
h)将所述第二组传感器测量结果发送到所述用户设备。
2.如权利要求1所述的方法,其中所述编程接口应用包括可视化编程接口。
3.如权利要求2所述的方法,其中所述编程输入包括编程输入。
4.如权利要求3所述的方法,其中所述编程输入包括可连接的虚拟块,每个虚拟块表示机器人运动、机器人音频输出和机器人可视化输出中的至少一个。
5.如权利要求1所述的方法,其中所述编程接口包括动画编程接口,其中所述编程接口自动将由所述用户在所述编程接口中绘制的虚拟驱动路径和与所述虚拟驱动路径相关联的条件事件转换成所述一组编程输入。
6.如权利要求5所述的方法,其中所述动画编程接口包括表示邻近所述玩具机器人的物理环境的虚拟网格和所述玩具机器人的等比例的虚拟表示。
7.如权利要求1所述的方法,其中所述一组控制指令是响应于从所述用户接收到新的编程输入而自动生成的,其中所述新的编程输入被接收到之后,所述一组传感器测量结果被接收到,并且所述一组控制指令基于所述新的编程输入和所述一组传感器测量结果生成。
8.如权利要求1所述的方法,还包括,在所述用户设备处:
·基于从所述玩具机器人接收的数据,确定所述玩具机器人对所述一组控制指令的执行;
·基于所述一系列编程输入中的后续的编程输入和所述第二组传感器测量结果来自动地生成针对所述玩具机器人的第二组控制指令;
·将所述第二组控制指令发送到所述玩具机器人;并且
·根据所述第二组控制指令操作所述玩具机器人。
9.如权利要求8所述的方法,其中基于从所述玩具机器人接收的数据确定所述玩具机器人对所述编程输入的执行包括基于所述第二组传感器测量结果确定所述编程输入的执行。
10.如权利要求8所述的方法,其中分别在所述玩具机器人处接收到第一组控制指令和第二组控制指令之后的阈值时间段内,基于所述第一组控制指令和第二组控制指令来操作所述玩具机器人。
11.如权利要求8所述的方法,其中响应于在所述玩具机器人处接收到用户输入而自动生成所述一组控制指令。
12.如权利要求8所述的方法,其中发送所述第二组传感器测量结果包括以接近实时的方式将所述传感器测量结果从所述玩具机器人流式传输到所述用户设备。
13.如权利要求12所述的方法,还包括:
·在所述用户设备处:
■确定所述第二组传感器测量结果与所述后续的编程输入的要求之间的不一致性;
■向所述玩具机器人发送暂停控制指令;
■在所述用户设备上显示第一编程输入选项和第二编程输入选项;
■接收对所述第一编程输入选项或所述第二编程输入选项的编程输入选项选择;
■基于所选择的编程输入选项生成并发送新的控制指令到所述玩具机器人;和
·在所述玩具机器人处:
■接收所述新的控制指令;并
■基于所述新的控制指令操作所述玩具机器人。
14.如权利要求1所述的方法,其中所述编程输入包括条件玩具机器人动作,所述方法还包括:
·将编程输入发送到所述玩具机器人;
·在所述玩具机器人处,将所述编程输入存储为机器人个性;并
·在所述玩具机器人处,基于所述机器人个性自动操作所述玩具机器人。
15.如权利要求14所述的方法,其中a)至h)是响应于所述玩具机器人无线地连接到所述用户设备而执行的,其中基于所述机器人个性独立于用户设备连接来自动操作所述玩具机器人。
16.如权利要求14所述的方法,还包括:
·在用户设备处接收第二系列编程输入;
·在所述用户设备处,接收来自所述玩具机器人的传感器测量结果;
·基于所述传感器测量结果,在所述用户设备处生成控制指令;
·从所述用户设备向所述玩具机器人发送所述控制指令;
·在所述玩具机器人处接收所述控制指令;
·基于所述机器人个性修改所述控制指令;和
·基于经修改的控制指令,操作所述玩具机器人。
17.一种使用用户设备用于玩具机器人操作以通过玩具机器人反馈来增强编程教育的方法,所述玩具机器人包括一组传感器,所述方法包括,在所述玩具机器人处:
·在待机模式下自动操作所述玩具机器人,包括:
■记录一组传感器测量结果;
■基于存储的控制指令和所述一组传感器测量结果进行操作;
·响应于与用户设备的无线连接:
■记录第二组传感器测量结果;
■将所述第二组传感器测量结果发送到所述用户设备;
■从所述用户设备接收一组控制指令,所述一组控制指令由所述用户设备基于所述第二组传感器测量结果和由所述用户设备存储的编程组件自动生成;
■基于所存储的控制指令修改所接收的一组指令中的控制指令;
■自动执行经修改的一组控制指令;并
■在控制指令执行期间记录第三组传感器测量结果。
18.如权利要求17所述的方法,还包括:
·在所述用户设备处:
■存储与所述玩具机器人相关联的编程组件的历史;
■根据所述编程组件的历史识别条件控制指令的模式;
■基于所识别的模式生成用于所述玩具机器人的更新的控制指令;
■将所述更新的控制指令发送到所述机器人;
·在所述玩具机器人处:
■接收和存储所述更新的控制指令;以及
■基于所述更新的控制指令进行操作。
19.一种使用用户设备对玩具机器人远程控制的方法,所述玩具机器人包括一组传感器和配置成控制玩具机器人操作的处理器,所述方法包括,在所述用户设备处:
a)在所述用户设备处从用户接收一系列编程输入;
b)从所述远程玩具机器人接收一组传感器测量结果;
c)基于所述一组传感器测量结果和所述一系列编程输入中的未执行的编程输入来自动生成一组控制指令;
d)将所述一组控制指令发送到所述玩具机器人,其中所述玩具机器人基于所述一组控制指令进行操作;和
e)基于从所述玩具机器人接收的后续多组传感器测量结果,关于连续编程输入迭代地重复b)至d),其中所述后续多组传感器测量结果是在玩具机器人基于先前的一组控制指令进行操作期间被记录的。
20.如权利要求19所述的方法,还包括基于从所述玩具机器人接收的后续的一组传感器测量结果监测所述玩具机器人对所述先前的一组控制指令的执行,包括:
·响应于所述玩具机器人在误差阈值程度内执行所述先前的一组控制指令,执行e);
·识别所述后续的一组传感器测量结果和对连续的一组控制指令的要求之间的不一致性;和
·响应于识别到不一致性:
■基于所述后续的一组传感器测量结果确定次级编程输入;
■显示所述次级编程输入的虚拟表示;
■接收对所述次级编程输入的选择;
■用所述次级编程输入替换连续编程组件;以及
■使用所述次级编程输入作为所述系列中的未执行的编程组件来执行b)。
21.一种用于玩具机器人编程的方法,所述玩具机器人包括一组传感器,所述方法包括:
·以物理编程模式操作所述玩具机器人,包括:
■在所述玩具机器人处,在由用户对所述玩具机器人进行的物理操纵期间,记录传感器测量结果的操纵组;
■在所述玩具机器人处,将所述传感器测量结果的操纵组发送到所述用户设备;
■在远离所述玩具机器人的用户设备处,将所述传感器测量结果的操纵组转换成一组操控编程输入;和
■在所述用户设备处,在编程接口应用上显示所述一组操控编程输入的图形表示;
·以用户设备控制模式操作所述玩具机器人,包括:
■在所述用户设备处,在所述编程接口应用处接收一系列编程输入;
■在所述用户设备处,从所述玩具机器人接收一组传感器测量结果;
■在所述用户设备处,基于所述一系列编程输入中的编程输入和所述一组传感器测量结果来自动地生成针对所述玩具机器人的一组控制指令;
■从所述用户设备,向所述玩具机器人发送所述一组控制指令;和
■在玩具机器人处,响应于控制指令接收,根据所述一组控制指令进行操作。
22.如权利要求21所述的方法,其中所述一系列编程输入包括所述一组操控编程组件。
23.如权利要求22所述的方法,还包括:
·响应于接收到由用户在所述编程接口应用上对与次级编程组件的图形表示相关联的添加选择,将所述次级编程组件添加到所述一组操控编程组件;和
·响应于接收到由用户在所述编程接口应用上对与所述第一操控编程输入的图形表示相关联的丢弃选择,从所述一组操控编程组件中移除第一操控编程组件。
24.如权利要求22所述的方法,其中所述一组操控编程输入的图形表示包括可连接的虚拟块,其中每个虚拟块表示玩具机器人动作。
25.如权利要求22所述的方法,其中所述编程接口应用包括动画编程接口,其中所述一组操控编程输入的图形表示包括呈现在所述动画编程接口上的等比例的图形路径。
26.如权利要求22所述的方法,其中,响应于在所述玩具机器人处接收到用户输入,所述玩具机器人在所述用户设备控制模式中进行操作。
27.如权利要求21所述的方法,其中所述传感器测量结果的操纵组包括一系列操纵传感器测量结果,其中将所述传感器测量结果的操纵组转换成一组操控编程输入包括:
·将从所述传感器测量结果的操纵组提取的传感器测量结果模式与预定参考模式匹配,其中所述预定参考模式与编程输入预关联;和
·在与所提取的传感器测量结果模式在所述传感器测量结果的操纵组内的位置相对应的位置处,将匹配的编程输入插入到所述一组操控编程输入中。
28.如权利要求21所述的方法,其中将所述传感器测量结果的操纵组转换为所述一组操控编程输入还包括:从所述传感器测量结果的操纵组中自动识别在机器人能力的预定范围之外的补充机器人动作。
29.如权利要求28所述的方法,还包括:显示作为用于所述补充机器人动作的编程输入的用户动作提示。
30.如权利要求21所述的方法,还包括:基于与所述玩具机器人相关联的存储的一组控制指令自动修改所述一组操控编程输入。
31.如权利要求21所述的方法,还包括:在所述用户设备控制模式下操作所述玩具机器人时,同时以所述物理编程模式操作所述玩具机器人。
32.如权利要求31所述的方法,还包括将所述操控编程输入添加到所述一系列编程输入。
33.一种用于玩具机器人编程的方法,所述玩具机器人包括一组传感器,所述方法包括,在远离所述玩具机器人的用户设备处:
·检测操控编程触发事件;
·在物理机器人操纵期间以第一频率从所述玩具机器人接收传感器测量结果;
·响应于检测到所述操控编程触发事件,将所述传感器测量结果自动转换为一系列操控编程组件;和
·在所述用户设备上的编程接口应用上,显示所述一组操控编程组件的图形表示。
34.如权利要求13所述的方法,还包括:
·检测执行事件;
·以第二频率接收来自所述玩具机器人的次级传感器测量结果;和
·响应于检测到所述执行事件:
■基于所述次级传感器测量结果和所述一系列操控编程组件自动生成控制指令;
■将所述控制指令发送到所述玩具机器人;和
■基于随后接收到的来自所述玩具机器人的次级传感器测量结果,确定所述控制指令已经被执行。
35.如权利要求34所述的方法,还包括:
·响应于接收到来自用户的编程组件修改,在所述编程接口应用处生成修改的一系列操控编程组件;和
·其中基于所述次级传感器测量结果和所述一系列操控编程组件自动生成控制指令包括基于所述次级传感器测量结果和所述修改的一系列操控编程组件自动生成控制指令。
36.如权利要求33所述的方法,其中所述传感器测量结果包括一系列传感器测量结果,其中将所述传感器测量结果自动转换为一系列操控编程组件包括:
·从所述一系列传感器测量结果中识别传感器测量结果模式;
·识别与所识别的传感器测量结果模式相关联的编程组件;和
·在与所识别的传感器测量结果模式在所述一系列传感器测量结果内的位置相对应的位置处,将所识别的编程组件插入到所述一系列操控编程组件中。
37.如权利要求36所述的方法,其中所述传感器测量结果模式包括传感器测量值的模式。
38.如权利要求36所述的方法,其中识别与所识别的传感器测量结果模式相关联的编程组件包括:将所识别的传感器测量结果模式和与所述编程组件相关联的传感器测量结果预定模式进行匹配。
39.如权利要求38所述的方法,还包括:
a)以第二频率接收来自所述玩具机器人的次级传感器测量结果;
b)基于所述次级传感器测量结果和所述一系列操控编程组件自动生成控制指令;
c)向所述玩具机器人发送用于所述系列中的第一编程组件的第一组控制指令;
d)响应于所述次级传感器测量结果基本上匹配与所述第一操控编程组件相关联的所述传感器测量结果预定模式,确定已经执行了所述第一组控制指令;和
e)响应于确定已经执行了所述第一组控制指令,对所述系列中的第二编程组件重复c)和d)。
40.如权利要求33所述的方法,其中所述传感器测量结果包括一系列传感器测量结果,其中每个编程组件与机器人能力相关联,其中每个机器人能力与预定传感器测量结果模式相关联,其中所述方法还包括:
·根据所述一系列传感器测量结果识别传感器测量结果偏差模式,其中所述传感器测量结果偏差模式不同于与所述机器人能力相关联的预定传感器测量结果模式;
·基于与所述用户动作相关联的预定传感器测量结果模式,将所述传感器测量结果偏差模式与用户动作匹配;和
·在与所述传感器测量结果偏差模式在所述一系列传感器测量结果内的位置相对应的位置处,将用户动作提示插入到所述一系列操控编程组件中。
CN201580041694.6A 2014-06-12 2015-06-11 通过机器人反馈增强编程教育的系统和方法 Pending CN106573378A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462011478P 2014-06-12 2014-06-12
US62/011,478 2014-06-12
US201462015969P 2014-06-23 2014-06-23
US62/015,969 2014-06-23
PCT/US2015/035412 WO2015191910A1 (en) 2014-06-12 2015-06-11 System and method for reinforcing programming education through robotic feedback

Publications (1)

Publication Number Publication Date
CN106573378A true CN106573378A (zh) 2017-04-19

Family

ID=54834349

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580041694.6A Pending CN106573378A (zh) 2014-06-12 2015-06-11 通过机器人反馈增强编程教育的系统和方法

Country Status (5)

Country Link
US (6) US9370862B2 (zh)
EP (1) EP3154749A4 (zh)
CN (1) CN106573378A (zh)
SG (2) SG10201809399VA (zh)
WO (1) WO2015191910A1 (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107398905A (zh) * 2017-07-20 2017-11-28 深圳市火火兔儿童用品有限公司 早教机器人及其移动控制方法
CN107678743A (zh) * 2017-09-27 2018-02-09 北京酷思倍科技有限公司 一种用于机器人智能编程的方法
CN108377250A (zh) * 2018-05-08 2018-08-07 山西乐博特机器人教育科技有限公司 教育机器人编程系统
CN109166404A (zh) * 2018-10-12 2019-01-08 山东爱泊客智能科技有限公司 基于共享式可操控模型的自编程控制的实现方法与装置
TWI660254B (zh) * 2017-12-20 2019-05-21 湧德電子股份有限公司 軌跡優化系統
CN109814875A (zh) * 2017-12-12 2019-05-28 上海葡萄纬度科技有限公司 编程玩具的反向编程的方法及系统、设备、介质
CN110164285A (zh) * 2019-06-19 2019-08-23 上海思依暄机器人科技股份有限公司 一种实验机器人及其实验操控方法和装置
CN110262378A (zh) * 2019-07-02 2019-09-20 张艳五 一种利用app控制机器人实现在线编程的方法
CN111037575A (zh) * 2020-03-13 2020-04-21 广东博智林机器人有限公司 机器人指令传输、处理方法、装置、电子设备及存储介质
CN111267089A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作原子的生成与执行方法及装置、设备和存储介质
CN112396874A (zh) * 2019-08-16 2021-02-23 温瓌岸 程序设计教学装置
CN114147700A (zh) * 2020-09-08 2022-03-08 深圳果力智能科技有限公司 智能移动机器人系统
CN116129731A (zh) * 2022-12-29 2023-05-16 北京布局未来教育科技有限公司 人工智能模拟教学系统与方法

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9766610B2 (en) 2012-03-07 2017-09-19 Rehco, Llc Interactive application platform for a motorized toy entity and display
US10078712B2 (en) * 2014-01-14 2018-09-18 Energid Technologies Corporation Digital proxy simulation of robotic hardware
US9370862B2 (en) * 2014-06-12 2016-06-21 Play-i, Inc. System and method for reinforcing programming education through robotic feedback
US10279470B2 (en) * 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
US9643314B2 (en) * 2015-03-04 2017-05-09 The Johns Hopkins University Robot control, training and collaboration in an immersive virtual reality environment
US10268366B2 (en) 2015-06-05 2019-04-23 Apple Inc. Touch-based interactive learning environment
WO2017120180A1 (en) * 2016-01-06 2017-07-13 Evollve, Inc. Robot having a changeable character
US10369487B2 (en) * 2016-02-11 2019-08-06 Disney Enterprises. Inc. Storytelling environment: mapping virtual settings to physical locations
TWI590208B (zh) * 2016-02-19 2017-07-01 李佰聰 情境式編程教學方法及電腦程式產品
US10456699B2 (en) 2016-03-31 2019-10-29 Shenzhen Bell Creative Sccience And Education Co., Ltd. Modular assembly system
HK1216278A (zh) * 2016-04-27 2016-10-28 Kam Ming Lau 種使用虛擬機器人的教育系統
CA3032074C (en) 2016-08-04 2021-04-13 Sony Interactive Entertainment Inc. Information processing apparatus, information processing method, and information medium
EP3282327A1 (en) * 2016-08-12 2018-02-14 KUBO Robotics ApS Programmable robot for educational purposes
US10685131B1 (en) 2017-02-03 2020-06-16 Rockloans Marketplace Llc User authentication
JP6910593B2 (ja) * 2017-03-27 2021-07-28 カシオ計算機株式会社 プログラム処理装置
JP6877688B2 (ja) 2017-03-27 2021-05-26 カシオ計算機株式会社 プログラミング装置及びその制御プログラム、プログラミング方法
JP6877689B2 (ja) * 2017-03-27 2021-05-26 カシオ計算機株式会社 プログラミング装置及びその制御プログラム、プログラミング方法
US11727819B2 (en) * 2017-06-15 2023-08-15 Grasp Io Innovations Pvt Ltd. Interactive system for teaching sequencing and programming
JP6868478B2 (ja) * 2017-06-16 2021-05-12 株式会社Nttドコモ コード動画連携装置及びコード動画連携プログラム
CN109421044A (zh) * 2017-08-28 2019-03-05 富泰华工业(深圳)有限公司 智能机器人
US10389820B2 (en) 2017-10-26 2019-08-20 Autoauto, Llc System and method for programming an embedded system
CN107718004A (zh) * 2017-10-27 2018-02-23 安徽硕威智能科技有限公司 一种基于人体生物信息控制的卡片机器人
CN108161882B (zh) * 2017-12-08 2021-06-08 华南理工大学 一种基于增强现实的机器人示教再现方法及装置
WO2019126234A1 (en) * 2017-12-19 2019-06-27 Learning Resources, Inc. Toy robot
US11014242B2 (en) * 2018-01-26 2021-05-25 Microsoft Technology Licensing, Llc Puppeteering in augmented reality
US10102415B1 (en) * 2018-03-29 2018-10-16 Secugen Corporation Method and apparatus for simultaneous multiple fingerprint enrollment
KR102069096B1 (ko) * 2018-04-17 2020-01-22 (주)블루커뮤니케이션 피지컬 디바이스의 직접적 원격 제어 장치
KR102069093B1 (ko) * 2018-04-17 2020-01-22 (주)블루커뮤니케이션 피지컬 소프트웨어 코딩교육장치
FR3081117A1 (fr) * 2018-05-17 2019-11-22 Cleia Dispositif portatif de commande d'un robot
US11285607B2 (en) * 2018-07-13 2022-03-29 Massachusetts Institute Of Technology Systems and methods for distributed training and management of AI-powered robots using teleoperation via virtual spaces
US11024197B2 (en) * 2018-08-10 2021-06-01 Trashbots, Inc. Robotics and computing learning platform with multi-level processing architecture
CN109270846A (zh) * 2018-10-22 2019-01-25 赵永存 基于流程图的自动化设备软件快速开发系统
KR102198824B1 (ko) * 2018-11-08 2021-01-05 정희용 피지컬 소프트웨어 코딩 교육 교재 실행 장치
WO2020129310A1 (ja) * 2018-12-19 2020-06-25 本田技研工業株式会社 案内ロボット制御装置、及び、それを用いた案内システム、並びに、案内ロボット制御方法
CN109410702B (zh) * 2018-12-28 2021-10-01 于珂 一种适合亲子互动学习编程的系统以及实现该系统的装置
GB2580332A (en) * 2018-12-31 2020-07-22 Robotify Labs Ltd A computer program product and method for teaching computer programming
US11727824B2 (en) * 2019-01-22 2023-08-15 Robotify Labs Limited System and method for teaching computer programming
JP7287048B2 (ja) * 2019-03-27 2023-06-06 セイコーエプソン株式会社 ロボット
US11260536B1 (en) * 2019-08-27 2022-03-01 Amazon Technologies, Inc. Simulation of emotional state of an interactive device
CN110576440B (zh) * 2019-09-04 2021-10-15 华南理工大学广州学院 一种儿童陪护机器人及其陪护控制方法
CN110579977B (zh) * 2019-09-17 2021-11-23 珠海格力电器股份有限公司 一种电器设备的控制方法、装置及计算机可读存储介质
US11061638B2 (en) 2019-09-17 2021-07-13 The Toronto-Dominion Bank Dynamically determining an interface for presenting information to a user
CN110674061B (zh) * 2019-09-24 2023-04-07 上海商汤临港智能科技有限公司 一种机器设备的控制方法及装置、存储介质
CN110687921B (zh) * 2019-10-30 2023-01-20 上海歌尔泰克机器人有限公司 一种无人机飞行控制方法、装置及电子设备和存储介质
CN110989900B (zh) 2019-11-28 2021-11-05 北京市商汤科技开发有限公司 交互对象的驱动方法、装置、设备以及存储介质
KR20210119709A (ko) * 2020-03-25 2021-10-06 한국과학기술연구원 모듈형 로봇 제어 시스템
JP7196894B2 (ja) * 2020-11-20 2022-12-27 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム
USD936057S1 (en) * 2020-11-24 2021-11-16 Vr Media Technology, Inc. Scanner
US11938634B2 (en) 2021-02-18 2024-03-26 Sanctuary Cognitive Systems Corporation Systems, devices, and methods for multi-purpose robots
WO2023228149A1 (en) 2022-05-27 2023-11-30 Instituto Pedro Nunes, Associação Para A Inovação E Desenvolvimento Em Ciência E Tecnologia Bidirectional feedback system and respective method
CN116312147B (zh) * 2023-05-11 2023-07-21 深圳市亚博智能科技有限公司 基于教学机器人的编程教学方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638522A (en) * 1994-04-26 1997-06-10 Jocatek, Inc. Graphically constructed control and scheduling system
US20020120362A1 (en) * 2001-02-27 2002-08-29 Corinna E. Lathan Robotic apparatus and wireless communication system
US6668211B1 (en) * 1999-01-13 2003-12-23 Sony Corporation Arithmetic processing device, object-to-object communication method and robot
US20040186623A1 (en) * 2001-05-25 2004-09-23 Mike Dooley Toy robot programming
US20110276058A1 (en) * 2009-02-11 2011-11-10 Seung Wook Choi Surgical robot system, and method for controlling same
WO2012103525A2 (en) * 2011-01-28 2012-08-02 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
CN102785253A (zh) * 2011-04-06 2012-11-21 发那科株式会社 具有机器人的异常检测功能的机器人系统及其控制方法
US20120296471A1 (en) * 2011-05-17 2012-11-22 Fanuc Corporation Robot and spot welding robot with learning control function
CN103280126A (zh) * 2013-05-14 2013-09-04 郑州英博锐电子技术有限公司 一种智能互动早教系统
CN103513992A (zh) * 2013-10-23 2014-01-15 电子科技大学 一种通用的教育娱乐机器人应用软件研制平台
US20140067124A1 (en) * 2012-08-28 2014-03-06 Matthew Murray Williamson Monitoring robot sensor consistency

Family Cites Families (83)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4338672A (en) 1978-04-20 1982-07-06 Unimation, Inc. Off-line teach assist apparatus and on-line control apparatus
US4712184A (en) 1984-09-12 1987-12-08 Haugerud Albert R Computer controllable robotic educational toy
USD290032S (en) 1984-12-17 1987-05-26 Tomy Kogyo, Co. Inc. Toy robot
JPH0825151B2 (ja) 1988-09-16 1996-03-13 東京応化工業株式会社 ハンドリングユニット
US7242988B1 (en) * 1991-12-23 2007-07-10 Linda Irene Hoffberg Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5724074A (en) 1995-02-06 1998-03-03 Microsoft Corporation Method and system for graphically programming mobile toys
US5882206A (en) 1995-03-29 1999-03-16 Gillio; Robert G. Virtual surgery system
US5724489A (en) 1995-09-25 1998-03-03 Honda Giken Kogyo Kabushiki Kaisha Apparatus for and method of generating robot teaching data on offline basis
US20010021669A1 (en) * 1995-11-20 2001-09-13 Creator Ltd. I*doll
US6126381A (en) 1997-04-01 2000-10-03 Kensington Laboratories, Inc. Unitary specimen prealigner and continuously rotatable four link robot arm mechanism
US6181983B1 (en) 1997-06-20 2001-01-30 Deutsches Zentrum f{umlaut over (u)}r Luft-und Raumfahrt e.v. Method of command control for a robot manipulator
US6445964B1 (en) 1997-08-04 2002-09-03 Harris Corporation Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
JPH1177569A (ja) 1997-09-10 1999-03-23 Honda Motor Co Ltd オフラインティーチング装置
JPH11134017A (ja) 1997-10-27 1999-05-21 Honda Motor Co Ltd オフラインティーチング方法
US6491491B1 (en) 1997-10-30 2002-12-10 Sankyo Seiki Mfg. Co., Ltd. Articulated robot
US6064904A (en) 1997-11-28 2000-05-16 Picker International, Inc. Frameless stereotactic CT scanner with virtual needle display for planning image guided interventional procedures
US6157873A (en) 1998-04-09 2000-12-05 Motoman, Inc. Robot programming system and method
US5944533A (en) * 1998-06-10 1999-08-31 Knowledge Kids Enterprises, Inc. Interactive educational toy
DE19842239A1 (de) 1998-09-15 2000-03-16 Siemens Ag Medizintechnische Einrichtung
US6540518B1 (en) * 1999-01-08 2003-04-01 Kimberly A. Shepherd Educational system, method and doll for teaching individuals their emotions employing sets of faces expressing different emotions with plural states
JP2000254360A (ja) * 1999-03-11 2000-09-19 Toybox:Kk 対話型玩具
US6322312B1 (en) 1999-03-18 2001-11-27 Applied Materials, Inc. Mechanical gripper for wafer handling robots
US6347261B1 (en) * 1999-08-04 2002-02-12 Yamaha Hatsudoki Kabushiki Kaisha User-machine interface system for enhanced interaction
US20010048762A1 (en) * 1999-10-14 2001-12-06 Masaya Matsuura Image processing apparatus, image processing method, recording medium and program
WO2001067228A1 (en) * 2000-03-09 2001-09-13 Koninklijke Philips Electronics N.V. Method of interacting with a consumer electronics system
US6773344B1 (en) * 2000-03-16 2004-08-10 Creator Ltd. Methods and apparatus for integration of interactive toys with interactive television and cellular communication systems
KR20020026165A (ko) * 2000-03-24 2002-04-06 이데이 노부유끼 로봇 장치의 행동 결정 방법 및 로봇 장치
US6845297B2 (en) * 2000-05-01 2005-01-18 Irobot Corporation Method and system for remote control of mobile robot
EP1279081B1 (en) * 2000-05-01 2012-01-04 iRobot Corporation Method and system for remote control of mobile robot
JP2002018146A (ja) * 2000-07-04 2002-01-22 Tomy Co Ltd 対話型玩具、反応行動パターン生成装置および反応行動パターン生成方法
US6494666B2 (en) 2001-01-26 2002-12-17 Fortrend Engineering Corporation Simplified and enhanced SCARA arm
USD471243S1 (en) 2001-02-09 2003-03-04 Irobot Corporation Robot
JP3715537B2 (ja) 2001-02-19 2005-11-09 本田技研工業株式会社 多関節ロボットの干渉回避方法およびプログラム
JP4435443B2 (ja) 2001-04-17 2010-03-17 大日本スクリーン製造株式会社 基板搬送装置および基板搬送方法
US6604021B2 (en) 2001-06-21 2003-08-05 Advanced Telecommunications Research Institute International Communication robot
US6892090B2 (en) 2002-08-19 2005-05-10 Surgical Navigation Technologies, Inc. Method and apparatus for virtual endoscopy
US20040043373A1 (en) * 2002-09-04 2004-03-04 Kaiserman Jeffrey M. System for providing computer-assisted development
JP2004237392A (ja) * 2003-02-05 2004-08-26 Sony Corp ロボット装置、及びロボット装置の表現方法
EP1669172B1 (en) * 2003-08-12 2013-10-02 Advanced Telecommunications Research Institute International Communication robot control system
US8160205B2 (en) 2004-04-06 2012-04-17 Accuray Incorporated Robotic arm for patient positioning assembly
JP4168002B2 (ja) 2004-04-07 2008-10-22 ファナック株式会社 オフラインプログラミング装置
US9104197B2 (en) 2004-06-15 2015-08-11 Abb Ab Method and system for off-line programming of multiple interacting robots
US9459838B2 (en) * 2004-11-15 2016-10-04 Peter Ar-Fu Lam Path driven programming method and programming tool
US20060178775A1 (en) 2005-02-04 2006-08-10 George Zhang Accelerometer to monitor movement of a tool assembly attached to a robot end effector
WO2007041295A2 (en) 2005-09-30 2007-04-12 Irobot Corporation Companion robot for personal interaction
US7835821B2 (en) 2005-11-17 2010-11-16 Electronics And Telecommunications Research Institute Robot server for controlling robot, system having the same for providing content, and method thereof
US9047717B2 (en) * 2006-09-25 2015-06-02 Appareo Systems, Llc Fleet operations quality management system and automatic multi-generational data caching and recovery
JP5127242B2 (ja) * 2007-01-19 2013-01-23 任天堂株式会社 加速度データ処理プログラムおよびゲームプログラム
USD559288S1 (en) 2007-04-04 2008-01-08 Toyota Jidosha Kabushiki Kaisha Robot
US8753164B2 (en) 2007-10-11 2014-06-17 Lego A/S Toy construction system
CN101482815B (zh) * 2008-01-10 2013-08-07 国际商业机器公司 生成软件系统的测试用例的方法和设备
EP2136581A1 (en) 2008-06-16 2009-12-23 Koninklijke KPN N.V. Protecting a mobile device against a denial of service attack
WO2009158653A1 (en) * 2008-06-27 2009-12-30 Intuitive Automata, Inc. Apparatus and method for assisting in achieving desired behavior patterns
US9134353B2 (en) * 2009-02-26 2015-09-15 Distributed Energy Management Inc. Comfort-driven optimization of electric grid utilization
US8835017B2 (en) 2009-07-29 2014-09-16 Yuan Deng Metals Industrial Co., Ltd. Metal sheet member having high plastic bonding strength
TWD135034S1 (zh) 2009-08-13 2010-05-21 群聯電子股份有限公司 寵物機器人
USD639353S1 (en) 2009-11-13 2011-06-07 Home Focus Development Limited Toy figurine
USD641805S1 (en) 2010-07-16 2011-07-19 Yoshiritsu Kabushiki Kaisha Toy block
FR2963132A1 (fr) * 2010-07-23 2012-01-27 Aldebaran Robotics Robot humanoide dote d'une interface de dialogue naturel, methode d'utilisation et de programmation de ladite interface
USD650866S1 (en) 2010-07-23 2011-12-20 Peer Clahsen Toy stacking construction block
CA140089S (en) 2011-01-25 2011-11-09 Lego As Building block for a toy building set
US20120190453A1 (en) * 2011-01-25 2012-07-26 Bossa Nova Robotics Ip, Inc. System and method for online-offline interactive experience
US8718822B1 (en) * 2011-05-06 2014-05-06 Ryan Hickman Overlaying sensor data in a user interface
USD689957S1 (en) 2011-07-11 2013-09-17 Lego A/S Building block from a toy building set
US20150084745A1 (en) * 2012-05-23 2015-03-26 Allen D. Hertz Misplaced Article Recovery Process
US20130324004A1 (en) 2012-05-30 2013-12-05 Robert Schwartz Remote-controlled toy with bumper sensor
US9569976B2 (en) * 2012-10-02 2017-02-14 Gavriel Yaacov Krauss Methods circuits, devices and systems for personality interpretation and expression
USD707756S1 (en) 2012-11-16 2014-06-24 Lego A/S Building block from a toy building set
TWI519476B (zh) 2012-12-18 2016-02-01 英威達技術有限公司 降低得自氧氣安德盧梭(andrussow)法之氰化氫中的有機腈雜質含量
US20170206064A1 (en) * 2013-03-15 2017-07-20 JIBO, Inc. Persistent companion device configuration and deployment platform
KR101306556B1 (ko) 2013-04-08 2013-09-09 한성대학교 산학협력단 스마트 기기 기반 통합 로봇 제어 시스템
USD718394S1 (en) 2013-11-19 2014-11-25 Drink Blocks, LLC Stackable slider toy block
US9283674B2 (en) * 2014-01-07 2016-03-15 Irobot Corporation Remotely operating a mobile robot
USD748741S1 (en) 2014-02-25 2016-02-02 Chiswick Innovations Ltd Toy building block
US10279470B2 (en) 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
US9370862B2 (en) * 2014-06-12 2016-06-21 Play-i, Inc. System and method for reinforcing programming education through robotic feedback
PL3017920T3 (pl) 2014-11-07 2018-02-28 Comau S.P.A. Robot przemysłowy i sposób sterowania robotem przemysłowym
KR20170125360A (ko) * 2015-03-12 2017-11-14 네오시스, 인크. 가상의 환경에서 대응하는 가상의 대상을 조작하도록 물리적 대상을 이용하기 위한 방법 및 관련 장치와 컴퓨터 프로그램 제품
US20160332301A1 (en) 2015-05-13 2016-11-17 Boris Kesil Method of handling and transporting flat objects between a plurality of flat object pocessing units at robotic station
US11135717B2 (en) * 2018-03-14 2021-10-05 Fedex Corporate Services, Inc. Detachable modular mobile autonomy control module for a modular autonomous bot apparatus that transports an item being shipped
US20210109520A1 (en) * 2018-04-23 2021-04-15 Purdue Research Foundation Augmented reality interface for authoring tasks for execution by a programmable robot
US11745345B2 (en) * 2019-08-30 2023-09-05 Intrinsic Innovation Llc Planning by work volumes to avoid conflicts

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638522A (en) * 1994-04-26 1997-06-10 Jocatek, Inc. Graphically constructed control and scheduling system
US6668211B1 (en) * 1999-01-13 2003-12-23 Sony Corporation Arithmetic processing device, object-to-object communication method and robot
US20020120362A1 (en) * 2001-02-27 2002-08-29 Corinna E. Lathan Robotic apparatus and wireless communication system
US20040186623A1 (en) * 2001-05-25 2004-09-23 Mike Dooley Toy robot programming
US20110276058A1 (en) * 2009-02-11 2011-11-10 Seung Wook Choi Surgical robot system, and method for controlling same
WO2012103525A2 (en) * 2011-01-28 2012-08-02 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
CN102785253A (zh) * 2011-04-06 2012-11-21 发那科株式会社 具有机器人的异常检测功能的机器人系统及其控制方法
US20120296471A1 (en) * 2011-05-17 2012-11-22 Fanuc Corporation Robot and spot welding robot with learning control function
US20140067124A1 (en) * 2012-08-28 2014-03-06 Matthew Murray Williamson Monitoring robot sensor consistency
CN103280126A (zh) * 2013-05-14 2013-09-04 郑州英博锐电子技术有限公司 一种智能互动早教系统
CN103513992A (zh) * 2013-10-23 2014-01-15 电子科技大学 一种通用的教育娱乐机器人应用软件研制平台

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107398905A (zh) * 2017-07-20 2017-11-28 深圳市火火兔儿童用品有限公司 早教机器人及其移动控制方法
CN107678743B (zh) * 2017-09-27 2020-11-03 北京酷思倍科技有限公司 一种用于机器人智能编程的方法
CN107678743A (zh) * 2017-09-27 2018-02-09 北京酷思倍科技有限公司 一种用于机器人智能编程的方法
CN109814875A (zh) * 2017-12-12 2019-05-28 上海葡萄纬度科技有限公司 编程玩具的反向编程的方法及系统、设备、介质
TWI660254B (zh) * 2017-12-20 2019-05-21 湧德電子股份有限公司 軌跡優化系統
CN108377250A (zh) * 2018-05-08 2018-08-07 山西乐博特机器人教育科技有限公司 教育机器人编程系统
CN109166404A (zh) * 2018-10-12 2019-01-08 山东爱泊客智能科技有限公司 基于共享式可操控模型的自编程控制的实现方法与装置
CN111267089A (zh) * 2018-12-04 2020-06-12 北京猎户星空科技有限公司 一种动作原子的生成与执行方法及装置、设备和存储介质
CN110164285A (zh) * 2019-06-19 2019-08-23 上海思依暄机器人科技股份有限公司 一种实验机器人及其实验操控方法和装置
CN110262378A (zh) * 2019-07-02 2019-09-20 张艳五 一种利用app控制机器人实现在线编程的方法
CN112396874A (zh) * 2019-08-16 2021-02-23 温瓌岸 程序设计教学装置
CN111037575B (zh) * 2020-03-13 2020-06-26 广东博智林机器人有限公司 机器人指令传输、处理方法、装置、电子设备及存储介质
CN111037575A (zh) * 2020-03-13 2020-04-21 广东博智林机器人有限公司 机器人指令传输、处理方法、装置、电子设备及存储介质
CN114147700A (zh) * 2020-09-08 2022-03-08 深圳果力智能科技有限公司 智能移动机器人系统
CN116129731A (zh) * 2022-12-29 2023-05-16 北京布局未来教育科技有限公司 人工智能模拟教学系统与方法
CN116129731B (zh) * 2022-12-29 2023-09-15 北京布局未来教育科技有限公司 人工智能模拟教学系统与方法

Also Published As

Publication number Publication date
US9718185B2 (en) 2017-08-01
US20150364060A1 (en) 2015-12-17
EP3154749A1 (en) 2017-04-19
SG11201610305VA (en) 2017-01-27
EP3154749A4 (en) 2017-12-06
US12053883B2 (en) 2024-08-06
US20170297195A1 (en) 2017-10-19
US9498882B2 (en) 2016-11-22
US20150360366A1 (en) 2015-12-17
WO2015191910A1 (en) 2015-12-17
US9370862B2 (en) 2016-06-21
SG10201809399VA (en) 2018-11-29
US20190375096A1 (en) 2019-12-12
US10427295B2 (en) 2019-10-01
US20170036344A1 (en) 2017-02-09
US20210205980A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
CN106573378A (zh) 通过机器人反馈增强编程教育的系统和方法
CN103357177B (zh) 使用便携式游戏装置来记录或修改在主游戏系统上实时运行的游戏或应用
EP3178617B1 (en) Hybrid reality based i-bot navigation and control
WO2019114636A1 (zh) 编程玩具的反向编程的方法及系统、设备、介质
KR102001293B1 (ko) 로봇 상의 소프트웨어 애플리케이션 실행하기
KR20120072126A (ko) 간접체험을 위한 비주얼 서로게이트와 그 공급 장치 및 방법
US10108855B2 (en) Fitness device-based simulator and simulation method using the same
CN108415675B (zh) 信息处理设备、信息处理系统和信息处理方法
WO2018061030A9 (en) System for co-ordination of logical sequence of instructions across electronic devices using visual programming and wireless communication
US20190111563A1 (en) Custom Motion Trajectories for Robot Animation
CN208744840U (zh) 机器人指令动作控制系统
JP7363823B2 (ja) 情報処理装置、および情報処理方法
US11478925B2 (en) Robot and method for controlling same
Bonaiuto et al. Tele-operation of robot teams: a comparison of gamepad-, mobile device and hand tracking-based user interfaces
US20240351192A1 (en) System and method for reinforcing programming education through robotic feedback
CN108415676B (zh) 信息处理设备和信息处理方法
KR20210066602A (ko) 인공 지능 청소기 및 그의 동작 방법
KR102477531B1 (ko) 음성인식 기능이 구비된 가상 환경 제어 시스템
JP7196894B2 (ja) 情報処理装置、情報処理システム及びプログラム
CN112198816B (zh) 一种基于剧本的多设备交互系统和交互方法
LANGDUN et al. Building a Vision-Based AI Demonstrator with Unitree A1 Quadruped Robot
Liew Tidy up function development for service robot
Barber et al. An Android Interface For An Arduino Based Robot For Teaching In Robotics
CN114905496A (zh) 模块机器人的构建方法、模块机器人组装分享方法、用于模块机器人构建的交互系统
JP2001134362A (ja) 人形型インタフェース仮想空間ウォークスルーシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170419

RJ01 Rejection of invention patent application after publication