JP7775821B2 - Orbit search device - Google Patents
Orbit search deviceInfo
- Publication number
- JP7775821B2 JP7775821B2 JP2022209328A JP2022209328A JP7775821B2 JP 7775821 B2 JP7775821 B2 JP 7775821B2 JP 2022209328 A JP2022209328 A JP 2022209328A JP 2022209328 A JP2022209328 A JP 2022209328A JP 7775821 B2 JP7775821 B2 JP 7775821B2
- Authority
- JP
- Japan
- Prior art keywords
- tree
- node
- trajectory
- point
- start point
- 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.)
- Active
Links
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
本開示は、軌道探索装置に関し、例えば、Rapidly-exploring Random Treeを用いてスタート点とゴール点との双方向からロボットの軌道を探索する装置、方法及びプログラムに関する。 This disclosure relates to a trajectory search device, and more particularly to a device, method, and program that searches for a robot trajectory from both a start point and a goal point using a rapidly-exploring random tree.
特許文献1は、Rapidly-exploring Random TreeやBidirectional Rapidly-exploring Random Treeによってロボットの軌道を探索して生成している。 Patent Document 1 uses a Rapidly-exploring Random Tree or a Bidirectional Rapidly-exploring Random Tree to search for and generate a robot's trajectory.
本出願人は、以下の課題を見出した。双方向探索では、スタート地点を根とするツリーおよびゴール地点を根とするツリーのうち、難易度が高い(即ち、制約条件が多い)側のツリーの生成が進まない一方で、難易度が低い側のツリーの生成のみが進み、無駄な計算が多くなるという問題があった。 The applicant has discovered the following problem: In bidirectional search, of the trees rooted at the start point and the goal point, the generation of the tree with the higher difficulty (i.e., the number of constraints) does not progress, while only the generation of the tree with the lower difficulty progresses, resulting in a lot of unnecessary calculations.
本開示は、このような問題点に鑑みてなされたものであり、軌道探索の迅速化に寄与可能な軌道探索装置を実現する。 This disclosure was made in consideration of these problems, and realizes a trajectory search device that can contribute to speeding up trajectory searches.
本開示の一態様の軌道探索装置は、Rapidly-exploring Random Treeを用いてスタート点とゴール点との双方向からロボットの軌道を探索する装置であって、
状態空間を示す情報を取得する空間情報取得部と、
前記状態空間での前記ロボットの前記スタート点及び前記ゴール点を示す情報を取得する状態情報取得部と、
前記状態空間を示す情報、及び前記状態空間での前記ロボットの前記スタート点並びに前記ゴール点を示す情報に基づいて、前記Rapidly-exploring Random Treeによって前記ロボットの軌道を前記スタート点と前記ゴール点との双方向から探索する軌道探索部と、
を備え、
前記軌道探索部は、前記スタート点を根とするツリーにおいてノードの生成に成功した回数または割合と、前記ゴール点を根とするツリーにおいてノードの生成に成功した回数または割合と、の差が予め設定された値より大きい場合、ノードの生成に成功した回数または割合が少ない側のツリーを優先的に伸ばす。
A trajectory search device according to one aspect of the present disclosure is a device that searches for a trajectory of a robot from both a start point and a goal point using a Rapidly-exploring Random Tree,
a space information acquisition unit that acquires information indicating a state space;
a state information acquisition unit that acquires information indicating the start point and the goal point of the robot in the state space;
a trajectory search unit that searches for a trajectory of the robot from both the start point and the goal point using the Rapidly-exploring Random Tree based on information indicating the state space and information indicating the start point and the goal point of the robot in the state space;
Equipped with
When the difference between the number or percentage of successful node generation in the tree rooted at the start point and the number or percentage of successful node generation in the tree rooted at the goal point is greater than a preset value, the trajectory search unit preferentially extends the tree with a lower number or percentage of successful node generation.
本開示によれば、軌道探索の迅速化に寄与可能な軌道探索装置を実現することができる。 This disclosure makes it possible to realize a trajectory search device that can contribute to speeding up trajectory searches.
以下、本開示を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。但し、本開示が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。 Specific embodiments to which the present disclosure is applied are described in detail below, with reference to the drawings. However, the present disclosure is not limited to the following embodiments. Furthermore, the following description and drawings have been simplified as appropriate for clarity of explanation.
<本開示に至る経緯>
先ず、一般的なBidirectional Rapidly-exploring Random Treeによってロボットの軌道を探索する流れの代表例を説明する。ここで、図1は、一般的なBidirectional Rapidly-exploring Random Treeによってロボットの軌道を探索する流れの代表例を示すフローチャート図である。
<Background to this disclosure>
First, a typical example of the flow of searching for a robot trajectory using a general bidirectional rapidly-exploring random tree will be described. Here, Fig. 1 is a flowchart showing a typical example of the flow of searching for a robot trajectory using a general bidirectional rapidly-exploring random tree.
一般的なBidirectional Rapidly-exploring Random Treeは、状態空間内でスタート点(スタート状態)とゴール点(ゴール状態)との双方向からツリーを生成してロボットの軌道を探索する。 A typical Bidirectional Rapidly-exploring Random Tree generates a tree in both directions between the start point (start state) and the goal point (goal state) in the state space to search for a robot's trajectory.
詳細には、先ず、状態空間を示す情報、及び状態空間内でのスタート点及びゴール点を示す情報を取得する(S101)。ここで、状態空間は、例えば、ロボットの各関節の角度指令値や環境内の位置などの状態変数によって表現される空間である。そのため、状態空間内の一点は、環境内でのロボットの位置、姿勢が一意に定まるものである。 In detail, first, information indicating the state space and information indicating the start point and goal point within the state space are obtained (S101). Here, the state space is a space expressed by state variables such as the angle command values for each joint of the robot and the position within the environment. Therefore, a point within the state space uniquely determines the position and posture of the robot within the environment.
次に、ランダムサンプリングによって状態空間内でサンプル点を設定し、スタート点を根とするツリーにおけるサンプル点に最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるサンプル点に最も近いゴール点、ターゲットノード若しくはコネクトノードの一方から当該サンプル点に向けてターゲットノードの生成を試み、ターゲットノードの生成に成功したか否かを判定する(S102)。 Next, a sample point is set in the state space by random sampling, and an attempt is made to generate a target node toward the sample point from either the start point, target node, or connect node closest to the sample point in a tree rooted at the start point, or the goal point, target node, or connect node closest to the sample point in a tree rooted at the goal point, and it is determined whether the target node was successfully generated (S102).
ここで、「スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード」とは、未だターゲットノード及びコネクトノードが生成されていない場合、スタート点を示し、「ゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノード」とは、未だターゲットノード及びコネクトノードが生成されていない場合、ゴール点を示す。 Here, "the start point, target node, or connect node of a tree rooted at the start point" refers to the start point if the target node and connect node have not yet been generated, and "the goal point, target node, or connect node of a tree rooted at the goal point" refers to the goal point if the target node and connect node have not yet been generated.
ターゲットノードの生成に失敗した場合(S102のNO)、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方の側と他方の側とを入れ替えて(S103)、S102の工程に戻る。 If the generation of the target node fails (NO in S102), the start point, target node, or connect node of the tree rooted at the start point, or the goal point, target node, or connect node of the tree rooted at the goal point, is swapped (S103), and the process returns to step S102.
ターゲットノードの生成に成功した場合(S102のYES)、スタート点を根とするツリーにおけるサンプル点に最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるサンプル点に最も近いゴール点、ターゲットノード若しくはコネクトノードの一方と、生成したターゲットノードと、を枝によって接続して当該ツリーを伸ばす(S104)。 If the target node is successfully generated (YES in S102), the tree is extended by connecting the generated target node with a branch to either the start point, target node, or connect node closest to the sample point in the tree rooted at the start point, or the goal point, target node, or connect node closest to the sample point in the tree rooted at the goal point (S104).
このとき、枝の長さは、ロボットの可動域などに応じて、適宜、設定することができる。なお、S104の工程以降では、S103の工程で一方の側と他方の側とが入れ替わっている場合、一方の側と他方の側とが入れ替わることになる。 At this time, the length of the branch can be set appropriately depending on the range of motion of the robot, etc. Note that from step S104 onwards, if one side and the other side were swapped in step S103, then the two sides will be swapped again.
次に、スタート点を根とするツリーにおけるS102で生成したターゲットノードに最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるS102で生成したターゲットノードに最も近いゴール点、ターゲットノード若しくはコネクトノードの他方から当該生成したターゲットノードに向かってコネクトノードの生成を試み、コネクトノードの生成に成功したか否かを判定する(S105)。つまり、コネクトノードが状態空間内の障害物などに接触するか否かを判定する。 Next, an attempt is made to generate a connect node from the start point, target node, or connect node closest to the target node generated in S102 in the tree rooted at the start point, or from the other of the goal point, target node, or connect node closest to the target node generated in S102 in the tree rooted at the goal point, toward the generated target node, and it is determined whether the generation of the connect node was successful (S105). In other words, it is determined whether the connect node will come into contact with an obstacle or the like in the state space.
コネクトノードの生成に失敗した場合(S105のNO)、S103の工程に戻る。一方、コネクトノードの生成に成功した場合(S105のYES)、スタート点を根とするツリーにおけるS102で生成したターゲットノードに最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるS102で生成したターゲットノードに最も近いゴール点、ターゲットノード若しくはコネクトノードの他方と、当該生成したコネクトノードと、を枝によって接続して当該ツリーを伸ばす(S106)。 If the generation of the connect node fails (NO in S105), the process returns to step S103. On the other hand, if the generation of the connect node is successful (YES in S105), the tree is extended by connecting the generated connect node to the start point, target node, or connect node closest to the target node generated in S102 in the tree rooted at the start point, or the other of the goal point, target node, or connect node closest to the target node generated in S102 in the tree rooted at the goal point, with a branch (S106).
次に、生成したコネクトノードが、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方に到達(接触)したか否かを判定する(S107)。 Next, it is determined whether the generated connect node has reached (contacted) the start point, target node, or connect node of the tree rooted at the start point, or the goal point, target node, or connect node of the tree rooted at the goal point (S107).
生成したコネクトノードが、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方に到達した場合(S107のYES)、スタート点からターゲットノードやコネクトノードを介してゴール点までを結んだ状態列(即ち、相互のツリーの枝)をロボットの軌道とする(S108)。 If the generated connect node reaches either the start point, target node, or connect node of a tree rooted at the start point, or the goal point, target node, or connect node of a tree rooted at the goal point (YES in S107), the sequence of states connecting the start point to the goal point via the target node or connect node (i.e., the branches of the respective trees) is set as the robot's trajectory (S108).
生成したコネクトノードが、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方に到達していない場合(S107のNO)、S105の工程に戻る。 If the generated connect node has not reached either the start point, target node, or connect node of the tree rooted at the start point, or the goal point, target node, or connect node of the tree rooted at the goal point (NO in S107), return to step S105.
次に、上述の流れによってロボットの軌道を探索する具体例を説明する。図2~図10は、ロボットの軌道を探索する具体例を説明するための図である。ここで、図2~図10では、状態空間C内での障害物などの制約条件に符号Oを付している。 Next, we will explain a specific example of searching for a robot's trajectory using the above-mentioned process. Figures 2 to 10 are diagrams for explaining a specific example of searching for a robot's trajectory. In Figures 2 to 10, constraints such as obstacles within state space C are marked with the symbol O.
先ず、図2に示すように、状態空間C内でスタート点qinit及びゴール点qgoalを設定し、ランダムサンプリングによって状態空間C内にサンプル点qrand1を設定する。次に、スタート点qinitからサンプル点qrand1に向かってターゲットノードqnew1の生成を試みる。図2では、ターゲットノードqnew1の生成に成功しており、スタート点qinitとターゲットノードqnew1とを枝B1によって接続してスタート点qinitを根とするツリーT1を伸ばしている。 First, as shown in Figure 2, a start point q init and a goal point q goal are set in the state space C, and a sample point q rand1 is set in the state space C by random sampling. Next, an attempt is made to generate a target node q new1 from the start point q init toward the sample point q rand1 . In Figure 2, the target node q new1 is successfully generated, and the start point q init and the target node q new1 are connected by a branch B1 , extending a tree T1 rooted at the start point q init .
次に、図3に示すように、ゴール点qgoalからターゲットノードqnew1に向かってコネクトノードqconnect1の生成を試みる。図3では、コネクトノードqconnect1の生成に成功しており、ゴール点qgoalとコネクトノードqconnect1とを枝B2によって接続してゴール点qgoalを根とするツリーT2を伸ばしている。 Next, an attempt is made to generate a connect node q connect1 from the goal point q goal to the target node q new1 , as shown in Figure 3. In Figure 3, the generation of the connect node q connect1 is successful, and the goal point q goal and the connect node q connect1 are connected by a branch B2 , extending a tree T2 rooted at the goal point q goal .
次に、コネクトノードqconnect1からターゲットノードqnew1に向かって新たなコネクトノードの生成を試みる。図3では、新たなコネクトノードの生成に失敗している。そして、図4に示すように、ランダムサンプリングによって状態空間C内にサンプル点qrand2を設定する。 Next, an attempt is made to generate a new connect node from the connect node q connect1 to the target node q new1 . In Figure 3, the generation of the new connect node fails. Then, as shown in Figure 4, a sample point q rand2 is set in the state space C by random sampling.
次に、図4に示すように、ツリーT2のゴール点qgoal及びコネクトノードqconnect1のうち、サンプル点qrand2に最も近いゴール点qgoalからサンプル点qrand2に向かってターゲットノードqnew2の生成を試みる。図4では、ターゲットノードqnew2の生成に成功しており、ゴール点qgoalとターゲットノードqnew2とを枝B3によって接続してツリーT2を伸ばしている。 Next, as shown in Fig. 4, an attempt is made to generate a target node qnew2 from the goal point qgoal that is closest to the sample point qrand2 among the goal point qgoal and connect node qconnect1 of tree T2 toward sample point qrand2 . In Fig. 4, the generation of the target node qnew2 is successful, and the goal point qgoal and target node qnew2 are connected by branch B3 to extend tree T2 .
次に、図5に示すように、ツリーT1のスタート点qinit及びターゲットノードqnew1のうち、ターゲットノードqnew2に最も近いスタート点qinitからターゲットノードqnew2に向かってコネクトノードqconnect2の生成を試みる。図5では、コネクトノードqconnect2の生成に成功しており、スタート点qinitとコネクトノードqconnect2とを枝B4によって接続してツリーT1を伸ばしている。 Next, as shown in Fig. 5 , an attempt is made to generate a connect node q connect2 from the start point q init that is closest to the target node q new2 among the start point q init and the target node q new1 of the tree T1 toward the target node q new2 . In Fig. 5, the generation of the connect node q connect2 is successful, and the start point q init and the connect node q connect2 are connected by a branch B4 , thereby extending the tree T1 .
次に、図6に示すように、コネクトノードqconnect2からターゲットノードqnew2に向かって新たなコネクトノードの生成を試みる。図6では、新たなコネクトノードの生成に失敗している。 Next, an attempt is made to generate a new connect node from the connect node q connect2 to the target node q new2 , as shown in Fig. 6. In Fig. 6, the generation of the new connect node fails.
次に、図7に示すように、ランダムサンプリングによって状態空間C内にサンプル点qrand3を設定する。そして、ツリーT1のスタート点qinit、ターゲットノードqnew1及びコネクトノードqconnect2のうち、サンプル点qrand3に最も近いコネクトノードqconnect2からサンプル点qrand3に向かってターゲットノードqnew3の生成を試みる。図7では、ターゲットノードqnew3の生成に成功しており、コネクトノードqconnect2とターゲットノードqnew3とを枝B5によって接続してツリーT1を伸ばしている。 Next, as shown in Fig. 7, a sample point q rand3 is set in the state space C by random sampling. Then, among the start point q init , target node q new1 , and connect node q connect2 of the tree T1 , an attempt is made to generate a target node q new3 from the connect node q connect2 that is closest to the sample point q rand3 toward the sample point q rand3 . In Fig. 7, the target node q new3 is successfully generated, and the connect node q connect2 and the target node q new3 are connected by a branch B5 , thereby extending the tree T1 .
次に、図8に示すように、ツリーT2のゴール点qgoal、ターゲットノードqnew2及びコネクトノードqconnect1のうち、ターゲットノードqnew3に最も近いターゲットノードqnew2からターゲットノードqnew3に向かってコネクトノードqconnect3の生成を試みる。図8では、コネクトノードqconnect3の生成に成功しており、ターゲットノードqnew2とコネクトノードqconnect3とを枝B6によって接続してツリーT2を伸ばしている。 Next, as shown in Fig. 8 , an attempt is made to generate a connect node q connect3 from the target node q new2 that is closest to the target node q new3 among the goal point q goal , target node q new2 , and connect node q connect1 of tree T2 toward the target node q new3 . In Fig. 8, the generation of connect node q connect3 is successful, and the target node q new2 and connect node q connect3 are connected by branch B6 , thereby extending tree T2 .
その後、図9及び図10に示すように、コネクトノードqconnect3からターゲットノードqnew3に向かって新たなコネクトノードqconnect4、qconnect5の生成に成功して、コネクトノードqconnect3とコネクトノードqconnect4とを枝B7、コネクトノードqconnect4とコネクトノードqconnect5とを枝B8によって接続してツリーT2を伸ばし、コネクトノードqconnect5がターゲットノードqnew3に到達していると、スタート点qinitとコネクトノードqconnect2とターゲットノードqnew3(qconnect5)とコネクトノードqconnect4とコネクトノードqconnect3とターゲットノードqnew2とゴール点qgoalとを結ぶ、ツリーT1及びツリーT2の枝B4、枝B5、枝B8、枝B7、枝B6、枝B2が示す状態列をロボットの軌道とする。 After that, as shown in Figures 9 and 10, new connect nodes q connect4 and q connect5 are successfully generated from connect node q connect3 toward target node q new3 , and connect node q connect3 and connect node q connect4 are connected by branch B 7 , and connect node q connect4 and connect node q connect5 by branch B 8 , thereby extending tree T 2. When connect node q connect5 has reached target node q new3 , the state sequence indicated by branches B 4 , B 5 , B 8 , B 7 , B 6 , and B 2 of tree T 1 and tree T 2, which connect start point q init, connect node q connect2 , target node q new3 (q connect5 ), connect node q connect4 , connect node q connect3 , target node q new2 , and goal point q goal , is set as the robot's trajectory.
図11は、制約条件が少ない側のツリーと制約条件が多い側のツリーとの相違を説明するための図である。一般的なBidirectional Rapidly-exploring Random Treeでは、例えば、図11に示すように、状態空間C内でスタート点qinit又はゴール点qgoalの周辺に障害物などの制約条件Oが多い場合、制約条件Oが少ない側のツリーで無駄なノードの生成が繰り返され、制約条件Oが少ない側のツリーのノード数が、制約条件Oが多い側のツリーのノード数に比べて多くなる可能性がある。また、制約条件Oが少ない側のツリーにおけるノード生成の成功率は、制約条件Oが多い側のツリーにおけるノード生成の成功率に比べて高くなる可能性がある。 11 is a diagram illustrating the difference between a tree on the side with fewer constraints and a tree on the side with more constraints. In a typical Bidirectional Rapidly-exploring Random Tree, for example, as shown in FIG. 11 , when there are many constraints O, such as obstacles, around the start point q init or the goal point q goal in the state space C, unnecessary node generation is repeated in the tree on the side with fewer constraints O, and the number of nodes in the tree on the side with fewer constraints O may be greater than the number of nodes in the tree on the side with more constraints O. In addition, the success rate of node generation in the tree on the side with fewer constraints O may be higher than the success rate of node generation in the tree on the side with more constraints O.
そこで、本開示では、ツリーのノード数や、ノード生成の成功率に着目して、制約条件が少ない側のツリーでの無駄なノードの生成を抑制することで、計算量の低減を図り、その結果、軌道探索の迅速化に寄与可能な軌道探索装置を実現する。ここで、「ノード数」とは、ツリーを形成するターゲットノードとコネクトノードとの総数である。 This disclosure focuses on the number of nodes in a tree and the success rate of node generation, and by suppressing the generation of unnecessary nodes in trees with fewer constraints, it aims to reduce the amount of calculations, thereby realizing a trajectory search device that can contribute to speeding up trajectory searches. Here, "number of nodes" refers to the total number of target nodes and connect nodes that form the tree.
<実施の形態1>
先ず、本実施の形態の軌道探索装置の構成を説明する。図12は、本実施の形態の軌道探索装置の構成を示すブロック図である。軌道探索装置1は、図12に示すように、空間情報取得部2、状態情報取得部3及び軌道探索部4を備えている。
First Embodiment
First, the configuration of the trajectory search device of this embodiment will be described. Fig. 12 is a block diagram showing the configuration of the trajectory search device of this embodiment. As shown in Fig. 12, the trajectory search device 1 includes a space information acquisition unit 2, a state information acquisition unit 3, and a trajectory search unit 4.
空間情報取得部2は、ロボットの可動範囲や当該ロボットが動作する空間などに基づく状態空間を示す情報を取得する。状態情報取得部3は、状態空間内でのロボットのスタート点及びゴール点を示す情報を取得する。なお、これらの状態空間を示す情報及び当該状態空間内でのロボットのスタート点及びゴール点を示す情報は、外部の入力装置を介して入力することができる。 The spatial information acquisition unit 2 acquires information indicating the state space based on the robot's range of motion and the space in which the robot operates. The state information acquisition unit 3 acquires information indicating the robot's start point and goal point within the state space. Note that this information indicating the state space and the information indicating the robot's start point and goal point within the state space can be input via an external input device.
軌道探索部4は、状態空間を示す情報、及び当該状態空間内でのロボットのスタート点並びにゴール点を示す情報に基づいて、Rapidly-exploring Random Treeによってロボットの軌道をスタート点とゴール点との双方向から探索する。 The trajectory search unit 4 searches for the robot's trajectory in both directions, between the start point and the goal point, using a rapidly-exploring random tree based on information indicating the state space and information indicating the robot's start point and goal point within that state space.
このとき、軌道探索部4は、後述のように、スタート点を根とするツリーのノード数と、ゴール点を根とするツリーのノード数と、の差が予め設定された値より大きい場合、ツリーのノード数が少ない側のツリーを優先的に伸ばす。 At this time, as described below, if the difference between the number of nodes in the tree rooted at the start point and the number of nodes in the tree rooted at the goal point is greater than a preset value, the trajectory search unit 4 will prioritize extending the tree with the fewer nodes.
ノード数の差は、ノードの生成に成功した回数の差と言い換えられる。したがって、軌道探索部4は、スタート点を根とするツリーにおいてノードの生成に成功した回数と、ゴール点を根とするツリーにおいてノードの生成に成功した回数と、の差が予め設定された値より大きい場合、ノードの生成に成功した回数が少ない側のツリーを優先的に伸ばすとも言える。 The difference in the number of nodes can be said to be the difference in the number of times nodes were successfully generated. Therefore, if the difference between the number of times nodes were successfully generated in a tree rooted at the start point and the number of times nodes were successfully generated in a tree rooted at the goal point is greater than a preset value, the trajectory search unit 4 can be said to preferentially extend the tree with fewer successful node generation attempts.
次に、本実施の形態の軌道探索方法の流れを説明する。図13は、本実施の形態の軌道探索方法の流れを示すフローチャート図である。先ず、空間情報取得部2が状態空間を示す情報を取得すると共に、状態情報取得部3が当該状態空間内でのスタート点及びゴール点を示す情報を取得する(S1)。なお、これらの状態空間を示す情報、及び当該状態空間内でのスタート点及びゴール点を示す情報は、以下の処理を実行する前に取得していればよい。 Next, the flow of the trajectory search method of this embodiment will be explained. Figure 13 is a flowchart showing the flow of the trajectory search method of this embodiment. First, the spatial information acquisition unit 2 acquires information indicating the state space, and the state information acquisition unit 3 acquires information indicating the start point and goal point within that state space (S1). Note that it is sufficient if this information indicating the state space and the information indicating the start point and goal point within that state space is acquired before executing the following processing.
先ず、軌道探索部4は、ランダムサンプリングによって状態空間内でサンプル点を設定し、スタート点を根とするツリーにおけるサンプル点に最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるサンプル点に最も近いゴール点、ターゲットノード若しくはコネクトノードの一方から当該サンプル点に向けてターゲットノードの生成を試み、ターゲットノードの生成に成功したか否かを判定する(S2)。 First, the trajectory search unit 4 sets a sample point in the state space by random sampling, and attempts to generate a target node from either the start point, target node, or connect node closest to the sample point in a tree rooted at the start point, or the goal point, target node, or connect node closest to the sample point in a tree rooted at the goal point, toward the sample point, and determines whether the target node was successfully generated (S2).
ここで、上述と同様に、「スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード」とは、未だターゲットノード及びコネクトノードが生成されていない場合、スタート点を示し、「ゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノード」とは、未だターゲットノード及びコネクトノードが生成されていない場合、ゴール点を示す。 Here, as above, "the start point, target node, or connect node of a tree rooted at the start point" refers to the start point if the target node and connect node have not yet been generated, and "the goal point, target node, or connect node of a tree rooted at the goal point" refers to the goal point if the target node and connect node have not yet been generated.
ターゲットノードの生成に失敗した場合(S2のNO)、軌道探索部4は、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方の側と他方の側とを入れ替えて(S3)、S2の工程に戻る。 If the generation of the target node fails (NO in S2), the trajectory search unit 4 swaps one side of the start point, target node, or connect node of the tree rooted at the start point, or the goal point, target node, or connect node of the tree rooted at the goal point (S3), and returns to step S2.
ターゲットノードの生成に成功した場合(S2のYES)、軌道探索部4は、スタート点を根とするツリーにおけるサンプル点に最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるサンプル点に最も近いゴール点、ターゲットノード若しくはコネクトノードの一方と、生成したターゲットノードと、を枝によって接続して当該ツリーを伸ばす(S4)。なお、S4の工程以降では、S3の工程で一方の側と他方の側とが入れ替わっている場合、一方の側と他方の側とが入れ替わることになる。 If the target node is successfully generated (YES in S2), the trajectory search unit 4 extends the tree by connecting the generated target node with a branch to either the start point, target node, or connect node closest to the sample point in the tree rooted at the start point, or the goal point, target node, or connect node closest to the sample point in the tree rooted at the goal point (S4). Note that from step S4 onwards, if one side and the other side were swapped in step S3, the two sides will be swapped again.
次に、軌道探索部4は、スタート点を根とするツリーにおけるS2の工程で生成したターゲットノードに最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるS2の工程で生成したターゲットノードに最も近いゴール点、ターゲットノード若しくはコネクトノードの他方から当該生成したターゲットノードに向かってコネクトノードの生成を試み、コネクトノードの生成に成功したか否かを判定する(S5)。 Next, the trajectory search unit 4 attempts to generate a connect node from the start point, target node, or connect node closest to the target node generated in step S2 in the tree rooted at the start point, or from the other of the goal point, target node, or connect node closest to the target node generated in step S2 in the tree rooted at the goal point, toward the generated target node, and determines whether the connect node was successfully generated (S5).
コネクトノードの生成に成功した場合(S5のYES)、軌道探索部4は、スタート点を根とするツリーにおけるS2の工程で生成したターゲットノードに最も近いスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーにおけるS2の工程で生成したターゲットノードに最も近いゴール点、ターゲットノード若しくはコネクトノードの他方と、生成したコネクトノードと、を枝によって接続して当該ツリーを伸ばす(S6)。 If the connect node is successfully generated (YES in S5), the trajectory search unit 4 extends the tree by connecting the generated connect node to the start point, target node, or connect node closest to the target node generated in step S2 in the tree rooted at the start point, or the other of the goal point, target node, or connect node closest to the target node generated in step S2 in the tree rooted at the goal point, with a branch (S6).
次に、軌道探索部4は、生成したコネクトノードが、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方に到達したか否かを判定する(S7)。 Next, the trajectory search unit 4 determines whether the generated connect node has reached either the start point, target node, or connect node of a tree rooted at the start point, or the goal point, target node, or connect node of a tree rooted at the goal point (S7).
生成したコネクトノードが、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方に到達した場合(S7のYES)、軌道探索部4は、スタート点からターゲットノードやコネクトノードを介してゴール点までを結んだ状態列をロボットの軌道とする(S8)。 If the generated connect node reaches either the start point, target node, or connect node of a tree rooted at the start point, or the goal point, target node, or connect node of a tree rooted at the goal point (YES in S7), the trajectory search unit 4 determines the sequence of states connecting the start point to the goal point via the target node or connect node as the robot's trajectory (S8).
生成したコネクトノードが、スタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方に到達していない場合(S7のNO)、軌道探索部4は、S5の工程に戻る。 If the generated connect node has not reached either the start point, target node, or connect node of the tree rooted at the start point, or the goal point, target node, or connect node of the tree rooted at the goal point (NO in S7), the trajectory search unit 4 returns to step S5.
コネクトノードの生成に失敗した場合(S5のNO)、軌道探索部4は、スタート点を根とするツリーのノード数と、ゴール点を根とするツリーのノード数と、の差(差の絶対値)が予め設定された値より大きいか否かを判定する(S9)。ここで、予め設定された値は、状態空間内の制約条件などに基づいて、適宜、設定することができる。軌道探索部4は、スタート点を根とするツリーにおいてノードの生成に成功した回数と、ゴール点を根とするツリーにおいてノードの生成に成功した回数と、の差が予め設定された値より大きいかを判定しているとも言える。 If the generation of a connect node fails (NO in S5), the trajectory search unit 4 determines whether the difference (absolute value of the difference) between the number of nodes in the tree rooted at the start point and the number of nodes in the tree rooted at the goal point is greater than a preset value (S9). Here, the preset value can be set appropriately based on constraints within the state space, etc. In other words, the trajectory search unit 4 determines whether the difference between the number of times nodes were successfully generated in the tree rooted at the start point and the number of times nodes were successfully generated in the tree rooted at the goal point is greater than a preset value.
スタート点を根とするツリーのノード数と、ゴール点を根とするツリーのノード数と、の差が予め設定された値より大きい場合(S9のYES)、軌道探索部4は、ツリーのノード数が少ない側のツリーを優先的に伸ばすために、上述の工程におけるスタート点を根とするツリーのスタート点、ターゲットノード若しくはコネクトノード、又はゴール点を根とするツリーのゴール点、ターゲットノード若しくはコネクトノードの一方の側と他方の側とを入れ替える必要があるか否かを判定する(S10)。つまり、軌道探索部4は、ターゲットノードが生成される側のツリーとコネクトノードが生成される側のツリーとを入れ替える必要があるか否かを判定する。 If the difference between the number of nodes in the tree rooted at the start point and the number of nodes in the tree rooted at the goal point is greater than a preset value (YES in S9), the trajectory search unit 4 determines whether it is necessary to swap one side of the start point, target node, or connect node of the tree rooted at the start point in the above-mentioned process, or the other side of the goal point, target node, or connect node of the tree rooted at the goal point, in order to preferentially extend the tree with the fewer nodes (S10). In other words, the trajectory search unit 4 determines whether it is necessary to swap the tree on the side where the target node is generated with the tree on the side where the connect node is generated.
入れ替える必要がある場合(S10のYES)、軌道探索部4は、S3の工程に戻る。一方、入れ替える必要がない場合(S10のNO)、軌道探索部4は、S2の工程に戻る。これにより、ノード数が少ない側のツリーには、ノード数が多い側のツリーのノード数と、ノード数の値が少ない側のツリーのノード数と、の差が予め設定された値以下となるまで、優先的にコネクトノードが生成されて接続される。 If switching is necessary (YES in S10), the trajectory search unit 4 returns to step S3. On the other hand, if switching is not necessary (NO in S10), the trajectory search unit 4 returns to step S2. As a result, connect nodes are preferentially generated and connected to the tree with the fewer nodes until the difference between the number of nodes in the tree with the more nodes and the number of nodes in the tree with the fewer nodes falls below a preset value.
このように本実施の形態の軌道探索装置1及び軌道探索方法は、スタート点を根とするツリーのノード数とゴール点を根とするツリーのノード数との差が予め設定された値より大きい場合、ツリーのノード数が少ない側のツリー、即ち、制約条件が多い側のツリーを優先的に伸ばす。 In this way, when the difference between the number of nodes in the tree rooted at the start point and the number of nodes in the tree rooted at the goal point is greater than a preset value, the trajectory search device 1 and trajectory search method of this embodiment preferentially extend the tree with fewer nodes, i.e., the tree with more constraints.
そのため、本実施の形態の軌道探索装置1及び軌道探索方法は、一般的なBidirectional Rapidly-exploring Random Treeに対して、制約条件が少ない側のツリーでの無駄なノードの生成を抑制することができる。これにより、ロボットの軌道を探索するための計算量の低減を図ることができ、軌道探索の迅速化に寄与可能である。 As a result, the trajectory search device 1 and trajectory search method of this embodiment can suppress the generation of unnecessary nodes in the tree with fewer constraints compared to a typical Bidirectional Rapidly-exploring Random Tree. This reduces the amount of calculation required to search for a robot's trajectory, contributing to faster trajectory search.
<実施の形態2>
実施の形態1にかかる軌道探索装置は、ノード数、つまりノードの生成に成功した回数が少ない側のツリーを優先的に伸ばした。一方、実施の形態2にかかる軌道探索装置は、ノードの生成に成功した割合が少ない側のツリーを優先的に伸ばす。
<Second Embodiment>
The trajectory search device according to the first embodiment preferentially extends the tree on the side with a smaller number of nodes, i.e., a smaller number of times that nodes have been successfully generated, whereas the trajectory search device according to the second embodiment preferentially extends the tree on the side with a smaller percentage of nodes that have been successfully generated.
図14は、本実施の形態の軌道探索装置の構成を示すブロック図である。軌道探索装置1aは、図14に示すように、空間情報取得部2、状態情報取得部3及び軌道探索部4aを備えている。なお、空間情報取得部2及び状態情報取得部3は、実施の形態1の軌道探索装置1が備える構成と同様であり、説明を省略する。 Figure 14 is a block diagram showing the configuration of the trajectory search device of this embodiment. As shown in Figure 14, the trajectory search device 1a includes a spatial information acquisition unit 2, a state information acquisition unit 3, and a trajectory search unit 4a. Note that the spatial information acquisition unit 2 and the state information acquisition unit 3 have the same configuration as those included in the trajectory search device 1 of embodiment 1, and therefore a description thereof will be omitted.
軌道探索部4aは、スタート点を根とするツリーにおいてノードの生成に成功した割合と、ゴール点を根とするツリーにおいてノードの生成に成功した割合と、の差が予め設定された値より大きい場合、ノードの生成に成功した割合が少ない側のツリーを優先的に伸ばす。 If the difference between the rate at which nodes are successfully generated in a tree rooted at the start point and the rate at which nodes are successfully generated in a tree rooted at the goal point is greater than a preset value, the trajectory search unit 4a prioritizes extending the tree with a lower rate of successful node generation.
ノードの生成に成功した割合は、(ノードの生成に成功した回数)/(ノードを生成することを試みた回数)により算出される。ノードの生成に成功した割合は、成功率とも称される。ノードの生成に成功した回数は、成功回数とも称される。ノードを生成することを試みた回数は、試行回数とも称される。 The rate at which nodes are successfully created is calculated by dividing the number of times a node was successfully created by the number of attempts to create a node. The rate at which nodes are successfully created is also called the success rate. The number of times a node was successfully created is also called the number of successes. The number of times a node was attempted to create is also called the number of attempts.
成功率は、ツリーの生成を開始した時点からの成功回数および試行回数に基づいて算出されてもよい。このような場合、成功回数はツリーのノード数に相当し、成功率はツリーのノード数に基づき算出され得る。軌道探索部4aは、開始時点から現在までの試行回数をメモリなどに記憶しているものとする。 The success rate may be calculated based on the number of successes and attempts since tree generation began. In such cases, the number of successes corresponds to the number of nodes in the tree, and the success rate can be calculated based on the number of nodes in the tree. The trajectory search unit 4a is assumed to store the number of attempts from the start to the present in a memory or the like.
また、成功率は、現在から所定期間内の成功回数および試行回数に基づいて算出されてもよい。例えば、ランダムサンプリングによって状態空間内でサンプル点を設定してからターゲットノードやコネクトノードの生成に失敗するまでの期間を1期間とし、所定数の期間を所定期間とみなしてもよい。ツリーの成長に応じてノード生成の難易度が変化する場合、軌道探索部4aは、所定時刻よりも過去のデータを使用しないことで成功率を適切に更新できる。例えば、制約条件の多い空間の内側から外側にツリーが成長すると、ノード生成の難易度は低くなると考えられる。 The success rate may also be calculated based on the number of successes and attempts within a predetermined period from the present. For example, the period from when a sample point is set in the state space by random sampling until the generation of a target node or connect node fails may be considered one period, and a predetermined number of periods may be considered a predetermined period. If the difficulty of node generation changes as the tree grows, the trajectory search unit 4a can appropriately update the success rate by not using data older than a predetermined time. For example, if a tree grows from the inside to the outside of a space with many constraints, the difficulty of node generation is considered to decrease.
次に、図13を参照して、本実施の形態の軌道探索方法の流れを説明する。なお、ステップS9以外の処理は、実施の形態1の軌道探索方法の処理と同様であるため、説明を省略する。 Next, the flow of the trajectory search method of this embodiment will be explained with reference to Figure 13. Note that the processing other than step S9 is the same as the processing of the trajectory search method of embodiment 1, and therefore explanations will be omitted.
コネクトノードの生成に失敗した場合(S5のNO)、軌道探索部4aは、スタート点を根とするツリーにおけるノードの生成に成功した割合(成功率)と、ゴール点を根とするツリーにおけるノードの生成に成功した割合(成功率)と、の差(差の絶対値)が予め設定された値より大きいか否かを判定する(S9)。ここで、予め設定された値は、状態空間内の制約条件などに基づいて、適宜、設定することができる。 If the generation of a connect node fails (NO in S5), the trajectory search unit 4a determines whether the difference (absolute value of the difference) between the rate at which nodes are successfully generated in the tree rooted at the start point (success rate) and the rate at which nodes are successfully generated in the tree rooted at the goal point (success rate) is greater than a preset value (S9). Here, the preset value can be set appropriately based on constraints within the state space, etc.
スタート点を根とするツリーにおける成功率と、ゴール点を根とするツリーにおける成功率と、の差が予め設定された値より大きい場合(S9のYES)、軌道探索部4aは、ターゲットノードが生成される側のツリーとコネクトノードが生成される側のツリーとを入れ替える必要があるか否かを判定する(S10)。入れ替える必要がある場合(S10のYES)、軌道探索部4aは、S3の工程に戻る。一方、入れ替える必要がない場合(S10のNO)、軌道探索部4aは、S2の工程に戻る。これにより、成功率が大きい側のツリーの成功率と、成功率が小さい側のツリーの成功率と、の差が予め設定された値以下となるまで、成功率が小さい側のツリーには優先的にコネクトノードが生成されて接続される。 If the difference between the success rate of the tree rooted at the start point and the success rate of the tree rooted at the goal point is greater than a preset value (YES in S9), the trajectory search unit 4a determines whether or not it is necessary to swap the tree on which the target node is generated with the tree on which the connect node is generated (S10). If swapping is necessary (YES in S10), the trajectory search unit 4a returns to step S3. On the other hand, if swapping is not necessary (NO in S10), the trajectory search unit 4a returns to step S2. As a result, connect nodes are preferentially generated and connected to the tree on the lower success rate until the difference between the success rate of the tree on the higher success rate and the success rate of the tree on the lower success rate falls below the preset value.
このように本実施の形態の軌道探索装置1a及び軌道探索方法は、スタート点を根とするツリーの成功率とゴール点を根とするツリーの成功率との差が予め設定された値より大きい場合、成功率が小さい側のツリー、即ち、制約条件が多い側のツリーを優先的に伸ばす。 In this way, the trajectory search device 1a and trajectory search method of this embodiment prioritize growing the tree with the lower success rate, i.e., the tree with more constraints, when the difference between the success rate of the tree rooted at the start point and the success rate of the tree rooted at the goal point is greater than a preset value.
そのため、本実施の形態の軌道探索装置1a及び軌道探索方法も、実施の形態1と同様の効果を奏することができる。 As a result, the trajectory search device 1a and trajectory search method of this embodiment can achieve the same effects as those of embodiment 1.
<実施の形態3>
実施の形態1では、ノード数の差が所定値より大きい場合、ターゲットノードを生成する側のツリーと、コネクトノードを生成する側のツリーとを入れ替える。発明者は、特定の制約条件下で、実施の形態1にかかる軌道探索装置の性能が低下してしまうことを発見した。
<Third Embodiment>
In the first embodiment, if the difference in the number of nodes is greater than a predetermined value, the tree on the side where the target node is generated and the tree on the side where the connect node is generated are swapped. The inventors have discovered that the performance of the trajectory search device according to the first embodiment is degraded under certain constraint conditions.
実施の形態1にかかる軌道探索装置は、2つのツリーのノード数が常に一定になるように動作する。このため、一方のツリーの伸長が困難な場合、そのツリーのノード数が増えるまで際限なく伸長を試みる場合がある。したがって、他方のツリーを伸長させた方が軌道を探索し易い場合であっても、多くの計算リソースを非効率的な探索に割り当ててしまう。この挙動の原因は、実施の形態1にかかる軌道探索装置が決定的な振る舞いを行うことによる。 The trajectory search device according to the first embodiment operates so that the number of nodes in the two trees remains constant. Therefore, if it is difficult to extend one of the trees, it may attempt to extend it endlessly until the number of nodes in that tree increases. As a result, even if it would be easier to search for a trajectory by extending the other tree, a large amount of computational resources will be allocated to the inefficient search. The cause of this behavior is the deterministic behavior of the trajectory search device according to the first embodiment.
そこで、実施の形態3では、ターゲットノードを生成するツリーを確率(選択確率と言う)に基づいて選択する。選択したツリーから、ノード(ターゲットノード)が生成される。選択確率は、ノード数が小さいツリーほど選択されやすくなるように設定される。 In this third embodiment, the tree that will generate the target node is selected based on a probability (called the selection probability). A node (target node) is generated from the selected tree. The selection probability is set so that trees with fewer nodes are more likely to be selected.
なお、ノード数の代わりに、実施形態2で説明した割合、つまり、ノードの生成に成功した割合が用いられてもよい。実施の形態3は、特定の制約条件下で実施の形態2にかかる軌道探索装置の性能が低下することを防止できる。以下では、ノード数を用いる場合について説明する。 Instead of the number of nodes, the ratio described in embodiment 2, i.e., the ratio of successful node generation, may be used. Embodiment 3 can prevent a decrease in the performance of the trajectory search device according to embodiment 2 under specific constraints. The following describes the case where the number of nodes is used.
図15を参照して、実施の形態3にかかる軌道探索方法の流れの一例を説明する。図13と図15とを比較すると、ステップS9がステップS11に置き換わっている。ステップS11に関連する処理以外は、実施の形態1の軌道探索方法における処理と同様であるため、説明を省略する。 An example of the flow of the trajectory search method according to the third embodiment will be described with reference to Figure 15. Comparing Figure 13 with Figure 15, step S9 has been replaced with step S11. The processing other than that related to step S11 is the same as the processing in the trajectory search method according to the first embodiment, and therefore will not be described again.
ターゲットノードの生成に失敗した場合(S2のNO)、およびコネクトノードの生成に失敗した場合(S5のNO)、0以上1未満の実数の乱数xを生成し、乱数xが閾値|TA|/(|TA|+|TB|)未満であるかを判定する(S11)。|TA|はターゲットノードを生成する側のツリー(ツリーAとも言う)のノード数を表し、|TB|はコネクトノードを生成する側のツリー(ツリーBとも言う)のノード数を表す。 If generation of a target node fails (NO in S2) or if generation of a connect node fails (NO in S5), a random real number x between 0 and 1 is generated, and it is determined whether the random number x is less than a threshold | TA |/(| TA |+| TB |) (S11). | TA | represents the number of nodes in the tree (also called tree A) on the side where the target node is to be generated, and | TB | represents the number of nodes in the tree (also called tree B) on the side where the connect node is to be generated.
判定結果が真である場合(S11のYES)、ターゲットノードを生成する側のツリーと、コネクトノードを生成する側のツリーとを入れ替える(ステップS3)。判定結果が偽である場合(S11のNO)、ターゲットノードを生成する側のツリーと、コネクトノードを生成する側のツリーとを入れ替えず、ステップS2に戻る。 If the determination result is true (YES in S11), the tree on the side where the target node is generated and the tree on the side where the connect node is generated are swapped (step S3). If the determination result is false (NO in S11), the tree on the side where the target node is generated and the tree on the side where the connect node is generated are not swapped, and the process returns to step S2.
このような場合、ツリーAが、ターゲットノードを生成する側のツリーとして再び選択される確率pは|TB|/(|TA|+|TB|)で表される。ツリーAが選択される確率pは、ツリーAのノード数が小さいほど大きい。 In such a case, the probability p that tree A will be selected again as the tree that generates the target node is expressed as |T B |/(|T A |+|T B |). The probability p that tree A will be selected increases as the number of nodes in tree A decreases.
一方、ツリーBが、ターゲットノードを生成する側のツリーとして選択される確率q=1-pは|TA|/(|TA|+|TB|)で表される。ツリーBが選択される確率qは、ツリーBのノード数が小さいほど大きい。 On the other hand, the probability q = 1-p that tree B will be selected as the tree that generates the target node is expressed as |T A |/(|T A |+|T B |). The probability q that tree B will be selected increases as the number of nodes in tree B decreases.
ターゲットノードを選択する側のツリー、つまり先にノードの生成を試みるツリーとして、ノード数が少ない方のツリーが高い確率で選択されるが、ノード数が多い方のツリーが選択される余地が残る。これにより、特定の制約条件下での軌道探索装置の性能低下を防止できる。 The tree with the fewer nodes is more likely to be selected as the tree that selects the target node, i.e., the tree that attempts to generate the node first, but there is still room for the tree with the more nodes to be selected. This prevents a decrease in the performance of the trajectory search device under certain constraints.
次に、図16を参照して検証結果を説明する。発明者は、2次元空間に4種類の制約条件を設定し、従来技術にかかる軌道探索方法、実施の形態1にかかる軌道探索方法、および実施の形態3にかかる軌道探索方法をそれぞれ1000回実行した。 Next, the verification results will be explained with reference to Figure 16. The inventors set four types of constraints in two-dimensional space and executed the trajectory search method according to the conventional technology, the trajectory search method according to the first embodiment, and the trajectory search method according to the third embodiment 1,000 times each.
上側の4つの図は、4種類の制約条件を表している。状態空間Cに、制約条件O1、O2、O3、またはO4が設定されている。状態空間C内の2つの点はスタート点およびゴール点を表している The top four diagrams represent four types of constraints. Constraints O1, O2, O3, and O4 are set in state space C. The two points in state space C represent the start point and the goal point.
各制約条件を表す図の下に、その制約条件での検証結果を示している。横軸は、従来技術、実施の形態1、および実施の形態3に対応し、縦軸は軌道探索に要した時間(プランニング時間と言う)に対応している。プランニング時間の単位はmsである。プランニング時間の分布は、いわゆる箱ひげ図で表現される。ボックスに含まれた実線が中央値を表し、ボックスに含まれた点線が平均値を表す。垂直線の下端が5パーセンタイルを表し、ボックスの下端が25パーセンタイルを表し、ボックスの上端は75パーセンタイルを表し、垂直線の上端が95パーセンタイルを表している。 Below the diagram representing each constraint, the verification results for that constraint are shown. The horizontal axis corresponds to the conventional technology, embodiment 1, and embodiment 3, and the vertical axis corresponds to the time required for trajectory search (referred to as planning time). The unit of planning time is ms. The distribution of planning time is expressed as a so-called box-and-whisker plot. The solid line contained within the box represents the median, and the dotted line contained within the box represents the mean. The bottom of the vertical line represents the 5th percentile, the bottom of the box represents the 25th percentile, the top of the box represents the 75th percentile, and the top of the vertical line represents the 95th percentile.
特定の制約条件(例:制約条件O4)の下で、実施の形態1を用いた場合のプランニング時間が、従来技術を用いたプランニング時間に比べて増加している。この場合に、実施の形態3を用いることで、プランニング時間の増加を抑制できることがわかる。また、従来技術および実施の形態1は問題ごとに有利不利があるが、実施の形態3は、従来技術と実施の形態1のうち性能の良い方に近い性能を示すことがわかった。 Under certain constraints (e.g., constraint O4), the planning time when using embodiment 1 increases compared to the planning time when using conventional technology. In this case, it can be seen that using embodiment 3 can suppress the increase in planning time. Furthermore, while the conventional technology and embodiment 1 have their advantages and disadvantages for each problem, it was found that embodiment 3 exhibits performance close to the better of the two.
実施の形態3によると、確率的な挙動を導入することで、特定の制約条件下で実施形態1および実施の形態2にかかる軌道探索装置の性能が低下することを抑制できる。つまり、実施の形態3によると、ノード数が少ないツリー等が確実に選択されることに起因する軌道探索装置の性能低下を防止できる。 According to the third embodiment, by introducing probabilistic behavior, it is possible to suppress a decrease in the performance of the trajectory search device according to the first and second embodiments under specific constraint conditions. In other words, according to the third embodiment, it is possible to prevent a decrease in the performance of the trajectory search device caused by the reliable selection of a tree with a small number of nodes, etc.
<他の実施の形態>
上記実施の形態に係る軌道探索装置は、次のようなハードウェア構成を備えることができる。図17は、軌道探索装置に含まれるハードウェア構成の一例を示す図である。上述した様々な実施の形態において、軌道探索装置における処理の手順を説明したように、本開示は軌道探索方法としての形態も採り得る。
<Other embodiments>
The trajectory search device according to the above-described embodiments may have the following hardware configuration. Fig. 17 is a diagram showing an example of the hardware configuration included in the trajectory search device. As has been described in the various embodiments above regarding the processing procedures in the trajectory search device, the present disclosure may also be embodied as a trajectory search method.
図17に示す装置は、インタフェース103と共に、プロセッサ101及びメモリ102を備えている。上述した実施の形態で説明した軌道探索装置の一部の構成は、プロセッサ101がメモリ102に記憶された軌道探索プログラムを読み込んで実行することにより実現される。つまり、このプログラムは、プロセッサ101を軌道探索装置の一部の構成として機能させるためのプログラムである。このプログラムは、軌道探索装置に、その構成、又はその一部における処理を実行させるためのプログラムであると言える。 The device shown in FIG. 17 includes a processor 101 and memory 102, as well as an interface 103. Part of the configuration of the trajectory search device described in the above embodiment is realized by the processor 101 reading and executing a trajectory search program stored in memory 102. In other words, this program causes the processor 101 to function as part of the configuration of the trajectory search device. This program can be said to cause the trajectory search device to execute processing in its configuration or part of it.
ここで、プログラムは、コンピュータに読み込まれた場合に、1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。 Here, a program includes instructions (or software code) that, when loaded into a computer, cause the computer to perform one or more functions. The program may be stored on a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray (registered trademark) disc or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.
なお、本開示は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。 Note that this disclosure is not limited to the above-described embodiments and can be modified as appropriate without departing from the spirit of the disclosure.
例えば、上記実施の形態では、スタート点を根とするツリーのノード数とゴール点を根とするツリーのノード数との差が予め設定された値以下の場合、一般的なBidirectional Rapidly-exploring Random Treeと同様に、コネクトノードなどの生成に失敗する毎にコネクトノードなどを生成する側のツリーを入れ替えているが、コネクトノードなどを生成する側のツリーを入れ替える頻度は、適宜、変更することができる。 For example, in the above embodiment, if the difference between the number of nodes in the tree rooted at the start point and the number of nodes in the tree rooted at the goal point is less than a preset value, the tree that generates connect nodes, etc. is replaced each time an attempt to generate connect nodes, etc. fails, just like a typical Bidirectional Rapidly-exploring Random Tree. However, the frequency with which the tree that generates connect nodes, etc. is replaced can be changed as appropriate.
1、1a 軌道探索装置
2 空間情報取得部
3 状態情報取得部
4、4a 軌道探索部
101 プロセッサ
102 メモリ
103 インタフェース
B1、B2、B3、B4、B5、B6、B7、B8 枝
C 状態空間
O 制約条件
qconnect1、qconnect2、qconnect3、qconnect4、qconnect5 コネクトノード
qgoal ゴール点
qinit スタート点
qnew1、qnew2、qnew3 ターゲットノード
qrand1、qrand2、qrand3 サンプル点
T1 スタート点を根とするツリー
T2 ゴール点を根とするツリー
1, 1a Trajectory search device 2 Spatial information acquisition unit 3 State information acquisition unit 4, 4a Trajectory search unit 101 Processor 102 Memory 103 Interfaces B1 , B2 , B3 , B4 , B5 , B6 , B7 , B8 Branch C State space O Constraints q connect1 , q connect2 , q connect3 , q connect4 , q connect5 Connect nodes q goal Goal point q init Start point q new1 , q new2 , q new3 Target nodes q rand1 , q rand2 , q rand3 Sample point T1 Tree rooted at start point T2 Tree rooted at goal point
Claims (3)
状態空間を示す情報を取得する空間情報取得部と、
前記状態空間での前記ロボットの前記スタート点及び前記ゴール点を示す情報を取得する状態情報取得部と、
前記状態空間を示す情報、及び前記状態空間での前記ロボットの前記スタート点並びに前記ゴール点を示す情報に基づいて、前記Rapidly-exploring Random Treeによって前記ロボットの軌道を前記スタート点と前記ゴール点との双方向から探索する軌道探索部と、
を備え、
前記軌道探索部は、前記スタート点を根とするツリーにおいてノードの生成に成功した回数または割合と、前記ゴール点を根とするツリーにおいてノードの生成に成功した回数または割合とに基づいて、ノードの生成に成功した回数または割合が少ない側のツリーを優先的に伸ばす、軌道探索装置。 A device that searches for a robot trajectory from both a start point and a goal point using a Rapidly-exploring Random Tree,
a space information acquisition unit that acquires information indicating a state space;
a state information acquisition unit that acquires information indicating the start point and the goal point of the robot in the state space;
a trajectory search unit that searches for a trajectory of the robot from both the start point and the goal point using the Rapidly-exploring Random Tree based on information indicating the state space and information indicating the start point and the goal point of the robot in the state space;
Equipped with
The trajectory search unit, based on the number or percentage of successful node generation in a tree rooted at the start point and the number or percentage of successful node generation in a tree rooted at the goal point, preferentially extends the tree with a lower number or percentage of successful node generation.
請求項1に記載の軌道探索装置。 when a difference between the number or rate of successful node generation in the tree rooted at the start point and the number or rate of successful node generation in the tree rooted at the goal point is greater than a preset value, the trajectory search unit preferentially extends the tree with a lower number or rate of successful node generation;
The trajectory search device according to claim 1.
請求項1に記載の軌道探索装置。 The trajectory search device according to claim 1 , wherein the trajectory search unit selects a tree based on a probability that a tree with a smaller number or rate of successful node generation is more likely to be selected, and attempts to generate a node from the selected tree.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022027786 | 2022-02-25 | ||
| JP2022027786 | 2022-02-25 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023124806A JP2023124806A (en) | 2023-09-06 |
| JP7775821B2 true JP7775821B2 (en) | 2025-11-26 |
Family
ID=87886165
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022209328A Active JP7775821B2 (en) | 2022-02-25 | 2022-12-27 | Orbit search device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7775821B2 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110035050A1 (en) | 2009-08-10 | 2011-02-10 | Samsung Electronics Co., Ltd. | Method and apparatus to plan motion path of robot |
| JP2017529631A (en) | 2014-09-30 | 2017-10-05 | エヌイーシー ヨーロッパ リミテッドNec Europe Ltd. | Method and system for determining a path of an object that moves from a start state to an end state set while avoiding one or more obstacles |
| US20190184561A1 (en) | 2017-12-15 | 2019-06-20 | The Regents Of The University Of California | Machine Learning based Fixed-Time Optimal Path Generation |
| JP2022026106A (en) | 2020-07-30 | 2022-02-10 | オムロン株式会社 | Model generation device, route search device, model generation method, and model generation program |
-
2022
- 2022-12-27 JP JP2022209328A patent/JP7775821B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110035050A1 (en) | 2009-08-10 | 2011-02-10 | Samsung Electronics Co., Ltd. | Method and apparatus to plan motion path of robot |
| JP2017529631A (en) | 2014-09-30 | 2017-10-05 | エヌイーシー ヨーロッパ リミテッドNec Europe Ltd. | Method and system for determining a path of an object that moves from a start state to an end state set while avoiding one or more obstacles |
| US20190184561A1 (en) | 2017-12-15 | 2019-06-20 | The Regents Of The University Of California | Machine Learning based Fixed-Time Optimal Path Generation |
| JP2022026106A (en) | 2020-07-30 | 2022-02-10 | オムロン株式会社 | Model generation device, route search device, model generation method, and model generation program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2023124806A (en) | 2023-09-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11922574B2 (en) | Method and device for determining plurality of layers of bounding boxes, collision detection method and device, and motion control method and device | |
| US10289454B2 (en) | Systems and methods for implementing work stealing using a configurable separation of stealable and non-stealable work items | |
| CN109877836A (en) | Paths planning method, device, mechanical arm controller and readable storage medium storing program for executing | |
| WO2025025328A1 (en) | Operator optimization method and apparatus, and storage medium and electronic device | |
| CN111752281A (en) | Path planning method and system for mobile robot based on improved RRT algorithm | |
| KR102189811B1 (en) | Method and Apparatus for Completing Knowledge Graph Based on Convolutional Learning Using Multi-Hop Neighborhoods | |
| CN118585657B (en) | Event prediction method based on satellite orbit threat domain knowledge graph | |
| KR102721320B1 (en) | Random walk method, apparatus and electronic device for extracting parasitic capacitance | |
| EP4369262A1 (en) | Shortest path determining method and apparatus, electronic device, and storage medium | |
| KR20230050958A (en) | Path planning apparatus of robot and method thereof | |
| CN113792109B (en) | Path planning method, path planning system, robot and storage medium | |
| Wu et al. | Depth-based obstacle avoidance through deep reinforcement learning | |
| JP7775821B2 (en) | Orbit search device | |
| CN114545926A (en) | APF-RRT method and device for fusing artificial potential field and random tree | |
| CN116679712B (en) | Efficient exploration decision-making method for indoor environment robot based on generalized voronoi diagram | |
| CN116151363B (en) | Distributed Reinforcement Learning System | |
| CN114124838B (en) | Data transmission method and device for big data platform and big data platform management system | |
| CN116501927A (en) | A graph data processing system, method, device and storage medium | |
| KR101585374B1 (en) | Apparatus and Method for planning robot path using genetic algorithm | |
| CN117162101B (en) | A robotic arm motion planning method based on configuration space sampling algorithm | |
| JP2024000162A (en) | Orbit search device | |
| JP7508838B2 (en) | Partial extraction device, part extraction method, and program | |
| CN116149362A (en) | A method and system for optimizing aircraft obstacle avoidance trajectory at any time | |
| CN119871440B (en) | A Path Planning Method and Device for a Six-Axis Industrial Robotic Arm Based on an Improved RRT Algorithm | |
| CN114430526A (en) | Internet of things data transmission method, device and system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250129 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20250911 |
|
| 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: 20251014 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251027 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7775821 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |