IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社安川電機の特許一覧

特許7276359動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法
<>
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図1
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図2
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図3
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図4
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図5
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図6
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図7
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図8
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図9
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図10
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図11
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図12
  • 特許-動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-10
(45)【発行日】2023-05-18
(54)【発明の名称】動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法
(51)【国際特許分類】
   B25J 13/00 20060101AFI20230511BHJP
【FI】
B25J13/00 Z
【請求項の数】 14
(21)【出願番号】P 2021001712
(22)【出願日】2021-01-07
(65)【公開番号】P2022106598
(43)【公開日】2022-07-20
【審査請求日】2021-11-24
(73)【特許権者】
【識別番号】000006622
【氏名又は名称】株式会社安川電機
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】上塩 具宏
(72)【発明者】
【氏名】吉浦 泰史
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2012-194664(JP,A)
【文献】特開2002-132317(JP,A)
【文献】特開2011-192018(JP,A)
【文献】特開2012-083982(JP,A)
【文献】特開2019-155501(JP,A)
【文献】特開2020-082285(JP,A)
【文献】米国特許出願公開第2010/0008754(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-13/00
G05B 19/05-19/416
(57)【特許請求の範囲】
【請求項1】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、
前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、
を有し、
前記動作指令生成部は、複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する、
動作指令生成装置。
【請求項2】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、
前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、
を有し、
前記移動曲線は、始点、終点及び曲線形状を指定することにより得られる単位移動曲線を含み、
少なくとも前記始点及び前記終点のいずれかは、外部入力に基づくオフセットが可能である、
作指令生成装置。
【請求項3】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、
前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、
を有し、
前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である、
作指令生成装置。
【請求項4】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、
前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、
前記実機構の物理モデル情報を保持する物理モデル情報保持部と、
前記物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出する負荷変動算出部と、
を有する動作指令生成装置。
【請求項5】
前記負荷変動に基づいて、電動機の選定の可否を示す電動機選定情報を出力する電動機選定情報出力部をさらに有する、
請求項に記載の動作指令生成装置。
【請求項6】
前記負荷変動算出部は、さらに、外力を示す情報に基づいて、前記電動機の負荷変動を算出する、
請求項又はに記載の動作指令生成装置。
【請求項7】
前記移動曲線は所定の周期により繰り返される繰り返し曲線である、
請求項1~のいずれか1項に記載の動作指令生成装置。
【請求項8】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、
前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、
を有する動作指令生成装置と、
前記動作指令を実行して前記実機構を制御する機構制御部と、
前記実機構の制御の実行速度及び向きを変更可能である実行速度可変部と、
を有する機構制御システム。
【請求項9】
コンピュータを、
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、
前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、
を有し、
前記動作指令生成部は、複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する、
動作指令生成装置として機能させるためのコンピュータプログラム。
【請求項10】
コンピュータを、
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、
前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、
前記実機構の物理モデル情報を保持する物理モデル情報保持部と、
前記物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出する負荷変動算出部と、
を有し、
前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である、
動作指令生成装置として機能させるためのコンピュータプログラム。
【請求項11】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、
前記移動曲線に基づいて実機構の動作指令を生成する、
動作指令生成方法であって、
複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する、
動作指令生成方法。
【請求項12】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、
前記移動曲線に基づいて実機構の動作指令を生成し、
前記実機構の物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出する、
動作指令生成方法であって、
前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である、
動作指令生成方法。
【請求項13】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、
前記移動曲線に基づいて実機構の動作指令を生成し、
前記動作指令を前記実機構に出力する、
機構制御方法であって、
複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する、
機構制御方法。
【請求項14】
仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、
前記移動曲線に基づいて実機構の動作指令を生成し、
前記実機構の物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出し、
前記動作指令を前記実機構に出力する、
機構制御方法であって、
前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である、
機構制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法に関する。
【背景技術】
【0002】
特許文献1には、搬送装置におけるモータ制御装置において、複数種類のカム曲線テーブルが設けられたカム曲線メモリから、1の選択したカム曲線テーブルを参照しながら、インタプリタから与えられたストロークと移動時間を満足する指令値を算出するものが記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平5-90386号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
汎用の産業用ロボットはその動作自由度が高く、各種の自動機械に幅広く応用ができるため広く使用されている。一方で、その動作自由度が高いことは、産業用ロボットを特定の用途に使用するためプログラミングをする際に、産業用ロボット固有の専門的知識を必要とすることを意味している。
【0005】
ところで、世間に多く用いられている自動機械は、必ずしもその全てが汎用の産業用ロボットにより実現されているわけではなく、固有の機械機構、例えばカム機構やリンク機構などを用いて実現されているものも数多く存在する。こうした自動機械の老朽化等に伴う更新にあたって、産業用ロボットを導入することには、機器の共通化による保守の容易化や、動作パターンの柔軟な変更を可能とすることによる多品種少量生産への対応など、多くのメリットをもたらすと考えられる。
【0006】
ところが、固有の機械機構により実現されている動作は、固有の機械機構に即して記述されているため、直ちに産業用ロボットに移植することができず、また産業用ロボットの専門的知識を要する技術者を要するため、これまで固有の機械機構により実現されてきた自動制御の資産を有効に活用することができないという問題が存在する。
【0007】
この問題は、汎用の産業用ロボットについてのみ生じるものではなく、ある固有の機構に基づいて記述された自動制御の資産を他の機構において実現しようとする際には等しく生じるものと考えられる。
【0008】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、ある固有の機構に基づいて記述された自動制御を他の機構において容易に実現することである。
【課題を解決するための手段】
【0009】
上記課題を解決すべく本出願において開示される発明は種々の側面を有しており、それら側面の代表的なものの概要は以下のとおりである。
【0010】
本発明の一の側面に係る動作指令生成装置は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、を有し、前記動作指令生成部は、複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する
【0011】
本発明の別の一の側面に係る動作指令生成装置は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、を有し、前記移動曲線は、始点、終点及び曲線形状を指定することにより得られる単位移動曲線を含み、少なくとも前記始点及び前記終点のいずれかは、外部入力に基づくオフセットが可能である
【0012】
本発明の別の一の側面に係る動作指令生成装置は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、を有し、前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である
【0013】
本発明の別の一の側面に係る動作指令生成装置は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、前記実機構の物理モデル情報を保持する物理モデル情報保持部と、前記物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出する負荷変動算出部と、を有する
【0014】
本発明の別の一の側面に係る動作指令生成装置は、さらに、前記負荷変動に基づいて、電動機の選定の可否を示す電動機選定情報を出力する電動機選定情報出力部をさらに有するものであってよい。
【0015】
本発明の別の一の側面に係る動作指令生成装置は、さらに、前記負荷変動算出部は、さらに、外力を示す情報に基づいて、前記電動機の負荷変動を算出するものであってよい。
【0016】
本発明の別の一の側面に係る動作指令生成装置は、さらに、前記移動曲線は所定の周期により繰り返される繰り返し曲線であってよい。
【0017】
本発明の一の側面に係る機構制御システムは、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、を有する動作指令生成装置と、前記動作指令を実行して前記実機構を制御する機構制御部と、前記実機構の制御の実行速度及び向きを変更可能である実行速度可変部と、を有する。
【0018】
本発明の一の側面に係るコンピュータプログラムは、コンピュータを、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、を有し、前記動作指令生成部は、複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する、動作指令生成装置として機能させる。
【0019】
本発明の別の一の側面に係るコンピュータプログラムは、コンピュータを、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定する移動曲線指定部と、前記移動曲線に基づいて実機構の動作指令を生成する動作指令生成部と、前記実機構の物理モデル情報を保持する物理モデル情報保持部と、前記物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出する負荷変動算出部と、を有し、前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である、動作指令生成装置として機能させる。
【0020】
本発明の一の側面に係る動作指令生成方法は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、前記移動曲線に基づいて実機構の動作指令を生成する、動作指令生成方法であって、複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する。
【0021】
本発明の別の一の側面に係る動作指令生成方法は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、前記移動曲線に基づいて実機構の動作指令を生成し、前記実機構の物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出する、動作指令生成方法であって、前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である。
【0022】
本発明の一の側面に係る機構制御方法は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、前記移動曲線に基づいて実機構の動作指令を生成し、
前記動作指令を前記実機構に出力する、機構制御方法であって、複数の前記機構要素についての移動曲線と、複数の前記機構要素間の機械的関係より得られる、前記仮想機構の動作に基づく逆キネマティクス演算を用いて、前記動作指令を生成する。
【0023】
本発明の別の一の側面に係る機構制御方法は、仮想機構に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定し、前記移動曲線に基づいて実機構の動作指令を生成し、前記実機構の物理モデル情報に基づいて、前記実機構に含まれる電動機の負荷変動を算出し、前記動作指令を前記実機構に出力する、機構制御方法であって、前記動作指令は、外部入力に基づいて、その実行及び停止を切り替え可能である。
【図面の簡単な説明】
【0024】
図1】本発明の好適な実施形態に係る機構制御システムと、機構制御システムにより制御される実機構を例示する概念図である。
図2】動作指令生成装置のハードウェア構成の一例として示される、一般的なコンピュータの構成を示す図である。
図3】動作指令生成装置において取り扱う、実機構と仮想機構との関係を示す概念図である。
図4】動作指令生成装置の機能ブロック図である。
図5】移動曲線指定部によってモニタを通してユーザに提示されるGUIの例を示す図である。
図6】動作指令生成部が動作指令を生成する手法を説明する概念図である。
図7】オフセットの動作の説明をする図である。
図8】電動機選定情報出力部によりユーザに提示されるGUIの一例を示す図である。
図9図8のGUI上でモデル指定部を選択することにより表示される、ユーザが電動機製品のモデルを選択するためのGUIの例を示す図である。
図10】ユーザが物理モデルを選択するGUIの例を示す図である。
図11】動作指令生成装置を含む機構制御システムの全体の機能ブロック図である。
図12】操作端末におけるGUIの例を示す図である。
図13】機構制御システムにより実行される実機構の動作指令の生成方法と、実機構の制御方法を示すフロー図である。
【発明を実施するための形態】
【0025】
図1は、本発明の好適な実施形態に係る機構制御システム1と、機構制御システム1により制御される実機構2を例示する概念図である。この例では、機構制御システム1には、動作指令生成装置3、機構制御装置4、及び操作端末5が含まれている。
【0026】
実機構2は、何らかの作業Tを自動実行する機械的機構である。本実施形態での実機構は、図1に示したように汎用の産業用ロボットに、適宜のエンドエフェクタを装着したものであるが、実機構2の機械的機構がどのようなものであるかには必ずしも限定はない。産業用ロボットを用いる場合は、図示したような縦型多関節ロボットのほか、水平多関節型(スカラー型)や、パラレルリンク型、直交型などの他の形式のロボットであってもよい。またロボット以外の汎用又は専用の機構を用いるものでもよい。専用の機構としては、リンク機構やカム機構、あるいはそれらの組み合わせなどが想定される。
【0027】
本例では、実機構2は、電動機をその動力源として含んでおり、その動作は主として電動機の制御により行われる。すなわち、実機構2を構成する産業用ロボットは、その各関節に設置されたサーボモータによりその動作が実現されている。しかしながら、実機構2は、電動機以外の動力源を含んでいてもよい。例えば、エンドエフェクタの動作に適宜空圧又は油圧機器等が用いられてもよいし、実機構2のエンドエフェクタ以外の機構の動力源として、電動機以外のものを一部または全部使用してもよい。
【0028】
また、「実機構」という語は、本明細書においてこの後使用する「仮想機構」という語と対比して用いている。ここでは、「実機構」は、作業Tを実行させるために、現実に構築され、使用される機械的機構を意味する。これに対して、「仮想機構」は、作業Tを実行するものとして仮想的に観念される機構であって、現実に構築され使用されるものではない機械的機構を意味する。
【0029】
作業Tは実機構2が自動実行するものであればどのようなものであってもよい。物品の加工や搬送、検査、デモンストレーションその他作業Tの内容は限定されない。
【0030】
機構制御システム1は、実機構2の動作を制御する機能を持つ単独の装置又は複数の装置からなるシステムである。図1に示した例では、実機構2に動力を供給し、制御する機構制御装置4と、実機構2の動作指令を作成し、機構制御装置4に転送して実機構2の制御をさせる動作指令生成装置3、及び動作中または停止中の実機構2をマニュアルで動作させ、あるいは停止し、さらにはその動作速度や向きの変更を指示する操作端末5が機構制御装置1に含まれ、それぞれ電気的な情報通信により接続された独立した機器として示されている。
【0031】
機構制御装置4は、ここでは、実機構2が産業用ロボットであるから、いわゆるロボットコントローラである。機構制御装置4には、実機構2に含まれるサーボモータを制御するサーボコントローラのほか、空圧機器その他の各種付属機器を、動作指令生成装置3により生成された動作指令に従って電子的に制御する制御機構が設けられている。
【0032】
動作指令生成装置3は、本例では、ハードウェアは一般的なコンピュータを用いており、当該ハードウェア上で実行されるソフトウェアにより、コンピュータを動作指令生成装置3として機能させている。動作指令生成装置3は、機構制御装置4が実機構2を制御する際に実行する命令群である動作指令を生成する。ユーザは、実機構2により実現しようとする作業Tを、後述するように、仮想機構に基づいて動作指令生成装置3に入力し、動作指令生成装置3は、そのようにして入力された作業Tが実機構2により実現されるように、動作指令を生成する。この動作指令作成装置3におけるユーザの入力と、動作指令の生成については後ほど詳述する。
【0033】
操作端末5は、動作指令が用意され、実機構2に作業Tを自動実行させる準備が整った機構制御装置4に対して、オペレータが、作業Tの実行の開始及び停止や、実行速度や向き等の実行時の条件を指示するための機器である。操作端末5は、必ずしも機構制御装置1に必要な機器ではなく、必要に応じて設ければよい。機構制御装置4による作業Tの自動実行の開始及び停止の指示や、そのタイミングは、操作端末5を用いたオペレータの指示に必ずしも基づかなくともよく、機構制御装置4に対しする図示しない上流又は下流の機器からの信号に基づくものであってもよい。
【0034】
機構制御システム1自体のハードウェア構成は、図1で示した動作指令生成装置3、機構制御装置4及び操作端末5の組み合わせに限定されず、一の機器がこれらの機器の複数の機能を兼ね備えるものであっても、またその逆であってもよい。例えば、機構制御装置4が動作指令生成装置3としての機能を有していたり、その逆であったりしてもよい。また、図1では、動作指令生成装置3と機構制御装置4は有線接続により、また、機構制御装置4と操作端末5は無線接続により相互に情報通信可能であるように示されているが、その接続の態様は限定されない。インターネットを含む任意の電気通信ネットワークを介してそれら機器が情報通信可能に接続されてもよい。また、機構制御システム1の機能の一部、例えば、動作指令生成装置3としての機能が電気通信ネットワークを介していわゆるクラウドコンピューティングにより提供されてもよい。
【0035】
以下では、機構制御システム1に含まれる動作指令生成装置3の詳細を説明する。図2は、動作指令生成装置3のハードウェア構成の一例として示される、一般的なコンピュータ6の構成を示す図である。コンピュータ6は、プロセッサであるCPU(Central Processing Unit)6a、メモリであるRAM(Random Access Memory)6b、外部記憶装置6c、GC(Graphics Controller)6d、入力デバイス6e及びI/O(Inpur/Output)6fがデータバス6gにより相互に電気信号のやり取りができるよう接続されている。なお、ここで示したコンピュータ6のハードウェア構成は一例であり、これ以外の構成のものであってもよい。
【0036】
外部記憶装置6cはHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC6dからの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ6hに出力され、画像として表示される。入力デバイス6eはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための一又は複数の機器であり、I/O6fはコンピュータ6が外部の機器と情報をやり取りするための一又は複数のインタフェースである。I/O6fには、有線接続するための各種ポート及び、無線接続のためのコントローラが含まれていてよい。
【0037】
コンピュータ6を動作指令生成装置3として機能させるためのコンピュータプログラムは外部記憶装置6cに記憶され、必要に応じてRAM6bに読みだされてCPU6aにより実行される。すなわち、RAM6bには、CPU6aにより実行されることにより、コンピュータ6を動作指令生成装置3として機能させるためのプログラムコードが記憶されることとなる。かかるコンピュータプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、I/O6fを介して外部のインターネット等の情報通信回線を介して提供されてもよい。
【0038】
図3は、動作指令生成装置3において取り扱う、実機構3と仮想機構7との関係を示す概念図である。仮想機構7は、ここでは、スライダクランク機構と平カム機構を組み合わせたものとして図示しているが、これは概念的な一例として示したものであり、ユーザが求める作業Tにより異なる。
【0039】
この時、作業Tにおいて必要な動作は、仮想機構7を構成する機構要素ごとに定められる。例えば、スライダ7aは、クランク軸7bの回転に伴ってその変位が定まるようにリンクが設計され、また、テーブル7cは、カム軸7dの回転に伴ってその変異が定まるようにカム曲線が設計される。仮想機構7のクランク軸7bやカム軸7dなどの動力軸は、仮想的なマスター軸(機構設計において、「マスターカム」などと称される場合もある)の回転に連動して動作する。
【0040】
このような仮想機構7は、作業Tを実現する固有の機械機構として観念される。そのため、仮想機構7の各機構要素の動作は、作業Tの実現に必要な各動作との親和性が高い。すなわち、作業Tの各動作と直感的によく対応していると想定される。あるいは、仮想機構7は、現実に過去に用いられていた自動機械の機械機構そのものを表したものであり、仮想機構7の各機構要素の動作は、かかる自動機械の機械機構の動作である場合も考えられる。
【0041】
これに対し、実際の作業Tは、実機構2によって実現される。実機構は仮想機構7とは通常は機械機構が異なり、本例では実機構2は図示した通りの汎用の縦型多関節ロボットである。そして、実機構2は多自由度を持っており(図示の例では7自由度)、機械機構が互いに異なるにも関わらず、仮想機構7により実行される作業Tを再現できる。
【0042】
この時、作業Tを実現するために実機構2に与えるべき動作指令は、実機構2の機械構成に即したものでなければならない。すなわち、図3の例では、作業Tは、縦型多関節ロボットである実機構2における座標系の中での動作として記述されなければならない。ところが、実機構2は作業Tに即して設計された機械機構ではないから、作業Tに含まれる動作を実機構2の動作として記述するのは難しい。これに対し、仮想機構7は、作業Tに即して設計された機械機構であるから、仮想機構7に含まれる各機構要素の動作の集合として作業Tを記述するのは容易であるか、または、現実に過去に用いられていた自動機械の機械機構の動作として直ちに入手できる。
【0043】
動作指令生成装置3は、このように、直感的に記述され、または既に存在する仮想機構7に含まれる各機構要素の動作として表現された作業Tに基づいて、実機構2に対する動作指令を生成する装置である。したがって、動作指令生成装置3は、仮想機構7に基づく動作の記述を入力として受け、実機構2についての動作指令を出力するものとなる。
【0044】
図4は、動作指令生成装置3の機能ブロック図である。同図に示す各機能は、動作指令生成装置3が図2に示す一般的なコンピュータ6により実現される場合、CPU6aによりコンピュータプログラムが実行され、また、RAM6bや外部記憶装置6cに記憶領域が割り当てられること等により実現される。まずは図4に示した各機能ブロックの簡明な説明をし、その後、各機能の詳細な説明を行う。
【0045】
移動曲線指定部30は、ユーザが、仮想機構7に含まれる1又は複数の機構要素の動作を記述する移動曲線を指定するために設けられる。移動曲線指定部30は、ユーザが移動曲線を指定するためのGUI(グラフィカルユーザインタフェース)を含んでおり、後述するように、ユーザが、始点、終点及び曲線形状を指定することにより得られる単位移動曲線を入力することにより移動曲線が得られるように構成されている。
【0046】
仮想機構情報指定部31は、仮想機構情報を指定するために設けられ、指定された仮想機構情報は仮想機構情報保持部32に保持される。仮想機構情報には、少なくとも、複数の機構要素間の機械的関係が含まれる。定性的には、仮想機構情報は、仮想機構7において表現された機構の動作を、実機構2における機構の動作に変換するために必要となる情報の一部または全部である。本実施形態では、仮想機構情報は、仮想機構7における自由度を生成する変数と、各変数間の関係及び、実機構2における座標との関係が含まれている。仮想機構情報の具体的な例については後掲する。
【0047】
仮想機構情報に含まれる変数は、仮想機構情報指定部31により指定してもよいし、移動曲線指定部30において指定してもよい。例えば、移動曲線指定部30のGUIにてユーザが「軸」を追加したならば、かかる「軸」は仮想機構情報に含まれるべき1自由度の変数であるから、かかる「軸」の情報を仮想機構情報指定部31に送り、対応する変数を仮想機構情報に追加すればよい。また逆に、仮想機構情報指定部31のGUIにて、仮想機構7に含まれる機構要素の動作を特定する変数を追加したならば、かかる変数は移動曲線指定部30においては「軸」として取り扱われるから、かかる変数の情報を移動曲線指定部30に送り、対応する「軸」を移動曲線指定部30のGUIに追加すればよい。
【0048】
動作指令生成部33は、移動曲線指定部30においてユーザに指定された移動曲線に基づいて、実機構2の動作指令を生成する。この際、動作指令生成部33は、仮想機構情報保持部32に保持された仮想機構情報を用いる。本実施形態では、動作指令生成部33において、実機構2の座標空間において実機構2が取るべき座標及び姿勢が得られ、産業用ロボットである実機構2は、その座標空間、すなわち、いわゆるロボット座標系における目標座標及び姿勢を指定する動作指令により動作させることができるから、動作指令生成部33は、移動曲線及び仮想機構情報を用いて得られた実機構2が取るべき座標及び姿勢より動作指令を生成することができる。
【0049】
なお、実機構2が産業用ロボットではなく、他の任意の機構である場合には、実機構2に与える動作指令は、その目標となる座標及び姿勢のみからは直ちに得られない場合がある。かかる場合には、動作指令生成部33は、後述する実機構2の物理モデル情報を物理モデル情報保持部37から得て動作指令を生成する。
【0050】
生成された動作指令は動作指令出力部34から機構制御装置4に出力される。機構制御装置4は、動作指令出力部34から受信した動作指令を記憶し、かかる動作指令に基づいて実機構2を制御し、作業Tを行わせる。
【0051】
また、負荷変動算出部35は、ユーザが入力した作業Tにより生じる、実機構2に含まれる電動機の負荷変動を算出する。この負荷変動は、実機構2の具体的な構成や形状、質量に依存するため、負荷変動算出部35は、作業Tの内容に加え、物理モデル情報保持部37に保持された物理モデル情報に基づいて電動機の負荷変動を算出するようになっている。物理モデル情報は、物理モデル情報指定部36によりユーザにより指定される。物理モデル情報指定部36は、ユーザが物理モデル情報を指定するための適宜のGUIを備えている。
【0052】
電動機選定情報出力部38は、負荷変動算出部35により算出された負荷変動に基づいて、電動機選定の可否を示す電動機選定情報を出力する。この出力は、例えば、コンピュータ2のモニタ6hを通してユーザに提示され、ユーザが作業Tを実現する実機構2を構築するにあたって選定すべき電動機についての情報を提供する。
【0053】
図5は、移動曲線指定部30によってモニタ6hを通してユーザに提示されるGUIの例を示す図である。この例で示すGUIでは、横軸が時間及びマスター軸の回転角度、縦軸が機構要素の変位その他の指定項目の変化を示すものとしてグラフ形式で移動曲線等を入力できるようになっている。以下、GUIに示されている各要素について説明する。
【0054】
横軸を示す横軸目盛は、GUI上部に時間目盛30a及びマスター軸回転角目盛30bの双方で示されている。マスター軸回転角目盛30bは、繰り返し回転する仮想的なマスター軸の回転角を示しており、その範囲は0°~360°である。時間目盛30aは、マスター軸回転角30bと対応した経過時間を示している。マスター軸回転角目盛30bと時間目盛30aの対応関係、すなわち、マスター軸が1回転に要する時間は任意に設定することができる。また、図5では、時間目盛30aの単位は秒(sec)、マスター軸回転角目盛30bの単位は度(deg)で表しているが、この単位は任意に変更できてよい。例えば、時間目盛30aの単位を分、時あるいは日としてもよく、マスター軸回転角目盛30bの単位をラジアン(rad)としてもよい。
【0055】
縦軸には、ユーザが作業Tを記述する上で必要な指定項目を適宜追加できるようにGUIが設計されている。図5の例では、上から、ブレークポイント30c、軸30d(クランク軸)、外力30e、軸30f(カム軸)、出力信号30g(エンドエフェクタ)、入力信号30h(動作完了信号)が示されている。なお、指定項目には、ユーザが適宜わかりやすい名前を付けることができるため、図5に示されている名称がここでの説明における名称と異なっている場合がある。図5に示されている名称は上の文章中で、カッコ書きの中で示した。
【0056】
まずは「軸」である、軸30d及び軸30fについて説明する。ここでいう「軸」は仮想機構7の自由度を構成する変数であり、仮想機構7の機構要素の変位を示す。「軸」の単位は対象となる機構要素の性質に応じたものであってよく、図5に示した軸30dは図3のスライダクランク機構を、軸30fは図3の平カム機構を想定したものであるため、それぞれ、スライダ7aの変位と、平カムにより駆動されるステージ7cの変位を示しているが、機構要素が例えば、ターンテーブルのような回転体である場合には、その回転角を変位としてよい。当然にその変位の単位は任意であり、図5の軸30d及び軸30fについて示したミリメートル(mm)に限定されるものではなく、任意に設定できてよい。
【0057】
「軸」の指定項目においては、横軸を時間又はマスター軸回転角とし、縦軸を変位として、時間方向の機構要素の変位の変化を示す移動曲線30iをユーザがGUIを用いて指定できるように設計されている。ここで、移動曲線30iには、実験で示した単位移動曲線30jと、単位移動曲線間を接続する接続移動曲線30kの2種が含まれる。
【0058】
移動曲線指定部30において移動曲線30iを指定する際に重要であるのは、作業Tを実現するために機構要素に生じなければならない変位である。したがって、移動曲線指定部30は、ユーザが、移動曲線30iの全範囲(すなわち、マスター軸回転角の0°~360°の範囲)にわたって移動曲線30iの形状を指定しなくとも移動曲線30iを構築できるように設計されている。
【0059】
すなわち、ユーザが、移動曲線30iに含まれる単位移動曲線30jを指定すれば移動曲線30iが得られるようになっている。単位移動曲線30jは、機構要素の変位のある初期の値から目標となる値までの変化を記述する曲線である。移動曲線指定部30は、ユーザに、その始点30lと終点30m、及び、始点30lと終点30mを繋ぐ単位移動曲線30jの曲線形状を指定させることにより、単位移動曲線30jを得る。始点30lと終点30mはそれぞれ、時間(又はマスター軸回転角)と変位を指定するものである。曲線形状は、移動曲線指定部30があらかじめ用意した種々の曲線形状から選択できるほか、その形状をユーザが自由に設計できるものであってよい。
【0060】
曲線形状としては、あらかじめ代表的な曲線、例えば、台形加速曲線や曲線加速曲線(いわゆるS字加速曲線など)が選択可能に用意されているほか、クランク機構やリンク機構における変位の曲線などが任意に選択できてよい。また、これ以外にも、別途GUIを用意して任意のカム曲線を設計し、あるいは加速度曲線や躍度曲線を指定してユーザが任意の曲線を設計できるようにしてもよい。さらには、別のソフトウェア、例えばカム曲線を設計する専用のソフトウェアにより設計された曲線をインポートできるようにしてもよい。
【0061】
ユーザが必要な単位移動曲線30jを指定すると、移動曲線指定部30は隣接する単位移動曲線30j間を接続移動曲線30kで連続するよう接続する。より具体的には、接続移動曲線30kは、前の単位移動曲線30jの終点30mと次の単位移動曲線30jの始点30lとを接続する曲線であり、その曲線形状はあらかじめ定めた形状、例えば曲線加速曲線に従う。接続移動曲線30kの曲線形状をどのようなものにするかはユーザが任意に設定できるようにしてよい。
【0062】
ここで、移動曲線30iは所定の周期、すなわち、マスター軸が一回転する周期で繰り返される繰り返し曲線であるから、その開始時点と終了時点とにおける変位は一致していなければならない。したがって、移動曲線指定部30は、ユーザにより指定された最も後ろの単位移動曲線30jの終点と、最も前の単位移動曲線30jの始点についても繰り返しにより連続するように接続移動曲線30kで接続する。
【0063】
さらに、任意の「軸」に対して、外力を示す指定項目である、外力30fが設けられてよい。外力30fは、関連する「軸」、ここでは直上に位置する軸30dに対して作用する外力を指定する指定項目である。これは、具体的には、この「軸」が機構要素として、例えばクランクプレスであれば、この機構要素にはプレス反力が作用するし、機構要素として物品を持ち上げ移動する物であれば、物品の保持による重力が作用する。このような、作業Tの経過に応じて生じる外力を外力30fに記述することができる。
【0064】
外力30fは、後述するように、電動機の負荷変動の算出に用いられるから、かかる負荷変動の算出をしない場合には、その指定は必須ではない。また、外力30fにて指定する力の向きは、本実施形態では、外力30fに関連付けられる「軸」の向きである。したがって、ある時間範囲で力が指定されたなら、その「軸」に対して、軸方向に指定された力が作用することを意味している。なお、本実施形態では軸30dと外力30eの符号は一致しているが、符号をどのようにするかは任意である。
【0065】
出力信号30gは、時間の進展、すなわち、マスター軸の回転に伴って、機構制御装置4が外部に出力する信号の変化を指定するものである。この信号は、例えば、機構制御装置4が有する外部出力接点のインピーダンスのハイ/ローの変化を示しており、かかる接点に接続された外部の機器が、機構制御装置4から出力された信号に基づいて動作を行う。本例では、図3の仮想機構7に図示しないエンドエフェクタの動作の切り替えを指示するものであり、図5に示されたタイミングで信号が出力される。なお、出力信号30gはここで説明したようなハイ/ローの2値信号に限定されず、連続的な信号、例えば電圧信号や、特定のプロトコルに基づいてデジタル値を出力するもの等であってもよい。
【0066】
入力信号30hは、機構制御装置4に対して、外部の機器、例えば、実機構2と連動して作業Tを実行すべき上流或いは下流の機器や、作業Tの状態を検出するためのセンサなどから入力される信号である。図5に示した入力信号30hもまた、機構制御装置4が有する外部入力接点のインピーダンスのハイ/ローの変化を示すものとして記述されている。
【0067】
ここで、入力信号30hの値も、出力信号30gやその他の指定項目と同様に、時間あるいはマスター軸の回転角に対して記述されている。しかしながら、入力信号30hは機構制御装置4の制御下にない外部の機器から入力される値を示すものであるから、その値の変化するタイミングを、機構制御装置4によって制御することはできない。したがって、入力信号30hにおいて、ある時間においてその値が変化するかのように記述されている場合には、かかる記述は、そのタイミングにおいて入力信号30hの値が変化することを意味しない。
【0068】
入力信号30hは、機構制御装置4による制御の実行及び停止を切り替えるための条件を指定するものと理解される。すなわち、機構制御装置4による制御は、図5の横軸方向に時間(又はマスター軸の回転)に伴って進展していくが、指定されたある動作を行う際に、かかる動作を実行する条件が満たされることを待つ必要がある場合がある。例えば、上流の機器から加工対象物の搬入が完了したり、作業Tに必要な機器の動作、例えば接着剤を所定の分量吐出し終えたりしたことを確認してから次の動作に移る等である。
【0069】
図5の入力信号30hは動作完了信号と記述されており、何らかの実機構2と関連する機器の動作が完了していること、又は動作中であることを示す信号である。この時、入力信号30hの記述の意味は、外部入力の値が入力信号30hとして指定された値と一致している場合に、時間(又はマスター軸の回転)を進めて、各機構要素を指定された通りに動作させ、外部入力の値が入力信号30hとして指定された値と一致しない場合には、時間(又はマスター軸の回転)を停止して、外部入力の値が入力信号30hとして指定された値と一致するまで待機するというものである。このような入力信号30hを指定項目として指定できるようにすることで、動作指令生成装置3は、外部入力に基づいて、その実行及び停止を切り替え可能である動作指令を生成することができる。
【0070】
また、外部入力に基づかずとも、機構制御装置4による制御の実行及び停止を切り替え可能に指定できてよい。ブレークポイント30cは、機構制御装置4による制御の一時停止位置を指定する指定項目である。図5の例では、番号1及び2で示された2か所にブレークポイントが指定されているが、これは、時間(又はマスター軸の回転)が進展してブレークポイントとして指定されたタイミングに到来した際に、機構制御装置4による制御を一時停止するというものである。停止した制御は、後述する操作端末5による操作によって再開できる。
【0071】
適宜ブレークポイントを指定することで、作業Tを新たに構築したり、作業Tの内容を一部変更したりした際に、作業Tに含まれる各機構要素の動作内容を細かく確認することができる。作業Tとして指定した各機構要素の動作内容に問題がないことが確認できれば、ブレークポイントは削除するか、又は後述するように、無効化するとよい。
【0072】
以上のGUIを用いることで、移動曲線指定部30により、ユーザは、作業Tを、仮想機構7を具体的に構築する必要なく、仮想機構7に基づく移動曲線30iやその他の指定項目の集合体として記述できる。したがって、実機構2、ここでは産業用ロボット固有の専門的知識を必要とせず、仮想的な固有の機械機構に基づいて自動制御を容易に記述できる。また、この仮想的な固有の機械機構が、既存の固有の機械機構に一致する場合には、かかる固有の機構に基づいて記述された自動制御の資産を有効に活用できることになる。
【0073】
図4に戻り、仮想機構情報指定部31及び仮想機構情報保持部32より先に、動作指令生成部33の説明をする。動作指令生成部33は、すでに述べたように、移動曲線指定部30においてユーザに指定された移動曲線に基づいて、実機構2の動作指令を生成する。すなわち、図3の仮想機構7について指定された図5における移動曲線30i及び、その他の指定項目に基づいて、図3の実機構2についての動作指令を生成するのである。
【0074】
この生成方法自体は特定の手法に限定されなければならないわけではない。例えば、特定の仮想機構7の状態を特定の実機構2の状態に対応付ける恒等変換が明らかであれば、かかる射によって、図5に示されたような移動曲線30iや他の指定項目に基づいて、実機構2のあるべき状態を逐一求め、かかる状態を指令する動作指令を生成すれば適切な動作指令が得られるであろう。このような手法を取ることはなんら否定されるものではない。
【0075】
しかしながら、仮想機構7の状態から実機構2の状態への写像は必ずしも単射ではなく明らかではない場合も存在する。そこで、本実施形態に係る動作指令生成部33は、次に説明する手法により動作指令を生成する。
【0076】
図6は、動作指令生成部33が動作指令を生成する手法を説明する概念図である。本手法は、目標点を介して、仮想機構7における各変数を実機構2における各変数へと変換して動作指令を得る。
【0077】
まず、図6の左端に示すように、仮想機構7については、仮想機構7に含まれる各機構要素についての移動曲線30iが指定されている。これに対し、まず、変換33aにより、仮想機構についての座標系である、仮想機構座標Vにおける目標値(x,θ)を求める。
【0078】
目標値(x,θ)は、ある時刻tにおける仮想機構7の作用端の位置及び姿勢を3次元空間内で示したものであり、6次元の値である。移動曲線30iから目標値(x,θ)を得るための関係は仮想機構情報保持部32に仮想機構情報32aを構成するものとして含まれている。この関係は、仮想機構7の複数の機構要素間の機械的関係を定めるものである。かかる機械的関係は、例えば、ある時刻tにおける各移動曲線30iの値から目標値(x,θ)を求めるための関係式として与えられる。
【0079】
そして、目標値(x,θ)は、全時間範囲にわたって求められるため、仮想機構座標Vにおける目標値(x,θ)の軌跡が得られることになる。目標値(x,θ)の軌跡は、仮想機構座標V内における閉じた曲線となる。
【0080】
続いて、変換33bにより、仮想機構座標Vにおける目標値(x,θ)を、実機構座標Rにおける目標値目標値(x,θ)に変換する。実機構座標Rは、実機構2についての座標系であり、実機構2が産業用ロボットであればロボット座標系とするとよい。変換33bは単なる座標変換であるから、この変換は単なるアフィン変換でよく、アフィン行列Aを与えておけばよい。この変換33bにより、実機構座標Rにおける目標値(x,θ)の軌跡が、やはり閉じた曲線として得られる。
【0081】
なお、アフィン行列Aは、やはり仮想機構情報保持部32に仮想機構情報32aを構成するものとして含まれていればよい。この変換行列Aは、仮想機構7と実機構2との関係を定める情報である。かかる情報を用いることで、仮想機構7について記述された作用端の動作を、実機構2についての動作として表すことができる。
【0082】
ここで、機構制御装置4が、実機構座標Rにおける時間tについての目標値(x,θ)を動作指令として直接与えることを許容するのであれば、得られた目標値(x,θ)を用いて、直ちに実機構2に対する動作指令を生成することができるから、次に説明する逆キネマティクス演算33cを動作指令生成部33において行う必要はない。多くの汎用の産業用ロボットを制御するロボットコントローラを用いる場合には逆キネマティクス演算33cは不要であると考えられる。
【0083】
しかしながら、実機構2は必ずしも汎用の産業用ロボットに限定されるわけではなく、また、産業用ロボットを用いるものであったとしても、そのエンドエフェクタにさらに可動要素を設けている場合には、目標値(x,θ)によって直ちに動作指令を得ることはできない。
【0084】
そこで、続いて、逆キネマティクス演算33cを行う。この演算では、目標値(x,θ)に対して逆演算、いわゆる逆キネマティクス演算を行うことによって実機構2の状態を決定づける変数の値33dを求める。この時、逆キネマティクス演算を行うために必要な実機構2の変数間の関係は、物理モデル情報保持部27に保持される物理モデル情報37aに含まれている。そして、時間tに対する実機構2の状態を決定づける変数の値33dが既知となれば、動作指令生成部33は、容易く実機構2の動作指令を生成することができる。
【0085】
そして、逆キネマティクス演算の対象となる目標値(x,θ)は、仮想機構7の動作を示す目標値(x,θ)から得られるから、動作指令生成部33は、仮想機構7の動作に基づく逆キネマティクス演算を用いて動作指令を生成していることになる。また、仮想機構7の動作を示す目標値(x,θ)は、仮想機構7の複数の機構要素についての移動曲線30iと機構要素間の機械的関係より得られるのである。
【0086】
したがって、図4の仮想機構情報指定部31は、仮想機構情報として、仮想機構7の複数の機構要素間の機械的関係と、仮想機構7と実機構2との関係を指定するものである。この指定方法は任意であり、特に制限はない。適宜のGUIによりこれら関係を入力させるものであっても、あるいは、特定のフォーマットにしたがって、かかる関係を記述したデータファイルを用意させ、かかるファイルをインポートするものであってもよい。指定された仮想機構情報は、仮想機構情報保持部32により保持され、動作指令生成部33において用いられる。
【0087】
動作指令出力部34は、動作指令生成部33により生成された動作指令を機構制御装置4に出力する。かかる動作指令が機構制御装置4によって実行されることにより、実機構2と仮想機構7とが互いに異なる機械構成を有するものであっても、実機構2により、仮想機構7についてのものとして記述された作業Tが実現される。
【0088】
物理モデル情報保持部37に保持される物理モデル情報には、前述した、逆キネマティクス演算に用いるための、実機構2の変数間の関係以外に、実機構2を構成する機械部品の仮想モデルがさらに含まれていてよい。これらの関係や仮想モデルは、任意のGUIその他の手法により、物理モデル情報指定部36を用いて、ユーザにより指定される。
【0089】
ここで、動作指令生成部33により生成された動作指令においては、単位移動曲線30jのユーザにより指定された始点30lと終点30mを外部入力に基づくオフセットをさせることができる。図7は、オフセットの動作の説明をする図である。
【0090】
図7の(a)に示した移動曲線30iは、図5の軸30dで示した移動曲線30iの一部分を拡大したものである。この時、軸30dに示される機構要素は、同図に示されているように、始点30lから終点30mまでを単位移動曲線30jで示された運動をするよう指定されている。
【0091】
この軸30dに示される機構要素が行う作業はどのようなものであっても差し支えはないが、これが例えば搬入された物品に対して何らかの作用、例えば把持や加工などを行うものである場合、物品の搬入時の位置決め精度や形状のばらつきなどの種々の原因により、始点30lの理想的な位置は、(a)に示した始点30lの位置とは異なる場合がある。そして、この始点30lの理想的な位置は、作業Tの繰り返し動作のたびに異なる可能性がある。
【0092】
そこで、例えば、搬入された物品の位置や形状を任意の外部の機器、例えば、測距センサやイメージセンサを用いた画像処理器により取得し、移動曲線30iにおいて示された始点30lからのずれであるオフセット距離doffを外部入力として機構制御装置4に入力しておく。
【0093】
移動曲線指定部30は、かかる外部入力を始点30lにオフセット値として指定することができる。図7の(b)は、そのような外部入力として、オフセット値doffが入力された場合の、移動曲線30iの変化の様子を示している。(b)において点線で示されているのは、本来ユーザが移動曲線指定部30において指定した移動曲線30iを示し、実線又は破線により示されているのは、動作指令生成装置3により生成された動作指令に基づいて実機構2が行う動作を、軸30dに換算して表示したものである。
【0094】
(b)に示されているように、始点30lは、ユーザにより指定された位置から、外部入力されたオフセット距離doffだけオフセットされ、作業Tにとって理想的な位置とすることができる。一方、終点30mはオフセットの指定がなされていないため、ユーザにより指定された位置からの変化はなく、始点30lがオフセットされたことによる影響がその後の動作に及ぶことはない。
【0095】
また、始点30lと終点30mを結ぶ単位移動曲線30jの形状は、ユーザが指定した曲線形状のものとなるよう再計算がなされる。同様に、オフセットされた始点30lとその前の位置とが接続されるように、接続移動曲線30kの形状は再計算がなされる。接続移動曲線30kの曲線形状についても、あらかじめ指定された曲線形状が用いられる。
【0096】
すなわち、オフセットの指定がなされた始点30lの前後の単位移動曲線30j又は接続移動曲線30kの形状は再計算され、オフセットがなされても機構要素が連続的に動作するよう移動曲線30iの形状が変更される。
【0097】
以上の説明では、始点30lにのみオフセットを指定するものとしたが、同様に、終点30mにオフセットを指定することも当然に可能である。また、オフセットを指定する始点30l及び終点30mの個数にも制限はなく、全ての始点30l及び終点30mに対してオフセットを指定してもよい。必要に応じ、少なくとも始点30l及び終点30mのいずれかは、外部入力に基づくオフセットが可能としておくとよい。
【0098】
図4に戻り、負荷変動算出部35の動作について説明する。負荷変動算出部35はすでに述べたとおり、実機構2に含まれる電動機の負荷変動を算出するものであるが、ユーザが指定する図5の移動曲線30iは仮想機構7の機構要素についてのものであり、実機構2と仮想機構7とはその機構は必ずしも一致しないため、移動曲線30iから実機構2に含まれる電動機の負荷を直接求めることは困難である。また、ユーザが指定する外力30eもまた、図5の「軸」、すなわち、仮想機構7の機構要素について示したものであるから、これについても、実機構2に含まれる電動機に対してどのような負荷として作用するかは直接にはわからない。
【0099】
そのため、負荷変動算出部35は、動作指令生成部33によって、動作指令を生成するために得た各種情報を用いる。具体的には、図6に示した実機構2の状態を決定づける変数の値33dを用いる。これは、実機構2に含まれる電動機の動作を示すものに他ならない。
【0100】
さらに、負荷変動算出部35は、物理モデル情報保持部37に保持された物理モデル情報を参照する。物理モデル情報には、実機構2の物理モデル、少なくとも、実機構2に含まれる電動機それぞれについて、その電動機により駆動される機構の質量と慣性モーメント、電動機の減速比等の情報が含まれているため、これらの値と電動機の動作から、電動機に作用するトルクの時間変化を算出することができる。
【0101】
実機構2が図1等に示したような多関節ロボットである場合には、ロボットアームの中間関節において用いられている電動機により駆動される、先端部分の慣性モーメントは、かかる先端部分の姿勢により変化しうる(例えば、先端部分が伸長されていれば慣性モーメントは大きく、小さく折りたたまれていれば慣性モーメントは小さくなる)。物理モデル情報には、実機構2を構成するそれぞれの可動部分の形状と質量についての情報を含めておき、負荷変動算出部35が、慣性モーメントを実機構2の姿勢に基づいた物理シミュレーションにより求めるようにしてもよいし、簡便な方法として、物理モデル情報に、ある電動機により駆動される機構の質量と、慣性モーメントの最大値を含めておき、負荷変動算出部35は、かかる慣性モーメントの最大値を用いて電動機に作用するトルクを算出するものとすることもできる。
【0102】
さらに正確を期するため、負荷変動算出部35は、ユーザが指定した外力30eの影響を計算する。図5に示したように、ユーザが指定した外力30gは、仮想機構7の機構要素の変異の方向について指定されたものである。
【0103】
したがって、負荷変動算出部35は、この外力を実機構2の状態を決定づける変数の向きについて示さなければならない。この方法は、図6において示した動作指令生成部33が動作指令を生成する手法とほぼ同様である。
【0104】
すなわち、ユーザが指定した外力を変換33aにより、仮想機構座標Vにおける向き及び大きさとして求める。さらに、変換33bにより、仮想機構座標Vにおいて示された外力を実機構座標Rにおける向き及び大きさとして求める。さらに、逆キネマティクス演算33cにより求められた実機構2の状態を決定づける変数の値から、ある時間tにおける実機構座標Rでの外力が、実機構2の状態を決定づける変数のそれぞれの変異方向について及ぼす力の大きさが計算できるため、かかる力の大きさに基づいて、実機構2に含まれる各電動機に対して作用する外力によるトルクが得られる。
【0105】
最終的に、実機構2に含まれる電動機の負荷変動は、ユーザが指定した移動曲線30iと物理モデル情報から得られる慣性トルクと、ユーザが指定した外力30eから得られる外力トルクの和としてこれを求めることができる。
【0106】
電動機選定情報出力部38は、負荷変動算出部35により算出された電動機の負荷変動をユーザに提示し、選定すべき電動機についての情報を提供する。図8は、電動機選定情報出力部38によりユーザに提示されるGUIの一例を示す図である。
【0107】
GUI上では、ユーザに対して必要な情報が提示される。ここでは、実機構2に含まれる電動機のうち、どの電動機についての情報を提示しているかを示すとともに、ユーザがどの電動機についての情報の提示を求めているかを指定する電動機指定部38a、指定された電動機について選択されている電動機のモデル名を示すとともに、ユーザが電動機のモデルを指定するモデル指定部38b、負荷変動算出部35により算出された電動機の負荷変動から電動機に要求される諸元を表示する要求諸元表示部38c、現在選択されている電動機のモデルの諸元を表示する電動機諸元表示部38d、負荷変動算出部35により算出された電動機の負荷変動を、グラフ上で軌跡として表示する負荷変動表示部38eがGUIに含まれる。GUIに含まれるべき情報の種類やその表示方法は任意である。
【0108】
電動機指定部38aでは、実機構2に含まれる複数の電動機を識別する識別名で電動機が特定される。識別名は物理モデル情報により特定されていてよい。一方で、この情報からは、電動機の諸元は特定されない。ユーザは、GUI上で電動機指定部38aを選択することにより、実機構2に含まれる電動機のいずれかを選択することができる。電動機が選ばれると、モデル指定部38b、要求諸元表示部38c、電動機諸元表示部38d及び負荷変動表示部38eの表示内容は、選択された電動機についてのものに切り替わる。
【0109】
モデル指定部38bでは、選択されている電動機として選定されている製品のモデルが特定される。ユーザは、GUI上でモデル指定部38bを選択することにより、実際に入手可能な電動機製品のモデルを選択できるようになっている。この電動機製品のモデルを選択するためのGUIについてはこの後説明する。モデル指定部38bにより、選択された電動機として用いられる電動機製品の具体的なモデルが特定されることにより、電動機の具体的な諸元が特定される。
【0110】
要求諸元表示部38cには、選択された電動機について、負荷変動算出部35により算出された電動機の負荷変動から電動機の要求諸元として必要なものが表示される。図8の例では、有効トルク、負荷比、最大トルク、最大速度及び平均速度が示されている。要求諸元は、選択された電動機が要求諸元を満足する性能を有していなければ、作業Tが行えないことを示す情報である。
【0111】
電動機諸元表示部38dには、選択された電動機について選択された電動機製品のモデルの諸元が表示される。この時表示される情報は、ユーザが入手可能なモデルについては、あらかじめ電動機選定情報出力部38がデータベースとして保有している。また、電動機諸元表示部38dには、要求諸元表示部38cにおいて表示される要求諸元と対応する電動機諸元を、ユーザが両者を比較することが容易なように対応付けて表示するとよい。図8の例では、対応関係にある要求諸元と電動機諸元は、横方向に隣接して示すことで両者が対応していることを示すようになっている。
【0112】
そして、電動機諸元は、要求諸元を満足するものでなければならないところ、電動機諸元が要求諸元に満たないものについては、図8に示すように、不足のある電動機諸元を強調表示して、電動機として選択された電動機製品のモデルの性能が不足していることを明示する。かかる表示を見れば、ユーザは、現在選択されている電動機製品のモデルを変更する必要があることを即座に把握できる。
【0113】
負荷変動表示部38eは、選択された電動機が、実機構2が作業Tを実行する際に受ける負荷変動の軌跡をグラフ表示するものである。図8の例では、横軸に電動機トルクを、縦軸に電動機速度をとった平面における電動機の運転状態の変化を太線にて示している。この平面において、領域38fは電動機が定常運転可能である運転条件を、領域38gは非定常運転(短時間での運転)可能である運転条件を、領域38hは過負荷のため運転不可である運転条件を示しており、この平面上に示された軌跡を見れば、選択された電動機がどのような運転条件の下で、作業Tを実行するのかが一目瞭然に理解される。
【0114】
図9は、図8のGUI上でモデル指定部38bを選択することにより表示される、ユーザが電動機製品のモデルを選択するためのGUIの例を示す図である。GUI上では、ユーザが電動機製品の各モデルを把握しやすいよう、整理して示される。図9の例では、電動機製品は、シリーズ1~シリーズ4に分類されて並べられている。かかる分類は、電動機製品の仕様や形状その他に基づいてユーザが理解しやすいものを選べばよい。
【0115】
また、表示された各モデルは、その表示の態様に違いが設けられる。本実施形態では、表示色を変えることにより表示の態様を異ならせているが、どのように表示の態様に違いを設けるかは任意である。また、図9では、色の違いを示すために、各モデルを示す枠を細線、太破線及び太線で示すことにより区別している。本例では、細線のものは赤色、太破線のものは黄色、太線のものは緑色で表示されていることを示している。
【0116】
この表示の態様の差は、GUI上で表示された電動機製品の各モデルの諸元が、負荷変動算出部35により算出された電動機の負荷変動から得られた電動機の要求諸元をどの程度満足しているかに応じて選択される。すなわち、表示されているモデルにかかる電動機製品の諸元が、要求諸元をすべて満足する場合(すなわち、定常運転が可能である場合)には緑色で、要求諸元を部分的に満足する場合(すなわち、非定常運転を許容すれば運転可能である場合)には黄色で、要求諸元を満足しない場合(すなわち、運転不可である場合)には赤色で示すようにしている。
【0117】
このように、作業Tについて得られた電動機の負荷変動に基づいて、電動機製品のモデルが要求諸元を満足するか否か、すなわち、特定のモデルにかかる電動機の選定の可否を示す電動機選定情報が、電動機製品のモデルを選択するGUI上で示されているため、ユーザは、作業Tを実施するために必要な電動機製品のモデルを簡単に選択することができる。また、図8の負荷変動表示部38eに、電動機の運転条件に対する電動機の運転状態の変化が示されるため、例えば、選択した電動機として、常に定常運転が可能となる運転条件下で運転ができる高性能を有する電動機製品のモデルを選択しなければならないのか、あるいは非定常運転を許容する運転条件下での運転ができる性能を有する電動機製品のモデルを選択することにより、より低コストにて実機構2を構築できるのか、その判断が容易となる。
【0118】
図9のGUI上で、ユーザが所望する電動機製品のモデルを選択することにより、図8のモデル指定部38bに表示されるモデル名が変更され、また、それに伴い、電動機諸元表示部38dに表示される電動機諸元と、負荷変動表示部38eにおける領域38f、38g、38hの形状が選択された電動機製品のモデルに応じたものとなる。
【0119】
図4に戻り、物理モデル情報指定部36のGUIの例について説明する。物理モデル情報指定部36は、上述した物理モデル情報として必要な情報をユーザが指定できるものであれば、どのようなものであってもよい。本実施形態では、かかるGUIの一例として、図10にユーザが物理モデルを選択するGUIの例を示す。
【0120】
GUIには、あらかじめユーザが実機構2として使用する可能性の高い複数の機構の候補が一覧として示されている。例えば、ユーザが産業用ロボットを使用したければ、上段に表示された候補の中から適したものを選び、その他の機構を使用したければ、中下段に表示された機構の候補の中から適したものを選択すればよい。
【0121】
物理モデル情報指定部36は、ユーザに選択肢として提示した機構については、あらかじめ物理モデル情報を用意している。そのため、ユーザは、単に提示された機構を選択し、あるいは機構を選択後、必要な部分の寸法や質量などの追加の入力を求められるだけで、簡便に物理モデル情報を指定することができる。
【0122】
これ以外の方法によってもユーザが物理モデル情報を指定できてよい。例えば、所定のフォーマットに従って物理モデル情報を記述したファイルや、市販の三次元CADソフトウェアにより作成された三次元モデルのデータを物理モデル情報としてインポートできるようにしてもよい。
【0123】
図11は、以上で説明した動作指令生成装置3を含む機構制御システム1の全体の機能ブロック図である。機構制御システム1において、動作指令生成装置3によって生成された動作指令は機構制御装置4に送られ、動作指令保持部40に保持される。機構制御装置4は、機構制御部41によって、動作指令を動作指令保持部40から読みだして実行し、制御指令を実機構2に出力することで、実機構2を作業Tを実行するように制御する。
【0124】
またこの際、上下流の機器やセンサなどの各種の外部機器8から外部入力をうけ、外部入力に含まれる入力信号に基づいて、制御の実行および停止を切り替えたり、同じく外部入力に含まれるオフセット距離に基づいて、実機構2の制御目標位置をオフセットさせたりする。
【0125】
さらに、機構制御部41には、実機構2の制御の実行速度及び向きを変更可能である実行速度可変部42が含まれていてよく、機構制御部41自体に対するユーザからの指令や、実行速度可変部42に対するユーザからの指示は、操作端末5によりなされてよい。
【0126】
図12は、操作端末5におけるGUIの例を示す図である。操作端末5は、ユーザが、作業T自体の実行の開始や停止、および実行時の付加的な条件を指示するために用いる機器であり、タブレット型PCなどの携帯型コンピュータ端末や、産業用機器の操作に使用されるタッチパネル製品、または専用のスイッチボードなどを適宜用いてよい。ここでは、操作端末5としてタブレット型PCが用いられたものとして図12を示している。
【0127】
図12に示したGUIでは、実行ボタン5a、停止ボタン5b、逆方向実行ボタン5c及び、速度倍率設定部5dおよびブレークポイント有効無効切り替え部5eが用意されている。
【0128】
実行ボタン5aは、機構制御部41によって、実機構2に対し、作業Tの実行を指示するインタフェースである。ユーザが実行ボタン5aを選択することにより、機構制御部41は実機構2の動作を開始し、作業Tは繰り返し実行される。停止ボタン5bは、作業Tの停止を指示するインタフェースである。ユーザが停止ボタン5bを選択すると、機構制御部41は、実行中の実機構2の動作をその時点で即座に停止する。動作の再開は、再び実行ボタン5aを選択することによってなされる。また、前述したブレークポイントが到来したことにより停止した実機構2の動作もまた、実行ボタン5aを選択することによって再開させられる。
【0129】
逆方向実行ボタン5cは、機構制御部41によって、実機構2に対し、作業Tを逆方向に実行することを指示するインタフェースである。すなわち、逆方向実行ボタン5cに基づく実機構2の動作は、図5で示した時間(又はマスター軸の回転角)を逆方向にさかのぼるように行われる。すなわち、図5で示された作業Tの各動作が、図中右から左に進行するように実行される。
【0130】
そして、実行ボタン5a及び逆方向実行ボタン5cによる順方向又は逆方向の実機構2の動作の速度は、倍率指定部5dのインタフェースを用いて速度倍率を設定することで変更可能である。すなわち、速度倍率として100%を指定すれば、図5でユーザが指定した通りの速度で作業Tが実行されるのに対し、50%を指定すればその半分の速度でゆっくりと動作が行われ、また、200%を指定すれば倍の速度で高速に動作が行われる。
【0131】
かかる実機構の動作の向き及び速度の変更は、実行速度可変部42によりなされる。実行速度可変部42は、機構制御部41から実機構2に対して出力される制御指令を、倍率指定部5dによって指定された速度倍率を乗じた速度で動作するように上書きし、また、実行ボタン5a及び逆方向実行ボタン5cの選択による動作の向きに応じて、制御指令による動作の向き及び、動作指令の実行順を順方向又は逆方向とする。
【0132】
また、ブレークポイント有効無効切り替え部5eは、図5のブレークポイント30cを参照して説明したブレークポイントによる作業Tの動作の停止を有効とするか無効とするかをユーザに選択させることができる。すなわち、ブレークポイント有効無効切り替え部5eによって、有効が選択されている場合、機構制御装置4は、動作指令に含まれるブレークポイントの指令に従い、作業Tの動作を停止させる。これに対し、すなわち、ブレークポイント有効無効切り替え部5eによって、無効が選択されている場合、機構制御装置4は、動作指令に含まれるブレークポイントの指令を無視する。
【0133】
このようにすることで、実機構2に最初に動作をさせる際には、あらかじめ指定しておいたブレークポイントで実機構2の動作を停止させ、その実行内容を確認しながら作業T全体の動作を確認することができる一方、かかる動作の確認が済んだ後、ブレークポイント有効無効切り替え部5eにおいて無効を選択することにより、指定済みのブレークポイントを除去して動作指令を再作成することなく、ブレークポイントでの動作の停止を行うことなく連続的に作業Tを実行できるようになる。
【0134】
図13は、機構制御システム1により実行される実機構2の動作指令の生成方法と、実機構2の制御方法を示すフロー図である。
【0135】
まず、ステップS1において、あらかじめ、仮想機構情報を指定しておく。これは、すでに図4を参照して説明した、仮想機構情報指定部31により実現される。続くステップS2では、物理モデル情報を指定しておく。これもまた、図4を参照して説明した、物理モデル情報指定部36により実現される。
【0136】
それから、ステップS3において、移動曲線を指定する。これは図4に示した移動曲線指定部30を用い、図5を参照して説明したように行うとよい。維持曲線の指定後、かかる移動曲線に基づいて、ステップS4で動作指令を生成する。この動作指令の生成は、図4の動作指令生成部により、図6を参照して説明した方法で行われる。
【0137】
ここまでのステップS1~S4は、作業Tについての動作指令の生成方法を示している。さらに、ステップS8までで、実機構2の制御方法が示される。
【0138】
ステップS5では、指定された物理モデル情報に基づいて、実機構2に含まれる電動機の負荷変動を算出する。この算出は、図4を参照して説明した負荷変動算出部35によりなされる。算出された負荷変動に基づいて、ステップS6では、電動機選定情報が出力され、ユーザに提示される。ユーザはかかる電動機選定情報に基づいて適切な電動機を選定し、実機構2を構築する。
【0139】
また、ステップS7では、ステップS4にて生成された動作指令を、機構制御装置4に出力する。最後に、ステップS8では、機構制御装置4が、動作指令に基づいて、構築された実機構2を制御することにより、作業Tが実現される。
【符号の説明】
【0140】
1 機構制御システム、2 実機構、3 動作指令生成装置、4 機構制御装置、5 操作端末、5a 実行ボタン、5b 停止ボタン、5c 逆方向実行ボタン、5d 倍率指定部、5e ブレークポイント有効無効切り替え部、6 コンピュータ、6a CPU、6b RAM、6c 外部記憶装置、6d GC、6e 入力デバイス、6f I/O、6g データバス、7 仮想機構、7a スライダ、7b クランク軸、7c テーブル、7d カム軸、8 外部機器、30 移動曲線指定部、30a 時間目盛、30b マスター軸回転角目盛、30c ブレークポイント、30d 軸、30e 外力、30f 軸、30g 出力信号、30h 入力信号、30i 移動曲線、30j 単位移動曲線、30k 接続移動曲線、30l 始点、30m 終点、31 仮想機構情報指定部、32 仮想機構情報保持部、32a 仮想機構情報、33 動作指令生成部、33a 変換、33b 変換、33c 逆キネマティクス演算、33d 変数の値、34 動作指令出力部、35 負荷変動算出部、36 物理モデル情報指定部、37 物理モデル情報保持部、37a 物理モデル情報、38 電動機選定情報出力部、38a 電動機指定部、38b モデル指定部、38c 要求諸元表示部、38d 電動機諸元表示部、38e 負荷変動表示部、38f,38g,38h 領域、40 動作指令保持部、41 機構制御部、42 実行速度可変部。

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13