20141101 大田区民大学での講演「実際にロボットを動かす方法」

30
実実実実実実実実実実実実実 実実実実実実実実実 実実実実実実実実実実実 実実 実実実

Upload: ryuichi-ueda

Post on 31-May-2015

527 views

Category:

Technology


2 download

DESCRIPTION

大田区民の方々(ほぼ60代、ほぼ工学部卒でない方々)に、かなり突っ込んだ技術の話をしてきました。ロボットとは何か、画像処理、動作計画、ベイズ推定。聞く方は大変だったと思います。

TRANSCRIPT

Page 1: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

実際にロボットを動かす方法

産業技術大学院大学情報アーキテクチャ専攻 助教

上田隆一

Page 2: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

講師

• 上田隆一– 産業技術大学院大学 助教– USP 研究所 フェロー– Family & Robotics協会 理事

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 2

Page 3: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

最近のロボットブーム

• ここ 1, 2 年のマスコミのにぎわい– 検索すれば最近の記事がたくさん引っかかる

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 3

Page 4: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

「ロボット」という言葉

• 人の興味を引きやすい– SF っぽい– 最先端っぽい– プロモーションにうってつけ

• 誤解が多い– 実は意外と身近

• どうやって動いているか知ることで仕事上・趣味上のチャンスが

– 本日は「どうやって動かすか」を真剣に考える2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ

ジーの最先端から 豊かな暮らし、安心安全の社会へ 4

Page 5: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

ロボット = 人の代わりをするもの

• 昔から職場や生活空間に存在– 工場 : 溶接 , ちょっとした輸送– 家庭 : 掃除– お店 : 警備 , 扉の開閉( = 自動ドア)– ...

• 人の型をしているかどうかは重要でない– アトム,ドラえもん,ガンダム , etc. → 誤解の

根源• これらは「絵」

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 5

Page 6: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

実世界のロボット

• 例をいくつかお見せします

• 以下の切り口から観察– 入力 : センサで何かを感じる• カメラ , 赤外センサ , レーダ , ソナー

– 出力 : モータ等で何か実世界に作用を与える• アクチュエータ , スピーカ , モニタ表示

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 6

Page 7: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

例 1: 茶運び人形

• http://www.youtube.com/watch?v=1ZoFGCSFS1o

• 入出力を考えてみましょう– 入力 : 茶を置く台(と,その下のスイッチ)– 出力 : タイヤ

– 間には歯車等の機構• 歯車がスイッチの情報を動きに変換

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 7

Page 8: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

例 2: 自動ドア

• ロボットだと考えてみましょう– http://www.youtube.com/watch?v=0HVgEruaUg4

• 入力 : 光(赤外線?)センサ• 出力 : ドアの開閉

• 間には(おそらく簡単な)電子回路– これも歯車同様,入出力をつないでいる

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 8

Page 9: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

例 3: サッカーロボット

• http://www.youtube.com/watch?v=Oz2wIDD02LY

• 入力 : カメラ画像• 出力 : 歩行等の動作

• 間にコンピュータ

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 9

Page 10: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

例 4: BigDog

• https://www.youtube.com/watch?v=cHJJQ0zNNOM

• 入出力,その間をつなぐものはなんでしょう?

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 10

Page 11: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

実世界のロボット - まとめ

• 入出力だけ。それだけ。

• ロボットの動かし方– 入出力する部品をうまく選ぶ– 入出力をうまく繋ぐ

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 11

Page 12: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

典型的な例

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 12

入出力変換用ノート PC

センサ( Kinect )からの入力用USB

台車(タイヤ)への出力用USB

Page 13: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

本日の話

入出力をコンピュータでつなぐ話

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 13

Page 14: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

(本題に入る前に)コンピュータって何?

• インターネットやメールをするもの

• 入力された情報を処理して出力する機械

• 一つのコンピュータで何でも入出力– ソフトウェアで入出力関係を制御

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 14

仕事 入力 出力会社の経理 勤怠の記録等 給与明細年賀状を作る 住所のリスト , 図

案ハガキ

インターネットで何か見る

URL 表示するデータ

ロボット センサから出る値 モータ等への指令

Page 15: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

典型的なロボットの論理的構造

• センサデータ処理 : 意味ある情報を抽出• 行動決定 : 情報から出力を決定• 情報の統合 : 複数のセンサデータから自己位置等を算出

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 15

センサ1

センサ 2

センサデータ処理

(画像処理等)

物の位置情報等

情報の統合(状態推定

等)

行動決定

モータ1

モータ 2

... ...

Page 16: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

センサデータ処理の例(画像処理)

• カメラで動映像を撮影して行動の判断基準に

• 動画像って何?– 動映像は 1枚 1枚の画像をつなげたもの– 画像は 1点 1点の色を数字で並べたもの

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 16

写真(数字から絵を再現)写真(数字の並び)

231 228 209228 225 206226 223 204227 224 205226 223 204224 221 202...

Page 17: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

情報量が多すぎる

• お茶汲み人形の行動決定表– スイッチ ON: 動く– スイッチ OFF: 止まる

• 画像からの行動決定表– 画像のデータの並びが ...

• 231 228 209 228 225 206 226 223 204...: 動く• 231 228 209 228 225 206 226 223 205...: 止まる• ...

– 多すぎる2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ

ジーの最先端から 豊かな暮らし、安心安全の社会へ 17

Page 18: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

画像処理で必要な情報だけ抽出• 例 : 画像から顔を抽出

• 行動決定しやすくなる– 例(自動ドアへの応用)• リスト 3番目の人物 : ドアを開けない• それ以外 : 開ける

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 18

人の顔手持ちのブラックリストの 3番目の人物位置(座標 x=100,y=200 )

Page 19: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

その他センサ

• 測域センサ– レーザで物体の距離を計測

• Kinect– レーザ + カメラ → 3次元画像

• 使い方は画像処理と一緒– 何かしらの数字から興味の情報を抽出

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 19

Page 20: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

動作計画

• 自動ドアは開いて閉まるだけなので簡単

• 移動するロボット・手を持つロボットはどう動けばいい?– ただセンサデータに反応するだけでなく、

「手順」を考えなければならない

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 20

Page 21: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

例 : 自動車の車庫入れ

• 手順– 以下の繰り返し• 自動車の位置を確認(入力)• 頭の中で予測(計画)• 実行(出力)

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 21

Page 22: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

計画の方法

• 探索–乗換案内と方法は同じ• 行き先のグラフを作る

– グラフ(専門用語) : 路線図のようなもの• 一番よい経路を見つける

– 例• rapidly exploring random tree

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 22

Page 23: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

情報の統合• 1 回のセンサ入力から分からない情報を複数のセンサ入力から作る–右下の例 :• カメラ画像で旗の位置を計測して自分の位置を計測• 旗の距離と向きしか分からない場合、

最低 2 回の計測が必要

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 23

カメラ観測( 1 回目)

カメラ観測( 2 回目)

Page 24: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

統合の方法

• 伝統的な測量

• ベイズ推定– 推定したいものを確率的に逐次的に求めていく

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 24

旗 1

旗 2

Page 25: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

ここまでのまとめと次の話

• ロボットを動かす技術を大雑把に 3 つ紹介– センサ情報処理、動作計画、情報の統合– それぞれ面白い。身の回りで使われている技術

• 疑問– これを全部自分で作るのか?• 昔( 15 年くらい前)はほぼ全部作っていた

(まともに動かすのに凄腕のプログラマで 2ヶ月)• 今はそんなに頑張らなくてもいいところまで簡単に

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 25

Page 26: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

オープンソース• ソフトウェアは一度作ると何度でも利用可• ただし権利関係がややこしい

• オープンソース– 大半のソフトウェアは公開されており

ライセンスの制限の下、誰でも使用可– 主な理由

• そうしておかないと相互利用できず全員が損• 公開しないと進化しない

– 商売しにくいという問題は存在– ロボット業界でも積極利用の動き2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ

ジーの最先端から 豊かな暮らし、安心安全の社会へ 26

Page 27: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

ROS( Robot Operating System )

• パソコンでロボット用機器をつなぐためのソフト–企業や一般人がセンサやモータなどを

ROS を通して動かせるようにする→プログラムするときに自分でやることが減る

• 買ってきたロボットをすぐ動かせる– ロボットの形状等が既にデータとして提供されて

いる–公開プログラムを使える2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ

ジーの最先端から 豊かな暮らし、安心安全の社会へ 27

Page 28: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

例 : TurtleBot2

• 動くまで–購入– 「 Linux 」という OS をインストール– このサイトの手順に従う

• 手順に従って動作させてみました– movie1– movie2

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 28

Page 29: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

OpenCV

• 画像処理ツール

– 例

2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ ジーの最先端から 豊かな暮らし、安心安全の社会へ 29

顔の認識境界線(エッジ)の抽出

Page 30: 20141101 大田区民大学での講演「実際にロボットを動かす方法」

まとめ

• ロボットとは– 何か SF の話ではない。

そういうストーリー付けは思考停止を生む。– 入出力

• ロボットを動かすということ– 技術の総合格闘技とも言える• 画像処理、探索、推定

– 教育や趣味にいかがでしょうか2014/11/1 大田区民大学 【産業技術大学院大学提携講座】 テクノロ

ジーの最先端から 豊かな暮らし、安心安全の社会へ 30