Download presentation
Presentation is loading. Please wait.
1
工学部 電気電子工学科 白井研究室 T214084 山田 翔也
音声認識によるロボット制御 工学部 電気電子工学科 白井研究室 T214084 山田 翔也
2
研究背景 近年、音声認識システムを用いた製品が身の周りで身近なものになってきており、今後一層増加していくだろうと考えたため
#近年、Apple社のSiriや、Google社のgoogle Homeなど、音声認識を用いた製品が多く見受けられるようになってきた。 介護の現場での人手不足が問題となっているのをよく耳にするため、要介護者の支援を行うことが出来ないかと考えたため
3
研究目的 音声認識を用いてロボットを制御することによって、音声認識について理解を深めること
単語辞書や言語モデル等の各モジュールを組み替えることによって使用に適した音声認識が可能であることから音声認識エンジンJuliusを用い、その使用法や特徴を学ぶこと 音声によってロボットに対して命令を与えると、ロボットがSLAMによって作成されたMapを自律的に移動し、目標を探索する(このときロボットは目標を識別する為に画像認識を行う)ロボットを作成すること
4
音声認識とは 人間が声で話す言葉を文字に変換する技術 文字認識や顔認識と同じパターン認識技術の一分野
AppleのSiriや京都大学等の共同開発によって開発されたJuliusなどに代表される技術
5
開発環境 OS PC(リモートで使用) Linux Ubuntu 16.04 LTS
ロボット(ホストで使用) Linux Ubuntu MATE 16.04 ROS PC ROS kinetic ロボット ROS kinetic ロボット ・Turtle bot3 burger ・サイズ 138×178×192[mm] 図1:Turtlebot3 bugger ・重量 約1[㎏] 組み込みコントローラ ・OpenCV(Cortex-M7 core) SBC ・Raspberry Pi 3 搭載センサ ・HLS-LFCD2
6
目標とするシステム 音声をロボットへの命令とする。なお命令文は以下の文法とする。 開始 対象の名前 助詞 ロボットの動作
開始 対象の名前 助詞 ロボットの動作 ロボットへ指示を送信する。 MAPをもとにロボットが対象を探索する。 探索の際にロボットは画像認識によって対象を判別する。 ロボットは対象を見つけた場合対象に接近する。MAPを巡回して対象を発見できなかった場合には初期位置に戻る。
7
目標とするシステムの全容 図2:システムの全容
8
研究の流れ 音声認識の改良 ロボットの制御 システムの統合
9
1. 音声認識の改良
10
音声入力の導入 本研究では音声入力を可能にするために、音声認識システムJuliusを用いた
11
辞書の制限 開始については、常にマイクがONの状態になっているため、開始という単語を認識した場合のみ、音声認識をおこなうために辞書に追加している 図2:制限した辞書
12
文法の制限 それぞれの単語が来る順番や、開始キーワードを入れることによって、認識率の向上をした。 図3:文法のオートマトン 開始
ロボットの動作 対象の名前 助詞 図3:文法のオートマトン それぞれの単語が来る順番や、開始キーワードを入れることによって、認識率の向上をした。
13
音声認識テスト ・以下の文法に沿って対象を入れ替えて各10回ずつテストを行った。 「開始 <対象名> のところへ 行け」
「開始 <対象名> のところへ 行け」 ・結果は表1のようになった 結果は認識率は98%と なった。 表1:音声認識テスト結果
14
考察 テストの結果の認識率が100%にならなかった理由としては自身が制限した辞書において先生の発音がSenseiに設定していたが、なっていたため無意識に発音した際にSense:になってしまっていたと考えられる。 結果としては、認識率98%というのは十分使用に耐えうるものだと考えられる。
15
2. ロボットの制御
16
組み込みシステム 組み込みシステムはデベロッパーの提供している以下のturtlebot3のパッケージ使用した。
・turtlebot3_bringup :roscoreや各ノードと通信を行 うモジュール ・turtlebot3_teleop :キーボードからの入力を可能 にするモジュール ・turtlebot3_slam :teleopと用いることによってMAP を作成するモジュール ・turtlebot3_navigation :自律運転を行うモジュール
17
Slamのテスト Slamには複数の方法が用意されているため、以下のGmapping,Hector Mapping,kartoを作成し、使用に耐えうるものをNavigationで使用することにした。 図4:Kartoで作成されたMap
18
Slamのテスト 図5:Gmappingで作成されたMap 図6:Hector Mappingで作成されたMap テストの結果、Kartoは自己位置推定がうまく言っておらず、使用できない制度のMapとなってしまったためHector MappingとGmappingでNavigationを行い精度を比較する。
19
Navigationのテスト テストの方法は、GmappingとHector Mappingで作成したそれぞれのMapを用いてNavigationを5回ずつ行い、対象からどれだけ近かったかを比較する。 テストの結果 のほうが総距離で [m]近く、平均では[m]近かった。 表2:音声認識テスト結果
20
画像認識システム 画像認識システムとしてfind_object_2dを利用した。 各対象をそれぞれ以下の画像とした。
音声認識で指示された対象の近くにマーカー(画像認識対象)を配置し、マーカーを対象として動作するように設定した。
21
考察 SLAMはテストの結果Gmappingを使用することになった。目標までの距離に差が出た原因はHector Mappingにはループがないため、以前ロボットが来た場所に来たとしてもMapを修正できないことが原因と考えられる。 画像認識モジュールのfind_object_2dは認識する角度によって認識しないことが多かったため複数の画像を用いなければならないと考えられる。
22
3. システムの統合
23
音声認識結果をロボットへ入力 音声認識結果をロボットに対する指示にするためにJuliusの認識結果のうち命令の部分のみを抽出する必要がある。
Pythonプログラムを作成し、問題を解決した。 23
24
システムテスト ・以下の文法で対象を山田として各10回ずつテストする。 「開始 山田 のところへ 行け」 ・結果は表3のようになった
「開始 山田 のところへ 行け」 ・結果は表3のようになった 結果は認識率はと なった。 また、音声認識の問題によって対象を発見できなかった件数は であった。 表3:システムテスト結果
25
考察 対象まで到達できた例、できなかった例について話す 原因として、画像認識、自己位置推定、MAP、カメラ位置
26
展望 ロボットにマイクを搭載し、顔認識のモジュールを搭載することが出来れば、様々な場面での運用が可能である。
車いすに搭載することが出来れば、手足が不自由な人でも一人で移動することを可能にすることが出来る。
27
以上で発表を終わります
28
参考文献 ・ピョ ユンソク他(2018) ROSロボットプログラミングバイブル オーム社 ・小倉 崇(2015) ROSではじめるロボットプログラミング 工学社 ・上田 隆一(2017) Raspberry Piで学ぶROSロボット入門 日経BP社
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.