发明内容
有鉴于此,本发明实施例提供了一种格斗机器人控制器调试方法、装置、控制器及控制方法,用于解决现有的格斗机器人控制器调试方式过于复杂,不利于调试人员调试操作的技术问题。
本发明采用的技术方案是:
第一方面,本发明提供了一种格斗机器人控制器调试方法,所述控制器包括若干个控制器关节,所述方法包括以下步骤:
获取与控制器电连接的上位机的端口号;
通过上位机交互界面第一输入框中输入的内容获取当前所调试的控制器关节的标识码;
根据所述上位机的端口号和当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据;
根据所述角位置测量数据对控制器关节进行调试并获取调试参数。
优选地,所述根据所述上位机的端口号和当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据还包括以下步骤包括以下步骤:
根据上位机交互界面中第一控件受点击后所产生的第一触发信号获取当前所调试的控制器关节转动至第一角位置后当前所调试的控制器关节的角位置测量数据作为第一角位置值;
根据上位机交互界面中第二控件受点击后所产生的第二触发信号获取当前所调试的控制器关节转动至第二角位置后当前所调试的控制器关节的角位置测量数据作为第二角位置值。
优选地,所述根据上位机交互界面中第一控件受点击后所产生的第一触发信号获取当前所调试的控制器关节转动至第一角位置后当前所调试的控制器关节的角位置测量数据作为第一角位置值还包括以下步骤:
响应于第一触发信号的产生,根据所述上位机的端口号接收各个控制器关节发送给上位机的角位置测量数据;
根据当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据的长度;
根据当前所调试的控制器关节的标识码和当前所调试的控制器关节的角位置测量数据的长度从发送给上位机的角位置测量数据中筛选出当前所调试的控制器关节的角位置测量数据。
优选地,所述根据所述角位置测量数据对控制器关节进行调试并获取调试参数还包括以下步骤:
响应于点击第三控件所产生的第三触发信号,根据第一角位置值和第二角位置值计算当前所调试的控制器关节的实际转动行程;
根据当前所调试的控制器关节的标识码获取当前所调试的控制器根据的限制转动行程;
若当前所调试的控制器关节的实际转动行程小于等于当前所调试的控制器根据的限制转动行程则当前所调试的控制器关节的转动范围合格,否则在上位机交互界面的第一显示区域显示第一提示信息。
优选地,所述根据所述角位置测量数据对控制器关节进行调试并获取调试参数还包括以下步骤:
根据当前所调试的控制器关节识别码获取与当前所调试的控制器关节对应的机器人舵机的正向转动极限角位置值Ap、负向转动极限角位置值An和中间角位置值Am;
获取当前所调试的控制器关节朝参考方向转动至控制器关节的限位结构所限制的角位置附近时的当前所调试的控制器关节的角位置测量数据作为参考角位置值Br;
响应于点击第四控件所产生的第四触发信号,根据所示第一角位置值B1、第二角位置值B2、参考角位置值Br、机器人舵机的正向转动极限角位置值Ap、负向转动极限角位置值An和中间角位置值Am计算并在在上位机交互界面的第二显示区域显示机器人舵机的理论角位置值At,如果Ap≤Am则At=Ap+ Br×|Ap-An|÷|B2-B1|,如果Ap>Am则At=Ap- Br×|Ap-An|÷|B2-B1|。
优选地,所述调试参数包括第一极限角位置值和第二极限角位置值,所述根据所述角位置测量数据对控制器关节进行调试并获取调试参数还包括以下步骤:
响应于点击第五控件所产生的第五触发信号,将机器人舵机的理论角位置值At与机器人舵机的正向转动极限角位置值Ap进行比较;
根据比较结果从第一角位置值和第二角位置值中选择一个作为当前所调试的控制器关节的第一极限角位置值,另一个作为当前所调试的控制器关节的第二极限角位置值,并根据比较结果在第三显示区域显示第二提示信息;
响应于点击第六控件所产生的第六触发信号,存储当前所调试的控制器关节的第一极限角位置值和第二极限角位置值。
在所有控制器关节完成调试后,响应于点击第七控件所产生的第七触发信号,将控制器关节的第一极限角位置值和第二极限角位置值以私有通信协议发送给控制器。
第二方面本发明还提供了一种格斗机器人控制器调试装置,所述装置包括:
端口号获取模块,所示端口号获取模块用于获取与控制器电连接的上位机的端口号;
控制器关节标识码获取模块,所示控制器关节标识码获取模块用于通过上位机交互界面第一输入框中输入的数值获取根据当前所调试的控制器关节的标识码;
角位置测量数据获取模块,所示角位置测量数据获取模块用于根据所述上位机的端口号和当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据;
关节调试模块,所述关节调试模块用于根据所述角位置测量数据对控制器关节进行调试。
第三方面,本发明还提供了一种格斗机器人控制器,用于控制格斗机器人,包括:至少一个处理器、至少一个存储器以及存储在所述存储器中的计算机程序指令,当所述计算机程序指令被所述处理器执行时实现第一方面所述的方法。
第四方面,本发明还提供了一种机器人控制方法,利用可穿戴于用户身体上的控制器对机器人进行控制,所述方法包括以下步骤:
按照第一方面所述的格斗机器人控制器调试方法对控制器的进行调试;
获取各个控制器关节的所对应的机器人舵机的转动角位置范围;
获取控制器随操作者肢体运动时各个控制器关节的角位置测量数据;
根据机器人舵机的转动角位置范围和各个控制器关节的角位置测量数据获取机器人舵机对应的转动角位置值;
将机器人舵机对应的转动角位置值发送给控制舵机转动的舵机控制电路。
有益效果:本发明的格斗机器人控制器调试方法、装置、控制器及控制方法将上位机的端口与控制器相连,利用上位机端口统一获取调试过程中所有控制器关节的角位置测量数据,并利用当前所调试的控制器关节的标识码获从大量数据中快速取当前所调试的控制器关节的角位置测量数据。由于上位机提供了交互界面,因此调试人员可以通过交互界面方便的与所调试的控制器关节交互信息,从而快速获得想要的调试数据。利用上位机较强的处理能力,可以自动对角位置测量数据进行分析获得调试参数,从而使调试人员的调试过程进一步简化。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。如果不冲突,本发明施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。
实施例1
如图1所示,本实施例提供了一种格斗机器人控制器调试方法,所述控制器包括若干个控制器关节,所述方法包括以下步骤:
S1:获取与控制器电连接的上位机的端口号;
本实施例利用上位机来辅助控制器的调试。本实施例中对控制器的调试是指对控制器关节的调试,由于控制器上具有多个控制器关节,因此在对控制器的调试中需要对控制器的所有控制器关节进行调试。在调试时先将控制器的数据输出端与上位的端口先连接,连接好后记录下所连接的端口号。为了方便调试人员调试。
S2:通过上位机交互界面第一输入框61中输入的内容获取当前所调试的控制器关节的标识码;
由于本实施例中的控制器具有多个控制器关节,因此在调试过程中可以对控制器关节进行逐一调试。为了避免调试时各个控制器关节之间相互干扰,可以为每个控制器关节分配一个标识码。本实施例可以在上位机的显示设备中显示用于在调试过程中和上位机进行交互的交互界面,交互界面中显示有供调试人员输入控制器关节标识码的第一输入框61。如图2所示在控制器与上位机完成数据传输的连接后,调试人员将待调试的控制器关节的标识码输入到上位机交互界面所显示的第一输入框61中。当检测到第一输入框61中有内容输入后,上位机将第一输入框61中的内容作为当前所检测的控制器关节的标识码。
S3:根据所述上位机的端口号和当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据;
如图2所示在上位机的交互界面中显示有端口号输入框,控制器与上位机的端口连接号后,在端口号输入框输入所连接的数据端口的端口号,上位机将该端口号对应的数据端口打开,并接收控制器传送给该端口的数据。
如图3所示,所述S3:根据所述上位机的端口号和当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据还包括以下步骤包括以下步骤:
S31:根据上位机交互界面中第一控件71受点击后所产生的第一触发信号获取当前所调试的控制器关节转动至第一角位置后当前所调试的控制器关节的角位置测量数据作为第一角位置值;
在上位机的交互界面中显示有可以供调试人员点击的第一控件71,该控件可以是按钮控件。每个控制器关节都有两个相反的转动方向,为了便于描述这两个相反的转动方向又称为的第一方向和第二方向。为了限制控制器关节的转动范围,如图4所示,控制器关节上设置了有弧形的限位槽51和限位块53所组成的限位结构。控制器关节包括可以相对转动地第一组件和第二组件,而限位槽51和限位块53则分别设置在第一组件和第二组件上。当限位块53随第二组件沿第一方向转动至与限位槽51的一个侧壁52接触的时候,控制器关节处于第一角位置。如图2所示,然后调试人员点击第一控件71,第一控件71受到点击后将产生第一触发信号,该触发信号将触发上位机记录下当前所调试的控制器关节当前所处角位置的测量数据,并将该数据作为第一角位置值显示在上位机的交互界面上。
作为一种可选但有利的实施方式,如图5所示,在本实施例中所述S31:根据上位机交互界面中第一控件71受点击后所产生的第一触发信号获取当前所调试的控制器关节转动至第一角位置后当前所调试的控制器关节的角位置测量数据作为第一角位置值还包括以下步骤:
S311:响应于第一触发信号的产生,根据所述上位机的端口号接收各个控制器关节发送给上位机的角位置测量数据;
在本实施例中所有控制器关节先上位机发送各自所采集到的角位置测量数据。第一触发信号触发上位从而与控制器连接的端口中接收这些控制器关节发送的数据。
S312:根据当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据的长度;
每个控制器关节所采集的角位置测量数据具有一定的长度,例如角位置测量数据的长度可以是k个字节,其中k为正数。
S313:根据当前所调试的控制器关节的标识码和当前所调试的控制器关节的角位置测量数据的长度从发送给上位机的角位置测量数据中筛选出当前所调试的控制器关节的角位置测量数据。
各个控制器以报文的形式向上位机发送角位置测量数据,报文中还包括了各个控制器关节的标识码,控制器关节的角位置测量数据紧挨着控制器关节的识别码排列。如果角位置测量数据的长度为k个字节,则可以将制器关节的识别码后面k个字节的数据作为该识别码所对应的控制器关节的角位置测量数据。
S32:根据上位机交互界面中第二控件72受点击后所产生的第二触发信号获取当前所调试的控制器关节转动至第二角位置后当前所调试的控制器关节的角位置测量数据作为第二角位置值。
如图6所示,在上位机的交互界面中还显示有可以供调试人员点击的第二控件72,该控件可以是按钮控件。当限位块53随第二组件沿第二方向转动至与限位槽51的另一个侧壁52接触的时候,控制器关节处于第二角位置。然后调试人员点击第二控件72,第二控件72受到点击后将产生第二触发信号,该触发信号将触发上位机记录下当前所调试的控制器关节当前所处角位置的测量数据,并将该数据作为第二角位置值显示在上位机的交互界面上。
S4:根据所述角位置测量数据对控制器关节进行调试并获取调试参数。
在获得了当前所调试的角位置测量数据后就可以利用这些数据对控制器关节进行调试了。
首先可以对控制器关节的转动范围进行调试,如图7所示,所述S4:根据所述角位置测量数据对控制器关节进行调试并获取调试参数还包括以下步骤:
S41:响应于点击第三控件所产生的第三触发信号,根据第一角位置值和第二角位置值计算当前所调试的控制器关节的实际转动行程;
上位机的交互界面中还显示有供调试人员点击的第三控件,第三控件可以是按钮控件。当调试人员点击第三控件后,上位机产生第三触发信号,该触发信号触发上位机计算出当前所调试的控制器关节的实际转动行程。具体计算方法为:Lr=|B1-B2|。
S42:根据当前所调试的控制器关节的标识码获取当前所调试的控制器根据的限制转动行程;
在控制关节制造中,限位结构由于制造误差可以会造成控制器关节转动角位置范围过大的问题。为了避免控制器关节转动的角位置范围过大,需要为控制器中的每个控制器关节设置一个对应的限制转动行程,使控制器关节的实际转动行程不会超出其所对应的限制转动行程。
S43:若当前所调试的控制器关节的实际转动行程小于等于当前所调试的控制器根据的限制转动行程则当前所调试的控制器关节的转动范围合格,否则在上位机交互界面的第一显示区域显示第一提示信息。
如果当前调试的控制器关节的转动范围不合格,上位机交互界面中会显示需要对该关节进行处理的提示信息,例如更换同类型或者相同id的控制器关节。
如图8所示,作为一种可选但有利的实施方式,在本实施例中还可以对控制器关节的转动方向进行调试。对此所述S4:根据所述角位置测量数据对控制器关节进行调试并获取调试参数还包括以下步骤:
S44:根据当前所调试的控制器关节识别码获取与当前所调试的控制器关节对应的机器人舵机的正向转动极限角位置值Ap、负向转动极限角位置值An和中间角位置值Am;
机器人的每个舵机在工作时都有一个设定的转动范围,这个设定的转动范围由舵机的正向转动极限角位置值Ap和负向转动极限角位置值An来限定,舵机在工作时只会在正向转动极限角位置值Ap和负向转动极限角位置值An之间转动。如图9所示,图9总表示了机器人上5个舵机的转动范围,其中第一舵机41的正方向转动的极限角位置为316,负方向转动的极限角位置为866,舵机在316至866之间转动;第二舵机42的正方向转动的极限角位置为158,负方向转动的极限角位置为630,舵机在158至630之间转动;第三舵机43的正方向转动的极限角位置为984,负方向转动的极限角位置为276,舵机在984至276之间转动;第四舵机44的正方向转动的极限角位置为158,负方向转动的极限角位置为866,舵机在158至866之间转动第五舵机45的正方向转动的极限角位置为708,负方向转动的极限角位置为158,舵机在708至158之间转动。
舵机的中间角位置值Am是值舵机转动到其能转动的最大行程的一半位置时的角位置值。例如舵机最多可以从角位置值为0的位置转动至角位置值为a的位置,那么中间角位置值Am=a/2。
S45:获取当前所调试的控制器关节朝参考方向转动至控制器关节的限位结构所限制的角位置附近时的当前所调试的控制器关节的角位置测量数据作为参考角位置值Br;
本步骤先预设一个控制器关节的转动方向作为参考方向,前述参考方向是第一方向或者第二方向中的一个。然后将当前所要调试的控制器关节朝参考方向转动,如果参考方向是第一方向则将当前所调试的控制器关节转动至第一角位置附近,如果参考方向是第一方向则将当前所调试的控制器关节转动至第二角位置附近。本实施例可以预设设置一个误差允许范围,为了便于描述,这个误差允许范围在本文中称为第一误差允许范围。
如果参考角位置值Br与第一角位置值或者第二角位置值的差值的绝对值小于等于第一误差允许范围,则可以认为当前所调试的控制器关节朝参考方向转动至控制器关节的限位结构所限制的角位置附近。否则将当前所调试的控制器关节继续向参考方向转动。本实施例还可以在上位机的交互界面中显示当前所调试的控制器关节当前所处的角位置值,以便调试人员可以根据显示的角位置值将控制器关节转动到控制器关节的限位结构所限制的角位置附近。
S46:响应于点击第四控件74所产生的第四触发信号,根据所示第一角位置值B1、第二角位置值B2、参考角位置值Br、机器人舵机的正向转动极限角位置值Ap、负向转动极限角位置值An和中间角位置值Am计算并在在上位机交互界面的第二显示区域82显示机器人舵机的理论角位置值At,如果Ap≤Am则At=Ap+ Br×|Ap-An|÷|B2-B1|,如果Ap>Am则At=Ap- Br×|Ap-An|÷|B2-B1|。
如图10所示,调试人员点击交互界面中的第四控件74,上位机会产生第四触发信号,第四触发信号触发上位机开始计算与控制器关节参考角位置对应的机器人舵机的理论角位置。上位机的交互界面的显示区域中显示出所计算的理论角位置值At。
如图11所示,在本实施例中,所述调试参数包括第一极限角位置值和第二极限角位置值,所述S4:根据所述角位置测量数据对控制器关节进行调试并获取调试参数还包括以下步骤:
S47:响应于点击第五控件75所产生的第五触发信号,将机器人舵机的理论角位置值At与机器人舵机的正向转动极限角位置值Ap进行比较;
如图12所示,交互界面中显示有用于供调试人员点击的第五控件75。
S48:根据比较结果从第一角位置值和第二角位置值中选择一个作为当前所调试的控制器关节的第一极限角位置值,另一个作为当前所调试的控制器关节的第二极限角位置值,并根据比较结果在第三显示区域83显示第二提示信息;
本步骤可以先获取第二预设范围d2和第三预设范围d3,其中第二预设范围d2小于当前所调试的控制器关节行程的一半,第三预设范围则大于当前所调试的控制器关节行程的一半,其中第二预设范围d2和第三预设范围d3可以根据经验设置。
如果参考方向为第一方向,那么若|At-Ap|≤d2则选择第一角位置值作为当前所调试的控制器关节的第一极限角位置值,第二角位置值作为当前所调试的控制器关节的第二极限角位置值,若|At-Ap|>d2且|At-Ap|>d3则选择第二角位置值作为当前所调试的控制器关节的第一极限角位置值,第一角位置值作为当前所调试的控制器关节的第二极限角位置值。
如果参考方向为第二方向,那么若|At-Ap|≤d2则选择第二角位置值作为当前所调试的控制器关节的第一极限角位置值,第一角位置值作为当前所调试的控制器关节的第二极限角位置值,若|At-Ap|>d2且|At-Ap|>d3则选择第一角位置值作为当前所调试的控制器关节的第一极限角位置值,第二角位置值作为当前所调试的控制器关节的第二极限角位置值。
S49:响应于点击第六控件76所产生的第六触发信号,存储当前所调试的控制器关节的第一极限角位置值和第二极限角位置值。
调试人员点击交互界面中所显示的第六控件76,上位机产生第六触发信号,触发上位机将前述步骤获取到的当前所调试的控制器关节的第一极限角位置值和第二极限角位置值存储起来。
采用前述方式后无论控制器关节的转动方向与机器人舵机的转动方向对应关系如何,都能将与舵机正向转动方向一致的控制器关节转动方向上的角位置作为第一角位置值存储,这样调试人员通过简单的调试过程就可以准确获取到控制器关节两个极限角位置的参数。
S50:在所有控制器关节完成调试后,响应于点击第七控件77所产生的第七触发信号,将控制器关节的第一极限角位置值和第二极限角位置值以私有通信协议发送给控制器。
本实施例按照前述调试方法逐个对控制器关节进行调节,当所有控制器关节都调试完成后,调试人员点击第七控件77使上位机产生第七触发信号,第七触发信号触发上位机用私有通信协议将各个控制器关节的第一极限角位置值和第二极限角位置值统一发送给控制器。控制器将第一极限角位置值和第二极限角位置值存储在控制器的存储介质中。
控制器上电后控制器的控制电路从存储介质中读取出各个控制器的第一极限角位置值和第二极限角位置值。
实施例2
请参阅图13,本实施例提供了一种格斗机器人控制器调试装置,所述装置包括:
端口号获取模块,所示端口号获取模块用于获取与控制器电连接的上位机的端口号;
控制器关节标识码获取模块,所示控制器关节标识码获取模块用于通过上位机交互界面第一输入框中输入的数值获取根据当前所调试的控制器关节的标识码;
角位置测量数据获取模块,所示角位置测量数据获取模块用于根据所述上位机的端口号和当前所调试的控制器关节的标识码获取当前所调试的控制器关节的角位置测量数据;
关节调试模块,所述关节调试模块用于根据所述角位置测量数据对控制器关节进行调试。
所述关节调试模块还包括:
实际转动行程计算子模块,所述实际转动行程计算子模块用于响应于点击第三控件所产生的第三触发信号,根据第一角位置值和第二角位置值计算当前所调试的控制器关节的实际转动行程;
限制转动行程获取子模块,所述限制转动行程获取子模块用于根据当前所调试的控制器关节的标识码获取当前所调试的控制器根据的限制转动行程;
行程比较子模块,所述行程比较子模块用于若当前所调试的控制器关节的实际转动行程小于等于当前所调试的控制器根据的限制转动行程则当前所调试的控制器关节的转动范围合格,否则在上位机交互界面的第一显示区域显示第一提示信息。
实施例3
另外,结合图14描述的本发明中前述实施例的格斗机器人控制器调试方法可以由本实施例的格斗机器人控制器来实现。图14示出了本发明实施例提供的控制器的硬件结构示意图。
本实施例的控制器可以包括控制电路401、以及存储有计算机程序指令的存储器402。
具体地,上述控制电路401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种区域随机格斗机器人控制器调试的数据寻址方法。
在一个示例中本实施例的控制器还可包括通信接口403和总线410。其中,如图6所示,控制电路401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将用于控制器的各个部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
实施例4
另外,结合上述实施例中的格斗机器人控制器调试方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种格斗机器人控制器调试方法。
以上是对本发明实施例提供的格斗机器人控制器调试方法、装置、控制器及存储介质的详细介绍。
实施例5
本实施例提供一种格斗机器人控制方法,如图19所述,该方法利用可穿戴于用户身体上的控制器对机器人进行控制,如图15所示所述方法包括以下步骤:
S10:按照实施例1中所述的格斗机器人控制器调试方法对控制器的进行调试;
本实施例在利用控制器对机器人进行控制之前先对控制器进行调试,调试的具有方法可以采用实施例1中的方法这里不做赘述。
S20:获取各个控制器关节的所对应的机器人舵机的转动角位置范围;
本实施例的控制器上设置由多个控制器关节,这些控制器关节与机器人上设置的机器人舵机具有对应关系。每个机器人舵机在工作时都有自己的转动角位置范围,例如图9中所示的5个机器人舵机的转动角位置范围。
S30:获取控制器随操作者肢体运动时各个控制器关节的角位置测量数据;
如图16所示本实施例中的控制器包括用户有穿戴的穿戴件1和可以随操作者手臂同步运动的上肢组件2,其中上肢组件2一端与穿戴件1可转动连接,另一端为自由端。如图17所示上肢组件2由多个上肢部件组成,相邻的上肢部件之间设置由控制器关节,控制器关节上设置由可以检测控制器转动角位置的角位置传感器。其中角位置传感器可以采用磁编码器。
参见图17,本实施例的控制器关节与人体关节具有对应关系,其中上肢部件的肩部部件21对应人体的肩部,上肢部件的大臂部件22对应人体的大臂,上肢部件的小臂部件23对应人体的小臂,上肢部件的手部部件24对应人体的手部。
当操作者穿戴好本实施例的控制器,并用手臂握住上肢逐渐的自由端后,操作者的手臂以希望机器人所执行的动作而运动,控制器随着操作者的手臂同步运动,并与操作者手臂的动作保持一致,控制器的各个控制器关节也随操作者的关节一起运动,控制器关节的转动角位置与操作者的关节转动保持一致,因此可以利用控制器控制的角位置测量数据来间接获得人体各个关节转动的角位置。
S40:根据机器人舵机的转动角位置范围和各个控制器关节的角位置测量数据获取机器人舵机对应的转动角位置值;
本实施例中的机器人舵机和控制器关节存在对应关系。参见图17和图18控制器的第一关节41对应机器人的第一舵机51,第二关节42对应机器人的第二舵机52,第三关节43对应机器人的第三舵机53,第四关节44对应机器人的第四舵机54,第五关节45对应机器人的第五舵机55。
设第k个机器人舵机的转动角位置范围为[Apk,Ank],经过调试后与该舵机对应的控制器关节的第一极限角位置值为B1k,第二极限角位置值为B2k。设当前所采集到的控制器关节的角位置数据为Bpre。
如果Apk≤Am则Apre=Apk+ Bpre×|Apk-Ank|÷|B2k-B1k|;
如果Apk>Am则Apre=Apk-Bpre×|Apk-Ank|÷|B2k-B1k|。其中Apre为与控制器关节的角位置测量数据对应的机器人舵机的转动角位置值。采用前述方式计算出的机器人舵机的转动角位置值与控制器关节的转动角位置具有等比例的关系,并且机器人舵机的转动范围与控制器关节的转动范围相适应,由于控制器关节的转动角位置反映了操作者手臂转动的角位置,因此机器人舵机所驱动的机器人关节的转动就与操作者手臂的转动高度一致,从而让操作者可以更方便更准确地控制机器人。
S50:将机器人舵机对应的转动角位置值发送给控制舵机转动的舵机控制电路。
在前一步骤计算出各个机器人舵机的转动角位置值后,舵机的控制电路控制舵机转动到该转动角位置值所对应的角位置。
作为一种可选但有利的实施方式,在本实施例中所述机器人控制方法还包括以下步骤:
S60:根据机器人受击打的部位获取控制器上与所示受击打部位对应的控制器关节;
在具体实施时还包括以下步骤:
S61:获取机器人上压力传感器发送的压力检测信号;
机器人上的各个部位都安装有压力传感器,在机器人的某个部位受到击打时,安装在这个部位的压力传感器就可以检测到压力并产生相应的压力检测信号。
S62:根据压力检测信号获取机器人受击打的部位;
压力检测信号中包含了发送信号的压力传感器的id,根据这个id就可以找到压力传感器的在机器人上的安装部位,这个部位就作为机器人受击打的部位。
S63:根据压力检测信号获取机器人受击打的部位获取距离该部位最近的机器人关节作为参考关节;
S63:获取与参考关节对应的控制器关节作为所示受击打部位对应的控制器关节;
事先可以将机器人关节和控制器关节进行对应。由于控制器关节和机器人舵机具有对应关系,因此也可以将机器人舵机所驱动的机器人关节与相应的控制器关节对应。
S70:根据机器人受击打的部位的击打力度向所示对应的控制器关节施加与其转动方向相反的力矩;
如果压力传感器所检测到的压力越则表明机器人所受到的击打力度越大,相应对控制器关节所施加的力矩也越大。
此外,还可以根据机器人受击打的部位的击打力度控制所施加的力矩的角度范围,机器人所受到的击打力度越大,对控制器关节所施加的力矩的角度范围也越大。当控制器关节转动到施加的力矩的角度范围内时,对控制器施加阻碍其转动的力矩,如果控制器关节没有转动到施加的力矩的角度范围内则不对控制器关节施加力矩。采用前述方式可以在机器人竞技游戏中将机器人受击打后行动困难的感受反馈给操作者,从而提高机器人竞技游戏的趣味性。
具体实施时可以利用安装在控制器关节上的力矩电机对控制器关节施加力矩。力矩电机与控制器关节的控制电路电连接,控制电路根据控制器关节的角位置变化确定控制器关节转动的方向,如何控制器力矩电机施加于控制器关节转动方向相反的力矩。其中力矩电机的定子部分与控制器关节的第一组件连接,力矩电机的转动子部分则于控制器关节的第二组件连接。
以上就是对本发明的关节校验方法、装置、设备及存储介质和机器人控制方法的详细介绍。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。