(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-28
(45)【発行日】2023-09-05
(54)【発明の名称】制御装置、システム及び制御方法
(51)【国際特許分類】
B25J 19/06 20060101AFI20230829BHJP
B25J 13/00 20060101ALI20230829BHJP
G10L 15/00 20130101ALI20230829BHJP
G10L 15/10 20060101ALI20230829BHJP
【FI】
B25J19/06
B25J13/00 Z
G10L15/00 200R
G10L15/10 500Z
(21)【出願番号】P 2019197505
(22)【出願日】2019-10-30
【審査請求日】2022-10-27
(31)【優先権主張番号】P 2019032699
(32)【優先日】2019-02-26
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】米倉 健太
(72)【発明者】
【氏名】浅井 大史
(72)【発明者】
【氏名】鍋嶌 厚太
(72)【発明者】
【氏名】永尾 学
【審査官】石川 薫
(56)【参考文献】
【文献】特開平05-119792(JP,A)
【文献】特開2007-027167(JP,A)
【文献】特開2017-145066(JP,A)
【文献】特開2014-228644(JP,A)
【文献】特開2014-235345(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G10L 15/00
G10L 15/10
(57)【特許請求の範囲】
【請求項1】
制御対象の動作中に検出される音データから音声区間を判定する判定部と、
前記音声区間における音データに基づいて算出される話速
が第1閾値以上であり、かつ、前記音声区間
の長さが第2閾値以下である場合に、前記制御対象を停止させる制御部と
を有する制御装置。
【請求項2】
前記制御部は、
前記
話速が前記第1閾値以上であり、かつ、前記音声区間
の長さが前記第2閾値以下であり、かつ、前記音声区間における音データの
音圧の大きさ
が第3閾値以上である場合に、前記制御対象を停止させる、請求項1に記載の制御装置。
【請求項3】
前記制御部は、
前記
話速が前記第1閾値以上であり、かつ、前記音声区間
の長さが前記第2閾値以下であり、かつ、前記音声区間における音データに基づいて認識された音素列
が予め定められた音素列を含む場合に、前記制御対象を停止させる、請求項1に記載の制御装置。
【請求項4】
前記制御部は、
前記
話速が前記第1閾値以上であり、かつ、前記音声区間
の長さが前記第2閾値以下であり、かつ、前記音声区間における音データに基づいて認識された音素列
が予め定められた音素列を含まない場合に、前記制御対象を停止させる、請求項1に記載の制御装置。
【請求項5】
前記音声区間において撮影された画像データより顔領域を検出し、検出した顔領域に基づいて、顔の向きを認識する認識部を更に有し、
前記制御部は、
前記
話速が前記第1閾値以上であり、かつ、前記音声区間
の長さが前記第2閾値以下であり、かつ、前記顔の向きが予め設定された方向を向いている場合に、前記制御対象を停止させる、請求項1に記載の制御装置。
【請求項6】
前記認識部は、前記音声区間において撮影された画像データのうち、前記音声区間における音の到来方向に位置する顔領域を検出する、請求項5に記載の制御装置。
【請求項7】
制御対象の動作中に検出される音データから音声区間を判定する判定部と、
前記音声区間
の長さが第1閾値以下であり、かつ、前記音声区間における音データの
音圧の大きさ
が第2閾値以上である場合に、前記制御対象を停止させる制御部と
を有する制御装置。
【請求項8】
制御対象の動作中に検出される音データから音声区間を判定する判定部と、
前記音声区間
の長さが第1閾値以下であり、かつ、前記音声区間における音データに基づいて認識された音素列
が予め定められた音素列を含む場合に、前記制御対象を停止させる制御部と
を有する制御装置。
【請求項9】
制御対象の動作中に検出される音データから音声区間を判定する判定部と、
前記音声区間
の長さが第1閾値以下であり、かつ、前記音声区間における音データに基づいて認識された音素列
が予め定められた音素列を含まない場合に、前記制御対象を停止させる制御部と
を有する制御装置。
【請求項10】
制御対象の動作中に検出される音データから音声区間を判定する判定部と、
前記音声区間における音データに基づいて算出される話速
が第1閾値以上であり、かつ、前記音声区間における音素列に繰り返し部分が含まれる場合に、前記制御対象を停止させる制御部と
を有する制御装置。
【請求項11】
前記制御部は、前記音素列に含まれる繰り返し部分の第1時刻における音データの
音圧の大きさが、前記音素列に含まれる繰り返し部分の前記第1時刻より後の第2時刻における音データの
音圧の大きさより小さい場合、前記制御対象を停止させる、請求項10に記載の制御装置。
【請求項12】
前記音声区間における音データの
音圧の大きさは、前記音声区間でない非音声区間における音データの
音圧の大きさとの差分
を用いて表される値である、
請求項2又は請求項7に記載の制御装置。
【請求項13】
前記音声区間における音データの音圧の大きさは、前記音声区間に含まれる複数の区間それぞれにおいて算出された音圧の大きさの中央値、最大値、又は、平均値のいずれかを用いて表される値である、
請求項2又は請求項7に記載の制御装置。
【請求項14】
前記音声区間における音データの
音圧の大きさは、前記音声区間における音
データの音圧レベルである、
請求項2、請求項7
、請求項12又は請求項1
3に記載の制御装置。
【請求項15】
前記制御部は、複数種類の停止方法により前記制御対象を停止させることが可能である、
請求項1乃至1
4のいずれか1項に記載の制御装置。
【請求項16】
前記複数種類の停止方法には、前記制御対象への電源供給の少なくとも一部を停止することで、前記制御対象を停止させる停止方法と、前記制御対象への電源供給を維持したまま、前記制御対象を停止させる停止方法とが含まれる、請求項1
5に記載の制御装置。
【請求項17】
前記制御部は、前記制御対象の可動部を停止させる、
請求項1乃至1
6のいずれか1項に記載の制御装置。
【請求項18】
前記制御対象はロボットである、
請求項1乃至1
7のいずれか1項に記載の制御装置。
【請求項19】
請求項1乃至請求項1
8のいずれか1項に記載の制御装置と、
前記制御装置によって動作が制御される制御対象と
を有するシステム。
【請求項20】
制御対象の動作中に検出される音データから音声区間を判定する判定工程と、
前記音声区間における音データに基づいて算出される話速
が第1閾値以上であり、かつ、前記音声区間
の長さが第2閾値以下である場合に、前記制御対象を停止させる制御工程と
を有する制御方法。
【請求項21】
制御対象の動作中に検出される音データから音声区間を判定する判定工程と、
前記音声区間の長さが第1閾値以下であり、かつ、前記音声区間における音データの音圧の大きさが第2閾値以上である場合に、前記制御対象を停止させる制御工程と
を有する制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、制御装置、システム及び制御方法に関する。
【背景技術】
【0002】
従来より、ユーザの音声指示に基づいて、制御対象(ロボット等)を緊急停止させる制御方法が知られている。例えば、下記特許文献1には、"止まれ-"等のように、母音の引きのばしを伴う発声を識別して、制御対象を緊急停止させる制御方法が開示されている。
【0003】
一方で、制御対象に対するユーザの発声は、状況に応じて様々である。このため、母音の引きのばしを伴う発声であっても、制御対象を緊急停止させたくないケースや、反対に、母音の引きのばしを伴わない発声であっても、制御対象を緊急停止させたいケースもある。つまり、上記の制御方法では、ユーザの意図したとおりに制御対象を緊急停止させることができないケースが想定される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、音声指示に基づいて制御対象を緊急停止させる制御装置、システム及び制御方法を提供することを目的としている。
【課題を解決するための手段】
【0006】
本開示の一態様による制御装置は、例えば、以下のような構成を有する。即ち、
制御対象の動作中に検出される音データから音声区間を判定する判定部と、
前記音声区間における音データに基づいて算出される話速が第1閾値以上であり、かつ、前記音声区間の長さが第2閾値以下である場合に、前記制御対象を停止させる制御部とを有する。
【図面の簡単な説明】
【0007】
【
図2】ロボットの制御装置のハードウェア構成の一例を示す図である。
【
図3】制御装置の緊急停止部の機能構成の一例を示す第1の図である。
【
図4】緊急停止部による緊急停止処理の流れを示す第1のフローチャートである。
【
図5】制御装置の緊急停止部の機能構成の一例を示す第2の図である。
【
図6】緊急停止部による緊急停止処理の流れを示す第2のフローチャートである。
【
図7】制御装置の緊急停止部の機能構成の一例を示す第3の図である。
【
図8】制御装置の緊急停止部の機能構成の一例を示す第4の図である。
【
図9】緊急停止部による緊急停止処理の流れを示す第3のフローチャートである。
【
図10】緊急停止部による緊急停止処理の流れを示す第4のフローチャートである。
【
図11】制御装置の緊急停止部の機能構成の一例を示す第5の図である。
【
図12】緊急停止部による緊急停止処理の流れを示す第5のフローチャートである。
【
図13】制御装置の緊急停止部の機能構成の一例を示す第6の図である。
【
図14】緊急停止部による緊急停止処理の流れを示す第6のフローチャートである。
【
図15】制御装置の緊急停止部の機能構成の一例を示す第7の図である。
【
図16】緊急停止部による緊急停止処理の流れを示す第7のフローチャートである。
【発明を実施するための形態】
【0008】
以下、各実施形態について添付の図面を参照しながら説明する。なお、以下の各実施形態では、制御対象の動作中に、制御対象を緊急停止させるべき状況が生じた場合(例えば、ユーザに危険が差し迫った場合)、一般に、ユーザは短い言葉(場合によっては意味をなさない言葉)で早口に叫ぶことが多い点に着目している。具体的には、ユーザが発声した音声の音声区間長と、話速とに着目し、音声区間長が短く(所定の閾値以下であり)、話速が速い(所定の閾値以上であった)場合に、制御装置では、制御対象を緊急停止させるべき状況が生じたと判定する。
【0009】
これにより、以下の各実施形態によれば、制御対象を緊急停止させるべき状況が生じた際にユーザが咄嗟に発声する音声(緊急発声の音声)を捉えて緊急停止させることが可能となり、ユーザの意図したとおりに制御対象を緊急停止させることが可能となる。
【0010】
なお、以下の各実施形態において、"話速"とは、単位時間あたりの音素数であり、"音声区間長"とは、発声の開始から終了までの時間長さ(音声データの開始から終了までの時間長さ)を指す。また、"音声"とは人の声を指し、"音"とは、聴覚に対する任意の刺激であり、音声を含む概念である。
【0011】
以下、各実施形態の詳細を説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0012】
[第1の実施形態]
<ロボットの外観構成>
はじめに、本実施形態に係る制御装置の制御対象の一例であるロボットの外観構成について説明する。
図1は、ロボットの外観構成の一例を示す図である。
【0013】
図1に示すように、ロボット10は、可動部40(複数の関節41~44、エンドエフェクタ45)と、マイクロフォン20と、カメラ30とを有する。
【0014】
可動部40は、ロボット10が各種作業(例えば、物体を把持し、把持した物体を移動先に移動する作業)を行うための動作を実行する。可動部40に含まれる複数の関節41~44及びエンドエフェクタ45は、それぞれ、アクチュエータを備える。
【0015】
マイクロフォン20は集音装置の一例であり、空気などを伝播してくる音を検出し、音データを生成する。マイクロフォン20が検出する音には、ロボット10の周囲の環境音のほか、ロボット10のユーザが発声した音声等が含まれる。
【0016】
なお、
図1の例では、1つのマイクロフォン20のみを示したが、ロボット10は、複数のマイクロフォンを有していてもよい。複数のマイクロフォンを有することで、音の到来方向(例えば、発声したユーザが位置する方向)を特定することができる。
【0017】
また、
図1の例では、マイクロフォン20がロボット10に搭載される場合について示したが、マイクロフォン20は、例えば、ロボット10が設置された空間の周囲の壁や天井等に配されてもよい。更に、集音装置はマイクロフォンに限定されず、マイクロフォン以外の集音装置がロボット10等に搭載されてもよい。
【0018】
カメラ30は撮像装置の一例であり、ロボット10の周囲を撮影し、画像データを生成する。なお、
図1の例では、カメラ30がロボット10に搭載される場合について示したが、カメラ30は、ロボット10とは別体に配されてもよい。また、撮像装置はカメラに限定されず、カメラ以外の撮像装置がロボット10等に搭載されてもよい。
【0019】
また、
図1に示すように、ロボット10は、制御装置100を内蔵する。制御装置100は、アクチュエータを制御することで、可動部40を動作させ、ロボット10に各種作業を実行させる実行部110を有する。また、制御装置100は、マイクロフォン20により生成された音データ(及びカメラ30により生成された画像データ)に基づいて、ロボット10を緊急停止させる緊急停止部120を有する。
【0020】
なお、制御装置100は、ロボット10に内蔵されている必要はなく、ロボット10の外部に、ロボット10と別体に設けられてもよい。この場合、ロボット10と制御装置100とを有するロボット制御システムが形成される。
【0021】
<制御装置のハードウェア構成>
次に、ロボット10に内蔵される制御装置100のハードウェア構成について説明する。
図2は、制御装置のハードウェア構成の一例を示す図である。
【0022】
図2は、制御装置のハードウェア構成の一例を示す図である。制御装置100は、プロセッサ201と、主記憶装置202と、補助記憶装置203と、デバイスインタフェース204と、を備え、これらの各構成要素がバス210を介して接続されたコンピュータとして実現される。
【0023】
なお、
図2の例では、制御装置100は、各構成要素を1個ずつ備えているが、同じ構成要素を複数個ずつ備えていてもよい。また、
図2の例では、1台の制御装置が示されているが、複数台の制御装置を配し、ソフトウェア(例えば、制御プログラム)が当該複数台の制御装置にインストールされて、各制御装置がソフトウェアの異なる一部の処理を実行するように構成してもよい。この場合、複数の制御装置それぞれがネットワークインタフェース等を介して、相互に通信してもよい。
【0024】
プロセッサ201は、演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry)である。プロセッサ201は、制御装置100内の各構成要素などから入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各構成要素などに出力する。具体的には、プロセッサ201は、OS(Operating System)やアプリケーションなどを実行することにより、制御装置100内の各構成要素を制御する。なお、プロセッサ201は、上記のような処理を行うことができれば特定の処理回路に限られるものではない。ここで、処理回路とは、1チップ上に配置された1又は複数の電子回路を指してもよいし、2つ以上のチップあるいはデバイス上に配置された1又は複数の電子回路を指してもよい。複数の電子回路を用いる場合、各電子回路は有線または無線により通信してもよい。
【0025】
主記憶装置202は、プロセッサ201が実行する命令およびデータなどの電子情報を記憶する記憶装置である。主記憶装置202に記憶された電子情報はプロセッサ201により直接読み出される。補助記憶装置203は、主記憶装置202以外の記憶装置である。なお、これらの記憶装置は、電子情報を記憶可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと、不揮発性メモリがあるが、いずれであってもよい。制御装置100内において電子情報を保存するためのメモリは、主記憶装置202または補助記憶装置203により実現されてもよい。
【0026】
デバイスインタフェース204は、マイクロフォン20、カメラ30、可動部40と接続するUSB(Universal Serial Bus)などのインタフェースである。
【0027】
<制御装置の機能構成>
次に、制御装置100の機能構成について説明する。上述したとおり、制御装置100は、実行部110及び緊急停止部120として機能するが、ここでは緊急停止部120の機能について説明する。
図3は、制御装置の緊急停止部の機能構成の一例を示す第1の図である。制御装置100は、プロセッサ201が、主記憶装置202または補助記憶装置203に格納された制御プログラムの一例である緊急停止プログラムを実行することで緊急停止部120として機能する。
【0028】
図3に示すように、緊急停止部120は、音取得部301、音声区間検出器302、音素認識器303、緊急発声判定器304、話速算出器305、制御部306を有する。
【0029】
音取得部301は、マイクロフォン20により生成された音データを取得し、音声区間検出器に出力する。
【0030】
音声区間検出器302は判定部の一例であり、音取得部301により出力された音データを受け取り、受け取った音データが音声データであるか否かを判定する。また、音声区間検出器302は、受け取った音データが音声データであると判定した場合、判定した音声データを音素認識器303に出力する。
【0031】
また、音声区間検出器302は、受け取った音データが音声データであると判定した場合、音声データの開始時刻を記録する。また、音声区間検出器302は、受け取った音データが音声データでなくなったと判定した場合、音声データの終了時刻を記録する。これにより、音声区間検出器302では、記録した音声データの開始時刻と終了時刻とに基づいて音声区間長を算出し、算出した音声区間長を緊急発声判定器304及び話速算出器305に出力する。
【0032】
音素認識器303は、音声区間検出器302により出力された音声データを受け取り、受け取った音声データについて音声認識処理を行うことで、音素列を話速算出器305に出力する。
【0033】
話速算出器305は、音声区間検出器302により出力された音声区間長と、音素認識器303により出力された音素列とを受け取り、音声区間長と音素列の長さとに基づいて、単位時間あたりの音素数を算出する。また、話速算出器305は、算出結果を話速として、緊急発声判定器304に出力する。
【0034】
緊急発声判定器304は、音声区間検出器302により出力された音声区間長と、話速算出器305により出力された話速とに基づいて、下記条件(緊急発声の条件)を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
【0035】
緊急発声判定器304は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか一方または両方を満たさないと判定した場合、緊急発声判定器304は、制御部306に対して緊急停止信号を出力しない。
【0036】
制御部306は、緊急発声判定器304により出力された緊急停止信号を受け取ると、可動部40が緊急停止命令に基づいて動作するよう制御し、ロボット10を緊急停止させる。
【0037】
<緊急停止処理の流れ>
次に、緊急停止部120による緊急停止処理の流れについて説明する。
図4は、緊急停止部による緊急停止処理の流れを示す第1のフローチャートである。
【0038】
ステップS101において、緊急停止部120は、ロボット10が作業中であるか否かを判定する。ステップS101において、ロボット10が停止中であると判定した場合には、緊急停止処理を終了する。一方、ステップS101において、ロボット10が作業中であると判定した場合には、ステップS102に進む。
【0039】
ステップS102において、音取得部301は、マイクロフォン20において生成された音データを取得し、主記憶装置202に格納する。音取得部301は、一定時間(例えば、10msあるいは20ms)の音データを取得し、ステップS103に進む。
【0040】
ステップS103において、音声区間検出器302は、音取得部301において取得された音データが、音声データであるか否かを判定する。ステップS103において、音声データであると判定した場合には、ステップS104に進む。
【0041】
ステップS104において、音声区間検出器302は、音取得部301において前回取得された音データが、音声データであったか否かを判定する。ステップS104において、音声データであったと判定した場合には、ステップS101に戻る。一方、ステップS104において、非音声データであったと判定した場合には、ステップS105に進む。
【0042】
ステップS105において、音声区間検出器302は、現在時刻、または、現在処理している音声データ(ステップS102において取得した音データ)が主記憶装置202に格納された時刻を記録し、ステップS101に戻る。なお、前回取得された音データが非音声データで、今回取得された音データが音声データである場合とは、今回取得された音声データが、音声データの開始点(発声の開始点)であることを示している。つまり、ステップS105において記録される時刻は、音声データ(発声)の開始時刻に他ならない。
【0043】
一方、ステップS103において、非音声データであったと判定した場合には、ステップS106に進む。ステップS106において、音声区間検出器302は、音取得部301において前回取得された音データが、音声データであったか否かを判定する。ステップS106において非音声データであったと判定したと場合には、ステップS101に戻る。
【0044】
一方、ステップS106において、音声データであったと判定した場合には、ステップS107に進む。なお、前回取得された音データが音声データで、今回取得された音データが非音声データである場合とは、今回取得された非音声データが、音声データの終了点(発声の終了点)であることを示している。
【0045】
ステップS107において、音素認識器303は、音声データ(発声)の開始時刻から、現在時刻(音声データ(発声)の終了時刻)までの間(音声区間)に、主記憶装置202に格納された音声データについて、音素列を認識する。
【0046】
ステップS108において、音声区間検出器302は、音声データ(発声)の開始時刻から、現在時刻(音声データ(発声)の終了時刻)までの時間長さを音声区間長として算出する。また、話速算出器305は、音素認識器303において認識された音素列の長さを、音声区間検出器302において算出された音声区間長で割ることで、話速を算出する。
【0047】
ステップS109において、緊急発声判定器304は、算出された話速及び音声区間長が下記条件を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
【0048】
ステップS109において、緊急発声判定器304が、上記条件を満たさないと判定した場合には、ステップS101に戻る。一方、ステップS109において、緊急発声判定器304が、上記条件を満たすと判定した場合には、ステップS110に進む。
【0049】
ステップS110において、制御部306は、可動部40が緊急停止命令に基づいて動作するよう制御し、ロボット10を緊急停止させる。
【0050】
<まとめ>
以上の説明から明らかなように、第1の実施形態に係る制御装置の緊急停止部は、作業中のロボットにおいて緊急停止させるべき状況が生じると、一般に、ユーザは短い言葉で早口に叫ぶことが多い点に着目し、
・話速が予め定められた閾値以上であり、かつ、
・音声区間長が予め定められた閾値以下である、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力する。
【0051】
これにより、第1の実施形態に係る制御装置の緊急停止部によれば、作業中のロボットにおいて緊急停止させるべき状況が生じた場合に、ユーザの音声指示に基づいて、ロボットを適切に緊急停止させることができる。この結果、ロボットをユーザの意図したとおりに動作させることが可能となる。
【0052】
[第2の実施形態]
上記第1の実施形態では、緊急停止させるべき状況が生じた場合にユーザが咄嗟に発声する音声の音声区間長と話速とに着目した。一方で、緊急停止させるべき状況が生じた場合、ユーザは、比較的大きな声で叫ぶことが想定される。そこで、第2の実施形態では、緊急停止させるべき状況が生じたか否かを判定するにあたり、音声区間長と話速とに加えて、音圧レベルに着目する。以下、第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0053】
<制御装置の機能構成>
はじめに、第2の実施形態に係る制御装置100の緊急停止部の機能構成について説明する。
図5は、制御装置の緊急停止部の機能構成の一例を示す第2の図である。
図3に示した機能構成との相違点は、第2の実施形態に係る制御装置100の緊急停止部500の場合、音圧レベル算出器501を有する点、及び、緊急発声判定器502が緊急発声判定器304とは異なる機能を有する点である。
【0054】
音圧レベル算出器501は、音声区間検出器302により出力された音声データを受け取り、受け取った音声データの音圧レベルを算出する。また、音圧レベル算出器501は、算出した音圧レベルを、緊急発声判定器304に出力する。
【0055】
緊急発声判定器502は、音声区間検出器302により出力された音声区間長と、話速算出器305により出力された話速と、音圧レベル算出器501により出力された音圧レベルとに基づいて、下記条件を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
・音圧レベルが予め定められた閾値以上である。
【0056】
緊急発声判定器502は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか1つまたは複数を満たさないと判定した場合、緊急発声判定器502は、制御部306に対して緊急停止信号を出力しない。
【0057】
このように、音声区間長及び話速に加えて、音圧レベルを条件にすることで、緊急停止部500によれば、緊急停止させるべき状況が生じたか否かを判定する際の判定精度を向上させることができる。
【0058】
<緊急停止処理の流れ>
次に、緊急停止部500による緊急停止処理の流れについて説明する。
図6は、緊急停止部による緊急停止処理の流れを示す第2のフローチャートである。
図4で示したフローチャートとの相違点は、ステップS211である。
【0059】
ステップS211において、音圧レベル算出器501は、音声データ(発声)の開始時刻から、現在時刻(音声データ(発声)の終了時刻)までの間(音声区間)に、主記憶装置202に格納された音声データの音圧レベルを算出する。
【0060】
なお、音圧レベル算出器501が算出する音圧レベルは、音声データ(発声)の開始時刻から、現在時刻(音声データ(発声)の終了時刻)までの間(音声区間)に、主記憶装置202に格納された音声データの音圧レベルの平均値を算出する。ただし、音圧レベル算出器501が算出する音圧レベルは、音声区間における音圧レベルの平均値に限定されない。
【0061】
例えば、音声区間を一定区間ごとに分割し、それぞれの区間において算出された音圧レベルのうち、最大値または中央値を、音圧レベルとして算出してもよい。
【0062】
あるいは、音圧レベル算出器501は、音声区間における音圧レベルの平均値(あるいは最大値または中央値)と、音声区間の直前の非音声区間における音データの音圧レベルの平均値(あるいは最大値または中央値)との差分を算出してもよい。ロボット10の周囲の環境音が大きく、うるさい場合と、ロボット10の周囲の環境音が小さく、静かな場合とで、緊急停止させるべき状況が生じた際にユーザが発声する音声の大きさも変わってくるからである。
【0063】
<まとめ>
以上の説明から明らかなように、第2の実施形態に係る制御装置の緊急停止部は、作業中のロボットにおいて緊急停止させるべき状況が生じると、一般に、ユーザは短い言葉で早口に大声で叫ぶことが多い点に着目し、
・話速が予め定められた閾値以上であり、かつ、
・音声区間長が予め定められた閾値以下であり、かつ、
・音圧レベルが予め定められた閾値以上である、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力する。
【0064】
これにより、第2の実施形態に係る制御装置の緊急停止部によれば、作業中のロボットにおいて緊急停止させるべき状況が生じた場合に、ユーザの音声指示に基づいて、ロボットを適切に緊急停止させることができる。この結果、ロボットをユーザの意図したとおりに動作させることが可能となる。
【0065】
[第3の実施形態]
上記第1の実施形態では、緊急停止させるべき状況が生じた場合にユーザが咄嗟に発声する音声の音声区間長と話速とに着目した。一方で、緊急停止させるべき状況が生じた場合に、ユーザが発声する可能性の高い音声内容は限られている。また、緊急停止させるべき状況が生じた場合に、ユーザが発声する可能性の低い音声内容もある。そこで、第3の実施形態では、緊急停止させるべき状況が生じたか否かを判定するにあたり、音声区間長と話速とに加えて、認識された音素列に着目する。以下、第3の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0066】
<制御装置の機能構成>
はじめに、第3の実施形態に係る制御装置100の緊急停止部の機能構成について説明する。
図7は、制御装置の緊急停止部の機能構成の一例を示す第3の図である。
図3に示した機能構成との相違点は、緊急発声判定器702が緊急発声判定器304とは異なる機能を有する点である。
【0067】
緊急発声判定器702は、音声区間検出器302により出力された音声区間長と、話速算出器305により出力された話速と、音素認識器303により出力された音素列とに基づいて、下記条件を満たすか否かを判定する。ただし、音素列格納部701には、緊急停止させるべき状況が生じた場合に、ユーザが発声する可能性の高い音声内容の音素列の集合が格納されているものとする。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
・音素列が、音素列格納部701に格納された、予め定められた音素列の集合に含まれる音素列を含む。
【0068】
緊急発声判定器702は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか1つまたは複数を満たさないと判定した場合、緊急発声判定器702は、制御部306に対して緊急停止信号を出力しない。
【0069】
なお、音素列格納部701には、緊急停止させるべき状況が生じた場合に、ユーザが発声する可能性が低い音声内容の音素列の集合を格納してもよい。ただし、その場合、緊急発声判定器702は、下記条件を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
・音素列が、音素列格納部701に格納された、予め定められた音素列の集合に含まれる音素列を含まない。
【0070】
緊急発声判定器702は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか1つまたは複数を満たさないと判定した場合、緊急発声判定器702は、制御部306に対して緊急停止信号を出力しない。
【0071】
<まとめ>
以上の説明から明らかなように、第3の実施形態に係る制御装置の緊急停止部は、作業中のロボット10において緊急停止させるべき状況が生じると、一般に、ユーザは特定の短い言葉で早口に叫ぶことが多い点に着目し、
・話速が予め定められた閾値以上であり、かつ、
・音声区間長が予め定められた閾値以下であり、かつ、
・音素列が、予め定められた音素列を含む(あるいは含まない)、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力する。
【0072】
これにより、第3の実施形態に係る制御装置の緊急停止部によれば、作業中のロボットにおいて緊急停止させるべき状況が生じた場合に、ユーザの音声指示に基づいて、ロボットを適切に緊急停止させることができる。また、緊急停止させるべき状況が生じていないにも関わらず、緊急停止させてしまうといった事態を回避することができる。この結果、ロボットをユーザの意図したとおりに動作させることが可能となる。
【0073】
[第4の実施形態]
上記第1の実施形態では、緊急停止させるべき状況が生じた場合にユーザが咄嗟に発声する音声の音声区間長と話速とに着目した。一方で、緊急停止させるべき状況が生じた場合、ユーザは、ロボットの方向に向かって発声する可能性が高い。そこで、第4の実施形態では、緊急停止させるべき状況が生じたか否かを判定するにあたり、音声区間長と話速とに加えて、ユーザが発声した方向に着目する。以下、第4の実施形態において、上記第1の実施形態との相違点を中心に説明する。
【0074】
<制御装置の機能構成>
はじめに、第4の実施形態に係る制御装置100の緊急停止部の機能構成について説明する。
図8は、制御装置の緊急停止部の機能構成の一例を示す第4の図である。
図3に示した機能構成との相違点は、第4の実施形態に係る制御装置100の緊急停止部800の場合、画像取得部801及び顔認識器802を有する点と、緊急発声判定器803が緊急発声判定器304とは異なる機能を有する点である。
【0075】
画像取得部801は、カメラ30により生成された画像データを取得し、顔認識器802に出力する。
【0076】
顔認識器802は認識部の一例であり、画像取得部801により出力された画像データを受け取り、受け取った画像データから顔領域を検出し、検出した顔領域に基づいて、顔の向きを認識する。また、顔認識器802は、認識した顔の向きが、正面を向いているか否かを判定し、認識した顔の向き(または、正面を向いているか否か)の判定結果を、緊急発声判定器803に出力する。顔認識は公知の方法により実現できる。例えば、W. Zhao, R. Chellappa, A. Rosenfeld,"Face recognition: A literature survey," ACM Comput. Surv., Vol.35, No.4, pp.399-458, 2003に示されている。顔の向きの検出についても、例えば、Michael D. Breitenstein, Daniel Kuettel, Thibaut Weise, Luc van Gool, and Hanspeter Pfister,"Real-time face pose estimation from single range images," CVPR, 2008 に示されている。
【0077】
緊急発声判定器803は、音声区間検出器302により出力された音声区間長と、話速算出器305により出力された話速と、顔認識器802により出力された判定結果とに基づいて、下記条件を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
・顔が正面を向いている。
【0078】
緊急発声判定器803は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか1つまたは複数を満たさないと判定した場合、緊急発声判定器803は、制御部306に対して緊急停止信号を出力しない。
【0079】
このように、音声区間長及び話速に加えて、顔の向きを条件にすることで、緊急停止部800によれば、緊急停止させるべき状況が生じたか否かを判定する際の判定精度を向上させることができる。
【0080】
<緊急停止処理の流れ>
次に、緊急停止部800による緊急停止処理の流れについて説明する。
図9は、緊急停止部による緊急停止処理の流れを示す第3のフローチャートである。
図4で示したフローチャートとの相違点は、ステップS411、S412である。
【0081】
ステップS411において、画像取得部801は、音声データ(発声)の開始時刻から、現在時刻(音声データ(発声)の終了時刻)までの間(音声区間)に、主記憶装置202に格納された画像データを取得する。
【0082】
ステップS412において、顔認識器802は、ステップS411において取得された画像データから顔領域を検出し、検出した顔領域に基づいて、顔の向きを認識する。また、顔認識器802は、認識した顔の向きが、正面を向いているか否かを判定する。
【0083】
<変形例1>
上記説明では、画像取得部801が取得した画像データから、顔認識器802が顔領域を検出し、検出した顔領域に基づいて、顔の向きを認識するものとして説明した。しかしながら、画像取得部801が取得した画像データに、複数のユーザが含まれ、複数の顔領域が検出されることも考えられる。そこで、変形例1では、音取得部301が音の到来方向(発声したユーザが位置する方向)を特定し、顔認識器802では、画像データに含まれる複数の顔領域のうち、特定した到来方向に位置する顔領域について、顔の向きを認識する。
【0084】
これにより、発声したユーザとは異なるユーザの顔の向きを判定してしまうといった事態を回避することができる。なお、変形例1の場合、マイクロフォンは複数配されているものとし、また、音取得部301は、複数のマイクロフォンにおいて生成された音データに基づいて、音の到来方向(発声したユーザが位置する方向)を特定することができるものとする。音の到来方向の特定には、公知の手法を用いればよい。例えば、
・H. Pan, R. Scheibler, E. Bezzam, I. Dokmanic, and M. Vetterli,"FRIDA: FRI-based DOA estimation for arbitrary array layouts, " Proc. ICASSP, pp. 3186-3190, 2017
・R. Schmidt, "Multiple emitter location and signal parameter estimation," IEEE Trans. Antennas Propag., Vol. 34, Issue 3, pp. 276-280, 1986
が知られている。
【0085】
図10は、緊急停止部による緊急停止処理の流れを示す第4のフローチャートである。
図9に示す第3のフローチャートとの相違点は、ステップS511、S512である。
【0086】
ステップS511において、音取得部301は、音の到来方向(発声したユーザが位置する方向)を特定する。
【0087】
ステップS512において、顔認識器802は、ステップS411において取得された画像データにおいて、音取得部301により特定された到来方向(発声したユーザが位置する方向)の顔領域を検出し、検出した顔領域に基づいて、顔の向きを認識する。また、顔認識器802は、認識した顔の向きが、正面を向いているか否かを判定する。
【0088】
このように、音声区間長及び話速に加えて、音の到来方向の顔領域から認識される顔の向きを条件にすることで、緊急停止部800によれば、緊急停止させるべき状況が生じたか否かを判定する際の判定精度を更に向上させることができる。
【0089】
<変形例2>
上記説明では、マイクロフォン20、カメラ30がロボット10と一体的に構成されていることを前提としていた。しかしながら、マイクロフォン20またはカメラ30のいずれか一方または両方が、ロボット10と別体として構成されることも考えられる。
【0090】
このような場合、制御装置100に対しては、ユーザが発声する際に向くべき方向を予め設定しておく。そして、顔認識器802では、画像データから、音の到来方向(発声したユーザが位置する方向)の顔領域を検出し、検出した顔領域に基づいて顔の向きを認識する際、認識した顔の向きが、予め設定した方向を向いているか否かを判定する。
【0091】
そして、緊急発声判定器803では、音声区間検出器302により出力された音声区間長と、話速算出器305により出力された話速と、顔認識器802により出力された判定結果とに基づいて、下記条件を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
・顔が予め設定された方向を向いている。
【0092】
緊急発声判定器803は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか1つまたは複数を満たさないと判定した場合、緊急発声判定器803は、制御部306に対して緊急停止信号を出力しない。
【0093】
このように、音声区間長及び話速に加えて、音の到来方向の顔領域から認識される顔の向き(所定の顔の向き)を条件にすることで、緊急停止部800によれば、緊急停止させるべき状況が生じたか否かを判定する際の判定精度を向上させることができる。
【0094】
<まとめ>
以上の説明から明らかなように、第4の実施形態に係る制御装置の緊急停止部は、作業中のロボットにおいて緊急停止させるべき状況が生じると、一般に、ユーザは短い言葉で早口に所定の方向に向かって叫ぶことが多い点に着目し、
・話速が予め定められた閾値以上であり、かつ、
・音声区間長が予め定められた閾値以下であり、かつ、
・顔の向きが予め定められた方向を向いている、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力する。
【0095】
これにより、第4の実施形態に係る制御装置の緊急停止部によれば、所定の方向に向けられていない発声により、ロボットを緊急停止させてしまうといった事態を回避することができる。つまり、緊急停止させるべき状況が生じた場合に、ユーザの音声指示に基づいて、ロボットを適切に緊急停止させることができる。この結果、ロボットをユーザの意図したとおりに緊急停止させることが可能となる。
【0096】
[第5の実施形態]
上記第1の実施形態では、緊急停止させるべき状況が生じたか否かを判定する場合について説明した。これに対して、第5の実施形態では、緊急停止させるべき状況が生じたか否かを判定することに加えて、通常停止させるべき状況が生じたか否かについても判定する。
【0097】
なお、緊急停止とは、緊急停止命令に基づいてロボット10への電源供給を停止することをいう。ただし、電源供給を停止する直前に、ロボット10の可動部に対してブレーキやロックをかけてもよい。また、電源供給を停止する前後に、ロボット10の可動部に対して、電源を用いない機構を利用してブレーキやロックをかけてもよい。
【0098】
一方、通常停止とは、通常停止命令に基づいて、ロボット10への電源供給を維持したまま、ロボット10の可動部を、その位置で外力が加わらない限り動かないように固定することをいう。ここでいう固定の方法には、
a)外部からの力によって動かされても、通常停止命令があった位置に戻るように位置制御して固定する方法、
b)外部からの力によって動かされた場合には、外部からの力がなくなった時点の位置を保持するように制御して固定する方法、
c)ブレーキを配し、当該ブレーキにより位置を固定する方法、
等が含まれる。
【0099】
なお、電源供給を停止するとは、ロボット10における全ての要素に対する電源供給を停止することのほか、ロボット10における動作に関する要素に対する電源供給を停止すること、が含まれるものとする。
【0100】
以下、第5の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0101】
<制御装置の機能構成>
はじめに、第5の実施形態に係る制御装置100の緊急停止部の機能構成について説明する。
図11は、制御装置の緊急停止部の機能構成の一例を示す第5の図である。
図3に示した機能構成との相違点は、緊急停止部1100が、停止発声判定器1101を有する点である。
【0102】
停止発声判定器1101は、緊急停止させるべき状況が生じていないと判定されることで緊急発声判定器304より出力される、緊急発声でないことを示す信号(非緊急停止信号)を受け取る。また、停止発声判定器1101は、音素認識器303より出力される音素列を受け取る。
【0103】
更に、停止発声判定器1101は、緊急発声判定器304より、緊急発声でないことを示す信号を受け取ると、音素認識器303より受け取った音素列に、予め定められた停止に関する音素列が含まれるか否かを判定する。また、停止発声判定器1101は、予め定められた停止に関する音素列が含まれると判定した場合に、制御部306に対して、通常停止信号を出力し、ロボット10を通常停止させる。
【0104】
<緊急停止処理の流れ>
次に、緊急停止部1100による緊急停止処理の流れについて説明する。
図12は、緊急停止部による緊急停止処理の流れを示す第5のフローチャートである。
図4で示したフローチャートとの相違点は、ステップS601、S602である。
【0105】
ステップS601において、停止発声判定器1101は、音素認識器303より、音素列を受け取り、受け取った音素列に、停止に関する音素列が含まれるか否かを判定する。
【0106】
ステップS601において、受け取った音素列に、停止に関する音素列が含まれないと判定した場合には、ステップS101に戻る。一方、ステップS601において、受け取った音素列に、停止に関する音素列が含まれると判定した場合には、通常停止させるべき状況が生じたと判定し、ステップS602に進む。
【0107】
ステップS602において、停止発声判定器1101は、制御部306に対して通常停止信号を出力する。制御部306は、可動部40が通常停止命令に基づいて動作するよう制御し、ロボット10を通常停止させる。
【0108】
<まとめ>
以上の説明から明らかなように、第5の実施形態に係る制御装置の緊急停止部は、ロボットにおいて緊急停止させるべき状況が生じていないと判定した場合でも、音素列に通常停止すべき音素列が含まれていた場合には、ロボットを通常停止させる。
【0109】
これにより、第5の実施形態に係る制御装置の緊急停止部によれば、緊急停止以外の停止方法を含む、複数種類の停止方法(緊急停止方法、通常停止方法)でロボットを停止させることができる。
【0110】
[第6の実施形態]
上記第1の実施形態では、緊急停止させるべき状況が生じた場合にユーザが咄嗟に発声する音声の音声区間長と話速とに着目した。一方で、緊急停止させるべき状況が生じた場合、ユーザは、同じ単語、単語断片、又は言い回しを繰り返し発声することが想定される。例えば、「まてまてまて」(英語の場合には、"Wait, Wait, Wait")、「ストップストップ」(英語の場合には、"Stop, Stop, Stop")、「危ない危ない危ない」(英語の場合には、"Danger, Danger, Danger")「ちょっちょっちょっ」(英語の場合には、"Hey, Hey, Hey")などである。そこで、第6の実施形態では、緊急停止させるべき状況が生じたか否かを判定するにあたり、同一単語の繰り返しに着目する。以下、第6の実施形態について、上記第1の実施形態との相違点を中心に説明する。
【0111】
<制御装置の機能構成>
はじめに、第6の実施形態に係る制御装置100の緊急停止部の機能構成について説明する。
図13は、制御装置の緊急停止部の機能構成の一例を示す第6の図である。
図3に示した機能構成との相違点は、第6の実施形態に係る制御装置100の緊急停止部1300の場合、繰り返し検出器1301を有する点、及び、緊急発声判定器1302が緊急発声判定器304とは異なる機能を有する点である。
【0112】
繰り返し検出器1301は、音素認識器303により出力された音素列を受け取り、受け取った音素列における繰り返し部分を検出する。また、繰り返し検出器1301は、検出結果を、緊急発声判定器1302に出力する。
【0113】
なお、繰り返し検出器の処理例は、例えば、プログラミング言語Pythonを用いて以下のように記述することができる。
def detect(input):
R = []
for w in range(2, len(input)//2+1):
for b in range(len(input)-w+1):
s = input[b:b+w]
R.append(s*2)
for r in R:
if r in input:
return True
return False
なお、上記記述において、戻り値が"True"とは、inputに入力された音素列において繰り返し部分が検出されたことを表す。一方、戻り値が"False"とは、inputに入力された音素列において繰り返し部分が検出されなかったことを表す。
【0114】
なお、音素認識器が任意の音素列を認識するのではなく、文法により認識すべき音素列を指定できる機能を備える場合には、想定される音素列の繰り返しをすべて文法に記載しておくことで繰り返し部分を検出することができる。この場合、繰り返し検出器1301は無くてもよい。文法を用いた音素認識器の実現方法の一例としてRecognition Grammar Toolkit for Juliusが挙げられる。認識の単位を単語ではなく音素とすることで、本実施の形態の音素認識器とすることができる。
【0115】
緊急発声判定器1302は、話速算出器305により出力された話速と、繰り返し検出器1301により出力された検出結果とに基づいて、下記条件を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音素列に繰り返し部分が含まれる。
【0116】
緊急発声判定器1302は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか1つまたは複数を満たさないと判定した場合、緊急発声判定器1302は、制御部306に対して緊急停止信号を出力しない。
【0117】
このように、話速が閾値以上であることに加えて、音素列に繰り返し部分が含まれることを条件にすることで、緊急停止部1300によれば、緊急停止させるべき状況が生じたか否かを高精度に判定することができる。
【0118】
<緊急停止処理の流れ>
次に、緊急停止部1300による緊急停止処理の流れについて説明する。
図14は、緊急停止部による緊急停止処理の流れを示す第6のフローチャートである。
図4で示したフローチャートとの相違点は、ステップS1401である。
【0119】
ステップS1401において、繰り返し検出器1301は、ステップS107で認識した音素列における繰り返し部分を検出する。
【0120】
なお、繰り返し検出器1301は、ステップS107で認識された音素列において、予め定められた長さ以上の音素列の繰り返しが現れるか否かによって検出する。
【0121】
<まとめ>
以上の説明から明らかなように、第6の実施形態に係る制御装置の緊急停止部は、作業中のロボットにおいて緊急停止させるべき状況が生じると、一般に、ユーザは短い言葉を繰り返し早口で発話することが多い点に着目し、
・話速が予め定められた閾値以上であり、かつ、
・ユーザの発声に対応する音素列に繰り返し部分が含まれる、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力する。
【0122】
これにより、第6の実施形態に係る制御装置の緊急停止部によれば、作業中のロボットにおいて緊急停止させるべき状況が生じた場合に、ユーザの音声指示に基づいて、ロボットを適切に緊急停止させることができる。この結果、ロボットをユーザの意図したとおりに動作させることが可能となる。
【0123】
なお、本実施形態において、緊急発声判定器1302は、話速算出器305により出力された話速及び繰り返し検出器1301により出力された検出結果に加えて、音声区間検出器302により出力された音声区間長を用いて緊急発声を検出してもよい。この場合、緊急発声判定器1302は、下記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
・音素列に繰り返し部分が含まれる。
【0124】
[第7の実施形態]
上記第6の実施形態では、緊急停止させるべき状況が生じた場合にユーザが咄嗟に発声する音声の話速と発声に対応する音素列における繰り返し部分とに着目した。一方で、緊急停止させるべき状況が生じた場合かつユーザにとっての危険度が時間とともに上昇していく場合、同じ単語や言い回しを繰り返し発声しつつ、その音圧レベルが時間と共に上昇してくことが想定される。例えば、回転機械に服を巻き込まれたものの数秒程度は猶予があるような場合、徐々に大きな声になることが想定される。そこで、第7の実施形態では、緊急停止させるべき状況が生じたか否かを判定するにあたり、話速と同一単語の繰り返しとに加えて、音圧レベルの上昇に着目する。以下、第7の実施形態について、上記第6の実施形態との相違点を中心に説明する。なお、以下では、説明を簡単にするため、単語が繰り返されるものとして説明するが、単語の繰り返しに代えて単語断片や単語列が繰り返されてもよい。
【0125】
<制御装置の機能構成>
はじめに、第7の実施形態に係る制御装置100の緊急停止部の機能構成について説明する。
図15は、制御装置の緊急停止部の機能構成の一例を示す第7の図である。
図13に示した機能構成との相違点は、第7の実施形態に係る制御装置100の緊急停止部1500の場合、第2の実施形態に記載した音圧レベル算出器と同様の音圧レベル算出器1501を有する点、及び、緊急発声判定器1502が緊急発声判定器1302とは異なる機能を有する点である。
【0126】
繰り返し検出器1301は、単語の繰り返しの検出及び検出結果の出力に加え、繰り返された各単語に対応する音声区間(繰り返し区間)についても算出し、音圧レベル算出器1501に出力する。音圧レベル算出器1501は、繰り返された各単語に対応する音声区間(繰り返し区間)の音圧レベルを算出する。また、音圧レベル算出器1501は算出した音圧レベルを、緊急発声判定器1502に出力する。
【0127】
緊急発声判定器1502は、話速算出器305により出力された話速と、繰り返し検出器1301により出力された検出結果と、音圧レベル算出器1501により出力された音圧レベルとに基づいて、下記条件を満たすか否かを判定する。
・話速が予め定められた閾値以上である。
・音素列に繰り返し部分が含まれる。
・音圧レベルが増加している(繰り返し区間における第1時刻の音圧レベルが、第1時刻より後の第2時刻の音圧レベルより小さい)。
【0128】
緊急発声判定器1502は、上記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。なお、上記条件のいずれか1つまたは複数を満たさないと判定した場合、緊急発声判定器1502は、制御部306に対して緊急停止信号を出力しない。
【0129】
このように、話速が閾値以上であること及び音素列に繰り返し部分が含まれることに加え、音圧レベルが増加していることを条件にすることで、緊急停止部1500によれば、緊急停止させるべき状況が生じたか否かを高精度に判定することができる。
【0130】
<緊急停止処理の流れ>
次に、緊急停止部1500による緊急停止処理の流れについて説明する。
図16は、緊急停止部による緊急停止処理の流れを示す第7のフローチャートである。
図6で示したフローチャートとの相違点は、ステップS1601、S1602である。
【0131】
ステップS1601では、第6の実施形態と同様、繰り返し検出器1301が、ステップS107で認識した音素列における繰り返し部分を検出する。加えて、繰り返し検出器1301は、繰り返された各単語に対応する音声区間(繰り返し区間)を算出する。
【0132】
ステップS1602において、音圧レベル算出器1501は、ステップS1601において算出された繰り返し区間の音圧レベルを算出する。
【0133】
<まとめ>
以上の説明から明らかなように、第7の実施形態に係る制御装置の緊急停止部は、作業中のロボットにおいて緊急停止させるべき状況が生じると、ユーザは短い言葉を繰り返し早口で発声し、その発声に対応する音声データの音圧レベルは徐々に大きくなることが多い点に着目し、
・話速が予め定められた閾値以上であり、かつ、
・ユーザの発声に対応する音素列に繰り返し部分が含まれ、かつ、
・繰り返し区間の音圧レベルが増加している、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力する。
【0134】
これにより、第7の実施形態に係る制御装置の緊急停止部によれば、作業中のロボットにおいて緊急停止させるべき状況が生じた場合に、ユーザの音声指示に基づいて、ロボットを適切に緊急停止させることができる。この結果、ロボットをユーザの意図したとおりに動作させることが可能となる。
【0135】
なお、本実施形態において、緊急発声判定器1502は、話速算出器305により出力された話速、繰り返し検出器1301により出力された検出結果、及び音圧レベル算出器1501により出力された繰り返し区間の音圧レベルに加えて、音声区間検出器302により出力された音声区間長を用いて緊急発声を検出してもよい。この場合、緊急発声判定器1502は、下記条件のいずれも満たすと判定した場合、緊急発声を検出した旨を表す緊急停止信号を制御部306に出力する。
・話速が予め定められた閾値以上である。
・音声区間長が予め定められた閾値以下である。
・音素列に繰り返し部分が含まれる。
・音圧レベルが増加している。
【0136】
[その他の実施形態]
上記各実施形態では、単位時間あたりの音素数を算出することで話速を算出するものとしたが、話速の算出方法はこれに限定されない。例えば、音素より小さい単位を用いて話速を算出してもよい。あるいは、音素より大きい単位(例えば、モーラ、音節、単語)を用いて話速を算出してもよい。
【0137】
また、上記第2乃至第5の実施形態では、上記第1の実施形態において示した条件に、上記第2乃至第5の実施形態において新たに示した条件のうちのいずれかの条件を加えた場合について説明した。しかしながら、上記第1の実施形態において示した条件に、上記第2乃至5の実施形態において新たに示した条件のうちの複数の条件を組み合わせて加えてもよい。
【0138】
あるいは、上記第1の実施形態において示した条件の一部に、上記第2乃至第7の実施形態において新たに示した条件のうちの一部の条件を組み合わせて加えてもよい。例えば、
・音声区間長が予め定められた閾値以下であり、かつ、
・音圧レベルが予め定められた閾値以上である、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力してもよい。
【0139】
あるいは、
・音声区間長が予め定められた閾値以下であり、かつ、
・音素列が、予め定められた音素列を含む(あるいは含まない)、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力してもよい。
【0140】
あるいは、
・音声区間長が予め定められた閾値以下であり、かつ、
・音素列に繰り返し部分が含まれる、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力してもよい。
【0141】
あるいは、
・音声区間長が予め定められた閾値以下であり、かつ、
・音素列に繰り返し部分が含まれ、かつ、
・音圧レベルが増加している、
場合に、緊急停止させるべき状況が生じたと判定し、緊急停止信号を出力してもよい。
【0142】
また、上記各実施形態では、制御部306が、可動部40を制御するものとして説明したが、制御部306は、可動部40以外の要素を制御するように構成してもよい。例えば、ロボット10が音声出力部を有している場合にあっては、音声出力部が緊急停止命令に基づいて動作するよう制御してもよい(つまり、音声出力を停止し、スピーカをOFF状態にするよう制御してもよい)。あるいは、ロボット10が表示部を有している場合にあっては、表示部が緊急停止命令に基づいて動作するよう制御してもよい(つまり、表示を停止し、画面をOFF状態にするよう制御してもよい)。ロボット10が不適切な音声出力や、不適切な表示出力を行った場合に有効である。
【0143】
また、上記各実施形態において、緊急停止部の機能は、プロセッサ201が、緊急停止プログラムを実行することで実現されるものとして説明した。しかしながら、緊急停止部の機能は、アナログ回路、デジタル回路又はアナログ・デジタル混合回路で構成された回路により実現されてもよい。また、緊急停止部の機能を実現する制御回路を備えていてもよい。各回路の実装は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等によるものであってもよい。
【0144】
また、上記各実施形態において、緊急停止プログラムを実行するにあたっては、緊急停止プログラムをフレキシブルディスクやCD-ROM等の記憶媒体に収納し、コンピュータに読み込ませて実行させるものであってもよい。記憶媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記憶媒体であってもよい。また、ソフトウェアによる処理は、FPGA等の回路に実装され、ハードウェアが実行するものであってもよい。ジョブの実行は、例えば、GPU(Graphics Processing Unit)等のアクセラレータを使用して行ってもよい。
【0145】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0146】
10 :ロボット
20 :マイクロフォン
30 :カメラ
40 :可動部
41~44 :関節
45 :エンドエフェクタ
100 :制御装置
300 :緊急停止部
301 :音取得部
302 :音声区間検出器
303 :音素認識器
304 :緊急発声判定器
305 :話速算出器
306 :制御部
500 :緊急停止部
501 :音圧レベル算出器
502 :緊急発声判定器
700 :緊急停止部
701 :音素列格納部
702 :緊急発声判定器
800 :緊急停止部
801 :画像取得部
802 :顔認識器
803 :緊急発声判定器
1100 :緊急停止部
1101 :停止発声判定器
1300 :緊急停止部
1301 :繰り返し検出器
1302 :緊急発声判定器
1500 :緊急停止部
1501 :音圧レベル算出器
1502 :緊急発声判定器