发明内容
根据本公开的实施例,提供了一种基于门识别的机器人自动开关仓门方案。
在本公开的第一方面,提供了一种基于门识别的机器人自动开关仓门方法。该方法包括:
控制机器人到指定位置;
采集反射的激光数据,并对所述激光数据进行筛选,得到所述机器人正前方的激光数据;
对所述机器人正前方的激光数据进行处理,得到线性度小于线性阈值的直线,并求取所述直线与所述机器人的X轴的夹角;
基于所述直线与所述机器人的X轴的夹角,确定门的状态;
根据所述门的状态,自动打开或关闭仓门。
进一步地,控制机器人到指定位置包括:
基于预设取货点信息,控制所述机器人行驶到所述指定位置,并调整所述机器人姿态;所述取货点包括位置信息和机器人姿态信息。
进一步地,所述对所述激光数据进行筛选,得到所述机器人正前方的激光数据包括:
通过预设的最大距离阈值、最小距离阈值、最大角度阈值和最小角度阈值,对所述激光数据进行删减,得到所述机器人正前方的激光数据。
进一步地,所述对所述机器人正前方的激光数据进行处理,得到线性度小于线性阈值的直线包括:
对所述机器人正前方的激光数据进行直线拟合,去除噪点对该激光数据的影响,得到线性度小于线性阈值的直线。
进一步地,所述基于所述直线与所述机器人的X轴的夹角,确定门的状态包括:
若所述直线与所述机器人的X轴的夹角大于等于所述预设角度判定值,则门为关闭状态;若所述直线与所述机器人的X轴的夹角小于所述预设角度判定值,则门为打开状态。
进一步地,所述根据所述门的状态,自动打开或关闭仓门包括:
若所述门的打开状态有效,则根据所述门的状态,自动打开仓门;
若所述门的关闭状态有效,则根据所述门的状态,自动关闭仓门。
进一步地,
若连续采集到的门的打开或关闭状态的次数大于等于预设状态检测阈值,则门的打开或关闭状态有效。
在本公开的第二方面,提供了一种基于门识别的机器人自动开关仓门装置。该装置包括:
控制模块,用于控制机器人到指定位置;
采集模块,用于采集反射的激光数据,并对所述激光数据进行筛选,得到所述机器人正前方的激光数据;
处理模块,用于对所述机器人正前方的激光数据进行处理,得到线性度小于线性阈值的直线,并求取所述直线与所述机器人的X轴的夹角;
确定模块,用于基于所述直线与所述机器人的X轴的夹角,确定门的状态;
开合模块,用于根据所述门的状态,自动打开或关闭仓门。
在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面的方法。
本申请实施例提供的基于门识别的机器人自动开关仓门方法,通过控制机器人到指定位置;采集反射的激光数据,并对所述激光数据进行筛选,得到所述机器人正前方的激光数据;对所述机器人正前方的激光数据进行处理,得到线性度小于线性阈值的直线,并求取所述直线与所述机器人的X轴的夹角;基于所述直线与所述机器人的X轴的夹角,确定门的状态;根据所述门的状态,自动打开或关闭仓门,降低了机器人自身的经济成本,同时减少了客户繁琐的操作流程。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1示出了根据本公开实施例的基于门识别的机器人自动开关仓门方法100的流程图。方法100包括:
S110,控制机器人到指定位置。
参考图5、图6,所述机器人包括仓体和仓门,所述仓体用于存放物品,所述仓门和仓体可进行连接;所述机器人内置导航系统。
在一些实施例中,基于用户派送任务信息,控制机器人行驶到指定位置,并调整所述机器人姿态。所述任务信息包括取货点信息;所述取货点信息包括位置信息和机器人姿态信息;所述机器人姿态信息包括所述机器人X轴正对门姿态信息。
在一些实施例中,所述指定位置可根据实际应用场景进行设定,通常为门外0.6-1米的位置。
在一些实施例中,所述调整所述机器人姿态通常为调整机器人姿态为机器人X轴正对门,参考图5、6。
具体地,机器人接收到用户任务时,自动调取所述用户任务中的取货点信息,确定指定位置信息(目的地的位置信息)。通过A星算法规划出一条到达所述指定位置的全局路径,进一步地,通过teb_local_planner进行局部规划,得出所述机器人最优行驶速度。根据所述全局路径和最优行驶速度,控制所述机器人行驶到所述指定位置,之后根据所述取货点中的机器人姿态信息调整所述机器人的姿态,即,将所述机器人的姿态调整为机器人X轴正对门。
S120,采集反射的激光数据,并对所述激光数据进行筛选,得到所述机器人正前方的激光数据。
在一些实施例中,所述机器人上可配置有单线雷达,通过可以旋转的发射装置发出激光光束,发射出的激光光束遇到物体后会反射回来,该反射回来的光线通过光学接收系统来进行接收。参考图2,图2为接收到的反射激光数据。
优选地,所述激光数据的刷新频率为10hz。
在一些实施例中,对接收到的反射激光数据进行筛选,参考图3,只保留机器人正前方的激光数据。
具体地,设置最大距离阈值(door_range_max)、最小距离阈值(door_range_min)、最大角度阈值(door_angle_max)和最小角度阈值(door_angle_min);优选地,所述最大距离阈值:1.5米;所述最小距离阈值:0.1米;所述最大角度阈值:45度;所述最小角度阈值:-45度;
若所述激光数据同时满足上述四个阈值,即,在上述四个阈值范围内,则所述发射激光数据为机器人正前方激光数据(线段)。
S130,对所述机器人正前方的激光数据进行处理,得到线性度小于线性阈值的直线,并求取所述直线与所述机器人的X轴的夹角。
在一些实施例中,可通过直线拟合的方式对所述机器人正前方的激光数据进行处理,去除噪点对该激光数据的影响,得到一条线性度小于线性阈值的直线;所述线性阈值可根据实际应用场景进行预先设定。
计算处理后的直线的斜率(参考基于平面坐标系计算斜率的方法),根据所述斜率确定该直线与机器人x轴(参考图3、4中机器人的X轴)的夹角。
S140,基于所述直线与所述机器人的X轴的夹角,确定门的状态。
在一些实施例中,如图3所示,当门为关闭状态时,所述直线与机器人x轴方向夹角比较大,近乎90度;
如图4所示,当门为打开状态时,所述直线与机器人x轴方向夹角比较小(小于90°)。
综上,可根据所述直线与机器人x轴的夹角确定门的打开关闭状态。即,可根据采集的机器人的正前方的激光数据的斜率确定门的打开关闭状态。
具体地,根据实际应用场景预先设置角度判定值,所述角度判定值优选为50°,若所述直线与所述机器人的X轴的夹角的绝对值大于所述角度判定值时,则门为关闭状态,反之为打开状态。
S150,根据所述门的状态,自动打开或关闭仓门。
在一些实施例中,需先判断门的打开或关闭状态是否有效,若有效,则自动打开或关闭仓门,参考图5和图6,其中,图5为仓门打开示意图;图6为仓门关闭示意图。
具体地,根据实际应用场景和/或机器人采集反射激光的频率预先设置状态检测阈值(door_consecutive_times),若连续采集到的门打开或关闭状态的次数大于等于door_consecutive_times,则门的打开或关闭状态有效;例如,当door_consecutive_times设置为10时,若连续采集的至少10帧激光数据相同(门的状态未发生改变),则判定门的打开或关闭状态有效。通过设置所述door_consecutive_times对门的状态进行检测,可有效减小外在因素(测量误差等)的影响,提高了检测结果的精准性。
需要说明的是,所述连续采集的10帧激光数据相同,通常是指采集的激光数据的误差在一定范围内,不仅为完全相同。
在一些实施例中,所述机器人可配置有各类感应器,如距离感应器、热感应器和/或重力感应器等等,用于检测一定范围、距离内人是否离开和/或仓体内的物品是否被取走,进而在一定时间(根据应用场景预先设定,如60秒)内自动关闭仓门。例如,所述机器人可配置有重力感应器,当所述重力感应器识别出所述机器人仓体内的物品被取走后,可在一定时间内自动关闭仓门,如60秒内自动关闭仓门。
在一些实施例中,可设置一个异常阈值,当门的打开时间超过所述异常阈值时,所述仓门自动进行关闭。如,设置所述异常阈值为120秒,当门持续打开时间超过120秒时,所述仓门自动进行关闭。
根据本公开的实施例,实现了以下技术效果:
通过识别门的打开或关闭状态控制机器人仓门的自动打开与闭合,降低了机器人自身成本的同时减少了客户繁琐的操作流程。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
图7示出了根据本公开的实施例的基于门识别的机器人自动开关装置700的方框图。如图7所示,装置700包括:
控制模块710,用于控制机器人到指定位置;
采集模块720,用于采集反射的激光数据,并对所述激光数据进行筛选,得到所述机器人正前方的激光数据;
处理模块730,用于对所述机器人正前方的激光数据进行处理,得到线性度小于线性阈值的直线,并求取所述直线与所述机器人的X轴的夹角;
确定模块740,用于基于所述直线与所述机器人的X轴的夹角,确定门的状态;
开合模块750,用于根据所述门的状态,自动打开或关闭仓门。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
图8示出了可以用来实施本公开的实施例的电子设备800的示意性框图。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可以存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元801执行上文所描述的各个方法和处理,例如方法100。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,CPU801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。