一种行驶偏差的确定方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种行驶偏差的确定方法和装置。
背景技术
在使用自动导引运输设备(Automated Guided Vehicle,AGV)的自动化仓库中,智能搬运机器人AGV实现物料在对应工位之间的搬运,通常采用惯性导航加二维码识别技术,通过调度***可灵活的改变路径使效率最优。二维码导航的实现方式为,在仓库中可供AGV经过的路径点上布置二维码,AGV经过路径点时通过底部的扫码器识别二维码确定其在仓库中所处的位置,同时确定其通过地码点时车身姿态及车身与地码点之间的偏差。其中后者帮助AVG矫正当前运动方向及姿态等,使其可以在各路径点即地码点间快速准确地行驶,防止AVG行驶偏差和脱轨。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:基于二维码导航的AGV过度依赖二维码的扫码识别,如果未扫到码,则不能进行当前行驶偏差的计算,AGV会直接报扫码异常或者继续按上次在扫码点进行偏差计算的导航继续行走,使得AGV的二维码导航容错率较低,当漏扫码时,很难再行驶至下一个扫码点。
因此,亟需一种能够在AGV漏扫码时,计算当前AGV行驶偏差的行驶偏差的确定方法和装置。
发明内容
有鉴于此,本发明实施例提供一种行驶偏差的确定方法和装置,能够在AGV漏扫码时,计算当前AGV行驶偏差,使得AGV以计算的行驶来规划导航,可以尽可能的减少AGV偏离预定轨道。
为实现上述目的,根据本发明实施例的一个方面,提供了一种行驶偏差的确定方法,包括:
步骤S1,当运输设备从起始点在设定时长后行驶至当前点,获取该运输设备在起始点的坐标偏移值、行驶方向偏移角度、以及在该设定时长内的左轮和右轮速度,其中,坐标偏移值为在预设坐标系中,运输设备实际坐标值相对于预定坐标值的偏移量,行驶方向偏移角度为在该预设坐标系中,运输设备实际行驶方向相对于预定行驶方向的偏移角度;
步骤S2,根据该运输设备在起始点的坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的坐标偏移值。
可选的,所述确定该运输设备在当前点的坐标偏移值的步骤包括:
根据该设定时长和运输设备在该设定时长内的左轮和右轮速度确定运输设备在该设定时长内的行驶方向变化角度,其中,该设定时长内的行驶方向变化角度为,在该预设坐标系中,运输设备在当前点的实际行驶方向相对于在起始点的实际行驶方向的变化角度;
根据该运输设备在起始点的横坐标偏移值、行驶方向偏移角度、在该设定时长内的行驶方向变化角度以及设定时长,确定该运输设备在当前点的横坐标偏移值;
根据该运输设备在起始点的纵坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的纵坐标偏移值。
可选的,所述确定运输设备在该设定时长内的行驶方向变化角度的步骤包括:
确定该运输设备在该设定时长内的角速度为,该运输设备的右轮速度和左轮速度的差与轮间距的商;
确定该运输设备在该设定时长内的行驶方向变化角度为所述角速度与该设定时长的乘积。
可选的,根据下述表达式确定该运输设备在当前点的横坐标偏移值:
根据下述表达式确定该运输设备在当前点的纵坐标偏移值:
其中,xA和yA分别为运输设备在起始点的横坐标偏移值和纵坐标偏移值,xB和yB分别为运输设备在当前点的横坐标偏移值和纵坐标偏移值,δt为设定时长,δθ为运输设备在设定时长内的行驶方向变化角度,v为运输设备行驶速度,θ为运输设备在起始点的行驶方向偏移角度。
可选的,在所述步骤S2执行后,执行所述步骤S1,以确定每次执行步骤S2时的当前点的坐标偏移值,其中,当次执行步骤S1时,若所述起始点不为运输设备扫码点,则所述起始点为上一次执行步骤S2时的所述当前点。
可选的,步骤S2还包括:
当确定该运输设备在当前点的坐标偏移值后,根据该坐标偏移值校正该运输设备当前的左轮和右轮速度。
为实现上述目的,根据本发明实施例的另一个方面,还提供了一种行驶偏差的确定装置,包括:
获取模块,用于执行步骤S1,当运输设备从起始点在设定时长后行驶至当前点,获取该运输设备在起始点的坐标偏移值、行驶方向偏移角度、以及在该设定时长内的左轮和右轮速度,其中,坐标偏移值为在预设坐标系中,运输设备实际坐标值相对于预定坐标值的偏移量,行驶方向偏移角度为在该预设坐标系中,运输设备实际行驶方向相对于预定行驶方向的偏移角度;
确定模块,用于执行步骤S2,根据该运输设备在起始点的坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的坐标偏移值。
可选的,所述确定模块进一步用于根据该设定时长和运输设备在该设定时长内的左轮和右轮速度确定运输设备在该设定时长内的行驶方向变化角度,其中,该设定时长内的行驶方向变化角度为,在该预设坐标系中,运输设备在当前点的实际行驶方向相对于在起始点的实际行驶方向的变化角度;
根据该运输设备在起始点的横坐标偏移值、行驶方向偏移角度、在该设定时长内的行驶方向变化角度以及设定时长,确定该运输设备在当前点的横坐标偏移值;
根据该运输设备在起始点的纵坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的纵坐标偏移值。
可选的,所述确定模块进一步用于确定该运输设备在该设定时长内的角速度为,该运输设备的右轮速度和左轮速度的差与轮间距的商;
确定该运输设备在该设定时长内的行驶方向变化角度为所述角速度与该设定时长的乘积。
为实现上述目的,根据本发明实施例的另一个方面,还提供了一种行驶偏差的确定电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的行驶偏差的确定方法。
为实现上述目的,根据本发明实施例的另一个方面,还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的行驶偏差的确定方法。
本发明实施例提供的行驶偏差的确定方法和装置,在运输设备从起始点行驶至当前点后,根据该运输设备在起始点的坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的坐标偏移值,实现运输设备行驶偏差的计算。通过重复执行上述方法,能够在AGV漏扫码时,计算当前AGV行驶偏差,使得AGV以计算的行驶来规划导航,可以尽可能的减少AGV偏离预定轨道。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例提供的行驶偏差的确定方法的主要流程的示意图;
图2是本发明实施例提供的行驶偏差的确定方法的一种实施方式的流程的示意图;
图3是本发明实施例提供的确定运输设备在当前点的坐标偏移值的流程的示意图;
图4是本发明实施例提供的运输设备的行驶路线的坐标系的示意图;
图5是本发明实施例提供的行驶偏差的确定装置的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性***架构图;
图7是适于用来实现本发明实施例的电子设备的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本发明实施例提供一种行驶偏差的确定方法,该方法可以应用于自动导引运输设备(Automated Guided Vehicle,AGV)的自动化仓库中,对二维码导航下的AGV进行行驶偏差的确定。
在本发明中,对于运输设备预设有坐标系,本发明是对运输设备(例如AGV)的坐标偏移值进行确定,坐标偏移值为在预设坐标系中,运输设备实际坐标值相对于预定坐标值的偏移量,预定坐标值即不存在偏差情况下,运输设备预定到达的坐标。
在本发明中还定义有运输设备的行驶方向偏移角度,该行驶方向偏移角度为在该预设坐标系中,运输设备实际行驶方向相对于预定行驶方向的偏移角度。预定行驶方向即不存在偏差情况下,运输设备预定行驶的方向。
如图1所示,该行驶偏差的确定方法包括步骤S1和步骤S2。其中,在步骤S1中,当运输设备从起始点在设定时长后行驶至当前点,获取该运输设备在起始点的坐标偏移值、行驶方向偏移角度、以及在该设定时长内的左轮和右轮速度。运输设备的左轮和右轮速度可以通过实时获取运输设备的左轮系电机实时速度和右轮系电机实时速度来得到,运输设备在起始点的坐标偏移值和行驶方向偏移角度的获取方式,在本发明后续实施例部分加以说明。
步骤S2,根据该运输设备在起始点的坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的坐标偏移值。
在确定该运输设备在当前点的坐标偏移值后,可以根据该坐标偏移值校正该运输设备当前的左轮和右轮速度,尽可能的减少运输设备偏离预定轨道。或者,若当前点的坐标偏移值大于设定的阈值时,可以向***上报异常。
在本发明的一种实施方式中,如图2所示,在步骤S2执行后,执行步骤S1,以确定每次执行步骤S2时的当前点的坐标偏移值,其中,当次执行步骤S1时,若起始点不为运输设备扫码点,则起始点为上一次执行步骤S2时的当前点。
即在本实施方式中,AGV经过扫码点时,步骤S1中的起始点为该扫码点,扫码点可以部署有导航二维码地码,当AGV通过某个地码时,通过扫描摄像头读取地码信息了解所处位置,同时可以确定摄像头与地码点之间的左右(横向)及前后(纵向)偏差,可以确定AGV在起始点的坐标偏移值、行驶方向偏移角度。
然后执行步骤S2,确定以扫码点为起始点时,对应的当前点的AGV坐标偏移值。然后再次执行步骤S1,此次执行步骤S1,其起始点为上次执行步骤S2的当前点,即将当前点作为起始点执行步骤S1。
在本发明的一种实施方式中,可以将每次执行步骤S1的设定时长统一为一设定周期,每个周期对该周期的当前点的坐标偏移值进行计算。
利用上述方法可以在AGV丢扫码的情况下有效的减少车体走偏的异常并且不需要上报丢码异常。根据轮系编码器值计算AGV行走的路程,当路程大于设定码距时,认为AGV漏扫码了,此时可以控制AGV的剩余路径减少相应的路径且开始减速,AGV开始减速是考虑小车偏离预定路线时的安全问题。并根据本发明方法实时确定坐标偏移值对AGV进行丢码后的行驶校正。
在本发明的一种实施方式中,如图3所示,步骤S2确定该运输设备在当前点的坐标偏移值的步骤具体可以为:
首先,根据该设定时长和运输设备在该设定时长内的左轮和右轮速度确定运输设备在该设定时长内的行驶方向变化角度,其中,该设定时长内的行驶方向变化角度为,在该预设坐标系中,运输设备在当前点的实际行驶方向相对于在起始点的实际行驶方向的变化角度。
如图4所示,该该预设坐标系中,运输设备从起始点A向当前点B行驶的过程中,由于导航路径设置或者存在路径校正设置,运输设备在设定时长δt中,可能一定角速度曲线行驶,即运输设备的左轮速度Vl和右轮速度Vr不一致。
在一种实施方式中,上述确定运输设备在该设定时长内的行驶方向变化角度的步骤具体为:确定该运输设备在该设定时长内的角速度为,该运输设备的右轮速度和左轮速度的差与轮间距的商。确定该运输设备在该设定时长内的行驶方向变化角度为角速度与该设定时长的乘积。
即通过下述表达式确定运输设备在设定时长内的行驶方向变化角度δθ:
δθ=δt*(Vr-Vl)/C;
其中,Vr为运输设备的右轮速度,Vl为运输设备的左轮速度,C为轮间距,即运输设备左右轮之间的直径距离,δt为设定时长。
然后根据该运输设备在起始点的横坐标偏移值、行驶方向偏移角度、在该设定时长内的行驶方向变化角度以及设定时长,确定该运输设备在当前点的横坐标偏移值。
根据该运输设备在起始点的纵坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的纵坐标偏移值。
在一种实施方式中,根据下述表达式确定该运输设备在当前点的横坐标偏移值:
根据下述表达式确定该运输设备在当前点的纵坐标偏移值:
上述表达式即利用龙格库塔法的近似积分展开来计算坐标偏移值。其中,xA和yA分别为运输设备在起始点的横坐标偏移值和纵坐标偏移值,xB和yB分别为运输设备在当前点的横坐标偏移值和纵坐标偏移值,δt为设定时长,δθ为运输设备在设定时长内的行驶方向变化角度,v为运输设备行驶速度,θ为运输设备在起始点的行驶方向偏移角度。
本发明实施例还提供一种行驶偏差的确定装置,如图5所示,包括:获取模块501和确定模块502。
获取模块501用于执行步骤S1,当运输设备从起始点在设定时长后行驶至当前点,获取该运输设备在起始点的坐标偏移值、行驶方向偏移角度、以及在该设定时长内的左轮和右轮速度,其中,坐标偏移值为在预设坐标系中,运输设备实际坐标值相对于预定坐标值的偏移量,行驶方向偏移角度为在该预设坐标系中,运输设备实际行驶方向相对于预定行驶方向的偏移角度。
确定模块502用于执行步骤S2,根据该运输设备在起始点的坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的坐标偏移值。
在本发明中,确定模块进一步用于根据该设定时长和运输设备在该设定时长内的左轮和右轮速度确定运输设备在该设定时长内的行驶方向变化角度,其中,该设定时长内的行驶方向变化角度为,在该预设坐标系中,运输设备在当前点的实际行驶方向相对于在起始点的实际行驶方向的变化角度。
根据该运输设备在起始点的横坐标偏移值、行驶方向偏移角度、在该设定时长内的行驶方向变化角度以及设定时长,确定该运输设备在当前点的横坐标偏移值。
根据该运输设备在起始点的纵坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的纵坐标偏移值。
在本发明中,确定模块进一步用于确定该运输设备在该设定时长内的角速度为,该运输设备的右轮速度和左轮速度的差与轮间距的商。
确定该运输设备在该设定时长内的行驶方向变化角度为角速度与该设定时长的乘积。
在本发明中,确定模块进一步用于根据下述表达式确定该运输设备在当前点的横坐标偏移值:
根据下述表达式确定该运输设备在当前点的纵坐标偏移值:
其中,xA和yA分别为运输设备在起始点的横坐标偏移值和纵坐标偏移值,xB和yB分别为运输设备在当前点的横坐标偏移值和纵坐标偏移值,δt为设定时长,δθ为运输设备在设定时长内的行驶方向变化角度,v为运输设备行驶速度,θ为运输设备在起始点的行驶方向偏移角度。
在本发明中,确定模块执行步骤S2后,获取模块执行步骤S1,以确定每次确定模块执行步骤S2时的当前点的坐标偏移值,其中,获取模块当次执行步骤S1时,若起始点不为运输设备扫码点,则的起始点为确定模块上一次执行步骤S2时的当前点。
在本发明中,确定模块进一步用于当确定该运输设备在当前点的坐标偏移值后,根据该坐标偏移值校正该运输设备当前的左轮和右轮速度。
本发明实施例提供的行驶偏差的确定方法和装置,在运输设备从起始点行驶至当前点后,根据该运输设备在起始点的坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的坐标偏移值,实现运输设备行驶偏差的计算。通过重复执行上述方法,能够在AGV漏扫码时,计算当前AGV行驶偏差,使得AGV以计算的行驶来规划导航,可以尽可能的减少AGV偏离预定轨道。
图6示出了可以应用本发明实施例的行驶偏差的确定方法或行驶偏差的确定装置的示例性***架构600。
如图6所示,***架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于AGV、智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器。
需要说明的是,本发明实施例所提供的行驶偏差的确定方法可以由服务器605执行,也可以由AGV执行,相应地,行驶偏差的确定装置可以设置于服务器605中,也可以设置于AGV中。
应该理解,图60中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机***700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机***700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有***700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块和确定模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
步骤S1,当运输设备从起始点在设定时长后行驶至当前点,获取该运输设备在起始点的坐标偏移值、行驶方向偏移角度、以及在该设定时长内的左轮和右轮速度,其中,坐标偏移值为在预设坐标系中,运输设备实际坐标值相对于预定坐标值的偏移量,行驶方向偏移角度为在该预设坐标系中,运输设备实际行驶方向相对于预定行驶方向的偏移角度;
步骤S2,根据该运输设备在起始点的坐标偏移值、行驶方向偏移角度、在该设定时长内的左轮和右轮速度以及设定时长,确定该运输设备在当前点的坐标偏移值。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。