(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】ロボットシミュレーション装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20241106BHJP
【FI】
B25J9/22 A
(21)【出願番号】P 2023550862
(86)(22)【出願日】2021-09-29
(86)【国際出願番号】 JP2021035972
(87)【国際公開番号】W WO2023053294
(87)【国際公開日】2023-04-06
【審査請求日】2024-04-05
(73)【特許権者】
【識別番号】390008235
【氏名又は名称】ファナック株式会社
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100112357
【氏名又は名称】廣瀬 繁樹
(74)【代理人】
【識別番号】100169856
【氏名又は名称】尾山 栄啓
(72)【発明者】
【氏名】木本 裕樹
【審査官】尾形 元
(56)【参考文献】
【文献】特開2005-316937(JP,A)
【文献】特開2013-25776(JP,A)
【文献】特開2004-178447(JP,A)
【文献】特開2017-217738(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00-21/02
G05B 19/18-19/416
G05B 19/42-19/46
(57)【特許請求の範囲】
【請求項1】
動作プログラムにしたがってロボットの動作シミュレーションを実行する動作シミュレーション実行部と、
実機ロボットの駆動音を録音することにより得られる駆動音データに基づいて、前記動作シミュレーションにおける前記ロボットの動作状態に応じた駆動音をシミュレートし生成する駆動音生成部と、
を備えるロボットシミュレーション装置。
【請求項2】
前記駆動音データは、前記動作状態に関する所定のパラメータと当該所定のパラメータに対応する前記ロボットの駆動音とを関連付けた構造を有する、請求項1に記載のロボットシミュレーション装置。
【請求項3】
前記実機ロボットから駆動音を録音して前記駆動音データを生成する録音部を更に備える、請求項2に記載のロボットシミュレーション装置。
【請求項4】
前記実機ロボットの駆動音は、前記実機ロボットの速度、加速度、姿勢、手首負荷の少なくともいずれかを変えながら収集されたものである、請求項3に記載のロボットシミュレーション装置。
【請求項5】
前記駆動音生成部は、
前記駆動音データに基づいて、前記所定のパラメータと、前記ロボットの駆動音との関係性を抽出する関係性抽出部と、
抽出された前記関係性に基づいて、前記動作シミュレーションにおける前記ロボットの動作状態を表す前記所定のパラメータに応じた前記駆動音をシミュレートする駆動音シミュレート部と、を備える、請求項2から4のいずれか一項に記載のロボットシミュレーション装置。
【請求項6】
前記関係性抽出部は、前記関係性を機械学習により学習し前記関係性を表す学習モデルを構築する学習部を備える、請求項5に記載のロボットシミュレーション装置。
【請求項7】
前記学習部は、前記関係性として、前記所定のパラメータと、前記ロボットの駆動音の周波数領域での特性を複数の周波数成分に分割して得られる各周波数成分毎の音圧との関係を学習して抽出する、請求項6に記載のロボットシミュレーション装置。
【請求項8】
前記ロボットは多軸ロボットであり、
前記駆動音データは、前記ロボットを構成する各軸毎に、前記所定のパラメータと当該所定のパラメータに対応する前記ロボットの駆動音とを関連付けた構造を有し、
前記関係性抽出部は、前記所定のパラメータと前記ロボットの駆動音との関係性を各軸毎に抽出し、
前記駆動音シミュレート部は、前記関係性に基づいて、前記動作シミュレーション中の前記ロボットの前記動作状態を表す前記所定のパラメータに応じた前記ロボットの各軸毎の駆動音を生成し、当該生成された各軸毎の駆動音を合成する、請求項5から7のいずれか一項に記載のロボットシミュレーション装置。
【請求項9】
前記所定のパラメータは、モータのトルク、前記モータの回転速度、減速機のトルク、前記減速機の回転速度の少なくともいずれかを含む、請求項8に記載のロボットシミュレーション装置。
【請求項10】
前記ロボットは多軸ロボットであり、
前記所定のパラメータは、モータに関する第1の所定のパラメータと、減速機に関する第2の所定のパラメータとを含み、
前記駆動音データは、前記ロボットを構成する各軸毎に、前記第1の所定のパラメータと当該第1の所定のパラメータに対応する前記モータ単体の駆動音とを関連付けると共に、前記第2の所定のパラメータと当該第2の所定のパラメータに対応する前記減速機単体の駆動音とを関連付けた構造を有し、
前記関係性抽出部は、前記第1の所定のパラメータと前記モータ単体の駆動音との間の第1の関係性を抽出すると共に、前記第2の所定のパラメータと前記減速機単体の駆動音との間の第2の関係性を抽出し、
前記駆動音シミュレート部は、前記第1の関係性及び前記第2の関係性に基づいて、前記動作シミュレーション中の前記ロボットの前記動作状態を表す前記第1の所定のパラメータ及び前記第2の所定のパラメータにそれぞれ対応する前記モータ単体の駆動音及び前記減速機単体の駆動音を各軸について生成し、当該生成された各軸についての前記モータ単体の駆動音及び前記減速機単体の駆動音を合成する、請求項5から7のいずれか一項に記載のロボットシミュレーション装置。
【請求項11】
前記第1の所定のパラメータは、前記モータのトルク及び回転速度の少なくともいずれかを含み、
前記第2の所定のパラメータは、前記減速機のトルク及び回転速度の少なくともいずれかを含む、請求項10に記載のロボットシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットシミュレーション装置に関する。
【背景技術】
【0002】
ロボットや機械装置の動作をシミュレーションするためのシミュレーション装置として様々なタイプの装置が用いられている。
【0003】
例えば、特許文献1は、プラントや機械装置の現象理解、運転教育等に適用される教育装置に関し、「第3のメモリ6は、
図2(C)に示すようにプラントや機械装置を構成する機械、弁、配管等の外形図、部品図、色、各種運転状態における動作音等のデータや、配管図等を格納するメモリで、画像・動作音生成装置5により学習者の指定した位置、方向から見たプラントや機械装置の画像とその運転状態における動作音を生成するために使用される。動作音とは、例えば、ポンプやモータ等の回転機器においては回転により生ずる機器の音であり、配管等では内部を水、蒸気などが流れることにより生ずる音である。」ことを記載する(段落0011)。
【0004】
特許文献2は、「ロボット11がマニピュレータ21と、マニピュレータ21の先端に取り付けられたハンド22と、ハンド22に付されたマイク23を備える」こと(段落0018)、「マイク23は、ハンド22による作業に関する音(音波)を入力することが容易な箇所の一例として、ハンド22に取り付けられている」こと(段落0020)、及び、「本実施形態に係るロボットシステム1では、例えば、音情報をフーリエ変換して周波数解析する処理を行わず、音の大きさに基づいてロボットを制御することにより、処理時間や処理負荷を小さくすることが可能である」こと(段落0034)を記載する。
【0005】
特許文献3は、教示用電動切削工具に関し、「被加工物11Tの近くには、砥石12Tで切削研磨中の切削音を検出するマイクロフォン22が配置され、その検出音が信号ライン23を介して記録装置20に入力される。記録装置20は、砥石12Tの回転数Rを基に、信号ライン23から送られる切削音の高低から、切削加工中の砥石周速度と力センサ13の接触圧に対応する音声周波数を記憶する。」こと(段落0023)、「記録装置20には、熟練作業者Mが、教示用電動切削工具10Tで被加工物11Tを加工したときの作業時間から作業完了まで、上述した教示用電動切削工具10Tの作業教示動作等が記憶され、これを作業教示データとする。」こと(段落0024)、及び、「砥石12Rは研磨により摩耗し、その周速度も変化するため、作業教示データ24で記憶した音声周波数データを基に、その砥石12Rの回転数の調整も行えること。」を記載する(段落0032)。
【先行技術文献】
【特許文献】
【0006】
【文献】特開平11-133848号公報
【文献】特開2016-5856号公報
【文献】特開2017-217738号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところで、ロボットの教示を行うためのシミュレーション装置に関しては、教示したプログラムにおけるロボットの動作の良し悪しを判断することが必要になる。このような場面では、一般に、ロボットの動作や軌跡を目視判断したり、各軸の移動量や、モータの速度、加速度、加加速度、トルク、電流、及び温度等の情報を可視化し目視確認することにより行われる。このような動作確認の場面において、ロボットが6軸ロボットのように多軸ロボットであるとすると、様々なデータを6軸分確認する必要があり、確認作業に時間がかかり、また、作業者にとって負担が大きい。
【課題を解決するための手段】
【0008】
本開示の一態様は、動作プログラムにしたがってロボットの動作シミュレーションを実行する動作シミュレーション実行部と、実機ロボットの駆動音を録音することにより得られる駆動音データに基づいて、前記動作シミュレーションにおける前記ロボットの動作状態に応じた駆動音をシミュレートし生成する駆動音生成部と、を備えるロボットシミュレーション装置である。
【発明の効果】
【0009】
実機ロボットの教示に慣れた作業者は、ロボットの動作状態に応じた駆動音を聞くことでロボットの動作状態の良し悪しを判断することができる。したがって、上記構成によれば、教示したプログラムによるロボットの動作の良し悪しを判断する場面における確認作業に要する時間が大きく軽減され、また、作業者の負担が軽減される。
【0010】
添付図面に示される本発明の典型的な実施形態の詳細な説明から、本発明のこれらの目的、特徴および利点ならびに他の目的、特徴および利点がさらに明確になるであろう。
【図面の簡単な説明】
【0011】
【
図1】ロボットシミュレーション装置によるシミュレーションの対象となる実機のロボットの斜視図を示すと共に、ロボット制御装置及びロボットシミュレーション装置を含むシステム構成を示す図である。
【
図2】ロボットシミュレーション装置のハードウェア構成例を示す図である。
【
図3】ロボットシミュレーション装置の機能ブロック図である。
【
図4】ロボットの動作シミュレーション時における駆動音生成処理を表す基本フローチャートである。
【
図5】ロボットシミュレーション装置の表示部に表示される、ロボットの動作シミュレーションの1シーンを表す図である。
【
図6】駆動音生成部の構成例を表す機能ブロック図である。
【
図8】駆動音生成部の構成として、
図6に示した構成を採用した場合における、駆動音生成処理を表すフローチャートである。
【
図9A】ロボットのある軸における駆動音と当該軸のモータ単体の駆動音の例を表グラフである。
【
図9B】減速機単体の駆動音の例を表すグラフである。
【発明を実施するための形態】
【0012】
次に、本開示の実施形態について図面を参照して説明する。参照する図面において、同様の構成部分または機能部分には同様の参照符号が付けられている。理解を容易にするために、これらの図面は縮尺を適宜変更している。また、図面に示される形態は本発明を実施するための一つの例であり、本発明は図示された形態に限定されるものではない。
【0013】
以下、一実施形態に係るロボットシミュレーション装置50(
図1から
図3参照)について説明する。
図1に、ロボットシミュレーション装置50によるシミュレーションの対象となる実機のロボット1の斜視図を示すと共に、ロボット制御装置70及びロボットシミュレーション装置50を含むシステム構成を示す。ここでは例示として、ロボット1は、6軸多関節ロボットであるとしている。シミュレーションの対象として他のタイプのロボットが用いられても良い。ロボット1は、ロボット制御装置70により制御される。ロボットシミュレーション装置50は、ロボット制御装置70に例えばネットワークを介して接続される。この構成において、ロボット制御装置70は、ロボットシミュレーション装置50から送信されてくる動作プログラムに従ってロボット1を制御することができる。
【0014】
以下で詳細に説明するように、ロボットシミュレーション装置50は、ロボット1の動作シミュレーションを行うと共に、更に、ロボット1の駆動音をシミュレートする(模擬的に生成する)機能を有する。また、
図1に示したように、ロボットシミュレーション装置50は、マイク61を介してロボット1の駆動音を収集する機能を有する。
【0015】
ここで、ロボット1の構成を説明する。ロボット1は、アーム12a、12b、手首部16、および複数の関節部13を含む多軸ロボットである。ロボット1の手首部16には、エンドエフェクタとしての作業ツール17が取り付けられている。ロボット1は、それぞれの関節部13に、駆動部材を駆動するモータ14を含む。各関節部13におけるモータ14を位置指令に基づき駆動することにより、アーム12a、12bおよび手首部16を所望の位置・姿勢にすることができる。また、ロボット1は、設置面20に固定されているベース部19と、ベース部19に対して旋回する旋回部11とを備える。
図1において6つの軸(J1軸、J2軸、J3軸、J4軸、J5軸、J6軸)の回転方向を、それぞれ矢印91、92、93、94、95、96により示している。
【0016】
図1においてロボット1の手首部16に取り付けられた作業ツール17は、スポット溶接を行うための溶接ガンであるが、これに限られず、作業ツールとしては作業内容に応じて様々なツールを取り付けることができる。
【0017】
図2は、ロボットシミュレーション装置50のハードウェア構成例を示す図である。
図2に示すように、ロボットシミュレーション装置50は、プロセッサ51に対して、メモリ52(ROM、RAM、不揮発性メモリ等)、表示部53、キーボード(或いはソフトウェアキー)等の入力装置により構成される操作部54、記憶装置55(HDD等)、入出力インタフェース56、音声入出力インタフェース57等がバスを介して接続された、一般的なコンピュータとしての構成を有していても良い。音声入出力インタフェース57には、マイク61及びスピーカ62が接続されている。音声入出力インタフェース57は、マイク61を介して音声データを取り込む機能、音声データ処理を行う機能、及びスピーカ62を介して音声データを出力する機能を有する。ロボットシミュレーション装置50として、パーソナルコンピュータ、ノートブック型コンピュータ、タブレット端末、その他各種の情報処理装置を用いることができる。
【0018】
図3は、ロボットシミュレーション装置50の機能ブロック図である。
図3に示すように、ロボットシミュレーション装置50は、動作シミュレーション実行部151と、録音部152と、駆動音生成部153とを有する。
【0019】
動作シミュレーション実行部151は、動作プログラム170に従ってロボット1を模擬的に動作させる動作シミュレーションを実行する。ロボット1が模擬的に動作する状態は、例えば表示部53に表示される。
【0020】
録音部152は、マイク61を介して入力される音声信号を処理し、音声データとして記録する機能を有する。マイク61及び録音部152は、実際にロボット1を駆動した場合の各軸毎の駆動音を録音して記録するために用いられる。駆動音の録音の詳細については後述する。
【0021】
駆動音生成部153は、動作シミュレーション実行部151によりロボット1の動作シミュレーションが実行される場合に、ロボット1の動作状態に応じた駆動音をシミュレートし生成する。生成された駆動音は、スピーカ62を介して出力される。
【0022】
ここで、録音部152を介した、実機のロボット1の駆動音の収集例について説明する。ここでは、ロボット1の駆動音の主な要因は、各軸のモータと減速機であると仮定し、駆動音がモータのトルク及び回転速度、及び、減速機のトルク及び回転速度に依存すると考える。
【0023】
駆動音の収集は、例えば、各軸毎に動かす動作プログラムを用意し、その動作プログラムの速度(或いは最高速度)の指定や、加速度の指定を変更しつつ、各軸毎の駆動音を、その際のモータのトルクと回転速度、減速機のトルクと回転速度と共に記録することで行う。例えば、J1軸に関しては、J1軸のみを各種の速度等で駆動する動作プログラムによりJ1軸を駆動し駆動音を収集する。収集する駆動音のデータ量を増やすために、ロボットの姿勢、手首負荷等を変えながら動作プログラムを実行し駆動音を収集するようにしても良い。また、ロボット1の駆動音を収取する際には、当該駆動音を録音する際のロボット1の動作状態を表すパラメータ(例えば、各軸についての、モータのトルク及び回転速度、及び、減速機のトルク及び回転速度)をロボット制御装置70から取得するようにする。このような動作は、ロボットシミュレーション装置50とロボット制御装置70とが連携して動作することにより実現できる。一例として、この場合のロボット1の指令の生成を録音部152で行い、生成された指令をロボット制御装置70に送りロボット1を駆動する構成としても良い。
【0024】
以上により、各軸毎に、モータのトルク、モータの回転速度、減速機のトルク、減速機の回転速度をパラメータとして変化させた場合のロボット1の駆動音をデータベース化することができる。このようにして収集された駆動音データを以下、駆動音データベース160とも記載する。
【0025】
図4は、ロボットシミュレーション装置50により実行される、ロボット1の動作シミュレーション時における駆動音生成処理を表す基本フローチャートである。所定のユーザ操作に応じて、動作シミュレーション実行部151が、動作プログラムに従ってロボット1の動作シミュレーションを開始したとする。すると、駆動音生成部153は、動作シミュレーション実行部151から、動作シミュレーション中のロボット1の動作状態を取得し、当該動作状態に応じた駆動音をシミュレートし生成する(ステップS1)。
【0026】
より詳細には、駆動音生成部153は、動作シミュレーション実行部151から、動作シミュレーション中のロボット1の各軸について、モータのトルク及び回転速度、及び、減速機のトルク及び回転速度をパラメータとして取得し、駆動音データベース160から当該パラメータに整合する駆動音を各軸について取得する。そして、駆動音生成部153は、各軸について取得された駆動音を合成してロボット1の駆動音を生成する。
【0027】
以上の動作により、一例として
図5に示されるような、ロボット1(ロボットモデル1M)の動作シミュレーションの1シーンに対応する駆動音が、ロボット1(ロボットモデル1M)のシミュレーション動作と共に出力されることとなる。実機ロボットの教示に慣れた作業者は、ロボットの動作状態に応じた駆動音を聞くことでロボットの動作状態の良し悪しを判断することができる。したがって、上記構成によれば、教示したプログラムによるロボットの動作の良し悪しを判断する場面における確認作業に要する時間が大きく軽減され、また、作業者の負担が軽減される。
【0028】
なお、ロボット1の駆動音を再生するタイミングに関しては、ロボット1の動作シミュレーション中の動きと同期させるやり方の他、ロボット1の動きを提示した後にその動きに対応する駆動音を再生するといったやり方も有り得る。
【0029】
以下、駆動音生成部153の具体的な構成例について説明する。
図6は、例示としての、駆動音生成部153の構成例を表す機能ブロック図である。本例における駆動音生成部153は、ロボット1の動作状態を表すパラメータと駆動音との関係性を抽出し、抽出された関係性を基に、動作シミュレーションにおけるロボット1の動作状態から駆動音を生成するように構成される。
【0030】
図6に示すように、駆動音生成部153は、関係性抽出部154と、駆動音シミュレート部155とを有する。
【0031】
関係性抽出部154は、ロボット1の動作状態と、駆動音データベース160に記憶された駆動音データとの関係性を抽出し保持する機能を有する。例示として、関係性抽出部154は、ロボット1の動作状態と駆動音との関係性を学習し学習モデルを構築する学習部156を備えていても良い。
【0032】
駆動音シミュレート部155は、関係性抽出部154が保持している関係性、駆動音データベース160、及び、動作シミュレーション実行部151から取得されるロボット1の各軸毎の動作状態に基づいて、ロボット1の動作状態に応じた駆動音をシミュレートし生成する。生成されたロボット1の駆動音は、スピーカ62を介して出力される。
【0033】
上述したように、録音部152により、各軸毎に、所定のパラメータ(モータのトルク、モータの回転速度、減速機のトルク、減速機の回転速度)と駆動音とを対応付けた駆動音データベース160が準備されているものとする。関係性抽出部154は、この所定のパラメータ(モータのトルク及び回転速度、及び、減速機のトルク及び回転速度)と、ロボット1の駆動音との関係性を導く。
【0034】
これらパラメータと駆動音との関係性を求める手法としては、各種手法が有り得るが、ここでは機械学習により関係性を求める手法を記載する。本実施形態では、関係性抽出部154の学習部156が、機械学習により、各軸について、モータのトルク、モータの回転速度、減速機のトルク、及び減速機の回転速度を含むパラメータと駆動音との関係を学習し学習モデルを構築する。
【0035】
機械学習の手法は様々であるが、大別すれば、例えば、「教師あり学習」、「教師なし学習」および「強化学習」に分けられる。さらに、これらの手法を実現するうえで、「深層学習(ディープラーニング: Deep Learning)」と呼ばれる手法を用いることもできる。本実施形態では、学習部156による機械学習に「教師あり学習」を適用する。
【0036】
学習部156の具体的な構成及び学習手法について説明する。
図7に示すように、学習部156はニューラルネットワーク300を有する。このニューラルネットワーク300に、入力データ(入力パラメータ)と出力データとからなる教師データを適用して学習モデルを構築させる。学習を行う工程では、ニューラルネットワーク300の各ニューロンに適用される重みづけを誤差逆伝播法により学習する。
【0037】
上述の駆動音の収集により、所定のパラメータ(モータのトルク、モータの回転速度、減速機のトルク、及び減速機の回転速度)と駆動音とが対応付けられている。ここで、駆動音については、周波数解析することにより、音声周波数帯域を所定数に分割した各周波数成分毎の音圧レベルのデータとしておく。
図7には一つのニューラルネットワーク300を示しているが、ニューラルネットワーク300を各軸毎に用意し、各軸についての駆動音を各々のニューラルネットワーク300で学習するようにしても良い。
【0038】
入力データを所定のパラメータ(上記例では、モータのトルク、モータの回転速度、減速機のトルク、及び減速機の回転速度)とし、出力データを各周波数成分毎の音圧レベルとする教師データを複数準備し、ニューラルネットワーク300をトレーニングする。これにより、入力データを所定のパラメータとし、出力データを各周波数成分毎の音圧レベルとする学習モデルが構築される。
【0039】
学習モデルが構築されれば、駆動音シミュレート部155は、ロボット1のシミュレーション動作中に、ロボット1の動作状態として所定のパラメータ(上記例では、各軸について、モータのトルク、モータの回転速度、減速機のトルク、及び減速機の回転速度)を取得し、これを学習済みのニューラルネットワーク300に入力する。これにより、ニューラルネットワーク300からは、ロボット1の動作状態に対応する駆動音の各周波数成分毎の音圧レベルが出力される。そして、ロボット1の全ての軸について、当該軸の動作状態に対応する各周波数成分毎の音圧レベルを得るようにする。ここで得られた各軸についての、各周波数成分毎の音圧レベルを合成することで、上記動作状態に対応するロボット1の駆動音を得る。
【0040】
合成された駆動音は、スピーカ62を介して出力される。これにより、シミュレーション動作中におけるロボット1の各軸毎のモータのトルク及び回転速度、及び、減速機のトルク及び回転速度に対応するロボット1全体の駆動音が出力されることになる。
【0041】
図8は、駆動音生成部153の構成として、
図6に示した構成を採用した場合における、ロボット1の駆動音生成処理を表すフローチャートである。ステップS11においては、上述したように、実機のロボット1用いて、ロボット1の動作速度、加速度、ロボット1の姿勢、手首部負荷等を適宜変えながら、ロボット1の各軸毎の駆動音を録音する。そして、上述したように、関係性抽出部154により、録音された駆動音(駆動音データベース160)を用いて、所定のパラメータ(モータのトルク、モータの回転速度、減速機のトルク、減速機の回転速度)と駆動音との関係性を各軸毎に求める。
【0042】
次にステップS12では、次のような処理が行われる。所定の操作に応じて、動作シミュレーション実行部151が、動作プログラムに従ってロボット1の動作シミュレーションを開始する。このとき、駆動音シミュレート部155は、動作シミュレーション実行部151から、現在の動作シミュレーションにおけるロボット1の各軸についての、モータのトルク、モータの回転速度、減速機のトルク、減速機の回転速度を動作状態として取得し、学習部156(学習モデル)に当該パラメータを入力することで、各軸について、当該パラメータに対応する駆動音(各周波数成分毎の音圧レベル)を得る。駆動音シミュレート部は、各軸について得られた、各周波数成分毎の音圧レベルを合成し、ロボット1の駆動音を生成する。生成された駆動音は、スピーカ62から出力される。
【0043】
ここで、駆動音データベースに関する他のデータ構造例について説明する。上述の例においては、駆動音データベース160は、ロボット1の各軸について、モータのトルク及び回転速度、及び、減速機のトルク及び回転速度からなるパラメータと駆動音とを対応付けたデータとして構成されていた。ここでは、ロボット1の各軸についてモータ単体でのトルクと回転速度による駆動音と、減速機単体でのトルクと回転速度による駆動音とを別々のデータとしてデータベース化する例について説明する。
【0044】
はじめに、実機のロボット1を駆動して駆動音データベース160を準備する。そして、更に、モータのトルク及び回転速度を変化させた場合のモータ単体の駆動音を、別途測定しデータベース化する。この測定には、モータ単体を使用し、モータ単体以外の音が混入しないような録音環境を用いて測定することが望ましい。そして、駆動音データベース160として準備されている各軸についての駆動音から、その軸のモータ単体の駆動音を差し引くことで、減速機単体についての駆動音を各軸について抽出するようにする。
【0045】
各軸の駆動音から、モータ単体としての駆動音を差し引く演算は、例えば、次のように行う。まず、実機のロボット1のある軸を動作させた場合の駆動音(すなわち、モータ駆動音と減速機駆動音とが含まれる駆動音)をフーリエ変換等の手法を用いて周波数解析し、周波数領域のデータを得る。
図9Aの実線のグラフ201は、当該軸の駆動音の周波数領域でのデータ(周波数特性)をグラフ化した例である。次に、当該軸を構成するモータ単体での駆動音を周波数解析し、周波数領域のデータを得る。
図9Aの破線のグラフ202は、このモータ単体の駆動音の周波数領域でのデータ(周波数特性)をグラフ化した例である。
【0046】
グラフ201を表す駆動音データからグラフ202を表す駆動音データを減算することで、一例として
図9Bに示すようなグラフ203を得る。グラフ203は、当該軸についての減速機単体の駆動音の周波数領域でのデータ(周波数特性)である。例えば、グラフ203の周波数領域のデータに対し逆フーリエ変換を適用し、当該軸を構成する減速機単体の時間領域での駆動音データを得ることができる。
【0047】
以上により、モータのトルク及び回転速度をパラメータとして変化させた場合のモータ単体の駆動音、減速機のトルク及び回転速度をパラメータとして変化させた場合の減速機単体の駆動音をそれぞれデータベース化することができる。このようなデータベースを構築した場合、関係性抽出部154は、モータのトルク及び回転速度とモータ単体の駆動音との関係性(第1の関係性)、及び、減速機のトルク及び回転速度と減速機単体の駆動音との関係性(第2の関係性)の各々を求める。具体的には、この場合、学習部156は、モータ単体の駆動音、減速機単体の駆動音についてそれぞれ学習するための2つのニューラルネットワーク310、320を有する構成とする。なお、
図10には説明の便宜のための2つのニューラルネットワークを示すが、この2つのニューラルネットワークのセットを各軸について準備する。
【0048】
ニューラルネットワーク310については、モータのトルク及び回転速度を入力データとし、当該トルク及び回転速度におけるモータ単体の駆動音の各周波数成分における音圧を出力データとする教師データを複数準備し、学習を行わせる。これにより、ニューラルネットワーク310は、モータのトルク及び回転速度とモータ単体の駆動音との関係性を表す学習モデルを構築する。ニューラルネットワーク320については、減速機のトルク及び回転速度を入力データとし、当該トルク及び回転速度における減速機単体の駆動音の各周波数成分における音圧を出力データとする教師データを複数準備し、学習を行わせる。これにより、ニューラルネットワーク310は、減速機のトルク及び回転速度と減速機単体の駆動音との関係性を表す学習モデルを構築する。
【0049】
ロボット1の動作シミュレーションの実行中、駆動音シミュレート部155は、上記のように取得されたデータベースからロボット1の動作状態、すなわち、モータのトルク及び回転速度、及び、減速機のトルク及び回転速度と、これらのパラメータに対応するモータ単体の駆動音及び減速機単体の駆動音を取得する。そして、駆動音シミュレート部155は、取得したモータのトルク及び回転速度をニューラルネットワーク310に入力することで、当該トルク及び回転速度に対応するモータ単体の駆動音の各周波数成分毎の音圧レベルを取得する。また、駆動音シミュレート部155は、このようなモータ単体について駆動音の生成を各軸について実行する。また、駆動音シミュレート部155は、取得した減速機のトルク及び回転速度をニューラルネットワーク320に入力することで、当該トルク及び回転速度に対応する減速機単体の駆動音の各周波数成分毎の音圧レベルを取得する。また、駆動音シミュレート部155は、このような減速機単体について駆動音の生成を各軸について実行する。
【0050】
そして、駆動音シミュレート部155は、モータのトルク及び回転速度に対応するものとして得られた各周波数成分毎の音圧を、全ての軸に関して合成することで、モータに関するロボット1の駆動音を得る。また、駆動音シミュレート部155は、減速機のトルク及び回転速度に対応するものとして得られた各周波数成分毎の音圧を、全ての軸に関して合成することで、減速機に関するロボット1の駆動音を得る。さらに、駆動音シミュレート部155は、以上のように得られたモータの駆動音、及び減速機の駆動音を合成して、ロボット1全体としての駆動音を生成する。
【0051】
このように、モータ単体と減速機単体とに分けて動作状態を表すパラメータと駆動音の関係性を導く構成とすることで、より正確な関係性を導くことが可能となり、ロボット1全体としての駆動音の再現性を高めることが可能となると考えることができる。
【0052】
以上説明した実施形態によれば、ロボットの動作状態に応じた駆動音を生成することが可能となり、実機ロボットの教示に慣れた作業者が教示したプログラムによるロボットの動作の良し悪しを判断する場面における確認作業に要する時間が大きく軽減され、また、作業者の負担が軽減される。
【0053】
以上、典型的な実施形態を用いて本発明を説明したが、当業者であれば、本発明の範囲から逸脱することなしに、上述の各実施形態に変更及び種々の他の変更、省略、追加を行うことができるのを理解できるであろう。
【0054】
上述の実施形態では、駆動音生成部153の具体的な構成例の一つとして、関係性抽出部154を用いる場合の構成について説明したが、関係性抽出部154を用いない構成とする場合には、駆動音生成部153を次のような構成としても良い。すなわち、駆動音生成部153は、動作シミュレーション中のロボット1の動作状態を表すパラメータ(モータのトルク及び回転速度、及び、減速機のトルク及び回転速度)に正確に一致する駆動音が駆動音データベース160に存在する場合には駆動音データベース160から得られる駆動音を使用し、当該パラメータに正確に一致する駆動音が駆動音データベース160に存在しない場合には、当該パラメータに近いパラメータの駆動音を取得するように構成されていても良い。
【0055】
図1、
図3、
図6等に示したシステム構成例は例示であり、システム構成は様々に変形することができる。例えば、駆動音の録音は、ロボットシミュレーション装置とは別体の録音装置を用いて行っても良い。この場合、ロボットシミュレーション装置は、当該録音装置から駆動音或いは駆動音データベースを受け取る構成とすることができる。
【0056】
実機ロボットの駆動音を収集する際には、ロボットの速度、加速度、姿勢、手首負荷の少なくともいずれか一つを変えながら収集するようにしても良い。
【0057】
ロボットの動作状態を表すパラメータとして、モータのトルク、前記モータの回転速度、減速機のトルク、前記減速機の回転速度の少なくともいずれかを用いるようにしても良い。また、これ以外のパラメータを更に用いるようにしても良い。
【0058】
なお、ロボット制御装置70は、CPU、ROM、RAM、記憶装置、操作部、表示部、入出力インタフェース、ネットワークインタフェース等を有する一般的なコンピュータとしての構成を有していても良い。
【0059】
図3、
図6に示したロボットシミュレーション装置の機能ブロックは、ロボットシミュレーション装置のプロセッサが、記憶装置に格納された各種ソフトウェアを実行することで実現されても良く、或いは、ASIC(Application Specific Integrated Circuit)等のハードウェアを主体とした構成により実現されても良い。
【0060】
上述した実施形態における駆動音生成処理等の各種の処理を実行するプログラムは、コンピュータに読み取り可能な各種記録媒体(例えば、ROM、EEPROM、フラッシュメモリ等の半導体メモリ、磁気記録媒体、CD-ROM、DVD-ROM等の光ディスク)に記録することができる。
【符号の説明】
【0061】
1 ロボット
11 旋回部
12a、12b アーム
13 関節部
14 モータ
16 手首部
17 作業ツール
19 ベース部
20 設置面
50 ロボットシミュレーション装置
51 プロセッサ
52 メモリ
53 表示部
54 操作部
55 記憶装置
56 入出力インタフェース
57 音声入出力インタフェース
61 マイク
62 スピーカ
70 ロボット制御装置
151 動作シミュレーション実行部
152 録音部
153 駆動音生成部
154 関係性抽出部
155 駆動音シミュレート部
156 学習部
160 駆動音データベース
170 動作プログラム
300、310、320 ニューラルネットワーク