发明内容
鉴于以上内容,有必要提供一种中央控制器、移动导航系统及方法,可以通过飞行器来协助所述中央控制器控制机器人导航。
一种移动导航系统,包括中央控制器、至少一个机器人和至少一个飞行器,所述中央控制器分别与所述至少一个机器人和至少一个飞行器之间通信连接,该系统包括:
所述中央控制器,用于控制所述机器人在所生成的虚拟路径上从起始点以指定的移动速度移动;
所述中央控制器,还用于判断所述机器人是否即将到达所述虚拟路径中的下一个位置点;
所述中央控制器,还用于当确定所述机器人即将到达所述虚拟路径中的下一个位置点时,控制所述飞行器飞行至所述下一个位置点上方;
所述中央控制器,还用于控制所述飞行器携带的摄像头拍摄图像,并判断所述图像是否包括所述机器人;
所述中央控制器,还用于确定所述图像包括所述机器人时,根据所述图像确认所述机器人是否已经到达所述下一个位置点;及
当所述机器人到达所述虚拟路径中的下一个位置点时,所述中央控制器判断所述下一个位置点是否为终止点,且当所述下一个位置点为终止点时结束导航。
优选地,所述中央控制器还用于判断所述机器人在该下一个位置点是否需要转向,且当所述机器人在该下一个位置点需要转向时,发送转向指令至所述机器人。
优选地,所述中央控制器还用于在判断得出所述图像不包括所述机器人时,控制所述摄像头等待预设时长后拍摄下一张图像。
优选地,所述中央控制器包括一存储器,所述存储器内预先存储所述虚拟路径上每个位置点的位置坐标、所述机器人在每个位置点的位置图像以及该每个位置图像中的位置坐标,其中,所述虚拟路径上每一位置点的位置坐标指的是基于一导航空间所在区域所建立的第一坐标系中的坐标,所述每个位置图像中的位置坐标是指基于该位置图像所建立的第二坐标系中的坐标。
优选地,该系统还包括至少一个飞行器基站。
优选地,所述存储器中预先存储有所述飞行器的飞行路径,所述飞行路径包括从所述飞行器基站所在位置至所述虚拟路径中的位置点之间的路径,以及所述虚拟路径中的当前位置点至下一个位置点之间的路径。
优选地,所述中央控制器根据所述第一坐标系和所述第二坐标系之间的比例关系,将所述机器人在该位置图像中的位置坐标换算为该机器人在所述第一坐标系中的坐标,从而确定该机器人在所述虚拟路径中的位置点。
优选地,所述中央控制器在所述机器人从所述起始点移动后开始计时,并根据计时时间和所述机器人的移动速度计算该机器人当前移动距离,若所述当前移动距离与所述起始点和下一个位置点之间的距离之间的差值小于第一预设值时,则判断该机器人即将到达该下一个位置点。
优选地,所述中央控制器通过比对所述图像中的当前位置坐标与存储器中存储的该机器人在该下一个位置点所对应的位置图像中的位置坐标相匹配时,确定该机器人移动到达该下一个位置点。
一种移动导航方法,应用于中央控制器中,所述中央控制器分别与至少一个机器人和至少一个飞行器通信连接,该方法包括:
所述中央控制器控制所述机器人在所生成的虚拟路径上从起始点以指定的移动速度移动;
所述中央控制器判断所述机器人是否即将到达所述虚拟路径中的下一个位置点;
当确定所述机器人即将到达所述虚拟路径中的下一个位置点时,所述中央控制器控制所述飞行器飞行至所述下一个位置点上方;
所述中央控制器控制所述飞行器携带的摄像头拍摄图像,并判断所述图像是否包括所述机器人;
当确定所述图像包括所述机器人时,所述中央控制根据所述图像确认所述机器人是否已经到达所述下一个位置点;及
当所述机器人到达所述下一个位置点时,所述中央控制器判断所述下一个位置点是否为终止点,且当所述下一个位置点为终止点时结束导航。
优选地,该方法还包括:所述中央控制器还判断所述机器人在该下一个位置点是否需要转向,且当所述机器人在该下一个位置点需要转向时,发送转向指令至所述机器人。
优选地,该方法还包括:在判断得出所述图像不包括所述机器人时,所述中央控制器控制所述摄像头等待预设时长后拍摄下一张图像。
优选地,所述中央控制器在所述机器人从所述起始点移动后开始计时,并根据计时时间和所述机器人的移动速度计算该机器人当前移动距离,若所述当前移动距离与所述起始点和下一个位置点之间的距离之间的差值小于第一预设值时,则判断该机器人即将到达该下一个位置点。
一种中央控制器,用于控制机器人移动导航,该中央控制器包括:
输入输出接口,用于接收输入的起始点和终止点信息;
网络单元,用于为所述中央控制器与至少一个机器人和至少一个飞行器之间提供通信连接;
存储器,用于存储数据;
处理器,用于根据所述起始点和终止点信息在一导航空间的虚拟地图上生成一虚拟路径,其中所述虚拟路径包括多个位置点;
控制所述机器人在所生成的虚拟路径上从起始点以指定的移动速度移动;
判断所述机器人是否即将到达所述虚拟路径中的下一个位置点;
当确定所述机器人即将到达所述虚拟路径中的下一个位置点时,控制所述飞行器飞行至所述下一个位置点上方;
控制所述飞行器携带的摄像头拍摄图像,并判断所述图像是否包括所述机器人;
确定所述图像包括所述机器人时,根据所述图像确认所述机器人是否已经到达所述下一个位置点;及
当所述机器人到达所述虚拟路径中的下一个位置点时,所述中央控制器判断所述下一个位置点是否为终止点,且当所述下一个位置点为终止点时结束导航。
相较于现有技术,本案中的中央控制器、移动导航系统及方法,可以利用飞行器来协助所述中央控制器控制机器人导航,可以灵活的控制该机器人在虚拟路径上移动。解决现有技术中机器人导航需要导航传感器、地面磁条和激光传感器等装置协助而带来的成本问题。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参考图1,所示为本发明一实施方式中移动导航系统100的示意图。该移动导航系统100包括,但不限于,中央控制器10、机器人20和多个飞行器30。在本实施方式中,所述中央控制器10与所述多个飞行器30及所述机器人20之间通过无线的方式进行通信连接。在本实施方式中,所述多个飞行器30协助所述中央控制器10控制所述机器人20在导航空间内导航,具体细节后文介绍。所述导航空间可以是室内空间(如厂房),也可以是室外空间。
在本实施方式中,所述移动导航系统100还可以包括一飞行器基站40。所述飞行器基站40可包括一些支持系统,例如用于为给所述飞行器30提供电能的电池充电的充电基座。在本实施例中,所述中央控制器10可与所述飞行器基站40之间通过有线或无线的方式进行通信连接。
请参考图2,所示为本发明一实施方式中移动导航系统100中的中央控制器10的示意图。在本实施方式中,所述中央控制器10包括,但不仅限于,输入输出接口110、网络单元111、存储器112和处理器113。上述输入输出接口110、网络单元111、存储器112和处理器113之间电气连接。
在本实施方式中,用户可以通过所述输入输出接口110和中央控制器10进行交互。所述输入输出接口110可以是采用非接触式的输入方式,例如动作输入,声控等或者是一外置的遥控器单元,通过无线或有线通讯的方式发送控制命令给处理器113。输入输出接口110还可以为电容式触摸屏、电阻式触摸屏、其他光学触摸屏等或者是机械按键输入单元,例如键盘、拨杆、飞轮输入键等。
在本实施方式中,所述网络单元111用于通过有线或无线网络传输方式为中央控制器10提供网络通讯功能。从而所述中央控制器10可以与所述机器人20和所述飞行器30网络通信连接。该有线网络可以为传统有线通讯的任何类型,例如因特网、局域网。
所述网络单元111可采用无线方式,例如,蓝牙、红外线、无线保真(WirelessFidelity,WiFi)、传输控制协议/以太网协议TCP/IP传输、蜂窝技术,卫星,及广播。其中所述蜂窝技术可包括第二代(2G)、第三代(3G)、第四代(4G)或第五代(5G)等移动通信技术。所述3G与4G技术基于符合所述国际电信联盟(International Telecommunications Union,ITU)颁布的国际规格的移动通信标准。所述3G与4G技术可提供每秒200千比特至每秒几千兆比特的信息传输速率,从而使得其广泛适用于采用大带宽传输高解析度影像和视频。3G技术通常是指那些符合国际移动通信2000(International Mobile Telecommunications2000,IMT-2000)标准的可靠性和数据传输速率的技术。常见的商业3G技术包括,基于扩频无线电传输技术的系统和无线电接口,例如通过第三代合作伙伴计划(3rd GenerationPartnership Project,3GPP)标准化的UMTS系统,W-CDMA无线电接口,中国提议的TD-SCDMA无线电接口,HSPA+UMTS发布,CDMA2000系统,及EV-DO。此外,其他技术,例如EDGE,DECT及移动WiMAX也符合IMT-2000,因而也被ITU批准作为3G标准。相应地,此处所用的“3G”这个词包括,但不限于,任何符合IMT-2000的技术,包括此处所提到的那些技术。
相较而言,4G技术被广泛地理解为那些符合高级国际移动通信(InternationalMobile Telecommunications Advanced,IMT-Advanced)规格的技术,其要求在高移动性通信时最高速度达到每秒100兆位,在低移动性通信时达到每秒一千兆比特。在2010年10月,ITU批准的4G标准包括增强LTE及增强无线城域网(WirelessMAN-Advanced)。但是,一些商业运营商发布的4G服务不完全符合IMT-Advanced规格,例如LTE、Mobile WiMAX,及TD-LTE。相应地,此处所提到的“4G”这个词包括,但不限于,这些后来的技术,例如LTE,MobileWiMAX与TD-LTE,与那些符合IMT-Advanced的技术,包括此处所提到的那些技术。而5G是超越当前4G/IMT-Advanced标准的下一代移动通信标准。
在本实施方式中,该存储器112用于存储安装于该中央控制器10内的软件程序及数据。在本实施方式中,该存储器112可以为该中央控制器10的内部存储单元,例如该中央控制器10的硬盘或内存。在其他实施方式中,该存储器112也可以为该中央控制器10的外部存储设备,例如该中央控制器10上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施方式中,所述存储器112还存储有所述导航空间的虚拟地图(如电子地图),该虚拟地图中包括多条虚拟路径。所述虚拟路径由位置点及位置点与位置点之间的连接关系组成。所述虚拟路径定义了所述机器人20在整个虚拟路径上的多个位置点及每个位置点对应的位置坐标,以及每个机器人20经过所述多个位置点的先后顺序。该多个位置点包括转弯点及停留点。在本实施方式中,所述停留点被定义为所述机器人20在所述虚拟路径中需要停留一预设时间的点,例如,起始点和终止点。所述转弯点被定义为所述机器人20在所述虚拟路径中能够改变行走方向的点。本实施方式中,所述虚拟路径上的各个位置点的位置坐标可以是指基于整个导航空间所在区域所建立的第一坐标系(XOY)中的坐标。
在本实施方式中,所述存储器112中还预先存储了机器人20在每个位置点的图像(为方便描述,以下简称为“位置图像”)以及机器人20在该每个位置图像中的位置坐标。所述虚拟路径为所述中央控制器10在所述虚拟地图上根据机器人20所在起始点和用户输入的终止点生成的最短路径。所述中央控制器10采用寻径算法来规划所述最短路径。所述虚拟路径中包括多个停留点和多个转弯点。所述存储器112还预先存储有所述飞行器基站40在所述导航空间内的位置信息。在本实施方式中,所述机器人20在每个位置图像中的位置坐标是指基于该位置图像所建立的第二坐标系(X'O'Y')中的坐标。所述第二坐标系(X'O'Y')中的坐标对应于该位置图像的像素点。
在本实施方式中,所述处理器113可以为中央处理单元(Central ProcessingUnit,CPU),或者其他能够执行控制功能的微处理器或其他数据处理芯片。该处理器113用于执行软件程序代码或运算数据等。所述处理器113还用于以所述导航空间为基础构建室内的三维坐标系(XYZ)。可以理解的是,所述三维坐标系是在所述第一坐标系的基础上,增加一以所述导航空间的高度为Z轴而建立的坐标系。因此,所述虚拟路径上的各个位置点的位置坐标也可以通过所述三维坐标系来描述。例如,所述停靠点在所述第一坐标系中的坐标为(X,Y),那么,所述停靠点在所述三维坐标系中的坐标为(X,Y,0)。从而,所述虚拟路径上的各个位置点的位置坐标也可以由基于整个导航空间所建立的所述三维坐标系(XYZ)中的坐标来描述。
本实施方式中,所述中央控制器10可以为计算机、智能手机、平板电脑、个人数字助理、笔记型电脑等。
请参考图3,所示为本发明一实施方式中所述移动导航系统中的飞行器的示意图。在本实施方式中,所述飞行器30可以为一个或多个。所述飞行器30包括,飞行器本体300,其中所述飞行器本体300内设有互相连接的控制器310、接口模块311、避障模块312、电源模块313及通信模块314。所述飞行器本体300外侧设有一云台315,所述云台315上设有摄像头316。
所述控制器310与所述云台315和摄像头316电性连接。所述控制器310为所述飞行器30的控制中心,用于与所述飞行器30的其他模块连接以输入及/或输出数据以及控制所述摄像头316拍摄图像或视频。所述控制器310可为微控制器(Microprogrammed ControlUnit,MCU),例如STM32,或数据处理单元(Digital Signal Processor,DSP)。
所述接口模块311用于对所述飞行器30充电,及传输图像及/或视频数据至外部设备,例如飞行器基站40。在本实施例中,所述接口模块311为通用串行总线(UniversalSerial Bus,USB)接口。在其他实施方式中,所述接口模块311也可为其他具有充电及传输数据功能的接口,例如microUSB接口等。可以理解,所述接口模块311也可为多个,用于充电的接口与用于传输数据的接口可分别设置。
所述避障模块312可以包括一个或多个传感器,所述传感器包括雷达传感器,以及角度传感器及加速度传感器中的至少一种。在本较佳实施例中,所述雷达传感器安装在所述飞行器30的下方、侧方及前方。其中,安装在所述飞行器30下方的雷达传感器用于侦测所述飞行器30相对地面目标物的相对高度信息,安装在所述飞行器30侧方及前方的雷达传感器用于侦测所述飞行器30相对所述障碍物的距离及角度信息。可以理解,所述雷达传感器安装在所述飞行器30的侧方包括左方和右方。所述避障模块312避免所述飞行器30撞到障碍物。
可以理解,所述雷达传感器、角度传感器及加速度传感器等传感器也可采用其他类似传感器替代。只要所获得的传感器数据可用于计算得到所述飞行器30相对地面目标物的相对高度信息、相对障碍物的距离信息及角度信息即可。例如,可通过高度计测量所述飞行器30的高度,通过倾角传感器获得所述巡飞行器30的倾斜角度,通过声波测距仪测量所述飞行器30与地面目标物及障碍物的距离等。
所述电源模块313用于给所述飞行器30的所有模块提供电能。所述电源模块313可为任何能提供电能的储电装置,例如,干电池、充电电池等。在本实施方式中,所述电源模块313为充电电池,可通过所述接口模块311进行充电。
所述通信模块314用于为所述飞行器30提供无线网络通信,从而使所述飞行器30可以与所述中央控制器10通信连接。所述通信模块314可采用可采用无线方式,例如,蓝牙、红外线、无线保真(Wireless Fidelity,WiFi)、传输控制协议/以太网协议TCP/IP传输、蜂窝技术,卫星,及广播。其中所述蜂窝技术可包括第二代(2G)、第三代(3G)、第四代(4G)或第五代(5G)等移动通信技术。
所述多个摄像头316用于拍摄机器人20在所设置的虚拟路径上移动时的图像。所述中央控制器10通过比较所述摄像头316所拍摄的图像与预先存储在该存储器112中的对应于每个转弯点、停留点的位置图像来识别所述机器人20是否到达某个转弯点或停留点。具体细节后面介绍。
在本实施方式中,所述飞行器30可以根据所述虚拟路径的所有位置点信息及所述飞行器基站40所在位置信息进行飞行路径规划。在本实施方式中,所述飞行器30的飞行路径包括从所述飞行器基站40所在位置至所述位置点之间的路径,以及所述虚拟路径中的当前位置点至下一个位置点之间的路径。所述飞行路径预先存储在所述存储器112中。
在本实施方式中,所述飞行器30可以实现室内导航。例如,所述飞行器30可以通过立体相机和双目视觉算法进行定位、感知周围的环境,来实现悬停飞行。所述飞行器30还可以采用微机电惯性导航装置来进行导航。其原理是该微机电惯性导航依靠内部的加速度计测得三个轴向的运动加速度,积分运算后得到飞行器30位置信息,在短时间内具有很高的定位精度。另外,所述飞行器30还可以通过航姿参考系统传感器测量的姿态信息及距离检测传感器检测的距离信息实现稳定飞行。
本实施方式中,所述飞行器30采用的室内导航技术均为现有技术,本文在此不再赘述。
在本实施方式中,所述飞行器30可为旋翼飞行器、固定翼飞行器或固定翼与旋翼混合的飞行器。其中所述旋翼可为单旋翼、双旋翼、三旋翼、四旋翼、六旋翼及八旋翼等。在本实施例中,所述飞行器30旋翼无人飞行器(Unmanned Arial Vehicle,UAV)。
请参考图4,所示为本发明一实施方式中所述移动导航系统中的机器人的示意图。在本实施方式中,所述机器人20可以为一个或多个。所述机器人20包括,但不限于,电池210、行走单元211、无线单元212及控制器213。上述电池210、行走单元211、无线单元212及控制器213之间电气连接。
在本实施方式中,该电池210用于对所述行走单元211、无线单元212及控制器213进行供电。该行走单元211用于根据所述机器人20接收的移动指令行走。所述行走单元211可以是轮式的、履带式的或腿式的。该无线单元212用于为所述机器人20和中央控制器10之间提供网络连接。该控制器213用于控制所述行走单元211按照所述虚拟路径行走,所述控制器213还可以控制该机器人20的行走速度及方向。
在本实施方式中,所述机器人20还可以包括一充电单元(图中未示出),所述充电单元用于为所述电池210提供电量。
在本实施方式中,所述中央控制器10通过所述飞行器30携带的摄像头316拍摄所述机器人20的图像来识别所述机器人20。在一个实施例中,一个或多个机器人20可以为分别具有不同形状的机器人。所述存储器112中预先存储了每个机器人20的图像。所述中央控制器10可以将所述摄像头316所拍摄的机器人20的图像与预先存储在所述存储器112中的图像进行比较从而识别当前拍摄到的机器人20具体为所述一个或多个机器人20中的哪个机器人。
在另一实施方式中,所述中央控制器10通过所述摄像头316扫描喷涂或粘贴在所述机器人20表面的二维码来识别所述机器人20。具体地,所述摄像头316可以扫描所述机器人20顶部表面的二维码以获取所述机器人20的编码信息,并将所述编码信息发送至所述中央控制器10。所述中央控制器10通过比对预先存储至存储器112中的机器人20的编码信息与所述摄像头316扫描二维码获取的编码信息来识别所述机器人20。当预先存储的机器人20的编码信息与获取的编码信息一致时,所述中央控制器10可以识别该机器人20,并且可以发送控制指令以控制该机器人;当预先存储的机器人20的编码信息与获取的编码信息不一致时,所述中央控制器10无法识别该机器人20。
可以理解的是,所述机器人20表面还可以通过喷涂或粘贴包括有不同颜色或形状的标识物,以方便该中央控制器10通过所述摄像头316扫描该标识物来识别所述机器人20。
需要说明的是,所述中央控制器10通过所述摄像头316扫描所述机器人20可以识别所述机器人20,同时可以根据所述摄像头316扫描的图像来定位所述机器人20,具体细节后面介绍。
在本实施方式中,在所述中央控制器10控制所述机器人在所生成的虚拟路径上从起始点以指定的移动速度移动。所述中央控制器10接收用户从所述输入输出接口110输入的起始点和终止点信息,并根据所述输入的起始点和终止点信息在所述导航空间的虚拟地图上生成一虚拟路径。所述中央控制器10判断所述机器人20是否到达所述虚拟路径中的下一个位置点,并在确认所述机器人20到达所述虚拟路径中的下一个位置点后,根据所述虚拟路径确定所述机器人20是否需要在该下一个位置点转向。当确定所述机器人20需要在该下一个位置点转向时,发送转向信息至所述机器人20。所述机器人20在接收该转向信息后,根据该转向信息进行转向后,继续行走至所述虚拟路径中的下一个位置点,直到所述机器人20到达终止点。
在本实施方式中,所述中央控制器10判断所述机器人20从起始点出发后是否到达所述虚拟路径中的下一个位置点的方案具体包括:
在本实施方式中,所述中央控制器10发送移动指令至所述机器人20后开始计时,并根据计时时间和机器人20移动的速度计算该机器人当前移动距离,当所述当前移动距离与所述起始点和下一个位置点之间的距离之间的差值小于第一预设值时,说明该机器人20即将到达该下一个位置点。
当所述中央控制器10判断所述机器人20即将达到下一个位置点时,发送飞行指令至所述飞行器30,所述飞行器30按照飞行器基站40所在位置与所述下一个位置点之间的路径生成的飞行航线飞行至所述下一个位置点上方。所述中央控制器10控制所述飞行器30开启摄像头316拍摄图像,并将所述图像发送至所述中央控制器10。所述中央控制器10根据所述图像获取所述机器人20的当前位置坐标,并判断所述当前位置坐标与预先存储的机器人20在该下一个位置点所对应的位置图像中的位置坐标是否匹配,来确认所述机器人20是否到达所述下一个位置点。在本实施方式中,所述飞行器30采用室内导航技术实现从所述飞行器基站40所在位置飞行至所述下一个位置点上方。
在一个实施例中,所述中央控制器10以该图像正向放置时的左下角为圆心O',横向为X'轴,纵向为Y'轴,建立一个第二坐标系(X'O'Y')。所述中央控制器10确定所述机器人20在该第二坐标系(X'O'Y')中的位置坐标(X',Y')。所述中央控制器10根据所述第一坐标系(XOY)和所述第二坐标系(X'O'Y')之间的比例关系,将所述机器人20在该图像中的位置坐标(X',Y')换算为该机器人20在所述第一坐标系(XOY)中的坐标(X,Y),由此所述中央控制器10即可获取该机器人20的当前位置坐标。
所述比例关系即是指第一坐标系中X轴上的单位刻度与所述第二坐标系中X'轴的单位刻度之间的第一比例,以及所述第一坐标系中Y轴上的单位刻度与所述第二坐标系中Y'轴的单位刻度之间的第二比例。所述中央控制器10根据所述第一比例将所述位置坐标(X',Y')中的X'的值换算为所述X的值,以及根据所述第二比例将所述位置坐标(X',Y')中的Y'的值换算为所述Y的值。
在一个实施例中,所述机器人20在所述第二坐标系(X'O'Y')中的位置坐标(X',Y')可以是指所述机器人20在所述图像中所占的各个像素的坐标值的平均值。为简单、清楚说明本发明,以所述机器人20在所述图像占三个像素为例,假设该三个像素在所述第二坐标系(X'O'Y')中的坐标分别是(2,6)、(3,6)、(7,6),则所述机器人20在所述第二坐标系(X'O'Y')中的位置坐标(X',Y')可以确定为(4,6)。即为该三个像素在所述第二坐标系(X'O'Y')中的坐标(2,6)、(3,6)、(7,6)的平均值。再如,假设所述第一比例和第二比例均为3:1,则所述中央控制器10可以将所述机器人20在所述第二坐标系(X'O'Y')中的位置坐标(4,6)换算得出所述机器人20在所述第一坐标系中坐标为(12,18),由此,所述中央控制器10获取该机器人20的当前位置坐标是(12,18)。
在一个实施例中,所述中央控制器10通过比对所述机器人20在拍摄的图像中的当前位置坐标(X'1,Y'1)与机器人20在该下一个位置点所对应的位置图像中的位置坐标(X'2,Y'2)相匹配时,确定该机器人20移动到达该下一个位置点。该下一个位置点所对应的位置图像及机器人20在该下一个位置点所对应的位置图像中的位置坐标(X'2,Y'2)预先存储在所述存储器112中。
在一个实施方式中,所述位置坐标(X'1,Y'1)与位置坐标(X'2,Y'2)相匹配可以是指当“X'1”位于区间[X'2-M,X'2+M],且“Y'1”位于区间[Y'2-M,Y'2+M]时,即可判定为位置坐标(X'1,Y'1)与位置坐标(X'2,Y'2)相匹配。所述“M”和“N”的值可以预先设定,例如,M和N的值等于2、3,或其他值。
在本实施方式中,所述中央控制器10还可以根据所述机器人20从当前位置点行走至所述下一个位置点之间所需的时间(为方便描述,以下简称为“第一时间”)及所述飞行器30从所述当前位置点飞行至所述飞行器基站40所需的时间和所述飞行器30从所述飞行器基站40飞行至所述下一个位置点所需的时间的和(为方便描述,以下简称为“第二时间”),来判断所述飞行器30是否需要返回所述飞行器基站40。
当所述第一时间与所述第二时间之间的差值小于第二预设值,所述飞行器30可以返回所述飞行器基站40。由于所述第一时间与所述第二时间之间的差值小于第二预设值,所述飞行器30有足够的时间从所述当前位置点飞回所述飞行器基站40,又从所述飞行器基站40飞行至所述下一个位置点,来拍摄所述机器人20到达所述下一个位置点的图像。
当所述第一时间与所述第二时间之间的差值大于等于所述第二预设值,所述飞行器30无需返回所述飞行器基站40,所述飞行器30可以继续跟踪所述机器人20飞行。由于在所述飞行器30飞回所述飞行器基站40,再从所述飞行器基站40返回至所述下一个位置点时,机器人30可能已经从所述当前位置点行走至所述下一个位置点。从而出现飞行器30无法拍摄机器人20到达所述下一个位置点时的图像的情况。因此,所述飞行器30无需返回所述飞行器基站40,所述飞行器30可以继续跟踪所述机器人20飞行。
请参考图5,所示为本发明一实施方式中移动导航系统100在一导航空间进行导航的示意图。在本实施方式中,所述导航空间为室内厂房,所述室内厂房包括六条产线,产线1至产线6。在本实施方式中,所述机器人20需要从起始点(所述导航空间左上角所在的停留点)行走至终止点(所述导航空间的右下角的停留点)。在所述中央控制器10接收到用户从所述输入输出接口110输入的起始点和终止点信息。所述中央控制器10根据所述起始点和终止点信息在所述导航空间的虚拟地图上生成一虚拟路径。如图3所示,该虚拟路径包括两个停留点和四个转弯点。所述两个停留点分别为第一停留点S1和第二停留点S2,所述四个转弯点分别为第一转弯点T1、第二转弯点T2、第三转弯点T3及第四转弯点T4。
所述机器人20接收所述中央控制器10发送的移动指令,并根据该移动指令沿该虚拟路径行走。所述移动指令包括移动速度信息。所述中央控制器10发送移动指令至所述机器人20后开始计时,并根据该计时时间和机器人20移动的速度计算该机器人20当前移动距离,来判断该机器人20是否即将到达第一转弯点T1。在本实施方式中,当所述当前移动距离与所述起始点和第一转弯点T1之间的距离之间的差值小于第一预设值时,说明该机器人20即将到达该第一转弯点T1。
当该机器人20即将到达该第一转弯点T1时,中央控制器10发送飞行指令至所述飞行器30,所述飞行器30按照飞行器基站40所在位置与该第一转弯点T1之间的路径生成的飞行航线飞行至该第一转弯点T1上方。在这里,所述中央控制器10还可以设定所述飞行器30的飞行速度,以保证所述飞行器30在所述机器人20到达所述第一转弯点T1之前已飞行至所述第一转弯点T1上方。所述中央控制器10控制所述摄像头316拍摄图像,并将所述图像发送至所述中央控制器10。所述中央控制器10判断所述图像是否包括所述机器人20。当确认所述图像包括所述机器人20时,所述中央控制器10根据所述图像与预先存储至存储器112中的该机器人20在该第一转弯点T1的位置图像进行比对,以确认该机器人20是否已经到达该第一转弯点T1。当该机器人20已经到达该第一转弯点T1后,所述中央控制器10发送向左转的转向信息至所述机器人20。所述机器人20在接收该转向信息后,根据该转向信息开始左转,并朝所述第二转弯点T2继续行走。
所述中央控制器10判断是否需要发送飞行指令至所述飞行器30,控制所述飞行器30返回至所述飞行器基站40。
在本实施方式中,当所述所述中央控制器10判断所述飞行器30无需返回所述飞行器基站40时,所述中央控制器10可以控制所述飞行器30继续跟踪所述机器人20飞行。具体地,所述中央控制器10可以根据所述机器人20从所述第一转弯点T1行走至所述第二转弯点T2之间所需的时间(第一时间)及所述飞行器30从所述第一转弯点T1飞行至所述飞行器基站40所需的时间和所述飞行器30从所述飞行器基站40飞行至所述第二转弯点T2所需的时间的和(第二时间),来判断所述飞行器30是否需要返回所述飞行器基站40。
当所述第一时间与所述第二时间之间的差值小于第二预设值,所述飞行器30可以返回所述飞行器基站40。由于所述第一时间与所述第二时间之间的差值小于第二预设值,所述飞行器30有足够的时间从所述第一转弯点T1飞回所述飞行器基站40,又从所述飞行器基站40飞行至所述第二转弯点T2,来拍摄所述机器人20到达所述第二转弯点T2的图像。
当所述第一时间与所述第二时间之间的差值大于等于所述第二预设值,所述飞行器30无需返回所述飞行器基站40,所述飞行器30可以继续跟踪所述机器人20飞行。由于在所述飞行器30从所述第一转弯点T1飞回所述飞行器基站40,再从所述飞行器基站40返回至所述第二转弯点T2时,机器人30可能已经从所述第一转弯点T1行走至所述第二转弯点T2。从而出现飞行器30无法拍摄机器人20到达所述第二转弯点T2时的图像的情况。因此,所述飞行器30无需返回所述飞行器基站40,所述飞行器30可以继续跟踪所述机器人20飞行。
当所述机器人20从所述第一转弯点T1开始行走时,所述中央控制器10开始计时,并根据该计时时间和机器人20移动的速度计算该机器人20当前移动距离,来判断该机器人20是否即将到达第二转弯点T2。在本实施方式中,当所述当前移动距离与所述第一转弯点T1和第二转弯点T2之间的距离之间的差值小于所述第一预设值时,说明该机器人20即将到达该第二转弯点T2。
当该机器人20即将到达该第二转弯点T2时,中央控制器10发送飞行指令至所述飞行器30,所述飞行器30按照飞行器基站40所在位置与该第二转弯点T2之间的路径生成的飞行航线飞行至该第二转弯点T2上方。所述中央控制器10控制所述摄像头316拍摄图像,并将所述图像发送至所述中央控制器10。所述中央控制器10判断所述图像是否包括所述机器人20。当确认所述图像包括所述机器人20时,所述中央控制器10根据所述图像与预先存储至存储器112中的该机器人20在该第二转弯点T2的位置图像进行比对,以确认该机器人20是否已经到达该第二转弯点T2。当所述中央控制器10确认该机器人20已经到达该第二转弯点T2后,发送向右转的转向信息至所述机器人20。所述机器人20在接收该转向信息后,根据该转向信息开始右转,并继续行走至第三转弯点T3。如此循环,直到该机器人20行走至第二停留点S2(终止点)。
请参考图6,所示为本发明一实施方式中移动导航方法的流程图。根据不同需求,该流程图中步骤的顺序可以改变,某些步骤可以省略或合并。
步骤S61,所述中央控制器10控制所述机器人20在所生成的虚拟路径上从起始点以指定的移动速度(例如0.5m/s)移动。
如前面所记载,在本实施方式中,所述中央控制器10接收用户输入的起始点和终止点信息,根据所述起始点和终止点信息生成一虚拟路径,并将所生成的虚拟路径存储在所述存储器112中。所述中央控制器10发送移动指令至所述机器人以控制所述机器人移动。
所述虚拟路径定义了所述机器人20在整个虚拟路径上的多个位置点及每个位置点对应的位置坐标,以及机器人20经过所述多个位置点的先后顺序。该多个位置点包括转弯点及停留点。在一个实施例中,所述中央控制器10还在所述存储器112中预先存储了机器人20移动到每个位置点时的图像(为方便描述,以下简称为“位置图像”)以及机器人20在该每个位置图像中的位置坐标。本实施例中,所述转弯点可以定义为机器人20在所述虚拟路径中可改变行进方向的位置点。所述停留点可以定义为机器人20在所述虚拟路径中暂时停留的位置点。
步骤S62,所述中央控制器10判断所述机器人20是否即将到达所述虚拟路径中的下一个位置点。当所述机器人20到达所述虚拟路径上的下一个位置点时,流程进入步骤S63;当所述机器人20没有到达所述虚拟路径上的下一个位置点时,流程返回步骤S62。
在本实施方式中,所述中央控制器10发送移动指令至所述机器人20后开始计时,并根据计时时间和机器人20移动的速度计算该机器人当前移动距离,当所述当前移动距离与所述起始点和下一个位置点之间的距离之间的差值小于第一预设值时,说明该机器人20即将到达该下一个位置点。
步骤S63,所述中央控制器10控制飞行器30飞行至所述下一个位置点上方。
在本实施方式中,当所述中央控制器10判断所述机器人20即将达到下一个位置点时,发送飞行指令至所述飞行器30,所述飞行器30按照飞行器基站40所在位置与所述下一个位置点之间的路径生成的飞行航线飞行至所述下一个位置点上方,所述飞行器30在飞行过程中通过避障模块312实现避障。
步骤S64,所述中央控制器10控制所述飞行器30携带的摄像头316拍摄图像。所述飞行器30将拍摄的图像传输至所述中央控制器10。
步骤S65,所述中央控制器10判断所述图像是否包括所述机器人20。当判断得出所述图像不包括所述机器人20时,执行步骤S66。当判断得出所述图像包括所述机器人20时,执行步骤S67。
一个实施例中,所述中央控制器10可以利用图像识别算法(Imagine RecognitionAlgorithm)来识别所述图像是否包括机器人20。
在本实施方式中,所述中央控制器10还可以根据该图像识别所述机器人20。所述中央控制器10将该图像与预先存储在所述存储器112中的机器人20的图像进行比对来识别所述机器人20。例如,当该图像与预先存储的机器人的图像之间的相似度达到一个预设值(例如95%)时,所述中央控制器10即识别所述机器人20。
在另一实施方式中,所述中央控制器10通过所述摄像头316扫描喷涂或粘贴在所述机器人20表面的二维码来识别所述机器人20。
可以理解的是,所述机器人20表面还可以通过喷涂或粘贴包括有不同颜色或形状的标识物,以方便该中央控制器10通过所述摄像头316扫描该标识物来识别所述机器人20。
步骤S66,当判断得出所述图像不包括所述机器人20时,所述中央控制器10控制该摄像头316等待预设时长(例如2秒)后拍摄下一张图像。执行完步骤S66后回到步骤S65,即由中央控制器10判断该下一张图像是否包括机器人20。
步骤S67,当判断得出所述图像包括所述机器人20时,所述中央控制器10根据所拍摄的图像确认所述机器人20是否已经到达所述下一个位置点。当确认所述机器人20已经到达所述下一个位置点时,流程进入步骤S68;当确认所述机器人20已经到达所述下一个位置点时,流程返回步骤S66,继续判断下一张图像中的机器人20是否到达所述下一个位置点。
具体而言,所述中央控制器10以该图像正向放置时的左下角为圆心O',横向为X'轴,纵向为Y'轴,建立一个第二坐标系(X'O'Y')。所述中央控制器10确定所述机器人20在该第二坐标系(X'O'Y')中的位置坐标(X',Y')。所述中央控制器10根据所述第一坐标系(XOY)和所述第二坐标系(X'O'Y')之间的比例关系,将所述机器人20在该图像中的位置坐标(X',Y')换算为该机器人20在所述第一坐标系(XOY)中的坐标(X,Y),由此所述中央控制器10即可获取该机器人20的当前位置坐标。
所述比例关系即是指第一坐标系中X轴上的单位刻度与所述第二坐标系中X'轴的单位刻度之间的第一比例,以及所述第一坐标系中Y轴上的单位刻度与所述第二坐标系中Y'轴的单位刻度之间的第二比例。所述中央控制器10根据所述第一比例将所述位置坐标(X',Y')中的X'的值换算为所述X的值,以及根据所述第二比例将所述位置坐标(X',Y')中的Y'的值换算为所述Y的值。在一个实施例中,所述机器人20在所述第二坐标系(X'O'Y')中的位置坐标(X',Y')可以是指所述机器人20在所述图像中所占的各个像素的坐标值的平均值。
在一个实施例中,所述中央控制器10通过比对所述机器人20在拍摄的图像中的当前位置坐标(X'1,Y'1)与机器人20在该下一个位置点所对应的位置图像中的位置坐标(X'2,Y'2)相匹配时,确定该机器人20移动到达该下一个位置点。该下一个位置点所对应的位置图像及机器人20在该下一个位置点所对应的位置图像中的位置坐标(X'2,Y'2)预先存储在所述存储器112中。
在一个实施方式中,所述位置坐标(X'1,Y'1)与位置坐标(X'2,Y'2)相匹配可以是指当“X'1”位于区间[X'2-M,X'2+M],且“Y'1”位于区间[Y'2-M,Y'2+M]时,即可判定为位置坐标(X'1,Y'1)与位置坐标(X'2,Y'2)相匹配。所述“M”和“N”的值可以预先设定,例如,M和N的值等于2、3,或其他值。
在本实施方式中,所述中央控制器10还可以根据所述机器人20从当前位置点行走至所述下一个位置点之间所需的时间(第一时间)及所述飞行器30从所述当前位置点飞行至所述飞行器基站40所需的时间和所述飞行器30从所述飞行器基站40飞行至所述下一个位置点所需的时间的和(第二时间),来判断所述飞行器30是否需要返回所述飞行器基站40。
当所述第一时间与所述第二时间之间的差值小于所述第二预设值,所述飞行器30可以返回所述飞行器基站40。由于所述第一时间与所述第二时间之间的差值小于第二预设值,所述飞行器30有足够的时间从所述当前位置点飞回所述飞行器基站40,又从所述飞行器基站40飞行至所述下一个位置点,来拍摄所述机器人20到达所述下一个位置点的图像。
当所述第一时间与所述第二时间之间的差值大于等于所述第二预设值,所述飞行器30无需返回所述飞行器基站40,所述飞行器30可以继续跟踪所述机器人20飞行。由于在所述飞行器30飞回所述飞行器基站40,再从所述飞行器基站40返回至所述下一个位置点时,机器人30可能已经从所述当前位置点行走至所述下一个位置点。从而出现飞行器30无法拍摄机器人20到达所述下一个位置点时的图像的情况。因此,所述飞行器30无需返回所述飞行器基站40,所述飞行器30可以继续跟踪所述机器人20飞行。
步骤S68,所述中央控制器10判断所述机器人20在所述下一个位置点是否需要转向。当所述机器人20在所述下一个位置点需要转向时,流程进入步骤S69;当所述机器人20在所述下一个位置点不需要转向,流程返回步骤S61,所述中央控制器10控制该机器人20继续沿所述虚拟路径移动。
在本实施方式中,所述中央控制器10可以根据所述虚拟路径来判断所述机器人20在所述下一个位置点是否需要转向。例如,参图4可知,所述机器人20在第一转弯点T1、第二转弯点T2和第四转弯点T4都需要转向,所述机器人20在第三转弯点T3不需要转向。
步骤S69,所述机器人20接收所述中央控制器10发送的转向指令,并根据该转向指令转向后继续沿该虚拟路径行走。
步骤S70,所述中央控制器10判断所述机器人20是否到达终止点。当所述机器人20到达终止点,流程结束;当所述机器人20没有到达终止点,流程返回步骤S61。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
以上实施方式仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施方式对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换都不应脱离本发明技术方案的精神和范围。