具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施方式中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
请参阅图1,图1是本发明机器人回充的对准方法一实施例的流程图。本实施例中,该对准方法由机器人执行,包括以下步骤:
S11:机器人将其信号接收器旋转至可接收到回充底座发射的光信号的第一临界点,获得所述第一临界点的位置信息。
该机器人可为服务型机器人,可执行扫地、唱歌、换歌、跳舞、换舞、讲故事、应答服务(如查询天气、查询当前时间)中的至少一种指令。该机器人也可以为工业型的其他类型机器人,在此不作限定。该机器人可实现自动回充,在可为机器人充电的回充底座上设置有信号发射器,用于发射光信号,该机器人上设置有信号接收器,以接收回充底座发射的光信号。以扫地机器人为例,如图2所示,该信号接收器211设置在该扫地机器人210的底座的外边缘上,该回充底座220上设置有若干个信号发射器221,每个信号发射器221以一定夹角β向外发射光信号。当然,该信号接收器未必设置在外边缘上,可设置在该机器人外表面的任意位置上,在此不作限定。
本实施例中,该机器人在检测到自身电量低于设定电量值等确定自身需要充电时,执行该回充的对准方法,以使机器人对准该回充底座,进而自动规划路线返回至该回充底座进行充电。为实现该回充对准,本发明机器人无需进行移动,而是通过原地旋转以确定对准的位置。
具体地,机器人先以第一时针方向旋转,以使其信号接收器位于可接收到该回充底座发射的光信号的第一临界点,该第一临界点即若该信号接收器当前可接收的回充底座发射的光信号,但若再沿第一时针方向旋转,则无法接收到回充底座发射的光信号。机器人获取该第一临界点的位置信息。如图2所示,机器人210预先设置有一参考方向X,机器人210以底盘中心为旋转中心O向顺时针旋转到第一临界点A,获取该第一临界点A相对该参考方向X的第一偏转角度θ1。
S12:机器人将所述信号接收器从所述第一临界点旋转至可接收到所述光信号的第二临界点,获得所述第二临界点的位置信息。
例如,机器人在S11中将信号接收器旋转到第一临界点后,再以第二时针方向旋转,以使其信号接收器位于可接收到该回充底座发射的光信号的第二临界点,该第二临界点即若该信号接收器当前可接收的回充底座发射的光信号,但若再沿第二时针方向旋转,则无法接收到回充底座发射的光信号,该第一临界点和第二临界点分别为不同的两个位置。机器人获取该第二临界点的位置信息。如图2所示,机器人210预先设置有一参考方向X,机器人210以底盘中心为旋转中心O向逆时针旋转到第二临界点B,获取该第二临界点B相对该参考方向X的第二偏转角度θ2。
可以理解的是,上述第一临界点和第二临界点的位置信息不限为该偏转角度,还可以为其他可表示该第一临界点和第二临界点所在位置的任意信息如距离等。
其中,该第一时针方向和第二时针方向相同或者相反,本发明并不做限定,只需保证机器人能够旋转至上述第一临界点和第二临界点即可。在一具有应用中,该第一时针方向和和第二时针方向中的其中一个为顺时针方向,另一个为逆时针方向。例如,第一时针方向为顺时针方向,第二时针方向为逆时针方向;或者,第一时针方向为逆时针方向,第二时针方向为顺时针方向。
S13:机器人根据所述第一临界点的位置信息和所述第二临界点的位置信息确定所述第一临界点和所述第二临界点间的中点,并将所述信号接收器旋转至所述中点,以对准所述回充底座。
在将信号接收器旋转至该第二临界点后,机器人根据所述第一临界点的位置信息和所述第二临界点的位置信息确定所述第一临界点和所述第二临界点间的中点的位置信息,其中,该第一临界点和第二临界点间的中点可理解为信号接收器从第一临界点旋转到第二临界点的路程的中间点,也即第一临界点和第二临界点间的旋转角度的角平分线上的点M,如图2所示。继续结合图2举例说明,机器人获得第一临界点A的第一偏转角度和第二临界点B的第二偏转角度后,根据下面公式1计算得到第一临界点和第二临界点间的中点M与该第二临界点B之间的偏转角差△θ,也即,该中点M相对参考方向X的偏转角与第二临界点B相对参考方向X的偏转角之间的角度差。
△θ=|(θ1-θ2)/2|(1)
由于回充底座的信号发射器发射的光信号具有一定夹角范围,经上S11和S12确定的第一临界点和第二临界点即对应信号发射器发射的部分光信号范围,信号接收器在第一临界点和第二临界点之间均能接收到回充底座发生的光信号,从理论上可认为该第一临界点和第二临界点的中点即为对应回充底座的该信号发射器的位置。因此,机器人计算得到该第一临界点和第二临界点间的中点的位置信息后,根据该位置信息将该信号接收器旋转至该中点M的位置上,以使该机器人的该信号接收器准确对准该回充底座的该信号发射器。继续结合图2举例说明,机器人沿顺时针方向从所述第二临界点B开始旋转,该旋转角度等于偏转角差△θ,以将该信号接收器211旋转至该中点M,该中点M相对参考方向X的第三偏转角度θ3即为所述第一偏转角度和第二偏转角度中的最小值与偏转角差△θ的和,即θ3=min(θ1,θ2)+△θ,此时,信号接收器211较准确对准该信号发射器221。
可选地,机器人在执行上述S13后,计算出机器人的底盘中心(也即上述旋转中心)与回充底座的信号发射器之间的距离,具体如根据接收到的回充底座的发射的光信号的强度计算得到回充底座的信号发射器与该机器人的信号接收器之间的距离,并将该计算得到的距离与该旋转中心与信号接收器之间的距离的和(如图2所示的距离d和底盘半径r的和)作为该机器人的旋转中心与回充底座的信号发射器之间的距离,进而机器人可规划路线返回至该回充底座进行充电,或者由于当前信号接收器已对准回充底座,故机器人可直接沿着旋转中心到信号接收器的方向移动至回充底座,在移动过程中机器人可重新执行上述S11至S13,以调整移动方向。在另一实施例中,如该充电底座为立式结构,机器人边缘靠近充电底座的直立部分进行充电的应用中,机器人也可直接将计算得到的回充底座的信号发射器与该机器人的信号接收器之间的距离作为机器人和回充底座之间的距离(如图2所示的距离d),机器人根据计算得到的距离来规划路线并返回至该回充底座进行充电。
本实施例中,机器人通过分别旋转至可接收到回充底座发射的信号的第一临界点和第二临界点,并将机器人的信号接收器旋转到第一临界点和第二临界点间的中点,相对于旋转中心到第一临界点和第二临界点之间的其他位置的方向,该旋转中心到该第一临界点和第二临界点的中点的方向更接近该回充底座的信号发射器所在位置,因此,将信号接收器旋转到第一临界点和第二临界点间的中点之后,该机器人的信号接收器更能准确对准回充底座的信号发射器,进而实现机器人回充中心的准确对准。
请参阅图3,图3是图1所示的S11和S12在另一实施例的流程示意图。在本实施例中,第一时针方向和第二时针方向为相反的时针方向。本实施例与上述实施例的不同在于,S11具体包括以下子步骤:
S311:机器人检测当前是否接收到回充底座发射的光信号。若接收到,则执行S312,否则结束流程或者执行图4所示的S412-S423。
S312:机器人以第一时针方向旋转设定角度值。
其中,该设定角度可预先由机器人根据用户语音、触摸屏、或者按键输入指令进行设置,或者由机器人根据之前设置的旋转角度和对准的准确性来机器学习而调整得到的。
S313:判断信号接收器当前是否接收到回充底座发射的光信号。若接收,则继续执行S312,否则执行S314。
S314:以第二时针方向旋转所述设定角度值,并将所述信号接收器的当前位置作为所述第一临界点。
机器人以设定角度值作为每次旋转的旋转角度,以该旋转角度逐步沿第一时针方向完成一次旋转时,先判断此时机器人上的信号接收器是否接收到回充底座的信号发射器发射的光信号,若接收到,则确定未到接收该光信号的临界点,故继续旋转;若未接收到,则确定已超过该临界点,故该旋转角度倒向旋转一次,以此作为该临界点。
本实施例与上述实施例的不同还在于,S12具体包括以下子步骤:
S321:机器人以第二时针方向旋转设定角度值。
其中,该设定角度可预先由机器人根据用户语音、触摸屏、或者按键输入指令进行设置,或者由机器人根据之前设置的旋转角度和对准的准确性来机器学习而调整得到的。机器人从第一临界点开始,向第二时针方向旋转设定角度值。
S322:判断信号接收器当前是否接收到回充底座发射的光信号。若接收,则继续执行S321,否则执行S323。
S323:以第一时针方向旋转所述设定角度值,并将所述信号接收器的当前位置作为所述第二临界点。
同理于上述S11的子步骤,机器人以设定角度值作为每次旋转的旋转角度,以该旋转角度逐步沿第二时针方向完成一次旋转时,先判断此时机器人上的信号接收器是否接收到回充底座的信号发射器发射的光信号,若接收到,则确定未到接收该光信号的临界点,故继续旋转;若未接收到,则确定已超过该临界点,故该旋转角度倒向旋转一次,以此作为该临界点。
可以理解的是,在上述S313和S323中,也可不倒向旋转,而直接将S312/S322中判断到没接收到该回充底座发射的光信号时的信号接收到的位置作为对应临界点。
在其他实施例中,在机器人执行上述S311-S314之后,机器人也可不执行上述S321-323,而执行以第一时针方向旋转设定角度值,判断所述信号接收器当前是否接收到回充底座发射的光信号,若未接收到,则重复本步骤,若接收到,则停止旋转并将所述信号接收器的当前位置作为所述第二临界点。
请参阅图4,图4是图1所示的S11和S12在再一实施例的流程示意图。在本实施例中,第一时针方向和第二时针方向为相反的时针方向。本实施例与上述实施例的不同在于,S11具体包括以下子步骤:
S411:机器人检测当前是否接收到回充底座发射的光信号。若未接收到,则执行S412,否则结束流程或者执行图3所示的S312-S323。
S412:机器人以第一时针方向旋转设定角度值。
其中,该设定角度可预先由机器人根据用户语音、触摸屏、或者按键输入指令进行设置,或者由机器人根据之前设置的旋转角度和对准的准确性来机器学习而调整得到的。
S413:判断信号接收器当前是否接收到回充底座发射的光信号。若未接收,则继续执行S412,若接收到,则执行S414。
S414:停止旋转并将所述信号接收器的当前位置作为所述第一临界点。
本实施例中,第一时针方向和第二时针方向为相反的时针方向。机器人以设定角度值作为每次旋转的旋转角度,以该旋转角度逐步沿第一时针方向完成一次旋转时,先判断此时机器人上的信号接收器是否接收到回充底座的信号发射器发射的光信号,若未接收到,则确定未到接收该光信号的临界点,故继续旋转;若接收到,则确定达到该临界点,故以此作为该临界点。
本实施例与上述实施例的不同还在于,S12具体包括以下子步骤:
S421:机器人以第二时针方向旋转设定角度值。
其中,该设定角度可预先由机器人根据用户语音、触摸屏、或者按键输入指令进行设置,或者由机器人根据之前设置的旋转角度和对准的准确性来机器学习而调整得到的。机器人从第一临界点开始,向第二时针方向旋转设定角度值。
S422:判断信号接收器当前是否接收到回充底座发射的光信号。若未接收,则继续执行S421,若接收到,则执行S423。
S423:停止旋转并将所述信号接收器的当前位置作为所述第二临界点。
同理于上述S11的子步骤,机器人以设定角度值作为每次旋转的旋转角度,以该旋转角度逐步沿第二时针方向完成一次旋转时,先判断此时机器人上的信号接收器是否接收到回充底座的信号发射器发射的光信号,若未接收到,则确定未到接收该光信号的临界点,故继续旋转;若接收到,则确定到达该临界点,以此作为该临界点。
在其他实施例中,在机器人执行上述S411-S414之后,机器人也可不执行上述S421-423,而执行以第一时针方向旋转设定角度值,判断所述信号接收器当前是否接收到回充底座发射的光信号,若接收到,则重复本步骤,否则以第二时针方向旋转所述设定角度值,并将所述信号接收器的当前位置作为所述第二临界点。
在又一实施例中,回充底座上可设置有多个信号发射器,其中,每个信号发射器发送的光信号携带有对应的标识信息。该机器人要实现的是与其中一个信号发射器的对准。上述S313、S322、S413及S422均具体包括:机器人检测所述信号接收器当前是否接收到所述回充底座发射的具有设定标识信息的光信号。具体地,机器人的信号接收器接收到的回充底座发射的光信号时,机器人从该接收到的光信号中提取其标识信息,并检测该提取的标识信息是否为设定标识信息,若是,则确定接收到该回充底座发射的具有设定标识信息的光信号,并继续执行上述相应步骤,否则确定未接收到该回充底座发射的具有设定标识信息的光信号,并执行相应步骤。
可以理解的是,该设定标识信息为其中一个信号发射器发送的信息所具有的标识信息,该设定标识信息可以为机器人预先根据用户输入而设置的,或者为机器人在确定需充电时,最先接收到的光信号的标识信息,或者为接收到的信号最强的光信号的标识信息,在此对设定标识信息的确定不做限定。例如,该设定标识信息信号为0x53,在上述第一临界点和第二临界点之间,信号接收器能接收到回充底座发射的表示0x53的红外数据,在上述第一临界点和第二临界点范围之外,信号接收器不能有效的收到回充底座的指定的红外数据,其接收到数据可能是0或oxff等无效值,或者无法接收到红外数据。
在一具体应用中,上述光信号为红外线信号。当然,本发明不限定为红外线信号,可以为任意光信号,例如强度低于设定值的激光信号等。
上述方法实施例中,机器人通过分别向第一时针方向和第二时针方向旋转,以确定可接收到回充底座发射的信号的第一临界点和第二临界点,并将机器人的信号接收器旋转到第一临界点和第二临界点间的中点,实现了实现机器人回充中心的准确对准,且在该对准过程中,机器人无需移动,仅需原地旋转即可实现,简化了机器人的对准流程。
参阅图5,本发明机器人一实施例的结构示意图。本实施例中,该机器人50包括机器人本体51、信号接收器52、存储器53及处理器54。其中,存储器53及处理器54均可以是一个或多个,图5中仅以一个为例。该信号接收器52设置在机器人本体51上。该机器人50还包括可充电电池,但未在图5中示出。
机器人本体51用于在处理器54的控制下执行指令,该机器人本体具体可包括外壳511以及设置于该外壳中的运动装置512。该运动装置512用于在处理器54的控制下实现机器人本体51的移动和旋转等。在另一实施例中,该运动装置512还可包括执行元件如机器人手臂、脚、全向轮、扫地元件等以及驱动该执行元件的驱动器。存储器53和处理器54设置于机器人本体51的外壳511中。该信号接收器52设置于该机器人本体51的外壳511的外表面上,具体可如图2所示,设置于该机器人底盘的外边缘。在一具体应用中,该机器人为扫地机器人,该机器人本体的外壳511可为但不限为圆形、椭圆形等底盘。
信号接收器52用于接收外部设备如回充底座发射的光信号。具体地,该信号接收器52可通过数据通信总线连接于处理器54,进而通过该数据通信总线将接收到的光信号数据传输至处理器54中。
存储器53用于存储计算机程序,并向处理器54提供所述计算机程序,且可存储处理器54处理的数据,例如信号接收器52接收到的光信号等。其中,存储器53可以包括只读存储器、随机存取存储器和非易失性随机存取存储器(NVRAM)中的至少一种。
在本发明实施例中,处理器54通过调用存储器53存储的计算机程序,用于:控制机器人本体51将所述信号接收器52旋转至可接收到回充底座发射的光信号的第一临界点,获得所述第一临界点的位置信息;控制机器人本体51将所述信号接收器52从所述第一临界点旋转至可接收到所述光信号的第二临界点,获得所述第二临界点的位置信息;根据所述第一临界点的位置信息和所述第二临界点的位置信息确定所述第一临界点和所述第二临界点间的中点,并控制所述机器人本体51将所述信号接收器52旋转至所述中点,以对准所述回充底座。
可选地,所述第一临界点的位置信息为所述第一临界点相对于所述机器人本体的参考方向的第一偏转角度θ1,所述第二临界点的位置信息为所述第二临界点相对于所述参考方向的第二偏转角度θ2;
所述处理器54具体用于:根据所述第一偏转角度θ1和第二偏转角度θ2,计算得到所述第一临界点和所述第二临界点间的中点与所述第二临界点之间的偏转角差△θ为|(θ1-θ2)/2|;控制所述机器人本体51将所述信号接收器从所述第二临界点旋转至与所述参考方向的第三偏转角度θ3的位置,到达所述中点,其中,所述第三偏转角度θ3为所述第一偏转角度和第二偏转角度中的最小值与偏转角差△θ的和。
可选地,所述处理器54具体用于:
检测当前是否接收到回充底座发射的光信号;
在接收到时,控制所述机器人本体51以第一时针方向旋转设定角度值,判断所述信号接收器52当前是否接收到回充底座发射的光信号,若接收到,则重复本步骤,否则控制所述机器人本体51以第二时针方向旋转所述设定角度值,并将所述信号接收器52的当前位置作为所述第一临界点,并获取所述第一临界点的位置信息;
控制所述机器人本体51以第二时针方向旋转所述设定角度值,判断所述信号接收器52当前是否接收到回充底座发射的光信号,若接收到,则重复本步骤,否则控制所述机器人本体51以第一时针方向旋转所述设定角度值,并以所述信号接收器52的当前位置作为所述第二临界点,并获取所述第二临界点的位置信息;或控制所述机器人本体51向第一时针方向旋转,且每旋转设定角度值时,判断所述信号接收器52当前是否接收到回充底座发射的光信号,若未接收到,则重复本步骤,若接收到,则停止旋转并将所述信号接收器52的当前位置作为所述第二临界点,并获得所述第二临界点的位置信息;
其中,所述第一时针方向和第二时针方向相反。
可选地,所述处理器54具体用于:
检测当前是否接收到回充底座发射的光信号;
在未接收到时,控制所述机器人本体51向第一时针方向旋转,且每旋转设定角度值时,判断所述信号接收器52当前是否接收到回充底座发射的光信号,若未接收到,则重复本步骤,若接收到,则停止旋转并将所述信号接收器52的当前位置作为所述第一临界点,并获得所述第一临界点的位置信息;
控制所述机器人本体51向第二时针方向旋转,且每旋转所述设定角度值时,判断所述信号接收器52当前是否接收到回充底座发射的光信号,若未接收到,则重复本步骤,若接收到,则停止旋转并将所述信号接收器52的当前位置作为所述第二临界点,并获取所述第二临界点的位置信息;或控制所述机器人本体51向第一时针方向旋转,且每旋转设定角度值时,判断所述信号接收器52当前是否接收到回充底座发射的光信号,若接收到,则重复本步骤,否则以第二时针方向旋转所述设定角度值,并将所述信号接收器52的当前位置作为所述第二临界点,并获得所述第二临界点的位置信息;
其中,所述第一时针方向和第二时针方向相反。
可选地,所述光信号为红外线信号。
上述处理器54还可以称为CPU(Central Processing Unit,中央处理单元)。具体的应用中,机器人的各个组件可通过总线耦合在一起,例如,信号接收器52、存储器53、处理器54以及机器人本体51的运动装置512可通过总线连接。其中总线除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。
上述本发明实施方式揭示的方法也可以应用于处理器54中,或者由处理器54实现。处理器54可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器54中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器54可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器53,处理器54读取相应存储器中的信息,结合其硬件完成上述方法的步骤。
本发明还提供一种机器人系统,如图2所示,该机器人系统包括机器人210和回充底座220。所述回充底座220用于为所述机器人210充电,该回充底座220设置有至少一个信号发射器221,用于发射光信号,如红外线信号,以使机器人210可根据该光信号对准该回充底座,并返回充电。机器人210设置有信号接收器211,用于接收回充底座220的信号发射器221发射的光信号。机器人210用于在满足回充条件如电量低于设定电量值时,执行如上述方法实施例以将所述信号接收器211对准所述回充底座220,并返回所述回充底座220进行充电。具体地,该机器人210可为如图5所示的机器人。
本发明还提供一种非易失性存储介质。如图6所示,该存储介质60存储有可被处理器执行的计算机程序61,所述计算机程序61用于执行上述方法实施例。
上述方案中,机器人分别旋转至可接收到回充底座发射的光信号的第一临界点和第二临界点,由此可确定该光信号在机器人上的覆盖范围是该第一临界点与第二临界点之间,进而将机器人的信号接收器旋转到第一临界点和第二临界点间的中点,相对于该光信号覆盖范围中的其他位置,第一临界点和第二临界点间的中点更能准确表示回充底座的信号发射器位置,故实现了机器人回充中心的准确对准。
在本发明所提供的几个实施方式中,应该理解到,所揭露的方法以及装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述其他实施方式中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。