首页 / 专利库 / 电脑编程 / 算法 / 用于分析和测试多个自由度对象的系统和方法

用于分析和测试多个自由度对象的系统和方法

阅读:736发布:2021-06-08

专利汇可以提供用于分析和测试多个自由度对象的系统和方法专利检索,专利查询,专利分析的服务。并且本 申请 涉及用于分析和测试多个 自由度 对象的系统和方法。系统包括处理器以及耦合到处理器的 存储器 。存储器存储指令,所述指令使得处理器确定对象的第一运动包络。第一运动包络对应于可实现的对象的 位置 的运动学包络。指令还使得处理器基于对象的第一运动包络和第二运动包络的交叉确定对象的操作包络。第二运动包络对应于对象的运动范围,该运动范围受到对象的动态运动限制的约束,并且该操作包络指示在对象的操作期间对象的运动范围。指令进一步使得处理器基于操作包络生成对象的虚拟模型。虚拟模型用于对所述对象的操作进行虚拟建模。,下面是用于分析和测试多个自由度对象的系统和方法专利的具体信息内容。

1.一种用于分析和测试多个自由度对象的系统(100),包括:
处理器(112);以及
耦合到所述处理器(112)的存储器(114),所述存储器(114)存储指令,当由所述处理器(112)执行时,所述指令使得所述处理器(112):
确定对象(106)的第一运动包络(142),所述第一运动包络(142)对应于所述对象(106)的位置的运动学包络(202),所述位置能由所述对象(106)到达;
基于所述对象(106)的所述第一运动包络(142)和第二运动包络(144)的交叉确定所述对象(106)的操作包络(146),所述第二运动包络(144)对应于所述对象(106)的运动范围,所述运动范围受到所述对象(106)的动态运动限制的约束,所述操作包络(146)指示在所述对象(106)的操作期间所述对象(106)的运动范围;以及
基于所述操作包络(146)生成所述对象(106)的虚拟模型(150),所述虚拟模型(150)用于对所述对象(106)的操作进行虚拟建模。
2.根据权利要求1所述的系统,进一步包括显示设备(116),所述显示设备(116)被配置为显示所述虚拟模型(150)。
3.根据权利要求1或2所述的系统,进一步包括运动学仿真器(132),所述运动学仿真器被配置为基于所述虚拟模型(150)通过所述操作包络(146)对所述对象(106)的移动进行虚拟建模。
4.根据权利要求1或2所述的系统,其中,所述指令进一步使所述处理器(112)基于所述虚拟模型(150)通过所述操作包络(146)生成命令(162),所述命令(162)指示所述对象(106)的无碰撞移动路径(154),并且进一步包括:
控制器(104),所述控制器(104)被配置为接收所述命令并基于所述命令生成信号(164);以及
所述对象(106)被配置为从所述控制器(104)接收信号(164)并且被配置为基于所述信号(164)沿着所述无碰撞移动路径(154)移动。
5.根据权利要求4所述的系统,进一步包括网络接口(118),所述网络接口(118)被配置为经由网络将所述命令传输到所述控制器(104)。
6.根据权利要求5所述的系统,其中,所述对象具有三以上的自由度。
7.一种用于分析和测试多个自由度对象的方法(1000),包括:
确定(1002)对象(106)的第一运动包络(142),所述第一运动包络(142)对应于所述对象(106)的位置的运动学包络(202),所述位置能由所述对象(106)到达;
基于所述对象(106)的所述第一运动包络(142)和第二运动包络(144)的交叉确定(1004)所述对象(106)的操作包络(146),所述第二运动包络(144)对应于所述对象(106)的运动范围,所述运动范围受到所述对象(106)的动态运动限制的约束,所述操作包络(146)指示在所述对象(106)的操作期间所述对象(106)的运动范围;以及
基于所述操作包络(146)生成(1006)所述对象(106)的虚拟模型(150),所述虚拟模型(150)用于对所述对象(106)的操作进行虚拟建模。
8.根据权利要求7所述的方法,其中,确定所述第一运动包络(142)包括采用二分搜索算法来确定所述第一运动包络(142)。
9.根据权利要求7或8所述的方法,其中,确定所述操作包络(146)包括:
将所述对象(106)的计算机辅助设计模型的最后有效位置设置(702)为原始位置,以及将所述对象(106)的所述计算机辅助设计模型的最后无效位置设置为已知的无效位置;
基于一个或多个参数定向(706)所述对象(106)的所述计算机辅助设计模型;
将所述对象(106)的所述计算机辅助设计模型的当前位置设置(708)为所述最后有效位置和所述最后无效位置之间的中间位置;基于所述当前位置以及所述第一运动包络(142)、所述第二运动包络(144)或两者的一个或多个约束和操作约束,确定(710)所述对象(106)的所述计算机辅助设计模型是否经历碰撞,所述碰撞包括所述对象(106)的组件之间的内部碰撞以及所述对象(106)与另一个对象之间的外部碰撞;
响应于确定所述对象(106)的所述计算机辅助设计模型经历所述碰撞,将所述当前位置设置(714)为所述最后无效位置;
确定(716)所述最后有效位置和所述最后无效位置之间的距离是否小于或等于阈值距离;以及
响应于确定所述最后有效位置和所述最后无效位置之间的所述距离小于或等于所述阈值距离,将所述最后有效位置添加(718)到所述操作包络(146)。
10.根据权利要求7或8所述的方法,其中,生成所述对象(106)的所述虚拟模型(150)包括:
基于所述操作包络(146)和计算机辅助设计模型生成(302)运动,所述运动云包括所述操作包络(146)的视觉表示;
基于所述运动云确定(304、308)所述对象(106)的组件的轮廓;
基于所述轮廓生成(306、310)所述对象(106)的所述组件的网格;
基于所述网格生成所述组件的虚拟模型的表面,以生成所述组件的所述虚拟模型;以及
基于所述组件的所述虚拟模型生成所述对象(106)的所述虚拟模型(150)。
11.根据权利要求10所述的方法,其中,确定所述组件的所述轮廓包括:在所述操作包络(146)内限定(404、408)多个原点,所述多个原点包括第一原点和第二原点,其中,所述多个原点的每个原点与从所述原点发出并延伸到所述操作包络的边界的多条射线关联;
针对对应于所述第一原点的第一多条射线的每条射线确定(404)与所述运动云交叉的最小点和最大点;
基于与所述运动云交叉的所述第一多条射线的每条射线的最小点和最大点,生成(406)第一表面轮廓;
针对对应于所述第二原点的第二多条射线的每条射线确定(408)与所述运动云交叉的最小点和最大点;
基于与所述运动云交叉的所述第二多条射线的每条射线的最小点和最大点,生成(410)第二表面轮廓;以及
组合(412)所述第一表面轮廓和所述第二表面轮廓,以生成特定组件的特定组合的轮廓。
12.根据权利要求7或8所述的方法,进一步包括:
识别所述操作包络(146)内的关注点(152),所述关注点对应于所述操作包络边界附近的点;
确定从初始位置到达所述关注点的一个或多个移动路径是否无碰撞;以及输出确定到达所述关注点的所述一个或多个移动路径是否无碰撞的结果。
13.根据权利要求12所述的方法,进一步包括基于所述一个或多个移动路径生成命令(162)。
14.根据权利要求13所述的方法,进一步包括:
将所述命令输出到所述对象(106)的物理实例(106)的控制器(104);
通过所述控制器(104)基于所述命令(162)生成信号(164),所述信号(164)指示所述一个或多个移动路径的特定移动路径;
通过所述控制器(104)将所述信号(164)输出到所述对象(106)的所述物理实例;以及验证所述对象(106)的所述物理实例沿着所述信号(164)指示的所述特定移动路径移动,而不经历碰撞。
15.根据权利要求12所述的方法,其中,所述关注点与所述对象(106)的致动器(172)的参数相关。
16.根据权利要求15所述的方法,其中,所述关注点对应于所述致动器(172)的关节度包络(954)的边界附近的点。
17.根据权利要求12所述的方法,进一步包括:
识别所述操作包络(146)内的潜在关注点(152);以及
选择所述潜在关注点的特定潜在关注点作为所述关注点,其中,满足所述特定潜在关注点的条件的所述对象(106)的所述虚拟模型(150)的位置与满足所述潜在关注点的多个潜在关注点的条件的所述对象(106)的所述虚拟模型(150)的位置重叠。

说明书全文

用于分析和测试多个自由度对象的系统和方法

技术领域

[0001] 本公开总体涉及用于分析和测试多个自由度对象的系统和方法。

背景技术

[0002] 由于存在数百万或数十亿的潜在位置,具有多个自由度的对象难以虚拟地/分析地建模。此类对象通常包括基于硬件的运动限制设备,诸如止动件、限制件、凸起、传感器等,以限制对象的移动,使得对象不经历碰撞。基于硬件的运动限制设备增加了重量、体积和设计的复杂性。此外,经常对所述对象的原型进行试验以确定基于硬件的运动限制设备应该被定位的位置。这增加了设计过程的时间和成本。发明内容
[0003] 在特定实现中,系统包括处理器以及耦合到处理器的存储器。存储器存储指令,当由处理器执行时,所述指令使得处理器确定对象的第一运动包络。第一运动包络对应于对象的位置的运动学包络,所述位置可由对象到达。指令还使得处理器基于对象的第一运动包络和第二运动包络的交叉确定对象的操作包络。第二运动包络对应于对象的运动范围,所述运动范围受到对象的动态运动限制的约束,并且所述操作包络指示在对象的操作期间对象的运动范围。指令进一步使得处理器基于操作包络生成对象的虚拟模型。虚拟模型用于对所述对象的操作进行虚拟建模。
[0004] 在特定实现中,方法包括确定对象的第一运动包络。第一运动包络对应于对象的位置的运动学包络,所述位置可由对象到达。方法还包括基于对象的第一运动包络和第二运动包络的交叉确定对象的操作包络。第二运动包络对应于对象的运动范围,所述运动范围受到对象的动态运动限制的约束,并且所述操作包络指示在对象的操作期间对象的运动范围。方法进一步包括基于操作包络生成对象的虚拟模型。虚拟模型用于对所述对象的操作进行虚拟建模。
[0005] 在特定实现中,计算机可读存储设备包括指令,当被执行时,所述指令使处理器执行操作,所述操作包括确定对象的第一运动包络。第一运动包络对应于对象的位置的运动学包络,所述位置可由对象到达。指令还使得处理器执行基于对象的第一运动包络和第二运动包络的交叉确定对象的操作包络的操作。第二运动包络对应于对象的运动范围,所述运动范围受到对象的动态运动限制的约束,并且所述操作包络指示在对象的操作期间对象的运动范围。指令进一步使得处理器执行基于操作包络生成对象的虚拟模型的操作。虚拟模型用于对所述对象的操作进行虚拟建模。
[0006] 通过生成对象的虚拟模型,可以通过对象的操作包络对所述对象的操作虚拟地建模,以虚拟地确定和验证其操作包络。与使用对象的物理实例确定和/或验证操作包络相比,确定和验证操作包络实际上节省了时间和成本,并且可以减少或消除基于硬件的运动限制设备。附图说明
[0007] 图1示出用于分析和测试多个自由度对象的系统的示例的方框图
[0008] 图2是由图1的系统执行的分析和测试多个自由度对象的方法的示例的流程图
[0009] 图3是生成虚拟模型的方法的示例的流程图;
[0010] 图4是生成部件轮廓的方法的示例的流程图;
[0011] 图5A是示出图1的对象的示例的侧视图的图示;
[0012] 图5B是示出图5A的对象的示例的另一个侧视图的图示;
[0013] 图6是示出图1的点的侧视图的图示;
[0014] 图7是确定第一运动包络或操作包络的示例的流程图;
[0015] 图8是确定第二运动包络的示例的流程图;
[0016] 图9是示出关注点和致动器包络的图示;
[0017] 图10是生成虚拟模型的方法的示例的流程图;
[0018] 图11是制造包括虚拟测试的对象的交通工具的方法的示例的流程图;以及[0019] 图12是根据本公开被配置为支持生成虚拟模型的计算环境的特定示例的方框图。

具体实施方式

[0020] 公开的实施例提供用于分析和测试多个自由度对象的系统和方法。系统包括交互式可视分析和仿真(IVAS)工具,用于确定和/或确认(例如,验证)对象的操作包络(例如,运动范围),诸如多个自由度对象。IVAS工具是一种实时交互式应用程序,其使用运动学仿真(例如,视频游戏引擎),利用分析工具(例如,计算机辅助工程(CAE)数据和/或产品生命周期管理(PLM)数据))来合成3D产品数据(例如,计算机辅助设计(CAD)模型),从而可视化复杂系统和数据集。IVAS工具可以对机械运动学、组件动学建模,并使用传统建模和仿真应用程序的数据示出集成系统操作序列。
[0021] IVAS工具可以利用从CAD程序(例如,CAD模型)导出的对象的3D几何形状的完整或简化表示。IVAS工具可以虚拟地测试对象的位置以及对象的规定的硬件限制(诸如对象的致动器的行程长度限制和/或关节度限制),以检测碰撞。例如,对象的每个潜在位置可用于生成对象的内部和外部边界,以累积所有边界位置的运动包络从而定义运动学包络(例如,运动学运动范围(ROM))。然后,使用所述规定的最终用途应用限制(例如,交通工具相对动态运动(VRDM)限制表)定义的动态运动限制,从对象的极限位置确定动态包络(例如,动态ROM)。然后基于运动学包络和动态包络的表面边界的交叉生成操作包络(例如,操作ROM)。操作范围包括对象在操作期间可以实现并且分析地(例如,虚拟地)确定的所有可能位置。操作包络可以用于设置基于硬件的运动限制设备,设置基于软件的运动限制或其组合。因此,可以分析地并且独立于操纵对象106的物理实例来生成多个自由度对象的操作包络。
[0022] 此外,操作范围可以用于测试或验证操作包络,即执行操作运动范围测试,诸如美国国家航空航天局(NASA)所要求的运动范围测试。例如,可以虚拟地和/或物理地测试操作包络(例如,操纵对象的物理实例)。操作包络用于生成对象的运动云,即对象的操作包络的视觉表示。可以基于运动云生成对象的组件的点云(例如,轮廓)。基于点云生成对象的组件的网格。对象的组件的网格构成对象的虚拟模型,并且所述网格由IVAS工具(例如,其运动学仿真器,诸如视频游戏引擎)操纵以测试碰撞。例如,虚拟模型被虚拟地操纵或沿着移动路径从原点、默认位置或起始位置移动到运动学仿真器的各个关注点,从而沿着移动路径测试所述点。可以使用关注的点来测试操作包络的各个点,而不是测试操作包络中的每个点,对于复杂对象,这可花费大量时间。可以由IVAS工具或其用户选择关注的点。关注的点(或关注的区域)通常对应于对象在对象的移动组件的边界(诸如致动器包络的边界)附近的位置。通过沿着移动路径操纵虚拟模型并检查每个点,可通过IVAS工具使用运动学仿真器来检测碰撞(或者可以确定没有碰撞)。
[0023] 可以将碰撞定义为当一个组件碰撞(触摸)另一个组件时,或者当满足对象的组件的表面与所述对象或另一个对象的另一个组件的另一个表面之间的最小距离时。图形用户界面(GUI)和显示器允许用户在对象的仿真期间查看实时对象参数、对象位置和碰撞边界。在已经虚拟地建模对象之后,可以使用对象的物理实例来验证或确认IVAS工具所确定的操作包络和移动路径。IVAS工具(或另一个设备)可以基于移动路径生成命令和/或信号。信号使对象的物理实例沿着移动路径移动,以验证移动路径没有碰撞。
[0024] 因此,与使用对象的物理实例确定和/或验证操作包络相比,虚拟地确定和验证对象的操作包络实际上节省了时间和成本,并且可以减少或消除基于硬件的运动限制设备在对象上的使用。
[0025] 图1示出用于分析和测试多个自由度对象(诸如对象106)的系统100的示例的方框图。系统100包括计算机102、控制器104和对象106(即,对象106的物理实例)。计算机102可以包括或对应于IVAS工具。
[0026] 计算机102包括处理器112、存储器114、显示器116、网络接口118、输入/输出(I/O)接口120和运动学仿真器132。处理器112耦合到存储器114并且被配置为执行存储在存储器114中的指令。
[0027] 显示器116(例如,显示设备)被配置为响应于处理器112和/或其图形处理单元(GPU)(未示出)生成的信号输出GUI。网络接口118包括或对应于有线网络接口、无线网络接口或其组合,并且被配置为经由网络与其他设备(诸如控制器104、对象106或两者)通信。
[0028] 运动学仿真器132被配置为操纵对象106的虚拟模型150以对对象106的操作虚拟地建模(例如,以确定操作包络146没有碰撞)。在一些实施例中,运动学仿真器132包括或对应于物理引擎或视频游戏引擎。作为说明性的非限制性示例,视频游戏引擎可以包括或对应于优美缔(Unity)游戏引擎、优美缔软件公司的注册商标,或者虚幻引擎4、英佩数码科技有限公司(Epic Games,Inc)的注册商标。
[0029] 控制器104包括处理器112A、存储器114A和网络接口118A。控制器104被配置为从计算机102接收命令162并基于命令162生成信号164。信号164被配置为沿着移动路径154(例如,无碰撞移动路径)移动对象106。尽管系统100包括与计算机102分离的控制器104,但是在其他实现中,系统100不包括单独的控制器104,并且计算机102基于命令162生成信号164。
[0030] 对象106是多个自由度对象,即,对象106或其部件可以以多个自由度移动。对象106包括一个或多个致动器172以及一个或多个组件174。作为说明性的非限制性示例,对象
106是对接系统502,如图5所示。在这样的实现中,致动器172包括具有可调节行程长度的线性致动器,以及形成上关节角度和下关节角度的上枢轴和下枢轴。
[0031] 对象106被配置为响应于接收所述信号164而沿着移动路径154移动自身。例如,基于信号164激活和控制一个或多个致动器172。为了进行说明,信号164使一个或多个致动器172移动(例如,旋转和/或延伸),其移动一个或多个组件174以及对象106。
[0032] 在对象106的设计期间,例如在对象106的测试和确认期间,可以分析地确定和确认对象106的操作包络146。例如,计算机102的处理器112确定对象106的第一运动包络142。第一运动包络142包括或对应于对象106的位置的运动包络,所述位置可由对象106实现(例如,物理上可实现的)。分析地(例如,虚拟地)确定第一运动包络142,诸如通过使用运动学约束和CAD模型140。CAD模型140包括或对应于对象106及其部件(例如,致动器172和组件
174)的工程模型。在一些实现中,CAD模型140包括或对应于对象106及其部件(例如,致动器
172和组件174)的简化模型。CAD模型140可以由CAD应用程序134生成或者由计算机102接收。可以将CAD模型140转换为与运动学仿真器132兼容。第一运动包络142不是通过物理上移动对象106而生成的(即,对象106的物理实例)。为了进行说明,由运动学仿真器132根据运动学约束来操纵CAD模型140,以确定是否可由CAD模型140实现所述位置。在一些实现中,处理器112采用二分搜索算法确定第一运动包络142。参考图7,进一步描述了第一运动包络
142的所述确定。
[0033] 计算机102的处理器112确定对象106的第二运动包络144。第二运动包络144包括或对应于对象106的运动范围,所述运动范围受到对象106的动态运动限制、动态运动范围或动态运动包络的约束。在一些实现中,动态运动限制包括或对应于操作限制或设计限制(例如,设计要求)。例如,对象106的动态运动限制对应于VRDM限制,并且被包括计算机102接收的VRDM限制表中。在这样的实现中,处理器112基于VRDM限制表生成对象106的第二运动包络144。第二运动包络144是分析地(例如,虚拟地)确定的,诸如通过使用动态约束和CAD模型140。例如,CAD模型140由运动学仿真器132根据动态约束(例如,动态运动限制)操纵,以确定CAD模型140是否可以实现所述位置。参考图4进一步描述第二运动包络144的所述确定。
[0034] 计算机102的处理器112基于第一运动包络142和第二运动包络144的交叉确定对象106的操作包络146。例如,操作包络146包括由第一运动包络142和第二运动包络144的表面边界的交叉形成(例如,包含在其内)的所有点。操作包络146指示在对象106的操作期间对象106的运动范围。操作包络146是分析地(例如,虚拟地)确定的,诸如通过使用运动学约束、动态约束和CAD模型140。例如,CAD模型140由运动学仿真器132根据运动学和动态约束(例如,动态运动限制)操纵,以确定CAD模型140是否可以实现所述位置。参考图7进一步描述操作包络146的所述确定。在一些实现中,处理器112基于操作包络146确定运动云。运动云是对象106的操作包络146的视觉表示。为了进行说明,处理器112使用运动学仿真器132基于操作包络146和/或CAD模型140生成运动云。
[0035] 计算机102的处理器112基于操作包络146和/或运动云生成对象106的虚拟模型150。例如,处理器112基于操作包络146或运动云生成对象106的点云148。点云148可以包括致动器172和组件174中的每个的点云148,诸如图3的点云314、316。虚拟模型150与CAD模型
140的不同之处在于虚拟模型150由网格组成。网格可以包括一组顶点、边、面、多边形和/或表面,或者由所述一组顶点、边、面、多边形和/或表面定义,并且网格在3D计算机图形和实体建模中定义或者表示组件或对象的形状。网格的面可以包括三角形、四边形、凸多边形、凹多边形或具有孔的多边形。此外,CAD模型140通常是参数化定义的并且在某些静态配置中表示对象106的部件。可以操纵虚拟模型150以在运动云内移动,所述运动云表示对象106在操作期间可以占用的空间。虚拟模型150是非参数定义的并且包括许多表面,所述表面表示最小内表面和最大外表面。虚拟模型150是从CAD模型140导出的简化的曲面细分对象模型(即,非参数模型)。基于点云(例如,点云314、316)生成虚拟模型150,如参考图3和图4进一步描述的。
[0036] 操作包络146和对象106的虚拟模型150使得能够虚拟地和/或物理地对所述对象执行运动范围测试。基于操作包络146确定关注点152。例如,用户或计算机102可基于对象106的自由度或对应于对象106的自由度来生成关注点152。为了进行说明,对象106的一个或多个致动器172具有相应的自由度。用户或计算机102可以通过指定操作包络146内对象
106的位置识别操作包络146内的一个或多个关注点152,所述关注点对应于一个或多个致动器172的限制,其中致动器172作为一个或多个关注点152处于或靠近特定限制。
[0037] 计算机102的处理器112基于关注点152为对象106生成一个或多个移动路径154。例如,处理器112生成一个或多个移动路径154,以从初始位置(例如,原点或默认位置)到达特定关注点152。作为说明性的非限制性示例,对于图5中所示的对接系统502,初始位置对应于准备捕获位置。
[0038] 计算机102的处理器112确定从初始位置到关注点152的一个或多个移动路径154是否无碰撞。例如,计算机102的处理器112使用运动学仿真器132来操纵虚拟模型150沿着一个或多个移动路径154从初始位置到达关注点152。
[0039] 计算机102的处理器112输出确定到达关注点152的一个或多个移动路径154是否无碰撞的结果。例如,处理器112生成用于在显示器116上进行显示的视觉通知,或者生成指示关注点152和/或移动路径154没有碰撞的文件。为了进行说明,在沿着一个或多个移动路径154的每个位置处,处理器112确定虚拟模型150的表面不违反碰撞阈值(例如,表面之间的最小距离)。基于确定在沿着一个或多个移动路径154的每个位置处虚拟模型150的表面不违反碰撞阈值,处理器112输出视觉通知。处理器112可以基于参考图7的步骤710描述的碰撞检测过程来确定是否检测到碰撞。
[0040] 此外或可选地,处理器112基于虚拟模型150生成命令162,所述命令通过操作包络146指示对象106的无碰撞移动路径。处理器112经由网络接口118和网络将命令162发送到控制器104的网络接口118A。控制器104(例如,其处理器112A)基于命令162生成信号164,并经由网络接口118A和网络将信号164发送到对象106。可选地,计算机102的处理器112基于命令162生成信号164,并经由网络接口118将信号164发送到对象106。
[0041] 在一些实现中,计算机102进一步包括计算机辅助设计(CAD)应用程序134、计算机辅助工程(CAE)应用程序136、产品生命周期管理(PLM)应用程序138或其组合。在特定实现中,应用程序134-138中的一个或多个可用于生成第二运动包络144。此外,与应用程序134-138中的一个或多个关联并且对应于对象106的数据可以被集成或导入运动学仿真器132中。例如,CAD应用程序134的模型数据以及对应于对象106的模型数据可用于生成虚拟模型
150。为了进行说明,CAD应用程序134的CAD文件和数据被转换成与运动学仿真器132(即CAD模型140)兼容的文件和数据。在一些实现中,虚拟模型150是对象106的简化版本或者对应于对象106的简化版本。例如,虚拟模型150可以省略不会引起碰撞的一个或多个组件174(例如,相对于对象106或其一部分不会移动的组件174)或灵活组件174。此外或可选地,虚拟模型150可以通过用更简单的形状和表面替换一个或多个组件174的复杂形状和表面来改变或近似一个或多个组件174。为了进行说明,可以省略诸如压痕或凹陷的表面细节,并且可以使用光滑的表面。作为另一个示例,具有复合曲线的表面可以用具有非复合曲线的直表面或表面代替。虚拟模型150使运动学仿真器132能够执行碰撞检测。运动学仿真器132可无法与CAD模型140执行碰撞检测(例如,将CAD模型140操纵到各种位置),以及/或者CAD模型140太复杂以至于操纵CAD模型140来测试移动路径154将是不切实际的。
[0042] 图2是由图1的系统100执行的分析和测试多个自由度对象的方法的示例的流程图200。由流程图200表示的方法可以由图1的系统100执行,诸如处理器112。
[0043] 在202处,系统100确定运动学包络,诸如图1的第一运动包络142。在特定实现中,运动学包络包括通过参数化对象106的多个参数确定的潜在对象106位置(例如,其组件174的潜在位置)。作为说明性的非限制性示例,当对象106对应于图5的对接系统502时,多个参数包括侧倾角、摆动角、摆动方向、间隙、径向或其组合。运动学包络包括基于参数在物理上可能的对象106的最大范围或位置。
[0044] 在204处,系统100确定VRDM包络,诸如图1的第二运动包络144。例如,计算机102接收VRDM包络,或者计算机102基于接收的VRDM限制表生成VRDM包络。在一些实现中,VRDM限制表指示设计规范值,诸如终端用户认为可接受的运动限制。VRDM限制表指示对象106的一个或多个参数的最大值和最小值。例如,VRDM限制表指示摆动角、侧倾角、径向偏差角度、间隔距离或其组合的最大值和最小值。在特定实现中,VRDM限制表对应于设计规范要求。例如,VRDM限制表的参数的最大值和最小值对应于实现特定设计规范要求的值。
[0045] 在206处,系统100确定图1的操作包络146。操作包络146包括通过参数化一个或多个参数(诸如侧倾、摆动、摆动方向、间隙、径向或其组合)确定的对象106的位置,并且基于不违反VRDM表限制的那些参数找到物理上可能的对象106的最大范围或位置。可以通过将对象106的CAD模型140(例如,其特定组件174)沿着一个或多个参数确定的向量放置在各个位置,并且测试所述位置是否存在碰撞或约束条件违背来确定操作包络146。
[0046] 二分搜索方法可用于确定操作包络146的边界。例如,二分搜索方法迭代地检查已知有效位置(即,不导致碰撞或约束条件违背的位置)与已知无效位置(即,导致碰撞或约束条件违背的位置)之间的位置,以确定有效位置(例如,最后有效位置),所述有效位置不会导致碰撞或约束条件违背,并且在距无效位置(例如,最后无效位置)的阈值距离(例如,公差)内,所述无效位置导致碰撞、约束条件违背或两者。每次迭代针对碰撞或约束条件违背检查最后有效位置和最后无效位置之间的位置(例如,中途位置)。如果检查的位置有效,则检查的位置成为最后有效位置。可选地,如果检查的位置无效,则检查的位置成为最后无效位置。
[0047] 为了进行说明,二分搜索方法初始化具有已知有效位置的最后有效位置,诸如起始或对接位置,以及具有已知无效位置的最后无效位置,诸如初始无效位置。在最后有效位置(例如,起始位置)和最后无效位置(例如,初始无效位置)之间的中间选择第一位置。测试第一个位置以确定是否存在任何碰撞或约束条件违背。如果没有碰撞或约束条件违背,则将第一位置分类为有效位置并将其设置为新的或更新的“最后有效位置”,并且将对象106定位(例如,重新定位)在更新的最后有效位置(即第一位置)和最后无效位置(即初始无效位置)之间的中间位置。可选地,如果在第一位置处发生碰撞或者违反了约束,则将第一位置分类为无效位置并将其设置为新的或更新的“最后无效位置”,并且将对象106定位(例如,重新定位)在最后有效位置(即开始位置)和更新的最后无效位置(即第一位置)之间的中间位置。重复或迭代该过程,直到最近的有效点和无效点之间的距离小于阈值距离。
[0048] 在208处,系统100识别操作包络146中的关注点152。例如,计算机102的处理器112确定操作包络146的边界附近的至少一个关注点152。为了进行说明,处理器112确定对象106的特定致动器172的操作包络(例如,图9的关节包络954)的边界附近的特定关注点152。
关注点152可以在操作包络146和/或关节包络954内,在操作包络146和/或关节包络954的边界上,或者在操作包络146和/或接头包络954的外部。在特定实现中,关注点152与对象
106的特定致动器172的参数(例如,行程长度、力或关节角度)相关。例如,关注点152对应于致动器172的关节角度包络边界附近的点,如图9所示。
[0049] 可选地,用户向系统100指定或识别的一个或多个关注点152。在一些实现中,用户或系统100识别操作包络146内的多个潜在关注点(例如,关注区域)。在此类实现中,用户或系统100基于特定的潜在关注点152的位置,选择多个潜在关注点中特定的潜在关注点152作为关注点152,所述特定的潜在关注点152与潜在关注点的多个潜在关注点的位置重叠。为了进行说明,对象106的虚拟模型150的位置进一步满足潜在关注点的多个潜在关注点的第二条件,所述位置满足特定的潜在关注点152的第一条件。在特定实现中,对象106的虚拟模型150的位置是相对于对象106的特定组件定义的。例如,虚拟模型150的位置对应于对象
106的特定组件的位置。
[0050] 在210处,系统100确定满足关注点152(例如,满足其条件)的对象106的一个或多个位置。当关注点152对应于特定致动器172的关节包络的关注点152并且表示特定致动器172的关节角度时,对象106可以实现多个位置,而特定致动器172固定在关注点152的关节角度处,即,位置的关节角度满足关注点152的关节角度条件。可选地,当关注点152对应于对象106的特定位置时,对象106的特定组件174(例如,图5的对接环514)可以实现特定位置,并且当特定组件174的中心位置或边缘位置处于特定位置时满足关注点152。致动器172的多个唯一的位置组合可以导致特定组件174的中心位置或边缘位置满足关注点152。
[0051] 对于满足关注点152的对象106的一个或多个位置中的每个,处理器112使用运动学仿真器132和虚拟模型150确定对象106的致动器172和组件174的位置和边界。为了进行说明,处理器112基于满足关注点152的对象106的特定组件174(例如,对接环514)的一个或多个位置,采用反向运动学确定对象106的致动器172和其他组件174的位置和边界。可选地,处理器112基于满足关注点152的对象106的致动器172和其他组件174的位置和边界,采用前向运动学确定对象106的特定组件174(例如,对接环514)的一个或多个位置。
[0052] 在212处,系统100生成到达关注点152的一个或多个移动路径154。例如,计算机102的处理器112确定一个或多个原点(例如,起始位置)并确定从一个或多个原点的每个原点到对象106的一个或多个位置的移动路径154,所述位置满足关注点152。一个或多个移动路径154每个包括从对应原点到关注点152的多个位置。一个或多个原点可以由计算机选择(例如,随机地或伪随机地)或者可以由用户输入。在特定实现中,一个或多个原点对应于默认位置和/或操作位置。为了进行说明,在对接系统示例中,一个或多个原点可以包括收起位置、准备捕获位置或两者。
[0053] 在214处,系统100分析地确定一个或多个移动路径154是否无碰撞。例如,计算机102的处理器112确定从初始位置(例如,一个或多个原点)到达关注点152的一个或多个移动路径154是否无碰撞。为了进行说明,处理器112沿着一个或多个移动路径154操纵和移动运动学仿真器132中的虚拟模型150。在沿着一个或多个移动路径154的每个点处,处理器
112检查碰撞。例如,处理器112计算对象106的表面之间的距离,或者对象106的表面与另一个对象的表面之间的距离,并将所述距离与阈值距离进行比较。
[0054] 在216处,系统100确定一个或多个移动路径154是否无碰撞。例如,处理器112沿着一个或多个移动路径154操纵虚拟模型150,并使用运动学仿真器132执行一个或多个操作,以确定沿着一个或多个移动路径154的每个点是否无碰撞。为了进行说明,处理器112执行粗略的碰撞检测操作、精细的碰撞检测操作或两者。在一些实现中,处理器112在执行精细的碰撞检测操作之前执行粗略的碰撞检测操作。可以基于对象106的约束执行粗略的碰撞检测操作,诸如运动学约束和/或操作约束。例如,将对象106的虚拟模型与约束(例如,条件或值)进行比较,以查看虚拟模型的值是否违反约束,如参考图7的步骤710进一步描述的。可以基于对象106的虚拟模型150的表面之间的距离来执行精细的碰撞检测操作,诸如运动学约束和/或操作约束,如参考图7的步骤710进一步描述的。
[0055] 在218处,处理器112响应于确定一个或多个移动路径154是否无碰撞而输出结果。在一些实现中,处理器112生成指示哪些路径是无碰撞的数据。为了进行说明,处理器112向显示器(例如,图1的显示器116)输出视觉通知,或者生成指示哪些路径无碰撞和/或哪些路径导致碰撞的文件。此外或可选地,处理器112基于确定一个或多个移动路径154是否无碰撞而生成图1的命令162和/或信号164。在特定实现中,处理器112基于文件生成命令162和/或信号164。
[0056] 图3是创建虚拟模型的示例的流程图300,诸如图1的虚拟模型150。由流程图300表示的方法可以由图1的系统100执行,诸如处理器112。在图3中,基于运动云312生成虚拟模型150,所述运动云312是基于图1的操作包络146以及来自CAD应用程序134的CAD数据生成的。虚拟模型150包括多个部件网格,例如,构成对象106的致动器172和组件174的网格。
[0057] 在302处,基于操作包络146生成运动云312。例如,运动学仿真器132生成对象106的操作包络146的视觉表示,如图6所示。在生成运动云312之后,基于运动云312的最大点和最小点生成多个组件轮廓(例如,点云314、316),如参考图4和图5进一步描述的。可选地,操作包络146可用于独立于运动云312生成多个组件轮廓(例如,点云314、316)。
[0058] 在图3中,处理器112在304处生成对象106的特定组件174(例如,图5的对接环514)的环形轮廓,并且在308处生成对象106的一个或多个致动器172的致动器轮廓。
[0059] 在生成对象106的组件174的轮廓(例如,点云314、316)之后,基于轮廓生成轮廓的网格。在图3所示的示例中,处理器112在306处生成对象106的环形网格,并在310处生成对象106的致动器网格。例如,处理器112将特定致动器172或组件174的CAD模型140的参数表面转换成虚拟模型150的特定致动器172或组件174的网格的多边形表面。为了进行说明,处理器112曲边细分多边形形状(诸如三角形),以覆盖参数表面。在一些实现中,组件轮廓(例如,点云314、316)被转换成可运动学仿真器132可读取的网格。作为说明性的非限制性示例,网格可以被表示为.STL文件或.FBX文件。
[0060] 在特定实现中,可以再现或复制一个或多个轮廓或者网格,以完成对象106的虚拟模型150。例如,由于对象106包括多个致动器172,可以再现特定致动器172的致动器轮廓或致动器网格,以生成致动器轮廓或其他致动器172的致动器网格。作为非限制性说明,对象106包括六个致动器和两个致动器类型(例如,第一类型和第二类型)。生成两个致动器轮廓,一个对应于每个致动器类型,并且从两个致动器轮廓生成两个致动器网格。可以再现两个致动器网格,一个对应于每个致动器类型,以生成虚拟模型150的六个致动器网格。
[0061] 图4是生成部件轮廓(例如,点云314、316)的方法的示例的流程图400。由流程图400表示的方法可以由图1的系统100执行,诸如处理器112。在图4中,基于运动云312(所述运动云是基于图1的操作包络146和CAD模型140生成的)生成部件轮廓(例如,图3中在304和
308处生成的环形轮廓或致动器轮廓)。
[0062] 部件轮廓(例如,点云314、316)对应于对象106的一部分到达的物理空间的边界的表面。在特定实现中,使用球面坐标(例如,方位角和仰角)执行所述过程。例如,3D空间被划分为0.5°×0.5°的分区,并且跟踪虚拟模型150的点以找到到离原点最近和最远的点(即,最小和最大距离)。
[0063] 处理器112在操作包络146内限定多个原点。如图4所示,多个原点包括第一原点和第N原点(例如,第二原点、第三原点等)。多个原点的每个原点与从原点发出并延伸到操作包络146的边界的多个射线关联。在一些实现中,多个原点彼此均匀地间隔开。在特定示例中,多个原点的每个原点与球体周围的相邻原点等距地间隔开。使用更多原点减少点云中的间隔。
[0064] 处理器112确定与操作包络146或运动云的边界交叉的每个原点的每条射线的最小点和最大点(最小顶点和最大顶点)。例如,处理器112在404处针对对应于第一原点的第一多条射线的每条射线确定最小点和最大点,所述最小点和最大点与运动云的边界交叉,并且处理器112在408处针对对应于第N原点的第二多条射线的每条射线确定最小点和最大点,所述最小点和最大点与运动云的边界交叉。当射线从原点发出并终止于运动云的边界时,每条射线的最大和最小点对应于操作包络146的边界上的两个点(即顶点),其中射线与运动云的边界交叉,如图5所示。最大点和最小点与最小内部点和最大外部点关联,对象106或对象106的特定部件可以在每条射线之间行进。
[0065] 为了进行说明,对于操作包络146的边界上的每个点(例如,二分搜索算法找到的最后有效位置),处理器112变换虚拟模型150的网格表面的多边形的所有顶点的集合,以匹配最后有效位置的位置和方向,计算所有顶点集合的每个顶点的坐标(例如,方位角和仰角)(例如,形成网格表面的三角形的每个角落),计算从每个顶点到原点的距离,比较每个顶点的距离以确定哪个顶点具有最小距离以及哪个顶点具有最大距离,并且基于具有最小距离的顶点以及具有最大距离的顶点生成每条射线的最小顶点和最大顶点。
[0066] 所述最小和最大顶点的集合对应于原点的组件的包络的表面轮廓(即,内表面和外表面)。例如,处理器112在406处基于第一多条射线的每条射线的最小点和最大点生成第一表面轮廓,并且在410处基于第二多条射线的每条射线的最小点和最大点生成第二表面轮廓。
[0067] 处理器112组合来自每个原点的最小顶点和最大顶点,以生成部件轮廓(例如,点云314、316)。例如,处理器112在412处组合第一表面轮廓和第二表面轮廓,以生成特定组件(例如,点云314、316)的特定组合轮廓。在一些实现中,对原点的最小顶点和最大顶点进行下采样以减少组合轮廓中点的数量,同时保留整体形状以及使组合轮廓中的点(例如,点云314,、316)更均匀地间隔。作为说明性的非限制性示例,使用泊松盘采样对最小顶点和最大顶点进行下采样
[0068] 处理器112也可以对其他包络重复该过程(402-412),诸如第一运动包络142、第二运动包络144或两者。
[0069] 图5A和图5B是每个示出图1的对象106的示例的侧视图的图示。在图5A和图5B中,对象106是包括底座512和对接环514的对接系统502。
[0070] 参考图5A,示出了处于收起位置的对接系统502的侧视图。在收起位置,对接环514定位在底座512内。对接系统502进一步包括耦合到底座512和对接环514的致动器172。在图5A和图5B所示的对接系统502中,致动器172是线性致动器。每个致动器172包括相应的致动器杆522,诸如滚珠螺杆。在图5A中,致动器杆522处于缩回位置并且在底座512下方延伸。每个致动器172与底座512形成下部关节,并且与对接环514形成上部关节。每个致动器172可以在每个关节处独立地移动(例如,旋转)。例如,致动器172可以在两个方向上旋转(例如,在两个平面内),并且可以根据两个关节角度(例如,伽和德尔塔)来描述。
[0071] 参考图5B,示出了对接系统502的延伸位置,其中对接环514位于底座512的外部(例如,在其上方和右侧)。在图5B中,致动器172的致动器杆522处于延伸位置并且使对接环514相对于底座512向上和向右移动。
[0072] 图6示出对接系统502(即,对象106)的运动云312的示例的侧视图600。运动云312是对象106的操作包络146的视觉表示,其在图6所示的示例中是对接系统502。尽管图6中示出了运动云312的二维表示,但运动云312是操作包络146的三维表示。图6中示出了中心点612(例如,默认位置或收起位置)。中心点612位于对接系统502的底座512的中心。
[0073] 在图6中,示出了示例性原点622、624、626。第一原点622和第二原点624被示出为在操作包络146和运动云312的外部。在操作包络146和运动云312内示出了第三原点626。尽管图6中示出了三个原点622-626,但是可以使用额外的原点或更少的原点。
[0074] 图6还描绘了分别从第一原点622和第二原点624发出的射线632、634。虽然射线632、634将无限延伸或延伸到运动学仿真器132的虚拟空间的边界,如图6所示,但是为了清楚起见,射线632、634终止于运动云312的边界。在图6中,第一射线632在第一方向上从第一原点622发出并且延伸到运动云312的边界,并且第二射线634在第二方向上从第二原点624发出并且延伸到边界运动云312的边界。在图6中,点642、644示出了第二射线634以及运动云312的边界的交叉。第一点642对应于第二射线634的最小顶点,并且第二点644对应于第二射线634的最大顶点。为了说明,第二点644比第一点642更加远离第二原点624。尽管在图
6中示出了两条射线632、634,将使用附加射线来生成图3中的轮廓。对于第三原点626和操作包络146内的其他原点,可以使用线段或射线对(即,射线和相应的相对射线)来代替射线。对于射线对,射线对的每条射线将具有与运动包络的边界交叉的单个点,即最大顶点,而不是与边界交叉的两个点。因此,射线对的最大顶点对应于射线的最大顶点和最小顶点。
[0075] 关于运动云312,图6中还示出了示例性关注点152和相应移动路径154。在图6中,关注点152对应于运动云312内的点,所述点位于运动云312的边界处或附近。移动路径154包括沿着从对接环514的特定外部点652的路径的一组位置。特定外部点652对应于对接环514的顶部外表面的一部分或点,并且移动路径154示出当对接环514从默认位置或收起位置移动到最大操作位置时特定外部点652的路径,其中特定外部点652位于运动云312的边界处或附近。尽管移动路径154在图6中示出为直线,但是在其他实现中,由于内部碰撞、致动器172的参数或其控制系统的参数,移动路径154可以不是直线。
[0076] 图7是确定第一运动包络或操作包络的方法的示例的流程图700,诸如第一运动包络142或操作包络146。由流程图700表示的方法可以由图1的系统100执行,诸如处理器112。在图7中,确定第一运动包络142或操作包络146之间的区别在于使用约束和参数。当确定操作包络146时,可使用第一运动包络142代替运动学约束。
[0077] 流程图700包括在702处将对象106的CAD模型的最后有效位置设置为原始位置(例如,中心点612),并且将最后无效位置设置为CAD模型的已知无效位置。可以使用CAD模型140相对于对象106的特定组件确定位置。例如,所述位置对应于对接系统502的对接环514的位置,诸如对接环514的中心点。已知的无效位置可以对应于对象106的位置,所述位置超过了致动器172针对所有参数的能力。为了进行说明,已知位置对应于对接环514的位置(例如,对接环514的中心的位置),所述位置相比致动器172可以使致动器杆522延伸的程度更加远离中心点612。
[0078] 流程图700包括在704处在距原始位置的间隙距离处设置对象106的CAD模型(例如,其组件)。间隙距离是非零值,并且距原始位置的间隙距离导致对象106的所有径向偏差为零的位置。在一些实现中,距离原始位置的间隙距离对应于对接环514的间隙位置,所述间隙位置是沿着对象106的圆柱轴线距离收起位置的非零距离。例如,处理器112操纵对象106的CAD模型140,以将对接环514定位在距中心点612的间隙距离处,而对接环514没有任何径向偏差。
[0079] 流程图700包括在706处基于一个或多个参数定向对象106的CAD模型。一个或多个参数对应于对象106的自由度,即对应于对象106的移动可能性。对于对接系统502,一个或多个参数包括摆动角、摆动方向、侧倾角、间隙距离、径向偏差、径向偏差方向或其组合。为了进行说明,处理器112操纵对象106的CAD模型140,以基于一个或多个参数将对接环514定向在其当前位置。例如,处理器112操纵对接环514以使对接环514倾斜,以相对于中心点612增大摆动角而不改变对接环514的中心的位置。
[0080] 流程图700包括在708处将对象106的CAD模型的当前位置设置为最后有效位置和最后无效位置之间的中间位置。例如,处理器112操纵对象106的CAD模型140以移动对接环514,从而设置对接环514的位置,使得对接环514的中心位于间隙距离(或间隙点)和已知无效点之间的中间位置。
[0081] 流程图700包括在710处基于当前位置以及第一运动包络、第二运动包络或两者的一个或多个约束来确定对象106的CAD模型是否经历碰撞。碰撞包括对象的组件之间的内部碰撞以及对象与另一个对象之间的外部碰撞。一个或多个约束包括运动学约束(例如,机构硬件限制)和操作约束(例如,从对象106的运动设计要求分析地导出)。作为说明性的非限制性示例,对接系统502的机构硬件限制包括致动器172限制,诸如行程长度和关节角度。作为说明性的非限制性示例,对接系统502的操作约束包括操作摆动角和侧倾角限制。
[0082] 在一些实现中,处理器112利用运动学约束来生成第一运动包络142,并使用运动学约束和动态约束生成操作包络146。为了进行说明,处理器112使用运动学仿真器132确定对应于当前位置的运动学约束、操作约束或两者的属性值,并将属性值与运动学约束、操作约束或两者进行比较,以确定属性值是否违反(例如,大于、小于等)运动学约束或操作约束。
[0083] 此外或可选地,处理器112使用运动学仿真器132确定对象106的CAD模型140的两个表面之间的距离是否小于碰撞阈值距离以及/或者对象106的CAD模型140的表面与CAD模型140的另一个对象的另一个表面之间的距离是否小于碰撞阈值距离。当使用简化的CAD模型140生成虚拟模型150时,碰撞阈值距离可以表示间隙公差和/或缓冲区。碰撞阈值距离可以具有零或更大的值。在一些实现中,处理器112采用分离轴测试来检查碰撞。例如,检查虚拟模型150的表面的多边形形状(例如,三角形)彼此的碰撞。分离轴测试确定是否能够在两个多边形形状之间的3D空间中生成平面而不与任何多边形形状交叉。如果能够生成不与任一多边形形状交叉的平面(即,平面将多边形形状分离),则多边形形状不交叉(即,碰撞)。
[0084] 在一些实现中,在执行粗略的碰撞检测(使用约束)或精细的碰撞检测(使用表面)之前,虚拟模型150所占用的虚拟空间被转换成称为碰撞器的矩形棱柱或立方体的栅格。可以基于对象106的部件的尺寸以及虚拟模型150的表面的三角形的密度来确定碰撞器的尺寸。处理器112确定每个碰撞器中有哪些表面的三角形。可以从碰撞检测过程中省略不具有任何三角形的碰撞器。
[0085] 此外,对象106的部件(例如,致动器172和组件174)可以被分类为类别以简化碰撞检测。例如,部件可以被分类为静态部件(即,相对于特定部件不移动的部件,诸如底座512)和动态部件(即,相对于特定部件移动的部件,诸如对接环514)。动态部件可被进一步分类为自碰撞部件和非自碰撞部件(例如,致动器172和致动器杆522)。系统100可以避免检查非自碰撞部件之间的碰撞,或者系统可以避免标记由非自碰撞部件引起的碰撞。非自碰撞部件包括联接在一起或意图彼此接触的部件,诸如致动器172和相应的致动器杆522。此外,致动器杆522和底座512将被确定为不断地“碰撞”,并且因此,致动器杆522和底座512可被分类为非自碰撞,使得那些碰撞不被认为是限制碰撞。
[0086] 响应于确定对象106没有经历碰撞,流程图700包括在712处将当前位置设置为最后有效位置。例如,处理器112将最后有效位置的值调整为当前位置。可选地,响应于确定对象经历碰撞,流程图700包括在714处将当前位置设置为最后无效位置。例如,处理器112将最后无效位置的值调整为当前位置。
[0087] 流程图700包括在716处确定最后有效位置和最后无效位置之间的距离是否小于或等于阈值距离。例如,处理器112确定对接环514的最后有效位置和对接环514的最后无效位置是否小于或等于阈值距离。阈值距离包括或对应于第一运动包络142或操作包络146的准确度或公差。
[0088] 流程图700包括响应于确定最后有效位置和最后无效位置之间的距离小于或等于阈值距离,在718处将最后有效位置输出到操作包络。例如,处理器112将最后有效位置添加到第一运动包络142或操作包络146。
[0089] 可选地,响应于确定最后有效位置和最后无效位置之间的距离大于或等于阈值距离,过程返回到步骤708。该过程对应于一种二分搜索算法,其中如果未满足阈值距离,则该过程包括循环(步骤708-716),所述循环使用更新的最后有效位置或更新的最后无效位置重新检查碰撞,直到最后有效位置与最后无效位置之间的距离小于或者等于阈值距离。因此,阈值距离进一步包括或对应于二分搜索算法的准确度或公差。
[0090] 图8是确定对象(诸如图1的对象106)的第二运动包络144的方法的示例的流程图800。由流程图800表示的方法可以由图1的系统100执行,诸如处理器112。在图8中,参考图
5A和图5B的对象106(即,对接系统502)描述流程图800。
[0091] 流程图800包括基于一个或多个参数定向802对象106的CAD模型。例如,对象106(或其组件174)虚拟地定向在一个或多个参数的各种参数值处。为了进行说明,处理器112使用运动学仿真器132,以摆动角、多个摆动方向和侧倾角的各种组合来定向对接系统502的对接环514的CAD模型140,从而以定向角度定向对接环514的CAD模型140。处理器112可以基于VRDM限制表确定最大和最小摆动角及侧倾角。例如,通过基于VRDM表限制参数化摆动角和侧倾角来生成潜在的定向角度(以及沿着定向角度的位置)。然而,沿着定向角度的位置可以或可不会导致碰撞或物理上是可能的。如上所述,这就是基于第一运动包络142和第二运动包络144的交叉生成操作包络146的原因。
[0092] 流程图800包括将对象106的CAD模型放置804在沿着定向角度的位置处。例如,对象106(或其组件174)沿着一个或多个参数的组合产生的每个定向角度虚拟地放置或定位在一个或多个径向偏差值处。为了进行说明,处理器112使用运动学仿真器132,沿着摆动角和侧倾角的各种组合限定的定向角度,将对接系统502的对接环514的CAD模型140定位在对应于最大径向偏差和/或间隙值以及最小径向偏差和/或间隙值的位置(例如,最大位置和最小位置)处。处理器112可以基于VRDM限制表确定最大和最小径向偏差值和/或间隙值。
[0093] 流程图800包括基于最大径向偏差值和最小径向偏差值输出806最大位置和最小位置。例如,处理器112基于将对象106的最大位置和最小位置添加到对应于第二运动包络144的文件来生成第二运动包络144,其中通过根据最大和最小径向偏差值和/或间隙值沿着每个定向角度放置对象106的CAD模型140来确定所述最大位置和最小位置。
[0094] 图9是示出图5的对接系统502的致动器172的关注点和致动器包络的图示900。如参考图5所说明的,致动器172是线性致动器,并且每个致动器包括下关节角度和上关节角度。图9中描绘了致动器172的下关节角度的操作包络的图示,即关节包络954。每个图示相对于关于伽马和德尔塔的下关节角度示出致动器172的关节包络954。此外,每个图示示出了关注区域952(例如,多个关注点152)。关注区域952靠近关节包络954的边界定位。图9中示出的关注区域952彼此重叠,即,第一致动器172的关注区域952与第二至第六致动器172的关注区域952中的一个或多个(至少部分地)重叠。在其他实现中,可以选择更多个关注区域952。此外或可选地,可以选择其他关注区域952,诸如非重叠的关注区域952或远离关节包络954的边界的关注区域952。
[0095] 在一些实现中,在关注区域952内选择测试点。对于每个关注区域952,可以存在满足关注区域952的对象106的数千个位置,即,对象106的许多位置,其中特定致动器172的关节角度满足特定关注区域952的关节角度(即关节角度条件)。为了进行说明,可以选择特定区域(例如,重要区域或关键区域)附近的测试点。例如,可以选择边界或最大延伸附近的区域。作为说明性的非限制性示例,当对象106是对接系统502时,可以通过使用对接环514的操作位置(例如,其中对接环514从底座512延伸的准备捕获位置)和阈值来过滤满足关注区域952(例如,满足其条件)的对接环514的位置。为了进行说明,可以选择对接环514的所有位置作为测试点,所述位置在第一致动器172具有[X1,X2]之间的较小α角以及[Y1,Y2]之间的较小γ角时可实现并且处于距对接环514的准备捕获位置阈值距离之内。还可以测试关注区域952之外的附加测试点。
[0096] 图10示出生成虚拟模型的方法1000的特定示例,诸如图1的虚拟模型150。方法1000可以由系统100、计算机102、处理器112或其组合来执行。方法1000包括在1002处确定对象的第一运动包络。第一运动包络对应于对象可实现的对象位置的运动包络。例如,第一运动包络可包括或对应于图1的第一运动包络142。对象可以包括或对应于图1的对象106,并具有多个自由度。在特定实现中,对象106具有三以上的自由度。为了进行说明,计算机
102的处理器112确定对象106的第一运动包络142,如参考图1和图7所描述的。作为说明性示例,处理器112操纵CAD模型140以基于对象106的一个或多个参数定位CAD模型140,并且处理器112检查CAD模型140的位置是否违反对象106的运动学约束。
[0097] 方法1000还包括在1004处基于对象106的第一运动包络与第二运动包络的交叉来确定对象的操作包络。第二运动包络对应于对象的动态运动限制所约束的对象的运动范围,并且操作包络指示在对象的操作期间对象的运动范围。例如,第二运动包络可包括或对应于图1的第二运动包络144,并且操作包络可包括或对应于图1的操作包络146。为了进行说明,计算机102的处理器112基于第一运动包络142和第二运动包络144的交叉确定对象106的操作包络146,如参考图1和图8所描述的。作为说明性示例,处理器112基于参数化对象106的一个或多个参数来操纵CAD模型140以定向CAD模型140,并基于对象106的最大和最小动态约束(例如,径向偏差)来放置CAD模型140的位置。
[0098] 方法1000进一步包括在1006处基于操作包络生成对象的虚拟模型,所述虚拟模型用于虚拟地建模对象的操作。例如,虚拟模型可以包括或对应于图1的虚拟模型150。为了进行说明,计算机102的处理器112基于操作包络146生成对象106的虚拟模型150,如参考图1、图3和图4所描述的。作为说明性示例,处理器112操纵CAD模型140以基于对象106的一个或多个参数定位CAD模型140,并检查(例如,验证)CAD模型140的位置未违反第一运动包络142和第二运动包络144。
[0099] 在一些实现中,第一运动包络142包括通过参数化摆动、侧倾、摆动方向、间隙、径向偏差、径向偏差方向或其组合而限定的潜在对接环514位置,其满足运动学约束。对于对接环514的每个潜在位置,确定用于限定每个潜在位置以及相应的致动器行程长度和关节角度的参数。
[0100] 在一些实现中,第二运动包络144包括基于VRDM表限制通过参数化摆动角和侧倾角限定的潜在对接环514位置。这些位置可能不考虑碰撞或位置的物理可能性。
[0101] 在一些实现中,操作包络146包括通过参数化摆动、侧倾、摆动方向、间隙、径向偏差、径向偏差方向或其组合而限定的有效对接环514位置,其满足运动学约束和操作约束。对于对接环514的每个有效位置,确定用于限定每个有效位置以及相应的致动器行程长度和关节角度的参数。
[0102] 在一些实现中,方法1000进一步包括参考图1,在图2的流程图200中、在图3的流程图300中、在图4的流程图400中、在图7的流程图700中、在图8的流程图800或其组合中描述的一个或多个操作。作为说明性的非限制性示例,方法1000进一步包括沿着移动路径154操纵虚拟模型150并检查沿着移动路径的每个点处的碰撞,诸如通过粗略的碰撞检测、精细的碰撞检测或两者。
[0103] 图10的方法1000可以由专用集成电路(ASIC)、处理单元(诸如中央处理单元(CPU))、控制器、另一个硬件设备、固件设备、现场可编程阵列(FPGA)设备或其任何组合启动或控制。作为示例,图10的方法1000可以由一个或多个处理器(诸如控制系统中包括的一个或多个处理器)启动或控制。在一些实现中,图10的方法1000的一部分可以与图10的方法1000的第二部分组合,以及/或者与图2的流程图200中、图3的流程图300中、图4的流程图400中、图7的流程图700中、图8的流程图800或其组合中描述的一个或多个操作组合。此外,参考图10的方法1000描述的一个或多个操作可以是可选的以及/或者可以以与所示出或描述的顺序不同的顺序执行。参考图10的方法1000描述的两个或更多个操作可以至少部分地同时执行。
[0104] 参考图11和图12,在交通工具制造和服务方法1100的上下文中描述了本公开的示例,如图11的流程图以及图12的方框图所示的计算环境1200所示。作为说明性的非限制性示例,一种由图11的交通工具制造和服务方法1100生产的交通工具(诸如包括对接系统502的交通工具)可以包括飞机、飞船、火箭、卫星、潜艇或其他交通工具。交通工具可以是有人驾驶的或无人驾驶的(例如,无人机或无人驾驶飞行器(UAV))。
[0105] 参考图11,示出和指定1100了用于包括虚拟测试的对象的交通工具的制造和服务的方法的说明性示例的流程图。在预生产期间,示例性方法1100包括在1102处交通工具的规范和设计,诸如包括对接系统502的交通工具。在交通工具的规范和设计期间,方法1100可以包括指定多个自由度对象的设计,诸如图1的对象106。此外,交通工具的多个自由度对象的规范和设计可以包括执行图10的方法1000的一个或多个步骤,以及/或者图2的流程图200中、图3的流程图300中、图4的流程图400中、图7的流程图700中、图8的流程图800或其组合中描述的一个或多个操作。在1104处,方法1100包括材料采购。例如,方法1100可以包括为交通工具的对象106采购材料。
[0106] 在生产期间,方法1100包括在1106处的组件和子组件制造,以及在1108处交通工具的系统集成。方法1100可以包括交通工具的组件和子组件制造(例如,制造图1的对象106)以及系统集成(例如,将图1的对象106联接到交通工具的一个或多个组件)。在1110处,方法1100包括交通工具的认证和交付,并且在1112处将交通工具投入使用。认证和交付可以包括通过分析、检查或无损测试认证图1的对象106。例如,认证对象106可以包括执行图
10的方法1000的一个或多个步骤,以及/或者图2的流程图200中、图3的流程图300中、图4的流程图400中、图7的流程图700中、图8的流程图800或其组合中描述的一个或多个操作。在客户服务期间,交通工具可以被安排用于例行维护和服务(其还可以包括修改、重新配置、翻新等)。在1114处,方法1100包括在交通工具上执行维护和服务。方法1100可以包括执行图1的对象106的维护和服务。例如,对象106的维护和服务可以包括替换对象106的致动器
172和/或组件174中的一个或多个。此外或可选地,当致动器172或组件174被替换为新类型的致动器172或组件174以及/或者当添加新组件174时,可以执行图10的方法1000的一个或多个步骤,以及/或者图2的流程图200中、图3的流程图300中、图4的流程图400中、图7的流程图700中、图8的流程图800或其组合中描述的一个或多个操作,以验证或更新对象106的操作包络146。
[0107] 方法1100的过程中的每个可以由系统集成商、第三方和/或运营商(例如,客户)执行或完成。出于本说明书的目的,系统集成商可以包括但不限于任何数量的交通工具制造商和主要系统分包商;第三方可以包括但不限于任何数量的销售商、分包商和供应商;并且运营商可以是航空公司、租赁公司、军事实体、服务机构等。
[0108] 图12是包括通用计算设备1210的计算环境1200的方框图的图示,所述通用计算设备1210被配置为支持根据本公开的计算机实现的方法和计算机可执行程序指令(或代码)的实施例。例如,计算设备1210或其部分可以执行指令以执行系统100的功能或者系统100的一部分(诸如计算机102或控制器104)的功能。控制系统100(或者系统100的一部分,诸如计算机102或控制器104)的指令可以包括执行确定对象的第一运动包络的操作的指令。第一运动包络对应于对象可实现的对象位置的运动包络。控制系统100(或系统100的一部分)的指令还可以包括基于对象的第一运动包络与第二运动包络的交叉来执行确定对象的操作包络的操作的指令。第二运动包络对应于对象的动态运动限制所约束的对象的运动范围,并且操作包络指示在对象的操作期间对象的运动范围。控制系统100(或系统100的一部分)的指令可以进一步包括基于操作包络执行生成对象的虚拟模型的操作的指令。虚拟模型用于虚拟地建模对象的操作。
[0109] 在一些实现中,计算设备1210或其部分可以进一步执行指令,以执行接收VRDM限制表的操作,所述VRDM限制表指示由设计规范指定的动态运动限制并且基于VRDM限制表生成VRDM包络,如参考图2所描述的。此外或可选地,计算设备1210或其部分可以进一步执行指令,以根据本文描述的流程图和/或方法中的任何一个(诸如图2的流程图200、图10的方法1000或其组合)执行操作。
[0110] 计算设备1210可以包括处理器1220。处理器1220可以与系统存储器1230、一个或多个存储设备1240、一个或多个输入/输出接口1250、一个或多个通信接口1260或其组合进行通信。在特定实施例中,处理器1220包括或对应于计算机102的处理器112,或者控制器104的处理器112A。系统存储器1230可包括易失性存储器设备(例如,随机存取存储器(RAM)设备)、非易失性存储器设备(例如,只读存储器(ROM)设备、可编程只读存储器和闪存)或两者。系统存储器1230可以包括操作系统1232,所述操作系统可以包括用于引导计算设备
1210的基本/输入输出系统,以及用于使计算设备1210能够与用户、其他程序和其他设备交互的全操作系统。系统存储器1230可以包括一个或多个应用程序1234,所述一个或多个应用程序可以由处理器1220执行。例如,一个或多个应用程序1234可以包括指令,所述指令可由处理器1220执行以控制系统100生成虚拟模型150、通过移动路径154操纵虚拟模型150、输出命令162、输出信号164或其组合。
[0111] 处理器1220还可以与一个或多个存储设备1240通信,诸如图1和图2的存储器114。例如,一个或多个存储设备1240可以包括非易失性存储设备,诸如磁盘、光盘或闪存设备。
存储设备1240可以包括可移动和不可移动存储设备。存储设备1240可以被配置为存储操作系统、操作系统的图像、应用程序和程序数据。存储设备1240还可以存储操作包络146。在特定实施例中,系统存储器1230、存储设备1240或两者包括有形计算机可读介质。
[0112] 处理器1220可以与一个或多个输入/输出接口1250通信,所述输入/输出接口使得计算设备1210能够与一个或多个输入/输出设备1270(诸如图1的显示器116)通信,以促进用户交互。输入/输出接口1250可以包括串行接口(例如,通用串行总线(USB)接口或电气和电子工程师协会(IEEE)1394接口)、并行接口、显示适配器、音频适配器和其他接口。输入/输出设备1270可以包括键盘、指示设备、显示器、扬声器、麦克触摸屏和其他设备。处理器1220可以基于经由输入/输出接口1250接收的用户输入来检测交互事件。此外,处理器1220可以经由输入/输出接口1250将GUI发送到显示设备(例如,显示器116)。
[0113] 处理器1220可以经由一个或多个通信接口1260与控制器104、对象106、一个或多个设备1280或其组合通信。一个或多个通信接口1260可以包括有线以太网接口、IEEE 802无线接口、其他无线通信接口或其他网络接口。一个或多个设备1280可以包括主计算机、服务器、工作站和其他计算设备。
[0114] 进一步地,本公开包括根据以下条款的实施例:
[0115] 条款1.一种系统,包括:
[0116] 处理器;以及
[0117] 耦合到所述处理器的存储器,所述存储器存储指令,当由所述处理器执行时,所述指令使得所述处理器:
[0118] 确定对象的第一运动包络,所述第一运动包络对应于所述对象的位置的运动学包络,所述位置能由所述对象到达;
[0119] 基于所述对象的所述第一运动包络和第二运动包络的交叉确定所述对象的操作包络,所述第二运动包络对应于所述对象的运动范围,所述运动范围受到对象的动态运动限制的约束,所述操作包络指示在所述对象的操作期间所述对象的运动范围;以及[0120] 基于所述操作包络生成所述对象的虚拟模型,所述虚拟模型用于对所述对象的操作进行虚拟建模。
[0121] 条款2.根据条款1所述的系统,进一步包括显示设备,所述显示设备被配置为显示所述虚拟模型。
[0122] 条款3.根据条款1至2中任一项所述的系统,进一步包括运动学仿真器,所述运动学仿真器被配置为基于所述虚拟模型通过所述操作包络对所述对象的移动进行虚拟建模。
[0123] 条款4.根据条款1至3中任一项所述的系统,其中,所述指令进一步使所述处理器基于所述虚拟模型通过所述操作包络生成命令,所述命令指示所述对象的无碰撞移动路径,并且进一步包括:
[0124] 控制器,所述控制器被配置为接收所述命令并基于所述命令生成信号;以及[0125] 所述对象被配置为从控制器接收信号并且被配置为基于信号沿着无碰撞移动路径移动。
[0126] 条款5.根据条款4所述的系统,进一步包括网络接口,所述网络接口被配置为经由网络将所述命令传输到所述控制器。
[0127] 条款6.根据条款5所述的系统,其中,所述对象具有三以上的自由度。
[0128] 条款7.一种方法,包括:
[0129] 确定对象的第一运动包络,所述第一运动包络对应于所述对象的位置的运动学包络,所述位置能由所述对象到达;
[0130] 基于所述对象的所述第一运动包络和第二运动包络的交叉确定所述对象的操作包络,所述第二运动包络对应于所述对象的运动范围,所述运动范围受到对象的动态运动限制的约束,所述操作包络指示在所述对象的操作期间所述对象的运动范围;以及[0131] 基于所述操作包络生成所述对象的虚拟模型,所述虚拟模型用于对所述对象的操作进行虚拟建模。
[0132] 条款8.根据条款7所述的方法,其中,确定所述第一运动包络包括采用二分搜索算法来确定所述第一运动包络。
[0133] 条款9.根据条款7至8中任一项所述的方法,其中,确定所述操作包络包括:
[0134] 将所述对象的计算机辅助设计(CAD)模型的最后有效位置设置为原始位置,以及将所述对象的所述CAD模型的最后无效位置设置为已知的无效位置;
[0135] 基于一个或多个参数定向所述对象的所述CAD模型;
[0136] 将所述对象的所述CAD模型的当前位置设置为所述最后有效位置和所述最后无效位置之间的中间位置;
[0137] 基于所述当前位置以及所述第一运动包络、所述第二运动包络或两者的一个或多个约束和操作约束,确定所述对象的所述CAD模型是否经历碰撞,所述碰撞包括所述对象的组件之间的内部碰撞以及所述对象与另一个对象之间的外部碰撞;
[0138] 响应于确定所述对象的所述CAD模型经历所述碰撞,将所述当前位置设置为所述最后无效位置;
[0139] 确定所述最后有效位置和所述最后无效位置之间的距离是否小于或等于阈值距离;以及
[0140] 响应于确定所述最后有效位置和所述最后无效位置之间的所述距离小于或等于所述阈值距离,将所述最后有效位置添加到所述操作包络。
[0141] 条款10.根据条款7至9中任一项所述的方法,其中,生成所述对象的所述虚拟模型包括:
[0142] 基于所述操作包络和计算机辅助设计模型生成运动云,所述运动云包括所述操作包络的视觉表示;
[0143] 基于所述运动云确定所述对象的组件的轮廓;
[0144] 基于所述轮廓生成所述对象的所述组件的网格;
[0145] 基于所述网格生成所述组件的虚拟模型的表面,以生成所述组件的所述虚拟模型;以及
[0146] 基于所述组件的所述虚拟模型生成所述对象的所述虚拟模型。
[0147] 条款11.根据条款10所述的方法,其中,确定组件的轮廓包括:
[0148] 在所述操作包络内限定多个原点,所述多个原点包括第一原点和第二原点,其中,所述多个原点的每个原点与从所述原点发出并延伸到所述操作包络的边界的多条射线关联;
[0149] 针对对应于所述第一原点的第一多条射线的每条射线确定最小点和最大点,所述最小点和最大点与所述运动云交叉;
[0150] 基于与所述运动云交叉的所述第一多条射线的每条射线的所述最小点和所述最大点,生成第一表面轮廓;
[0151] 针对对应于所述第二原点的第二多条射线的每条射线确定最小点和最大点,所述最小点和最大点与所述运动云交叉;
[0152] 基于与所述运动云交叉的所述第二多条射线的每条射线的所述最小点和所述最大点,生成第二表面轮廓;以及
[0153] 组合所述第一表面轮廓和所述第二表面轮廓,以生成特定组件的特定组合的轮廓。
[0154] 条款12.根据条款7至11中任一项所述的方法,进一步包括:
[0155] 识别所述操作包络内的关注点,所述关注点对应于所述操作包络边界附近的点;
[0156] 确定从初始位置到达所述关注点的一个或多个移动路径是否无碰撞;以及[0157] 输出确定到达所述关注点的所述一个或多个移动路径是否无碰撞的结果。
[0158] 条款13.根据条款12所述的方法,进一步包括基于所述一个或多个移动路径生成命令。
[0159] 条款14.根据条款13所述的方法,进一步包括:
[0160] 将所述命令输出到所述对象的物理实例的控制器;
[0161] 通过所述控制器基于所述命令生成信号,所述信号指示所述一个或多个移动路径的特定移动路径;
[0162] 通过所述控制器将所述信号输出到所述对象的所述物理实例;以及[0163] 验证所述对象的所述物理实例沿着所述信号指示的所述特定移动路径移动,而不经历碰撞。
[0164] 条款15.根据条款12至14所述的方法,其中,所述关注点与所述对象的致动器的参数相关。
[0165] 条款16.根据条款15所述的方法,其中,所述关注点对应于所述致动器的关节角度包络的边界附近的点。
[0166] 条款17.根据条款12至16中任一项所述的方法,进一步包括:
[0167] 识别所述操作包络内的潜在关注点;以及
[0168] 选择所述潜在关注点的特定潜在关注点作为所述关注点,其中满足所述特定潜在关注点的条件的所述对象的所述虚拟模型的位置与满足所述潜在关注点的多个潜在关注点的条件的所述对象的所述虚拟模型的位置重叠。
[0169] 条款18.一种包括指令的计算机可读存储设备,当被执行时,所述指令使处理器执行以下操作,包括:
[0170] 确定对象的第一运动包络,所述第一运动包络对应于所述对象的位置的运动学包络,所述位置能由所述对象到达;
[0171] 基于所述对象的所述第一运动包络和第二运动包络的交叉确定所述对象的操作包络,所述第二运动包络对应于所述对象的运动范围,所述运动范围受到对象的动态运动限制的约束,所述操作包络指示在所述对象的操作期间所述对象的运动范围;以及[0172] 基于所述操作包络生成所述对象的虚拟模型,所述虚拟模型用于对所述对象的操作进行虚拟建模。
[0173] 条款19.根据条款18所述的计算机可读存储设备,其中,所述操作进一步包括:
[0174] 识别所述操作包络内的多个关注点,其中每个关注点对应于所述对象的致动器的包络边界附近的点。
[0175] 条款20.根据条款18至19中任一项所述的计算机可读存储设备,其中,所述第二运动包络对应于交通工具相对动态运动(VRDM)包络,并且其中,所述操作进一步包括:
[0176] 接收VRDM限制表,所述VRDM限制表指示设计规范所指定的动态运动限制;以及[0177] 基于VRDM限制表生成VRDM包络。
[0178] 本文描述的示例的说明旨在提供对各种实现的结构的一般理解。所述说明不旨在用作利用本文描述的结构或方法的装置和系统的所有元件和特征的完整描述。在阅读本公开后,许多其他实现对于本领域技术人员可以是显而易见的。可以利用其他实现并从本公开得出其他实现,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。例如,可以以与图中所示不同的顺序执行方法操作,或者可以省略一个或多个方法操作。因此,本公开和附图应被视为说明性的而非限制性的。
[0179] 此外,尽管本文已说明和描述了特定示例,但应了解,被设计为实现相同或类似结果的任何后续布置可替代所示的特定实现。本公开旨在涵盖各种实现的任何和所有后续修改或变型。在阅读本说明书之后,上述实现以及本文未具体描述的其他实现的组合对于本领域技术人员将是显而易见的。
[0180] 本公开的摘要是按以下理解而提交,即,它将不被用于解释或者限制权利要求的范围或含义。另外,在以上详细说明中,为了使本公开精简的目的而可能将不同的特征集合在一起或者在一种单独的实现中描述。以上描述的示例说明但不限制本公开。还应理解,根据本公开的原理,许多修改和变型是可能的。如以下的权利要求所反映,所要求保护的主题可以是针对少于任何公开的示例的全部特征。因此,本公开的范围由随附权利要求和它们的等效物限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈