[go: up one dir, main page]

CN106457569B - 机器人系统及操作机器人系统的方法 - Google Patents

机器人系统及操作机器人系统的方法 Download PDF

Info

Publication number
CN106457569B
CN106457569B CN201580031393.5A CN201580031393A CN106457569B CN 106457569 B CN106457569 B CN 106457569B CN 201580031393 A CN201580031393 A CN 201580031393A CN 106457569 B CN106457569 B CN 106457569B
Authority
CN
China
Prior art keywords
ancillary equipment
control
equipment
robot system
module
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
CN201580031393.5A
Other languages
English (en)
Other versions
CN106457569A (zh
Inventor
A·J·G·阿普卡里安
A·哈达迪
G·明扬·黎
H·J-P·拉修瑞
P·卡拉姆
D·R·埃里克森
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.)
Quanser Consulting Inc
Original Assignee
Quanser Consulting Inc
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 Quanser Consulting Inc filed Critical Quanser Consulting Inc
Publication of CN106457569A publication Critical patent/CN106457569A/zh
Application granted granted Critical
Publication of CN106457569B publication Critical patent/CN106457569B/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/1674Programme controls characterised by safety, monitoring, diagnostic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of leader-follower type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • B25J3/04Manipulators of leader-follower type, i.e. both controlling unit and controlled unit perform corresponding spatial movements involving servo mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • 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/40164Fault recovery from task execution errors
    • 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/40184Compliant teleoperation, operator controls motion, system controls contact, force
    • 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/40333Singularity, at least one movement not possible, kinematic redundancy
    • 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/49Protective device

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Manipulator (AREA)

Abstract

提供了用于操作各种机器人系统的方法和系统。所述方法和系统涉及能够实现多输入遥控操作和向用户提供高度沉浸感的平台的应用。所述机器人系统可以包括多个臂,所述多个臂用于操纵器并且用于从环境和/或机器人系统获取信息。机器人方法可以包括控制修改模块,其用于:检测基于控制命令的机器人设备的操作不符合一个或多个操作参数;识别所述不符合的控制命令;以及生成用于所述辅助设备的修饰符以将所述不符合的控制命令调整为符合所述一组操作参数。

Description

机器人系统及操作机器人系统的方法
相关专利申请的交叉引用
本申请主张2014年4月10日提交的美国临时申请No.61/977,886、2014年5月6日提交的美国临时申请No.61/989,020以及2014年12月19日提交的美国临时申请No.62/094,138的优先权。通过引用的方式将美国临时申请No.61/977,886、美国临时申请No.61/989,020和美国临时申请No.62/094,138中的每一个的全部公开的内容并入到本文中。
技术领域
公开的实施例涉及机器人系统及操作机器人系统的方法。具体地,一些实施例涉及远程控制的机器人系统及操作机器人系统的方法。
背景技术
机器人系统正越来越多的用于在不同情况下帮助人类。特别地,在人直接接触可能会发生危险甚至危及生命的情况下,机器人系统可能是重要的。
多年来,机器人技术已经发生了巨大的演进,推动产生了可以包括用于控制各个不同的从设备(或辅助设备)的多个主设备(或者主要设备)的机器人系统。因为主要设备能够通过用户接口接收命令,所以操作者可以位于各个不同的位置。
机器人系统的一个示例性的应用是用于简易爆炸装置处置(IEDD)。IEDD技术已经从最初的涉及人类直接处理简易爆炸装置(IED)的方法演变为最近的涉及与IED的一些直接人类交互的远程控制的机器人系统。然而,由于提供的用于操作机器人系统的控制比较原始并且能够获得和处理的数据量有限,所以大多数现有的机器人系统在其应用中继续受到限制。
发明内容
本文描述的各种实施例一般涉及机器人系统以及操作本文描述的机器人系统的方法。
根据一些实施例,提供了一种机器人系统,包括:输入模块,其能够操作用于从一个或多个主要设备接收一组输入信号,所述一组输入信号包括一个或多个输入信号;
存储模块,其能够操作用于提供配置简档,所述配置简档包括用于所述机器人系统的一组操作参数;处理模块,其被配置为至少基于所述一组输入信号和所述配置简档生成一个或多个控制命令,所述一个或多个控制命令是为一个或多个辅助设备生成的,所述处理模块与所述输入模块和存储模块电子通信,每个控制命令指示要由所述一个或多个辅助设备中的至少一个辅助设备进行的操作;以及一组控制修改模块,其用于管理机器人系统的操作,每个控制修改模块管理相应的辅助设备的操作,每个控制修改模块被配置为:检测相应的辅助设备的操作是否不符合所述一组操作参数;响应于检测到所述相应的辅助设备的操作不符合所述一组操作参数,从所述一个或多个控制命令中识别出不符合的控制命令,所述不符合的控制命令是导致所述相应的辅助设备的操作不符合所述一组操作参数的控制命令;以及生成修饰符以将所述不符合的控制命令调整为符合所述一组操作参数;其中,所述机器人系统对所述一个或多个控制命令和由相应的控制修改模块生成的每个修饰符产生响应。
在一些实施例中,所述机器人系统进一步包括输出模块,其用于将所述一个或多个控制命令和所述修饰符进行组合以提供输出信号,所述机器人系统对所述输出信号产生响应。在一些实施例中,所述输出模块可以位于相应的一个或多个辅助设备处。
在所述配置简档包括每个主要设备和所述至少一个辅助设备之间的映射关联并且每个输入信号与对应于提供该输入信号的主要设备的主要设备标识符相关联的实施例,所述处理模块可被配置为通过下述步骤针对每个输入信号生成所述一个或多个控制命令:从所述配置简档中识别出与对应于所述相应的主要设备标识符的主要设备映射关联的至少一个辅助设备;以及将该输入信号与识别出的至少一个辅助设备相关联。
在一些实施例中,对于每个辅助设备,所述处理模块被进一步配置为:确定该辅助设备是否与两个或更多个输入信号相关联;以及响应于确定该辅助设备与两个或更多个输入信号相关联,组合所述两个或更多个输入信号以为该辅助设备生成相应的控制命令。
在所述两个或更多个输入信号包括定义要由相应的辅助设备执行的操作的第一方面的第一输入信号和定义要由相应的辅助设备执行的操作的第二方面的第二输入信号的实施例中,所述第二方面与所述第一方面不同。
在一些实施例中,所述输入模块还能够操作用于从所述至少一个辅助设备接收状态改变指示符,所述状态改变指示符表示所述主要设备和所述辅助设备中的至少一个的调整;以及所述机器人系统还包括用于响应于所述状态改变指示符来更新所述配置简档的映射模块。
在一些实施例中,所述存储模块存储多个配置简档,每个配置简档包括各自不同的一组操作参数;以及所述映射模块还被配置为基于所述状态改变指示符从所述多个配置简档中选择一个配置简档。
所述主要设备和所述辅助设备中的至少一个的调整可以包括:改变主要设备和相应的辅助设备之间的映射关联。所述主要设备和所述辅助设备中的至少一个的调整可以包括:在所述辅助设备处出现闭合运动学回路。
在一些实施例中,每个控制修改模块进一步被配置为:基于所述一个或多个控制命令生成操作模型;通过所述操作模型识别一个或多个辅助设备中的至少一个和辅助设备的一个或多个部分之间的碰撞;以及响应于识别到所述碰撞,生成用于防止所述碰撞的修饰符,所述修饰符包括:去除基于所述操作模型会导致碰撞的不符合的控制命令的一个或多个分量。
在一些实施例中,所述配置简档包括顺应性阈值;并且每个控制修改模块还被配置为:从所述辅助设备接收感测值;确定所述感测值是否超过所述顺应性阈值;以及响应于确定所述感测值超过所述顺应性阈值,生成用于减少所述辅助设备施加的力和扭矩中的至少一个的修饰符,所述修饰符包括去除导致所述感测值超过所述顺应性阈值的不符合的控制命令的一个或多个分量。
在一些实施例中,所述配置简档包括奇异阈值;并且每个控制修改模块还被配置为:接收与所述辅助设备相关的姿势信息,所述姿势信息包括位置数据和方向数据;确定所述姿势信息是否超过所述奇异阈值;以及响应于确定所述姿势信息超过所述奇异阈值,生成用于减少所述辅助设备的移动以减少所述姿势信息的改变的修饰符,所述修饰符包括去除导致所述姿势信息超过所述奇异阈值的所述不符合的控制命令的一个或多个分量。
在一些实施例中,所述处理模块可以进一步被配置为:提供指示所述处理模块与所述一个或多个辅助设备之间的相对空间参考系的感官指示符。
根据一些实施例,提供了一种用于操作机器人系统的方法。所述方法包括:在输入模块处从一个或多个主要设备接收一组输入信号,所述一组输入信号包括一个或多个输入信号;提供配置简档,所述配置简档包括用于所述机器人系统的一组操作参数;由处理模块至少基于所述一组输入信号和所述配置简档生成一个或多个控制命令,所述一个或多个控制命令是为一个或多个辅助设备生成的,每个控制命令指示要由所述一个或多个辅助设备中的至少一个辅助设备进行的操作;以及由一组控制修改模块管理机器人系统的操作,每个控制修改模块管理相应的辅助设备的操作,所述管理包括:检测相应的辅助设备的操作是否不符合所述一组操作参数;响应于检测到所述相应的辅助设备的操作不符合所述一组操作参数,从所述一个或多个控制命令中识别出不符合的控制命令,所述不符合的控制命令是导致所述相应的辅助设备的操作不符合所述一组操作参数的控制命令;以及生成修饰符以将所述不符合的控制命令调整为符合所述一组操作参数;其中,所述机器人系统对所述一个或多个控制命令和由相应的控制修改模块生成的每个修饰符产生响应。
在一些实施例中,所述方法进一步包括:组合所述一个或多个控制命令和所述修饰符以提供输出信号,所述机器人系统对所述输出信号产生响应。
在一些实施例中,所述方法进一步包括:在所述输入模块处从所述至少一个辅助设备接收状态改变指示符,所述状态改变指示符表示所述主要设备和所述辅助设备中的至少一个的调整;以及生成所述一个或多个控制命令包括响应于所述状态改变指示符由映射模块更新所述配置简档。描述的一些方法可以包括:操作所述映射模块以基于所述状态改变指示符从所述多个配置简档中选择一个配置简档,所述多个配置简档中的每个配置简档包括各自不同的一组操作参数。
在一些实施例中,所述主要设备和所述辅助设备中的至少一个的调整包括:改变主要设备和相应的辅助设备之间的映射关联。在一些实施例中,对所述主要设备和所述辅助设备中的至少一个的调整包括:在所述辅助设备处出现闭合运动学回路。
在一些实施例中,管理所述机器人系统的操作包括操作每个控制修改模块以:基于所述一个或多个控制命令生成操作模型;通过所述操作模型识别一个或多个辅助设备中的至少一个和辅助设备的一个或多个部分之间的碰撞;以及响应于识别到所述碰撞,生成用于防止所述碰撞的修饰符,所述修饰符包括:去除基于所述操作模型会导致碰撞的不符合的控制命令的一个或多个分量。
在一些实施例中,所述配置简档包括顺应性阈值;并且管理所述机器人系统的操作包括操作每个控制修改模块以:从所述辅助设备接收感测值;确定所述感测值是否超过所述顺应性阈值;以及响应于确定所述感测值超过所述顺应性阈值,生成用于减少所述辅助设备施加的力和扭矩中的至少一个的修饰符,所述修饰符包括去除导致所述感测值超过所述顺应性阈值的不符合的控制命令的一个或多个分量。
在一些实施例中,所述配置简档包括奇异阈值;并且管理所述机器人系统的操作包括操作每个控制修改模块以:接收与所述辅助设备相关的姿势信息,所述姿势信息包括位置数据和方向数据;确定所述姿势信息是否超过所述奇异阈值;以及响应于确定所述姿势信息超过所述奇异阈值,生成用于减少所述辅助设备的移动以减少所述姿势信息的改变的修饰符,所述修饰符包括去除导致所述姿势信息超过所述奇异阈值的所述不符合的控制命令的一个或多个分量。
在一些实施例中,生成所述一个或多个控制命令包括:提供指示所述处理模块与所述一个或多个辅助设备之间的相对空间参考系的感官指示符。
根据一些实施例,提供了一种机器人系统,包括:用于接收输入信号的一个或多个主要设备;处理模块,其用于基于所述输入信号和配置简档生成一个或多个控制命令,所述配置简档包括一组操作参数,每个控制命令指示要由一个或多个辅助设备中的至少一个辅助设备执行的操作;以及一组控制修改模块,其用于管理所述机器人系统的操作,每个控制修改模块管理相应的辅助设备的操作,每个控制修改模块被配置为:检测相应的辅助设备的操作是否不符合所述一组操作参数;响应于检测到所述相应的辅助设备的操作不符合所述一组操作参数,从所述一个或多个控制命令中识别出不符合的控制命令,所述不符合的控制命令是导致所述相应的辅助设备的操作不符合所述一组操作参数的控制命令;以及生成修饰符以将所述不符合的控制命令调整为符合所述一组操作参数;其中,所述机器人系统对所述一个或多个控制命令和由相应的控制修改模块生成的每个修饰符产生响应。
根据一些实施例,提供了一种用于操作机器人系统的方法。所述方法包括:在输入模块处从一个或多个主要设备接收输入信号;由处理模块基于所述输入信号和所述配置简档生成一个或多个控制命令,所述配置简档包括一组操作参数,每个控制命令指示要由所述一个或多个辅助设备中的至少一个辅助设备进行的操作;以及由一组控制修改模块管理机器人系统的操作,每个控制修改模块管理相应的辅助设备的操作,所述管理包括:检测相应的辅助设备的操作是否不符合所述一组操作参数;响应于检测到所述相应的辅助设备的操作不符合所述一组操作参数,从所述一个或多个控制命令中识别出不符合的控制命令,所述不符合的控制命令是导致所述相应的辅助设备的操作不符合所述一组操作参数的控制命令;以及生成修饰符以将所述不符合的控制命令调整为符合所述一组操作参数;其中,所述机器人系统对所述一个或多个控制命令和由相应的控制修改模块生成的每个修饰符产生响应。
根据一些实施例,提供了一种方法及被配置为执行所述方法以实施用于机器人系统的相关空间数据的相关系统。所述方法包括:确定所述机器人系统处的成像传感器的成像参考系和所述机器人系统的操作者的操作者参考系之间的空间关系,所述成像传感器由所述操作者远程控制,并且所述成像传感器是可旋转的;检测所述成像传感器相对于所述操作者参考系的当前成像方向;以及提供表示相对于所述操作者参考系的当前成像方向的至少一个视觉提示。
在一些实施例中,确定所述成像参考系和所述操作者参考系之间的空间关系包括:将所述成像参考系与所述操作者参考系进行比较;以及响应于确定所述成像参考系与所述操作者参考系对准,将初始空间关系定义为对准关系,否则,确定用于将所述成像参考系中的空间数据转换到所述操作者参考系的参考系变换,并且根据所确定的参考系变换定义所述初始空间关系。
在一些实施例中,提供表示当前成像方向的至少一个视觉提示包括:提供表示所述成像传感器相对于所述操作者参考系的一个或多个不同视图的一个或多个视觉提示。
在一些实施例中,所述成像传感器相对于所述操作者参考系的所述一个或多个不同视图包括:所述成像传感器相对于所述操作者参考系的侧视图和所述成像传感器相对于操作者参考系的俯视图中的一个。
在一些实施例中,提供表示所述当前成像方向的所述至少一个视觉提示包括:提供表示安装有所述成像传感器的成像臂的当前伸展程度的伸展视觉提示。
在所述伸展视觉提示是所述成像臂的侧视图的实施例中,所述方法进一步包括:提供表示方向的方向视觉提示,其中,相对于其上安装有所述成像臂的机器人设备的基部从所述方向视觉提示所表示的方向示出所述成像臂的侧视图。
在一些实施例中,检测所述成像传感器相对于所述操作者参考系的当前成像方向包括:根据所述成像参考系确定所述成像传感器的成像位置;以及基于所确定的所述成像参考系和所述操作者参考系之间的空间关系,将所述成像位置变换到所述操作者参考系。
在一些实施例中,提供表示所述当前成像方向的所述至少一个视觉提示包括:在能够由所述操作者观看的显示器处显示所述至少一个视觉提示。
下面根据多个示例性的实施例描述各种实施例和方面。
附图说明
现在将参考附图详细描述一些实施例,其中:
图1A是根据示例性的实施例的机器人系统的框图;
图1B是根据另一个示例性的实施例的机器人系统的框图;
图2是图1B的示例性的实施例的机器人系统的图形表示;
图3A示出了根据示例性的实施例的示例性控制站;
图3B是由图3A的控制站提供的示例性的立体视图;
图3C是由图3A的控制站提供的示例性三维模型的屏幕截图;
图3D是图3A的控制站的示例性用户界面的屏幕截图;
图4A是由成像传感器提供的对象的立体视图;
图4B是由旋转的成像传感器提供的图4A的立体视图;
图5A和5B是根据示例性的实施例的对应于图4A和4B的相应立体视图的具有视觉提示的立体视图;
图6A至6C是根据示例性的实施例的具有不同示例性的视觉提示的立体视图;
图7A示出了根据示例实施例的示例性的机器人设备;
图7B示出了在图7A的机器人设备处的示例性的成像传感器;
图7C示出了用于图7A的机器人设备的示例性的感测臂;
图8A和8B示出了如本文所述的提供奇异性避免的方法的应用的示例性的实施例;
图9A和9B示出了如本文所述的提供碰撞检测和避免的方法的应用的示例实施例;
图10A和10B示出了如本文所述的提供顺应性控制的方法的应用的示例实施例;
图11A和11B示出了如本文所述的提供约束运动的方法的应用的示例实施例;
图12A示出了示例性的操作者参考系;
图12B示出了示例性的机器人设备参考系;
图12C示出了示例性的控制器参考系;
图13A至13F示出了根据各种实施例的由机器人设备的一个操纵器执行的示例性的任务;
图14A至14F示出了根据各种其他实施例的由机器人设备的一个操纵器执行的其他示例性的任务;
图15A示出了根据另一个示例性的实施例的由机器人设备的一个操纵器执行的示例性的任务;
图15B示出了根据示例性的实施例的用于机器人设备的操纵器的示例性的附件;
图16A至16D示出了根据各种实施例的由机器人设备的多个操纵器执行的示例性的任务;以及
图17示出了根据本文描述的一些方法和系统的示例性的实施例的机器人设备的操作。
下面描述的附图和图形是为了举例说明的目的,而非对本文描述的实施例的各个例子的方面和特征的限制。为了简单清楚的说明,附图和图形中示出的元件不一定按照比例绘制。为了清楚起见,一些元件的尺寸可以相对于其他元件被放大。应当理解,为了简单清楚的说明,在认为合适的情况下,参考标号在整个附图和图形中可以重复以表示相应或相似的元件或步骤。
具体实施方式
应当理解,阐述了许多具体细节以便提供对本文所描述的示例性实施例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践本文所描述的实施例。在其他情况下,为了避免模糊本文所描述的实施例,没有详细描述公知的方法、进程和组件。此外,不应将本说明书和附图认为是以任何方式限制本文所描述的实施例的范围,而应认为是仅仅描述本文所描述的各种实施例的实现。
本文所述的各种实施例一般涉及机器人系统,以及用于操作各种机器人系统的方法(以及配置为实施所述方法的相关系统)。
所描述的机器人系统及相关方法一般涉及增强机器人系统的远程用户的能力及增加所述远程用户的可用的信息。因此,可以将对感兴趣区域的直接的人类参与或交互减到最少。这在可能危及生命或与未知水平的风险相关的情况下(例如,处置简易爆炸装置(IED)、在诸如核区域或地下(例如,采矿或管道组装或维护)的特定场所中的操作)可能特别重要。所描述的机器人系统及相关的方法也可能在时间受约束、无约束和/或未知的环境情况下是有用的,以使得执行并行任务或操作的能力可有助于解决问题。所描述的机器人系统及相关的方法还可以用于帮助在受到物理约束(例如,尺寸、几何形状、重量等)和/或危险的环境中的操作。包括多个机器人设备来突破那些物理约束的能力可以是有用的。
在一些实施例中,由于安全原因,所描述的机器人系统及相关的方法可以在操作者输入方面提供一定程度的便利。
所描述的方法涉及能够实现多输入远程操作和对机器人系统的用户的高度沉浸感的平台的应用。在一些实施例中,所描述的机器人系统可以包括多个操纵器。
多输入远程操作涉及各种控制方法和系统,其可以便于至少一些动作,例如,约束运动、碰撞避免和奇异性避免,并且使由任何冲击引起的振荡最小。
用户体验的沉浸感可以由基于动态三维(3D)信息(例如,3D立体视觉和3D环境模型)、触觉和/或听觉反馈产生的感官反馈来提供。
还应当注意,如本文所使用的术语“耦接的”或“耦接”根据使用该术语的上下文可以具有几种不同的含义。例如,术语耦接可以具有机械耦接或电气耦接的含义。例如,如本文所使用的,术语“耦接的”或“耦接”可以表示两个元件或器件可以彼此直接连接或通过一个或多个中间元件或器件经由电气元件、电信号或机械元件(例如但不限于,举例来说,电线或电缆,这取决于具体应用)彼此连接。在另一个例子中,术语耦接也可以具有软件的含义。也就是说,术语“耦接的”或“耦接”可以表示某些软件组件通过数据的传递或共享或通过另一个软件组件或算法或以协调其操作的另一方式直接或间接连接。
应当注意,如本文所使用的诸如“基本上”、“大约”和“近似”的程度术语表示修饰的术语的合理偏差量以使最终结果不会显著改变。如果该偏差不会否定其修饰的术语的含义,则这些程度术语应当被解释为包括修饰的术语的偏差。
此外,本文中通过端点列出的任何数值范围的表述包括归入该范围内的所有数字和分数(例如,1至5包括1、1.5、2、2.75、3、3.90、4和5)。还应当理解,假定所有数字及其分数均被术语“约”修饰,这意味着在最终结果没有明显改变的情况下,参考的数字可在一定范围内变化。
本文所描述的设备、系统和方法的各种实施例可以以硬件或软件或两者的组合来实现。这些实施例可以部分地使用在可编程设备上执行的计算机程序来实现,每个可编程设备包括至少一个处理器、操作系统、一个或多个数据存储器(包括易失性存储器或非易失性存储器或其他数据存储元件或它们的组合)、至少一个通信接口以及实现本文所描述的至少一个实施例的功能所必需的任何其他相关联的硬件和软件。例如但不限于,计算设备可以是服务器、网络设备、嵌入式设备,计算机扩展模块、个人计算机、膝上型计算机、个人数字助理、蜂窝电话、智能电话设备、平板计算机、无线设备或能够被配置为执行本文所描述的方法的任何其他计算设备。特定实施例取决于计算设备的应用。
在一些实施例中,通信接口可以是网络通信接口、通用串行总线(USB)连接或本领域技术人员已知的另一合适的连接。在元件被组合的实施例中,通信接口可以是软件通信接口,例如,用于进程间通信(IPC)的软件通信接口。在其他实施例中,可以存在实现为硬件、软件及其组合的通信接口的组合。
程序代码可以应用于输入数据以执行本文所述的功能并生成输出信息。输出信息可以应用于一个或多个输出设备,以进行显示或作进一步的处理。
每个程序都可以以高级进程或面向对象的编程和/或脚本语言或上述两者来实现,以与计算机系统通信。然而,如果需要,程序可以以汇编或机器语言来实现。在任何情况下,语言可以是编译或解释语言。每个这样的计算机程序可以存储在可由通用或专用可编程计算机读取的存储介质或设备(例如,ROM、磁盘、光盘)上,以当计算机读取存储介质或设备以执行本文描述的进程时配置并操作计算机。还可以认为计算机系统的实施例是实现为配置有计算机程序的非暂时性计算机可读存储介质,其中,如此配置的存储介质使得计算机以特定和预定义的方式操作以执行本文描述的功能。
此外,所描述的实施例的系统、进程和方法能够分布在计算机程序产品,所述计算机程序产品包括承载用于一个或多个处理器的计算机可用指令的非暂时性计算机可读介质。介质可以以各种形式提供,包括:一个或多个软盘、光盘、磁带、芯片、有线传输、卫星传输、互联网传输或下载、磁和电子存储介质、数字和模拟信号等。计算机可用指令也可以是各种形式,包括编译和非编译代码。
首先参考图1A,其示出了机器人系统10的框图。
如图1A所示,示例性的机器人系统10可以包括远程存储模块12、辅助站14、机器人设备20和控制站40。远程存储模块12、辅助站14、机器人设备20和控制站40中的每一个可以通过网络16彼此通信。
机器人设备20可以包括各种模块,例如,机械部件模块22、设备存储模块24,设备处理模块26、设备接口模块28、电源模块30和应用程序模块32。
应当理解,在一些实施例中,可以将机械部件模块22、设备存储模块24、设备处理模块26、设备接口模块28、电源模块30和应用程序模块32中的每一个组合为更少数量的模块或者分离为其他模块。此外,机械部件模块22、设备存储模块24、设备处理模块26、设备接口模块28、电源模块30和应用程序模块32可以以软件或硬件、或软件和硬件的组合来实现。此外,尽管在图1A中仅示出了一个机器人设备20,但是应当理解,可以在机器人系统10中设置多于一个的机器人设备20。
机械部件模块22可以包括设置在机器人设备20处的各种硬件部件(例如,臂、操纵器、设置在臂处的各种附接件、成像传感器等),并且应用程序模块32可以包括用于操作那些机械部件的软件部件(例如,应用程序和程序等)。将参考图7A、7B和13A至16D来描述机械部件模块22和应用程序模块32的示例。
设备存储模块24可以包括RAM、ROM、一个或多个硬盘驱动器、一个或多个闪存驱动器或一些其他合适的数据存储元件(例如磁盘驱动器)等。
设备处理模块26可以被配置为控制机器人设备20的操作。设备处理模块26可以包括可以根据机器人设备20的配置、目的和要求提供足够的处理能力的一个或多个合适的处理器、控制器或数字信号处理器。例如,设备处理模块26可以包括多个高性能通用处理器。在替代实施例中,设备处理模块26可以包括多于一个的处理器,其中,每个处理器均被配置为执行不同的专用任务。在替代实施例中,可以使用专用硬件来提供设备处理模块26提供的一些功能。
设备接口模块28可以是使机器人设备20能够与其他设备和系统通信的任何接口。在一些实施例中,设备接口模块28可以包括串行端口、并行端口或USB端口中的至少一个。设备接口模块28还可以包括因特网、局域网(LAN)、以太网,火线、调制解调器或数字用户线连接中的至少一个。这些元件的各种组合可以并入到设备接口模块28内。
根据本领域技术人员已知的机器人设备20的实施方式,电源模块30可以包括向机器人设备20提供电源的任何合适的电源,例如,电源适配器或可充电电池组。
控制站40可以包括各种模块,例如,控制器模块42、存储模块44、处理模块46和接口模块48。
与机器人设备20类似,应当理解,在一些实施例中,可以将控制器模块42、存储模块44、处理模块46和接口模块48中的每一个组合为更少数量的模块,或者分离为其他模块。此外,控制器模块42、存储模块44、处理模块46和接口模块48可以用软件或硬件,或软件和硬件的组合来实现。
控制器模块42可以包括用于实现本文所述的一些方法的各种应用程序和程序。例如,控制器模块42可以包括用于进一步处理从机器人设备20接收的信息的应用程序,例如,生成机器人设备20的环境的3D模型。控制器模块42可以包括用于解释通过接口模块48接收到的控制输入或输入信号并在机器人设备20处生成相应的动作的应用程序。例如,如将描述的,应用程序可以启用各种控制方法,包括:稳定和按比例运动、奇异性避免、在机器人设备20处的各种臂的混合控制、碰撞检测和避免、顺应性控制和约束运动。
存储模块44可以包括RAM、ROM、一个或多个硬盘驱动器、一个或多个闪存驱动器或一些其他合适的数据存储元件(例如磁盘驱动器)等。存储模块44可以用于存储本领域技术人员公知的操作系统和程序。例如,操作系统为控制站40提供各种基本操作过程。程序包括各种用户程序,以使得用户可以与控制站40交互以执行各种功能,例如但不限于查看和处理数据。
存储模块44还可以包括用于存储涉及例如机器人设备20或辅助站14的信息的一个或多个数据库(未示出)。
处理模块46可以被配置为控制控制站40的操作。处理模块46可以包括可以根据控制站40的配置、目的和要求提供足够的处理能力的一个或多个合适的处理器、控制器或数字信号处理器。例如,处理模块46可以包括多个高性能通用处理器。在替代实施例中,处理模块46可以包括多于一个的处理器,每个处理器被配置为执行不同的专用任务。在替代实施例中,可以使用专用硬件来提供由处理模块46提供的一些功能。
处理模块46可以启动和管理控制站40中的其他模块(例如,控制器模块42)中的每一个的操作。处理模块46还可以基于接收到的数据、存储的数据和/或用户偏好来确定控制站40可以如何操作。
与设备接口模块28类似,控制站40处的接口模块48可以是使控制站40能够与其他设备和系统通信的任何接口。如将描述的,设备和系统可以包括各种输入设备,例如,触觉设备。在一些实施例中,接口模块48可以包括串行端口、并行端口或USB端口中的至少一个。接口模块48还可以包括因特网、局域网(LAN)、以太网、火线、调制解调器或数字用户线连接中的至少一个。这些元件的各种组合可以并入到接口模块48内。
接口模块48还可以包括可操作用于基于控制站40的配置提供信息的一个或多个合适的显示器。例如,如果控制站40被提供为台式计算机,则显示器可以是阴极射线管、平面显示器、液晶显示器(LCD)等。在其他情况下,显示器可以是适用于膝上型计算机、平板计算机或手持设备的显示器,例如,基于LCD的显示器等。
显示器可以显示感兴趣的目标的各种视图和模型。此外,显示器可以操作用于从各种输入设备接收控制输入,所述输入设备例如但不限于鼠标、键盘、触摸屏、指轮、轨迹板、轨迹球、操纵杆控制器、读卡器、安装在输入设备(例如,麦克风等)上的语音和/或音频识别软件、触觉设备等,具体取决于控制站40的要求和实现。其他示例性的输入设备可以包括神经和脑植入控制、以及运动和/或姿势跟踪系统。
图1B是根据另一示例性的实施例的机器人系统1000的框图。与机器人系统10类似,机器人系统1000也可以包括控制站1040、远程存储模块1012和辅助站1014。机器人系统1000还可以包括各种机器人设备1020、例如,主设备或主要设备1020p和从设备或辅助设备1020s。机器人系统1000的各个部件可以经由网络1016通信。
主要设备1020p可以包括可以向控制站1040提供输入信号的任何机器人设备20和控制器。辅助设备1020可以包括可以基于机器人系统1000提供的信号(例如,控制站1040提供的控制命令和修饰符)来操作的任何机器人设备20和控制器。
图2示出了机器人系统1000的示例实施例的图形表示1100。如图2所示,主要设备1020p可以包括各种不同的控制器,例如,操纵杆控制器1122c,具有头部跟踪能力的头戴式显示控制器1122a、触觉控制器1122b和1122d、以及其他类似的控制器(例如,基于操作者的身体或某些身体部位的任何跟踪系统)。应当理解,尽管在图2中仅示出了主要设备1020p的某些组合,但是可以提供其他不同的组合。
辅助设备1020也可以包括各种机器人设备,例如,如图2所示的,位于不同机器(例如,直升机1120b,不同类型的车辆1120b、1120c和1120d)上的用于各种不同目的(例如,工业,军事,医疗等)上的机器人臂。应当理解,可以类似地使用其他辅助设备1020s,并且这些辅助设备1020s仅仅作为示例提供,其意并不在于进行限制。
应当进一步理解,某些主要设备1020p也可以是辅助设备1020s,并且某些辅助设备1020s也可以是主要设备1020p。例如,具有触觉反馈能力的控制器设备(例如,1122b和1122d)在由控制站1040处的用户启动时可充当主要设备1020p,而在从控制站1040接收到触觉信号时充当辅助设备1020s。
与控制站40类似,控制站1040可以包括接口模块1048、存储模块1044、控制器模块1042和处理模块1046。在图1B所示的例子中,某些示例性的控制器模块1042(例如,映射模块1042b和一个或多个控制修改模块1042a)被示出为位于远离控制子站1041的位置。应当理解,控制器模块1042中的一个或多个可以位于控制子站1041处和/或远离控制子站1041但与控制子站1041电子通信。
与接口模块48类似,接口模块1048可以包括使控制站1040能够与其他设备和系统通信的任何接口。接口模块1048可以包括,该输入模块用于从主要设备1020p接收输入信号以及接收其他类型的信号,例如,来自一个或多个辅助设备1020s的状态改变指示符。状态改变指示符可以表示在主要设备1020p或辅助设备1020s处的调整或改变。将参考映射模块1042b来描述可由机器人系统1000识别的各种不同调整。
接口模块1048也可以是可操作的以向一个或多个辅助设备1020s提供一个或多个控制命令。在一些实施例中,接口模块1048还可以将控制修改模块1042a生成的修饰符提供给相应的辅助设备1020s。
存储模块1044可以存储与机器人系统1000的操作相关的信息,例如,与各种机器人设备1020s、1020p和辅助站1014相关联的信息。例如,存储模块1044可以存储或可以是可操作的以提供(例如,经由网络1016从远程存储模块1012提供)用于机器人系统1000的一个或多个不同的配置简档。每个配置简档都可以包括与机器人系统1000的操作相关的各种定义或操作参数。例如,配置简档可以提供各个主要设备1020p和辅助设备1020s之间的映射关联。映射关联可以指示哪个主要设备1020p向哪个辅设备1020s提供输入信号。从每个主要设备1020p接收的输入信号可以包括主要设备标识符。
每个配置简档都可以定义与另一个配置简档不同的一组操作参数。如将针对映射模块1042b所描述的,控制站1040可以基于辅助设备1020s的不同状态而根据不同配置简档来操作。
例如,对于特定的辅助设备1020s来说,第一配置简档可以包括下述映射关联:控制站1040处的左控制器向辅助设备1020s处的左机器人臂提供输入信号,并且控制站1040处的右控制器向辅助设备1020s处的右机器人臂提供输入信号。第二配置简档可以包括不同的映射关联,例如,左控制器和第二控制器都向左机器人臂提供输入信号。输入信号可以包括针对辅助设备1020s的操作的不同方面的多个不同的输入信号。例如,输入信号可以包括定义辅助设备1020s的操作的第一方面(例如,位移)的第一输入信号和定义辅助设备1020s的操作的第二方面(例如,方向)的第二输入信号。另一示例性的配置简档可以包括下述映射关联:一个控制器向多个辅助设备1020s提供输入信号。辅助设备1020s随后可以彼此同步地移动。
处理模块1046可以以与处理模块46类似的方式操作。例如,处理模块1046可以基于经由机器人系统1000中的其他部件(例如,映射模块1042b、接口模块1048、存储模块1044和控制修改模块1042a)可用的信息来确定控制站1040可以如何操作。
处理模块1046可以基于各种不同的信息(举例来说,例如,接收的输入信号和配置简档)生成控制命令。控制命令指示由个别辅助设备1020s或多个辅助设备1020s进行的操作。
在一些实施例中,对于控制站1040接收的每个输入信号来说,处理模块1046可以从配置简档中识别出哪些(哪个)辅助设备1020s与提供输入信号的主要设备1020p处于映射关联。处理模块1046随后可以将该输入信号与所识别的辅助设备1020s相关联。
根据配置简档,辅助设备1020可以基于一个或多个主要设备1020p提供的输入信号操作。当处理模块1046确定辅助设备1020s与两个或更多个输入信号相关联时,处理模块1046随后可以将这些输入信号组合在一起以生成用于该辅助设备1020s的控制命令。
如相对于机器人系统10所描述的,控制器模块42可以包括用于实现本文所述的一些方法的各种应用程序和程序。示例性的控制器模块42包括控制修改模块1042a和映射模块1042b。
控制修改模块1042a可以管理机器人系统1000的操作。机器人系统1000可以包括用于每个辅助设备1020s的不同的控制修改模块1042a。控制修改模块1042a可以实现为软件组件、硬件组件或软件和硬件组件的组合。例如,控制修改模块1042a可以包括位于控制子站1041或远离控制子站1041的一个或多个服务器计算机。
每个控制修改模块1042a可以通过确定辅助设备1020s的操作是否将导致与配置简档定义的操作参数不符来管理该相应的辅助设备1020s的操作。例如,在一些实施例中,控制修改模块1042a可以检测辅助设备1020s基于处理模块1046提供的控制命令的操作将不会符合操作参数。基于不会符合要求的检测,处理模块1046随后可以识别出不符合的控制命令,即,将导致辅助设备1020s的操作与配置简档不符的控制命令。将参考图8A至11B来描述不符合的例子。
在识别出不符合的控制命令之后,控制修改模块1042a可以生成修饰符以调整不符合的控制命令,以便辅助设备1020s根据配置简档来操作。修饰符可以包括各种不同的信号,例如,用于去除控制命令的分量的信号、改变控制命令的程度的信号(例如,以渐进方式或以急剧升降的方式)、以及用于相应的修改控制命令的其他信号。
利用各种控制修改模块1042a,所描述的控制站1040可以在将输出信号提供给相应的辅助设备1020s之前适应多个控制目标。例如,可以在配置简档中或由操作者经由用户界面106提供各种控制目标。输出信号对应于由各种修饰符修改的控制命令,以有助于辅助设备1020s执行的任务或操作所需的各种控制目标。例如,可以将修饰符并入到控制命令中以生成输出信号。如将描述的,修饰符可以对一个或多个控制命令进行不同的调整,例如,去除至少一个控制命令的分量。在一些实施例中,应用修饰符而产生的调整可以是渐进的。因此,辅助设备1020s将不太可能接收到任何伪运动命令或冲突控制信号。
如图1B所示,处理模块1046可以通过网络1016向各个辅助设备1020s提供生成的控制命令。控制修改模块1042a可以直接通过网络1016或者间接通过控制子站1041向各个辅助设备1020a提供修饰符。在输出模块处接收控制命令和修饰符。输出模块操作用于组合控制命令和修饰符以提供对应于辅助设备1020s的操作的输出信号。
在一些实施例中,输出模块位于各个辅助设备1020s处。在一些其他实施例中,输出模块位于控制站1040处,以使得辅助设备1020s接收输出信号并且不分离控制命令和修饰符。
映射模块1042b可有助于机器人系统1000对主要设备1020p和辅助设备1020s的改变或设备1020s、1020p之间的关联的响应。例如,当控制站1040接收到状态改变指示符时,映射模块1042b可以基于该状态改变指示符更新配置简档。如所描述的,状态改变指示符可以指示在相关的主要设备1020p和辅助设备1020s进行的调整。在一些实施例中,响应于状态改变指示符,映射模块1042b可以选择另一个配置简档以适应由状态改变指示符标识的改变。
示例性的调整可以包括对主要设备1020p和相应的辅助设备1020s之间的映射关联的改变。响应于映射关联中的调整,映射模块1042b可以识别与新映射关联相对应的配置简档。例如,当将辅助设备1020s处的感测臂移动到与初始方向相反的方向时,对应的状态改变指示符可以由控制站1040接收。映射模块1042b可以调整配置简档或相应的选择不同的配置简档。也就是说,映射模块1042b可以调整配置简档,以使得在辅助设备1020s处的机器人臂基于由相对的控制器提供的输入信号来操作(例如,右机器人臂将基于由左控制器提供的输入信号来操作,并且左机器人臂将基于由右控制器提供的输入信号来操作)。
另一个示例性调整可以是在辅助设备1020s处出现闭合运动学回路。响应于闭合运动学回路,映射模块1042b可以识别可以使辅助设备1020适应闭合运动学回路的配置简档。例如,映射模块1042b可以调整配置简档,以使得控制站1040处的一个控制器向闭合运动学环路涉及的机器人臂提供输入信号以进行同步运动控制。
现在将参考图3A描述控制站40、1040的示例性的实施例。图3A示出了示例性的控制站100。控制站100可以用作用户与机器人设备20交互的主控制接口。如图3A所示,控制站100可以包括各种显示器和输入设备。
如图3A的例子所示,显示器可以包括从目标的不同方向观察的一个或多个视图。例如,在图3A中,控制站100包括用于显示左视图102a、前视图102b、右视图102c和俯视图102d的显示器。
还可以提供针对目标和控制区域的三维视图的其他显示器。可以实时地提供各种3D显示器104a至104c。
如图3A所示,控制站40、1040可以显示目标(例如,3DRM观察器)的3D模型104a以及目标和机器人设备20的环境的3D可视化104b。还可以提供目标的立体视觉视图104c(也在图3B中示出)。如图3B所示,立体视觉视图104c包括来自第一有利位置的第一有利视图130a和来自第二有利位置的第二有利位置视图130b。例如,第一有利视图130a可以是用户的左眼视图,而第二有利视图130b可以是用户的右眼视图。基于第一和第二有利视图130a和130b,可以生成3D视图。
立体视觉视图104c还可以设有各种不同的视觉提示132a、132b、134a、134b、136a、136b、138a、138b、140a和140b。将参考图4A至6C描述视觉提示的例子。
视觉提示132至140b可以通过提供成像参考系和操作者参考系之间的相对空间数据或信息而有助于远程机器人设备20的操作,其中,所述成像参考系是成像传感器的参考系,所述操作者参考系是操作者的参考系。
例如,在机器人设备20的操作期间,成像臂对于远程操作者可能是不可见的。成像臂处的成像传感器还可以在一个或多个不同的方向上旋转和/或在一个或多个不同的方向上平移。此外,目标可以与目标参考系相关联,并且目标参考系可以不同于成像参考系和操作者参考系中的一者或二者。成像传感器产生的目标视图可以提供目标参考系和成像参考系之间的相对空间信息。然而,成像参考系和操作者参考系之间的空间关系可能是未知的,并且在一些情况下,成像参考系和操作者参考系可能不彼此对准。当对成像传感器的移动的控制取决于操作者的移动(例如,成像传感器基于操作者佩戴的头戴式显示器的移动而移动)时,这可能是特别成问题的。
在成像参考系不与操作者参考系对准的实施例中,处理模块1046可以基于对成像参考系和操作者参考系的比较来确定用于将成像参考系中的空间数据转换到操作者参考系的参考系转换。处理模块1046随后可以根据确定的参考系变换来定义成像参考系和操作者参考系之间的空间关系。
现在参考图4A和4B。图4A和4B分别示出了对象的不同立体视觉视图202和202'。图4A的立体视觉视图202示出了成像参考系与目标参考系和操作者参考系对准以使得成像参考系与目标参考系和操作者参考系中的每一个都具有对准关系的例子。另一方面,图4B的立体视觉视图202'示出了成像参考系相对于目标参考系顺时针旋转45度以使得成像参考系不再与目标参考系和操作者参考系对准时的例子。
如果操作者在成像传感器处于与图4B所示的立体视觉视图202'相对应的位置或者处于成像传感器的当前成像方向时开始操作机器人设备20,则操作者将不会知道成像传感器如何相对于对象、机器人设备20的参考系和操作者定位。也就是说,没有已知的绝对参考可用于操作者来便于成像传感器、操作者和对象之间的对准,以使得操作者可以容易地并且准确地启动期望的远程操作任务。
图5A和5B示出了分别对应于图4A和4B所示的立体视觉视图的修改的立体视觉视图212和212'。与立体视觉视图202和202'相比,立体视觉视图212和212'分别包括示例性的视觉提示216a和216b以及216a'和216b'。
视觉提示216a和216b以及216a'和216b'指示成像传感器和操作者之间的相对空间方向,即,相对于操作者参考系的当前成像方向。
具体来说,假设对象和成像传感器对准,则图5A的视觉提示216a和216b指示成像传感器没有相对于操作者旋转(例如,在图4A所示的x轴处零旋转,或者侧倾角为零)。另一方面,图5B的视觉提示216a'和216b'指示成像传感器相对于操作者顺时针旋转45度。因此,操作者可以通过视觉提示216a'和216b'理解:操作者需要顺时针旋转他/她的参考系45度以与成像传感器对准,或者需要将成像传感器逆时针旋转45度以与对象对准。
为了确定相对于操作者参考系的当前成像方向,处理模块1046可以确定成像传感器在成像参考系内的成像位置。当成像参考系与操作者参考系具有对准关系时,处理模块1046可以在采取最少的进一步动作的情况下将成像位置转换到操作者参考系。当成像参考系和操作者参考系不具有对准关系时,处理模块1046可以至少基于为成像参考系和操作者参考系确定的参考系转换而将成像位置转换到操作者参考系。
如图3B和6A所示,其他视觉提示可以类似地由控制站40、1040提供。图6A示出了对应于图4B的具有示例性的视觉提示的另一修改的立体视觉视图222A。
修改的立体视觉视图222A示出了第一有利视图230a中的视觉提示232a、234a、236a、238a和240a以及第二有利视图230b中的视觉提示232b、234b、236b、238b和240b。视觉提示234a和234b对应于参考图5A和5B描述的侧倾指示器。类似地,视觉提示232a、232b和236a、236b分别表示不同的相对角度,即偏航角(绕图12A的Z0轴旋转)和俯仰角(绕图12A的Y0轴旋转)。
偏航指示器(或航向指示器)232a、232b可以以俯视角度示出成像传感器指向的方向。例如,当偏航指示器232a指向右侧时,成像传感器指向相对于操作者参考系的右侧。
类似的,俯仰指示器(或倾斜指示器)236a、236b以侧视视角表示成像传感器指向的方向。例如,当俯仰指示器236a指向下时,成像传感器相对于操作者参考系指向下。
基于图6A所示的侧倾指示器234a、偏航指示器232a和俯仰指示器236a,操作者可以容易地理解:为了将头戴式显示器与成像传感器对准,操作者需要将头戴式显示器绕侧倾轴顺时针(或正)方向调整约45度,绕俯仰轴顺时针(或正)方向调整约45度以及绕偏航轴顺时针(或负)方向调整约45度。
视觉提示238a、238b对应于在240a和240b提供的方向观察的机器人设备20的侧视图。例如,视觉提示238a(也可以被称为延伸视觉提示)对应于机器人臂在机器人设备20处的延伸程度。在图6A所示的例子中,延伸视觉提示238a、238b表示成像臂(安装有成像传感器的机器人臂)的当前延伸程度。应当理解,延伸视觉提示238a、238b可以类似地用于表示在机器人设备20处的其他机器人臂的延伸。
如图3B所示,视觉提示138a、138b指示对应的机器人臂比与图6A的视觉提示238a、238b对应的机器人臂延伸得更少。也就是说,视觉提示238a、238b可以指示机器人手臂靠近奇异位置并且可能不能进一步的伸展。
视觉提示240a、240b对应于机器人设备20的臂(例如,图7A的感测臂304)在机器人设备20的俯视视图上相对于机器人设备20的基座的相对位置。
视觉提示238a和240a一起表示操作者参考系中的机器人臂的姿势。在视觉提示238a、238b表示机器人臂的侧视图的实施例中,视觉提示240a、240b(也可以被称为方向视觉提示)可以表示相对于机器人设备20的基座示出该侧视图的方向。
图6B和6C示出了修改的立体视觉视图222A的不同版本。如简要描述的,视觉提示可以通过提供更加用户友好且直观的显示从而使操作者的认知负荷和疲劳最少来便于机器人系统10、1000的操作。因此,图6A的偏航、侧倾和俯仰图形指示器232、234和236可由更直观的图标替代,例如,图6B所示的图标(即,成像传感器的表示)和图6C所示的图标(即,、操作者头部的表示)。将视觉提示作为操作者头部的表示可以是特别有帮助的,这是因为操作者头部表示可以进一步促进操作者的沉浸感。
在一些实施例中,控制站1040可以基于侧倾、俯仰和偏航信息生成3D视觉提示。
在一些实施例中,还可以在显示器上提供其他信息。例如,其他信息可以包括机器人设备20的速度、不同对象或段之间的距离、目标对象的类型或大小、接近奇异性、接近关节限制、相对于附近的机器人设备20的相对空间参考以及到地平面的距离。
在一些实施例中,所描述的视觉提示可以由反馈信息(例如,触觉或触觉反馈、听觉反馈和耳前庭反馈)来替换或补充。当视觉信息不可用时(例如,在机器人设备20处没有配备成像传感器、来自成像传感器的成像数据不清楚或操作者是盲人),补充反馈可能特别有用。
例如,控制站40可以向相应的控制器生成触觉反馈,以指示在操作者参考系和机器人设备参考系之间没有对准。不同的触觉反馈(例如,不同的频率、谐波和振幅)可以指示不同的移动。例如,可以在控制站40或远程存储模块12处定义和存储各种触觉反馈和相应的移动。例如,如果控制站40想要指示操作者应以某种方式略微转动他/她的头部,则控制站40可以通过施加低振幅、低频的触觉反馈(例如,脉冲串)来提供该指示器。
现在参考图3C,其示出了由控制站40提供的另一示例性的3D模型104d。例如,3D模型104d可以由控制站40处的控制器模块42和处理模块46提供。3D模型104d包括当机器人设备20处的成像传感器(例如,图7B所示的成像传感器306)在收集图像数据期间移动时,所述成像传感器的轨迹。
还可以在控制站100提供用于从用户接收输入的用户界面106。图3D示出了示例性的用户界面106的屏幕截图。可以利用LabVIEWTM来提供用户界面106。
控制站40、1040可以经由用户界面106接收由用户定义的配置简档。如在用户界面106中所示,可以配置在机器人设备20处的各种不同的组件。在该例子中,用户界面106被提供用于机器人设备300(在图7A中示出的)。应当理解,用户界面可以与示出不同的配置,并且可以提供附加的或更少的控制。
还可以经由拨动开关148来启用和禁用通过用户界面106对机器人系统10、1000的控制。
在图3D的用户界面106中,臂302a、302b和304中的每一个可以分别以一般在150I、150r和150i处所示的类似方式配置。在图3C中示出的3DRM观察器104a可类似地基于一般以150v示出的控制来配置。如一般在170处所示,还可以经由用户界面106提供3DRM观察器的附加控制。
为了便于说明,仅描述与操纵器302a(“左臂”)相关的控制。关于操纵器302a,用户界面106包括参考系控件151、操作姿势控件154、模式控件152、控制器(或主要设备)选择器156和约束控件158。
参考系控件151可以接收映射输入信号所利用的参考系的选择。例如,参考系可以从操作者参考系、命令参考系和末端执行器参考系中选择。
操作姿势控件154可以接收指示操纵器302a将如何被定位的选择,例如,操作姿势。关于成像臂304,可以提供不同的姿势选择,例如,成像传感器将指向的方向的指示(例如,前视图、左侧视图、右侧视图或后视图等)。
模式控件152可以接收指示操纵器302a应当如何基于接收的输入信号来操作的选择。也就是说,操纵器302a可以严格按照输入信号来操作或者可以基于输入信号的变化(例如,输入信号可以被缩放等)来操作。
控制器选择器156可以接收识别将控制操纵器302a的一个或多个相应的控制器的选择。该选择用于提供本文描述的映射关联。
约束控件158可以接收识别一个或多个移动受到限制的选择。也就是说,约束控件158可以接收指示操纵器302a不应当沿着x轴和z轴移动的输入,也就是说,操纵器302a仅能沿着y轴移动。
在图3D的示例性的用户界面106中,在160处还可以提供各种配置的组件的状态。
用户界面106还包括用于启用和禁用本文所述的至少一些控制方法的不同的拨动开关。示例性的拨动开关包括顺应性开关162、碰撞避免开关164、碰撞力反馈开关166和奇异性避免开关168。当启用开关162至168中的任一个时,控制站40、1040可以操作用于应用相应的控制方法。应当理解,可以类似地使用除拨动开关之外的控件。
控制站100可以包括用于提供输入和/或从机器人设备20接收反馈的一个或多个不同的控制器(或主要设备1020p)。控制器可以包括各种不同的输入设备。图3A示出了第一控制器110、第二控制器120a和第三控制器120b。
第一控制器110可以控制在机器人设备20处的运动。例如,第一控制器110可以对在机器人设备20配备的成像臂的至少线性和角运动控制进行控制。第一控制器110可以包括不同技术的组合,例如,PHANTOM OmniTM和OculusRiftTM头戴式显示器(HMD)。OculusRift HMD配备了集成的3轴陀螺仪、加速度计和允许以最小漂移进行绝对磁头定向跟踪的磁力计。通常应当理解,可以类似地使用能够根据运动跟踪数据(例如,头部或其他身体部位的运动)操作的其他控制器。
在一些实施例中,可以在控制器模块42处提供一个或多个成像滤波器,以使得能够与第一控制器110一起操作。例如,为了将Oculus Rift HMD与机器人系统10集成,桶形失真滤波器包括在控制器模块42中,该控制器模块42具有使用着色器的OpenGL,以便根据HD数据馈送来渲染3D视频。
第二和第三控制器120a、120b可以是触觉设备。在图3A的示例中,第二和第三控制器120a、120b是可以控制在机器人设备20处的两个相应的7自由度(DOF)操纵器的两个相应的触觉输入设备(例如,Quanser HD2TM)。向在控制站40的用户提供触觉反馈可以增强用户对机器人设备20的操作的感知。应当理解,基于在机器人设备20处的操纵器,可以类似地使用其他类型的触觉输入设备(例如,PHANTOM Omni和触觉操纵杆)。
也可以在控制站100处提供其他控制器。例如,控制站100可以包括用于接收听觉命令输入的控制器。还可以通过设置在机器人设备20处的传感器收集听觉数据并在控制站100处接收所述听觉数据以进行处理。
可以改变这些控制器中的任意一个的操作。例如,可以经由用户界面106禁用和/或启用一个或多个控制器。
再次参考图1A,辅助站14可以用作计算设备。辅助站14可以由观察用户使用以向控制站40处的用户提供附加的辅助和支持。
例如,辅助站14可包括用于显示目标的环境的3D模型的显示器,例如,在控制站40处的显示器104a。辅助站14处的显示器可以与控制站40处的显示器104a同步,或者基于从辅助站14处的观察用户接收的输入而被独立地控制。
在一些实施例中,这些计算设备可以是配备有适于连接到因特网的网络适配器的膝上型计算机或智能电话设备。
计算设备可以是可操作用于连接到网络16的任何联网设备。联网设备是能够通过网络16与其他设备通信的设备。网络设备可通过有线或无线连接耦接到网络16。
如所指出的,这些计算设备可以至少包括处理器和存储器,并且可以是电子平板设备、个人计算机、工作站、服务器、便携式计算机、移动设备、个人数字助理、膝上型计算机、智能电话、WAP电话、交互式电视、视频显示终端、游戏控制台和便携式电子设备或它们的任何组合。
网络16可以是能够承载数据的任何网络,包括因特网、以太网、普通老式电话服务(POTS)线路、公共交换电话网络(PSTN)、综合服务数字网络(ISDN)、数字用户线路(DSL)、同轴电缆、光纤、卫星、移动、无线(例如Wi-Fi,WiMAX)、SS7信令网络、固定线路、局域网、广域网以及包括它们的任何组合的、能够与图1A所示的各个部件(特别是机器人设备20和控制站40)交互并且能够实现图1A所示的各个部件之间的通信的其他网络。
网络16可以支持可以提供具有最小视在延迟的多个视频流的视频压缩和传输框架。视频流可以具有不同的质量水平。
在一些实施例中,网络16可以包括机器人设备20和控制站40之间的至少两个虚拟网络连接。其中的一个虚拟网络连接可用于传输可以是时间敏感的低带宽控制数据。另一个虚拟网络连接可以用于传输高带宽数据,例如图像数据。
远程存储模块12可以包括用于存储与例如机器人设备20、控制站40和/或辅助站14相关的信息的一个或多个数据库(未示出)。应当理解,远程存储模块12可以是备份存储部件,并且包括例如在存储模块44和设备存储模块24处可用的数据的副本。
现在参考图7A,其示出了根据示例性的实施例的机器人设备300。
机器人设备300是具有安装在机架310上的三个铰接臂302a、302b和304的遥控装置。机架310可以是移动的或者可以设置在移动平台上。可将机架310调节到不同的尺寸。应当理解,在机器人设备300上可以类似地设置其他类型和其他数量的臂。
三个铰接臂包括两个操纵器302a、302b和一个感测臂304。在该示例中,两个操纵器302a、302b是两个KinovaTMJACOTM6-DOF铰接臂。应当理解,可以类似地使用其他类型的臂。也可以在机器人设备300处配备不同类型的操纵器302。
如下文将描述的,可以将一个或多个传感器安装到感测臂304,以从环境和/或相对于机器人设备300收集各种不同的信息。仍然参考图7A,与两个操纵器302a、302b类似,也可以使用全铰接臂(例如,JACO 6-DOF铰接臂)来提供感测臂304。如将针对图7C描述的,将感测臂304提供为全铰接臂能够增强可以通过感测臂304获得的感测数据的质量。在一些实施例中,感测臂304的全铰接便于从被遮挡的环境(例如,在容器内、在物体下面或在物体后面)采集信息。
例如,如图7C所示,其提供了另一个实施例的感测臂304'。为了便于说明,分离地示出了图7C的感测臂304'与机架310。应当理解,可以以与图7A和7B所示的感测臂304类似的方式将感测臂304'安装到机架310。
相对于目标320'操作图7C的示例中的感测臂304',以识别目标320'的内容。为了便于说明,目标320'是透明的,但是应当理解,目标320'可以不是透明的,以使得不能从外部看到内容。在该示例中,目标320'是包含对象322的窄管状结构。如图7C所示,由于感测臂304'被设置为全铰接臂,所以可以相对于目标320'操纵感测臂304',以获得关于目标320'的内容的信息,例如,对象322。
可以提供全铰接的其他示例类型的操纵器可以包括但不限于笛卡尔操纵器、串行操纵器(例如,选择性顺应装配机器人ARM(SCARA)和/或冗余操纵器)、并行操纵器、圆柱形操纵器和/或球形操纵器。
仍然参考图7A,该示例中的感测臂304用作成像臂,其用于从环境接收成像数据。如图7B更清楚地所示,成像臂304可以包括安装在成像臂304的末端执行器的成像传感器组306。成像传感器组306可以包括各种不同的成像传感器和照相机设备,例如,用于提供一个或多个高清(HD)视频馈送的HD视频传感器、红-绿-蓝-深(RGB-D)成像传感器(例如,PrimeSenseTM相机或KinectTM)、红外(IR)成像传感器、X射线成像传感器、超声传感器(例如,基于飞行时间操作的超声换能器)和/或激光传感器。成像传感器组306可以由用户在控制站40处提供的控制输入来控制,以获得目标320的可视信息,例如,图7A所示的箱子。
在成像臂304处获得的视觉信息可以包括来自相应传感器的HD立体成像数据和RGB-D数据。可以基于在HD视频馈送中提供的数据来产生HD立体成像数据。可以实时提供HD视频馈送。当从机器人设备20接收到RGB-D数据时,控制站40可以相应地提供目标320的3D模型。例如,控制站40处的控制器模块42可以使用从RGB-D数据测量的颜色和深度信息来渲染在显示器104a中示出的3D模型。
如所描述的,各种不同的传感器306'可以耦接到感测臂304'的末端执行器。除了所描述的各种成像传感器之外,示例性的传感器还可以包括雷达传感器、声纳传感器、光检测和测距(LIDAR)传感器和/或噪声或声音传感器(例如,麦克风)。可以设置在感测臂304'处的传感器的类型可以根据机器人设备300的期望的用途而变化。例如但不限于,声纳传感器可以耦接到感测臂304'以获得用于生成目标320的3D模型的深度信息。当机器人设备300将可能在低光环境中操作时,可以使用声纳传感器。
再次参考图7A,可以将例如照相机312a、312b和312c的各种其他成像设备312安装在机架310的各个位置,以提供关于目标320的环境和机器人设备20的工作空间的更多信息。附加成像数据可以进一步提高用户对机器人设备20和目标320的情况和周围环境的感知。
如上所述,由各个控制器(例如,第二和第三控制器120a、120b)提供的触觉反馈可以增强用户对远程环境的感知,即使该用户正在通过控制站40操作机器人设备20。通过提供配备有成像传感器组306的成像臂304,可以在控制站40处向用户提供进一步增强的体验。
对于所描述的一些实施例,机器人系统10可以至少基于实时立体成像、适当的视觉指示器和头部运动跟踪的组合来操作。各种感测数据和跟踪数据的组合可有助于提高由机器人设备20执行至少某些任务的有效性,尤其是需要距离和深度信息的那些任务。
现在将描述示例性的实施例的机器人系统10的各种操作。
在启动时,机器人系统10可以运行测试序列。测试序列可以包括一个或多个不同的过程,并且可以是预定义的。例如,测试序列可以包括自诊断过程和校准过程。自诊断和校准过程可以包括独立于机器人设备20的初始系统状态或初始姿态的、对在机器人设备20处的各个传感器(例如,力和/或扭矩传感器)和操纵器(例如,夹具)的测试。自诊断和校准过程还可以校准各种传感器和操纵器。
机器人设备20的初始状态(即,在系统启动之前)可以包括将机器人设备20的臂302、304配置到对于机器人设备20的后续移动而言安全的位置。臂302、304的位置可考虑机器人设备20的周围环境。因此,在校准阶段可不需要归位(homing)。
机器人系统10可以向控制站40处的用户通知根据测试序列确定的任何问题和/或故障。例如,包括系统警告和硬件和软件故障的诊断信息可以经由用户界面106呈现给用户。
因为机器人系统10用于在时间敏感的情况下操作(例如布置IED),所以启动过程通常可以相对快速地完成。
在成功启动之后,可以将机器人系统10配置为调查目标320。可以由控制站40远程地将机器人设备20驱动到目标320的位置。在机器人系统10的操作期间,机器人设备20收集各种数据并将它们提供给控制站40。在一些实施例中,机器人设备20可以在向控制站40提供数据之前处理收集的数据。
如上所述,各种数据可以包括从机器人设备20处的成像传感器组306和其他成像装置312接收的成像数据,以及驱动遥测信息(例如,设备的速度、航向、位置等)。还可以将触觉反馈提供给第二和第三控制器120a、120b,以进一步向用户提供沉浸式体验。
一旦将机器人设备20导航到目标320的位置,控制站40就可以相对于目标320对机器人设备20进行定向。例如,控制站40可以对机器人设备20进行定向,以使得目标320位于由机器人设备20的臂302、304限定的工作空间内。在一些实施例中,控制站40可以对机器人设备20进行定向,以为两个操纵器302a、302b提供对称的工作空间。当目标320大约位于两个操纵器302a、302b的中间时,通常形成对称的工作空间。对称工作空间可有助于两个操纵器302a、302b更容易的操作。
在一些实施例中,控制站40可以将感测臂304部署到操作位置,同时将两个操纵器302a、302b保持在初始位置。因此,控制站40可以导航感测臂304以在不会与两个操纵器302a、302b发生潜在碰撞的情况下收集目标320的不同感测数据。
机器人设备20可以对目标320及其周围环境进行初始检查以确定要执行的任务。初始检查可以包括控制站40和辅助站14之间的协作。
在初始检查期间,各种部件可以是操作性的。例如,在捕获感测数据期间,设备处理模块26可以启动应用程序模块32处的最小抖动轨迹应用部件的操作,以对感测臂304的移动中的任何突然变化进行控制。机器人设备20产生的3D模型的质量可能受到在数据收集期间感测臂304的移动的影响。
设备处理模块26还可以启动应用程序模块32处的3D实时建模(3DRM)应用程序组件的操作,以生成目标320的3D模型。该3D实时建模应用程序可以包括基于收集的RGB-D数据的机器视觉3D重建和映射软件。在一些实施例中,目标320的3D模型可以包括目标320的照片拟真3D模型。
在控制站40处,处理模块46可以启动3D实时建模观察器软件,以显示和接收用于操纵由3D实时建模应用程序生成的3D模型的控制输入。控制站40还可以启动第一控制器110的操作,以基于头部运动跟踪提供具有视觉提示的实时立体视觉(例如,图3B所示的显示)。
初始检查可以包括由感测臂304执行的预定义的一系列步骤。例如,感测臂304可以执行多个预定轨迹,例如,圆形或螺旋轨迹。图3C所示的轨迹108是示例。在一些实施例中,感测臂304的轨迹可以是圆形的,以使得可以围绕目标320进行360°的收集对称数据。机器人设备20可以基于感测臂304收集的数据生成目标320的初始3D模型。
机器人设备20可随后将初始3D模型传输到控制站40和/或辅助站14以进行显示。可通过网络16上的各种数据传输协议(例如,文件传输协议(FTP))将模型数据逐渐传输到控制站40。在控制站40处可以以最小的延迟(例如,可能在从开始初始检查的五分钟内)使用初始3D模型。机器人设备20可以随着时间的流逝继续传输更新的3D模型数据。在一些实施例中,机器人系统10可以使用从随后的手动或预编程的自动检查过程获得的新数据来继续更新目标320的3D模型。
通过在控制站40和辅助站14处的不同用户之间实时共享初始3D模型,可便于讨论以解决问题,同时使风险最小化。因此,其他专家和观察者可以与控制站40处的用户同时进行情况分析和评估。辅助站14处的观察用户可以利用额外的资源和参考资料,包括与先前检查的目标(例如,类似的IED等)相关的数据,以提高检查的有效性。
控制站40可以从用户接收控制输入,以与目标320的初始3D模型进行交互。例如,控制站40可以在触摸屏显示器上显示初始3D模型,然后可以经由触摸屏显示器接收控制输入。控制输入可以包括初始3D模型的视角和缩放级别的各种操作。另外,操作者可以通过在3D模型查看器中指定感兴趣的点来从3D模型提取正在检查的对象的距离和尺寸测量值。
初始3D模型可以提供目标320的高分辨率全景视图。初始3D模型可有助于深入检查和分析。至少一些细节(包括颜色、形状和尺寸信息)对于识别目标320和评估任何相关的风险来说可能是关键的。
在一些实施例中,控制站40可以接收使导航感测臂304收集附加数据的控制输入,以便更好地表征目标320并确定所需的任务。如所描述的,感测臂304可以被设置为全铰接臂,以便增强相对于目标320的相对运动的程度,并进而提高通过安装在感测臂304处的传感器获得的感测数据的质量。如所指出的,感测臂304可以至少包括在成像传感器组306处的实时HD馈送。感测臂304的移动也可以由第一控制器110控制,并且包括头部运动跟踪能力。控制站40处的用户可以受益于目标320的周围环境的增加的深度感,并且能够实现对感测臂304的更直观的控制。
应当理解,可以通过一个或多个其他控制器(例如,操纵杆)来导航臂302、304中的任一个的移动。
在一些实施例中,控制站40可以将初始3D模型的视点与成像传感器组306提供的目标320的实时图像同步。可以基于从实时的HD数据反馈提供的数据来生成实时图像。这可以便于初始3D模型和目标320的实时图像之间的并排比较。
在一些实施例中,可将与3D模型相关的数据存储在远程存储模块12、存储模块44和/或设备存储模块24中以供参考。例如,可以对通过所描述的初始检查生成的初始3D模型进行分析以识别各个3D模型的趋势。
基于初始检查,控制站40处的用户可以确定将由机器人设备20执行的一系列任务。将参考图13A至16D来描述示例性的任务。
如上所述,本文描述的机器人系统10可用于有关未知的和潜在的高风险情况,例如,用于处置IED。因此,参考图13A至16D描述的任务通常涉及可能需要用于检查可能是或可能包括IED的目标的动作(例如,操作机器人设备20打开行李以检查其内部,或操作机器人设备20举起或移动怀疑为IED的目标),以及可能需要用于处理可能是IED的目标的动作。应当理解,所描述的机器人系统10可以应用在不同的环境中并且在那些环境中执行其他类似的任务。
图13A至16D中的每一个示出的任务可以包括针对不同的控制目标的不同的控制方法,例如,提供稳定的和按比例运动、奇异性避免、机器人设备20处的臂的交叉耦接混合控制、碰撞检测和避免、顺应性控制和约束运动。图13A至16D中的每一个示出的任务还可以包括不同的配置,例如,一个操纵器操作、利用工具操作和多个操纵器协调操作。可以类似地使用其他配置。
现在参考图8A和11B描述各种不同的控制方法。本文描述的各种控制方法可以包括将相关的控制命令分解成各个命令分量并对那些命令分量中的一个或多个进行调制(modulation)。调制可以包括命令分量的幅度的变化或命令分量的去除,这取决于控制方法的应用的目的。
用于提供稳定的和按比例运动的方法可以包括控制站40、1040的改变机器人设备20处的臂302、304移动的速度的操作。例如,臂302、304的移动速度可以不与用户移动对应的控制器120a、120b的速度直接成正比。相反,所描述的提供按比例运动的方法可以包括改变臂302、304以及控制器120a、120b中的每一个的速度,以提供精细控制。
用于提供奇异性避免的方法可以包括控制站40、1040进行操作以仅允许将一些控制输入发送到机器人设备20。利用本文描述的方法,可以通过下述方法避免意外的运动:限制控制输入在控制站40、1040和机器人设备20之间的传输以仅控制由用户在控制站40、1040明确提供的输入。
图8A和8B示出了描述的提供奇异性避免的方法的示例性的应用。图8A总体上以800A示出了基于提供的输入信号的操纵器830的路径802。图8B以800B示出了如标号801所示的、在应用所描述的用于提供避免奇异性的方法之后的操纵器830的调制路径806。
奇异性避免控制方法包括确定操纵器830的位置是否超过可操纵性阈值的量度。可操纵性的量度一般由G.Marani等人在下述文献中描述:“A Real-Time Approach forSingularity Avoidance in Resolved Motion Rate Control of RoboticManipulators”,ICRA 2002,1973-1978,并且可操纵性的量度可用于在辅助设备1020s的操作期间检测操纵器830接近奇异性的程度。可操纵性阈值的量度可以定义特定操纵器830和奇异性的最大接近度。例如,可操纵性阈值的量度804在图8A中示出,并且可以触发应用奇异性避免控制方法。例如,可以在配置简档中提供可操纵性阈值的量度。
在操作期间,用于管理操纵器830的奇异性避免的控制修改模块1042a可以基于相应的输入信号管理操纵器830的操作。当操纵器830接近可操纵性阈值的量度804时,控制修改模块1042a可以识别使操纵器830接近奇异性的控制命令的命令分量。可由控制修改模块1042a使用可操纵性的量度的梯度来确定朝向奇异性的方向。
如图8B所示,命令分量是802a和802b。命令分量802b使得操纵器830接近奇异性,并且因此,控制修改模块1042a可以生成修饰符以去除命令分量802b。修饰符可以涉及逐渐去除命令分量802b。
命令分量802b的逐渐去除可以随着操纵器830对奇异性的接近而增加。例如,操纵器830越接近奇异性,控制修改模块1042a可以生成增加去除的命令分量802b的量的修饰符。在一些实施例中,当操纵器830到达远离奇异性的预定距离时,控制修改模块1042a可以生成用于完全去除命令分量802b的修饰符。
在逐渐去除命令分量802b的操纵器830的操作期间,命令分量802a不变,因此,操纵器830可以自动避免奇异性(如图8B所示)。
在一些实施例中,控制站40、1040可以生成对应于修饰符的力反馈,以增强操作者的体验。
用于提供碰撞检测和避免的方法可以包括:通过控制站40识别臂302a、302b和304之间,辅助设备1020s之间或系统限定的墙壁或障碍物之间的潜在碰撞。所描述的碰撞检测和避免方法在多于一个操纵器(例如,操纵器302a和302b)可以同时操作的多操纵器协调操作期间可以是特别重要的。结果是,操纵器302a和302b之间发生碰撞的可能性较高。所描述的碰撞检测和避免方法可以包括向控制站40处的用户提供视觉和触觉反馈以指示潜在的碰撞。所描述的碰撞检测和避免方法还可以包括在操纵器302a和302b之间即将发生的碰撞的情况下修改或者甚至忽略经由接口模块48接收的一个或多个控制输入。如参考用户界面106所描述的,可以在机器人设备20的操作期间选择性地打开或关闭碰撞检测和避免方法。
图9A和9B示出了所描述的提供碰撞检测和避免的方法的示例性的应用。图9A总体上以810A示出了基于提供的输入信号的操纵器830的路径812。图9B以810B示出了在应用所描述的用于向目标对象811提供碰撞检测和避免的方法之后操纵器830的调制路径816。
与奇异性避免控制方法类似,碰撞检测和避免方法包括:确定操纵器830的一个或多个操作是否将导致与另一个辅助设备1020s或另一个分离的部件的碰撞(例如,图9A中的814)。
在一些实施例中,用于管理操纵器830的碰撞避免的控制修改模块1042a可以基于用于该操纵器830的相关控制命令来生成操作模型。作为操作模型的一部分,控制修改模块1042a可以将操纵器830的各个部件和可能与操纵器830发生碰撞的部件划分为原始几何段。将部件转换成几何段的示例方法由P.Bosscher和D.Hedman在下述文献中描述:“Real-Time Collision Avoidance Algorithm for Robotics Manipulators”,TePRA,2009,113-122。基于操纵器830根据控制命令的操作,控制修改模块1042a可以确定这些段的对的接近度,以识别潜在的碰撞位置和方向。
配置简档可以包括限定两个段之间的最大允许距离的碰撞距离阈值817(在图9B中示出)。
如图9B所示,当操纵器830接近碰撞距离阈值817时,控制修改模块1042a可以识别使操纵器830接近碰撞距离阈值817的控制命令的命令分量。在图9B中,命令分量是812a和812b。命令分量812a和812b可以包括控制命令的向量和幅度。
命令分量812a使操纵器830接近碰撞距离阈值817,并且因此,控制修改模块1042a可以生成修饰符以去除命令分量812a。该修饰符可以包括逐渐去除命令分量812a。
命令分量812a的逐渐去除可以随着操纵器830接近碰撞距离阈值817而增加。例如,操纵器830越接近碰撞距离阈值817,控制修改模块1042a可以生成增加去除的命令分量812a的量的修饰符。在一些实施例中,当操纵器830达到碰撞距离阈值817时,控制修改模块1042a可以生成完全去除命令分量802b的修饰符。
用于提供顺应性控制的方法可以包括由控制站40、1040接收和处理来自辅助设备1020s的传感器测量值。传感器测量值可由位于臂302、304的末端执行器处的传感器或者在臂302、304的接合处的扭矩传感器提供。末端执行器可以包括用于捕获与由末端执行器施加在例如目标320上的力的量相关的数据的力/扭矩传感器。所描述的用于提供顺应性控制的方法可以有助于基于传感器测量值确保在机器人设备20处的稳定操作。
图10A和10B示出了所描述的提供顺应性控制的方法的示例性应用。图10A总体上以820A示出了操纵器830基于提供的输入信号而施加在对象832上的力路径822。图10B以820B示出了在应用所描述的用于提供顺应性控制方法之后由操纵器830施加在对象832上的调制力路径826。
顺应性控制方法包括确定由操纵器830施加的力的量是否超过顺应性阈值。
在一些实施例中,可以在配置简档中提供顺应性阈值。例如,可以基于用于操纵器830的每个关节的最大允许电动机扭矩来确定顺应性阈值。下面的等式(1)提供了确定顺应性阈值的示例等式:
Fmax=J-1Tmax (1)
其中,Fmax表示顺应性阈值向量,J-1表示对应于系统的运动学的雅可比矩阵的伪逆,以及Tmax表示操纵器830的关节的最大允许扭矩的向量。可将顺应性阈值选择为接近最大值的值。
可以通过将测量的力和扭矩的量与顺应性阈值进行比较,并随后相应地对相应的控制命令分量进行调制来提供顺应性。例如,可以沿着测量的力和扭矩的方向将控制命令分解成分量,并且通过根据测量值与顺应性阈值的接近程度缩减控制命令或者完全去除控制命令来调制控制命令。
例如,在操作期间,用于管理操纵器830的顺应性控制的控制修改模块1042a可以基于相应的输入信号管理操纵器830的操作。当操纵器830接近力阈值时,控制修改模块1042a可以识别使操纵器830接近力阈值的控制命令的命令分量。例如,如图10B所示,可以沿着力和扭矩测量的方向将力路径822分解为分量822a和822b。
如图10B所示,命令分量是822a和822b。命令分量822b使操纵器830施加接近顺应性阈值的力量,从而控制修改模块1042a可以生成修饰符以去除命令分量822b或逐渐去除命令分量822b。
在一些实施例中,控制修改模块1042a可以应用线性调制来减少命令分量822b。线性调制可以与力分量幅度与顺应性阈值的接近程度成比例地减少命令分量822b。当力分量幅度等于顺应性阈值时,完全去除命令分量822b。这在至少一些应用中可以是有用的,举例来说,例如由多个臂302a、302b执行的耦接协调任务(例如,利用两个机器人臂保持一箱子)。下面的等式(2)提供了示例性的线性调制等式:
其中,Vcommand对应于基于输入信号生成的运动速度,并且VAMC对应于基于本文所述的顺应性控制方法的调制速度命令,γ对应于命令去除因子,F对应于测量的力的量,Fthr是顺应性阈值,并且<Vcommand,F>表示两个向量Vcommand和F的点积。
然而,一些任务可能需要更高的初始力,因此可能涉及非线性调制。示例性的任务是切割线,其需要在操纵器830的手指处提供更高的初始力。因此,顺应性阈值Fthr最初可以与更高的阈值相关,以确保可以适应初始力(例如,切割所需的强烈运动),并且此后可以逐渐降低到较低阈值。
在一些实施例中,控制修改模块1042a可能不能测量操纵器830施加的力。控制修改模块1042a然后可以基于在操纵器830处检测到的电流测量值来估计力。在一个示例中,可以使用设置在操纵器830处的电流感测电阻器来测量电流。操纵器830施加的力可以与检测到的电流成比例。
当测量的力的量达到顺应性阈值时,去除该方向上的命令分量。
在一些实施例中,力和扭矩测量值可能不可用。控制修改模块1042a可改为使用其他信息(例如电动机电流)来辅助顺应性控制。例如,没有力传感器的夹具附件可能由于与物体832的过大接触力而过热。虽然控制修改模块1042a不能使用力测量值,但是控制修改模块1042a可以基于相关控制命令分量的调制,而相关控制命令分量的调制又基于测量的电动机电流和作为配置简档的一部分的电动机电流阈值之间的比较。如果控制修改模块1042a确定电动机电流已经达到电动机电流阈值,则可以去除与夹具附件的运动相关的控制命令,以防止任何的进一步增加接触。
在一些实施例中,控制站40、1040可以生成与在应用顺应控制方法期间提供的修饰符相对应的力反馈,以增强操作者的体验。例如,在操纵器830在表面上向下按压的情况下,当控制改变模块1042a产生用于逐渐去除该方向上的控制命令时,控制站40、1040还可以向提供相应的输入信号的主要设备1020p提供力反馈信号。不论修饰符如何,力反馈信号可以对应于仍然施加在表面的力的量,以向操作者提供模拟虚拟接触效果的接触力。
用于提供约束运动的方法可以包括在臂302、304的运动中对一个轴或两个或更多个轴施加约束。例如,控制站40、1040可以限制操纵器302沿着或者绕着分别用于线性和角运动的笛卡尔坐标轴的任何组合运动。也可以将笛卡尔参考系指定为惯性系或末端执行器系。因此,所描述的用于提供约束运动的方法可有助于特定操纵器302沿着任意线、空间表面或任意点运动(例如,定向运动)。
所描述的用于提供约束运动的方法可有助于需要机器人设备20处的臂302、304进行高精度并且明确的运动的任务。示例性的运动包括通过目标320的狭窄或小的开口操纵夹具附件330。
图11A和11B示出了所描述的提供约束运动的方法的示例应用。图11A总体上以840A示出了基于提供的输入信号的操纵器830的路径842。图11B以840B示出了在应用所描述的用于提供约束运动的方法之后的操纵器830的调制路径846。
如图11A所示,基于输入信号,操纵器830的最终路径842将不能执行插入到区域843的插入操作。为了提供插入操作,用于管理操纵器830的顺应性控制的控制修改模块1042a可以基于相应的输入信号和用于该情况的相关控制标准来管理操纵器830的操作。
例如,如图11B所示,控制修改模块1042a可以从操作者接收插入操作请求的指示。插入操作请求涉及沿着限定的轴操作操纵器830的请求。为了提供插入操作,控制修改模块1042a可以将控制命令分解为命令分量842a和842b(如图11B所示)。控制修改模块1042a然后可以去除除了用于沿着限定的感兴趣的轴操作操纵器830的命令分量之外的所有命令分量,或者调制各个命令分量842a和842b以提供沿着限定轴操作操纵器830的调制命令分量。
提供了一种用于将在控制站40、1040从用户(例如,操作者)接收到的控制输入映射到不同参考系的方法。如图12A至12C所示,可以使用不同的参考系。图12A示出了示例性的操作者参考系850A,图12B示出了示例性的设备参考系850B,并且图12C示出了示例性的控制器参考系850C。
能够使用不同参考系或不同参考系的组合对于增强用户体验来说特别有用。例如,当用户从控制站40、1040操作机器人设备20的任何一个臂时,相对于成像参考系(例如,成像传感器306处的参考系)而不是惯性参考系调整成像臂304对用户来说可能更加直观,特别是当成像臂304处的成像传感器306处于任意位置时。利用所描述的提供对臂302、304的混合控制的方法,与惯性参考系相比,控制站40可以提供关于各个臂302、304的末端执行器的参考系的更自然表达的控制输入。
此外,所描述的提供臂302、304的混合控制的方法可以实现控制站40、1040和机器人设备20之间的动态交叉耦接,以便于用户有效地使用控制器110、120。例如,涉及操作机器人设备20的多个臂的任务通常包括用于每个臂的单独的控制器,或者一个控制器可以通过某种形式的切换向臂提供控制输入。利用所描述提供交叉耦接混合控制的方法,控制站40、1040可以经由控制器接收控制输入,并将那些控制输入映射到一个或多个机器人设备20,由那些机器人设备20产生同步运动。
例如,控制站40、1040可以接收来自用于操作机器人设备20的不同控制器110、120的控制输入,以执行利用两个操纵器302a、302b举起潜在的IED的任务(例如图16D所示出例子中),同时还操作机器人设备20利用成像臂304定位不同的成像角度。利用所描述的提供混合控制的方法,控制站40、1040可以映射那些控制输入以提供在操纵器302a和302b之间同步并且在操纵器302a、302b和感测臂304之间协调的运动。
为了在机器人系统10、1000内容留不同的参考系,控制站40、1040可以应用用于在主要设备1020p、控制站40、1040和辅助设备1020s之间映射信号的公共参考系。因此,控制站40、1040可以向机器人系统10、1000内的各个部件提供一致的控制命令。
公共参考系可以是任何参考系,例如,任意参考系或参考体图12A至12C描述的参考系850A、850B和850C中的任意一个。
如根据映射模块1042b所描述的,控制站40、1040可以接收每个主要设备1020p与一个或多个辅助设备1020s之间的映射关联。可以在配置简档中提供映射关联。如参考映射模块1042b所描述的,映射关联可以基于由操作者提供的和/或由控制站40、1040响应于主要设备1020p和辅助设备1020s处的变化而自动提供的用户输入而变化。
配置简档还可以包括关于每个部件的参考系的信息。例如,如图3D所示,为机器人设备20处的一个或多个部件提供参考系控制151。参考系控制151可以接收对用于操作所述部件的参考系的选择。基于配置简档内的信息,映射模块1042b可以相应地变换数据信号。
在一些实施例中,映射模块1042b可以将参考本地参考系(例如,分别在图12A至12C中示出的参考系850A、850B和850C中的每一个)接收的所有数据信号变换到为机器人系统10、1000定义的公共参考系。例如,映射模块1042b可以使用旋转矩阵来变换数据信号。下面提供了示例性的旋转矩阵(RZ):
示例性的旋转矩阵RZ是3×3旋转矩阵,其可以基于如等式(4)所示的以下关系将在第一参考系(ν1)中表达的向量的坐标映射到在第二参考系(ν2)中表达的向量的坐标:
ν1=RZν2 (4)
应当理解,变换可以包括围绕各个单位矢量轴的多个连续旋转,例如,使用欧拉角表示(即,侧倾、俯仰和偏航角)。可以通过在相应的旋转序列中应用相应的旋转矩阵来提供各种旋转。
现在参考图12C,其中示出了用于控制器120a(在该例子中,控制器120a是触觉设备)的本地坐标参考系,即控制器参考系850C。
在示例性的控制器参考系850C中,x轴沿着控制器120a的基部,z轴沿着控制器120a的垂直轴,并且y轴与x轴和z轴正交。操作者在控制器120a上进行的任何手柄运动被接收作为根据控制器参考系850C的输入信号。图12C所示的触觉设备接收与手柄运动相关的数据作为关节编码器数据。为了将从控制器120a接收的输入信号转换为控制命令,控制站40、1040可参考控制器参考系850C进行运动学计算以确定各个命令分量,例如线性和角速度。
类似地,如图12A所示,为操作者定义了本地坐标参考系,即操作者参考系850A。操作者参考系850A以操作者为中心,其中x轴与操作者的身体正交,z轴沿着操作者的身体的垂直方向,y轴与x轴和z轴正交(例如,沿着操作者的身体的宽度方向)。
当图12A所示的操作者正操作图12C的控制器120a时,控制站40、1040可以将旋转矩阵应用于在控制器120a处接收的输入信号,以将这些输入信号相对于操作者参考系850A进行变换。
在当将控制器120a定向为使控制器参考系850C与操作者参考系850A对准的实施例中,因为不需要对输入信号应用变换,所以旋转矩阵可以是单位矩阵。
在当将控制器120a定向为使控制器参考系850C不与操作者参考系850A对准的实施例中,应用类似于旋转矩阵Rz的旋转矩阵来变换输入信号。例如,如果将控制器120a定向为使控制器参考系850C的x轴相对于操作者的垂直轴呈90度(或π/2弧度),则可以应用下面的矩阵来对在控制器120a处接收的输入信号进行变换:
继续该示例,当操作者以大约1m/s的速度移动控制器120a向前运动(例如,相对于控制器参考系850C向前)时,控制器120a产生的相应的输入信号是在操作者参考系850A的负y轴方向的运动。控制站40、1040可以使用等式(5)中的旋转矩阵对接收的输入信号进行变换,如下所示:
根据等式(6),在控制器120a处接收的输入信号反而应该朝向操作者参考系850A的正x轴,而不是朝向操作者参考系850A的负y轴方向。
利用本文描述的映射方法,诸如控制器的各个部件可以相对于操作者任意地定向,并且操作者提供的命令仍然可以被变换为与操作者参考系850A相关。
类似于操作者和控制器之间的信号变换,也可以将各种变换应用于控制器和辅助设备1020s之间的信号。
可以提供设备参考系850B以模仿操作者。例如,对于图7A所示的机器人设备300来说,相应的设备参考系850B将操作者与机器人设备300的机架310对准。结果是,如图7A所示,设备参考系850B的x轴与机架310正交,z轴沿着机器人设备300的垂直方向,y轴正交于x轴和z轴(例如,朝向操纵器302a的方向)。通过提供设备参考系850B以使得其对应于操作者参考系850A,机器人设备300的操作将对应于操作者的运动。例如,当操作者向控制站40、1040指示向前移动时,机器人设备300可以操作以执行相应的向前移动。
所描述的映射方法可有助于将主要设备1020p和辅助设备1020s包括在机器人系统10、1000中。
此外,本文所描述的映射方法还可以通过相应地更新配置简档来便于主要设备1020p和辅助设备1020s之间的映射。
在典型的配置中,将位于控制站40、1040的左侧的主要设备1020p映射到辅助设备1020s处的左操纵器302a,并且将位于控制站40、1040右侧的主要设备1020p映射到辅助设备1020s处的右操纵器302b。这种典型的配置可以根据要由辅助设备1020s执行的任务或操作而改变。
例如,可以切换主要设备1020p和在辅助设备1020s处的操纵器302a、302b之间的映射,以使得当操作者移动右主要设备1020p时,相应的输入信号转而与辅助设备1020处的左操纵器302a相关联。这在辅助设备1020s需要执行多个同时动作的任务期间可能是有帮助的。例如,在操作期间,辅助设备1020s处的右操纵器302b可以保持在对象上(例如,向上举起箱子),并且辅助设备1020s处的左操纵器302a可能需要进行另一动作。当操作者是右撇子时,如果操作者可以使用右侧主要设备1020p来控制左操纵器302a,则可能更方便。
在一些实施例中,映射模块1042b可以响应于操作者的视点处的改变而自动地反转操纵器302a、302b。当多个操作者视点可用时,控制站40、1040可以基于当前正在使用的操作者视点自动地调整机器人系统10、1000的配置简档。例如,如果前向视点和反向视点对于操作者可用,则映射模块1042b可以基于当前使用的视点自动切换操纵器302a、302b的映射。例如,成像传感器可以向后指向机架310。在这种情况下,操纵器302a、302b可以反转(即,在反向模式期间,左操纵器302a可以用作右操纵器,并且右操纵器302b可以用作左操纵器)。
在一些实施例中,映射模块1042b可以将相同的输入信号映射到辅助设备1020s处的多个操纵器302以提供同步运动。同步运动对协调任务(例如,利用两个操纵器302a、302b举起物体同时保持物体的方向不变)来说可以是有用的。映射模块1042b可以响应于在辅助设备1020s处(例如,在两个操纵器302a、302b和目标对象之间)检测到闭合运动学回路而自动地提供同步运动控制。
如所描述的,可将多个主要设备1020p映射到辅助设备1020s。基于配置简档,控制站40、1040可以在必要时将那些输入信号变换到公共参考系,并且将变换的输入信号组合到控制命令中以用于相关的辅助设备1020s。
例如,操作者可以使用主要设备1020p(例如,PHANTOM OmniTM)来控制辅助设备1020s和另一主要设备1020p(例如,Oculus RiftTM)的线性运动,以控制辅助设备1020s的角运动。控制站40、1040可以将从PHANTOM Omni和Oculus Rift接收的输入信号变换到公共参考系,并相应的对其进行组合。
在一些实施例中,可以基于加权和或增益调整来组合输入信号。例如,两个不同的主要设备1020p可以被配置为在相同的辅助设备1020s上分别提供粗略和精细控制。这两个不同的主要设备1020p提供的输入信号可以在组合之前被不同地加权。
还可以相对于辅助设备1020s处的其他部件来定义设备参考系850B。在一些实施例中,可相对于末端执行器参考系(例如,在成像臂304处的成像传感器的参考系)来定义设备参考系850B。这可为操作者提供更直观的控制。例如,操作者可以通过向控制器提供相对于操作者参考系850A的相应的向前或向后命令来指示成像传感器放大或缩小,而不管成像传感器的方向如何。控制站40、1040然后可以使用本文描述的方法将提供的输入信号变换到成像传感器的参考系。
图13A至13F示出了由根据各种实施例的机器人设备20的一个操纵器302执行的示例性任务。
图13A至13F的示出的任务可以至少包括应用下述控制方法:提供奇异性避免、稳定的和按比例运动以及机器人设备20处的臂的混合控制。还可以启用其他控制方法(例如,提供顺应性控制和约束运动)以执行图13A至13F所示的一些任务。虽然现在将参照一个或多个控制方法来描述图13A至13F中所示的任务,但是应当理解,可以启用更少或附加的控制方法来执行图13A至13F所示的任何任务。
图13A至13F中的每幅图所示的操纵器302与三指夹具附件330耦接。应当理解,根据预期的任务,可以类似地使用其它类型的附件。
图13A示出了涉及操纵器302处理目标420的示例性的任务400A。操纵器302可以保持目标420并将目标420移动到特定位置。用于执行图13A所示的任务400A的各种控制方法可以包括提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制和顺应性控制。
图13B示出了也涉及操纵器302处理目标420的示例性任务400B。在这种情况下,控制站40已经提供了与旋开目标420的盖相关的控制输入。与图13A示出的任务400A类似,控制站40可以启用本文描述的一些控制方法(例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制)以执行图13B示出的任务400B,
图13C示出了涉及操纵器302进入目标422的开口内的示例性任务400C。在这种情况下,目标422是箱子。应当理解,具有开口的其他类型的目标(例如,袋子或管子)也可类似地由操纵器302处理。例如,图13D示出了涉及操纵器302进入目标424内的示例性任务400D,其中所述目标424是管子。
为了启动分别在图13C和13D中示出的任务400C和400D,控制站40可以涉及对本文所述的至少一些控制方法的应用,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制、以及约束运动。例如,控制站40可以启动提供稳定的和按比例运动的控制方法,以便于夹具附件330与目标422的开口对准。尤其是如果开口相对窄或小时,这可能是重要的。控制站40还可以启动提供约束运动的控制方法,以进一步使夹具附件330精确移动通过开口。
图13E示出了涉及操纵器302与目标420交互的示例性任务400E。操纵器302可以从目标420拉出杆426。该示例性任务400E可以涉及与在其他任务(例如,从金属外壳中去除销)中可能涉及的控制方法类似的控制方法。用于执行图13E所示的任务400E的各种控制方法可以包括:提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制和顺应性控制。
图13F示出了涉及操纵器302与目标428交互的示例性任务400F。在示例性任务400F中,操纵器302可以工作以使用诸如螺丝刀的工具427撬动目标428。与任务400A和400E类似,该示例性任务400F可以涉及下述控制方法:提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制和顺应性控制。
现在继续参考14A至15A,现在描述涉及利用操纵工具的操作的示例性任务。与图13A至13F示出的任务类似,即使现在将参考本文描述至少一些控制方法中来描述图14A至15A,但是应当理解,可以使用更少或附加的控制方法来执行图14A至15A所示的任何任务。
本文所述的操纵工具的操作可涉及使用不同类型的工具。参考图14A至14E描述的示例任务涉及操作与夹具附件330连接的操纵器302以操纵某些工具。工具可以是现成的工具,例如,螺丝刀、六角扳手、刷子等。当执行这些任务时,可能由于夹具附件330施加在工具上的潜在过大的力或扭矩而导致过热。为了减少夹具附件330处过热的可能性,控制站40可以启动用于在夹具附件330处提供顺应性控制的控制方法。
图14A示出了涉及操纵器302在夹持工具512A(例如,切割器)时与目标520A相互作用的示例性任务500A。该任务500A可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制、顺应性控制和约束运动。
应用在任务500A中提供约束运动的控制方法对于帮助确保工具512A沿着线移动可能是特别重要的。其他约束运动可以包括沿着特定平面移动工具(举例来说,如图14F所示,例如当工具是刷子512F时)。
图14B示出了涉及操纵器302在夹持工具512B(例如,锤子)时与目标520B相互作用的示例性任务500B。该示例性任务500B可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动以及对机器人设备20处的臂的混合控制。
图14C示出了涉及操纵器302在夹持工具512C(例如,锯)时与目标520C相互作用的示例性任务500C。与任务500A类似,该示例性任务500C可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制、顺应性控制和约束运动。
图14D示出了涉及操纵器302在夹持工具512D(例如,内六角扳手)时与目标520D相互作用的示例性任务500D。图14E示出了涉及操纵器302在夹持另一个工具(例如,螺丝刀)时与目标520D相互作用的示例性任务500E。与任务500A和500C类似,示例性任务500D和500E可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制、顺应性控制和约束运动。
与操纵器302沿着特定平面移动的任务500A不同,任务500D和500E涉及需要不同控制方法的移动的组合。也就是说,任务500E中拧紧或松动螺钉可以包括:将工具512E与目标520D对准(其可涉及控制站40对机器人设备20处的臂提供混合控制),在拧紧或松动螺钉期间提供按比例运动以及提供约束运动。
操纵工具的操作可涉及将不同的附件连接到操纵器302。可通过工具安装件将附件安装到操纵器302。工具安装件对于附件可以是公用的,以便于在用于不同任务的不同工具之间切换。
例如,图15A示出了根据另一示例实施例的涉及操纵器302与镜附件630A耦接的示例性任务600A。如图15A所示,控制站40可以操作操纵器302以使用镜附件630A来检查目标620。示例性任务600A可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制。
图15B示出了示例性工具附件630B,其可以耦接到操纵器302以执行各种任务,例如,挖掘、刺戳和翻转对象。图15B所示的工具附件630B是铲子和刺戳器的组合。当控制站40操作与工具附件630B耦接的操纵器302时,可以启动各种控制方法(例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制和顺应性控制)。
控制站40可以启动提供顺应性控制的控制方法,以帮助防止在工具附件630B和目标620之间施加过大的力。这对于避免对机器人设备20和目标620的潜在损害是重要的。尽管在控制站40和机器人设备20之间的数据传输之间存在时间延迟,但是提供顺应性控制可以帮助增加移动的稳定性。
在一些实施例中,工具附件630B可包括镜。控制站40可以经由能够提供触觉反馈的第二和第三控制器120a和120b向操纵器302提供控制输入。因此,控制站40处的用户可以以自然和直观的方式操纵工具附件630B处的镜,也就是说,操纵器302处的镜的运动可以模仿用户的手在第二和第二第三控制器120a和120b处的运动。
现在将参考图16A至16D描述示例性的协调多操纵器的操作。
在机器人设备20处提供多个操纵器302a、302b可以增加可执行的任务的范围。例如,控制站40可以操作多个操纵器302a、302b以模仿人的手动操作,其中每个操纵器302a、302b与夹具附件330连接。或者,根据机器人设备20的预期操作,多个操纵器302a、302b中的每一个可与任何不同的附件(例如,夹具、工具、传感器或其它末端执行器(甚至武器))耦接。
一些任务实际上可能需要使用多个操纵器302a、302b。例如,包括彼此依赖的不同动作的复杂任务,例如,涉及举起箱子角部以检查箱子下面的任务,或涉及在利用另一个操纵器302b执行另一个动作(例如,使用卷尺)之前利用一个操纵器302a保持或固定对象的任务。例如,涉及拉出导线以拆除IED的任务可能需要多个操纵器302a、302b,也就是说,该任务可以包括:控制站40操作操纵器302a首先固定IED以避免意外的运动并操作操纵器302b从IED拉出导线。
此外,对于提供两个操纵器302a和302b的实施例,因为两个操纵器302a和302b可以模仿人的两个手臂,所以在控制站40处的机器人设备20的操作对于用户来说可以更直观并且更容易理解。
例如,图16A示出了涉及操纵器302a和302b与目标720A(其是袋子)相互作用的示例性任务700A。任务700A包括拉开袋子720A的拉链以检查其内部的东西。示例性任务700A可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制以及碰撞检测和避免。
图16B示出了涉及操纵器302a和302b与目标720B(在该例子中,目标720B是箱子)相互作用的示例性任务700B。在该示例中,操纵器302a与尖头附件730耦接。任务700B包括举起箱子720B以扫过箱子底部。例如,任务700B可以包括使用操纵器302a处的传感器来检测拉发线的存在。示例性任务700B可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制、碰撞检测和避免、顺应性控制和约束运动。
图16C示出了涉及操纵器302a和302b与目标720C(在该例子中,目标720C为IED)相互作用的示例性任务700C。在该示例中,操纵器302b与图15B所示的工具附件630B耦接。任务700C包括从IED 720C拉出导线以拆除IED 720C,同时保持IED 720C的方向不变。示例性任务700C可以涉及各种控制方法,例如,提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制以及碰撞检测和避免。
图16D示出了涉及操纵器302a和302b与目标720D(在该例子中,目标720D是IED)相互作用的示例性任务700D。任务700B包括保持并移动目标720D,同时保持其方向不变。示例性任务700D可以涉及各种控制方法,例如但不限于:提供奇异性避免、稳定的和按比例运动、对机器人设备20处的臂的混合控制、同步运动、碰撞检测和避免、顺应性控制和约束运动。
图17总体上以900示出了根据本文描述的一些方法和系统的示例实施例的辅助设备920s的操作。
对于示例性操作900,配置简档指示由主要设备920p接收的命令用于控制辅助设备920s。在该示例中,主要设备920p是操纵杆,并且辅助设备920s是车辆。
在状态1,主要设备920p提供指示辅助设备920s将以速度Vc操作的输入信号。将输入信号连同与辅助设备920s相关的其他信息(例如,当前姿势(例如,位置或方向)和当前速度提供给控制站1040。在该例子中,映射模块1042b不需要应用任何变换或映射,这是因为主要设备920p的参考系与辅助设备920s的参考系对准。控制站1040然后可以基于接收的输入信号和配置简档来生成控制命令。
相关的控制修改模块1042a还可以基于配置简档和接收的数据,确定是否生成修饰符。例如,用于管理辅助设备920s的碰撞避免的控制修改模块1042a可以基于接收的数据确定是否可能基于控制命令发生碰撞。如图17所示,控制修改模块1042a在状态1将不识别碰撞。
然而,当辅助设备920s进行到状态2时,控制修改模块1042a可以检测到辅助设备920s正从右壁接近配置简档中定义的示例性的碰撞距离阈值817。响应于此,控制修改模块1042a可以生成修饰符以逐渐减小速度Vc在x方向上的分量,直到辅助设备920s到达如在配置简档中定义的临界点(在状态4示出)。如图17所示,辅助设备920s在状态3开始改变方向,以避免与右壁碰撞。
在状态4,控制修改模块1042a可以生成修饰符以去除速度Vc朝x方向的分量。因为保持了速度Vc的分量,所以辅助设备920s继续朝向y方向移动。
在状态5,控制修改模块1042a可以检测到辅助设备920s正在从顶壁接近另一个碰撞距离阈值817。响应于此,控制修改模块1042a可以生成修饰符以去除速度Vc沿y方向的分量。在状态6,因为已经去除了速度Vc的所有分量,所以辅助设备920s不再移动。
本文仅通过示例的方式描述了各种实施例。在不背离本发明的精神和范围的情况下,可以对这些示例性的实施例进行各种修改和变化。此外,在符图中示出的各种用户界面中,应当理解,所示的用户界面文本和控件仅是示例性的,并不意味着限制。其他合适的用户界面元素也是可能的。

Claims (41)

1.一种机器人系统,包括:
输入模块,该输入模块能够操作用于从一个或多个主要设备接收一组输入信号,所述一组输入信号包括一个或多个输入信号;
存储模块,该存储模块能够操作用于提供配置简档,所述配置简档包括用于所述机器人系统的一组操作参数;
处理模块,该处理模块被配置为至少基于所述一组输入信号和所述配置简档生成一个或多个控制命令,所述一个或多个控制命令是为一个或多个辅助设备生成的,所述处理模块与所述输入模块和存储模块电子通信,每个控制命令指示要由所述一个或多个辅助设备中的至少一个辅助设备进行的操作;以及
一组控制修改模块,所述一组控制修改模块用于管理机器人系统的操作,每个控制修改模块管理相应的辅助设备的操作,每个控制修改模块被配置为:
检测相应的辅助设备的操作是否不符合所述一组操作参数;
响应于检测到所述相应的辅助设备的操作不符合所述一组操作参数,从所述一个或多个控制命令中识别出不符合的控制命令,所述不符合的控制命令是导致所述相应的辅助设备的操作不符合所述一组操作参数的控制命令;和
生成修饰符以将所述不符合的控制命令调整为符合所述一组操作参数;
其中,所述机器人系统对所述一个或多个控制命令和由相应的控制修改模块生成的每个修饰符产生响应。
2.根据权利要求1所述的机器人系统,进一步包括:
输出模块,该输出模块用于将所述一个或多个控制命令和所述修饰符进行组合以提供输出信号,所述机器人系统对所述输出信号产生响应。
3.根据权利要求2所述的机器人系统,其中,所述输出模块位于相应的一个或多个辅助设备处。
4.根据权利要求1至3中的任意一项所述的机器人系统,其中:
所述配置简档包括每个主要设备和所述至少一个辅助设备之间的映射关联;
每个输入信号与主要设备标识符相关联,该主要设备标识符对应于提供该输入信号的主要设备;以及
所述处理模块被配置为通过下述步骤针对每个输入信号生成所述一个或多个控制命令:
从所述配置简档中识别出与对应于相应的主要设备标识符的主要设备映射关联的至少一个辅助设备;以及
将该输入信号与识别出的至少一个辅助设备相关联。
5.根据权利要求4所述的机器人系统,其中,对于每个辅助设备,所述处理模块被进一步配置为:
确定该辅助设备是否与两个或更多个输入信号相关联;以及
响应于确定该辅助设备与两个或更多个输入信号相关联,组合所述两个或更多个输入信号以为该辅助设备生成相应的控制命令。
6.根据权利要求5所述的机器人系统,其中,所述两个或更多个输入信号包括第一输入信号和第二输入信号,第一输入信号定义要由相应的辅助设备执行的操作的第一方面,并且第二输入信号定义要由相应的辅助设备执行的操作的第二方面,所述第二方面与所述第一方面不同。
7.根据权利要求1至3中的任意一项所述的机器人系统,其中:
所述输入模块还能够操作用于从所述至少一个辅助设备接收状态改变指示符,所述状态改变指示符表示所述主要设备和所述辅助设备中的至少一个的调整;以及
所述机器人系统还包括用于响应于所述状态改变指示符来更新所述配置简档的映射模块。
8.根据权利要求7所述的机器人系统,其中:
所述存储模块存储多个配置简档,每个配置简档包括各自不同的一组操作参数;以及
所述映射模块还被配置为基于所述状态改变指示符从所述多个配置简档中选择一个配置简档。
9.根据权利要求7所述的机器人系统,其中,所述主要设备和所述辅助设备中的至少一个的调整包括:改变主要设备和相应的辅助设备之间的映射关联。
10.根据权利要求7所述的机器人系统,其中,所述主要设备和所述辅助设备中的至少一个的调整包括:在所述辅助设备处出现闭合运动学回路。
11.根据权利要求1至3中的任意一项所述的机器人系统,其中每个控制修改模块进一步被配置为:
基于所述一个或多个控制命令生成操作模型;
通过所述操作模型识别一个或多个辅助设备中的至少一个和辅助设备的一个或多个部分之间的碰撞;以及
响应于识别到所述碰撞,生成用于防止所述碰撞的修饰符,所述修饰符包括:去除基于所述操作模型会导致碰撞的不符合的控制命令的一个或多个分量。
12.根据权利要求1至3中的任意一项所述的机器人系统,其中:
所述配置简档包括顺应性阈值;并且
每个控制修改模块还被配置为:
从所述辅助设备接收感测值;
确定所述感测值是否超过所述顺应性阈值;以及
响应于确定所述感测值超过所述顺应性阈值,生成用于减少所述辅助设备施加的力和扭矩中的至少一个的修饰符,所述修饰符包括去除导致所述感测值超过所述顺应性阈值的不符合的控制命令的一个或多个分量。
13.根据权利要求1至3中的任意一项所述的机器人系统,其中:
所述配置简档包括奇异阈值;并且
每个控制修改模块还被配置为:
接收与所述辅助设备相关的姿势信息,所述姿势信息包括位置数据和方向数据;
确定所述姿势信息是否超过所述奇异阈值;以及
响应于确定所述姿势信息超过所述奇异阈值,生成用于减少所述辅助设备的移动以减少所述姿势信息的改变的修饰符,所述修饰符包括去除导致所述姿势信息超过所述奇异阈值的不符合的控制命令的一个或多个分量。
14.根据权利要求1至3中的任意一项所述的机器人系统,其中,所述处理模块进一步被配置为:提供指示所述处理模块与所述一个或多个辅助设备之间的相对空间参考系的感官指示符。
15.一种用于操作机器人系统的方法,所述方法包括:
在输入模块处从一个或多个主要设备接收一组输入信号,所述一组输入信号包括一个或多个输入信号;
提供配置简档,所述配置简档包括用于所述机器人系统的一组操作参数;
由处理模块至少基于所述一组输入信号和所述配置简档生成一个或多个控制命令,所述一个或多个控制命令是为一个或多个辅助设备生成的,每个控制命令指示要由所述一个或多个辅助设备中的至少一个辅助设备进行的操作;以及
由一组控制修改模块管理机器人系统的操作,每个控制修改模块管理相应的辅助设备的操作,所述管理包括:
检测相应的辅助设备的操作是否不符合所述一组操作参数;
响应于检测到所述相应的辅助设备的操作不符合所述一组操作参数,从所述一个或多个控制命令中识别出不符合的控制命令,所述不符合的控制命令是导致所述相应的辅助设备的操作不符合所述一组操作参数的控制命令;和
生成修饰符以将所述不符合的控制命令调整为符合所述一组操作参数;
其中,所述机器人系统对所述一个或多个控制命令和由相应的控制修改模块生成的每个修饰符产生响应。
16.根据权利要求15所述的方法,进一步包括:
组合所述一个或多个控制命令和所述修饰符以提供输出信号,所述机器人系统对所述输出信号产生响应。
17.根据权利要求15所述的方法,其中:
所述配置简档包括每个主要设备和所述至少一个辅助设备之间的映射关联;
每个输入信号与主要设备标识符相关联,该主要设备标识符对应于提供该输入信号的主要设备;以及
针对每个输入信号生成所述一个或多个控制命令,包括:
从所述配置简档中识别出与对应于相应的主要设备标识符的主要设备映射关联的至少一个辅助设备;以及
将所述输入信号与识别出的至少一个辅助设备相关联。
18.根据权利要求17所述的方法,其中,对于每个辅助设备,生成所述一个或多个控制命令包括:
确定该辅助设备是否与两个或更多个输入信号相关联;以及
响应于确定该辅助设备与两个或更多个输入信号相关联,组合所述两个或更多个输入信号以为该辅助设备生成相应的控制命令。
19.根据权利要求18所述的方法,其中,所述两个或更多个输入信号包括第一输入信号和第二输入信号,第一输入信号定义要由相应的辅助设备执行的操作的第一方面,并且第二输入信号定义要由相应的辅助设备执行的操作的第二方面,所述第二方面与所述第一方面不同。
20.根据权利要求15至19中的任意一项所述的方法,进一步包括:
在所述输入模块处从所述至少一个辅助设备接收状态改变指示符,所述状态改变指示符表示所述主要设备和所述辅助设备中的至少一个的调整;以及
生成所述一个或多个控制命令包括响应于所述状态改变指示符由映射模块更新所述配置简档。
21.根据权利要求20所述的方法,进一步包括:操作所述映射模块以基于所述状态改变指示符从所述多个配置简档中选择一个配置简档,所述多个配置简档中的每个配置简档包括各自不同的一组操作参数。
22.根据权利要求20所述的方法,其中,所述主要设备和所述辅助设备中的至少一个的调整包括:改变主要设备和相应的辅助设备之间的映射关联。
23.根据权利要求20所述的方法,其中,所述主要设备和所述辅助设备中的至少一个的调整包括:在所述辅助设备处出现闭合运动学回路。
24.根据权利要求15至19中的任意一项所述的方法,其中,管理所述机器人系统的操作包括操作每个控制修改模块以:
基于所述一个或多个控制命令生成操作模型;
通过所述操作模型识别一个或多个辅助设备中的至少一个和辅助设备的一个或多个部分之间的碰撞;以及
响应于识别到所述碰撞,生成用于防止所述碰撞的修饰符,所述修饰符包括:去除基于所述操作模型会导致碰撞的不符合的控制命令的一个或多个分量。
25.根据权利要求15至19中的任意一项所述的方法,其中:
所述配置简档包括顺应性阈值;并且
管理所述机器人系统的操作包括操作每个控制修改模块以:
从所述辅助设备接收感测值;
确定所述感测值是否超过所述顺应性阈值;以及
响应于确定所述感测值超过所述顺应性阈值,生成用于减少所述辅助设备施加的力和扭矩中的至少一个的修饰符,所述修饰符包括去除导致所述感测值超过所述顺应性阈值的不符合的控制命令的一个或多个分量。
26.根据权利要求15至19中的任意一项所述的方法,其中:
所述配置简档包括奇异阈值;并且
管理所述机器人系统的操作包括操作每个控制修改模块以:
接收与所述辅助设备相关的姿势信息,所述姿势信息包括位置数据和方向数据;
确定所述姿势信息是否超过所述奇异阈值;以及
响应于确定所述姿势信息超过所述奇异阈值,生成用于减少所述辅助设备的移动以减少所述姿势信息的改变的修饰符,所述修饰符包括去除导致所述姿势信息超过所述奇异阈值的不符合的控制命令的一个或多个分量。
27.根据权利要求15至19中的任意一项所述的方法,其中,生成所述一个或多个控制命令包括:提供指示所述处理模块与所述一个或多个辅助设备之间的相对空间参考系的感官指示符。
28.一种机器人系统,包括:
用于提供输入信号的一个或多个主要设备;
处理模块,该处理模块用于基于所述输入信号和配置简档生成一个或多个控制命令,所述配置简档包括一组操作参数,每个控制命令指示要由一个或多个辅助设备中的至少一个辅助设备执行的操作;以及
一组控制修改模块,所述一组控制修改模块用于管理所述机器人系统的操作,每个控制修改模块管理相应的辅助设备的操作,每个控制修改模块被配置为:
检测相应的辅助设备的操作是否不符合所述一组操作参数;
响应于检测到所述相应的辅助设备的操作不符合所述一组操作参数,从所述一个或多个控制命令中识别出不符合的控制命令,所述不符合的控制命令是导致所述相应的辅助设备的操作不符合所述一组操作参数的控制命令;和
生成修饰符以将所述不符合的控制命令调整为符合所述一组操作参数;
其中,所述机器人系统对所述一个或多个控制命令和由相应的控制修改模块生成的每个修饰符产生响应。
29.根据权利要求28所述的机器人系统,还包括:
输出模块,该输出模块用于组合所述一个或多个控制命令和所述修饰符以提供输出信号,所述机器人系统对所述输出信号产生响应。
30.根据权利要求29所述的机器人系统,其中,所述输出模块位于所述一个或多个辅助设备处。
31.根据权利要求28至30中的任意一项所述的机器人系统,其中:
所述配置简档包括每个主要设备和所述至少一个辅助设备之间的映射关联;
每个输入信号与主要设备标识符相关联,该主要设备标识符对应于提供该输入信号的主要设备;以及
所述处理模块被配置为通过下述步骤针对每个输入信号生成所述一个或多个控制命令:
从所述配置简档中识别出与对应于相应的主要设备标识符的主要设备映射关联的至少一个辅助设备;以及
将该输入信号与识别出的至少一个辅助设备相关联。
32.根据权利要求31所述的机器人系统,其中,对于每个辅助设备,所述处理模块被进一步配置为:
确定该辅助设备是否与两个或更多个输入信号相关联;以及
响应于确定该辅助设备与两个或更多个输入信号相关联,组合所述两个或更多个输入信号以为该辅助设备生成相应的控制命令。
33.根据权利要求32所述的机器人系统,其中,所述两个或更多个输入信号包括第一输入信号和第二输入信号,第一输入信号定义要由相应的辅助设备执行的操作的第一方面,并且第二输入信号定义要由相应的辅助设备执行的操作的第二方面,所述第二方面与所述第一方面不同。
34.根据权利要求28至30中的任意一项所述的机器人系统,其中:
所述处理模块还能够操作用于从所述至少一个辅助设备接收状态改变指示符,所述状态改变指示符表示所述主要设备和所述辅助设备中的至少一个的调整;以及
所述机器人系统还包括用于响应于所述状态改变指示符来更新所述配置简档的映射模块。
35.根据权利要求34所述的机器人系统,其中:
所述机器人系统还包括用于存储多个配置简档的存储模块,每个配置简档包括各自不同的一组操作参数;以及
所述映射模块还被配置为基于所述状态改变指示符从所述多个配置简档中选择一个配置简档。
36.根据权利要求34所述的机器人系统,其中,所述主要设备和所述辅助设备中的至少一个的调整包括:改变主要设备和相应的辅助设备之间的映射关联。
37.根据权利要求34所述的机器人系统,其中,所述主要设备和所述辅助设备中的至少一个的调整包括:在所述辅助设备处出现闭合运动学回路。
38.根据权利要求28所述的机器人系统,其中每个控制修改模块进一步被配置为:
基于所述一个或多个控制命令生成操作模型;
通过所述操作模型识别一个或多个辅助设备中的至少一个和辅助设备的一个或多个部分之间的碰撞;以及
响应于识别到所述碰撞,生成用于防止所述碰撞的修饰符,所述修饰符包括:去除基于所述操作模型会导致碰撞的不符合的控制命令的一个或多个分量。
39.根据权利要求28至30中的任意一项所述的机器人系统,其中:
所述配置简档包括顺应性阈值;并且
每个控制修改模块还被配置为:
从所述辅助设备接收感测值;
确定所述感测值是否超过所述顺应性阈值;以及
响应于确定所述感测值超过所述顺应性阈值,生成用于减少所述辅助设备施加的力和扭矩的修饰符,所述修饰符包括去除导致测得的力值超过所述顺应性阈值的不符合的控制命令的一个或多个分量。
40.根据权利要求28至30中的任意一项所述的机器人系统,其中:
所述配置简档包括奇异阈值;并且
每个控制修改模块还被配置为:
接收与所述辅助设备相关的姿势信息,所述姿势信息包括位置数据和方向数据;
确定所述姿势信息是否超过所述奇异阈值;以及
响应于确定所述姿势信息超过所述奇异阈值,生成用于减少所述辅助设备的移动以减少所述姿势信息的改变的修饰符,所述修饰符包括去除导致所述姿势信息超过所述奇异阈值的不符合的控制命令的一个或多个分量。
41.根据权利要求28至30中的任意一项所述的机器人系统,其中,所述处理模块进一步被配置为:提供指示所述处理模块与所述一个或多个辅助设备之间的相对空间参考系的感官指示符。
CN201580031393.5A 2014-04-10 2015-04-10 机器人系统及操作机器人系统的方法 Active CN106457569B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201461977886P 2014-04-10 2014-04-10
US61/977,886 2014-04-10
US201461989020P 2014-05-06 2014-05-06
US61/989,020 2014-05-06
US201462094138P 2014-12-19 2014-12-19
US62/094,138 2014-12-19
PCT/CA2015/000243 WO2015154172A1 (en) 2014-04-10 2015-04-10 Robotic systems and methods of operating robotic systems

Publications (2)

Publication Number Publication Date
CN106457569A CN106457569A (zh) 2017-02-22
CN106457569B true CN106457569B (zh) 2019-03-12

Family

ID=54287046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580031393.5A Active CN106457569B (zh) 2014-04-10 2015-04-10 机器人系统及操作机器人系统的方法

Country Status (4)

Country Link
US (1) US9579797B2 (zh)
CN (1) CN106457569B (zh)
CA (1) CA2945189C (zh)
WO (1) WO2015154172A1 (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8420380B2 (en) 2008-01-31 2013-04-16 Transmedics, Inc. Systems and methods for ex vivo lung care
DE102013010584B4 (de) * 2013-06-26 2021-06-24 I.S.T. Innovative Sewer Technologies Gmbh Kanalsanierungsverfahren und Kanalsanierungssystem
JP2017518301A (ja) 2014-06-02 2017-07-06 トランスメディクス, インク.Transmedics, Inc. ex−vivoでの臓器管理システム
KR102338899B1 (ko) * 2015-01-02 2021-12-13 삼성전자주식회사 홈 디바이스를 제어하는 방법 및 디바이스
CA2973235C (en) * 2015-01-09 2017-12-12 Titan Medical Inc. Alignment difference safety in a master-slave robotic system
JP6772184B2 (ja) * 2015-04-29 2020-10-21 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. グループのメンバによってデバイスを操作する方法及び装置
US10730180B2 (en) * 2015-05-29 2020-08-04 Abb Schweiz Ag User interface for a teleoperated robot
DE102015209899B4 (de) * 2015-05-29 2019-06-19 Kuka Roboter Gmbh Auswahl eines Gerätes oder eines Objektes mit Hilfe einer Kamera
EP3342551B1 (en) * 2015-08-25 2024-12-25 Kawasaki Jukogyo Kabushiki Kaisha Robot system
JP6934005B2 (ja) 2015-09-09 2021-09-08 トランスメディクス,インコーポレイテッド エキソビボ臓器管理システムのための大動脈カニューレ
CN105094020B (zh) * 2015-09-10 2018-04-06 北京进化者机器人科技有限公司 一种机器人运行状态切换方法和系统
US9939908B2 (en) * 2015-09-28 2018-04-10 Paypal, Inc. Multi-device authentication
US10272572B2 (en) * 2016-06-10 2019-04-30 The Boeing Company Remotely controlling robotic platforms based on multi-modal sensory data
CN106112951A (zh) * 2016-07-01 2016-11-16 广州霞光技研有限公司 多自由度主从式遥操作机械手控制方法
KR102437404B1 (ko) * 2016-07-14 2022-08-30 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 수술 기구를 제어하는 시스템 및 방법
GB2554363B (en) * 2016-09-21 2021-12-08 Cmr Surgical Ltd User interface device
CN106725861B (zh) * 2017-02-15 2019-12-10 山东大学 一种手术机器人末端工具碰撞位置检测方法
JP6869060B2 (ja) * 2017-03-15 2021-05-12 株式会社オカムラ マニピュレータの制御装置、制御方法およびプログラム、ならびに作業システム
CN106680450B (zh) * 2017-03-23 2023-04-25 江西省农业科学院农业经济与信息研究所 水质监测装置及方法
US11436811B2 (en) * 2017-04-25 2022-09-06 Microsoft Technology Licensing, Llc Container-based virtual camera rotation
CA3062101A1 (en) * 2017-05-03 2018-11-08 Taiga Robotics Corp. Systems and methods for remotely controlling a robotic device
EP3691840A1 (en) * 2017-10-06 2020-08-12 Moog Inc. Teleoperation systems, method, apparatus, and computer-readable medium
US10720070B2 (en) * 2018-01-03 2020-07-21 Qualcomm Incorporated Adjustable object avoidance proximity threshold of a robotic vehicle based on presence of detected payload(s)
CN108568822A (zh) * 2018-06-27 2018-09-25 西华大学 基于多个机器人的异构型遥操作系统
JP6770025B2 (ja) * 2018-07-12 2020-10-14 ファナック株式会社 ロボット
CN112512759B (zh) * 2018-08-10 2024-06-11 川崎重工业株式会社 中介装置及使用该中介装置的中介方法
CN109620410B (zh) * 2018-12-04 2021-01-26 微创(上海)医疗机器人有限公司 机械臂防碰撞的方法及系统、医疗机器人
WO2020130091A1 (ja) * 2018-12-21 2020-06-25 川崎重工業株式会社 ロボットシステム及びロボットシステムの制御方法
US11034026B2 (en) * 2019-01-10 2021-06-15 General Electric Company Utilizing optical data to dynamically control operation of a snake-arm robot
US12318117B2 (en) 2019-04-04 2025-06-03 Memorial Sloan Kettering Cancer Center Robotic anatomical manipulation systems and methods
WO2021050646A1 (en) * 2019-09-11 2021-03-18 Dmg Mori Co., Ltd. Robot-mounted moving device, system, and machine tool
JP7437910B2 (ja) * 2019-10-29 2024-02-26 株式会社東芝 制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体
CN110936375A (zh) * 2019-12-04 2020-03-31 路邦科技授权有限公司 一种机器人的同步多联连接系统及其同步多联连接方法
US12172322B2 (en) * 2020-01-20 2024-12-24 Fanuc Corporation Robot simulation device
WO2021168531A1 (fr) * 2020-02-27 2021-09-02 Seguin De Broin Guillaume Scorpiobot
CN114952821B (zh) * 2021-02-25 2025-02-14 腾讯科技(深圳)有限公司 机器人运动控制方法、机器人及系统
CN115179272B (zh) * 2021-04-02 2025-08-15 腾讯科技(深圳)有限公司 机器人运动控制方法、机器人及系统
CN113910234B (zh) * 2021-10-27 2022-10-14 因格(苏州)智能技术有限公司 双机械手控制方法与存储介质
US20230278223A1 (en) 2022-03-04 2023-09-07 Sanctuary Cognitive Systems Corporation Robots, tele-operation systems, computer program products, and methods of operating the same
CN115092283B (zh) * 2022-07-25 2023-08-01 中山大学 基于带有前庭反馈的梯度cpg的机器人控制方法
DE102022207662A1 (de) * 2022-07-26 2024-02-01 Kuka Deutschland Gmbh Kopplungsloser Telebetrieb

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4826392A (en) * 1986-03-31 1989-05-02 California Institute Of Technology Method and apparatus for hybrid position/force control of multi-arm cooperating robots
EP0098386B1 (en) * 1982-06-10 1990-01-03 Cincinnati Milacron Inc. Manipulator with controlled path motion
US5136223A (en) * 1988-12-12 1992-08-04 Fanuc Ltd. Robot operating method capable of manual correction
CN1089732A (zh) * 1992-12-18 1994-07-20 日东工器株式会社 操作机的安全操作系统
CN1216454A (zh) * 1996-02-20 1999-05-12 电脑动作公司 施行最小侵入性心脏手术的方法和装置
JP2001524884A (ja) * 1997-05-15 2001-12-04 エービービー アクチボラゲット マニピュレータの運動制御を監視する方法
CN101062561A (zh) * 2006-04-28 2007-10-31 施托布利法韦日公司 机器人操作参数调整方法和装置以及用于该方法的程序和记录介质
WO2008034257A1 (en) * 2006-09-22 2008-03-27 Agop Jean Georges Apkarian Apparatus, system and computer program for controlling a tool
CN101253455A (zh) * 2005-07-04 2008-08-27 Keba股份公司 用于在移动操作装置和可控装置之间建立、断开和操作临时有效连接的方法以及为此构造的安全的数据传输对方台
CN102279600A (zh) * 2010-03-31 2011-12-14 索尼公司 机器人设备、控制机器人设备的方法及程序
WO2013152414A1 (en) * 2012-04-11 2013-10-17 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of National Defence Adaptive platform for unmanned defense vehicles
CN103552072A (zh) * 2013-10-21 2014-02-05 深圳先进技术研究院 一种基于嵌入式控制器的机器人控制方法和装置

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5762458A (en) * 1996-02-20 1998-06-09 Computer Motion, Inc. Method and apparatus for performing minimally invasive cardiac procedures
US6148100A (en) 1996-12-20 2000-11-14 Bechtel Bwxt Idaho, Llc 3-dimensional telepresence system for a robotic environment
US6659939B2 (en) 1998-11-20 2003-12-09 Intuitive Surgical, Inc. Cooperative minimally invasive telesurgical system
US8004229B2 (en) * 2005-05-19 2011-08-23 Intuitive Surgical Operations, Inc. Software center and highly configurable robotic systems for surgery and other uses
US9510911B2 (en) 1999-09-17 2016-12-06 Intuitive Surgical Operations, Inc. System and methods for managing multiple null-space objectives and SLI behaviors
JP5306566B2 (ja) * 2000-05-01 2013-10-02 アイロボット コーポレーション 移動ロボットを遠隔操作するための方法およびシステム
US7312766B1 (en) 2000-09-22 2007-12-25 Canadian Space Agency Method and system for time/motion compensation for head mounted displays
US20020196230A1 (en) 2001-06-22 2002-12-26 Struyk David A. Remote viewing system incorporating relative directional indication
US7930053B2 (en) * 2003-12-23 2011-04-19 Beacons Pharmaceuticals Pte Ltd Virtual platform to facilitate automated production
US7979157B2 (en) * 2004-07-23 2011-07-12 Mcmaster University Multi-purpose robotic operating system and method
US20060224280A1 (en) 2005-04-01 2006-10-05 Flanigan Thomas C Remote vehicle control systems
US9195233B2 (en) * 2006-02-27 2015-11-24 Perrone Robotics, Inc. General purpose robotics operating system
US8108092B2 (en) * 2006-07-14 2012-01-31 Irobot Corporation Autonomous behaviors for a remote vehicle
US8965578B2 (en) * 2006-07-05 2015-02-24 Battelle Energy Alliance, Llc Real time explosive hazard information sensing, processing, and communication for autonomous operation
EP2142132B1 (en) 2007-04-16 2012-09-26 NeuroArm Surgical, Ltd. System for non-mechanically restricting and/or programming movement of a tool of a manipulator along a single axis
WO2009045827A2 (en) 2007-09-30 2009-04-09 Intuitive Surgical, Inc. Methods and systems for tool locating and tool tracking robotic instruments in robotic surgical systems
US7908757B2 (en) 2008-10-16 2011-03-22 Hexagon Metrology, Inc. Articulating measuring arm with laser scanner
US8918211B2 (en) 2010-02-12 2014-12-23 Intuitive Surgical Operations, Inc. Medical robotic system providing sensory feedback indicating a difference between a commanded state and a preferred pose of an articulated instrument
US8473101B2 (en) 2009-08-21 2013-06-25 Harris Corporation Coordinated action robotic system and related methods
US20120071752A1 (en) * 2010-09-17 2012-03-22 Sewell Christopher M User interface and method for operating a robotic medical system
US8918214B2 (en) 2011-01-19 2014-12-23 Harris Corporation Telematic interface with directional translation
US8918215B2 (en) 2011-01-19 2014-12-23 Harris Corporation Telematic interface with control signal scaling based on force sensor feedback
US9323250B2 (en) 2011-01-28 2016-04-26 Intouch Technologies, Inc. Time-dependent navigation of telepresence robots
US8977391B2 (en) * 2011-07-15 2015-03-10 The Boeing Company Spacecraft development testbed system
PL2791748T3 (pl) * 2012-02-08 2021-04-06 Omron Robotics And Safety Technologies, Inc. System zarządzania zadaniami dla floty autonomicznych robotów mobilnych
AU2013204965B2 (en) * 2012-11-12 2016-07-28 C2 Systems Limited A system, method, computer program and data signal for the registration, monitoring and control of machines and devices
JP6410022B2 (ja) * 2013-09-06 2018-10-24 パナソニックIpマネジメント株式会社 マスタスレーブロボットの制御装置及び制御方法、ロボット、マスタスレーブロボットの制御プログラム、並びに、マスタスレーブロボットの制御用集積電子回路
US9566711B2 (en) * 2014-03-04 2017-02-14 Sarcos Lc Coordinated robotic control
US11185985B2 (en) * 2015-01-05 2021-11-30 Bell Helicopter Textron Inc. Inspecting components using mobile robotic inspection systems
US11243505B2 (en) * 2015-03-16 2022-02-08 Rockwell Automation Technologies, Inc. Cloud-based analytics for industrial automation
US10496061B2 (en) * 2015-03-16 2019-12-03 Rockwell Automation Technologies, Inc. Modeling of an industrial automation environment in the cloud
US9327397B1 (en) * 2015-04-09 2016-05-03 Codeshelf Telepresence based inventory pick and place operations through robotic arms affixed to each row of a shelf

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0098386B1 (en) * 1982-06-10 1990-01-03 Cincinnati Milacron Inc. Manipulator with controlled path motion
US4826392A (en) * 1986-03-31 1989-05-02 California Institute Of Technology Method and apparatus for hybrid position/force control of multi-arm cooperating robots
US5136223A (en) * 1988-12-12 1992-08-04 Fanuc Ltd. Robot operating method capable of manual correction
CN1089732A (zh) * 1992-12-18 1994-07-20 日东工器株式会社 操作机的安全操作系统
CN1216454A (zh) * 1996-02-20 1999-05-12 电脑动作公司 施行最小侵入性心脏手术的方法和装置
JP2001524884A (ja) * 1997-05-15 2001-12-04 エービービー アクチボラゲット マニピュレータの運動制御を監視する方法
CN101253455A (zh) * 2005-07-04 2008-08-27 Keba股份公司 用于在移动操作装置和可控装置之间建立、断开和操作临时有效连接的方法以及为此构造的安全的数据传输对方台
CN101062561A (zh) * 2006-04-28 2007-10-31 施托布利法韦日公司 机器人操作参数调整方法和装置以及用于该方法的程序和记录介质
WO2008034257A1 (en) * 2006-09-22 2008-03-27 Agop Jean Georges Apkarian Apparatus, system and computer program for controlling a tool
CN102279600A (zh) * 2010-03-31 2011-12-14 索尼公司 机器人设备、控制机器人设备的方法及程序
WO2013152414A1 (en) * 2012-04-11 2013-10-17 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of National Defence Adaptive platform for unmanned defense vehicles
CN103552072A (zh) * 2013-10-21 2014-02-05 深圳先进技术研究院 一种基于嵌入式控制器的机器人控制方法和装置

Also Published As

Publication number Publication date
CA2945189A1 (en) 2015-10-15
CA2945189C (en) 2022-10-11
US20160303739A1 (en) 2016-10-20
WO2015154172A1 (en) 2015-10-15
US9579797B2 (en) 2017-02-28
CN106457569A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106457569B (zh) 机器人系统及操作机器人系统的方法
KR101193125B1 (ko) 동작 교시시스템 및 동작 교시방법
US10919152B1 (en) Teleoperating of robots with tasks by mapping to human operator pose
EP3055744B1 (en) A method and a device for verifying one or more safety volumes for a movable mechanical unit
JP5378374B2 (ja) リアルオブジェクトに対するカメラの位置および方向を把握する方法およびシステム
JP5471355B2 (ja) 3次元視覚センサ
CN112043397B (zh) 手术机器人及其运动错误检测方法、检测装置
KR102001214B1 (ko) 가상 현실 기반 양팔로봇 교시 장치 및 방법
Li et al. Unleashing mixed-reality capability in deep reinforcement learning-based robot motion generation towards safe human–robot collaboration
CN115157261B (zh) 基于混合现实的柔性机械臂遥操作人机交互装置及方法
CN106457570A (zh) 作业机器人示教数据生成装置以及示教数据生成方法
CN112847336B (zh) 动作学习方法、装置、存储介质及电子设备
JPWO2019239562A1 (ja) 機械学習装置及びこれを備えたロボットシステム
CN107257946B (zh) 用于虚拟调试的系统
Nandikolla et al. Teleoperation Robot Control of a Hybrid EEG‐Based BCI Arm Manipulator Using ROS
JP2006026790A (ja) 教示モデル生成装置
Zhao et al. Xrobotoolkit: A cross-platform framework for robot teleoperation
JP4649554B1 (ja) ロボット制御装置
Bai et al. Kinect-based hand tracking for first-person-perspective robotic arm teleoperation
US20240342919A1 (en) Device for teaching position and posture for robot to grasp workpiece, robot system, and method
Lukawski et al. Towards the Development of Telepresence Applications with TIAGo and TIAGo++ Using a Virtual Reality Headset
Lovon-Ramos et al. Mixed reality applied to the teleoperation of a 7-dof manipulator in rescue missions
Ribeiro et al. RAMBO—Robotic Anthropomorphic Manipulator for Bimanual Operations
Portilla Design of a Robotic Arm Manipulator Using Hybrid BCI
Frank-Bolton et al. Annotation scaffolds for manipulating articulated objects

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant