「インタラクション，98」 平成10年3月

HORBを利用したロボット操作環境
平松薫†森啓†納谷太†大里延康†

1 はじめに筆者らは，マルチエージェント制御ロボットの分散制御
実験【1】で作成したモジュールを再利用し，Ⅵ毎bブラウザ上のユ卯aアプレットから，ネットワーク経由でロボットの操作やセンサの状態の表示を可能にする仮想ロボットター

ミナル【2】の実装を行ってきた・仮想ロボットターミナルでは，C音譜の低水準インタフェースを利用してロボットやセンサの制御と各コントローラからの情報をネットワークヘアリッジするデーモンを開発し，そのエーザインタフエー

スをJmアプレットで開発することで，Ⅵ屯bブラウザ上からのロボット操作とプログラムの可搬性を実現した．そして，デーモンとJavaアプレットがソケットを利用して（4）W由ブラウザ上のJavaアプレットがエージェントの内部状態を表示通信を行うようにし，各々に必要最小限の機能のみを実装

図1：仮想ロボットターミナルの構成することで処理の効率化を図っていたが，この構成では通2．1 デーモンのJavaオブジェクト化

僧において低レベルな記述が必要なためプログラムが煩雑

従来の仮想ロボットターミナルでは，デーモンをC言語になる傾向があった．

そこで，仮想ロボットターミナルのデーモンやJavaアで開発していたために，既存の分散言語システムの導入が難プレットの開発を容易にするために，Jmベースの分散言しかった．このため，ソケットを利用して通膚を行うよう語システムHOR呵3】を導入し，プログラムの記述性を改にしていたが，デーモン，Javaアプレットの双方で通信に善することにした．また，HORBを導入するのに伴い，従関する低レベルな記述をする必要があった．そこで，Java

来C言語で記述していたデーモンもJavaで再構築を行っベースの分散言語システムのうち記述の簡単なHORBをた．本稿では，HOR丑を導入したシステムと従来のソケッ仮想ロボットターミナルへ導入し，通信に関連する部分をトを利用したシステムの性能を比敬し，リアルタイム性の再構築することにした．HORBを利用するためにはデーモ要求されるロボット操作環境においてのJavaで構成したンもJavaアプリケーションとして構築する必要があるのシステで，従来のデーモンの機能をうちのJaⅧで実装することが難しい各種ポートの低水準入出力はIC言語で記述した

2 仮想ロボットターミナルヘのHORBの導入

ネイティブメソッドを呼ぶ形で実装した（図2）．

仮想ロボットターミナルは，ロボットや各種センサに接続するコントローラ，コントローラの制御と情報のブリッジを行うデーモン，Wbbサーバが動作するパソコ．ンまたはワークステーションとWbbブラウザの動作する端末で構成する．そして，Wbbブラウザ上で動作するJavaアプレッ
トでユーザインタフェースを構築し，プラットフォームに
図2：ネイティブメソッドを利用したデーモン

独立した操作環境を実現する（図1）．

HORBを導入する●ことで，ネットワーク透過なメソッド†NTTコミュニケーション科学研究所，起動が可能となるので，Javaアプレットがデーモン側のメ

619−02 京都府相楽部将華町光台2−2，ソッドを起動する形でセンサヰロボットの状態を取得し，

Tbl：077心95−1827，取Ⅸ：0774−95−1871，表示を行うような記述が可能になる．

e−mai1：（hiramatu，akira，naya，OSatO）◎cslab・kecl・ntt・CO・jp−31−

3 性能比較

表2：デーモンの反応時間HORBを導入した仮想ロボットターミナルと従来のソケッ

HORBで通信 Socketで通倍トを用いたバージョンを表1の環境で動作させ，比較を行っ

平均（ms）

0．732

0．175

た．測定にはセンサとしてデータグローブを利用し，各指HORBバージョンをソケットバージョンと比較すると，反に付いた合計10個の角度センサのデータを簡単なグラフィッ

応時間の差は約0．55msであった．この差は，HORBの各クで表示するJaⅧアプレット（図3）の動作で，ソケットでオブジェクト間のメソッドコールとJavaのネイティブメ通信する場合とHORBを導入した場合の性能を比較した．

ソッドコールのオーバーヘッドが原因と考えられる．
8．2 アプレットの更新周期

表1：測定環境
サーバ SunUltra30（Solaris2．6）

表3はアプレットの更新周期を測定したものである．測定

クライアント AMiTYVP（Win95）に利用したJ8Vaアプレットは，通膚とグラフィック表示
InternetExplorcr3．0
ネットワーク 10BASE／T（同一ハブに接続し，他と隔離）を逐次的に行うので，Jmアプレットからのデータ要求のセンサ データグローブ（WL社）間隔でグラフィックの更新周期を測定できる．また，同じ開発環境 JDKl．1．3，JDKl．0．2，HORBl．3bl
Javaアプレットで表示を行わない場合も併せて測定した．
表3：アプレットの更新周期
HORBで通膚Sock鈍七通信
ポリゴン表示（ms）

28．71

表示なし（m）

3．鱒

27．58
2．31

測定の結果，実験環境ではソケットで通信する場合，HOR丑を利用した場合ともに毎秒30フレーム以上でグラフィック表示を行うことができた．また，表示なしで通膚のみを行うJavaアプレットとの比較から，処理時間の約90％がグラフィックの表示に費やされていることが分かった．従っ

図3：センサデータを表示するJavaアプレットて，表示と通僧では，表示処理の方がJavaアプレットの測定にはサーバ上のtcp血mpコマンドを利用した．Java動作速度に対して大きな影響を与えるので，表示処理の効アプレットからのデータ要求パケットとデーモンからの応率化を図ることの方が重要であることが分かった．

答パケットのタイムスタンプを記録し，オフラインでそれら4 まとめのパケットの間隔を計算し，それぞれ統計処理を行った．

以上の測定結果から，簡単なデータであればⅥ屯bブラ
3．1 デーモンの反応時間

ウザ上のJavaアプレットでも十分な表示速度が得られる

従来のデーモンはC言語で実装し，内部をマルチスレッことが分かった．今後は， 本格的なロボット操作環境を構ド化することで処理の効率化を図り，Javaアプレットとの通築するために，Javaアプレット上での複雑なデータの表示僧はソケットを通じて行うように実装した．また，HORBやロボットの操作方法を検討していく予定である．

バージョンのデーモンは，低水準入出力をネイティブメソッ
参考文献

ドとして実装し，HORBのリモートオブジェクトとして動作するJavaアプリケーションへと変更した．どちらのバー【1】A．Mori，・etal． Multiagent−baseddistributedma・

ジョンのデーモンも，センサから連続的に出力されるデー

nipulatorcontrol

タを一旦バッファリングし，Javaアプレットからデータを．InMFI，96，pp．289−296，1996．

【2】平松他・ マルチエージェント制御ロボットにおけるWeb要求された時点で最新のデータを返せるように実装し，ほブラウザを利用した内部状態の可視化 ．第55回情報処ぼ同じ手順で処理を行うようにレた．

理学会全国大会講演論文集（3），pp・3−432，433，1997．

表2は，デ「モンの反応時間の測定結果である．反応時間【3］http：／／ring・etl・gO．jp／oprnlab／horb／．

は，データ要求パケットと応答パケットの間隔で測定した．

ー32−