一种机器人头部关节舵机位置的校准方法、装置及机器人
技术领域
本发明属于机器人设计与制造技术领域,尤其涉及一种机器人头部关节舵机位置的校准方法、装置及机器人。
背景技术
舵机是一种可以在一定角度范围内转动指定角度的电动机机构。市面上现有的人形机器人在处理头部关节时经常使用几个舵机来完成机器人头部的俯仰、转头、左右摆头等运动过程。
然而,在实现本发明实现过程中,发明人发现现有技术提供的机器人头部关节舵机在安装时至少存在如下问题:
现有技术在装配机器人时,一般是在装配之前将头部关节舵机置于已知的预定位置,然后再进行装配过程,但是在装配过程中由于人工的一些操作影响经常会导致该预定位置发生偏移引起装配误差,或导致装配件的一些形变引起装配件间隙等问题而导致机器人的头部在相关自由度方向上都有误差。
发明内容
有鉴于此,本发明实施例提供一种机器人头部关节舵机位置的校准方法、装置及机器人,以解决现有技术机器人头部关节舵机的安装位置会出现误差,以致机器人的头部在相关自由度方向上会有误差的问题。
第一方面,提供一种机器人头部关节舵机位置的校准方法,所述机器人包括头部、底盘和头部关节舵机,所述头部安装有第一姿态传感器,所述底盘上安装有第二姿态传感器,所述方法包括:
当所述底盘处于静止状态时,同时读取所述第一姿态传感器在指定方向上输出的第一方位数据和所述第二姿态传感器在所述指定方向上输出的第二方位数据;
计算所述第一方位数据和所述第二方位数据之间的差值的绝对值;
根据所述差值的绝对值控制所述头部关节舵机在所述指定方向上进行位置的调整,直至所述差值的绝对值小于预设的误差绝对值。
进一步地,所述第一姿态传感器和所述第二姿态传感器是在同一平台下校准过的姿态传感器,使用的坐标系为同一坐标系。
进一步地,所述第一姿态传感器安装在与所述头部外观面平行的位置上,所述第二姿态传感器安装在所述底盘的结构平面上。
进一步地,所述指定方向为左右方向、上下方向和前后方向中的其中一个。
进一步地,在所述根据所述差值的绝对值控制所述头部关节舵机在所述指定方向上进行位置的调整,直至所述差值的绝对值小于预设的误差绝对值之后,所述方法还包括:
记录所述头部关节舵机的当前位置。
第二方面,提供一种机器人头部关节舵机位置的校准装置,所述机器人包括头部、底盘和头部关节舵机,所述装置包括:第一姿态传感器、第二姿态传感器和处理器;所述第一姿态传感器安装在所述头部,所述第二姿态传感器安装在所述底盘上;
所述处理器包括:
方位数据读取模块,用于当所述底盘处于静止状态时,同时读取所述第一姿态传感器在指定方向上输出的第一方位数据和所述第二姿态传感器在所述指定方向上输出的第二方位数据;
计算模块,用于计算所述第一方位数据和所述第二方位数据之间的差值的绝对值;
位置调整模块,用于根据所述差值的绝对值控制所述头部关节舵机在所述指定方向上进行位置的调整,直至所述差值的绝对值小于预设的误差绝对值。
进一步地,所述第一姿态传感器和所述第二姿态传感器是在同一平台下校准过的姿态传感器,使用的坐标系为同一坐标系。
进一步地,所述第一姿态传感器安装在与所述头部外观面平行的位置上,所述第二姿态传感器安装在所述底盘的结构平面上。
进一步地,所述指定方向为左右方向、上下方向和前后方向中的其中一个。
进一步地,所述处理器还包括:
位置记录模块,用于记录所述头部关节舵机的当前位置。
第三方面,提供一种机器人,所述机器人包括第二方面所述的机器人头部关节舵机位置的校准装置。
在本发明实施例,可以根据第一姿态传感器和第二姿态传感器输出的方位数据的差值的绝对值来对头部关节舵机在相应方向上进行位置的调整,降低了机器人的头部在相关自由度方向上误差的发生,方便了产线操作。
附图说明
图1是本发明机器人头部关节舵机位置的校准方法实施例的实现流程图;
图2是本发明机器人头部关节舵机位置的校准方法实施例中,姿态传感器在机器人中的安装位置示意图;
图3是本发明机器人头部关节舵机位置的校准方法实施例中,当机器人的头部在左右方向上发生一定的倾斜时,姿态传感器在机器人中的安装位置示意图;
图4是本发明机器人头部关节舵机位置的校准装置实施例的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,机器人的头部安装有第一姿态传感器,机器人的底盘上安装有第二姿态传感器,当所述底盘处于静止状态时,同时读取所述第一姿态传感器在指定方向上输出的第一方位数据和所述第二姿态传感器在所述指定方向上输出的第二方位数据,计算所述第一方位数据和所述第二方位数据之间的差值的绝对值,并根据所述差值的绝对值控制所述头部关节舵机在所述指定方向上进行位置的调整,直至所述差值的绝对值小于预设的误差绝对值。
以下结合具体实施例对本发明的实现进行详细描述:
实施例一
图1示出了本发明实施例一提供的机器人头部关节舵机位置的校准方法的实现流程。
所述机器人包括头部、底盘和头部关节舵机,所述头部安装有第一姿态传感器,所述底盘上安装有第二姿态传感器,具体的,第一姿态传感器安装在与所述头部外观面平行的位置(机器人面部平行面)上,所述第二姿态传感器安装在所述底盘的结构平面上,如图2所示,示出了姿态传感器在机器人中的安装位置。具体的,所述第一姿态传感器和所述第二姿态传感器是在同一平台下校准过的姿态传感器,使用的坐标系为同一坐标系。具体的,所述姿态传感器是通用的6轴或者9轴姿态传感器,所述头部关节舵机可以是模拟舵机,也可以是数字舵机。
所述方法的实现流程详述如下:
在步骤S101中,当所述底盘处于静止状态时,同时读取所述第一姿态传感器在指定方向上输出的第一方位数据和所述第二姿态传感器在所述指定方向上输出的第二方位数据。
在本发明实施例中,机器人中内置有处理器,当机器人的底盘处于静止状态时,所述处理器可以同时读取第一姿态传感器在指定方向上输出的第一方位数据和第二姿态传感器在所述指定方向上输出的第二方位数据。
其中,所述指定方向为左右方向、上下方向和前后方向中的其中一个。
在步骤S102中,计算所述第一方位数据和所述第二方位数据之间的差值的绝对值。
在本发明实施例中,图3示出了机器人在左右方向上发生一定角度的倾斜时,姿态传感器在机器人中的安装位置示意图。下面以校准左右方向的摆头过程为例进行说明,所以第一姿态传感器和第二姿态传感器输出的第一方位数据和第二方位数据均为左右方向上的数据。
处理器读取到第一方位数据和第二方位数据后,以其中一个方位数据,比如第一方位数据为基础值,计算第一姿态传感器输出的第一方位数据和第二姿态传感器输出的第二方位数据之间的差值的绝对值。
比如,读取到的第一方为数据为a,读取到的第二方位数据为b,则第一方位数据和所述第二方位数据之间的差值的绝对值为|a-b|。
在步骤S103中,根据所述差值的绝对值控制所述头部关节舵机在所述指定方向上进行位置的调整,直至所述差值的绝对值小于预设的误差绝对值。
在本发明实施例中,预设的误差绝对值为limit,将计算得到的差值的绝对值与limit进行比较,若计算得到的差值的绝对值小于limit,则对头部关节舵机的位置不用调整。如果计算得到的差值的绝对值大于limit,则需要根据计算得到的差值的绝对值对头部关节舵机的位置进行相应方向的调整,直至计算得到的差值的绝对值小于预设的误差绝对值。
比如,计算得到的差值的绝对值是左右方向上的差值的绝对值,则在左右方向上对头部关节舵机的位置不用调整。如果计算得到的差值的绝对值大于limit,则需要根据计算得到的差值的绝对值对头部关节舵机的位置进行向左或者向右方向的调整,直至计算得到的差值的绝对值小于预设的误差绝对值。
优选的,一个方向的位置调整完毕后,可以记录头部关节舵机的当前位置,然后进行其他方向上的调整。
本实施例,机器人的头部安装有第一姿态传感器,机器人的底盘上安装有第二姿态传感器,当所述底盘处于静止状态时,同时读取所述第一姿态传感器在指定方向上输出的第一方位数据和所述第二姿态传感器在所述指定方向上输出的第二方位数据,计算所述第一方位数据和所述第二方位数据之间的差值的绝对值,并根据所述差值的绝对值控制所述头部关节舵机在所述指定方向上进行位置的调整,直至所述差值的绝对值小于预设的误差绝对值,由此可以根据第一姿态传感器和第二姿态传感器输出的方位数据的差值的绝对值来对头部关节舵机在相应方向上进行位置的调整,降低了机器人的头部在相关自由度方向上误差的发生,方便了产线操作。克服了现有技术,机器人头部关节舵机的安装位置会出现误差,以致机器人的头部在相关自由度方向上会有误差的问题。
应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
实施例二
图4示出了本发明实施例二提供的机器人头部关节舵机位置的校准装置的具体结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。该机器人头部关节舵机位置的校准装置4可以是内置于机器人中的软件单元、硬件单元或者软硬件结合的单元,所述机器人包括头部、底盘和头部关节舵机,该机器人头部关节舵机位置的校准装置4包括:第一姿态传感器41、第二姿态传感器42和处理器43。
具体的,第一姿态传感器41安装在机器人的头部,第二姿态传感器42安装在机器人的底盘上。
所述处理器43包括:
方位数据读取模块431,用于当所述底盘处于静止状态时,同时读取所述第一姿态传感器在指定方向上输出的第一方位数据和所述第二姿态传感器在所述指定方向上输出的第二方位数据;
计算模块432,用于计算所述第一方位数据和所述第二方位数据之间的差值的绝对值;
位置调整模块433,用于根据所述差值的绝对值控制所述头部关节舵机在所述指定方向上进行位置的调整,直至所述差值的绝对值小于预设的误差绝对值。
进一步地,所述第一姿态传感器41和所述第二姿态传感器42是在同一平台下校准过的姿态传感器,使用的坐标系为同一坐标系。
进一步地,所述第一姿态传感器41安装在与所述头部外观面平行的位置上,所述第二姿态传感器42安装在所述底盘的结构平面上。
进一步地,所述指定方向为左右方向、上下方向和前后方向中的其中一个。
进一步地,所述处理器43还包括:
位置记录模块434,用于记录所述头部关节舵机的当前位置。
本发明实施例提供的机器人头部关节舵机位置的校准装置可以应用在前述对应的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。