用于位移量化的触觉装置的减小边界周期振荡的控制方法

文档序号:6430060阅读:175来源:国知局
专利名称:用于位移量化的触觉装置的减小边界周期振荡的控制方法
技术领域
本发明总的涉及具有触觉反馈的控制装置,并特别涉及用于减少在这种装置中在位移量化下发生的边界周期振荡的系统和方法。
背景技术
包括触觉和刺激感觉的触觉反馈已用于可由用户操纵的控制装置,例如按钮、游戏杆、游戏控制器等等。具有触觉反馈的控制装置响应用户对这些控制器的操纵而提供了各种力和/或触觉。这些感觉能够包括控制装置壳体的振动和/或施加在按钮、游戏杆或其它可由用户操纵的控制器(总称为操纵装置)上的振动或其它力,以阻止或加速操纵装置的运动。触觉反馈能够增加模拟的真实感或增强用户控制对象的能力。
通常,通过在该装置中包括一个或多个能向操纵装置的壳体上施加力的致动器而产生在控制装置中的触觉反馈感觉。这些致动器能够被处理器控制,该处理器或者位于该装置本身内、或者位于该装置与之通信的远程主机中。在一些这种装置中,该处理器具有触觉参数,以用于计算要施加到该装置上的力并将这些力转化为致动器信号,并且,操纵装置具有一个或多个位置编码器,位置编码器周期性地将更新后的位置数据报告给处理器。这些位置数据能够用于确定将要施加的力。
通常,处理器在伺服循环中运行。在各伺服周期中,处理器对编码器所提供的位置数据进行采样,用位置数据和触觉参数来计算要施加的力,并产生相应的控制信号。致动器接收信号并连续地施力,直到下次更新。伺服频率通常为1kHz。
一种常见的触觉效果是对与墙壁的接触进行模拟,其可以用于表示运动范围的边界(例如,音量控制旋钮)、模拟对象(例如视频游戏中的模拟车辆)在运动过程中与墙壁的撞击、或者各种其它条件下的情况。例如,在具有一个自由度的系统中,如果坐标x表示操纵装置位置,那么一个壁就可以位于点x=x0处。通常,壁的硬度不是无限的;壁被模拟为一个符合胡克定律的弹簧。因此,对于一个在x=x0处的壁,对于某个弹性系数K,操纵装置上的力的特征能够被描述为对于x≤x0有F=0,而对于x>x0有F=K(x-x0)。较大的弹性系数K对应于较硬的壁并且通常正是人们所需要的,但是,虚拟壁的硬度受到多种因素的限制,例如致动器产生较大力的能力。对于具有多于一个自由度的系统,也能够用类似的原理模拟平坦或非平坦壁。
由于操纵装置的位置是以离散的时间采样,所以通常直到用户已将操纵装置移动过壁位置一些距离(即,进入墙壁)时才施加壁力(wallforce)。一旦施力,壁力就要将操纵装置推回壁位置。这个壁力与用户对其的偏压力相对,将操纵装置推向并穿越墙壁位置。这能够导致绕壁位置的振荡(被称为“边界周期振荡”,因为振荡特性很大程度上独立于初始条件),同时,旋钮在一个较短距离上来回移动。视振荡的频率和振幅而定,这种振荡可以被用户察觉为操纵装置的不良触觉振动和/或听得见的噪音。通常使用的大多数位置传感器都是量化的,即编码器报告操纵装置的位置为多个离散值(“计数”),而操纵装置的实际位置通常处于两个相邻计数之间的某处,这一事实能够使这种效果恶化。
已经提出了用于在壁接触中减少边界周期振荡的多种技术。一种选择是使用具有较高分辨率的位置编码器(即,计数之间的较短距离)。然而编码器的成本随着分辨率的增加而增加,这使得这种选择在那些成本是一个重要考虑的应用中是不实用的。
另一选择是使用功能更强的处理器,该处理器能够在增高的伺服频率下运行,但这一选择并不总是可行的。在一些应用中,处理器的选择受到成本、工业先决条件或其它考虑的限制,这使得简单地选择一种功能更强的处理器是困难的。即使当较快的处理器是一个选择时,增加采样频率也能够导致边界周期振荡的频率增加到一个范围,在该范围内,某给定振幅的振荡更易于被用户察觉到,从而使该问题更加严重。而且,对于给定的编码器分辨率,存在这样一个点,在超过该点后,增加采样频率对于边界周期振荡只有很小的影响。
在这些基于硬件的选择以外,也提出了各种控制算法,以减少边界周期振荡。例如,理论上,通过在当前采样时间之前一个半伺服周期对系统行为进行模拟,能够计算出所期望的力。在实践中,在振荡过程中,对位置的认识受到编码器分辨率的限制,并且由于振荡的操纵装置的方向和速度对于用于测量其速度的现有系统来说改变得太过迅速,因而无法提供可靠的速度测量。因此,这些控制算法通常难于实现。
所希望的是,以一种减少了边界周期振荡的方式计算用于具有位移量化的触觉操纵装置的力,而不需要增加采样频率或者一个设计的其它约束。

发明内容
根据本发明的实施例,能够通过施加一个净力而减少触觉装置的边界周期振荡,该净力包括在主触觉循环中用传统方法计算出的第一力以及为了消除振荡或使振荡降到最小而计算出的第二力。第二力可以是例如在检测到操纵装置已穿过壁位置后立即施加的脉冲力,或者是具有相对于(振荡着的)操纵装置位置的适当相位偏移的周期性变化的力。在一个实施例中,使用阻尼电路计算第二力,该阻尼电路以高于主触觉循环的更新率运行于阻尼循环中。
下列详细说明和附图将提供对于本发明的特性和优点的更好理解。


图1是根据本发明的第一实施例的具有触觉控制装置的系统的简化方块图;图2是示出了根据本发明的一个实施例的用于产生致动器控制信号的过程的流程图;图3是根据本发明的第二实施例的具有触觉控制装置的系统的简化方块图;图4是根据本发明的第三实施例的具有触觉控制装置的系统的简化方块图;图5是示出了根据本发明的一个实施例的用于计算第二力的过程的流程图;图6是根据本发明的一个实施例的将操纵位置和触觉反馈力表示为时间的函数的图;图7A-B是分别地将传统系统中的和根据本发明的一个实施例的系统中的操纵装置位置模拟表示为时间的函数的图;
图8是示出了根据本发明的一个可选实施例的用于计算第二力的过程的流程图;图9是根据本发明的一个可选实施例的将操纵位置和触觉反馈力表示为时间的函数的图。
具体实施例方式
根据本发明的实施例,通过将可以使用传统技术计算出的第一力和根据阻尼算法所计算出的第二(例如,阻尼)力相组合而确定将要施加于操纵装置上的触觉力。第二力可以是例如在操纵装置刚刚穿过壁位置时就施加的冲击力;或者是周期性变化的力,该力具有相对于操纵位置的适当相位偏移。在一个实施例中,能够用阻尼电路计算出第二力,该电路工作在阻尼回路中,具有比主触觉回路更高的更新率。
图1是根据本发明的用于具有触觉反馈接口装置14的接口系统10的结构的第一实施例的简化方块图。触觉装置14与主计算机系统12相通信。主计算机系统12包括主处理器16、显示装置20和音频输出装置21。这些部件可以采用传统设计。
触觉装置14包括操作装置34,它可以是用户22可以掌握和操作的任何类型的对象,例如旋钮、滑动件、杠杆、游戏杆、台球杆、方向盘、或其他对象。设置有一个或多个传感器28(例如,位置编码器)以监控操纵装置34的位置并通过传感器接口36将当前位置报告给其它部件,例如本地处理器26,该处理器可以是例如微处理器或其它类型的处理器。一个或多个致动器30在操纵装置34上产生能够被用户22察觉到的力。可以使用具有传统设计的致动器30,例如使用直流电刷电动机等,电动机的扭矩(以及因而所产生的力)取决于施加在电动机上的电流脉冲。通常,致动器30由致动器界面38控制并由电源40供电。也可以设置有安全开关41,以在必要时使致动器30无效。致动器30、致动器界面38、电源40和安全开关41的详细说明从略,因为它们并不影响对本发明的理解。
本地处理器26与阻尼电路118和组合电路120一起确定将要由致动器30施加的力。在此实施例中,本地处理器26从主计算机系统12接收信息,根据该信息确定将要由致动器30施加的力。在一些实例中,本地处理器26可以从主机12接收“低级”的力指令,例如将要供给致动器30中的一个的电流值。在另一些实例中,本地处理器26可以从主机12接收“高级”的力指令,例如说明力作为操纵位置(如传感器28所确定的)的函数的公式,本地处理器26根据该公式计算出力并确定将要加的电流。在一些实施例中,本地处理器26也可以从用户22接收其它输入39,该输入可以用于确定将要施加的力。本地处理器26产生相应于第一力的第一控制信号(F),该信号将施加到致动器30上。为组合电路120提供第一控制信号F。在一个实施例中,控制信号由电流脉冲组成,这些电流脉冲由脉宽调制(PWM)发生器产生,但也能够用其它类型的控制信号代替。
根据本发明,阻尼电路118用于在与虚拟壁相接触时提供在操作装置34上的第二力,从而减小边界周期振荡的振幅。阻尼电路118从本地处理器26接收描述虚拟壁的参数(例如,壁位置、弹性系数K)并用这些信息以及来自一个或多个传感器28的位置信号来计算第二力。在下面说明了可以在阻尼电路118中使用以计算第二力的具体算法。阻尼电路118产生表示第二力的第二控制信号(dF),该信号被提供给组合电路120。在一个实施例中,控制信号由脉宽调制发生器所产生的电流脉冲组成,但也能够使用其它类型的控制信号来代替。
组合电路120组合来阻尼电路118的阻尼力控制信号dF和自本地处理器26的第一力控制信号F,并将代表组合后的力的信号提供给致动器界面38。在一个实例中,组合电路120仅仅将从本地处理器26和从阻尼电路118收到的电流脉冲简单相加。在另一个实施例中,本地处理器26和阻尼电路118所提供的控制信号为各力的值;组合电路120将这些力(代数地)相加并产生相应控制信号。应当理解,组合电路120的实施能够根据第二力的实施以及第一力控制信号而变化。
图2为流程图,该图示出了触觉控制装置100的操作的例子。主伺服循环202由本地处理器26执行;阻尼循环204由阻尼电路118执行;而信号发生循环206由组合电路120执行。
在主伺服循环202中,本地处理器26计算一个将要施加于操纵装置的力,与主机通信,并执行各种通常与触觉装置有关的其它功能。在步骤212中,本地处理器26与主机12相通信。这种通信能够包括初始化和更新本地处理器26所使用的各种触觉参数,向主机12报告操纵装置位置和/或速度数据,等等。(在没有主机12的实施例中,这个步骤可以由另一个步骤代替,在该步骤中,本地处理器26产生或以其它方式获得必要的数据。)在步骤214中,本地处理器26将更新后的阻尼参数传送给阻尼电路118。这可以包括,例如,如果壁的位置或弹性系数发生改变,那么在阻尼电路中更新适当的寄存器。在步骤216中,本地处理器26对编码信号进行采样,以判断当前操纵装置的位置。在步骤218中,本地处理器26根据当前操纵装置的位置和在步骤214中所获得的触觉参数计算新的第一力。在步骤220中,相应于所计算出的力的控制信号F被生成并提供给组合电路120。
使用现有技术能够实现在主伺服循环202中包括的各种动作。主伺服循环202也可以包括此处没有说明却为本领域技术人员所知的其它动作。在一个实施例中,本地处理器26以大致恒定的频率(例如1kHz)执行主伺服循环202。
在阻尼循环204中,阻尼电路118计算要施加的第二力。在步骤232中,从本地处理器26接收更新后的阻尼参数。在步骤234中,对编码信号采样以确定当前操纵装置的位置。在一个实施例中,阻尼电路118接收的编码数据与本地处理器26所接收的相同,以便以主伺服频率更新所确定的操纵装置位置。在一个可选实施例中,阻尼电路118独立地对编码数据进行采样,并且能够一个高于主伺服频率的频率更新操纵位置。在步骤236中,阻尼电路118根据操纵位置和在步骤232中所获得的阻尼参数计算第二力。下面将说明用于计算第二力的方法的例子。在步骤238中,生成相应的控制信号dF并提供给组合电路120。
阻尼电路118并不需要以主伺服频率运行;在一个实施例中,阻尼循环204被以一个大致较高的频率(例如,如果主伺服频率为1kHz,那么就可以采用一个24kHz的阻尼循环频率)执行。在使用较高的阻尼频率的情形下,不需要在每个阻尼循环204中都出现步骤232。步骤232能够实施,包括计数阻尼循环204的迭代次数并仅在一定的迭代次数后才检查更新后的参数,或者周期地对来自本地处理器26的表示更新是否可行的信号进行采样。也能够采用用于管理阻尼参数传输的其它技术。
在信号发生循环206中,组合电路120生成用于致动器30的控制信号、组合电路120接收分别对应于第一力和第二力的控制信号F和dF。在步骤252中,组合电路120如上所述地组合控制信号,以使得与组合信号相应于两个力的叠加。在步骤254中,组合信号被传送到致动器30。信号发生循环206有利地以与阻尼循环204的频率相同的频率执行。为了提高效率,循环频率应使得主伺服循环和阻尼循环所产生的每个值都被信号发生循环所采用,但这并不是必需的。
图3是根据本发明的用于触觉反馈装置314的结构的第二实施例的简化方块图。触觉反馈装置314通常类似于上述的触觉反馈装置14,除了未设置分立的组合电路120。与之不同的是,阻尼电路318从本地处理器26接收第一力控制信号F,并用该信号计算将要施加的净力,在此处,净力包括由阻尼电路318计算出的第二力。然后,阻尼电路318提供相应的控制信号(F+dF)给致动器30。触觉反馈装置314的操作大致类似于参考图2的上述过程,除了信号发生循环206步骤被合并到阻尼循环204中。
图4是根据本发明的用于触觉反馈装置414的结构的第三实施例的简化方块图。触觉反馈装置414大致类似于触觉反馈装置314,除了阻尼电路418与主触觉循环电路420一起被集成到本地处理器426中。触觉反馈装置400大致类似于上述参考图2的过程。
应当理解,此处所述的结构是示意性的,并且是可以改动和修改的。本地处理器能够用例如专用集成电路(ASIC)、通用微处理器或其它电路的任何控制处理器来实施。在一些实施例中,本地处理器能够在独立模式下运行;其中设置有主机,主机可以是任何计算机或其它高级处理器。主机和本地处理器之间的通信可以通过通用串行总线、控制区域网(CAN)总线或其它通信方式实现。阻尼电路(以及在提供有分立的组合电路时的组合电路)能够实施为具有可由处理器设定的参数的硬连线数字电路;例如,能够使用微处理器、复杂可编程逻辑装置(CPLD)、现场可编程门阵列(FPGA)或者专用集成电路(ASIC)实现阻尼电路。本地处理器、阻尼电路和组合电路的功能能够集成在单个芯片或以任何方式分布在多个分立部件上。
下面将说明能够在阻尼电路118(或318或418)中实现的用于计算要施加到操纵装置104上的第二力的算法示例。在这些示例中,操纵装置104为控制旋钮或具有一个转动自由度的其它装置,并且,参考阻尼扭矩或第二扭矩。应当理解,能够用类似算法来计算用于具有一个平动自由度的装置的第二力。该算法也能够扩展到具有多个自由度的系统,如下所述。
图5示出了一种能够在阻尼循环204的步骤236中使用的脉冲阻尼算法。在此实施例中,在第一阻尼循环周期中,在检测到壁边界被越过后施加第二扭矩。第二扭矩的大小和持续时间优选地补偿了在主触觉循环中更新力F时的延迟造成的旋钮动量中的误差。
在步骤502中,根据当前的操纵装置位置确定是否已发生壁穿越。在一个实施例中,将当前位置与壁位置(按编码器的计数)相比较;比较的值“1”表示操纵装置在壁外,值“0”表示操纵装置在壁内。阻尼循环204的上个周期的结果(1或0)被存储,以使得当前周期的结构能够与以前迭代的结果相比较;值的变化表示操纵装置已穿越墙壁位置。如果没有检测到对墙壁的穿越,那么在步骤504中将第二扭矩置为零。
如果在步骤502中检测到壁的穿越,那么在步骤508中,计算在主触觉循环中由于更新力F的延迟而造成的净(角)动量误差。通常,净动量误差是扭矩(τerror)的时间积分,在操纵装置处于壁的“错误的”一侧时的采样时间片断内,用该扭矩τerror来表示壁∫τerrordt=KdθΔt,(1)其中,K为壁的弹性系数,dθ为编码器的角分辨率,而Δt为实际穿越时刻(即,操纵装置穿越壁位置的时刻)与下一采样时刻之间的差。
在一个实施例中,使用Δt的平均值。平均起来,实际穿越时刻的分布是均匀的,因此平均起来Δt=ts/2,其中ts为采样周期。因此,在每次壁穿越中的平均动量误差是∫τerrordt=Kdθts2,----(2)]]>本发明的一个实施例在步骤508中用此平均值作为净动量误差。
在步骤510中,计算第二扭矩(τD)。在一个实施例中,在阻尼循环的一个周期内施加第二扭矩,并使净动量抵消用公式(2)计算出的动量误差。因此,第二扭矩为
τD=Kdθts/2tD,----(3)]]>其中,tD为阻尼循环的周期。如上所述,生成对应于第二扭矩τD的控制信号并将其与对应于第一力的控制信号相组合。
在一个实施例中,在主伺服频率下确定操纵装置的位置,并且ts为主循环周期。在另一实施例中,在高于主伺服频率的一个频率下确定用于阻尼循环204的操纵装置的位置,并且在公式(3)中使用ts的适当值。
图6是将在一个脉冲阻尼实施例中施加到触觉控制按钮上的全部扭矩表示为时间的函数的图。虚线602表示全部扭矩(符号变更),实线604表示旋钮的实际位置。沿时间轴606的勾记号表示采样周期ts。脉冲扭矩608、610在越过阈值后在第一采样间隔的开始处施加,并在阻尼循环的一个周期(tD)内持续。在此情形下,tD小于ts。尽管扭矩关于零对称,在一些实施例中,也可以不是这样。
图7A-B表示在模拟的触觉旋钮中脉冲阻尼的效果,其具有1kHz的主循环频率和2650次计数/转的编码器分辨率。在各图中,曲线表示触觉旋钮的轨迹位置,而脉冲表示传送给致动器的扭矩命令流。图7A说明了在没有第二扭矩时与虚拟壁相接触的触觉装置的表现。在区域705中发生边界周期振荡。在图7B中,在检测到越过阈值后(例如,约t=0.06sec的时间),在下一采样周期的开始处施加脉冲第二扭矩,并且阻尼脉冲周期为采样周期的1/40。通常,振荡的振幅明显减小,但偶尔会有较大的脉冲(例如,脉冲710)。这些较大的脉冲产生在采样时刻后立即发生实际壁穿越的时候,此时的实际动量误差为Kdθts而不是公式(2)所假定的Kdθts/2。在此情形下,脉冲扭矩对动量的校正不足,使得旋钮可以较远地穿出壁的边界。抓握着操纵装置的用户能够感觉到这些最坏情形下的脉冲。
应当理解,脉冲阻尼过程是示意性的而不是限制性的。采样周期ts不必对应于主循环周期并能够象所希望的一样小。另外,能够使用ts/2之外的值作为实际穿越时刻和采样时刻之间的差(Δt)。
图8说明了能够在阻尼循环204的步骤236中使用的相位估计阻尼算法。在此实施例中,当检测到操纵装置的振荡时,无论振荡能量的来源是什么,都提供与操纵装置位置具有恒定的相位差的周期性的第二扭矩,从而在不必增加振荡频率的情况下减少振荡幅度。对于相当有规律的边界周期振荡波形来说,壁的穿越时刻的精确信息使得即使是在缺少可靠的位置或速度信息时,也能够可靠地对振荡相位进行估计。使用所估计的相位产生与速度异相的力或扭矩以提供阻尼。
在步骤804中,确定是否发生了壁的穿越;这一步骤可以类似于上述步骤502。如果检测到壁的穿越,则在步骤806中将上一次壁穿越的时间(t0)设为当前时间(t)。可以在阻尼循环周期或任何其它方便的单元中测量当前时间。在步骤808中,将t0的新值用作数据点,以更新振荡周期Tosc的估计值。在一个实施例中,振荡周期被假定为常数(或者仅仅缓慢变化),而Tosc等于两个最近的壁穿越时刻之间间隔的两倍。如果振荡还没有开始(即,在一截止时间内尚未检测到至少两个壁的穿越),那么就能够将Tosc置为零,表示不要施加第二扭矩。
在步骤810中,确定Tosc是否为零。如果是零,那么就在步骤812中将第二扭矩τD置为零。如果Tosc不为零,那么就已检测到振荡,并根据步骤814和816计算第二扭矩。具体来说,在步骤814中,为下一采样时刻计算位移的估计相位。在此情形下的采样间隔为阻尼循环周期tD,对于非零的Tosc,相位φ是(t+tD-t0)/Tosc。在此实施例中,所要得到的是在下一阻尼循环周期而不是当前周期中的相位,因为在阻尼循环的一个周期中计算出的扭矩将施加到下一周期。如果Tosc为零,则不计算相位。
在步骤816中,被更新的第二扭矩被计算为
τD=-Bcos2πφ, (4)其中,B为为特定触觉系统优化的比例因子。如果Tosc为零,那么第二扭矩就也置为零。如上所述,生成对应于第二扭矩τD的控制信号并将其与对应于第一力的控制信号相组合。
图9是将振荡过程中操纵装置位置(实线902)和第二扭矩(虚线904)表示为时间的函数的图。可以看到,当速度处于最大时,即,当操纵装置穿越壁位置时(例如时刻A和B),将第二扭矩增加到最大。靠近壁穿越处,操纵装置位置的信息最为精确,而最大扭矩将可靠地施加在正确的方向上以使振荡衰减。随着操纵装置离开壁位置并向反向点运动(例如时刻C),第二扭矩正弦地减少。靠近时刻C的相位估计误差能够导致所施加的扭矩使操纵装置加速而不是使其减速;然而,在靠近时刻C处,第二扭矩相对较弱。因此,相位误差的影响最小。
如上所述,如果振荡周期被假定为常数(或者缓慢地变化),那么就能够用仅仅最后两个壁穿越时刻来计算Tosc。在一些应用中,由于有第二扭矩,因而振荡周期通常不是常数。为了考虑进振荡周期的变化,可以使用更为复杂的技巧来计算Tosc,例如卡尔曼(Kalman)滤波和自适应控制方法。根据本公开,这些技术的实施对于本领域技术人员来说是易于理解的。
应当理解,相位估计阻尼过程是示意性的而不是限制性的。阻尼循环周期能够改变,而且能够在阻尼循环周期、主循环周期、或者任何其它周期中检测壁的穿越,并用较短的周期产生较多的可靠数据。能够以多种方式确定比例因子B。
另外,应当注意到,相位估计阻尼方法能够用于在多种情形下减小操纵装置的振荡,包括振荡不是由虚拟壁产生的情况。振荡能够被检测,并且能够在操纵装置在某一特定的最大时间间隔内多次穿过“零”位置的任何时刻施加第二力。初始化振荡所需要的穿过零的次数和零穿过点之间的最大间距能够改变。零位置能够设置于任何操纵装置的位置并且不需要对应于任何特定的编码器计数。
尽管上述说明考虑的是具有单个自由度的触觉操纵装置,但是也能够为具有多个自由度的操纵装置实施类似的技术。以下将说明具有多个自由度的实施例。
在一些具有多个自由度的装置中,各个自由度基本上是独立的(例如,传统的触觉游戏杆具有球状五杆连接)。在此情形下,使用类似上述的技术,能够计算出第二扭矩并将其独立地应用于每个自由度。能够为各个自由度设置分立的阻尼电路,或者,用于不同自由度的电路能够有共用的组件。
在其它装置中,例如在具有多个关节的机械臂中,自由度是耦合的。对于这些装置,需要公知的运动学计算以将关节空间位移转化为笛卡尔位移(例如,在机械臂端部的机械手位置),并且,需要用逆雅可比运算(inverse Jacobian caculation)将笛卡尔力和扭矩转化为关节空间扭矩。当该装置的不同关节移动到不同位置时,运动学参数和逆雅可比系数能够发生变化。用传统方式以主伺服频率执行运动学参数和逆雅可比系数的计算,并将其用于计算要施加到各关节的触觉力。这这种计算通常消耗很大一部分的处理器资源,限制了主触觉循环的频率。
但是,本发明的阻尼技术仍然能够应用于这些系统,因为在与主循环或阻尼循环周期有可比性的次数中,在与触觉反馈应用中常见的速度下,运动学参数和雅可比系数通常并不明显地改变,。因此,能够为各个自由度(例如,机械臂的各个关节)提供分立的阻尼电路。各个电路使用上述算法以一个较高的阻尼循环频率(例如,24或48kHz左右)为其关节计算第二力(或扭矩)。在计算第二力需要运动学参数和逆雅可比参数之处,阻尼电路使用由本地处理器在主循环频率下计算出的、并在该频率下提供给阻尼电路的值。
因此,根据本发明,通过提供能够在更高频率下工作的专用阻尼电路,在不增加编码器的分辨率或主触觉循环频率的情况下,能够减小在具有位移量化的触觉操纵装置中的边界周期振荡。阻尼电路提供第二力,该力被加到主触觉循环中计算出的力上。应当注意到,只要阻尼循环的采样间隔大致比振荡周期短(例如,短10倍),本发明的技术就是有效的。在这些条件下,尽管编码器分辨率对于边界周期振荡的影响比采样频率更加明显,仍然能够使用此处所述方法来减小振荡而不增加编码器分辨率。
尽管已参考特定实施例说明了本发明,本领域技术人员应当了解到许多修改都是可能的。阻尼循环能够如上述地在硬件中实现,也能够由在运行于本地处理器或远程主机中的控制软件实现。阻尼循环频率能够等于主触觉循环频率,或者大于主触觉循环频率。使用上述算法或其变形能够计算出要施加的第二力。能够在具有任何数目的自由度的任何形式的触觉操纵装置中实现阻尼电路,而不限于这里所提及的具体示例。
因此,尽管已参考特定实施例说明了本发明,应当理解,本发明试图含盖权利要求范围中的所有修改和等价物。
权利要求
1.在一种具有操纵装置的触觉装置中,在规律的采样时刻确定操纵装置的位置,一种用于减少该操纵装置的边界周期振荡的方法,包括在以第一伺服频率运行的第一伺服循环中,根据操纵装置在当前采样时刻的位置来确定第一力;在以第二伺服频率运行的第二伺服循环中检测操纵装置的振荡;并确定相应于该振荡的第二力;组合第一力和第二力;并将组合后的力施加到操纵装置上。
2.根据权利要求1所述的方法,其中第一伺服频率低于第二伺服频率。
3.根据权利要求1所述的方法,其中振荡的检测包括检测操纵装置对虚拟壁位置的穿越。
4.根据权利要求3所述的方法,其中确定第二力的过程包括计算与虚拟壁位置的穿越有关的动量误差;和计算补偿该动量误差的第二力。
5.根据权利要求4所述的方法,其中与穿越有关的动量误差的计算包括对于虚拟壁区域内的一个位置计算可用力;计算在施加该可用力之前处于该虚拟壁区域内的时间所对应的误差时间;用可用力乘以误差时间。
6.根据权利要求5所述的方法,其中计算用于虚拟壁区域内的一个位置的可用力的过程包括计算与虚拟壁有关的弹性系数和与操纵装置的位置有关的位移分辨率的乘积。
7.根据权利要求5所述的方法,其中计算误差时间的过程包括将误差时间设定为各采样时刻之间间隔的一半。
8.根据权利要求4所述的方法,其中计算抵消动量误差的第二力的过程包括用动量误差除以第二伺服循环的周期。
9.根据权利要求1所述的方法,其中检测振荡的过程包括在预定时间间隔内检测出操纵装置至少两次穿越零位置。
10.根据权利要求9所述的方法,其中确定对应于振荡的第二力的过程包括计算振荡的周期;识别出最后零穿越时刻;根据振荡周期和最后零穿越时刻,计算周期性位移函数的位移相位;根据位移相位计算第二力,该第二力具有一个阻尼相位,该阻尼相位相对于位移相位偏移一个恒定的偏移量。
11.根据权利要求10所述的方法,其中计算振荡周期的过程包括识别两个连续的零穿越时刻;并计算等于两个连续零穿越时刻间的差的两倍的振荡周期。
12.根据权利要求9所述的方法,其中零位置对应于虚拟壁的位置。
13.一种用于具有操纵装置的触觉装置的控制系统,其包括处理器,该处理器被构造为在主触觉循环频率下产生第一力;阻尼电路,该阻尼电路被构造为检测操纵装置的振荡并响应于检测到的振动在阻尼循环频率下产生第二力信号;组合电路,该组合电路被构造为将第一力信号和第二力信号相组合,从而产生控制信号以控制触觉装置的触觉反馈力
14.根据权利要求13所述的控制系统,其中主循环频率低于阻尼循环频率。
15.根据权利要求13所述的控制系统,其中阻尼电路还被构造为通过检测操纵装置对虚拟壁位置的穿越而检测操纵装置的振荡。
16.根据权利要求15所述的控制系统,其中阻尼电路还被构造为用于计算与对虚拟壁位置的穿越有关的动量误差并计算补偿该动量误差的第二力。
17.根据权利要求16所述的控制系统,其中动量误差等于与虚拟壁有关的弹性系数和与操纵装置有关的位移分辨率以及连续确定的操纵装置位置之间的时间间隔的乘积。
18.根据权利要求16所述的控制系统,其中第二力大致等于动量误差除以阻尼循环的周期。
19.根据权利要求13所述的控制系统,其中阻尼电路还被构造为通过检测出在预定时间间隔内操纵装置至少两次穿越零位置来检测操纵装置的振荡。
20.根据权利要求19所述的控制系统,其中阻尼电路还被构造为计算周期性的第二力,该第二力对于检测出的振荡的估计相位具有相位偏移。
21.根据权利要求20所述的控制系统,其中检测出的振荡的估计相位大致等于当前时刻和上一零穿越时刻之差除以检测出的振荡的估计周期的商。
22.根据权利要求21所述的控制系统,其中检测出的振荡的估计周期大致等于两个连续的零穿越时刻之差的两倍。
23.一种触觉反馈装置,其包括操纵装置;致动器,该致动器与操纵装置相连接并被构造为响应于致动器控制信号而向操纵装置施力;处理器,该处理器被构造为在主触觉循环频率下产生第一力信号;阻尼电路,该阻尼电路被构造为检测操纵装置的振荡并响应于检测到的振荡而产生第二力信号;和组合电路,该组合电路被构造为将第一力信号和第二力信号相组合,从而产生致动器控制信号。
24.根据权利要求23所述的触觉反馈装置,其中主循环频率低于阻尼循环频率。
25.根据权利要求23所述的触觉反馈装置,其中阻尼电路还被构造为通过检测操纵装置对虚拟壁位置的穿越而检测操纵装置的振荡。
26.根据权利要求25所述的触觉反馈装置,其中阻尼电路还被构造为计算与穿越虚拟壁位置有关的动量误差并计算补偿该动量误差的第二力。
27.根据权利要求26所述的触觉反馈装置,其中动量误差等于与虚拟壁有关的弹性系数和与操纵装置有关的位移分辨率以及连续确定的操纵装置位置之间的时间间隔的一半的乘积。
28.根据权利要求26所述的触觉反馈装置,其中第二力大致等于动量误差除以阻尼循环周期。
29.根据权利要求23所述的触觉反馈装置,其中阻尼电路还被构造为通过检测在预定时间间隔内操纵装置至少两次穿越零位置来检测操纵装置的振荡。
30.根据权利要求29所述的触觉反馈装置,其中阻尼电路还被构造为计算周期性的第二力,该第二力对于检测出的振荡的估计相位具有相位偏移。
全文摘要
用于减少触觉装置的边界周期振荡的系统和方法。施加于该装置上的净力(F+dF)是在主触觉循环(26)中计算出的第一力(F)和在阻尼循环(118)中所计算出的第二力(dF)的组合,该第二力抵消了振荡或使其减到最少。在一种算法中,根据与操纵装置(34)对壁位置的穿越有关的动量误差确定第二力,并且,在检测到穿越后立即施加第二力。在另一算法中,计算出周期性改变的第二力(dF),该第二力具有相对于振荡着的操纵装置的相位的相位偏移。
文档编号G06F3/01GK1575488SQ02821191
公开日2005年2月2日 申请日期2002年10月24日 优先权日2001年10月24日
发明者克里斯托弗·J·哈塞 申请人:伊梅森公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1