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