TWI796017B - 自動導引車調度方法、電子裝置及電腦可讀儲存媒體 - Google Patents
自動導引車調度方法、電子裝置及電腦可讀儲存媒體 Download PDFInfo
- Publication number
- TWI796017B TWI796017B TW110144347A TW110144347A TWI796017B TW I796017 B TWI796017 B TW I796017B TW 110144347 A TW110144347 A TW 110144347A TW 110144347 A TW110144347 A TW 110144347A TW I796017 B TWI796017 B TW I796017B
- Authority
- TW
- Taiwan
- Prior art keywords
- current
- node
- agv
- task
- conflict
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 238000010845 search algorithm Methods 0.000 claims abstract description 5
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 230000002159 abnormal effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/02—Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
- B60W50/0225—Failure correction strategy
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
- G05D1/0297—Fleet control by controlling means in a control room
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Automation & Control Theory (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Primary Health Care (AREA)
- General Health & Medical Sciences (AREA)
- Educational Administration (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Forklifts And Lifting Vehicles (AREA)
- Multi-Process Working Machines And Systems (AREA)
- General Factory Administration (AREA)
Abstract
一種自動導引車調度方法,應用於電子裝置中,包括:通過A*搜尋演算法計算出所有可行的路徑,根據最短路徑計算時間窗,並且對比已執行任務的時間窗資訊表,找到最優路徑;判斷衝突類型,根據判斷結果調整AGV的優先順序,並修改任務的時間窗資訊表;及遇到障礙物或者故障時,動態處理異常,並在AGV到達目標工作站時修改任務的時間窗資訊表。
Description
本發明係有關於自動導引車(Automated Guided Vehicle,AGV),且特別有關於一種基於時間窗的多自動導引車調度方法、電子裝置及電腦可讀儲存媒體。
已知的自動導引車調度方法通過A*搜尋演算法計算出所有可行路徑,依次對所有可行路徑進行遍歷規劃及建立所有路徑時間窗模型。在保持原先任務時間窗不變的前提下,對當前任務的時間窗進行即時規劃,從遍歷好的路徑中選擇時長最短的路徑為最優路徑。
然而,上述自動導引車調度方法依次對所有可行路徑進行遍歷規劃及建立所有路徑時間窗模型,相當耗時導致時效性降低。此外,在保持原先任務時間窗不變的前提下,對當前任務的時間窗進行即時規劃,只針對當前任務進行時間窗的規劃,而沒有動態更改所有任務的時間窗,導致AGV調度的靈活性降低。
有鑑於此,本發明提供了一種自動導引車調度方法、電子裝置及電腦可讀儲存媒體,在AGV遇到障礙物或者故障時,動態處理異常,修改所有任務的時間窗,提高AGV避開障礙物的靈活性。
本發明第一實施例提供一種自動導引車調度方法,應用於電子裝置中,包括下列步驟:對複數任務進行優先順序排序,選擇該些任務中優先順序最高的任務作為一當前任務;選擇空閒的自動導引車(Automated Guided Vehicle,AGV)作為一當前AGV;計算出該當前AGV的所有路徑;從該些所有路徑中選擇其中一條路徑為一當前路徑,並計算該當前路徑中各個節點的進出時間;與上一個任務比較,判斷該當前路徑之一終點是否被佔用;若該當前路徑之該終點未被佔用,判斷該當前路徑中的其他節點與該上一個任務的節點是否有衝突;若該當前路徑中的其他節點與該上一個任務的節點有衝突,或該當前路徑之該終點發生單一佔用時,判斷衝突類型;若是該衝突類型為相向衝突,判斷發生衝突的節點是否為該終點;若該發生衝突的節點為該終點,修改該當前任務中的該發生衝突的節點的優先順序為低;若該發生衝突的節點為同向衝突或節點衝突,或是該發生衝突的節點非為該終點,比較前一任務與該當前任務的該當前AGV進入該發生衝突的節點的時間前後,以分配優先順序;分配優先順序後,或是修改該當前任務中的該發生衝突的節點的優先順序為低後,修改一時間窗資訊表;修改該時間窗資訊表後,或是該當前路徑中的其他節點與該上一個任務的節點沒有衝突,判斷該當前任務是否與排配的任務比較完;及若該當前任務與排配的任務比較完,驅動該當前AGV執行該當前任務。
本發明實施例還提供一種電子裝置,包括一路徑計算模組、一衝突判斷模組與一AGV驅動模組。
該路徑計算模組用於對複數任務進行優先順序排序,選擇該些任務中優先順序最高的任務作為一當前任務,選擇空閒的AGV作為一當前AGV,計算出該當前AGV的所有路徑,從該些所有路徑中選擇其中一條路徑為一當前路徑,並計算該當前路徑中各個節點的進出時間,與上一個任務比較,判斷該當前路徑之一終點是否被佔用。
該衝突判斷模組用於若該當前路徑之該終點未被佔用,判斷該當前路徑中的其他節點與該上一個任務的節點是否有衝突,若該當前路徑中的其他節點與該上一個任務的節點有衝突,或該當前路徑之該終點發生單一佔用時,判斷衝突類型,若是該衝突類型為相向衝突,判斷發生衝突的節點是否為該終點,若該發生衝突的節點為該終點,修改該當前任務中的該發生衝突的節點的優先順序為低,若該發生衝突的節點為同向衝突或節點衝突,或是該發生衝突的節點非為該終點,比較前一任務與該當前任務的該當前AGV進入該發生衝突的節點的時間前後,以分配優先順序,分配優先順序後,或是修改該當前任務中的該發生衝突的節點的優先順序為低後,修改一時間窗資訊表,修改該時間窗資訊表後,或是該當前路徑中的其他節點與該上一個任務的節點沒有衝突,判斷該當前任務是否與排配的任務比較完。
該AGV驅動模組用於若該當前任務與排配的任務比較完,驅動該當前AGV執行該當前任務。
本發明實施例還提供一種電腦可讀儲存媒體,該電腦可讀儲存媒體上儲存有電腦程式,該電腦程式被執行時實現如前述的自動導引車調度方法的步驟。
以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。
200:電子裝置
210:處理器
220:記憶體
230:自動導引車調度系統
310:路徑計算模組
320:衝突判斷模組
330:AGV驅動模組
圖1是本發明實施例的多AGV調度場景建模的示意圖。
圖2A-2C是本發明實施例的自動導引車調度方法的步驟流程圖。
圖3是本發明實施例的多AGV調度的最優路徑的示意圖。
圖4是本發明實施例的多AGV調度的最優路徑的時間窗的示意圖。
圖5是本發明實施例的電子裝置的硬體架構示意圖。
圖6是本發明實施例的電子裝置的功能方塊圖。
為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和具體實施例對本發明進行詳細描述。需要說明的是,在不衝突的情況下,本申請的實施例及實施例中的特徵可以相互組合。
在下面的描述中闡述了很多具體細節以便於充分理解本發明,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
除非另有定義,本文所使用的所有的技術和科學術語與屬於本發明的技術領域的技術人員通常理解的含義相同。本文中在本發明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在於限制本發明。
需要說明的是,在本發明中涉及“第一”、“第二”等的描述僅用於描述目的,而不能理解為指示或暗示其相對重要性或者隱含指明所指示的技術特徵的數量。由此,限定有“第一”、“第二”的特徵可以明示或者隱含
地包括至少一個該特徵。另外,各個實施例之間的技術方案可以相互結合,但是必須是以本領域普通技術人員能夠實現為基礎,當技術方案的結合出現相互矛盾或無法實現時應當認為這種技術方案的結合不存在,也不在本發明要求的保護範圍之內。
圖1是本發明實施例的多AGV調度場景建模的示意圖。在系統地圖上設定路徑和站點,建立與實際場地相同路徑的網格路徑地圖。如圖1所示,節點1~42都有對應的座標參數,節點之間構成的線段都是雙向的路徑,每段長度為5m。假設有5輛空閒AGV,速度為0.5m/s,5個任務如下所示:(1)AGV1:從節點28到節點40,(2)AGV2:從節點26到節點37,(3)AGV3:從節點17到節點33,(4)AGV4:從節點9到節點42,及(5)AGV5:從節點4到節點41。
圖2A-2C是本發明實施例的自動導引車調度方法的步驟流程圖,應用於電子裝置的微控制器中。根據不同的需求,該流程圖中步驟的順序可以改變,某些步驟可以省略。
步驟S101,對複數任務進行優先順序排序,選擇優先順序高的任務作為當前任務。
步驟S102,查看是否有空閒的AGV。若沒有空閒的AGV,回到步驟S101,選擇另一個優先順序高的任務作為當前任務。
步驟S103,若有空閒的AGV,例如,AGV1,利用A*搜尋演算法計算出當前AGV(例如,AGV1)的所有路徑,可得Path[Len],並初始化i=1,其中,Len表示計算出的路徑數量,i=1..Len。
步驟S104,將所有路徑以長度大小進行昇冪排序。
步驟S105,判斷i是否小於等於Len。若i不小於等於Len,i+1,回到步驟S102,查看是否有另一台空閒的AGV。
步驟S106,若i小於等於Len,i+1,計算第i條路徑(Path[i])中各節點的進出時間。
步驟S107,與上一個任務比較,判斷Path[i]的終點是否被佔用,包括單一佔用與互為佔用。若是互為佔用,則i+1,並回到步驟S105。
步驟S108,若Path[i]的終點未被佔用,判斷Path[i]中的其他節點與上一個任務的節點是否有衝突。
步驟S109,若是節點有衝突,或在步驟S107中發生單一佔用時,判斷衝突類型。
衝突類型包括節點衝突、同向衝突與相向衝突。
節點衝突:AGV1和AGV2都經過同一個節點,並且時間上也存在衝突的時候,就會在同一個節點上碰撞。
同向衝突:AGV1和AGV2都經過同一條路徑,且往同一個方向行進,當行進速度不一樣的時候,即存在追趕的碰撞風險。
相向衝突:AGV1和AGV2都行進在同一條路徑,並且是往相反方向行進,若在時間上存在衝突的時候,就會發生碰撞。
步驟S110,若是相向衝突,判斷衝突點是否為終點。
步驟S111,若衝突點為終點,修改當前任務在衝突點的優先順序為低。
步驟S112,若是同向衝突或節點衝突,或是在步驟S110中衝突點非為終點,比較前一任務與當前任務的當前AGV進入衝突節點的時間前後,以分配優先順序。
步驟S113,分配優先順序後,或是在步驟S111中修改當前任務在衝突點的優先順序為低後,修改時間窗資訊表。
步驟S114,修改時間窗資訊表後,或是在步驟S108中節點沒有衝突,判斷當前任務是否與排配的任務比較完。若當前任務與排配的任務還未比較完,回到步驟S108。
步驟S115,若當前任務與排配的任務比較完,表示任務規劃完成。
步驟S116,發送任務和路徑給當前AGV。
步驟S117,當前AGV接收任務與路徑,從節點m出發到下一節點n。
步驟S118,判斷節點m到節點n之間是否有遇到障礙物。
步驟S119,若節點m到節點n之間有遇到障礙物,停車等待預設時間,例如,5秒,然後判斷障礙物是否清除。若該障礙物已清除,回到步驟S118。
步驟S120,若節點m到節點n之間沒有遇到障礙物,判斷當前AGV是否發生故障。
步驟S121,若當前AGV發生故障,停車等待該預設時間,例如,5秒,然後判斷故障狀態是否解除。若故障狀態已解除,回到步驟S120。
步驟S122,若在步驟S119中該障礙物未清除,或是在步驟S121中該故障狀態未解除,更新該時間窗資訊表,並在當前位置重新規劃路線,然後回到步驟S103。
步驟S123,若當前AGV未發生故障,判斷當前AGV距離下一節點n是否小於預設距離,例如,2公尺。
步驟S124,若當前AGV距離下一節點n不小於該預設距離,當前AGV繼續前進,並將當前位置與節點n的距離減2公尺,然後回到步驟S123。
步驟S125,若當前AGV距離下一節點n小於該預設距離,判斷下一節點n是否被佔用或優先順序較低。
步驟S126,若下一節點n被佔用或優先順序較低,當前AGV根據時間窗停車等待,然後回步驟S125。
步驟S127,若下一節點n未被佔用或優先順序非較低,當前AGV繼續前進,並判斷當前AGV是否到達下一節點n。若當前AGV還未到達下一節點n,回到步驟S123。
步驟S128,若當前AGV到達下一節點n,更新運行資訊報表,令m=n,使得n成為當前節點。
步驟S129,判斷當前AGV是否到達目標工作站。若當前AGV還未到達該目標工作站,回到步驟S117。
步驟S130,若當前AGV到達該目標工作站,則修改並更新時間窗資訊表狀態,結束任務。
在使用本發明實施例的自動導引車調度方法後,5台AGV被分派5個任務,其產生的最優路徑如圖3所示,而每條最優路徑的時間窗如圖5所示。
本發明實施例的自動導引車調度方法通過A*演算法計算出所有可行的路徑,根據最短路徑計算時間窗,並且對比已執行任務的時間窗資訊表,找到最優路徑,降低計算繁雜度,提高時效性。
圖5係顯示本發明實施例的行動電子裝置的硬體架構示意圖。電子裝置200,但不僅限於,可通過系統匯流排相互通信連接處理器210、記憶體220以及自動導引車調度系統230,圖5僅示出了具有元件210-230的電子裝置200,但是應理解的是,並不要求實施所有示出的元件,可以替代的實施更多或者更少的元件。
該記憶體220至少包括一種類型的可讀儲存媒體,該可讀儲存媒體包括快閃記憶體、硬碟、多媒體卡、卡型記憶體(例如,SD或DX記憶體等)、
隨機訪問記憶體(RAM)、靜態隨機訪問記憶體(SRAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、可程式設計唯讀記憶體(PROM)、磁性記憶體、磁片、光碟等。在一些實施例中,該記憶體220可以是該電子裝置10的內部存儲單元,例如電子裝置200的硬碟或記憶體。在另一些實施例中,該記憶體也可以是該電子裝置200的外部存放裝置,例如該電子裝置200上配備的插接式硬碟,智慧存儲卡(Smart Media Card,SMC),安全數位(Secure Digital,SD)卡,快閃記憶體卡(Flash Card)等。當然,該記憶體220還可以既包括該電子裝置200的內部存儲單元也包括其外部存放裝置。本實施例中,該記憶體220通常用於存儲安裝於該電子裝置200的作業系統和各類應用軟體,例如自動導引車調度系統230的程式碼等。此外,該記憶體220還可以用於暫時地存儲已經輸出或者將要輸出的各類資料。
該處理器210在一些實施例中可以是中央處理器(Central Processing Unit,CPU)、控制器、微控制器、微處理器、或其他資料處理晶片。該處理器210通常用於控制該電子裝置200的總體操作。本實施例中,該處理器210用於運行該記憶體220中存儲的程式碼或者處理資料,例如,運行該自動導引車調度系統230等。
需要說明的是,圖5僅為舉例說明電子裝置200。在其他實施例中,電子裝置200也可以包括更多或者更少的元件,或者具有不同的元件配置。
該電子裝置200集成的模組/單元如果以軟體功能單元的形式實現並作為獨立的產品銷售或使用時,可以存儲在一個電腦可讀取儲存媒體中。基於這樣的理解,本發明實現上述實施例方法中的全部或部分流程,也可以通過電腦程式來指令相關的硬體來完成,該的電腦程式可存儲於一電腦可讀儲存媒體中,該電腦程式在被處理器執行時,可實現上述各個方法實施例的步驟。其中,
該電腦程式包括電腦程式代碼,該電腦程式代碼可以為原始程式碼形式、物件代碼形式、可執行檔或某些中間形式等。該電腦可讀介質可以包括:能夠攜帶該電腦程式代碼的任何實體或裝置、記錄介質、U盤、移動硬碟、磁片、光碟、電腦記憶體、唯讀記憶體、隨機存取記憶體、電載波訊號、電信訊號以及軟體分發介質等。需要說明的是,該電腦可讀介質包含的內容可以根據司法管轄區內立法和專利實踐的要求進行適當的增減,例如在某些司法管轄區,根據立法和專利實踐,電腦可讀介質不包括電載波訊號和電信訊號。
圖6係顯示本發明第一實施例的電子裝置的功能方塊圖,其用於執行自動導引車調度方法。本發明實施例的自動導引車調度方法可由儲存媒體中的電腦程式來實現,例如,電子裝置200中的記憶體220。當實現本發明方法的電腦程式由處理器210載入到記憶體220時,驅動電子裝置200的處理器210執行本發明實施例的自動導引車調度方法。
本發明實施例的電子裝置200,例如,安裝有自動導引車調度伺服器或中央控制伺服器,包括路徑計算模組310、衝突判斷模組320、AGV驅動模組330。
路徑計算模組310對複數任務進行優先順序排序,選擇優先順序高的任務作為當前任務。
路徑計算模組310查看是否有空閒的AGV。若沒有空閒的AGV,選擇另一個優先順序高的任務作為當前任務。
若有空閒的AGV,路徑計算模組310利用A*搜尋演算法計算出當前AGV(例如,AGV1)的所有路徑,可得Path[Len],並初始化i=1,其中,Len表示計算出的路徑數量,i=1..Len。
路徑計算模組310將所有路徑以長度大小進行昇冪排序。
路徑計算模組310判斷i是否小於等於Len,若i不小於等於Len,i+1,查看是否有另一台空閒的AGV。
若i小於等於Len,i+1,路徑計算模組310計算第i條路徑(Path[i])中各節點的進出時間。
與上一個任務比較,衝突判斷模組320判斷Path[i]的終點是否被佔用,包括單一佔用與互為佔用。若是互為佔用,則i+1。
若Path[i]的終點未被佔用,衝突判斷模組320判斷Path[i]中的其他節點與上一個任務的節點是否有衝突。
若是節點有衝突,或發生單一佔用時,衝突判斷模組320判斷衝突類型。
衝突類型包括節點衝突、同向衝突與相向衝突。
節點衝突:AGV1和AGV2都經過同一個節點,並且時間上也存在衝突的時候,就會在同一個節點上碰撞。
同向衝突:AGV1和AGV2都經過同一條路徑,且往同一個方向行進,當行進速度不一樣的時候,即存在追趕的碰撞風險。
相向衝突:AGV1和AGV2都行進在同一條路徑,並且是往相反方向行進,若在時間上存在衝突的時候,就會發生碰撞。
若是相向衝突,衝突判斷模組320判斷衝突點是否為終點。
若衝突點為終點,衝突判斷模組320修改當前任務在衝突點的優先順序為低。
若是同向衝突或節點衝突,或是衝突點非為終點,衝突判斷模組320比較前一任務與當前任務的當前AGV進入衝突節點的時間前後,以分配優先順序。
分配優先順序後,或是修改當前任務在衝突點的優先順序為低後,衝突判斷模組320修改時間窗資訊表。
修改時間窗資訊表後,或是節點沒有衝突,衝突判斷模組320判斷當前任務是否與排配的任務比較完。
若當前任務與排配的任務比較完,表示任務規劃完成,AGV驅動模組330發送任務和路徑給當前AGV。
AGV驅動模組330根據接收的任務與路徑驅動當前AGV從節點m出發到下一節點n。
AGV驅動模組330判斷節點m到節點n之間是否有遇到障礙物。
若節點m到節點n之間有遇到障礙物,AGV驅動模組330令當前AGV停車等待預設時間,例如,5秒,然後判斷障礙物是否清除。
若節點m到節點n之間沒有遇到障礙物,AGV驅動模組330判斷當前AGV是否發生故障。
若當前AGV發生故障,AGV驅動模組330令當前AGV停車等待該預設時間,例如,5秒,然後判斷故障狀態是否解除。
若該障礙物未清除,或是該故障狀態未解除,AGV驅動模組330更新該時間窗資訊表,並在當前位置重新規劃路線。
若當前AGV未發生故障,AGV驅動模組330判斷當前AGV距離下一節點n是否小於預設距離,例如,2公尺。
若當前AGV距離下一節點n不小於該預設距離,AGV驅動模組330令當前AGV繼續前進,並將當前位置與節點n的距離減2公尺。
若當前AGV距離下一節點n小於該預設距離,AGV驅動模組330判斷下一節點n是否被佔用或優先順序較低。
若下一節點n被佔用或優先順序較低,AGV驅動模組330令當前AGV根據時間窗停車等待。
若下一節點n未被佔用或優先順序非較低,驅動模組330令當前AGV繼續前進,並判斷當前AGV是否到達下一節點n。
若當前AGV到達下一節點n,AGV驅動模組330更新運行資訊報表,令m=n,使得n成為當前節點。
AGV驅動模組330判斷當前AGV是否到達目標工作站。
若當前AGV到達該目標工作站,AGV驅動模組330修改並更新時間窗資訊表狀態,並結束任務。
可以理解的是,以上所描述的模組劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式。另外,在本申請各個實施例中的各功能模組可以集成在相同處理單元中,也可以是各個模組單獨物理存在,也可以兩個或兩個以上模組集成在相同單元中。上述集成的模組既可以採用硬體的形式實現,也可以採用硬體加軟體功能模組的形式實現。
以上實施例僅用以說明本發明的技術方案而非限制,儘管參照實施例對本發明進行了詳細的說明,本領域的普通技術人員應該理解,可以對本發明的技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和範圍。
Claims (10)
- 一種自動導引車調度方法,應用於電子裝置中,包括下列步驟:對複數任務進行優先順序排序,選擇該些任務中優先順序最高的任務作為一當前任務;選擇空閒的自動導引車(Automated Guided Vehicle,AGV)作為一當前AGV;計算出該當前AGV的所有路徑;從該些所有路徑中選擇其中一條路徑為一當前路徑,並計算該當前路徑中各個節點的進出時間;與上一個任務比較,判斷該當前路徑之一終點是否被佔用;若該當前路徑之該終點未被佔用,判斷該當前路徑中的其他節點與該上一個任務的節點是否有衝突;若該當前路徑中的其他節點與該上一個任務的節點有衝突,或該當前路徑之該終點發生單一佔用時,判斷衝突類型;若是該衝突類型為相向衝突,判斷發生衝突的節點是否為該終點;若該發生衝突的節點為該終點,修改該當前任務中的該發生衝突的節點的優先順序為低;若該發生衝突的節點為同向衝突或節點衝突,或是該發生衝突的節點非為該終點,比較前一任務與該當前任務的該當前AGV進入該發生衝突的節點的時間前後,以分配優先順序;分配優先順序後,或是修改該當前任務中的該發生衝突的節點的優先順序為低後,修改一時間窗資訊表;修改該時間窗資訊表後,或是該當前路徑中的其他節點與該上一個任務的節點沒有衝突,判斷該當前任務是否與排配的任務比較完;及 若該當前任務與排配的任務比較完,驅動該當前AGV執行該當前任務。
- 如請求項1的自動導引車調度方法,其中,該驅動該當前AGV執行該當前任務的步驟更包括下列步驟:驅動該當前AGV根據該當前任務從一節點m出發到一節點n;判斷該節點m到該節點n之間是否有遇到一障礙物;若該節點m到該節點n之間有遇到該障礙物,令該當前AGV停車等待一預設時間,然後判斷該障礙物是否清除;若該節點m到該節點n之間沒有遇到該障礙物,判斷該當前AGV是否發生故障;若該當前AGV發生故障,令該當前AGV停車等待該預設時間,然後判斷故障狀態是否解除;及若該障礙物未清除,或是該故障狀態未解除,更新該時間窗資訊表,並在該當前AGV之一當前位置重新規劃路線。
- 如請求項2的自動導引車調度方法,其中,該驅動該當前AGV執行該當前任務的步驟更包括下列步驟:若該當前AG未發生故障,判斷該當前AGV距離該節點n是否小於一第一預設距離;若該當前AGV距離該節點n不小於該第一預設距離,驅動該當前AGV繼續前進,並將該當前位置與該節點n的距離減一第二預設距離;若該當前AGV距離該節點n小於該預設距離,判斷該節點n是否被佔用或優先順序較低; 若該節點n被佔用或優先順序較低,令該當前AGV根據該時間窗信息表停車等待;若該節點n未被佔用或優先順序非較低,驅動該當前AGV繼續前進,並判斷該當前AGV是否到達該節點n;若該當前AGV到達該節點n,更新一運行資訊報表,令m=n,使得該節點n成為一當前節點;判斷該當前AGV是否到達一目標工作站;及若該當前AGV到達該目標工作站,修改並更新該時間窗資訊表,並結束該當前任務。
- 如請求項1的自動導引車調度方法,其更包括下列步驟:若該當前路徑之該終點發生互為佔用時,從該些所有路徑中選擇另一條路徑為該當前路徑。
- 如請求項1的自動導引車調度方法,其更包括下列步驟:利用一A*搜尋演算法計算出該當前AGV的該些所有路徑。
- 一種電子裝置,包括:一路徑計算模組,用於對複數任務進行優先順序排序,選擇該些任務中優先順序最高的任務作為一當前任務,選擇空閒的AGV作為一當前AGV,計算出該當前AGV的所有路徑,從該些所有路徑中選擇其中一條路徑為一當前路徑,並計算該當前路徑中各個節點的進出時間,與上一個任務比較,判斷該當前路徑之一終點是否被佔用; 一衝突判斷模組,用於若該當前路徑之該終點未被佔用,判斷該當前路徑中的其他節點與該上一個任務的節點是否有衝突,若該當前路徑中的其他節點與該上一個任務的節點有衝突,或該當前路徑之該終點發生單一佔用時,判斷衝突類型,若是該衝突類型為相向衝突,判斷發生衝突的節點是否為該終點,若該發生衝突的節點為該終點,修改該當前任務中的該發生衝突的節點的優先順序為低,若該發生衝突的節點為同向衝突或節點衝突,或是該發生衝突的節點非為該終點,比較前一任務與該當前任務的該當前AGV進入該發生衝突的節點的時間前後,以分配優先順序,分配優先順序後,或是修改該當前任務中的該發生衝突的節點的優先順序為低後,修改一時間窗資訊表,修改該時間窗資訊表後,或是該當前路徑中的其他節點與該上一個任務的節點沒有衝突,判斷該當前任務是否與排配的任務比較完;及一AGV驅動模組,用於若該當前任務與排配的任務比較完,驅動該當前AGV執行該當前任務。
- 如請求項6的電子裝置,其中,該AGV驅動模組還用於:驅動該當前AGV根據該當前任務從一節點m出發到一節點n;判斷該節點m到該節點n之間是否有遇到一障礙物;若該節點m到該節點n之間有遇到障礙物,令該當前AGV停車等待一預設時間,然後判斷該障礙物是否清除;若該節點m到該節點n之間沒有遇到該障礙物,判斷該當前AGV是否發生故障;若該當前AGV發生故障,令該當前AGV停車等待該預設時間,然後判斷故障狀態是否解除;及 若該障礙物未清除,或是該故障狀態未解除,更新該時間窗資訊表,並在該當前AGV之一當前位置重新規劃路線。
- 如請求項7的電子裝置,其中,該AGV驅動模組還用於:若該節點m到該節點n之間沒有遇到障礙物,判斷該當前AGV距離該節點n是否小於一第一預設距離;若該當前AGV距離該節點n不小於該第一預設距離,驅動該當前AGV繼續前進,並將該當前位置與該節點n的距離減一第二預設距離;若該當前AGV距離該節點n小於該預設距離,判斷該節點n是否被佔用或優先順序較低;若該節點n被佔用或優先順序較低,令該當前AGV根據該時間窗信息表停車等待;若該節點n未被佔用或優先順序非較低,驅動該當前AGV繼續前進,並判斷該當前AGV是否到達該節點n;若該當前AGV到達該節點n,更新一運行資訊報表,令m=n,使得該節點n成為一當前節點;判斷該當前AGV是否到達一目標工作站;及若該當前AGV到達該目標工作站,修改並更新該時間窗資訊表,並結束該當前任務。
- 如請求項6的電子裝置,其中,若該當前路徑之該終點發生互為佔用時,該路徑計算模組從該些所有路徑中選擇另一條路徑為該當前路徑。
- 一種電腦可讀儲存媒體,包括記憶體、處理器以及存儲在記憶體上並可在處理器上運行的電腦程式,其中,該處理器執行該電腦程式時實現請求項1至5任意一項之自動導引車調度方法的步驟。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111356499.6 | 2021-11-16 | ||
CN202111356499.6A CN116151496A (zh) | 2021-11-16 | 2021-11-16 | 自动导引车调度方法、电子装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI796017B true TWI796017B (zh) | 2023-03-11 |
TW202321652A TW202321652A (zh) | 2023-06-01 |
Family
ID=86324657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110144347A TWI796017B (zh) | 2021-11-16 | 2021-11-29 | 自動導引車調度方法、電子裝置及電腦可讀儲存媒體 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230152820A1 (zh) |
CN (1) | CN116151496A (zh) |
TW (1) | TWI796017B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115049347B (zh) * | 2022-08-17 | 2022-12-06 | 成都秦川物联网科技股份有限公司 | 用于agv控制的工业物联网系统及其控制方法 |
CN116880476B (zh) * | 2023-07-05 | 2024-01-19 | 湘南学院 | 一种基于交通管控的agvs运行控制方法 |
CN116934059B (zh) * | 2023-09-18 | 2023-12-19 | 华芯(嘉兴)智能装备有限公司 | 一种天车调度方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170146A (zh) * | 2017-12-31 | 2018-06-15 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于已知环境的路径规划方法 |
CN109669456A (zh) * | 2018-12-26 | 2019-04-23 | 芜湖哈特机器人产业技术研究院有限公司 | 一种agv调度控制系统 |
CN111338343A (zh) * | 2020-02-27 | 2020-06-26 | 歌尔股份有限公司 | 自动引导车调度方法、装置、电子设备及存储介质 |
CN111413980A (zh) * | 2020-04-07 | 2020-07-14 | 苏州哈工吉乐优智能装备科技有限公司 | 一种用于巡检的自动导引车路径规划方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220089372A1 (en) * | 2015-02-26 | 2022-03-24 | Crown Equipment Corporation | Systems and methods for managing movement of materials handling vehicles |
US10345805B2 (en) * | 2016-04-15 | 2019-07-09 | Podway Ltd. | System for and method of maximizing utilization of a closed transport system in an on-demand network |
JP6515892B2 (ja) * | 2016-08-09 | 2019-05-22 | 村田機械株式会社 | 走行車システム、及び走行車システムの制御方法 |
CN109643123B (zh) * | 2016-08-22 | 2022-03-22 | 村田机械株式会社 | 行驶车系统以及行驶车系统的控制方法 |
US11348061B2 (en) * | 2017-12-21 | 2022-05-31 | Verizon Connect Development Limited | Logistics management platform for modifying schedules in real-time |
JP6986094B2 (ja) * | 2017-12-22 | 2021-12-22 | 株式会社Fuji | 無人搬送車制御システム |
DE112019000065T5 (de) * | 2018-02-02 | 2020-03-05 | Nvidia Corporation | Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug |
JP7144910B2 (ja) * | 2018-03-07 | 2022-09-30 | ザ プロクター アンド ギャンブル カンパニー | 独立案内搬送体を使用して製品を同時に生産するためのシステム及び方法 |
ES2882149T3 (es) * | 2018-07-02 | 2021-12-01 | Kollmorgen Automation Ab | Un sistema AGV y un método de controlar un sistema AGV |
CN109003448B (zh) * | 2018-08-02 | 2021-07-16 | 北京图森智途科技有限公司 | 一种交叉路口的导航方法、设备及系统 |
EP3891570A4 (en) * | 2018-12-04 | 2022-01-26 | Duke University | DEVICE, METHOD AND ARTICLES TO FACILITATE MOVEMENT PLANNING IN A DYNAMIC OBJECT ENVIRONMENT |
DE102020211881A1 (de) * | 2020-09-23 | 2022-03-24 | Robert Bosch Gesellschaft mit beschränkter Haftung | Vorrichtung und Verfahren zur Absicherung einer Fahrtrajektorie eines Ego-Fahrzeugs |
US20220119011A1 (en) * | 2020-10-15 | 2022-04-21 | Waymo Llc | Collision evaluation using a hierarchy of grids |
KR20220057895A (ko) * | 2020-10-30 | 2022-05-09 | 삼성에스디에스 주식회사 | 무인 운반 장치 제어 방법 및 그 장치 |
US20220135075A1 (en) * | 2020-11-02 | 2022-05-05 | Nvidia Corporation | Safety decomposition architecture for autonomous machine applications |
US20220187841A1 (en) * | 2020-12-10 | 2022-06-16 | AI Incorporated | Method of lightweight simultaneous localization and mapping performed on a real-time computing and battery operated wheeled device |
US20230114638A1 (en) * | 2021-10-04 | 2023-04-13 | Ford Global Technologies, Llc | Algorithms for optimizing utilization |
US20230131553A1 (en) * | 2021-10-27 | 2023-04-27 | Volvo Car Corporation | Environment-aware path planning for a self-driving vehicle using dynamic step-size search |
-
2021
- 2021-11-16 CN CN202111356499.6A patent/CN116151496A/zh active Pending
- 2021-11-29 US US17/536,335 patent/US20230152820A1/en not_active Abandoned
- 2021-11-29 TW TW110144347A patent/TWI796017B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170146A (zh) * | 2017-12-31 | 2018-06-15 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于已知环境的路径规划方法 |
CN109669456A (zh) * | 2018-12-26 | 2019-04-23 | 芜湖哈特机器人产业技术研究院有限公司 | 一种agv调度控制系统 |
CN111338343A (zh) * | 2020-02-27 | 2020-06-26 | 歌尔股份有限公司 | 自动引导车调度方法、装置、电子设备及存储介质 |
CN111413980A (zh) * | 2020-04-07 | 2020-07-14 | 苏州哈工吉乐优智能装备科技有限公司 | 一种用于巡检的自动导引车路径规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116151496A (zh) | 2023-05-23 |
US20230152820A1 (en) | 2023-05-18 |
TW202321652A (zh) | 2023-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI796017B (zh) | 自動導引車調度方法、電子裝置及電腦可讀儲存媒體 | |
WO2021254415A1 (zh) | 一种基于时间窗的agv智能调度方法 | |
CN107167154B (zh) | 一种基于时间代价函数的时间窗路径规划冲突解决方法 | |
EP4002049A1 (en) | Systems and methods for optimizing route plans in an operating environment | |
CN107203190B (zh) | 一种基于复杂路径的惯性导航agv调度方法及系统 | |
CN108762268B (zh) | 多agv无碰撞路径规划算法 | |
CN111596658A (zh) | 一种多agv无碰撞运行的路径规划方法及调度系统 | |
CN106705955B (zh) | 一种海量级agv调度方法及其系统 | |
US20240166196A1 (en) | Obstacle avoidance method, apparatus, electronic device and storage medium for vehicle | |
CN114489062B (zh) | 面向车间物流的多自动导引车分布式动态路径规划方法 | |
CN113821039A (zh) | 基于时间窗的路径规划方法、装置、设备及存储介质 | |
CN110751334A (zh) | 基于相交区域预测的agv调度方法及装置 | |
CN114281080B (zh) | 一种amr调度系统中解死锁的方法 | |
JP2021071891A (ja) | 走行制御装置、走行制御方法、及びコンピュータプログラム | |
JP7312728B2 (ja) | 車両を制御する方法、装置、機器及び記憶媒体 | |
CN115729231A (zh) | 多机器人路线规划 | |
CN115981264A (zh) | 一种考虑冲突的agv调度与数量联合优化方法 | |
JP2024045465A (ja) | 走行制御装置、走行制御方法及びコンピュータプログラム | |
WO2022032444A1 (zh) | 一种多智能主体避障方法、系统和计算机可读存储介质 | |
CN115638804B (zh) | 一种无死锁的无人车辆在线路径规划方法 | |
CN113741470A (zh) | 机器人组队控制方法、装置、机器人及调度设备 | |
Fang et al. | Research on Multi-AGV Autonomous Obstacle Avoidance Strategy Based on Improved A* Algorithm | |
Li | Task Assignment and Path Planning for Autonomous Mobile Robots in Stochastic Warehouse Systems | |
CN118092359A (zh) | 一种面向突发障碍的多agv调度冲突消解方法 | |
WO2024098515A1 (zh) | 一种基于动态时间窗插入的amr无死锁路径规划方法 |