タンジブルなロボットを導入したテーブルトップ環境における直感的なプログラミング手法の提案
藤 田智樹†

米海鵬†

杉本雅則†

本稿では，プログラミングの知識や経験が乏しいユーザでも簡単にロボットプログラミングが行える手法を提案する．提案手法は，物理的なロボットをマルチタッチ入力可能なテーブルトップ環境に導入することにより，ロボットへの直接的な入力のみでプログラミングを可能にする．プログラミン
グ経験の無い大学生を被験者とする評価実験を通して，提案手法により被験者がロボットの動きを簡単にプログラムで表現できるようになるなど，直感的なプログラミングを行えることが示唆された．

An Intuitive Programming Technique Using Tangible Robots
on Tabletop Environments
Tomoki Fujita,† Haipeng Mi† and Masanori Sugimoto†We propose an intuitive robot programming technique for supporting users with less programming knowledge or experiences. We use a tabletop environment that can recognize multitouch input and track physical robots simultaneously. Evaluations of the proposed techniquewere conducted with nine university students who did not have programming experiences.
The results indicated that the proposed technique allowed users to create a program easily
and in an intuitive manner.

1. 背自身が行える必要がある．このようなロボットプログ

景

ラミングでは，コンピュータの操作に加え，周囲の状

近年，IT（情報技術）の発展に伴い，教育の現場に況に応じた振る舞いを実現するための条件分岐や繰コンピュータを用いた電子教材の導入が盛んに行われり返しなどの概念を理解することが学習者に要求されている．これまでに提案されている電子教材の１つとる4) ．よって，プログラミングの知識や経験が乏しいして，コンピュータを用いたシミュレーションが挙げ学習者でも，容易にロボットプログラミングを行えるられる．学習者は，シミュレーションを通して環境問ような支援環境が必要となる．

題や都市計画など実世界の問題を学ぶことができる．

そこで我々は，物理的かつ直接的な入力のみでロボッ

これらの問題に対する解決策をシミュレーション環境

トの振る舞いをプログラミングできる手法を提案する．

上で試行錯誤的に探索することを通して，学習者の知

本稿では，マルチタッチ入力とロボットトラッキング

識や理解の深化を促進する効果が報告されている1) ．

可能なテーブルトップ環境である RoboTable10) を拡

さらに，物理的なオブジェクトやロボットを導入する張することで，提案手法を実現した．ユーザは，テーことにより，学習者の学習への動機づけや興味のレベ

ブル上でロボットを掴んで動かす，ロボットの周囲に3)ルを高められることが示されている ．我々は，シミュ表示されるアイコンを指で触れるなどの直感的な操作

レーションに代表される学習コンテンツのデザインやで，条件分岐や繰り返しを含むプログラミングを行う構築を，学習者自身で行うことができる物理的な環境ことができる．よって，例えば小学校低学年の子どもを通して，学習者の自発的な学習を促進することを目やプログラミングを普段行わない大学生など，プログ指している2) ．そのためには，シミュレーション環境ラミング経験の乏しい学習者でも容易にロボットプロで用いる物理的なロボットのプログラミングを学習者グラミングを行えると考える．これまで，タッチパネ
ルや TUI(tangible user interface) 等のユーザインタ† 東京大学
The University of Tokyo

フェースを導入した初心者向けのプログラミング手法
は多く提案されている4)∼6) ．しかし，物理的なロボッ情報処理学会 インタラクション 2011

トを活用し，状況に応じた振る舞いをさせるプログ

館した子どもたちが作成したプログラムの数やコードラムを容易に構築できるよう支援する手法の提案は，長，および子どもの振る舞いの観察を基に分析を行っ我々の知る限りほとんど存在しない．ている．その結果，TUI をプログラミング環境に導評価実験では，グラフィカルなブロックを操作して入することで，子どもをプログラミング環境に惹きつプログラミングを行うことができる環境を構築し，提け，自発的に協調させるという効果があると述べてい案手法と比較した．プログラミングの経験が無い大学る．しかし一方で，実体を持つブロックで作成したプ

生に被験者として参加してもらい，実験後のアンケー

ログラムとロボットの振る舞いが関連付けにくいといトへの回答を依頼するとともに，利用中に撮影したビう問題や，実体を持つブロックでは長く複雑なプログデオの分析を行った．その結果，提案手法が被験者にラムを作ることが難しいという問題が指摘されていとってより直感的で容易なロボットプログラミング手る．我々が提案するプログラミング環境では，入出力法であることが示唆された．

機能を持つロボットを直接掴んでプログラミングする

本稿の構成は以下の通りである．第２節では本研究ことができ，さらに作成したプログラムを仮想的なオの関連研究を示す．第３節では提案するプログラミンブジェクトとして表現することができる．そのため，グ手法について述べる．第４節では実験の詳細およびこれらの問題を解決できると考える．

結果について述べる．第５節では評価実験で得られたFrei らの提案する curlybot8) では，ロボットを直接コメントとビデオの分析を基に，提案するプログラミ掴んで動かしその動きを再現できる．そのため，ユーング手法について考察する．第６節では本稿の結論とザの入力とロボットの出力を関連付けやすいという特今後の展開について示す．

徴を持つ．Raﬄe らの開発した Topobo9) では，ユー

2. 関 連 研 究

ザが様々な形状のパーツを組み合わせロボットを構築する．ユーザは，ロボットを手で掴んで動かすことにプログラミング経験の乏しい初心者を対象としたプより，その動きを記録，再生できる．しかし，curlybot

ログラミング手法は，数多く提案されている．ここではや Topobo ではロボットが周囲の状況に応じて振る舞本稿と関連の強い研究をいくつか紹介する．Scratch4)

いを自動的に変化させるプログラムを作成することはは，グラフィカルなプログラミング環境の１つである．

できない．

Scratch ではブロック状のオブジェクトをマウスで操作し，積み重ねることでコードを記述せずに簡単にプログラミングすることができる．Quetzal5) は小学校

3. 提案するプログラミング手法
3.1 テーブルトップ環境

低学年の子供を対象とし，TUI を導入したプログラミ

物理的なロボットを導入したプログラミング環境のング環境である．子どもたちはマーカーが張り付けら構築にあたり，マルチタッチ入力とテーブル上の物体れたブロックを直接手で掴み，組み立てることでプロをトラッキングすることができる RoboTable10) と呼グラミングを行うことができる．Quetzal では ﬂow-

ばれるテーブルトッププラットフォームを拡張した．

of-control chains という独自のブロック接続手法を用

RoboTable は，既存のマルチタッチ入力認識手法であいることで，ループや条件分岐などを含むプログラム

る DI(Diﬀused Illumination)11) と FTIR(Frustratedを作成することが可能である．Galllardo らは，マルTotal Internal Refrection)12) を組み合わせることで，チタッチ入力可能なテーブルトップ環境に TUI を導

テーブル上の指の接触と，ロボットに取り付けたマー6)入した TurTanと呼ばれるプログラミング環境を提カーを同時に認識できる．テーブル上の入力情報は，案している．TurTan ではテーブル上に配置したタン

reacTiVision13) と呼ばれる画像認識ライブラリによりジブルなブロックを掴んで移動することで，テーブル取得される．テーブル上のロボットには Bluetooth モ

上に表示されたバーチャルなタートルの経路をプログ

ジュールが実装されており，RoboTable は Bluetooth

ラミングすることができる．TurTan では入出力が統を介してそれぞれのロボットに命令を送ることがで一された環境でバーチャルなタートルのプログラミン

きる．

グが可能であるが，条件分岐のような複雑なプログラムを作成することはできない．

入力情報を利用してグラフィックの描画を行うために，RoboTable は MT4j14) と呼ばれるマルチタッチ

Horn らは，TUI を導入したプログラミング環境を，ライブラリに加え，オブジェクトの物理的な衝突を表コンピュータ上のブロックをマウスで操作するプログ現するために Java JBox2d15) を組み込んでいる．さラミング環境と比較している7) ．彼らは，博物館に来らに，異なる駆動機構や無線通信手法を備えたロボッタンジブルなロボットを導入したテーブルトップ環境における直感的なプログラミング手法の提案

Tabletop Environment
CameraReacTiVision

ProjectorRendering
EngineTabletop EventHandler

BluetoothDriver

直接掴んで動かす
入力

バーチャルオブジェクトに触れて操作するマルチタッチジェスチャ入力

図 2 RoboTable 上の入力手法
Fig. 2 Input techniques on RoboTable

Robot Driver

Robot Programming System
図 1 RoboTable のシステム構成
Fig. 1 System configuration of RoboTable

が認識可能な領域を RoboTable に登録しておく必要がある．そこで，認識領域としてロボットの正面に扇型のオブジェクトを配置する．この扇形の領域は，マルチタッチジェスチャ入力でユーザが半径と角度を自由に調整できる (図 2 右)．RoboTable は，個々のロトに対応するために，独自のシステム開発 Toolkit を16)実装している．拡張された RoboTable のシステム構成を図 1 に示す．

ボットに割り当てられた認識領域とテーブル上のオブジェクトの接触を定期的に確認する．認識領域にオブジェクトが接触すれば，接触したオブジェクトと，接3.2 イベント駆動型プログラム

触した方向（ロボットから見て左，正面，右）の情報

本稿では，プログラムモデルとしてイベント駆動型を用いて認識イベントを作成する（例えば，バーチャプログラムを採用する．イベント駆動型プログラム

ルな壁をロボットの正面に来るように配置し，そこには個々のイベントと，それに対するロボットの振る舞ロボットを近づけて認識領域と接触させれば「壁：正いの組み合わせで構成される．本稿ではこの組み合わ面」という認識イベントが作られる）．このとき，発生せをプログラムブロックと呼ぶことにする．プログラしたイベントを保存するためのボタンがロボットの周ムブロックは RoboTable に登録され，RoboTable は囲に表示される．ユーザがこのボタンに触れることで，テーブル上の状況と登録されたプログラムブロックとプログラムブロックのテンプレートが表示され，そのの照合を行い，個々のロボットに送信する命令を切り中に認識イベントを保存できる (図 3)．認識イベント替える．例えば，「障害物の接近の認識（イベント）」発生時に，複数のオブジェクトがロボットの認識領域と「右に 90 °回転して回避（振る舞い）」からなるプ内に入ることも考えられる．このときは自動的に一番ログラムブロックが該当すれば，ロボットに障害物を近くにあるオブジェクトのみを選択し，それに対する回避させることが可能になる．本稿では，作成したプ認識イベントを作成する．なお，複数のオブジェクトログラムブロックの集合をプログラムとして扱う．

を同時に認識して認識イベントを生成することも可能

3.3 プログラミング手法

であるが，ユーザのプログラミング経験が乏しいこと

RoboTable を用いることで，テーブル上のロボッを考慮して，より単純な機能を実装することとした．

トには図 2 に示す直接的な入力を行うことが可能でまた，認識イベントに対し，認識可能領域に何もオある．

ブジェクトが存在しない状態を通常状態と定義する．

• ロボットを直接掴んで動かす

通常状態のプログラムブロックもロボットの周囲に表• ロボットの周囲に表示されるボタンなどのバー示されるボタンから作成できる．プログラムの実行時

チャルなオブジェクトに触れて入力する• マルチタッチジェスチャで入力するには，他のイベントが発生しない限り，通常状態のプログラムブロックが繰り返し呼び出される．

提案するロボットプログラミング手法では，ユーザは3.3.2 振る舞い情報の保存

これらの入力操作を組み合わせることによりプログラ

プログラムブロックのテンプレートに認識イベントミングを行う．

が保存されると，ロボットの周囲にはそのイベントを

3.3.1 認識イベントの保存

保存したプログラムブロックが表示される．この状況

テーブル上のロボットは，他のオブジェクトへの接でユーザがロボットを手で掴んで動かすことにより，近，衝突を RoboTable を介してイベントとして認識そのイベントに対応するロボットの振る舞い情報を作することができる．本稿では，これを認識イベントと成できる．振る舞い情報は，ユーザが動かしているロ呼ぶ．認識イベントの保存には，あらかじめロボットボットの位置と角度情報を読み取りながら，直進，後情報処理学会 インタラクション 2011

4

1 ロボットを動かす
2 イベント発生
3 イベント登録ボタン
4 プログラムブロック表示

1 ロボットを動かす
2 振る舞い情報に変換

2

3 プログラムブロックの保存

12133
図 3 認識イベントの保存
Fig. 3 Storage of recognition events

図 4 振る舞いの登録
Fig. 4 Registration of robot behaviors

退，回転の命令に変換することで RoboTable により接触し認識イベントが発生すると，その都度登録され生成される（例えば，ロボットを掴んで正面方向に動ているプログラムブロックとの照合を行う．このとき，かした場合，プログラムブロックには直進 30cm とい一致するプログラムブロックが存在すれば，そこからう振る舞い情報が生成される）．ユーザはロボットを振る舞い情報を取り出し，その情報を基にロボットを動かしながら，プログラムブロック内の変換された振操作する．一致するイベントが登録されていない場合，る舞い情報を確認する．意図した通りの情報が入力

通常状態の振る舞い情報が用いられる．プログラム実されていれば，ロボット周囲に表示される「振る舞い行時には，ロボットの周囲にプログラム停止ボタンが情報保存ボタン」に触れることで，作成された振る表示される．このボタンに触れることで，プログラム舞い情報を保存する．振る舞い情報が保存されると，の実行が停止する．

RoboTable にプログラムブロックとして登録するこ

3.4 提案手法のシステム構成とが可能になる．このとき，ロボットの周囲にはプロ

図 5 に示すように，提案システムは Tabletop Event

グラムブロックを登録するためのボタンが表示される

Handler からロボットや指などの位置情報を取得し，（図 4）．ユーザはこのボタンに触れることで，作成しRobotDriver 経由でロボットの制御を行う．Tabletop

たプログラムブロックを RoboTable に登録する．そEvent Handler からからの入力情報は Event Proces-の後，同様にロボットを動かして登録ボタンを押すとsor で解析され，認識イベントやボタン入力イベントいう作業を繰り返すことで，新たなプログラムブロッ等の特定を行う．特定されたイベントに応じて，Pro-クを登録することができる．

gram Block Generator，Robot Controller に処理が3.3.3 プログラムブロックの表示と編集
ユーザは，RoboTable に登録したプログラムブロッ移される．各々の処理について以下に述べる．

• プログラムブロックの生成

クを編集することができる．ロボットの周囲に表示さEvent Processor がロボットの認識イベントを同定すれるメニューボタン中のプログラムブロック編集ボタると，Program Block Generator により「認識イベンに指で触れることで，RoboTable に保存されているント保存ボタン」が表示される．ユーザがこのボタン全てのプログラムブロックをロボットの周囲に表示すに触れると，Event Generator が起動され認識イベンることができる．ユーザは，各々のプログラムブロットとして保存される．次に，ユーザはロボットをテークを指で触れて移動させたり，テーブルの隅に表示さブル上で動かすことで，保存された認識イベントに対れるゴミ箱のアイコンにドラッグすることで作成した応するロボットの振る舞いを入力する．入力された振プログラムブロックを削除したりできる．

る舞いは Behavior Recorder によりロボットの駆動機

3.3.4 プログラムの実行

構（回転、直進など）に応じた命令に変換される（こユーザがロボットの周囲に表示されているプログラ

れを振る舞い情報と呼ぶ）．意図通りの動きを入力でム実行ボタンに触れると，RoboTable は登録された

きたと判断したユーザが「振る舞い情報保存ボタン」

プログラムブロックを用いて Bluetooth 通信でロボッに触れると，認識イベントと振る舞い情報が Program

トを操作する．ロボットの認識領域にオブジェクトがBlock Assembler に送られる．ユーザは，ロボットをタンジブルなロボットを導入したテーブルトップ環境における直感的なプログラミング手法の提案

Tabletop EventHandler

Robot Dirver

Event Processor
Program Block Generator
EventGenerator

Robot Controller

Behavior
RecorderExecutor

Program Block Assembler

Calibrator

Program Block Memory

ドラッグ入力図 6 グラフィカルなプログラミング環境
Fig. 6 Graphical programming environment

図 5 提案手法のためのシステム構成
Fig. 5 System configuration of the proposed method

4. 評 価 実 験
動かしながら繰り返し振る舞い情報の入力を行う．よ4.1 実 験 設 定

り意図通りに近い入力ができたと判断し，ユーザが提案するプログラミング手法を評価するための実験「振る舞い情報保存ボタン」に触れるたびに，新たなを行った．本稿では比較実験を行うため，プログラミ振る舞い情報に更新される．

ングの知識や経験が乏しいユーザを対象に構築された• プログラムブロックの登録

Scratch4) を参考に，グラフィカルなブロックを指でProgram Block Assembler は，受け取った認識イベ操作して組み合わせながらプログラミングを行う環境

ントと振る舞い情報からプログラムブロックを構成し，を，提案手法と同様のテーブル上に構築した．ロボッ

テーブル上に「プログラムブロック登録ボタン」を表示

トを掴んでその振る舞いを設定できる提案手法とは異する．このボタンに触れると，Program Block Mem-なり，このグラフィカルなプログラミング環境では振ory にプログラムブロックを送る．Program Block

る舞いを設定するパラメータを図 6 右下のスライダー

Memory は受け取ったプログラムブロックを格納すに触れて設定する．

る．その際，すでに格納済みの認識イベントを確認し評価実験のタスクとして，ロボットがバーチャルな重複する場合は上書き処理を行う．

障害物を回避しながらゴールを探索する maze(図 7)• プログラムブロックの実行を採用した．被験者は，グラフィカルなプログラミン

Event Processor が「プログラム実行ボタン」からのグ環境および提案手法の２種類のプログラミング環境入力を確認すると，Robot Controller に処理を移行すでプログラミングを行う．実施された評価実験は以下る．Robot Controller は Program Block Memory にの 2 つである．

アクセスし，プログラムブロックとして格納されてい• 実験１：バーチャルなロボットを用いた評価実験．

る振る舞い情報を実行する．Event Processor は新た• 実験２：物理的なロボットを用いた評価実験．

な認識イベントが発生するたびに，Robot Controllerにそのイベントの情報を送信する．Robot Controller

これらの 2 つの実験を行うのは，物理的なロボットは受信したイベントと Program Block Memory に格の動作に含まれる誤差（モータやテーブル表面の状態納されているプログラムブロック中の認識イベントをにより必ずしも動きを正確に再生できるとは限らない）照合し，一致する認識イベントの振る舞い情報を Ex-が，ユーザの評価に影響を与える可能性があるためでcecutor に実行させる．ロボットの動きはトラッキンある。

グされるため，指定された振る舞い情報からの誤差を実験に用いられる maze には同程度の難易度のマッ取得できる．Calibrator は，この誤差を補償するためプが４つ用意されており，それぞれのマップのスターに補正された振る舞い情報を Executor に送信する．

トとゴールの位置が固定されている．ロボットがゴールに接触すると，自動的にロボットは停止し，画面上にGOAL の文字が大きく表示され，タスクが終了する．
評価実験では，プログラミング経験の無い大学生 9

情報処理学会 インタラクション 2011

た．アンケートで得られたデータに対し，Kolmogorov-バーチャルな壁

Smirnov 検定および F 検定を行い，それぞれ正規分布および等分散の仮説が棄却できないことを確認した．
ゴール

次に，グラフィカルなプログラミングおよび提案する
プログラミング手法について t 検定 (対をなすデータの場合) を行った．

プログラミングしたプログラムブロック

実験結果を図 8 に示す．t 検定により「実際のロボットの動きの想像しやすさ」の項目において，t(8) =3.833 (p < .05) となり，有意差があることが確認できた．この項目において有意差が生じた理由は，以下
図 7 評価実験に用いた maze
Fig. 7 Maze used in experimentsのように考えられる．グラフィカルなプログラミング
手法では，ロボットの振る舞いをイメージしそれを具体的なパラメータの値に変換してプログラミングを行名（男性 6 名，女性 3 名，平均 21.4 歳）を我々の研う必要があった．一方，提案手法ではユーザがロボッ究室以外から募集した．被験者には謝礼として 1 人

トに対して直接行う入力がそのままロボットの振る舞1,000 円を支払った．まず最初に，実験者が被験者にいとなるため，より直感的なプログラミングが可能と対しグラフィカルなプログラミングおよび提案するプなったと考えられる．

ログラミング手法の説明を行った．被験者がタスクのさらに，提案手法では一部の被験者は手で直接ロ

内容を理解しプログラミングに十分慣れた後，実験をボットを動かし，認識領域を maze の壁の接触に合わ開始した．

せて動きを切り替えながら，複数のプログラムブロッ

実験では各被験者に対し，２種類のプログラミングクによって表現されるロボットの動きをシミュレーショ手法と maze のマップをランダムに選択して提供した．

ンしていた．提案手法の特徴は，プログラム作成時のロボットがゴールに到達，もしくはプログラミング開ユーザのロボットへの振る舞いの入力がそのまま実行

始から 10 分以上経過した時点でタスクを終了し，各時にロボットの振る舞いとして再現できる点である．

プログラミング手法に関するアンケートに記入してもよって，提案手法では作成したプログラムでロボットらった．実験中はプログラミングに要した時間を測定

が意図通りの振る舞いをするかどうか，意図通りでなするとともに，手の動きを中心にビデオ撮影を行った．

い場合はどのように修正すればよいかを容易に知るこ

被験者が回答したアンケート項目を以下に示す．とができたと考えられる．

• プログラミング手法の理解しやすさ

それぞれの手法において，被験者がプログラミン• イベントの設定しやすさ

グを完了するのに要した時間を表 1 に示す．提案手• 振る舞いの組立てやすさ

法を用いることにより，半数以上の被験者のプログラ• パラメータの入力しやすさ

ミング時間が短縮されている．しかし，2 名の被験者• 実際のロボットの動きの想像しやすさ（No.5，No.9）についてプログラミングに要する時間

アンケートでは，以上の５項目を７段階のリッカーが明らかに増大していることが分かる．

ト尺度 (1:全く当てはまらない，2:当てはまらない，3:やや当てはまらない，4：どちらでもない，5:やや当てはまる，6:当てはまる，7:非常に当てはまる) で評価してもらった．
「実際のロボットの動きの想像しやすさ」は，イメージしたロボットの動きを表現するため

表 1 被験者が実験１のプログラミングに要した時間（単位：秒）
Table 1 Time spent for programming by each subject inExperiment 1（unit: second）
GraphicalProposed

No.1
213232

No.2
195
130

No.3
130
149

No.4
107
97

No.5
223
390

No.6
169
123

No.7
163
152

No.8
148
60

No.9
118289には，どのようなプログラムを作成するか，その想像しやすさを評価するための項目である．アンケートで4.3 実験２の結果はさらに，プログラミング手法に関する問題点や気づ実体を持つロボットを用いて行った実験結果を図 9いた事などをコメント欄に記入してもらった．に示す．実験１と同様，正規分布および等分散の仮説

4.2 実験１の結果が棄却できないことを確認し，t 検定を行った，図 9

実験１では，テーブル上に表示されるバーチャルなロから明らかなように，提案したプログラミング手法のボットに対するプログラミングを被験者に行ってもらっ

得点平均はいくつかの評価項目においてグラフィカル

タンジブルなロボットを導入したテーブルトップ環境における直感的なプログラミング手法の提案

バーチャルなロボットを用いた実験

GraphicalProposed

表 2 被験者が実験 2 のプログラミングに要した時間（単位：秒）
Table 2 Time spent for programming by each subject inExperiment 2（unit: second）

Scale

Graphical
Proposed

5. 議

No.1
100
179

No.2
116
83

No.3
220
195

No.4
100
164

No.5
103
222

No.6
107
53

No.7
163
119

No.8
71
54

No.9
7896

論

評価実験の結果からは，提案するプログラミング手法によりプログラミングの知識や経験の乏しいユーザ理解しやすさ

Eventの保存 振る舞いの保存 パラメータ入力 想像しやすさ

図 8 実験１の結果
Fig. 8 Result of Experiment 1

でもロボットプログラミングを概ね容易に行うことができたと言える．しかし一方で，提案手法の問題点が被験者からのコメントやビデオ分析を通して明らかになった．以下に，いくつかの問題点を示す．

• 振る舞いの登録に関する問題点
物理的なロボットを用いた実験

GraphicalProposed

一部の被験者はロボットの振る舞いの登録において「少し触れただけで回転命令が作成されてしまうことにストレスを感じる」というコメントした．我々はこの問題の原因が，提案したシステムによる，振る舞いScale情報の変換にあると考えている．提案手法は，物理的なロボットを動かして振る舞い情報を入力するために，ロボットの位置や角度の変化量を読み取り，振る舞い情報への変換を行っている．そのため，ユーザがロボットを掴んだ瞬間の動きや，ロボットを正面方向に動か理解しやすさ Eventの保存 振る舞いの保存 パラメータ入力 想像しやすさ

図 9 実験２の結果
Fig. 9 Result of Experiment 2

したときに発生するロボットの微妙な回転まで，振る舞い情報として入力されてしまう．これにより，ユーザは意図していない振る舞い情報が出力されないように慎重にロボットを動かすことが要求され，ストレスなプログラミング手法を上回っていたが，全ての項目を感じたと推測できる．事実，ロボットを正面方向にについて有意差は見られなかった．実験１の結果との移動させた際，回転命令が含まれていることに気付い

大きな違いとして「実際のロボットの動きの想像しやた被験者が，ロボットの移動による入力をやり直す様すさ」の評価項目で有意差が見られなかった点が挙げ子がビデオで確認された．よって，ユーザの意図しなられる．この原因として，プログラム作成時に入力しい動きが含まれないようにするためのフィルタリング

たロボットの動きと実際のロボットの動きの違いが考手法の導入の可否などについて，今後検討する必要がえられる．バーチャルなロボットの場合と異なり物理ある．

的なロボットの場合，常に設定された振る舞いを正確• 情報提示法に関する問題点に再現できるとは限らない．そのため，一部の被験者提案手法を用いた場合，複数の被験者から「角度の細は作成したプログラムと実際のロボットの動きの違いかい調整にストレスを感じた」というコメントを得た．に違和感を感じたと述べていた．このことが，評価結

我々はこの問題の１つの原因が，提案手法の情報提示果に影響を与えたと推測される．

法にあると考えている．提案手法ではロボットを用いそれぞれの手法において，被験者がプログラミングて動きの入力を行う際に，ロボットの周囲にプログラを完了するのに要した時間を表 2 に示す．実験 1 とムブロックの情報を表示することで，プログラミング同様に，提案手法により半数以上の被験者のプログラ中の認識イベントや振る舞い情報を確認できる．しかミング時間が短縮されている．しかし，3 名の被験者

し，この情報提示ではロボットを動かしてパラメータ（No.1, No.4，No.5）のプログラミング時間が明らかを調整する際に，操作対象のロボットではなくロボッに増大していることが分かる．

トの周囲に表示された情報に視点を移動させなければならない．
「細かい調整」の際のこの視点移動の繰り情報処理学会 インタラクション 2011

返しが，被験者のストレスとなったと考えられる．実験中に撮影したビデオの分析を行ったところ，問題点を指摘した被験者が視点移動を繰り返しつつ，ロボットを何度も左右に回転させながらパラメータの調整を行っている様子が確認できた．表 1 および表 2 において，プログラミングに要した時間が大幅に増大している被験者は，この調整を行っていたためである．よって，微調整を要するロボットの振る舞いを設定する際，より効率的かつストレスなく行える情報提示方法を検討する必要がある．

• グラフィカルなプログラミング手法との比較
グラフィカルなプログラミング手法では，ロボットの移動距離や回転角度を数値で正確に定めることができる．そのため，ロボットを用いた図形描画や，振る舞いを正確に定める必要があるシミュレーション環境などに適している．一方で，提案手法では，ユーザがイメージしたロボットの振る舞いを容易にプログラムとして生成できる．そのため，シミュレーションやゲーム等で, 物理的なロボットの定性的な振る舞いをより直感的なやり方でデザインするのに適していると言える．また，提案手法とグラフィカルなプログラミング手法を組み合わせることにより，両者の利点を生かしたプログラミング環境を実現することも考えられる．

6. まとめと今後の課題
本稿では，テーブルトップ環境を用いることによる直感的なロボットプログラミング手法を提案した．さらに，グラフィカルなブロックを組み合わせるプログ
ラミング環境との比較実験を通して，提案手法の評価を行った．その結果，提案手法を用いることで，ユーザがイメージしたロボットの動きを簡単にプログラムで表現できるようになることが示唆された．さらに，得られた実験データを基に，提案手法の課題について考察した．今後は，提案手法の改善を行うとともに，学習者自身による学習用シミュレーション環境構築とその学習支援効果についての検証や，ゲームプログラミングへの応用についても研究を進めていきたい．

参 考文献1) Yamaguchi, E., Inagaki, S., Sugimoto, M.,
et al.: Fostering Students’ Participation in
Face-to-Face Interactions and Deepening Their
Understanding by Integrating Personal andShared Spaces, Transactions on Edutainment
II, pp.228-245 (2009).
2) Fischer, G., Sugimoto, M.: Supporting SelfDirected Learners and Learning Communities

with Sociotechnical Environments, Journal on
Research and Practice in Technology Enhanced
Learning, 1(1), pp.31-64 (2006).
3) 神田: コミュニケーションロボットによる学習支援, 人工知能学会論文誌, 23(2) pp. 229-236(2008).
4) Resnick, M., et al.: Scratch: Programming forAll. Communications of the ACM, 52(11), pp.
60-67 (2009).
5) Horn, M. and Jacob, R.：Tangible Programming in the Classroom: A Practical Approach,Proc. of CHI 2006, pp.869-874 (2006).
6) Gallardo, D., Julia, C., Jorda, S.：TurTan: aTangible Programming Language for CreativeExploration, Proc. of TABLETOP 2008, pp.
89-92 (2008).
7) Horn, M., Solovey , E.T., Crouser, J., Jacob,
R.：Comparing the Use of Tangible and Graphical Programming Languages for Informal Science Education, Proc. of CHI 2009, pp.975-984(2009).
8) Frei, P., Su, V., Mikhak, B. and Ishii, H.：curlybot: Designing a New Class of ComputationalToys, Proc. of CHI 2000, pp.129-136 (2000).
9) Raﬄe, H., Parkes, A., Ishii, H：Topobo: A Constructive Assembly System with Kinetic Memory, Proc. of CHI 2004, pp.647-654 (2004).
10) Krzywinski, A., Mi, H., Chen, W. and Sugimoto, M.: RoboTable: A Tabletop Framework for Tangible Interaction with Robots ina Mixed Reality, Proc. of ACE 2009, pp.107114 (2009).
11) FTIR vs DI (http://iad.projects.zhdk.ch/multitouch/?p=47/) (retrieved 2010.11.07)
12) Han, J.：Low-Cost Multi-Touch Sensing
through Frustrated Total Internal Reﬂ ection,
Proc. of UIST 2005, pp.115-118 (2005).
13) Kaltenbrunner, M., Bencina, R.：reacTIVision: A Computer-Vision Framework for TableBased Tangible Interaction, Proc. of TEI 2007,
pp.69-74 (2007).
14) MT4j Multitouch For Java (http://www.mt4j.
org/mediawiki/ index.php/ Main Page)(retrieved 2010.11.07).
15) JBox2D Demos (http://www.jbox2d.org/)(retrieved 2010.11.07).
16) 小野島, 米, 杉本, Krzywinski.：テーブルトッ
プヒューマンロボットインタラクションのための
Toolkit の設計と評価, 情処第 72 回全国大会予稿
集 (2010)．