• 検索結果がありません。

第 5 章 プラットフォームを用いたサービスの実現

5.6. 物理サービスへの拡張

5.6.4. 検証

5.6.4.1. 忘れ物防止サービス

タマイズした.登録したサービスの起動条件をTable 5-16に示す.このサービスは,ユーザ(person200)

が玄関マット(goods315)の上にいた時に,財布(goods1)がRT-Box2(robot120)内にある場合に起動 される.XML ファイルに登録したサービスの情報,Kukanchiコンポーネントに登録した物品,ロボッ トの属性情報をTable 5-17,Table 5-18,Table 5-19に示す.

Figure 5-30 Sequence diagram of prevention service to leave a thing behind

Sensors/robots layer Application layer

Task scheduler RFID-based

floor sensor

robots Service

selector 4W

Integrator Connection unit

for Kukanchi Kukanchi

Register(sensor data) Register(robot data)

Command decomposition()

W data Integration()

Register(request command)

Command execution()

Register(execution result)

Service selection() Get() : users, objects and robot data

Get() : 4W data

Get() : Integrated 4W data

Get() : request command

Get() : robot command list

4W data generation()

'How' comparison()

Get() : robitic functions and properties(robots and objects)

'Where' comparison and command list generation()

Get() : properties(robots) and position data(user,goods and robots)

Calculation of shared positions() Selection of candidate robots()

Command list generation() Read service elements()

Service data generation() Position

sensor component

Mobile robot component,

RT-Box component

Task scheduler component

Kukanchi component

Connection unit component for

Kukanchi

4W integrator component

Service selector component

‘Where’ comparison and command list generation Service selection by ‘who’,

‘where’ and ‘what’

comparison

Condition to activate service

Service

elements Command decomposition

‘How’ comparison

database

Command execution management

database

Table 5-16 Activate condition of service of service selector component

Table 5-17 Registered service elements written on XML file of service selector component

Table 5-18 Object properties registered on GOODS_INFO table of Kukanchi component

Table 5-19 Robot properties registered on CLASS_ROBOT_INFO table of kukanchi component User

who person200

when *

where *

where_at *

where_around R_ON:goods315

what is

Object

who goods1

when *

where *

where_at *

where_around near,:robot120

what Held,robot120

Request

command Task Candidates Subtask Robotic Functions Needed (How)

BRING

GO GO GO MobileRobot

GET

GET GET Manipulator,Hand,

MobileRobot

PASS_CATCH PASS Manipulator,Hand

CATCH MobileRobot

CARRY CARRY CARRY MobileRobot

PASS HAND_OVER HAND_OVER Manipulator,Hand, MobileRobot

WAIT WAIT MobileRobot

BACK GO GO MobileRobot

IDLE IDLE IDLE MobileRobot

ID Name Weight Size(mm)

1 wallet 0.2 H65, W90, L160

4 TV remote control 0.4 H30, W60, L230

ID Name Robotic Functions

(how) Payload(kg) Maximum size of object(mm)

100 TurtleBot MobileRobot 3.0 H125, W140, L210

110 RT-Box1 Manipulator,Hand 5.0 H500, W350, L350

120 RT-Box2 Manipulator,Hand 5.0 H500, W350, L350

5.6.4.1.2. 検証結果

サービスの実行結果をFigure 5-31に示す.システムはユーザの状態がサービス起動条件に一致してい るかどうかを逐次チェックする(Figure 5-31(1)).ついで,RT-Box2が財布を保持した状態でユーザが 玄関マットの上にいることをトリガに,Task Schedulerコンポーネントで移動ロボットとRT-Box2が連 携するコマンドリストを生成した.作成されたコマンドリストの一部をFigure 5-32に示す.Candidates

がPASS_CATCHのPASSに対しては,財布を把持しているIDが120のRT-Box2に対してコマンドのpass

が割り当てられている.また,CATCHに対しては,IDが100の移動ロボット(TurtleBot)に対してコ マンドのtakeが割り当てられていることが確認できる.

各ロボットは,このコマンドリストに基づいてタスクを実行した.はじめに,移動ロボットが財布を 保持しているRT-Box2へアプローチを開始した(Figure 5-31(2)).ついで,RT-Box2が底面を開放し(Fig.

12 (3)),移動ロボットが財布を受け取った(Figure 5-31(4)).その後,移動ロボットは受け取った財 布を保持したままユーザの前へ移動した(Figure 5-31(5)).ついで,移動ロボットはユーザの前で停止 し,ユーザは財布を受け取った(Figure 5-31(6)).

以上から,RT-Boxと移動ロボットおよび位置センサのコンポーネントを用い,サービスAP開発プラ ットフォームに対して各種情報を設定することで,忘れ物防止サービス APが開発可能であることを確 認した.

(1) Scene of checking user status (4) Scene of executing GET task Candidates:PASS_CATCH

Subtask:CATCH, Command:take Robot: Mobile robot (TurtleBot)

(2) Scene of start of GO task Candidates:GO

Subtask:GO, Command:go Robot: Mobile robot (TurtleBot)

(5) Scene of executing CARRY task Candidates:CARRY

Subtask:CARRY, Command:go Robot: Mobile robot (TurtleBot)

(3) Scene of executing GET task Candidates:PASS_CATCH

Subtask:PASS, Command:pass Robot: RT-Box2

(6) Scene of executing PASS task Candidates:WAIT

Subtask:WAIT, Command:wait Robot: Mobile robot (TurtleBot)

Figure 5-31 Snapshots of implemented prevention service to leave a thing behind

Figure 5-32 Generated command list

Doormat

person200 RT-Box2

Wallet

Position sensor Mobile robot

Wallet

Mobile robot RT-Box2

person200

Mobile robot

Wallet

Wallet RT-Box2

Mobile robot

person200

Mobile robot

Wallet

Task Candidates Subtask Command list

GO GO GO

GET PASS_

CATCH

PASS CATCH

CARRY CARRY CARRY

PASS WAIT WAIT

BACK GO GO

IDLE IDLE IDLE

robotId=100,…,taskId=1,taskName=go,…,1325,3000,650,status=WAIT robotId=120,…,taskId=2,taskName=pass,…,1325,3000,650,status=WAIT robotId=100,…,taskId=3,taskName=take,…,1325,3000,650,status=WAIT robotId=100,…,taskId=4,taskName=go,…,750,1930,0,status=WAIT robotId=100,…,taskId=5,taskName=wait,…,status=WAIT

robotId=100,…,taskId=6,taskName=go,…,2000,1500,-1.57,status=WAIT robotId=100,…,taskId=7,taskName=idle,…,status=WAIT

RobotID Command