CN114728413A - 用于控制远程机器人的图形用户界面的方法和系统 - Google Patents
用于控制远程机器人的图形用户界面的方法和系统 Download PDFInfo
- Publication number
- CN114728413A CN114728413A CN201980102371.1A CN201980102371A CN114728413A CN 114728413 A CN114728413 A CN 114728413A CN 201980102371 A CN201980102371 A CN 201980102371A CN 114728413 A CN114728413 A CN 114728413A
- Authority
- CN
- China
- Prior art keywords
- robot
- gui
- representation
- collision
- computing device
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 97
- 238000012360 testing method Methods 0.000 claims description 32
- 230000000007 visual effect Effects 0.000 claims description 32
- 230000006870 function Effects 0.000 claims description 28
- 239000012636 effector Substances 0.000 claims description 26
- 230000000712 assembly Effects 0.000 claims description 21
- 238000000429 assembly Methods 0.000 claims description 21
- 230000007613 environmental effect Effects 0.000 claims description 11
- 238000004088 simulation Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 7
- 238000012986 modification Methods 0.000 claims description 7
- 238000013459 approach Methods 0.000 claims description 6
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 5
- 230000007423 decrease Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000012800 visualization Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005530 etching Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000003826 tablet Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1671—Programme 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/02—Hand grip control means
- B25J13/025—Hand grip control means comprising haptic means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/087—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40091—Tele-programming by graphical simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40515—Integration of simulation and planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
用于提供计算设备的图形用户界面(GUI)的示例方法包括接收指示机器人的目标姿态的输入,提供用于在计算设备的GUI上显示的、与指示机器人的当前状态的机器人的纹理模型相结合的、作为目标姿态的预览的机器人的透明表示,基于将机器人延伸到边界图示之外的目标姿态,在GUI上生成表示机器人的运动范围限制的边界图示,修改GUI上机器人的透明表示和边界图示的特性,以通知无效姿态,并且基于目标姿态是有效姿态,向机器人发送指令,使机器人执行该目标姿态。
Description
技术领域
本公开总体上涉及机器人或机器人设备的操作,并且更具体地,涉及一种提供机器人的运动范围限制表示供预览,以确定机器人的有效姿态(pose)的图形用户界面(GUI)。
背景技术
在工业或商业环境中,远程地操作机器人变得越来越普遍。在这种情况下,操作员可能不在机器人附近,并且可能看不到机器人。操作员依靠位于机器人上或周围的传感器(例如,相机)来操作和控制机器人。
操作员在提供用于机器人操作的指令后需要某种类型的反馈,以了解任务是否成功。因此,需要一种用于机器人的远程操作的反馈系统。
发明内容
本文公开的实现方式涉及例如控制机器人或机器人设备的操作的方法。这些方法是例如至少部分地由计算机或计算设备执行的计算机实现的方法。
本文公开的一些实现方式附加地或可替代地涉及根据机器人的经编程移动轨迹来使机器人执行任务的特定技术。
本文公开的一些实现方式附加地或可替代地涉及提供用于在计算设备的GUI上显示的机器人的表示作为预览,并修改GUI上机器人的透明表示和边界图示的特性,以通知无效姿态。
本文公开的一些实现方式附加地或可替代地涉及提供用于在计算设备的GUI上显示的机器人的表示作为预览,并基于由表示提供的姿态是有效姿态,向机器人发送使机器人执行该姿态的指令。
本文公开的一些实现方式附加地或可替代地涉及提供用于在计算设备的GUI上显示的运行(execute)测试移动的机器人的轨迹云表示,并修改GUI中机器人的轨迹云表示的特性,以向机器人通知与其自身或与对象的碰撞。
本文公开的一些实现方式附加地或可替代地涉及提供用于在计算设备的GUI上显示的运行测试移动的机器人的轨迹云表示,并生成用于在GUI上显示的机器人的测试移动的时间线,其包括表示机器人在测试移动期间与其自身或与对象的碰撞实例的沿时间线的指示。
尽管本文参考包括抓取和/或放置对象的操纵描述了一些示例,但应当理解,本文所述技术可以用于针对对象的各种机器人操纵或用于机器人的各种移动。例如,这些技术可以用于包括推和/或拉对象以将其移动到不同位置和/或使其与另外的对象配合(mate)的操纵。此外,例如,这些技术可以用于包括抓取第一对象、抓取第二对象、将第一对象和第二对象耦合在一起以及将耦合的对象放置在特定位置的操纵。作为另一个示例,这些技术可以用于包括用端部执行器对对象进行操作的操纵,该端部执行器包括蚀刻(etching)工具、螺丝刀工具、切割工具和/或其他工具。
上述描述是对本公开的一些实现方式的概述。下文将更详细地描述对这些实现方式以及其他实现方式的说明。
其他实现方式可以包括存储可由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))运行、以执行上述和/或本文其他地方所述的一种或多种方法的指令的暂时性或非暂时性计算机可读介质。其他实现方式还可以包括一个或多个计算机或计算设备和/或一个或多个机器人或机器人设备的系统,该系统包括可操作来运行存储的指令以执行方法(诸如上述和/或本文其他地方描述的一个或多个方法)的一个或多个处理器。
应当理解,本文更详细描述的前述概念和附加概念的所有组合均被视为本文公开的主题的部分。例如,出现在本公开前面的所要求保护的主题的所有组合被认为是本文公开的主题的部分。因此,已经讨论的特征、功能和优点可以在各种示例中独立实现、或者可以在其他示例中相组合。参考下面的描述和附图,可以看到示例的更多细节。
附图说明
所附权利要求中阐述了说明性示例中被视为特性的新颖特征。然而,当结合附图阅读时,通过参考对本公开的说明性示例的以下详细描述,将最佳地理解说明性示例以及使用的优选模式、进一步的目的及其描述,其中:
图1示出了可以实现本文所述实现方式的环境示例。
图2示意性地描绘了根据示例实现方式的机器人的示例架构。
图3是根据示例实现方式的,可以可选地用于执行本文所述技术的一个或多个方面的系统的示例的框图。
图4示出了根据示例实现方式的计算机实现的方法的示例的流程图。
图5示出了根据示例实现方式的具有机器人的纹理模型(textured model)的GUI的示例。
图6示出了根据示例实现方式的具有边界图示的GUI的示例。
图7示出了根据示例实现方式的具有边界图示的GUI的示例,其中该边界图示具有经修改的特性。
图8示出了根据示例实现方式的具有附加边界图示的GUI的示例。
图9示出了根据示例实现方式的GUI的示例,其中示出了附加对象特征。
图10示出了根据示例实现方式的具有所示碰撞检测的GUI的示例。
图11示出了根据示例实现方式的具有附加碰撞检测的GUI的示例。
图12示出了根据示例实现方式的计算机实现的方法的另一个示例的流程图。
图13示出了根据示例实现方式的,具有测试移动的轨迹云表示和时间线的GUI的示例。
具体实施方式
下文将参考附图对公开的示例进行更全面的描述,附图中示出了公开示例的部分但非全部。实际上,可以描述若干个不同的示例,并且这些示例不应该被解释为限于本文所阐述的示例。相反,描述这些示例是为了使本公开彻底和完整,并将本公开的范围完全传达给本领域技术人员
在示例中,系统和方法为机器人的操作员提供图形用户界面(GUI),其包括向操作员示出在对机器人的实时交互控制期间机器人的有效姿态和无效姿态以及移动轨迹的可视化。这些图示有助于向操作员教导机器人的运动学特征(kinematics),并且还通过在机器人被控制执行无效姿态之前通知无效姿态来防止对机器人及其周围环境的损害。可视化可以包括单个机器人、机器人和环境,以及对多个机器人的规划。
可视化向操作员指示机器人的各种功能能力或约束。因此,GUI提示操作员以持续或经指导的方式与机器人交互,以使机器人能够正常工作。例如,执行对机器人的实时交互控制的操作员可以基于呈现给操作员的技术反馈来修改他们对机器人的控制。因此,机器人可以被指示执行技术任务,而不超过机器人的各种物理限制或危及机器人环境的安全。例如,可以在使用手术机器人的手术过程中实现本公开的实现方式。GUI可以通过显示示出手术机器人的有效姿态和无效姿态以及移动轨迹的可视化来充当外科医生的视觉辅助。这可以辅助外科医生以更安全且更精确的方式来进行外科手术(诸如定位植入物)。可以在各种其他场景(诸如产品组装和搜索与救援)中实现本公开的实现方式。
GUI提供了一种能够远程地控制机器人的工具,其会在机器人处于移动的最大边界时通知操作员。例如,可以示出不同的图标和图形表示来示出机器人移动范围之外的移动。可视化可以用不同的颜色来呈现机器人的部分、或者在可能发生最大移动或碰撞时提供透明视图。因此,GUI提供了机器人的内部状态呈现,并且还实现了用户和GUI之间的交互(例如,用户启动或响应机器人的表示)。
此外,关于碰撞,机器人或机器人的环境包括相机,其提供所有周围对象和环境的几何性状(geometry)的图像,从而能够检测机器人何时会撞击对象。然后可以提供图形表示来示出碰撞。机器人上或环境中的传感器捕获机器人周围的完整三维(3D)场景,以使得能够实时进行检测,从而提供将导致安全/不安全结果的移动的另外的图示。
可以提供另外的图示,以通知被分类为安全、不安全或潜在安全和潜在不安全的移动范围。例如,取决于碰撞的对象或碰撞的力,一些碰撞可能是可接受的,因此图形表示可以更详细以给出详细的反馈。
可以执行对机器人移动的模拟以定义边界,并且还可以通过观察碰撞发生的位置,随着时间的推移来进行学习。当机器人感觉碰到什么东西时,可以记录观察结果,并且利用这些事件的日志和来自相机的数据,可以预测与机器人移动相关的分类。
可以向操作员提供触觉反馈形式的附加反馈,诸如施加到操作员使用的控制器的扭矩、力或振动反馈,以辅助操作员在机器人实际执行动作前更好地了解环境。这可以与使用雷达的材料检测相结合,以更准确地反映触觉力。当将触觉马达与诸如麦克风的其他传感器相组合时,可以在机器人刮擦粗糙表面时捕获到特有的振动。然后,该数据可以被传送给操作员,在操作员处,用控制器或类似的触觉设备再现触觉。
因此,本文中的示例通过持续和/或经指导的人机交互过程来向远程操作员提供反馈,以辅助控制机器人。可以向远程操作员提供关于机器人的当前和/或未来姿态的技术信息,其中该技术信息对于不在机器人附近的操作员来说不是轻易可用的。由GUI呈现给操作员的信息涉及机器人中使得操作员能够正确地操作机器人(例如避免由于超过机器人的限制而导致的技术故障)的主要内部状态。可以指导远程操作员以更安全且更高效的方式来控制机器人,减少发送给机器人的、由于机器人的物理约束等而不会最终导致期望输出的指令的数量。就完成任务的功耗和/或时间而言的机器人的操作效率可以由改进的人机交互来产生。
此外,可以在机器人处本地地提供反馈,以向机器人附近的人员提供信息。例如,当人接近机器人或协作机器人时,可能难以理解机器人的状态、机器人将移动到哪里以及机器人将采取什么轨迹。当使用增强现实(AR)设备时,相机图像可以覆盖有机器人数据,以提供更容易理解的信息,并将其放入上下文中。例如,在捕获到的图像中,可以示出轨迹,并且可以以3D将当前规划的动作可视化为机器人上的覆盖(overlay)。可以提供另外的图形表示作为覆盖,以允许人能够看到其中机器人可能进入保护性停止(例如,“红光”)的区域、或者能够看到机器人可能采取的移动。
现在参考附图,图1示出了可以实现本文所述实现方式的环境100的示例。图1包括第一机器人102a和视觉组件104a、第二机器人102b和视觉组件104b以及附加的视觉组件104c。
机器人102a和102b、视觉组件104a和104b以及附加的视觉组件104c均部署在环境100(诸如制造设施、封装设施或其他环境)中。尽管环境100还可以包括附加的机器人和/或附加的视觉组件,但是为了简单起见,在图1中仅示出了机器人102a和102b以及附加的视觉组件104c。
机器人102a和102b是各自具有多个自由度的“机器人臂”,其可以使对应的抓取端部执行器106a和106b能够沿多条潜在移动路径或潜在移动轨迹中的任何一条移动,以将抓取端部执行器定位在期望的位置。机器人102a和102b各自进一步控制它们对应的抓取端部执行器106a和106b的两个相对的“爪”,以在至少打开位置和关闭位置(和/或可选地多个“部分关闭”位置)之间将爪致动。尽管在图1中示出了这些类型的机器人,但是可以使用附加的和/或替代的机器人,包括类似于机器人102a和102b的附加的机器人臂、具有其他机器人臂形式的机器人、具有人形形式的机器人、具有动物形式的机器人、经由一个或多个轮子移动的机器人、无人驾驶飞行器(UAV)等。此外,尽管图1中示出了特定的抓取端部执行器,但是可以使用附加的和/或替代的端部执行器(或者甚至没有端部执行器),诸如替代的冲击式(impactive)抓取端部执行器(例如,具有抓取“板”的端部执行器、具有或多或少“指”/“爪”的端部执行器)、“向内式(ingressive)”抓取端部执行器、“束缚式(astrictive)”抓取端部执行器、或“邻接(contiguity)”抓取端部执行器或者非抓取端部执行器(例如,焊接工具、切割工具等))。
如本文所述的,视觉组件104a和104b可以是例如各种视觉传感器,诸如单目(monographic)相机(例如,生成2D RGB图像的相机)、立体相机(例如,生成2.5D RGB图像的相机)、激光扫描仪(例如,生成2.5D“点云”的激光扫描仪),并且由此产生的视觉数据可以被提供给对应的机器人102a和102b并由其使用。尽管在图1中被示出为邻近机器人102a和102b,但是在其他实现方式中,视觉组件104a和104b可以可替代地耦合或附接到机器人102a和102b(例如,附接到臂的部分上或靠近端部执行器)。
附加的视觉组件104c可以是例如单目相机、立体相机、激光扫描仪和/或其他视觉组件,并且可以可操作地连接到本文公开的一个或多个系统或计算设备(例如,系统300或计算设备122)。可选地,如本文所述的,可以提供多个附加的视觉组件,并且利用来自每个组件的视觉数据。
机器人102a可以进入环境100中的工作空间108a,在图1中,该工作空间108a包括传送器系统的传送器部分112a上的对象110a(例如,订书机),并且还包括容器114a。机器人102a可以利用如本文所述确定的对象操纵参数来抓取对象110a并将对象110a适当地放置在容器114a中。更一般地,例如,可以在环境100中操作机器人102a以执行将对象110a从第一区域(例如,在传送器机部分112a上)运送到第二区域(例如,在容器114a中)的任务。其他对象可以在不同时间在工作空间108a中的传送器机部分112a上,不同的容器也是如此(例如,容器可以由单独的系统放置或者在单独的传送器机系统上)。例如,当传送器系统移动时,其他对象将被运送到工作空间108a中,并且可以在工作空间108a中时由机器人102a操纵。机器人102a同样可以利用对应的对象操纵参数来拾取和放置这样的对象,和/或对这样的对象执行其他操纵。
机器人102b可以进入环境100中的机器人工作空间108b,在图1中,该机器人工作空间108b包括传送器系统的传送器部分112b上的对象110b(例如太阳镜),并且还包括容器114b。机器人102b可以利用如本文所述确定的对象操纵参数来抓取对象110b并将其适当地放置在容器114b中。更一般地,例如,可以在环境100中操作机器人102b以执行将对象110b从第一区域(例如,在传送器机部分112b上)运送到第二区域(例如,在容器114b中)的任务。其他对象可以在不同时间在工作空间108b中的传送器机部分112b上,不同的容器也是如此。机器人102b同样可以利用对应的对象操纵参数来拾取和放置这样的对象,和/或对这样的对象执行其他操纵。
附加的视觉组件104c具有环境100中与工作空间108a不同且与工作空间108b不同的区域108c的视野。在图1中,区域108c包括传送器系统的传送器部分112c,并且还包括对象110c(例如,刮铲)。区域108c可以在工作空间108a和/或工作空间108b的“上游”,因为待操纵的对象在被运送到工作空间108a或工作空间108b之前首先经过区域108c。例如,在对象被传送器系统路由到工作空间108a或工作空间108b之前,传送器系统可以首先使对象经过区域108c。例如,在图1中,刮铲在区域108c中,但是还没有被运送到工作空间108a或工作空间108b。
如本文详细描述的,在各种实现方式中,视觉组件104a和104b以及附加的视觉组件104c各自都可以捕获视觉数据,该视觉数据捕获包括对象110a-110c的对象特征的环境100的特征。此外,系统或计算设备(如下所述的)可以利用视觉数据来确定对象操纵参数,以使机器人102a或机器人102b能够操纵(例如,拾取和放置)对象110a-110c。以这些和其他方式,机器人102a和102b可以更高效地操作,因为用于操纵对象的对象操纵参数可以被快速确定,可选地甚至在对象到达机器人工作空间108a和108b之前被确定,并且机器人102a-102b的移动可以被优化,而不是例如被严格地要求遵循预先存储的经编程轨迹。
视觉数据可以用于在机器人102a-102b操纵对象110a-110b之前确定对象操纵参数,以便在启动移动之前生成优化。
环境100还可以包括环境100中的一个或多个附加的传感器,以提供附加的传感器数据。附加的传感器可以包括机器人102a-102b的扭矩传感器116a-116b或环境100中位于传送器部分112a-112b下方的重量传感器118a-118b。附加的传感器数据可以用于例如基于对对象110a-110b的重量以及机器人102a-102b上的应变(stain)的了解来进一步确定对机器人102a-102b的经编程移动轨迹的第二调整。
在图1中,机器人102a在机器人站120a中操作,机器人102b在机器人站120b中操作,并且视觉组件104c在机器人站120c中操作。包括图形用户界面(GUI)124的计算设备122在操作员站126处,并且被配置为远程操作(teleoperate)机器人120a、机器人120b和视觉组件104c。计算设备122因此与机器人120a、机器人120b和视觉组件104c(有线或无线地)通信,以向机器人120a、机器人120b和视觉组件104c发送数据或指令信号,并从机器人120a、机器人120b和视觉组件104c接收数据或信息。
如本文所述的,术语“远程操作”用于指示从与机器人分离或不同于机器人的位置控制机器人,以便远程地控制机器人。因此,操作员站126与机器人站120a-120c分离且不同。在一些示例中,操作员站126被认为远离机器人站120a-120c,并且可以在与机器人站120a-120c分离的房间或分离的建筑物(或者甚至分离的地理区域)中。
图2示意性地描绘了根据示例实现方式的机器人200的示例架构。机器人200可以是如图1所示的机器人102a-102b的形式,并且例如,图2中的图示是机器人102a-102b的示例框图表示。机器人200包括机器人控制系统202、一个或多个操作组件204a-204n以及一个或多个传感器206a-206m。传感器206a-206m可以包括例如视觉组件、光传感器、压力传感器、压力波传感器(例如麦克风)、接近传感器、加速度计、陀螺仪、温度计、气压计等。尽管传感器206a-206m被描绘为与机器人200集成在一起,但这并不意味着是限制性的。在一些实现方式中,传感器206a-206m可以例如作为独立单元位于机器人200的外部。
操作组件204a-204n可以包括例如一个或多个端部执行器和/或一个或多个伺服(servo)马达或其他致动器,以实行机器人200的一个或多个组件的移动。例如,机器人200可以具有多个自由度,并且致动器中的每一个可以响应于控制命令来在一个或多个自由度内控制机器人200的致动。如本文所使用的,除了可以与致动器相关联并且将接收到的控制命令转换为用于驱动致动器的一个或多个信号的任何驱动器之外,术语致动器还包含产生运动的机械或电气设备(例如,马达)。因此,向致动器提供控制命令可以包括向将控制命令转换为用于驱动电气或机械设备以产生期望运动的适当信号的驱动器提供控制命令。
机器人控制系统202可以在一个或多个处理器(诸如机器人200的CPU、GPU和/或其他控制器)中实现。在一些实现方式中,机器人200可以包括“脑盒(brain box)”,其可以包括控制系统202的全部或部分。例如,脑盒可以向操作组件204a-204n提供数据的实时突发,其中实时突发中的每一个包括一个或多个控制命令的集合,除其他外,该集合还规定了用于操作组件204a-204n中的一个或多个中的每一个的运动参数(如果有的话)。
如本文所述的,在一些实现方式中,机器人控制系统202生成的控制指令的全部或部分可以基于根据本文所述技术生成的对象操纵参数来生成。尽管机器人控制系统202在图2中被示出为机器人200的组成部分,但是在一些实现方式中,机器人控制系统202的全部或部分可以在与机器人200分离但与其通信的组件中实现。例如,机器人控制系统202的全部或部分可以在与机器人200有线和/或无线通信的一个或多个计算设备上实现。
在图2中,机器人控制系统202、传感器202a-202m和操作组件204a-204n各自耦合到通信总线208,以例如实现数据传输。
图3是根据示例实现方式的,可以可选地用于执行本文所述技术的一个或多个方面的系统300的示例的框图。系统300包括计算设备122,其可以进一步用于执行本文所述技术的一个或多个方面。
计算设备122与机器人102a-102b、视觉组件104a-104b、附加的视觉组件104c和附加的传感器(例如,扭矩传感器116a-116b和重量传感器118a-118b)通信(例如,通过有线或无线通信链路),以从这些元件接收信息或向这下元件传送信息。
计算设备122包括经由总线子系统306与多个外围设备通信的至少一个处理器304。这些外围设备可以包括存储子系统308(包括例如存储器子系统310和文件存储子系统312)、用户界面输出设备314、用户界面输入设备316和网络接口子系统318。输入和输出设备允许用户与计算设备122交互。网络接口子系统318提供到外部网络的接口,并且耦合到其他计算设备中对应的接口设备。
用户界面输入设备316可以包括键盘、定点设备(诸如鼠标、轨迹球)、触摸板或图形输入板(graphics tablet)、扫描仪、结合在显示器中的触摸屏、音频输入设备(诸如语音辨识系统、麦克风)和/或其他类型的输入设备。一般地,术语“输入设备”的使用旨在包括将信息输入到计算设备122中或输入到通信网络上的所有可能类型的设备和方式。
用户界面输出设备314可以包括显示子系统、打印机、传真机或非视觉显示器,诸如音频输出设备。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可视图像的一些其他机制。显示子系统还可以诸如经由音频输出设备来提供非视觉显示器。一般地,术语“输出设备”的使用旨在包括从计算设备122向用户或另外的机器或者计算设备输出信息的所有可能类型的设备和方式。
此外,如图3所示,用户界面输出设备314可以包括或提供例如GUI 124。
用户界面输入设备316和用户界面输出设备314一般还可以包括允许与一个或多个网络或一个或多个远程设备进行短程通信和长程通信两者的通信接口,诸如无线接口和/或一个或多个有线接口。这样的无线接口可以在一个或多个无线通信协议、蓝牙、WiFi(例如,电气和电子工程师协会(IEEE)802.11协议)、长期演进(LTE)、蜂窝通信、近场通信(NFC)和/或其他无线通信协议下提供通信。这样的有线接口可以包括以太网接口、通用串行总线(USB)接口或类似的接口,以经由导线、双绞线、同轴电缆、光链路、光纤链路或其他到有线网络的物理连接进行通信。因此,这样的通信接口可以被配置为从一个或多个设备接收输入数据,并且还可以被配置为向其他设备发送输出数据。
处理器304可以是通用处理器或专用处理器(例如,数字信号处理器、专用集成电路等)。处理器304可以从用户界面输入设备316接收输入,并处理输入以生成存储在存储子系统308中的输出。处理器304可以被配置为运行存储在存储子系统308中的指令(例如,计算机可读程序指令),并且是可运行以提供本文所述的计算设备122的功能。
存储子系统308存储提供本文所述模块中的一些或全部的功能的编程和数据结构。例如,存储子系统308可以包括执行本文所述的一个或多个方法的所选方面的逻辑。存储子系统308可以包括其上存储有指令的非暂时性计算机可读介质,当由计算设备122的处理器304运行时,这些指令使得计算设备122执行本文所述方法的功能。
这些软件模块一般由处理器304单独运行或与其他处理器结合运行。存储子系统308中使用的存储器310可以包括多个存储器,包括用于在程序运行期间存储指令和数据的主随机访问存储器(RAM)320和其中存储固定指令的只读存储器(ROM)322。文件存储子系统312可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动、软盘驱动以及相关联的可移动介质、CD-ROM驱动、光驱或可移动介质盒。实现特定实现方式的功能的模块可以由文件存储子系统312存储在存储子系统308中、或者存储在可由处理器304访问的其他机器中。因此,存储子系统308可以包括或被认为是例如非暂时性计算机可读介质。
总线子系统306提供了让计算设备122的各种组件和子系统按预期彼此通信的机制。尽管总线子系统306被示意性地示为单条总线,但是总线子系统的替代实现方式可以使用多条总线。
计算设备122可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其他数据处理系统或计算设备。由于计算机和网络不断变化的性质,对图3中描绘的计算设备122的描述仅旨在作为说明一些实现方式的特定示例。计算设备122的多种其他配置可能具有比图3所示的计算设备122更多或更少的组件。
在示例中,计算设备122也可以是机器人102a或机器人102b的组件,而不是分离的组件。
计算设备122通过在GUI 124上显示关于机器人102a-102b的有效姿态和无效姿态或移动的信息来向用户提供信息,以辅助机器人102a-102b的操作。在对机器人102a-102b的远程操作过程中,用户可以更好地看到机器人102a-102b将基于提供的输入如何操作,然后当发现目标姿态是有效姿态时,计算设备可以向机器人发送指令,使机器人执行该目标姿态。
图4示出了根据示例实现方式的计算机实现的方法400的示例的流程图。图4所示的方法400呈现了可以用于例如图1-图3所示的机器人102a-102b、机器人200、系统300或计算设备122的方法的示例。此外,设备或系统可以用于或被配置为执行图4中呈现的逻辑功能。在一些情况下,设备和/或系统的组件可以被配置为执行这些功能,使得这些组件实际上(用硬件和/或软件)被配置和构造为实现这样的性能。在其他示例中,设备和/或系统的组件可以被布置为诸如当以特定方式操作时,适于、能够或适合于执行这些功能。方法400可以包括如框402-412中的一个或多个所示的一个或多个操作、功能或动作。尽管这些框是以连续的次序示出的,但是这些框也可以并行执行,和/或以与本文描述的次序不同的次序来执行。此外,基于期望的实现方式,各种框可以被组合成更少的框、被划分成附加的框和/或被移除。
应当理解,对于本文公开的过程和方法以及其他过程和方法,流程图示出了当前示例的一种可能实现方式的功能和操作。在这方面,每个框或每个框的部分可以表示程序代码的模块、段或部分,其包括可由处理器运行以实现过程中特定逻辑功能或步骤的一个或多个指令。程序代码可以存储在任何类型的计算机可读介质或数据存储器上,例如,诸如包括磁盘或硬盘驱动的存储设备。此外,程序代码可以以机器可读格式编码在计算机可读存储介质上、或者编码在其他非暂时性介质或制造品上。计算机可读介质可以包括非暂时性计算机可读介质或存储器,例如,诸如像寄存器存储器、处理器高速缓存和随机访问存储器(RAM)那样短期存储数据的计算机可读介质。计算机可读介质还可以包括非暂时性介质,诸如二级或持久长期存储器,如只读存储器(ROM)、光盘或磁盘、紧凑盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。计算机可读介质可以被认为是例如有形的计算机可读存储介质。
此外,图4中的每个框或每个框的部分,并且在本文公开的其他过程和方法中,可以表示连线以执行过程中特定逻辑功能的电路。替代实现包括在本公开的示例的范围内,其中取决于所涉及的功能,功能可以不按所示或所讨论的次序来运行,包括基本上同时或以相反次序来运行,如本领域技术人员所理解的。
在框402处,方法400包括提供用于在计算设备122的图形用户界面(GUI)124上显示的、指示机器人的当前状态的机器人的纹理模型,并且计算设备在操作员站处并且被配置为远程操作机器人,并且机器人在机器人站处。
在框404处,方法400包括在计算设备122处接收指示机器人的目标姿态的输入。例如,用户可以通过触摸屏、键盘等提供指示机器人的目标姿态或配置的输入。
在框406处,方法400包括,提供用于在计算设备122的GUI 124上显示的、与指示机器人的当前状态的机器人的纹理模型相结合的、作为目标姿态的预览的机器人的透明表示。
图5示出了根据示例实现方式的具有机器人200的纹理模型210的GUI124的示例。在图5中,GUI 124示出了指示机器人200的当前状态的机器人200的纹理模型210。图5还示出了与指示机器人200的当前状态的机器人200的纹理模型210相结合的作为目标姿态的预览的机器人200的透明表示212。计算设备122接收输入并模拟移动,以生成机器人200的透明表示212作为目标姿态的预览。
在示例中,机器人模拟器可以用于模拟机器人的全部或部分和/或工作空间的全部或部分,并且可以绘制对机器人移动的模拟。机器人模拟器可以用于模拟包括对应的对象的环境,模拟在模拟的环境中操作的机器人的全部或部分(例如,至少机器人的端部执行器),以及响应于模拟的机器人动作来可选地模拟模拟的机器人和模拟的环境对象之间的交互。可以利用各种模拟器,诸如模拟碰撞检测、软体和刚体动力学等的物理引擎。这样的模拟器的一个非限制性示例是BULLET物理引擎。
因此,操作员从图5所示的场景开始,在该场景中向操作员呈现机器人的逼真纹理模型,该纹理模型指示真实机器人的当前状态。蓝色透明(或虚幻)臂是目标姿态的预览,操作员操纵其来定义他们希望机器人移动到的姿态。在操作员远程地控制机器人200的情况下,目标姿态的预览使得操作员能够确定目标姿态是否有效。
再次参考图4,在框408处,方法400包括在GUI上生成表示机器人的运动范围限制的边界图示,该边界图示包括不透明度,当机器人接近运动范围限制时,不透明度的强度增加。
图6示出了根据示例实现方式的具有边界图示214的GUI 124的示例。在示例中,安全性(safety)通过将边界图示214示出为“罩(shield)”来防止操作员将透明臂从基座伸出太远。边界图示214可以是机器人运动范围限制的假设或理论边界,使得透明表示212不会越过边界图示214。
在图5中,边界图示214被示为例如蜂窝壁或多边形壁。在一些示例中,边界图示214是基于表示机器人200的运动范围限制的概念球面边界来生成的,并且边界图示214的不透明度的强度在概念球面边界上最靠近机器人200的点最高,且该强度从概念球面边界上的该点辐射出去而降低。因此,随着机器人200接近球面边界,球面罩不透明度的强度增加,并且从球面边界上最靠近机器人200的交互点的点向外辐射强度最高。
再次参考图4,在框410处,方法400包括基于将机器人200延伸到边界图示214之外的目标姿态,修改GUI 124上机器人200的透明表示212和边界图示214的特性,以通知无效姿态。
图7示出了根据示例实现方式的GUI 124的示例,其中边界图示214具有经修改的特性。在示例中,将机器人200延伸超过边界图示214使得球面和机器人200的透明表示212都改变颜色,诸如变红。因此,修改特性可以包括计算设备122改变GUI 124上机器人200的透明表示212和边界图示214的颜色。也可以改变其他特性,诸如使边界图示214或机器人200的透明表示212闪烁、或者可以触发进一步的警报,包括给操作员的触觉或音频反馈。
再次参考图4,在框412处,方法400包括基于目标姿态是有效姿态,向机器人200发送指令,使机器人执行该目标姿态。使用GUI 124和方法400,计算设备122可以验证目标姿态,基于来自操作员的输入提供姿态的视觉表示,然后当目标姿态表示有效姿态时控制机器人200。有效姿态可以是机器人200的透明表示212不延伸超过或进入边界图示214,并且因此在机器人200的运动范围限制内的姿态。
在示例中,方法400还包括生成附加边界图示。图8示出了根据示例实现方式的具有附加边界图示的GUI 124的示例。在示例中,机器人200包括基座216、从基座216向上延伸的中心柱218、通过提供多个自由度的耦合连杆串联连接的多个臂组件220和222,并且多个臂组件之一耦合到中心柱218,以及连接到串联连接的臂组件中的最后一个的端部执行器224。在该示例中,边界图示214可以是GUI 124上表示多个臂组件的运动范围限制的第一边界图示,并且方法400可以还包括在GUI 124上生成从中心柱218向上延伸的第二边界图示226,其表示耦合到中心柱218的多个臂组件之一的运动范围限制。因此,第二边界图示226提供了机器人200的特定组件的运动范围限制的表示。当特定组件到达边界或接近边界时,可以出现类似的视觉效果来修改第二边界图示226的特性,以向操作员提供反馈。
在另外的示例中,机器人200位于环境100中,并且方法400还包括从环境中的一个或多个视觉组件(例如,视觉组件104a-104c)接收捕获环境特征(包括位于环境中的对象的对象特征)的视觉数据,并在GUI上生成对象的透明表示,其示出对象在环境中相对于机器人的位置。
图9示出了根据示例实现方式的GUI 124的示例,其中示出了附加对象特征。在图9中,在GUI上示出对象(例如传送器带)的透明表示228,其示出了对象在环境中相对于机器人200的位置。还示出了不同对象(例如,箱(bin)容器)的另一个透明表示230。提供机器人200附近的对象的透明表示使得操作员能够看到运动路径中可能有什么。此外,通过将对象提供为透明表示,向操作员通知机器人200可以在被对象占据的区域中可操作地移动。在其他示例中,当对象被示出为实心填充的对象时,向操作员通知机器人200不能在被对象占据的区域中移动。因此,计算设备122确定机器人可以在特定路径中移动,确定是否有任何对象占据这些路径,然后生成这些对象的透明表示,以在GUI 124上示出。
在图9中,环境中的对象可能需要碰撞检测,因此,计算设备122还通过透明表示228和230来表示此类对象。例如,透明表示228和230传达对象的体积。
在另外的示例中,图4中的方法400还包括在GUI 124上模拟机器人200的可能移动以根据机器人200的当前状态实现目标姿态,基于检测到模拟可能移动的机器人与环境中对象的碰撞,在GUI 124上生成导致碰撞的模拟可能移动的机器人的轨迹路径的表示,以及在GUI上生成示出碰撞的表示。
图10示出了根据示例实现方式的具有碰撞检测的GUI 124的示例。在图10中,在GUI 124上示出机器人200的模拟的可能移动,虚线232示出端部执行器224的移动。在该示例中,端部执行器224会与透明表示230所表示的对象碰撞。这样,可以修改端部执行器224的颜色以示出模拟的碰撞。
在一些示例中,基于碰撞是可接受的,该方法可以包括修改GUI 124上示出碰撞的表示的特性,以通知机器人200的可接受移动。这里,在一些操作中,碰撞可能是可接受的或期望的,因此可以调整端部执行器224的特性以示出例如绿色。这样,通过在GUI 124中本地地模拟每个可运行程序(动作)来评估已知碰撞体之间的碰撞,通过改变机器人200上的颜色来示出。当检测到碰撞时,工具交互点将在动作期间采用的轨迹路径被示出为一系列线,包括指示移动方向的箭头。
因此,在一些示例中,方法400还可以包括在GUI 124上模拟机器人200的可能移动以根据机器人200的当前状态实现目标姿态,以及基于检测到模拟可能移动的机器人与环境中对象的碰撞,在GUI 124上生成作为一系列指示导致碰撞的移动方向的带箭头的线的、模拟可能移动的机器人的轨迹路径的表示。
此外,方法400还可以包括在GUI 124上模拟机器人200的可能移动以根据机器人的当前状态实现目标姿态,以及基于检测到机器人200与模拟可能移动的机器人200的部分的碰撞,修改机器人的透明表示的特性。例如,由于机器人200的配置(其中包括臂的多个部分),机器人200可能潜在地与其自身碰撞,并且透明表示可以反映这个问题。在特定示例中,机器人包括基座216、从基座向上延伸的中心柱、通过提供多个自由度的耦合连杆串联连接的多个臂组件220和222,并且多个臂组件之一耦合到中心柱,并且端部执行器224连接到串联连接的臂组件中的最后一个。方法400可以包括在GUI 124上模拟机器人200的可能移动,以根据机器人的当前状态实现目标姿态,以及基于超过模拟可能移动的机器人的多个臂组件之一的最大关节角度,修改机器人的透明表示上的多个臂组件之一的特性。
图11示出了根据示例实现方式的具有附加碰撞检测的GUI 124的示例。在图11中,自碰撞和超过最大关节角度差由透明表示212上令人不快的关节改变颜色(例如,变红)来示出。在GUI 124上示出机器人200的模拟的可能移动,虚线232示出端部执行器224的移动。
在另外的示例中,方法400可以可选地包括基于机器人执行目标姿态的移动,来提供施加到操作员站处的控制器的触觉反馈。控制器可以包括操纵杆或计算机鼠标,例如,可以基于检测到模拟碰撞来施加触觉反馈。
此外,在运行机器人的移动后,可以捕获移动观察结果以提供反馈。因此,在一些示例中,方法400可以包括在计算设备122处接收捕获的机器人站处的机器人当执行目标姿态时移动的音频特性,以及基于捕获的机器人执行目标姿态的移动的音频特性来提供施加到操作员站处的控制器的触觉反馈。在此示例中,如果发生碰撞,则可以通过操作员站处的扬声器向操作员提供来自碰撞的音频。
图12示出了根据示例实现方式的计算机实现的方法420的另一个示例的流程图。图12中示出的方法420呈现了可以用于例如图1-图3中示出的机器人102a-102b、机器人200、系统300或计算设备122的方法的示例。此外,设备或系统可以用于或被配置为执行图12中呈现的逻辑功能。在一些情况下,设备和/或系统的组件可以被配置为执行这些功能,使得这些组件实际上(用硬件和/或软件)被配置和构造为实现这种性能。在其他示例中,设备和/或系统的组件可以被布置为适于、能够或适合于执行功能,诸如当以特定方式操作时。方法420可以包括如框422-430中的一个或多个所示的一个或多个操作、功能或动作。尽管这些框是以连续的次序示出的,但是这些框也可以并行执行,和/或以与本文描述的次序不同的次序来执行。此外,基于期望的实现方式,各种框可以被组合为更少的框、被划分为附加的框和/或被移除。
应当理解,对于本文公开的过程和方法以及其他过程和方法,流程图示出了当前示例的一种可能实现方式的功能和操作。在这方面,每个框或每个框的部分可以表示程序代码的模块、段或部分,其包括可由处理器运行以实现过程中特定逻辑功能或步骤的一个或多个指令。程序代码可以存储在任何类型的计算机可读介质或数据存储器上,例如,诸如包括磁盘或硬盘驱动的存储设备。此外,程序代码可以以机器可读格式编码在计算机可读存储介质上、或者编码在其他非暂时性介质或制造品上。计算机可读介质可以包括非暂时性计算机可读介质或存储器,例如,诸如像寄存器存储器、处理器高速缓存和随机访问存储器(RAM)那样短期存储数据的计算机可读介质。计算机可读介质还可以包括非暂时性介质,诸如二级或持久长期存储器,如只读存储器(ROM)、光盘或磁盘、紧凑盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失性或非易失性存储系统。计算机可读介质可以被认为是例如有形的计算机可读存储介质。
此外,图12中的每个框或每个框的部分,以及本文公开的其他过程和方法可以表示连线以执行过程中特定逻辑功能的电路。替代实现方式包括在本公开的示例的范围内,其中取决于所涉及的功能,功能可以不按所示或所讨论的次序执行,包括基本上同时或按相反次序执行,如本领域技术人员所理解的。
在框422处,方法420包括提供用于在计算设备的图形用户界面(GUI)上显示的、指示机器人的当前状态的机器人的纹理模型。在框424处,方法420包括在计算设备处接收指示机器人的测试移动的输入。框422和424的功能可以与参考图4的框402和404描述的功能相同或相似。
在图12中,在框426处,方法420包括提供用于在计算设备的GUI上显示的、与指示机器人的当前状态的机器人的纹理模型相结合的、运行测试移动的机器人的轨迹云表示,并且该轨迹云表示是运行测试移动的机器人的透明表示。轨迹云表示以增量方式示出机器人随时间的顺序移动,并且随着随后用于显示的增量被生成和示出,每个示出的增量保留用于显示。
在框428处,方法420包括修改GUI中机器人的轨迹云表示的特性,以通知机器人与其自身或与对象的碰撞。示例修改可以与图4中的框410中的功能所描述的相同或相似。
在图12中,在框430处,方法420包括生成用于在GUI上显示的机器人的测试移动的时间线,包括沿着该时间线的表示机器人在测试移动期间与其自身或与对象的碰撞实例的指示。该指示示出并指示机器人的无效姿态或移动何时发生。
图13示出了根据示例实现方式的具有测试移动的轨迹云表示和时间线的GUI 124的示例。在图13中,机器人200的轨迹云表示234被示出为测试移动的预览,并且轨迹云表示234是半透明的。轨迹云表示234中具有修改的特性(例如颜色改变为红色)的部分示出了无效的或者导致与对象或机器人的另外部分的碰撞的姿态或移动。
在GUI 124上提供时间线236,在时间线236上标记指示238、240和242,以记录无效姿态或移动或者其他碰撞的实例。因此,GUI 124使得操作员能够通过输入针对给定的一组目标姿态进行模拟的测试动作来测试机器人200的安全性,以便识别是否触发了任何安全系统。
在一些示例中,方法420因此包括执行测试移动的模拟,以及基于在测试移动的模拟期间检测到机器人与其自身或与对象的碰撞,来生成对GUI中机器人的轨迹云表示的特性的修改。
作为另外的示例,图12中的方法420能够测试机器人的安全系统。例如,对机器人和环境对象的测试移动和动作(可能导致碰撞)可以从云存储中被加载到计算设备122中,并且程序期间模拟的触发碰撞被示为沿时间线236的指示238、240和242(例如,红色刻度线)。这使得能够测试机器人的安全系统,以确保机器人如模拟的碰撞所期望的那样执行。
因此,在另外的示例中,方法420包括从数据存储中检索机器人的运动范围限制和环境碰撞,执行测试移动的模拟,以及在测试移动的模拟过程中检测机器人与其自身或与对象的碰撞。
在其他示例中,方法420包括针对机器人环境中的一组边界条件应用测试移动,识别机器人的安全系统是否已经被触发,以及基于识别出机器人的安全系统已经被触发,生成对GUI中机器人的轨迹云表示的特性的修改。
本文所述的示例可以使计算设备122在控制机器人时提供操作员反馈。GUI在远程控制的机器人的实时交互控制期间向操作员提供有效/无效姿态和轨迹的可视化图示。这可以向操作员教导机器人的运动学特征,还可以防止对机器人及其周围环境造成损害。
本文所使用的术语“基本上”和“大约”是指无需精确达到所述特性、参数或值,偏差或变化(包括例如公差、测量误差、测量准确度限制和本领域技术人员已知的其他因素)可能以不排除该特性预期提供的效果的量出现。
本文公开的系统、设备和方法的不同示例包括各种组件、特征和功能。应当理解,本文公开的系统、设备和方法的各种示例可以包括本文公开的系统、设备和方法的任何其他示例的任何组合或任何子组合的任何组件、特征和功能,并且所有这些可能性都旨在处于本公开的范围内。
出于说明和描述的目的,对不同的有利布置进行了描述,但并不旨在穷尽或限制所公开形式的示例。多种修改和变化对于本领域普通技术人员来说将是清楚的。此外,不同的有利示例可以描述与其他有利示例相比的不同优点。选择和描述所选一个或多个示例是为了最佳地解释示例的原理、实际应用,并使本领域的其他普通技术人员能够理解具有(如预期适合于特定用途的)各种修改的各种示例的公开内容。
Claims (24)
1.一种方法,包括:
提供用于在计算设备的图形用户界面GUI上显示的、指示机器人的当前状态的机器人的纹理模型,其中,所述计算设备在操作员站处并且被配置为远程操作机器人,并且所述机器人在机器人站处;
在计算设备处接收指示机器人的目标姿态的输入;
提供用于在计算设备的GUI上显示的、与指示机器人的当前状态的机器人的纹理模型相结合的、作为目标姿态的预览的机器人的透明表示,以及;
在GUI上生成表示机器人的运动范围限制的边界图示,其中,所述边界图示包括随着机器人接近运动范围限制而强度增加的不透明度;
基于将机器人延伸到边界图示之外的目标姿态,修改GUI上机器人的透明表示和边界图示的特性,以通知无效姿态;以及
基于所述目标姿态是有效姿态,向机器人发送指令,使机器人执行所述目标姿态。
2.根据权利要求1所述的方法,其中,在GUI上生成边界图示包括:
基于表示机器人的运动范围限制的概念球面边界在GUI上生成边界图示,并且所述不透明度的强度在所述概念球面边界上最靠近机器人的点处最高,并且所述强度从所述概念球面边界上的所述点向外辐射而降低。
3.根据权利要求1所述的方法,其中,修改GUI上机器人的透明表示和边界图示的特性,以通知无效姿态包括:
改变GUI上机器人的透明表示和边界图示的颜色。
4.根据权利要求1所述的方法,其中,所述机器人包括基座、从基座向上延伸的中心柱、通过提供多个自由度的耦合连杆串联连接的多个臂组件、以及连接到串联连接的臂组件中的最后一个的端部执行器,其中,所述多个臂组件之一耦合到中心柱,
其中,所述边界图示是GUI上表示多个臂组件的运动范围限制的第一边界图示,并且其中,所述方法还包括:
在GUI上生成从中心柱向上延伸的第二边界图示,所述第二边界图示表示连接到中心柱的多个臂组件之一的运动范围限制。
5.根据权利要求1所述的方法,其中,所述机器人位于环境中,并且所述方法还包括:
从环境中的一个或多个视觉组件接收捕获环境特征的视觉数据,所述环境特征包括位于环境中的对象的对象特征;以及
在GUI上生成对象的透明表示,所述对象的透明表示示出对象在环境中相对于机器人的位置。
6.根据权利要求5所述的方法,还包括:
在GUI上模拟机器人的可能移动,以根据机器人的当前状态实现目标姿态;
基于检测到模拟可能移动的机器人与环境中对象的碰撞,在GUI上生成导致碰撞的模拟可能移动的机器人的轨迹路径的表示;以及
在GUI上生成示出碰撞的表示。
7.根据权利要求6所述的方法,还包括:
基于碰撞是可接受的,修改GUI上示出碰撞的表示的特性,以通知机器人的可接受移动。
8.根据权利要求5所述的方法,还包括:
在GUI上模拟机器人的可能移动,以根据机器人的当前状态实现目标姿态;以及
基于检测到模拟可能移动的机器人与环境中的对象的碰撞,在GUI上生成作为具有指示导致碰撞的移动方向的箭头的一系列线的、模拟可能移动的机器人的轨迹路径的表示。
9.根据权利要求1所述的方法,还包括:
在GUI上模拟机器人的可能移动,以根据机器人的当前状态实现目标姿态;以及
基于检测到机器人与模拟可能移动的机器人的部分的碰撞,修改机器人的透明表示的特性。
10.根据权利要求1所述的方法,其中,所述机器人包括基座、从基座向上延伸的中心柱、通过提供多个自由度的耦合连杆串联连接的多个臂组件、以及连接到串联连接的臂组件中的最后一个的端部执行器,其中,所述多个臂组件之一耦合到中心柱,其中,所述方法还包括:
在GUI上模拟机器人的可能移动,以根据机器人的当前状态实现目标姿态;以及
基于超过模拟可能移动的机器人的多个臂组件之一的最大关节角度,修改机器人的透明表示上多个臂组件之一的特性。
11.根据权利要求1所述的方法,还包括:
基于机器人执行目标姿态的移动,提供施加到操作员站处的控制器的触觉反馈。
12.根据权利要求1所述的方法,还包括:
在计算设备处接收捕获的机器人站处的机器人当执行目标姿态时移动的音频特性;以及
基于捕获的机器人执行目标姿态的移动的音频特性,提供施加到操作员站处的控制器的触觉反馈。
13.一种其上存储有指令的非暂时性计算机可读介质,当由计算设备的一个或多个处理器运行时,所述指令使得计算设备执行功能,包括:
提供用于在计算设备的图形用户界面GUI上显示的、指示机器人的当前状态的机器人的纹理模型,其中,所述计算设备在操作员站处并且被配置为远程操作机器人,并且所述机器人在机器人站处;
接收指示机器人的目标姿态的输入;
提供用于在计算设备的GUI上显示的、与指示机器人的当前状态的机器人的纹理模型相结合的、作为目标姿态的预览的机器人的透明表示;
在GUI上生成表示机器人的运动范围限制的边界图示,其中,所述边界图示包括随着机器人接近运动范围限制而强度增加的不透明度;
基于将机器人延伸到边界图示之外的目标姿态,修改GUI上机器人的透明表示和边界图示的特性,以通知无效姿态;以及
基于所述目标姿态是有效姿态,向机器人发送指令,使机器人执行所述目标姿态。
14.根据权利要求13所述的非暂时性计算机可读介质,其中,所述机器人位于环境中,并且所述功能还包括:
从环境中的一个或多个视觉组件接收捕获环境特征的视觉数据,所述环境特征包括位于环境中的对象的对象特征;以及
在GUI上生成对象的透明表示,所述对象的透明表示示出对象在环境中相对于机器人的位置。
15.根据权利要求14所述的非暂时性计算机可读介质,其中,所述功能还包括:
在GUI上模拟机器人的可能移动,以根据机器人的当前状态实现目标姿态;
基于检测到模拟可能移动的机器人与环境中对象的碰撞,在GUI上生成导致碰撞的模拟可能移动的机器人的轨迹路径的表示;和
在GUI上生成示出碰撞的表示。
16.根据权利要求14所述的非暂时性计算机可读介质,其中,所述功能还包括:
在GUI上模拟机器人的可能移动,以根据机器人的当前状态实现目标姿态;以及
基于检测到模拟可能移动的机器人与环境中的对象的碰撞,在GUI上生成作为具有指示导致碰撞的移动方向的箭头的一系列线的、模拟可能移动的机器人的轨迹路径的表示。
17.根据权利要求13所述的非暂时性计算机可读介质,其中,所述功能还包括:
接收捕获的机器人站处的机器人当执行目标姿态时移动的音频特性;以及
基于捕获的机器人执行目标姿态的移动的音频特性,提供施加到操作员站处的控制器的触觉反馈。
18.一种系统,包括:
一个或多个处理器;以及
其上存储有指令的非暂时性计算机可读介质,当指令被一个或多个处理器运行时,使得一个或多个处理器执行功能,包括:
提供用于在计算设备的图形用户界面GUI上显示的、指示机器人的当前状态的机器人的纹理模型,其中,所述计算设备在操作员站处并且被配置为远程操作机器人,并且所述机器人在机器人站处;
接收指示机器人的目标姿态的输入;
提供用于在GUI上显示的、与指示机器人的当前状态的机器人的纹理模型相结合的、作为目标姿态的预览的机器人的透明表示;
在GUI上生成表示机器人的运动范围限制的边界图示,其中,所述边界图示包括随着机器人接近运动范围限制而强度增加的不透明度;
基于将机器人延伸到边界图示之外的目标姿态,修改GUI上机器人的透明表示和边界图示的特性,以通知无效姿态;以及
基于所述目标姿态是有效姿态,向机器人发送指令,使机器人执行所述目标姿态。
19.根据权利要求18所述的系统,其中,所述机器人位于环境中,并且所述功能还包括:
从环境中的一个或多个视觉组件接收捕获环境特征的视觉数据,所述环境特征包括位于环境中的对象的对象特征;以及
在GUI上生成对象的透明表示,所述对象的透明表示示出对象在环境中相对于机器人的位置。
20.根据权利要求19所述的系统,其中,所述功能还包括:
在GUI上模拟机器人的可能移动,以根据机器人的当前状态实现目标姿态;以及
基于检测到模拟可能移动的机器人与环境中对象的碰撞,在GUI上生成导致碰撞的模拟可能移动的机器人的轨迹路径的表示;以及
在GUI上生成示出碰撞的表示。
21.一种方法,包括:
提供用于在计算设备的图形用户界面GUI上显示的、指示机器人的当前状态的机器人的纹理模型;
在计算设备处接收指示机器人的测试移动的输入;
提供用于在计算设备的GUI上显示的、与指示机器人的当前状态的机器人的纹理模型相结合的、运行测试移动的机器人的轨迹云表示,其中,所述轨迹云表示是运行测试移动的机器人的透明表示;
修改GUI中机器人的轨迹云表示的特性,以通知机器人与其自身或与对象的碰撞;以及
生成用于在GUI上显示的机器人的测试移动的时间线,所述时间线包括沿着所述时间线的表示在测试移动期间机器人与其自身或与对象的碰撞实例的指示。
22.根据权利要求21所述的方法,还包括:
执行测试移动的模拟;以及
基于在测试移动的模拟期间检测到机器人与其自身或与对象的碰撞,生成对GUI中机器人的轨迹云表示的特性的修改。
23.根据权利要求21所述的方法,还包括:
从数据存储中检索机器人的运动范围限制和环境碰撞;
执行测试移动的模拟;以及
在测试移动的模拟过程中检测机器人与自身或与对象的碰撞。
24.根据权利要求21所述的方法,还包括:
针对机器人环境中的一组边界条件应用测试移动;
识别机器人的安全系统是否已经被触发;以及
基于识别出机器人的安全系统已经被触发,在GUI中生成对机器人的轨迹云表示的特性的修改。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/062188 WO2021101522A1 (en) | 2019-11-19 | 2019-11-19 | Methods and systems for graphical user interfaces to control remotely located robots |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114728413A true CN114728413A (zh) | 2022-07-08 |
Family
ID=69528935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980102371.1A Pending CN114728413A (zh) | 2019-11-19 | 2019-11-19 | 用于控制远程机器人的图形用户界面的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220355483A1 (zh) |
EP (1) | EP4021686A1 (zh) |
CN (1) | CN114728413A (zh) |
WO (1) | WO2021101522A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116509449A (zh) * | 2023-07-03 | 2023-08-01 | 深圳华大智造云影医疗科技有限公司 | 机械臂的位姿信息确定方法、装置及电子设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7396872B2 (ja) * | 2019-11-22 | 2023-12-12 | ファナック株式会社 | 拡張現実を用いたシミュレーション装置及びロボットシステム |
WO2022003493A1 (en) * | 2020-06-30 | 2022-01-06 | Auris Health, Inc. | Robotic medical system with collision proximity indicators |
US11710276B1 (en) * | 2020-09-21 | 2023-07-25 | Apple Inc. | Method and device for improved motion planning |
WO2023039088A1 (en) | 2021-09-08 | 2023-03-16 | Acumino | Wearable robot data collection system with human-machine operation interface |
US20230294275A1 (en) * | 2022-03-21 | 2023-09-21 | Intrinsic Innovation Llc | Robot programming |
CN115228035A (zh) * | 2022-07-18 | 2022-10-25 | 北京东晨润科技有限公司 | 人形智能交互消防作战机器人 |
CN117301044A (zh) * | 2023-08-31 | 2023-12-29 | 北京纳通医用机器人科技有限公司 | 末端工具的运动控制方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100090946A1 (en) * | 2005-02-08 | 2010-04-15 | Oblong Industries, Inc. | System and Method for Gesture Based Control System |
WO2010117685A2 (en) * | 2009-03-31 | 2010-10-14 | Intuitive Surgical Operations, Inc. | Synthetic representation of a surgical robot |
CN102438795A (zh) * | 2009-02-11 | 2012-05-02 | 来宝株式会社 | 手术机器人系统及其控制方法 |
US20130116828A1 (en) * | 2011-11-04 | 2013-05-09 | Fanuc Robotics America Corporation | Robot teach device with 3-d display |
CN105164731A (zh) * | 2013-03-14 | 2015-12-16 | 微软技术许可有限责任公司 | 将增强现实体验映射到各种环境 |
WO2018005842A1 (en) * | 2016-06-30 | 2018-01-04 | Intuitive Surgical Operations, Inc. | Graphical user interface for displaying guidance information in a plurality of modes during an image-guided procedure |
DE202017106506U1 (de) * | 2016-11-15 | 2018-04-03 | Google Llc | Einrichtung für tiefes Maschinenlernen zum Robotergreifen |
CN108145702A (zh) * | 2016-12-06 | 2018-06-12 | 韩华泰科株式会社 | 用于设置边界面的设备和设置边界面的方法 |
-
2019
- 2019-11-19 EP EP19849054.2A patent/EP4021686A1/en active Pending
- 2019-11-19 CN CN201980102371.1A patent/CN114728413A/zh active Pending
- 2019-11-19 US US17/753,978 patent/US20220355483A1/en active Pending
- 2019-11-19 WO PCT/US2019/062188 patent/WO2021101522A1/en unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100090946A1 (en) * | 2005-02-08 | 2010-04-15 | Oblong Industries, Inc. | System and Method for Gesture Based Control System |
CN102438795A (zh) * | 2009-02-11 | 2012-05-02 | 来宝株式会社 | 手术机器人系统及其控制方法 |
WO2010117685A2 (en) * | 2009-03-31 | 2010-10-14 | Intuitive Surgical Operations, Inc. | Synthetic representation of a surgical robot |
US20130116828A1 (en) * | 2011-11-04 | 2013-05-09 | Fanuc Robotics America Corporation | Robot teach device with 3-d display |
CN103213125A (zh) * | 2011-11-04 | 2013-07-24 | 范努克机器人技术美国有限公司 | 具有3d显示的机器人教学装置 |
CN105164731A (zh) * | 2013-03-14 | 2015-12-16 | 微软技术许可有限责任公司 | 将增强现实体验映射到各种环境 |
WO2018005842A1 (en) * | 2016-06-30 | 2018-01-04 | Intuitive Surgical Operations, Inc. | Graphical user interface for displaying guidance information in a plurality of modes during an image-guided procedure |
DE202017106506U1 (de) * | 2016-11-15 | 2018-04-03 | Google Llc | Einrichtung für tiefes Maschinenlernen zum Robotergreifen |
CN108145702A (zh) * | 2016-12-06 | 2018-06-12 | 韩华泰科株式会社 | 用于设置边界面的设备和设置边界面的方法 |
Non-Patent Citations (3)
Title |
---|
MIRKO KUNZE: "On-the-Fly workspace Visualization for Redundant Manipulators Dissertation", I9 JULY 2016(2016-07-19),XP055717660, RETRIEVED FROM THE INTERNET: URL:HTTPS://PUBLIKATIONEN.BIB1IOTHEK.KIT.E DU/ 1000065120/4027693 * |
PATRICK BEESON ET AL: "Cartesian Motion Planning & Task Programming with CRAFTSMAN", RSS2016 WORKSHOP ON TASK AND MOTION PLANNING, 19 JUNE 2016(2016-06-19),XP055717642, RETRIEVED FROM THE INTERNET: URL:HTTPS://WWW.RESEARCHGATE.NET/PROFILE/P ATRICK_BEESON/PUBLICATION/308674046_CARTES IAN_MOTION_PLANNING_TASK_PROGRAMMING_WITH CRAFTSMAN, pages 3 * |
STEFAN KOHLBRECHER ET AL: "A comprehensive Software Framework for complex locomotion and Manipulation Tasks Applicable to Different Types of humanoid Robots", FRONTIERS IN ROBOTICS AND AI, vol. 1, pages 8 - 10 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116509449A (zh) * | 2023-07-03 | 2023-08-01 | 深圳华大智造云影医疗科技有限公司 | 机械臂的位姿信息确定方法、装置及电子设备 |
CN116509449B (zh) * | 2023-07-03 | 2023-12-01 | 深圳华大智造云影医疗科技有限公司 | 机械臂的位姿信息确定方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20220355483A1 (en) | 2022-11-10 |
WO2021101522A1 (en) | 2021-05-27 |
EP4021686A1 (en) | 2022-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114728413A (zh) | 用于控制远程机器人的图形用户界面的方法和系统 | |
US11724398B2 (en) | Efficient robot control based on inputs from remote client devices | |
US20210347040A1 (en) | Grasping of an object by a robot based on grasp strategy determined using machine learning model(s) | |
US11220002B2 (en) | Robot simulation device | |
JP6586532B2 (ja) | ロボットの把持のための深層機械学習方法および装置 | |
US10394327B2 (en) | Integration of auxiliary sensors with point cloud-based haptic rendering and virtual fixtures | |
US10817134B2 (en) | Systems and methods for training robots using augmented reality and machine learning | |
CN114728412A (zh) | 使用视觉数据的机器人的运动路径的优化 | |
WO2017197037A1 (en) | Generating a grasp pose for grasping of an object by a grasping end effector of a robot | |
EP3126936B1 (en) | Portable apparatus for controlling robot and method thereof | |
WO2015154172A1 (en) | Robotic systems and methods of operating robotic systems | |
CN109910018B (zh) | 具有视觉语义感知的机器人虚实交互操作执行系统及方法 | |
US20240033907A1 (en) | Pixelwise predictions for grasp generation | |
GB2598345A (en) | Remote operation of robotic systems | |
Materna et al. | Teleoperating assistive robots: a novel user interface relying on semi-autonomy and 3D environment mapping | |
US20230381970A1 (en) | System(s) and method(s) of using imitation learning in training and refining robotic control policies | |
Makita et al. | Offline direct teaching for a robotic manipulator in the computational space | |
KR20230138487A (ko) | 객체 기반 로봇 제어 | |
CN117295589B (zh) | 在训练和细化机器人控制策略中使用模仿学习的系统和方法 | |
Gwozdz et al. | Enabling semi-autonomous manipulation on Irobot’s Packbot | |
Rossi et al. | Voxel Map Based Collision Detection for Underwater Manipulators |
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 |