第 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()
4W 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