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

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

▶ ヤマハ発動機株式会社の特許一覧

特許7577427ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法
<>
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図1
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図2
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図3A
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図3B
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図4
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図5
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図6
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図7
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図8
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図9
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図10A
  • 特許-ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法 図10B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-25
(45)【発行日】2024-11-05
(54)【発明の名称】ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法
(51)【国際特許分類】
   B25J 9/22 20060101AFI20241028BHJP
   B25J 13/00 20060101ALI20241028BHJP
【FI】
B25J9/22 Z
B25J13/00 Z
【請求項の数】 16
(21)【出願番号】P 2023550763
(86)(22)【出願日】2021-09-28
(86)【国際出願番号】 JP2021035563
(87)【国際公開番号】W WO2023053174
(87)【国際公開日】2023-04-06
【審査請求日】2023-10-18
(73)【特許権者】
【識別番号】000010076
【氏名又は名称】ヤマハ発動機株式会社
(74)【代理人】
【識別番号】100105935
【弁理士】
【氏名又は名称】振角 正一
(74)【代理人】
【識別番号】100136836
【弁理士】
【氏名又は名称】大西 一正
(72)【発明者】
【氏名】藤田 晴康
【審査官】亀田 貴志
(56)【参考文献】
【文献】米国特許第09687982(US,B1)
【文献】特開2002-036155(JP,A)
【文献】特開2016-083714(JP,A)
【文献】特開2021-006359(JP,A)
【文献】米国特許出願公開第2017/0128142(US,A1)
【文献】特開2018-069381(JP,A)
【文献】特開2004-017260(JP,A)
【文献】特開2012-250334(JP,A)
【文献】国際公開第2021/132107(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
B23P 19/04
(57)【特許請求の範囲】
【請求項1】
ロボットと、
前記ロボットに着脱可能に装着されるエンドエフェクタと、
前記ロボットおよび前記エンドエフェクタを制御して、所定の作業を前記ロボットと前記エンドエフェクタとに協働して実行させるロボットコントローラと
を備え、
前記エンドエフェクタは、前記ロボットコントローラが前記エンドエフェクタを制御するために使用する制御情報を保存する記憶部を有し、
前記作業は、前記ロボットが担当するロボット作業と、前記エンドエフェクタが担当するエンドエフェクタ作業とを含み、
前記ロボットコントローラは、前記記憶部から取得した前記制御情報に基づき前記エンドエフェクタを制御することで、前記エンドエフェクタに前記エンドエフェクタ作業を実行させ、
前記ロボットに前記エンドエフェクタが装着されると、前記ロボットコントローラが前記記憶部から前記制御情報を取得し、
前記ロボットコントローラは、前記エンドエフェクタ作業を規定する作業プログラムを前記制御情報に基づき作成して前記エンドエフェクタの前記記憶部に保存し、前記記憶部から取得した前記作業プログラムを実行することで前記エンドエフェクタに前記エンドエフェクタ作業を実行させるロボットシステム。
【請求項2】
前記作業プログラムは、前記ロボット作業をさらに規定し、
前記ロボットコントローラは、前記記憶部から取得した前記作業プログラムを実行することで、前記ロボットに前記ロボット作業を実行させるとともに、前記エンドエフェクタに前記エンドエフェクタ作業を実行させる請求項に記載のロボットシステム。
【請求項3】
前記エンドエフェクタは、ワークに関するデータを取得するデータ取得部と、前記データ取得部が取得した前記データに所定の信号処理を実行する演算部とをさらに有する請求項1ないしのいずれか一項に記載のロボットシステム。
【請求項4】
前記データ取得部は、前記ワークの画像を取得するカメラであり、
前記演算部は、前記カメラにより取得された前記画像に画像処理を実行する請求項に記載のロボットシステム。
【請求項5】
前記記憶部は、前記エンドエフェクタのモデルおよび前記エンドエフェクタの動作を設定するための設定画面を表示させるための表示情報を保存し、
前記ロボットコントローラは、前記記憶部から取得した前記表示情報に従ってディスプレイに表示を行う請求項1ないしのいずれか一項に記載のロボットシステム。
【請求項6】
前記表示情報は、HTML(HyperText Markup Language)によって記述されている請求項に記載のロボットシステム。
【請求項7】
前記制御情報は、前記エンドエフェクタに実行させる動作を示す実行コードを含み、
前記ロボットコントローラは、前記実行コードを前記エンドエフェクタに送信することで、前記実行コードが示す動作を前記エンドエフェクタに実行させる請求項1ないしのいずれか一項に記載のロボットシステム。
【請求項8】
前記実行コードは、中間コードで記述されている請求項に記載のロボットシステム。
【請求項9】
前記実行コードは、インタプリタ言語で記述されている請求項に記載のロボットシステム。
【請求項10】
前記ロボットコントローラと前記エンドエフェクタとは、USB(Universal Serial Bus)により接続されており、
前記USBの複数のエンドポイントのうち、一のエンドポイントは、前記ロボットコントローラと前記エンドエフェクタとの間の通信に使用され、前記一のエンドポイントと異なる他のエンドポイントは、前記ロボットコントローラが前記エンドエフェクタの前記記憶部をストレージとして使用するために使用される請求項1ないしのいずれか一項に記載のロボットシステム。
【請求項11】
前記ロボットコントローラと前記エンドエフェクタとは、LAN(Local Area Network)により接続されており、
前記LANの複数のポートのうち、一のポートは、前記ロボットコントローラと前記エンドエフェクタとの間の通信に使用され、前記一のポートと異なる他のポートは、前記ロボットコントローラが前記エンドエフェクタの前記記憶部をストレージとして使用するために使用される請求項1ないしのいずれか一項に記載のロボットシステム。
【請求項12】
ロボットと、
前記ロボットに着脱可能に装着されるエンドエフェクタと、
前記ロボットおよび前記エンドエフェクタを制御して、所定の作業を前記ロボットと前記エンドエフェクタとに協働して実行させるロボットコントローラと
を備え、
前記エンドエフェクタは、前記ロボットコントローラが前記エンドエフェクタを制御するために使用する制御情報を保存する記憶部を有し、
前記作業は、前記ロボットが担当するロボット作業と、前記エンドエフェクタが担当するエンドエフェクタ作業とを含み、
前記ロボットコントローラは、前記記憶部から取得した前記制御情報に基づき前記エンドエフェクタを制御することで、前記エンドエフェクタに前記エンドエフェクタ作業を実行させ、
前記ロボットに前記エンドエフェクタが装着されると、前記ロボットコントローラが前記記憶部から前記制御情報を取得し、
前記ロボットコントローラは、前記エンドエフェクタ作業を規定する作業プログラムを前記制御情報に基づき作成して前記エンドエフェクタの前記記憶部に保存し、前記記憶部から取得した前記作業プログラムを実行することで前記エンドエフェクタに前記エンドエフェクタ作業を実行させるロボットシステム。
【請求項13】
エンドエフェクタが着脱可能に装着されるロボットと、
前記ロボットおよび前記エンドエフェクタを制御して、所定の作業を前記ロボットと前記エンドエフェクタとに協働して実行させるロボットコントローラと
を備え、
前記エンドエフェクタは、前記ロボットコントローラが前記エンドエフェクタを制御するために使用する制御情報を保存する記憶部を有し、
前記作業は、前記ロボットが担当するロボット作業と、前記エンドエフェクタが担当するエンドエフェクタ作業とを含み、
前記ロボットコントローラは、前記記憶部から取得した前記制御情報に基づき前記エンドエフェクタを制御することで、前記エンドエフェクタに前記エンドエフェクタ作業を実行させ、
前記ロボットに前記エンドエフェクタが装着されると、前記ロボットコントローラが前記記憶部から前記制御情報を取得し、
前記ロボットコントローラは、前記エンドエフェクタ作業を規定する作業プログラムを前記制御情報に基づき作成して前記エンドエフェクタの前記記憶部に保存し、前記記憶部から取得した前記作業プログラムを実行することで前記エンドエフェクタに前記エンドエフェクタ作業を実行させるロボット装置。
【請求項14】
ロボットおよび前記ロボットに着脱可能に装着されるエンドエフェクタを制御するロボットコントローラであって、
前記ロボットおよび前記エンドエフェクタを制御して、所定の作業を前記ロボットと前記エンドエフェクタとに協働して実行させる制御部を備え、
前記エンドエフェクタは、前記ロボットコントローラが前記エンドエフェクタを制御するために使用する制御情報を保存する記憶部を有し、
前記作業は、前記ロボットが担当するロボット作業と、前記エンドエフェクタが担当するエンドエフェクタ作業とを含み、
前記制御部は、前記記憶部から取得した前記制御情報に基づき前記エンドエフェクタを制御することで、前記エンドエフェクタに前記エンドエフェクタ作業を実行させ、
前記ロボットに前記エンドエフェクタが装着されると、前記制御部が前記記憶部から前記制御情報を取得し、
前記制御部は、前記エンドエフェクタ作業を規定する作業プログラムを前記制御情報に基づき作成して前記エンドエフェクタの前記記憶部に保存し、前記記憶部から取得した前記作業プログラムを実行することで前記エンドエフェクタに前記エンドエフェクタ作業を実行させるロボットコントローラ。
【請求項15】
ロボットに着脱可能に装着されるエンドエフェクタであって、
ロボットコントローラが前記エンドエフェクタを制御するために使用する制御情報を記憶する記憶部を備え、
前記ロボットコントローラは、所定の作業を前記ロボットと前記エンドエフェクタとに協働して実行させ、
前記作業は、前記ロボットが担当するロボット作業と、前記エンドエフェクタが担当するエンドエフェクタ作業とを含み、
前記ロボットコントローラは、前記記憶部から取得した前記制御情報に基づき前記エンドエフェクタを制御することで、前記エンドエフェクタに前記エンドエフェクタ作業を実行させ、
前記ロボットに前記エンドエフェクタが装着されると、前記ロボットコントローラが前記記憶部から前記制御情報を取得し、
前記ロボットコントローラは、前記エンドエフェクタ作業を規定する作業プログラムを前記制御情報に基づき作成して前記エンドエフェクタの前記記憶部に保存し、前記記憶部から取得した前記作業プログラムを実行することで前記エンドエフェクタに前記エンドエフェクタ作業を実行させるエンドエフェクタ。
【請求項16】
エンドエフェクタを制御するために使用される制御情報を、前記エンドエフェクタに設けられた記憶部からロボットコントローラが取得する工程と、
前記ロボットコントローラが前記記憶部から取得した前記制御情報によって前記エンドエフェクタを制御して、前記エンドエフェクタが着脱可能に装着されるロボットと前記エンドエフェクタとに協働して所定の作業を実行させる工程と
を備え、
前記作業は、前記ロボットが担当するロボット作業と、前記エンドエフェクタが担当するエンドエフェクタ作業とを含み、
前記ロボットコントローラは、前記記憶部から取得した前記制御情報に基づき前記エンドエフェクタを制御することで、前記エンドエフェクタに前記エンドエフェクタ作業を実行させ、
前記ロボットに前記エンドエフェクタが装着されると、前記ロボットコントローラが前記記憶部から前記制御情報を取得し、
前記ロボットコントローラは、前記エンドエフェクタ作業を規定する作業プログラムを前記制御情報に基づき作成して前記エンドエフェクタの前記記憶部に保存し、前記記憶部から取得した前記作業プログラムを実行することで前記エンドエフェクタに前記エンドエフェクタ作業を実行させるエンドエフェクタの制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ロボットに装着されるエンドエフェクタを制御する技術に関する。
【背景技術】
【0002】
特許文献1に示されるように、工作機械等のロボットをロボットコントローラによって制御することで、ロボットに作業を実行させるといったことが一般に行われている。また、作業の実行には、ロボットに装着されたエンドエフェクタを使用することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】WO2013/094868
【発明の概要】
【発明が解決しようとする課題】
【0004】
この際、ロボットコントローラは、ロボットに装着されたエンドエフェクタに対して予め準備された制御情報を用いてエンドエフェクタを制御する必要がある。しかしながら、このようなエンドエフェクタの制御情報は、例えばUSBメモリ等に保存された状態でロボットとは別に提供されていた。そのため、例えば複数のエンドエフェクタを使用する作業現場では、エンドエフェクタと制御情報との対応関係を管理する必要があった。しかしながら、このような管理が適切に行われなかった結果、ロボットに装着されたエンドエフェクタに対応しない制御情報に基づいてロボットコントローラが誤って制御を行ってしまう場合があった。
【0005】
この発明は上記課題に鑑みなされたものであり、ロボットコントローラが制御対象となるエンドエフェクタに対応する制御情報を確実に取得することを可能とすることを目的とする。
【課題を解決するための手段】
【0006】
本発明に係るロボットシステムは、ロボットと、ロボットに着脱可能に装着されるエンドエフェクタと、ロボットおよびエンドエフェクタを制御するロボットコントローラとを備え、エンドエフェクタは、ロボットコントローラがエンドエフェクタを制御するために使用する制御情報を保存する記憶部を有し、ロボットコントローラは、記憶部から取得した制御情報によってエンドエフェクタを制御する。
【0007】
本発明に係るロボット装置は、エンドエフェクタが着脱可能に装着されるロボットと、ロボットおよびエンドエフェクタを制御するロボットコントローラとを備え、エンドエフェクタは、ロボットコントローラがエンドエフェクタを制御するために使用する制御情報を保存する記憶部を有し、ロボットコントローラは、記憶部から取得した制御情報によってエンドエフェクタを制御する。
【0008】
本発明に係るロボットコントローラは、ロボットおよびロボットに着脱可能に装着されるエンドエフェクタを制御するロボットコントローラであって、ロボットおよびエンドエフェクタを制御する制御部を備え、エンドエフェクタは、ロボットコントローラがエンドエフェクタを制御するために使用する制御情報を保存する記憶部を有し、制御部は、記憶部から取得した制御情報によってエンドエフェクタを制御する。
【0009】
本発明に係るエンドエフェクタは、ロボットに着脱可能に装着されるエンドエフェクタであって、ロボットコントローラがエンドエフェクタを制御するために使用する制御情報を記憶する記憶部を備える。
【0010】
本発明に係るエンドエフェクタの制御方法は、エンドエフェクタを制御するために使用される制御情報を、エンドエフェクタに設けられた記憶部からロボットコントローラが取得する工程と、ロボットコントローラが記憶部から取得した制御情報によってエンドエフェクタを制御する工程とを備える。
【0011】
このように構成された本発明(ロボットシステム、ロボット装置、ロボットコントローラ、エンドエフェクタおよびエンドエフェクタの制御方法)では、ロボットコントローラがエンドエフェクタを制御するために使用する制御情報を記憶する記憶部がエンドエフェクタに設けられている。したがって、ロボットコントローラは、制御対象となるエンドエフェクタに設けられた記憶部から制御情報を取得することで、このエンドエフェクタに対応する制御情報を確実に取得することができる。
【0012】
また、ロボットにエンドエフェクタが装着されると、ロボットコントローラが記憶部から制御情報を取得するように、ロボットシステムを構成してもよい。かかる構成では、ロボットに装着されたエンドエフェクタに対応する制御情報を確実に取得することができる。
【0013】
また、ロボットコントローラは、所定の作業をロボットとエンドエフェクタとに協働して実行させ、作業は、ロボットが担当するロボット作業と、エンドエフェクタが担当するエンドエフェクタ作業とを含み、ロボットコントローラは、記憶部から取得した制御情報に基づきエンドエフェクタを制御することで、エンドエフェクタにエンドエフェクタ作業を実行させるように、ロボットシステムを構成してもよい。かかる構成では、ロボットコントローラは、ロボットに装着されたエンドエフェクタに対応する制御情報に基づきエンドエフェクタを的確に制御しつつ、ロボットおよびエンドエフェクタに所定の作業を実行させることができる。
【0014】
また、ロボットコントローラは、エンドエフェクタ作業を規定する作業プログラムを制御情報に基づき作成してエンドエフェクタの記憶部に保存し、記憶部から取得した作業プログラムを実行することでエンドエフェクタにエンドエフェクタ作業を実行させるように、ロボットシステムを構成してもよい。かかる構成では、エンドエフェクタに実行させるエンドエフェクタ作業を規定する作業プログラムが、当該エンドエフェクタに対応する制御情報に基づき作成されて、当該エンドエフェクタの記憶部に保存される。そして、作業の実行時には、ロボットコントローラは、エンドエフェクタの記憶部から作業プログラムを取得して、これを実行する。したがって、ロボットコントローラは、エンドエフェクタに対応する作業プログラムに基づき、エンドエフェクタにエンドエフェクタ作業を確実に実行させることができる。なお、複数の作業プログラムを保持することができる場合には、オペレータによる選択あるいは外部からの通信による指令により選択された作業プログラムを実行させることができる。
【0015】
また、作業プログラムは、ロボット作業をさらに規定し、ロボットコントローラは、記憶部から取得した作業プログラムを実行することで、ロボットにロボット作業を実行させるとともに、エンドエフェクタにエンドエフェクタ作業を実行させるように、ロボットシステムを構成してもよい。かかる構成では、ロボットおよびエンドエフェクタにより実行する作業を規定する作業プログラムが、当該エンドエフェクタに対応する制御情報に基づき作成されて、当該エンドエフェクタの記憶部に保存される。そして、作業の実行時には、ロボットコントローラは、エンドエフェクタの記憶部から作業プログラムを取得して、これを実行する。したがって、ロボットコントローラは、ロボットおよびエンドエフェクタに作業を確実に実行させることができる。
【0016】
ところで、エンドエフェクタによっては、ワークに関するデータを取得するカメラやセンサ等のデータ取得部を備えるものがあり、ロボットコントローラには、当該データに対する信号処理の実行が求められる場合があった。そこで、このような場合に対応できるように、ロボットコントローラによっては、当該信号処理を実行する演算機能を搭載するものがあった。しかしながら、当該データを取得しないエンドエフェクタを使用する状況では、ロボットコントローラは、過剰な演算機能を搭載することとなる。
【0017】
そこで、エンドエフェクタは、ワークに関するデータを取得するデータ取得部と、データ取得部が取得したデータに所定の信号処理を実行する演算部とをさらに有するように、ロボットシステムを構成してもよい。かかる構成では、エンドエフェクタが信号処理を実行する演算部を有するため、ロボットコントローラには、当該信号処理の実行が求められない。したがって、ロボットコントローラは、過剰な演算機能を搭載する必要が無い。
【0018】
なお、ワークに関するデータを取得するデータ取得部の具体例は種々想定される。例えば、データ取得部は、ワークの画像を取得するカメラであり、演算部は、カメラにより取得された画像に画像処理を実行するように、ロボットシステムを構成してもよい。
【0019】
また、記憶部は、エンドエフェクタのモデルおよびエンドエフェクタの動作を設定するための設定画面を表示させるための表示情報を保存し、ロボットコントローラは、記憶部から取得した表示情報に従ってディスプレイに表示を行うように、ロボットシステムを構成してもよい。かかる構成では、ロボットコントローラは、エンドエフェクタの記憶部から取得した表示情報に基づき、当該エンドエフェクタのモデルや、当該エンドエフェクタの動作を設定するための設定画面をディスプレイに確実に表示することができる。
【0020】
また、表示情報は、HTML(HyperText Markup Language)によって記述されていてもよい。かかる構成では、エンドエフェクタの記憶部はWebサーバとして機能し、ロボットコントローラが表示情報を要求するHTTPリクエストを記憶部に送信すると、記憶部はHTTPレスポンスとして表示情報をロボットコントローラに送信する。こうして、ロボットコントローラとエンドエフェクタの記憶部との間におけるHTTP通信によって、表示情報に基づくGUIへの表示を簡便に実行することができる。
【0021】
また、制御情報は、エンドエフェクタに実行させる動作を示す実行コードを含み、ロボットコントローラは、実行コードをエンドエフェクタに送信することで、実行コードが示す動作をエンドエフェクタに実行させるように、ロボットシステムを構成してもよい。かかる構成では、ロボットコントローラは、制御対象となるエンドエフェクタに設けられた記憶部から実行コードを取得することで、このエンドエフェクタに対応する実行コードを確実に取得できる。
【0022】
また、実行コードは、中間コードで記述されていてもよい。これによって、ロボットコントローラは、そのCPUに依存せずに、実行コードを実行することができる。
【0023】
また、実行コードは、インタプリタ言語で記述されていてもよい。これによって、ロボットコントローラは、そのCPUに依存せずに、実行コードを実行することができる。
【0024】
また、ロボットコントローラとエンドエフェクタとは、USB(Universal Serial Bus)により接続されており、USBの複数のエンドポイントのうち、一のエンドポイントは、ロボットコントローラとエンドエフェクタとの間の通信に使用され、一のエンドポイントと異なる他のエンドポイントは、ロボットコントローラがエンドエフェクタの記憶部をストレージとして使用するために使用されるように、ロボットシステムを構成してもよい。かかる構成では、USBの一のエンドポイントを用いて、エンドエフェクタの記憶部からロボットコントローラへの制御情報の送信を実行できる。さらに、ロボットコントローラがエンドエフェクタの記憶部をストレージとして使用するための他のエンドポイントがUSBに設けられている。したがって、ロボットコントローラは、エンドエフェクタの記憶部の中身をファイルとして認識することができる。その結果、開発者は、エンドエフェクタの記憶部の中身を簡便に参照することができ、開発者の負担を軽減することができる。
【0025】
また、ロボットコントローラとエンドエフェクタとは、LAN(Local Area Network)により接続されており、LANの複数のポートのうち、一のポートは、ロボットコントローラとエンドエフェクタとの間の通信に使用され、一のポートと異なる他のポートは、ロボットコントローラがエンドエフェクタの記憶部をストレージとして使用するために使用されるように、ロボットシステムを構成してもよい。かかる構成では、LANの一のポートを用いて、エンドエフェクタの記憶部からロボットコントローラへの制御情報の送信を実行できる。さらに、ロボットコントローラがエンドエフェクタの記憶部をストレージとして使用するための他のポートがLANに設けられている。したがって、ロボットコントローラは、エンドエフェクタの記憶部の中身をファイルとして認識することができる。その結果、開発者は、エンドエフェクタの記憶部の中身を簡便に参照することができ、開発者の負担を軽減することができる。
【発明の効果】
【0026】
本発明によれば、ロボットコントローラが制御対象となるエンドエフェクタに対応する制御情報を確実に取得することが可能となる。
【図面の簡単な説明】
【0027】
図1】本発明に係るロボットシステムの一例を模式的に示す図。
図2図1のロボットシステムが備える電気的構成を示すブロック図。
図3A】コマンドセットの一例を模式的に示す図。
図3B】HTMLファイルの機能を模式的に示す図。
図4】ロボットコントローラの演算部が実行する情報取得の一例を示すフローチャート。
図5】ロボットアームおよびエンドエフェクタに作業を実行させるための作業プログラムの作成の一例を示すフローチャート。
図6図5のフローチャートに基づき実行される動作を模式的に示す図。
図7】ロボットアームおよびエンドエフェクタに作業を実行させるフローチャート。
図8】本発明に係るロボットシステムの変形例を模式的に示す図。
図9図8のロボットシステムが備える電気的構成を示すブロック図。
図10A】ロボットコントローラおよびエンドエフェクタそれぞれの通信部の接続態様の第1例を模式的に示す図。
図10B】ロボットコントローラおよびエンドエフェクタそれぞれの通信部の接続態様の第2例を模式的に示す図。
【発明を実施するための形態】
【0028】
図1は本発明に係るロボットシステムの一例を模式的に示す図である。図1のロボットシステム1は、ロボットアーム2と、ロボットアーム2の先端201に着脱可能に装着されるエンドエフェクタ3と、ロボットアーム2およびエンドエフェクタ3の動作を制御するロボットコントローラ4と、ロボットコントローラ4に接続されたティーチングペンダント9とを備える。ティーチングペンダント9はディスプレイ91(換言すれば、Graphical User Interface)を備え、ロボットコントローラ4の指令に応じた画像をディスプレイ91に表示する。
【0029】
ロボットアーム2は、エンドエフェクタ3が装着される先端201を有する多関節ロボットであり、ロボットコントローラ4からの指令に応じて関節202を回転させることで、先端201に装着されたエンドエフェクタ3の位置および姿勢を変化させる。
【0030】
エンドエフェクタ3は、ロボットアーム2の先端201に着脱可能に装着される装着部301と、装着部301に取り付けられた動作部302とを有する。装着部301は、例えばラッチロックあるいはねじ止め等の機構によって、ロボットアーム2の先端201に装着される。動作部302は、ワークWに対して作業を実行する機械的構成であり、図1の例ではワークWを把持するグリッパである。ただし、動作部302の具体例は、グリッパに限られず、負圧あるいは磁力によって吸着を行う器具や、溶接、研磨あるいはねじ止めを行う器具等でもよい。エンドエフェクタ3は、ロボットコントローラ4からの指令に応じて動作部302に動作を実行させる。
【0031】
図2図1のロボットシステムが備える電気的構成を示すブロック図である。ロボットアーム2、エンドエフェクタ3およびロボットコントローラ4は、通信部21、通信部31および通信部41をそれぞれ有し、通信部21、31および41はそれぞれの間で通信を行う。なお、これらの間の通信は、無線および有線のいずれでも実行可能であるが、ここの例では有線で実行されるとする。特に、上述の通りロボットアーム2とエンドエフェクタ3は着脱可能であることから、エンドエフェクタ3がロボットアーム2に装着された状態で、エンドエフェクタ3の通信部31とロボットアーム2の通信部21との間で通信が実行される。また、ロボットコントローラ4の通信部41は、ロボットアーム2の通信部21と通信を行うとともに、ロボットアーム2に装着されたエンドエフェクタ3の通信部31とロボットアーム2を介して通信を行う。なお、ロボットアーム2を介した通信部41と通信部31との通信は、通信部21を介して行ってもよいし、通信部21とは別にロボットアーム2に設けられた配線を介して(すなわち、通信部21を介さずに)行ってもよい。一方、エンドエフェクタ3がロボットアーム2から取り外された状態では、ロボットアーム2の通信部21とエンドエフェクタ3の通信部31との通信が不能になる。
【0032】
ロボットコントローラ4は、演算部42、ペンダント制御部43および記憶部44をさらに備える。演算部42はCPU(Central Processing Unit)等で構成されたプロセッサであり、ペンダント制御部43を介したティーチングペンダント9の制御や、記憶部44へのデータの書き込みや、記憶部44からのデータの読み出しや、通信部41による通信等の各種処理を実行する。ペンダント制御部43は、ティーチングペンダント9のディスプレイ91への画像の表示や、ティーチングペンダント9に対する開発者の入力操作に応じた演算等を実行する。記憶部44は、HDD(Hard Disk Drive)あるいはSSD(Solid State Drive)等にデータを記憶する記憶装置である。
【0033】
ロボットアーム2は、モータあるいはアクチュエータ等を使用してロボットアーム2の関節202を駆動する駆動部23をさらに備える。この駆動部23は、通信部21がロボットコントローラ4の通信部41から受信した指令に応じてロボットアーム2の関節202を駆動することで、ロボットアーム2に取り付けられたエンドエフェクタ3の位置および姿勢を調整する。
【0034】
また、エンドエフェクタ3は、演算部32、駆動部33および記憶部34をさらに備える。演算部32は、CPU等で構成されたプロセッサである。駆動部33は、モータあるいはアクチュエータ等によってエンドエフェクタ3の動作部302(ここの例ではグリッパ)を駆動する。この駆動部33は、通信部31がロボットコントローラ4の通信部41から受信した指令に応じて動作部302を駆動する。動作部302がグリッパである場合には、駆動部33は、ロボットコントローラ4からの指令に応じてグリッパのフィンガの角度や、グリッパのフィンガがワークWを掴むトルク等を調整する。
【0035】
また、記憶部34は、HDDあるいはSSD等にデータを記憶する記憶装置である。この記憶部34は、コマンドセット52およびHTML(HyperText Markup Language)ファイル53を保存する。コマンドセット52は、次の図3Aで示すように、エンドエフェクタ3に所定動作を実行させるためのAPI(Application Programming Interface)521および動作マクロコード522を含む。API521は、ロボットコントローラ4がエンドエフェクタ3に所定動作を実行させるために使用するインターフェースであり、動作マクロコード522は所定動作の実行を示す指令である。つまり、ロボットコントローラ4は、エンドエフェクタ3の記憶部34から自身の記憶部44にAPI521および動作マクロコード522を転送してからAPI521を実行することで、エンドエフェクタ3の駆動部33に動作マクロコード522を送信する。
【0036】
図3Aはコマンドセットの一例を模式的に示す図である。図3Aに示すように、コマンドセット52は、API521と動作マクロコード522との対応関係を、複数の動作のそれぞれについて示す。動作マクロコード522は、エンドエフェクタ3の動作部302に実行させる動作を示す指令に相当する。つまり、ロボットコントローラ4の演算部42がAPI521を実行すると、API521に対応する動作マクロコード522がロボットコントローラ4からエンドエフェクタ3の駆動部33に送信され、駆動部33は、当該動作マクロコード522が示す動作を動作部302に実行させる。動作部302がグリッパである場合には、
・グリッパを開く動作
・グリッパのフィンガの回転角度を所定角度へ変位させる動作
・グリッパのフィンガに所定のトルクを与える動作
等の各動作を実行させるAPI521および動作マクロコード522が互いに対応付けられてコマンドセット52に含まれる。
【0037】
図3BはHTMLファイルの機能を模式的に示す図である。HTMLファイル53は、ティーチングペンダント9のディスプレイ91に表示するコンテンツを示し、具体的には、モデル画像531および設定画面532を含む。モデル画像531は、ティーチングペンダント9のディスプレイ91に表示するエンドエフェクタ3の画像を示し、ロボットコントローラ4の演算部42は、予め取得したロボットアーム2のモデル画像と、エンドエフェクタ3の記憶部34から取得したエンドエフェクタ3のモデル画像531とを合成して、ロボットアーム2およびエンドエフェクタ3の画像をティーチングペンダント9のディスプレイ91に表示する。また、設定画面532は、エンドエフェクタ3の動作部302に実行させる動作を設定するための画面であり、ロボットコントローラ4の演算部42は、エンドエフェクタ3の記憶部34から取得した設定画面532をティーチングペンダント9のディスプレイ91に表示する。したがって、開発者は、ティーチングペンダント9の入力機能を用いて設定画面532に入力操作を実行することで、エンドエフェクタ3の動作部302に実行させる動作をロボットコントローラ4に設定することができる。
【0038】
図4はロボットコントローラの演算部が実行する情報取得の一例を示すフローチャートである。図4の情報取得では、エンドエフェクタ3の制御に要する情報を、ロボットコントローラ4がエンドエフェクタ3から取得する。
【0039】
ステップS101では、演算部42は、エンドエフェクタ3がロボットアーム2に装着されているか否かを判断する。上述の通り、エンドエフェクタ3の通信部31とロボットアーム2の通信部21との通信は、ロボットアーム2にエンドエフェクタ3が装着されている状態で実行できる一方、ロボットアーム2にエンドエフェクタ3が装着されていない状態では実行できない。したがって、ステップS101では、演算部42は、通信部31と通信部21との間で通信が実行できない場合には、エンドエフェクタ3がロボットアーム2に装着されていないと判断し(NO)、通信部31と通信部21との間で通信が実行できる場合には、エンドエフェクタ3がロボットアーム2に装着されていると判断する(YES)。ただし、ロボットアーム2へのエンドエフェクタ3の装着は、これらの間の通信の可否によらず確認することもできる。例えば、ロボットアーム2とエンドエフェクタ3との装着を近接センサや光センサ等により検出するように構成しても構わない。
【0040】
ステップS102では、演算部42は、エンドエフェクタ3の制御に使用する制御情報(すなわち、API521および動作マクロコード522)と、ディスプレイ91へ表示するコンテンツを示す表示情報(すなわち、HTMLファイル53)とを要求する情報要求指令を、通信部41を介してエンドエフェクタ3の通信部31に送信する。エンドエフェクタ3の通信部31は、ロボットコントローラ4から受信した情報要求指令に応じて、API521、動作マクロコード522およびHTMLファイル53を記憶部34から読み出して、ロボットコントローラ4の通信部41に送信し、ロボットコントローラ4の通信部41はこれらを受信する(ステップS103)。特に、HTMLファイル53の送受信については、エンドエフェクタ3の記憶部34がWebサーバとして機能する。つまり、演算部42がHTMLファイル53を要求するHTTPリクエストを、通信部31を介して演算部32に送信すると、演算部32は、記憶部34から読み出したHTMLファイル53を、HTTPレスポンスとして、通信部31を介してロボットコントローラ4に送信する。そして、演算部42は、通信部41により受信したAPI521、動作マクロコード522およびHTMLファイル53を記憶部44に保存する。
【0041】
図5はロボットアームおよびエンドエフェクタに作業を実行させるための作業プログラムの作成の一例を示すフローチャートであり、図6図5のフローチャートに基づき実行される動作を模式的に示す図である。図5のフローチャートは、ロボットコントローラ4の演算部42によって実行される。
【0042】
ステップS201では、演算部42は、エンドエフェクタ3から受信して記憶部44に保存されているHTMLファイル53を読み出して、HTMLファイル53をティーチングペンダント9のディスプレイ91に表示する(ステップS201)。これによって、図3Bに例示したような画像がディスプレイ91に表示される。
【0043】
ステップS202では、演算部42は、ティーチングペンダント9に対する開発者の入力操作が示す動作をロボットアーム2およびエンドエフェクタ3に協働して実行させるための作業プログラム54を作成する。この作業プログラム54は、ロボットアーム2が実行するロボット作業を規定する部分と、エンドエフェクタ3が実行するエンドエフェクタ作業を規定する部分とを含む。特に、演算部42は、作業プログラム54のうちエンドエフェクタ作業を規定する部分を、エンドエフェクタ3の記憶部34から取得したAPI521および動作マクロコード522に基づき作成する。
【0044】
ステップS203では、演算部42は、ステップS202で作成した作業プログラム54を、通信部41を介してエンドエフェクタ3の通信部31に送信して、エンドエフェクタ3の通信部31は、通信部41から受信した作業プログラム54を記憶部34に保存する(ステップS203)。こうして、図6に示すように、ロボットアーム2と当該ロボットアーム2に装着されたエンドエフェクタ3とに実行させる作業を規定した作業プログラム54が、当該エンドエフェクタ3の記憶部34に保存される。
【0045】
図7はロボットアームおよびエンドエフェクタに作業を実行させるフローチャートである。図7のフローチャートは、ロボットコントローラ4の演算部42によって実行される。ステップS301では、演算部42は、上述と同様にして、エンドエフェクタ3がロボットアーム2に装着されているか否かを判断する。
【0046】
ロボットアーム2へのエンドエフェクタ3の装着が確認されると(ステップS301で「YES」)、演算部42は、作業プログラム54を要求するプログラム要求指令を、通信部41を介してエンドエフェクタ3の通信部31に送信する(ステップS302)。プログラム要求指令を受信したエンドエフェクタ3の通信部31は、記憶部34から作業プログラム54を読み出して、これを通信部41に送信し、通信部41はエンドエフェクタ3の通信部31からこれを受信する(ステップS303)。そして、演算部42は、通信部41によって受信した作業プログラム54を実行することで、作業プログラム54が規定する作業をロボットアーム2およびエンドエフェクタ3に実行させる(ステップS304)。この際、演算部42は、作業プログラム54が示す各動作に対応するAPI521を実行することで、API521に対応する動作マクロコード522をエンドエフェクタ3に送信して、動作マクロコード522が示す動作をエンドエフェクタ3に実行させる。
【0047】
以上のように構成された実施形態では、ロボットコントローラ4がエンドエフェクタ3を制御するために使用する制御情報(API521および動作マクロコード522)を記憶する記憶部34がエンドエフェクタ3に設けられている。したがって、ロボットコントローラ4は、制御対象となるエンドエフェクタ3に設けられた記憶部34から制御情報を取得することで、このエンドエフェクタ3に対応する制御情報を確実に取得することができる(ステップS102~S104)。
【0048】
さらに言えば、ハードウェアであるエンドエフェクタ3とソフトウェアである制御情報(API521および動作マクロコード522)とを一元的に管理することができる。その結果、エンドエフェクタ3に対して誤った制御情報を使用してしまうといったミスを抑止できるとともに、ハードウェアおよびソフトウェアの管理負担が軽減される。
【0049】
また、ロボットアーム2(ロボット)にエンドエフェクタ3が装着されると(ステップS101)、ロボットコントローラ4が記憶部34から制御情報を取得する(ステップS102~S104)。かかる構成では、ロボットアーム2に装着されたエンドエフェクタ3に対応する制御情報を確実に取得することができる。
【0050】
また、ロボットコントローラ4は、所定の作業をロボットアーム2とエンドエフェクタ3とに協働して実行させ、この作業は、ロボットアーム2が担当するロボット作業と、エンドエフェクタ3が担当するエンドエフェクタ作業とを含む。これに対して、ロボットコントローラ4は、記憶部34から取得した制御情報に基づきエンドエフェクタ3を制御することで、エンドエフェクタ3にエンドエフェクタ作業を実行させる(ステップS304)。かかる構成では、ロボットコントローラ4は、ロボットアーム2に装着されたエンドエフェクタ3に対応する制御情報に基づきエンドエフェクタ3を的確に制御しつつ、ロボットアーム2およびエンドエフェクタ3に所定の作業を実行させることができる。
【0051】
また、ロボットコントローラ4は、エンドエフェクタ作業を規定する作業プログラム54を制御情報に基づき作成してエンドエフェクタ3の記憶部34に保存する(ステップS202~S203)。そして、ロボットコントローラ4は、この記憶部34から取得した作業プログラム54を実行することでエンドエフェクタ3にエンドエフェクタ作業を実行させる(ステップS302~S304)。かかる構成では、エンドエフェクタ3に実行させるエンドエフェクタ作業を規定する作業プログラム54が、当該エンドエフェクタ3に対応する制御情報に基づき作成されて、当該エンドエフェクタ3の記憶部34に保存される。そして、作業の実行時には、ロボットコントローラ4は、エンドエフェクタ3の記憶部34から作業プログラム54を取得して、これを実行する。したがって、ロボットコントローラ4は、エンドエフェクタ3に対応する作業プログラム54に基づき、エンドエフェクタ3にエンドエフェクタ作業を確実に実行させることができる。
【0052】
さらに言えば、エンドエフェクタ3に動作を実行させるための作業プログラム54が、エンドエフェクタ3と一体的に管理される。そのため、エンドエフェクタ3に対して誤った作業プログラム54が使用されて、エンドエフェクタ3やロボットアーム2を破損するといったミスを抑止できる。
【0053】
また、作業プログラム54は、ロボット作業をさらに規定し、ロボットコントローラ4は、記憶部34から取得した作業プログラム54を実行することで、ロボットアーム2にロボット作業を実行させるとともに、エンドエフェクタ3にエンドエフェクタ作業を実行させる(ステップS304)。かかる構成では、ロボットアーム2およびエンドエフェクタ3により実行する作業を規定する作業プログラム54が、当該エンドエフェクタ3に対応する制御情報に基づき作成されて(ステップS202)、当該エンドエフェクタ3の記憶部34に保存される(ステップS203)。そして、作業の実行時には、ロボットコントローラ4は、エンドエフェクタ3の記憶部34から作業プログラム54を取得して(ステップS303)、これを実行する(ステップS304)。したがって、ロボットコントローラ4は、ロボットアーム2およびエンドエフェクタ3に作業を確実に実行させることができる。
【0054】
また、ロボットコントローラ4は、ペンダント制御部43によって、ティーチングペンダント9のディスプレイ91の表示を制御することができる。これに対して、エンドエフェクタ3の記憶部34は、エンドエフェクタ3のモデル画像531(モデル)およびエンドエフェクタ3の動作を設定するための設定画面532をディスプレイ91に表示させるためのHTMLファイル53(表示情報)を保存する。そして、ロボットコントローラ4は、ステップS103~S104でエンドエフェクタ3の記憶部34から取得したHTMLファイル53に従って、モデル画像531および設定画面532をディスプレイ91に表示する(ステップS201)。かかる構成では、ロボットコントローラ4は、エンドエフェクタ3の記憶部34から取得したHTMLファイル53に基づき、当該エンドエフェクタ3のモデル画像531や、当該エンドエフェクタ3の動作を設定するための設定画面532をディスプレイ91に確実に表示することができる。
【0055】
また、HTMLファイル53は、HTMLによって記述されている。かかる構成では、エンドエフェクタ3の記憶部34はWebサーバとして機能し、ロボットコントローラ4がHTMLファイル53を要求するHTTPリクエストを記憶部34に送信すると、記憶部34はHTTPレスポンスとしてHTMLファイル53をロボットコントローラ4に送信する。こうして、ロボットコントローラ4とエンドエフェクタ3の記憶部34との間におけるHTTP通信によって、HTMLファイル53に基づくディスプレイ91への表示を簡便に実行することができる。
【0056】
さらに言えば、ディスプレイ91に表示するコンテンツをロボットコントローラ4に予め用意する必要がなくなるため、エンドエフェクタ3の開発者がディスプレイ91へ表示するコンテンツを自由に設計・追加することができる。また、バージョンアップによる変更に対して、エンドエフェクタ3におけるデータの互換性を担保することができる。
【0057】
また、制御情報は、エンドエフェクタ3に所定の動作を実行させるためのAPI521と動作マクロコード522とを含み(図3A)、ロボットコントローラ4は、API521を実行して動作マクロコード522をエンドエフェクタ3に送信することで、動作マクロコード522が示す動作521をエンドエフェクタ3に実行させる。かかる構成では、ロボットコントローラ4は、制御対象となるエンドエフェクタ3に設けられた記憶部34からAPI521と動作マクロコード522とを取得することで、このエンドエフェクタ3に対応するAPI521と動作マクロコード522とを確実に取得できる。
【0058】
ところで、エンドエフェクタ3によっては、カメラや感圧センサ等のワークWに関するデータを取得するデータ取得機能を備えるものがあり、ロボットコントローラ4には、当該データに対する信号処理の実行が求められる場合があった。そこで、このような場合に対応できるように、ロボットコントローラ4によっては、当該信号処理を実行する演算機能を搭載するものがあった。しかしながら、当該データを取得しないエンドエフェクタ3を使用する状況では、ロボットコントローラ4は、過剰な演算機能を搭載することとなる。そこで、次の変形例に示すように構成してもよい。
【0059】
図8は本発明に係るロボットシステムの変形例を模式的に示す図であり、図9図8のロボットシステムが備える電気的構成を示すブロック図である。図1および図2に示す上記の例との違いは、ワークWを撮像するための機能を具備する点にある。そこで、以下では、上記の例との差異部分を中心に説明することとし、共通部分については相当符号を付して適宜説明を省略する。
【0060】
図8のエンドエフェクタ3は、装着部301に取り付けられたカメラ304(図8)と、カメラ304が撮像した画像に対して画像処理(信号処理)を実行する演算部32(図9)とを有する。この演算部32は、CPUあるいはGPU(Graphics Processing Unit)といったプロセッサである。演算部32によって実行される画像処理としては、例えばエンドエフェクタ3が撮像した画像からワークWの特徴量を抽出する処理や、カメラ304が撮像した画像からワークWの二次元あるいは三次元の形状を算出する処理等が挙げられる。さらに、演算部32による画像処理によって求められたデータDi(特徴量、二次元形状あるいは三次元形状等)を、エンドエフェクタ3の通信部31からロボットコントローラ4の通信部41に送信するように指示する通信コード56が記憶部34に保存されている。
【0061】
通信コード56は、上記のステップS102~S104に伴って、エンドエフェクタ3の記憶部34から読み出されて、ロボットコントローラ4の通信部41に送信されて、記憶部44に保存される。そして、ロボットコントローラ4が、エンドエフェクタ3の通信部31に通信コード56を送信すると、エンドエフェクタ3の演算部32は、カメラ304によってワークWを撮像することで画像を取得するとともに、この画像に画像処理を行うことで求めたデータDiを通信部31からロボットコントローラ4に送信する。これによって、ロボットコントローラ4は、データDiを取得することができる。
【0062】
かかる変形例では、エンドエフェクタ3は、ワークWの画像(ワークに関するデータ)を取得するカメラ304(データ取得部)と、カメラ304が撮像した画像に画像処理(信号処理)を実行する演算部32とを有する。かかる構成では、エンドエフェクタ3が画像処理を実行する演算部32を有するため、ロボットコントローラ4には、当該画像処理の実行が求められない。したがって、ロボットコントローラ4は、過剰な演算機能を搭載する必要が無い。
【0063】
ところで、ロボットアーム2、エンドエフェクタ3およびロボットコントローラ4それぞれの接続は種々の態様で実行することができる。この点について、エンドエフェクタ3とロボットコントローラ4との間の接続を例に挙げて、説明を行う。
【0064】
図10Aはロボットコントローラおよびエンドエフェクタそれぞれの通信部の接続態様の第1例を模式的に示す図である。ロボットコントローラ4の通信部41とエンドエフェクタ3の通信部31との間は、USB(Universal Serial Bus)61で接続されている。そして、USB61が有する複数のエンドポイントのうち、エンドポイント611(一のエンドポイント)は、通信部41と通信部31との間の通信に使用される。つまり、上述のAPI521、動作マクロコード522、HTMLファイル53あるいはデータDiの通信は、エンドポイント611を用いて実行される。また、USB61が有する複数のエンドポイントのうち、エンドポイント611と異なるエンドポイント612(他のエンドポイント)は、ロボットコントローラ4がエンドエフェクタ3の記憶部34をストレージとして使用するために使用される。
【0065】
かかる変形例では、USBのエンドポイント611を用いて、エンドエフェクタ3の記憶部34からロボットコントローラ4への制御情報の送信を実行できる。さらに、ロボットコントローラ4がエンドエフェクタ3の記憶部34をストレージとして使用するためのエンドポイント612がUSB61に設けられている。したがって、ロボットコントローラ4は、エンドポイント612を使用することで、エンドエフェクタ3の記憶部34の中身をファイルとして認識して、これらをディスプレイ91にファイルとして表示することができる。その結果、開発者は、エンドエフェクタ3の記憶部34の中身を簡便に参照することができ、開発者の負担を軽減することができる。
【0066】
図10Bはロボットコントローラおよびエンドエフェクタそれぞれの通信部の接続態様の第2例を模式的に示す図である。ロボットコントローラ4の通信部41とエンドエフェクタ3の通信部31との間は、LAN(Local Area Network)62で接続されている。そして、LAN62が有する複数のポートのうち、ポート621(一のポート)は、通信部41と通信部31との間の通信に使用される。つまり、上述のAPI521、動作マクロコード522、HTMLファイル53あるいはデータDiの通信は、ポート621を用いて実行される。また、LAN62が有する複数のポートのうち、ポート621と異なるポート622(他のポート)は、ロボットコントローラ4がエンドエフェクタ3の記憶部34をストレージとして使用するために使用される。
【0067】
かかる変形例では、LANのポート621を用いて、エンドエフェクタ3の記憶部34からロボットコントローラ4への制御情報の送信を実行できる。さらに、ロボットコントローラ4がエンドエフェクタ3の記憶部34をストレージとして使用するためのポート622がLAN62に設けられている。したがって、ロボットコントローラ4は、ポート622を使用することで、エンドエフェクタ3の記憶部34の中身をファイルとして認識して、これらをディスプレイ91にファイルとして表示することができる。その結果、開発者は、エンドエフェクタ3の記憶部34の中身を簡便に参照することができ、開発者の負担を軽減することができる。
【0068】
このように上記の実施形態では、ロボットシステム1が本発明の「ロボットシステム」の一例に相当し、ロボットアーム2が本発明の「ロボット」の一例に相当し、エンドエフェクタ3が本発明の「エンドエフェクタ」の一例に相当し、カメラ304が本発明の「データ取得部」の一例に相当し、演算部32が本発明の「演算部」の一例に相当し、記憶部34が本発明の「記憶部」の一例に相当し、ロボットコントローラ4が本発明の「ロボットコントローラ」の一例に相当し、演算部42が本発明の「制御部」の一例に相当し、ロボットアーム2とロボットコントローラ4とが協働して本発明の「ロボット装置」の一例として機能し、API521および動作マクロコード522が本発明の「制御情報」の一例に相当し、動作マクロコード522が本発明の「実行コード」の一例に相当し、HTMLファイル53が本発明の「表示情報」の一例に相当し、作業プログラム54が本発明の「作業プログラム」の一例に相当し、USB61が本発明の「USB」の一例に相当し、エンドポイント611が本発明の「一のエンドポイント」の一例に相当し、エンドポイント612が本発明の「他のエンドポイント」の一例に相当し、LAN62が本発明の「LAN」の一例に相当し、ポート621が本発明の「一のポート」の一例に相当し、ポート622が本発明の「他のポート」の一例に相当し、ディスプレイ91が本発明の「ディスプレイ」の一例に相当し、ワークWが本発明の「ワーク」の一例に相当する。
【0069】
なお、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて上述したものに対して種々の変更を加えることが可能である。例えばロボットシステム1が具備するロボットの具体例としては、上記のロボットアーム2に限られず、例えばAGV(Automatic Guided Vehicle)等の搬送ロボットでもよい。
【0070】
また、ロボットコントローラ4の通信部41とエンドエフェクタ3の通信部31との通信は、ロボットアーム2を介さずに実行することができる。特に、通信部41と通信部31との間で無線通信を行う場合には、ロボットアーム2を介さなくてもよい。
【0071】
また、動作マクロコード522を記述する具体的な言語は、種々想定される。例えば、ロボットコントローラ4に搭載された演算部42(CPU)に対応したバイナリ言語で、動作マクロコード522を記述することができる。
【0072】
また、動作マクロコード522は、JAVA(登録商標)のバイトコード等の中間コードで記述されていてもよい。これによって、ロボットコントローラ4は、そのCPU(演算部42)に依存せずに、動作マクロコード522を実行することができる。
【0073】
あるいは、動作マクロコード522は、PYTHON等のインタプリタ言語で記述されていてもよい。これによって、ロボットコントローラ4は、その演算部42(CPU)に依存せずに、動作マクロコード522を実行することができる。
【0074】
さらに、ロボットアーム2およびエンドエフェクタ3を制御するためのロボットコントローラ4の具体的構成は種々想定され、例えばデスクトップコンピュータあるいはラップトップコンピュータでもよい。
【0075】
また、モデル画像531および設定画面532をロボットコントローラ4に送信する手法は、上記のHTMLファイル53を用いた方法に限られない。また、モデル画像531および設定画面532それぞれを送信するタイミングは、上記の様に同時である必要はなく、異なっていてもよい。
【0076】
また、API521および動作マクロコード522等の制御情報をエンドエフェクタ3の記憶部34からロボットコントローラ4に送信するタイミングは、上記のようなロボットアーム2へのエンドエフェクタ3の装着時に限られない。したがって、例えば次のように構成することもできる。
【0077】
この例では、エンドエフェクタ3の記憶部34に当該エンドエフェクタ3を識別するIDが保存される。また、ロボットコントローラ4は、ロボットアーム2から離脱した状態のエンドエフェクタ3の記憶部34から、例えば無線通信によって、当該ロボットアーム2の制御情報とIDとを取得して、これらを対応付けて記憶部44に保存する。
【0078】
エンドエフェクタ3がロボットアーム2に装着されると、当該エンドエフェクタ3の記憶部34に保存されるIDが、ロボットコントローラ4に送信される。そして、ロボットコントローラ4は、受信したIDに対応する制御情報に基づき、ロボットアーム2に装着されたエンドエフェクタ3を制御する。
【符号の説明】
【0079】
1…ロボットシステム
2…ロボットアーム(ロボット、ロボット装置)
3…エンドエフェクタ
304…カメラ(データ取得部)
32…演算部
34…記憶部
4…ロボットコントローラ(ロボット装置)
42…演算部(制御部)
43…GUI
521…API(制御情報)
522…動作マクロコード(制御情報)
53…HTMLファイル(表示情報)
54…作業プログラム
61…USB
611…エンドポイント(一のエンドポイント)
612…エンドポイント(他のエンドポイント)
62…LAN
621…ポート
622…ポート
91…ディスプレイ
W…ワーク

図1
図2
図3A
図3B
図4
図5
図6
図7
図8
図9
図10A
図10B