JP6610609B2 - 音声対話ロボットおよび音声対話システム - Google Patents

音声対話ロボットおよび音声対話システム Download PDF

Info

Publication number
JP6610609B2
JP6610609B2 JP2017088656A JP2017088656A JP6610609B2 JP 6610609 B2 JP6610609 B2 JP 6610609B2 JP 2017088656 A JP2017088656 A JP 2017088656A JP 2017088656 A JP2017088656 A JP 2017088656A JP 6610609 B2 JP6610609 B2 JP 6610609B2
Authority
JP
Japan
Prior art keywords
movable
unit
origin
operation instruction
robot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017088656A
Other languages
English (en)
Other versions
JP2018183856A (ja
Inventor
快矢統 坂本
篤司 池野
雅亮 花田
赳彦 石黒
昌幸 谷山
敏文 西島
浩巳 刀根川
倫秀 梅山
悟 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2017088656A priority Critical patent/JP6610609B2/ja
Priority to US15/958,602 priority patent/US10828773B2/en
Priority to CN201810382823.3A priority patent/CN109249386B/zh
Publication of JP2018183856A publication Critical patent/JP2018183856A/ja
Application granted granted Critical
Publication of JP6610609B2 publication Critical patent/JP6610609B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1689Teleoperation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39441Voice command, camera detects object, grasp, move
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Description

本発明は、音声対話ロボットおよび音声対話システムに関する。
音声対話ロボットとスマートフォンなどの制御コンピュータとが連携して動作する音声対話システムが利用されている。このようなシステムでは、音声対話ロボットはユーザとのインタフェース装置として利用され、音声認識処理や応答文作成処理は、スマートフォンあるいはスマートフォンから依頼されたサーバ装置が行う。そして、スマートフォンがロボット端末に対して発話指示を行う。
この際に、発話内容に応じた動作をロボット端末に指示する場合もある。例えば、スマートフォンからロボットに「こんにちは」と発話させる際に、ロボットに対して挨拶動作(例えば、上下への首振り動作)を指示することが考えられる。このような動作指示は、ロボット本体を基準とする座標系における移動方向・距離で指定される場合がある。
また、ユーザと音声対話を行う音声対話ロボットの中には、ユーザが存在する方向にロボットの顔を向ける追従機能を持つものがある。例えば、ユーザの声がする方向に顔を向ける話者追従や、撮影画像中でユーザの顔を検知した方向にロボットの顔を向ける顔追従機能が知られている(特許文献1,2)。
音声対話ロボットとスマートフォンなどの制御コンピュータを連携するシステムであっても、ユーザへの追従処理は、スマートフォンを利用せずに音声対話ロボット内で行う場合もある。
特開2016−68197号公報 特開2008−87140号公報
ユーザへの追従処理を音声対話ロボットが自ら行い、動作状況を制御コンピュータに通知しない場合には、制御コンピュータでは音声対話ロボットの動作状況を把握できない。したがって、制御コンピュータから初期位置を基準として動作指示を出すと、ロボットにおける動作が本来意図したものとずれてしまうという問題が生じる。
本発明の目的は、ユーザに追従して可動部を移動させる処理を内部で行う音声対話ロボットにおいて、可動部の動作状況を把握しない外部装置からの動作指示を受け付けた場合であっても、指示された動作を適切に実行可能とすることにある。
本発明の一態様は、ユーザと音声対話を行う音声対話ロボットであって、
本体と、
前記本体に対して相対的に移動可能な可動部と、
前記可動部がユーザに追従するように前記可動部を移動させる追従制御部と、
前記追従制御部による前記可動部の移動に応じて、前記可動部の仮原点を設定する仮原点設定部と、
前記可動部の動作指示を取得する取得部と、
前記仮原点を基準として、前記動作指示にしたがって前記可動部を移動させる動作実行部と、
を備えることを特徴とする。
本態様における可動部は任意のものであってよいが、例えばロボットが人あるいは動物を模したものである場合には、可動部は頭・手・足の少なくとも何れかであってよい。可動部の動作は特に限定されず、回転動作や直線動作またはこれらの組み合わせてあってよい。また、可動部の動作の自由度は1自由度であってもよいし多自由度であってもよい。
本態様において、可動部はあらかじめ定められた原点(ゼロ点)からの移動量を指定して制御されるものであってよい。この原点は、例えば、可動部が初期位置にある際のモータ原点である。本態様における動作実行部は、動作指示により指定される移動量に原点と仮原点の差分を加えた移動量を指定して、可動部を移動させてもよい。
このように本態様においては、追従制御部によって可動部が移動された場合に、動作指示によって指定される動作は、仮原点を基準として行われる。したがって、可動部の状況を考慮しない動作指示であっても適切な動作を行うことができる。
本態様における追従制御部は、可動部がユーザの方向を向くように可動部を移動させてもよい。例えば、ユーザ発話(音声)の到来方向に可動部が向くように制御したり、撮影画像中におけるユーザの顔の検知方向に可動部が向くように制御したりしてもよい。本態様における仮原点設定部は、追従制御部によって前記可動部が移動させられた位置を仮原点に設定してもよい。
ここで、追従制御によって可動部が移動させられた際の位置をモータ仮原点として設定すると、仮原点を基準とした動作が可動部の可動範囲を超えてしまう事態が生じうる。
このような問題に対処するために、動作指示によって指示されうる動作(想定される動作)が、可動範囲に入るように仮原点の位置を調整するとよい。このような仮原点は、想定される全ての動作が可動範囲に入るように、ロボットに1つのみ設定してもよい。あるいは、想定される動作ごとに、各動作が可動範囲に入るように仮原点をそれぞれ設定してもよい。
仮原点の設定は、追従処理制御部によって可動部が移動したときに行う代わりに、動作指示の取得後に行ってもよい。この場合、記仮原点設定部は、動作指示によって指示される動作を、可動部の現在位置(追従制御部による移動後の位置)を基準として実行しても可動部の可動範囲を超えない場合には、現在位置を仮原点として設定する。一方、動作指示によって指示される動作を現在位置を基準として実行すると可動部の可動範囲を超える場合には、仮原点設定部は、指示された動作が可動範囲に入るように仮原点を設定する。
あるいは、仮原点はあくまでも追従制御部によって前記可動部が移動させられた位置としてもよい。そして、このような仮原点を基準とすると現に動作指示によって指示された動作が可動範囲を超える場合に、一時的に原点を変更してもよい。例えば、指示された動作が可動範囲に入るような第2原点を一時的に設定し、この第2原点を基準として指示された動作を行うようにしてもよい。
本態様において、動作指示に基づいて動作実行部が可動部を移動させている間は、追従制御部は追従動作を行わなくてよい。追従動作を行うと、指示された動作を適切に行えなくなるためである。
本発明の第二の態様は、上述した音声対話ロボットと制御装置からなる音声対話システムである。制御装置は、音声対話ロボットと無線通信により接続され、音声対話ロボットに対して前記動作指示を送信する動作指示送信部を備える。ここで、制御装置は、音声対話ロボットの可動部の動作状況(例えば、追従制御部による移動)を検知しない装置であってよい。
なお、本発明は、上記手段の少なくとも一部を備える音声対話ロボットあるいは音声対話システムとして捉えることもできる。本発明は、また、上記処理の少なくとも一部を実行する音声対話ロボットの制御方法として捉えることができる。また、本発明は、この方法をコンピュータに実行させるためのコンピュータプログラム、あるいはこのコンピュータプログラムを非一時的に記憶したコンピュータ可読記憶媒体として捉えることもできる。上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
本発明によれば、ユーザに追従して可動部を移動させる処理を内部で行う音声対話ロボットにおいて、可動部の動作状況を把握しない外部装置からの動作指示を受け付けた場合であっても、指示された動作を適切に実行可能となる。
図1は、実施形態に係る音声対話システムのシステム構成を示す図である。 図2(A)〜図2(D)は、音声対話ロボットの外観を示す図である。 図3は、実施形態に係る音声対話ロボットの機能構成を示す図である。 図4(A)および図4(B)は、音声対話ロボットによる追従処理および仮原点設定処理の流れを示すフローチャートである。 図5(A)および図5(B)は、仮原点設定処理を説明する図である。 図6(A)および図6(B)は、仮原点設定処理を説明する図である。 図7は、動作指示受領時の可動部制御処理の流れを示すフローチャートである。 図8は、動作指示受領時の可動部制御処理の流れを示すフローチャートである。 図9(A)〜図9(D)は、追従処理を内部で行う音声対話ロボット、可動部の動作状況を把握しない外部装置から動作指示を受け付けた場合の問題点を説明する図である。
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
<概要>
図1は本実施形態に係る音声対話システムのシステム構成を示す図である。本実施形態に係る音声対話システムは、図1に示すように、互いに無線通信により接続された、ロボット(音声対話ロボット)100、スマートフォン110、音声認識サーバ200、対話サーバ300から構成される。ロボット100とスマートフォン110の間の通信は、Bluetooth(登録商標)とすることができる。スマートフォン110と音声認識サーバ20
0および対話サーバ300との間の通信は、携帯電話通信(LTEなど)であってもよいしWi-Fiであってもよく、また有線通信であってもよい。
本実施形態においては、ロボット100はマイクおよびスピーカーを有するフロントエンドのユーザインタフェース装置として用いられ、ロボット100に入力されたユーザ音
声はスマートフォン110に送られる。スマートフォン110は、音声認識サーバ200を用いて音声認識処理を行い、対話サーバ300を用いて対話文(応答文)生成を行う。スマートフォン110は、音声合成処理により対話文の音声データを生成したロボット100に送信し、ロボット100は受信した音声データをスピーカーから再生する。この処理を繰り返すことで、ユーザと音声対話システムの間の対話が進行する。このような処理を分散化した音声対話システム自体は公知であるため、それぞれの構成や処理についての詳細な説明は省略する。
図2(A)はロボット100の外観の概要を示す。ロボット100は、胴体(本体)10および頭部20を有する。図2(B)に示すように、頭部20は、モータ30によって胴体10に対して相対的に回転可能に構成される。本実施形態において頭部20は2自由度の関節体により胴体10と接続されており、図2(C)および図2(D)示すような回転(ロールおよびピッチ)が可能である。関節を駆動するためおよび関節の状態を取得するために、モータ30としてサーボモータが利用される。
ロボット100は、頭部20以外にも手や足なども移動可能として構成してもよいが、本明細書においては頭部20のみが移動可能であるとして説明する。
本実施形態におけるロボット100の音声出力処理や姿勢制御処理(頭部の移動制御処理)は、原則としてスマートフォン110からの指示によって行われる。ただし、ロボット100は、対話中のユーザの方向に頭部を向ける追従処理を内部で自律的に実施する。ここで、追従処理による頭部20の位置や状態はスマートフォン110には通知されないものとする。したがって、スマートフォン110は追従処理による頭部20の姿勢を把握できず、スマートフォン110からロボット100の姿勢制御コマンドを発するとロボット100の姿勢が適切に動作しない恐れがある。
本実施形態においては、スマートフォン110からロボット100への動作指示は、ロボット100の座標原点を基準とする。したがって、追従機能によってロボット100の頭部20が初期位置から異なる向きを向いていると、スマートフォン110からの動作指示は意図したとおりに動かない。例えば、動作指示が現在の頭部の向きを中心とした首振り動作を意図したものであっても、首振り動作は初期位置を中心とした動作となるため、追従処理によって頭部が初期位置から異なる位置に移動させられているとその場での首振り動作とはならない。
図9(A)は、ロボット100とユーザ500が正対している状態を示す。図9(B)に示すように、ユーザ500が移動すると、ロボット100は追従処理によって頭部の向きを変え、頭部(顔)がユーザ500と正対するようにする。この状態で、スマートフォン110から、±20度の首振り動作を行う動作指示を受信すると、本来は図9(C)に示すように現在の状態からの首振り動作91を行うことが適切であるにもかかわらず、図9(D)に示すように原点90を基準とした首振り動作92が行われてしまい適切ではない。
<構成>
本実施形態においては、このような問題を解消するために、ロボット100に次のような機能を持たせる。
図3は、ロボット100の構成のうち、主に可動部(頭部20)の動作に関する機能部を示す。ロボット100は、図3に示すように、スピーカー101、マイク102、話者追従部103、カメラ104、顔追従部105、仮原点設定部106、動作指示受信部107、動作指示実行部108、可動部制御部109を備える。ロボット100は、マイク
ロプロセッサなどの演算装置、メモリなどの記憶部、通信装置などを含むコンピュータであり、演算装置がプログラムを実行することにより、話者追従部103、顔追従部105、仮原点設定部106、動作指示受信部107、動作指示実行部108、可動部制御部109の機能が実現される。これらの一部または全部の機能は、専用の電気回路によって実現されてもかまわない。
スピーカー101は、スマートフォン110から受信した音声データを出力する。マイク102は、ユーザの発話音声を取得する。マイク102は、音声のアナログデータをデジタルデータにA/D変換する。デジタル音声データは、通信を介してスマートフォン110に送信されるとともに、話者追従部103に入力される。
話者追従部(追従制御部)103は、マイク102への入力音声データから話者の方向を特定する。話者追従部103は、人の声がする方向を話者の方向として決定してもよいし、話者の個人が特定できている場合には特定の声紋を有する声がする方向を話者の方向として決定してもよい。話者追従部103は、可動部制御部109に指示して、頭部20が特定された話者方向を向くように指示する。
カメラ104は、ロボット100の周囲の画像を撮影する。カメラ104によって撮影された画像データは、通信を介してスマートフォン110に送信されるとともに、顔追従部105に入力される。
顔追従部(追従制御部)105は、カメラ104の撮影画像データの中から顔を検出する。顔追従部105は、顔一般を検出する顔検出技術を用いてユーザの顔を検出してもよいし、話者の個人が特定できている場合には特定の顔を検出する顔検出技術(顔照合技術)を用いてユーザの顔を検出してもよい。顔追従部105は、画像中における顔の位置をロボットに対して相対的な位置に変換し、頭部20がこの方向を向くように可動部制御部109に指示する。
仮原点設定部106は、モータ30の仮原点を設定する。モータ30には原点(ゼロ点とも称される)設定されており、この原点を基準として制御される。本実施形態では頭部20を動かすために2つのモータ30が利用されており、これら2つのモータ30に対してそれぞれ原点が設定される。原点は、頭部20が胴体10に対して初期位置(典型的には頭部20が真正面を向いている状態)におけるモータ位置である。仮原点設定部106は、話者追従部103や顔追従部105によって頭部20の向きが変更された場合に、各モータ30の一時的な原点(仮原点と称する)を設定する。モータ30に仮原点が設定されても、原点は変更されない。
仮原点設定部106がどのように仮原点を設定するかについては、フローチャートを用いた後述の説明の中で詳細に行う。
なお、話者追従部103および顔追従部105の両方がユーザの追跡を見失った場合には、仮原点設定部106は仮原点の設定を解除する、あるいは原点を仮原点として設定する。
動作指示受信部(取得部)107は、スマートフォン110の動作指示送信部111から動作指示を受信し、動作指示実行部108に送る。動作指示には、「頭部20を水平方向20度の位置に向ける」や「頭部20を水平方向−10度〜+10度の範囲で往復動作させる」などの指示がされる。ここで、本実施形態においては、スマートフォン110からの指示は一般にモータの原点を基準とするものと解釈される。すなわち、前者の指示は頭部を初期位置+20度の位置に向けるという指示であり、後者の指示は頭部を初期位置
−10度から初期位置+10度の範囲で往復動作させる、という指示として解釈される。
動作指示実行部(動作実行部)108は、受信した動作指示と、仮原点設定部106によって設定された仮原点を考慮して、受信した動作指示を、仮原点を基準とする指示に変換する。具体的には、動作指示実行部108は、仮原点が設定されている場合には、仮原点と原点の差分をオフセットとして決定し、動作指示によって指示される位置にオフセットを足した位置に頭部20を移動させるように、可動部制御部109に指示する。可動部制御部109は、原点を基準として頭部20のモータを駆動するため、仮原点を基準とする動作を行わせるために、上述のオフセットを加える。
可動部制御部109は、頭部20を駆動するモータ30を制御する。可動部制御部109は、モータの制御位置を入力として受け付け、モータ原点を基準としてモータが当該制御位置に移動するように駆動する。すなわち、可動部制御部109は、モータ原点からの移動量の指定を受けて頭部20を制御する。
スマートフォン110の動作指示送信部111は、ロボット100に行わせる動作を含む動作指示を生成して、通信部を介してロボット100の動作指示受信部107に送信する。例えば、スマートフォン110は、対話文出力指示とともに動作指示を送信して、「こんにちは」という発話を行いつつ顔を上下に振るという動作をロボット100に行わせる。
<処理>
ロボット100が行う処理について説明する。
[1.追従処理および仮原点設定処理]
図4(A)は、ロボット100が行う追従処理を説明するフローチャートである。ステップS102において、話者追従部103または顔追従部105がユーザを検出したか(あるいは検出しているか)否かを判断する。すなわち、話者追従部103がマイク102からの入力音声から話者の方向を特定できているか、または、顔追従部105がカメラ104の撮影画像から顔を検出してその方向を特定できているかがステップS102において判断される。
話者追従部103と顔追従部105のどちらもユーザを検出していないとき(ステップS102−NO)には、ステップS108に進む。ステップS108では、可動部制御部109は、頭部20を初期位置に移動させる(初期位置以外にある場合)。そして、ステップS110において、仮原点設定部106は、仮原点の設定を解除する。仮原点の設定解除処理は、仮原点を未設定とするものであってもよいし、仮原点を原点位置に設定するものであってもよい。
話者追従部103と顔追従部105の少なくとも何れかがユーザを検出しているとき(ステップS102−YES)には、ステップS104に進む。ステップS104では、話者追従部103または顔追従部105からの指示により、頭部20がユーザの方向を向くように制御する。なお、話者追従部103と顔追従部105の両方がユーザの方向を検出している場合には、顔追従部105の検出結果を優先する。顔追従部105による検出結果の方が高精度なためである。
ステップS106において、仮原点設定部106は、頭部20の向きに基づいて仮原点を設定する。仮原点設定処理の詳細は、図4(B)のフローチャートに示されている。図4(B)を参照して、仮原点設定処理S106の詳細を説明する。
ステップS202において、仮原点設定部106は、現在の顔位置で所定動作が可能であるか否かを判断する。ロボット100の頭部20には、その可動範囲があらかじめ定められている。所定動作は、スマートフォン110から指示されることが想定される動作である。仮原点設定部106は、頭部20が現在向いている方向(位置)を基準として所定動作を行った場合に、頭部20が可動範囲に収まるか可動範囲を超えてしまうかを判断する。
頭部20の移動が可動範囲に収まる場合(S202−YES)には、仮原点設定部106は、現在の頭部20の位置(モータ位置)を仮原点に設定する(S204)。一方、頭部20の移動が可動範囲を超える場合(S202−NO)には、仮原点設定部106は、仮原点を基準として所定の動作を行った場合に、頭部20の移動範囲が可動範囲に入るように仮原点を設定する(S206)。
図5,6を参照して具体的に説明する。図5,6はロボット100を上側から見た図である。なお、ここでは説明の簡略化のために、水平方向での顔振り動作(ロール動作)のみを考慮するが、首の縦振りや、縦と横を組み合わせた頭部の移動も同様に扱える。
図5(A)に示すように、頭部20には可動範囲51があらかじめ定められている。この例では、頭部20は原点50(初期位置)に対して+45度から−45度の範囲で移動可能である。図5(A)の例では、追従処理によって顔(頭部20)の向きが原点から−10度(左向きに10度)回転している。現在位置52は、追従処理後の頭部の位置(モータ位置)を示す。ここで、スマートフォン110から指示されることが想定される動作として、基準点を中心として±20度の範囲内で頭部20を移動させる動作(首振り動作)であるとする。図5(A)の範囲53は、頭部20の現在位置52を基準として所定動作を行ったときの頭部の移動範囲を示している。
この例では、現在位置52を基準として±20度の首振り動作(所定動作)を行うと、頭部は原点50を基準として−30度から+10度の範囲で移動することになり、頭部20は可動範囲を超えない(S202−YES)。したがって、仮原点設定部106は、図5(B)に示すように、頭部20の現在位置52を仮原点54として設定する(S204)。
図6(A)は図5(A)と同様の図であるが、追従処理によって顔(頭部20)の向きが原点から−30度(左向きに30度)回転しており、頭部20の位置は現在位置52’で示される位置にある。ここで、現在位置52’を基準として±20度の首振り動作(所定動作)を行うと、頭部は原点50を基準として−50度から−10度の範囲(範囲53’として示される)で移動することになり、頭部20は可動範囲を超えてしまう(S202−NO)。
そこで、仮原点設定部106は、仮原点の条件を満たすように決定する(S206)。(条件1)仮原点を基準として所定動作(例:±20度の首振り動作)を行ったときに、頭部20の移動範囲が可動範囲に入る。
(条件2)仮原点は、条件1を満たす位置のうち頭部20の現在位置から最も近い位置である。
この例では、図5(B)に示すように、原点50を基準として−25度の位置が仮原点54’として設定される。これにより、仮原点54’を基準として±20度の首振り動作を行った時の頭部の動作範囲53’’は、頭部の可動範囲51に入る。
[2.動作指示受領時の処理]
次に、図7を参照して、ロボット100がスマートフォン110から動作指示を受信した時の処理について説明する。
ステップS302において、動作指示受信部107が、スマートフォン110の動作指示受信部107から動作指示を受信する。するとステップS304において、ロボット100は、動作指示に基づく制御を行う前に、話者追従部103および顔追従部105の追従処理の機能をオフにする。これは、動作指示にしたがって頭部20を動かしている間に追従機能が働いて、頭部20が動作指示と異なる動作をしてしまうことを防止するためである。
ステップS306において、動作指示実行部108は、仮原点設定部106によって仮原点が設定されているか否かを判断する。仮原点が設定されている場合(S306−YES)には、ステップS308に進んで、動作指示実行部108は、仮原点と原点の差分、すなわち「仮原点−原点」をオフセットとして決定し、ステップS312に進む。仮原点が設定されていない場合(S306−NO)には、ステップS310においてオフセットをゼロに設定し、ステップS312に進む。
ステップS312において、動作指示実行部108は、動作指示により指定される移動量に対してオフセットを加えた上で、可動部制御部109に対して制御指示を行う。なお、可動部制御部109は原点を基準として頭部20の制御を行うが、上述のように仮原点と原点の差分をオフセットとして加えているので、仮原点を基準とした動作が行われることになる。たとえば、図5(A)の例では図5(B)に符号53で示す範囲での動作が行われ、図6(A)の例では図6(B)に符号53’’で示す範囲での動作が行われる。
<本実施形態の有利な効果>
本実施形態によれば、スマートフォン110からロボット100の可動部(頭部)の動作を指示する際に、スマートフォン110がロボット100の可動部の状態を把握していなくても、原点(初期位置)を基準とした動作指示により適切な動作が可能である。具体的には、ユーザへの追従処理が行われており、頭部20の向きが初期位置(原点)からずれている場合に、原点を基準とした制御ではなく、追従動作に応じて決定される仮原点を基準として動作が行われるため動作が適切なものとなる。
また、追従処理による移動後の可動部(頭部)の位置を単純に仮原点に設定するのではなく、可動部の可動範囲と想定される動作を考慮して仮原点を設定しているので、スマートフォン110から指示される動作を行った時に、可動範囲を超えることがない。この場合、頭部の現在位置を基準とした動作とは異なる動作が行われることになるが、可動範囲を超えて制御しようとするよりはスマートフォン110からの指示に従った動作が行われることになる。
また、本実施形態においては、原点を置き換えるのではなく、原点は維持したまま仮原点を設定しているので、仮原点が設定されている間も原点を基準とする処理も実行可能であり、また、原点の再設定も容易である。
<第1の実施形態の変形例>
上記の説明では、スマートフォン110から指示される想定動作が1つのみの場合を例に説明したが、想定動作が複数ある場合にも適用できることは容易に理解できるであろう。例えば、複数の想定動作の動作範囲を全て含む範囲を用いて上記と同様の処理を行うことで対応できる。あるいは、想定動作が複数ある場合には、想定動作ごとに仮原点を設定してもよい。この場合、ロボット100は動作指示を受け取った場合に、指示されている動作がどの想定動作に該当するかを判断し、対応する仮原点を使用すればよい。
上記の説明では、1つの軸回りの動作のみを対象として説明したが、複数の軸回りの動作についても同様に処理をすることができる。また、回転動作に限られず直線動作についても同様に処理することができる。
上記の説明では、話者追従機能および顔追従機能のオンオフをステップS304,S314において明示的に指示しているが、動作指示に基づいて可動部が移動されているときに自動的に追従機能をオフにするようにしてもよい。例えば、動作指示実行部108によって動作指示に従った可動部の動作が開始されると、これを話者追従部103および顔追従部105が検知して追従機能をオフにするように構成すればよい。また、話者追従部103および顔追従部105は、動作指示に従った可動部の動作が所定時間(例えば500ミリ秒)以上行われていないことを検知した場合に追従機能をオンにするように構成してもよい。
また、スマートフォン110からの動作指示の全てを仮原点を基準として実行する必要はない。スマートフォン110からロボット100に送信する動作指示に、原点を基準として実行すべきか仮原点を基準として実行すべきかを表す情報(フラグやメッセージ種別など)を含めて、ロボット100はこの情報に応じて処理を切り替えてもよい。
<第2の実施形態>
本実施形態は、第1の実施形態と基本的に同様の構成を有し同様の処理を行うが、仮原点設定処理のタイミングが第1の実施形態と異なる。第1の実施形態では、追従動作によって頭部20(可動部)を移動させた際に仮原点を設定しているが、本実施形態ではスマートフォン110からの動作指示を取得した後に仮原点を設定する。
本実施形態における追従処理は、第1の実施形態(図4(A))基本的に同様であるが、ステップS106およびS110の処理が行われないという点が異なる。したがって、詳しい説明は省略する。
図8は、本実施形態における動作指示受領時の処理を説明するフローチャートである。第1の実施形態とその相違は、動作指示の取得後かつ追従制御をオフにした後(ステップS302−S304の後)に、仮原点設定処理S106が設けられている点である。仮原点設定処理S106自体は、第1の実施形態と同様であり、図4(B)に示すとおりである。
本実施形態においても、第1の実施形態と同様の効果を得ることができる。本実施形態は、スマートフォン110から指示される想定動作が複数ある時に、第1の実施形態よりも次の点で有利である。
第1の実施形態において複数の動作の全体的な動作範囲を用いて仮原点を設定する手法と比較すると、現在位置を基準として指定された動作が可能であるにもかかわらず、現在位置とは異なる仮原点を基準として動作されてしまうことを抑制できる。したがって、動作指示によって指示されている動作を、より忠実に実行できる。
第1の実施形態において複数の動作ごとに仮原点を設定する手法と比較すると、本実施形態では複数の仮原点を算出・記憶する必要がない点で有利である。
<変形例>
上記の実施形態および変形例の構成は、本発明の技術的思想を逸脱しない範囲内で、適宜組み合わせて利用することができる。また、本発明は、その技術的思想を逸脱しない範
囲で適宜変更を加えて実現しても構わない。
上記の説明では、ユーザに追従する可動部が頭部であるが、可動部は必ずしも頭部である必要はなく、手や足あるいはその他の任意の部位であってよい。また、ロボット100は人型である必要はなく形状は特に限定されない。たとえば、ロボット100は、動物や機械を模したロボットであってもよい。
ロボット100に対して指示を送信する装置はスマートフォンである必要はなく、任意のコンピュータであってよい。例えば、ノート型コンピュータやタブレット型コンピュータなどであってもよい。
音声対話システムは、上記の実施形態のようにロボット、スマートフォン、音声認識サーバ、対話サーバなどにより構成する必要は無い。上記の機能が実現できれば、システム全体をどのように構成してもよい。例えば、全ての機能を1つの装置で実行してもよい。あるいは、上記実施形態において1つの装置で実施している機能を複数の装置で分担して実行してもよい。また、各機能は上述の装置で実行する必要は無い。例えば、スマートフォンで実行している処理の一部をロボットにおいて実行するように構成してもかまわない。
上記の説明は、ロボット100の可動部の追従処理により動作がスマートフォン110に通知されないことを前提としている。しかしながら、追従処理による可動部の状態がスマートフォン110に通知されてもかまわない。このような場合であっても、本発明の手法を用いることで、スマートフォン110がロボット100の可動部の状態を気にすることなく可動部を適切に制御できるという効果が得られる。
100:ロボット
110:スマートフォン
200:音声認識サーバ
300:対話サーバ

Claims (9)

  1. ユーザと音声対話を行う音声対話ロボットであって、
    本体と、
    前記本体に対して相対的に移動可能な可動部と、
    前記可動部がユーザに追従するように前記可動部を移動させる追従制御部と、
    前記追従制御部による前記可動部の移動に応じて、前記可動部の仮原点を設定する仮原点設定部と、
    前記可動部の動作指示を取得する取得部と、
    前記仮原点を基準として、前記動作指示にしたがって前記可動部を移動させる動作実行部と、
    を備え、
    前記追従制御部は、前記可動部が前記ユーザの方向を向くように前記可動部を移動させ、
    前記仮原点設定部は、前記追従制御部による移動後の前記可動部の現在位置を基準として前記可動部に所定の動作を行わせても前記可動部の可動範囲を超えない場合には、前記現在位置を前記仮原点として設定し、
    前記追従制御部による移動後の前記可動部の現在位置を基準として前記可動部に前記所定の動作を行わせると前記可動部の可動範囲を超える場合は、前記所定の動作が前記可動範囲に入るように前記仮原点を設定する、
    音声対話ロボット。
  2. 前記仮原点設定部は、前記動作指示の取得後に前記仮原点を設定するものであり、
    前記所定の動作は、前記動作指示によって指示される動作である、
    請求項に記載の音声対話ロボット。
  3. 前記可動部はあらかじめ定められた原点からの移動量を指定して制御されるものであり、
    前記動作実行部は、前記動作指示により指定される移動量に前記原点と前記仮原点の差分を加えた移動量を指定して、前記可動部を移動させる、
    請求項1または2に記載の音声対話ロボット。
  4. 前記追従制御部は、前記動作指示に基づいて前記動作実行部が前記可動部を移動させている間は、追従動作を行わない、
    請求項1からのいずれか1項に記載の音声対話ロボット。
  5. 前記追従制御部は、カメラによって撮影される画像から求められるユーザの方向、または、マイクから取得される音声から求められるユーザの方向を向くように、前記可動部を移動させる、
    請求項1からのいずれか1項に記載の音声対話ロボット。
  6. 前記取得部は、前記追従制御部による前記可動部の移動を検知しない装置から前記動作指示を取得する、
    請求項1からのいずれか1項に記載の音声対話ロボット。
  7. 請求項1からのいずれか1項に記載の音声対話ロボットと、
    前記音声対話ロボットと無線通信により接続される制御装置であって、前記音声対話ロボットに対して前記動作指示を送信する動作指示送信部を備える制御装置と、
    を備える音声対話システム。
  8. 本体と前記本体に対して相対的に移動可能な可動部とを有しユーザと音声対話を行う音声対話ロボットの制御方法であって、
    前記可動部がユーザに追従するように前記可動部を移動させる追従制御ステップと、
    前記追従制御ステップにおける前記可動部の移動に応じて、前記可動部の仮原点を設定する仮原点設定ステップと、
    前記可動部の動作指示を取得する取得ステップと、
    前記仮原点を基準として、前記動作指示にしたがって前記可動部を移動させる動作実行ステップと、
    を備え、
    前記追従制御ステップでは、前記可動部が前記ユーザの方向を向くように前記可動部を移動させ、
    前記仮原点設定ステップでは、前記追従制御ステップによる移動後の前記可動部の現在位置を基準として前記可動部に所定の動作を行わせても前記可動部の可動範囲を超えない場合には、前記現在位置を前記仮原点として設定し、
    前記追従制御ステップによる移動後の前記可動部の現在位置を基準として前記可動部に前記所定の動作を行わせると前記可動部の可動範囲を超える場合は、前記所定の動作が前記可動範囲に入るように前記仮原点を設定する、
    音声対話ロボットの制御方法。
  9. 請求項に記載の方法の各ステップをコンピュータに実行させるプログラム。
JP2017088656A 2017-04-27 2017-04-27 音声対話ロボットおよび音声対話システム Active JP6610609B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017088656A JP6610609B2 (ja) 2017-04-27 2017-04-27 音声対話ロボットおよび音声対話システム
US15/958,602 US10828773B2 (en) 2017-04-27 2018-04-20 Voice interactive robot and voice interaction system
CN201810382823.3A CN109249386B (zh) 2017-04-27 2018-04-26 语音对话机器人及语音对话系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017088656A JP6610609B2 (ja) 2017-04-27 2017-04-27 音声対話ロボットおよび音声対話システム

Publications (2)

Publication Number Publication Date
JP2018183856A JP2018183856A (ja) 2018-11-22
JP6610609B2 true JP6610609B2 (ja) 2019-11-27

Family

ID=63915539

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017088656A Active JP6610609B2 (ja) 2017-04-27 2017-04-27 音声対話ロボットおよび音声対話システム

Country Status (3)

Country Link
US (1) US10828773B2 (ja)
JP (1) JP6610609B2 (ja)
CN (1) CN109249386B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6886130B2 (ja) * 2019-08-12 2021-06-16 学校法人拓殖大学 感性情報を用いたリハビリテーション支援ロボット
KR20210078060A (ko) 2019-12-18 2021-06-28 삼성전자주식회사 사용자와의 인터랙션 중 인터럽션(제3자로부터의 개입)을 방지하는 로봇
CN111309992B (zh) * 2020-02-19 2023-06-13 深圳市天博智科技有限公司 智能机器人应答方法、系统、机器人和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2566550B2 (ja) * 1984-01-31 1996-12-25 ファナック 株式会社 ロボツト動作に対するオペレ−タ保護方法
JP4022477B2 (ja) * 2002-01-21 2007-12-19 株式会社東京大学Tlo ロボットフォン
JP3714268B2 (ja) 2002-03-18 2005-11-09 ソニー株式会社 ロボット装置
JP2008087140A (ja) * 2006-10-05 2008-04-17 Toyota Motor Corp 音声認識ロボットおよび音声認識ロボットの制御方法
KR101479233B1 (ko) * 2008-05-13 2015-01-05 삼성전자 주식회사 로봇 및 그 협조작업 제어방법
US8805585B2 (en) * 2008-06-05 2014-08-12 Toshiba Kikai Kabushiki Kaisha Handling apparatus, control device, control method, and program
JP5850560B2 (ja) * 2010-07-23 2016-02-03 株式会社国際電気通信基礎技術研究所 遠隔操作ロボット
JP2012040655A (ja) * 2010-08-20 2012-03-01 Nec Corp ロボット制御方法、プログラム、及びロボット
JP5172049B2 (ja) * 2011-06-14 2013-03-27 パナソニック株式会社 ロボット装置、ロボット制御方法、及びロボット制御プログラム
WO2013176212A1 (ja) * 2012-05-25 2013-11-28 学校法人立命館 ロボット制御装置、ロボット制御方法、プログラム、記録媒体、ロボットシステム
JP6203696B2 (ja) * 2014-09-30 2017-09-27 富士ソフト株式会社 ロボット
DE102014226239A1 (de) * 2014-12-17 2016-06-23 Kuka Roboter Gmbh Verfahren zum sicheren Einkoppeln eines Eingabegerätes
JP2016185572A (ja) * 2015-03-27 2016-10-27 セイコーエプソン株式会社 ロボット、ロボット制御装置およびロボットシステム
CN105234945A (zh) * 2015-09-29 2016-01-13 塔米智能科技(北京)有限公司 一种基于网络语音对话及体感互动的迎宾机器人
CN106042005B (zh) * 2016-06-01 2018-02-06 山东科技大学 仿生眼定位追踪系统的工作方法
TWI617908B (zh) * 2016-06-02 2018-03-11 巨擘科技股份有限公司 機械手臂控制裝置,包含該控制裝置的機械手臂系統及機械手臂控制方法

Also Published As

Publication number Publication date
US20180311816A1 (en) 2018-11-01
US10828773B2 (en) 2020-11-10
CN109249386A (zh) 2019-01-22
CN109249386B (zh) 2022-01-11
JP2018183856A (ja) 2018-11-22

Similar Documents

Publication Publication Date Title
US9900688B2 (en) Beamforming audio with wearable device microphones
JP5429462B2 (ja) コミュニケーションロボット
JP6610609B2 (ja) 音声対話ロボットおよび音声対話システム
JP7119896B2 (ja) コミュニケーションロボットおよびコミュニケーションロボットの制御プログラム
JP5732632B2 (ja) ロボットシステムおよびそれに用いる空間陣形認識装置
JP5975947B2 (ja) ロボットを制御するためのプログラム、及びロボットシステム
CN109262606B (zh) 装置、方法、记录介质以及机器人
JP6565853B2 (ja) コミュニケーション装置
JP2009222969A (ja) 音声認識ロボットおよび音声認識ロボットの制御方法
JP2024023193A (ja) 情報処理装置及び情報処理方法
JP7102169B2 (ja) 装置、ロボット、方法、及びプログラム
JP5206151B2 (ja) 音声入力ロボット、遠隔会議支援システム、遠隔会議支援方法
JP2006088276A (ja) 動作生成システム
JP2008080431A (ja) ロボットシステム
JP5842245B2 (ja) コミュニケーションロボット
JP6845121B2 (ja) ロボットおよびロボット制御方法
JP4198676B2 (ja) ロボット装置、ロボット装置の移動追従方法、および、プログラム
JP5324956B2 (ja) 道案内ロボット
JP2006263858A (ja) コミュニケーションロボット
JP2001188551A (ja) 情報処理装置および方法、並びに記録媒体
JP6688457B2 (ja) 通話処理システム、通話処理装置、通話処理方法および通話処理プログラム
KR102613040B1 (ko) 영상 통화 방법 및 이를 구현하는 로봇
JP2006187825A (ja) ロボット装置およびその制御方法
JP2022060288A (ja) 制御装置、ロボット、制御方法およびプログラム
JP2017164854A (ja) ロボット及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190320

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191001

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191014

R151 Written notification of patent or utility model registration

Ref document number: 6610609

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151