一种机器人视觉定位方法及机器人
技术领域
本发明涉及机器人导航领域,更具体地说,涉及一种机器人视觉定位方法及机器人。
背景技术
机器人在自主导航过程中需要获取障碍物的距离信息,现有技术使用测距传感器对障碍物进行测量,例如使用激光测距传感器、雷达测距传感器、超声波测距传感器等,对于没有携带测距传感器的机器人来说,如何获取障碍物距离是需要解决的问题。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种机器人视觉定位方法及机器人。
本发明解决其技术问题所采用的技术方案是:构造一种机器人视觉定位方法,包括下述步骤:
S1、获取机器人在第一位置时机器人航向和摄像头光轴的第一夹角,目标物体位于所述摄像头的视野中央;
S2、所述机器人从所述第一位置行驶至第二位置,获取行驶距离;
S3、获取机器人在所述第二位置时机器人航向和摄像头光轴的第二夹角,所述目标物体位于所述摄像头的视野中央;
S4、根据所述第一夹角、所述第二夹角和所述行驶距离确定所述目标物体和所述机器人的相对位置信息。
进一步,在本发明所述的机器人视觉定位方法中,所述步骤S2中所述机器人从所述第一位置行驶至第二位置包括:所述机器人从所述第一位置行驶至第二位置过程中,持续调节所述摄像头以使所述目标物体始终位于所述摄像头的视野中央。
进一步,在本发明所述的机器人视觉定位方法中,所述步骤S2中获取行驶距离包括:根据所述机器人的车轮周长和车轮转数获取行驶距离。
进一步,在本发明所述的机器人视觉定位方法中,所述机器人存储有地图,所述第一位置在所述地图中的坐标为第一坐标,所述第二位置在所述地图中的坐标为第二坐标;则所述步骤S4包括:
S41、根据所述第一坐标、所述第二坐标、所述第一夹角、所述第二夹角和所述行驶距离确定所述目标物体在所述地图中的第三坐标。
进一步,在本发明所述的机器人视觉定位方法中,在所述步骤S41之后还包括:
S51、将所述第三坐标存储至所述机器人的地图中。
进一步,在本发明所述的机器人视觉定位方法中,在所述步骤S51之后还包括:
S52、所述机器人在所述地图中规划路径时规避所述目标物体。
进一步,在本发明所述的机器人视觉定位方法中,在所述步骤S41之后还包括:
S61、所述机器人将所述第三坐标发送至服务器,所述服务器将所述第三坐标保存至地图中;
S62、用户终端访问所述服务器,获取并显示更新后地图和所述目标物体。
进一步,在本发明所述的机器人视觉定位方法中,在所述步骤S41之后还包括:
S7、所述机器人将所述第三坐标发送至用户终端,所述用户终端将所述第三坐标保存至地图中并显示所述目标物体。
进一步,在本发明所述的机器人视觉定位方法中,所述相对位置信息包括所述第二夹角和直线距离,所述直线距离为所述目标物体和所述机器人之间的距离。
另外,本发明还提供一种机器人,包括处理器、存储器、云台和摄像头,所述摄像头通过所述云台安装在所述机器人上,所述云台驱动所述摄像头转动;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器中存储的计算机程序以实现如上述的机器人视觉定位方法。
实施本发明的一种机器人视觉定位方法及机器人,具有以下有益效果:本发明不需要测距传感器,使用机器人的移动距离和摄像头的测试角度得到目标物体和机器人的相对位置信息。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明一实施例提供的一种机器人视觉定位方法的流程图;
图2是本发明一实施例提供的一种机器人视觉定位方法的示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
在一优选实施例中,参考图1和图2,本实施例的机器人视觉定位方法应用于可移动机器人上,摄像头通过云台安装在机器人上,云台能驱动摄像头转动。具体的,该机器人视觉定位方法包括下述步骤:
S1、获取机器人在第一位置时机器人航向和摄像头光轴的第一夹角,目标物体位于摄像头的视野中央。具体的,在需要定位目标物体时云台驱动摄像头转动,使用预设图像算法识别出目标物体,该预设图像算法可参考限于技术。识别出目标物体后云台继续调整摄像头的位置,使目标物体位于摄像头的视野中央。在目标物体位于摄像头的视野中央时,获取机器人在第一位置时机器人航向和摄像头光轴的第一夹角,其中机器人航向是指机器人的当前行驶方向,目标物体位于摄像头的视野中央时目标物体也位于摄像头光轴上。可以理解,在目标物体位于摄像头的视野中央时,摄像头中央相对于机器人航向的夹角即为第一夹角,从而可通过云台的转动角度和当前航向获取第一夹角。图2中位置A为机器人的第一位置,夹角φ1为第一夹角。
S2、机器人从第一位置行驶至第二位置,获取行驶距离。具体的,在第一位置获取第一夹角后机器人沿当前航向行驶一段距离达到第二位置,获取行驶距离。作为选择,在机器人从第一位置行驶至第二位置过程中,记录机器人车轮的车轮转数,根据机器人的车轮周长和车轮转数获取行驶距离。图2中位置B为第二位置,位置A到位置B之间的距离为D,即第一位置行驶和第二位置之间的行驶距离为D。
S3、获取机器人在第二位置时机器人航向和摄像头光轴的第二夹角,目标物体位于摄像头的视野中央。具体的,机器人行驶至第二位置后需要再次识别目标物体,识别目标物体时云台驱动摄像头转动,使用预设图像算法识别出目标物体,该预设图像算法可参考限于技术。识别出目标物体后云台继续调整摄像头的位置,使目标物体位于摄像头的视野中央。在目标物体位于摄像头的视野中央时,获取机器人在第二位置时机器人航向和摄像头光轴的第二夹角,其中机器人航向是指机器人的当前行驶方向,目标物体位于摄像头的视野中央时目标物体也位于摄像头光轴上。图2中位置B为机器人的第二位置,夹角φ2为第二夹角。作为选择,为避免目标物体在移动过程中丢失目标物体,机器人从第一位置行驶至第二位置过程中,持续调节摄像头以使目标物体始终位于摄像头的视野中央,这样在机器人行驶至第二位置时可直接获取第二夹角,不需要再调节摄像头,可加快获取速度。
S4、根据第一夹角、第二夹角和行驶距离确定目标物体和机器人的相对位置信息。具体的,由第一位置、第二位置和目标物体组成三角形,例如取机器人在第一位置和第二位置的中心点和目标物体的中心点组成三角形。作为选择,相对位置信息包括第二夹角和直线距离,直线距离为目标物体和机器人之间的距离。图2中A点为机器人在第一位置的中心点,B点为机器人在第二位置的中心点,P点为目标物体的中心点,则由A点、B点和P点组成三角形PAB。在三角形PAB中,∠PAB为第一夹角,也就是夹角φ1;∠PBA为(180°-φ2);边长AB的长度为行驶距离D,根据三角形原理可计算出边PA的长度和边PB的长度,从而确定目标物体和机器人的相对位置信息。
本实施例不需要测距传感器,使用机器人的移动距离和摄像头的测试角度得到目标物体和机器人的相对位置信息。
在一些实施例的机器人视觉定位方法中,机器人存储有地图,第一位置在地图中的坐标为第一坐标,第二位置在地图中的坐标为第二坐标。则步骤S4包括:S41、根据第一坐标、第二坐标、第一夹角、第二夹角和行驶距离确定目标物体在地图中的第三坐标。具体的,上述实施例可计算出三角形PAB的边PB的长度,将PB作为三角形PBQ的斜边,AB的延长线BQ为直角边,PQ垂直AB的延长线,根据夹角φ2和PB长度可计算出边PQ的长度L1,边BQ的长度L2。进一步,由第一坐标和第二坐标可知ABQ直线与地图坐标系中坐标的夹角,根据该夹角将长度L1和长度L2进行坐标系转化,从而得到P点在地图坐标系中的坐标,即得到目标物体在地图中的第三坐标。本实施例不需要测距传感器,利用三角形原理和坐标系转换得到目标物体在地图中的第三坐标。
在一些实施例的机器人视觉定位方法中,在步骤S41之后还包括:
S51、将第三坐标存储至机器人的地图中。
S52、机器人在地图中规划路径时规避目标物体。
本实施例将第三坐标存储至机器人的地图中,实现地图更新,机器人后续自动规划行驶路径时可考虑该目标物体的影响,以便做出更合理移动路径。
在一些实施例的机器人视觉定位方法中,在步骤S41之后还包括:
S61、机器人将第三坐标发送至服务器,服务器将第三坐标保存至地图中。具体的,机器人包括无线通信模块,机器人通过无线通信模块通信连接服务器,机器人将第三坐标发送至服务器,服务器将第三坐标保存至地图中。
S62、用户终端访问服务器,获取并显示更新后地图和目标物体。具体的,用户终端通信连接服务器,用户终端访问服务器,获取并显示更新后地图和目标物体,用户可使用更新后的地图进行机器人路径规划。
本实施例将第三坐标存储至服务器的地图中,实现地图更新,用户可使用用户终端远程访问服务器,及时获取机器人所在位置的环境信息,提高管理效率。
在一些实施例的机器人视觉定位方法中,在步骤S41之后还包括:S7、机器人将第三坐标发送至用户终端,用户终端将第三坐标保存至地图中并显示目标物体。具体的,机器人包括近距离通信模块,例如蓝牙模块,机器人通过近距离通信模块直接通信连接用户终端,将第三坐标发送至用户终端,用户终端将第三坐标保存至地图中并显示目标物体,方便用户及时了解障碍物信息,从而做出合理规划。
在一优选实施例中,本实施例的机器人包括处理器、存储器、云台和摄像头,摄像头通过云台安装在机器人上,云台驱动摄像头转动。存储器用于存储计算机程序;处理器用于执行存储器中存储的计算机程序以实现如上述的机器人视觉定位方法。
本实施例机器人不需要测距传感器,使用机器人的移动距离和摄像头的测试角度得到目标物体和机器人的相对位置信息。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据此实施,并不能限制本发明的保护范围。凡跟本发明权利要求范围所做的均等变化与修饰,均应属于本发明权利要求的涵盖范围。