JP5278137B2 - Route search device, route search method, and autonomous mobile body - Google Patents

Route search device, route search method, and autonomous mobile body Download PDF

Info

Publication number
JP5278137B2
JP5278137B2 JP2009105047A JP2009105047A JP5278137B2 JP 5278137 B2 JP5278137 B2 JP 5278137B2 JP 2009105047 A JP2009105047 A JP 2009105047A JP 2009105047 A JP2009105047 A JP 2009105047A JP 5278137 B2 JP5278137 B2 JP 5278137B2
Authority
JP
Japan
Prior art keywords
route
direction information
region
parallel computing
unit
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.)
Expired - Fee Related
Application number
JP2009105047A
Other languages
Japanese (ja)
Other versions
JP2010257115A (en
Inventor
英典 藪下
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2009105047A priority Critical patent/JP5278137B2/en
Publication of JP2010257115A publication Critical patent/JP2010257115A/en
Application granted granted Critical
Publication of JP5278137B2 publication Critical patent/JP5278137B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently obtain route information in performing route search using a parallel arithmetic operation. <P>SOLUTION: A route searching device 1 includes a parallel arithmetic part 112 and a controller part 111. The parallel arithmetic part 112 calculates the evaluation value of a region by a parallel arithmetic operation. A parallel arithmetic unit 112_n includes: a region selection part 114 for selecting one selection region from regions existing in the neighborhood based on the evaluation value of each region; a route direction information generation part 115 for generating route direction information showing the direction to the selection region from an own region; a reception part 116 for receiving the route direction information; and a transmission part 118 for transmitting the route direction information to the parallel arithmetic unit 112_n of the selection region, and for transmitting the generated route direction information. The controller part 111 starts the transmission of the route direction information first from the parallel arithmetic unit 112_n at the end point of movement, and obtains the system of the route direction information propagating in the parallel arithmetic part 112 from the parallel arithmetic unit 112_n at the start point of movement. <P>COPYRIGHT: (C)2011,JPO&amp;INPIT

Description

本発明は経路探索装置、経路探索方法、及び自律移動体に関し、特に、並列演算を用いて経路探索を行う際に、探索した経路情報を効率的に取得可能な経路探索装置、経路探索方法、及び自律移動体に関する。   The present invention relates to a route search device, a route search method, and an autonomous mobile body, and in particular, when performing route search using parallel operations, a route search device, a route search method, and a route search device that can efficiently acquire searched route information. And an autonomous mobile body.

近年、始点から終点へと至る経路を探索し、その探索した経路に従って自律的に移動する自律移動体が開発されている。経路を探索する手法としては、A*(エースター)アルゴリズムやダイキストラ法を用いる手法が良く知られている。   In recent years, autonomous moving bodies that search for a route from a start point to an end point and autonomously move along the searched route have been developed. As a method for searching for a route, a method using an A * (Aster) algorithm or a Dijkstra method is well known.

このような経路探索手法は、通常、ノイマン型コンピュータを用いて実現される。ノイマン型コンピュータは、互いに独立したユニットとしてのメモリ及び演算部を搭載し、メモリ上に経路探索に係る計算過程を保存しながら処理を行う。すなわち、演算部はメモリへとアクセスを行う際に、経路探索処理に係る処理データをメモリとの間で逐次通信する必要がある。   Such a route search method is usually realized by using a Neumann computer. The Neumann computer has a memory and a calculation unit as independent units, and performs processing while storing a calculation process related to path search on the memory. That is, when the arithmetic unit accesses the memory, it is necessary to sequentially communicate processing data related to the route search process with the memory.

一方、ノイマン型コンピュータを用いた場合と比較して、相互に接続された複数の演算器を用いて並列計算を行うことで、高速に経路探索を行う手法が提案されている(例えば、特許文献1乃至3)。   On the other hand, compared to the case of using a Neumann computer, a method for performing a route search at high speed by performing parallel computation using a plurality of arithmetic units connected to each other has been proposed (for example, Patent Documents). 1 to 3).

特許文献1には、並列計算機を用いた巡回セールスマン問題解法処理システムが開示されている。特許文献1に開示される解法処理システムでは、巡回対象の都市に対応させた各セルは、メッセージを受信した際にセル情報を追加し、ネットワークを介して隣接セルへメッセージを送信するメッセージ送信手段を備えている。また、最初にメッセージを送信するスタートセルは、受信したメッセージが全ての都市を経由して一番早くスタートセルに戻ってきたメッセージを検出すると、そのメッセージが最短経路を経由したメッセージであるとして経路探索処理を終了させるメッセージ監視手段を備えている。   Patent Document 1 discloses a traveling salesman problem solution processing system using a parallel computer. In the solution processing system disclosed in Patent Literature 1, each cell associated with a city to be visited adds message information when receiving a message, and transmits a message to an adjacent cell via a network. It has. Also, when the start cell that transmits the message first detects the message that the received message has returned to the start cell first through all the cities, it is assumed that the message is the message that has passed through the shortest path. Message monitoring means for terminating the search process is provided.

特許文献2には、巡回セールスマン問題処理装置が開示されている。特許文献2では、並列計算による巡回セールスマン問題処理装置において、都市座標をセル数に応じて分割・割り当てる全体問題処理手段と、階層化した都市データを各セルに割り当てた部分問題を処理して解を求める部分問題処理手段を有する。   Patent Document 2 discloses a traveling salesman problem processing apparatus. In Patent Document 2, in a traveling salesman problem processing apparatus using parallel computation, an overall problem processing means for dividing and assigning city coordinates according to the number of cells, and a partial problem in which hierarchical city data is assigned to each cell are processed. Sub-problem processing means for obtaining a solution is provided.

特許文献3には、経路探索システムが開示されている。特許文献4に開示される経路探索システムは、移動領域を複数の領域に分割する領域分割部と、分割された複数の領域に対応し、それぞれの領域の評価値を算出する複数の評価値算出部と、算出された評価値に基づいて経路を決定する経路決定部とを備えている。評価値算出部は、近傍に存在する領域の評価値と、その近傍領域から自領域までの移動コストに基づいて評価値を算出する評価値処理部を有している。   Patent Document 3 discloses a route search system. The route search system disclosed in Patent Document 4 includes an area dividing unit that divides a moving area into a plurality of areas, and a plurality of evaluation value calculators that calculate the evaluation values of the areas corresponding to the divided areas. And a route determination unit that determines a route based on the calculated evaluation value. The evaluation value calculation unit includes an evaluation value processing unit that calculates an evaluation value based on an evaluation value of a region existing in the vicinity and a movement cost from the vicinity region to the own region.

特開平8−278889号公報JP-A-8-278889 特開平8−286920号公報JP-A-8-286920 特開2009−19932号公報JP 2009-19922 A

しかしながら、逐次的に処理を行うノイマン型コンピュータを用いて経路探索を行う場合には、演算部がメインメモリへと頻繁にアクセスする必要があり、経路探索自体に要する処理ではなく、メモリへのデータ参照のために多くの計算コストを消費するという問題がある。ノイマン型のコンピュータでは、メモリ及び演算部というそれぞれ独立したユニット構成であるために、両者間のアクセスが発生する。このため、メインメモリへのアクセス速度が遅い場合や、メインメモリへのアクセス頻度が多くなる場合、さらには、メインメモリに保持するデータ量が多くなる場合などには、コンピュータのプロセッサ自体の計算速度に比してメモリアクセス速度が低速なものとなり、メモリアクセス速度が、経路探索処理全体に係る処理能力の制約条件となってしまう。   However, when a route search is performed using a Neumann computer that performs sequential processing, the arithmetic unit needs to frequently access the main memory. There is a problem of consuming a lot of calculation cost for reference. Since the von Neumann computer has an independent unit configuration of a memory and an arithmetic unit, access between the two occurs. Therefore, when the access speed to the main memory is slow, when the access frequency to the main memory increases, or when the amount of data held in the main memory increases, the calculation speed of the computer processor itself As a result, the memory access speed becomes lower than that of the memory access speed, and the memory access speed becomes a constraint condition of the processing capability related to the entire route search processing.

また、特許文献1及び2に開示される技術では、全都市を一巡する経路のうちで最短な経路を探索する巡回セールスマン問題を対象とするものである。このため、特許文献1及び2に開示される経路探索手法を用いては、任意の二地点間で最適な経路を探索することはできない。さらに、例えば特許文献1に開示される巡回セールスマン問題解法処理システムでは、各セルが当該セルまでの経路探索の履歴を保持して、保持する履歴情報をメッセージとして隣接セルに送信する。このため、巡回対象となる都市数の増加に伴って保持及び送信するメッセージ量が増加し、システム全体の処理が遅延するという問題がある。   Further, the techniques disclosed in Patent Documents 1 and 2 are directed to the traveling salesman problem of searching for the shortest route among routes that make a round of all cities. For this reason, using the route search methods disclosed in Patent Documents 1 and 2, it is not possible to search for an optimum route between any two points. Further, for example, in the traveling salesman problem solution processing system disclosed in Patent Document 1, each cell holds a history of route search to the cell and transmits the history information held as a message to a neighboring cell. For this reason, there is a problem that the amount of messages to be held and transmitted increases as the number of cities to be visited increases, and the processing of the entire system is delayed.

特許文献3に開示される技術では、各領域の評価値処理部がそれぞれ評価値を算出することで、経路探索空間が広大な場合においても、高速に最適な経路を探索することができる。しかし、特許文献3に開示される技術では、経路探索に係る処理のうち、各領域の評価値を高速に算出することは可能であるが、算出した評価値に基づいて決定される経路情報を効率よく取得することができないという問題がある。具体的には、特許文献3に開示される技術では、並列演算を行う各評価値算出ユニットにより各領域の評価値を算出した後に、移動始点を含む領域から開始して、隣接する近傍領域において最小の評価値を持つ領域を経路として選択していく(段落0059など参照。)。ここで、選択された領域の系列である経路情報を取得するためには、経路上の全ての領域に逐次的にアクセスを行う必要があり、さらに、各領域にアクセスを行う都度、近傍領域の選択処理を行う必要があるため、効率よく経路情報を取得することができない。   In the technique disclosed in Patent Document 3, the evaluation value processing unit of each region calculates an evaluation value, so that an optimum route can be searched at high speed even when the route search space is very large. However, in the technique disclosed in Patent Document 3, it is possible to calculate the evaluation value of each region at high speed in the process related to the route search, but the route information determined based on the calculated evaluation value is There is a problem that it cannot be acquired efficiently. Specifically, in the technique disclosed in Patent Document 3, after calculating the evaluation value of each region by each evaluation value calculation unit that performs parallel calculation, the region starts from the region including the movement start point, An area having the smallest evaluation value is selected as a route (see paragraph 0059 and the like). Here, in order to acquire route information that is a series of selected regions, it is necessary to sequentially access all the regions on the route. Since it is necessary to perform selection processing, route information cannot be acquired efficiently.

従って、本発明は、互いに接続された複数の並列演算器から構成される並列演算部を用いて経路探索を行う技術において、並列演算部を統括する上位のコントローラ部が、探索した経路情報を効率的に取得することができる経路探索装置、経路探索方法、及び自律移動体を提供することを目的とする。   Therefore, according to the present invention, in a technique for performing a route search using a parallel operation unit composed of a plurality of parallel operation units connected to each other, an upper controller unit that supervises the parallel operation unit efficiently converts the searched route information. An object of the present invention is to provide a route search device, a route search method, and an autonomous mobile body that can be acquired in a systematic manner.

本発明に係る経路探索装置は、経路探索領域内に存在する第1の地点から第2の地点に到達する経路を探索する経路探索装置であって、前記経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、前記並列演算部を統括するコントローラ部と、を備え、前記並列演算部は、前記複数の並列演算器が並列演算することで、対応するそれぞれの領域の評価値を算出し、前記並列演算器は、前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する領域選択手段と、自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成手段と、他の前記並列演算器から送信された経路方向情報を受信する受信手段と、前記選択領域に対応する前記並列演算器に対して、前記受信手段で受信した前記経路方向情報を送信した後に、前記経路方向情報生成手段で生成した前記経路方向情報を送信する送信手段と、を備え、前記コントローラ部は、
前記第2の地点を含む領域に対応する第2の並列演算器から前記経路方向情報の送信を最初に開始させた後に、前記並列演算部内で伝播した前記経路方向情報の系列を、前記第1の地点を含む領域に対応する第1の並列演算器から取得することで、前記経路を探索するものである。
A route search device according to the present invention is a route search device that searches for a route from a first point existing in a route search region to a second point, and the route search region is divided into a plurality of regions. A parallel operation unit including a plurality of parallel operation units corresponding to the divided areas, and a controller unit that controls the parallel operation unit, wherein the parallel operation unit includes the plurality of parallel operation units. Calculates the evaluation value of each corresponding region by performing parallel calculation, and the parallel computing unit calculates one of the regions existing in the vicinity based on the evaluation value of each region calculated by the parallel calculation. Area selection means for selecting a selection area, path direction information generation means for generating path direction information indicating a direction from the area corresponding to itself to the selection area, and path direction information transmitted from the other parallel computing units Received And transmitting the route direction information generated by the route direction information generating unit to the parallel computing unit corresponding to the selected area after transmitting the route direction information received by the receiving unit. Transmitting means, and the controller unit includes:
After first starting transmission of the route direction information from the second parallel computing unit corresponding to the region including the second point, the sequence of the route direction information propagated in the parallel computing unit is the first The path is searched by obtaining from the first parallel computing unit corresponding to the region including the point.

このように、各並列演算器間で局所的に経路方向情報を送受信することで、並列演算部内において、第2の地点の並列演算器から第1の地点の並列演算器へと向けて経路方向情報を伝播することができるため、上位のコントローラ部は、第1の地点の並列演算器のみにアクセスすることで、経路である経路方向情報の系列を取得することができる。従って、並列演算を用いて経路探索を行う際に、探索した経路情報を効率的に取得することができる。   As described above, the path direction information is locally transmitted and received between the parallel computing units, so that the path direction is directed from the parallel computing unit at the second point to the parallel computing unit at the first point in the parallel computing unit. Since the information can be propagated, the host controller unit can obtain a sequence of route direction information that is a route by accessing only the parallel computing unit at the first point. Therefore, the searched route information can be efficiently acquired when the route search is performed using the parallel operation.

また、前記並列演算器は、前記受信手段で受信した他の前記並列演算器から送信された経路方向情報を保持する受信バッファと、前記受信バッファに保持した前記経路方向情報又は前記経路方向情報生成手段で生成した前記経路方向情報を送信するために保持する送信バッファと、を更に備え、前記送信手段は、他の前記並列演算器から送信された経路方向情報を受信した場合には、前記受信バッファに保持した前記経路方向情報を、前記送信バッファを介して前記選択領域に対応する前記並列演算器に送信し、他の前記並列演算器から送信された経路方向情報を所定の期間受信しなかった場合には、前記経路方向情報生成手段で生成した前記経路方向情報を、前記送信バッファを介して前記選択領域に対応する前記並列演算器に送信するようにしてもよい。このように、各並列演算器は、他の並列演算器から受信した経路方向情報の転送と、自ら生成した経路方向情報を送信するため、受信バッファには、経路方向情報の系列全体を保持せずに、受信した経路方向情報のみを保持すればよい。   The parallel computing unit includes: a reception buffer that holds path direction information transmitted from the other parallel computing units received by the receiving unit; and the path direction information or the path direction information generated in the reception buffer. A transmission buffer for holding the route direction information generated by the transmission unit, and the transmission unit receives the route direction information transmitted from the other parallel computing unit. The path direction information held in the buffer is transmitted to the parallel computing unit corresponding to the selected area via the transmission buffer, and the path direction information transmitted from the other parallel computing unit is not received for a predetermined period. The route direction information generated by the route direction information generation means is transmitted to the parallel computing unit corresponding to the selected region via the transmission buffer. It may be. In this way, each parallel computing unit transfers the route direction information received from other parallel computing units and transmits the route direction information generated by itself, so that the entire sequence of route direction information is held in the reception buffer. Instead, it is only necessary to hold the received route direction information.

さらにまた、前記領域選択手段は、前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から、前記第1の地点を含む領域により近づく方向の一の選択領域を選択するようにしてもよい。   Furthermore, the region selecting means selects one selected region in a direction closer to the region including the first point from the region existing in the vicinity based on the evaluation value of each region calculated by the parallel calculation. You may make it select.

また、前記並列演算器は、近傍に存在する領域の評価値と、当該近傍領域から自身に対応する領域までの移動コストに基づいて評価値を算出する評価値処理部を更に備えるようにしてもよい。   The parallel computing unit may further include an evaluation value processing unit that calculates an evaluation value based on an evaluation value of a region existing in the vicinity and a movement cost from the vicinity region to a region corresponding to itself. Good.

本発明に係る経路探索方法は、経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、前記並列演算部を統括するコントローラ部と、を備える移動体が、前記経路探索領域内に存在する第1の地点から第2の地点に到達する経路を探索する経路探索方法であって、前記並列演算部が、前記複数の並列演算器が並列演算することで、対応するそれぞれの領域の評価値を算出し、前記並列演算器が、前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する領域選択ステップと、自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成ステップと、他の前記並列演算器から送信された経路方向情報を受信する受信ステップと、前記選択領域に対応する前記並列演算器に対して、前記受信した前記経路方向情報を送信した後に、前記生成した前記経路方向情報を送信する送信ステップと、を有し、前記コントローラ部が、前記第2の地点を含む領域に対応する第2の並列演算器から前記経路方向情報の送信を最初に開始させた後に、前記並列演算部内で伝播した前記経路方向情報の系列を、前記第1の地点を含む領域に対応する第1の並列演算器から取得することで、前記経路を探索するものである。   In the route search method according to the present invention, a route search region is divided into a plurality of regions, and a parallel operation unit including a plurality of parallel operation units corresponding to the divided regions and the parallel operation unit are integrated. A route search method for searching for a route from a first point existing in the route search region to a second point, wherein the parallel operation unit includes the plurality of parallel calculation units A parallel computing unit calculates an evaluation value of each corresponding region, and the parallel computing unit calculates a region existing in the vicinity based on the evaluation value of each region calculated by the parallel computing A region selection step for selecting one selection region from, a route direction information generation step for generating route direction information indicating a direction from the region corresponding to itself to the selection region, and another parallel computing unit. A receiving step of receiving route direction information; and a transmitting step of transmitting the generated route direction information to the parallel computing unit corresponding to the selected region after transmitting the received route direction information; And the controller unit first transmits the path direction information from the second parallel computing unit corresponding to the region including the second point, and then propagates in the parallel computing unit. The route is searched by acquiring a series of direction information from a first parallel computing unit corresponding to a region including the first point.

本発明に係る自律移動体は、経路探索領域内に存在する第1の地点から第2の地点に到達する経路を探索する自律移動体であって、前記経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、前記並列演算部を統括するコントローラ部と、を備え、前記並列演算部は、近傍に存在する領域の評価値と、当該近傍領域から自身に対応する領域までの移動コストに基づいて、対応するそれぞれの領域の評価値を算出し、前記並列演算器は、前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域のうち最も小さい評価値を有する一の選択領域を選択する領域選択部と、自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成部と、他の前記並列演算器から送信された経路方向情報を受信する受信部と、前記選択領域に対応する前記並列演算器に対して、前記受信部で受信した前記経路方向情報を送信した後に、前記経路方向情報生成部で生成した前記経路方向情報を送信する送信部と、を備え、前記コントローラ部は、前記第2の地点を含む領域に対応する第2の並列演算器から前記経路方向情報の送信を最初に開始させた後に、前記並列演算部内で伝播した前記経路方向情報の系列を、前記第1の地点を含む領域に対応する第1の並列演算器から取得することで、前記経路を探索するものである。   An autonomous mobile body according to the present invention is an autonomous mobile body that searches for a route from a first point existing in a route search region to a second point, and the route search region is divided into a plurality of regions. A parallel operation unit composed of a plurality of parallel operation units corresponding to each of the divided areas, and a controller unit that supervises the parallel operation unit, the parallel operation unit of the region existing in the vicinity Based on the evaluation value and the movement cost from the neighboring region to the region corresponding to itself, the evaluation value of each corresponding region is calculated, and the parallel computing unit calculates each parallel region by calculating the parallel operation. Based on the evaluation value, a region selection unit that selects one selected region having the smallest evaluation value among the regions existing in the vicinity, and path direction information indicating the direction from the region corresponding to itself to the selected region are generated. Sutra The direction information generating unit, the receiving unit that receives the route direction information transmitted from the other parallel computing unit, and the path direction information received by the receiving unit with respect to the parallel computing unit corresponding to the selected region A transmission unit that transmits the route direction information generated by the route direction information generation unit, and the controller unit includes a second parallel computing unit corresponding to a region including the second point After the transmission of the route direction information is first started, the sequence of the route direction information propagated in the parallel computing unit is acquired from the first parallel computing unit corresponding to the region including the first point. Thus, the route is searched.

本発明によれば、並列演算を用いて経路探索を行う際に、探索した経路情報を効率的に取得可能な経路探索装置、経路探索方法、及び自律移動体を提供することができる。   According to the present invention, it is possible to provide a route search device, a route search method, and an autonomous mobile body that can efficiently acquire searched route information when performing a route search using parallel operations.

本発明の実施の形態1に係る経路探索装置の構成を示すブロック図である。It is a block diagram which shows the structure of the route search apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索領域を分割した複数の領域を示す概念図である。It is a conceptual diagram which shows the some area | region which divided | segmented the route search area which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る離散化された領域間の接続関係を説明するための概念図である。It is a conceptual diagram for demonstrating the connection relation between the discretized area | region which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る並列演算器の構成を示す概念図である。It is a conceptual diagram which shows the structure of the parallel computing unit which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置による経路探索処理の全体構成を示すフローチャートである。It is a flowchart which shows the whole structure of the route search process by the route search apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置領域の評価値の算出処理を示すフローチャートである。It is a flowchart which shows the calculation process of the evaluation value of the route search apparatus area | region which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置による評価値算出処理の一例を説明するための図である。It is a figure for demonstrating an example of the evaluation value calculation process by the route search apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置による経路探索結果の一例を説明するための図である。It is a figure for demonstrating an example of the route search result by the route search apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る並列演算器における処理を説明するためのフローチャート図である。It is a flowchart for demonstrating the process in the parallel computing unit which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置の並列演算器間で送受信されるデータ構造の一例を示す図である。It is a figure which shows an example of the data structure transmitted / received between the parallel computing units of the route search apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置による経路方向情報を説明するための図である。It is a figure for demonstrating the route direction information by the route search apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置による経路方向情報の伝播の様子を説明するための図である。It is a figure for demonstrating the mode of propagation of the route direction information by the route search apparatus which concerns on Embodiment 1 of this invention. 本発明の実施の形態1に係る経路探索装置による経路方向情報の伝播の様子を説明するための図である。It is a figure for demonstrating the mode of propagation of the route direction information by the route search apparatus which concerns on Embodiment 1 of this invention.

実施の形態1.
本実施の形態1では、自律移動体としてのロボットに経路探索機能を搭載した場合を例に説明する。ロボットは、例えば、それぞれ独立して回転制御される二つの車輪を備えたものでもよく、2輪よりも多い、例えば4輪走行のロボットや、1輪走行のロボット、2足歩行・4足歩行のロボットであってもよい。また、ロボットに限らず、2輪走行や4輪走行の車両にも適用できる。ロボットは、障害物を検出するセンサやカメラを備え、検出された障害物に応じて、これを避けるように経路探索を行なうようにしてもよい。
Embodiment 1 FIG.
In the first embodiment, a case where a route search function is installed in a robot as an autonomous mobile body will be described as an example. The robot may have, for example, two wheels that are independently rotationally controlled, and more than two wheels, for example, a four-wheeled robot, a one-wheeled robot, a two-legged walk, and a four-legged walk It may be a robot. Further, the present invention is not limited to a robot, and can be applied to a two-wheeled vehicle or a four-wheeled vehicle. The robot may include a sensor or a camera that detects an obstacle, and may perform a route search so as to avoid the obstacle according to the detected obstacle.

本実施の形態1に係るロボットが備える経路探索機能によれば、並列演算することで経路探索処理を行う並列演算部内において、各並列演算器間で局所的に経路方向情報を送受信し、第2の地点の並列演算器から第1の地点の並列演算器へと向けて経路方向情報を伝播することができる。このため、並列演算部を統括する上位のコントローラ部は、第1の地点の並列演算器のみにアクセスすることで、経路である経路方向情報の系列を取得することができる。従って、並列演算を用いて経路探索を行う際に、探索した経路情報を効率的に取得することができる。尚、以下では、第1の地点をロボットが移動を開始する移動始点とし、第2の地点を移動目標地点である移動終点として説明するが、本実施の形態1に係る経路探索装置は任意の二点間の最適な経路を探索するものであり、第1の地点を移動終点とし、第2の地点を移動始点としてもよい。以下、図面を参照して本発明の実施の形態1について説明する。   According to the route search function provided in the robot according to the first embodiment, in the parallel calculation unit that performs the route search process by performing parallel calculation, route direction information is locally transmitted and received between the parallel calculation units, and the second The path direction information can be propagated from the parallel computing unit at the point to the parallel computing unit at the first point. For this reason, the upper controller unit that supervises the parallel operation unit can obtain a series of route direction information that is a route by accessing only the parallel operation unit at the first point. Therefore, the searched route information can be efficiently acquired when the route search is performed using the parallel operation. In the following description, the first point will be described as the movement start point at which the robot starts moving, and the second point will be described as the movement end point, which is the movement target point. However, the route search device according to the first embodiment is arbitrary. It searches for an optimal route between two points, and the first point may be the movement end point and the second point may be the movement start point. Embodiment 1 of the present invention will be described below with reference to the drawings.

図1は、本実施の形態1に係る経路探索装置の概略構成を示すブロック図である。図1に示されるように、経路探索装置1は、経路探索処理部11と経路探索記憶部12により構成されている。経路探索処理部11は、コントローラ部111と、並列演算部112から構成されている。並列演算部112は、複数の並列演算器112_1、112_2、・・・(以下、単に並列演算器112_nと称する場合がある。)を備えている。並列演算器112_nは、それぞれ物理的に独立した演算器であって、後述する評価値算出処理などを並列に実行する。   FIG. 1 is a block diagram showing a schematic configuration of the route search apparatus according to the first embodiment. As shown in FIG. 1, the route search device 1 includes a route search processing unit 11 and a route search storage unit 12. The route search processing unit 11 includes a controller unit 111 and a parallel calculation unit 112. The parallel computing unit 112 includes a plurality of parallel computing units 112_1, 112_2,... (Hereinafter, simply referred to as a parallel computing unit 112_n). Each of the parallel computing units 112_n is a physically independent computing unit, and executes an evaluation value calculation process described later in parallel.

経路探索記憶部12には、ロボットが移動する経路探索領域全体の形状に、略一定間隔d(例えば10cm)に配置された格子点を結ぶグリッド線を仮想的に描写することで得られるグリッドマップが記憶されている。ロボットは、GPS等から得られた位置情報を、このグリッドマップ上における自己の位置に置き換えて、グリッドマップ上における自己位置を認識する。グリッドマップ上において、ロボットの自己位置に相当する場所、および目的地である移動終点、及び移動終点におけるロボットの移動方向が特定される。ロボットは、グリッドマップ上において特定された自己位置を移動始点から、目的地である移動終点までの経路を探索し、探索した経路に従って移動を行う。   In the route search storage unit 12, a grid map obtained by virtually describing grid lines connecting lattice points arranged at substantially constant intervals d (for example, 10 cm) in the shape of the entire route search region in which the robot moves. Is remembered. The robot recognizes its own position on the grid map by replacing the position information obtained from GPS or the like with its own position on this grid map. On the grid map, the location corresponding to the robot's own position, the movement end point as the destination, and the movement direction of the robot at the movement end point are specified. The robot searches for a route from the movement start point to the movement end point that is the destination at the self-position specified on the grid map, and moves according to the searched route.

コントローラ部111は、並列演算部112を統括して制御処理を行い、経路方向情報の系列からなる経路を、並列演算部112から取得する。尚、コントローラ部111による並列演算部112の制御処理の詳細については後述する。   The controller unit 111 controls the parallel operation unit 112 to perform control processing, and acquires a route including a series of route direction information from the parallel operation unit 112. The details of the control processing of the parallel computing unit 112 by the controller unit 111 will be described later.

また、コントローラ部111は、ロボットが移動する経路探索領域を格子状の領域に分割する分割処理を行う。ここでは、上述の略一定間隔d(例えば10cm)に配置された格子点を囲む複数の領域に分割する。図2は、経路探索領域を分割して、離散化された複数の領域Cを示す概念図である。尚、コントローラ部111による分割方法はこれに限定されない。例えば、上述の分割後の領域よりも大きな領域へと分割することで、経路探索に要する時間をより短縮することができる。 In addition, the controller unit 111 performs a dividing process of dividing the route search area in which the robot moves into a grid area. Here, it divides | segments into the several area | region surrounding the lattice point arrange | positioned at the above-mentioned substantially constant space | interval d (for example, 10 cm). Figure 2 divides the route search region is a conceptual diagram illustrating a plurality of regions C n which is discretized. The dividing method by the controller unit 111 is not limited to this. For example, the time required for the route search can be further shortened by dividing the area into larger areas than the above-described divided areas.

そして、コントローラ部111は、分割した領域間の接続関係を定める。以下では、注目する領域に接続する領域を近傍領域と称する。図3は、離散化された領域間の接続関係を説明するための概念図である。図3(a)では、注目する領域Cに対して、隣接領域C乃至Cを近傍領域として定めるものである。また、図3(b)では、注目する領域Cに対して、隣接領域C乃至Cに加えて、さらに領域C乃至C16を近傍領域として定めるものである。このように、自領域に対して隣接した領域を越えた領域を近傍領域として設定可能とすることで、自領域及びそれら近傍領域間を通過する経路を作成することができる。このようにすれば、移動始点から移動終点へと至る経路の角度分解能を柔軟に設定することができ、より滑らかな経路を作成することができる。 And the controller part 111 determines the connection relation between the divided | segmented area | regions. Hereinafter, a region connected to the region of interest is referred to as a neighborhood region. FIG. 3 is a conceptual diagram for explaining a connection relationship between discretized regions. In FIG. 3A, adjacent regions C 1 to C 8 are defined as neighboring regions for the region of interest C 0 . Further, in FIG. 3B, in addition to the adjacent regions C 1 to C 8 , the regions C 9 to C 16 are further defined as neighboring regions with respect to the region of interest C 0 . In this way, by making it possible to set an area that exceeds an area adjacent to the own area as a neighboring area, it is possible to create a path that passes between the own area and the neighboring areas. In this way, the angular resolution of the route from the movement start point to the movement end point can be set flexibly, and a smoother route can be created.

並列演算部112は、複数の並列演算器112_1、112_2、・・・から構成される。複数の並列演算器112_1、112_2、・・・は、コントローラ部111により分割された各領域にそれぞれ対応する。図4は、並列演算器112_nの構成を示す概念図である。図4(a)に示すように、並列演算器112_nには、少なくとも2つの評価値記憶部32_n及び評価値記憶部33_nと、状態設定用信号線34_nとが接続されている。   The parallel computing unit 112 includes a plurality of parallel computing units 112_1, 112_2,. The plurality of parallel computing units 112_1, 112_2,... Correspond to the areas divided by the controller unit 111, respectively. FIG. 4 is a conceptual diagram showing the configuration of the parallel computing unit 112_n. As shown in FIG. 4A, the parallel computing unit 112_n is connected to at least two evaluation value storage units 32_n and evaluation value storage units 33_n, and a state setting signal line 34_n.

尚、複数の並列演算器112_1、112_2、・・・はいずれも同一の構成を有しており、簡易な構成により経路探索装置1を構成することができる。各並列演算器112_nは、分割された各領域に一対一で対応付けてもよいし、一つの並列演算器112_nが、複数の分割された領域に対応するようにしてもよい。また、並列演算器112_nは、例えばFPGA(Field Programmable Gate Array)等のプログラム可能な装置を用いることによって容易に構成することができる。そして、図4(b)に示すように、複数の並列演算器112_nが配列され、それぞれが分割された複数の領域に対応する。このような配列構造によれば、ロボットなどに対しても容易に実装化することができる。   The plurality of parallel computing units 112_1, 112_2,... Have the same configuration, and the route search device 1 can be configured with a simple configuration. Each parallel computing unit 112_n may be associated with each divided region on a one-to-one basis, or one parallel computing unit 112_n may correspond to a plurality of divided regions. The parallel computing unit 112_n can be easily configured by using a programmable device such as an FPGA (Field Programmable Gate Array). Then, as shown in FIG. 4B, a plurality of parallel computing units 112_n are arranged, each corresponding to a plurality of divided areas. According to such an arrangement structure, it can be easily mounted on a robot or the like.

状態設定用信号線34_nは、コントローラ部111からの指令を受けて、並列演算器112_nによる処理を実行可能状態又は実行不能状態に設定するための状態設定信号を並列演算器112_nへと送信する。これにより、所望の並列演算器112_nについて、評価値算出処理などを行うタイミングを調整することができる。即ち、評価値算出処理などを実行させる場合には、並列演算器112_nへと評価値算出処理を実行可能とする状態設定信号を送信し、評価値算出処理を実行させない場合には、評価値算出処理を実行不能とする状態設定信号を送信する。   In response to a command from the controller unit 111, the state setting signal line 34_n transmits a state setting signal for setting the processing by the parallel computing unit 112_n to an executable state or an unexecutable state to the parallel computing unit 112_n. Thereby, the timing which performs an evaluation value calculation process etc. about the desired parallel computing unit 112_n can be adjusted. That is, when the evaluation value calculation process or the like is executed, a state setting signal enabling execution of the evaluation value calculation process is transmitted to the parallel computing unit 112_n, and when the evaluation value calculation process is not executed, the evaluation value calculation is calculated. A state setting signal that disables the process is transmitted.

図1に戻り再び説明を続ける。並列演算器112nは、評価値処理部113と、領域選択部114と、経路方向情報生成部115と、受信部116と、受信バッファ117と、送信部118と、送信バッファ119と、を備えている。   Returning to FIG. 1, the description will be continued again. The parallel computing unit 112n includes an evaluation value processing unit 113, a region selection unit 114, a path direction information generation unit 115, a reception unit 116, a reception buffer 117, a transmission unit 118, and a transmission buffer 119. Yes.

評価値処理部113は、近傍に存在する領域の評価値と、その近傍領域から自身に対応する領域までの移動コストとに基づいて評価値を算出する。   The evaluation value processing unit 113 calculates an evaluation value based on the evaluation value of the area existing in the vicinity and the movement cost from the vicinity area to the area corresponding to itself.

領域選択部114は、並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する。ここでは、領域選択部114は、近傍に存在する領域から、移動始点を含む領域により近づく方向の一の選択領域を選択する。例えば、移動が禁止される禁止領域を除く他の領域において、移動始点を含む領域の評価値を基準として、移動始点から距離が離れる領域ほど大きな値の評価値を算出した場合には、領域選択部114は、近傍に存在する領域のうち、最も小さな評価値を有する一の選択領域を選択する。尚、以下では、自領域から、移動始点を含む領域により近づく方向を上流方向と称し、また、自領域から、移動終点を含む領域により近づく方向を下流方向と称する場合がある。   The region selection unit 114 selects one selected region from the regions existing in the vicinity based on the evaluation value of each region calculated by performing the parallel calculation. Here, the region selection unit 114 selects one selection region in a direction closer to the region including the movement start point from the regions existing in the vicinity. For example, in other areas except forbidden areas where movement is prohibited, if an evaluation value with a larger value is calculated for an area farther away from the movement start point based on the evaluation value of the area including the movement start point, the area selection The unit 114 selects one selected region having the smallest evaluation value among the regions existing in the vicinity. In the following, the direction closer to the area including the movement start point from the own area may be referred to as the upstream direction, and the direction closer to the area including the movement end point from the own area may be referred to as the downstream direction.

経路方向情報生成部115は、自身に対応する領域から選択領域への方向を示す経路方向情報を生成する。経路探索装置1により探索される経路は、経路方向情報の系列から構成される。   The route direction information generation unit 115 generates route direction information indicating the direction from the region corresponding to itself to the selected region. The route searched by the route search device 1 is composed of a series of route direction information.

受信部116は、他の並列演算器112_nから送信された経路方向情報を受信する。受信バッファ117は、受信部116で受信した経路方向情報を保持する。尚、受信バッファ117で保持するデータは経路方向情報に限定されず、並列演算器112_n間で送受信される他のデータの受信及び保持に利用してもよい。   The receiving unit 116 receives the route direction information transmitted from the other parallel computing unit 112_n. The reception buffer 117 holds the route direction information received by the reception unit 116. The data held in the reception buffer 117 is not limited to the path direction information, and may be used for receiving and holding other data transmitted / received between the parallel computing units 112_n.

送信部118は、選択領域に対応する並列演算器112_nに対して、受信部116で受信した経路方向情報を送信した後に、経路方向情報生成部115で生成した経路方向情報を送信する。ここでは、送信部118は、他の並列演算器112_nから受信した経路方向情報を転送し終えた後に、その転送処理に続いて、経路方向情報生成部115で生成した経路方向情報を、送信バッファ119を介して選択領域に対応する並列演算器112_nに送信する。このため、送信部118は、他の並列演算器112_nから経路方向情報を受信した場合には、受信バッファ117に保持した経路方向情報を、送信バッファ119を介して選択領域に対応する並列演算器112_nに送信し、他の並列演算器112_nから経路方向情報を所定の期間受信しなかった場合には、経路方向情報生成部115で生成した経路方向情報を、送信バッファ119を介して選択領域に対応する並列演算器112_nに送信する。   The transmitting unit 118 transmits the route direction information generated by the route direction information generating unit 115 after transmitting the route direction information received by the receiving unit 116 to the parallel computing unit 112_n corresponding to the selected region. Here, after the transmission unit 118 finishes transferring the route direction information received from the other parallel computing unit 112_n, the transmission unit 118 transmits the route direction information generated by the route direction information generation unit 115 to the transmission buffer following the transfer processing. Via 119 to the parallel computing unit 112_n corresponding to the selected region. Therefore, when the transmission unit 118 receives path direction information from another parallel computing unit 112_n, the transmission unit 118 uses the parallel computing unit corresponding to the selected region via the transmission buffer 119 to store the path direction information held in the reception buffer 117. 112_n, and when the route direction information is not received from other parallel computing units 112_n for a predetermined period, the route direction information generated by the route direction information generation unit 115 is sent to the selection region via the transmission buffer 119. It transmits to corresponding parallel computing unit 112_n.

送信バッファ119は、受信バッファ117に保持した経路方向情報又は経路方向情報生成部115で生成した経路方向情報を送信するために保持する。尚、送信バッファ119で保持するデータは経路方向情報に限定されず、並列演算器112_n間で送受信される他のデータの送信及び保持に利用してもよい。   The transmission buffer 119 holds the route direction information held in the reception buffer 117 or the route direction information generated by the route direction information generation unit 115 for transmission. The data held in the transmission buffer 119 is not limited to the path direction information, and may be used for transmission and holding of other data transmitted / received between the parallel computing units 112_n.

続いて、本実施の形態1に係る経路探索装置1による経路探索処理について、図5乃至13を参照して説明する。図5は、本実施の形態1に係る経路探索装置1による経路探索処理の全体構成を示すフローチャート図である。   Next, route search processing by the route search device 1 according to Embodiment 1 will be described with reference to FIGS. FIG. 5 is a flowchart showing an overall configuration of route search processing by the route search device 1 according to the first embodiment.

まず、コントローラ部111は、グリッドマップ上において、移動始点と移動終点を設定する(ステップS101)。そして、グリッドマップ上において、環境内に存在する障害物の登録(ステップS102)や、禁止領域(ステップS103)の作成を行う。   First, the controller unit 111 sets a movement start point and a movement end point on the grid map (step S101). Then, on the grid map, an obstacle existing in the environment is registered (step S102) and a prohibited area (step S103) is created.

次いで、並列演算部112は、複数の並列演算器102_nが並列演算することで、対応するそれぞれの領域の評価値を算出する(ステップS104)。このため、コントローラ部111は、グリッドマップを複数の領域に分割し、各領域を並列演算器112_nに対応付けた後に、下位の並列演算部112の各並列演算器112_nに対して評価値算出処理の開始を指示する。尚、並列演算部112における評価値算出処理の詳細については後述する。   Next, the parallel computing unit 112 calculates an evaluation value of each corresponding region by performing a parallel computation by the plurality of parallel computing units 102_n (step S104). Therefore, the controller unit 111 divides the grid map into a plurality of regions, associates each region with the parallel computing unit 112_n, and then performs an evaluation value calculation process on each parallel computing unit 112_n of the lower parallel computing unit 112. Instruct the start of. Details of the evaluation value calculation process in the parallel operation unit 112 will be described later.

次いで、コントローラ部111は、ステップS104で算出した評価値から各領域の経路方向情報を並列演算器112_nにより生成させて、並列演算部112内で伝播させた経路方向情報を取得する(ステップS105)。尚、並列演算部112からの経路方向情報の取得処理の詳細については後述する。   Next, the controller unit 111 causes the parallel computing unit 112_n to generate route direction information of each region from the evaluation value calculated in step S104, and acquires the route direction information propagated in the parallel computing unit 112 (step S105). . The details of the process of acquiring the route direction information from the parallel computing unit 112 will be described later.

本実施の形態1に係る経路探索装置1は、ステップS101〜S105に係る経路探索処理のうち、特に、S105に係る経路方向情報の効率的な取得処理を可能とする。即ち、本実施の形態1に係る経路探索装置1によれば、並列演算部112の各並列演算器112_nから、経路方向情報を効率よく取得することができる。   The route search apparatus 1 according to the first embodiment enables an efficient acquisition process of route direction information according to S105 among the route search processing according to steps S101 to S105. That is, according to the route search device 1 according to the first embodiment, the route direction information can be efficiently obtained from each parallel computing unit 112_n of the parallel computing unit 112.

まず、図6乃至8を参照して図5に示したS104に係る評価値の算出処理について具体的に説明する。図6は、各領域の評価値の算出処理を具体的に示すフローチャートである。   First, the evaluation value calculation process according to S104 shown in FIG. 5 will be specifically described with reference to FIGS. FIG. 6 is a flowchart specifically showing the evaluation value calculation process for each region.

まず、コントローラ部111が、経路探索領域を複数の領域に分割し、分割したそれぞれの領域に対して並列演算器112_nを対応付ける(S201)。ここでは、経路探索領域は、グリッド数と等しい数の領域に分割される。例えば、経路探索領域が2次元平面である場合には、それぞれ10cm×10cmの広さを持つ離散的な複数の領域が分割生成される。   First, the controller unit 111 divides the route search area into a plurality of areas, and associates the parallel computing unit 112_n with each of the divided areas (S201). Here, the route search area is divided into a number of areas equal to the number of grids. For example, when the route search area is a two-dimensional plane, a plurality of discrete areas each having an area of 10 cm × 10 cm are divided and generated.

次に、コントローラ部111は、全ての並列演算器112_nに対して初期値を代入する(S202)。各領域の状態として、進入が禁止される禁止状態、評価値が未計算である未計算状態、及び評価値を計算済みである計算済み状態からなる3状態を想定する。それぞれの状態に対応する初期値を並列演算器112_nに代入する。評価値算出処理の開始段階であるS202では、経路探索対象となる領域のうち、進入禁止領域以外の領域に対応する並列演算器112_nの評価値記憶部32_n及び評価値記憶部33_nには、初期値として十分大きな値(例えば1.0×10^7)を代入する。進入禁止領域に対応する並列演算器112_nの評価値記憶部32_n及び評価値記憶部33_nには、初期値として十分大きな値(例えば1.0×10^9)を代入する。ここでは、初期値として、後述する評価値算出処理によって算出される評価値を十分上回る値を採用して代入する。尚、領域の状態をこのような初期値を設定することで判断してもよいし、領域の状態を示す状態情報を各並列演算器112_nに格納するようにしてもよい。   Next, the controller unit 111 substitutes initial values for all the parallel computing units 112_n (S202). As the state of each region, three states are assumed, which are a prohibited state in which entry is prohibited, an uncalculated state in which an evaluation value has not been calculated, and a calculated state in which an evaluation value has been calculated. An initial value corresponding to each state is assigned to the parallel computing unit 112_n. In S202, which is the start stage of the evaluation value calculation process, the evaluation value storage unit 32_n and the evaluation value storage unit 33_n of the parallel computing unit 112_n corresponding to the region other than the entry prohibition region in the route search target region are initially stored. A sufficiently large value (for example, 1.0 × 10 ^ 7) is substituted as the value. A sufficiently large value (for example, 1.0 × 10 ^ 9) is assigned as an initial value to the evaluation value storage unit 32_n and the evaluation value storage unit 33_n of the parallel computing unit 112_n corresponding to the entry prohibition region. Here, as an initial value, a value sufficiently higher than an evaluation value calculated by an evaluation value calculation process described later is adopted and substituted. The state of the region may be determined by setting such initial values, or state information indicating the state of the region may be stored in each parallel computing unit 112_n.

次に、コントローラ部111は、移動始点を指定して、その移動始点を含む領域に対応する並列演算器112_nについて、その評価値記憶部32_n又は評価値記憶部33_nの少なくとも一方に、評価値の最小値(例えば0)を代入する(S203)。以下では、その評価値記憶部32_nのみに評価値の最小値が代入されたものとして説明する。   Next, the controller unit 111 designates the movement start point, and for the parallel computing unit 112_n corresponding to the region including the movement start point, at least one of the evaluation value storage unit 32_n or the evaluation value storage unit 33_n A minimum value (for example, 0) is substituted (S203). In the following description, it is assumed that the minimum value of the evaluation value is assigned only to the evaluation value storage unit 32_n.

次に、コントローラ部111は、評価値算出処理を開始するための計算開始クロックCを発生する(S204)。状態設定用信号線34_nを介して、CPUのクロックに相当するパルスが各並列演算器112_nへと送信され、各並列演算器112_nでS205乃至208における処理が実行される。またこのとき、評価値算出処理を実行させる並列演算器112_nに対しては、評価値算出処理を実行可能とする状態設定信号が送信され、評価値算出処理を実行させない並列演算器112_nに対しては、評価値算出処理を実行不能とする状態設定信号が送信される。 Then, the controller unit 111 generates a calculation start clock C 1 to initiate an evaluation value calculation processing (S204). A pulse corresponding to the clock of the CPU is transmitted to each parallel computing unit 112_n via the state setting signal line 34_n, and the processing in S205 to S208 is executed by each parallel computing unit 112_n. At this time, a state setting signal enabling execution of the evaluation value calculation process is transmitted to the parallel calculator 112_n that executes the evaluation value calculation process, and the parallel calculator 112_n that does not execute the evaluation value calculation process. Transmits a state setting signal that disables execution of the evaluation value calculation process.

各並列演算器112_nは、対応する自領域の評価値及び近傍領域の評価値に基づいて、以下のようにして自領域の評価値を更新してゆく。まず、評価値記憶部32_nに格納されている値について、自領域の評価値である自己評価値が、初期値から更新されているか否かを判定する(S205)。   Each parallel computing unit 112_n updates the evaluation value of its own region as follows based on the evaluation value of its own region and the evaluation value of the neighboring region. First, with respect to the value stored in the evaluation value storage unit 32_n, it is determined whether or not the self-evaluation value that is the evaluation value of the self-region has been updated from the initial value (S205).

ステップS205における判定の結果、自己評価値が初期値のままである場合(自領域の評価値が未計算である場合)には、近傍領域に対応する並列演算器112_nで、その評価値記憶部32_nに格納されている値として、初期値ではない評価値が存在しているか否かを判定する(S206)。   If the result of determination in step S205 is that the self-evaluation value remains the initial value (if the evaluation value of the own region has not been calculated), the parallel calculator 112_n corresponding to the neighboring region uses the evaluation value storage unit It is determined whether or not an evaluation value that is not an initial value exists as a value stored in 32_n (S206).

ステップS206における判定の結果、近傍領域に初期値以外の値が存在する場合(近傍領域の評価値が計算済みである場合)には、近傍領域の評価値のうち最も小さい評価値と、その最小の評価値を持つ近傍領域から自領域までの幾何学的な距離に応じた移動コストに基づいて自己の領域の評価値を算出し、その結果を評価値記憶部33_nに格納する(S207)。ここでは、以下の式に基づいて自己の領域の評価値を算出する。
自己評価値=近傍領域の最小評価値+近傍領域から自領域までの移動コスト
If the result of determination in step S206 is that there is a value other than the initial value in the neighborhood area (if the neighborhood area evaluation value has already been calculated), the smallest assessment value among the neighborhood area assessment values and its minimum The evaluation value of the self region is calculated based on the movement cost corresponding to the geometric distance from the neighboring region having the evaluation value of to the self region, and the result is stored in the evaluation value storage unit 33_n (S207). Here, the evaluation value of its own region is calculated based on the following formula.
Self-evaluation value = minimum evaluation value of neighboring area + moving cost from neighboring area to own area

一方、ステップS205又はS206における判定の結果、評価値記憶部32_nに格納されている自己評価値が初期値から更新されている場合、又は近傍領域に初期値以外の値が存在しない場合には、現在の自己評価値を更新せずにそのまま維持する(S208)。ここでは、自己評価値を維持する処理として、評価値記憶部32に格納されている評価値を評価値記憶部33_nへと出力して格納する。このように処理することで、現在の自己評価値を簡易な処理によって維持することができる。尚、評価値記憶部32_nに格納されている評価値を評価値記憶部33_nへと出力せずに、何も処理を実行しないようにしてもよい。   On the other hand, as a result of the determination in step S205 or S206, when the self-evaluation value stored in the evaluation value storage unit 32_n has been updated from the initial value, or when there is no value other than the initial value in the neighborhood region, The current self-evaluation value is maintained as it is without being updated (S208). Here, as a process of maintaining the self-evaluation value, the evaluation value stored in the evaluation value storage unit 32 is output to the evaluation value storage unit 33_n and stored. By processing in this way, the current self-evaluation value can be maintained by simple processing. The evaluation value stored in the evaluation value storage unit 32_n may not be output to the evaluation value storage unit 33_n and no processing may be performed.

全ての並列演算器112_nで、ステップS205乃至208における評価値算出処理の実行を、それぞれ評価値記憶部32_nに格納された評価値に基づいて判定し、評価値算出結果を、それぞれ評価値記憶部32_nとは異なる評価値記憶部33_nに出力する。これにより、1回の評価値算出処理の結果、評価値算出結果の干渉を防ぐことができると共に、1近傍領域を越えて評価値が算出されないよう制限することができるため、1近傍領域に含まれる領域の評価値のみを算出させることができる。従って、複数の並列演算器112_nによる評価値算出処理のタイミングを同期させることができる。尚、クロックCの次のクロックCによってステップS205乃至208における処理が実行される場合には、ステップS205乃至S208の処理において、評価値記憶部33_nに格納されている評価値に基づいて評価値算出処理が実行され、その結果が評価値記憶部32に格納される。更には、クロックCの次のクロックCによってS205乃至208における処理が実行される場合には、評価値記憶部32_nに格納されている評価値に基づいて評価値算出処理が実行され、その結果が評価値記憶部33_nに格納される。 In all parallel computing units 112_n, execution of the evaluation value calculation processing in steps S205 to S208 is determined based on the evaluation values stored in the evaluation value storage unit 32_n, respectively, and the evaluation value calculation results are respectively determined as evaluation value storage units. The result is output to an evaluation value storage unit 33_n different from 32_n. As a result, it is possible to prevent interference between evaluation value calculation results as a result of one evaluation value calculation process, and it is possible to limit the evaluation value from being calculated beyond one vicinity region. It is possible to calculate only the evaluation value of the area to be processed. Therefore, it is possible to synchronize the timing of the evaluation value calculation processing by the plurality of parallel computing units 112_n. Incidentally, when the process of step S205 to 208 by the next clock C 2 clock C 1 is executed in the process of step S205 to S208, based on the evaluation value stored in the evaluation value storage section 33_n Rating A value calculation process is executed, and the result is stored in the evaluation value storage unit 32. Furthermore, when the process of the next clock C 3 by S205 to 208 of the clock C 2 is performed, the evaluation value calculation process based on the evaluation value stored in the evaluation value storage section 32_n is executed, the The result is stored in the evaluation value storage unit 33_n.

コントローラ部111は、移動終点を含む領域に対応する並列演算器112_nについて、その評価値記憶部32_n又は評価値記憶部33_nのいずれか一方に初期値ではない評価値が存在しているか否かを判定する(S209)。ステップS209における判定の結果、評価値が存在していない場合には、移動終点を含む領域の評価値は未だに算出されていない未計算状態であるため、ステップS204へと戻り再び各並列演算器112_nにより領域の評価値算出処理を実行する。   The controller unit 111 determines whether an evaluation value that is not an initial value exists in either one of the evaluation value storage unit 32_n or the evaluation value storage unit 33_n for the parallel computing unit 112_n corresponding to the region including the movement end point. Determine (S209). If the evaluation value does not exist as a result of the determination in step S209, the evaluation value of the region including the movement end point has not yet been calculated, so the process returns to step S204 and again each parallel computing unit 112_n. Thus, the area evaluation value calculation process is executed.

一方、ステップS209における判定の結果、移動終点に評価値が存在している場合には、移動終点を含む領域の評価値が計算済みの状態となったことから、評価値算出処理を終了して、図5に示したS105に係る経路方向情報の取得処理に進む。   On the other hand, if the evaluation value exists at the movement end point as a result of the determination in step S209, the evaluation value calculation process is terminated because the evaluation value of the area including the movement end point has already been calculated. Then, the process proceeds to the acquisition process of the route direction information according to S105 shown in FIG.

尚、ステップS209における評価値算出処理を終了させる条件としては、全ての領域に対応する評価値が変化しなくなった場合に処理を終了させるようにしてもよい。即ち、全ての並列演算器112_nで、評価値記憶部32_n及び33_nに格納された評価値が同じ値のまま変化しなくなった場合に処理を終了させることができる。また、このような終了条件をステップS209における終了条件に加えて判定させるように構成することで、移動始点から移動終点までの経路が存在しない場合であっても評価値算出処理を終了させることができる。   As a condition for terminating the evaluation value calculation process in step S209, the process may be terminated when the evaluation values corresponding to all the regions no longer change. That is, in all the parallel computing units 112_n, the processing can be terminated when the evaluation values stored in the evaluation value storage units 32_n and 33_n do not change with the same value. Further, by configuring such an end condition in addition to the end condition in step S209, the evaluation value calculation process can be ended even when there is no route from the movement start point to the movement end point. it can.

以下、図7及び図8に示すグリッドマップを参照して、図6に示した各領域の評価値算出処理に係る具体例について説明する。尚、図7及び図8に示すグリッドマップは、ロボットの目標軌道となる目標経路を、グリッド状に離散化された領域の集合として表現するものである。経路探索装置1を構成するコンピュータの経路探索記憶部12は、グリッドマップに関する情報を格納している。ここで、グリッドマップに関する情報には、各領域の座標情報、各領域の近傍領域を示す領域間の接続情報、及び各領域に関連付けられた評価値情報が含まれる。領域の評価値は、それぞれの領域に対応する並列演算器112_nによって算出される。   A specific example relating to the evaluation value calculation process for each region illustrated in FIG. 6 will be described below with reference to the grid maps illustrated in FIGS. 7 and 8. Note that the grid maps shown in FIGS. 7 and 8 represent the target path serving as the target trajectory of the robot as a set of regions discretized in a grid shape. The route search storage unit 12 of the computer constituting the route search device 1 stores information about the grid map. Here, the information regarding the grid map includes coordinate information of each region, connection information between regions indicating neighboring regions of each region, and evaluation value information associated with each region. The evaluation value of the area is calculated by the parallel computing unit 112_n corresponding to each area.

図7は、評価値算出処理の一例を説明するための図である。図7では、経路探索領域を横16個、縦13個の領域に分割し、評価他値算出処理を簡単に行わせるため、各領域の近傍領域を、各領域に隣接した前後左右4方向に隣接する領域とした。図8では、各領域から斜め4方向に位置する領域についても近傍領域に含めるものとし、各領域から8方向に隣接する領域を近傍領域とした。図において斜線領域は進入禁止領域を示し、外周上の領域は経路探索対象外である領域を示す。図に示す移動始点の領域の初期値を0に設定した場合に、並列演算器112_nによる評価値算出結果を各領域に示す。尚、ここでは、近傍領域から自領域までの移動コストの値を5とした。分割された208個の領域のうち、39個の領域が進入禁止領域であり、169個の領域が経路探索対象領域である。本実施の形態1に係る経路探索装置1によれば、各並列演算器112_nがそれぞれ並列に評価値を算出するため、計22回の計算によって評価値を算出することができる。   FIG. 7 is a diagram for explaining an example of the evaluation value calculation process. In FIG. 7, in order to divide the route search area into 16 horizontal areas and 13 vertical areas so that the evaluation other value calculation process can be performed easily, the neighboring areas of each area are arranged in four directions, front, rear, left, and right adjacent to each area. Adjacent area. In FIG. 8, regions located in four oblique directions from each region are also included in the neighboring region, and regions adjacent to each region in the eight directions are designated as neighboring regions. In the figure, the hatched area indicates an entry prohibition area, and the area on the outer periphery indicates an area that is not subject to route search. When the initial value of the region of the movement start point shown in the figure is set to 0, the evaluation value calculation result by the parallel computing unit 112_n is shown in each region. Here, the value of the movement cost from the neighboring area to the own area is set to 5. Of the 208 divided areas, 39 areas are entry prohibition areas and 169 areas are route search target areas. According to the route search device 1 according to the first embodiment, since each parallel computing unit 112_n calculates an evaluation value in parallel, the evaluation value can be calculated by a total of 22 calculations.

コントローラ部111は、並列演算部112における各領域の評価値算出処理が終了した後、並列演算部112内の特定の並列演算器112_nから経路方向情報を取得することで、経路方向情報の系列から構成される経路を効率的に取得する。例えば、図8に、生成される経路方向情報を白抜き矢印で示す(各領域間に示す白抜き矢印が、各領域で生成される経路方向情報を示している)。これら経路方向情報の系列が、経路を構成する。移動終点から移動始点へと向かって、これら経路方向情報に沿って規定される経路が、移動終点から移動始点までの最短経路を示している(同時に、移動終点から移動始点までの最短経路を意味する)。尚、移動終点における評価値110は、移動始点から移動終点までに要する移動コストの総コストを意味している。後述するように、並列演算部112は、各領域における経路方向情報を上流方向である移動始点へと向けて伝播させる。コントローラ部111は、移動始点を含む領域に対応する並列演算器112_nから、これら経路方向情報を順次取得する。コントローラ部111は、グリッドマップ上における移動始点又は移動終点の座標と、取得した経路方向情報の系列とから、グリッドマップ上における経路(即ち、経路を構成する座標値の点列)を構成する。これにより、経路探索装置1は、移動始点から移動終点へと至る経路を探索する。   After the evaluation value calculation processing for each region in the parallel operation unit 112 is completed, the controller unit 111 acquires the route direction information from a specific parallel computing unit 112_n in the parallel operation unit 112, thereby obtaining the route direction information series. Get configured paths efficiently. For example, in FIG. 8, the generated route direction information is indicated by white arrows (the white arrows shown between the regions indicate the route direction information generated in each region). A series of these route direction information forms a route. From the end point to the start point, the route specified along the route direction information indicates the shortest route from the end point to the start point. (At the same time, it means the shortest route from the end point to the start point.) To do). Note that the evaluation value 110 at the movement end point means the total cost of the movement cost required from the movement start point to the movement end point. As will be described later, the parallel operation unit 112 propagates the route direction information in each region toward the movement start point that is the upstream direction. The controller unit 111 sequentially acquires the path direction information from the parallel computing unit 112_n corresponding to the area including the movement start point. The controller unit 111 configures a route on the grid map (that is, a point sequence of coordinate values constituting the route) from the coordinates of the movement start point or movement end point on the grid map and the acquired series of route direction information. Thereby, the route search device 1 searches for a route from the movement start point to the movement end point.

続いて、図9乃至13を参照して、図5に示したS105に係る経路方向情報の取得処理について具体的に説明する。コントローラ部111は、評価値算出処理が終了した後、移動終点を含む領域に対応する並列演算器112_nから、経路方向情報の送信を最初に開始させる。並列演算部112内において、分割された各領域の評価値に基づいて、移動終点に対応する領域から上流方向の領域に向けて、各領域の経路方向情報が伝播される。そして、コントローラ部111は、移動始点を含む領域に対応する並列演算器112_nから、伝播した経路方向情報を順次取得してゆく。   Next, with reference to FIGS. 9 to 13, the route direction information acquisition process according to S105 shown in FIG. 5 will be specifically described. After the evaluation value calculation process is completed, the controller unit 111 first starts transmission of route direction information from the parallel computing unit 112_n corresponding to the region including the movement end point. In the parallel computing unit 112, the route direction information of each region is propagated from the region corresponding to the movement end point toward the upstream region based on the evaluation value of each divided region. The controller unit 111 sequentially acquires the propagated route direction information from the parallel computing unit 112_n corresponding to the region including the movement start point.

図9を参照して、並列演算部112内における経路方向情報の伝播処理について説明する。図9は、各並列演算器112_nの処理を説明するためのフローチャート図である。まず、並列演算器112_nの受信部116は、下流方向の並列演算器112_nから送信された受信データを受信して、受信データを受信バッファ117に保持する(ステップS301)。並列演算器112_n間で送受信されるデータは、図10に示すような構造のデータとすることができる。例えば、経路探索処理のモードを示すmode部分と、そのモードにおいて処理されるdata部分とから構成する。例えば、mode部分には、評価値算出処理中には評価値算出モードを設定し、経路方向情報の取得中には経路方向情報取得モードを設定することができる。また、data部分には、近傍領域の評価値や、経路方向情報の値が設定される。受信データのデータ構造をこのように構成することで、受信データのmode部分が経路方向情報取得モードを示す場合にのみ、data部分に設定された経路方向情報を用いて、以下の処理を行えばよい。   With reference to FIG. 9, the propagation process of the route direction information in the parallel operation unit 112 will be described. FIG. 9 is a flowchart for explaining the processing of each parallel computing unit 112_n. First, the reception unit 116 of the parallel computing unit 112_n receives the reception data transmitted from the parallel computing unit 112_n in the downstream direction, and holds the reception data in the reception buffer 117 (step S301). Data transmitted / received between the parallel computing units 112_n can be data having a structure as shown in FIG. For example, it comprises a mode portion indicating the mode of the route search processing and a data portion processed in the mode. For example, in the mode portion, the evaluation value calculation mode can be set during the evaluation value calculation process, and the route direction information acquisition mode can be set during the acquisition of the route direction information. In the data portion, an evaluation value of a neighborhood area and a value of route direction information are set. By configuring the data structure of the reception data in this way, only when the mode portion of the reception data indicates the route direction information acquisition mode, the following processing is performed using the route direction information set in the data portion. Good.

次に、並列演算器112_nは、受信データを所定の期間内に受信したか否かを判定する(ステップS302)。並列演算器112_nは、下流方向の他の並列演算器112_nから受信した経路方向情報を、上流方向の他の並列演算器112_nへと転送する。ここで、並列演算器112_nは、自身よりも下流方向の他の複数の並列演算器112_nからそれぞれ送信された経路方向情報を全て転送した後に、これら複数の経路方向情報に続けて、後述するようにして生成した経路方向情報を上流方向の他の並列演算器112_nへと送信する。このため、ここでは、下流方向の他の並列演算器112_nから連続して送信される経路方向情報の受信が途絶えた場合(即ち、所定の期間内に受信しなかった場合)には、下流方向からの経路方向情報の送信は終了したものと判断する。   Next, the parallel computing unit 112_n determines whether or not the received data is received within a predetermined period (step S302). The parallel computing unit 112_n transfers the path direction information received from the other parallel computing unit 112_n in the downstream direction to the other parallel computing unit 112_n in the upstream direction. Here, the parallel computing unit 112_n transfers all the route direction information respectively transmitted from the plurality of other parallel computing units 112_n in the downstream direction from itself, and then continues to the plurality of route direction information, as will be described later. The route direction information generated in this way is transmitted to another parallel computing unit 112_n in the upstream direction. Therefore, here, when the reception of the path direction information continuously transmitted from the other parallel computing unit 112_n in the downstream direction is interrupted (that is, when it is not received within a predetermined period), the downstream direction It is determined that the transmission of the route direction information from has ended.

ステップS302での判定の結果、所定の期間内に受信した場合には、送信部118は、下流方向の他の並列演算器112_nから受信した経路方向情報を、送信バッファ119にセットし(ステップS303)、上流方向の他の並列演算器112_nへと送信する(ステップS304)。   If the result of determination in step S302 is that it has been received within a predetermined period, the transmission unit 118 sets the path direction information received from other parallel computing units 112_n in the downstream direction in the transmission buffer 119 (step S303). ) To the other parallel computing unit 112_n in the upstream direction (step S304).

ステップS302での判定の結果、所定の期間内に受信しなかった場合には、経路方向情報生成部115は、上流方向の領域への方向を示す経路方向情報を生成する(ステップS305)。   As a result of the determination in step S302, if it is not received within the predetermined period, the route direction information generation unit 115 generates route direction information indicating the direction to the upstream region (step S305).

ここで、図11を参照して、経路方向情報の生成処理について説明する。まず、領域選択部114が、近傍に存在する領域から、移動始点を含む領域により近づく方向の一の選択領域を選択する。ここでは、領域選択部114は、近傍に存在する領域のうち、最も小さな評価値を有する一の選択領域を選択する。そして、経路方向情報生成部115は、自身の領域から選択された領域へと向かう方向の情報を、経路方向情報として生成する。例えば、図11に示すように、自身の領域を示す中央の領域から、隣接する近傍の8領域へと向かう白抜き矢印を経路方向とし、これら8方向を、0〜7の番号によりそれぞれ対応付ける。そして、例えば、経路方向情報を8ビットの情報を用いて示す場合には、8ビットの値のうちで、対応するビットの値のみを1とすることで、近傍の8領域のいずれの方向への経路方向情報であるかを示すことができる。具体的には、例えば、下方向(番号4)への経路方向情報を、"00001000"により示すことができる。   Here, the route direction information generation processing will be described with reference to FIG. First, the region selection unit 114 selects one selection region in a direction closer to the region including the movement start point from the regions existing in the vicinity. Here, the region selection unit 114 selects one selected region having the smallest evaluation value from the regions existing in the vicinity. Then, the route direction information generation unit 115 generates information on the direction from its own region toward the selected region as route direction information. For example, as shown in FIG. 11, a white arrow heading from a central area indicating its own area to 8 neighboring areas is defined as a path direction, and these 8 directions are associated with numbers 0 to 7, respectively. For example, when the route direction information is indicated by using 8-bit information, only the value of the corresponding bit among the 8-bit values is set to 1, so that the direction of any of the neighboring 8 regions is set. Can be shown. Specifically, for example, the route direction information in the downward direction (number 4) can be indicated by “00001000”.

尚、ここでは、経路方向情報の取得中に、近傍領域から選択領域を選択して経路方向情報を生成するものとして説明したが、上述した評価値算出処理中に経路方向情報を生成して、各並列演算器112_nに予め格納するものとしてもよい。   In addition, although it demonstrated as what selects a selection area | region from a near area and produces | generates route direction information here during acquisition of route direction information, route direction information is produced | generated during the evaluation value calculation process mentioned above, It is good also as what is previously stored in each parallel computing unit 112_n.

次に、送信部118は、経路方向情報生成部115で生成した経路方向情報を、送信バッファ119にセットし(ステップS306)、上流方向の他の並列演算器112_nへと送信する(ステップS304)。   Next, the transmission unit 118 sets the route direction information generated by the route direction information generation unit 115 in the transmission buffer 119 (step S306), and transmits it to another parallel computing unit 112_n in the upstream direction (step S304). .

図12及び図13は、経路方向情報の伝播の様子を説明するための図である。図12において、移動始点の領域名をAとし、移動終点の領域名をIとして示す。図12に示す各領域において生成された経路方向情報が、移動始点の領域Aへと向けて伝播する。具体的には、図13に示すように、まず、領域Iに対応する並列演算器112_nにより下方向を示す経路方向情報I(4)が生成され、評価値に基づいて選択された領域Hに対応する並列演算器112_nへと、経路方向情報I(4)が送信される。領域Hに対応する並列演算器112_nは、受信した経路方向情報I(4)を、下流方向の領域Gに対応する並列演算器112_nに転送する。さらに、領域Hに対応する並列演算器112_nは、右下方向を示す経路方向情報H(3)を生成して、領域Gに対応する並列演算器112_nへと経路方向情報H(3)を送信する。以下、領域Gから領域Aにかけて同様の処理を繰り返し、領域Aに対応する並列演算器112_nに対して、経路方向情報I(4)、経路方向情報H(3)、経路方向情報G(4)、経路方向情報F(5)、経路方向情報E(4)、経路方向情報D(5)、経路方向情報C(6)、経路方向情報B(5)が連続して送信される。   12 and 13 are diagrams for explaining a state of propagation of route direction information. In FIG. 12, the area name of the movement start point is indicated as A, and the area name of the movement end point is indicated as I. The route direction information generated in each area shown in FIG. 12 propagates toward the movement start area A. Specifically, as shown in FIG. 13, first, the path direction information I (4) indicating the downward direction is generated by the parallel computing unit 112_n corresponding to the region I, and the region H selected based on the evaluation value is generated. The path direction information I (4) is transmitted to the corresponding parallel computing unit 112_n. The parallel computing unit 112_n corresponding to the region H transfers the received path direction information I (4) to the parallel computing unit 112_n corresponding to the region G in the downstream direction. Furthermore, the parallel computing unit 112_n corresponding to the region H generates path direction information H (3) indicating the lower right direction, and transmits the path direction information H (3) to the parallel computing unit 112_n corresponding to the region G. To do. Thereafter, the same processing is repeated from the region G to the region A, and the route direction information I (4), the route direction information H (3), and the route direction information G (4) for the parallel computing unit 112_n corresponding to the region A. Route direction information F (5), route direction information E (4), route direction information D (5), route direction information C (6), and route direction information B (5) are transmitted in succession.

このように、各領域において生成された経路方向情報が移動始点の領域Aに対応する並列演算器112_nへと伝播する。コントローラ部111は、移動始点の領域Aに対応する並列演算器112_nへとアクセスし、経路方向情報を順次取得する。すなわち、コントローラ部111は、移動始点の領域Aに対応する並列演算器112_nのみにアクセスすることで、経路方向情報の系列を効率的に取得することができる。   In this way, the route direction information generated in each region is propagated to the parallel computing unit 112_n corresponding to the region A of the movement start point. The controller unit 111 accesses the parallel computing unit 112_n corresponding to the movement start point area A, and sequentially acquires path direction information. That is, the controller unit 111 can efficiently acquire a sequence of route direction information by accessing only the parallel computing unit 112_n corresponding to the region A of the movement start point.

ここで、並列演算部112内において、移動始点の領域Aに対する並列演算器112_nに全ての経路方向情報を集めるために必要な計算ステップは、経路を構成する領域の個数をnとした場合に、2n−1となる。並列演算部112内で経路方向情報を伝播させずに、コントローラ部111が各並列演算器112_nに直接アクセスして経路方向情報を取得した場合には、コントローラ部111は、各領域にアクセスした都度、上流方向へと向かう領域を選択する処理を全ての領域で行う必要がある。これに対して、本実施の形態1に係る経路方向情報の取得処理では、並列演算部112内において、移動始点の領域に対応する並列演算器112_nへ向けて各領域の経路方向情報が伝播するために、コントローラ部111は、該当の領域のみにアクセスして経路方向情報を取得すれば足りる。すなわち、コントローラ部111が並列演算器112_nにアクセスして経路方向情報を取得する際に、アクセスした領域から上流方向へと向かう領域を選択する処理を行わずに済むために、コントローラ部111が並列演算部112にアクセスする際の計算量を削減することができる。   Here, in the parallel operation unit 112, the calculation steps necessary for collecting all the route direction information in the parallel operation unit 112_n for the region A of the movement start point are as follows. 2n-1. When the controller unit 111 directly accesses each parallel computing unit 112_n and acquires the route direction information without propagating the route direction information in the parallel computing unit 112, the controller unit 111 accesses each area, It is necessary to perform the process of selecting the area going upstream in all areas. In contrast, in the path direction information acquisition process according to the first embodiment, the path direction information of each area is propagated to the parallel computing unit 112_n corresponding to the movement start point area in the parallel computing unit 112. Therefore, the controller unit 111 only needs to access the corresponding area and acquire the route direction information. That is, when the controller unit 111 accesses the parallel computing unit 112_n to acquire path direction information, the controller unit 111 does not need to perform a process of selecting a region from the accessed region to the upstream direction. It is possible to reduce the amount of calculation when accessing the arithmetic unit 112.

また、コントローラ部111は移動始点に対応する並列演算器112_nのみから経路方向情報を取得すればよいため、上位のコントローラ部111が下位の並列演算部112にアクセスするための接続線の本数を抑制することができる。また、複数の並列演算器112_nに対して一つの接続線を設け、その接続線を切替えて使用する構成とすることで、必要とする接続線の本数をより抑制することができる。さらに、各並列演算器112_nの受信バッファ117には、一つの経路方向情報のみを保持しておけばよいため、受信バッファ117のコストを抑制することができる。   In addition, since the controller unit 111 only needs to obtain the path direction information from the parallel computing unit 112_n corresponding to the movement start point, the number of connection lines for the upper controller unit 111 to access the lower parallel computing unit 112 is suppressed. can do. In addition, by providing one connection line for the plurality of parallel computing units 112 — n and switching the connection lines for use, the number of necessary connection lines can be further suppressed. Furthermore, since only one path direction information needs to be held in the reception buffer 117 of each parallel computing unit 112_n, the cost of the reception buffer 117 can be suppressed.

尚、移動始点に対応する並列演算器112_nの受信バッファ117のサイズを、経路を構成する経路方向情報の系列全体を保持可能なサイズとした場合には、各並列演算器112_nが搭載する受信バッファ117のコストは増加するものの、コントローラ部111は1度のアクセスにより、経路方向情報の系列全体を取得することができる。このため、並列演算部112とコントローラ部111との間のアクセス量を削減して、より効率的に経路探索処理を実行することができる。   In addition, when the size of the reception buffer 117 of the parallel computing unit 112_n corresponding to the movement start point is set to a size that can hold the entire series of route direction information constituting the route, the reception buffer mounted on each parallel computing unit 112_n. Although the cost of 117 increases, the controller unit 111 can acquire the entire series of route direction information by one access. For this reason, the amount of access between the parallel computing unit 112 and the controller unit 111 can be reduced, and the route search process can be executed more efficiently.

以上説明したように、本発明は、並列演算を用いて経路探索を高速に計算する手法において、特に、経路を構成する経路方向情報を、各並列演算器112_nから効率よく取得する手法に関する。本発明によれば、並列演算器112_n間の局所通信のみを利用することで、コントローラ部111は、経路方向情報の系列を効率的に取得することができる。これにより、上位のコントローラ部111と下位の並列演算部112との間の通信コストを削減することができ、経路探索装置1に係る製造コスト及び計算コストを低減することができる。   As described above, the present invention relates to a method for efficiently obtaining route direction information constituting a route from each parallel computing unit 112_n in a method for calculating a route search at high speed using parallel operations. According to the present invention, the controller unit 111 can efficiently acquire a series of route direction information by using only local communication between the parallel computing units 112_n. Thereby, the communication cost between the high-order controller part 111 and the low-order parallel operation part 112 can be reduced, and the manufacturing cost and calculation cost which concern on the route search apparatus 1 can be reduced.

尚、上述した各実施の形態では、ロボットが移動する移動領域を経路探索領域として、移動始点から移動終点へと至る経路を探索するものとして説明したが、本発明はこれに限定されない。すなわち、ロボットが移動する移動領域に限らず、通信ネットワークや動力学モデル場において、任意の二点間の最適な経路を探索するための並列演算などに対しても本発明を適用することができる。   In each of the above-described embodiments, the movement area in which the robot moves is described as a path search area, and the path from the movement start point to the movement end point is searched. However, the present invention is not limited to this. In other words, the present invention can be applied not only to a moving area where a robot moves, but also to a parallel operation for searching for an optimum route between any two points in a communication network or a dynamic model field. .

尚、本発明は上述した各実施の形態に限定されず、趣旨を逸脱しない範囲で適宜変更することが可能である。   In addition, this invention is not limited to each embodiment mentioned above, In the range which does not deviate from the meaning, it can change suitably.

1 経路探索装置、
11 経路探索処理部、12 経路探索記憶部、
111 コントローラ部、112_n 並列演算器、
113 評価値処理部、114 領域選択部、115 経路方向情報生成部、
116 受信部、117 受信バッファ、118 送信部、
119 送信バッファ、
32_n 評価値記憶部、33_n 評価値記憶部、34_n 状態設定用信号線、
領域
1 route search device,
11 route search processing unit, 12 route search storage unit,
111 controller unit, 112_n parallel computing unit,
113 evaluation value processing unit, 114 area selection unit, 115 route direction information generation unit,
116 reception unit, 117 reception buffer, 118 transmission unit,
119 send buffer,
32_n evaluation value storage unit, 33_n evaluation value storage unit, 34_n state setting signal line,
C n region

Claims (6)

経路探索領域内に存在する第1の地点から第2の地点に到達する経路を探索する経路探索装置であって、
前記経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、
前記並列演算部を統括するコントローラ部と、を備え、
前記並列演算部は、
前記複数の並列演算器が並列演算することで、対応するそれぞれの領域の評価値を算出し、
前記並列演算器は、
前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する領域選択手段と、
自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成手段と、
他の前記並列演算器から送信された経路方向情報を受信する受信手段と、
前記選択領域に対応する前記並列演算器に対して、前記受信手段で受信した前記経路方向情報を送信した後に、前記経路方向情報生成手段で生成した前記経路方向情報を送信する送信手段と、を備え、
前記コントローラ部は、
前記第2の地点を含む領域に対応する第2の並列演算器から前記経路方向情報の送信を最初に開始させた後に、前記並列演算部内で伝播した前記経路方向情報の系列を、前記第1の地点を含む領域に対応する第1の並列演算器から取得することで、前記経路を探索する
ことを特徴とする経路探索装置。
A route search device for searching for a route from a first point existing in a route search region to a second point,
The route search area is divided into a plurality of areas, and a parallel operation unit composed of a plurality of parallel computing units corresponding to the divided areas,
A controller unit that supervises the parallel operation unit,
The parallel computing unit is
The plurality of parallel computing units calculate in parallel, thereby calculating an evaluation value of each corresponding region,
The parallel computing unit is:
Based on the evaluation value of each area calculated by performing the parallel operation, area selection means for selecting one selection area from the areas existing in the vicinity,
Route direction information generating means for generating route direction information indicating a direction from the region corresponding to itself to the selected region;
Receiving means for receiving path direction information transmitted from another parallel computing unit;
Transmitting means for transmitting the route direction information generated by the route direction information generating means after transmitting the route direction information received by the receiving means to the parallel computing unit corresponding to the selected area; Prepared,
The controller unit is
After first starting transmission of the route direction information from the second parallel computing unit corresponding to the region including the second point, the sequence of the route direction information propagated in the parallel computing unit is the first A route search apparatus, wherein the route is searched by obtaining from a first parallel computing unit corresponding to a region including the point.
前記並列演算器は、
前記受信手段で受信した他の前記並列演算器から送信された経路方向情報を保持する受信バッファと、
前記受信バッファに保持した前記経路方向情報又は前記経路方向情報生成手段で生成した前記経路方向情報を送信するために保持する送信バッファと、を更に備え、
前記送信手段は、
他の前記並列演算器から送信された経路方向情報を受信した場合には、前記受信バッファに保持した前記経路方向情報を、前記送信バッファを介して前記選択領域に対応する前記並列演算器に送信し、
他の前記並列演算器から送信された経路方向情報を所定の期間受信しなかった場合には、前記経路方向情報生成手段で生成した前記経路方向情報を、前記送信バッファを介して前記選択領域に対応する前記並列演算器に送信する
ことを特徴とする請求項1に記載の経路探索装置。
The parallel computing unit is:
A reception buffer that holds path direction information transmitted from the other parallel computing units received by the receiving unit;
A transmission buffer that holds the route direction information held in the reception buffer or the route direction information generated by the route direction information generation unit;
The transmission means includes
When path direction information transmitted from another parallel computing unit is received, the path direction information held in the reception buffer is transmitted to the parallel computing unit corresponding to the selected region via the transmission buffer. And
When the route direction information transmitted from the other parallel computing unit is not received for a predetermined period, the route direction information generated by the route direction information generating means is transferred to the selection area via the transmission buffer. The route search device according to claim 1, wherein the route search device transmits to the corresponding parallel computing unit.
前記領域選択手段は、
前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から、前記第1の地点を含む領域により近づく方向の一の選択領域を選択する
ことを特徴とする請求項1に記載の経路探索装置。
The region selection means includes
The one selection area in the direction closer to the area including the first point is selected from the areas existing in the vicinity based on the evaluation value of each area calculated by the parallel calculation. 1. The route search device according to 1.
前記並列演算器は、
近傍に存在する領域の評価値と、当該近傍領域から自身に対応する領域までの移動コストに基づいて評価値を算出する評価値処理部を更に備える
ことを特徴とする請求項1に記載の経路探索装置。
The parallel computing unit is:
The route according to claim 1, further comprising: an evaluation value processing unit that calculates an evaluation value based on an evaluation value of a region existing in the vicinity and a movement cost from the neighboring region to a region corresponding to itself. Search device.
経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、前記並列演算部を統括するコントローラ部と、を備える移動体が、前記経路探索領域内に存在する第1の地点から第2の地点に到達する経路を探索する経路探索方法であって、
前記並列演算部が、
前記複数の並列演算器が並列演算することで、対応するそれぞれの領域の評価値を算出し、
前記並列演算器が、
前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する領域選択ステップと、
自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成ステップと、
他の前記並列演算器から送信された経路方向情報を受信する受信ステップと、
前記選択領域に対応する前記並列演算器に対して、前記受信した前記経路方向情報を送信した後に、前記生成した前記経路方向情報を送信する送信ステップと、を有し、
前記コントローラ部が、
前記第2の地点を含む領域に対応する第2の並列演算器から前記経路方向情報の送信を最初に開始させた後に、前記並列演算部内で伝播した前記経路方向情報の系列を、前記第1の地点を含む領域に対応する第1の並列演算器から取得することで、前記経路を探索する
ことを特徴とする経路探索方法。
A routed region is divided into a plurality of regions, and a mobile unit comprising: a parallel operation unit composed of a plurality of parallel computing units corresponding to each of the divided regions; and a controller unit that supervises the parallel operation unit. A route search method for searching for a route from the first point existing in the route search region to the second point,
The parallel computing unit is
The plurality of parallel computing units calculate in parallel, thereby calculating an evaluation value of each corresponding region,
The parallel computing unit is
Based on the evaluation value of each region calculated by performing the parallel operation, a region selection step of selecting one selection region from the regions existing in the vicinity,
A route direction information generating step for generating route direction information indicating a direction from the region corresponding to itself to the selected region;
A receiving step of receiving path direction information transmitted from the other parallel computing units;
A transmission step of transmitting the generated route direction information after transmitting the received route direction information to the parallel computing unit corresponding to the selection region;
The controller unit is
After first starting transmission of the route direction information from the second parallel computing unit corresponding to the region including the second point, the sequence of the route direction information propagated in the parallel computing unit is the first A route search method, wherein the route is searched by obtaining from a first parallel computing unit corresponding to a region including the point.
経路探索領域内に存在する第1の地点から第2の地点に到達する経路を探索する自律移動体であって、
前記経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、
前記並列演算部を統括するコントローラ部と、を備え、
前記並列演算部は、
近傍に存在する領域の評価値と、当該近傍領域から自身に対応する領域までの移動コストに基づいて、対応するそれぞれの領域の評価値を算出し、
前記並列演算器は、
前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域のうち最も小さい評価値を有する一の選択領域を選択する領域選択部と、
自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成部と、
他の前記並列演算器から送信された経路方向情報を受信する受信部と、
前記選択領域に対応する前記並列演算器に対して、前記受信部で受信した前記経路方向情報を送信した後に、前記経路方向情報生成部で生成した前記経路方向情報を送信する送信部と、を備え、
前記コントローラ部は、
前記第2の地点を含む領域に対応する第2の並列演算器から前記経路方向情報の送信を最初に開始させた後に、前記並列演算部内で伝播した前記経路方向情報の系列を、前記第1の地点を含む領域に対応する第1の並列演算器から取得することで、前記経路を探索する
ことを特徴とする自律移動体。
An autonomous mobile that searches for a route from the first point existing in the route search area to the second point,
The route search area is divided into a plurality of areas, and a parallel operation unit composed of a plurality of parallel computing units corresponding to the divided areas,
A controller unit that supervises the parallel operation unit,
The parallel computing unit is
Based on the evaluation value of the area existing in the vicinity and the movement cost from the vicinity area to the area corresponding to itself, the evaluation value of each corresponding area is calculated,
The parallel computing unit is:
Based on the evaluation value of each area calculated by performing the parallel operation, an area selection unit that selects one selection area having the smallest evaluation value among the areas existing in the vicinity;
A route direction information generating unit for generating route direction information indicating a direction from the region corresponding to itself to the selected region;
A receiving unit that receives path direction information transmitted from the other parallel computing units;
A transmission unit that transmits the route direction information generated by the route direction information generation unit after transmitting the route direction information received by the reception unit to the parallel computing unit corresponding to the selection region; Prepared,
The controller unit is
After first starting transmission of the route direction information from the second parallel computing unit corresponding to the region including the second point, the sequence of the route direction information propagated in the parallel computing unit is the first An autonomous mobile body, wherein the route is searched by obtaining from a first parallel computing unit corresponding to a region including the point.
JP2009105047A 2009-04-23 2009-04-23 Route search device, route search method, and autonomous mobile body Expired - Fee Related JP5278137B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009105047A JP5278137B2 (en) 2009-04-23 2009-04-23 Route search device, route search method, and autonomous mobile body

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009105047A JP5278137B2 (en) 2009-04-23 2009-04-23 Route search device, route search method, and autonomous mobile body

Publications (2)

Publication Number Publication Date
JP2010257115A JP2010257115A (en) 2010-11-11
JP5278137B2 true JP5278137B2 (en) 2013-09-04

Family

ID=43317968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009105047A Expired - Fee Related JP5278137B2 (en) 2009-04-23 2009-04-23 Route search device, route search method, and autonomous mobile body

Country Status (1)

Country Link
JP (1) JP5278137B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10274331B2 (en) 2016-09-16 2019-04-30 Polaris Industries Inc. Device and method for improving route planning computing devices

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06138940A (en) * 1992-10-27 1994-05-20 Matsushita Electric Works Ltd Autonomous mobile robot
JPH08278889A (en) * 1995-04-05 1996-10-22 Fujitsu Ltd Traveling salesman problem solution processing system using parallel computer
JPH08286920A (en) * 1995-04-13 1996-11-01 Fujitsu Ltd Traveling salesman problem processor
JP4734539B2 (en) * 2006-05-15 2011-07-27 学校法人慶應義塾 System and method for searching for the shortest path between nodes in a network
JP4985163B2 (en) * 2007-07-10 2012-07-25 トヨタ自動車株式会社 Route search system, route search method, and autonomous mobile body
JP4661838B2 (en) * 2007-07-18 2011-03-30 トヨタ自動車株式会社 Route planning apparatus and method, cost evaluation apparatus, and moving body
JP4985178B2 (en) * 2007-07-25 2012-07-25 トヨタ自動車株式会社 Route search system, route search method, route search program, and autonomous mobile
JP2009053849A (en) * 2007-08-24 2009-03-12 Toyota Motor Corp Path search system, path search method, and autonomous traveling body

Also Published As

Publication number Publication date
JP2010257115A (en) 2010-11-11

Similar Documents

Publication Publication Date Title
JP7431273B2 (en) Motion planning and reconfigurable motion planning processor for autonomous vehicles
US10137896B2 (en) Method and system for operating autonomous driving vehicles using graph-based lane change guide
CN107773164B (en) Cleaning method and device for cleaning robot and robot
JP4985163B2 (en) Route search system, route search method, and autonomous mobile body
US20190196485A1 (en) Non-blocking boundary for autonomous vehicle planning
US10288437B2 (en) Routing with data version stitching
CN110083149A (en) For infeed mechanism after the path of automatic driving vehicle and speed-optimization
US11113971B2 (en) V2X communication-based vehicle lane system for autonomous vehicles
JP5381679B2 (en) Route search system, method, program, and moving object
JP2009053849A (en) Path search system, path search method, and autonomous traveling body
US20200116497A1 (en) Real-time map generation scheme for autonomous vehicles based on prior driving trajectories
EP3633478B1 (en) Method and device for assessing probability of presence of obstacle in unknown position
CN109974699B (en) Robot and map autonomous exploration method and device thereof
CN112393732B (en) Unmanned aerial vehicle obstacle avoidance method and device, readable storage medium and electronic equipment
Li et al. Placing sensors for area coverage in a complex environment by a team of robots
JP7014180B2 (en) Vehicle control device, vehicle control method, and vehicle control device control program
JP5278137B2 (en) Route search device, route search method, and autonomous mobile body
Hong et al. A fast large-scale path planning method on lunar DEM using distributed tile pyramid strategy
KR20220095452A (en) Computer system of providing service consumption plan for efficient service migration in mobile edge computing environments, and method thereof
McCalip et al. Reinforcement learning approaches for racing and object avoidance on aws deepracer
CN111556546B (en) Searching method, system, storage medium and application of shortest information collection path
JP4985178B2 (en) Route search system, route search method, route search program, and autonomous mobile
US20220300002A1 (en) Methods and systems for path planning in a known environment
KR20130107062A (en) Apparatus and method of path planning for a plurality of moving bodies
CN114578843A (en) Flight path planning method and device, aircraft and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130506

R151 Written notification of patent or utility model registration

Ref document number: 5278137

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees