JP2022039471A - シミュレーション装置及びシミュレーションシステム - Google Patents

シミュレーション装置及びシミュレーションシステム Download PDF

Info

Publication number
JP2022039471A
JP2022039471A JP2020144512A JP2020144512A JP2022039471A JP 2022039471 A JP2022039471 A JP 2022039471A JP 2020144512 A JP2020144512 A JP 2020144512A JP 2020144512 A JP2020144512 A JP 2020144512A JP 2022039471 A JP2022039471 A JP 2022039471A
Authority
JP
Japan
Prior art keywords
robot
data
simulation
model
server system
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.)
Granted
Application number
JP2020144512A
Other languages
English (en)
Other versions
JP7442413B2 (ja
Inventor
明紀 谷
Akinori Tani
一志 成相
Hitoshi Nariai
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.)
Kawasaki Heavy Industries Ltd
Original Assignee
Kawasaki Heavy Industries Ltd
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 Kawasaki Heavy Industries Ltd filed Critical Kawasaki Heavy Industries Ltd
Priority to JP2020144512A priority Critical patent/JP7442413B2/ja
Priority to CN202180053238.9A priority patent/CN115997182A/zh
Priority to PCT/JP2021/031659 priority patent/WO2022045320A1/ja
Priority to KR1020237008797A priority patent/KR20230048430A/ko
Priority to US18/023,758 priority patent/US20240037294A1/en
Publication of JP2022039471A publication Critical patent/JP2022039471A/ja
Application granted granted Critical
Publication of JP7442413B2 publication Critical patent/JP7442413B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/25Manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Theoretical Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Accounting & Taxation (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

【課題】実機ロボットと同様の動作を表す仮想的なロボットモデルの画像を出力することができるシミュレーション装置等を提供する。【解決手段】シミュレーション装置は、目標動作データに従って仮想的なロボットモデルに動作させ、前記ロボットモデルの画像データを表示装置に出力するシミュレータ機能部と、記憶部と、前記目標動作データに従った前記ロボットモデルの動作であり且つ前記表示装置に表示される画像に表される第1動作への変更の入力を受け付け、前記変更が反映された第2動作での前記ロボットモデルの状態を示す情報を、前記目標動作データに含まれる前記第1動作の情報と関連付けて前記記憶部に記憶させる処理部とを含み、前記シミュレータ機能部は、前記ロボットモデルに前記第1動作をさせる場合に、前記第2動作を表す画像データを前記表示装置に出力する。【選択図】図1

Description

本開示は、シミュレーション装置及びシミュレーションシステムに関する。
従来から、産業用ロボット及びその周辺環境を設計するために、コンピュータ装置上でのシミュレーションが利用される。例えば、特許文献1は、多関節アームを有するオフセットロボットについての仮想ロボット開発システムと実ロボット運用システムとを動的にリンクさせる総合管理システムを開示する。実ロボット運用システムは、仮想ロボット開発システムからシミュレーションによる制御命令を受け取り、オフセットロボットの運動制御のシミュレーションを行うことができる。実ロボット運用システムは、シミュレーションによるオフセットロボットの運動の誤差等の仮想運用情報を仮想ロボット開発システムにフィードバックする。このシミュレーションとフィードバックとにより、仮想ロボット開発システムにおいて制御プログラムが開発される。
特開2007-260834号公報
例えば、実機のオフセットロボットの動作と仮想ロボット開発システムでシミュレーションされる仮想的なオフセットロボットのモデルの動作との間には、オフセットロボットの慣性及び剛性、オフセットロボットの関節の粘性、並びに関節の駆動装置の反応時間等の特性の差異に起因する差異が生じ得る。特性の差異を完全になくすことは困難である。仮想運用情報を用いて開発される制御プログラムも、特性の差異を完全になくすことは困難であり、オフセットロボットのモデルに実行させる動作と実機のオフセットロボットに実行させる動作との間に差異を生じる可能性がある。例えば、制御プログラムは、オフセットロボットのモデルに意図通りの動作をさせることができないおそれがある。
本開示は、実機ロボットと同様の動作を表す仮想的なロボットモデルの画像を出力することができるシミュレーション装置及びシミュレーションシステムを提供することを目的とする。
本開示の一態様に係るシミュレーション装置は、コンピュータ装置内に構成されるシミュレーション装置であって、一連の目標の動作を示す目標動作データに従って仮想的なロボットモデルに動作させ、動作する前記ロボットモデルの画像データを表示装置に出力するシミュレータ機能部と、前記目標動作データと前記ロボットモデルに関連するデータとを記憶する記憶部と、前記目標動作データに従った前記ロボットモデルの動作であり且つ前記表示装置に表示される画像に表される第1動作への変更の入力を受け付け、前記変更が反映された動作である第2動作での前記ロボットモデルの状態を示す情報を、前記目標動作データに含まれる前記第1動作の情報と関連付けて前記記憶部に記憶させる処理部とを含み、前記シミュレータ機能部は、前記ロボットモデルに前記第1動作をさせる場合に、前記第2動作を表す画像データを前記表示装置に出力する。
本開示の技術によれば、実機ロボットと同様の動作を表す仮想的なロボットモデルの画像を出力することが可能になる。
実施の形態に係るシミュレーションシステムの構成の一例を示す概略図 実施の形態に係るロボット作業エリアの一例を示す平面図 実施の形態に係るコンピュータ装置のハードウェア構成の一例を示すブロック図 実施の形態に係るシミュレーション装置が構成されるコンピュータ装置の機能的な構成の一例を示すブロック図 実施の形態に係るコンピュータ装置のシミュレータ機能部の機能的な構成の一例を示すブロック図 ロボット及びロボットモデルそれぞれの第1動作の状態の一例を同スケールで示す側面図 修正制御プログラムデータを用いてシミュレーションを実行する場合でのロボットモデルの第1動作の状態の一例を示す側面図 実施の形態に係るシミュレーションシステムの動作の一例を示すフローチャート 実施の形態に係るシミュレーションシステムの動作の一例を示すフローチャート 実施の形態に係るシミュレーションシステムの動作の一例を示すフローチャート 変形例1に係るシミュレーションシステムの構成の一例を示す概略図 変形例2に係るシミュレーションシステムの構成の一例を示す概略図
(実施の形態)
以下において、本開示の実施の形態を、図面を参照しつつ説明する。なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、添付の図面における各図は、模式的な図であり、必ずしも厳密に図示されたものでない。さらに、各図において、実質的に同一の構成要素に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。また、本明細書及び特許請求の範囲では、「装置」とは、1つの装置を意味し得るだけでなく、複数の装置からなるシステムも意味し得る。
[シミュレーションシステムの構成]
実施の形態に係るシミュレーションシステム1の構成を説明する。図1は、実施の形態に係るシミュレーションシステム1の構成の一例を示す概略図である。図1に示すように、シミュレーションシステム1は、シミュレーションコンピュータ100と、実機のロボット200と、ロボットコントローラ300とを含む。ロボットコントローラ300は実機制御装置の一例である。
これに限定されないが、本実施の形態では、ロボット200は、産業用ロボットであり、ロボットアーム210とエンドエフェクタ220とを備える。ロボットアーム210は、少なくとも1つの関節を有し、少なくとも1つの自由度を有する。エンドエフェクタ220は、ワーク等の作業の対象物Wに作用を加えることができるように構成される。ロボットアーム210の先端は、エンドエフェクタ220が取り付けられるように構成される。ロボットアーム210は、エンドエフェクタ220の位置及び姿勢を自在に変更することができる。ロボット200は、ロボットアーム210及びエンドエフェクタ220を用いて対象物Wを処理する。本実施の形態では、ロボットアーム210の型式は、垂直多関節型であるが、これに限定されず、いかなる型式であってもよく、例えば、水平多関節型、極座標型、円筒座標型又は直角座標型等であってもよい。
ロボットコントローラ300は、ロボット200の動作を制御する。ロボットコントローラ300は、操作入出力装置400に入力される指令、情報及びデータ等を処理する。ロボットコントローラ300は、上記指令、情報及びデータ等に従って、ロボット200の動作を制御する。例えば、ロボットコントローラ300は、ロボット200への動力等の供給を制御する。ロボットコントローラ300は、種々の指令、情報及びデータ等を操作入出力装置400に出力する。このようなロボットコントローラ300は、コンピュータ装置310(図3参照)を備える。ロボットコントローラ300は、ロボット200に供給する電力を制御するための電気回路、及びエンドエフェクタ220に供給する塗料等の物質の供給を制御するための機器等を備えてもよい。
ロボットコントローラ300は、ロボット200及び操作入出力装置400と有線通信又は無線通信を介して接続される。これらの間の通信は、いかなる有線通信及び無線通信であってもよい。本実施の形態では、ロボットコントローラ300及び操作入出力装置400は、ロボット200が配置されるロボット作業エリアRAに配置される。なお、ロボットコントローラ300及び操作入出力装置400の少なくとも1つは、ロボット作業エリアRAと異なる場所、例えば、遠隔の場所に配置されてもよい。
操作入出力装置400は、入力装置410及び提示装置420を備える。入力装置410は、種々の指令、情報及びデータ等の入力を受け付け、ロボットコントローラ300に出力する。入力装置410は、公知のいかなる入力装置であってもよく、例えば、ロボット200の操作のための入力が可能である装置あってもよい。提示装置420は、ロボットコントローラ300等から受け取る指令、情報及びデータ等を、ユーザ(以下、「操作者」とも呼ぶ)Pに知覚可能に提示する。例えば、提示装置420は、ディスプレイ及びスピーカ等を備えてもよい。
また、これに限定されないが、本実施の形態では、図2に示すように、ロボット作業エリアRAには、ロボット200の周辺機器として、対象物Wをロボット200へ搬送する第1搬送装置510と、ロボット200によって処理された後の対象物Wを他のエリアWAa~WAcそれぞれに搬送する第2搬送装置521~523とが配置されている。図2は、実施の形態に係るロボット作業エリアRAの一例を示す平面図である。
本実施の形態では、ロボット200は、第1搬送装置510によって搬送されてきた対象物Wを、当該対象物Wの搬送先のエリアWAa~WAcに応じて第2搬送装置521~523に移送するライン作業を行うものとする。これに限定されないが、本実施の形態では、搬送装置510及び521~523は、ベルトコンベヤであり、無端輪状の搬送ベルト510a及び521a~523aを周回移動させる。ロボットコントローラ300は、ロボット200の制御の外部軸制御として、搬送装置510及び521~523の動作制御を、ロボット200の動作制御と協調して実行するように構成される。
図1に示すように、シミュレーションコンピュータ100は、ロボット作業エリアRAと異なる場所にある設計作業エリアDAに配置される。シミュレーションコンピュータ100は、ロボット作業エリアRAに配置されるロボット及びその周辺環境を設計するために用いられる。例えば、シミュレーションコンピュータ100は、仮想的なロボットモデル及び仮想的な周辺環境モデル、仮想的な作業空間モデル等を含む仮想的な作業エリアモデルを構築することが可能である。周辺環境モデルは、仮想的な周辺機器モデル、仮想的な周辺構造物モデル及びロボットモデルの処理対象である仮想的な対象物モデル等を含み得る。例えば、シミュレーションコンピュータ100は、工場及び倉庫等でのラインの設計等のために用いられ、仮想的なライン等を構築することができる。
さらに、シミュレーションコンピュータ100は、ロボットモデル及び周辺機器モデル等に自動で所定の動作をさせるための制御プログラムデータを作成することが可能である。制御プログラムデータは、当該所定の動作の全てを自動で実行するためのデータであってもよく、当該所定の動作の一部を自動で実行するためのデータであってもよい。制御プログラムデータは、ロボット200等の動作を制御するロボットコントローラ300によって利用可能である。ロボットコントローラ300は、制御プログラムデータに従って、ロボット200等に自動で所定の動作をさせる。シミュレーションコンピュータ100は、制御プログラムデータに従ってロボットモデル及び周辺機器モデル等に自動で所定の動作をさせることも可能である。シミュレーションコンピュータ100は、作業エリアモデルの構築とオフラインでの作業エリアモデルのシミュレーションとを可能にする。
例えば、ロボットモデル、周辺環境モデル及び作業空間モデルに、3次元CAD(Computer-Aided Design)モデル及び3次元CG(Computer Graphics)モデル等の3次元モデルが用いられてもよく、2次元モデルが用いられてもよい。3次元モデル及び2次元モデルは、実物のロボット、周辺環境及び作業空間の特徴に対応する特徴を有するように構成される。例えば、3次元モデル及び2次元モデルは、実物の形状及び寸法に対応する形状及び寸法、実物の可動部分に対応する可動部分、並びに、実物の各部分の特性に対応する各部分の特性等を有してもよい。例えば、3次元モデル及び2次元モデルの可動部分の動作方向及び動作範囲は、実物の動作方向及び動作範囲に対応してもよい。例えば、3次元モデル及び2次元モデルの各部の慣性、剛性及び粘性等のインピーダンス特性が実物のインピーダンス特性に対応してもよい。3次元モデル及び2次元モデルの各部の重量特性及び重量分布が実物の重量特性及び重力分布に対応してもよい。
シミュレーションコンピュータ100は、コンピュータ装置110と、入力装置120と、提示装置130とを備える。コンピュータ装置110の構成は特に限定されず、例えば、コンピュータ装置110は、パーソナルコンピュータ、ワークステーション及びサーバ等であってもよい。シミュレーション装置140(図4参照)がコンピュータ装置110内に構成され、シミュレーション装置140の機能はコンピュータ装置110によって実現される。
入力装置120は、種々の指令、情報及びデータ等の入力を受け付け、コンピュータ装置110に出力する。例えば、入力装置120は、レバー、ボタン、キー、キーボード、タッチパネル、タッチディスプレイ、ジョイスティック、モーションキャプチャ、カメラ及びマイク等の公知の入力手段を含んでもよい。例えば、入力装置120は、スマートフォン及びタブレットなどのスマートデバイス、個人情報端末(PDA:Personal Data Assistant)又はその他の端末装置等であってもよい。
提示装置130は、コンピュータ装置110等から受け取る指令、情報及びデータ等を、シミュレーションコンピュータ100のユーザ(以下、「設計者」とも呼ぶ)に知覚可能に提示する。例えば、提示装置130は、ディスプレイ及びスピーカ等を備えてもよい。例えば、提示装置130は、仮想的な作業エリアモデル等の画像を表示する。入力装置120がタッチパネル又はタッチディスプレイを含む場合、入力装置120は提示装置130の機能を兼ねてもよい。提示装置130は表示装置の一例である。
本実施の形態では、コンピュータ装置110は、有線通信又は無線通信を介して相互にデータ通信可能にロボットコントローラ300と接続される。これらの間の通信は、いかなる有線通信及び無線通信であってもよいが、本実施の形態では、通信ネットワークNを介した通信である。この場合、コンピュータ装置110及びロボットコントローラ300は、通信ネットワークNと直接的に接続するように構成されてもよく、通信用コンピュータ等の通信機器(図示略)を介して通信ネットワークNと接続するように構成されてもよい。
例えば、コンピュータ装置110は、制御プログラムデータをロボットコントローラ300に送信する。ロボットコントローラ300は当該制御プログラムデータに従ってロボット200等に動作させる。当該制御プログラムデータに従ったロボット200等の動作が操作者Pによって修正されると、修正が反映された修正制御プログラムデータは、ロボットコントローラ300によってコンピュータ装置110に送信される。設計者は、シミュレーションコンピュータ100及び修正制御プログラムデータに含まれる情報を用いて、作業エリアモデルの構築及び当該作業エリアモデルのシミュレーションを行うことができる。
通信ネットワークNは特に限定されず、例えば、ローカルエリアネットワーク(Local Area Network:LAN)、広域ネットワーク(Wide Area Network:WAN)、インターネット、又はこれらの2つ以上の組み合わせを含むことができる。通信ネットワークNは、ブルートゥース(Bluetooth(登録商標))及びZigBee(登録商標)などの近距離無線通信、ネットワーク専用回線、通信事業者の専用回線、公衆交換電話網(Public Switched Telephone Network:PSTN)、モバイル通信網、インターネット網、衛星通信、又は、これらの2つ以上の組み合わせを用いるように構成され得る。モバイル通信網は、第4世代移動通信システム及び第5世代移動通信システム等を用いるものであってもよい。通信ネットワークNは、1つ又は複数のネットワークを含むことができる。
コンピュータ装置110とロボットコントローラ300とは、記憶媒体を介して互いに情報等を入出力するように構成されてもよい。例えば、記憶媒体は、半導体ベースの若しくは他の集積回路(IC:Integrated Circuit)、ハードディスクドライブ(HDD:Hard Disk Drive)、ハイブリッドハードドライブ(HHD:Hybrid Hard Disk Drive)、光ディスク、光ディスクドライブ(ODD:Optical Disk Drive)、光磁気ディスク、光磁気ドライブ、フロッピィディスクドライブ(FDD:Floppy Disk Drive)、磁気テープ、固体ドライブ(SSD:Solid State Drive)、RAMドライブ、セキュアデジタルカード若しくはドライブ、任意の他の適切な記憶媒体、又はこれらの2つ以上の組合せを含むことができる。
シミュレーションコンピュータ100のコンピュータ装置110及びロボットコントローラ300のコンピュータ装置310のハードウェア構成の一例を説明する。図3は、実施の形態に係るコンピュータ装置110及び310のハードウェア構成の一例を示すブロック図である。図3に示すように、コンピュータ装置110及び310はいずれも、プロセッサ11と、メモリ12と、ストレージ13と、入出力I/F(インタフェース:Interface)14と、通信I/F15とを構成要素として含む。これに限定されないが、これらの構成要素は、例えばバス20を介して相互に接続される。なお、コンピュータ装置110及び310が備える構成要素は、上記構成要素に限定されず、例えば、コンピュータ装置110及び310の制御対象及び接続対象に対応して構成要素が追加されてもよい。
プロセッサ11及びメモリ12は演算器を構成する。演算器は、他の装置との指令、情報及びデータ等の送受信を行う。演算器は、各種機器からの信号の入力及び各制御対象への制御信号の出力を行う。
メモリ12は、プロセッサ11が実行するプログラム、及び各種固定データ等を記憶する。メモリ12は、揮発性メモリ及び不揮発性メモリなどの半導体メモリ等の記憶装置で構成されてもよい。これに限定されないが、本実施の形態では、メモリ12は、揮発性メモリであるRAM(Random Access Memory)と不揮発性メモリであるROM(Read-Only Memory)とを含む。
ストレージ13は、各種データを記憶する。ストレージ13は、ハードディスクドライブ及びSSD等の記憶装置で構成されてもよい。
プロセッサ11は、RAM及びROMと一緒にコンピュータシステムを形成する。コンピュータシステムは、プロセッサ11がRAMをワークエリアとして用いてROMに記録されたプログラムを実行することによって、コンピュータ装置110又は310の機能を実現してもよい。コンピュータ装置110及び310の機能の一部又は全部は、上記コンピュータシステムにより実現されてもよく、電子回路又は集積回路等の専用のハードウェア回路により実現されてもよく、上記コンピュータシステム及びハードウェア回路の組み合わせにより実現されてもよい。コンピュータ装置110及び310は、単一のコンピュータ装置による集中制御により各処理を実行してもよく、複数のコンピュータ装置の協働による分散制御により各処理を実行してもよい。
これに限定されないが、例えば、プロセッサ11は、CPU(中央処理装置:Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含み、IC(集積回路)チップ、LSI(Large Scale Integration)等に形成された論理回路又は専用回路によって各処理を実現してもよい。複数の処理は、1つ又は複数の集積回路により実現されてもよく、1つの集積回路により実現されてもよい。
通信I/F15は、コンピュータ装置110又は310と通信ネットワークNとを接続するインタフェースである。通信I/F15は、通信ネットワークNを介して、他のコンピュータ装置等との通信を実行し、データ等を送受信する機能を有する。通信I/F15は、プロセッサ11からの指令に従って、データ等を他のコンピュータ装置等に送信し、他のコンピュータ装置等から送信されたデータ等を受信し、プロセッサ11に伝達する。
入出力I/F14は、コンピュータ装置110又は310と外部装置30とを接続するインタフェースである。例えば、外部装置30は、入力装置120、提示装置130並びに操作入出力装置400の入力装置410及び提示装置420等を含むが、その他の装置も含み得る。例えば、外部装置30は、記憶装置又は記憶媒体のドライブ(補助記憶装置)であってもよい。入出力I/F14は、データ等の入力を受け付ける入力I/Fとデータ等を出力する出力I/Fとを一体化して含んでもよく、分離して含んでもよい。
コンピュータ装置110の機能的な構成を説明する。図4は、実施の形態に係るシミュレーション装置140が構成されるコンピュータ装置110の機能的な構成の一例を示すブロック図である。図5は、実施の形態に係るコンピュータ装置110のシミュレータ機能部1405の機能的な構成の一例を示すブロック図である。
図4に示すように、コンピュータ装置110は、シミュレーション装置140を含む。例えば、シミュレーション装置140の動作は、コンピュータ装置110にインストールされるソフトウェアによって実現されてもよい。コンピュータ装置110のプロセッサ11は、上記ソフトウェアを実行することでシミュレーション装置140として動作する。
シミュレーション装置140は、入力部1401と、出力部1402と、構築部1403と、データ生成部1404と、シミュレータ機能部1405と、データ送信部1406と、データ受信部1407と、データ更新部1408と、処理部1409と、記憶部1410とを機能的構成要素として含む。記憶部1410の機能は、ストレージ13によって実現されるが、記憶部1410の機能の一部は、メモリ12によって実現されてもよい。記憶部1410を除くシミュレーション装置140の各機能的構成要素の機能は、プロセッサ11及びメモリ12等によって実現されてもよい。
図5に示すように、シミュレータ機能部1405は、シミュレーション実行部140aと、仮想ロボットコントローラ140bと、変換部140cとを機能的構成要素として含む。
図4に示すように、入力部1401は、シミュレーションコンピュータ100の入力装置120から指令、情報及びデータ等の入力を受け付け、シミュレーション装置140内の各機能的構成要素に送る。入力部1401の機能は、入出力I/F14等によって実現されてもよい。
出力部1402は、構築部1403及びシミュレータ機能部1405等から受け取る指令、情報及びデータ等をシミュレーションコンピュータ100の提示装置130に出力する。出力部1402の機能は、入出力I/F14等によって実現されてもよい。
記憶部1410は、種々の情報を記憶し、記憶された情報の読出しを可能にする。記憶部1410は、仮想的な作業エリアモデルを形成する材料となり得る仮想的な構成要素モデルのデータを含むモデルデータDmを記憶する。例えば、モデルデータDmは、様々な仮想的なロボットモデル、様々な仮想的な周辺環境モデル及び様々な仮想的な作業空間モデル等の構成要素モデルの3次元モデルのデータを含み得る。
記憶部1410は、構築部1403等によって構築された作業エリアモデルMのデータを記憶する。記憶部1410は、データ生成部1404等によって生成された制御プログラムデータDpを記憶する。
構築部1403は、仮想的な作業エリアモデルMを構築する。具体的には、構築部1403は、入力装置120に入力される指令及び情報等に従って、仮想的な3次元空間モデルを設定し提示装置130に表示させる。さらに、構築部1403は、入力装置120を介して指定される仮想的な作業空間モデル、仮想的なロボットモデル及び仮想的な周辺環境モデルの3次元モデルのデータを、記憶部1410のモデルデータDmから読み出す。構築部1403は、仮想的な3次元空間モデルを提示装置130に表示させつつ、入力装置120を介して指定される位置、姿勢及びサイズ等に従って、読み出した各3次元モデルを当該3次元空間モデル内に配置する。構築部1403は、入力装置120に入力される指令に従って、各3次元モデルが配置された3次元空間モデルを作業エリアモデルMとして記憶部1410に記憶させる。作業エリアモデルMは、仮想的なロボットモデルMa、仮想的な周辺環境モデルMb及び仮想的な作業空間モデルMc等を含む。例えば、ロボットモデルMaは、ロボットアームモデルMaa及びエンドエフェクタモデルMabを備える。記憶部1410には、様々な作業エリアモデルMが記憶され得る。
データ生成部1404は、入力装置120に入力される指令等に従って、制御プログラムデータDpを生成し、記憶部1410に記憶させる。データ生成部1404は、作業エリアモデルM毎に制御プログラムデータDpを生成し、当該制御プログラムデータDpと作業エリアモデルMとに互いを関連付けるためにID等の識別情報を付与してもよい。
制御プログラムデータDpは、作業エリアモデルM内でロボットモデルMa及び周辺環境モデルMbに動作を実行させるための制御プログラム、並びに/又は、当該制御プログラムがその実行のために用いる実行データを含み得る。これに限定されないが、本実施の形態では、上記制御プログラムは、ロボットモデルMa及び周辺環境モデルMbに対応する実物のロボット及び周辺環境に動作を実行させるためのプログラムでもある。
実行データは、目標動作データDt及び設定データDs等を含む。設定データDsは、モデルに設定されるデータとユーザ環境に設定されるデータとを含み得る。モデルに設定されるデータは、ロボットモデルMa及び周辺環境モデルMbの種別毎に設定されるデータ、並びに、ロボットモデルMaのエンドエフェクタモデルMabの種別毎に設定されるデータ等を含み得る。ユーザ環境に設定されるデータは、ロボットモデルMa及び周辺環境モデルMbに対応する実物のロボット及び周辺環境を操作するための操作入出力装置400等の操作器の種別毎に設定されるデータ、並びに、操作器に表示される画面に設定されるデータ等を含み得る。データ生成部1404は、入力装置120及び/又は入力装置120以外の外部装置30から入力される指令、情報及びデータ等に従って設定データDsを生成する。
目標動作データDtは、作業エリアモデルM内でロボットモデルMa及び周辺環境モデルMbが実行する一連の目標の動作を示すデータである。目標動作データDtは、ロボットモデルMa及び周辺環境モデルMbに対応する実機のロボット及び周辺環境の周辺機器に一連の動作をさせるための教示データとして利用可能なデータであってもよい。目標動作データDtは、一連の目標の動作に含まれる各動作について、ロボットモデルMaの各部の位置、姿勢及び力の情報と、周辺環境モデルMbの各部の位置及び姿勢の情報とを含む。位置及び姿勢の情報は、作業エリアモデルM内での3次元の位置及び姿勢を示す情報であり、力の情報は、作業エリアモデルM内での3次元の力の方向及び大きさを示す情報である。
例えば、ロボットモデルMaが図1及び図2に示すロボット200に対応する場合、ロボットモデルMaのロボットアームモデルMaa及びエンドエフェクタモデルMabはそれぞれ、ロボット200のロボットアーム210及びエンドエフェクタ220の仮想的なモデルである。ロボットモデルMaの各部の位置、姿勢及び力の情報は、エンドエフェクタモデルMabの位置、姿勢及び力の情報であってもよい。
例えば、周辺環境モデルMbが図2に示す搬送装置510及び521~523の仮想的なモデルである場合、周辺環境モデルMbの各部の位置及び姿勢の情報は、搬送ベルト510a及び521a~523aの周回位置、並びに/又は、搬送ベルト510a及び521a~523aの駆動装置の駆動量に対応し得る。
データ生成部1404は、入力装置120に入力される指令及び情報等に従って、ロボットモデルMa及び周辺環境モデルMbを動作させ、ロボットモデルMa及び周辺環境モデルMbの各動作での各部の位置、姿勢及び力を検出し、検出された位置、姿勢及び力の情報を用いて目標動作データDtを生成する。目標動作データDtは、位置、姿勢及び力の情報と実行時刻とが関連付けられる時系列データである。
データ生成部1404は、制御プログラムを生成する場合、目標動作データDtを用いてロボットモデルMa及び周辺環境モデルMbの制御プログラムを生成してもよい。データ生成部1404は、コンピュータ装置110が他の装置から受け付けた目標動作データを用いて制御プログラムを生成する場合もある。
データ送信部1406は、入力装置120に入力される指令等に従って、記憶部1410に記憶され且つ入力装置120を介して指定された制御プログラムデータDp等を、通信ネットワークNを介してロボットコントローラ300に送信する。
データ受信部1407は、制御プログラムデータDpa等を、ロボットコントローラ300から通信ネットワークNを介して受信し、データ更新部1408に送る。制御プログラムデータDpaは、制御プログラムデータDpに基づきロボットコントローラ300によって決定された制御プログラムデータである。例えば、制御プログラムデータDpは、ロボットコントローラ300によって実行された結果、実物のロボット200及び搬送装置510及び521~523の動作を目的の動作にするように、修正を受ける場合がある。この場合、制御プログラムデータDpaは、修正後の制御プログラムデータDpである。制御プログラムデータDpの修正が不要である場合、制御プログラムデータDpaは、未修正の制御プログラムデータDpである。
例えば、ロボット作業エリアRAにおいて、支障物がロボット200の側方及び上方等に存在する場合がある。ロボット200のインピーダンス特性が、ロボットモデルMaのインピーダンス特性と異なる場合がある。このような場合、ロボット200及び搬送装置510及び521~523が目的の動作を実行するように、ロボットコントローラ300を用いて制御プログラムデータDpが修正され得る。
データ更新部1408は、データ受信部1407から受け取った制御プログラムデータDpaを記憶部1410に記憶させる。データ更新部1408は、入力装置120に入力される更新指令に従って、制御プログラムデータDpaに対応し且つ記憶部1410に記憶されている制御プログラムデータDpを、制御プログラムデータDpaで置き換える。データ更新部1408は、入力装置120に入力される保存指令に従って、制御プログラムデータDpaを、制御プログラムデータDpに対応する第2のデータとして、制御プログラムデータDpと共に記憶部1410に記憶させる。
図4及び図5に示すように、シミュレータ機能部1405のシミュレーション実行部140aは、入力装置120に入力される指令等に従って、記憶部1410に記憶されている制御プログラムデータDpと作業エリアモデルMとを用いて、作業エリアモデルMの動作シミュレーションを実行する。具体的には、シミュレーション実行部140aは、目標動作データDtに従ってロボットモデルMa及び周辺環境モデルMbの目標の動作を指令するための目標動作指令を生成する。例えば、目標動作指令は、位置指令及び力指令を含んでもよい。例えば、位置指令は、ロボットモデルMaのエンドエフェクタモデルMab及び周辺環境モデルMbの動作部分の位置、姿勢、位置変化の方向及び速度、姿勢変化の方向及び速度等を含んでもよい。例えば、力指令は、ロボットモデルMaのエンドエフェクタモデルMabが対象物モデルMdに与える力の大きさ及び方向等を含んでもよい。対象物モデルMdは対象物Wの仮想的なモデルである。シミュレーション実行部140aは、目標動作指令を変換部140cに送る。
シミュレーション実行部140aは、目標動作指令に対応する制御指令を変換部140cを介して仮想ロボットコントローラ140bから受け取り、当該制御指令に従ってロボットモデルMa及び周辺環境モデルMbに動作させる。さらに、シミュレーション実行部140aは、当該制御指令に従って動作するロボットモデルMa及び周辺環境モデルMbの画像データを生成して提示装置130に出力し、当該画像データに対応する画像を提示装置130に表示させる。シミュレーションコンピュータ100のユーザである設計者は、制御プログラムデータDpに従ったロボットモデルMa及び周辺環境モデルMbの動作を視認することができる。
仮想ロボットコントローラ140bは、ロボットコントローラ300に対応して設けられ、ロボットコントローラ300と同様の処理を行うように構成される。仮想ロボットコントローラ140bは、変換部140cによる処理を受けた後の目標動作指令である変換動作指令を、変換部140cから受け取る。仮想ロボットコントローラ140bは、変換動作指令に従ってロボットモデルMa及び周辺環境モデルMbの各部に動作させるための制御指令を生成し、変換部140cに送る。
例えば、仮想ロボットコントローラ140bは、変換動作指令に基づき、ロボットモデルMaのロボットアームモデルMaaの各関節、エンドエフェクタモデルMabの動作部分、及び周辺環境モデルMbの各動作部分の動作量、動作速度及び動作トルク等の指令値を含む制御指令を生成してもよい。
変換部140cは、シミュレーション実行部140aと仮想ロボットコントローラ140bとの間で、一方から出力されたデータを他方に利用可能なデータに変換する。
ここで、これに限定されないが、本実施の形態では、シミュレーション装置140は、シミュレーションの対象のロボットモデルの種別に関係なく構築される。シミュレーション実行部140aは、シミュレーション装置140と共にシミュレーション装置140の一部として構築される。
仮想ロボットコントローラ140bは、シミュレーションの対象のロボットモデルの種別に応じて構築される。ロボットコントローラ300は、制御対象のロボットの種別に応じて生成される。例えば、ロボットコントローラ300の仕様は、制御対象のロボットの製造業者毎に異なり、ロボットコントローラ300の送受信信号は、制御対象のロボットの製造業者毎に異なる。仮想ロボットコントローラ140bの仕様も、対応するロボットコントローラ300毎に異なり、仮想ロボットコントローラ140bの入出力信号も、対応するロボットコントローラ300毎に異なる。仮想ロボットコントローラ140bの仕様は、制御対象のロボットモデルに対応する実機のロボットの製造業者毎に異なる。
仮想ロボットコントローラ140b及び変換部140cは、シミュレーション装置140にソフトウェア等として組み込まれ得る。仮想ロボットコントローラ140bとシミュレーション実行部140aとは、互いに直接的に信号を送受信することができないが、変換部140cを介することによって、互いに信号を送受信することができる。これにより、シミュレーション装置140の汎用性が向上する。なお、シミュレーション実行部140aと仮想ロボットコントローラ140bとが互いに直接的に信号を送受信することができるように、シミュレーション実行部140aが仮想ロボットコントローラ140bに対応して構築されてもよい。
図4に示すように、処理部1409は、提示装置130の画面に表示される画像に表されているロボットモデルMaの動作への変更の入力を受け付けることができるように構成される。具体的には、処理部1409は、提示装置130の画面に表示されているロボットモデルMaの像に対して、当該ロボットモデルMaの動作状態を変更するような入力を受け付けることができる。上記画面は、シミュレータ機能部1405が制御プログラムデータDpを用いてシミュレーションを実行することで提示装置130に表示させる作業エリアモデルMの画面である。
例えば、処理部1409は、入力装置120に入力される変更の指令等に従って、ロボットモデルMaの動作のうちの第1動作を表す第1画像において、第1動作を第2動作へ変更するように、第1画像を第2画像へ変更処理し、提示装置130の画面に表示させる。第2動作は、入力された変更が反映された動作であり、第2画像は、第2動作でのロボットモデルMaを表す画像である。例えば、第2動作は第1動作と異なる。例えば、第1動作及び第2動作等のロボットモデルMaの動作は、1フレームの画像で表されるような瞬間的な動作、及び、複数のフレームの画像で表され且つ複数の瞬間的な動作を含むような一連の動作等を含み得る。
さらに、処理部1409は、第2動作でのロボットモデルMaの状態を示す情報を、状態情報Diとして、目標動作データDtに含まれる第1動作の情報と関連付けて記憶部1410に記憶させる。処理部1409は、状態情報Diを作業エリアモデルMの情報の一部として記憶部1410に記憶させてもよい。例えば、第2動作でのロボットモデルMaの状態を示す情報は、第2動作でのロボットモデルMaの各部の位置及び姿勢などを示す情報、並びに、第2動作でのロボットモデルMaを表す第2画像のデータ等を含み得る。
ここで、ロボットモデルMaのインピーダンス特性を、ロボット200のインピーダンス特性と完全に一致するように設定することは、非常に困難である。さらに、ロボット200のインピーダンス特性は、ロボット200に作用する重力及びロボット200の周囲の熱等の影響を受け得る。例えば、演算量を低減するために、ロボットモデルMaにインピーダンス特性が設定されない場合もある。このため、図6に示すように、制御プログラムデータDpに従って、対象物W及び対象物モデルMdを把持する第1動作をロボット200及びロボットモデルMaそれぞれに実行させる場合、ロボット200のロボットアーム210(実線表示)とロボットモデルMaのロボットアームモデルMaa(破線表示)との間にたわみ量の差異が生じる。本例では、ロボットアームモデルMaaの剛性がロボットアーム210の剛性よりも大きいため、エンドエフェクタ220の位置は、目標の位置であるエンドエフェクタモデルMabの位置から下方へずれる。図6は、ロボット200及びロボットモデルMaそれぞれの第1動作の状態の一例を同スケールで示す側面図である。
そこで、操作者Pは、制御プログラムデータDpに従って第1動作を実行するロボット200について、エンドエフェクタ220の位置及び姿勢が目標の位置及び姿勢と合致するように、ロボットコントローラ300の制御プログラムデータDpを修正する。例えば、操作者Pは、エンドエフェクタ220を目標の位置及び姿勢に移動させることで、ロボットコントローラ300に目標の位置及び姿勢を教示してもよい。ロボットコントローラ300は、上記教示に従って制御プログラムデータDpを修正することで、修正制御プログラムデータDpaを生成してもよい。なお、教示方法はいかなる方法であってもよい。
図7に示すように、シミュレーション装置140のシミュレータ機能部1405が、修正制御プログラムデータDpaを用いてシミュレーションを実行すると、ロボットモデルMaのエンドエフェクタモデルMabの位置及び姿勢(実線表示)が目標の位置及び姿勢(破線表示)と合致しない場合がある。これは、ロボット200とロボットモデルMaとの間のインピーダンス特性の差異に起因する。目標の位置及び姿勢は、制御プログラムデータDpを用いる場合の位置及び姿勢である。本例では、ロボットアームモデルMaaの剛性がロボットアーム210の剛性よりも大きいため、エンドエフェクタモデルMabの位置は、目標の位置から上方へずれる。図7は、修正制御プログラムデータDpaを用いてシミュレーションを実行する場合でのロボットモデルMaの第1動作の状態の一例を示す側面図である。
そこで、設計者は、修正制御プログラムデータDpaを用いたシミュレーションを実行中、提示装置130の画面上において、入力装置120を用いてエンドエフェクタモデルMabを目標の位置及び姿勢に移動させることで、処理部1409にロボットモデルMaの状態を第1動作から第2動作に変動させる。さらに、設計者は、処理部1409に、第2動作でのロボットモデルMaの状態を示す情報を記憶部1410に記憶させる。
以降、シミュレータ機能部1405は、修正制御プログラムデータDpaを用いたシミュレーションを実行する場合、ロボットモデルMaの動作を表す画像の選択を設計者に要求する。シミュレータ機能部1405は、入力装置120を介して受け付ける指令に従って、ロボットモデルMaに第1動作をさせる場合に、第2動作を表す第2画像の画像データ又は第1動作を表す第1画像の画像データを出力する。
例えば、モデル及びモデルのレイアウト等の作業エリアモデルMの一部を変更する場合、及び、作業エリアモデルMのロボットモデルMa等を用いて新たな作業エリアモデルを生成する場合、シミュレータ機能部1405は、実機のロボット200の特性が反映された修正制御プログラムデータDpaを用いて、作業エリアモデルの動作をシミュレーションすることできる。さらに、シミュレータ機能部1405は、第1動作を画像表示するために、第2動作を表す第2画像の画像データを出力することで、設計者に違和感のない画像を提示することができる。よって、シミュレーションを用いた作業エリアモデルの正確な検証が可能になる。
[シミュレーションシステムの動作]
実施の形態に係るシミュレーションシステム1の動作を説明する。図8A~図8Cは、実施の形態に係るシミュレーションシステム1の動作の一例を示すフローチャートである。図8A~図8Cにおいて、ステップS101~S110の処理は作業エリアモデル及び制御プログラムデータの生成に関する処理であり、ステップS111~S115の処理は実物のロボット200を用いた制御プログラムデータの検証に関する処理であり、ステップS116~S126の処理は検証後の制御プログラムデータに関する処理である。
図8A~図8Cに示すように、まず、設計作業エリアDAの設計者は、入力装置120への入力を介して、コンピュータ装置110のシミュレーション装置140に、モデルデータDm及び設定データDsを記憶させる(ステップS101)。
次いで、設計者は、入力装置120への入力を介して、シミュレーション装置140に、作業エリアモデルMのレイアウトを構築させる(ステップS102)。具体的には、設計者は、シミュレーション装置140によって形成される仮想的な3次元空間内で、モデルデータDmを用いて、ロボットモデルMa、周辺環境モデルMb及び作業空間モデルMcの位置及び姿勢を指定し、各モデルを配置する。設計者は、シミュレーション装置140に、各モデルが配置された作業エリアモデルMを記憶させる。
次いで、設計者は、各モデルの干渉を検証する(ステップS103)。具体的には、設計者は、干渉チェックの指令を入力装置120に入力する。シミュレーション装置140は、設定データDs等に基づき、作業エリアモデルMの各モデルを動作させ、各モデルでの干渉の有無をチェックする。干渉がある場合、シミュレーション装置140は干渉箇所等を提示し、設計者は、入力装置120への入力を介してモデルの配置を修正する。
次いで、設計者は、シミュレーション装置140に、作業エリアモデルMのロボットモデルMa及び周辺環境モデルMbの概略的な目標動作データを決定させ記憶させる(ステップS104)。具体的には、設計者は、入力装置120への入力を介して、作業エリアモデルM内でのロボットモデルMa及び周辺環境モデルMbの概略的な目標動作を指定し、シミュレーション装置140に、当該目標動作に基づき概略的な目標動作データを生成させる。
次いで、設計者は、概略的な目標動作データに従ったタクトタイムをシミュレーション装置140に提示させる(ステップS105)。具体的には、ユーザは、シミュレーション装置140に、概略的な目標動作データに従った作業エリアモデルMのシミュレーションを実行させる。シミュレーション装置140は、概略的な目標動作データに従った一連の動作に要したタクトタイムとタクトタイムの目標時間範囲とを設計者に提示する。
タクトタイムが目標時間範囲から外れる場合(ステップS106でNo)、設計者は、シミュレーション装置140に各モデルのレイアウトの変更を指令し、ステップS102~S105を繰り返させる。
タクトタイムが目標時間範囲内に収まる場合(ステップS106でYes)、設計者は、シミュレーション装置140に、制御プログラムを生成させる(ステップS107)。具体的には、設計者は、シミュレーション装置140に、ロボットモデルMa及び周辺環境モデルMbの詳細な目標動作データDtを決定させ記憶させる。設計者は、入力装置120への入力を介して、ロボットモデルMa及び周辺環境モデルMbの詳細な目標動作を指定し、シミュレーション装置140に、当該目標動作に基づき詳細な目標動作データDtを生成させる。さらに、設計者は、シミュレーション装置140に、詳細な目標動作データDtを用いた制御プログラムを生成させる。シミュレーション装置140は、目標動作データDt及び制御プログラムを含む制御プログラムデータDpを記憶する。
次いで、設計者は、ステップS105と同様に、詳細な目標動作データに従った最終的なタクトタイムをシミュレーション装置140に提示させる(ステップS108)。
タクトタイムが目標時間範囲から外れる場合(ステップS109でNo)、設計者は、シミュレーション装置140に詳細な目標動作データDtの変更を指令し、ステップS107~S108を繰り返させる。
タクトタイムが目標時間範囲内に収まる場合(ステップS109でYes)、設計者は、シミュレーション装置140に、制御プログラムデータDpをロボット作業エリアRAのロボットコントローラ300へ送信させる(ステップS110)。ロボットコントローラ300は、受信した制御プログラムデータDpを記憶する。
次いで、ロボット作業エリアRAの操作者Pは、操作入出力装置400への入力を介して、ロボットコントローラ300に、制御プログラムデータDpに従ってロボット200並びに搬送装置510及び521~523を動作させる(ステップS111)。
ロボット200の動作の修正が必要である場合(ステップS112でYes)、操作者Pはロボット200の動作を修正する(ステップS113)。ロボット200の動作と目標動作とが一致しない場合、及び、ロボット200が周囲の物体と干渉する場合等に、上記修正が必要である。
次いで、操作者Pは、操作入出力装置400への入力を介して、ロボットコントローラ300に、ロボット200の動作の修正を制御プログラムデータDpに反映させることで、修正制御プログラムデータDpaを生成させ記憶させる(ステップS114)。
次いで、操作者Pは、ロボットコントローラ300に、修正制御プログラムデータDpaをコンピュータ装置110のシミュレーション装置140へ送信させる(ステップS115)。なお、操作者Pは、ロボット200の動作の修正が必要でない場合(ステップS112でNo)に本ステップにおいて、ロボットコントローラ300に制御プログラムデータDpを、修正制御プログラムデータDpaとして送信させる。
次いで、シミュレーション装置140は、受信した修正制御プログラムデータDpaを記憶する(ステップS116)。
次いで、設計作業エリアDAの設計者は、シミュレーション装置140に、修正制御プログラムデータDpaに従ったシミュレーションを実行させる(ステップS117)。
提示装置130に表示されるロボットモデルMaの動作に異常がある場合(ステップS118でYes)、設計者は、入力装置120へ指令を入力することで、シミュレーション装置140に、提示装置130の画面上において、ロボットモデルMaの該当する動作である第1動作を、目標の動作である第2動作に修正させる(ステップS119)。
次いで、シミュレーション装置140は、第2動作でのロボットモデルMaの状態を示す情報を、状態情報Diとして、修正制御プログラムデータDpaの第1動作の情報と関連付けて記憶する(ステップS120)。
なお、ロボットモデルMaの動作に異常がない場合(ステップS118でNo)、設計者による修正がないため、シミュレーション装置140は、記憶している修正制御プログラムデータDpaをそのまま維持する(ステップS121)。
その後、設計者によって、修正制御プログラムデータDpaに従ったシミュレーションの実行指令が入力装置120へ入力される(ステップS122)と、シミュレーション装置140は、ロボットモデルMaの動作を表す画像に、状態情報Diを使用するか否かを設計者に要求する(ステップS123)。
状態情報Diの使用の指令がある場合(ステップS124でYes)、シミュレーション装置140は、状態情報Diを用いてシミュレーションを実行し、状態情報Diに対応するロボットモデルMaの動作を、状態情報Diが反映された画像を用いて提示装置130に表示させる(ステップS125)。
状態情報Diの使用の指令がない場合(ステップS124でNo)、シミュレーション装置140は、状態情報Diを用いずにシミュレーションを実行し、状態情報Diに対応するロボットモデルMaの動作を、状態情報Diが反映されない画像を用いて提示装置130に表示させる(ステップS126)。
シミュレーションシステム1において、シミュレーション装置140は、実機のロボット200での動作結果が反映された修正制御プログラムデータDpaを用いて、作業エリアモデルMのシミュレーションを実行可能である。さらに、ロボット200とロボットモデルMaとの間に特性の差異がある場合でも、シミュレーション装置140は、画像上でのロボットモデルMaの動作を、ロボット200の動作と合致させることができる。さらに、シミュレーション装置140は、作業エリアモデルMを修正する場合、及び、新たな作業エリアモデルを生成する場合、修正制御プログラムデータDpaを用いて新たな制御プログラムデータを生成することができる。新たな制御プログラムデータは、実機のロボットの特性が反映されるため、実機のロボットの動作に対して高い精度を有し得る。
なお、シミュレーション装置140は、ステップS123~S126の処理を繰り返すように構成されてもよい。例えば、シミュレーション装置140は、シミュレーションの実行中、状態情報Diに対応するロボットモデルMaの動作が出現する毎に、状態情報Diの使用の有無を設計者に要求し、設計者の指令に従って、当該動作を表す画像を決定してもよい。
(変形例1)
変形例1に係るシミュレーションシステム1Aは、シミュレーションコンピュータの一部がクラウド上に存在する点で実施の形態と異なる。以下において、変形例1について、実施の形態と異なる点を中心に説明し、実施の形態と同様の点の説明を適宜省略する。
図9は、変形例1に係るシミュレーションシステム1Aの構成の一例を示す概略図である。図9に示すように、シミュレーションシステム1Aは、シミュレーション端末101Aと、サーバシステム102Aと、ロボット200と、ロボットコントローラ300と、操作入出力装置400とを含む。シミュレーション端末101Aと、サーバシステム102Aと、ロボットコントローラ300とは、互いに異なる場所に配置され、通信ネットワークNを介して相互にデータ通信可能に接続される。例えば、複数のシミュレーション端末101A、及び/又は、複数のロボット200それぞれを制御する複数のロボットコントローラ300が、通信ネットワークNを介してサーバシステム102Aと接続可能である。シミュレーション端末101Aは端末装置の一例である。
サーバシステム102Aは、実施の形態に係るシミュレーション装置140の機能を備え、例えば、複数のシミュレーション装置140の機能を実現可能である。サーバシステム102Aは、1つ又は複数のシミュレーション端末101Aそれぞれに対してシミュレーション装置140として機能し、1つ又は複数のロボットコントローラ300に対してシミュレーション装置140として機能するように構成される。サーバシステム102Aは、サーバ102Aa及びストレージ102Abを含む。なお、サーバ102Aaがストレージ102Abを含んでもよい。サーバ102Aaはコンピュータ装置であり、ストレージ102Abは記憶装置である。これに限定されないが、本変形例では、サーバ102Aaは、記憶部1410以外のシミュレーション装置140の全ての機能的構成要素の機能を備え、ストレージ102Abは、記憶部1410の機能を備える。サーバ102Aaの入力部1401及び出力部1402は、通信ネットワークNと接続され、シミュレーション端末101Aとデータ等を送受信する。
シミュレーション端末101Aは、入力装置120及び提示装置130を備えるコンピュータ装置であり、通信ネットワークNと接続可能である通信インタフェースを備える。シミュレーション端末101Aは、パーソナルコンピュータ、スマートフォン及びタブレットなどのスマートデバイス、個人情報端末又はその他の端末装置等であってもよい。シミュレーション端末101Aは、通信ネットワークNを介してサーバシステム102Aに所望の処理を実行させることができる。複数のシミュレーション端末101Aがサーバシステム102Aにアクセスし、それぞれの所望の処理をサーバシステム102Aに実行させることができる。
例えば、シミュレーション端末101Aは、専用のアプリケーションがインストールされ得るように構成され、当該アプリケーションが起動されることでサーバシステム102Aと接続されるように構成されてもよい。シミュレーション端末101Aは、当該アプリケーションを通じてサーバシステム102Aに指令を送ることができ、サーバシステム102Aに、実施の形態に係るシミュレーション装置140が実行可能な種々の処理を実行させて各処理の結果を当該アプリケーションの画面に出力させることができる。
例えば、シミュレーション端末101Aは、専用のウェブサイトにアクセス可能であるように構成され、当該ウェブサイトにログインすることでサーバシステム102Aと接続されるように構成されてもよい。シミュレーション端末101Aは、当該ウェブサイト上においてサーバシステム102Aに指令を送ることができ、サーバシステム102Aに、シミュレーション装置140が実行可能な種々の処理を実行させて各処理の結果を当該ウェブサイトに出力させることができる。
サーバシステム102Aは、様々な作業エリアモデル、モデルデータ及び制御プログラムデータ等の様々なデータをストレージ102Abに記憶するため、シミュレーション端末101Aは、多くの記憶容量を有する必要がない。サーバシステム102Aは、作業エリアモデルの構築、制御プログラムデータの生成、及びシミュレーションの実行等の多いい処理量を必要とする処理を実行するため、シミュレーション端末101Aは、高い処理能力を有する必要がない。よって、様々なユーザが様々なシミュレーション端末101Aを用いてシミュレーションシステム1Aを利用することができる。サーバシステム102Aは、複数のロボットコントローラ300とデータ通信することで、各ロボットコントローラ300の修正制御プログラムデータDpaを利用した様々なロボットモデルのシミュレーションを実行可能である。
(変形例2)
変形例2に係るシミュレーションシステム1Bは、ロボットコントローラの少なくともの一部がクラウド上に存在する点で変形例1と異なる。以下において、変形例2について、実施の形態及び変形例1と異なる点を中心に説明し、実施の形態及び変形例1と同様の点の説明を適宜省略する。
図10は、変形例2に係るシミュレーションシステム1Bの構成の一例を示す概略図である。図10に示すように、シミュレーションシステム1Bは、シミュレーション端末101Aと、第1サーバシステムとしてのサーバシステム102Aと、ロボット200と、第2サーバシステム301Bと、電力制御装置302Bと、中継装置303Bと、操作入出力装置400とを含む。シミュレーション端末101Aと、第1サーバシステム102Aと、第2サーバシステム301Bと、中継装置303Bとは、互いに異なる場所に配置され、通信ネットワークNを介して相互にデータ通信可能に接続される。例えば、複数のロボット200それぞれと接続された複数の中継装置303Bが、通信ネットワークNを介して第2サーバシステム301Bと接続可能である。
第2サーバシステム301Bは、実施の形態に係るロボットコントローラ300のコンピュータ装置310の機能を備え、例えば、複数のコンピュータ装置310の機能を実現可能である。第2サーバシステム301Bは、1つ又は複数のロボット200それぞれと、1つ又は複数の電力制御装置302Bそれぞれと、1つ又は複数の操作入出力装置400それぞれとに対して、ロボットコントローラ300として機能するように構成される。第2サーバシステム301Bは、第1サーバシステム102Aに対してロボットコントローラ300として機能するように構成される。
第2サーバシステム301Bは、サーバ301Ba及びストレージ301Bbを含む。なお、サーバ301Baがストレージ301Bbを含んでもよい。サーバ301Baはコンピュータ装置であり、ストレージ301Bbは記憶装置である。これに限定されないが、本変形例では、サーバ301Baは、コンピュータ装置310のプロセッサ11及びメモリ12の機能を備え、ストレージ301Bbは、ストレージ13の機能を備える。
サーバ301Baには、種々のロボット200及びその周辺機器を制御するためのソフトウェアがインストールされている。ストレージ301Bbは、種々のロボット200及び周辺機器のデータ、種々のロボット200及び周辺機器を制御するための制御プログラムデータ、及び種々のロボット200及び周辺機器のログデータ等の情報を記憶する。サーバ301Baは、ストレージ301Bbに記憶される情報を用いて、外部から受け取る指令に従ってロボット200等を動作させるための指令を生成し、当該ロボット200の中継装置303Bに送信する。サーバ301Baは、第1サーバシステム102Aから制御プログラムデータDpを受信し、ストレージ301Bbに記憶させ、修正制御プログラムデータDpaを第1サーバシステム102Aに送信する。
中継装置303Bは、通信ネットワークNと接続可能である通信インタフェースを備える。中継装置303Bは、通信ネットワークNを介して第2サーバシステム301Bと接続可能である。中継装置303Bは、ロボット200に搭載されるセンサ(図示略)等、電力制御装置302B及び操作入出力装置400と接続される。中継装置303Bは、当該センサ、電力制御装置302B及び操作入出力装置400と第2サーバシステム301Bとの間の通信を仲介する。中継装置303Bは、例えば、モデム、ONU(光回線の終端装置)及びルータ等の機器を含んでもよい。
電力制御装置302Bは、外部電源と接続され、中継装置303B及び通信ネットワークNを介して第2サーバシステム301Bから受け取る指令等に従って、ロボット200及びその周辺機器に供給する電力を制御する。電力制御装置302Bは、アンプ、インバータ及びコンバータ等を含んでもよい。第2サーバシステム301Bは、ロボット200の各部及び周辺機器の各モータの電流の指令値等を電力制御装置302Bに送信するように構成されてもよく、ロボット200のエンドエフェクタ220の目標動作指令等を電力制御装置302Bに送信するように構成されてよい。後者の場合、目標動作指令をモータの電流の指令値に変換する演算装置が、電力制御装置302Bに設けられてもよく、電力制御装置302Bと別個の装置として設けられてもよい。電力制御装置302Bは、各モータの電流値及び回転量等をフィードバック情報として第2サーバシステム301Bに送信してもよい。
操作入出力装置400の入力装置410は、入力される指令に従って、指令、情報及びデータ等を中継装置303B及び通信ネットワークNを介して第2サーバシステム301Bに送信する。操作入出力装置400の提示装置420は、中継装置303B及び通信ネットワークNを介して第2サーバシステム301Bから受け取る指令、情報及びデータ等を提示する。操作入出力装置400は、通信ネットワークNを介して第2サーバシステム301Bに所望の処理を実行させることができる。複数の操作入出力装置400が第2サーバシステム301Bにアクセスし、それぞれの所望の処理を第2サーバシステム301Bに実行させることができる。
操作入出力装置400はコンピュータ装置を含んでもよい。例えば、操作入出力装置400は、ティーチペンダント、パーソナルコンピュータ、スマートフォン及びタブレットなどのスマートデバイス、個人情報端末又はその他の端末装置等であってもよい。
例えば、操作入出力装置400は、専用のアプリケーションがインストールされ得るように構成され、当該アプリケーションが起動されることで中継装置303Bと第2サーバシステム301Bとの接続を確立するように構成されてもよい。操作入出力装置400は、当該アプリケーションを通じて、第2サーバシステム301Bに種々の処理を実行させて各処理の結果を当該アプリケーションの画面に出力させることができる。
例えば、操作入出力装置400は、専用のウェブサイトにアクセス可能であるように構成され、当該ウェブサイトにログインすることで中継装置303Bと第2サーバシステム301Bとの接続を確立するように構成されてもよい。操作入出力装置400は、当該ウェブサイト上において第2サーバシステム301Bに種々の処理を実行させて各処理の結果を当該ウェブサイトに出力させることができる。
第2サーバシステム301Bは、様々なロボット200、周辺機器及び制御プログラムデータ等の様々なデータをストレージ301Bbに記憶するため、電力制御装置302B、中継装置303B及び操作入出力装置400等は、多くの記憶容量を有する必要がない。第2サーバシステム301Bは、ロボット200の動作制御及び制御プログラムデータの修正等の多い処理量を必要とする処理を実行するため、電力制御装置302B、中継装置303B及び操作入出力装置400等は、高い処理能力を有する必要がない。よって、様々なユーザが第2サーバシステム301Bを用いて様々なロボット200に動作させることができる。
また、変形例2において、操作入出力装置400は、通信ネットワークNを介して、第2サーバシステム301B及び/又は中継装置303Bとデータ等を送受信するように構成されてもよい。これにより、ロボット作業エリアRA以外の場所に配置された操作入出力装置400によるロボット200の操作が可能である。
また、変形例2において、第1サーバシステム102Aが設けられなくてもよい。例えば、シミュレーション端末101A及び第1サーバシステム102Aの代わりに、実施の形態に係るシミュレーションコンピュータ100が設けられてもよい。シミュレーションコンピュータ100は、通信ネットワークNを介して、第2サーバシステム301Bとデータ通信可能に接続されてもよい。
(その他の実施の形態)
以上、本開示の実施の形態の例について説明したが、本開示は、上記実施の形態及び変形例に限定されない。すなわち、本開示の範囲内で種々の変形及び改良が可能である。例えば、各種変形を実施の形態及び変形例に施したもの、及び、異なる実施の形態及び変形例における構成要素を組み合わせて構築される形態も、本開示の範囲内に含まれる。
例えば、実施の形態に係るシミュレーションシステムにおいて、シミュレーション装置140は、複数のロボット200それぞれを制御する複数のロボットコントローラ300と、通信ネットワークNを介してデータ通信可能に接続され、各ロボットコントローラ300とデータ等を送受信するように構成されてもよい。
実施の形態及び変形例に係るシミュレーションシステムは、産業用のロボット200及びそのロボットモデルを対象とするが、これに限定されない。例えば、シミュレーションシステムが対象とするロボットは、サービス用ロボット、医療用ロボット、創薬用ロボット及びヒューマノイドのように他のタイプのロボットであってもよい。サービス用ロボットは、介護、医療、清掃、警備、案内、救助、調理、商品提供等の様々なサービス業で使用されるロボットである。
また、本開示の技術の各態様例は、以下のように挙げられる。本開示の一態様に係るシミュレーション装置は、コンピュータ装置内に構成されるシミュレーション装置であって、一連の目標の動作を示す目標動作データに従って仮想的なロボットモデルに動作させ、動作する前記ロボットモデルの画像データを表示装置に出力するシミュレータ機能部と、前記目標動作データと前記ロボットモデルに関連するデータとを記憶する記憶部と、前記目標動作データに従った前記ロボットモデルの動作であり且つ前記表示装置に表示される画像に表される第1動作への変更の入力を受け付け、前記変更が反映された動作である第2動作での前記ロボットモデルの状態を示す情報を、前記目標動作データに含まれる前記第1動作の情報と関連付けて前記記憶部に記憶させる処理部とを含み、前記シミュレータ機能部は、前記ロボットモデルに前記第1動作をさせる場合に、前記第2動作を表す画像データを前記表示装置に出力する。
上記態様によると、例えば、目標動作データが実機ロボットの動作結果に基づく場合、目標動作データには、実機ロボットの剛性、慣性及び粘性等の特性が反映され得る。実機ロボットとロボットモデルとの間には、特性の差異が存在し、それ故、同じ目標動作データに従ったこれらの動作の間に差異が生じ得る。シミュレーション装置は、表示装置の表示画像に表され且つ目標動作データに従ったロボットモデルの第1動作への変更の入力を受け付ける。上記変更が反映されたロボットモデルの第2動作は、例えば、目標動作データに従って第1動作を行う実機ロボットと同様の動作としてもよい。シミュレーション装置は、ロボットモデルに第1動作を実行させる場合、第2動作を表す画像を表示装置に表示させる。よって、シミュレーション装置は、目標動作データに従ってロボットモデルに動作させつつ、実機ロボットと同様の動作を表すロボットモデルの画像を表示装置に表示させることができる。
本開示の一態様に係るシミュレーション装置において、前記シミュレータ機能部は、前記ロボットモデルに前記第1動作をさせる場合に、前記シミュレーション装置のユーザから受け付ける指令に従って、前記第2動作を表す画像データ又は前記第1動作を表す画像データを選択可能に出力してもよい。上記態様によると、シミュレーション装置は、ロボットモデルに第1動作を実行させる場合、第2動作及び第1動作のいずれを表す画像も表示装置に表示させることができる。よって、シミュレーション装置は、ユーザが所望する画像を表示することができる。
本開示の一態様に係るシミュレーション装置は、前記ロボットモデル及び前記ロボットモデルの仮想的な周辺環境モデルの設定を受け付け、前記ロボットモデル及び前記周辺環境モデルを構築する構築部と、前記ロボットモデル及び前記周辺環境モデルを用いた前記ロボットモデルの目標の動作の設定を受け付けて前記目標動作データを生成し前記記憶部に記憶させるデータ生成部と、外部デバイスからの前記目標動作データの入力を受け付け、受け付けた前記目標動作データを用いて、前記記憶部に記憶される前記目標動作データを更新するデータ更新部とをさらに含んでもよい。
上記態様によると、シミュレーション装置は、ロボットモデル及び周辺環境モデルの構築と、当該ロボットモデル及び周辺環境モデルを用いた目標動作データの生成とを可能にする。さらに、シミュレーション装置は、外部からの目標動作データの入力と、当該目標動作データを用いたロボットモデル及び周辺環境モデルの動作とを可能にする。例えば、シミュレーション装置によって生成された目標動作データが、実機ロボットの実機制御装置等の外部デバイスによって実行される過程で変更を受けた場合、シミュレーション装置は、変更後の目標動作データを用いて既存の目標動作データを更新することができる。さらに、シミュレーション装置は、更新後の目標動作データを用いたロボットモデル及び周辺環境モデルの構築を可能にする。よって、シミュレーション装置は、実機ロボットでの動作結果が反映されたロボットモデル及び周辺環境モデルの構築を可能にする。
本開示の一態様に係るシミュレーション装置は、通信ネットワークを介して、前記ロボットモデルに対応する実機ロボットの実機制御装置に前記目標動作データを送信するデータ送信部をさらに含み、前記データ更新部は、前記通信ネットワークを介して前記実機制御装置から前記目標動作データを受け付け、受け付けた前記目標動作データを用いて、前記記憶部に記憶される前記目標動作データを更新してもよい。上記態様によると、シミュレーション装置は、実機制御装置との目標動作データの送受信を容易にする。シミュレーション装置は、実機制御装置で生成された目標動作データを用いた目標動作データの更新を容易にする。
本開示の一態様に係るシミュレーション装置において、前記目標動作データは、前記ロボットモデルに対応する実機ロボットに動作を実行させるための教示データであり、前記データ更新部は、前記実機ロボットの実機制御装置によって修正された前記教示データの入力を受け付け、修正後の前記教示データを用いて、前記記憶部に記憶される前記教示データを更新してもよい。上記態様によると、シミュレーション装置は、実機制御装置により更新された教示データを用いてロボットモデルのシミュレーションを実行することができる。
本開示の一態様に係るシミュレーション装置において、前記シミュレータ機能部は、前記目標動作データに従って前記ロボットモデルの目標の動作を指令するための目標動作指令を生成し、前記目標動作指令に対応する制御指令に従って前記ロボットモデルに動作させ、前記制御指令に従って動作する前記ロボットモデルの前記画像データを前記表示装置に出力するシミュレーション実行部と、前記シミュレーション実行部から前記目標動作指令を受け取り、前記目標動作指令に従って前記ロボットモデルの各部に動作させるための前記制御指令を生成し前記シミュレーション実行部に送る仮想ロボットコントローラと、前記シミュレーション実行部と前記仮想ロボットコントローラとの間で、一方から出力されたデータを他方に利用可能なデータに変換する変換部とを含んでもよい。
上記態様によると、例えば、仮想ロボットコントローラは、実機制御装置に対応し、実機ロボットの型式及び製造メーカ等の実機ロボットの仕様に対応して設定され得る。変換部が設けられることで、シミュレーション実行部は様々な仮想ロボットコントローラそれぞれに対応して設定される必要がない。よって、シミュレーション装置は、様々な仮想ロボットコントローラに応じて変換部の設定を受けることで機能することが可能であり、汎用性を向上することができる。
本開示の一態様に係るシミュレーションシステムは、本開示の一態様に係るシミュレーション装置の前記シミュレータ機能部、前記処理部及び前記記憶部の機能を含む第1サーバシステムと、前記表示装置と、前記シミュレーション装置のユーザから入力を受け付ける入力装置とを備える端末装置とを備え、前記第1サーバシステムと前記端末装置とは、通信ネットワークを介して相互にデータ通信可能に接続され、前記第1サーバシステムは、前記端末装置に対して前記シミュレーション装置として機能するように構成される。上記態様によると、端末装置がシミュレーション装置の機能を備えていなくても、ユーザは、端末装置を用いて第1サーバシステムにアクセスしロボットのシミュレーションを行うことができる。例えば、ユーザは、第1サーバシステムよりも低い処理能力の端末装置を用いてロボットのシミュレーションを行うことができる。
本開示の一態様に係るシミュレーションシステムは、複数の前記端末装置を備え、前記複数の端末装置は、前記通信ネットワークを介して前記第1サーバシステムと相互にデータ通信可能に接続され、前記第1サーバシステムは、前記複数の端末装置それぞれに対して前記シミュレーション装置として機能するように構成されてもよい。上記態様によると、複数のユーザがそれぞれの端末装置を用いて第1サーバシステムにアクセスしロボットのシミュレーションを行うことができる。
本開示の一態様に係るシミュレーションシステムにおいて、前記第1サーバシステムは、前記通信ネットワークを介して、前記ロボットモデルに対応する実機ロボットの実機制御装置と相互にデータ通信可能に接続され、前記第1サーバシステムは、前記実機制御装置に対して前記シミュレーション装置として機能するように構成されてもよい。上記態様によると、第1サーバシステムは、通信ネットワークを介して、前記ロボットモデルに対応する実機制御装置と情報の送受信を行うことができる。例えば、第1サーバシステムは、実機制御装置と目標動作データの送受信を行うことができる。
本開示の一態様に係るシミュレーションシステムにおいて、前記第1サーバシステムは、前記通信ネットワークを介して、実機ロボットの実機制御装置の演算機能及び記憶機能を含む第2サーバシステムと相互にデータ通信可能に接続され、前記第1サーバシステムは、前記第2サーバシステムに対して前記シミュレーション装置として機能するように構成され、前記第2サーバシステムは、前記実機ロボットの電力制御装置と、前記実機ロボットの操作入出力装置と、前記通信ネットワークを介して相互にデータ通信可能に接続され、前記第2サーバシステムは、前記電力制御装置、前記操作入出力装置及び前記第1サーバシステムに対して、前記実機制御装置の演算機能及び記憶機能を実現するように構成されてもよい。
上記態様によると、実機制御装置と電力制御装置と操作入出力装置とのうちの少なくとも2つが互いの近傍に配置されていない場合でも、ユーザは、操作入出力装置を用いて第2サーバシステムにアクセスし実機ロボットに動作させることができる。さらに、第1サーバシステムは、通信ネットワークを介して第2サーバシステムと情報の送受信を行うことができる。
本開示の一態様に係るシミュレーションシステムにおいて、前記第2サーバシステムは、複数の前記電力制御装置と、複数の前記操作入出力装置と、前記通信ネットワークを介して相互にデータ通信可能に接続され、前記第2サーバシステムは、複数の前記実機制御装置の演算機能及び記憶機能を含み、複数の前記電力制御装置、複数の前記操作入出力装置及び前記第1サーバシステムに対して、複数の前記実機制御装置の演算機能及び記憶機能を実現するように構成されてもよい。上記態様によると、複数のユーザがそれぞれの操作入出力装置を用いて第2サーバシステムにアクセスし、複数のロボットのうちの対象とするロボットに動作させることができる。
また、上記で用いた序数、数量等の数字は、全て本開示の技術を具体的に説明するために例示するものであり、本開示は例示された数字に制限されない。また、構成要素間の接続関係は、本開示の技術を具体的に説明するために例示するものであり、本開示の機能を実現する接続関係はこれに限定されない。
1,1A,1B シミュレーションシステム
101A シミュレーション端末(端末装置)
102A 第1サーバシステム
110 コンピュータ装置
130 提示装置(表示装置)
140 シミュレーション装置
140a シミュレーション実行部
140b 仮想ロボットコントローラ
140c 変換部
200 ロボット(実機ロボット)
300 ロボットコントローラ(実機制御装置)
301B 第2サーバシステム
302B 電力制御装置
400 操作入力装置
1403 構築部
1404 データ生成部
1405 シミュレータ機能部
1406 データ送信部
1408 データ更新部
1409 処理部
1410 記憶部
N 通信ネットワーク
W 対象物

Claims (11)

  1. コンピュータ装置内に構成されるシミュレーション装置であって、
    一連の目標の動作を示す目標動作データに従って仮想的なロボットモデルに動作させ、動作する前記ロボットモデルの画像データを表示装置に出力するシミュレータ機能部と、
    前記目標動作データと前記ロボットモデルに関連するデータとを記憶する記憶部と、
    前記目標動作データに従った前記ロボットモデルの動作であり且つ前記表示装置に表示される画像に表される第1動作への変更の入力を受け付け、前記変更が反映された動作である第2動作での前記ロボットモデルの状態を示す情報を、前記目標動作データに含まれる前記第1動作の情報と関連付けて前記記憶部に記憶させる処理部とを含み、
    前記シミュレータ機能部は、前記ロボットモデルに前記第1動作をさせる場合に、前記第2動作を表す画像データを前記表示装置に出力する
    シミュレーション装置。
  2. 前記シミュレータ機能部は、前記ロボットモデルに前記第1動作をさせる場合に、前記シミュレーション装置のユーザから受け付ける指令に従って、前記第2動作を表す画像データ又は前記第1動作を表す画像データを選択可能に出力する
    請求項1に記載のシミュレーション装置。
  3. 前記ロボットモデル及び前記ロボットモデルの仮想的な周辺環境モデルの設定を受け付け、前記ロボットモデル及び前記周辺環境モデルを構築する構築部と、
    前記ロボットモデル及び前記周辺環境モデルを用いた前記ロボットモデルの目標の動作の設定を受け付けて前記目標動作データを生成し前記記憶部に記憶させるデータ生成部と、
    外部デバイスからの前記目標動作データの入力を受け付け、受け付けた前記目標動作データを用いて、前記記憶部に記憶される前記目標動作データを更新するデータ更新部とをさらに含む
    請求項1又は2に記載のシミュレーション装置。
  4. 通信ネットワークを介して、前記ロボットモデルに対応する実機ロボットの実機制御装置に前記目標動作データを送信するデータ送信部をさらに含み、
    前記データ更新部は、前記通信ネットワークを介して前記実機制御装置から前記目標動作データを受け付け、受け付けた前記目標動作データを用いて、前記記憶部に記憶される前記目標動作データを更新する
    請求項3に記載のシミュレーション装置。
  5. 前記目標動作データは、前記ロボットモデルに対応する実機ロボットに動作を実行させるための教示データであり、
    前記データ更新部は、前記実機ロボットの実機制御装置によって修正された前記教示データの入力を受け付け、修正後の前記教示データを用いて、前記記憶部に記憶される前記教示データを更新する
    請求項3又は4に記載のシミュレーション装置。
  6. 前記シミュレータ機能部は、
    前記目標動作データに従って前記ロボットモデルの目標の動作を指令するための目標動作指令を生成し、前記目標動作指令に対応する制御指令に従って前記ロボットモデルに動作させ、前記制御指令に従って動作する前記ロボットモデルの前記画像データを前記表示装置に出力するシミュレーション実行部と、
    前記シミュレーション実行部から前記目標動作指令を受け取り、前記目標動作指令に従って前記ロボットモデルの各部に動作させるための前記制御指令を生成し前記シミュレーション実行部に送る仮想ロボットコントローラと、
    前記シミュレーション実行部と前記仮想ロボットコントローラとの間で、一方から出力されたデータを他方に利用可能なデータに変換する変換部とを含む
    請求項1~5のいずれか一項に記載のシミュレーション装置。
  7. 請求項1~6のいずれか一項に記載のシミュレーション装置の前記シミュレータ機能部、前記処理部及び前記記憶部の機能を含む第1サーバシステムと、
    前記表示装置と、前記シミュレーション装置のユーザから入力を受け付ける入力装置とを備える端末装置とを備え、
    前記第1サーバシステムと前記端末装置とは、通信ネットワークを介して相互にデータ通信可能に接続され、
    前記第1サーバシステムは、前記端末装置に対して前記シミュレーション装置として機能するように構成される
    シミュレーションシステム。
  8. 複数の前記端末装置を備え、
    前記複数の端末装置は、前記通信ネットワークを介して前記第1サーバシステムと相互にデータ通信可能に接続され、
    前記第1サーバシステムは、前記複数の端末装置それぞれに対して前記シミュレーション装置として機能するように構成される
    請求項7に記載のシミュレーションシステム。
  9. 前記第1サーバシステムは、前記通信ネットワークを介して、前記ロボットモデルに対応する実機ロボットの実機制御装置と相互にデータ通信可能に接続され、
    前記第1サーバシステムは、前記実機制御装置に対して前記シミュレーション装置として機能するように構成される
    請求項7又は8に記載のシミュレーションシステム。
  10. 前記第1サーバシステムは、前記通信ネットワークを介して、実機ロボットの実機制御装置の演算機能及び記憶機能を含む第2サーバシステムと相互にデータ通信可能に接続され、
    前記第1サーバシステムは、前記第2サーバシステムに対して前記シミュレーション装置として機能するように構成され、
    前記第2サーバシステムは、前記実機ロボットの電力制御装置と、前記実機ロボットの操作入出力装置と、前記通信ネットワークを介して相互にデータ通信可能に接続され、
    前記第2サーバシステムは、前記電力制御装置、前記操作入出力装置及び前記第1サーバシステムに対して、前記実機制御装置の演算機能及び記憶機能を実現するように構成される
    請求項7~9のいずれか一項に記載のシミュレーションシステム。
  11. 前記第2サーバシステムは、複数の前記電力制御装置と、複数の前記操作入出力装置と、前記通信ネットワークを介して相互にデータ通信可能に接続され、
    前記第2サーバシステムは、複数の前記実機制御装置の演算機能及び記憶機能を含み、複数の前記電力制御装置、複数の前記操作入出力装置及び前記第1サーバシステムに対して、複数の前記実機制御装置の演算機能及び記憶機能を実現するように構成される
    請求項10に記載のシミュレーションシステム。
JP2020144512A 2020-08-28 2020-08-28 シミュレーション装置及びシミュレーションシステム Active JP7442413B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020144512A JP7442413B2 (ja) 2020-08-28 2020-08-28 シミュレーション装置及びシミュレーションシステム
CN202180053238.9A CN115997182A (zh) 2020-08-28 2021-08-30 模拟装置及模拟系统
PCT/JP2021/031659 WO2022045320A1 (ja) 2020-08-28 2021-08-30 シミュレーション装置及びシミュレーションシステム
KR1020237008797A KR20230048430A (ko) 2020-08-28 2021-08-30 시뮬레이션 장치 및 시뮬레이션 시스템
US18/023,758 US20240037294A1 (en) 2020-08-28 2021-08-30 Simulation apparatus and simulation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020144512A JP7442413B2 (ja) 2020-08-28 2020-08-28 シミュレーション装置及びシミュレーションシステム

Publications (2)

Publication Number Publication Date
JP2022039471A true JP2022039471A (ja) 2022-03-10
JP7442413B2 JP7442413B2 (ja) 2024-03-04

Family

ID=80355217

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020144512A Active JP7442413B2 (ja) 2020-08-28 2020-08-28 シミュレーション装置及びシミュレーションシステム

Country Status (5)

Country Link
US (1) US20240037294A1 (ja)
JP (1) JP7442413B2 (ja)
KR (1) KR20230048430A (ja)
CN (1) CN115997182A (ja)
WO (1) WO2022045320A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0929673A (ja) * 1995-07-10 1997-02-04 Mitsubishi Heavy Ind Ltd マニピュレータ制御装置
JP2001100834A (ja) 1999-09-29 2001-04-13 Nissan Motor Co Ltd ロボット教示データの作成装置およびその方法
JP2007260834A (ja) 2006-03-28 2007-10-11 Japan Aerospace Exploration Agency オフセット・ロボット総合管理システム
JP7117237B2 (ja) 2018-12-27 2022-08-12 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法

Also Published As

Publication number Publication date
US20240037294A1 (en) 2024-02-01
CN115997182A (zh) 2023-04-21
JP7442413B2 (ja) 2024-03-04
KR20230048430A (ko) 2023-04-11
WO2022045320A1 (ja) 2022-03-03

Similar Documents

Publication Publication Date Title
Connolly Technology and applications of ABB RobotStudio
KR102525831B1 (ko) 제어 시스템, 컨트롤러 및 제어 방법
CN112847336B (zh) 动作学习方法、装置、存储介质及电子设备
US10786898B2 (en) Method for the automatic configuration of an external control system for the open-loop and/or closed-loop control of a robot system
KR102518766B1 (ko) 데이터 생성 장치, 데이터 생성 방법, 데이터 생성 프로그램 및 원격 조작 시스템
WO2022045320A1 (ja) シミュレーション装置及びシミュレーションシステム
Martinez et al. Setup of the yaskawa sda10f robot for industrial applications, using ros-industrial
JP7374867B2 (ja) 制御システム、ローカルコントローラ及び制御方法
Malik et al. Man, machine and work in a digital twin setup: a case study
JP2009166172A (ja) ロボットのシミュレーション方法及びロボットのシミュレーション装置
CN114683288A (zh) 机器人展示和控制方法、装置及电子设备
US20220283568A1 (en) System and method for controlling at least one machine, more particularly a collective of machines
Kuts et al. Digital Twin: Universal User Interface for Online Management of the Manufacturing System
KR101858108B1 (ko) 로봇을 위한 동작 시뮬레이션 장치 및 방법
KR101334356B1 (ko) 로봇 제어 장치
JP2021045816A (ja) 冗長自由度ロボットアームの操作支援装置、方法及びプログラム
WO2023068351A1 (ja) ロボットデータ処理サーバ及び軌跡データ算出方法
US20230166403A1 (en) An industrial robot system
WO2023153469A1 (ja) 多関節ロボットのパスを生成する装置、多関節ロボットのパスを生成する方法および多関節ロボットのパスを生成するプログラム
CN117245648A (zh) 一种机器人虚拟建模与触觉控制方法及装置
KR102267943B1 (ko) 6축 다관절로봇의 모니터링 장치
Ribeiro et al. RAMBO—Robotic Anthropomorphic Manipulator for Bimanual Operations
JP2024015247A (ja) シミュレーション装置、制御システム、シミュレーション方法及びプログラム
Bonci et al. ROS 2 for enhancing perception and recognition in collaborative robots performing flexible tasks
JP2022124358A (ja) 補完処理システム、補完システム、シミュレーションシステム、補完方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230613

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: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240220

R150 Certificate of patent or registration of utility model

Ref document number: 7442413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150