計測自動制御学会東北支部第183回研究集会（19弧10・19）
資料番号1G3−11

ベトー」ネットによる双腕ロボットの協調制御
Cooperative ControlofDual−ArmRobotsUsingPetriNet○工藤亨■，渡部慶ニホ，山田功ホ，斎藤周次ヰ
OS．Kudo＋，K．Wata11abe暮，K．Yb・rna・da＊，S．Saitoh＊＊山形大学＊Yama・gataUniver6ity
キーワード：協調制御（CoopeIrativecontl・01），ペトリネット（f＞et・ri11et），双腕ロボット（Dual−fI．lllnrObot）

連絡先：〒992 米沢市城南4−㌃16山形大学工学部電子情報工学科渡部研究室
工藤亨，Tbl∴（0238）2臥3326，F弧・＝（0238）24−2752，駐mi−」il＝kudoQ甜ky．yヱ．ya皿aga七a−u．a⊂．jp

1． はじめにがあれば持ち上げることができるかもしれな
い。このような場合、各ロボットアームがパ

近年、ロボット工学の進歩により、さまざラバラな動きをしたのでは目的を達成するこl まな分野において自動化、省力化を目的と一しとはできないので、2台のロボットアームが協てロボットが使用・されるようになった。しか調して作業するように制御するのが協調制御し、すべての作業を1台で行えるような汎用性である。
■のある多機能ロボットは現段階ではコンピュー

了本発表では、複数のロボットで構成されるタの処理能力やコストなどの点で実用化が困システムにおいて、各ロボットの状態、デー難な状況にあり、作業内容の限定された単機タの流れ、制御の流れなどを統合的に扱うこ能ロボットを使用するのが普通である。そことができるベトリネットを用いた協調制御ので、高性能な単機能ロボットを目的に応じてアーキテクチャを提案し、双腕ロボットに対数多く開発し、それらを組み合わせることでして適用する。

汎用性を持たせることを考える。この場合に問題となるのが複数台ロボットの協調制御で2．複数ロボットシステムある。つまり、1台のロボットでは作業不可能
ここでは、各自が制御用コンピュータ（PC）な場合でも、複数のロボットが集まれば作業可能であるといった場合は多く、たとえば、1を持つ複数のロボット（ユニット）で構成され台のロボットアームでは持ち上げることがでる複数ユニット協調作業システムを想定する

きない大きなものでも、2台のロボットアーム（F五直）。

−1−

えるのは人間であるコ オペレータの意志を正確に伝達し、思っているとおりにシステムを旺』動かすためには、ユーザインタフェースは簡単なものでなければならない．〕しかし、自然ゴ≦−

Cont帽l〕

芦＝i＿＿＿＿く⊇⊃∩〕言語のような人間にとって理解しやすいもの〕
Cont■でl〔bntr0lというのはコンビューータに対してかなりの処理能力を要求するら したがって、ユーザ・イン
Fig．1複数ロボットシステム

タフェーースとして望まれるのは、人間から見れば仕様がそのまま表現でき、かつ、変更やメインコンピュータは各ユニットの状億や追加が容易なこと、コンピュータ側からはコシステム全体で共有するべきデータを管理し、ンピュータが解釈L、実行Lやすい簡単なもチニットが協調して作業するような指令を出のである、ということである亡．

す、いわば指令塔の役割を果たす。このメイン協調制御の特徴でもある複数ユニットによコンピュータを通してオペレ←タはシ革テム

る並列動作を考えると複数のユニットが同時を制御する。オペレータはメインコンピューに作業をしたい場合i．￣土適切なタイミングで作タから各ユニットに対して作業司令をだすが、業開始の合図や作業内容や必要なデータを同司令後の各ユニットの動作は各PCによって制御される。基本的に各ユニットは独立してい・一■ 時に複数のユニットヘ送らなければならない。

このように、ユーザインタフェース、通信、るものとする。

制御の3つの機能Fユそれぞれが専門の知識をシステムのイメージ図をF由2に示す。

必要とし、これまでは独立に議論されてきた。
しかし、このようなシステムではF佃2が示す

Majn

ように、1つのマンtlポットインタフェースとして扱うべきものである．〕これら3つの機能を統合して扱えれば、つまり、ユーザインタフェースや通信や制御という別々のものを意識せずに扱えれば、それぞれ個別の知識を必要とせず、管理者への負担はかなり軽減することができる。この点を考慮に入れた協調
Fig．2 システムのイメージ固制御のアーーキテクチーYを提案する。

Fig2が示すように、指令塔となるメインコ

3．協調制御アーキテクチャ

ンピュータは、オペレ←ターとの接点となる
ここで、マンロボットインタフェースとしユーザ・インタフェース、各ユニットと双方向で通信を行なうための機能、各ユニットを制てベトリネットを用いる。計箇機を介してオ御、管理する機能を持たなければならない。こペレータとロボットとが相互に通信しあうこのようなシステムに協調作業を行なわせる場とをマンロボットインタフユニー一ス■という。オペ合、実際にシステムを利用し、作業命令を考レータとロボットとのインタフェースを良く−2■

するためには、プログラムが書きやすく、オペレータの意志を誤りなくロボットに伝達することができなければいけないし、また、ロP2

ボットの状態を常に監視することができなければならない3）。
0＝プレース

ベトリネットは、非同期的でかつ並列的にl＝トランジション振る舞うシステムに対して、その中の情報の→：アーク

流れや制御を記述し解析するために考え出さ●：トークンれたものである。そして、いくつかの事象が並列的に発生する中で、それらの発生の順序、Fig．3 ベトリネットの構成要素頻度などにある制約が与えられているようなシステムをモデル化するために主として用い

まず、プレースと呼ばれる円があり、次にられてきた1）。

トランジションと呼ばれる捧がある。．ダイヤ

したがって、複数のユニットによる並列動グラム上で寸よ、プレー→スやトランジションで作を特徴とするような協調制御へのペトリネッあることを表すのに、たとえばプレースにp、トの導入は適していると考えられる。

トランジションに豪を書き添えておく。
3つめはトランジションからプレース（あ3．1 ベトリネットの定義

るいはプレースからトランジション）に向か

ペトリネットは動的なグラフィックモデル

う有効アークである。．アークはネットにおけであり、形式的に次のように定義されが）。＿・

る流れの方向を示している〕矢印の先端はそれが指し示しているところ′＼の入力を意味し、定義1古項組〃

矢印の尾はその抜け出しているところからの場合に限りネットであるという。

出力を意味する。
■
・川（P，r；ダ）はネットである。ただし、Pの要素はプレースと呼ばれ、Tの要素はトクによって構成されるネットのなかを流れてランジションと呼ばれる。F⊆〔Pxr）∪

いるものがトークンである．〕トークンはトラ（rxP）は盟項関係でネット〃におけるンジションの発火に上りプレ山スからプレー流れの関係である。

スへ動き回る。これによってダイヤグラムの動的な性質を表す。トランジションの発火は

拷JC：P→〃＋∪（∞）は容量関数

次のような定義にしたがって実行される。

刷 Ⅳ：F→Ⅳ＋は重み関数

定喪2＝ Ⅳ＝（P，r；J了7C，Ⅳ）をネットとする。

ただし、〃＋は正の自然数の集合を表す。

什JⅣは、もし∀〔pコり∈ダ×r：（p，り∈F⇒

ここでは、l巧＜∞、Irlく∞であるような有（￡，P）卓Fであるならば、そのときに限限なべトリネットのみについて考える。

り経であるというり

つまり、ベトリネットは爪♂3に示す4つの仲 関数〃：P→州ま∧「のマーキングと部分からなっている。

呼ばれる。
−3−

潮トランジションf∈rは、もし∀p∈叩卜

発火規則

肘（p）≧Ⅳ（p，壬）かつ極∈0（り∴M（p）＋【1］トークンはペトリネットのトランジショ

Ⅳ（t，p）≦C（p）であるならば、そのときンを発火させることによりネット内を移に限りⅣのマーキング肘のもとで発火動する。

可能である。
【到トランジションを発火させるためには、

仙トランジション上∈rはⅣのマ←キング

トランジションが発火可宙巨でなければな

ルオのもとで発火可能であるとする。そらない。トランジションのすべての入力のとき、土は次のように与えられるⅣのプレースにトークンがあるとき、そのト新しいマーキング几す†を発生しうる。

ランジションは発火可能である、という。

財′（p）＝〟（p）−Ⅳ（pコりra】トラ（すべてのp∈叩）に対して）

ンジションが発火すると、そのトランジションのすべての入力プレースから

財′（p）＝〟（p）＋Ⅳ（f，p〕

L個ずつトークンを取り去り、T秒後（作業終了後）にすべての出力プレースに（すべてのp∈0（t）に対L■て）1個のトークンを生成するり ここで、ト

財ノ（p）＝財（p）

ランジションの発火からトークンを生成（すべてのp卓叩）uO（りに対して）するまでの間を発火中という状態にある

財′をjけの直接改段マーキングと呼ぷ。

ものとする。

一般に，，几すの改段マーキングの集合 とは、直接改段マーキングに続くマーキン

ペトリネットとシステムの対応イメージ図

グの集合を意味する。

を爪直に示す。

3．2 複数ロボットシステムのためのベト︑t／．＝■

J

T＝

■

リネットの定義
複数ロボットシステムを記述するために、
プレース、トランジションおよびトークンをl 「」Roヒ氾tJ次のように対応させる。
l l 「」R血tJ

ベトリネットの定義

F隠4 ペトリネットとシステムの対応イメ

Tablel ネットの構成要素の定義
ソト

トランジション

トランジションの発火
トークン
アーク

⇔⇔⇔⇔⇔

ペトリ
プレース

ージ

システム作業

ここではプレースによってメインコンピュ作業の開始
状態の成立

ータの状態を、トランジションに上って各ユ状態の遷移

ニットを表すことにする。．つまりトランジションが発火可能であるという状態はそのユニットへ作業命令を出せろ状態が成立しているこ

また以下のような発火規則に従ってトークとを意味する．〕トークンはメインコンビューンがネット内を移動するものとする。
−4一

タがどのような状態にあるかということを表いを避けるためであり、これに上り、構造的し、ト∵タンのあるプレースがその時の状態な競合の禁止を行う．〕

である。また、トークンに内部情報を持たせ

3．4 例1

ることによってデータの受け渡しを表すこと「11ポットハンド1がA地点にある物体にする。
したがって、目的に応じてベトリネットでを掴んで、B地点でロボットハンド2に渡し、表すことにり、その構造は作業の工程を、プロボットハンド2がC地点に置く」という作

レースはメインコンピュータが各ロボットに業について考える。ロボットハンドがあらか

対して作業命令を出せる状態にあるのかどう

じめ次のような番号で識別される内部コマン

か、トランジションはどのロボットにどのよドを持っているものとするく．

うな作業をさせるのか、トークンの位置は現0：あらかじめきめられた原点に移動する。

在の作業の進行状況を、その動きはデータの1：A地点に移動する。

動きを表すことができる。

2：B地点に移動する。
3．3 同期と競合
3：C地点に移動する。
複数ユニットの並列動作で問題となるのはl：ロボットハンドを閉じる。

同期と競合である。同期は複数のトランジシ
5：Hポットハンドを開く〔．

ョンを同時に発火させることで表現することにする。たとえば、F由5のように記述すればまた、プレースpj，且いトランジション毎よい。には次のような意味を持たせる。
I

釣：メインコンピュータが作業命令を出せるp■

P2

ロコ状態にある。
声一点：各ユニット間で同期を取るためのプレースゥt。p4 t5 P5

王室J＝ユニット五が上述した内部コマンドjを開始し、作業が終わるまで発火中の状態
Fig．5 複数ロボット間の同期を維持する。
たとえば、亡12はロボットハンド1が作業2〔つ爪g5は、同期用のプレースβぃざ2を導入することで、トランジションわと砧が同時に発まり、．B地点に移動）を行うことを意味してい火する。つまり、克と砧に対応する作業が同時る。また、プレースpにつけられた添字はそに開始される。

れぞれを区別するためのもので、任意に与えることができる。

また、ペトリネットの構造に、「プレース

これらを用いると、上述した作業はからの出力は常に1である（lO（p）l＝1）」という制約を設ける。これは、プレースの複数の出力トランジションによるトークンの奪い合5

3：指示された地点に移動する亡」

P，

P≧

13kg

R

4：ロボットハンドを閉じる。

Ri

5：ロボットハンドを開く。

6：物体の位置の情報を計算する。
また、プレース軋・号・トトランジションf−iJ

t辺Flt2．

tB ta，には次のような意味を持たせる．〕
釣：メインコンピュータが作業命令を出せる

Fig．6 ペトリネット表現

状態にある。とあらわすことができる。

占壷：各ユニット間で同期を取るためのプレーF柏7のマーキングは初期状態をあらわしス。ている。初期状態ではメインコンピュータが土盛ゴ＝ユニット宜の内部コマンドゴに対応する作作業命令を出せる状態が成立していてニトラ業。ユニット番号は1がロボットアームンジションtllが発火可能である。つまり、ロ1、2がロボットアーム2、3がカメラ。

ボットハンド1へ内部コマンド1に対応する
これらを用いると、上述Lた作業は作業命令を出すことができる。トランジショ
ンの発火とともにロボットハンド1は作業を開始する。その後、作業終了とともに新たなR lも Rl t￠ R t．R L 吼

トークンがプレースp2へ生成される。これは、ロボットハンド1が作業終了メッセージをメインコンピュータに送信したことを意味している。そして順次トランジションの発火が進み、それとともにロボットは作業を進めていく。

R 七．R t空 R t・RIL R−

3．5 例2
Fig．7 ペトリネット表現「カメラにより物体の位置を計算し、ロボットアーム1とロボットアーム2で物体をとあらわすことができる．二はさんで持ち上げ、B地点を通ってA地点にF也7のマーキングは初期状態をあらわし置く」という作業について考える。ている。まず、カメラが物体の位置の情報を各ユニットはあらかじめ次のような番号で計算する（よ36）。そのデータはトークンによっ識別される内部コマンドを持っているものとてまずメインコンピュータに返され、そのごする。

各ユニットへ送られる。各ユニットは得られた位置のデータを基にその地点へ行く（土13，王23）。

0：あらかじめきめられた原点に移動する。

この作業はロボットアーム1、ロボットアー1：A地点に移動する。

ム2同時に行なわれる。というように作業は2：B地点に移動する。

進められる（−6−4．おわりに本発表では、使用者の負担を減らし、簡単にシステムの記述やデータの流れ等を統合して扱うことができるようなものを目標に、ベトリネットを用いた協調制御アーキテクチャを捏案した。しかし、このままではペトリネッ
トによる表記はシステムが複雑になればなるほど、そして構成ユニットが増えれば増えるほどその大きさが大きくなってしまう、という欠点を持っている。この点はカラーペトリネットの概念を導入すれば解決できるのではないかと考えている。また、ここ想定した集中処理型システムは、一部の故障によるシステム全体への影響が大きく、また現代の流れに沿ったものであるとは言い難い。そこで、メインコンピュータを必要としない、分散処理型システムへの拡張が今後の課題となる。

参考文献
1

1）椎塚久雄著、実例ペトリネット、コロナ社
2）関口隆共著、シーケンス制御工学新しい理論と設計法−、電気学会
3〕長田正著、基礎ロボット工学一知能情韓編、昭晃堂¶7汀