...

自律分散協調システムを 構築するには? Network Robot ∼ 事例1

by user

on
Category: Documents
21

views

Report

Comments

Transcript

自律分散協調システムを 構築するには? Network Robot ∼ 事例1
自律分散協調システムを
構築するには?
自律分散協調システム
∼システムについての議論∼
基礎的な(システム的な)概念
ドメインスペシフィックな知識
ドメインインディペンデントな知識
慶應義塾大学環境情報学部
徳田英幸
© H. Tokuda, Keio University
Network Robots?
Network Robot
∼ 事例1 ∼
© H. Tokuda, Keio University
Image of Network Robots
What is Network Robots?
Ubiquitous
Network
“Visible” type
Network Robots
“Virtual” type
“Unconscious” type
1
Navigation (Guide) Service
Co-operation
among three
different types of
robots
‘Unconscious-type’
Robot
Scenario of Advanced Network Robots
2005:Network robots in its infancy
Single function robots at home would
come to be connected to networks,
interactions between robots and consumer
electronics would be realized
2008:Phase of growth
Recognizing
people/environments
Network
Robot Platform
for sharing
robot contents
Robots will become diversified (virtual,
unconscious and visible types), mutually
interact and become available for multiple
purposes.
‘Visible-type’
robot
‘Virtual-type’
robot
2013:Mature phase
Context dependent
interaction between
human and robots
Robots can be used even outdoor via
ubiquitous networks; interact with two or
more robots; and free function expansion
will be realized
Centralized i-mode portal
NTT-Docomo
i-mode Gateway
∼ 事例2 ∼
© H. Tokuda, Keio University
集中型の問題点
„
単一故障
„
„
„
„
„
„
危機管理上の問題
顧客からのクレーム増
スケーラビリティ
„
集中型のメリット
„
„
ビジネスモデルの創出
回線使用料の独占
„
セキュリティの向上
„
アカウンティングの容易性
2,800万以上のclientに対応
応答性の低下
負荷分散の欠如
ビジネスの独占
„
専用回線の利用
2
Distributed i-mode Portal
分散型のメリット
„
新しいビジネスの導入
„
„
ビジネスモデルの創出
回線使用料の徴収モデル
• 個人から法人へ
„
スケーラビリティの向上
„
応答性・ユーザビリティの向上
多機能端末
„
„
„
i-mode portalの構造
Universal controller型が可能
分散型の問題点
„
アカウンティング問題
„
回線使用料の徴収へのオーバヘッド
自律分散協調システム
プロトコルと分散アルゴリズム
新しいドコモボックスの開発
„ セキュリティの確保
„ 多機能端末
„
„
端末コストの増大
慶應義塾大学環境情報学部
徳田英幸
自律分散協調システムとは?
自律分散協調システムとは?
新しいパワフルなパラダイム
創発システムのパラダイム
システム内にシステム全体を制御/統治す
るスパーバイザは存在しない。
„ 各サブシステムは、自律、分散した構成要素
からなる。
„ 全体のシステムの機能は、サブシステム間
の協調作業によって遂行される。
„
© H. Tokuda, Keio University
3
自律性について
„
社会システム
„
„
„
協調性について
„
„
自動整列問題
掃除ロボット問題
„
スマート交差点問題
協調プロトコル
• どのような協調パターンがあるのか?
• どのように記述するのか?
• なぜ協調するのか?
ネットワークロボットモデル
„
協調のメカニズム
„
発展途上国における地方自治体モデル
日本における地方自治体モデル
„
自然なプロトコル
„
人工的なプロトコル
• 生物システム
•
•
•
•
•
• どのようなアルゴリズムが良いか?
Client-Server
Ethernet’s MAC Layer
競売プロトコル
回覧板プロトコル
その他多種多様なプロトコル。。。
分散プログラムのモデル
„
並行プロセスモデル
„
分散プログラムのモデル化
。。。ちょっと復習。。。
„
並行オブジェクトモデル
„
„
„
Program = a set of cooperating (sequential)
processes
Program = a set of cooperating objects
対象としているシステムのモデル化に適している。
いくつかの分散・並行プログラミング言語も開発さ
れている。
© H. Tokuda, Keio University
並行プロセス: プロセス間通信(1)
並行プロセス: プロセス間通信(2)
Process Group G1
• Multicast
• Group Communication
• Unicast
Process C1
Process S1
GroupSend(G1, msg)
Process C1
Send(S1, msg)
Receive(C1, buf)
4
並行プロセス: プロセス間通信(3)
並行オブジェクト
• Broadcast
Object
All Processes
Object
methods
methods
SendAll(*, msg)
.
.
.
Process C1
プロセス間通信: Direct IPC
„
The communication is done between two processes
without using any communication entity.
Bsend(process_id, message, size)
Nsend(process_id, message, size)
Brec(process_id, buffer, size)
Nrec(process_id, buffer, size)
プロトコルとは?
∼協調動作の記述∼
process_id = Brecany(buffer, size)
process_id = Nrecany(buffer, size)
Request(process_id, message, sizeof(message),
buffer, sizeof(buf)
Reply(process_id, message, size)
© H. Tokuda, Keio University
プロトコルとは?
外交上の儀礼
„ 通信の送信側と受信側で取り決めた約束事
„ 通信手段
„
pro・to・col
1 U(外交上の)儀礼,典礼.
プロトコルの記述
„
„
„
„
2 C 条約原案; 議定書,プロトコル.
3 C (国家間の)協定.→#
4 C 《米》 (実験・治療の)実施要綱[計画].
„
プロトコルの記述は、通信上の約束事すべてを
定義する。
通信メッセージのフォーマット(書式)の詳細
(format) -> (syntax)
メッセージを交換する際の手順 (procedure) > (grammer)
正しいメッセージが表わしている意味、語彙
(correctness) -> (semantics)
Completeな記述 vs. Incompleteな記述
5 C 【電算】 プロトコル 《データ通信の手順》.
[株式会社研究社 新英和・和英中辞典]
5
何のためにプロトコルが必要か?
データ転送に必要な初期化や終了
„ 送信者と受信者との同期(条件)
„ 転送エラーの検出や訂正
„ データの書式や符合化を行う
状態遷移図
„
Sender
Receiver
RTS
RTR
-msg
+msg
Wait
Wait
+ACK
Time-Space Chart
Sender
Receiver
msg
ACK
-ACK
Concurrent Programming Language
Process Sender( )
{
while(TRUE) {
prepare_message(buffer);
frame.data = buffer;
send_to_network(frame);
}
Process Receiver( )
{
while(TRUE) {
wait_for_frame(buffer);
receive_from_network( frame);
buffer = frame.data;
}
Stop-and-Wait Protocol
Process Sender( )
{
while(TRUE) {
prepare_message(buffer);
frame.data = buffer;
send_to_network(frame);
wait_for_frame(ack);
...
}
Process Receiver( )
{
while(TRUE) {
wait_for_frame(buffer);
receive_from_network( frame);
buffer = frame.data;
prepare_message(ack);
frame.data = ack;
send_to_network(frame);
}
分散システムの捕らえ方
© H. Tokuda, Keio University
6
システムの捕らえ方
„
構成論的手法
„
構成論的手法
„
Top-down, bottom-up手法
全体に対して個々のエージェントの役割が位置
づけられる。
„ コミュニケーションプロトコルの設計
„ マスタースレーブ的な協調、機能分割的な協調
„ 位置的、機能的分散処理の重視
„ 工学的な効率、システム動作解析可能性の重
視
„
• Client-server model
„
自己組織論的手法
„
„
自律的にシステムを構成
群知能、集団行動
• アリの巣
• 都市のかたち
„
自律型ロボットシステム
自己組織論的手法
„
協調的行動を発現するアーキテクチャの
構築
„
自律性とは?
„
システムダイナミクスの研究
„ 柔軟性、頑健性の重視
„ 自律性に基づく協調
„ 生物、社会現象の模倣
自律:
„
全体は、個々のエージェントのインタラクション
の結果として創出される。
„
協調方法を定義したアーキテクチャの構築
„
自分で自分の行為を規制すること
外部からの制御から脱して、自身の立てた規範に従って
行動すること
„
自立:
„
自律性をプログラムするとは?
„
„
他の援助や支配を受けず自分の力で身を立てること
エージェントを作るとは?
ロボット整列問題
„
一群のロボットを自律的に円に整列される
„
Alogrithm 1: Big brohter方式
„
Algorithm 2:先生ロボット+生徒ロボット
„
Algorithm 3:先生ロボットを選出
„
Algorithm 4: 同一ロボット
• 各位置を明示
• 先生ロボットが計算し、支持
• 先生ロボットを動的に選出
7
Fly UP