サービス

Download Report

Transcript サービス

第9,10回:
アクチュエーション
先導的ITスペシャリスト育成推進プログラム
「ユビキタスコンピューティングシステム特論」
1
講義内容
 アクチュエーション概要
 情報家電
 ロボット
2
アクチュエーションとは
 実空間におけるモノの作動
 機械などが実空間上で作用すること
ロボットの動作
身近なアクチュエーション
スピーカーで音を出す
ライトの点灯やプロジェクタの制御
3
情報システムにおけるアクチュエーション
 情報システムの1出力として利用
 入力: センシングデータやユーザ入力
 プロセッシング: 情報処理
 出力: アクチュエーション
センシング
データ
プロセッシング
アクチュエーション
ユーザ入力
4
アクチュエーションの例
 ライト制御アプリケーション
部屋の環境情報
暗い
静か
人がいる
センシング
プ
ロ
セ
ッ
シ
ン
グ
部屋が暗い
プロセッシング
電気をつける
アクチュエーション
5
ユビキタス空間におけるアクチュエーション
 ネットワークと連携したアクチュエーション
 センサネットワークやコンピュータ機器、コンテンツ
などと連携して作動する
 例:ホームネットワークにおけるアクチュエーション
分散コンピュータ
コンピュータ
インターネット
センサネットワーク
コンテンツ
アクチュエーション
情報家電
ロボット
ホームネットワークシステム
モバイル機器
コンテンツサーバ
6
扱うアクチュエーションのテーマ
 情報家電
 ネットワークに接続し制御可能な機器
 身近に利用できるアクチュエーションとして普及しつ
つある
 ロボット
7
情報家電
8
情報家電とは
 ネットワークに接続できる通信機能を備えた家
電製品(テレビ、冷蔵庫、エアコンなど)
 PCや他の情報家電から制御できるようになる
 ネットワークに接続した他の機器と連携する
 コンテンツをダウンロードして利用できる
ホームサーバ
白物家電
ネットワーク化
(ホームネットワークの構築)
コンピュータ
AV機器
9
情報家電の例
 デジタルTV/デジタルビデオ
 テレビ番組への参加
 外出先・携帯電話から録画予約
 電子レンジ
 インターネットからダウンロードしたレシピに合わ
せて食品を温める
 スマートフォン
 音声通話
 メールやWebの閲覧
iPhone
10
ホームネットワーク
 Ethernet
 無線LAN
 IEEE802.11b/a/g
 IEEE802.11n
バックボーンネットワーク
 無線PAN(Personal Area Network)
 Bluetooth (IEEE802.15.1)
 UWB (IEEE802.15.13a)
 ZigBee (IEEE802.15.4)
 用途
センサネットワーク
ZigBee
UWB
Ethernet
無線LAN
Bluetooth
情報家電
コンピュータ
11
IEEE802.11n
 実効速度100Mbps以上の無線LAN規格
 802.11a/b/gと比べて高速
 情報家電においてマルチメディアコンテンツ配
信に適している
 地上デジタル放送の情報レートは最大23Mbps
12
Bluetoothとは
 近距離の無線通信規格
 携帯や固定の電子デバイスのケーブル接続の代
替として考案された
 低消費電力、短距離通信、低コスト
 2.4GHzの周波数帯を用いる
 半径10m程度の通信距離
13
Bulutooth利用用途
 ハンズフリー音声通話
 モバイルヘッドセット
 ダイヤルアップ
 push型情報配信端末
 ネットワーキング
14
Bluetoothのトポロジー
 ピコネット
 1つのマスタと最大7台のスレーブ
Piconets
Master: ホッピングパターン決定
(周波数、タイミング)
Slave: データ送受信最大7台
Piconets
Piconets
Piconets
Scatternet
15
Bluetoothプロトコルスタック
アプリケーション
プロファイル
L2CAP layer
L2CAP Resource
Manager
Channel
Manager
HCI
Link Manager layer
Device
Manager
Baseband layer
Radio layer
Link Manager
コアシステム
Baseband Resource Manager
Link Controller
RF
16
Bluetoothコアシステム
 HCI(Host Controller Interface)
 ホストとホストコントローラとの通信を扱う
 HCIスタックが実装されていない場合
 Bluetooth機器独自の接続方式を実装する必要がある
 HCIスタックが実装されている場合
 ハードウェアを意識せずに、アプリケーションを実装できる
 L2CAP (Logical Link Control and Adaptation Protocol)
 パケットの分割や複数接続を扱いHCIを抽象化
 Bluetooth機器独自の通信仕様を意識せずにアプリ
ケーションを実装できる
17
Bluetoothプロファイル
 Bluetoothを用いて接続される両端の機器の
使用やその間の通信プロトコルなどの定義
 サービス
 周辺機器が提供する機能
 プロファイル
 サービスを提供、利用するために必要な機能や仕様
 例:Headset Profile –携帯電話用ヘッドセット-
Bluetoothを用いたサービスは、接続される両端の機器が
同じプロファイルをサポートする必要がある
18
プロファイルの一部列挙
 基本プロファイル
 GAP (General Access Profile)
 デバイスの発見、接続
 SDAP
(Service Discover Application Profile)
 サービス探索
 SPP (Serial Port Profile)
 シリアルポート接続エミュレーション
 Ver1.1定義
 OPP (Object Push Profile)
 オブジェクト転送
 AVプロファイル
 A2DP (Advanced Audio Distribution Profile)
 オーディオデータ転送
19
BlueZ
 BlueZとは
 Linux上でBluetoothデバイスを制御できる
 Bluetoothを用いたプログラムを作成するライブ
ラリがある
 Linux上のアプリケーションからオーディオデータ
を転送などBluetoothの機能を利用できる
20
UWB (Ultra Wide Band)とは
 近距離高速通信が可能な無線技術





高速通信 (110Mbps以上)
低消費電力 (200mW以下を目標)
位置測定やレーダーの機能も持ち合わせる
通信距離は10m (通常室内環境)
次世代情報家電や携帯端末、コンピュータ周辺機
器の基礎技術として注目されている
21
UWBの利用用途
 情報家電の接続
 ホームサーバからAV機器へコンテンツの高速ダ
ウンロード
 ITS
 短距離車載レーダによる衝突防止
 UWBの位置測定の機能を利用
情報家電
ワイヤレス
でつながる
ITS
衝突防止
22
UWBを基礎技術としたプロトコルレイヤ
Wireless USB
23
WUSB (Wireless USB)
 USBの通信に無線を利用した規格
 基礎技術として通信方式にUWBを使う
24
ZigBeeとは
 低消費電力な近距離無線通信規格
 低速 (20から250kbps)
 低消費電力
 ZigBeeネットワークは最大で65,000個の
ZigBee端末を接続できる
ホームオートメーション
ビルディング・オートメーション
センサや機器制御管理に利用
工場・オートメーション
25
ZigBeeはなぜ低消費電力なのか
 低速無線通信
 利用範囲を限定している
 プロトコルを単純化し機能を限定
 ワンチップで対応するLSIが出てきている
26
ZigBeeの利用用途
 ビルディング オートメーション
 セキュリティ、空調制御、自動メータ読み取り、照
明コントロール
 産業用途
 エネルギー管理、製造管理、環境制御
 民生用途
 TV、ビデオ、DVD/CDなどのリモートコントロール
 ホームオートメーション
 セキュリティ、空調制御、照明制御
 センサーネットワーク
 煙検出器、人感センサ、温度/湿度/CO2モニター
27
ZigBeeネットワーク
 コーディネータによるPANの立ち上げ
 管理者ノードとしてPAN(Personal Area
Network) IDを割り当てる
 PAN ID: 16bit 符号なし整数
 ネットワークへの参加
 ルータまたはエンド・デバイスはコーディネータを
見つけるとネットワーク・アドレスを要求する
 ネットワーク・アドレス: 16bit符号なし整数
 アソシエート
 特定の親ノードと結びつきネットワークの一員となるこ
と
28
ZigBeeネットワークトポロジ
 スター・トポロジ
コーディネータ
ルータ
エンド・デバイス
アソシエート
 クラスタ・ツリー・トポロ
ジ
 メッシュ・ネットワーク
クラスタ
29
ZigBeeメッシュ・ネットワークの動作例
Slide Courtesy of
Switch ON
30
ZigBee・アーキテクチャ
アプリケーション層(APL)
ZigBee
アプリケーション・フレームワーク(AF)
デバイス・
ZDO
アプリケーション・
インタフェース オブジェクト
オブジェクト
(ZDO)
アプリケーション・サポート・サブ層(APS)
ネットワーク層(NWK)
メディア・アクセス層(MAC)
物理層(PHY)
31
情報家電の標準
 DLNA (Digital Living Network Alliance)
 機器間が通信する際の手順 (UPnP)
 各社の製品が共通に対応すべきCODEC
 ユーザインタフェース
 OSGi
 Javaに基づくサービスプラットフォーム
 他にも多くの標準がある
PC機器・AV機器・白物家電・センサーなど
ネットワーク間における互換性を保障する
32
情報家電における主要技術
独立行政法人
情報通信研究機構
http://www.venture.nict.go.jp/trend/kaden/index2.html
33
UPnP (Universal Plug and Play)とは
 ネットワークデバイスやサービスの検出と制御
を可能にするプロトコル
 デバイスはネットワークに参加して動的に IP アド
レスを取得
 2種類のタイプを定義
 UPnPで利用できる各種機能を持ったデバイス
 自らの機能をXMLで通知
 UPnPデバイスの制御を行うコントロールポイント
 XMLで通知された機能を参照して利用
 デバイスは互いに直接通信でき、それによってピ
ア ツー ピア ネットワークが可能
34
UPnP利用の例
 UPnP対応の目覚まし時計のアラームを7:00
に合わせます
 翌朝7:00にアラーム音で起きると、UPnP対
応のトースターが目覚まし時計と同期してパン
を焼き始めます
 ユーザは目覚めてすぐに焼きたてのパンを食
べることができます
35
UPnPデバイスアーキテクチャの仕様
 アドレッシング
 ネットワークに参加して動的に IP アドレスを取得
 ディスカバリー
 SSDPプロトコルを用いてネットワーク上のデバイスを検出
 ディスクリプション
 UPnPデバイスの機能や情報を記述したXML
 コントロール
 アクション
 サービスの持つ機能を呼び出す
 クエリー
 デバイスの状態変数を問合せる
 イベント通知
 イベント購読要求を行なうと通知される
 特定の状態変数を指定する
 プレゼンテーション
 ウェブブラウザからデバイスの状態の確認や制御
36
UPnPプロトコルスタック
 インターネット標準技術の上に構築される
 IP/HTTPなど
 データの記述にはXML用いる
UPnP Vender Defined
UPnP Forum Working Committee Defined
UPnP Device Architecture Defined
HTTPMU
HTTPU
SOAP
GENA
SSDP
HTTP
SSDP
UDP
HTTP
GENA
(Events)
TCP
IP
37
UPnPデバイスモデル
 デバイスとサービス
 複数のデバイス、サービスから構成される
 入れ子構造を許す
 サービス
 プロパティとアクション
 最小の機能単位
ルートデバイス
サービス
デバイス
サービス
プロパティ
アクション
プロパティ
アクション
サービス
38
UPnPネットワーク
39
SSDP: Simple Service Discovery Protocol
 ネットワーク サービスが検出される方法を定義
 サービスを検索し発見されたサービスをアナウンスする
 デバイスが検索要求を受信すると、検索基準に一致する
か調べる
 一致していた場合、ユニキャストSSDPレスポンスがコント
ロール ポイントに送信される
 HTTP と HTTPMU に基づく
 UPnP デバイスはマルチキャスト ポートをリッスンする
 ネットワークに参加したデバイスは、マルチキャストパケッ
ト(NOTIFYメソッド)の送出を行なう
 コントロールポイントはそれを受け取りデバイスを検出する
40
情報家電OS
 T-Engine
 TRON
 Linux
 Windows CE .NET
41
ロボット
42
ロボットとは
 自律作業を行う機械
 産業用ロボット
 ペットロボット
 人(またはその一部)の形をした機械
 二足歩行ロボット
 マニピュレータ
43
ロボットの構成要素
 センサ
 外界の状況を取得
 コンピュータ
 センサから得られた情報から自分の行動を決
 実世界で動作するため、リアルタイム性が必要
 アクチュエータ
 移動等の動作を行う
44
ユビキタスロボット
 コンピュータ、センサ、アクチュエータを環境内
に分散配置した新しいロボットの形態
センサ
情報家電
コンピュータ
アクチュエータ
45
リアルタイムオペレーティングシステム
(RTOS)
46
リアルタイム処理とは
 決められた時間内に終える事が要求される処
理
 大きくハードリアルタイムとソフトリアルタイムに分
けられる
 ハードリアルタイム
 時間内に終えないと処理自体の意味が無くなって
しまう
 ソフトリアルタイム
 時間内に終えなくても処理自体は続けられる
47
ハードリアルタイム
携帯電話の例
割り込みハンドラ
受信割り込み
タスク起床
受信
受信タスク
基地局
タスク起床
応答
携帯電話
応答タスク
応答送信
携帯電話内部
想定時間以内に応答できないとタスクが失敗してしまう
ハードリアルタイム
48
ソフトリアルタイム
音楽プレイヤーの例
割り込みハンドラ
入力割り込み
タスク起床
入力
デコードタスク
演奏
タスク起床
音楽プレイヤー
演奏タスク
演奏
想定時間内に演奏が開始できなくても処理自体は問題無く続く
ソフトリアルタイム
49
リアルタイム処理が必要になるシステム
 ハードリアルタイム
 航空機
 自動車
 ロボット
 ソフトリアルタイム
 ラジオ
 DVDプレイヤー
50
リアルタイム性を阻害する要素 – 割り込み
 一般的なOSの割り込み処理
タスクA
タスクB
割り込みハンドラ
スケジューラ
割り込み
タスク起床
時
間
遅
延
割り込み発生から実際のタスク切り替えまでに遅延が発生する51
リアルタイム性を阻害する要素 – システムコール
この間タスクは停止
ユーザ空間
システムコール
カーネル空間
システムコールからの戻りが遅いと、タスクの実行が阻害される
カーネル実行中の割り込みが禁止になっていると、割り込みの遅延も増大する
52
リアルタイム性を阻害する要素 – スケジューラ
 一般的なOSのスケジューラ
 CPU使用率をできるだけ100%に近づける
 全てのタスクに実行権を割り当てる
 実行されないタスクがあってはならない
 リアルタイム処理が阻害される恐れ
 リアルタイムタスクが他のタスクの実行待ちをする
事に
53
RTOSとは
 リアルタイム処理を実行する事に特化したOS
 OSの機能の中でも時間制約の解決に重点を
置く
 割り込みへの応答速度
 システムコールの実行速度
 最も優先度の高い実行可能タスクを常に実行
54
RTOSにおけるタスク
 タスクの状態は大きく分けて3つ
 実行中
 実行可能
 ブロック中
 全てのタスクは優先度を持つ
 RTOSでは、最も優先度の高いタスクを常に
実行したい
 一般的なOS(汎用OS)とは違うスケジューリング
アルゴリズムが必要
55
RTOSのスケジューリング
 最高優先度のタスクから実行
 最高優先度のタスクがブロック中に低優先度のタスクを実行
 最高優先度のタスクが実行可能になったらすぐに実行タスクを
切り替える
ブロック
タスクAが実行可能に
タスクA
(優先度高)
タスクB
(優先度低)
時間
最高優先度のタスクの実行時間が最大になる
56
プリエンプション
 優先度の高いタスクが実行可能になったら、
直ちにスケジューリングを行う
 優先度の高いタスクの待ち時間を減らせる
 プリエンプティブカーネル
 カーネルの実行中であったとしてもスケジューリン
グが可能なカーネル
 Linuxではkernel2.6からプリエンプティブカーネ
ルに
 一般的なUNIX系OSはシステムコール実行後にスケ
ジューリングを行う
57
プリエンプション - 例
タスクA
タスクB
割り込みハンドラ
スケジューラ
割り込み
タスク起床
時
間
割り込み発生後、すぐに再スケジューリングを行う
58
RTOSのみによるリアルタイムの実現
 全てのタスクをリアルタイムタスクとしてスケ
ジューリング
 通常のノンリアルタイムタスクもリアルタイムタスク
として実装しなければならず、開発の負担が大き
い
リアルタイムタスク
RTOSカーネル
59
マイクロカーネルによるリアルタイムの実現
 マイクロカーネル上に汎用OSのカーネルを実
装
 マイクロカーネルでリアルタイムタスクのスケ
ジューリングや割り込み処理を行う
 汎用OSのカーネルは最低優先度タスクとしてスケ
ジューリングされる
汎用OSの機能を利用できる
リアルタイムタスク
ノンリアルタイムタスク
汎用OSカーネル
マイクロカーネル
60
汎用OSの改良によるリアルタイムの実現
 汎用OSのスケジューラや割り込み応答性を
改善する事でリアルタイム性を実現
 リアルタイムタスクからも汎用OSの機能を利用で
きる
 汎用性のために生じるオーバーヘッドがリアルタ
イム性を阻害する可能性がある
リアルタイムタスク
ノンリアルタイムタスク
汎用OSカーネル
61
APIによるRTOSの分類
 RTOSはAPIの仕様によって分類できる
 POSIX準拠OS
 Linux互換
 TRON準拠
 μITRON準拠
 独自仕様
 Windows CE
62
Linux系RTOS
 Linuxにリアルタイム性を持たせたもの
 マイクロカーネルを用いた方式が一般的
 マイクロカーネル上でLinuxカーネルを実行
 Linuxカーネル自体も1つのタスクとしてスケ
ジューリングされる
 2.4以前のカーネルでもプリエンプション可能
例
 RTLinux
 RTAI
63
μITRON系
 組み込み機器向けTRON系OS
 国内で多くのシェアを持つ
 携帯電話や家電等に採用
 TOPPERSプロジェクト
 μITRONのオープンソースによる実装
 T-Engineプロジェクト
 μITRON3.0の拡張ともいえるT-Kernel
64
Windows CE
 Windowsファミリーの組み込み機器向けOS
 PDAやゲーム機(DreamCast)等で採用され
ていた
 最近ではスマートフォンで採用される事例が増え
ている
65
モータ
66
モータ(電動機)とは?
 磁場と電流の相互作用によって生じる力を利
用して電気エネルギーを機械エネルギーに変
える装置
 主に回転エネルギーを発生する
モータで変換
電気エネルギー
機械エネルギー
67
モータの利用例
コンピュータの部品
家電
身の回りの様々な場所で利用されている
ロボット
電車
68
モータの種類
 ACモータ
 インダクションモータ
 シンクロナスモータ
 ステッピングモータ
 DCモータ
 それぞれ長所と短所がある
→ 用途に応じた使い分けが必要
69
ACモータ
 AC(Alternating Current:交流)電源を利
用するモータ
 時間とともに電流の方向が変わる交流の特性を
利用して機械エネルギーを発生させる
電圧
時間
 電源の周波数によって回転数が決まる
 インバータを使って回転数を変更する(VVVF制
御)
 商用電源で直接駆動可能
70
インダクション(誘導)モータ
 代表的なACモータ
 誘導という現象を用いて回転運動する
 金属板に磁石を近づけて回すと、金属板も回転する
現象
磁石
 耐久性が高く安価
金属版
磁石を回すと金属板も回転する
71
シンクロナス(同期)モータ
 交流電源の周波数に同期して回転するモータ
 センサが無くても高精度な定速回転が可能
 エネルギーの変換効率が高い
 少ない電流で大きな力を発生できる
→ エアコン、洗濯機等の家電に使われる
72
ステッピングモータ
 1パルス毎に単位ステップ角だけ回転する
モータ
 単位ステップ角は変更できない
 センサを用いずに位置決定が可能
 センサを用いて位置決め制御するモータはサーボ
モータと呼ばれる
 ロボットの関節等に使われる
73
DCモータ
 DC(Direct Current:直流)電源を利用する
モータ
 回転数は電圧に比例
 PWM方式で簡単に制御できる
 バッテリで駆動する機器に広く使われる
74
PWM (Pulse Width Modulation:パルス幅変調)
 DCモータの回転数制御に使われる手法
 電源のonとoffを繰り返す事で、擬似的に電圧を
変える
 固定電圧でもモータ制御ができる
 マイコン等のコンピュータによる制御が容易
この幅を変化させる事でモータを制御する
75
DCモータの制御
 DCモータの制御はモータドライバを仲介する
事が一般的
 コンピュータから出力される電流は微弱でモータを
直接駆動できない
 モータの回転の向きを変えるには電流の向きを変
える必要がある
IN2
IN2
モータ
ドライバ
OUT1
OUT2
IN1
IN2
OUT1
OUT2
動作
1
1
L
L
ブレーキ
0
1
L
H
正転
1
0
H
L
逆転
0
0
ストップ
モータドライバによるモータ制御例
76
モータの選定要素
 用途
 回転
 HDDのスピンドル
 扇風機
 移動・搬送
 電気自動車
 物の位置決め
 ロボットの関節
 トルク
77