JP5278137B2 - Route search device, route search method, and autonomous mobile body - Google Patents
Route search device, route search method, and autonomous mobile body Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 78
- 238000011156 evaluation Methods 0.000 claims abstract description 163
- 230000005540 biological transmission Effects 0.000 claims abstract description 39
- 238000004364 calculation method Methods 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 42
- 230000000644 propagated effect Effects 0.000 claims description 12
- 230000001902 propagating effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000011144 upstream manufacturing Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000010129 solution processing Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 241000132092 Aster Species 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Landscapes
- Navigation (AREA)
Abstract
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に開示される解法処理システムでは、巡回対象の都市に対応させた各セルは、メッセージを受信した際にセル情報を追加し、ネットワークを介して隣接セルへメッセージを送信するメッセージ送信手段を備えている。また、最初にメッセージを送信するスタートセルは、受信したメッセージが全ての都市を経由して一番早くスタートセルに戻ってきたメッセージを検出すると、そのメッセージが最短経路を経由したメッセージであるとして経路探索処理を終了させるメッセージ監視手段を備えている。
特許文献2には、巡回セールスマン問題処理装置が開示されている。特許文献2では、並列計算による巡回セールスマン問題処理装置において、都市座標をセル数に応じて分割・割り当てる全体問題処理手段と、階層化した都市データを各セルに割り当てた部分問題を処理して解を求める部分問題処理手段を有する。
特許文献3には、経路探索システムが開示されている。特許文献4に開示される経路探索システムは、移動領域を複数の領域に分割する領域分割部と、分割された複数の領域に対応し、それぞれの領域の評価値を算出する複数の評価値算出部と、算出された評価値に基づいて経路を決定する経路決定部とを備えている。評価値算出部は、近傍に存在する領域の評価値と、その近傍領域から自領域までの移動コストに基づいて評価値を算出する評価値処理部を有している。
しかしながら、逐次的に処理を行うノイマン型コンピュータを用いて経路探索を行う場合には、演算部がメインメモリへと頻繁にアクセスする必要があり、経路探索自体に要する処理ではなく、メモリへのデータ参照のために多くの計算コストを消費するという問題がある。ノイマン型のコンピュータでは、メモリ及び演算部というそれぞれ独立したユニット構成であるために、両者間のアクセスが発生する。このため、メインメモリへのアクセス速度が遅い場合や、メインメモリへのアクセス頻度が多くなる場合、さらには、メインメモリに保持するデータ量が多くなる場合などには、コンピュータのプロセッサ自体の計算速度に比してメモリアクセス速度が低速なものとなり、メモリアクセス速度が、経路探索処理全体に係る処理能力の制約条件となってしまう。 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
特許文献3に開示される技術では、各領域の評価値処理部がそれぞれ評価値を算出することで、経路探索空間が広大な場合においても、高速に最適な経路を探索することができる。しかし、特許文献3に開示される技術では、経路探索に係る処理のうち、各領域の評価値を高速に算出することは可能であるが、算出した評価値に基づいて決定される経路情報を効率よく取得することができないという問題がある。具体的には、特許文献3に開示される技術では、並列演算を行う各評価値算出ユニットにより各領域の評価値を算出した後に、移動始点を含む領域から開始して、隣接する近傍領域において最小の評価値を持つ領域を経路として選択していく(段落0059など参照。)。ここで、選択された領域の系列である経路情報を取得するためには、経路上の全ての領域に逐次的にアクセスを行う必要があり、さらに、各領域にアクセスを行う都度、近傍領域の選択処理を行う必要があるため、効率よく経路情報を取得することができない。
In the technique disclosed in
従って、本発明は、互いに接続された複数の並列演算器から構成される並列演算部を用いて経路探索を行う技術において、並列演算部を統括する上位のコントローラ部が、探索した経路情報を効率的に取得することができる経路探索装置、経路探索方法、及び自律移動体を提供することを目的とする。 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.
本実施の形態1では、自律移動体としてのロボットに経路探索機能を搭載した場合を例に説明する。ロボットは、例えば、それぞれ独立して回転制御される二つの車輪を備えたものでもよく、2輪よりも多い、例えば4輪走行のロボットや、1輪走行のロボット、2足歩行・4足歩行のロボットであってもよい。また、ロボットに限らず、2輪走行や4輪走行の車両にも適用できる。ロボットは、障害物を検出するセンサやカメラを備え、検出された障害物に応じて、これを避けるように経路探索を行なうようにしてもよい。
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.
図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
経路探索記憶部12には、ロボットが移動する経路探索領域全体の形状に、略一定間隔d(例えば10cm)に配置された格子点を結ぶグリッド線を仮想的に描写することで得られるグリッドマップが記憶されている。ロボットは、GPS等から得られた位置情報を、このグリッドマップ上における自己の位置に置き換えて、グリッドマップ上における自己位置を認識する。グリッドマップ上において、ロボットの自己位置に相当する場所、および目的地である移動終点、及び移動終点におけるロボットの移動方向が特定される。ロボットは、グリッドマップ上において特定された自己位置を移動始点から、目的地である移動終点までの経路を探索し、探索した経路に従って移動を行う。
In the route
コントローラ部111は、並列演算部112を統括して制御処理を行い、経路方向情報の系列からなる経路を、並列演算部112から取得する。尚、コントローラ部111による並列演算部112の制御処理の詳細については後述する。
The
また、コントローラ部111は、ロボットが移動する経路探索領域を格子状の領域に分割する分割処理を行う。ここでは、上述の略一定間隔d(例えば10cm)に配置された格子点を囲む複数の領域に分割する。図2は、経路探索領域を分割して、離散化された複数の領域Cnを示す概念図である。尚、コントローラ部111による分割方法はこれに限定されない。例えば、上述の分割後の領域よりも大きな領域へと分割することで、経路探索に要する時間をより短縮することができる。
In addition, the
そして、コントローラ部111は、分割した領域間の接続関係を定める。以下では、注目する領域に接続する領域を近傍領域と称する。図3は、離散化された領域間の接続関係を説明するための概念図である。図3(a)では、注目する領域C0に対して、隣接領域C1乃至C8を近傍領域として定めるものである。また、図3(b)では、注目する領域C0に対して、隣接領域C1乃至C8に加えて、さらに領域C9乃至C16を近傍領域として定めるものである。このように、自領域に対して隣接した領域を越えた領域を近傍領域として設定可能とすることで、自領域及びそれら近傍領域間を通過する経路を作成することができる。このようにすれば、移動始点から移動終点へと至る経路の角度分解能を柔軟に設定することができ、より滑らかな経路を作成することができる。
And the
並列演算部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
尚、複数の並列演算器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
状態設定用信号線34_nは、コントローラ部111からの指令を受けて、並列演算器112_nによる処理を実行可能状態又は実行不能状態に設定するための状態設定信号を並列演算器112_nへと送信する。これにより、所望の並列演算器112_nについて、評価値算出処理などを行うタイミングを調整することができる。即ち、評価値算出処理などを実行させる場合には、並列演算器112_nへと評価値算出処理を実行可能とする状態設定信号を送信し、評価値算出処理を実行させない場合には、評価値算出処理を実行不能とする状態設定信号を送信する。
In response to a command from the
図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
評価値処理部113は、近傍に存在する領域の評価値と、その近傍領域から自身に対応する領域までの移動コストとに基づいて評価値を算出する。
The evaluation
領域選択部114は、並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する。ここでは、領域選択部114は、近傍に存在する領域から、移動始点を含む領域により近づく方向の一の選択領域を選択する。例えば、移動が禁止される禁止領域を除く他の領域において、移動始点を含む領域の評価値を基準として、移動始点から距離が離れる領域ほど大きな値の評価値を算出した場合には、領域選択部114は、近傍に存在する領域のうち、最も小さな評価値を有する一の選択領域を選択する。尚、以下では、自領域から、移動始点を含む領域により近づく方向を上流方向と称し、また、自領域から、移動終点を含む領域により近づく方向を下流方向と称する場合がある。
The
経路方向情報生成部115は、自身に対応する領域から選択領域への方向を示す経路方向情報を生成する。経路探索装置1により探索される経路は、経路方向情報の系列から構成される。
The route direction
受信部116は、他の並列演算器112_nから送信された経路方向情報を受信する。受信バッファ117は、受信部116で受信した経路方向情報を保持する。尚、受信バッファ117で保持するデータは経路方向情報に限定されず、並列演算器112_n間で送受信される他のデータの受信及び保持に利用してもよい。
The receiving
送信部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
送信バッファ119は、受信バッファ117に保持した経路方向情報又は経路方向情報生成部115で生成した経路方向情報を送信するために保持する。尚、送信バッファ119で保持するデータは経路方向情報に限定されず、並列演算器112_n間で送受信される他のデータの送信及び保持に利用してもよい。
The
続いて、本実施の形態1に係る経路探索装置1による経路探索処理について、図5乃至13を参照して説明する。図5は、本実施の形態1に係る経路探索装置1による経路探索処理の全体構成を示すフローチャート図である。
Next, route search processing by the
まず、コントローラ部111は、グリッドマップ上において、移動始点と移動終点を設定する(ステップS101)。そして、グリッドマップ上において、環境内に存在する障害物の登録(ステップS102)や、禁止領域(ステップS103)の作成を行う。
First, the
次いで、並列演算部112は、複数の並列演算器102_nが並列演算することで、対応するそれぞれの領域の評価値を算出する(ステップS104)。このため、コントローラ部111は、グリッドマップを複数の領域に分割し、各領域を並列演算器112_nに対応付けた後に、下位の並列演算部112の各並列演算器112_nに対して評価値算出処理の開始を指示する。尚、並列演算部112における評価値算出処理の詳細については後述する。
Next, the
次いで、コントローラ部111は、ステップS104で算出した評価値から各領域の経路方向情報を並列演算器112_nにより生成させて、並列演算部112内で伝播させた経路方向情報を取得する(ステップS105)。尚、並列演算部112からの経路方向情報の取得処理の詳細については後述する。
Next, the
本実施の形態1に係る経路探索装置1は、ステップS101〜S105に係る経路探索処理のうち、特に、S105に係る経路方向情報の効率的な取得処理を可能とする。即ち、本実施の形態1に係る経路探索装置1によれば、並列演算部112の各並列演算器112_nから、経路方向情報を効率よく取得することができる。
The
まず、図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
次に、コントローラ部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
次に、コントローラ部111は、移動始点を指定して、その移動始点を含む領域に対応する並列演算器112_nについて、その評価値記憶部32_n又は評価値記憶部33_nの少なくとも一方に、評価値の最小値(例えば0)を代入する(S203)。以下では、その評価値記憶部32_nのみに評価値の最小値が代入されたものとして説明する。
Next, the
次に、コントローラ部111は、評価値算出処理を開始するための計算開始クロックC1を発生する(S204)。状態設定用信号線34_nを介して、CPUのクロックに相当するパルスが各並列演算器112_nへと送信され、各並列演算器112_nでS205乃至208における処理が実行される。またこのとき、評価値算出処理を実行させる並列演算器112_nに対しては、評価値算出処理を実行可能とする状態設定信号が送信され、評価値算出処理を実行させない並列演算器112_nに対しては、評価値算出処理を実行不能とする状態設定信号が送信される。
Then, the
各並列演算器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による評価値算出処理のタイミングを同期させることができる。尚、クロックC1の次のクロックC2によってステップS205乃至208における処理が実行される場合には、ステップS205乃至S208の処理において、評価値記憶部33_nに格納されている評価値に基づいて評価値算出処理が実行され、その結果が評価値記憶部32に格納される。更には、クロックC2の次のクロックC3によって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
一方、ステップ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
図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
コントローラ部111は、並列演算部112における各領域の評価値算出処理が終了した後、並列演算部112内の特定の並列演算器112_nから経路方向情報を取得することで、経路方向情報の系列から構成される経路を効率的に取得する。例えば、図8に、生成される経路方向情報を白抜き矢印で示す(各領域間に示す白抜き矢印が、各領域で生成される経路方向情報を示している)。これら経路方向情報の系列が、経路を構成する。移動終点から移動始点へと向かって、これら経路方向情報に沿って規定される経路が、移動終点から移動始点までの最短経路を示している(同時に、移動終点から移動始点までの最短経路を意味する)。尚、移動終点における評価値110は、移動始点から移動終点までに要する移動コストの総コストを意味している。後述するように、並列演算部112は、各領域における経路方向情報を上流方向である移動始点へと向けて伝播させる。コントローラ部111は、移動始点を含む領域に対応する並列演算器112_nから、これら経路方向情報を順次取得する。コントローラ部111は、グリッドマップ上における移動始点又は移動終点の座標と、取得した経路方向情報の系列とから、グリッドマップ上における経路(即ち、経路を構成する座標値の点列)を構成する。これにより、経路探索装置1は、移動始点から移動終点へと至る経路を探索する。
After the evaluation value calculation processing for each region in the
続いて、図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
図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
次に、並列演算器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
ステップS302での判定の結果、所定の期間内に受信しなかった場合には、経路方向情報生成部115は、上流方向の領域への方向を示す経路方向情報を生成する(ステップS305)。
As a result of the determination in step S302, if it is not received within the predetermined period, the route direction
ここで、図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
尚、ここでは、経路方向情報の取得中に、近傍領域から選択領域を選択して経路方向情報を生成するものとして説明したが、上述した評価値算出処理中に経路方向情報を生成して、各並列演算器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
図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
ここで、並列演算部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
また、コントローラ部111は移動始点に対応する並列演算器112_nのみから経路方向情報を取得すればよいため、上位のコントローラ部111が下位の並列演算部112にアクセスするための接続線の本数を抑制することができる。また、複数の並列演算器112_nに対して一つの接続線を設け、その接続線を切替えて使用する構成とすることで、必要とする接続線の本数をより抑制することができる。さらに、各並列演算器112_nの受信バッファ117には、一つの経路方向情報のみを保持しておけばよいため、受信バッファ117のコストを抑制することができる。
In addition, since the
尚、移動始点に対応する並列演算器112_nの受信バッファ117のサイズを、経路を構成する経路方向情報の系列全体を保持可能なサイズとした場合には、各並列演算器112_nが搭載する受信バッファ117のコストは増加するものの、コントローラ部111は1度のアクセスにより、経路方向情報の系列全体を取得することができる。このため、並列演算部112とコントローラ部111との間のアクセス量を削減して、より効率的に経路探索処理を実行することができる。
In addition, when the size of the
以上説明したように、本発明は、並列演算を用いて経路探索を高速に計算する手法において、特に、経路を構成する経路方向情報を、各並列演算器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
尚、上述した各実施の形態では、ロボットが移動する移動領域を経路探索領域として、移動始点から移動終点へと至る経路を探索するものとして説明したが、本発明はこれに限定されない。すなわち、ロボットが移動する移動領域に限らず、通信ネットワークや動力学モデル場において、任意の二点間の最適な経路を探索するための並列演算などに対しても本発明を適用することができる。 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 状態設定用信号線、
Cn 領域
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)
前記経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、
前記並列演算部を統括するコントローラ部と、を備え、
前記並列演算部は、
前記複数の並列演算器が並列演算することで、対応するそれぞれの領域の評価値を算出し、
前記並列演算器は、
前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する領域選択手段と、
自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成手段と、
他の前記並列演算器から送信された経路方向情報を受信する受信手段と、
前記選択領域に対応する前記並列演算器に対して、前記受信手段で受信した前記経路方向情報を送信した後に、前記経路方向情報生成手段で生成した前記経路方向情報を送信する送信手段と、を備え、
前記コントローラ部は、
前記第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.
前記並列演算部が、
前記複数の並列演算器が並列演算することで、対応するそれぞれの領域の評価値を算出し、
前記並列演算器が、
前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域から一の選択領域を選択する領域選択ステップと、
自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成ステップと、
他の前記並列演算器から送信された経路方向情報を受信する受信ステップと、
前記選択領域に対応する前記並列演算器に対して、前記受信した前記経路方向情報を送信した後に、前記生成した前記経路方向情報を送信する送信ステップと、を有し、
前記コントローラ部が、
前記第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.
前記経路探索領域が複数の領域に分割され、分割されたそれぞれの領域に対応する複数の並列演算器から構成される並列演算部と、
前記並列演算部を統括するコントローラ部と、を備え、
前記並列演算部は、
近傍に存在する領域の評価値と、当該近傍領域から自身に対応する領域までの移動コストに基づいて、対応するそれぞれの領域の評価値を算出し、
前記並列演算器は、
前記並列演算することで算出した各領域の評価値に基づいて、近傍に存在する領域のうち最も小さい評価値を有する一の選択領域を選択する領域選択部と、
自身に対応する領域から前記選択領域への方向を示す経路方向情報を生成する経路方向情報生成部と、
他の前記並列演算器から送信された経路方向情報を受信する受信部と、
前記選択領域に対応する前記並列演算器に対して、前記受信部で受信した前記経路方向情報を送信した後に、前記経路方向情報生成部で生成した前記経路方向情報を送信する送信部と、を備え、
前記コントローラ部は、
前記第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.
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)
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)
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 |
-
2009
- 2009-04-23 JP JP2009105047A patent/JP5278137B2/en not_active Expired - Fee Related
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 |