CN116323434A - 用于实现agv之间同步的方法和装置 - Google Patents
用于实现agv之间同步的方法和装置 Download PDFInfo
- Publication number
- CN116323434A CN116323434A CN202080106014.5A CN202080106014A CN116323434A CN 116323434 A CN116323434 A CN 116323434A CN 202080106014 A CN202080106014 A CN 202080106014A CN 116323434 A CN116323434 A CN 116323434A
- Authority
- CN
- China
- Prior art keywords
- agv
- distance
- agvs
- ranging unit
- synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D63/00—Motor vehicles or trailers not otherwise provided for
- B62D63/02—Motor vehicles
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G1/00—Storing articles, individually or in orderly arrangement, in warehouses or magazines
- B65G1/02—Storage devices
- B65G1/04—Storage devices mechanical
- B65G1/137—Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Optical Radar Systems And Details Thereof (AREA)
Abstract
一种用于实现两个AGV(1‑2,101‑102,1301‑1302)之间同步的方法,设置在第一AGV(1,101,1301)的一侧表面上的第一测距单元(M1)和第二测距单元(M2)分别初始地对准设置在第二AGV(2,102,1302)的一侧表面上的第一梯形块(T1)和第二梯形块(T2)上的特定位置,第一AGV(1,101,1301)与第二AGV(2,102,1302)被指定为间隔开第一距离(D1),当第一AGV(1,101,1301)跟从第二AGV(2,102,1302)的移动而移动时,通过第一测距单元(M1)来测量第一AGV(1,101,1301)与第二AGV(2,102,1302)之间的第二距离(D2)(201);通过第二测距单元(M2)来测量第一AGV(1,101,1301)与第二AGV(2,102,1302)之间的第三距离(D3)(202);基于第一距离(D1)、第二距离(D2)和第三距离(D3),确定第一AGV(1,101,1301)与第二AGV(2,102,1302)之间的关于同步的相对状态(203);以及当相对状态表示第一AGV(1,101,1301)与第二AGV(2,102,1302)之间不同步时,基于相对状态对第一AGV(1,101,1301)的移动进行调整(204)。用于实现两个AGV(1‑2,101‑102,1301‑1302)之间同步的方法,可以容易和快速地实现AGV(1‑2,101‑102,1301‑1302)同步,并具有高精度和智能同步机制设计,可灵活地适用于多AGV(1‑3,101‑102,1200,1301‑1302)协同工作的场景。
Description
本公开涉及智能移动机器人技术领域,更具体地说,涉及用于实现AGV之间同步的方法、装置、计算设备、计算机可读存储介质和程序产品。
AGV(Automatic Guided Vehicle)在工业和商业领域中应用越来越普遍。例如,使用AGV将组件从仓库移动至生产线,然后将成品从生产线移至仓库以自动进行物流。对于某些大尺寸产品,可能需要两个或多个AGV从一个位置移动到另一个位置,如何保持AGV之间的同步非常重要。
发明内容
目前AGV之间的同步问题尚未得到很好的解决。一种可能的解决方案是使用安装于AGV上方(例如,安装于车间的天花板上)的相机来捕捉AGV的图像(例如,相机需要捕捉整个车间的图像),利用计算机视觉技术(例如,图像拼接)来定位AGV,并根据计算的结果来控制AGV。然而,对于该解决方案,相机的可视区域和定位精度是关键问题,导致其成本高昂,并且从捕捉AGV、定位AGV到控制AGV存在较大延时,难以满足实际的同步应用。
本公开的第一实施例提出了一种用于实现两个AGV之间同步的方法,所述两个AGV包括第一AGV和第二AGV,设置在所述第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,所述第一AGV与所述第二AGV被指定为间隔开第一距离,当所述第一AGV跟从所述第二AGV的移动而移动时,所述方法包括:A.通过第一测距单元来测量所述第一AGV与所述第二AGV之间的第二距离;B.通过所述第二测距 单元来测量所述第一AGV与所述第二AGV之间的第三距离;C.基于所述第一距离、所述第二距离和所述第三距离,确定所述第一AGV与所述第二AGV之间的关于同步的相对状态;以及D.当所述相对状态表示所述第一AGV与所述第二AGV之间不同步时,基于所述相对状态对所述第一AGV的移动进行调整。
在该实施例中,可以利用采样来容易地实现AGV同步,无需复杂的图像处理技术,有效地降低了现场成本,并可快速实现AGV同步以满足应用需求,并且具有高精度和智能同步机制设计,可灵活和可靠地适用于多AGV协同工作的场景。
本公开的第二实施例提供了一种用于实现多个AGV之间同步的方法,所述多个AGV包括第一AGV、第二AGV和第三AGV,所述第二AGV和所述第三AGV分别设置在所述第一AGV的两侧,设置在所述第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,设置在所述第三AGV的一侧表面上的第三测距单元和第四测距单元分别初始地对准设置在所述第一AGV的另一侧表面上的第三梯形块和第四梯形块上的特定位置,所述第一AGV与所述第二AGV被指定为间隔开第一距离,所述第一AGV与所述第三AGV被指定为间隔开另一距离,所述方法包括:当所述第一AGV跟从所述第二AGV的移动而移动时,使用根据第一实施例中所述的方法来实现所述第一AGV与所述第二AGV之间的同步,以及当所述第三AGV跟从所述第一AGV的移动而移动时,使用根据第一实施例中所述的方法来实现所述第三AGV与所述第一AGV之间的同步。
本公开的第三实施例提供了一种用于实现多个AGV之间同步的方法,所述多个AGV包括第一AGV、第二AGV和第三AGV,所述第一AGV和所述第三AGV分别设置在所述第二AGV的两侧,设置在所述第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,设置在所述第三AGV的一侧表面上的第三测距单元和第四测距单元分别初始地对准设置在所述第二AGV的另一侧表面上的第三梯形块和第四梯形块上的特定位置,所述第一AGV与所述第二AGV被指定为间隔开第一距离,所述第 二AGV与所述第三AGV被指定为间隔开另一距离,所述方法包括:当所述第一AGV跟从所述第二AGV的移动而移动时,使用根据第一实施例中所述的方法来实现所述第一AGV与所述第二AGV之间的同步,以及所述第三AGV跟从所述第二AGV的移动而移动时,使用根据第一实施例中所述的方法来实现所述第三AGV与所述第二AGV之间的同步。
本公开的第四实施例提供了一种AGV,包括被配置为实现根据第一实施例中所述的方法的控制器。
本公开的第五实施例提供了一种用于实现两个AGV之间同步的装置,所述两个AGV包括第一AGV和第二AGV,设置在所述第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,所述第一AGV与所述第二AGV被指定为间隔开第一距离,所述第一AGV跟从所述第二AGV的移动而移动,所述装置包括:第一测量模块,被配置为通过第一测距单元来测量所述第一AGV与所述第二AGV之间的第二距离;第二测量模块,被配置为通过所述第二测距单元来测量所述第一AGV与所述第二AGV之间的第三距离;状态确定模块,被配置为基于所述第一距离、所述第二距离和所述第三距离,确定所述第一AGV与所述第二AGV之间的关于同步的相对状态;以及调整模块,被配置为当所述相对状态表示所述第一AGV与所述第二AGV之间不同步时,基于所述相对状态对所述第一AGV的移动进行调整。
本公开的第六实施例提供了一种计算设备,所述计算设备包括:处理器;以及存储器,其用于存储计算机可执行指令,当所述计算机可执行指令被执行时使得所述处理器执行第一实施例、第二实施例或第三实施例中所述的方法。
本公开的第七实施例提出了一种计算机可读存储介质,所述计算机可读存储介质具有存储在其上的计算机可执行指令,所述计算机可执行指令用于执行第一实施例、第二实施例或第三实施例中所述的方法。
本公开的第八实施例提出了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行第一实施例、第二实施 例或第三实施例中所述的方法。
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:
图1示出了其中可以应用本公开的实施例的示例性场景。
图2示出了根据本公开的实施例的用于实现两个AGV之间同步的示例性方法的流程图。
图3示出了根据本公开的实施例的两个AGV之间的相对移动的示意图。
图4示出了根据本公开的实施例的两个AGV之间的相对移动的示意图。
图5示出了根据本公开的实施例的两个AGV之间的相对移动的示意图。
图6示出了根据本公开的实施例的两个AGV之间的相对移动的示意图。
图7示出了根据本公开的实施例的用于实现两个AGV之间同步的示例性装置的框图。
图8示出了根据本公开的实施例的用于实现多个AGV之间同步的示例性方法的流程图。
图9示出了根据本公开的实施例的多个AGV之间的相对移动的示意图。
图10示出了根据本公开的实施例的用于实现多个AGV之间同步的示例性方法的流程图。
图11示出了根据本公开的实施例的多个AGV之间的相对移动的示意图。
图12示出了根据本公开的实施例的用于实现AGV同步的示例性AGV。
图13示出了根据本公开的实施例的用于实现AGV同步的示例性系统。
图14示出了根据本公开的实施例的用于实现AGV同步的示例性计算设备。
以下参考附图详细描述本公开的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其它组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑 在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。
此外,附图中的流程图和框图示出了根据本公开的各个实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语是开放性的术语,即“包括/包含但不限于”,表示还可以包括其它内容。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”等等。
图1示出了其中可以应用本公开的实施例的示例性场景100。场景100包括多个AGV,例如AGV 101和AGV 102。AGV 101沿第一路径103移动,AGV 102沿第二路径104移动。AGV 101可以装备有自动导航装置来沿规定的导引路径103自动行驶,例如,AGV 101可以使用磁导航(在AGV行驶路径的路面上贴磁条,通过磁条感应信号实现导引)、二维码导航(通过摄像头扫描地面铺设的二维码,解析二维码信息来实现导引)或激光导航(通过采集由自然环境(墙壁、柱子以及其它固定物体)反射的激光束来实现导引)等来沿第一路径103移动。AGV 102可以类似地沿第二路径104移动。AGV 101上还可以安装有面向工业领域的多关节机械手或多自由度的机器装置105,AGV 102上还可以安装有面向工业领域的多关节机械手或多自由度的机器装置106。在一些情况下,需要两个或多个AGV协同地移动产品或者协同地移动以利用机械手对产品进行处理。在这种情况下,需要保持两个或多个AGV之间的同步,例如,使AGV 101和AGV 102分别沿第一路径103和第二路径104移动时保持指定的间隔距离。应当理解,图1中AGV 的数量仅用于说明而非限制,场景100可以包括更多个AGV(例如,三个、四个等)。此外,在两个AGV的协同移动的情况下,一个AGV可以作为主AGV(master AGV),另一个AGV可以作为从AGV(slave AGV),其中,从AGV跟从主AGV的移动而移动。在多个AGV的协同移动的情况下,可以存在多种主从AGV的配置。
然而,无论是何种导航方式,当AGV 101和AGV 102分别沿着路径103和104移动时,由于并非完全地一致(例如,移动速度误差、移动方向误差等),难免存在不同步的情况。通过下面结合图2-图6所描述的用于实现两个AGV之间同步的方法,可以使场景100中的AGV 101与AGV 102之间实现同步。
图2示出了根据本公开的实施例的用于实现两个AGV之间同步的示例性方法200的流程图。方法200可以应用于如图1所示的示例性场景100和如图13所示的示例性系统1300。例如,方法200可以由图1中的任何AGV、图12中的示例性AGV 1200、示例性系统1300中与AGV通信耦合的计算设备1303实现。下面结合图3-图6来描述方法200,其中,图3-图6示出了根据本公开的实施例的两个AGV之间的相对移动的示意图300、400、500、600。
参考图3,两个AGV包括AGV1(第一AGV)和AGV2(第二AGV)。第一测距单元M1和第二测距单元M2设置在AGV1的一侧表面(例如,外壁)上。第一梯形块T1和第二梯形块T2设置在AGV2的一侧表面(例如,外壁)上。AGV1的一侧表面可以平行于AGV2的一侧表面。第一梯形块T1和第二梯形块T2可以具有相同的形状(上变长、下边长、斜边、斜角),例如具有图示的斜角θ、上边长C
1和下边长C
2,C
1和C
2不相同。如图3所示,初始地,第一测距单元M1对准第一梯形块T1,第二测距单元对准第二梯形块T2。例如,第一测距单元M1和第二测距单元M2分别对准第一梯形块T1和第二梯形块T2的相同中间位置,例如,梯形块的腰线,该中间位置(中间边长C
3)将梯形的高分为H
1和H
2。在一个示例中,可以通过在第一梯形块T1和第二梯形块T2的中间位置处设置标记点来实现这种对准。因而,第一测距单元M1和第二测距单元M2之间的距离等于第一梯形块T1和第二梯形块T2之间的距离,如图4所示的纵向距离H。AGV1与AGV2被指 定为间隔开第一距离D
1。例如,通过导航(例如,磁导航、二维码导航、激光导航等)进行的导引中,AGV1和AGV2的头部被指定为横向间隔开第一距离D
1,如图3-图6所示。
参考图2,当第一AGV跟从第二AGV的移动而移动时(即,启动了AGV移动任务(例如,从第一位置移动到第二位置),第二AGV作为主AGV,第一AGV作为从AGV),方法200从步骤201开始。在步骤201中,通过第一测距单元来测量第一AGV与第二AGV之间的第二距离。图3-图6示出了通过第一测距单元M1在两个AGV之间的相对移动下获得的第二距离D
2。
在一些实施例中,步骤201可以包括:通过第一测距单元向第二AGV发射脉冲并从第二AGV接收反射脉冲来测量第一AGV与第二AGV之间的第二距离。例如,第一测距单元M1可以包括传感器,例如超声波传感器、光电传感器(红外、激光传感器)等,传感器包括发射器和接收器,发射器向AGV2发射生成的脉冲(例如,超声波、红外线、激光等),接收器接收从AGV2返回的反射脉冲(例如,超声波、红外线、激光等)。例如,可以基于采样的发射的脉冲和反射脉冲之间的时间差来计算AGV1与AGV2之间的第二距离D
2。
接着,方法200行进到步骤202。在步骤202中,通过第二测距单元来测量第一AGV与第二AGV之间的第三距离。图3-图6示出了在两个AGV之间的相对移动下通过第二测距单元M2获得的第二距离D
3。
在一些实施例中,步骤202可以包括:通过第二测距单元向第二AGV发射脉冲并从第二AGV接收反射脉冲来测量第一AGV与第二AGV之间的第三距离。例如,第二测距单元M2可以包括传感器,例如超声波传感器、光电传感器(红外、激光传感器)等,传感器包括发射器和接收器,发射器向AGV2发射生成的脉冲(例如,超声波、红外线、激光等),接收器接收从AGV2返回的反射脉冲(例如,超声波、红外线、激光等)。例如,可以基于采样的发射的脉冲和反射脉冲之间的时间差来计算AGV1与AGV2之间的第二距离D
3。
接着,方法200行进到步骤203。在步骤203中,基于第一距离、第二距离和第三距离,确定第一AGV与第二AGV之间的关于同步的相对状态。 例如,如图3-图6所示,在AGV1与AGV2之间的不同相对移动下,第一距离D
1、第二距离D
2和第三距离D
3有着不同的关系,因此可以基于第一距离D
1、第二距离D
2和第三距离D
3来确定两个AGV之间是否同步以及处于何种不同步状态。
在一些实施例中,步骤203可以包括:如果第二距离与第三距离不相同,则确定第一AGV与第二AGV之间处于第一不同步状态;或者如果第二距离与第三距离相同,则当第二距离在第一距离的第一阈值范围内时,确定第一AGV与第二AGV之间处于第二不同步状态,当第二距离在第一距离的第二阈值范围内时,确定第一AGV与第二AGV之间处于第三不同步状态,当第二距离与第一距离相同时,确定第一AGV与第二AGV之间处于第四不同步状态。
如图3所示,在正常情况(理想同步)下,AGV1和AGV2同步地移动,此时D
2=D
3=D
1-C
3,如果取梯形块的腰线为对准的特定位置,则C
3=(C
1+C
2)/2,H
1=H
2。
如图4所示,当第二距离D
2不等于第三距离D
3时,表示AGV1相对于AGV2发生了倾斜,这是因为在没有倾斜的情况下,第一测距单元M1和第二测距单元M2对准的是梯形块斜面上的同一位置,由此D
2=D
3。因此,如果第二距离D
2与第三距离D
3不相同,可以确定AGV1与AGV2处于第一不同步状态,即表示相对成倾斜角α。
如图5所示,当第二距离D
2等于第三距离D
3时,如果D
1-C
3<D
2<D
1-C
1,此时AGV1比AGV2移动更快。因此,当第二距离D
2在第一距离D
1的第一阈值范围内(例如,D
1-C
3<D
2<D
1-C
1)时,可以确定AGV1与AGV2处于第二不同步状态,即表示AGV1超前于AGV2,其中第一阈值范围可以由梯形块的参数(例如,上边长C
1和中间边长C
3)来确定。
如图6所示,当第二距离D
2等于第三距离D
3时,如果D
1-C
2<D
2<D
1-C
3,此时AGV1比AGV2移动更慢。因此,当第二距离D
2在第一距离D
1的第二阈值范围内(例如,D
1-C
2<D
2<D
1-C
3)时,可以确定AGV1与AGV2处于第三不同步状态,即表示AGV1落后于AGV2,其中第二阈值范围可以由梯形块的参数(例如,下边长C
2和中间边长C
3)来确定。
然而,如果AGV1超前于AGV2过多或AGV1落后于AGV2过多,则 第一测距单元M1和第二测距单元M2不再对准AGV2上的梯形块的斜面上的位置,此时D
1=D
2=D
3,不能判断移动方向,此时AGV1与AGV2处于第四不同步状态。
接着,方法200行进到步骤204。在步骤204中,当相对状态表示所述第一AGV与所述第二AGV之间不同步时,基于所述相对状态对所述第一AGV的移动进行调整。
在一些实施例中,步骤204可以包括:当相对状态为第一不同步状态时,基于第二距离和第三距离来估计第一AGV相对于第二AGV的倾斜角;以及基于所估计的倾斜角,驱动第一AGV改变移动方向以补偿倾斜角。
如图4所示,当AGV1与AGV2处于第一不同步状态,即表示相对成倾斜角α时,可以根据以下等式(1)来估计倾斜角α:
在估计出倾斜角α后,可以驱动AGV1改变移动方向(例如,旋转适当的角度)以补偿倾斜角α。
在一些实施例中,步骤204可以包括:当相对状态为第二不同步状态或第三不同步状态时,基于第一距离和第二距离来估计第一AGV与第二AGV在移动方向上的相对位移;以及基于所估计的相对位移,驱动第一AGV改变移动速度以补偿相对位移。
如图5所示,当AGV1与AGV2处于第二不同步状态,即表示AGV1超前于AGV2时,可以根据以下等式(2)来计算AGV1与AGV2在纵向上(即,移动方向上)的相对位移D:
D=H
1-(D
1-D
2-C
1)tanθ (2)
在根据D
1、D
2和梯形块的参数计算出相对位移D后,可以驱动AGV1减速以补偿相对位移D。例如,可以计算相应的速度梯形曲线和减速时间,并自动减速移动以补偿相对位移D。
如图6所示,当AGV1与AGV2处于第三不同步状态,即表示AGV1落后于AGV2时,可以根据以下等式(3)来计算AGV1与AGV2在纵向上(即,移动方向上)的相对位移D:
D=(D
1-D
2-C
3)tanθ (3)
在根据D
1、D
2和梯形块的参数计算出相对位移D后,可以驱动AGV1 加速以补偿相对位移D。例如,可以计算相应的速度梯形曲线和加速时间,并自动加速移动以补偿相对位移D。
在一些实施例中,步骤204可以包括:当相对状态为第四不同步状态时,使第一AGV和第二AGV停止移动,并发出告警信息。
当AGV1与AGV2处于第四不同步状态,即表示AGV1超前或落后AGV2过多时,由于无法判断移动方向,因此需要使AGV1和AGV2停止移动,以免造成意外状况,并且发出告警信息(例如,通过声音、指示灯等)以提醒用户。例如,AGV1可以直接或通过工作站向AGV2发送停止移动的指示来使AGV2停止移动。
方法200还可以包括:判断移动任务是否结束(例如,根据导航判断是否已从第一位置移动到第二位置),如果移动任务没有结束,则重复上述步骤201-204以不断控制作为从AGV的第一AGV的移动来实现第一AGV与第二AGV之间的同步。
根据本公开的实施例,可以利用采样来容易地实现AGV同步,无需复杂的图像处理技术,有效地降低了现场成本,并可快速实现AGV同步以满足应用需求,并且具有高精度和智能同步机制设计,可灵活和可靠地适用于多AGV协同工作的场景。
图7示出了根据本公开的实施例的用于实现两个AGV之间同步的示例性装置700的框图,其中,两个AGV包括第一AGV和第二AGV,设置在第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,第一AGV与第二AGV被指定为间隔开第一距离,第一AGV跟从第二AGV的移动而移动。装置700包括第一测量模块701、第二测量模块702、状态确定模块703和调整模块704。
第一测量模块701被配置为通过第一测距单元来测量第一AGV与第二AGV之间的第二距离。
第二测量模块702被配置为通过第二测距单元来测量第一AGV与第二AGV之间的第三距离。
状态确定模块703被配置为基于第一距离、第二距离和第三距离,确定第一AGV与第二AGV之间的关于同步的相对状态。
调整模块704被配置为当相对状态表示第一AGV与第二AGV之间不同步时,基于相对状态对第一AGV的移动进行调整。
在一些实施例中,第一测量模块701可以被进一步配置为通过第一测距单元向第二AGV发射脉冲并从第二AGV接收反射脉冲来测量第一AGV与第二AGV之间的第二距离。
在一些实施例中,第二测量模块702可以被进一步配置为通过第二测距单元向第二AGV发射脉冲并从第二AGV接收反射脉冲来测量第一AGV与第二AGV之间的第三距离。
在一些实施例中,状态确定模块703可以被进一步配置为:如果第二距离与第三距离不相同,则确定第一AGV与第二AGV之间处于第一不同步状态,或者如果第二距离与第三距离相同,则当第二距离在第一距离的第一阈值范围内时,确定第一AGV与第二AGV之间处于第二不同步状态,当第二距离在第一距离的第二阈值范围内时,确定第一AGV与第二AGV之间处于第三不同步状态,当第二距离与第一距离相同时,确定第一AGV与第二AGV之间处于第四不同步状态。
在一些实施例中,调整模块704可以被进一步配置为:当相对状态为第一不同步状态时,基于第二距离和第三距离来估计第一AGV相对于第二AGV的倾斜角;以及基于所估计的倾斜角,驱动第一AGV改变移动方向以补偿倾斜角。
在一些实施例中,调整模块704可以被进一步配置为:当相对状态为第二不同步状态或第三不同步状态时,基于第一距离和第二距离来估计第一AGV与所述第二AGV在移动方向上的相对位移;以及基于所估计的相对位移,驱动第一AGV改变移动速度以补偿相对位移。
在一些实施例中,调整模块704可以被进一步配置为:当相对状态为第四不同步状态时,使第一AGV和第二AGV停止移动,并发出告警信息。
上面描述了如何实现两个AGV之间同步的过程,上述同步过程可以被灵活地应用于多个AGV的场景来实现多个AGV之间的同步,如下面结合图8-图10所描述的。
图8示出了根据本公开的实施例的用于实现多个AGV之间同步的示例性方法800的流程图。图9示出了根据本公开的实施例的多个AGV之间的 相对移动的示意图900。下面结合图9来描述方法800。方法800可以应用于如图1所示的示例性场景100和如图13所示的示例性系统1300。例如,方法800可以由示例性系统1300中与AGV通信耦合的计算设备1303实现。
如图9所示,多个AGV包括AGV1(第一AGV)、AGV2(第二AGV)和AGV3(第三AGV),AGV2和AGV3分别设置在AGV1的两侧,设置在AGV1的一侧表面上的第一测距单元M1和第二测距单元M2分别初始地对准设置在AGV2的一侧表面上的第一梯形块T1和第二梯形块T2上的特定位置,设置在AGV3的一侧表面上的第三测距单元M3和第四测距单元M4分别初始地对准设置在AGV1的另一侧表面上的第三梯形块T3和第四梯形块T4上的特定位置,AGV1与AGV2被指定为间隔开第一距离D
1,AGV1与AGV3被指定为间隔开另一距离D
1’。AGV1的一侧表面可以平行于AGV2的一侧表面,AGV1的另一侧表面可以平行于AGV3的一侧表面。
参考图8,方法800开始于步骤801。在步骤801中,当第一AGV跟从第二AGV的移动而移动时,使用前述的方法200来实现第一AGV与第二AGV之间的同步。例如,将AGV2作为主AGV并将AGV1作为从AGV,从而可以使用方法200来实现AGV1与AGV2之间的同步。
接着,在步骤802中,当第三AGV跟从第一AGV的移动而移动时,使用前述的方法200来实现第三AGV与第一AGV之间的同步。例如,将AGV1作为主AGV并将AGV3作为从AGV,从而可以使用方法200来实现AGV3与AGV1之间的同步。
图10示出了根据本公开的实施例的用于实现多个AGV之间同步的另一种示例性方法1000的流程图。图11示出了根据本公开的实施例的多个AGV之间的相对移动的示意图1100。下面结合图11来描述方法1000。方法1000可以应用于如图1所示的示例性场景100和如图13所示的示例性系统1300。例如,方法1000可以由示例性系统1300中与AGV通信耦合的计算设备1303实现。
如图11所示,多个AGV包括AGV1(第一AGV)、AGV2(第二AGV)和AGV3(第三AGV),AGV1和AGV3分别设置在AGV2的两侧,设置在AGV1的一侧表面上的第一测距单元M1和第二测距单元M2分别初始地对准设置在AGV2的一侧表面上的第一梯形块T1和第二梯形块T2上的特定 位置,设置在AGV3的一侧表面上的第三测距单元M3和第四测距单元M4分别初始地对准设置在AGV2的另一侧表面上的第三梯形块T3和第四梯形块T4上的特定位置,AGV1与AGV2被指定为间隔开第一距离D
1,AGV2与AGV3被指定为间隔开另一距离D
1’。AGV2的一侧表面可以平行于AGV1的一侧表面,AGV2的另一侧表面可以平行于AGV3的一侧表面。
参考图10,方法1000开始于步骤1001。在步骤1001中,当第一AGV跟从第二AGV的移动而移动时,使用前述的方法200来实现第一AGV与第二AGV之间的同步。例如,将AGV2作为主AGV并将AGV1作为从AGV,从而可以使用方法200来实现AGV1与AGV2之间的同步。
接着,在步骤1002中,当第三AGV跟从第二AGV的移动而移动时,使用前述的方法200来实现第三AGV与第二AGV之间的同步。例如,将AGV2作为主AGV并将AGV3作为从AGV,从而可以使用方法200来实现AGV3与AGV2之间的同步。
图12示出了根据本公开的实施例的用于实现AGV同步的示例性AGV 1200。如图12所示,AGV 1200包括控制器1201,控制器1201可以被配置为实现前述的用于实现两个AGV之间同步的方法200。例如,当AGV的控制器具有足够的处理能力时,可以将用于实现AGV同步的方法集成到AGV中并由AGV的控制器来实现。
图13示出了根据本公开的实施例的用于实现AGV同步的示例性系统1300。示例性系统1300包括多个AGV 1301、AGV 1302和计算设备1303。应当理解,图13中AGV的数量仅用于说明而非限制,系统1300可以包括更多个AGV(例如,三个、四个等)。多个AGV 1301、AGV 1302可以类似于图1的AGV 101、AGV 102。计算设备1303可以通信地耦合到多个AGV 1301和AGV 1302以实现信息交换。例如,计算设备1303可以通过有线或无线数据链路与多个AGV 1301和AGV 1302通信,以向多个AGV 1301和AGV 1302发送指令(例如,移动指令、停止指令、测量指令等)和从其获取数据(例如,各种距离(包括测量得的距离和已知的距离,例如,第一距离D
1、第二距离D
2、第三距离D
3、测距单元之间的距离H等),各种参数(例如,梯形块参数等),等等)。计算设备1303可以是计算机(PC)、工作站、可编程逻辑控制器(PLC)和/或任何适当的控制设备,以实现本公开的 实施例所述的用于实现AGV同步的方法(例如,前述的方法200、800或1000中的任何一个或多个步骤)。
图14示出了根据本公开的实施例的用于实现AGV同步的示例性计算设备1400的框图。计算设备1400包括处理器1401和与处理器1401耦合的存储器1402。存储器1402用于存储计算机可执行指令,当计算机可执行指令被执行时使得处理器1401执行以上实施例中的方法(例如,前述的方法200、800或1000中的任何一个或多个步骤)。
此外,替代地,上述方法能够通过计算机可读存储介质来实现。计算机可读存储介质上载有用于执行本公开的各个实施例的计算机可读程序指令。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
因此,在另一个实施例中,本公开提出了一种计算机可读存储介质,该计算机可读存储介质具有存储在其上的计算机可执行指令,计算机可执行指令用于执行本公开的各个实施例中的方法。
在另一个实施例中,本公开提出了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,该计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中的方法。
一般而言,本公开的各个示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面 可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
用于执行本公开的各个实施例的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本公开的一个实施例的计算机可读程序指令,从而实施依据本公开的各个实施例所公开的技术方案。
虽然已经参考若干具体实施例描述了本公开的实施例,但是应当理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (20)
- 一种用于实现两个AGV之间同步的方法,所述两个AGV包括第一AGV和第二AGV,设置在所述第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,所述第一AGV与所述第二AGV被指定为间隔开第一距离,当所述第一AGV跟从所述第二AGV的移动而移动时,所述方法包括:A.通过第一测距单元来测量所述第一AGV与所述第二AGV之间的第二距离;B.通过所述第二测距单元来测量所述第一AGV与所述第二AGV之间的第三距离;C.基于所述第一距离、所述第二距离和所述第三距离,确定所述第一AGV与所述第二AGV之间的关于同步的相对状态;以及D.当所述相对状态表示所述第一AGV与所述第二AGV之间不同步时,基于所述相对状态对所述第一AGV的移动进行调整。
- 根据权利要求1所述的方法,其中,所述步骤A包括:通过第一测距单元向所述第二AGV发射脉冲并从所述第二AGV接收反射脉冲来测量所述第一AGV与所述第二AGV之间的第二距离。
- 根据权利要求1所述的方法,其中,所述步骤B包括:通过第二测距单元向所述第二AGV发射脉冲并从所述第二AGV接收反射脉冲来测量所述第一AGV与所述第二AGV之间的第三距离。
- 根据权利要求1所述的方法,其中,所述步骤C包括:如果所述第二距离与所述第三距离不相同,则确定所述第一AGV与所述第二AGV之间处于第一不同步状态,或者如果所述第二距离与所述第三距离相同,则当所述第二距离在所述第一距离的第一阈值范围内时,确定所述第 一AGV与所述第二AGV之间处于第二不同步状态,当所述第二距离在所述第一距离的第二阈值范围内时,确定所述第一AGV与所述第二AGV之间处于第三不同步状态,当所述第二距离与所述第一距离相同时,确定所述第一AGV与所述第二AGV之间处于第四不同步状态。
- 根据权利要求4所述的方法,其中,所述步骤D包括:当所述相对状态为第一不同步状态时,基于所述第二距离和所述第三距离来估计所述第一AGV相对于所述第二AGV的倾斜角;以及基于所估计的倾斜角,驱动所述第一AGV改变移动方向以补偿所述倾斜角。
- 根据权利要求4所述的方法,所述步骤D包括:当所述相对状态为第二不同步状态或第三不同步状态时,基于所述第一距离和所述第二距离来估计所述第一AGV与所述第二AGV在移动方向上的相对位移;以及基于所估计的相对位移,驱动所述第一AGV改变移动速度以补偿所述相对位移。
- 根据权利要求4所述的方法,所述步骤D包括:当所述相对状态为第四不同步状态时,使所述第一AGV和所述第二AGV停止移动,并发出告警信息。
- 一种用于实现多个AGV之间同步的方法,所述多个AGV包括第一AGV、第二AGV和第三AGV,所述第二AGV和所述第三AGV分别设置在所述第一AGV的两侧,设置在所述第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,设置在所述第三AGV的一侧表面上的第三测距单元和第四测距单元分别初始地对准设置在所述第一AGV的另一侧表面上的第三梯形块和第四梯形块上的特定位置,所述第一AGV与 所述第二AGV被指定为间隔开第一距离,所述第一AGV与所述第三AGV被指定为间隔开另一距离,所述方法包括:当所述第一AGV跟从所述第二AGV的移动而移动时,使用根据权利要求1-7中任一项所述的方法来实现所述第一AGV与所述第二AGV之间的同步,以及当所述第三AGV跟从所述第一AGV的移动而移动时,使用根据权利要求1-7中任一项所述的方法来实现所述第三AGV与所述第一AGV之间的同步。
- 一种用于实现多个AGV之间同步的方法,所述多个AGV包括第一AGV、第二AGV和第三AGV,所述第一AGV和所述第三AGV分别设置在所述第二AGV的两侧,设置在所述第一AGV的一侧表面上的第一测距单元和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,设置在所述第三AGV的一侧表面上的第三测距单元和第四测距单元分别初始地对准设置在所述第二AGV的另一侧表面上的第三梯形块和第四梯形块上的特定位置,所述第一AGV与所述第二AGV被指定为间隔开第一距离,所述第二AGV与所述第三AGV被指定为间隔开另一距离,所述方法包括:当所述第一AGV跟从所述第二AGV的移动而移动时,使用根据权利要求1-7中任一项所述的方法来实现所述第一AGV与所述第二AGV之间的同步,以及所述第三AGV跟从所述第二AGV的移动而移动时,使用根据权利要求1-7中任一项所述的方法来实现所述第三AGV与所述第二AGV之间的同步。
- 一种AGV,包括被配置为实现根据权利要求1-7中任一项所述的方法的控制器。
- 一种用于实现两个AGV之间同步的装置,所述两个AGV包括第一AGV和第二AGV,设置在所述第一AGV的一侧表面上的第一测距单元 和第二测距单元分别初始地对准设置在所述第二AGV的一侧表面上的第一梯形块和第二梯形块上的特定位置,所述第一AGV与所述第二AGV被指定为间隔开第一距离,所述第一AGV跟从所述第二AGV的移动而移动,所述装置包括:第一测量模块,被配置为通过第一测距单元来测量所述第一AGV与所述第二AGV之间的第二距离;第二测量模块,被配置为通过所述第二测距单元来测量所述第一AGV与所述第二AGV之间的第三距离;状态确定模块,被配置为基于所述第一距离、所述第二距离和所述第三距离,确定所述第一AGV与所述第二AGV之间的关于同步的相对状态;以及调整模块,被配置为当所述相对状态表示所述第一AGV与所述第二AGV之间不同步时,基于所述相对状态对所述第一AGV的移动进行调整。
- 根据权利要求11所述的装置,其中,所述第一测量模块被进一步配置为:通过第一测距单元向所述第二AGV发射脉冲并从所述第二AGV接收反射脉冲来测量所述第一AGV与所述第二AGV之间的第二距离。
- 根据权利要求11所述的装置,其中,所述第二测量模块被进一步配置为:通过第二测距单元向所述第二AGV发射脉冲并从所述第二AGV接收反射脉冲来测量所述第一AGV与所述第二AGV之间的第三距离。
- 根据权利要求11所述的装置,其中,所述状态确定模块被进一步配置为:如果所述第二距离与所述第三距离不相同,则确定所述第一AGV与所述第二AGV之间处于第一不同步状态,或者如果所述第二距离与所述第三距离相同,则当所述第二距离在所述第一距离的第一阈值范围内时,确定所述第 一AGV与所述第二AGV之间处于第二不同步状态,当所述第二距离在所述第一距离的第二阈值范围内时,确定所述第一AGV与所述第二AGV之间处于第三不同步状态,当所述第二距离与所述第一距离相同时,确定所述第一AGV与所述第二AGV之间处于第四不同步状态。
- 根据权利要求14所述的装置,其中,所述调整模块被进一步配置为:当所述相对状态为第一不同步状态时,基于所述第二距离和所述第三距离来估计所述第一AGV相对于所述第二AGV的倾斜角;以及基于所估计的倾斜角,驱动所述第一AGV改变移动方向以补偿所述倾斜角。
- 根据权利要求14所述的装置,所述调整模块被进一步配置为:当所述相对状态为第二不同步状态或第三不同步状态时,基于所述第一距离和所述第二距离来估计所述第一AGV与所述第二AGV在移动方向上的相对位移;以及基于所估计的相对位移,驱动所述第一AGV改变移动速度以补偿所述相对位移。
- 根据权利要求14所述的装置,所述调整模块被进一步配置为:当所述相对状态为第四不同步状态时,使所述第一AGV和所述第二AGV停止移动,并发出告警信息。
- 计算设备,所述计算机备包括:处理器;以及存储器,其用于存储计算机可执行指令,当所述计算机可执行指令被执行时使得所述处理器执行根据权利要求1-9中任一项所述的方法。
- 计算机可读存储介质,所述计算机可读存储介质具有存储在其上的 计算机可执行指令,所述计算机可执行指令用于执行根据权利要求1-9中任一项所述的方法。
- 计算机程序产品,所述计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1-9中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/122482 WO2022082508A1 (zh) | 2020-10-21 | 2020-10-21 | 用于实现agv之间同步的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116323434A true CN116323434A (zh) | 2023-06-23 |
Family
ID=81291382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080106014.5A Pending CN116323434A (zh) | 2020-10-21 | 2020-10-21 | 用于实现agv之间同步的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116323434A (zh) |
WO (1) | WO2022082508A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006232437A (ja) * | 2005-02-23 | 2006-09-07 | Toyota Industries Corp | 物品の搬送方法及び物品搬送システム |
JP4862383B2 (ja) * | 2005-12-13 | 2012-01-25 | 株式会社Ihi | 協調搬送方法および協調搬送装置 |
CN102620712B (zh) * | 2012-04-12 | 2013-09-11 | 湖南路桥建设集团公司 | 一种利用激光测距仪实现同步的方法及装置 |
CN109677819B (zh) * | 2017-10-18 | 2021-07-30 | 北京京东乾石科技有限公司 | 自动引导运输车和货物搬运系统 |
CN107784865B (zh) * | 2017-11-17 | 2019-11-29 | 南京视莱尔汽车电子有限公司 | 一种自动驾驶汽车多车同步运行控制方法 |
CN111258275B (zh) * | 2018-11-30 | 2022-11-15 | 沈阳新松机器人自动化股份有限公司 | 一种重载agv双车联动控制方法 |
CN111648237B (zh) * | 2019-11-27 | 2022-02-01 | 泰富重工制造有限公司 | 架桥机前后吊车随动跟随方法 |
CN111413988B (zh) * | 2020-04-10 | 2023-08-25 | 三一机器人科技有限公司 | 多车联动方法及多车联动系统 |
-
2020
- 2020-10-21 WO PCT/CN2020/122482 patent/WO2022082508A1/zh active Application Filing
- 2020-10-21 CN CN202080106014.5A patent/CN116323434A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022082508A1 (zh) | 2022-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101859351B1 (ko) | 로봇 디바이스에 대한 가상 안전 케이지 | |
CN102922521B (zh) | 一种基于立体视觉伺服的机械臂系统及其实时校准方法 | |
JP6959056B2 (ja) | 移動ロボットの制御装置と制御方法 | |
US10725471B2 (en) | Virtual line-following and retrofit method for autonomous vehicles | |
US10239692B2 (en) | Article transport facility | |
JP6447863B2 (ja) | 移動体 | |
CN110703751B (zh) | 一种多移动机器人系统半自主编队及避障控制方法 | |
CN107229903B (zh) | 机器人避障的方法、装置及存储装置 | |
KR101060988B1 (ko) | 지그비의 수신신호세기를 이용한 지능형 이동로봇의 이동 대상물 추적 제어 장치 및 그 방법 | |
CN106123908A (zh) | 车辆导航方法和系统 | |
CN102160006A (zh) | 用于避免碰撞的系统和方法 | |
CN104932502A (zh) | 基于三维深度摄像机的近距离避障方法及近距离避障系统 | |
Garcia et al. | High-speed vision-based autonomous indoor navigation of a quadcopter | |
EP3992732A1 (en) | Method and apparatus for predicting motion trajectory | |
RU2661964C2 (ru) | Способ автоматического формирования гладких траекторий движения мобильного робота в неизвестном окружении | |
CN102314689A (zh) | 移动体系统 | |
Ryu et al. | Development of an autonomous vehicle for high-speed navigation and obstacle avoidance | |
WO2017167246A1 (zh) | 一种数据处理方法及设备、存储介质 | |
JP2018134698A (ja) | ワーク取出システム | |
WO2021246169A1 (ja) | 情報処理装置、情報処理システム、および方法、並びにプログラム | |
CN116323434A (zh) | 用于实现agv之间同步的方法和装置 | |
KR102479619B1 (ko) | 장애물의 회피 이동이 가능한 자율 주행 로봇 | |
WO2022156447A1 (zh) | 定位方法和装置、计算机装置和计算机可读存储介质 | |
Piccinelli et al. | Hybrid motion planner integrating global voronoi diagrams and local velocity obstacle method | |
WO2021044707A1 (ja) | 周辺観測システム、周辺観測プログラムおよび周辺観測方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |