多目的進化型人工神経回路網を用いた 2 台のスカラロボットの衝突回避を考慮した経路計画○片田喜章 吉岡威 （摂南大学）
概要 ロボットアームで溶接やネジ締めなどの作業を行う場合，初期位置から複数の作業点を通過し初期位置に戻る動作を繰り返す．この経路を計画する問題は巡回セールスマン問題 (TSP) といわれる組合せ最適化問題となる．さらに複数ロボットアームを用いる場合は複数巡回セールスマン問題になる．ここで複数ロボットアームの経路計画ではアーム同士の交錯を回避する必要がある．本研究では，我々の研究グループで開発している複数巡回セールスマン問題の解法である多目的進化型人工神経回路網 (MOEANN) をロボットアームに適用し，ロボット同士の衝突が起こらない経路を計画することを目的とする．
キーワード: ロボットアーム，経路計画， 多目的進化計算

1

はじめに3点群を割り当てる (分類する) 手法を以降，点群クラスタリングとよぶ．本研究ではフィードフォワード型人工神経回路網 (ANN) を用いる (Fig. 1)．ここで， 入力は正規化した点群座標の値 x, y ∈ {0.0, 1.0}, 各ニューロンの活性化関数はシグモイド関数，出力の値はロボッ
トアーム k への割当て確率とし，ソフトマックス関数により k を決定する．本設定を用いることにより，点群座標平面を非線形に分割することが可能になる．さ
らに多目的進化計算を用いて ANN を設計することで，複数評価指標にもとづく適応的な点群割当てが期待できる．
ANN の入力ノード数を Ni ，中間ノード数を Nh ，出力ノード数を No とすると，各ニューロンにバイアスを設定するため，ニューロン間の結合荷重の合計数は(Ni + 1)Nh + (Nh + 1)No になる．Fig. 1 は本研究で採用した (Ni , Nh , No ) = (2, 4, 2) の構造を示している．

工場などにおいて，複数の産業ロボットを用いて作業の分担を行うことで，生産の効率化が期待できる．しかし，それに伴いロボット同士の衝突による事故の危険性も生じる．本研究では，我々の研究グループで開発している複数巡回セールスマン問題 (MTSP) の解法である多目的進化型人工神経回路網 (MOEANN)1) をロボットアームに適用し，ロボット同士の衝突が起こらない経路を計画する．そして，2 台の小型ロボットアームを用いて得られた経路を検証することを目的とする．

2

複数ロボットアームの経路計画における目的関数

Lk を k 番目のロボットアーム (k ∈ {1, 2, · · · , K})の手先 (先端) が通過する点群の経路長，K は利用可能なロボットとする．本経路計画ではロボットアームの手先が通過する点群を結ぶ経路に関する平均経路長(2 式) を評価する．また，各ロボットの経路長をなるべく均等化したい．本研究では，均等化係数 2) とよばれる (3 式) を採用する．さらに，手先の衝突の可能性
1, 3)を評価する．したがって，以下の 3 目的最小化問
題 (m = 3) を解くことになる．

minf1

F (w) = (f1 (w), f2 (w), f3 (w))
=f2

=

f3

=

1K!

K!

(1)
Input Neuron

LkHidden Neuron

Output Neuron(2)Fig. 1: Feedforward artificial neural networks

k=1max Lk −1≤k≤K

点群クラスタリングmin

1≤k≤K,Lk #=0max Lk

Lk

4

(3)

1≤k≤K

N um collsions

進化型多目的最適化

4.1 多目的最適化
本研究ではつぎの多目的最適化問題を扱う．

(4)

min

ここで，w は設計変数ベクトル，Lk はロボットアー
ム k の経路長，K ! は点群の割当てがあったロボット
アーム数，f1 は平均経路長，f2 は均等化係数，f3 は上述した手先の衝突数である．ただし，一般的な MTSP
では巡回方向を考慮しないが，本計画問題はロボットアームの経路計画であるために巡回方向 (時計回り/反!
時計回り) を考慮する．したがって，2K 通りの巡回方向を設定した経路に関する K ! 個の衝突数の最大値をf3 とする．

F (x) = (f1 (x), f2 (x), · · · , fm (x))(5)

ここで，x = (x1 , x2 , · · · , xN )T は設計変数ベクトル，fi (x), i = 1, 2, · · · , m は m 個の目的関数である．多目的最適化問題では解の優劣は以下のように決定される．

∀i : fi (x) ≤ fi (x! ) ∧ ∃i : fi (x) < fi (x! ) (i = 1, 2, · · · , m)(6)のとき，「x は x! を優越する」もしくは「x! は x に優越される」という．問題 (5) の解 x∗ が他のいかなる解 x

第65回システム工学部会研究会（2023年3月5日，広島&オンライン）

23PG0001/23/003

36

3 © 2023 SICE

にも優越されないとき，x∗ は問題 (5) の非劣解 (パレート最適解) であるという．一般に多目的最適化問題ではお互いに優越されない解が存在するため，解は一意には定まらず，非劣解の集合を求めることになる．また，非劣解集合の目的関数に対する写像をパレートフロントという．

4.2 多目的進化計算
3 節で述べた ANN の結合荷重 w の設計に実数値型の多目的進化計算である MOEA/D-DE4) を適用する．
MOEA/D-DE は多目的最適化問題を複数の単目的最適化問題に分割し原問題のパレートフロントを近似する MOEA/D5) と，実数値型の最適化問題を扱う差分進化 (DE) のオペレータと Polynomial Mutation で構成されている．複数の単目的最適化問題を集約する関数として，文献 5) では 3 種類が提案されているが，本研究では Tchebycheff 関数 ((7) 式) を用いる．
g(w|λ, z∗ ) = max {λi |fi (w) − zi∗ |}1≤i≤m(7)

ここで，m は目的関数の数，z∗ は参照点，λ は重みベクトルを表す．重みベクトルの要素は文献 5)!に倣って
m{0/H, 1/H, · · · , H/H} のいずれかをとり， 1 λi = 1を満たすものとする．

5

スカラロボットの外観

本研究ではヴイストン社製の水平多関節型のロボットアームである，スカラロボット 6) を 2 台使用した．
本ロボット (Fig. 2) は C 言語プログラミングによって制御可能である．

Fig. 3: Experimental environment
ANN の結合荷重値 w ∈ {−4.0, 4.0} を 2 節で述べた 3 目的最小化問題の設計変数とする．本問題設定では ANNの出力ノード数 No は K と等しくなる．結合荷重値の設計に MOEA/D-DE を適用した．MOEA/D-DE に関する設定パラメータを Table 1 に示す．また，点群クラスタリングによって割り当てられた点群の経路を TSP 近似解法 (LKH-2.0.9)7, 8) を用いて解く．MOEA/D-DEの 1 個体の評価に関して，LKH の実行時間を 1 s とし，5-opt, no-patching(C = 0) と設定する．
Table 1: parameters for MOEA/D-DE300
nr20.9CR
1.00.5
Number of weight vectors
300
10
Number of evalutions
150000

NδFT
7.2

実験結果

f2Fig. 4 に目的関数 (f1 , f2 ) 平面において得られた非劣解集合の目的関数値を示している．黒点は f3 = 0 を，
赤点は f3 が 0 でない解を表している．選好解として図中に緑色で示した点を選択する．選好解の各目的関数
値は以下となった (f1 = 436.91 [mm], f2 = 0.000717,
f3 = 11)．

Fig. 2: SCARA robot

6

実験環境

２台のスカラロボットを向かい合わせに設置したとき，各ロボットの手先の可動域が重なる範囲 (共有可動域) に点群 (Fig. 3) をランダムに生成し，アームの手先が通過すべき点群として使用する．生成した 75 点の点群 (青点) に，各ロボットの出発点 (赤点) を追加した
77 点の点群に関して，MOEANN を用いて経路計画を行う．

710.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0400

420440460480500

f1

Fig. 4: Objective function values of nondominatedsolutions

経路計画実験7.1 実験設定
上述のようにロボットアーム数 K = 2 とする．また，手先の衝突判定距離を 36 [mm] とする．3 節で述べた

37Fig. 5 に選好解による ANN によって得られた各ロボットへの点群の割当てを示す．図に示された黒い点が共有可動域内にランダムに生成した点群を表しており，点群を含む領域を MOEANN がどのように各ロボットに割り当てたかを色で示している．また，この割当て

1

1
0.9

0.8

0.8
0.7

0.6
y0.6
0.5

0.4

0.4
0.3

0.2

0.2
0.1

000

0.2

0.4

0.6

0.8

01

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1(a) paths of the arms

xFig. 5: Allocation of the points by ANNに基づいて得られた経路を Fig. 6(a) に示す．f3 の評
価は 2 節で述べたように衝突回数が最大となる巡回方向の場合で行なっていたが，本節では衝突回数が最小(0) となる場合の巡回方向を経路として採用している．
Fig. 6(b) は各手先の移動軌跡を表しており，黒から赤の順で色が変化する．つまり，同じ色が同じ時間枠を表している．本実験で得られた経路では，各ロボットは設定した出発点から移動し，同じ色の経路同士が交錯することなく巡回し終えているため，衝突が起こらない経路が得られていることがわかる．

7.3

動作検証

(b) trajectories of the arms

Fig. 6: Paths obtained by the prefered solution

計算機実験で得られた各経路に従い，2 台のスカラロボットを動作させた (Fig. 7, 8)．この実験により，ロボットが経路計画通りに動作し，衝突することなく点群上を巡回できたことを確認した．

謝辞

本研究では，ロボットアームの衝突は手先部分のみを考慮していた．使用したスカラロボットは手先の位置のみでは各関節角度が一意には定まらない．本実験では 2 台のロボットを用いており，各ロボットの第 2関節が環境の外側に折れ曲がるように関節角度を決定していたため (Fig. 7)，ロボットの関節部分を繋ぐリンク部分も含めてロボット同士の接触は見られなかった．
ロボットの台数をより多く使用する場合，リンク部分の衝突も考慮する必要がある．

8

まとめ

本研究では，衝突回避を考慮したロボットアームの経路計画を行い，計算機実験で得られた経路を用いて，ロボットアームの衝突回避に関する実証実験を行った．
実験の結果，ロボット同士が衝突することなく計画した経路に沿って動作することを確認した．以上より，
MOEANN を用いることによって，２台のスカラロボットの衝突が起きない経路作成を行えることを確認した．
今後，リンク部分の衝突も考慮する予定である．また，本報告では経路上を移動し続けることを前提として衝突回避を行っていた． 各点群でタスク (ネジ締めや穴開けなど) を行う時間を考慮する経路計画法に拡張していきたい．

38

本研究は科研費 (21K12081) の助成を受けたものである．

参考文献
1) 片田，渡邉，大倉：多目的進化計算を用いた複数ドロー
ンの衝突回避を考慮した経路計画，第 23 回計測自動制
御学会システムインテグレーション部門講演会論文集，2739/2744 (2022)
2) 渡邊，小野，松永，金川，高橋: “ファジィc-means 法を用いた複数巡回セールスマン問題の一解法”, 日本ファジィ学会誌, 13-1, 119/126 (2001)
3) T. Tubouchi, T. Naniwa, S. Arimoto: “Planning andNavigation by a Mobile Robot in the Presence of Multiple Moving Obstacles and Their Velocities”, Journalof Robotics and Mechatoronics, 8-1, 58/66 (1996)
4) H. Li, Q. Zhang: “Multiobjective Optimization Problems With Complicated Pareto Sets, MOEA/D andNSGA-II”, IEEE Transactions on Evolutionary Computation, 13-2, 284/302 (2009)5) Q. Zhang, H. Li, MOEA/D: “A Multiobjective Evolutionary Algorithm Based on Decomposition”, IEEE
Transactions on Evolutionary Computation, 11-6,712/731 (2007)6) https://www.vstone.co.jp/products/scara robot/
index.html
7) K. Helsgaun: “General k-opt submoves for the LinKernighan TSP heuristic”, Mathematical Programming Computation, 1:119/163 (2009)
8) LKH-2.0.9: http://webhotel4.ruc.dk/~keld/research/LKH/

(a) t=0 s(a) t=0 s(b) t=5 s(b) t=5 s(c) t=10 s(c) t=10 s(d) t=15 s(d) t=15 s(e) t=23 s(e) t=23 sFig. 7: Behavior of the arms (top view)Fig. 8: Behavior of the arms (side view)
39