CN104858876B - 机器人任务的可视调试 - Google Patents

机器人任务的可视调试 Download PDF

Info

Publication number
CN104858876B
CN104858876B CN201410158746.5A CN201410158746A CN104858876B CN 104858876 B CN104858876 B CN 104858876B CN 201410158746 A CN201410158746 A CN 201410158746A CN 104858876 B CN104858876 B CN 104858876B
Authority
CN
China
Prior art keywords
robot
module
action
labelling
visual indicia
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.)
Active
Application number
CN201410158746.5A
Other languages
English (en)
Other versions
CN104858876A (zh
Inventor
L.G.巴拉加斯
D.W.佩顿
L.Y.库
R.M.乌伦布洛克
D.厄尔
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN104858876A publication Critical patent/CN104858876A/zh
Application granted granted Critical
Publication of CN104858876B publication Critical patent/CN104858876B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0205Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system
    • G05B13/026Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric not using a model or a simulator of the controlled system using a predictor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40311Real time simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

一种机器人系统,包括机器人、传感器和控制器,所述传感器测量状态信息,所述状态信息包括在工作空间中物体和机器人的位置和取向。用于可视地调试机器人运行的控制器包括模拟器模块、动作计划模块、和图形用户界面(GUI)。模拟器模块接收状态信息,且响应于标记命令产生视觉标记,作为机器人和物体的图形显示。动作计划模块选择机器人的下一个动作。标记产生模块响应于选择的下一个动作产生和输出标记命令到模拟器模块。GUI接收和显示视觉标记、选择的未来动作和输入命令。经由动作计划模块,视觉标记的位置和/或取向实时地改变,以改变机器人的运行。

Description

机器人任务的可视调试
技术领域
本发明涉及机器人任务的可视调试(debug)。
背景技术
机器人是电机械装置,其能使用一系列联动件、促动器和末端执行器操作物体。机器人的联动件(link)通常经由关节互连,每一个关节可以或互相依赖地被一个或多个关节促动器驱动。每一个关节代表独立的控制变量或自由度。末端执行器是用于执行命令工作任务序列的具体装置,例如抓持工作工具或将一个部件堆叠在另一个上。
对给定工作任务序列通常需要昂贵的机器人再训练。即使被抓持物体的表面在随后的工作任务序列中未改变也是如此。类似地,由于误差和/或松弛的运行条件而在机器人工作环境中造成的物体定位或取向的改变会要求昂贵的机器人再训练,无论是经由编程或通过关节和任务示范的反驱动(back-driving)进行的机器人手动再训练。然而,现有的控制软件不易于被重组以满足变化的灵活性需求。
发明内容
公开本文一种机器人系统。机器人系统包括机器人和具有图形用户界面(GUI)的控制器。控制器配置为(即充分地配备有硬件且以软件编程)允许机器人系统的操作者/用户可视地调试机器人的当前和未来动作,具体说是经由对一组所显示的视觉标记的操作。本方法的目的是在模拟环境中辅助用户与机器人的计划动作进行交互。
在现代的制造过程中,存在实现柔性组装生产线的需求,其能以最小量的停机时间生产新的或更多的不同产品。本发明的机器人系统经由直观的图形动作计划功能部分地解决该需求。在公开的所有实施例中,用在机器人系统中的视觉标记使用户可视地检查机器人的计划未来任务或动作的准确性,以避免相冲突的动作,即通过在这些动作之前观察用于这些动作的所计划的末端执行器的轨迹来实现,且通过经由GUI实时地改变视觉标记而调整计划的动作。
所述的控制器将动作计划模块与模拟模块组合以提供各种有利的优点。例如,所有可能的动作轨迹以及未来机器人和物体位置与取向可以经由视觉标记在经由GUI的显示屏可见的模拟环境中显示。通过将动作计划和模拟模块整合,控制器允许所有当前计划动作可视化且还有助于经由GUI实现必要的控制调整。这又使得用户能实时地改变机器人的行为。即用户可快速辨别机器人的所有可能的未来动作且快速确定动作计划模块是否已经选择了期望的解决方案。这种方法可以辅助执行多步骤工作任务序列,例如物体叠放,以及在不断改变的工作环境中执行更复杂的工作任务。
在示例性实施例中,机器人系统可以包括对输入命令做出响应的机器人、测量一组状态信息的传感器、和控制器。状态信息可以包括位于机器人的工作空间中的物体和机器人的位置和取向。控制器包括处理器和在其上记录了用于可视地调试机器人运行的指令的存储器。控制器包括模拟器模块、动作计划模块、标记产生模块和GUI。
模拟器模块接收来自传感器的状态信息且输出视觉标记,作为工作空间中机器人和物体的图形显示。动作计划模块选择机器人的未来动作。标记产生模块输出标记命令到模拟器模块。包括显示屏的GUI接收和显示视觉标记和选择的未来动作,且还接收输入命令。经由GUI和动作计划模块,视觉标记的位置和/或取向可通过用户实时地改变,以改变机器人的运行。
还公开一种方法,用于可视地调试机器人。方法包括经由模拟器模块从传感器接收所述一组状态信息,将多个标记命令经由标记产生模块传递到模拟器模块,且响应于标记命令经由模拟器模块产生视觉标记,作为工作空间中机器人和物体的图形显示。方法还包括在GUI的显示屏上显示视觉标记和选择的未来动作,经由动作计划模块选择机器人的未来动作,且经由动作计划模块响应于输入信号实时地修改视觉标记的位置和取向中的至少一个,以由此改变机器人的运行。
在下文结合附图进行的对实施本发明的较佳模式做出的详尽描述中能容易地理解上述的本发明的特征和优点以及其他的特征和优点。
附图说明
图1是如在本文所述的提供可视调试功能控制器和机器人系统的示意图。
图1A是在图1所示的机器人系统的控制器的结构中可用的示例性逻辑元件的示意图。
图2是用于图1的控制器的示例性第一可视调试状态的示意性透视图,显示了接近和离开轨迹标记。
图3是示例性第二可视调试状态的示意性透视图,显示了在抓持物体之后的目的标记。
图4是示例性第三可视调试状态的示意性透视图,显示了碰撞标记。
图5是流程图,其描述了经由图1所示的机器人系统可视地调试机器人的方法的示例性实施例。
具体实施方式
参考附图,其中几幅图中相同的附图标记指示相同或相似的部件,示例性机器人系统10在图1中被示意性地显示为具有机器人12。在示例性实施例中,机器人12可以是制造机器人,其可操作为执行材料操作或组装任务,例如本领域已知的6轴机器人类型,或具有至少6个自由度的自主灵巧型机器人。机器人12的动作可以经由如下所述的控制器50(CTRL)可视地调试。控制器50执行实施方法100的指令,其例子显示在图5中。图形用户界面(GUI)52的示例性“虚拟世界”图形或可视调试屏幕显示在图2-4中,将在下文描述这些附图每一个。
如本领域已知的,常规的末端执行器被设计为在具有最小量变化性的高度结构化工作环境中运行。末端执行器经常被限制为经由刚性限定的轨迹运动。例如,可以针对每一个新的机器人任务对接近和离开轨迹编程。同样,工业机器人经常被编程为具有一组固定的期望运动。由此,未来动作的计划不用在这样的系统中。此外,常规的机器人倾向于以一致且高度可预测的方式依赖于被放置在其工作环境中的物体而工作。这种限制因此使得常规的机器人控制方法相对不灵活且难以实时地修改。
甚至合并了用于自主轨迹计划的传感反馈的机器人系统也会要求大量的程序员交互,以正确指明机器人任务、调整所需运动参数、设定所需操纵器抓持位置和调整关键位置中的任务轨迹。本方法目的是减少用于需要复杂的动作计划系统的机器人系统的开发时间和误差,例如通过简化用户交互。
图1所示的机器人12可以包括基部14,其相对于表面11定位,例如制造场地的表面。机器人12可以包括具有一个或多个部段18的可动臂16。末端执行器20相对于基部14定位在臂16的部段18的最远端端部。在示例性实施例中,末端执行器20可以是机器人抓持器,其具有适用于抓持物体23的多个指状部27。
机器人关节17连接各种臂部段18。每一个机器人关节17可以通过关节促动器19驱动,例如马达,以便在命令的工作任务序列执行期间让末端执行器20运动(箭头88)。描述了当前机器人的性能值的原始传感器数据(箭头15)被转继到控制器50且被控制器50使用,以实时地主动监视和可视地调试机器人12的当前和未来动作。原始传感器数据(箭头15)可以描述机器人12的性能和状态值。原始传感器数据(箭头15)的示例性要素可以包括关节促动器19的测量或命令扭矩、通过末端执行器20施加到物体23的夹紧力、末端执行器20和/或任何其关节促动器19的速度和/或加速度等。
为了收集这样的数据,一个或多个传感器的传感器阵列33可以连接到机器人12(例如基部14)或相对于其定位。传感器阵列33可以包括力、压力和/或温度传感器、扭矩传感器、位置传感器等。传感器阵列33也可以包括所谓的“软”传感器,例如从直接测量值间接地计算一些值的软件,如本领域所理解的。另外,例如视觉系统这样的环境传感器25可以相对于机器人12定位且配置为拍摄、视频磁带录制、成像和/或以其他方式记录其视野中的任何事物(箭头V)——例如在其运行环境或工作空间中机器人12的行为——作为传递到控制器50的环境信息(箭头26)。
图1的控制器50的功能经由GUI52访问。由此,GUI52可以实施为具有显示屏55的人机界面,例如用于接收来自用户的控制输入(箭头53)的触摸屏、监视器或其他视觉显示装置。GUI52还可操作为传递控制输入命令(箭头CC)和接收反馈信息(箭头FB),如下所述。控制器50可以包括逻辑元件54(如图1A所示的,用于可视地调试机器人12)以及适用于执行本方法100的任何所需处理指令。
图1的控制器50可以实施为数字计算机(一个或多个),其具有一个或多个处理器(P)和实体非瞬时存储器(M),例如只读存储器(ROM),光学存储器,磁存储介质等,以及足够的随机存取存储器(RAM),电可编程只读存储器(EPROM)等。控制器50也可以包括高速时钟,模拟数字(A/D)电路,数字模拟D/A电路、和任何所需的输入/输出(I/O)电路,I/O装置和通信界面,以及信号调节和缓冲器电子器件。输入装置13可以与GUI52分开或整合。输入装置13可以例如是3D鼠标、控制杆或其他控制装置,其适用于在使用本方法100之前或过程中经由输入装置信号(箭头22)让机器人12运动或反驱动(back-driving)。
即图1的机器人12可以经由人辅助的示范和学习而“被教导”,以执行具体工作任务序列。视觉标记(visual marker)可以被编程且记录机器人12运行的工作环境的代表性特征,例如机器人12的物理环境。这种视觉标记可以代表存在于工作环境中的真实物体,例如所示的示例性物体23或另一物体21。控制器50还在存储器(M)中存储马达模式(motorschema)28,马达模式28描述了机器人12的所需动作或技能(skill)。马达模式28可以在工作任务序列的自动执行中通过视觉标记引导,以考虑机器人12的实际的环境,例如通过如下所述的环境传感器25所感知的。
因此,作为执行本方法100的先决条件,机器人12可以被教导所有所需的抓持位置和接近/离开的方向,同时学习如何抓住物体,例如物体23。该训练信息在运转(runtime)时被附到通过控制器50指定给任何感知特征的任何标记,所述感知特征经由环境传感器25或机器人12运行的环境中的其他传感器检测。由此,机器人12可以经由人的示范而首先学习且控制器50可以首先记录任何所需标记,且其后控制器50可动态地将已学习的标记指定给机器人12工作环境中的任何检测到的感知特征。该功能允许对变化环境的快速适应,而同时仍然允许机器人12完成多步骤组装处理。
任务学习的例子(无论是经由人示范任务的“示教”的命令还是以其他方式)是在图1的机器人12使用末端执行器20以抓持和提升物体23时的简单的抓持和拾取任务。机器人12的用户可以将末端执行器20反驱动到相对于物体23的期望位置,或经由用户输入装置13和输入装置信号(箭头22)让机器人12运动,且随后使用末端执行器20正确地抓持物体23,例如通过以足够的力手动地或自动地促动指状物27以建立合适的抓持姿势。用户随后让臂16和末端执行器20运动,以拾取和移动物体23。
虽然图1的机器人12可简单地通过观察执行该任务的操作人而潜在地识别任务序列和一些相关的感知数据,但是操作新的物体的更有难度的部分或形成新的组件是要确定在哪里置放末端执行器20和如何将工具中心点置放到正确的位置。通过在每一个任务中让操作人手动地移动臂16和末端执行器20而同时机器人12经由控制器50记录其自己的原始传感器数据(箭头15),每一个示范可提供有价值的经验数据流,从该数据流机器人12可在后处理中解决这些困难的问题,即紧接着人辅助学习之后的步骤。
相对于机器人技能,示范工作任务的行为模仿是基于认知和重复已知的机器人技能的,例如抓持物体23、放下物体23等。图1的机器人12的技能列表(repertoire,其实施为马达模式28且被记录在存储器(M)))中的每一个技能中可部分地通过成本估计(costestimation)功能和马达模式28限定。对于模仿目的来说,每一个技能的来源并不是重要的。技能可以是学习的或预编程的。
对于成本估计,示例性成本估计功能(例如(Ma、E、Wt))将指定给定标记物Ma的成本返回到被给定Wt的物体和所有被识别的最终状态E的组合,其中Wt是机器人环境的当前状态,如通过以下限定的:
Wt={P(t),J(t),sensors(t)}
其中P(t)为在时间步骤t中可视地识别和本地化的所有物体组,J(t)为机器人10的最近关节角度配置,且sensors(t)为通过与机器人12结合使用的所有其他可用传感器返回的数据组。图1的马达模式28使用标记Ma、被指定的物体Pb和机器人12的当前状态,以确定要被发送到机器人12的下一个关节角度,例如作为工作任务序列(箭头88)。控制器50的实际配置不是重要的,只要存在用于估计机器人12的当前关节角度的一些方式以便在标记(Ma)于运行时被重新指定时能改变机器人运动即可。在如上所述了标记的使用和机器人训练背景的情况下,将参考图1A-5描述用于可视地调试配置为使用这种标记的机器人系统10的本方法。
参见图1A,控制器50使用逻辑元件54,以可视地实时调试图1的机器人12的运行,例如在运行时。逻辑元件54包括多个逻辑模块60、70、80,图形用户界面(GUI)52与逻辑模块60、70、80通信。因为所有三个逻辑模块60、70、80是图1的控制器50的整合元件——无论是作为一个单元还是以分布式的方式,如本文使用的术语“逻辑模块”包括所有必要的硬件,例如处理器、存储器、I/O装置等,和用于执行具体模块60、70或80所需任务的软件,如下所述。
逻辑模块60在下文被称为标记产生模块(MGEN)60。逻辑模块70是模拟模块,其在下文称为模拟器模块(SIM)70。逻辑模块80为动作计划模块,其在下文被称为动作计划模块(AP)80。本发明的控制方案可以例如实施在MICROSOFT Robotics Developer Software(MRDS)或其他合适软件上实施。图1A示意性地所示的逻辑元件54是具体涉及可视调试的逻辑元件,且由此,出于简单和清楚的目的,控制器50的其他不相关硬件和软件从图1A省略。
图1的控制器50中的视觉感知本身是能力的混合,其每一个使用从各种机器人传感器而来的用于主动控制的实时反馈、来自模仿的或真实的摄像头(例如环境传感器25)的图像或其他环境数据(箭头26)、和直接从控制器50的处理器(P)和存储器(M)获取的物体位置。以下的描述涉及单个机器人技能,例如简单的抓持。通常,抓持技能提供用于实施许多机器人技能的良好模板,从抓持状态释放也是相似的工作任务。其他技能(例如复合的动作)可被配置为是抓持和释放的扩展,且将易于被本领域技术人员理解。
图1A的标记产生模块60可操作为生产和输出与图1所示的机器人12的动作相关的标记模型或视觉标记(箭头62)。在插入到模拟器模块(SIM)70时,视觉标记(箭头62)提供图形表示,例如机器人12的当前和未来动作的图标、图片或动画展现。视觉标记(箭头62)可以与机器人12正在或将要处理的具体物体相关,且表明与机器人12的计划动作有关的物体的属性。标记属性可例如表明在当前或未来状态中机器人12的位置或物体(例如图1的物体21或23)的位置、取向或轨迹。标记(箭头62)的可视属性可以是任何3D形状,例如箱体、锥体、或箭头,其具有可选地代表标记不同方面的不同颜色(箭头62)。
简要地参见图2,用于图1A的标记(箭头62)的标记形状的半透明阴影可用于允许与给定标记形状的物体123在标记形状部分本身中保持可见。在本发明的范围中,可以有四种类型的标记和其属性。目标标记(G)、轨迹标记(A、D)、目的标记(图3中的O1、O2)和碰撞标记(图4中的C1、C2)。每一个视觉标记将被描述。
视觉标记的最基本用途(图1A的箭头62)是为了将在图1的机器人12的工作空间中的、与机器人12的当前或未来动作相关的物体突出表示。目标标记(G)用于使得物体(例如图2的物体123)突出表示,所述物体是目的动作的目标。目标标记(G)所代表的目标例如可以是示例性倾倒动作中的杯子、如图2-4所示的叠放动作的底部物体、或紧固动作中的紧固件。目标标记(G)使得用户能检查在图1的机器人12应该工作在具体目标上的情况下或在机器人12应该工作在其工作环境中的所有可能的目标上的情况下目标是否确实是正确的。
在图2中,要被抓持的物体123周围的区域提供目标标记(G)的、用于机器人12的下一个拾取动作的可视化显示。箭头A和D是显示了用于与机器人12针对目标标记(G)的动作有关的抓持动作的接近轨迹(A)和离开轨迹(D)的轨迹标记。轨迹标记(A、D)由此允许用户可视地辨别沿所指明轨迹(A、D)的路径是否存在障碍物。表面11上的其他物体223、323可以显示在工作环境中,取决于任务其可以是或可以不是障碍物,例如在末端执行器20接近物体123是对于末端执行器20来说是障碍物。
如图3所示,目的标记(O1、O2)表明在未来的步骤中物体将在何处。在通过图1A的动作计划模块80计划出动作时,一个或多个目的标记(O1、O2)可用于显示所有物体在被机器人操作之后期望位于的最后位置。在必须通过机器人12处理复杂的组装任务时这是有用的,因为用户可容易地评估物体的未来期望位置且可在目的标记(O1、O2)未显示期望的最后结果的情况下停止机器人12。在图3中,目的标记(O1、O2)显示了在示例性叠放动作中在被机器人12操作之后最后的物体位置。
参见图4,碰撞标记(C1,C2)代表机器人12的抓持器形式的示例性末端执行器20。碰撞标记C2显示这种抓持器在未来动作可能会如何碰撞物体23。图1A的动作计划器(AP)可帮助机器人12避免被其工作空间中的障碍物阻挡的无效动作(如果机器人12正确地感知到障碍物的话)。然而,例如来自图1的环境传感器25的信号噪声会使得有效动作被识别为无效。碰撞标记(C1,C2)可由此通过在任何未来动作中将发生碰撞的位置处显示机器人12和物体(例如23,123,223,323)的模型而显示机器人12将在何处且如何与物体碰撞。这种视觉显示可以用于机器人12因为可能的碰撞而停止有效动作时进行可视调试。
再次参见图1A,模拟器模块(SIM)70可以实施为3D模拟器,其包含来自三个不同模型的信息,即对来自环境传感器25或其他传感器的有关周围环境的信息进行处理的环境模型(EM)72、对有关机器人12的状态和运动的信息进行处理的机器人模型(RM)74(例如经由图1所示的传感器阵列33),和接收并处理标记(箭头62)且经由GUI52产生其视觉显示的标记模型(MM)76。模拟器模块70由此在基于三个模型72、74、76的模拟世界中显示机器人12、机器人12环境中的物体、和标记。
图1A的模拟器模块70可以从图1的机器人系统10的视觉系统25和传感器阵列33接收机器人12的机器人位置和关节角度/旋转(共同显示为箭头X12),且还接收通过传感器25或其他内部或外部传感器发送的环境中所有物体的位置和取向。图1A的模拟器模块70在每次其从机器人系统10、环境传感器25或传感器阵列33接收到新的数据时更新其模块。图1A的模拟器模块70还在每次模拟器模块70从标记产生模块60经由标记(箭头62)接收新的数据时更新标记模块76。
GUI52可操作为从任何用户选择的观察点显示机器人12的3D模拟世界且还使得用户能通过与GUI52的交互而通过改变可视标记来调整机器人12的动作。四种可能的用途是轨迹修改、目标修改、未来位置修改和标记调试。
在轨迹修改中,图1A的GUI52使得用户能通过改变轨迹标记来改变动作的轨迹,即图2中的箭头A和D。这赋予用户帮助机器人12避开未被其传感器感知的障碍物的能力,在环境改变而没有重新训练机器人12时手动地修改接近方向的能力,和改变接近轨迹长度(图2的箭头A)以减少动作时间或提供更稳定的接近路径的能力。
对于目标修改,图1A的GUI52还使得用户再次经由到GUI52的控制输入命令(箭头53)通过改变目标标记(图2的G)而改变给定机器人动作的目标。这赋予在不同目标之间实时地切换的能力。
未来位置修改还可经由GUI52进行,以使得用户能改变物体在被机器人12操作之后将处于的未来位置。这可通过改变一个或多个目的标记(图3的O1,O2)的位置或取向而实现。该动作赋予用户在图1A的动作计划模块80执行不适当的计划时调整物体的最后定位的能力。
对于标记调试,图1A的GUI52还在标记被用户点击时显示机器人的动作信息,这样的点击动作是到GUI52的可能的控制输入命令(箭头53)。这允许用户在具体动作不正确时更容易且更快地调试。
图1A所示的动作计划模块80配置为使用通过模拟器模块70产生的模拟世界的信息而选择用于机器人12的最佳动作。动作计划模块80可以包括两个部分:可选状态预测器(SP)82和动作选择器(AS)84。状态预测器82被编程为基于动作结果产生“未来世界状态”。这种装置在控制器50使用基于未来预测的动作计划时是有用的。动作选择器84随后选择用于基于从模拟器模块70而来的任务信息(箭头78)和从状态预测器82而来的所产生的世界状态(箭头83)而让机器人12执行的下一个动作。
状态预测器82的使用是可选的,如上所述。没有状态预测器82,动作计划模块80也能发挥功能,例如通过使用贪婪算法(greedy algorithm),其获取具有最低当前成本的下一个可用动作。示例性成本功能如上所述。该例子中的标记产生模块60仍然能产生所有标记(箭头62),除了代表未来状态中未来物体位置的任何物体标记以外。然而,如果状态预测器82被实施,则动作计划模块80将能选择在几个动作步骤之后导向最低成本的动作。
状态预测器82可以经由状态树以一定的深度产生所有可能的未来世界状态,如本领域已知的。可选状态预测器82的示例性状态产生步骤可以如下进行。在第一步骤中,来自信息(箭头78)的模拟器模块70的当前状态可以用作状态树的根节点(root),其是本领域已知的术语。随后,用于状态树的每一个叶节点的所有有效动作可以经由控制器50找到,该控制器产生通过机器人12的每一个动作而改变的所有新的世界状态,且将它们作为子节点添加到状态树的相应叶节点。这会重复直到状态树达到校准深度。在新的世界状态产生时,模拟世界中的所有信息被克隆,且随后根据如何限定动作而按照需要而被改变。
动作计划模块80的动作选择器84基于来自模拟器模块70的当前模拟世界和通过状态预测器82(如果使用的话)产生的未来世界状态(箭头83)找出具有最低成本的下一个要执行动作。在状态预测器82不被使用时,动作计划模块80选择用于机器人12的具有最低转换成本(transition cost)加动作成本的下一个动作(箭头86)。本文使用的转换成本是用于让图1的机器人12从其当前位置运动到“准备好”位置(在该处机器人12能执行动作)的成本。其通常设计为与机器人12需要运动到准备好位置的轨迹长度成比例。动作成本可以通过用户根据不同动作等级设定。例如,在组装任务中,组合了两个部分的下一个动作(箭头86)可被赋予负成本(negative cost),其等于机器人12执行这类动作的收益(rewarding)。在使用状态预测器82时,动作计划模块80选择在预定数量的动作之后造成最低成本的具体动作。
动作选择器84可以启动在通过状态预测器82产生的状态树上的搜索。在达到状态树中的一节点时,每一个子节点的执行成本被计算。执行成本被限定为转换成本、动作成本和子节点的节点成本之和。转换成本和动作成本是与导向子节点的每一个动作相关的成本。该节点的节点成本是该节点的所有子节点中最小的执行成本。控制器50可在用于该具体节点的所有子节点中将该节点的执行成本设定为最小执行成本。导向具有最小执行成本的子节点的动作被设定为该节点的最低成本动作。以上步骤递归地重复,直到针对状态树中的所有节点完成。状态树的根节点最低成本动作随后是被选择的动作。
在最低成本动作被控制器50选择之后,动作计划模块80的动作选择器84发送动作命令到机器人12,例如作为工作任务序列(箭头88)。动作选择器84还可基于通过GUI52对模拟器模块70中的标记模型进行的改变而修改或调整被选择的动作。因为环境中的物体会在任何时候改变,所以上述步骤会需要在执行期间在任何时候重复,从而可对应于新的状态而选择修改的动作。
参见图5,根据示例性实施例的方法100以步骤102开始,其中图1的控制器50接收用于给定工作任务序列的输入命令(REC CC)。步骤102可以做出请求,以让机器人12执行简单的叠放动作,如图2-4所示。一旦请求被做出,则方法100前进到步骤104。
在步骤104,控制器50经由处理器(P)处理(PROC)接收的请求。图1所示的马达模式28可以用作该步骤的一部分,以评价该请求。在步骤104期间,图1的控制器50接收和处理从传感器阵列33而来的原始传感数据(箭头15)和从环境传感器25而来的环境数据(箭头26)。共同地,该信息显示在图1A中,如箭头XE和X12。方法100随后前进到步骤106。
步骤106实现经由图1A的标记产生模块60产生标记(箭头62)。提供到控制器50的环境和机器人信息,即箭头XE和X12,分别经由环境模块72和机器人模块74而接收和处理。产生的标记(箭头62)显示在GUI52的显示屏55上,这种到显示屏55的传递经由图5的箭头示出。获得该结果所需的逻辑元件54的操作在上文参考图1A被详细描述。一旦环境、机器人12和所有标记(图1A的箭头62)显示在显示屏55上,则方法100前进到步骤108。
在步骤108,图1的机器人系统10的用户经由作为反馈信息(箭头FB)而显示在显示屏55上的信息而确定所计划的未来动作是否正确,如经由在图5中的符号“OK?”示出。若如此,则方法100前进到步骤110。否则,方法100前进到步骤112。
步骤110包括经由工作任务序列的传递(图1和1A的箭头88)而执行命令的工作任务(PT)。方法100随后返回到步骤102。
步骤112实现将命令输入(箭头53)到GUI52,以请求正确的动作(CA)。步骤112可以实现任何或所有视觉标记的改变(箭头62),以改变未来动作序列。标记的修改(箭头62)可以触发实现这种改变结果的任何编程代码的修正。即类似于经由反驱动或其他手动训练技术而训练机器人12如何按照具体序列运动,步骤112可包括改变标记,以命令机器人12的虚拟反驱动。例如,改变目的标记(图3的O1,O2)或简单地修改轨迹标记(图2的A,D)可指示机器人12在未来工作任务序列中如何运动。
使用针对图1-4如上所述的机器人系统10的目的是提供一种方法,用于经由机器人如何作用在其工作空间中的物体上的详细显示而可视地调试机器人任务。与显示了机器人12的计划轨迹的标记关联地在虚拟空间中显示异议(objection)允许用户查看是否计划了不正确的目标。用户由此能在机器人12实际做出动作之前得知图1的机器人12的意图。这种方法在例如图1的机器人系统10这样的机器人系统中是尤其有用的,其中机器人12未被编程为具有具体坐标和控制点,而是将物体作为参考点运动且做出自主动作。
尽管已经对执行本发明的较佳模式进行了详尽的描述,但是本领域技术人员可得知在所附的权利要求的范围内的用来实施本发明的许多替换设计和实施例。

Claims (10)

1.一种机器人系统,包括:
机器人,对输入命令做出响应;
传感器,测量一组状态信息,包括工作空间中物体和机器人的位置和取向;和
控制器,具有处理器和在其上记录了用于可视地调试机器人运行的指令的存储器,控制器包括:
模拟器模块,与传感器通信,其中响应于标记命令,模拟器模块从传感器接收所述一组状态信息且产生视觉标记,作为工作空间中机器人和物体的图形显示;
动作计划模块,配置为选择机器人的下一个动作;
标记产生模块,与动作计划模块通信,且配置为响应于选择的机器人的下一个动作,产生和输出标记命令到模拟器模块;和
图形用户界面(GUI),具有显示屏,其中GUI与模拟器模块通信,且可操作为接收和显示视觉标记,且接收输入命令和经由动作计划模块实时地修改视觉标记的位置和取向中的至少一个,以实时地改变机器人的运行,由此实时地可视地调试运行。
2.如权利要求1所述的机器人系统,其中视觉标记包括以下中的至少一个:目标标记,表明机器人的末端执行器的期望目标;至少一个轨迹标记,表明末端执行器的接近或离开轨迹;目的标记,表明物体在未来将位于何处;和碰撞标记,表明末端执行器将在何处碰撞物体。
3.如权利要求2所述的机器人系统,其中视觉标记包括一对轨迹标记,且其中该一对轨迹标记包括表明末端执行器的接近轨迹的第一箭头和表明末端执行器的离开轨迹的第二箭头。
4.如权利要求2所述的机器人系统,其中视觉标记包括围绕物体的半透明形状部分,其允许物体在半透明形状部分的内部保持可见。
5.如权利要求1所述的机器人系统,其中传感器包括环境传感器,其可操作为捕获机器人和物体的图像,且将捕获的图像输出到模拟器模块,作为所述一组状态信息的一部分。
6.如权利要求1所述的机器人系统,其中动作计划模块包括动作选择器模块和状态预测器模块,其中动作计划模块使用来自模拟器模块的任务信息选择机器人的下一个动作,且状态预测器模块配置为使用所述任务信息预测机器人的未来状态。
7.如权利要求6所述的机器人系统,其中状态预测器模块利用状态树来预测未来状态。
8.如权利要求6所述的机器人系统,其中动作计划模块配置为使用成本模型将下一个动作确定为最低成本动作。
9.如权利要求1所述的机器人系统,其中模拟器模块包括标记模块,其可操作为将标记命令转换为二维和三维视觉标记。
10.一种机器人系统,包括:
机器人,对输入命令做出响应,且具有末端执行器;
传感器,测量一组状态信息,包括工作空间中物体和机器人的位置和取向;和
控制器,具有处理器和在其上记录了用于可视地调试机器人运行的指令的存储器,包括:
模拟器模块,与传感器通信,其中模拟器模块从传感器接收所述一组状态信息且响应于标记命令产生一组视觉标记,作为工作空间中机器人和物体的图形显示;
动作计划模块,配置为使用成本模型将机器人的未来动作选择作为最低成本动作,动作计划模块包括动作选择器模块,其使用来自模拟器模块的任务信息选择机器人的下一个动作;
标记产生模块,与动作计划模块通信,且配置为响应于所选择的下一个动作将标记命令输出到模拟器模块;和
图形用户界面(GUI),具有显示屏,其中GUI与模拟器模块通信,且可操作为接收和显示视觉标记和所选择的未来动作,且还接收输入命令和经由动作计划模块实时地修改视觉标记的位置和取向中的至少一个,以实时地改变机器人的运行,由此实时地可视地调试运行;
其中视觉标记包括:目标标记,表明末端执行器的期望目标;轨迹标记,表明作为末端执行器的轨迹的接近轨迹箭头和离开轨迹箭头;目的标记,表明物体在未来将位于何处;和碰撞标记,表明末端执行器将在何处碰撞物体,且其中目标标记、目的标记、和碰撞标记中的至少一个包括围绕物体的半透明形状部分,其允许物体在半透明形状部分的内部保持可见。
CN201410158746.5A 2014-02-25 2014-04-18 机器人任务的可视调试 Active CN104858876B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/189,452 US9387589B2 (en) 2014-02-25 2014-02-25 Visual debugging of robotic tasks
US14/189,452 2014-02-25

Publications (2)

Publication Number Publication Date
CN104858876A CN104858876A (zh) 2015-08-26
CN104858876B true CN104858876B (zh) 2017-04-12

Family

ID=53485175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410158746.5A Active CN104858876B (zh) 2014-02-25 2014-04-18 机器人任务的可视调试

Country Status (3)

Country Link
US (1) US9387589B2 (zh)
CN (1) CN104858876B (zh)
DE (1) DE102014103738B3 (zh)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3126936B1 (en) * 2014-04-04 2019-09-04 ABB Schweiz AG Portable apparatus for controlling robot and method thereof
US9283678B2 (en) * 2014-07-16 2016-03-15 Google Inc. Virtual safety cages for robotic devices
JP6545472B2 (ja) * 2015-01-27 2019-07-17 蛇の目ミシン工業株式会社 ロボット
JP6631279B2 (ja) * 2015-03-19 2020-01-15 株式会社デンソーウェーブ ロボット操作装置、ロボット操作プログラム
US10048851B2 (en) * 2015-03-19 2018-08-14 Denso Wave Incorporated Apparatus for operating robots
US9880553B1 (en) * 2015-04-28 2018-01-30 Hrl Laboratories, Llc System and method for robot supervisory control with an augmented reality user interface
US9969082B1 (en) 2016-01-05 2018-05-15 Boston Dynamics, Inc. Robotic systems and methods for task scoring and selection
US20170259433A1 (en) * 2016-03-11 2017-09-14 Seiko Epson Corporation Robot control device, information processing device, and robot system
EP3512667A1 (en) * 2016-09-13 2019-07-24 ABB Schweiz AG Method of programming an industrial robot
EP3298874B1 (en) * 2016-09-22 2020-07-01 Honda Research Institute Europe GmbH Robotic gardening device and method for controlling the same
EP3485337B1 (en) * 2016-09-23 2020-10-21 Apple Inc. Decision making for autonomous vehicle motion control
JP6889574B2 (ja) * 2017-03-03 2021-06-18 株式会社キーエンス ロボット設定装置、ロボット設定方法、ロボット設定プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
WO2018176025A1 (en) * 2017-03-24 2018-09-27 Siemens Aktiengesellschaft System and method for engineering autonomous systems
EP3595850A1 (en) * 2017-04-17 2020-01-22 Siemens Aktiengesellschaft Mixed reality assisted spatial programming of robotic systems
CN110662634B (zh) * 2017-05-29 2022-12-23 富兰卡爱米卡股份有限公司 用于控制关节型机器人的致动器的系统和方法
US20180348742A1 (en) * 2017-06-01 2018-12-06 X Development Llc Planning and Adapting Projects Based on a Buildability Analysis
JP6950347B2 (ja) * 2017-08-10 2021-10-13 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
JP7087316B2 (ja) * 2017-09-27 2022-06-21 オムロン株式会社 情報処理装置、情報処理方法およびプログラム
EP3673334B1 (en) * 2017-09-30 2023-05-24 Siemens Aktiengesellschaft Method for engineering autonomous system with reusable skills
DE102017009641A1 (de) * 2017-10-17 2019-04-18 Kuka Deutschland Gmbh Verfahren und System zum Betreiben eines Roboterarms
EP3476545A1 (en) * 2017-10-27 2019-05-01 Creaholic SA Method for operating a computer-based inventory of hardware modules of a robotic system
CN108068112A (zh) * 2017-11-02 2018-05-25 中车工业研究院有限公司 一种同一工位加工工件的装置、实现方法及加工方法
US10676022B2 (en) 2017-12-27 2020-06-09 X Development Llc Visually indicating vehicle caution regions
WO2019139815A1 (en) 2018-01-12 2019-07-18 Duke University Apparatus, method and article to facilitate motion planning of an autonomous vehicle in an environment having dynamic objects
WO2019183141A1 (en) 2018-03-21 2019-09-26 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
JP7210890B2 (ja) * 2018-03-29 2023-01-24 株式会社リコー 行動認識装置、行動認識方法、そのプログラム及びそのプログラムを記録したコンピュータ読取り可能な記録媒体
US10953548B2 (en) * 2018-07-19 2021-03-23 International Business Machines Corporation Perform peg-in-hole task with unknown tilt
JP7205752B2 (ja) * 2018-11-09 2023-01-17 オムロン株式会社 ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
CN113039499A (zh) * 2018-11-19 2021-06-25 西门子股份公司 通过自主机器支持任务的对象标记
CA3123456A1 (en) 2019-02-11 2020-08-20 Hypertherm, Inc. Motion distribution in robotic systems
US11358282B2 (en) 2019-04-08 2022-06-14 Teradyne, Inc. System and method for constraint management of one or more robots
US20220193911A1 (en) * 2019-04-17 2022-06-23 Realtime Robotics, Inc. Motion planning graph generation user interface, systems, methods and articles
US20220234211A1 (en) * 2019-06-24 2022-07-28 Telefonaktiebolaget Lm Ericsson (Publ) Technique for Selecting a Transmission Mode for Wirelessly Transmitting a Message Comprising Control Information for Robotic Device Control
CN110464468B (zh) * 2019-09-10 2020-08-11 深圳市精锋医疗科技有限公司 手术机器人及其末端器械的控制方法、控制装置
MX2022005751A (es) * 2019-11-12 2022-08-22 Bright Machines Inc Un sistema de fabricación/ensamblaje definido por software.
CN113352313A (zh) * 2020-03-06 2021-09-07 思特威(上海)电子科技股份有限公司 机器人的多级传感器决策控制系统
WO2021236942A1 (en) * 2020-05-21 2021-11-25 Blue Hill Tech, Inc. System and method for robotic food and beverage preparation using computer vision
JP7479205B2 (ja) * 2020-06-09 2024-05-08 株式会社日立オートメーション ロボットシステム、制御装置、及び制御方法
US11654566B2 (en) * 2020-08-12 2023-05-23 General Electric Company Robotic activity decomposition

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847336B1 (en) * 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
EP1842631A1 (en) * 2006-04-03 2007-10-10 ABB Research Ltd Apparatus and method for automatic path generation for an industrial robot

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4517652A (en) * 1982-03-05 1985-05-14 Texas Instruments Incorporated Hand-held manipulator application module
JPH05127718A (ja) * 1991-11-08 1993-05-25 Fujitsu Ltd マニピユレータの手先軌道自動生成装置
JPH06344279A (ja) * 1993-06-07 1994-12-20 Hitachi Ltd 遠隔作業装置及び方法
US5798627A (en) * 1995-01-04 1998-08-25 Gilliland; Malcolm T. Method for simultaneous operation of robot welders
JP4014662B2 (ja) * 1995-09-18 2007-11-28 ファナック株式会社 ロボット教示操作盤
JP3841439B2 (ja) 1996-07-24 2006-11-01 ファナック株式会社 ロボットのジョグ送り方法
US6353814B1 (en) * 1997-10-08 2002-03-05 Michigan State University Developmental learning machine and method
JPH11134017A (ja) * 1997-10-27 1999-05-21 Honda Motor Co Ltd オフラインティーチング方法
WO2000025185A1 (en) * 1998-10-27 2000-05-04 Irobotics, Inc. Robotic process planning using templates
US6587752B1 (en) * 2001-12-25 2003-07-01 National Institute Of Advanced Industrial Science And Technology Robot operation teaching method and apparatus
US9104197B2 (en) * 2004-06-15 2015-08-11 Abb Ab Method and system for off-line programming of multiple interacting robots
JP2006350602A (ja) 2005-06-15 2006-12-28 Yushin Precision Equipment Co Ltd 操作端末装置
US7626571B2 (en) * 2005-12-22 2009-12-01 The Board Of Trustees Of The Leland Stanford Junior University Workspace expansion controller for human interface systems
US8786613B2 (en) * 2006-04-08 2014-07-22 Alan Millman Method and system for interactive simulation of materials and models
JP4271232B2 (ja) * 2006-12-20 2009-06-03 ファナック株式会社 ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
CN102119072B (zh) * 2008-06-09 2013-09-11 Abb技术有限公司 有助于对离线编程机器人单元进行校准的方法和系统
JP5526881B2 (ja) 2010-03-12 2014-06-18 株式会社デンソーウェーブ ロボットシステム
JP5465137B2 (ja) * 2010-04-22 2014-04-09 本田技研工業株式会社 ロボットおよび制御システム
JP2012135821A (ja) * 2010-12-24 2012-07-19 Seiko Epson Corp ロボットシミュレーション装置、ロボットシミュレーション方法、及びロボットシミュレーションプログラム
US8856335B1 (en) * 2011-01-28 2014-10-07 Netapp, Inc. Managing service level objectives for storage workloads
US20120290130A1 (en) * 2011-05-10 2012-11-15 Agile Planet, Inc. Method to Model and Program a Robotic Workcell
US10401144B2 (en) * 2011-12-06 2019-09-03 Hexagon Technology Center Gmbh Coordinate measuring machine having a camera
US9505130B2 (en) * 2012-07-13 2016-11-29 General Electric Company System and method for performing remote welding operations on an apparatus
JP6015282B2 (ja) * 2012-09-21 2016-10-26 オムロン株式会社 シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847336B1 (en) * 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
EP1842631A1 (en) * 2006-04-03 2007-10-10 ABB Research Ltd Apparatus and method for automatic path generation for an industrial robot

Also Published As

Publication number Publication date
CN104858876A (zh) 2015-08-26
DE102014103738B3 (de) 2015-07-16
US9387589B2 (en) 2016-07-12
US20150239127A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
CN104858876B (zh) 机器人任务的可视调试
CN100590629C (zh) 用于机器人仿真的装置、程序、记录介质以及方法
US8843236B2 (en) Method and system for training a robot using human-assisted task demonstration
Ekvall et al. Learning and evaluation of the approach vector for automatic grasp generation and planning
TW201905729A (zh) 動作預測系統以及動作預測方法
CN108161904A (zh) 基于增强现实的机器人在线示教装置、系统、方法、设备
WO2011065035A1 (ja) ロボットの教示データを作成する方法およびロボット教示システム
WO2011065034A1 (ja) ロボットの動作を制御する方法およびロボットシステム
CN109910018B (zh) 具有视觉语义感知的机器人虚实交互操作执行系统及方法
Pedersen et al. Intuitive skill-level programming of industrial handling tasks on a mobile manipulator
Pedersen et al. Gesture-based extraction of robot skill parameters for intuitive robot programming
Jiang et al. Mastering the complex assembly task with a dual-arm robot based on deep reinforcement learning: A novel reinforcement learning method
Pedersen et al. Using human gestures and generic skills to instruct a mobile robot arm in a feeder filling scenario
Lee et al. Reinforcement Learning-based Virtual Fixtures for Teleoperation of Hydraulic Construction Machine
Kulakov et al. Information Technology for Interactive Robot Task Training Through Demonstration of Movement 1
Thoo et al. Online and offline robot programming via augmented reality workspaces
Bolano et al. Towards a vision-based concept for gesture control of a robot providing visual feedback
Al-Saedi et al. Design and implementation of chess-playing robotic system
Kasper et al. Abstracting perception and manipulation in end-user robot programming using Sikuli
Romdhane et al. Interactive MATLAB based project learning in a robotics course: Challenges and achievements
RU2813444C1 (ru) Система взаимодействия человек-робот на основе смешанной реальности
Sun et al. Direct virtual-hand interface in robot assembly programming
US11921492B2 (en) Transfer between tasks in different domains
Universityof Teaching Robotic Assembly Tasks Using a 3D Simulation Environment
WO2023067972A1 (ja) 動作指令生成装置および動作指令生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant