用于共享工具制造和设计数据的系统、方法和装置与流程

文档序号:31095481发布日期:2022-08-10 00:59阅读:163来源:国知局
用于共享工具制造和设计数据的系统、方法和装置与流程
用于共享工具制造和设计数据的系统、方法和装置
1.本技术是申请日为2017年8月18日、申请号为201780050641.x、发明名称为“用于共享工具制造和设计数据的系统、方法和装置”的发明专利申请的分案申请。
2.相关申请的交叉引用
3.本技术依据35 u.s.c 119要求于2016年8月19日提交的美国临时专利申请no.62/377,482、于2017年5月21日提交的美国临时专利申请no.62/509,159,以及于2017年5月21日提交的美国临时专利申请no.62/509,162的优先权权益,这所有三个专利申请都在此通过引用被整体并入本文。


背景技术:

4.在材料上绘制的视觉引导对于用户来说可能难以手动地跟随。此外,可能难以确定工具在材料上的位置。


技术实现要素:

5.本公开的装置、系统和方法便于引导工具。在一些实施例中,该系统包括具有可以定位在诸如木材的一块材料的表面上的工作台的钻机或框架。该工具可以电气或机械耦合到框架,并且框架与工具一起可以在材料上通过。该系统可以包括传感器、相机或定位逻辑,以确定工具在材料上的位置并准确地将框架、工作台或工具移动(或提供用于用户移动的指令)到材料上的期望坐标。
6.制造或生产操作可以包括在具有至少一个平面的一块材料上工作或与之一起工作,诸如从一块胶合板切割出一种形状。但是,对于工具来说,确定平面的边缘的地点可能是具有挑战性的,所述平面的边缘可能是矩形的,诸如在胶合板中,或者可能是平滑的轮廓,诸如2d模板的边缘。本解决方案的系统、方法和装置涉及用于检测边缘的形状和/或位置的系统。
7.该工具可以配置有一种或多种技术,以便于引导工具的工作构件或钻头。例如,工具可以包括探针并且配置有横向探测技术,该技术测量材料或工件的表面,或者在工件上或相对于工件建立参考点。该工具可以探测工件轮廓的一个或多个点以数字化模板。该工具可以探测轮廓的一个或多个点,以在翻转之前和之后扫描工作材料的边缘,以对准用于双面加工的方案(plan)。该工具可以探测轮廓的一个或多个点以生成网格覆盖。
8.在一些实施例中,该系统可以包括与数字处理器耦合的手持式工具。手持式工具可以包括已知或近似已知几何形状的物理元件,诸如探针。除了用作诸如钻头之类的探针之外,探针还可以是在除用于探测之外的一些其它能力中使用的工具的一部分。使用一个或多个传感器,系统可以确定探针在任意坐标系中的3d位置或地点,并存储该位置。系统可以通过检测工具框架的位置并使用从工具框架到探针的偏移来确定位置,或者系统可以直接检测位置。
9.在一些实施例中,系统可以通过将手持式工具移动到探针几何形状与边缘接触的位置来检测材料的边缘。系统可以接收探针几何形状与材料边缘接触的指示。指示可以是
经由工具的界面,诸如按钮,或者系统可以自动检测探针与边缘接触。系统可以将接触点存储在存储器中。系统或工具可以对材料的一个或多个接触点或边缘进行采样。手持式工具也可以沿着3d路径移动,在沿着3d路径移动期间,手持式工具在一些时间范围内与边缘接触而在其它时间范围内不与边缘接触。
10.在一些实施例中,材料的表面可以用地点标记来标记,该地点标记有助于检测工具、工作构件或传感器相对于材料表面的地点。地点标记可以被设计或配置为便于通过工具的传感器进行简单、快速和可靠的检测。在一些实施例中,地点标记可以包括二进制图像或者以可以容易地被转换为二进制图像的方式构造。例如,地点标记可以包括可以用最小计算能力检测到的基准标记,诸如可以表示多米诺骨牌的黑白图像。
11.在一些实施例中,本公开涉及一种指引或抽取可在材料表面上执行任务时生成的尘屑的系统、方法或装置。例如,当切割工具正在切割诸如木材的材料时,可能产生可使工具难以检测到可能放置在材料表面上的标记的锯屑。本公开的工具包括其中可以指引由切割材料生成的尘屑的腔体。例如,该腔体可以包括工具框架中的空隙,并且工具的风扇可以将尘屑引向腔体。此外,可以将真空吸尘器耦合到工具,使得可以经由通道抽取尘屑。
12.在一些实施例中,本公开涉及用于确定工具相对于工作表面的位置的系统、方法或装置。该系统、方法或装置可以确定由工具的尖端(例如,切割钻头)施加的力的变化,以便确定切割工具的尖端何时接触或压靠材料的表面。例如,工具的尖端可以处于不接触工作表面的第一位置。尖端可以逐渐移动到接触材料表面的第二位置。当工具的尖端移动到第二位置时,该系统、方法或装置可以确定力的变化,力的变化可以指示工具尖端正在接触材料表面。例如,由于工具的尖端从底座卸下一些力,因此施加在工具底座上的力可能较小。
13.本公开的至少一个方面涉及一种校准工具的位置检测的系统。该系统可以包括耦合到工具的底座。底座可以与工作表面接触。该系统可以包括具有一个或多个处理器的计算设备。该系统可以包括通信地耦合到计算设备的传感器。该系统可以包括由计算设备控制的马达。计算设备可以经由传感器识别指示由底座的一部分施加在工作表面上的力的量的参数的第一值。计算设备可以指示马达将工作构件朝工作表面延伸。在工作构件与工作表面接触时,计算设备可以经由传感器识别参数的第二值。计算设备可以将参数的第一值与参数的第二值进行比较,以生成第一值和第二值之间的差。计算设备可以响应于第一值和第二值之间的差大于阈值而确定工作构件相对于工作表面的z-轴位置。
14.本公开的至少一个方面涉及一种评估工具的工作构件的位置的方法。该方法可以包括通信地耦合到包括一个或多个处理器的计算设备的传感器,其检测指示由工具的底座的一部分施加在工作表面上的力的量的参数的第一值。该方法可以包括由工具的一个或多个处理器控制的马达,其将工作构件朝工作表面延伸。底座可以至少部分地与工作表面接触。该方法可以包括当工作构件与工作表面接触时传感器检测参数的第二值。参数的第二值可以小于参数的第一值。该方法可以包括计算设备响应于第一值和第二值之间的差大于阈值而确定工作构件相对于工作表面的z-轴位置。
15.至少一个方面涉及一种用于定位工具的工作构件的系统。该系统可以包括耦合到工具的底座。该系统可以包括包括一个或多个处理器的计算设备。该系统可以包括通信地耦合到计算设备的传感器。该系统可以包括由计算设备控制的马达。该系统可以包括计算
设备,该计算设备被配置为经由传感器识别指示由底座的一部分朝工作表面施加的力的量的参数的第一值。计算设备可以指示马达将工作构件朝工作表面延伸。计算设备可以在工作构件与工作表面接触的情况下经由传感器识别参数的第二值。计算设备可以将参数的第一值与参数的第二值进行比较,以识别第一值和第二值之间的差。计算设备可以基于第一值和第二值之间的差大于阈值来确定工作构件相对于工作表面的z-轴位置。
16.至少一个方面涉及一种定位工具的工作构件的方法。该方法可以包括由通信地耦合到包括一个或多个处理器的计算设备的传感器检测工具的底座的第一垂直位置的参数的第一值。该方法可以包括由计算设备控制的马达将工作构件朝工作表面延伸。该方法可以包括在工作构件与工作表面接触的情况下经由传感器检测指示工具的底座的第二垂直位置的参数的第二值。该方法可以包括由计算设备将参数的第一值与参数的第二值进行比较,以确定工具的底座的垂直位置的变化。该方法可以包括由计算设备基于工具的底座的垂直位置的变化来确定工作构件相对于工作表面的z-轴位置。
17.至少一个方面涉及一种用于定位工具的工作构件的系统。该系统可以包括耦合到工具的底座。该系统可以包括包括一个或多个处理器的计算设备。该系统可以包括通信地耦合到计算设备的一个或多个传感器。该系统可以包括由计算设备控制的一个或多个马达。计算设备可以经由一个或多个传感器确定工作构件的z-轴位置。计算设备可以至少部分地基于工作构件的z-轴位置提供马达控制信息以控制一个或多个马达将工作构件从第一地点移动到第二地点,工具在与工具的工作构件的预定路径相邻的调整范围(例如,补偿半径,补偿范围)内的方向上前进。
18.至少一个方面涉及一种用于定位工具的工作构件的系统。该系统可以包括耦合到工具的底座。该系统可以包括包括一个或多个处理器的计算设备。该系统可以包括通信地耦合到计算设备的一个或多个传感器。该系统可以包括由计算设备控制的一个或多个马达。该系统可以包括工具的腔体,以移动由工作构件从工作表面移除的材料的颗粒。计算设备可以基于经由一个或多个传感器接收到的第一信息确定工作构件的第一地点。计算设备可以将工作构件的第一地点与预定路径进行比较,以确定对应于路径的工具的工作构件的第二地点。计算设备可以基于第二地点提供马达控制信息以控制一个或多个马达将工作构件从第一地点移动到第二地点,工具在与工具的工作构件的预定路径相邻的调整范围内的方向上前进,腔体被构造成使材料的颗粒沿着与工具前进的方向相反的方向移动。
19.本公开的实施例包括跟踪钻机的使用,该钻机具有一个或多个致动器以移动用于保持工作构件的适配器。本文描述的系统、方法和计算机可读介质:从第一计算机系统接收数字设计;基于数字设计确定钻机的部件的期望路径;当工作构件相对于工作表面移动时,获得部件的位置信息;基于位置信息将跟踪数据发送到第二计算机系统。
20.本公开的实施例包括使用钻机来实现协作,该钻机具有一个或多个致动器以移动用于保持工作构件的适配器。本文描述的系统、方法和计算机可读介质:获得与工作表面相关的信息;将收集到的信息发送到第一计算机系统;从第二计算机系统接收第二信息,其中第二信息基于第一信息;以及至少部分地基于第二信息确定钻机的部件的期望路径。
21.本公开的实施例包括确定与使用钻机的工作表面相关的信息。本文描述的系统、方法和计算机可读介质:获得与工作表面相关的第一数据,在工作构件与工作表面的边缘接触的情况下获得与工作表面相关的第二数据;确定钻机的部件的位置;以及确定工作表
面边缘的地点。
22.本公开的实施例包括控制钻机,该钻机具有一个或多个致动器以移动用于保持工作构件的适配器。本文描述的系统、方法和计算机可读介质:收集与工作表面相关的第一数据,确定钻机的部件的位置;使用部件的位置评估一个或多个触发规则;以及基于评估触发一个或多个动作。
23.本公开的实施例包括促进钻机的使用,该钻机具有一个或多个致动器以移动保持工作构件的适配器。本文描述的系统、方法和计算机可读介质:捕获工作表面上的薄膜的图像;基于捕获图像中的薄膜的边缘确定适配器的期望路径;以及提供致动器控制信息,以当用户在右侧沿着第二方向移动时,使适配器沿着第一方向移动,其中第一方向与第二方向不同,并且期望路径确定适配器的运动。
附图说明
24.图1是用于自动引导工具的装置的实施例的说明性示例。
25.图2是用于遵循目标路径区域并根据计划设计执行任务的自动引导工具的装置的实施例的说明性示例。
26.图3是用于自动引导工具的系统的实施例的说明性框图。
27.图4是用于自动引导工具的方法的实施例的说明性流程图。
28.图5是用于自动引导工具的方法的实施例的说明性流程图。
29.图6是图示根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的计算机系统的总体体系架构的框图。
30.图7a-7b是根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的地点标记的说明图。
31.图8a-8b是根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的、用于指引或抽取尘屑颗粒的装置的实施例的说明性示例。
32.图9a-9b是根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的、用于指引或抽取尘屑颗粒的基板的实施例的顶部透视图的说明性示例。
33.图9c是根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的、用于指引或抽取尘屑颗粒的基板的实施例的底部透视图的说明性示例。
34.图9d是根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的、用于指引或抽取尘屑颗粒的基板的实施例的顶部透视图的说明性示例。
35.图10a-10b是根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的、用于确定工具尖端的地点的系统的实施例的说明性示例。
36.图10c-10d是根据实施例的可以用于实现本文公开的系统、装置和方法的各种元件的、定位在装置上用于确定工具尖端的地点的力传感器的实施例的说明性示例。
37.图11a-11b是根据实施例的使用本文公开的系统、装置和方法的各种元件来指引或抽取尘屑颗粒的说明性示例。
38.图12是描绘根据实施例的定位工具的工作构件的方法的框图的说明性示例。
39.图13描绘了根据实施例的工具的前视图。
40.图14描绘了根据实施例的没有附接工作构件的工具的前视图。
41.图15提供了根据实施例的附接有工作构件的工具的侧视图。
42.图16提供了根据实施例的没有附接工作构件的工具的侧视图。
43.图17提供了根据实施例的附接有工作构件的工具的后视图。
44.图18提供了根据实施例的没有附接工作构件的工具的后视图。
45.图19提供了根据实施例的附接有工作构件的工具的俯视图。
46.图20提供了根据实施例的没有附接工作构件的工具的俯视图。
47.图21提供了根据实施例的工具的内部工作台和枢轴部件的仰视图。
48.图22描绘了根据实施例的用于引导工具的系统。
49.图23描绘了根据实施例的用于引导工具的流程图。
50.图24是图示根据实施例的边缘检测的图。
51.图25是图示根据实施例的边缘检测的图。
52.图26是图示根据实施例的边缘检测的图。
53.图27是图示根据实施例的由系统生成的螺旋工具路径的图。
54.图28a-d是图示根据实施例的工具的图。
55.图29是根据实施例的自动引导系统中的示例性日志和计算机系统中的示例性日志。
56.图30a-30d是示出根据实施例的使用薄膜来定义模板的一系列图示。
57.图31是根据实施例的6个计算机系统的示例性网络连接示意图。
具体实施方式
58.本公开一般而言涉及用于在诸如木工或印刷的表面上工作的系统和方法。在一些实施例中,本公开涉及确定工具相对于材料的表面的地点并使用该地点沿着预定路径或设计方案(诸如,例如,切割或绘制路径)引导、调整或自动校正工具。在一些实施例中,参考地点可以对应于从远程计算机系统获得的设计或方案。
59.制造或生产操作可以包括在具有至少一个平面的一块材料上工作或与之一起工作,诸如从一块胶合板切割出一种形状。但是,对于工具来说,确定平面的边缘的地点可能是具有挑战性的,所述平面的边缘可能是矩形的,诸如在胶合板中,或者可能是平滑的轮廓,诸如2d模板的边缘。本解决方案的系统、方法和装置涉及用于检测边缘的形状和/或位置的系统。
60.该工具可以配置有一种或多种技术,以便于引导工具的工作构件或钻头。例如,工具可以包括探针并且配置有横向探测技术,该技术测量材料或工件的表面,或者在工件上或相对于工件建立参考点。该工具可以探测工件轮廓的一个或多个点以数字化模板。该工具可以探测轮廓的一个或多个点,以在翻转之前和之后扫描工作材料的边缘,以对准用于双面加工的方案。该工具可以探测轮廓的一个或多个点以生成网格覆盖。
61.在一些实施例中,该系统可以包括与数字处理器耦合的手持式工具。手持式工具可以包括已知或近似已知几何形状的物理元件,诸如探针。除了用作诸如钻头之类的探针之外,探针还可以是在除用于探测之外的一些其它能力中使用的工具的一部分。使用一个或多个传感器,系统可以确定探针在任意坐标系中的3d位置或地点,并存储该位置。系统可以通过检测工具框架的位置并使用从工具框架到探针的偏移来确定位置,或者系统可以直
接检测位置。
62.在一些情况下,本公开可以便于评估工具的工作构件的位置。评估工作构件的位置可以包括例如确定切割工具的几何形状或确定工件(例如,工作表面)的几何形状。
63.确定工具的几何形状可以包括或参考确定工具尖端(例如,工作构件)相对于工具的参考框架的位置。确定工具的几何形状可以包括或参考确定切割工具的直径。工具几何信息可以用于自动确定工作构件的切割槽的长度和切割器的角度(例如,v雕刻钻头或螺旋角度)。
64.确定工件的几何形状可以包括或参考确定或测量待切割材料的厚度,或通过用工具尖端反复探测来创建表面的地形图。工具可以确定感兴趣的特征(诸如工件上的孔)的地点。
65.本公开可以使用一种或多种技术来确定工作构件或工具尖端相对于工具的参考框架的位置(例如,工具高度)。例如,工具可以包括工具尖端或工作构件和底座。工具的底座可以搁置在工作表面上并与工作表面接触。确定工具尖端的位置的技术可以包括将工具尖端延伸或下降到工作表面(或诸如桌子的方便的平坦表面)上,同时测量工具的底座上的重量。当工具尖端与工作表面接触时,随着切割工具发生附加的向下运动,重量可以被传递到工具尖端上并且离开设备的底座。工具可以通过底座中的重量传感器检测到该底座上重量的减少。该技术可以在确定工具尖端的位置时提供改进的准确度,因为工具尖端位置可以在将设备的底座提升离开工作表面所需的工具行程的一小部分内确定。在一些情况下,在工具尖端可能非常锋利的情况下,工具尖端可以在生成足够的力以使设备提升之前下沉或进入到工作表面(例如,木材)中一段距离。但是,由于重量传感器可以被配置为甚至检测到小的力减小(例如,在工具尖端接触工作表面之前由工具或底座施加在材料上的力的1%、2%、3%、5%、0.5%、0.1%或10%),因此即使工具尖端要至少部分地进入工作表面,工具也可以在工具尖端接触工作表面时检测到力的变化。
66.此外,工具可以利用该技术确定工具尖端的位置,而无需执行重量传感器的绝对校准,因为工具可以基于检测到力的变化来确定位置。因此,可以使用便宜且未校准的力传感器来确定工具尖端的位置。力传感器的示例可以包括力敏电阻器、电容力传感器、高通传感器或压阻传感器。
67.工具可以通过检测、注意、确定或以其它方式识别底座的提升来检测工具尖端或工作构件何时与工作表面接触或变得接触。底座的提升可以是相对小的提升(例如,力传感器上的力减小0.1%、0.5%、1%、2%、5%、10%、15%、20%或基于力传感器的分辨率或粒度的一些其它百分比)。在一些情况下,工具可以基于底座的倾斜(例如,1度角、2度、5度、10度、15度、25度或可检测到的一些其它倾斜)来检测提升。该工具可以使用相机、视觉信息或惯性测量单元(imu,包括一个或多个加速度计、陀螺仪或磁力计)来检测倾斜。例如,相机可以确定捕获图像中的移位,该移位对应于由底座提升产生的倾斜。在工具使工具尖端与工作表面接触之前,相机可以拍摄第一图片或图像,然后在工具尖端接触工作表面时拍摄第二图像。相机可以将第一图像与第二图像进行比较以识别两个图像之间的倾斜或变化。imu可以响应于由底座提升引起的运动或突然运动来指示倾斜。在一些实施例中,工具可以在工具支架中包括力传感器,以直接测量切割工具尖端上的力。
68.工具可以确定或检测关于工具的附加信息,包括尖端或工作构件位置、直径或工
具几何形状。例如,工具可以包括光束中断(break-beam)传感器(例如,激光光束中断传感器、红外光束中断传感器、光电传感器或光学传感器)。工作构件可以落入到传感器的作用线中,并且当工作构件使光线中断时,工具可以检测到工作构件的位置。在一些情况下,可以相对于工具的坐标系预先校准光束的轴。但是,基于尖端几何形状(例如,如果尖端形状不是平坦的),使用该技术准确地检测尖端位置可能是具有挑战性的。
69.工具可以使用电容传感器或电磁传感器确定工具尖端与工作表面的接近度。例如,电磁传感器可以通过感测在金属中感应的涡电流来感测或检测在包括金属的工具尖端或工作构件附近的感测线圈的电感的变化。
70.另一种方法是使用瞄准工具的视觉相机来确定工作构件或工具尖端的位置。可以将视觉相机预先校准到工具坐标系以检测工具尖端。在一些情况下,视觉相机可以包括线性电荷耦合器件(ccd)传感器或其它图像传感器。线性ccd传感器可以使用比视觉相机更少的处理来检测工具尖端。
71.工具可以使用这些技术中的一种或多种来测量工具直径。在测量或确定工具尖端的位置时,工具可以到处移动工具尖端。通过移动工具尖端,工具可以使用单个光束中断传感器通过使工具从左向右穿过传感器来检测工具直径。工具的横向运动可以引起第一次中断,并且然后使光线无阻挡以提供工具直径的测量。由于铣机钻头可以具有螺旋槽,因此该工具可以沿着工具的长度执行多次测量以确定直径。该工具可以使用涡电流或利用一维传感器的电容感测来确定直径,以通过将传感器数据与工具位置关联来收集关于工具几何形状的多维信息。该工具可以确定关于工具尖端的附加信息,诸如在v形切割钻头的情况下的尖端角度。此外,该工具可以包括视觉相机来检测工具的几何特性。
72.工具可以通过将工具尖端位置与工作表面的平面上的设备位置关联来测量工作表面的几何形状。为了这样做,工具(例如,具有圆锥形或球形尖端的圆柱形工具)可以首先通过检测工具尖端的位置与工具的参考框架相关。一旦相对于工具的参考框架知道工具尖端的位置,就可以将工具横向地定位在感兴趣的表面(例如,工作表面)上以确定工作表面的垂直位置。工作表面的垂直位置可以指一块木材中感兴趣深度的凹槽、空洞、凹痕或凹陷部分。然后可以插入、延伸、降低、陷入或以其它方式移动工具尖端,直到工具尖端接触凹槽的底部。超过工具尖端首先接触工作表面的表面的顶部部分的工具尖端的附加位移指示凹槽的深度。如果感兴趣的是凹槽的表面轮廓,则工具可以围绕凹槽移动到多个点。该工具可以在多个点中的每个点处确定深度。该工具可以记录工具的深度和横向位置(例如,x、y和z坐标,其中x和y坐标可以指横向位置,z坐标可以指深度)。横向运动可以使用内置定位工作台自动完成,或者由用户手动执行,或者两者的组合。
73.另一个潜在的应用可以是找到工作表面上的孔的中心位置。带有锥形尖端的工具可以装配到设备中。然后可以将工具定位在大约孔的中心上方(例如,孔的直径的5%、10%、15%、20%、25%、30%、50%、75%或90%内)并陷入,直到尖端接触孔的圆圈。因为工具尖端可以是锥形的,因此工具尖端可以使工具在孔上居中。然后,工具可以使用例如视觉系统确定横向位置(例如,x和y坐标)来确定孔的位置。
74.工具可以确定工作表面或其它材料块的厚度。使用所确定的工作表面的厚度,工具可以自动设置切割深度或更新可能取决于材料厚度的切割路径(例如,其中指状物的长度要与配合材料的厚度对应的盒子接头)。工具可以确定或测量材料的厚度、将工具或其一
部分悬挂或放置在工作表面或材料的边缘上方,并且然后延伸工具尖端直到其接触支撑材料的表面。工具尖端延伸超出工作表面的顶部以便接触支撑工作表面的表面的深度可以指示工作表面的厚度。
75.工具可以使用可以包括轮廓树、二进制图像、基准标记或多米诺骨牌的地点标记来确定工具或工具尖端相对于工作材料的表面的位置。本公开通过生成经由工具的一部分中的一个或多个通道指引尘屑的气流来促进从工具的一部分指引和抽取尘屑。本公开有助于使用力传感器确定工具的尖端的高度,所述力传感器在工具的尖端接触材料时检测力的减小。
76.利用所确定的信息,工具可以被配置为引导工具的工作构件在目标材料(例如,工作表面)上执行任务。在一些实施例中,系统可以自动引导工具执行任务。例如,在一些实施例中,本公开提供了手持式系统,该系统能够识别工具或包含工具的钻机相对于被加工材料的地点。在一些实施例中,该设备可以是非手持式的;例如,该设备可以位于可移动平台上,诸如远程控制平台、机器人平台、或可以被控制或不能被控制的其它类型的可移动平台。系统可以基于或响应于工具的当前地点和对应于设计方案的期望地点来调整工具的地点(或提供用于调整工具的地点的指令)。在一些实施例中,系统包括具有能够用手操作的工作仪器的手持式设备,该工作仪器可以基于空间位置对工作仪器地点进行精确调整,以提供工作仪器行进的准确路径。
77.在一些实施例中,本文公开的系统和方法可以包括地点检测系统或执行一种或多种地点检测技术,其可以准确、稳健或以低等待时间检测工具在目标材料上的当前地点或位置。例如,耦合到工具和伴随的控制电路系统的视频或静止图像相机可以用于扫描材料的表面并处理扫描数据或扫描图像数据以在材料上执行任务之前生成材料表面的数字地图。当在材料上执行任务期间使工具接近材料表面时,相机可以拍摄第二图像并将第二图像与数字地图进行比较以检测工具相对于材料的地点。
78.在一些实施例中,可以使用各种地点检测技术,包括例如集成无线位置感测技术,例如rf,近场通信,蓝牙,激光跟踪和感测,或用于确定工具位置的其它合适方法。并且便于引导或调整工具的位置以执行任务。在一些实施例中,该系统可以包括混合地点检测系统,其采用两种或更多种地点检测技术来确定工具的地点。例如,每种地点检测技术可以包括正交强度和弱点,但是当组合时,可以以高准确度和低等待时间检测地点。例如,第一地点检测技术可以是高准确度但低频率(例如,被配置为每秒一次获得数据的传感器,其准确地确定位置但具有高等待时间)。第一地点检测技术可以与第二地点检测技术组合,第二地点检测技术包括以高频率和高准确度提供地点信息但提供有限信息的传感器(例如,高频率和高准确度但仅提供包括移动的方向和速度的航位推算(dead-reckoning)而不提供工具在全局环境中的地点的光学鼠标传感器)。在说明性示例中,混合地点检测系统可以使用相机来获得图像以准确地确定工具在材料表面上的位置,然后使用光学鼠标传感器来跟踪位置的变化直到图像的下一帧到来。在该示例中,使用光学鼠标传感器的第二地点检测技术不能提供所有地点跟踪,因为集成速度来确定位置可能随时间推移累积误差,或者如果设备被拾起并且被放在不同的位置,那么设备将无法确定地点。
79.在一些实施例中,为了在切割或绘制操作之前生成地图,用户可以用相机扫描材料的表面,直到相机已获得材料表面或其期望部分的全部图像、基本上全部图像或一部分
图像。系统可以获得这些图像并将图像缝合在一起以产生衔接地图。生成数字地图图像和检测地点可以包括例如一种或多种图像处理技术、模式识别技术、定点(localization)技术、计算机视觉技术。例如,系统可以识别第一图像中的点a和b对应于第二图像中的点c和d,并且相应地缝合两个图像。例如,在木材表面上,系统可以识别图像中的变化、亮点、颜色变化、标记、基准标记、二值化图像或木纹,并将它们与数字地图进行比较以确定地点。在另一个示例中,系统还可以使用角、侧面、照明图案或能够识别地点的其它信号。
80.可以标记材料以便于映射材料表面或检测工具在材料上或附近的位置。例如,诸如金属或塑料的材料的表面可能不包含足够的识别标示来准确地检测地点。可以将区别标示或标记添加到材料以促进地点检测技术,诸如模式识别或图像处理。标记可以包括能够促进地点检测技术的任何类型的材料、墨水、条带、光、激光、雕刻、雕饰、温度梯度、不可见墨水(例如,仅在紫外线或其它波长的光下可见的墨水)。在一些实施例中,标记包括可以施加到目标材料表面的至少一部分上的条带。例如,条带可以包括符号,诸如,例如,唯一的条形码、设计、图案、颜色、雕饰、升高的凸起或凹陷。在一些实施例中,标记可以包括用户用笔、铅笔、墨水、不可见墨水、涂料、蜡笔或任何其它标记或书写器具在目标材料上的随机标记。
81.除了生成材料表面的数字图像之外,在一些实施例中,系统可以识别材料表面上的切割或绘图设计方案。设计方案可以包括系统的用户期望的任何切割或绘图。例如,设计方案可以包括徒手设计、描图、图片、图像、使用计算机辅助设计(“cad”)软件生成的设计、购买的设计或购买的电子设计。设计方案可以是工具可以通过对材料执行操作来创建的对象的设计,诸如可以从至少一块木材切割的桌子的设计。
82.系统可以将设计方案与地图图像合并或以其它方式将设计方案与材料表面的地图相关或者将设计方案覆盖在地图图像上。在一些实施例中,可以在生成材料的初始地图之前或之后在材料的表面上绘制设计方案(例如,使用可以由系统使用紫外线或其它波长检测到其墨水的特殊笔)。例如,如果材料的表面在初始映射阶段包括设计(例如,切割设计或绘图设计),则系统可以处理图像以识别设计方案并将其包括在材料表面的数字地图中。如果设计在生成初始地图之后在材料的表面上绘制或以其它方式标记,则系统可以通过使用相机重新扫描或拍摄材料的新图像来获得具有该设计的材料的图像。如果设计在生成初始地图之前在材料的表面上绘制或以其它方式标记,则系统可以将设计识别为切割或绘图设计方案,或者用户可以向系统指示识别出的设计是切割或绘图设计方案。
83.在一些实施例中,可以将数字设计添加到材料表面的数字地图,而无需将设计物理地添加到材料的表面或以其它方式用设计标记实际材料。例如,数字设计可以在计算机上生成,并且可以包括cad绘图、向量绘图(例如,svg、dxf)或任何其它类型的绘图(例如,jpeg、bmp或gif)。例如,使用cad软件,用户可以通过添加设计方案来修改地图图像。可以使用任何其它合适的软件将设计方案并入到地图图像上或者以其它方式将设计方案与材料表面的地图(例如,指示用于促进在材料上执行任务的设计方案的地点的数据)相关。在数字地图或数字地图图像上配准设计之后,系统可以向工具提供具有设计方案的对应数字地图数据或数字图像数据。在一些实施例中,系统可以在工具的显示设备上显示具有设计的地图图像,以便于用户在材料上执行任务。在一些实施例中,工具可以根据设计方案执行任务而不显示设计方案(例如,工具可以自动执行任务的方面,或者工具可以不包括显示设
备)。
84.在一些实施例中,可以使用向量绘图(例如,可缩放向量图形(svg)文件、dxf文件)来指定数字设计。在一些实施例中,设计特征可以是在svg格式中使用的路径或基本形状。在一些实施例中,可以使用svg格式的数字设计生成切割钻头的路径,其中该路径也使用svg格式-在一些实施例中包括在svg格式中使用的路径或基本形状。
85.在切割或绘图操作期间,用户可以将工具放置在材料表面上或附近。在将工具放置在表面上时,相机可以重新扫描或拍摄材料表面的一部分的图像。图像可以对应于处于与切割或绘图工具不同地点处的材料的一部分。系统可以通过将新图像中的识别标记与在材料上执行任务之前生成的地图图像中的识别标记进行比较来确定工具相对于材料表面或设计方案的地点。相机可以被安装或以其它方式耦合到工具,使得相机(例如,镜头)的图像捕获方面以距离切割工具(例如,钻头)固定且已知的向量指向材料的表面。通过将相机远离切割工具聚焦,系统可以获得相对没有由切割引起的碎屑的图像,这些碎屑可能使用于检测地点的标记模糊。
86.系统可以将新图像与材料表面的数字地图进行比较,以确定工具的精确地点。例如,对应于右上角的数字地图的部分可以包括一组识别标记。在获得新图像后,系统可以识别那些相同的识别标记并确定那些标记对应于地图图像的右上角。然后,系统可以基于相机向量偏移确定切割或绘图工具的精确位置。
87.在一些实施例中,系统可以在显示设备(例如,工具的显示设备或通信地耦合到系统或工具的远程显示设备)上实时显示切割或绘图工具的精确位置。系统可以在显示器上通过“x”、圆圈、点、图标或使用任何其它指示来指示位置以用信号通知工具的当前位置。在一些实施例中,工具可以覆盖设计方案或切割路径(例如,预定路径)上的当前位置的指示。在一些实施例中,工具可以覆盖地图图像上的当前位置的指示。在一些实施例中,工具可以覆盖包括设计方案的覆盖图的地图图像上的当前位置的指示。
88.在一些实施例中,系统可以包括定位系统,该定位系统基于检测到的工具地点和设计方案来调整或移动工具。在一些实施例中,系统可以使用各种地点检测技术来检测工具的地点,并使用各种定位技术来移动或调整工具的地点。例如,系统可以包括混合定位系统,该混合定位系统包括两个或更多个定位系统以定位工具。在确定工具的地点和工具的期望地点后,第一定位系统可以被配置为在相对大的范围内移动、调整或定位工具(例如,将工具移动到工作区域或材料表面上的任何地方),但具有相对低的准确度。第二定位系统可以被配置为在相对短的范围内(例如,在工具的当前地点的5英寸的半径内)移动、调整或定位工具,但具有高准确度。在一些实施例中,第一(例如,粗糙或粗略)定位系统可以包括人将工具定位在材料的表面上,并且第二(例如,精细或精确)定位系统可以包括使用例如伺服马达、步进马达、致动机构或偏心轮定位工具。在这样的实施例中,工具调整范围是短程的。在一些实施例中,工具调整范围可以是圆形区域、椭圆形区域、多边形形状或类似形状。第一定位系统可以包括非人类定位系统,诸如,例如,机器人系统、远程控制系统、或启用全球定位系统(“gps”)的设备。
89.例如,第一定位系统可以包括远程低准确度定位机构,该机构被配置为基于设计方案移动、调整或校正工具的位置。第二定位系统可以包括短程高准确度定位机构,该机构可以基于设计在最大范围内、比第一定位机构更精确地移动、调整或校正工具的位置。在说
明性和非限制性示例中,第一定位系统可以包括例如包括整个工作区域的范围的最大范围(例如,包括要在其上执行任务的材料的表面的区域),并且包括+/-0.25”的准确度。第二定位系统可以包括例如0.5”的最大范围,准确度为+/-0.01”。第一和第二定位系统的最大范围和准确度可以包括促进混合定位的系统和方法的其它范围和准确度值。在各种实施例中,范围和准确度可以指一维准确度(例如,沿着x-轴)、二维准确度(例如,x-y轴)或三维准确度(例如,x-y-z轴)。
90.第一定位系统可能不太准确并且包括其中最大范围大大高于第二定位系统的最大范围的定位系统。例如,第一定位系统可以将工具从材料表面上的任何地方移动到期望地点的+/-0.25英寸内,而第二定位系统可以被配置为将工具移动距当前位置最多5英寸,但准确度为0.01英寸。在一些实施例中,混合定位系统可以包括多个定位系统,每个定位系统被配置为准确地确定地点,并且然后将工具定位在一定距离范围内,使得当定位系统一起使用时,系统可以精确地确定地点和位置或相应地调整工具。在一些实施例中,每个后续定位系统的最大范围可以等于或大于先前定位系统的准确度。在说明性示例中,第一定位系统可以能够将工具定位在材料的表面上,例如,具有与材料表面的大小相对应的最大范围,并且具有+/-1英寸的准确度。第二定位系统可以能够在材料的表面上在2英寸的最大范围内以+/-0.1英寸的准确度定位工具。第三定位系统可以能够在0.2英寸的最大范围内以+/-0.01英寸准确度将工具定位在任何地方。因此,在该示例中,通过一起使用所有三个定位系统,混合定位系统可以以+/-0.01英寸的准确度将工具精确地定位在包括材料或工作区域的整个表面的最大范围内。
91.在一些实施例中,系统可以包括根据设计方案自动调整、引导或错误校正,以促进执行任务。系统可以使用各种类型的调整、引导或校正机构,包括例如偏心轮、伺服机构、步进马达、控制回路、反馈回路、致动器、螺母和螺栓型机构。例如,系统可以包括耦合到框架的偏心轮或伺服马达,并且切割工具被配置为调整切割工具相对于框架的位置。在确定切割工具的当前位置后,系统可以将当前位置与期望位置进行比较。然后,系统可以根据设计方案引导工具。在一些实施例中,当系统确定当前位置与期望位置之间存在差异,或者当前位置或轨迹偏离设计方案时,系统可以根据设计方案调整切割工具。例如,系统可以识别工具的切割路径或向量以及设计方案并调整切割工具,使得下一次切割符合设计方案。
92.该系统可以利用各种自动校正机制。在一些实施例中,系统可以包括被配置为调整切割工具的位置的偏心轮。例如,使用两个偏心轮,系统可以在两个维度上调整切割工具的位置。偏心轮可以包括绕轴非对称旋转的任何圆形小部件。例如,偏心轮可以包括绕非中心轴旋转的圆。偏心轮可以耦合到切割工具和框架,并且被配置为调整切割工具相对于框架的位置,这可以调整切割工具相对于材料表面的位置。在一些实施例中,系统可以利用具有螺母的螺钉将旋转运动改变为线性位移来校正或调整工具定位。
93.在一些实施例中,系统可以包括基于切割工具类型的定向控制。例如,如果切割工具是不能垂直调整的马刀锯(saber saw),则系统可以根据设计方案调整马刀锯的朝向或角度。系统可以包括被配置为调整锯的倾斜或角度的致动器。
94.系统可以控制切割或绘图工具的z-轴。系统可以确定切割工具的尖端相对于工作表面的位置。通过控制切割或绘图工具的z-轴(例如,与材料表面基本正交的轴;垂直的轴;平行于工作构件沿着其降低或升高到工作构件或切割工具的表面或从工作构件或切割工
具的表面降低或升高的轴的轴),系统可以根据设计方案开始和停止切割或绘图。例如,如果切割工具超出设计方案的可校正距离(例如,自动补偿半径之外),则系统可以通过调整切割工具的z-轴位置(例如,将切割钻头或铣机钻头提升离开木材)来停止切割。当用户将切割工具带回到自动调整半径内时,系统可以自动调整切割工具的z-轴位置,使得切割再次开始(例如,将钻头降低到木材中)。补偿的半径或范围可以对应于定点(localization)系统的定位(positioning)系统。例如,如果定点系统包括包括大范围和短程定位系统的混合定位系统,则补偿半径可以对应于短程定位系统。在一些实施例中,控制工具的z-轴位置可以便于进行2.5维设计。例如,设计方案可以指示对应于材料表面的z-轴信息。因此,系统可以使用工作构件或切割工具或其尖端的确定的z-轴位置来控制马达以将工作构件移动到第二地点或位置(例如,x,y或z-轴位置)。
95.系统可以控制马达以基于设计方案中指示的信息将工作构件移动到给定(x,y,z)位置。在一些实施例中,系统可以控制一个或多个马达,以基于至少部分地基于设计方案确定的期望路径将工作构件移动到给定(x,y,z)位置。在一些实施例中,系统可以控制一个或多个马达,以基于至少部分地基于设计方案确定的期望路径将用于保持工作构件的适配器移动到给定(x,y,z)位置。在一些实施例中,工作构件的期望路径和保持工作构件的适配器的期望路径可以通过适配器和工作构件之间的偏移(例如,从适配器的尖端到工作构件的尖端的位移)相关。例如,如果系统类似于常规铣机并且适配器和工作构件轴向对准,则适配器的期望路径和工作构件的期望路径将在z(垂直于工作表面的方向)上偏移。
96.在一些实施例中,系统可以向用户指示切割工具在期望路径(例如,预定路径)上或在补偿范围内,使得系统可以校正切割工具的位置。在一些实施例中,系统可以向用户指示切割不在期望路径上或不在补偿范围内。系统还可以向用户指示校正切割工具的位置或移动切割工具以使其在期望路径上或在补偿范围内的方向。系统可以使用发光二极管或其它光源、音频信号、蜂鸣声、啁啾声或振动经由显示设备可视地提供一个或多个指示。在一些实施例中,工具偏离期望路径超出可接受范围的指示可以包括自动关闭切割机或调整切割或绘图工具的z-轴,使得其停止在材料上执行任务。在一些实施例中,系统可以通过例如照射向用户指示期望路径在哪里以及要进行到何处的光束来指示表面材料本身上的期望路径。例如,在确定误差时,系统可以照射光束,向用户指示为了使工具的位置在自动补偿的范围内或在期望的路径上,应该将工具调整多少。
97.在一些实施例中,多个切割或绘图工具可以与系统一起使用,包括例如马刀锯、曲线锯、铣机或钻头。系统可以被配置为使得用户可以将本公开的各个方面与各种切割或绘图工具一起使用,而无需对工具进行任何调整或小的/临时调整。例如,系统可以包括框架、相机、显示设备和计算设备。框架可以被配置为使得切割工具可以被放置在框架中。相机可以耦合到框架或者可以附接到切割工具。在放置相机后,系统可以自动或手动校准,使得系统获得相机与切割或绘图工具(例如,切割钻头或铣机钻头)之间的向量偏移。
98.在一些实施例中,系统可以包括独立设备,该独立设备被配置为执行映射和定点功能并向用户指示设备的当前位置。在一些实施例中,独立设备可以附接到切割工具或绘图工具。在一些实施例中,独立设备可以不提供自动校正功能。在一些实施例中,独立设备可以包括显示器。在一些实施例中,独立设备可以包括一个或多个传感器(例如,用于映射和定位的一个或多个相机)。在一些实施例中,独立设备可以确定期望路径并检测何时工具
离开期望路径。独立设备可以通过例如显示器、在材料表面上照射光、音频信号或语音叙述来指示错误。
99.参考图1,示出了用于引导工具执行任务的装置的实施例的说明性示例。在一些实施例中,该设备包括框架和安装在框架内的工具(例如,图1的示例中的铣机)。框架可以由用户手动定位。该设备可以调整工具在框架内的位置,以根据设计方案引导或调整工具或者校正用户粗糙定位中的误差。该设备还可以包括显示器并且被配置为映射目标材料并在显示器上显示目标材料。在一些实施例中,目标材料上的标记(例如,贴条)可以通过提供区分特征来促进生成目标材料的地图。设备可以通过从在线商店下载来获得设计或方案。该设备可以显示具有指示期望切割图案的设计的目标材料的地图。
100.参考图2,示出了用于遵循目标路径区域并根据计划设计执行任务的自动引导工具的装置的说明性示例。在一些实施例中,为了遵循复杂路径,设备的用户可能仅需要在路径的粗略近似中移动框架。在这个示例中,虚线显示如果工具位置未调整时工具将采用的路径;实线是它的实际路径,例如,美国东南部的轮廓。在这个示例中,用户可以抓住框架并且大致沿着虚线引导工具,并且工具可以自我调整以沿着实线切割。在一些实施例中,设备基于切割工具的位置(例如,x-轴位置、y-轴位置或z-轴位置中的一个或多个)和切割工具的期望位置自动调整钻头或其它切割工具。x-轴和y-轴可以相交以形成与材料的表面基本上平行(例如,在45度内)的x-y平面,而z-轴基本上垂直(例如,45度垂直)或正交于由x-y轴形成的水平平面。在一些实施例中,设备的用户可以沿着图2中的虚线1210(或图23的路径406)移动设备,同时设备根据期望的设计方案(诸如图2的设计方案1205)自动调整切割工具(例如,x、y或z位置)。例如,设备可以利用设计识别或检测切割工具相对于目标表面的当前位置。然后,设备可以将当前位置与设计或地图的期望位置进行比较,并调整切割工具。例如,如果确定工作构件或切割工具尖端在材料表面上方1英寸,则系统可以确定降低切割构件尖端以接触材料的表面。在另一个示例中,如果设计指示在材料中钻0.5英寸深的孔,则系统可以确定尖端的z-轴位置并基于确定的z-轴位置将尖端插入到材料中0.5英寸。例如,系统可以指示马达将工作构件或切割工具延伸超出材料表面0.5英寸。
101.参考图3,示出了用于自动引导工具的系统的实施例的说明性框图。在一些实施例中,系统680包括智能设备681。智能设备681可以包括至少一个中央处理单元(“cpu”)或处理器683,并且可以包括执行一个或多个过程的软件代码685、至少一个存储器687或至少一个显示器689。智能设备681可以包括自包含单元,或者智能设备681可以包括非自包含或分离的部件。例如,显示器689可以系留在智能设备681上或者集成到智能设备681的外壳中。在一些实施例中,智能设备681可以集成为系统680的一部分,使得系统是自包含便携式单元。在一些实施例中,系统680可以包括一个或多个通信接口(未示出)以允许经由网络与其它计算机系统通信(例如,发送和接收制造数据(例如,关于在工作表面上进行的切割的信息)、发送和接收数字设计或设计方案)。在一些实施例中,系统680可以包括一个或多个其它接口(未示出,例如,输入接口)。
102.在一些实施例中,钻机可以包括马达(例如,210、220)、致动器组件(例如,工作台690、枢轴694),以及用于保持工作构件的适配器(例如,夹具、卡盘)。在一些实施例中,没有显示器或相机的计算设备可以可拆卸地与钻机上的部件耦合。计算设备可以包括可操作地耦合到一个或多个处理器的一个或多个存储器,其中一个或多个存储器中的一个存储器可
以具有存储在其上的指令,当该指令由其中一个处理器执行时,使得系统(包括计算设备和钻机)执行所公开的实施例中的一个或多个实施例。在一些实施例中,显示器可以可操作地耦合到计算设备中的一个或多个处理器中的一个处理器。在一些实施例中,计算设备可以包括显示器。在一些实施例中,一个或多个传感器(例如,相机、超声传感器)可以可操作地耦合到计算设备中的一个或多个处理器中的一个处理器。在一些实施例中,计算设备可以包括一个或多个传感器(例如,相机、超声波传感器)。
103.在各种实施例中,系统680可以包括一个或多个传感器以便于确定工具的地点(例如,ir、激光、超声波测距等)。例如,并且在一些实施例中,系统680可以包括相机682,相机682可以与智能设备681结合使用,以构建要在其上工作的材料的地图684。相机682可以耦合或附接到任何工具699以提供该工具699的定位。在一些实施例中,相机682与显示器689和cpu 683耦合。例如,相机682可以是计算机或可以附接或耦合到任何工具699的智能设备681的一部分。软件应用或代码685可以安装在移动智能电话上,并且可以利用智能电话的相机、cpu、存储器和显示器。在一些实施例中,软件或处理的一个或多个方面可以由现场可编程阵列设备(“fpga”)或数字信号处理器(“dsp”)执行。
104.在一些实施例中,相机682可以拍摄具有高帧速率的图像。例如,相机可以扫描材料的表面以获得扫描数据或扫描图像数据。在一些实施例中,相机可以扫描材料的表面,并且处理器可以处理扫描以生成指示材料表面的地图的扫描数据。这可以促进本文公开的定点功能或映射功能。相机682也可以以相对低的帧速率拍摄图像,并且相机682可以与一个或多个光学传感器(例如,光学计算机鼠标中的传感器)耦合。光学传感器可以提供低等待时间航位推算信息。这些光学传感器可以与相机682结合使用。例如,相机682可以每秒几次提供准确的全球位置信息并且明显的滞后,并且光学传感器可以用于提供航位推算信息,其具有填充自从上次拍摄图像以来的时间的低滞后。在一些实施例中,imu可以用于航位推算。系统680可以使用多个相机来增加扫描时覆盖的准确度或范围,或者提供深度信息。
105.在一些实施例中,系统680被配置为构建、生成或以其它方式接收地图684。在一些实施例中,可以使用计算机视觉(“cv”)或传感器技术来构建地图684。例如,cv技术可以用于构建照片马赛克。照片马赛克处理可以包括拍摄同一对象的不同部分的多张照片并将至少两张照片缝合在一起以制作覆盖对象的一些或全部的至少一个整体图像。
106.在一些实施例中,系统680或处理器可以被配置为使用包括同时定点和映射(“slam”)的技术来评估扫描数据。slam可以包括使用与处理器683通信地耦合的传感器和相关软件685来构建在其上工作的材料(或“目标材料”)的地图684,同时(例如,同时地)确定工具699相对于地图684的地点。例如,在构建地图的至少一部分之后,相机682可以捕获正在加工的材料的图像。可以将图像馈送到智能设备681并由智能设备681处理,以确定工具699或钻机的地点。系统680可以基于地图684分析捕获图像,以确定相机681相对于材料的地点。在确定相机682的地点后,在一些实施例中,系统680可以识别钻机的地点是距相机682的位置已知或可确定的偏移,相机682可以刚性地附接到钻机。
107.在一些实施例中,为了构建地图,系统(例如,系统680)的一个或多个处理器(例如,cpu/处理器683)使用一个或多个相机(例如,相机682)来捕获工作表面的一个或多个图像。在一些实施例中,一个或多个处理器可以分析每个捕获图像以识别工作表面上的标示或标记。在一些实施例中,标示可以与工件的特征(例如,木纹图案)相关。在一些实施例中,
标记可以由用户放置在工作表面上。例如,用户可以应用具有地点标记(例如,具有多米诺骨牌图案的标记、具有条形码的标记、具有2d代码的标记、具有二进制图像的标记、基准标记)的带,其具有沿着带的长度印刷的已知维度(例如,长度、宽度、图案间隔、间距)的图案。在一些实施例中,每个图案可以具有编码id,该编码id可以由一个或多个处理器使用图案的图像和图像处理算法来解码。每个标记的编码id可以不是唯一的。例如,带有地点标记的带可能包含100个重复的唯一id。在这个示例中,如果用户使用带的长部分或带的非连续部分,则工作表面可以具有两个具有相同编码id的标记。在一些情况下,标记的编码id可能被一个或多个处理器错误地解码(例如,基于覆盖编码图案的碎屑),这可能导致两个标记具有相同的id。
108.在一些实施例中,为了使用一组捕获图像生成地图,一个或多个处理器分析每个图像以识别标示/标记。对于该组捕获图像中的每个图像,确定对应于图像的图像id的数据和标示/标记信息,包括图像中每个标示/标记的标示/标记id和位置信息。在一些实施例中,标记id可以基于编码图案的编码id。在一些实施例中,标示id可以基于标示的特性(例如,如果标示是木纹图案,则基于颜色)。在一些实施例中,该组捕获图像中的所有图像的数据(包括图像id和图像级标示/标记信息)被一起分析,该分析使用特征映射cv或slam技术来确定标示/标记位置、经受从标示/标记出现的图像导出的约束(例如,与每个图像中的每个标示/标记的位置相关)。在一些实施例中,所得到的标示/标记位置以及对应的标示/标记id用于生成标示/标记的全局列表(例如,对于每个标示/标记,使用id和位置),其中“全局”用于指示此标示/标记列表并非特定于任何一个捕获图像,此列表可能包含仅出现在一些捕获图像中的标示/标记的信息,并且可能没有任何一个捕获图像包含列表中的所有标示/标记。如本文所使用的,“列表”可以是与列表元素相关的任何格式(例如,结构化、非结构化、结构化和非结构化的组合)数据。
109.在一些实施例中,每个标示/标记的位置可以使用六个或少于六个自由度来表达。在一些实施例中,每个标示/标记的位置被给出为x坐标、y坐标和相对于x-轴的朝向角(假设标示/标记全部位于2d平面中)。在一些实施例中,除了使用标记的维度或间距之外,如果事先已知(例如,如果它们是印刷在带上的已知图案),则一个或多个处理器可以使用包括在工作表面中的特征的一个或多个测量(例如,由用户做出的)来沿着一个或多个维度调整标示/标记位置的维度缩放。
110.在一些实施例中,系统可以使用标示/标记的全局列表作为地图。在随后使用地图确定相机地点的处理中,相机可以捕获工作表面的新图像。可以通过一个或多个处理器(例如,cpu/处理器683)分析捕获图像,以识别新图像中包括的标示/标记。在一些实施例中,基于在新图像中识别出的标示/标记生成标示/标记的新列表(例如,对于每个标示/标记,使用标示/标记id和关于标示/标记在图像中哪里出现的信息)。在一些实施例中,如果使用地点标记,则生成构成新图像中识别出的标记的子特征列表(例如,对于每个子特征,使用子特征id和新图像中子特征的位置)。例如,如果标记是如图7b中所示的标记708,则基于标记中的10个白色斑块,该标记中的子特征的数量将是10。假设新图像包括图7b中所示的标记集合,那么子特征列表将包括跨所有55个标记的所有白色斑块。
111.在一些实施例中,如果使用地点标记,则一个或多个处理器可以基于两个列表之间一个或多个标记id的匹配来从全局列表中识别候选标记列表作为新列表中的标记的匹
配。在一些实施例中,如果新列表中的标记的标记id与全局列表中的标记的标记id匹配,则一个或多个处理器可以比较附近标记的标记id。在一些实施例中,用于从全局列表中识别候选标记列表作为新列表中的标记的匹配的一个或多个处理器(例如,cpu/处理器683)可以执行存储在一个或多个存储器(例如,存储器687)上的指令,其实现数学建模(例如,ransac)、模式搜索或图遍历算法。在一些实施例中,在全局列表中的标记列表与新列表中的标记列表匹配之后,为全局列表中匹配的标记列表生成子特征的全局列表(例如,对于每个子特征,使用子特征id和子特征的位置)。在一些实施例中,子特征的全局列表中的子特征id基于标记的全局列表中的标记id。在一些实施例中,子特征的全局列表中的子特征位置基于标记的全局列表中的标记id和标记位置。在一些实施例中,一个或多个处理器可以使用子特征列表和子特征的全局列表以及一个或多个映射算法(例如,解决透视n点问题的方法)来确定当拍摄新图像时相机的地点。
112.在一些实施例中,照片马赛克或显示工作表面的单个图像(例如,用dslr相机拍摄、用系统680的相机682拍摄)可以用作地图。在一些实施例中,可以将由相机(例如,系统680的相机682)捕获的工作表面的新图像与照片马赛克进行比较以确定相机的地点。在一些实施例中,照片马赛克和标示/标记的全局列表的组合可以用作用于基于用相机拍摄的工作表面的图像(包括一个或多个标示/标记)确定相机(例如,系统680的相机682)的地点的地图。在一些实施例中,可以将由相机(例如,系统680的相机682)捕获的工作表面的新图像与该单个图像进行比较,以确定相机的地点。在一些实施例中,用相机拍摄的单个图像和标示/标记的全局列表可以用于确定相机(例如,系统680的相机682)的地点。在这样的实施例中,标示/标记的全局列表用作地图。
113.各种实施例可以使用各种其它定点处理和确定技术,包括例如集成无线位置感测技术,诸如rf、近场通信、蓝牙、激光跟踪和感测、或用于确定工具699在工件顶部上的位置的其它合适方法。例如,超声波、ir测距或激光可以用于检测工具相对于材料的工作区域或表面的地点。根据实施例,可以将检测到的工具地点提供给系统680的任何其它部件,以便于引导或调整工具的位置。
114.在一些实施例中,系统680可以被配置为使用马达轴的当前朝向来计算工具699相对于钻机的位置。例如,系统680可以通过归位(homing)马达轴并且然后跟踪自从归位处理以来所采取的一个或多个动作来识别马达轴的朝向。在一些实施例中,系统680可以使用可能被使用的编码器而不是归位,因为编码器将能够直接告知轴的朝向。通过偏移和计算,系统680可以识别工具699或钻机相对于正在加工的材料的地点。可以针对地图684分析的捕获图像可以包括例如材料的特性,诸如木纹和变形,或者可以包括放置在材料上的标记。下面将更详细地描述映射和定点技术的各个方面。
115.在一些实施例中,系统680可以接收设计方案686或模板。例如,智能设备681可以被配置为从系统680的用户接收设计方案686或模板。智能设备681可以包括或可以访问被配置为接收设计方案686的各种输入/输出设备。在一些实施例中,系统680可以经由网络接收设计方案686。在一些实施例中,用户或系统680可以基于地图684修改或调整设计方案686。例如,用户可以相对于材料的地图684调整设计方案686的尺寸,以便生成正在加工的材料上的期望工作路径。在一些实施例中,系统680可以基于材料的维度自动调整或优化设计的尺寸。
116.网络可以包括计算机网络,诸如互联网、局域网、城域网或广域网、内联网、以及诸如移动电话网络的其它通信网络。网络可以用于访问网页、在线商店、可以在至少一个用户设备上显示或由其使用的零售商店的计算机或数据、系统680或系统100,诸如,例如,膝上型电脑、桌面电脑、平板电脑、个人数字助理、智能电话或便携式计算机。
117.系统680可以被配置为以多种方式创建、捕获或加载设计方案686。在一些实施例中,可以下载或以其它方式获得设计。例如,用户可以在计算设备上生成设计并将设计传送或以其它方式传达到系统680。在另一个示例中,系统680可以从第三方实体接收设计。例如,用户可以经由网络在线购买设计并将设计上传到智能设备或计算机681。在一些实施例中,系统680可以便于捕获表面的地图以及该表面上的设计方案686的地图。这可以有助于设置系统680以遵循特定线或者向用户显示阻碍视线的大工具下方的材料表面的图像,或者显示在表面覆盖有碎屑或其上绘制方案的表面被切掉之前具有处于原始状态的绘制方案的表面。在一些实施例中,可以通过允许用户输入距离、角度和形状或者在触敏垫或显示器上自由手动绘图的菜单驱动界面在设备681上从设计方案686的原始形式设计、更改或操纵设计方案686。
118.在一些实施例中,当用户沿着目标材料移动系统或钻机680时,智能设备681处理来自相机682的捕获图像、确定钻机680的地点,或者在显示器689上向用户提供期望路径。一旦用户将钻机680放置在期望路径附近,钻机或系统680就可以根据加载的设计方案686自动调整工具699的位置以实现期望的工作路径。如本文所述,术语“钻机”和“系统”可以互换使用。在一些实现中,钻机包括物理设备及其附件,并且系统包括物理设备、其附件以及嵌入或包括在一些物理元件中的相关技术和软件代码。
119.在一些实施例中,系统680基于由相机沿着目标材料的任意路径直到覆盖整个感兴趣区域捕获的图像来构建地图684。例如,用户可以在材料表面上以任意路径扫过相机300,直到覆盖整个感兴趣区域。在一些实施例中,系统680可以被配置为使得相机682可以从钻机680移除以扫过或经过材料的区域。系统680可以将由相机682获得的图像缝合在一起。例如,系统680可以使用图像马赛克软件代码685来形成材料表面感兴趣区域的衔接图684。系统680可以将地图684存储在存储器687中。在接收由相机682拍摄的映射材料的图像后,系统680可以将图像与保持在存储器687中的地图684进行比较,并且还可以确定位置和朝向。例如,系统680可以基于比较确定工具、钻头、系统、切割构件、工作台或钻机的位置。
120.在一些实施例中,系统680可以允许用户在组装地图684之后创建和加载设计方案686。例如,在地图684已经在智能设备681(诸如计算机)上组装之后,用户可以通过将其直接绘制在生成的地图684上来在计算机上创建设计方案686。例如,用户可以在期望钻孔的木头块上标记位置。可以采用软件代码685的技术和特征(包括计算机辅助设计和制造)来创建具有准确测量的设计。然后,当用户返回到材料时,相机682在地图684上的位置可以在屏幕或显示器689上显示给用户,其中设计方案686覆盖在地图684上。例如,系统680可以在显示设备上显示覆盖有相对于材料表面的位置(例如,传感器、设备、切割工具或绘图工具的位置)的指示的地图图像。在一些实施例中,系统680可以识别工具相对于地图的地点。例如,相机682可以附接到钻并且用于确定钻相对于设计方案686中指定的目标钻地点的确切位置,从而便于用户更精确地对齐钻。
121.在一些实施例中,系统680被配置为使用目标材料的视觉特征来构建地图并跟踪
相机的位置。在一些实施例中,软件685包括使用诸如颗粒、瑕疵或标示的材料的可见特征来构建地图并跟踪相机位置的指令。可以改变目标材料以便于映射和跟踪功能。例如,纯色塑料对于系统680有效地映射或跟踪来说可能过于无差别。因此,用户可以例如以某种方式改变材料表面来添加可以被跟踪的特征。在另一个示例中,系统680可以指示标记任意添加可以被跟踪的特征。例如,可以添加的特征可以包括通常不可见,但是当施加uv或其它光时可以在非可见光谱或可见光谱中看到的材料的墨水,从而允许相机跟踪不可见墨水的图案,同时一旦工作完成,不显示任何可见标记。在一些实施例中,用户可以应用具有标记的贴条,该标记稍后可以被移除。也可以将特征投影到材料上,诸如使用投影仪。在一些实施例中,可以使用不可见光(例如,红外线、uv)来图案化投影特征。在一些实施例中,对不可见光敏感的传感器(例如,红外相机)可以用于扫描工作表面以捕获不可见光投影特征。或者,如果用户稍后将在材料上涂漆或由于其它原因而不关心材料的外观,则用户可以简单地用铅笔或标记来标记材料。
122.在一些实施例中,标记带或贴条可以在带的整个长度上包括唯一的条形码序列。在一些实施例中,标记带可以是薄的,使得设备可以经过标记带而不会卡住或受到干扰。在一些实施例中,带可以被设计和构造成使得当设备在带上移动时它将保持向下,但是也可以在完成项目时容易地取掉。标记带材料可以包括例如乙烯基或任何其它合适的材料。在一些实施例中,标记带(例如,具有地点标记的带)可以包括可以使用对不可见光敏感的传感器(例如,红外相机)检测到的图案。在一些实施例中,标记带(例如,具有地点标记的带)可以包括响应于某个波长的光照射而发荧光的图案。
123.在相机不能跟踪材料,或者不能足够准确地跟踪材料,或者材料不适合跟踪(例如,由于不平坦的表面),或者阻止相机直接跟踪表面的任何其它原因的情况下,相机可以跟踪材料外的其它标记。例如,用户可以在正在加工的材料的侧面上方、下方或周围放置具有特定特征或标示的壁。周围表面上的特征或标示可以使相机能够确定其在材料上或相对于材料的位置。在各种实施例中,可以使用不同类型的定位技术或设备来定位工具699或工作台690,可能结合主要用于记录材料的视觉外观而不需要执行跟踪功能的相机682。定位技术可以包括例如超声波、ir测距或激光。
124.系统680可以通过调整工作台690或工具699附接到的可移动平台的地点来调整工具699的精确地点。工作台690可以连接到耦合到马达轴的偏心轮。当马达轴以圆形路径移动时,偏心轮使工作台690以复杂的弧形和路径移动。枢轴694可以连接到工作台,并且还连接到偏心轮,偏心轮耦合到第二或枢轴马达轴。枢轴694可以被配置为拉动或推动工作台690以实现工作台在360度范围内的受控移动。通过控制偏心轮的旋转,系统680可以将工作台定位在该范围内的几乎任何xy位置中。
125.在一些实施例中,系统680使用参考查找表来促进引导工具。例如,参考查找表可以包括与期望的工作台位置相关的马达坐标。在一些实施例中,系统680可以计算可以用于调整将工作台690和连接到工作台690的工具699的切割钻头移动到期望位置的马达的计算。在一些实施例中,系统680可以通过定位工作台690和枢轴694在二维平面中将工具699移动360度。例如,工具的切割器具可以在目标范围408的360度窗口内的任何地方移动。
126.在一些实施例中,电动马达可以移动、定位或调整工作台690和枢轴694。工作台马达控制器691可以控制工作台马达210。枢轴马达控制器695可以控制枢轴马达220。工作台
马达控制器691和枢轴马达控制器695可以从智能设备681接收包括期望地点或坐标的信息。基于接收到的信息,工作台马达控制器691和枢轴马达控制器695可以激活并控制它们各自的马达210、220以将工作台690和枢轴694放置在正确或期望位置中,从而将工具定位在期望地点。
127.在一些实施例中,智能设备681可以与工具699通信、从工具699接收信息并控制工具699。例如,智能设备681可以发送指令以打开或关闭电源或者增加或降低速度。在一些实施例中,指令可以通过例如当用户足够靠近或接近材料上的期望路径时调整工具699的深度来发信号通知何时接合目标材料。
128.图4提供了用于在目标材料上执行任务的方法600的实施例的说明性流程图。例如,方法600可以使用基于铣机的实施例来促进切割工作表面。在一些实施例中,在动作602处,用户可以找到或创建他们想要从材料切割出的设计。在一些实施例中,任务可以包括多个任务(例如,可以是整个任务的子集的第一任务和第二任务)。例如,将设计从材料切割出的任务可以包括切割设计的第一部分的第一任务和切割设计的第二部分的第二任务。在一些实施例中,第一和第二任务可以基本相似(例如,相同类型的切割或绘图工具),而在其它实施例中,第一和第二任务可以不同(例如,不同的钻头或绘图工具、不同类型的切割工具、不同的用户设备、不同的材料区域等)。
129.在识别设计方案之前或之后,用户可以映射材料或材料片的表面。如果材料具有足够的标记,则用户可以使用材料本身。但是,在动作604中,如果材料具有平坦表面或有限标记,则用户可以在材料上放置标记。标记可以包括例如打印机标记贴条或能够被容易识别出的其它类型的合适标识。
130.在一些实施例中,在动作606处,传感器可扫描材料以获得扫描数据。例如,相机扫描材料和各种标记以创建地图。cpu可以处理由传感器或相机捕获的图像并生成地图或扫描数据。可以将地图的尺寸和形状适当地操纵为优选配置。在一些实施例中,在动作608处,设计被配准或以其它方式与地图相关以创建切割方案。
131.在一些实施例中,在动作610处,准备切割工具以执行任务。例如,用户可以加载、调整或固定钻头,将其安装到钻机并打开铣机。在一些实施例中,系统可以响应于一个或多个参数(包括例如由用户在特定方向上移动系统680的运动感测)经由软件启动的过程打开铣机。
132.在一些实施例中,在动作612处,系统可以接收各种设置。例如,用户可以设置切割工具的钻头宽度、工具的期望范围修正的范围(例如,区域),十字准线的尺寸或切割工具的速度。此后,可以向软件提供指令以开始任务。
133.在一些实施例中,在动作614处,将钻机放置在期望路径附近,使得系统可以沿着期望路径自动地将工具的位置调整到起始调整范围位置。然后,用户可以遵循如本文例如关于图3所述的恒速策略。在一些实施例中,一旦工具已围绕方案完全前进(动作616),用户就可以从材料中移除设备和工作产品。
134.图5示出了用于恒速策略的方法650的实施例的说明性流程图。图3中的过程假设用户已经将铣机附接到钻机并已映射其材料并加载其设计。在一些实施例中,在动作651处,用户开始切割材料的过程。该过程可以包括将工具移动到材料上的平面或路径范围内的点(动作653)。例如,用户可以移动工具或者可以远程控制工具。
135.在一些实施例中,该过程包括基于工具的位置确定方案上是否存在在钻机的调整范围内的点(动作655)。在范围内没有点的情况下,该过程可以包括发送通知(例如,经由显示器、音频、振动、灯光或led)并等待直到用户在调整范围内移动设备(动作657)。
136.在一些实施例中,如果在调整范围内存在点,则该过程包括在动作659处将平面上最靠近工具的点设置为目标点。在一些实施例中,该过程可以包括将工具移动到目标点并切割材料(动作661)。
137.在一些实施例中,该过程包括通过确定新目标是否在调整范围内来创建第二目标(动作663)。如果存在第二目标,则该过程可以包括将第二目标点设置为新目标(动作665)。设备可以继续沿着顺时针方向移动,从旧目标点到新目标点切割。在一些实施例中,该过程可以包括在工具或铣机从旧目标点到新目标点切割时识别调整范围内的下一个目标点(动作663)。例如,最佳或期望的第二目标的确定可以是连续的,并且基于从相机检测到并由系统处理的图像或各种图像。
138.在一些实施例中,如果在范围内没有目标点,则该过程包括清除目标点(动作667)并在动作655处开始确定平面上是否存在在调整范围内的点。在一些实施例中,该过程继续直到工具已经沿着特定方向(诸如顺时针方向)经过全部或部分方案。
139.在一些实施例中,如果材料尺寸大于设计,则可以绕过映射阶段。例如,用户可以确定与设计上的区域(即,右上角)对应的起始点,并且系统800可以开始绘制图像。
140.到目前为止本文讨论的实施例集中于适用于附接到工作台的工具的钻机,并且工作台由一个或多个马达移动或控制。线性设计描绘了由马达移动的铣机,其中铣机连接到线性工作台。在这种情况下,铣机作为单独的单元附接或安装。但是,该系统可以被设计为一个单元,其中工作台、移动工作台的马达、控制器、以及所有这些都在相同的壳体内并且在与工具的壳体和动力相同的动力系统内。举例来说,铣机壳体将被扩大以适合工作台和马达,并且可以包括集成到壳体中的显示器。通过这样的实施例,可以改进形状因子以看起来像单件工具。
141.本文给出的实施例并不意味着是穷举的。使用本文描述的概念的其它实施例是可能的。另外,这些实施例中的部件可以以各种不同的方式实现。例如,线性工作台、或铰链接头、或电磁滑动件、或另一个定位机构可以用于响应于其检测位置和其预期位置来调整工具或工具所处的工作台。
142.举例来说,本文描述的系统和方法可以与钻、钉枪和在固定位置操作的其它工具一起使用。在这样的实施例中,可以修改工具和软件,使得方案包括一个或多个目标点而不是完整设计。用户可以移动设备,使得目标位置在调整范围内。然后,软件可以将工具移动到正确的目标位置。然后,用户可以使用工具钻孔、钉入钉子或执行其它操作。
143.在一些实施例中,工具可以在不提供自动调整的情况下促进执行任务。例如,可以移除工作台、枢轴、马达和偏心轮。工具可以附接到下部工作台壳体。可以修改软件,使得方案包括一个或多个目标点。用户可以移动设备,使得工具直接在目标位置上方。用户可以使用显示器上提供的位置反馈来执行准确定位。
144.在一些实施例中,本公开有助于引导或定位竖锯(jigsaw)。竖锯刀片可以在刀片的方向上旋转和移动,但不垂直于刀片移动,否则它将会卡住。本公开可以包括可以放置在定位台的顶部上的旋转台。竖锯可以附接到该旋转台。可以修改软件以使竖锯遵循方案并
旋转到正确的朝向,并且使得确保竖锯不垂直于刀片移动。在一些实施例中,马刀锯可以代替竖锯来实现相同的效果。可以通过旋转旋转台来操纵切割工具,并且可以通过移动定位台沿着切割方向移动切割工具。在该实施例中,竖锯刀片的工作运动是沿着竖锯刀片的长轴的垂直切割运动。
145.在一些实施例中,系统可以支持旋转而不支持平移。例如,系统可以在滚动的竖锯中自动定向刀片(例如,具有可以独立于主体旋转的刀片的竖锯)。在该实施例中,软件可以操纵刀片以使其瞄准正确的路线并且用户可以负责控制其位置。
146.在一些实施例中,系统可以定位滚动锯。例如,相机可以耦合到滚动锯,并且用户可以移动材料。滚动锯的上臂和下臂可以机械化,使得它们可以通过计算机控制独立地移动。然后,用户可以移动材料使得方案位于滚动锯的调整范围内,并且软件将调整滚动锯以遵循方案。在一些实施例中,上臂和下臂可以移动到相同位置,或者独立移动以形成不垂直于材料的切口。
147.在一些实施例中,位置校正设备可以安装到移动平台。例如,该设备可以放置在材料上并使得到处驱动自身。该设备也可以用在其中两个移动平台在它们之间拉伸切割刀片或线的替代实施例中。例如,可以独立地控制每个平台,从而允许切割线在3d中任意移动,例如以切割泡沫。
148.在一些实施例中,系统可以耦合或以其它方式附接到车辆或工作装备,诸如其中在车辆上安装位置校正机构的推土机。例如,混合定位系统的一些实施例可以包括车辆,该车辆包括精确到第一范围内的第一位置校正系统和精确到比第一范围更精确的第二范围的第二位置校正系统。该车辆可以在诸如位于地面上的钢板之类的材料片上驾驶,并且诸如等离子切割器的切割工具可以用于切割材料。在一些实施例中,本公开可以促进绘图设备或绘画设备,例如在足球场上布置线或标记建筑工地。例如,车辆可以包括工业车辆,诸如叉车型车辆,其被配置为包括切割器或其它工具、相机和本文所述的控制电路系统,以确定车辆(或工具)在材料上的地点、识别在何处切割或标记材料,并调整工具以在适当的地点切割或标记材料。
149.图6是根据说明性实现的计算机系统600的框图。计算机系统600可以用于实现系统680。计算系统600包括用于传送信息的总线605或其它通信部件,以及耦合到总线605用于处理信息的处理器610或处理电路。计算系统600也可以包括一个或多个处理器610或耦合到总线用于处理信息的处理电路。计算系统600还包括耦合到总线605用于存储信息以及要由处理器610执行的指令的主存储器615,诸如随机存取存储器(ram)或其它动态存储设备。主存储器615也可以用于在处理器610执行指令期间存储位置信息、临时变量或其它中间信息。计算系统600还可以包括只读存储器(rom)1220或耦合到总线605用于存储静态信息和用于处理器610的指令的其它静态存储设备。诸如固态设备、磁盘或光盘之类的存储设备625耦合到总线605,用于持久地存储信息和指令。在一些实施例中,系统600可以包括一个或多个通信接口(未示出,耦合到总线605)以允许经由网络与其它计算机系统通信(例如,发送和接收制造数据(例如,关于在工作表面上进行的切割的信息)、发送和接收数字设计或设计方案)。
150.计算系统600可以经由总线605耦合到显示器635,诸如液晶显示器或有源矩阵显示器,用于向用户显示信息。输入设备630(诸如包括字母数字键和其它键的键盘)可以耦合
到总线605,用于将信息和命令选择传送到处理器610。在另一个实现中,输入设备630具有触摸屏显示器635。输入设备630可以包括光标控件,诸如鼠标、轨迹球或光标方向键,用于将方向信息和命令选择传送到处理器610并用于控制显示器635上的光标移动。
151.根据各种实现,本文描述的过程可以由计算系统600响应于处理器610执行包含在主存储器615中的指令的布置来实现。这样的指令可以从另一个计算机可读介质(诸如存储设备625)读入到主存储器615中。包含在主存储器615中的指令的布置的执行使计算系统600执行本文描述的说明性过程。还可以采用多处理布置中的一个或多个处理器来执行包含在主存储器615中的指令。在替代实现中,可以使用硬连线电路系统代替软件指令或与软件指令组合来实现说明性实现。因此,实现不限于硬件电路系统和软件的任何特定组合。
152.虽然已在图6中描述了示例计算系统,但是本说明书中描述的主题和功能操作的实现可以在其它类型的数字电子电路系统中实现,或者在包括本说明书中公开的结构及其结构等同物的计算机软件、固件或硬件中实现,或者在它们的一个或多个的组合中实现。
153.本说明书中描述的主题和操作的实现可以在数字电子电路系统中实现,或者在包括本说明书中公开的结构及其结构等同物的计算机软件、固件或硬件中实现,或者在它们的一个或多个的组合中实现。本说明书中描述的主题可以被实现为由数据处理装置执行或控制数据处理装置操作的、编码在一个或多个计算机存储介质上的一个或多个计算机程序,即,计算机程序指令的一个或多个电路。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如,机器生成的电、光或电磁信号,该信号被生成以编码用于传输到合适的接收器设备以供数据处理装置执行的信息。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是以人工生成的传播信号编码的计算机程序指令的源或目的地。计算机存储介质也可以是或包括在一个或多个单独的部件或介质(例如,多个cd、盘或其它存储设备)中。因此,计算机存储介质既是有形的又是非瞬态的。
154.本说明书中描述的操作可以由数据处理装置对存储在一个或多个计算机可读存储设备上或从其它源接收到的数据执行。
155.术语“数据处理装置”或“计算设备”包括用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机、片上系统、或前述的多个或组合。装置可以包括专用逻辑电路系统,例如,fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件的代码、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中一个或多个的组合。装置和执行环境可以实现各种不同的计算模型基础设施,诸如web服务、分布式计算和网格计算基础实施。
156.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、声明或过程语言,并且它可以以任何形式部署,包括作为独立程序或作为电路、部件、子例程、对象或适用于在计算环境中使用的其它单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保持其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件中(例如,存储一个或多个电路、子程序或代码部分
的文件)。计算机程序可以被部署为在一个计算机系统上执行或者在位于一个站点或分布在多个站点并通过通信网络互连的多个计算机系统上执行。
157.举例来说,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,或可操作地耦合以从一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备,或者两者,大容量存储设备例如磁盘、磁光盘或光盘。但是,计算机不必要具有这样的设备。此外,计算机可以嵌入在另一个设备中,例如,移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器),这只是举了几个例子。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如,eprom、eeprom和闪存设备;磁盘,例如,内部硬盘或可移动盘;磁光盘;以及cd rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路系统补充或并入到专用逻辑电路系统中。
158.为了提供与用户的交互,本说明书中描述的主题的实现可以在具有用于向用户显示信息的显示设备以及键盘和指示设备(例如鼠标或轨迹球)的计算机上实现,显示设备例如crt(阴极射线管)监视器、lcd(液晶显示器)监视器、增强现实平视显示器或虚拟现实平视显示器,并且用户可以通过键盘和指示设备向计算机提供输入。其它类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。
159.参考图7a,示出了设计方案和标记材料702的实施例的说明性示例。放置标记材料704可以有助于映射目标材料。例如,目标材料可能不包含足够的区分标示。向目标材料添加差异化标示(例如,贴条、墨水、铅笔)可以有助于系统680在切割过程期间映射目标材料和跟踪切割工具的定位。在这个示例中,设计方案采用国家/地区的形式。标记材料可以放置在目标材料的表面上,以便于映射目标材料并跟踪位置和根据设计调整位置。
160.参考图7b,示出了地点标记706的实施例的说明性示例。地点标记706可以作为设计方案的一部分包括在内,或者可以指用于形成设计方案的一种类型的标记材料702。地点标记706可以放置在目标材料上并由系统680使用以映射目标材料并跟踪切割工具相对于材料表面的位置。
161.可以设计、构造或配置地点标记706,使得系统680易于检测和读取(例如,经由相机或传感器682)它们。例如,地点标记706可以包括表示二值化图像的多米诺骨牌。二值化图像可以包括具有两个值的图像,诸如具有两种颜色的图像。在一些实施例中,可以选择两种颜色,使得两种颜色的第一颜色与两种颜色的第二颜色形成对比。例如,两种颜色可以包括白色和黑色、红色和白色、橙色和蓝色、绿色和紫色等。基于多米诺骨牌的地点标记706可以由系统680容易且快速地读取。通过使用地点标记706和预定数量的特征(例如,斑块710),可以快速地从二值化图像轮廓树中读取地点标记706。此外,每个多米诺骨牌可以包括一个数字,其有助于跟踪多个多米诺骨牌。此外,系统680可以容易地确定每个圆710的子
像素准确度。在一些实施例中,角圆(例如,710)可以存在于多个多米诺骨牌706中的每一个中。在每个多米诺骨牌中存在角圆710有助于读取地点标记706,并且可以允许系统680以增加的距离读取地点标记,因为特征具有均匀的尺寸。具有均匀尺寸的特征防止特征的子集在所有特征消失之前从二值化图像中消失。例如,如果所有特征710具有相同的尺寸,则系统680可以或者检测所有特征,或者如果地点标记708在检测范围之外则不检测任何特征。
162.在一些实施例中,地点标记706可以包括基准标记708。基准标记可以指可由系统680以最小计算能力检测到的标记。在一些实施例中,系统680可以直接从作为黑白图像(可能作为具有更多数据的图像的二值化,例如灰度或全色)的输入检测地点标记700。
163.在一些实施例中,系统680可以使用二值化图像的轮廓树来检测地点标记706。轮廓树可以指斑块树。斑块可以指相同颜色的区域。轮廓可以指或包括斑块的边界或相同颜色的区域。斑块可以具有诸如圆形、正方形、三角形、多边形、卵形、椭圆形、矩形、五边形、廓形或允许系统680检测地点标记的其它形状的形状。
164.在一些实施例中,可以在树中组织斑块,使得树中的每个节点对应于斑块。此外,如果父斑块包含子斑块,则节点可以是另一个节点的子节点。例如,在大写字母“b”的图像中,有四个斑块:白色背景、字母的黑色和b的内部的两个白色斑块。它们被组织在树中,使得字母是背景的子斑块,并且两个内部斑块都是字母的子斑块。
165.在一些实施例中,地点标记可以包括如图7b中所示的多米诺骨牌。虽然图7b中示出了矩形多米诺骨牌,但是可以使用具有图案或其它形状斑块的其它标记。例如,标记可以是多边形、圆形、椭圆形、正方形、三角形、五边形等,而不是矩形标记708。斑块710可以是圆形或其它形状。一组或多个标记可以被称为场景706或多个标记706或多个候选地点标记706。标记708可以是候选标记,因为系统680可以执行初始处理以识别图像并基于阈值测试或满足标准(例如,斑块是否存在于预定位置中、是否存在图案、或者指示图像对应于地点标记708的其它签名)来确定图像是否是地点标记。
166.地点标记可以包括:包括一个或多个标记708的一行或多行712;以及包括一个或多个标记708的一列或多列714。在一些实施例中,多个地点标记706或场景706可以是对称的(例如,相同数量的行和列)。在一些实施例中,多个地点标记706或场景706可以不是对称的(例如,不同数量的行和列)。
167.每个多米诺骨牌706可以在轮廓树中包括可识别签名。例如,多米诺骨牌可以在黑色斑块内包括10个白色斑块。白色斑块可能没有子斑块。多米诺骨牌配置可以包括具有十个白色子斑块的轮廓树,该十个白色子斑块是黑色背景树的叶子。因此,如果系统680检测到该配置(例如,具有10个白色斑块的黑色斑块),则系统680可以采用黑色斑块并将其作为基准标记处理。这种附加的处理可能最终拒绝将多米诺骨牌作为标记,或接受多米诺骨牌作为地点标记。这种可能性扩展到轮廓树中的任何可识别的签名,这可能涉及可变数量的子斑块,只要它足够独特,仅从轮廓就可以具有良好概率识别它是标记并花费附加的计算资源更深入研究它。
168.因此,系统680可以被配置为使用初始图像处理技术执行对检测到的图像的初始评估。在初始处理技术期间,系统680识别轮廓树以确定轮廓树是否匹配或满足初始筛选。例如,如果系统680检测到黑色斑块和10个白色斑块(例如,如多米诺骨牌708所示),则系统680可以确定图像可以包括地点标记,并且转发图像以进行进一步处理。通过执行初始评
估,系统680可以预先筛选图像并选择图像的子集以进行进一步的、更加计算密集的处理。因此,系统680可以提高效率并减少用于确定工具相对于工作表面的地点的计算资源量。
169.在一些实施例中,可以通过二值化输入图像、计算轮廓/斑块树或寻找已知签名来非常快速地检测标记。在一些实施例中,对图像进行二值化可以指将图像转换为黑白颜色。在一些实施例中,地点标记可以将数据编码到每个基准标记(例如,708)中并且易于检测。例如,基准标记708可以编码数字,这允许系统680跟踪(管理、维护、识别或确定)场景中存在的多个基准标记(例如,场景可以指地点标记706)。基准标记708的数量在场景706中可以是唯一的,或者在场景706中可以不是唯一的。在一些实施例中,诸如每个多米诺骨牌708的标记包括以二进制编码数字的白色斑块的图案。
170.在一些实施例中,标记708可以包括位于预定地点的斑块(例如,710)。标记708可以包括四个角中的每个角中的斑块,从而允许系统680不仅确定基准标记708的存在而且确定它的布局(诸如标记相对于相机682的位置和朝向)。包括预定位置中的斑块可以提高系统680解码在标记本身中编码的消息的能力。例如,如果斑块被布置在网格中,则识别各角提供网格的布局并允许系统680将每个网格方块映射为1或0以表示存在或不存在斑块。在一些实施例中,系统680可以使用标记的预定地点中的斑块来检测多米诺骨牌或标记708的布局,但是然后以另一种方式解析一些编码数据,其可以或可以不编码在二值化图像/轮廓树中。
171.在一些实施例中,标记708可以包括这样的斑块,这些斑块被成形,然后可以通过返回参考全色(或灰度)图像以子像素准确度来解析。例如,系统680可以将斑块识别为圆圈(或预先被配置为将斑块识别为圆圈)。系统680可以确定二值化图像中每个斑块的边界方框。然后,系统680可以使用灰度图像中的对应灰度像素来将椭圆(在透视图中观察为圆圈)拟合到像素,从而给出子像素准确度。系统680可以通过使用斑块的该子像素准确检测来更准确地检测基准标记708相对于相机的位置和朝向。然后该位置和朝向可以在系统680中向前馈送以进行进一步处理,诸如在3d空间中定点相机。
172.现在参考图8a-8b,示出了用于指引和抽取尘屑的系统、方法和装置。尘屑抽取可以指在诸如碾磨、铣削、打磨等加工过程期间从大块工件(材料的表面、工作表面)去除的材料颗粒的排空。在木工领域,尘屑可能是锯尘。有效地抽取尘屑有助于维持清洁的工作环境、安全无尘的呼吸空气,并防止在工具附近积聚尘屑,否则积聚的尘屑会阻碍工具的切割动作并导致产生过多的热量。此外,木屑的积聚会产生爆炸风险。此外,对于利用光学方法(例如,相机682)进行定点的自动引导工具(诸如系统680),尘屑会干扰工具确定工具相对于材料表面的地点的能力。本公开的系统、方法和装置高效地从工具的工作区域排出尘屑。在一些实施例中,在没有真空源的情况下,尘屑可以在受控方向上从工作区域铣出。
173.图8a图示了根据实施例的被配置为指引和排出尘屑的工具800。工具800包括旋转切割器1(或工具尖端、或切割构件、或工作构件),当旋转切割器1通过材料2轴向、横向或其组合移动时,旋转切割器1剪切材料2。工具800包括工具框架3。工具框架3可以包括由工具框架3中的空隙形成的腔体。腔体3可以进一步由空间4形成,其中工作材料2的部分已被移除或切除。工具的切割构件或铣机钻头或尖端可延伸穿过腔体3。腔体3可以形成一个或多个通道或通道的一部分。通道指引气流6。通道在图9a-9b中进一步示出。该工具可以包括相机10,相机10可以包括相机682的一个或多个功能。相机10可以包括或称为传感器,诸如图
像传感器、红外传感器或激光传感器。在这个实施例中,旋转切割器1的工作运动是沿着旋转切割器1的轴自旋。
174.在一些实施例中,旋转切割器1的旋转动力可以由包括一体风扇802的铣机5或主轴5(例如,木工装饰铣机、或金属切割工具、或塑料切割工具等)产生。风扇802可以是集成到主轴5中的单独风扇,或者风扇802可以指作为旋转切割工具1的主轴5的副产品而产生的气流。在一些实施例中,风扇802可以在工具外部,诸如在主轴5的外部。风扇802可以包括一个或多个叶片或刀片,该一个或多个叶片或刀片被布置成当旋转时产生气流。该风扇802可以产生向下的气流6,该气流将尘屑驱逐出由工具框架3和空间4形成的收集腔并沿着工具底板7中的通道。这些通道将尘屑引向工具8的前部,工具8的前部保持尘屑以免尘屑积聚到光学定位系统10(例如,相机682)可以瞄准的工具9的后部。在一些实施例中,工具800的前部8可以指背向工具正在切割的方向的工具的一部分或者更靠近工具的用户的工具的一部分。在一些实施例中,工具800的后部9可以指面向工具正在切割的方向的工具的一部分或者远离工具的用户的工具的一部分。在一些实施例中,工具的后部9指其中相机10瞄准的工具800的部分。工具800可以包括真空端口11,该真空端口11通向由接收气流6的空隙3和4形成的通道之一。
175.图8b图示了类似于工具800包括附接到真空端口11的真空源12的工具801的实施例。真空源12将气流偏向真空源13。这可以通过由基板7中的空隙3和4形成的连接通道抽取并进入到真空源12中。在这种配置中,尘屑可以从工具上高效地去除而不会进入周围环境(例如,工具9的后部)。
176.由腔体3和4形成的通道允许由工具主轴5的风扇802产生的气流6和由真空源12产生的气流沿着共同的路径作用以去除尘屑。这提供了高效的除尘系统,因为真空源12不会抵抗由集成主轴风扇802产生的气流。
177.图9a图示了用于指引和抽取尘屑的装置900的俯视透视图。装置900可以耦合到系统或装置800或801的一个或多个部件、可以是系统或装置800或801的一个或多个部件的一部分,或者由系统或装置800或801的一个或多个部件形成。在一些实施例中,装置900包括工具800的基板7。基板7包括由基板7中的空隙或腔体3形成的通道904a-b。基板7的一部分面向材料2或搁置在材料2上或与材料2相对。风扇802产生向下流向材料2的气流6。真空源12产生朝真空源12和真空端口11的气流13。气流6朝向材料2的方向由x表示,而示出的朝向真空端口11的气流13由圆圈中的点示出。
178.在一些实施例中,在基板7中形成的通道904a-b是v形的。在一些实施例中,可以存在从腔体3延伸的两个通道904a和904b。在一些实施例中,可以存在一个通道(例如,仅通道904a)。在一些实施例中,可以存在多个通道(例如,两个或更多个通道)。多个通道中的一个可以包括耦合到真空源12的真空端口11。通道904a和904b可以形成u形。通道804可以包括第三通道,该第三通道经由腔体3垂直于通道904a和904b延伸。
179.通道904a和904b可以形成角度906。角度806可以在1度至180度的范围内。在一些实施例中,角度906可以是90度、45度、60度、120度等。可以选择角度906,使得来自材料2的尘屑被有效地导向远离工具的后部9并经由通道904a-b和气流6和13到工具8的前部。
180.通道904a-b可以包括通道深度。通道深度对于通道904a和通道904b可以是相同的,或者在不同通道之间可以是不同的。通道深度可以大于零。通道深度可以是从0.02英寸
至2英寸范围内的值。基于工具的类型或被切割的材料的类型,深度可以更小或更大。例如,被指引或抽取的颗粒的尺寸可以确定通道深度(例如,较浅通道深度用于较小颗粒,并且较深通道用于较大颗粒)。
181.在一些实施例中,从风扇802产生的气流6和13的第一组成部分可以大于从真空源12产生的气流6和13的第二组成部分。在一些实施例中,从风扇802产生的气流6和13的第一组成部分可以小于或等于从真空源12产生的气流6和13的第二组成部分。
182.在一些实施例中,可以确定从真空源12产生的气流,使得气流将工具800(或装置900)保持到材料2。这可以增加工具接触材料部分之间的摩擦,从而可以增加在材料2上切割或执行任务时的稳定性。
183.图9b图示了用于从工具的后部9指引或抽出尘屑的装置902。图9b图示了包括通道904a-b的装置902或基板7的俯视透视图。装置902可以类似于或包括装置900的一个或多个部件。在一些实施例中,装置902包括真空端口11,但不耦合到真空源(例如,如装置900中所示)。虽然装置902可以不在真空端口11处耦合到真空源,但是装置902仍然可以经由通道804和由风扇(例如,风扇802)产生的气流6指引和抽取尘屑。
184.真空端口11可以沿着通道904a或通道904b定位在任何地方。在一些实施例中,真空端口11可以相对于腔体3更靠近基板900的边缘或角落定位。真空端口11与基板902的边缘之间的距离908可以大于零。真空端口11和腔体3之间的距离910可以大于零。距离910可以与距离908不同。距离910可以大于距离908。距离910可以是距离908的倍数。可以确定距离908和910,使得可以从工具的后部9有效且高效地指引和抽取尘屑。
185.图9c图示了底板910的底部透视图。底板910可以对应于底板7。底板910包括通道912a-b,通道912a-b可以对应于通道904a-b。基板910包括可以对应于腔体3的腔体916。基板910包括通道912中的真空端口914,其可以对应于真空端口11。真空端口914可以连接或不连接到真空源。
186.基板910可以由便于系统680或工具800的操作的任何材料制成。材料可以是金属、塑料、合金或其它材料,该材料为工具800提供足够的结构支撑和摩擦以允许工具在表面上滑动,同时提供一定的稳定性。
187.图9d是基板920的俯视透视图,基板920可以对应于图9b的基板902的实施例。基板920包括腔体922,切割构件或工具的尖端可以通过腔体922延伸。基板920可以包括真空端口924。
188.基板920可以包括在基板920的底部(例如,基板的与要在其上执行任务的材料相对的部分或侧面)上的通道。基板920可以包括用于一个或多个螺钉的附加开口或腔体或凹槽,或用于将基板920耦合到工具(诸如工具800)的耦合机构。
189.在一些实施例中,由风扇产生的气流的一部分、由驱动工作构件的马达产生的气流的一部分、或由真空产生的气流的一部分可以被引导以冷却工具(例如,工具800)的一个或多个电气部件(例如,电源、散热器)。
190.参考图10a,示出了用于确定工具尖端相对于工作表面或材料的位置的系统、方法和装置。该系统、方法和装置可以校准工具的位置检测。在一些实施例中,系统680可以被配置、设计或构造成确定工具尖端相对于工作表面的位置。系统1000(或工具1000)可以在一个或多个方向上移动、定位或控制工具尖端24的运动(例如,图10b示出了工具尖端24接触
材料2的表面)。可以手动或自动激活控制。在一些实施例中,工具1000可以包括或被配置有旋转切割器24的高度相对于工件或材料2的表面的自动控制。系统1000可以包括图1-9和11a-11b的系统或装置的一个或多个功能或部件。
191.系统1000(或工具1000)可以校准工具的位置检测。系统1000可以包括耦合到工具1000的底座18。底座18可以与工作表面2接触。在一些情况下,底座18可以包括垫22。例如,底座18可以包括垫22,使得底座18经由垫22与工作表面2接触。因此,在一些实施例中,底座18可以指底座18和垫22。在一些实施例中,底座18可以不与工作表面接触。底座18可以与传感器23接触,传感器23与垫22接触,并且垫22可以与工作表面或工件或材料2接触。
192.系统1000可以包括具有一个或多个处理器的一个或多个计算设备。在一些情况下,系统1000可以包括远离工具的一个或多个计算设备。例如,工具可以包括无线或有线通信接口,该接口可以发送和接收来自远离工具的一个或多个计算设备的数据或控制信息。
193.系统1000可以包括通信地耦合到计算设备的一个或多个传感器23。系统1000可以包括由计算设备控制,以使工具尖端24朝工作表面2延伸和从工作表面2缩回的马达19。马达19可以控制或包括或指代被配置为使包括例如可移动滑架15的工具尖端24延伸或缩回的系统1000的一个或多个部件。
194.系统1000可以经由一个或多个传感器23识别指示由底座的一部分施加在工作表面上的力的量的参数的第一值。例如,传感器23可以包括力传感器23。系统1000可以将第一值确定为第一力值,其指示由底座23施加在材料2上的默认或初始力。这可以指示工具的重量。力可以以牛顿或磅为单位来测量或确定。传感器23可以基于时间间隔(例如,每0.1秒、0.5秒、1秒、2秒、3秒、5秒或一些其它时间间隔)重复地检测或测量参数的值。传感器23可以将第一值或第一测量值与第二或后续测量值进行比较。传感器23可以重复地将测量值与随后的测量值进行比较,直到传感器检测到测量值之间的变化或差异(例如,0.5%、1%、2%、3%的变化或诸如1n、0.5n、0.25n、0.1n、0.05n或2n的绝对变化)。差异可以指预定阈值的差异。阈值可以是固定的或动态的。阈值可以基于传感器23的分辨率。
195.系统1000可以指示马达19指示马达将工作构件或尖端24朝工作表面2延伸。然后,系统1000可以在工作构件24接触工作表面2时经由传感器23识别参数的第二值。该第二值可以是第二力值。当工具尖端24不与工作表面接触时,第二力值可以小于由传感器23确定的第一力值。在一些情况下,可以存在多个传感器23,并且每个传感器可以确定第一力值和第二力值。在一些情况下,第一传感器可以确定与由第二传感器检测到的第一力值不同的第一力值。第一值可以指工具尖端何时不与材料2接触。第一和第二传感器可以识别不同的第一值,因为由于工具的重心不均匀地位于第一和第二传感器之间。因此,当工具尖端24接触材料2时,由第一传感器检测到的第二力值可以与由第二传感器检测到的第二力值不同。例如,当工具尖端24接触材料2时,工具的底座18可以以某个角度(例如,1度、2度、5度或10度)倾斜。底座18的倾斜可以使第一传感器22测量小于由第一传感器22测量的第一力值的第二力值,而第二传感器22可以测量大于由第二传感器测量的第一力值的第二力值。
196.系统1000(或计算设备)可以基于与工作表面2接触的工具的底座18的一部分来识别参数的第一值。响应于电机19使工作构件24接触工作表面2,系统1000可以经由传感器23基于工具底座的与工作表面不接触的部分(例如,部分地接触或在表面上施加比先前施加的力小的力)来识别参数的第二值。例如,不接触可以指或包括由底座18的部分施加的较小
的力。在一些情况下,系统1000可以指示马达19接触工作表面2以使底座18的至少一部分倾斜。使底座18倾斜可以指分配由底座18施加的力,使得底座18的第一部分比底座18的第二部分在材料2上施加更大的力。使底座18倾斜可以指改变由底座18的部分施加的力的分布。系统1000可以响应于工作构件24响应于工作构件24接触工作表面2而使工具的底座18倾斜来确定工作构件24相对于工作表面2的z-轴位置。
197.系统1000可以将参数的第一值与参数的第二值进行比较,以生成第一值和第二值之间的差值。系统1000可以确定绝对差值(例如,力的量的差值),或者简单地确定由于两个值彼此不相等而存在差异。系统1000可以确定如果特定传感器22的第一和第二值不相等,那么这是由于工具尖端24接触材料24并且将由底座18施加的力偏移或分布到材料2上。系统1000可以响应于由于更小的力可以由底座18施加到材料2上而导致的第一力值大于第二力值来确定z-轴位置。
198.响应于检测到该差异,系统1000可以确定工具尖端24已接触材料,并使用该信息来确定工作构件相对于工作表面的z-轴位置。例如,系统1000可以确定这是工具尖端24的基线或默认位置。系统1000可以校准工具尖端24的位置,使得这是零位置。当系统1000使工具尖端24从材料缩回时,系统1000可以监视或跟踪工具尖端24与对应于材料2的表面的经校准的零位置的距离。例如,系统1000可以控制或指示马达19使工具尖端24缩回或移动远离可对应于材料的表面的经校准的零位置一定距离(例如,1毫米、5毫米、1厘米、5厘米或10厘米)。在一些情况下,系统1000可以指示或控制马达19将工具尖端24插入到材料2中一定距离。例如,系统1000可以指示或控制马达19将工具尖端24插入超过经校准的零位置一厘米,这可以将工具尖端24插入到材料2中一厘米。例如,系统1000可以使用经校准的零位置在材料中形成一厘米的孔。
199.系统1000可以指示马达19使与工作表面2接触的工作构件24缩回以远离工作表面2。系统1000(或其传感器23)可以通过测量参数的第三值来识别何时工作构件24不与工作表面接触。参数的第三值可以大于参数的第二值,因为工具尖端24不再抵消由底座18施加到材料2上的力(例如,经由传感器23或垫22)。当工具尖端24也不与材料2接触时,参数的第三值可以等于(例如,在1%、2%、5%或10%内基本上等于)参数的第一值。系统1000可以响应于第一值和第三值之间的第二差值小于阈值(例如,差值小于第一值或第三值的百分比,诸如1%、2%、3%、5%或10%;或差值小于力值,诸如1牛顿、0.5牛顿、0.01牛顿、2牛顿、5牛顿或10牛顿)来确定工作构件相对于工作表面的第二z-轴位置。
200.因此,为了便于控制旋转切割器24的高度,工具可以确定参考点或“零”点,使得工具1000(例如,经由切割构件24)可以被定位以移除一定量的材料2。例如,工具1000可以在旋转切割器24横向移动以形成凹槽之前将旋转切割器24陷入到工件2中指定深度。工具可以使用一种方法来精确地确定工具尖端相对于工作表面的位置。在一些实施例中,工具1000使用低成本传感器23,例如力传感器,其检测由工具1000的一部分施加在材料2上的力的增量或变化。在一些情况下,传感器23可以包括电容传感器、光电传感器、电磁传感器、称重传感器、应变式称重传感器、压电晶体、液压称重传感器或气动称重传感器。
201.当尖端24朝材料2移动并接触材料2时,可以减小由底座18施加的力,因为力被卸载到工具24的尖端。检测到这种力的变化可以指示工具的尖端正在接触材料2的表面并允许工具将该位置配置或设置或初始化为零位置。这对于包括自动引导工具的手持式电动工
具来说可能是有用的,并且还可以应用于全自动机床。
202.在一些实施例中,工具1000包括安装在铣机5(例如,木工装饰铣机)的主轴14中的铣机钻头1。铣机5可以固定在可移动的滑架15中,滑架15在导轨16上滑动。导轨16可以安装到结构柱17。结构柱17可以固定到工具1000的底座18。马达19可以固定到工具1000的底座18以旋转导螺杆20。导螺杆20可以穿过可移动滑架15上的螺母21。导螺杆20可以包括方形螺纹、梯形螺纹或锯齿形螺纹。当马达19旋转时,可移动滑架15与导螺杆20的螺距成比例地平移。
203.在一些实施例中,可移动滑架15可以安装到移动台,该移动台在z方向上受框架约束。在一些实施例中,z柱或导轨16可以安装到移动的xy工作台,该xy工作台在z方向上受设备1000的框架约束。例如,工具或设备1000可以包括具有可以定位在诸如木材的一块材料的表面上的工作台的钻机或框架。工具可以电气或机械耦合到框架,并且框架与工具一起可以在材料上通过。工具可以将框架、工作台或工具移动(或提供用于用户移动的指令)到材料上的期望xy或z坐标。例如,工具可以包括美国专利申请公开no.2015/0094836中描述的系统的一个或多个部件(例如,钻机、工具、工作台等)。美国专利申请公开no.2015/0094836通过引用被整体并入本文。
204.在一些实施例中,工具1000可以使用一种或多种其它配置或技术来相对于工作表面移动工具1000的尖端24。其它配置可以包括动力螺杆、平移螺杆、滚珠螺杆、滚柱螺杆、流体动力、撕裂系(tear trains)、蜗杆驱动器、齿条齿轮驱动器、电磁致动、压电致动、液压升降机、电动升降机、旋转升降机、气动升降机、机械升降机、杠杆、齿轮等。
205.工具(或设备)1000的底座18可以通过设备1000搁置在其上的垫22与工作表面2分离。在一些实施例中,一个或多个力传感器23可以定位在垫22和设备1000的底座18之间。当设备1000搁置在工作表面2上时,由设备1000的重量产生的重力部分地或完全地通过一个或多个力传感器23。
206.为了定位切割工具1000的尖端24,系统或设备1000可以使滑架15移动得更靠近工作表面2,这使尖端24朝工作表面移动。当进行该运动时,可以测量通过力传感器23的力(例如,响应于运动测量、周期性地测量、基于诸如每毫秒、10毫秒、1秒等的时间间隔测量)。一旦切割工具的尖端24与工作表面2接触,附加的运动就导致设备1000的一小部分重量通过工具尖端24传递到工作表面2,并且通过传感器23的力相应地减少。系统检测到一个或多个传感器23上的力的变化,并且可以停止滑架的运动。记录滑架15的位置,并且滑架15的位置可以对应于工具尖端在工件表面处定位的点。因为工具尖端和工作表面可能是刚性的,因此在非常小的距离上发生可检测的重量转移,并且在桦木胶合板表面上使用1/4”碳化合金铣机钻头,该方法的误差可以对应于小于0.0005”。
207.系统1000可以重复地使工具尖端24朝材料2或支撑材料2的表面(例如,桌子、台架、地板或其它支撑结构)延伸或者从材料2或支撑材料2的表面缩回。系统1000可以重复地延伸和缩回工具尖端24以生成或创建材料2的三维地图。
208.在一些情况下,系统1000可以使工具尖端24邻近材料2的边缘延伸。系统1000可以使工具尖端24邻近材料2的边缘延伸,直到工具尖端24接触支撑材料2的表面。系统1000可以通过确定工具尖端24延伸超过材料2的表面以便接触支撑材料2的表面的距离来确定材料的厚度。系统可以使用力传感器23检测何时工具尖端24接触材料2或支撑材料的表面来
确定这些位置。例如,系统1000(或马达19)可以使工作构件24朝支撑工作表面的表面延伸。工具的底座18的一部分可以与工作表面2接触,同时工具的底座18的一部分可以离开材料2。或者,在一些情况下,底座18可以与材料2接触,并且材料可以成形或配置为使得当工具尖端24延伸时可以接触与表面相对的支撑材料2的表面;或者工具尖端24可以延伸穿过材料2中的孔以接触支撑材料2的表面。系统1000(例如,经由传感器23)可以检测工作构件24接触支撑工作表面的表面。例如,系统1000可以检测参数(例如,力)的第三值,并且响应于第一值和第三值之间的第二差值大于阈值(例如,差值可以大于第一值或第三值之一的1%、2%、5%、10%;或者差值可以大于例如1牛顿、0.5牛顿、0.01牛顿、2牛顿、5牛顿或10牛顿的力值)来确定工作表面2的厚度。
209.系统1000可以基于工具的工作构件24接触工作表面来确定多个地点点。例如,系统1000可以重复地延伸和缩回工作构件24以接触材料2和使工作构件24远离表面移动。每当工具尖端24接触材料2(或不接触材料2)时,系统1000可以记录信息。例如,系统1000可以记录或识别地点点。每个地点点可以具有x-轴坐标、y-轴坐标和z-轴坐标。x-y坐标可以使用材料表面上的标记来确定,并且可以相对于材料的表面或材料表面上的位置。可以使用材料表面上的基准标记、成像技术或视觉技术来确定x-y坐标。例如,工具的第二传感器(例如,视觉传感器或相机)可以使用放置在工作表面上的基准标记来确定每个地点点的x-轴坐标和y-轴坐标。系统可以通过延伸工具尖端24直到尖端24接触表面并且测量相对于经校准的零位置的深度来确定z坐标(或深度)。经校准的零位置可以是材料表面上的位置。系统1000可以使用地点点生成工作表面2的三维图。
210.系统1000可以通过将工具尖端24的位置与工作表面2的平面上的设备(例如,工具1000)位置关联来测量工作表面2的几何形状。为了这样做,工具尖端24(例如,具有圆锥形或球形尖端的圆柱形工具)可以通过检测工具尖端24的位置首先与工具1000的参考框架相关。一旦工具尖端24的位置相对于工具的参考框架已知,工具就可以被横向定位在感兴趣的表面(例如,工作表面2)上以确定工作表面的垂直位置。工作表面的垂直位置可以指工作表面的材料的表面。在一些情况下,垂直位置可以指示一块木材中感兴趣深度的凹槽、空洞、凹痕或凹陷部分。在一些情况下,垂直位置可以指示一块木材中感兴趣深度的升高部分、凸起、突起或凸出部分。然后可以插入、延伸、降低、陷入或以其它方式移动工具尖端直到工具尖端接触材料部分的表面(例如,凹槽或突起)。工具尖端超过其中工具尖端首先接触工作表面的表面的顶部部分的附加位移可以指示凹槽的深度。类似地,工具尖端在其中工具尖端首先接触工作表面的表面部分上方的位移的减小可以指示突起的高度。如果感兴趣的是凹槽的表面轮廓,那么工具可以围绕凹槽移动到多个点。工具可以在多个点中的每个点处确定深度。工具可以记录工具的深度和横向位置(例如,x,y和z坐标,其中x和y坐标可以指横向位置并且z坐标可以指深度)。横向运动可以使用内置定位台自动完成,或者由用户手动执行,或者两者的组合。
211.系统1000可以识别或确定工作表面2上的孔的中心位置。例如,具有锥形尖端24的工具1可以装配到系统中。然后工具1可以被定位在大约孔的中心上方(例如,孔的直径的5%、10%、15%、20%、25%、30%、50%、75%或90%内),并且陷入直到尖端24接触孔的圆圈。因为工具尖端24可以是锥形的,因此工具尖端24可以使工具在孔上居中。然后,工具可以使用例如具有相机10的视觉系统来确定横向位置(例如,x和y坐标)以确定孔的位置。
212.系统1000可以包括计算设备、处理器或微处理器(诸如系统680的处理器)或与之通信。计算设备可以包括系统680的一个或多个过程。系统1000可以使用计算设备来控制定位马达的运动并且还可以测量通过一个或多个力传感器23的力。传感器23可以包括例如力敏电阻器、压电传感器、应变计、负载销、剪切梁、张力链、磁性液位计、扭矩传感器、称重传感器、液压称重传感器、气动称重传感器、弹性设备、磁弹性设备、塑料变形、箔应变计等。
213.在一些实施例中,工具可以使用相机、视觉信息或imu来检测倾斜。工具可以包括相机10(也在图8a中示出)或其它传感器。相机10可以包括相机682的一个或多个部件或功能。相机10可以确定捕获图像中的移位,该移位对应于由底座提升产生的倾斜。在工具使工具尖端24与工作表面2接触之前,相机10可以拍摄第一张图片或图像,然后在工具尖端接触工作表面时拍摄第二张图像。相机10可以基于时间间隔(例如,每1秒、2秒、3秒、0.5秒或5秒)重复拍摄图像,并将第一图像与后续图像进行比较以识别倾斜。相机10可拍摄一连串图像,并且然后将图像相互比较以检测工具尖端何时接触表面引起倾斜。在一些情况下,一连串图像中的每个图像可以与时间戳相关联。每个图像还可以与工具尖端的位置相关联、标记有工具尖端的位置或以其它方式与工具尖端的位置对应。系统可以确定一连串图像中的哪个图像首先指示倾斜(例如,当工具尖端接触材料2时,当工具1000朝工具的后部倾斜时,相机10拍摄的图像中的对象可能看起来更近)。在一些情况下,系统1000可以确定第一图像和后续图像之间的像素的差异或未对准。响应于检测到像素中的未对准,系统1000可以确定工具尖端在与具有相对于第一图像或先前图像的未对准像素的后续或第二图像对应的时间戳时接触材料2。相机可以将第一图像与第二图像进行比较以识别两个图像之间的倾斜或变化。
214.在一些实施例中,系统1000可以确定工作构件24何时与已知表面(例如,底座18的顶部表面)接触。一旦工作构件24离开已知表面,系统1000就可以通过将工作构件24向下延伸已知偏移量来使工作构件24首先接触工作表面2,所述已知偏移量等于已知表面和工作表面2之间的高度。如果工作构件可以穿透工作表面并且因此模糊工作构件和工作表面之间的接触的检测,则可以使用这种确定工作构件和工作表面之间的接触的方法。
215.在一些实施例中,工作构件和工作表面之间的接触可以通过检测沿着轴驱动运动的致动器(例如,驱动z-轴的马达)的功耗来确定。一旦工作构件接触工作表面,致动器的功耗就由于随着工作构件推向工作表面轴上的负载增加而增加。在一些实施例中,可以使用致动器电压供应中的线内电流传感器来测量轴致动器的功耗。在一些实施例中,工作构件和工作表面之间的接触可以通过测量致动器步进位置和致动器轴编码器读数之间的偏差来确定

一旦工作构件接触工作表面,该偏差就增加。
216.在一些实施例中,工具(例如,系统1000)中的一个或多个处理器可以监视来自以下中的一个或多个的信号:力传感器、相机、向致动器供电的电流传感器、监视沿着轴的运动的编码器,或同时检测工作构件(例如,工具尖端)与表面(例如,工作表面、工具中的表面)的接触的imu。在一些实施例中,一个或多个处理器可以分析一个或多个被监视信号以确定工作构件与表面的接触。在一些实施例中,可以基于提供最佳信噪比的信号来确定工作构件与表面的接触。在一些实施例中,工作构件与表面的接触可以基于确认工作构件已经接触表面的两个或更多个信号来确定。
217.传感器10可以包括图像传感器或相机。参数可以包括像素。像素可以在图像中具
有地点。系统1000可以捕获(例如,经由图像传感器)包括具有第一值(例如,二进制值、256位值、红色、绿色蓝色值、灰度值、亮度值或数值)的像素的第一图像。系统1000可以捕获包括像素的第二值的第二图像。第二值可以与第一值用于相同的像素。像素可以是图像中的地点。系统1000可以将包括第一值的第一图像与包括第二值的第二图像进行比较,以识别第一值和第二值之间的差值。系统可以将第一图像中的一个或多个像素与第二图像中的一个或多个像素进行比较以检测差异。系统可以比较两个捕获图像以确定它们未对准。图像可能由于底座以一定角度倾斜而未对准,该倾斜可能导致相机以与第一图像相比的不同角度或从不同视角捕获第二图像。因此,系统可以将未对准归因于工具尖端24接触工作材料的表面并使底座倾斜。
218.工具可以使用电容传感器50或电磁传感器60来确定工具尖端24与工作表面2的接近度。例如,电磁传感器60可以通过感测金属中感应的涡电流来感测或检测包括金属的工具尖端24或工作构件24附近感测线圈的电感变化。
219.在一些情况下,工具1000可以包括imu。例如,传感器23或传感器10可以包括imu,诸如3轴加速度计或陀螺仪。imu可以响应于由底座提升引起的运动或突然运动来指示倾斜。例如,当工具尖端不与表面接触时,imu可以确定指示工具的底座的加速度的第一值。例如,第一值可以是零,因为底座可以搁置在工作表面上。当工具尖端触摸或接触表面时,imu可以确定第二值。第二值或第二加速度值可以指示由工具尖端接触工作表面并移动机械连接到工具尖端的底座引起的底座的加速度、冲击、移动、力或其它位移。计算设备可以将第一值与第二值进行比较,以基于工作构件与工作表面的接触来识别工具的底座的加速度。在一些情况下,计算设备可以确定第一值和第二值不相等或基本相等(例如,在1%、2%或5%内),并且基于加速度存在差异来确定工具尖端与工作表面接触。
220.工具可以确定或检测关于工具的附加信息,包括尖端或工作构件位置、直径或工具几何形状。确定工具的几何形状可以包括或指确定切割工具的直径。工具几何形状信息可以用于自动确定工作构件的切割槽的长度和切割器的角度(例如v雕刻钻头或螺旋角)。例如,工具可以包括靠近工具尖端24的相机10或光束中断传感器10(例如,激光光束中断传感器、红外光束中断传感器、光电传感器或光学传感器)。工作构件24可以落入到传感器10的作用线中,并且当工作构件24使由传感器10形成的光束中断时,工具可以检测工作构件24的位置。在一些情况下,可以相对于工具的坐标系预先校准光束的轴。
221.在一些情况下,系统可以包括瞄准工具尖端24或工具构件1的一个或多个视觉相机10,以确定工作构件1或工具尖端24的位置。视觉相机10可以被预先校准到工具坐标系以检测工具尖端24。在一些情况下,视觉相机可以包括线性电荷耦合器件(ccd)传感器或其它图像传感器。线性ccd传感器可以使用比视觉相机更少的处理来检测工具尖端。
222.系统1000可以测量工作构件1或工具尖端24的直径。工具可以在测量或确定工具尖端的位置的同时使工具尖端24移位。通过使工具尖端移位,工具可以通过使工具从左到右穿过传感器10来使用单个光束中断传感器10检测工具直径。工具的横向运动可以导致第一次中断并且然后不阻挡光束来提供工具直径的测量。由于铣机钻头可以具有螺旋槽,因此工具可以沿着工具的长度执行多次测量来确定直径。工具可以使用涡电流或使用一维传感器的电容感测来确定直径,以通过将传感器数据与工具位置关联来收集关于工具几何形状的多维信息。工具可以确定关于工具尖端24的附加信息,诸如在v形切割钻头的情况下的
尖端角度。此外,工具可以包括视觉相机10以检测工具的几何特性。
223.系统1000可以包括或配置有混合定位系统以定位工具的工作构件。例如,系统可以包括工作台。系统可以包括靠近工作台的滑动垫,以便于移动工作台。系统可以包括至少一个适于移动工作台的马达。系统可以包括至少一个控制至少一个马达的马达控制器。系统可以包括与一个或多个软件应用组合用于处理数据和向至少一个马达控制器提供信息的计算设备或处理器。系统可以包括第一传感器,该第一传感器被配置为捕获材料表面的第一信息以构建表面的地图。第一信息可以包括表面的图像。系统可以包括与处理器通信耦合的第二传感器。第二传感器可以捕获用于确定工作构件的地点和工作构件相对于表面的朝向中的至少一个的表面的第二信息。计算设备或处理器可以使用由第一传感器捕获的第一信息来构建表面的地图。计算设备或处理器可以接收与使用第一信息构建的表面的地图对应的设计。处理器可以经由显示屏显示覆盖在地图上的设计。系统可以经由第二传感器接收表面的第二信息。系统可以基于表面的第二信息并基于地图来确定工作构件的地点和工作构件相对于表面的朝向中的至少一个。系统可以经由显示屏显示覆盖在地图上的工作构件的地点。系统可以基于在地图上配准的设计以及地点和方向中的至少一个来确定工作构件的期望地点。系统可以提供马达控制信息以控制至少一个马达在工具沿着基本上与设计轮廓相邻的选定范围内的第一方向前进时将工作台和工作构件移动到期望地点。当工具沿着第一方向前进时,系统可以在第二方向上自动地将工具重新对准设计的边界边缘。
224.例如,系统1000可以使用所确定的工作构件的z-轴位置至少部分地基于工作构件的z-轴位置来提供用于控制一个或多个马达以将工作构件从第一地点移动到第二地点的马达控制信息。马达控制信息可以包括x-轴信息、y-轴信息或z-轴信息中的一个或多个。工具可以在与工具的工作构件的预定路径相邻的范围内的方向上前进。
225.在一些情况下,系统1000可以从第一传感器接收第一信息,并且基于材料表面的第一信息使用表面的地图来确定工具的工作构件的第一地点(例如,x-y坐标或x-y-z坐标)和工作构件相对于表面的朝向中的至少一个。系统可以经由工具的显示屏指示工具的工作构件相对于表面的地图的第一地点。系统可以检索与表面的地图对应的设计,以识别工具的工作构件的路径。系统可以将工具的工作构件的第一地点与设计进行比较,以确定与工具的工作构件的路径对应的工具的工作构件的第二地点。系统可以基于第二地点和朝向中的至少一个提供马达控制信息,以控制至少一个马达将工作台和工作构件移动到第二地点。工具可以在与工具的工作构件的路径相邻的范围内的方向上前进。
226.系统可以执行恒速技术来提供马达控制信息以控制至少一个马达将工作台和工作构件移动到多个后续地点,同时工具在对应的多个后续方向上前进。当工具沿着第四方向前进时,系统可以在第三方向上自动地将工具重新对准设计的边界边缘。系统可以显示目标范围窗口,该窗口呈现工具的参考点、预期切割路径和期望的工具移动路径的图示。预期的切割路径可以指示x-y坐标系中的位置以及z-轴深度。
227.传感器可以接收或捕获图像数据的实时馈送。系统可以接收由传感器捕获的图像数据的实时馈送,并使用实时馈送图像数据来比较设计上的先前位置(例如,x-y坐标或x-y-z坐标)和设计上优选的下一个位置(例如,x-y坐标或x-y-z坐标)以自动重新对准工具的位置。
228.虽然图10a-10b图示了确定旋转切割工具24相对于工作表面2的位置,但是该方法
可以应用于绘制笔、乙烯基切割刀、移液管尖端、用于拾取和放置机器的真空喷嘴、或任何其它系统以确定工作构件24相对于工作材料2的零位置。
229.图10c图示了根据实施例的与垫相邻的力传感器23。力传感器23可以临时放置在那里以执行确定零位置的校准程序。可以在完成校准过程之后移除力传感器23。
230.图10d图示了定位或放置在基板920的顶部上的力传感器23。一个或多个力传感器23可以定位在工具1000上的任何地方,使得力传感器23可以检测与接触材料2的表面的工具尖端24对应的力的变化。力的变化可以是检测到的力的减小,因为一些力经由工具尖端24传递到材料而不是通过力传感器23传递到材料上。
231.图11a和11b图示了具有基板1105的工具1100。工具1100可以包括工具1000的一个或多个部件,并且基板1105可以对应于基板910。图11a图示了当不使用除尘和指引技术时留在材料上的尘屑或颗粒,而图11b图示了本文所述的尘屑指引和抽取技术如何可以从材料中去除尘屑(例如,经由风扇产生的气流和/或通过远离工具后部的通道的真空源或经由真空端口抽出)。工具1100可以经由工具的基板的腔体或通道移动由工作构件从工作表面移除的材料的颗粒。工具1100可以通过真空将颗粒经由腔体抽离工作构件。
232.图12图示了根据实施例的校准工具的位置检测的方法的框图。简而言之,方法1200包括在1205处检测参数的第一值的工具。在步骤1210处,工具将工作构件朝工作表面延伸。在1210处,工具检测参数的第二值。在1220处,工具确定工作构件相对于工作表面的位置。方法1200可以由图1-11b中描绘的一个或多个系统的一个或多个部件或模块执行。
233.仍然参考图12,并且进一步详细地,工具在1205处检测参数的第一值。工具(例如,经由传感器)可以检测参数的第一值。传感器可通信地耦合到包括一个或多个处理器的计算设备。参数或其第一值可以指示由工具的底座的一部分施加在工作表面上或朝工作表面施加的力的大小。工具可以在工具的底座的一部分与工作表面接触的情况下检测参数的第一值。例如,底座的一部分可以搁置或放置在工作表面或材料上。在一些情况下,底座可以包括与工作表面接触的垫。
234.在步骤1210处,工具将工作构件朝工作表面延伸。工具(例如,经由通过计算设备控制的马达)可以使工作构件朝工作表面延伸。当工作构件接触工作表面时,底座可以至少部分地与工作表面接触。例如,工作构件可以接触工作表面并且至少部分地提升或倾斜底座的一部分。底座的该部分可以或可以不与表面接触,这取决于与材料表面接触的工具尖端提升或倾斜底座的程度。在一些情况下,底座仍然可以与表面接触,但是由底座施加在工作表面上的力的量可以更小。该更小量的力可以对应于参数的第二值。
235.在1210处,工具检测参数的第二值。工具(例如,经由传感器)可以通过识别小于参数的第一值的参数的第二值来检测工作构件何时接触工作表面。第二值可以小于第一值,这是因为由于工具尖端分布由底座施加的力而导致由底座的一部分施加的力可以更小。力可以被分布使得工具尖端将一些力施加到材料上,或者使得底座的另一部分比底座的第一部分施加更大的力。例如,工具尖端可以使底座倾斜,使得底座的第一部分比底座的第二部分施加更小的力。例如,响应于马达使工作构件接触工作表面,工具可以在工具的底座的一部分不与工作表面接触的情况下检测参数的第二值。工具可以响应于工作构件响应于工作构件接触工作表面而使底座倾斜来确定工作构件相对于工作表面的z-轴位置。
236.在1220处,工具确定工作构件相对于工作表面的位置。工具(例如,经由计算设备)
可以响应于第一值和第二值之间的差值大于阈值来确定工作构件相对于工作表面的z-轴位置或深度。工具可以基于这些检测到的z-轴位置来校准工具的位置检测系统。例如,工具可以将该位置设置为零、初始或默认位置。然后,系统可以确定工具尖端相对于经校准的零位置的z-轴坐标或位置。在一些情况下,工具可能没有将检测到的表面校准为零位置,但可能会记录主轴的绝对距离。由于工具尖端长度可以基于工作构件或工具的类型而变化,因此工具可以预先确定主轴的尖端的位置,因为它是不可互换的。
237.在图13-21中提供并描绘了与切割工具一起使用的本公开的实施例的形式和结构。图13-21中描绘的实施例提供了被配置为与铣机500一起使用的系统或钻机100。系统100包括两个支撑腿104,其在下端附接到底座壳体130并在上端处终止于设备支架122。设备支架122包括左和右显示器夹124,以将监视器或智能设备570夹紧或锁定到设备支架122中。设备570包括显示屏572,以供用户查看该特定用途的切割路径。底座130还具有通过抓握支撑臂108附接的左右手柄或把手106。
238.底座130的下端具有底板139,其包围工作台150和下工作台滑垫151。底座130和底板139诸如通过机加工螺钉彼此紧固。如图20所示,底板139具有附接到底部的底部滑垫141。底部滑垫141用于辅助钻机100沿着被加工材料的表面移动。底部滑垫141可以由高密度聚乙烯、特氟隆或其它合适的材料制成,该材料既耐用又适用于沿着材料滑动。
239.通过将铣机基板510附接到工作台150,将铣机500添加到钻机100。如图21所示,工作台150具有若干工具附接点164,用于将铣机底座510附接到工作台150。铣机底座510具有多个铣机底座支撑腿508,其形成围绕铣机钻头512的笼。铣机500还具有电源线506和通断开关504。钻机100可以被实现为包括板载电源(诸如电池电源)的自包含便携式单元。
240.智能单元或监视器570可以具有带电缆终端或插座576的输入电缆574。如果设备是智能单元,则cpu、软件和存储器将在设备本身上。如果设备570仅仅是监视器,则电缆574和插座576将连接到cpu单元。
241.如图14-19所示,系统100可以包含工作台马达210和枢轴马达220。工作台马达210用于控制工作台150的移动。枢轴马达220用于控制枢转臂156的移动,枢转臂156拉动或推动工作台150以将马达210、220的旋转运动转换成相对线性运动。工作台马达210和枢轴马达220各自分别具有其自己的马达盖212、222。
242.马达210、220可以由连接到印刷电路板250和微控制器板252的工作台马达驱动器253和枢轴马达驱动器254控制。微控制器252处理来自智能设备或cpu单元(即,笔记本电脑)的低级指令。该指令将是移动马达210、220到正确步骤命令中的设定位置(即,位置150、125)以将马达驱动到那些位置的指令。通过将马达一次归位到零位置并然后跟踪所采取的所有后续步骤来跟踪马达的朝向。替代地,系统可以使用旋转编码器来跟踪马达轴的朝向的状态。马达210、220和马达驱动器253、254通过将电源插头插座255连接到电源来供电。
243.如图15-16所示,钻机100的后部包括相机支撑件190。相机支撑件190可以是一个或多个支撑构件,其连接到上工作台壳体130并终止于其中安装相机300的钻机100的顶部。相机300和镜头304放置在相对向下的位置,以捕获正在加工的材料及其周围区域的图像。
244.偏心轮可以用于将马达的旋转运动转换成线性运动。偏心轮是围绕偏心轴旋转的圆盘。当轴旋转时,它们在缠绕在偏心盘周围的套环中产生线性运动。偏心轮能够维持精确线性工作台的相同低后冲(backlash)准确度,同时更便宜。1/2”的线性位移范围完全在偏
心轮的能力范围内。该工具可以包括安装在框架上并连接到可以在其底座上滑动的工作台的两个偏心轮。偏心轮可以通过步进马达旋转,并且通过旋转它们,可以在框架内移动工作台。可以改变各种偏心轮的尺寸和形状,以提供工具699相对于工作空间的更大或更小的相对移动。
245.为了约束工作台,一个偏心轮可以通过滚珠轴承耦合直接连接到工作台,而另一个偏心轮通过耦合和铰链连接。这种连杆设计导致偏心轮朝向和工作台位置之间的非线性关系。靠近范围的中心,偏心轮的适度旋转产生工作台的适度运动。作为对照,靠近范围的边缘,需要大得多的旋转才能使工作台移动固定量。在一些示例中,工作台位移被限制为最大范围的大约95%,以避免具有极端非线性的位置。这种连杆设计还允许反向驱动,因为作用在工具上的力可以使凸轮旋转远离其目标位置。但是,本公开利用充分提供动力的马达,其具有足够的动力以即使存在显著的力的情况下也能阻止反向驱动。
246.如图21所示,上工作台壳体130可以是单件式单元,其中间隔件131、133、135被机加工或形成在上工作台壳体130中。间隔件131、133、135为工作台150和枢轴臂156提供移动所需的空间。前间隔件131、侧间隔件133和后间隔件135不需要形成为一个单元。相反,前间隔件131、侧间隔件133和后间隔件135可以是附接到上工作台壳体130的单独件。上工作台壳体130还容纳若干上工作台滑垫137。上工作台滑垫137允许工作台稳定臂152从而以最小的摩擦沿着垫137移动。
247.工作台150理想地由轻质但耐用且坚固的材料制成,诸如铝或一些其它合金。工作台150很可能被加工成包括一个或多个稳定臂152、工作台偏心臂构件154、工具附接点168,以及其中工具延伸穿过工作台150的开口160。此外,枢轴臂156很可能由与工作台150相同的合金或材料加工而成。
248.在操作中,工作台马达210响应于工作台马达轴184的旋转而移动。工作台偏心凸轮构件174附接到工作台马达轴184。当工作台马达轴184旋转时,工作台偏心凸轮174旋转并且凸轮设计使得连接到凸轮174并围绕凸轮174的工作台臂构件154移动工作台150。可以在凸轮174和工作台臂构件154之间使用轴承环。
249.另外,当枢轴马达220移动时,枢轴马达轴186旋转。枢轴偏心凸轮构件176附接到枢轴马达轴186。当枢轴马达轴186旋转时,枢轴偏心凸轮176旋转并且凸轮设计使得连接到凸轮176并围绕凸轮176的枢轴臂构件154将枢轴臂156前后移动,这使得工作台150相对于枢转臂156移动。可以在凸轮176和枢转臂156之间使用轴承环。
250.当工作台150和枢转臂154移动时,工作台稳定臂152沿着上工作台滑垫和下工作台滑垫151移动(例如,如在图13中),以在移动期间稳定工作台150。此外,工作台偏心轮174和枢轴偏心轮176可以包括凸台。凸台为偏心轮174、176提供一些额外的材料以容纳固定螺钉,该固定螺钉夹在工作台马达轴184或枢轴马达轴186上,从而将其牢固地附接到相应的偏心轮174、176。图21中可以看到枢轴偏心凸台187。由于工作台150和枢轴臂156在不同的平面上操作,因此工作台偏心凸台相对于枢轴凸台187是翻转的,因此在图中未示出工作台偏心凸台。
251.图22描绘了用于引导工具的系统。制造或生产操作可以包括在具有至少一个平面的一块材料上或与一块材料一起工作,诸如从一块胶合板切割出一种形状。但是,对于工具来说,确定平面的边缘的地点可能是具有挑战性的,所述平面的边缘可以是矩形,如在胶合
板中,或者是平滑的轮廓,诸如2d模板的边缘。本解决方案的系统、方法和装置涉及用于检测边缘的形状和/或位置的系统。
252.系统2200可以配置有一种或多种技术以便于引导工具的工作构件或钻头。例如,工具可以包括探针并且配置有横向探测技术,该技术测量材料或工件的表面,或者在工件上或相对于工件建立参考点。该工具可以探测工件轮廓的一个或多个点以数字化模板。该工具可以探测轮廓的一个或多个点,以在翻转之前和之后扫描工作材料的边缘,以对准用于双面加工的方案。该工具可以探测轮廓的一个或多个点以生成网格覆盖。
253.在一些实施例中,系统可以包括与数字处理器耦合的手持式工具。手持式工具可以包括已知或近似已知几何形状的物理元件,诸如探针。除了用作探针之外,探针还可以是在除探测以外的一些其它能力中使用的工具的一部分,诸如钻头。使用一个或多个传感器,系统可以在任意坐标系中确定探针的3d位置或地点,并存储该位置。系统可以通过检测工具框架的位置并使用从工具框架到探针的偏移来确定位置,或者系统可以直接检测位置。
254.系统2200可以包括系统或工具100、680、600、800、801、1000或2800的一个或多个部件或功能。系统2200可以与系统或工具100、680、600、800、801、1000或2800的一个或多个部件或元件集成或包括在一起。系统2200可以包括图1-9和11a-11b的系统或装置的一个或多个功能或部件。例如,系统可以包括工具1000和耦合到工具1000的底座18或垫22。系统2200可以包括被设计和构造成便于引导工具的一个或多个处理器(例如,cpu 683)、计算设备(例如,600)或存储器(例如,存储器687)。系统2200可以包括接口2205。接口2205可以包括触摸界面、按钮、拨动开关、运动界面或图形用户界面。接口2205可以包括由系统2200的一个或多个处理器操纵的动态接口2205。接口2205可以包括输入/输出接口,诸如触摸屏、键盘、鼠标或按钮。
255.系统2200可以经由接口2205接收指令或指示。指令可以包括用于启动或继续探测或映射操作的指令。例如,指令可以是映射材料或工件。用户可以经由接口2205输入指令。接口2205可以接收各种指令或指示。例如,界面可以接收探针与材料的边缘接触的指示。接口2205可以接收降低或升高探针的指示或指令。接口2205可以接收用于发起、继续或终止映射材料的指示。响应于接收到指令,接口2205可以向马达19提供或传送指令(例如,经由一个或多个处理器或计算设备)。例如,计算设备可以经由接口2205接收指示,并且响应于指示,可以指示马达19升高或降低探针(例如,工具尖端24)。
256.在一些情况下,接口2205可以接收探针的默认或初始深度或长度的指令或指示。例如,用户可以输入探针的长度为0.25英寸、0.5英寸、0.75英寸、1英寸或另一个单位中的其它长度。在探针2215降低之后,用户可以输入探针2215延伸超出底座或超过材料表面的量。
257.系统2200可以包括马达19。马达19可以包括系统1000中描绘的马达19的一个或多个部件或功能。马达19可控制探针2215的移动以沿着轴线升高或降低探针2215(例如,工作构件、钻头或其它突起)。马达19可以包括一个或多个机械元件(例如,齿轮、弹簧、线圈、磁性部件、链条、滑轮或杠杆)以升高和降低探针2215。马达19可以沿着正交于或垂直于工具底座(诸如底板7或工作台690)的平面的z-轴移动探针。
258.系统2200可以包括一个或多个探针2215。探针2215可以包括突起、工作构件或工具尖端,诸如工具尖端24。探针2215可以由任何材料形成,诸如金属、铝、合金、钢、铁、塑料、
织物或纸。在一些实施例中,探针2215可以包括激光或光束。探针2215可以具有便于探测材料以生成轮廓、映射或确定位置的任何形状、几何形状或维度。例如,探针2215可以是圆柱形的、矩形的、扁平的、窄的或宽的。探针2215可以具有半径或长度,诸如半径为1/8、1/4英寸或1/2英寸。包括形状、半径、长度的探测信息可以存储在存储设备2235中。
259.系统2200可以包括一个或多个传感器2210。一个或多个传感器2210可以包括相机,诸如相机682或其它传感器22或23。传感器2210可以包括力传感器、接近传感器、触摸传感器、或运动传感器。传感器2220可以包括imu以检测朝向。
260.传感器2220可以获得材料或工件的图像。传感器2220可以连续地或者响应于指示或指令获得图像。传感器2220可以例如经由接口2205接收探针与材料边缘接触的指示。响应于该指示,传感器2220可以获得图像或捕获关于材料或者探针2215或工具相对于材料的位置的其它数据。
261.在一些实施例中,传感器2220可以自动确定探针2215何时接触材料的边缘。例如,传感器2220可以响应于探针对着材料边缘推动而检测力或脉冲。响应于检测到力,一个或多个传感器或相机可以捕获图像或扫描材料的表面。
262.系统2200可以包括地图生成器部件2225。地图生成器部件2225可以包括计算设备(诸如计算设备600)或由计算设备执行。地图生成器部件2225可以基于识别探针2215与材料边缘的接触来确定探针2215相对于材料的位置。
263.在一些情况下,系统2200可以获得或识别三维(3d)数据以确定位置。三维位置数据可以包括x、y和z坐标。系统2200可以使用例如材料表面上的标记来确定x-y坐标。系统2200可以使用探针的深度来获得z-轴数据。系统2200可以使用累积的3d位置数据和已知的探针2215几何形状来确定关于材料边缘的信息。
264.地图生成器部件2225可以获得并生成如图24所示的地图或轮廓。图24是图示根据实施例的边缘检测的图。例如,系统可以将探针2215的几何形状识别或确定为圆柱形。用户可以移动手持式工具(例如,与系统2200集成的工具1000),使得探针2215在沿着材料2405的边缘的点处接触。例如,探针2215可以在接触点2410、2415和2420处接触材料的边缘。用户可以重复移动手持式工具以接触边缘点2410、2415和2420。在一些情况下,用户可以连续地将手持式工具移动到边缘点2410、2415和2420或另外的边缘接触点。系统2200可以组合所确定的位置2410、2415和2520以生成数字或电子地图或材料的轮廓,并将电子地图或轮廓存储在存储设备2235中。
265.系统2200可以确定边缘点2410、2415或2420位于材料2405上哪里。系统2200可以确定边缘点2410和2415位于矩形材料2405的边缘上。例如,用户可以输入边缘点2410和2415位于材料2405的边缘上的指示。用户还可以输入点2420位于材料2405的相邻边缘上。
266.系统2205还可以确定工具的朝向。例如,系统2205可以确定或配置有指示工具具有相对于平面(例如,工具的基板、工作台或框架)的朝向的信息,使得探针2215圆柱体的主轴线垂直于平面。系统2200可以配置有该信息,因为手持式工具可以具有平坦表面,在该平坦表面上,手持式工具搁置在实施该朝向的平坦材料平面上。根据该数据,系统可以确定矩形的探测边缘2410、2415或2420所在的3d平面。系统可以使用涉及探针几何形状的计算来确定3d平面,例如,通过将检测地点处的探针中心偏移圆柱形探针的半径。
267.系统2200可以通过沿着连续边缘滑动探针2215来生成材料或模板的地图或轮廓。
系统2200可以生成至少部分弯曲的材料或模板的地图。系统2200可以生成包括由探针2215检测到的模板或材料的整个轮廓的地图。
268.图25是图示根据实施例的边缘检测的图。图25图示了材料、工件或模板2505。材料2505可以具有边缘2510。探针2215可以在接触点2515处接触材料的边缘2510。当探针2215接触边缘点2515时,例如圆柱形探针的探针的中心可位于路径2520上。探针2215可以沿着路径2520移动。当探针2215沿着路径2520移动时,系统2200可以将探针2215的位置检测或连续检测为与路径2520对应。系统2200可以在探针2215沿着与边缘2510相邻的路径2515移动时连续地(例如,基于至少1hz、2hz、5hz、10hz、25hz、50hz或100hz的采样率)检测探针2215的位置。路径2520可以从材料2510的边缘偏移探针2215的半径。系统2200可以校正该偏移以将材料2505的形状确定为与边缘2510对应。
269.系统2200可以接收(例如,经由接口2205)关于检测到的边缘是几何形状中的内孔还是外部轮廓的指示,以便在正确的方向上偏移检测到的探针几何形状的中心,以确定探测边缘几何形状。图26是图示根据实施例的边缘检测的图。图26图示了模板2605。模板2605可以由任何材料或标记形成,诸如贴条、纸、金属或木材。模板2605可以包括切口2610。切口2610可以位于模板2605的内部。切口2610可以包括连续边缘。系统可以确定探针2215的位置为在点2620处。探针2215可以沿着切口2610移动,并且系统2200可以确定探针2215的位置为沿着虚线2615。如果探针2215具有圆柱形状,则路径2615可以对应于偏移探针的半径的探针的中心点。当探针2215沿着与边缘2610相邻的路径2615移动时,系统2200可以连续地(例如,基于至少1hz、2hz、5hz、10hz、25hz、50hz或100hz的采样率)检测探针2215的位置。使用检测到的探针2215沿着路径2615的位置,系统2200可以生成边缘数据、切口2610的地图或轮廓。系统2200可以将边缘数据、地图或轮廓存储在存储设备2235中。
270.系统可以使用与一块材料(例如,2605或2505)的边缘(例如,2510、2520、2610或2615)相关的确定属性来计算导出值。系统2200可以使用该边缘数据形成网格,以确定具有原点和配准到材料表面的x和y轴的笛卡尔坐标系。系统2200可以使用该网格将数字设计与材料的边缘对准,或者将数字设计“捕捉(snap)”到某个朝向,或者将新创建的形状“捕捉”到网格。系统2200可以将网格覆盖在材料的表面上,或者使网格覆盖在材料的数字表示上。系统2200可以将形状或新创建的形状或设计捕捉到网格。系统2200可以捕捉输入点以产生形状,例如,要绘制的矩形的两个相对的角。可以在系统2200或工具1000上创建形状的同时使用网格。可以在工具1000的显示屏上显示主动捕捉点相对于建立的原点的位置。可以调整网格间隔或其它维度。
271.在系统2200或工具1000上(例如,经由探测)制作或捕获的图可以存储在存储设备或其它存储器中,并且稍后被调用或传输(例如,通过网络或有线通信)到其它计算设备或服务器。
272.工具1000或系统2200上创建可以用于绘制其它类型的形状,诸如多边形或圆形。系统2200可以运行脚本以基于参数(例如,边数、维度、角度或长度)输入以编程方式或基于向量的形状生成形状。
273.系统2200可以使用边缘数据来创建新的数字设计,该数字设计稍后可以由数字制造设备再现或遵循。例如,用户可以提供2d木质模板,诸如模板2605。探针2215可以遵循模板2605的边缘来生成数字设计。然后,当制作包含该形状的对象时,系统2200可以使用数字
设计而不是物理模板2605。
274.系统2200可以在多个场合确定关于一块材料的边缘数据,并使用两块材料之间的关系来确定该块材料如何移动。例如,可以在一块材料上开始数字切割,该块材料稍后在完成数字切割之前可能移动。然后,系统2200可以更新切割的数字规格以考虑完成切割的动作。
275.系统2200可以从材料的多个侧面捕获或获得边缘数据。例如,可以翻转一块扁平材料。系统2200可以从材料的第一侧和材料的第二侧获得或捕获边缘数据,以使第二边缘捕获与第一边缘捕获对准。因此,系统2200可以对准数字切割以执行双面加工。在一些情况下,系统2200可以经由横向探测技术获得每一侧的边缘数据,而在一些情况下,系统2200可以经由其它手段从其它方面获得至少一些边缘数据。
276.在一些实施例中,系统2200可以配置有视觉对准技术。例如,系统2200可以创建材料的至少一部分的自上而下的图像。系统2200可以在执行位置跟踪、拍摄图像、生成网格或使用另一种技术的同时创建该自上而下的图像。如果材料具有标记或其它绘图(例如,如果用户在一块材料上绘制他们想要切割材料的地方),则该绘图将在自上而下的图像中出现,该图像可以在系统2200或工具1000的显示器或界面(例如,显示屏572)上呈现。系统2200可以配置有设备上形状创建工具或预定模板,以允许用户在期望地点执行切割。
277.例如,用户可以将对象放置在材料的表面上。用户可以利用标记、笔或铅笔追踪或勾勒出对象。系统2200可以在移除对象的情况下扫描材料的表面。扫描可以包括对象的轨迹或轮廓,但不包括对象本身。系统2200可以包括设备上的笔工具(例如,用户可以用来在扫描中以数字方式或电子方式跟踪轮廓的接口2205)。因此,系统2200可以创建相同形状的数字等同物,然后系统2220可以使用该数字等同物引导工作构件从材料进行切割。
278.系统2200可以被配置为基于参考出现在一块材料的表面上的绘图来进行各种操作。系统2200可以使用自上而下的图像作为参考来执行这些操作,以在系统2200或工具1000本身上创建数字轮廓或轨迹。
279.在一些情况下,系统2200可以使用计算机视觉自动检测和数字化绘图。例如,系统2200可以扫描材料的表面以创建自上而下的图像或者在对象仍在材料上的情况下进行扫描。系统2200可以使用计算机视觉技术来自动识别对象。系统2200可以使用计算成像或视觉技术自动生成对象的轮廓或轨迹。系统2200可以在显示器上呈现自动创建的轨迹。系统2200可以经由接口2205从用户接收指示以对轮廓的一部分或全部执行操作,诸如沿着对象的自动创建的轨迹或轮廓的一条或多条线或路径切割。
280.图23描绘了根据实施例的用于引导工具的流程图。方法2300可以由系统2200或工具1000的一个或多个部件执行。该方法可以包括在2305处接收用于映射材料的指令的工具。该工具可以经由接口接收来自用户或远程设备的指令。该工具可以接收关于工具、材料或用于映射材料的探针的参数的附加信息,诸如几何形状或维度信息。
281.在2310处,工具可以指示马达降低探针。该工具可响应于生成地图的指令降低探针。该工具可以在接收生成地图的指令之前降低探针。该工具可以降低探针,使得探针的至少一部分延伸超过工具的底座。可以降低探针,使得探针延伸超过工具底座所搁置的材料的表面。可以降低探针,使得其与要映射的材料的边缘相邻或靠近。
282.在2315处,工具可以识别探针与材料的边缘接触。该工具可以包括检测探针与材
料的边缘接触的一个或多个传感器,诸如力传感器或压力传感器。该工具可以经由接口接收指示,该指示指示探针与材料的边缘接触,或者探针以其它方式位于某点处。
283.在2320处,工具可以确定探针的位置。该工具可以响应于或基于识别探针与材料边缘接触来确定位置。该工具可以确定相对于材料表面或边缘的位置。该工具可以响应于探针与材料边缘接触的指示,使用材料表面的图像或扫描来确定位置。该工具可以使用工具的位置信息或朝向来确定探针的3维位置。例如,传感器可以包括imu。
284.工具可以基于探针的半径确定探针相对于材料的位置。可以使用探针的半径对工具进行编程,或者工具可以经由接口接收探针的半径或其它几何形状信息。工具可以确定探针的多个位置以识别沿着材料边缘的多个接触点,并组合该边缘数据(例如,二维或三维位置数据)以生成材料的地图或轮廓。
285.系统2200可以被配置为生成不同类型的工具路径或切割路径。系统2200可以包括螺旋路径生成器部件2230。例如,切割路径可以是直的切割路径,或者指工具1000的切割尖端或工作构件的移动。在一些情况下,系统2200或工具1000可以基于期望的边缘形状或切割形状自动生成螺旋工具路径生成。系统2200或工具1000可以实时生成螺旋工具路径,实时可以指在工具1000正在切割材料时或立即(例如,在0.5秒、1秒、2秒、5秒、10秒或30秒内)。
286.当从一块材料切割出孔时,系统2200可以在近似螺旋形的工具路径中驱动切割钻头。螺旋形工具路径,与例如在多个深度处重复的圆形相反,可以提供连续运动而没有突然的加速,这可以提供更好的边缘质量,并且可以从钻头中获得更好的性能。螺旋工具路径可以便于在材料中切割圆孔或其它类型的形状。
287.系统2200或工具1000可以接收和处理识别或定义要切割的内容的数字设计。数字设计可以包括例如计算机辅助设计(cad)文件。例如,数字设计可以指定直径为0.3英寸切割、深入到材料中0.5英寸的圆形孔。系统2200、工具1000或螺旋路径生成器部件2230配置有计算机辅助制造(cam)技术以根据数字设计生成工具路径。通过配置使用cam技术的系统2200或工具1000,系统2200或1000可以在切割时生成螺旋工具路径。
288.螺旋路径生成器部件2230可以生成螺旋形的工具路径,其在比特半径与期望孔周长的偏移处开始并且在单个连续运动中螺旋下降到目标深度。因此,与系统2200集成的数字手持式工具1000可以在运行中或实时地在同一设备上生成和实现螺旋工具路径。实时可以指用户提供指示或指令以开始切割材料之后的时间点。例如,实时可以响应于用户在目标圆孔附近移动工具,并且然后经由接口2205提供开始切割的命令。响应于接收到开始切割的命令,螺旋路径生成器部件2230可以生成从最靠近工具的当前位置的目标圆上的点开始的螺旋。
289.图27是图示根据实施例的由系统2200生成的螺旋工具路径的图。系统2200可以使用钻头2701切出孔2702。系统2200可以生成螺旋形工具路径,其中钻头2701(例如,经由马达19)移动到孔2702的最近部分2703,然后向下驱动到材料2700的表面,然后向下驱动到螺旋2704中,然后移回到孔2702的中心,然后缩回2705。螺旋工具路径的这种图示是非限制性的,因为系统2200可以实时或在运行中生成其它类型的螺旋工具路径。
290.图28a-28d是图示根据实施例的工具的图。表1列出了图28a-28d中所示的系统2800的部件。在一些实施例中,系统100、系统680、系统1000或系统2200可以包括图28a-28d
中所示的一个或多个部件或功能。系统2800可以包括系统100、系统680、系统1000或系统2200的一个或多个部件或功能。在一些实施例中,系统2800可以包括一个或多个通信接口以允许经由网络与其它计算机系统通信(例如,发送和接收制造数据(例如,关于在工作表面上进行切割的信息)、发送和接收数字设计或设计方案)。
291.标号描述2801底座壳体2802触摸屏显示器2803结构外壳2804电子仓盖2805马达罩2806手指防护罩和真空罩2807真空端口2808左手柄2809左手柄按钮2810右手柄2811右手柄按钮2812提升手柄2813usb端口2814可去除芯片托盘2815工件照明led2816相机2817芯片清理区域2818主轴马达2819磁闩2820滑架和主轴马达夹2821工具孔径
292.表1:图28a-28d中所示的工具的部件和标号列表。
293.在一些实施例中,线性或扭转弹簧可以连接到z-轴定位工作台的部件(例如,夹具2820),以在供应给z-轴马达的电源关闭的情况下防止、减慢或反转z-轴工作台(支撑主轴马达2818重量)的下降运动。在一些实施例中,扭转弹簧可以耦合到z-轴马达轴,以即使在马达未通电时也向马达轴施加机械扭矩。在一些实施例中,可以预先张紧耦合到z-轴马达轴的扭转弹簧,以将施加的机械扭矩保持在z-轴的行进范围内的固定范围内。
294.图28a图示了由包括机电工作台的元件组成的铣机,该机电工作台在自动控制下沿着x、y和z方向移动夹具2820。主轴马达2818可以通过夹具2820中的圆周夹紧力固定到滑架上。这种布置可以允许夹具适应主轴马达直径的制造变化。铣机可以包括可由磁闩2819保持的手指防护罩和防尘罩2806;具有允许用户与在一个或多个处理器上运行的代码交互的控制按钮2809和2811的手柄2808和2810;用于与除尘软管接口的真空端口2807;允许用户与在一个或多个处理器上运行的代码交互的触摸屏显示器2802;还容纳电子器件的结构塔2803;电子器件盖2804;用于保护包括马达的内部部件的护罩2805;以及底座壳体2801。
可以将防尘罩2806和真空端口2807成形为改善切割碎屑的捕获以及将切割碎屑从切割工具产生切割碎屑的工具孔径2821引向真空端口2807。
295.在一些实施例中,系统2800的一个或两个手柄(例如,2808、2810)可以包括以下中的一个或多个:控制按钮(例如,2809、2811)、滚轮、多级按钮、指示器led、d-pad、操纵杆、触摸板、抓握传感器、触发器、生物特征(例如,指纹、虹膜、面部识别)传感器或其它输入设备。例如,右手柄可以具有两个控制按钮和三个指示器led,左手柄可以具有触摸板和滚轮。在一些实施例中,控制按钮可以基于系统2800的当前状态(例如,设计选择模式、设计配准模式、切割模式)被编程为执行以下中的一个或多个:打开工作构件的工作动作(例如,如果系统2800处于切割模式,则打开主轴马达2818,如果系统2800是绘图工具则降低绘图仪器以接触工作表面)、关闭工作构件的工作动作(例如,关闭主轴马达2818)、切换工作构件的工作动作的打开和关闭、将工作构件陷入到工作表面中、或者将工作构件从工作表面缩回。在一些实施例中,滚轮可以基于系统2800的当前状态被编程为执行以下中的一个或多个:改变工作构件的工作动作的速率(例如,改变系统2800中主轴马达2818的速度)、改变连接到系统2800的显示器上显示的内容(例如,改变系统2800中的触摸屏显示器2802上显示的视图的放大率、改变连接到系统2800的ard或vrd中的显示数据的地点)、滚动连接到系统2800的显示器上显示的ui中的菜单(例如,如果系统2800处于设计选择模式)、或者改变工作构件的z-位置。在一些实施例中,指示器led可以指示以下中的一个或多个:工作构件电源状态(例如,红色指示主轴马达2818打开,并且绿色指示主轴马达2818关闭)、工作构件的工作动作的速率(例如,从绿色变化到黄色再变化到红色指示主轴马达2818速度从关闭变化到低速再变化到高速)、或工作构件状态(例如,绿色指示从工作表面缩回,并且红色指示陷入到工作表面中)。在一些实施例中,d-pad、操纵杆或触摸板可以基于系统2800的当前状态被编程为执行以下中的一个或多个:在连接到系统2800的显示器上示出的ui中导航、使工作构件在系统2800的调整范围内移动、或者使工作构件从工作表面延伸或缩回。在一些实施例中,抓握传感器可以检测用户在手柄上抓握的模式或者用户在手柄上抓握的压力。在一些实施例中,抓握传感器可以使用一个或多个光学、力、电容、阻力、压力或任何其它感测机构来检测用户的抓握。在一些实施例中,手柄上的可按压触发型输入设备可以用于控制工作构件的工作动作的速率(例如,控制主轴马达2818马达速度)。在一些实施例中,生物特征传感器(例如,在手柄上、在工具主体上)可以限制使用或限制一个或多个用户(例如,在工具上注册的用户、在管理用户访问工具的计算机系统上注册的用户)可用的功能。
296.在一些实施例中,系统2800可以被编程为在启用工具的功能之前(例如,在打开主轴马达2818之前)确认用户的每只手正在抓握两个抓握传感器(每个手柄上一个)。在一些实施例中,手柄可以被不同地成形,以用于在不同工作表面上工作(例如,当系统2800用于在水平表面上工作时具有一种手柄设计,并且当系统2800用于在垂直表面上工作时具有另一种不同的手柄设计)。
297.在一些实施例中,系统2800可以被设计为允许交换手柄以允许附加的或不同的功能。在一些实施例中,系统2800可以具有设计成与不同手柄连接的电气(例如,使用pcb上的连接器)和机械接口。在一些实施例中,系统2800可以使用i2c、usb、蓝牙或其它通信协议与手柄通信。在一些实施例中,手柄可以使用底座壳体2801中的安装孔机械地附接到工具。在一些实施例中,手柄可以是热插拔的(例如,可以在系统2800通电时与系统2800连接或断开
连接)。在一些实施例中,一个或多个处理器可以执行存储在一个或多个存储器上的指令,以使系统2800允许或禁用与手柄上的一个或多个输入设备相关的功能,或者使系统2800通过检测连接手柄上包含的能力来允许或禁用功能。在一些实施例中,系统2800上的一个或多个处理器可以将软件加载到位于可互换手柄中的附加处理器上,以改变或升级手柄的功能。
298.在一些实施例中,手指防护罩和防尘罩2806可以机械地触发一个或多个开关(例如,霍尔效应开关、簧片开关)以检测手指防护罩和防尘罩2806的移除或不正确定位。在一些实施例中,一个或多个开关的状态检测手指防护罩和防尘罩2806的定位。在一些实施例中,一个或多个开关的状态可以用于启用或禁用系统2800的一个或多个功能。在一些实施例中,手指防护罩和防尘罩2806可以使一个或多个开关跳闸以表示与手指防护罩和防尘罩2806相关的新功能(例如,风扇、相机、通风孔)。
299.图28b图示了工具,该工具具有提升手柄2812;用于与一个或多个处理器接口的usb端口2813;使得用户能够容易地移除在芯片间隙区域2817中的运动台的移动元件后面积聚的任何切割碎屑的可移动芯片托盘2814(例如,图28d)。
300.图28c示出了工具的附加元件,包括用于照亮工件的led阵列2815,以及用在设备的正常操作中的相机2816。在一些实施例中,led阵列2815可以使用可见光(例如,白光)照射工件。在一些实施例中,led阵列2815可以使用不可见波长(例如,uv、ir)照射工件。
301.图28d示出了芯片间隙区域2817,其中芯片托盘2814被移除。
302.在一些实施例中,主轴电子器件中的三端双向可控硅开关(triac)可以使用相角控件来控制主轴马达2818(例如,有刷ac/dc通用马达)的速度。具体而言,在一些实施例中,三端双向可控硅开关基于特定时序接通和断开供应给主轴绕组的ac电力。三端双向可控硅开关元件可以以人类难以察觉的模式“脉冲”ac电力。使用电路系统测量主轴电流消耗,用于在启动时旋转主轴2818马达的脉冲模式可以由系统2800中的一个或多个处理器检测到。在一些实施例中,主轴马达的转子和定子绕组基于供应给马达的预期ac电压来配置,以达到期望的额定功率和速度。在一些实施例中,与设计为以大约230v ac驱动的主轴马达相比,绕组配置对于设计为以大约120v ac驱动的主轴马达是不同的。在一些实施例中,检测到的脉冲模式提供主轴马达的转子和定子绕组的指示。在一些实施例中,使用所指示的绕组信息以及供应给系统2800的测得的ac壁电压,系统2800中的一个或多个处理器可以确定主轴马达2818的马达电压设计规格是否与供应给主轴马达2818的ac壁电压匹配(使用电压测量电路系统来测量)。在一些实施例中,如果主轴马达2818的电压设计规格与供应给主轴马达2818的ac壁电压不匹配,则系统2800中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,触发动作可以包括:关闭供应给主轴马达2818的电源、使显示器(例如,触摸屏显示器2802)向用户指示通知、或者改变主轴马达2818的速度。
303.在一些实施例中,系统(例如,系统2800)可以显示关于耦合到系统中的一个或多个处理器的增强现实显示器(“ard”,包括透射混合现实显示器,例如,增强现实平视显示器(例如,google glass)、混合现实平视显示器(例如,microsoft hololens))或虚拟现实显示器(“vrd”,例如,虚拟现实平视显示器(例如,vive、facebook oculus、sony playstation vr))的信息。在一些实施例中,ard可以用于显示工作构件周围区域的俯视图。在一些实施例中,ard可以指示工作构件调整范围。在一些实施例中,ard可以指示工作构件路径的一部
分或设计的一部分。在一些实施例中,ard可以指示整个工作构件路径或整个设计。在一些实施例中,ard可以使用“x”、圆圈、点、图标或使用任何其它发信号通知的指示来指示工作构件的当前位置。在一些实施例中,可以相对于工作构件调整范围、工作构件路径或设计方案指示工作构件的当前位置。在一些实施例中,与系统相关的数据(例如,工作构件调整范围、工作构件路径的一部分、设计的一部分、工作构件的当前位置的指示)可以被固定或“定在”当ard的穿戴者移动ard(例如,将他或她的头部与头戴式ard一起移动)时与系统的位置相关的地点。在一些实施例中,当ard的穿戴者移动ard(例如,将他或她的头部与头戴式ard一起移动)时,与系统相关的数据可以被固定或“定在”工作表面。在一些实施例中,当ard的穿戴者移动他或她的头部时,与系统相关的数据可以相对于系统的位置移动。在一些实施例中,在以上描述中,使用vrd而不是ard。
304.代替使用计算机来创建设计方案,一些用户可能想在工作表面上进行测量并创建定义设计方案的模板。在一些实施例中,系统680可以利用工作表面上用户生成的模板来定义设计方案。首先,如图30a-d所示,用户可以通过在工作表面3010的顶部上铺设薄膜3020开始。在一些实施例中,薄膜可以具有粘合剂背衬并且可以粘附到工作表面。用户可以在工作表面3010上进行测量并在薄膜3020中进行切割以定义用于设计方案的模板。例如,用户可以在薄膜3020中切割正方形形状、移除薄膜3020的内部部分以在薄膜3020中形成正方形形状3030,并创建用于如图30b所示的设计方案的模板。如果用户想要改变模板,例如,如果模板应该是矩形而不是正方形,则用户可以在顶部添加附加的薄膜并修改模板,如图30c所示。在该示例中,用户添加薄膜3040以掩盖图30b中形成的模板3030的一部分。图30d示出了在用户在薄膜3040中进行附加切割以形成用于设计方案的矩形模板之后的最终模板3050。在图30d中,薄膜3020的边缘a、b和c以及薄膜3040的边缘d、e和f限定了最终模板3050的形状。其中薄膜(3020和3040)已被移除的区域被标记为区域3060(以白色显示)。
305.在一些实施例中,可以在已经创建工作表面的地图之后创建用于设计方案的模板。在一些实施例中,如果使用工作表面上的标示或标记来创建地图,则薄膜可以是部分透明的,以允许系统680在将薄膜应用到工作表面之后利用标示或标记进行定位。如果已经创建地图,则使用一个或多个相机来捕获包括薄膜和模板的工作表面的图像。在一些实施例中,基于模板(例如,图30d中的模板3050)的一个或多个边缘分析捕获图像以识别期望路径。在一些实施例中,基于模板(例如,图30d中的模板3050)的一个或多个边缘分析捕获图像以识别设计方案。在一些实施例中,基于设计方案确定用于保持工作构件的适配器的期望路径。在一些实施例中,期望路径可以部分地基于保持工作构件的适配器的物理几何形状(例如,基于工作构件相对于适配器的位置)。在一些实施例中,期望路径可以部分地基于工作构件的物理维度(例如,切割钻头的宽度)。在一些实施例中,期望路径可以部分地基于来自用户的输入,例如,指示用户想要工作构件中心位于模板边缘上的输入,或者指示用户想要工作构件边缘位于与模板边缘相邻,其中工作构件在图30d的内部白色空间3060中的输入。在一些实施例中,期望路径被配准或以其它方式与地图相关。
306.在一些实施例中,可以在用户已经创建模板之后创建工作表面的地图。在一些实施例中,用户可以将标示或标记(例如,图案化的带、贴条)添加到工作表面。在一些实施例中,标示或标记(例如,编码图案)可以被打印或包括在薄膜中。可以使用一个或多个相机来捕获包括模板和存在的任何标示/标记的工作表面的图像。捕获图像可以用于创建工作表
面的地图。捕获图像可以用于确定用于保持工作构件的适配器的期望路径。在一些实施例中,期望路径被配准或以其它方式与地图相关。
307.在一些实施例中,薄膜已经被切割成对应于模板的形状和尺寸。例如,产品的制造商可以提供用于安装其产品(例如,天花板或墙壁中的凹槽灯)的预切薄膜(例如,切出的模板)。在另一个示例中,安装相同产品的用户通常可以基于产品维度向第三方委托制作薄膜模板的任务。在一些实施例中,可以选择薄膜的反射率、颜色或图案以增强相对于工件表面或工件表面上的标示/标记的可见度或对比度。在一些实施例中,薄膜可以包括高对比度、非重复图案,使得图案可以用于创建工作表面的地图。然后,通过将图像中的图案信息与地图中的图案信息相匹配,可以使用图案的一部分的图像来确定当拍摄图像时相机的位置。在一些实施例中,薄膜可以由一层或多层材料(例如,乙烯树脂、纸)制成,并且可以包括粘合剂背衬。在一些实施例中,薄膜可以包括具有网格间距(例如,1英寸、0.5英寸、0.25英寸、0.125英寸、0.0625英寸)的网格图案,以允许用户使用网格图案来使用网格图案来测量距离。在一些实施例中,网格图案可以使用两个或更多个线厚度(例如,粗线用于1英寸的标记并且更细的线用于0.125英寸的标记)。
308.一些用户可能想要简单地将印刷设计放置在工作表面上以指示他们期望使用系统(例如,系统680)在该位置处对该设计进行工作。在一些实施例中,系统上的相机可以扫描印刷设计以基于印刷设计生成设计方案。替代地,在一些实施例中,用户可以在工作表面上放置具有带编码信息(例如,条形码、2d码、qr码)的图案的设计标记,以指示在工作表面上的位置(例如,相对于包括在编码信息中的设计标记的位置)处放置设计方案(例如,使用包括在编码信息中的设计id)。在一些实施例中,系统还可以使用设计标记作为用于映射或定位的标记。在一些实施例中,用户可以打印出具有设计标记和相应设计的纸张,以查看设计方案将相对于设计标记所位于的位置,并查看设计标记中参考的设计方案。在一些实施例中,用户可以将具有设计标记和设计方案的打印纸张放置在工作表面上。
309.在一些实施例中,系统(例如,系统680)中的相机可以捕获工作表面上的设计标记的图像。在一些实施例中,系统中的处理器可以分析捕获图像以识别设计标记并解码设计标记图案以基于设计标记在工作表面上的位置来确定设计id和相应的设计方案地点。在一些实施例中,系统中的处理器可以分析捕获图像以识别设计标记并解码设计标记图案以基于打印设计(如果存在的话)相对于打印设计标记的位置来确定设计id和相应的设计方案地点。在一些实施例中,在设计标记中编码的信息可以包括地点(和访问信息),系统可以从中检索由设计id识别出的设计方案(例如,从系统中的存储器、从具有给定url的web服务器、从使用提供的凭据和服务器地址的服务器)。在一些实施例中,设计id可以使用命名格式来定义设计方案(例如,设计id“circle_r8”对应于设计方案的半径为8英寸的圆)。在一些实施例中,系统可以基于设计id或设计方案生成用于保持工作构件的适配器的期望路径。
310.在一些实施例中,设计标记可以用于配置由系统(例如,系统680)用于映射和定位的坐标系。在一些实施例中,用户可以在工作系统上的给定地点处放置具有带编码信息(例如,条形码、2d码、qr码)的图案的设计标记,以通知系统用户想要使用设计标记的位置作为映射和定位坐标系的原点。设计标记中编码的信息将指示设计标记还指定坐标原点地点。在一些实施例中,用户可以在工作系统上的给定地点处放置具有带编码信息(例如,条形
码、2d码、qr码)的图案的设计标记,以通知系统用户想要使用坐标轴的特定朝向用于映射和定位。在设计标记中编码的信息将指示设计标记还指定坐标轴的朝向。
311.所公开的实施例允许用户具有在真实空间中(例如,与工作表面一起或在工作表面上)或设计空间中(例如,使用设计方案在设计环境中工作(例如,使用绘图、cad或类似程序))工作的灵活性。在一些实施例中,系统2800可以包括存储器中的软件代码,当该软件代码由一个或多个处理器执行时,允许用户在系统上的设计环境中工作。在一些实施例中,系统2800中的一个或多个处理器可以存储日志跟踪系统活动,其中日志和任何参考数据存储在系统2800中的一个或多个存储器中或存储在除系统2800之外的计算机系统中的一个或多个存储器中。在一些实施例中,日志允许用户使用在真实空间中生成的信息(例如,在工作表面上进行的切割的地点)做出设计空间中相应的改变(例如,对应于在工作表面上进行的切割的边缘的地点),反之亦然。如本文所使用的,“日志”可以指以任何格式(例如,结构化、非结构化、结构化和非结构化的组合)存储的用于由计算机系统处理的数据的记录。例如,日志可以是包括对应于项目(例如,事件、动作)的数据的结构化记录,其以给定格式存储并包括每个项目的信息。在另一个示例中,日志可以是与存储在计算机系统中的项目对应的数据的集合。在一些实施例中,可以使用日志id来跟踪给定项目的日志数据。
312.在一些实施例中,一个或多个处理器可以基于系统2800开启将数据存储在日志中。在一些实施例中,一个或多个处理器可以基于扫描工作表面以生成地图而将数据存储在日志中。在一些实施例中,记录地图生成的数据可以具有与其相关联的附加数据(例如,标记列表(例如,工作表面上的标记的全局列表的位置和朝向)、显示工作表面的扫描区域的图像、扫描区域的维度)。在一些实施例中,关联数据可以存储在日志中或单独存储(其中日志包括对存储数据的引用)。引用可以是名称(例如,地图名称、设计方案名称)、链接(例如,超链接)、路径(例如,文件系统地点)等。在一些实施例中,引用可以识别附加信息的地点(例如,在本地存储器中、在本地存储设备中、在远程存储设备中)。
313.在一些实施例中,系统2800中的一个或多个处理器可以基于将设计方案配准到地图将数据存储在日志中,其中数据包括对附加信息(例如,设计方案、指定设计方案相对于地图或工作表面被放置在哪里的位置信息)的引用。在一些实施例中,一个或多个处理器可以基于路径的生成将数据存储在日志中,路径的生成基于设计方案,其中数据包括对附加信息(例如,路径id(如果设计方案包括多条路径)、设计方案、用于生成路径的工作构件的物理维度、指定工作构件相对于设计方案的位置的用户输入、路径相对于地图的地点、路径相对于工作表面的地点)的引用。
314.在一些实施例中,系统2800中的一个或多个处理器可以基于在工作表面上完成的工作(例如,切割、绘图、标记、探测)(例如,基于路径)将数据存储在日志中,其中数据包括对附加信息(例如,路径id(如果设计方案包括多条路径)、设计方案、工作构件的切割深度、工作构件和适配器之间的偏移、工作构件或适配器相对于钻机、地图或工作表面的操作参数(例如,旋转速度、运动学数据(例如,位置、速度、加速度或相关数据))、与钻机的运动相关的参数(例如,相对于地图或工作表面的运动学数据(例如,位置、速度、加速度或相关数据)、钻机相对于地图或工作表面的朝向))的引用。在一些实施例中,工作构件的操作参数或与钻机的运动相关的参数根据工作完成时(例如,当切割完成时)的时间存储。
315.在一些实施例中,系统2800中的一个或多个处理器可以利用日志中的信息或由日
志引用的数据来更新系统状态(例如,显示工作表面的图像,其中指示配准的设计方案或者切割已经完成)或产生用户可用的特定ui元素(例如,如果日志显示设计方案已配准到地图,则启用创建路径的选项)。在一些实施例中,系统2800中的一个或多个处理器可以将数据(例如,日志的部分或由日志引用的数据)传送到外部计算机系统(例如,通过将数据传送到可移动存储设备、通过经由可操作地耦合到系统2800中的处理器的通信接口传送数据)。在一些实施例中,系统2800中的一个或多个处理器可以从远程计算机系统(例如,另一个工具)接收数据(例如,日志的部分或由日志引用的数据)。
316.图31示出了经由网络3170彼此连接的6个计算机系统(3个工具tool1 3110、tool2 3120和tool3 3130以及3个计算机系统computersystem1 3140、computersystem2 3150和computersystem3 3160)的网络连接示意图。在一些实施例中,可以基于用户级、系统级或其它(例如,基于商业实体的)凭证(例如,基于密码的访问、基于硬件的认证)中的一个或多个来限制对图31中所示的一个或多个工具和计算机系统的访问。在一些实施例中,给定工具(例如,tool1 3110)可以直接与一个或多个其它系统(例如,tool2 3120、computersystem3 3160)通信以传送或接收数据(例如,日志的一部分、在日志中引用的数据、设计方案)。在一些实施例中,第一计算机系统(例如,tool1 3110)和第二计算机系统(例如,tool2 3120)可以通过中间计算机系统(例如,computersystem2 3150,tool3 3130)传送或接收数据。在一些实施例中,给定计算机系统(例如,tool1 3110)可以从第一计算机系统(例如,computersystem1 3140、tool2 3120)接收第一数据并且将第二数据发送到第二计算机系统(例如,computersystem2 3150、tool3 3130)。在示例性实施例中,tool1 3110、tool2 3120和computersystem2 3150都可以在computersystem1 3140上存储数据。在该实施例中,基于由computersystem1 3140、tool1 3110和tool2 3120实施的访问策略,可以访问其自己的数据、由其它方存储的数据、以及由computersystem2 3150存储在computersystem1 3140上的数据。但是,computersystem2 3150可以只能访问其自己的数据和由tool2 3120存储在computersystem1 3140上的数据。
317.系统活动的存储允许跟踪在制造期间做出的设计改变。具体而言,可以将在制造期间做出的改变(例如,以适应基于制造样品的部件装配)存储在日志中。所存储的改变可以由系统2800中的一个或多个处理器处理,或者由另一个计算机系统中的一个或多个处理器处理,以基于在制造期间做出的改变来更新设计方案,以成功制造实际零件。在一些实施例中,系统2800中的一个或多个处理器可以基于原始设计方案的修改将数据存储在日志中以创建修改后的设计方案。在一些实施例中,系统2800中的一个或多个处理器可以基于基于修改后的设计方案确定修改后的路径来将数据存储在日志中。在一些实施例中,系统2800中的一个或多个处理器可以基于基于原始设计方案确定原始路径来将数据存储在日志中。在一些实施例中,系统2800中的一个或多个处理器可以基于修改原始路径来创建修改后的原始路径来将数据存储在日志中。在一些实施例中,系统2800或另一个计算机系统可以使用来自日志的存储信息,基于对原始设计方案记录的改变、基于修改后的路径的记录数据、或者基于对原始路径记录的改变来更新原始设计方案的本地或远程副本。
318.在一些实例中,如果用户想要改变或移动原始路径,则系统2800的用户可以发起新路径的生成。在一些实施例中,与记录的新路径相关的数据或基于新路径的记录的切割可以由系统2800中的一个或多个处理器使用,或者由另一个计算机系统中的一个或多个处
理器使用以更新与原始路径对应的设计方案。在一些实施例中,更新后的设计方案可以替换原始设计方案。在一些实施例中,更新后的设计方案可以存储为新的设计方案。在一些实施例中,与记录的新路径相关的数据或基于新路径的记录的切割可以由系统2800中的一个或多个处理器使用,或者由另一个计算机系统中的一个或多个处理器使用,以更新设计环境中的相应设计方案(例如,绘图、cad或类似程序)。在一些实施例中,设计环境可以输出数据(例如,与设计环境中做出的改变相关的日志或相关联数据、以一种或多种格式的设计方案(例如,基于工具制造商规范使用不同的设计方案格式))。在一些实施例中,来自设计环境的输出数据可以由其它计算机系统使用。在一些实施例中,系统2800使用的设计方案包括与设计环境相关的数据(例如,设计环境名称、设计环境版本号)。
319.在一些实施例中,如果用户在工作表面上进行手动切割(例如,在工作表面上切割,就像使用常规(非自动引导)手持式工具一样),则系统2800中的一个或多个处理器可以在系统2800中的一个或多个存储器中存储描述手动切割的数据(例如,切割路径形状、切割宽度、工作表面上的切割路径地点)。在一些实施例中,如果用户基于配准到工作表面的设计方案切割工作表面,则系统2800中的一个或多个处理器可以在系统2800中的一个或多个存储器中存储描述期望路径切割的数据(例如,设计方案名称、期望路径形状、期望路径切割宽度、工作表面上的期望路径切割地点)。在一些实施例中,如果用户基于手动测量在工作表面上钻出一系列孔,则系统2800中的一个或多个处理器可以存储描述由用户绘制的每个钻孔的数据(例如,孔维度、工作表面上的孔地点)。在一些实施例中,系统2800中的一个或多个处理器可以存储当系统2800被用户在工作表面上移动时与系统2800的位置相关的数据(例如,通过跟踪工作表面上的图案来捕获位置数据)。在一些实施例中,系统2800中的一个或多个处理器可以存储当系统2800在工作表面上移动以捕获数据来生成地图时与系统2800的位置相关的数据。在一些实施例中,使用相机和地图(例如,使用工作表面上的地点标记、使用工作表面外的地点标记)来跟踪系统2800部件(例如,传感器、相机、工作构件、适配器)的地点。在一些实施例中,使用一种或多种定位技术(例如,使用一个或多个相机映射地点标记、测距(例如,使用激光、使用超声波))来跟踪系统2800部件(例如,传感器、相机、工作构件、适配器)的地点。在一些实施例中,系统2800可以使用存储在一个或多个存储器中的数据来基于数据生成日志。
320.在一些实施例中,在系统2800中的一个或多个处理器上执行的设计环境可以使用存储在系统2800中的一个或多个存储器上的数据在设计环境中创建对象。在一些实施例中,对象可以是设计方案。在一些实施例中,存储的数据可以包括日志中的一个或多个项目,包括日志中引用的信息。在一些实施例中,系统2800中的一个或多个处理器可以基于所测量的材料轮廓、所测量的材料形状、材料上的测量模板、基于分析对象而生成的轨迹或由用户绘制的轨迹来在设计环境中创建对象。在一些实施例中,在设计环境中创建的对象可以包括工作表面位置信息(例如,工作表面上的一个或多个标记相对于设计方案中描述的一个或多个设计的位置、设计方案中描述的一个或多个设计相对于工作表面的地图的位置)。在一些实施例中,在设计环境中创建的对象可以作为设计方案导出并存储在系统2800中的一个或多个存储器中。在一些实施例中,在设计环境中创建的对象可以以与商用设计程序(例如,adobe illustrator,autodesk fusion 360)兼容的数据格式导出并存储在系统2800中的一个或多个存储器中。在一些实施例中,来自设计环境的输出(例如,设计方案、
特定于设计程序的数据)可以被传送到另一个计算机系统(例如,通过将设计方案传送到可移动存储设备、通过经由可操作地耦合到系统2800中的一个或多个处理器的通信接口传送设计方案)。在一些实施例中,其它计算机系统可以在设计环境中使用来自系统2800设计环境的输出。在一些实施例中,另一个计算机可以使来自系统2800设计环境的输出可用于其它计算机系统。
321.为了便于协作,在一些实施例中,系统2800中的一个或多个处理器可以基于测得的工作表面的轮廓、在工作表面的映射期间收集到的数据、或从探测工作表面收集到的数据中的一个或多个来生成描述工件的工作表面的日志数据。在一些实施例中,描述工件的工作表面的数据可以包括通过使用系统2800探测工作表面而收集到的3d数据。在一些实施例中,描述工件的工作表面的数据可以包括显示工作表面的一部分的图像数据(例如,基于从工作表面的图像创建的照片马赛克)。
322.在一些实施例中,系统2800中的一个或多个处理器或另一个计算机系统中的一个或多个处理器可以使用(例如,描述工件的工作表面的)记录数据来生成模型(例如,基于描述工作表面的数据)。在一些实施例中,可以在设计环境中生成模型。在一些实施例中,模型可以基于包括在日志中的图像数据显示工作表面的部分(例如,如果工作表面由木材制成,则显示木材中的颗粒或结的图案,从而显示工作表面上的标记(如果存在的话))。在一些实施例中,模型可以基于测得的工作表面的边缘显示工作表面的形状。在一些实施例中,模型可以基于从探测工作表面收集到的数据来显示工作表面的形貌。在一些实施例中,模型包括基于系统2800地图与工作表面相关的维度数据。
323.在一些实施例中,可以在可操作地耦合到系统2800中的一个或多个处理器的显示器上呈现模型。在一些实施例中,模型可以显示在可操作地耦合到除系统2800以外的计算机系统(例如,台式计算机)中的一个或多个处理器的显示器上。在一些实施例中,用户可以使用模型视图将一个或多个设计方案放置在工作表面上的特定地点。例如,用户可以选择在模型显示构成工作表面的木材中存在结的地点放置设计方案、切除工作表面的一部分。在一些实施例中,用户可以使用模型的维度来选取最大化可用工作表面的使用的一个或多个设计方案。在一些实施例中,用户可以向模型添加可以被记录以供在系统2800上使用的特征或注释。在一些实施例中,使用模型,用户可以在设计环境中设计关于工作表面的真实世界信息。一旦用户已经加工模型(例如,选择或创建设计方案及其放置),用户就可以将数据发送回系统2800或另一个计算机系统。在一些实施例中,其它计算机系统可以将数据发送到系统2800。在一些实施例中,从设计环境传送到系统2800的数据可以引用系统2800上使用的工作表面的地图。在一些实施例中,传送到系统2800的数据可以包括注释、设计方案或位置信息以将设计方案配准到地图。在一些实施例中,系统2800可以使用来自设计环境的数据来为工作构件或适配器生成期望路径。在一些实施例中,系统2800可以基于所生成的期望路径在工作表面上工作。
324.在一些实施例中,系统2800的用户可以与远程计算机系统的用户一起工作,使得系统2800接收来自远程计算机系统的数据(例如,描述上述设计方案的放置的数据、设计方案、或由远程计算机系统的用户对设计方案做出的改变)。在一些实施例中,远程计算机系统可以接收来自系统2800的数据(例如,设计方案或由系统2800的用户做出的设计方案的改变、描述由系统2800完成的工作的数据(例如,在工作表面上进行的切割或测量、与工作
表面相关的地图数据))。以这种方式,两个用户可以使用其各自的系统在设计和制造上进行合作。在一些实施例中,计算机系统和系统2800可以使用通信接口(例如,wifi、蓝牙、usb)彼此通信。在一些实施例中,计算机系统和系统2800可以通过与计算机系统和系统2800通信的一个或多个其它计算机系统进行通信。
325.在一些实施例中,计算机系统上的程序的用户可以对记录在计算机系统上或存储在远离该计算机系统的计算机系统中的设计方案做出改变。计算机系统日志跟踪对设计方案做出的改变,使得可以将改变存储在原始设计方案中,或者可以基于原始设计方案将改变存储在新的设计方案中(例如,作为原始设计方案的修订)。在一些实施例中,计算机系统上日志的一部分直接从计算机系统传送到系统2800或在传送到系统2800之前传送到另一个计算机系统。在一些实施例中,系统2800可以从另一个计算机系统下载来自计算机系统的日志的一部分。在一些实施例中,系统2800可以基于来自计算机系统的日志的部分来更新设计方案的本地副本。在一些实施例中,系统2800可以从另一个计算机系统下载更新后的设计方案,其中更新后的设计方案包括基于来自计算机系统的日志的部分由另一个计算机系统做出的改变。
326.在一些实施例中,计算机系统(例如,系统2800)上的设计同步应用可以处理来自一个或多个计算机系统的日志的一个或多个部分,以基于日志数据生成设计方案修订。在一些实施例中,用户跟踪应用可以处理来自一个或多个计算机系统的日志的一个或多个部分,以生成一个或多个用户的用户活动的摘要(例如,设计生成活动、切割生产率)。在一些实施例中,工具跟踪应用可以处理来自一个或多个工具的日志的一个或多个部分,以生成基于工具的摘要(例如,跟踪工具使用(例如,针对工具服务、工作构件替换))。在一些实施例中,构建分析应用可以处理来自一个或多个工具的日志的一个或多个部分,以生成由一个或多个工具完成的工作的构建摘要。例如,构建分析应用可以允许应用用户查询由给定工具完成的项目的细节(例如,所使用的钻头类型、所使用的钻头尺寸)。在另一个示例中,构建分析应用可以允许应用用户将竣工细节(例如,切割路径)与由给定工具完成的项目的预想设计细节(例如,数字设计中的维度)进行比较。在一些实施例中,应用可以组合上述应用的一个或多个功能。上述应用中的任何一个可以是在计算机系统(例如,系统2800)上执行的独立应用,或者可以在计算机系统(例如,系统2800)上的另一个应用中(例如,在设计程序中)执行。
327.在一些实施例中,计算机系统可以从一个或多个工具接收系统活动信息(例如,每个计算机系统的日志的一部分或计算机系统的日志中引用的数据的一部分)。在一些实施例中,一个或多个工具可以使用通信接口(例如,802.11通信适配器、蜂窝通信适配器、蓝牙通信适配器)将其系统活动信息传送到计算机系统。在一些实施例中,计算机系统可以维护要由一个或多个工具完成的任务列表。在一些实施例中,计算机系统可以基于从每个工具接收到的系统活动信息来跟踪一个或多个任务的完成状态。在一些实施例中,计算机系统可以跟踪每个工具的使用以安排维护和服务。在一些实施例中,计算机系统可以基于来自给定用户的工具的系统活动信息来跟踪用户生产力。例如,使用计算机系统,领班可以查看:工作现场任务的完成状态、工作现场工具的维护和服务需求、或工作现场各个工人的生产率(基于其工具使用)。
328.图29示出了来自toolunit123的示例性工具日志2910。工具日志2910中的条目
2911包含日志id、时间戳和关于工具的当前用户的信息、指示设计方案“electricalbox-revision2.svg”从serverunitdef(同步)接收的设计方案信息、工具互联网连接信息,以及基于ip地址的工具的大致地点。工具日志2910中的条目2912包含日志id、时间戳,并且描述工作表面的映射和相关联信息。工具日志2910中的条目2913包含日志id、时间戳,并且描述将设计方案“electricalbox-revision2.svg”与地图相关为instance1和相关联信息。工具日志2910中的条目2914包含日志id、时间戳,并且描述在instance1的设计方案“electricalbox-revision2.svg”中对edge3做出的改变和相关联信息。工具日志2910中的条目2915包含日志id、时间戳,并且描述钻头半径的选择和工作构件的期望路径的生成。工具日志2910中的条目2916包含日志id、时间戳,并且描述在instance1处切割与edge3相关的期望路径和相关联信息。条目2916描述基于沿着期望路径引导工作构件的测量准确度的切割准确度。准确度与将工作构件的测量位置(例如,基于地图和工作表面上具有地点标记的图像数据)和期望路径进行比较相关。工具日志2910中的条目2917包含日志id、时间戳,并且描述用户注销并将工具日志2910发送到计算机系统serverunit789(同步)。在一些实施例中,期望路径可以指定保持工作构件的适配器的运动。在一些实施例中,期望路径可以指定一个或多个传感器的位置,该一个或多个传感器捕获用于使用地图确定位置的数据。在一些实施例中,可以省略在instance1处对edge3的改变。在一些实施例中,toolunit123可以将工具日志2910发送到serverunitdef(同步)。
329.图29示出了来自computerunit456的示例性计算机日志2920。在这个示例中,计算机日志2920示出了与cad会话(cadsessionabc)相关的活动。计算机日志2920中的条目2911包含日志id、时间戳和关于当前用户的信息、计算机系统互联网连接信息,以及基于ip地址的计算机系统的大致地点。计算机日志2920中的条目2922包含日志id、时间戳,并且描述设计方案“electricalbox.svg”的创建。计算机日志2920中的条目2923包含日志id、时间戳,并且描述设计方案“electricalbox.svg”的修订以创建设计方案“electricalbox-revision2.svg”。计算机日志2920中的条目2924包含日志id、时间戳,并且描述设计方案“electricalbox-revision2.svg”的修订以创建设计方案“electricalbox-revision3.svg”。计算机日志2920中的条目2925包含日志id、时间戳,并且描述computerunit456和serverunit789之间的数据同步。在一些实施例中,如图29中的条目2925所示,同步由用户发起。在一些实施例中,可以在没有任何用户输入的情况下发生数据同步。在一些实施例中,数据的同步可以自动更新正被同步的计算机系统上的数据。在一些实施例中,如该示例中所示,可以基于更新后的数据提示用户接受改变。条目2925描述基于将来自toolunit123的“electricalbox-revision2.svg”instance1-edge3(参见工具日志2910条目2916)的改变应用于在computerunit456上创建的设计“electricalbox-revision2.svg”(参见计算机日志2920条目2923)来创建设计方案“electricalbox-revision2-revisiona.svg”。条目2925还描述基于将来自toolunit123的“electricalbox-revision2.svg”instance1-edge3(参见工具日志2910条目2916)的改变应用于在computerunit456上创建的更新后的设计“electricalbox-revision3.svg”(参见计算机日志2920条目2924)来创建设计“electricalbox-revision3-revisiona.svg”。计算机日志2920中的条目2926包含日志id、时间戳,并且描述用户从computerunit456上的cadsessionabc登出。
330.图29中所示的工具日志2910和计算机日志2920的结构是示例性的。在一些实施例中,第一计算机系统(例如,computerunit456)可以直接从第二计算机系统(例如,toolunit123)检索日志的部分,反之亦然。在一些实施例中,用于同步数据的应用可以在工具(例如,toolunit123)上执行,其中工具从计算机系统(例如,computerunit456)检索日志。在一些实施例中,计算机系统(例如,serverunit789)可以从第一计算机系统(例如,computerunit456)接收第一日志(例如,计算机日志2920)、从第二计算机系统(例如,toolunit123)接收第二日志(例如,工具日志2910),并运行应用以基于第一和第二日志中包含的信息来同步数据。
331.在一些实施例中,一个或多个计算机系统可以使用对等或服务器介导的系统来彼此传送数据(例如,设计方案)。例如,在图29中,在计算机日志2920中的条目2923中创建的“electricalbox-revision2.svg”设计方案可以从computerunit456同步到计算机系统(serverunit789),并且toolunit123可以从计算机系统(serverunit789)检索“electricalbox-revision2.svg”,如工具日志2910的条目2911中所示。在另一个示例中,在计算机日志2920中的条目2923中创建的“electricalbox-revision2.svg”可以从computerunit456同步到toolunit123(例如,如在工具日志2910的条目2911中所示)。在一些实施例中,虽然未在图29中的计算机日志2920中示出,但是设计方案的同步可以由计算机系统(例如,computerunit456)存储在日志中。
332.在一些实施例中,系统2800可以使用一个或多个触发规则来评估与一个或多个部件的位置相关的信息、命令或输入以触发一个或多个动作。在一些实施例中,可以通过使用一个或多个传感器映射工作表面并基于来自一个或多个传感器和地图的数据确定部件的位置来确定部件的位置。在一些实施例中,系统2800可以使用一个或多个触发规则来评估与用户相关的信息、命令或输入(例如,相对于工具的用户位置、用户与工具的接触)以触发一个或多个动作。
333.在一些实施例中,系统2800中的一个或多个处理器可以分析以下中的一个或多个:(1)关于一个或多个部件的地点(例如,切割钻头的地点、传感器(例如,相机)的地点)的信息,(2)来自一个或多个传感器的输入(例如,来自系统的手柄上的抓握传感器的输入、来自麦克风的输入(例如,基于来自系统的用户或系统附近其它个体的命令或声音)、来自系统底座中的力传感器的输入、来自系统中的imu的输入、来自工作表面组分传感器的输入(例如,防止切割玻璃纤维材料)、来自由于手指防护罩和防尘罩2806的移除触发的开关的输入),(3)来自用户的输入(例如,触摸屏显示器ui上的用户交互),(4)来自远程计算机系统的命令(例如,由使用远离系统2800的计算机系统的领班触发的系统关闭),(5)关于系统的地点的信息(例如,系统相对于工件边缘的位置、系统的地理地点(例如,工作场所地点)、系统在结构中的地点(例如,燃气热水器)),(6)关于用户或用户身体部位(例如,面部、手、眼睛)相对于系统的一个或多个部件(例如,工作构件)或相对于系统本身的地点的信息(例如,使用立体相机、飞行时间相机、超声波传感器、电容传感器、光束中断传感器、lidar),或(7)关于用户的信息(例如,检测用户是否穿戴护目镜),以触发一个或多个动作。在一些实施例中,在由系统中的一个或多个处理器评估一个或多个触发规则时可以分析上面列出的信息、命令或输入的任何组合。在一些实施例中,基于评估,系统中的一个或多个处理器触发一个或多个动作。
334.在一些实施例中,系统中的一个或多个处理器可以基于一个或多个传感器与工作表面之间的相对位置的变化来评估规则。例如,如果一个或多个处理器检测到相机相对于工作表面的高度指示系统底座相对于工作表面倾斜或不再与工作表面接触,则系统中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,系统中的一个或多个处理器可以基于系统相对于扫描的区域的位置(例如,基于相对于地图的相机位置确定的)来评估规则以生成地图。例如,如果系统移动到扫描区域之外,则系统中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,系统中的一个或多个处理器可以基于传感器指示系统底座的至少一部分相对于工作表面倾斜或不再与工作表面接触来评估规则。例如,如果传感器测量系统倾斜超过(例如,1度角、2度、5度、10度、15度或25度),则系统中的一个或多个处理器可以触发一个或多个动作。在另一个示例中,如果力传感器检测到测量之间的变化或差异(例如,0.5%、1%、2%、3%,或诸如1n、0.5n、0.25n、0.1n、0.05n或2n的绝对变化),则系统中的一个或多个处理器可以触发一个或多个动作。
335.在一些实施例中,系统中的一个或多个处理器可以基于检测到来自至少一个抓握传感器指示用户未接触抓握传感器(例如,手柄上)的信号来评估规则。例如,如果用户没有按照要求接触抓握传感器,则系统中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,系统中的一个或多个处理器可以基于由麦克风检测到的可听命令或声音来评估规则。例如,如果系统在处理来自系统中的麦克风的信号(例如,语音识别)时检测到与一个或多个单词/短语(例如,“停止”)或声音(例如,尖叫)相关的数据,则系统中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,系统中的一个或多个处理器可以基于由系统中的麦克风检测到的工作构件工作动作声音来评估规则。例如,如果系统中的一个或多个处理器通过处理来自系统中麦克风的信号检测到工作构件工作动作声音的变化(例如,如果工作构件中断,系统发出的切割声音的变化),则系统中的一个或多个处理器可以触发一个或多个动作。
336.在一些实施例中,系统中的一个或多个处理器可以基于用户相对于系统的位置来评估规则。例如,如果系统中的一个或多个处理器检测到来自一个或多个传感器的、指示用户未相对于系统正确定位(例如,从相机2816侧保持系统2800手柄2808和2810,而不是从主轴2818侧保持系统2800手柄2808和2810)的数据,则系统中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,系统中的一个或多个处理器可以基于检测到工作构件损坏或破损来评估规则。例如,如果系统中的一个或多个处理器检测到工作构件被损坏或破损(例如,使用光束中断传感器),则系统中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,系统中的一个或多个处理器可以评估基于监视看门狗(watchdog)功能来评估规则。例如,如果系统中的一个或多个处理器检测到:(1)来自内部传感器或处理器的数据未按时到达,或者(2)来自内部传感器或处理器的数据格式不正确(例如,指示故障),则系统中的一个或多个处理器可以触发一个或多个动作。
337.在一些实施例中,如上所述,系统中的一个或多个处理器可以基于期望路径和系统调整范围之间的位置关系来评估规则。例如,如果一个或多个处理器检测到由于系统的地点和系统调整范围的大小而导致工作构件不能到达期望路径上的至少一个点,则系统中的一个或多个处理器可以触发一个或多个动作。在一些实施例中,系统中的一个或多个处理器可以基于一个或多个处理器检测到工作构件位置接近系统调整范围的边缘来评估规
则。例如,系统中的一个或多个处理器可以相对于系统调整范围的边缘监测工作构件位置、速度、加速度或相关参数(例如,加速度的导数)中的一个或多个,以预测工作构件的运动。如果工作构件的预测运动表明工作构件将在工作构件从工作表面缩回所需的时间内到达调整范围的边缘,则系统中的一个或多个处理器可以触发一个或多个动作。
338.在一些实施例中,如上所述,系统中的一个或多个处理器可以基于期望路径和系统调整范围之间的位置关系来评估规则。例如,如果一个或多个处理器检测到由于系统的地点,期望路径仅与系统调整范围的预定部分重叠(例如,在从系统调整范围的外边缘的系统调整范围的给定区域内),则系统中的一个或多个处理器可以触发一个或多个动作。在这个示例中,如果系统调整范围是圆形,则预定部分可以是除中心中系统调整范围区域的一部分(例如,50%、60%、70%、80%或90%)之外的环形区域。在这个示例中,如果期望路径仅与预定部分重叠,则系统中的一个或多个处理器可以触发工作构件从工作表面的缩回(例如,进入到系统的主体中)。在上述识别出的配置中,用户将期望路径移动到调整范围之外的系统移位可能导致对工作表面的意外切割。
339.在一些实施例中,一个或多个触发动作涉及将系统设置为安全状态(例如,将工作构件从工作表面缩回(例如,进入到系统主体中)、停止切割钻头旋转)。在一些实施例中,一个或多个触发动作涉及使用系统警告用户(例如,警告用户系统中的工作构件被破坏)。在一些实施例中,触发动作可以选自以下中的一个或多个:从工作表面缩回工作构件、停止工作构件的运动(例如,切断旋转切割钻头的主轴2902马达的电力)、减慢工作构件的运动(例如,减小切割钻头旋转速度)、发出可听见的警报(例如,使用连接到系统中的一个或多个处理器的扬声器)、存储警报通知(例如,在位于系统中的存储器中的日志中存储警报通知、在远离系统的计算机系统中存储警报通知)、或触发可视指示器(例如,系统上的闪烁灯)。
340.虽然本文根据本公开的示例性方法描述了各种动作,但是应该理解的是,在不脱离本公开的范围的情况下,可以省略本文描述的一些动作,并且可以添加其它动作。
341.本领域技术人员将认识到,在不脱离本公开的广义概念的情况下,可以对上述实施例做出改变或修改。在不脱离本公开的范围的情况下,一个或多个实施例的元件或特征可以与其它实施例的元件或特征组合。因此,应该理解的是,本公开不限于所描述的特定实施例,而是旨在覆盖本公开的范围和精神内的所有修改和变化。
342.本文描述的系统可以提供这些部件中的任何一种部件或每种部件的多个部件,并且这些部件可以在独立机器上提供,或者在一些实施例中,在分布式系统中的多个机器上提供。本文描述的系统和方法可以使用编程或工程技术被实现为方法、装置或制造品,以产生软件、固件、硬件或其任何组合。此外,本文描述的系统和方法可以被提供为实施在一个或多个制造品上或其中的一个或多个计算机可读程序。如本文所使用的术语“制造品”旨在包含可从一个或多个计算机可读设备、固件、可编程逻辑、存储器设备(例如,eeprom、rom、prom、ram、sram)、硬件(例如,集成电路芯片、现场可编程门阵列(fpga)、专用集成电路(asic))、电子设备、计算机可读非易失性存储单元(例如,cd-rom、软盘、硬盘驱动器)访问和嵌入其中的代码或逻辑。可以从文件服务器访问制造品,该文件服务器经由网络传输线、无线传输介质、通过空间传播的信号、无线电波或红外信号提供对计算机可读程序的访问。制造品可以是闪存卡或磁带。制造品包括硬件逻辑以及嵌入在由处理器执行的计算机可读介质中的软件或可编程代码。通常,计算机可读程序可以用任何编程语言实现,诸如lisp、
perl、c、c++、c#、prolog,或者用任何字节代码语言实现,诸如java。软件程序可以作为目标代码存储在一个或多个制造品上或其中。
343.已经描述了用于为一个或多个虚拟机虚拟化音频硬件的方法和系统的某些实施例,现在对于本领域技术人员来说,显而易见,可以使用结合本公开的概念的其它实施例。
344.虽然本文已经描述和图示了各种实施例,但是本领域普通技术人员将容易想到用于执行功能或获得本文所述的结果或一个或多个优点的各种其它手段或结构,并且这些变化或修改中的每一个都被认为是在本文描述的实施例的范围内。更一般地,本领域技术人员将容易理解,本文描述的所有参数、维度、材料和配置都是示例性的,并且实际参数、维度、材料或配置将取决于使用本教导的特定应用。本领域技术人员将认识到或能够使用不超过常规的实验确定本文所述的具体实施例的等同物。因此,应该理解的是,前述实施例仅作为示例呈现,并且在所附权利要求及其等同物的范围内,实施例可以不同于具体描述和要求保护的方式实践。本公开的实施例涉及本文描述的每个单独的特征、系统、物品、材料、套件或方法。此外,如果这些特征、系统、物品、材料、套件或方法不相互矛盾,则两个或更多个这样的特征、系统、物品、材料、套件或方法的任何组合都包括在本公开的范围内。
345.可以以多种方式中的任何一种来实现上述实施例。例如,可以使用硬件、软件或其组合来实现实施例。当用软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,无论该软件代码是在单个计算机系统中提供还是分布在多个计算机系统之间。
346.此外,计算机可以具有一个或多个输入和输出设备。这些设备除其它之外还可以用于呈现用户界面。可以用于提供用户界面的输出设备的示例包括用于输出的视觉呈现的打印机或显示屏和用于输出的可听呈现的扬声器或其它声音生成设备。可以用于用户界面的输入设备的示例包括键盘和指示设备,诸如鼠标、触摸板和数字化平板电脑。作为另一个示例,计算机可以通过语音识别或其它可听格式接收输入信息。
347.这些计算机可以通过一个或多个网络以任何合适的形式互连,包括局域网或广域网,诸如企业网络,以及智能网络(in)或互联网。这样的网络可以基于任何合适的技术,并且可以根据任何合适的协议操作,并且可以包括无线网络、有线网络或光纤网络。
348.用于实现本文描述的功能的至少一部分的计算机可以包括一个或多个存储器、一个或多个处理单元(本文也简称为“处理器”)、一个或多个通信接口、一个或多个显示单元和一个或多个用户输入设备。存储器可以包括任何计算机可读介质,并且可以存储用于实现本文描述的各种功能的计算机指令(本文也称为“处理器可执行指令”)。(一个或多个)处理单元可以用于执行指令。(一个或多个)通信接口可以耦合到有线或无线网络、总线或其它通信手段,并且因此可以允许计算机向其它设备发送讯息或从其它设备接收讯息。例如,可以提供(一个或多个)显示单元以允许用户查看与指令的执行有关的各种信息。例如,可以提供(一个或多个)用户输入设备以允许用户在指令的执行期间进行手动调整、进行选择、输入数据或各种其它信息、或者以各种方式中的任何一种与处理器进行交互。
349.本文概述的各种方法或过程可以被编码为可在采用各种操作系统或平台中的任何一个的一个或多个处理器上执行的软件。此外,这样的软件可以使用许多合适的编程语言或编程或脚本工具中的任何一种来编写,并且还可以被编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。
350.本文描述的概念可以被实施为编码有一个或多个程序的计算机可读存储介质(或
多个计算机可读存储介质)(例如,计算机存储器、一个或多个软盘、紧凑盘、光盘、磁带、闪存、以现场可编程门阵列或其它半导体设备的电路配置、或其它非瞬态介质或有形计算机存储介质),当所述一个或多个程序在一个或多个计算机或其它处理器上执行时,执行实现本文描述的各种实施例的方法。计算机可读介质可以是可运输的,使得存储在其上的程序可以被加载到一个或多个不同的计算机或其它处理器上,以实现本文描述的各个方面和实施例。
351.如本文所使用的,“工作构件”可以指钻头、雕刻钻头、圆锯刀片、切割钻头、切割构件、切割尖端、切割工具尖端、钻头、锯条(例如,用于竖锯、马刀锯、滚动锯)、探针、铣机钻头、工具尖端、v形切割钻头、或类似于常规手持式工具中使用的那些部件。如本文所使用的,“工作构件”可以指移液管尖端、用于拾取和放置工具的真空吸嘴、乙烯基切割刀、书写工具(例如,铅笔、钢笔、绘图笔)或类似项目。
352.如本文所使用的,“工作表面”是指工作构件可在其上执行动作(例如,切割、绘图、探测、接触)的表面。在一些实施例中,工作构件作用的材料包括具有一定厚度的工作表面(例如,具有1/2英寸厚度的一块4'x 8'胶合板)。在一些实施例中,工件(例如,维度为1'x2'x3'的矩形盒子、一块厚度为1/2英寸的4'x8'胶合板)包括工作构件可以作用在其上的多于一个工作表面(例如,矩形盒子的6个不同面)。在一些实施例中,工作表面可以包括以下中的一个或多个:工件的暴露部分(例如,在工件由木材制成的情况下暴露的木材)、在工件上做出的标示(例如,用书写工具制成的图案)、放置在工件上的标记(例如,贴条、薄膜、带、地点标记)、纸张(例如,铺设或附着到工件)、绘图模板等。
353.如本文所使用的,“致动器”可以指dc伺服马达、ac马达、步进马达、螺线管、或使用液压、气动、电动、磁性、热或机械传动中的一个或多个的任何位置或朝向调整机构。
354.如本文所使用的,“相机”可以指图像捕获系统,包括常规数字相机(使用图像传感器和一个或多个镜头)、光场相机、成像阵列(例如,平面傅立叶捕获阵列)或类似系统。
355.如本文所使用的,“传感器”可以指相机、超声传感器、光传感器(例如,激光传感器、红外传感器)、飞行时间传感器、惯性传感器、相位传感器、光学传感器、混合传感器(组合一个或多个传感器)或任何类似的传感器(例如,位置传感器、超声波测距传感器、激光测距传感器)。
356.本文使用的术语“程序”或“软件”在一般意义上是指可以用于对计算机或其它处理器进行编程以实现如上所述实施例的各个方面的任何类型的计算机代码或计算机可执行指令集。此外,根据一个方面,在执行时执行本文描述的方法或操作的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化方式在多个不同的计算机或处理器之间分布来实现本文描述的各种方面或实施例。
357.计算机可执行指令可以是以许多形式,诸如由一个或多个计算机或其它设备执行的程序模块。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件或数据结构。通常,程序模块的功能可以根据需要在各种实施例中组合或分布。
358.数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,数据结构可能被示出为具有通过数据结构中的地点相关的字段。这种关系同样可以通过为各字段分配存储来实现,各字段在计算机可读介质中具有传达字段之间的关系的地点。可以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签
或建立数据元素之间的关系的其它机制。
359.本文描述的概念可以被实施为一个或多个方法,已经提供了方法的示例。除非另有指示,否则作为方法的一部分执行的步骤可以以任何合适的方式排序。因此,即使在示例性实施例中被示出为顺序步骤,也可以构造其中以不同于所示顺序执行步骤的实施例,其可以包括同时执行一些步骤。
360.如本文所使用的,术语“光”、“光学”和相关术语不应该被理解为仅指可见光谱中的电磁辐射,而是通常指紫外线(约10nm至390nm)、可见光(390nm至750nm)、近红外(750nm至1400nm)、中红外(1400nm至15,000nm)和远红外(15,000nm至约1mm)中的电磁辐射。
361.除非明确地相反指示,否则如本说明书和权利要求书中使用的不定冠词“一”和“一个”应该被理解为表示“至少一个”。
362.对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所有所描述的术语中的任何一种。
363.在权利要求以及以上说明书中,诸如“包括”、“包含”、“携带”、“具有”、“含有”、“涉及”、“保持”、“由

组成”等的所有过渡短语应该被理解为开放式的,即,意味着包括但不限于。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1