JP7124389B2 - 制御装置、ロボット、およびロボットシステム - Google Patents

制御装置、ロボット、およびロボットシステム Download PDF

Info

Publication number
JP7124389B2
JP7124389B2 JP2018066731A JP2018066731A JP7124389B2 JP 7124389 B2 JP7124389 B2 JP 7124389B2 JP 2018066731 A JP2018066731 A JP 2018066731A JP 2018066731 A JP2018066731 A JP 2018066731A JP 7124389 B2 JP7124389 B2 JP 7124389B2
Authority
JP
Japan
Prior art keywords
input
output
display
robot
job
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018066731A
Other languages
English (en)
Other versions
JP2019177429A (ja
Inventor
敦 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2018066731A priority Critical patent/JP7124389B2/ja
Priority to CN201910243378.7A priority patent/CN110315532B/zh
Priority to US16/369,349 priority patent/US11534910B2/en
Publication of JP2019177429A publication Critical patent/JP2019177429A/ja
Application granted granted Critical
Publication of JP7124389B2 publication Critical patent/JP7124389B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40009Remove and replace machine part, module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40392Programming, visual robot programming language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Description

本発明は、ロボットのプログラミングを行うための技術に関するものである。
従来、ロボットのプログラミングを行うためのユーザーインターフェイスが存在する。たとえば、特許文献1においては、メインシーケンス画面上に表示されたアイコンとそれらを連結する連結線とに基づいて、メインシーケンスを作成することができる。また、サブシーケンス画面上に表示されたアイコンとそれらを連結する連結線とに基づいて、サブシーケンスを作成することができる。
特許第5429461号
しかし、特許文献1の技術では、ロボットの周辺装置とロボットとを制御対象として含むシーケンスの作成は、困難であった。
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態又は適用例として実現することが可能である。
(i)1台のロボットを表す第1画像と、
前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と、
1台の周辺装置を表す第2画像と、
前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み、
前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と、
前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備え、
前記表示制御部は、前記入出力編集画面として、
前記1以上の第1入出力表示のうち、前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられた第1入出力表示が、
前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示であり、
前記周辺装置の前記出力を表す前記第2入出力表示と線で結合されず、
前記第2入出力表示とは異なる表示であって前記周辺装置の前記出力を表す表示と線で結合されて示される、
前記入出力編集画面を、前記表示部に表示することができる、制御装置。
(ii)1台のロボットを表す第1画像と、
前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と、
1台の周辺装置を表す第2画像と、
前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み、
前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と、
前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備え、
前記表示制御部は、前記入出力編集画面として、
前記1以上の第2入出力表示のうち、前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられた第2入出力表示が、
前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられていない第2入出力表示とは、異なる表示であり、
前記ロボットの前記出力を表す前記第1入出力表示と線で結合されず、
前記第1入出力表示とは異なる表示であって前記ロボットの前記出力を表す表示と線で結合されて示される、
前記入出力編集画面を、前記表示部に表示することができる、制御装置。
(iii)1台のロボットを表す第1画像と、
前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と、
1台の周辺装置を表す第2画像と、
前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み、
前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と、
前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備え、
前記表示制御部は、前記入出力編集画面として、
前記1以上の第1入出力表示のうち、前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられた第1入出力表示が、
前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示であり、
前記周辺装置の前記入力を表す前記第2入出力表示と線で結合されず、
前記第2入出力表示とは異なる表示であって前記周辺装置の前記入力を表す表示と線で結合されて示される、
前記入出力編集画面を、前記表示部に表示することができる、制御装置。
ロボットを制御する制御装置が提供される。この制御装置は:1台のロボットを表す第1画像と;前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と;1台の周辺装置を表す第2画像と;前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み;前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と;前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備える。
ロボット100を含むワークステーションWSの構成を示す説明図である。 ワークステーションWSに関する処理のフローを示すフローチャートである。 図2のステップS100における設定装置600およびロボット制御装置300の処理を示すブロック図である。 図2のステップS110において、設定装置600のディスプレイ602に表示される入出力編集画面De0を示す図である。 入出力編集画面De0の第2表示部分Da02において、「ジョブ1 ロボット」J1が設定された状態を示す。 「ジョブ1 ロボット」J1に対して、同期入力の入力表示Si11と、非同期逐次の出力表示So12と、同期出力の出力表示So11が、設定された状態を示す。 「ジョブ2 装置」J2が設定され、さらに、「ジョブ2 装置」J2に対して、同期入力の入力表示Si21と、同期出力の出力表示So21と、非同期逐次の出力表示So22が、設定された状態を示す。 「ジョブ1 ロボット」J1の同期出力の出力表示So11と、「ジョブ2 装置」J2の同期入力の入力表示Si21とが、関連づけられた状態を示す。 図2のステップS110において、設定装置600のディスプレイ602に表示されるシーケンス編集画面De1を示す図である。 入出力編集画面De0で設定された同期処理および非同期処理を実現するために設定される変数を示す表である。 通し番号1の「同期」の入出力関係(図10、ならびに図4のSo11,Si21参照)を実現するプログラムリストを示す図である。 通し番号1の「同期」の入出力関係を実現するために設定された変数L1_S、L1_Rのタイムチャートである。 通し番号3の「非同期逐次」の入出力関係(図10、並びに図4のSo12,Si31参照)を実現するプログラムリストを示す図である。 通し番号3の「非同期」の入出力関係を実現するために設定された変数L3_Rのタイムチャートである。 図2のステップS110において、設定装置600のディスプレイ602に表示される第2実施形態の入出力編集画面De0bを示す図である。 入出力編集画面De0bのモーションジョブ部分Da021において、ジョブ画像J1bが設定された状態を示す。 ジョブ画像J1bに対してジョブ出力が設定される際の入出力編集画面De0bを示す。 ジョブ画像J1bに対してジョブ出力の出力表示So11bが設定された状態の入出力編集画面De0bを示す。 入出力編集画面De0bのモーションジョブ部分Da021において、ジョブ画像J2bが設定された状態を示す。 ジョブ画像J2bに対して名前が設定される際の入出力編集画面De0bを示す。 ジョブ画像J2bに対して名前「Machine」が設定された状態を示す。 ジョブ画像J2bに対してジョブ入力が設定される際の入出力編集画面De0bを示す。 ジョブ画像J2bに対してジョブ入力の入力表示Si21bが設定された状態の入出力編集画面De0bを示す。 ジョブ画像J1bの出力表示So11bが他のジョブ入力と関連づけられる際の入出力編集画面De0bを示す。 ユーザーインターフェイスIW12において、ジョブ画像J2bの入力表示Si21bを表す「In_1」IA1が選択されている状態の入出力編集画面De0bを示す。 ジョブ画像J1bの出力表示So11bの関連づけの相手として、ジョブ画像J2bの入力表示Si21bが設定された状態を示す。 図2のステップS110において、設定装置600のディスプレイ602に表示される第2実施形態のシーケンス編集画面De1bを示す図である。 編集対象のロボット100のジョブにジョブ出力の動作が追加された状態のシーケンス編集画面De1bを示す。 「JobOut」C062bのジョブ出力の出力ポートが指定される際の入出力編集画面De1bを示す。 ユーザーインターフェイスSW1において、ジョブ画像J1bの出力表示So11bを表す「Out_1」が選択された状態の入出力編集画面De1bを示す。 図2のステップS110において、設定装置600のディスプレイ602に表示される第2実施形態のシーケンス編集画面De1bを示す図である。 編集対象の加工装置800のジョブにジョブ入力の動作が追加された状態のシーケンス編集画面De1bを示す。 「JobIn」C072bのジョブ入力の入力ポートが指定される際の入出力編集画面De1bを示す。 ユーザーインターフェイスSW2において、ジョブ画像J2bの入力表示Si21bを表す「In_1」が選択された状態の入出力編集画面De1bを示す。 複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。
A.第1実施形態:
A1.ロボットシステムの構成:
図1は、ロボット100を含むワークステーションWSの構成を示す説明図である。ワークステーションWSにおいては、ワークステーションWSに含まれる複数の構成要素によって、一つの作業が行われる。ワークステーションWSは、構成要素として、ロボット100と、設定装置600と、加工装置800と、搬送装置750と、警告灯900とを含む。
ロボット100は、ロボット制御装置300と、アーム110と、を有する4軸ロボットである。
アーム110は、4個の関節を備える。4個の関節のうち3個の関節は、ねじり関節である。4個の関節のうち1個の関節は、直動関節である。ロボット100は、4個の関節をそれぞれサーボモーターで回転または直進させることにより、アーム110の先端部に取りつけられたエンドエフェクターを、3次元空間中の指定された位置に指定された姿勢で配することができる。なお、3次元空間におけるエンドエフェクターの位置を代表する地点を、「制御点」またはTCP(Tool Center Point)とも呼ぶ。
ロボット制御装置300は、アーム110およびエンドエフェクターを制御する制御装置である。ロボット制御装置300は、ロボット100の筐体内に収容されている。ロボット制御装置300は、プロセッサーであるCPU310と、RAM330と、ROM340と、を備えるコンピューターを含む。CPU310は、ROM340に記憶されたコンピュータープログラムをRAM330にロードして実行することによって、後述する様々な機能を実現する。ロボット100を制御するロボット制御装置300のCPU310の機能部を、「動作制御部319」として図1に示す。
設定装置600は、ロボット100の動作を規定する動作シーケンスを生成する。設定装置600は、出力装置として機能するディスプレイ602と、入力装置として機能するキーボード604およびマウス605と、を備えたコンピューターである。設定装置600は、さらに、プロセッサーであるCPU610と、RAM630と、ROM640と、を備えている。CPU610は、ROM640に記憶されたコンピュータープログラムをRAM630にロードして実行することによって、後述する様々な機能を実現する。
設定装置600は、ロボット制御装置300に接続されている。設定装置600によって生成された動作シーケンスが、ロボット制御装置300に送信される。ロボット制御装置300は、設定装置600から受信した動作シーケンスにしたがってロボット100を動作させる。
なお、設定装置600は、ティーチングペンダントを介してロボット制御装置300に接続されていてもよい。ティーチングペンダントは、単独で、すなわち、設定装置600と協働することなく、ロボット100の動作を規定する動作シーケンスを生成することができる。
ロボット制御装置300を含むロボット100と、設定装置600と、をまとめてロボットシステム1と呼ぶ。
加工装置800は、ワークピースW01に対して所定の加工処理を行う装置である。加工装置800は、ロボット100とともに動作する。なお、本明細書において「AがBとともに動作する」とは、AがBと連携して動作することを意味する。そして、「AがBとともに動作する」とは、AとBが同時刻に動いていることを必須の要件とはしない。加工装置800と警告灯900とを総称して、ロボットの「周辺装置」とも呼ぶ。ロボットの「周辺装置」は、ロボットと協力して作業を行う装置である。ロボットXの「周辺装置」は、ロボットXとは異なるロボットYでありうる。
加工装置800は、ロボット100からワークピースW01を供給されて、受け取ったワークピースW01に対して所定の加工処理を行う。そして、処理後のワークピースW01は、加工装置800から排出され、ロボット100によって、加工装置800から搬送装置750に運ばれる。
搬送装置750は、ローラーと、ベルトとを備えるベルトコンベアである。搬送装置750は、ローラーを駆動することにより、図1において矢印Atで示す方向に、ベルトを運動させる。搬送装置750は、ベルト上にワークピースW01を乗せて、矢印Atで示す方向に搬送する。
警告灯900は、ロボット100と加工装置800とから信号を受け取って、点灯する。加工装置800と警告灯900とは、ロボット100のロボット制御装置300(図1参照)に接続されており、ロボット制御装置300によって制御される。なお、本実施形態においては、搬送装置750は、ロボット制御装置300以外の制御装置に制御される。
A2.動作シーケンスの作成:
図2は、ワークステーションWSに関する処理のフローを示すフローチャートである。ワークステーションWSを動作させるにあたっては、まず、ステップS100において、ワークステーションWSを動作させるプログラムが作成される。ステップS100は、ステップS110~S130を含む。プログラムの作成は、設定装置600(図1参照)を介して、ユーザーによって行われる。
ステップS110においては、ロボット100と加工装置800と警告灯900の動作シーケンスが作成される。より具体的には、ユーザーは、設定装置600のディスプレイ602に表示される入出力編集画面De0と、シーケンス編集画面De1と、を介して、画像や文字を編集して、各構成要素の動作シーケンスを作成する。入出力編集画面De0とシーケンス編集画面De1については、後に説明する。
なお、ステップS110の処理が最初に行われた段階では、シーケンスに含まれる各動作において制御点の位置を定量的に規定するパラメーターの値は、まだ決定されていない。位置を定量的に規定するパラメーター以外の動作のパラメーターは、ステップS110において規定され得る。位置のパラメーターに限らず、各動作を定量的に規定する具体的なパラメーターを、集合的に「プロパティー」とも呼ぶ。
ステップS120においては、ステップS110で作成された動作シーケンスの各動作のプロパティーのうち、制御点の位置を定量的に規定するパラメーター以外のパラメーターが、設定される。より具体的には、ユーザーは、設定装置600のディスプレイ602に表示されたユーザーインターフェイスに文字や数字を入力し、または、選択肢の中から一つを選択する等の処理を行って、各動作のプロパティーを設定する。なお、後述するように、ステップS110~S140の処理は繰り返し行われ得る。このため、ステップS110における動作シーケンスの作成が完了する前に、個別の動作について、ステップS120の処理は行われ得る。
ステップS130においては、ステップS110で作成された動作シーケンスの各動作のパラメーターのうち、ロボット100の制御点を定めるパラメーターの値が決定される。より具体的には、ロボット100のアーム110およびエンドエフェクターが、設定装置600を介してユーザーに制御されて所望の位置に動かされ、その位置が教示点として記憶されることにより、ロボット100の制御点を定めるパラメーターの値が決定される。この処理を、「ジョグ&ティーチ」とも呼ぶ。
ステップS140においては、設定装置600のディスプレイ602に表示されるユーザーインターフェイスに含まれている所定のボタンが押されることにより、設定済みのパラメーターを含む動作シーケンスが、プログラムファイルに変換される。生成されたプログラムファイルは、設定装置600のRAM630に保存されるとともに、ロボット制御装置300に送信される。ステップS140においてプログラムファイルを作成する設定装置600のCPU610の機能部を、「ファイル作成部614」として図1に示す。
ステップS150においては、ユーザーは、ステップS110~S130で作成した動作シーケンスを確定してよいか否かを判断する。作成した動作シーケンスを確定する場合には、処理はステップS200に進む。作成した動作シーケンスをさらに編集する場合には、処理はステップS110に戻る。
ステップS200においては、ステップS100で作成されたプログラムにしたがって、ワークステーションWS(図1参照)を、ロボット制御装置300が動作させる。すなわち、ステップS110において、後述する入出力編集画面De0を介して編集された入出力関係、およびシーケンス編集画面De1を介して編集された動作シーケンスに基づいて、ロボット制御装置300が、ロボット100と加工装置800と警告灯900とを制御する。
図3は、図2のステップS100における設定装置600およびロボット制御装置300の処理を示すブロック図である。図3においては、設定装置600の例として、コンピューターとしての設定装置600を制御するOSが異なる3個の設定装置600が示される。すなわち、設定装置600の例として、Windows(登録商標)によって制御されるコンピューター600aと、Android(登録商標)によって制御されるコンピューター600bと、Linux(登録商標)によって制御されるコンピューター600cと、が示されている。各コンピューター600a~600cは、ティーチングペンダントを介してロボット制御装置300に接続されていてもよい。
ロボット制御装置300は、RAM330(図1参照)内にメソッド情報303を格納している。メソッド情報303は、動作シーケンスに含まれ得る各動作の情報である。たとえば、設定装置600は、メソッド情報303を参照して、動作に対応する画像を表示する。メソッド情報303は、OS(オペレーティングシステム)に依存しない形式のデータとして、ロボット制御装置300のRAM330内に格納されている。メソッド情報303が新たにRAM330内に格納されることにより、ワークステーションWSに実行させることができる動作が、追加される。
図2のステップS110~S130において、ワークステーションWSの各構成要素(具体的には、ロボット100と加工装置800と警告灯900)の動作シーケンスが編集されると、設定装置600は、ジョブ情報304を作成する。ジョブ情報304は、ワークステーションWSに含まれる一つの構成要素の動作シーケンスが規定された情報である。ジョブ情報304は、動作シーケンスを構成する動作およびそれら動作の並び順の情報と、各動作のプロパティー(パラメーター)の情報と、を含む。ジョブ情報304は、ワークステーションWSに含まれる制御対象である構成要素ごとに、作成される。
メソッド情報303は、動作と、その動作を表すプログラミング言語による表現と、を対応づけている情報を含む。設定装置600は、図3のステップS140において、
ワークステーションWSの各構成要素のジョブ情報304と、各動作のメソッド情報303と、を参照して、動作シーケンスをプログラムファイル305に変換する。
A3.動作シーケンスを作成するための第1ユーザーインターフェイス:
(1)入出力編集画面の構成:
本実施形態においては、設定装置600において、動作シーケンスを作成するためのユーザーインターフェイス(図2のS110参照)として、2種類のユーザーインターフェイスが用意される。第1ユーザーインターフェイスは、画面上で画像を操作することにより、ロボットと処理装置等のワークステーションWSの構成要素のいずれかの出力を他のいずれかの入力とする入出力関係を指定することができるユーザーインターフェイスである。第2ユーザーインターフェイスは、ワークステーションWSの構成要素のうちの一つについて、動作を画面上で配列することにより、その構成要素の動作シーケンスを編集することができるユーザーインターフェイスである。ここでは、第1ユーザーインターフェイスによる入出力関係を指定について説明する。
図4は、図2のステップS110において、設定装置600のディスプレイ602に表示される入出力編集画面De0を示す図である。入出力編集画面De0は、図2のステップS110において、ディスプレイ602に表示されているタブのうち、「アプリケーション編集」のタブが選択された場合に、ディスプレイ602に表示される画面である。なお、技術の理解を容易にするため、図4においては、タブの図示を省略する。
入出力編集画面De0は、第1表示部分Da01と、第2表示部分Da02とを含む。第1表示部分Da01と第2表示部分Da02とは、設定装置600のディスプレイ602において、左から右にその順に並んで表示される。
第1表示部分Da01は、第2表示部分Da02において設定し編集する対象を提示するユーザーインターフェイスである。第1表示部分Da01は、「空のジョブ」の表示J0と、複数種類の「ジョブ入力」の表示Si0と、複数種類の「ジョブ出力」の表示So0と、を含む。「ジョブ入力」の表示Si0には、「同期」の表示Si1と、「非同期逐次」の表示Si2と、「非同期一括」の表示Si3とが含まれる。「ジョブ出力」の表示So0には、「同期」の表示So1と、「非同期」の表示So2とが含まれる。
第2表示部分Da02は、ロボット100、加工装置800、警告灯900のいずれかの出力を他のいずれかの入力とする入出力関係を指定することができるユーザーインターフェイスである。第2表示部分Da02において、ワークステーションWSの構成要素の入出力関係が規定されることにより、ワークステーションWSにおける動作シーケンスを規定する「アプリケーション」の内容の少なくとも一部が決定される。
第2表示部分Da02は、図4の状態において、「ジョブ1 ロボット」のジョブ画像J1と、「ジョブ2 装置」のジョブ画像J2と、「ジョブ3 警告灯」のジョブ画像J3と、を含む。「ジョブ1 ロボット」のジョブ画像J1は、1台のロボット100を表す。「ジョブ2 装置」のジョブ画像J2は、ロボット100とともに動作する加工装置800を表す。「ジョブ3 警告灯」のジョブ画像J3は、ロボット100とともに動作する警告灯900を表す。
「ジョブ1 ロボット」のジョブ画像J1には、入力表示Si11、出力表示So12、および出力表示So11が付されている。入力表示Si11、出力表示So12、および出力表示So11は、ロボット100の入出力を表す。「ジョブ2 装置」のジョブ画像J2には、入力表示Si21、出力表示So21、および出力表示So22が付されている。入力表示Si21、出力表示So21、および出力表示So22は、加工装置800の入出力を表す。「ジョブ3 警告灯」のジョブ画像J3には、入力表示Si31が付されている。入力表示Si31は、警告灯900の入力を表す。本明細書において、入力表示と出力表示をまとめて「入出力表示」と呼ぶ。
本実施形態においては、動作シーケンスの作成において、「ジョブ」、「ジョブ入力」、「ジョブ出力」、「関連づけ」という概念が用いられる。以下で「ジョブ」、「ジョブ入力」、「ジョブ出力」、「関連づけ」について説明する。
(2)ジョブ:
「ジョブ」とは、(i)動作の主体、または(ii)動作の主体ごとにグループ分けされた動作の集合を意味する。「ジョブ」は、ワークステーションWSに含まれる、制御対象である構成要素(本実施形態において、ロボット100と加工装置800と警告灯900)に対応する概念である。一つの「アプリケーション」に対して、1以上の「ジョブ」が従属する。
図4の左上に示す「空のジョブ」の表示J0は、アプリケーションにジョブを設けるためのユーザーインターフェイスである。「空のジョブ」とは、ワークステーションWSに含まれる構成要素のうち対応する構成要素が具体的に指定されていないジョブを意味する。第1表示部分Da01に表示されている「空のジョブ」J0が、第2表示部分Da02にドラッグ&ドロップされることにより、第2表示部分Da02に空のジョブが設定される。そのように設定された空のジョブのプロパティーとして、ジョブの名前が設定される。ジョブの名前としては、たとえば、「ロボット」、「装置」、「警告灯」など、ユーザーが理解しやすい名前が設定される。図4の第2表示部分Da02に表示されている「ジョブ1 ロボット」のジョブ画像J1、「ジョブ2 装置」のジョブ画像J2、「ジョブ3 警告灯」のジョブ画像J3は、そのような処理を経て第2表示部分Da02内に表示されている。
概念上の分類としては、「ジョブ」は、他の構成要素に対する動きを伴う「モーションジョブ」と、他の構成要素に対する動きを伴わない「モニタリングジョブ」と、を含む。「モーションジョブ」は、たとえば、ロボット100、処理装置800、またはそれらの動作の集合である。「モニタリングジョブ」は、たとえば、警告灯900、または警告灯900の動作の集合である。
(3)ジョブ入力:
「ジョブ入力」とは、ワークステーションWSに含まれる構成要素への入力に対応する、ジョブへの入力である。「ジョブ入力」には、「同期のジョブ入力」と、「非同期のジョブ入力」とが含まれる。
「同期のジョブ入力」は、あるジョブXが、他のジョブYからの出力を入力として受け取り、その入力のタイミングである動作を行う、という動作シーケンスを設定するための、ジョブ入力である。入出力編集画面De0において、ジョブXに「同期のジョブ入力」が設定され、ジョブYに設定されている「同期のジョブ出力」と関連づけられることにより、ジョブXにおいて「同期のジョブ入力」と関連づけられた動作と、ジョブYにおいて「同期のジョブ出力」と関連づけられた動作と、を同期させる動作シーケンスが設定される。
たとえば、加工装置800があるワークピースW01を排出する処理と、ロボット100が加工装置800から排出されたワークピースW01を把持する処理と、が同期して行われる、という動作シーケンスを設定するためには、ロボット100に対応するジョブについて、以下の設定が行われる。すなわち、「ジョブ1 ロボット」J1において、ワークピースW01を把持する動作の契機となるジョブ入力が、「同期のジョブ入力」として設定され、「ジョブ2 装置」J2の「ワーク排出」のジョブ出力(同期のジョブ出力)と関連づけられる。
図4の左側中段に示す「ジョブ入力」Si0中の三角形の図形を含む図形を含む「同期」の表示Si1は、第2表示部分Da02内のジョブに「同期のジョブ入力」を設けるためのユーザーインターフェイスである。「同期」Si1が、第2表示部分Da02内に表示されているジョブ上にドラッグ&ドロップされることにより、そのジョブに、「同期のジョブ入力」が設定される。そのように設定されたジョブ入力のプロパティーとして、ジョブ入力の名前が設定される。ジョブ入力の名前としては、たとえば、「ワーク排出待ち」、「ワーク除去待ち」など、ユーザーが理解しやすい名前が設定される。図4の第2表示部分Da02に表示されている「ジョブ1 ロボット」J1の「ワーク排出待ち」の入力表示Si11、および「ジョブ2 装置」J2の「ワーク除去待ち」の入力表示Si21は、そのような処理を経て第2表示部分Da02内に表示されている。
「非同期のジョブ入力」は、あるジョブが、他のジョブからの出力を入力として受け取り、その入力を契機としてある動作を行う、という動作シーケンスを設定するための、ジョブ入力である。ただし、「非同期のジョブ入力」を契機とする動作は、その入力のタイミングと同期して行われるわけではない。「非同期のジョブ入力」には、「非同期逐次のジョブ入力」と「非同期一括のジョブ入力」が含まれる。
「非同期逐次のジョブ入力」と関連づけられた動作は、複数の入力が受け取られた場合には、受け取った入力の数に応じた回数または時間だけ、行われる。入出力編集画面De0において、ジョブXに「非同期逐次のジョブ入力」が設定され、ジョブYに設定されている「非同期のジョブ出力」と関連づけられることにより、ジョブYにおいて「非同期のジョブ出力」と関連づけられた動作を契機として、ジョブXにおいて「非同期逐次のジョブ入力」と関連づけられた動作行われる、動作シーケンスが設定される。
たとえば、ロボット100がワーク把持エラーを起こしたことを契機として、警告灯900を点灯させ、かつ、ワーク把持エラーの出力の回数に応じた回数だけ警告灯900を点灯させる、という動作シーケンスを設定するためには、以下のような設定が行われる。すなわち、「ジョブ3 警告灯」J3において、警告灯の点灯が関連づけられたジョブ入力が、「非同期逐次のジョブ入力」として設定され、「ジョブ1 ロボット」J1の「ワーク把持エラー」のジョブ出力(非同期のジョブ出力)と関連づけられる。
図4の左側中段に示す「ジョブ入力」Si0中の半円形の図形を含む「非同期逐次」の表示Si2は、第2表示部分Da02内のジョブに「非同期逐次のジョブ入力」を設けるためのユーザーインターフェイスである。「非同期逐次」Si2が、第2表示部分Da02内に表示されているジョブ上にドラッグ&ドロップされることにより、そのジョブに、「非同期逐次のジョブ入力」が設定される。そのように設定されたジョブ入力のプロパティーとして、ジョブ入力の名前が設定される。非同期逐次のジョブ入力の名前としては、たとえば、「エラー通知」など、ユーザーが理解しやすい名前が設定される。図4の第2表示部分Da02に表示されている「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31は、そのような処理を経て第2表示部分Da02内に表示されている。
「非同期一括のジョブ入力」と関連づけられた動作は、受け取られた入力の回数によらず、一定の内容(たとえば、一定の時間または一定の回数)で行われる。入出力編集画面De0において、ジョブXに「非同期一括のジョブ入力」が設定され、ジョブYに設定されている「非同期のジョブ出力」と関連づけられることにより、ジョブYにおいて「非同期のジョブ出力」と関連づけられた動作を契機として、ジョブXにおいて「非同期一括のジョブ入力」と関連づけられた動作行われる、動作シーケンスが設定される。
たとえば、ロボット100がワーク把持エラーを起こしたことを契機として、警告灯900を点灯させ、かつ、ワーク把持エラーの出力の回数によらず一定時間だけ警告灯900が点灯させる、という動作シーケンスを設定するためには、以下のような設定が行われる。すなわち、「ジョブ3 警告灯」J3において、警告灯の点灯が関連づけられたジョブ入力が、「非同期一括のジョブ入力」として設定され、「ジョブ1 ロボット」J1の「ワーク把持エラー」のジョブ出力(非同期のジョブ出力)と関連づけられる。
図4の左側中段に示す「ジョブ入力」Si0中の、半円形が二つ重なった形状の図形を含む「非同期一括」の表示Si3は、第2表示部分Da02内のジョブに「非同期一括のジョブ入力」を設けるためのユーザーインターフェイスである。「非同期一括」Si3が、第2表示部分Da02内に表示されているジョブ上にドラッグ&ドロップされることにより、そのジョブに、非同期一括のジョブ入力が設定される。そのように設定されたジョブ入力のプロパティーとして、ジョブ入力の名前が設定される。非同期一括のジョブ入力の名前としては、たとえば、「エラー通知」など、ユーザーが理解しやすい名前が設定される。なお、図4の例では、「非同期一括」のジョブ入力は設定されていない。
(4)ジョブ出力:
「ジョブ出力」とは、ワークステーションWSに含まれる構成要素からの出力に対応する、ジョブからの出力である。「ジョブ出力」には、「同期のジョブ出力」と、「非同期のジョブ出力」とが含まれる。
「同期のジョブ出力」は、あるジョブYが、他のジョブXに出力を送信し、その出力のタイミングである動作を行う、という動作シーケンスを設定するための、ジョブ出力である。入出力編集画面De0において、ジョブYに「同期のジョブ出力」が設定され、ジョブXに設定されている「同期のジョブ入力」と関連づけられることにより、ジョブYにおいて「同期のジョブ出力」と関連づけられた動作と、ジョブXにおいて「同期のジョブ入力」と関連づけられた動作と、を同期させる動作シーケンスが設定される。
図4の左側下段に示す「ジョブ出力」So0中の三角形の図形を含む「同期」の画像So1は、第2表示部分Da02内のジョブに「同期のジョブ出力」を設けるためのユーザーインターフェイスである。「同期」So1が、第2表示部分Da02内に表示されているジョブ上にドラッグ&ドロップされることにより、そのジョブに、同期のジョブ出力が設定される。そのように設定されたジョブ出力のプロパティーとして、ジョブ出力の名前が設定される。ジョブ出力の名前としては、たとえば、「ワーク排出」、「ワーク除去完了」など、ユーザーが理解しやすい名前が設定される。図4の第2表示部分Da02に表示されている「ジョブ2 装置」J2の「ワーク排出」の出力表示So21、および「ジョブ1 ロボット」J1の「ワーク除去完了」の出力表示So11は、そのような処理を経て第2表示部分Da02内に表示されている。
「非同期のジョブ出力」は、あるジョブYが、他のジョブXに出力を送信し、その出力を契機としてある動作を行う、という動作シーケンスを設定するための、ジョブ出力である。ただし、「非同期のジョブ出力」に伴う処理においては、そのジョブYにおける動作は、その出力のタイミングと同期して行われるわけではない。入出力編集画面De0において、ジョブYに「非同期のジョブ出力」が設定され、ジョブXに設定されている「非同期逐次のジョブ入力」または「非同期一括のジョブ入力」と関連づけられることにより、ジョブYにおけるその出力を契機として、ジョブXにおいて「非同期逐次のジョブ入力」または「非同期一括のジョブ入力」と関連づけられた動作が行われる動作シーケンスが設定される。
たとえば、加工装置800がエラーを起こしたことを契機として、警告灯900を点灯させる、という動作シーケンスを設定するためには、以下のような設定が行われる。すなわち、「ジョブ2 装置」J2において、装置エラーが関連づけられたジョブ出力が、「非同期のジョブ出力」として設定され、「ジョブ3 警告灯」J3の「エラー通知」のジョブ入力(非同期のジョブ入力)と関連づけられる。
図4の左側下段に示す「ジョブ出力」So0中の半円形の図形を含む「非同期」の画像So2は、第2表示部分Da02内のジョブに「非同期のジョブ出力」を設けるためのユーザーインターフェイスである。「非同期」So2が、第2表示部分Da02内に表示されているジョブ上にドラッグ&ドロップされることにより、そのジョブに、非同期のジョブ出力が設定される。そのように設定されたジョブ出力のプロパティーとして、ジョブ出力の名前が設定される。非同期のジョブ出力の名前としては、たとえば、「ワーク把持エラー」、「装置エラー」など、ユーザーが理解しやすい名前が設定される。図4の第2表示部分Da02に表示されている「ジョブ1 ロボット」J1の「ワーク把持エラー」の出力表示So12、および「ジョブ2 装置」J2の「装置エラー」の出力表示So22は、そのような処理を経て第2表示部分Da02内に表示されている。
本実施形態においては、ロボット100の入出力表示と他の構成要素の入出力表示との関連づけにおいて、ロボット100と他の構成要素の一方において入出力関係を指定される出力と関連づけて実行されるべき処理と、他方において入出力関係を指定される入力と関連づけて実行されるべき処理と、を同期させるか否かを指定することができる(図4のDa01参照)。このため、同期処理を伴うロボット100と他の構成要素のシーケンスを、容易に作成することができる。
本実施形態においては、ロボット100の入出力表示と他の構成要素の入出力表示との関連づけにおいて、ロボット100と他の構成要素の一方において対象の出力と関連づけて実行されるべき処理と、他方において対象の入力と関連づけて実行されるべき処理とを、同期させず逐次処理を行わせるか、または同期させず一括処理を行わせるか、を指定することができる(図4のSi2,Si3参照)。このため、非同期の逐次処理と、非同期の一括処理を伴うロボットと処理装置のシーケンスを、容易に作成することができる。
(5)ジョブ出力とジョブ入力の関連づけ:
「関連づけ」とは、ジョブ出力とジョブ入力とを組み合わせて対応づける処理である。入出力編集画面De0において、ロボット100の入出力表示のうちの選択された入出力表示と、他の構成要素(ここでは、加工装置800および警告灯900)の入出力表示のうちの選択された入出力表示と、を関連づけることにより、ロボット100と他の構成要素の一方の出力を他方の入力とする入出力関係を指定することができる。
「同期」のジョブ出力は、「同期」のジョブ入力とのみ関連づけされ得る。「非同期」のジョブ出力は、「非同期逐次」または「非同期一括」のジョブ入力とのみ関連づけされうる。本明細書においては、「非同期逐次」のジョブ入力と「非同期一括」のジョブ入力とを、まとめて「非同期」のジョブ入力と呼ぶ。
ジョブ出力とジョブ入力の関連づけは、1対1の関連づけに限らない。すなわち、1個のジョブ出力と2個以上のジョブ入力の関連づけも行われうる。2個以上のジョブ出力と1個のジョブ入力の関連づけも行われうる。
ジョブ出力とジョブ入力との関連づけは、入出力編集画面De0の第2表示部分Da02において、以下のように行われる。すなわち、あるジョブの出力表示SoXX(「XX」は2桁の数字)をマウスでクリックすると、出力表示SoXXの色が変わる。また、色が変わった出力表示SoXXと対応づけられることができる1以上の入力表示SiYY(「YY」は2桁の数字)が、点滅表示される。その状態で、関連づけの相手である他のジョブの入力表示SiYYのいずれかをマウスをクリックすると、それらのジョブ入力とジョブ出力の関連づけが行われる。
先に入力表示SiYYをクリックし、その後、出力表示SoXXをマウスでクリックした場合も、同様の処理が行われる。すなわち、入力表示SiYYがクリックされると、入力表示SiYYの色が変わり、入力表示SiYYと対応づけられることができる1以上の出力表示SoXXが、点滅表示される。その後、点滅している出力表示SoXXのいずれか一つがクリックされると、それらのジョブ入力とジョブ出力の関連づけが行われる。
入出力編集画面De0において、ジョブ出力と関連づけされたジョブ入力を表す入力表示には、関連づけの相手方のジョブ出力の名前が線で結合されて表示される。たとえば、「ジョブ1 ロボット」J1の「ワーク排出待ち」の入力表示Si11には、「ジョブ2 装置」J2の「ワーク排出」の出力表示So21が関連づけられている。このため、「ジョブ1 ロボット」J1の「ワーク排出待ち」の入力表示Si11は、「ジョブ2 装置」J2の「ワーク排出」の出力表示So21に対応する「ワーク排出」の表示Co21を含む。
入出力編集画面De0において、ジョブ入力と関連づけされたジョブ出力を表す出力表示には、関連づけの相手方のジョブ入力の名前が線で結合されて表示される。たとえば、「ジョブ2 装置」J2の「ワーク排出」の出力表示So21は、「ジョブ1 ロボット」J1の「ワーク排出待ち」の入力表示Si11に対応する「ワーク排出待ち」の表示Ci11を含む。
入出力編集画面De0において、たとえば、「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31には、「ジョブ1 ロボット」J1の「ワーク把持エラー」の出力表示So12と、「ジョブ2 装置」J2の「装置エラー」の出力表示So22が、対応づけられている。
その結果、「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31には、「ジョブ2 装置」J2の「装置エラー」の出力表示So22に対応する「装置エラー」の表示Co22と、「ジョブ1 ロボット」J1の「ワーク把持エラー」の出力表示So12に対応する「ワーク把持エラー」の表示Co12とが、線で結合されて表示されている。「ジョブ1 ロボット」J1の「ワーク把持エラー」の出力表示So12には、「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31に対応する「エラー通知」の表示Ci31が、線で結合されて表示されている。「ジョブ2 装置」J2の「装置エラー」の出力表示So22には、「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31に対応する「エラー通知」の表示Ci31bが、線で結合されて表示されている。
(6)入出力編集画面の遷移例:
図5は、入出力編集画面De0の第2表示部分Da02において、「ジョブ1 ロボット」J1が設定された状態を示す。入出力編集画面De0の第2表示部分Da02において、何も表示されていない状態から、第1表示部分Da01内の「空のジョブ」の表示J0が第2表示部分Da02にドラッグ&ドロップされ、ジョブに対してプロパティーとしての名前(ここでは、「ロボット」)が設定されることにより、図5の状態が実現される。
図6は、「ジョブ1 ロボット」J1に対して、同期入力の入力表示Si11と、非同期逐次の出力表示So12と、同期出力の出力表示So11が、設定された状態を示す。図5の入出力編集画面De0の状態から、第1表示部分Da01内の「ジョブ入力」の表示Si0のうちの「同期」の表示Si1と、「ジョブ出力」の表示So0のうちの「同期」の表示So1と「非同期」の表示So2とが、「ジョブ1 ロボット」J1上にドラッグ&ドロップされ、それぞれの入出力に対してプロパティーとしての名前が設定されることにより、図6の状態が実現される。
入出力編集画面De0においては、このように、「ジョブ1 ロボット」J1に対して入力表示および出力表示を追加することができる。なお、本明細書においては、入力表示と出力表示を、まとめて「入出力表示」とも呼ぶ。
図7は、「ジョブ2 装置」J2が設定され、さらに、「ジョブ2 装置」J2に対して、同期入力の入力表示Si21と、同期出力の出力表示So21と、非同期逐次の出力表示So22が、設定された状態を示す。図6の入出力編集画面De0の状態から、以下の処理が行われることにより、図7の状態が実現される。すなわち、第1表示部分Da01内の「空のジョブ」の表示J0が第2表示部分Da02にドラッグ&ドロップされ、ジョブに対してプロパティーとしての名前(ここでは、「装置」)が設定される。第1表示部分Da01内の「ジョブ入力」の表示Si0のうちの「同期」の表示Si1と、「ジョブ出力」の表示So0のうちの「同期」の表示So1と「非同期」の表示So2とが、「ジョブ2 装置」J2上にドラッグ&ドロップされ、それぞれの入出力に対してプロパティーとしての名前が設定される。
入出力編集画面De0においては、このように、「ジョブ1 ロボット」J1以外のジョブ(ここでは、「ジョブ2 装置」J2)に対して、入出力表示を追加することができる。
図8は、「ジョブ1 ロボット」J1の同期出力の出力表示So11と、「ジョブ2 装置」J2の同期入力の入力表示Si21とが、関連づけられた状態を示す。図7の入出力編集画面De0の状態から、以下の処理が行われることにより、図8の状態が実現される。すなわち、「ジョブ1 ロボット」J1の同期出力の出力表示So11がクリックされ、その後、「ジョブ2 装置」J2の同期入力の入力表示Si21がクリックされる。その結果、「ジョブ1 ロボット」J1の同期出力の出力表示So11と、「ジョブ2 装置」J2の同期入力の入力表示Si21とが、関連づけられる。その結果、「ジョブ1 ロボット」J1の同期出力の出力表示So11に対して、「ワーク除去待ち」の表示Ci21が、付される。「ジョブ2 装置」J2の同期入力の入力表示Si21に対して、「ワーク除去完了」の表示Co11が、付される。
このように、入出力編集画面De0においては、ロボット100の出力表示であって、他の構成要素(ここでは、加工装置800と警告灯900)の入力表示と対応づけられた出力表示は、ロボット100の出力表示であって、他の構成要素の入力表示と対応づけられていない出力表示とは、異なる表示である。このため、ユーザーは、他の構成要素の入力と対応づけられていないロボット100の出力表示を容易に特定して、他の構成要素の入力表示と対応づけることができる。
また、入出力編集画面De0においては、ロボット100以外の構成要素(ここでは、加工装置800と警告灯900)の入力表示であって、ロボット100の出力表示と対応づけられた入力表示は、ロボット100以外の構成要素の入力表示であって、ロボット100の出力表示と対応づけられていない入力表示とは、異なる表示である。このため、ユーザーは、ロボット100の入力と対応づけられていない他の構成要素の出力表示を容易に特定して、ロボット100の入力表示と対応づけることができる。
図8の入出力編集画面De0の状態から、以下の処理が行われることにより、図4の状態が実現される。すなわち、第1表示部分Da01内の「空のジョブ」の表示J0が第2表示部分Da02にドラッグ&ドロップされ、ジョブに対してプロパティーとしての名前(ここでは、「警告灯」)が設定される。第1表示部分Da01内の「ジョブ入力」の表示Si0のうちの「非同期逐次」の表示Si2が、「ジョブ3 警告灯」J3上にドラッグ&ドロップされ、その入出力に対してプロパティーとしての名前(ここでは、「エラー通知」)が設定される。
そして、「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31と、「ジョブ1 ロボット」J1の「ワーク把持エラー」の出力表示So12および「ジョブ2 装置」J2の「装置エラー」の出力表示So22とが、関連づけられる。「ジョブ2 装置」J2の「ワーク排出」の出力表示So21と、「ジョブ1 ロボット」J1の「ワーク排出待ち」の入力表示Si11とが、関連づけられる。その結果、図4の状態が実現される。
このように、入出力編集画面De0においては、ロボット100の入力表示であって、他の構成要素(ここでは、加工装置800と警告灯900)の出力表示と対応づけられた入力表示は、ロボット100の入力表示であって、他の構成要素の出力表示と対応づけられていない入力表示とは、異なる表示である。このため、ユーザーは、他の構成要素の出力と対応づけられていないロボット100の入力表示を容易に特定して、他の構成要素の出力を表す第2入出力表示と対応づけることができる。
また、入出力編集画面De0においては、ロボット100以外の構成要素(ここでは、加工装置800と警告灯900)の出力表示であって、ロボット100の入力表示と対応づけられた出力表示は、ロボット100以外の構成要素の出力表示であって、ロボット100の入力表示と対応づけられていない出力表示とは、異なる表示である。このため、ユーザーは、ロボット100の入力と対応づけられていない他の構成要素の出力表示を容易に特定して、ロボット100の入力を表す入力表示と対応づけることができる。
A4.動作シーケンスを作成するための第2ユーザーインターフェイス:
以下では、第2ユーザーインターフェイスによる入出力関係の指定について説明する。第2ユーザーインターフェイスは、ワークステーションWSの構成要素のうちの一つについて、画面上で動作を配列することにより、その構成要素の動作シーケンスを編集することができるユーザーインターフェイスである。
図9は、図2のステップS110において、設定装置600のディスプレイ602に表示されるシーケンス編集画面De1を示す図である。シーケンス編集画面De1は、複数の動作を表す画像の中から1個の動作を表す画像を選択し、画面上で配列することによりロボットの動作シーケンスを編集することができるユーザーインターフェイスである。なお、本明細書において、「編集」とは、すでにある動作シーケンスの一部または全部を改変することに限らず、動作シーケンスがまったく規定されていない状態から動作シーケンスを生成することを含む。
シーケンス編集画面De1は、入出力編集画面De0(図4参照)が表示されている状態において、一つのジョブの画像が選択され、ディスプレイ602に表示される「ジョブ編集」のボタンが押された場合に、ディスプレイ602に表示される。なお、技術の理解を容易にするため、図4~図8においては、「ジョブ編集」のボタンの図示を省略する。
設定装置600がシーケンス編集画面De1を備えることにより、ロボット100とともに動作する加工装置800および警告灯900と、ロボット100と、の共同作業における入出力関係を入出力編集画面De0(図4参照)で指定した上で、ロボット100の動作シーケンスを、シーケンス編集画面De1において編集することができる。
シーケンス編集画面De1は、第1表示部分Da11と、第2表示部分Da12と、第3表示部分Da13とを含む。第1表示部分Da11と、第2表示部分Da12と、第3表示部分Da13とは、設定装置600のディスプレイ602において、左から右にその順に並んで表示される。
第1表示部分Da11は、選択可能な複数の動作を表すユーザーインターフェイスである。第1表示部分Da11は、選択可能な複数の動作を表す動作表示CMを含む。図9の例において、動作を表す動作表示CMには、「動かす」M05、「出力する」M06、「待機する」M08が含まれる。第1表示部分Da11には、他の表示も含まれる。なお、本実施形態においては、「基本設定」M01も、広義の「動作表示」として、以降の説明を行う。これらのユーザーインターフェイスによって、第2表示部分Da12で編集している動作シーケンスに、それぞれ以下で説明する処理が追加される。
「基本設定」M01は、ロボット100、加工装置800などの一つの動作主体の基本的な設定を決める処理を追加するためのユーザーインターフェイスである。「動かす」M05は、制御対象を動かす動作を追加するためのユーザーインターフェイスである。「出力する」M06は、動作主体としての制御対象が外部に信号を出力する動作を追加するためのユーザーインターフェイスである。「待機する」M08は、あらかじめ定められた事象が生じるまで処理を停止する動作を追加するためのユーザーインターフェイスである。
第1表示部分Da11は、さらに、動作シーケンスの作成において選択可能な複数のロジックを表す動作表示LGを含む。図9の例において動作表示LGには、「If」L01、「繰り返し」L02が含まれる。なお、本実施形態においては、「If」L01、「繰り返し」L02も、広義の「動作表示」として、以降の技術の説明を行う。
第1表示部分Da11は、さらに、動作シーケンスの作成において選択可能な動作の連携を表す動作表示CLを含む。図9の例において動作表示CLには、「ジョブ出力」C06、「ジョブ入力待ち」C07が含まれる。
「ジョブ出力」C06は、関連づけられた動作を契機として、ワークステーションWSの他の構成要素の指定されたポートに出力を行う処理を追加するためのユーザーインターフェイスである。「ジョブ出力」C06は、入出力編集画面De0(図4参照)の「ジョブ出力」の表示So0に含まれる「同期」の表示So1および「非同期」の表示So2に対応する。
「ジョブ入力待ち」C07は、ワークステーションWSの他の構成要素からの指定されたポートへの入力を待って所定の動作を行う処理を追加するためのユーザーインターフェイスである。「ジョブ入力待ち」C07は、入出力編集画面De0(図4参照)の「ジョブ入力」の表示Si0に含まれる「同期」の表示Si1、「非同期逐次」の表示Si2、および「非同期一括」の表示Si3に対応する。
第2表示部分Da12は、第1表示部分Da11を介して選択された動作の配列として動作シーケンスが表示され、動作の配列を編集することにより動作シーケンスを編集することができるユーザーインターフェイスである。第2表示部分Da12においては、入出力編集画面De0で指定されたジョブの動作シーケンスが、動作を表す画像の配列の形式で表示される。第1表示部分Da11の各表示を第2表示部分Da12にドラッグ&ドロップすることにより、第2表示部分Da12において、動作シーケンスに動作やロジックを追加することができる。第2表示部分Da12において、その動作を表す画像の配列が編集されることにより、動作シーケンスが編集されることができる。
第2表示部分Da12には、第1表示部分Da11を介して選択された動作を表す表示の配列として、動作シーケンスが表示される。図9の例においては、動作を表す表示M011,L021,C071,M051,L011,C061,C062が、それぞれ1行出表示され、上から下に向かって並んで配列されている。
「繰り返す」L021は、第1表示部分Da11の「繰り返す」L02が第2表示部分Da12にドラッグされることにより、第2表示部分Da12において表示されている。「動かす」M051は、第1表示部分Da11の「動かす」M05が第2表示部分Da12にドラッグされることにより、第2表示部分Da12において表示されている。同様に、第2表示部分Da12内の表示のうち、表示に付された符号の上3桁が第1表示部分Da11内の表示に付された符号と一致するものは、対応する第1表示部分Da11内の表示がドラッグされることにより、第2表示部分Da12内に表示されている表示である。
ただし、「基本設定」M011、「ジョブ入力待ち」C071、「If」L011、「ジョブ出力」C061、ならびに「ジョブ出力」C062は、最初に入出力編集画面De0から切り替えられてシーケンス編集画面De1が表示された時点で表示される。
「ジョブ入力待ち」C071は、入出力編集画面De0において、「ジョブ1 ロボット」のジョブ画像J1に、同期のジョブ入力を表す入力表示Si11(ワーク排出待ち)が設定されていたことと対応して、シーケンス編集画面De1の第2表示部分Da12に表示される。「If」L011および「ジョブ出力」C061は、入出力編集画面De0において、「ジョブ1 ロボット」のジョブ画像J1に、非同期のジョブ出力を表す出力表示So12(ワーク把持エラー)が設定されていたことと対応して、シーケンス編集画面De1の第2表示部分Da12に表示される。「ジョブ出力」C062は、入出力編集画面De0において、「ジョブ1 ロボット」のジョブ画像J1に、同期のジョブ出力を表す出力表示So11(ワーク除去完了)が設定されていたことと対応して、シーケンス編集画面De1の第2表示部分Da12に表示される。「基本設定」M011は、最初に入出力編集画面De0から切り替えられてシーケンス編集画面De1が表示された際に、無条件で表示される。
図9においては、第2表示部分Da12の上段に表示されている各動作のうち、「ジョブ出力」の表示C062がクリックされた状態を示している。「ジョブ出力」の表示C062は、クリックされる前とは異なる色で表示されている。
第3表示部分Da13は、第2表示部分Da12に表示された動作シーケンスに含まれる動作のプロパティーが表示され、プロパティーの値を設定されることができるユーザーインターフェイスである。より具体的には、第3表示部分Da13においては、第2表示部分Da12に表示された動作シーケンスに含まれる動作のうち、選択された動作のプロパティーが表示される。第3表示部分Da13を介して、選択された動作プロパティーの具体的な内容が設定される(図2のS120参照)。
図9の状態においては、第2表示部分Da12において「ジョブ出力」の表示C062が選択されているため、第3表示部分Da13には、ジョブ出力のプロパティー(ここでは、名称C062n)を設定するための画面が表示されている。他のジョブ入力およびジョブ出力C071,C061についても同様に、第3表示部分Da13を介してプロパティーを設定されうる。
すなわち、入出力編集画面De0において入出力表示が表示されたロボット100の入出力と、入出力編集画面De0において入出力表示が表示された他の構成要素の入出力と、については、第3表示部分Da13を介して、プロパティーが設定され得る。このため、ユーザーは、入出力編集画面De0において、ロボット100とともに動作する構成要素と、ロボット100と、の共同作業における入出力関係を指定した上で、シーケンス編集画面De1において、各入出力のプロパティーを設定することができる。
入出力編集画面De0(図4参照)を介して編集された入出力関係、ならびにシーケンス編集画面De1(図9参照)を介して編集された動作シーケンス、およびシーケンス編集画面De1を介して設定されたプロパティーの情報を含むプログラムファイル305が、図2のステップS140において作成される。
入出力編集画面De0およびシーケンス編集画面De1を、表示部としてのディスプレイ602に表示する設定装置600のCPU610の機能部を、「表示制御部612」として、図1に示す。
A5.同期処理および非同期処理の具体的な内容:
以下では、入出力編集画面De0(図4参照)を介して編集された入出力関係に基づいてプログラムファイル305が作成される際の処理内容を説明する。
図10は、入出力編集画面De0で設定された同期処理および非同期処理を実現するために設定される変数を示す表である。図2のステップS140においてプログラムファイル305が作成される際には、設定された入出力編集画面De0で対応づけられたすべての入出力関係について、通し番号が付される(図10の左端参照)。
通し番号1は、「ジョブ1 ロボット」J1の「ワーク排出待ち」の入力表示Si11と、「ジョブ2 装置」J2の「ワーク排出」の出力表示So21と、の同期処理のペアに対して付される(図4参照)。通し番号2は、「ジョブ2 装置」J2の「ワーク除去待ち」の入力表示Si21と、「ジョブ1 ロボット」J1の「ワーク除去完了」の出力表示So11と、の同期処理のペアに対して付される。
通し番号3は、「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31と、「ジョブ1 ロボット」J1の「ワーク把持エラー」の出力表示So12と、の非同期逐次のペアに対して付される。通し番号4は、「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31と、「ジョブ2 装置」J2の「装置エラー」の出力表示So22と、の非同期逐次のペアに対して付される。通し番号3,4の入出力関係においては、入力側は、いずれも「ジョブ3 警告灯」J3の「エラー通知」の入力表示Si31である。
通し番号1の同期の入出力関係については、送信側の変数L1_Sと、受信側の変数L1_Rと、が割り当てられる。通し番号2の同期の入出力関係については、送信側の変数L2_Sと、受信側の変数L2_Rと、が割り当てられる。通し番号3,4の非同期の入出力関係については、受信側の変数L3_Rのみが共通して割り当てられる。
図11は、通し番号1の「同期」の入出力関係(図10、ならびに図4のSo11,Si21参照)を実現するプログラムリストを示す図である。図11に示すプログラムリストは、図2のステップS140で作成されるプログラムファイル305の一部である。
図12は、通し番号1の「同期」の入出力関係を実現するために設定された変数L1_S、L1_Rのタイムチャートである。以下、図12を参照しつつ、図11に沿って、通し番号1の「同期」の入出力関係を実現するプログラムリストの内容および処理の進み方について説明する。図11においては、記載を省略しているが、変数L1_S、L1_Rの初期値は0である(図12のt11参照)。
ジョブ1(ロボット100)においては、ジョブ2(加工装置800)の処理と同期させて実行されるべき処理が実行できる状態になった場合に、Cj11において、変数L1_Rが1に設定される(図12のt12参照)。変数L1_Rを1とする処理が、ジョブ1における「出力」を表す(図4のSo11参照)。ジョブ1(ロボット100)においては、その後、Cj12において、変数L1_Sが1になるまで待機する動作が指定されている(図12のt13参照)。
ジョブ2(加工装置800)においては、Cj21において、変数L1_Rが1になるまで待機する動作が指定されている(図12のt11参照)。ジョブ1(ロボット100)によって、変数L1_Rが1になると(Cj11、および図12のt12参照)、ジョブ2(加工装置800)においては、Cj22において、変数L1_Sが1に設定される(図12のt14参照)。変数L1_Sを1とする処理が、ジョブ2における「入力」を表す(図4のSi21参照)。ジョブ2(加工装置800)においては、その後、Cj22に続いて記述されている処理Cj23が実行される。Cj22に続いて記述されている処理Cj23が、ジョブ1(ロボット100)からの入力と関連づけて実行されるべき処理である。言い替えれば、Cj22に続いて記述されている処理Cj23が、ジョブ1(ロボット100)の処理と同期させて実行されるべき処理である。
変数L1_Sが1になると(Cj22)、ジョブ1(ロボット100)においては、Cj13において、変数L1_Sが0に設定される(図12のt15参照)。また、Cj14において、変数L1_Rが0に設定される(図12のt16参照)。すなわち、変数L1_S、L1_Rは、初期値に設定される。ジョブ1(ロボット100)においては、その後、Cj14に続いて記述されている処理Cj15が実行される。Cj14に続いて記述されている処理Cj15が、ジョブ2(加工装置800)への出力と関連づけて実行されるべき処理である。言い替えれば、Cj14に続いて記述されている処理Cj15が、ジョブ2(加工装置800)の処理と同期させて実行されるべき処理である。
ジョブ1(ロボット100)における処理Cj15と、ジョブ2(加工装置800)における処理Cj23とは、以上のようなプログラムにより、同期される。通し番号2の「同期」の入出力関係(図10参照)を実現するプログラムリストも、同様に変数L2_S,L2_Rを利用した処理を行うように、作成される。
このようなプログラムによって、簡易な処理で、「同期」の入出力関係が実現される。その結果、制御を実行するロボット制御装置300のCPU310の処理負荷を低減し、かつRAM330において占有する領域を少なくすることができる。
図13は、通し番号3の「非同期逐次」の入出力関係(図10、並びに図4のSo12,Si31参照)を実現するプログラムリストを示す図である。図13に示すプログラムリストは、図2のステップS140で作成されるプログラムファイル305の一部である。
図14は、通し番号3の「非同期」の入出力関係を実現するために設定された変数L3_Rのタイムチャートである。以下、図14を参照しつつ、図13に沿って、通し番号3の「非同期逐次」の入出力関係を実現するプログラムリストの内容および処理の進み方について説明する。図13においては、記載を省略しているが、変数L3_Rの初期値は0である(図14のt21参照)。
まず、ロボット100にエラーが生じ、加工装置800にはエラーが生じなかった場合を想定し、ジョブ1(ロボット100)およびジョブ3(警告灯900)のプログラムリストの内容および処理の進み方について説明する。
ロボット100にエラーが生じた場合、ジョブ1(ロボット100)のCj16,Cj17,Cj18において、変数L3_Rが1増加される(図14のt22参照)。変数L3_Rを1だけ増加させる処理が、ジョブ1(ロボット100)における「出力」を表す。ジョブ1(ロボット100)においては、その後、Cj18に続いて記述されている処理が実行される。ジョブ1(ロボット100)のエラーが、ジョブ3(警告灯900)への出力と関連づけて実行されるべき処理である。言い替えれば、ジョブ1(ロボット100)のエラーが、ジョブ3(警告灯900)の処理の契機となるべき処理である。
一方、ジョブ3(警告灯900)においては、Cj31において、変数L3_Rが0より大きくなるまで待機する動作が指定されている(図14のt21参照)。ジョブ1(ロボット100)によって、変数L3_Rが1増加され、0より大きくなると(Cj17、および図14のt22参照)、ジョブ3(警告灯900)においては、Cj32において、変数L3_Rが1減少される(図14のt23参照)。変数L3_Rを1減少させる処理が、ジョブ3における「入力」を表す(図4のSi31参照)。ジョブ3(警告灯900)においては、その後、Cj32に続いて記述されている処理Cj34が実行される。
Cj32に続いて記述されている処理Cj34は、たとえば、警告灯900を所定時間、点灯させる処理である。Cj32に続いて記述されている処理Cj34が、ジョブ1(ロボット100)からの入力と関連づけて実行されるべき処理である。言い替えれば、Cj32に続いて記述されている処理Cj34が、ジョブ1(ロボット100)の処理を契機として実行されるべき処理である。
次に、ロボット100にエラーが生じ、続いて加工装置800にもエラーが生じた場合を想定し、ジョブ1(ロボット100)、ジョブ2(加工装置800)、およびジョブ3(警告灯900)のプログラムリストの内容および処理の進み方を説明する。
ロボット100にエラーが生じた場合、ジョブ1(ロボット100)のCj16,Cj17において、変数L3_Rが1増加される(図14のt24参照)。ジョブ1(ロボット100)においては、その後、Cj18に続いて記述されている処理が実行される。ジョブ1(ロボット100)のエラーが、ジョブ3(警告灯900)への出力と関連づけて実行されるべき処理である。言い替えれば、ジョブ1(ロボット100)のエラーが、ジョブ3(警告灯900)の処理の契機となるべき処理である。
続いて、加工装置800にエラーが生じた場合、ジョブ2(加工装置800)のCj24,Cj25において、変数L3_Rが1増加される(図14のt25参照)。変数L3_Rを1だけ増加させる処理が、ジョブ2(加工装置800)における「出力」を表す。ロボット100にエラーが生じ、続いて加工装置800にもエラーが生じた場合には、時刻t25において、変数L3_Rは2となる。ジョブ2(加工装置800)においては、その後、Cj26に続いて記述されている処理が実行される。ジョブ2(加工装置800)のエラーが、ジョブ3(警告灯900)への出力と関連づけて実行されるべき処理である。言い替えれば、ジョブ2(加工装置800)のエラーが、ジョブ3(警告灯900)の処理の契機となるべき処理である。
ジョブ3(警告灯900)においては、Cj31において、変数L3_Rが0より大きくなるまで待機する動作が指定されている。ジョブ1(ロボット100)によって変数L3_Rが1増加され、ジョブ2(加工装置800)によっても変数L3_Rが1増加され、その結果として、変数L3_Rが2になると(Cj17、Cj25、および図14のt24,t25参照)、ジョブ3(警告灯900)においては、Cj32において、変数L3_Rが1減少される(図14のt26参照)。変数L3_Rを1だけ減少させる処理が、ジョブ3(警告灯900)における「入力」を表す。その結果、変数L3_Rは1となる。ジョブ3(警告灯900)においては、その後、Cj32に続いて記述されている処理Cj34(警告灯900の所定時間の点灯)が実行される。記載を省略しているが、その後、ジョブ3(警告灯900)の処理は、Cj31に戻る。
ジョブ3(警告灯900)のCj31,Cj32においては、依然として変数L3_Rが0より大きいため、変数L3_Rが1減少される(図14のt27参照)。その結果、変数L3_Rは0となる。ジョブ3(警告灯900)においては、その後、Cj32に続いて記述されている処理Cj34(警告灯900の所定時間の点灯)が実行される。
このような処理の結果、ジョブ1(ロボット100)とジョブ2(加工装置800)とにおいて合計2回エラーが生じたことに対応して(図14のt24,t25参照)、ジョブ3(警告灯900)において、Cj32に続いて記述されている処理Cj34(警告灯900の所定時間の点灯)が2回実行される(図14のt26,t27参照)。
このようなプログラムによって、簡易な仕組みで、「非同期逐次」の入出力関係が実現される。その結果、制御を実行するロボット制御装置300のCPU310の処理負荷を低減し、かつRAM330において占有する領域を少なくすることができる。
なお、「非同期一括」の入出力関係を実現する場合は、ジョブ3(警告灯900)において、Cj32の処理に代えて、Cj33の処理が記述される。その結果、図14において一点鎖線で示すように、時刻t26において、変数L3_Rは初期値0となる。すなわち、変数L3_Rは初期値に設定される。変数L3_Rを初期値とする処理が、ジョブ3における「入力」を表す(図4のSi31参照)。
このような処理により、ジョブ1(ロボット100)とジョブ2(加工装置800)とにおいて合計2回エラーが生じた場合にも(図14のt24,t25参照)、ジョブ3(警告灯900)において、Cj32に続いて記述されている処理Cj34(警告灯900の所定時間の点灯)は1回だけ実行される(図14のt26参照)。
このようなプログラムによって、簡易な仕組みで、「非同期一括」の入出力関係が実現される。その結果、制御を実行するロボット制御装置300のCPU310の処理負荷を低減し、かつRAM330において占有する領域を少なくすることができる。
本実施形態における「ジョブ1 ロボット」のジョブ画像J1を、「第1画像」とも呼ぶ。ジョブ画像J1が伴っている入力表示Si11、出力表示So12、および出力表示So11を、「第1入出力表示」とも呼ぶ。加工装置800を、「周辺装置」とも呼ぶ。警告灯900を、「周辺装置」とも呼ぶ。「周辺装置」は、入出力編集画面において「第1画像」で表されるロボット以外の装置である。「ジョブ2 装置」のジョブ画像J2を、「第2画像」とも呼ぶ。ジョブ画像J2が伴っている入力表示Si21、出力表示So21、および出力表示So22を、「第2入出力表示」とも呼ぶ。「ジョブ3 警告灯」のジョブ画像J3を、「第2画像」とも呼ぶ。ジョブ画像J3が伴っている入力表示Si31を、「第2入出力表示」とも呼ぶ。設定装置600のディスプレイ602を、本明細書において「表示部」とも呼ぶ。ロボット制御装置300と設定装置600とを、まとめて「制御装置」とも呼ぶ。ロボット100のうち、ロボット制御装置300によって制御されるロボット制御装置300以外の部分を、「ロボット」とも呼ぶ。
B.第2実施形態:
B1.動作シーケンスを作成するための第1ユーザーインターフェイス:
(1)入出力編集画面の構成:
第2実施形態のワークステーションにおいては、設定装置600のディスプレイ602に表示される入出力編集画面とシーケンス編集画面の構成が、第1実施形態の入出力編集画面De0とシーケンス編集画面De1の構成とは異なる。第2実施形態のワークステーションの他の点は、第1実施形態のワークステーションWS(図1参照)と同じである。なお、第1実施形態で言及された構成と対応する構成については、第1実施形態で言及された構成の名称と同一の名称を付す。
図15は、図2のステップS110において、設定装置600のディスプレイ602に表示される第2実施形態の入出力編集画面De0bを示す図である。入出力編集画面De0bは、図2のステップS110において、ディスプレイ602に表示されているタブのうち、「Application Edit(アプリケーション編集)」のタブが選択された場合に、ディスプレイ602に表示される画面である。
入出力編集画面De0bは、第1表示部分Da01bと、第2表示部分Da02bとを含む。
第1表示部分Da01bは、第1実施形態の第1表示部分Da01と同様に、第2表示部分Da02bにおいて設定し編集する対象を提示するユーザーインターフェイスである。第1表示部分Da01bは、空のジョブを表す「Job」の表示J0bを含む。なお、第2実施形態の入出力編集画面De0bにおいては、入出力表示の追加は、第2表示部分Da02bにおいて行われる。このため、第1表示部分Da01bにおいては、入出力表示を追加するためのユーザーインターフェイス(図4のSi0,So0参照)は、表示されない。
第2表示部分Da02bは、第1実施形態の第2表示部分Da02と同様に、ロボット100、加工装置800、警告灯900のいずれかの出力を他のいずれかの入力とする入出力関係を指定することができるユーザーインターフェイスである。第2表示部分Da02bは、モーションジョブ部分Da021と、モニタリングジョブ部分Da022とを含む。
モーションジョブ部分Da021は、「モーションジョブ」の入出力関係を編集するためのユーザーインターフェイスである。「モーションジョブ」は、本実施形態においては、ロボット100、処理装置800、またはそれらの動作の集合である。モニタリングジョブ部分Da022は、「モニタリングジョブ」の入出力関係を編集するためのユーザーインターフェイスである。「モニタリングジョブ」は、本実施形態においては、警告灯900、または警告灯900の動作の集合である。
モーションジョブ部分Da021は、図15の状態において、ロボット100のジョブを表すジョブ画像J1bと、加工装置800のジョブを表すジョブ画像J2bと、を含む。ロボット100のジョブを表すジョブ画像J1bには、出力表示So11bが付されている。加工装置800のジョブを表すジョブ画像J2bには、入力表示Si21bが付されている。
ジョブ画像J1bは、「Edit」ボタンB11と、「Rename」ボタンB12と、入力追加ボタンB1iと、出力追加ボタンB1oと、を含む。
「Edit」ボタンB11は、そのジョブを編集対象とするシーケンス編集画面De1bを開くためのボタンである。シーケンス編集画面De1bについては、後に説明する。「Rename」ボタンB12は、そのジョブに名前を付し、または、そのジョブに付された名前を変更するためのボタンである。図15の例では、「Rename」ボタンB12による編集を経て、ジョブ画像J1bには、「Robot」という名前が付されている。
入力追加ボタンB1iは、そのジョブに、ジョブ入力を追加するためのユーザーインターフェイスである。入力追加ボタンB1iが押されると、ジョブ画像の左側にジョブ入力を表す入力表示が追加される。出力追加ボタンB1oは、そのジョブに、ジョブ出力を追加するためのユーザーインターフェイスである。出力追加ボタンB1oが押されると、ジョブ画像の右側にジョブ出力を表す出力表示が追加される(図15のSo11b参照)。
ジョブ画像J2bも、ジョブ画像J1bと同様に構成される。ジョブ画像J2bには、「Rename」ボタンB22による編集を経て、「Machine」という名前が付されている。
出力表示So11bは、ロボット100の出力を表す。出力表示So11bは、出力追加ボタンB1oにより、ジョブ画像J1bに付されている。入力表示Si21bは、加工装置800の入力を表す。入力表示Si21bは、入力追加ボタンB2iにより、ジョブ画像J2bに付されている。出力表示So11bと入力表示Si21bは、対応づけられている。
(2)入出力編集画面の遷移例:
図16は、入出力編集画面De0bのモーションジョブ部分Da021において、ジョブ画像J1bが設定された状態を示す。入出力編集画面De0bのモーションジョブ部分Da021において、何も表示されていない状態から、第1表示部分Da01b内の「Job」の表示J0bが、モーションジョブ部分Da021にドラッグ&ドロップされ、ジョブに対してプロパティーとしての名前(ここでは、「Robot」)が設定されることにより、図16の状態が実現される。図16において、ジョブ画像J1bは、編集中であるため、図15におけるジョブ画像J1bとは異なる色で表示される。
図17は、ジョブ画像J1bに対してジョブ出力が設定される際の入出力編集画面De0bを示す。図16の入出力編集画面De0bの状態から、出力追加ボタンB1oが押されることにより、ジョブ画像J1bに対して追加されるジョブ出力の名前を指定するための入力窓IW11が表示される。図16の例では、「Out_1」という名前が入力されている。「OK」ボタンB13が押されると、入力窓IW11に入力された名前のジョブ出力が、ジョブ画像J1bに対して設定される。「Cancel」ボタンB14が押されると、ジョブ画像J1bに対するジョブ出力の設定はキャンセルされる。図17において、ジョブ画像J1bは、編集中であるため、図15におけるジョブ画像J1bとは異なる色で表示される。
図18は、ジョブ画像J1bに対してジョブ出力の出力表示So11bが設定された状態の入出力編集画面De0bを示す。図18における出力表示So11bは、他のジョブのジョブ入力と関連づけられていないため、図15における出力表示So11bとは異なる表示である。図18における出力表示So11bは、コネクターが結合されていない状態を表している。図15における出力表示So11bは、コネクターが結合された状態を表している。図18において、ジョブ画像J1bは、編集中であるため、図15におけるジョブ画像J1bとは異なる色で表示される。
図19は、入出力編集画面De0bのモーションジョブ部分Da021において、ジョブ画像J2bが設定された状態を示す。第1表示部分Da01b内の「Job」の表示J0bがモーションジョブ部分Da021にドラッグ&ドロップされることにより、図19の状態が実現される。図19の状態において、ジョブ画像J2bには、まだ名前が付されていないため、図15の「Machine」という表示ではなく、単に「Job」と表示されている。図19において、ジョブ画像J2bは、編集中であるため、図15におけるジョブ画像J2bとは異なる色で表示される。
図20は、ジョブ画像J2bに対して名前が設定される際の入出力編集画面De0bを示す。図19の入出力編集画面De0bの状態から、「Rename」ボタンB22が押されることにより、ジョブ画像J2bに対して追加されるジョブ出力の名前を指定するための入力窓IW21が表示される。図20の例では、「Machine」という名前が入力されている。「OK」ボタンB23が押されると、入力窓IW21に入力された名前が、ジョブ画像J2bに対して設定される。「Cancel」ボタンB24が押されると、ジョブ画像J2bに対する名前の設定はキャンセルされる。図20において、ジョブ画像J2bは、編集中であるため、図15におけるジョブ画像J2bとは異なる色で表示される。
図21は、ジョブ画像J2bに対して名前「Machine」が設定された状態を示す。図20の状態において、「OK」ボタンB23が押されることにより、図21の状態が実現される。
図22は、ジョブ画像J2bに対してジョブ入力が設定される際の入出力編集画面De0bを示す。図21の入出力編集画面De0bの状態から、入力追加ボタンB2iが押されることにより、ジョブ画像J1bに対して追加されるジョブ入力の名前を指定するための入力窓IW22が表示される。図22の例では、「In_1」という名前が入力されている。「OK」ボタンB25が押されると、入力窓IW22に入力された名前のジョブ入力が、ジョブ画像J2bに対して設定される。「Cancel」ボタンB26が押されると、ジョブ画像J1bに対するジョブ入力の設定はキャンセルされる。図22において、ジョブ画像J2bは、編集中であるため、図15におけるジョブ画像J2bとは異なる色で表示される。
図23は、ジョブ画像J2bに対してジョブ入力の入力表示Si21bが設定された状態の入出力編集画面De0bを示す。図23における入力表示Si21bは、他のジョブのジョブ出力と関連づけられていないため、図15における入力表示Si21bとは異なる表示である。図23おける入力表示Si21bは、コネクターが結合されていない状態を表している。図15における入力表示Si21bは、コネクターが結合された状態を表している。図23において、ジョブ画像J2bは、編集中であるため、図15におけるジョブ画像J2bとは異なる色で表示される。
図24は、ジョブ画像J1bの出力表示So11bが他のジョブ入力と関連づけられる際の入出力編集画面De0bを示す。図23の入出力編集画面De0bの状態から、出力表示So11bにマウスカーソルが重ねられることにより、出力表示So11bに対して関連づけられるジョブ出力を指定するためのユーザーインターフェイスIW12が表示される。図24の例では、関連づけの相手の候補として、ジョブ画像J2bの入力表示Si21bを表す「In_1」IA1が表示されている。
なお、図24の例では、第2表示部分Da02bにおいて、ジョブ入力として、ジョブ画像J2bの入力表示Si21bに対応するジョブ入力のみが設定されている。このため、ユーザーインターフェイスIW12において表示される関連づけの相手の候補は、ジョブ画像J2bの入力表示Si21bを表す表示「In_1」IA1のみである。しかし、第2表示部分Da02bにおいて、複数のジョブ入力が設定されている場合には、ユーザーインターフェイスIW12において、複数の関連づけの相手の候補が表示されうる。
図25は、ユーザーインターフェイスIW12において、ジョブ画像J2bの入力表示Si21bを表す「In_1」IA1が選択されている状態の入出力編集画面De0bを示す。図16において、表示「In_1」IA1は、選択されているため、図24における表示「In_1」IA1とは異なる色で表示される。「OK」ボタンB15が押されると、ユーザーインターフェイスIW12において選択されている「In_1」IA1に対応する入力表示Si21bが、出力表示So11bの関連づけの相手として、設定される。「Cancel」ボタンB16が押されると、出力表示So11bの関連づけの相手の設定はキャンセルされる。
図26は、ジョブ画像J1bの出力表示So11bの関連づけの相手として、ジョブ画像J2bの入力表示Si21bが設定された状態を示す。図25の状態において、「OK」ボタンB15が押されることにより、図26の状態が実現される。図26における出力表示So11bは、他のジョブのジョブ入力と関連づけられているため、図18~図25における出力表示So11bとは異なる表示である。図26における出力表示So11bは、コネクターが結合された状態を表している。また、図26における入力表示Si21bは、他のジョブのジョブ出力と関連づけられているため、図23~図25における入力表示Si21bとは異なる表示である。図26における入力表示Si21bは、コネクターが結合された状態を表している。図26において、ジョブ画像J1bは、編集中であるため、図15におけるジョブ画像J1bとは異なる色で表示される。
なお、モーションジョブ部分Da021におけるロボット100のジョブ画像J1bと、加工装置800のジョブ画像J2bと同様に、モニタリングジョブ部分Da022においては、警告灯900のジョブ画像が表示されることができ、警告灯900の入出力が編集されることができる。
B2.動作シーケンスを作成するための第2ユーザーインターフェイス:
図27は、図2のステップS110において、設定装置600のディスプレイ602に表示される第2実施形態のシーケンス編集画面De1bを示す図である。シーケンス編集画面De1bは、複数の動作を表す画像の中から1以上の動作を表す画像を選択し、画面上で配列することによりロボットの動作シーケンスを編集することができるユーザーインターフェイスである。
シーケンス編集画面De1bは、入出力編集画面De0b(図15参照)において、一つのジョブの画像が選択され、その「Edit」ボタンが押された場合に、ディスプレイ602に表示される。押された「Edit」ボタンが所属するジョブの動作シーケンスが、シーケンス編集画面De1bにおいて、編集対象となる。たとえば、図26の状態において、ジョブ画像J1bの「Edit」ボタンB11が押されることにより、図27の状態が実現される。
シーケンス編集画面De1bは、第1表示部分Da11bと、第2表示部分Da12bと、第3表示部分Da13bとを含む。
第1表示部分Da11bは、選択可能な複数の動作を表すユーザーインターフェイスである。第1表示部分Da11bは、選択可能な複数の動作を表す動作表示CMbを含む。図27の例において動作を表す動作表示CMには、「Hand」M04b、「Motion」M05b、「Output」M06b、「Print」M07b、「Wait」M08b、「Quit」M09bが含まれる。第1表示部分Da11には、他の表示も含まれる。なお、本実施形態においては、「Basic Settings」M01b,「Comment」M02b,「Container」M03bも、広義の「動作表示」として、以降の説明を行う。
「Basic Settings」M01bは、ロボット100、加工装置800などの一つの動作主体の基本的な設定を決める処理を追加するためのユーザーインターフェイスである。「Comment」M02bは、プログラミング言語で表現されたプログラムリスト中に埋め込まれるコメントを追加するためのユーザーインターフェイスである。コメントは、動作シーケンスの内容をユーザーが理解しやすくするために、プログラムリスト中に埋め込まれる。
「Container」M03bは、複数の動作の集合を追加するためのユーザーインターフェイスである。「Hand」M04bは、エンドエフェクターとしてのマニピュレーターを制御対象とする処理を追加するためのユーザーインターフェイスである。「Motion」M05bは、制御対象を動かす動作を追加するためのユーザーインターフェイスである。「Output」M06bは、動作主体としての制御対象が外部に信号を出力する動作を追加するためのユーザーインターフェイスである。「Print」M07bは、動作主体としての制御対象が、ユーザーが認識可能なメッセージを外部に出力する動作を追加するためのユーザーインターフェイスである。「Wait」M08bは、あらかじめ定められた事象が生じるまで処理を停止する動作を追加するためのユーザーインターフェイスである。「Quit」M09bは、それまで行っていた動作を停止させる処理を追加するためのユーザーインターフェイスである。
第1表示部分Da11bは、さらに、動作シーケンスの作成において選択可能な複数のロジックを表す動作表示LGを含む。図6の例において動作を表す動作表示LGには、「If」L01b、「Loop」L02bが含まれる。なお、本実施形態においては、「If」L01b、「Loop」L02bも、広義の「動作表示」として、以降の技術の説明を行う。
第1表示部分Da11bは、さらに、動作シーケンスの作成において選択可能な動作の連携を表す動作表示CLを含む。図9の例において動作表示CLには、「JobOut」C06b、「JobIn」C07bが含まれる。
「JobOut」C06bは、関連づけられた動作を契機として、ワークステーションWSの他の構成要素の指定されたポートに出力を行う処理を追加するためのユーザーインターフェイスである。「JobIn」C07bは、ワークステーションWSの他の構成要素からの指定されたポートへの入力を待って所定の動作を行う処理を追加するためのユーザーインターフェイスである。
第2表示部分Da12bにおいては、第1表示部分Da11bを介して選択された動作の配列の形式で、動作シーケンスが表示される。第2表示部分Da12bにおいて、その動作の配列が編集されることにより、動作シーケンスが編集されることができる。図28の状態においては、まだ、動作シーケンスを構成する動作をユーザーが選択していないため、第2表示部分Da12bには、動作シーケンスを表す画像は表示されていない。第1表示部分Da11bの動作表示CMの中から表示を選択して、クリックすることにより、ユーザーは、動作シーケンスを構成する動作を、第2表示部分Da12bに配することができる。
第2表示部分Da12bの下段には、編集ボタンBe1~Be7が含まれる。編集ボタンBe1~Be7の機能については、後に説明する。
第3表示部分Da13bにおいては、第2表示部分Da12bに表示された動作シーケンスに含まれる動作のプロパティーが表示され、プロパティーの値が設定される。図27の状態においては、まだ、動作シーケンスを構成する動作が選択されていないため、第3表示部分Da13bには、動作のプロパティーに関する画像は表示されていない。
図28は、編集対象のロボット100のジョブにジョブ出力の動作が追加された状態のシーケンス編集画面De1bを示す。図27の状態において、第1表示部分Da11bの「JobOut」C06bが押されることにより、図28の状態が実現される。シーケンス編集画面De1bの第2表示部分Da12bには、ロボット100のジョブ出力の動作に対応する出力表示「JobOut」C062bが表示されている。
第2表示部分Da12bの下段には、編集ボタンBe1~Be7が表示されている。第2表示部分Da12bの上段に表示されている動作は、編集ボタンBe1~Be7によって、編集されることができる。ユーザーが、第2表示部分Da12bの上段に表示されている各動作に対応する表示をクリックして選択し、「Up」編集ボタンBe1を押すと、クリックされた動作は、第2表示部分Da12bの上段の表示において、一つ上の行に移動する。同様に、「Down」編集ボタンBe2を押すと、クリックされた動作は、第2表示部分Da12bの上段の表示において、一つ下の行に移動する。ただし、図28の状態においては、動作として、出力表示「JobOut」C062bのみが表示されているため、「Up」編集ボタンBe1および「Down」編集ボタンBe2は、実質的には機能しない。
同様に、「Copy」編集ボタンBe3は、コピー機能を奏する。「Cut」編集ボタンBe4は、カット機能を奏する。コピーまたはカットされた動作は、RAM630(図1参照)内に記憶され、「Paste」編集ボタンBe5が押されることにより、第2表示部分Da12bの上段の表示内に貼り付けられる。
「Delete」編集ボタンBe7は、削除機能を奏する。ユーザーが、第2表示部分Da12bの上段に表示されている各動作に対応する表示をクリックして選択し、「Suppress」編集ボタンBe6を押すと、クリックされた動作は、第2表示部分Da12bの上段において表示されたまま、図2のステップS120~S140,S200の処理に関しては、第2表示部分Da12bの上段において表示されていない場合と同様に処理される。
第3表示部分Da13bには、第2表示部分Da12bに表示された動作シーケンスに含まれる動作のうち、選択された動作のプロパティーが表示される。第3表示部分Da13bを介して、選択された動作プロパティーの具体的な内容が設定される(図2のS120参照)。図28の状態においては、第2表示部分Da12bにおいて「JobOut」C062bの動作が選択されているため、第3表示部分Da13bには、「JobOut」C062bが表すジョブ出力の動作のプロパティーを設定するための画面が表示されている。
第3表示部分Da13bにおいては、「JobOut」C062bが表すジョブ出力の動作のプロパティーとして、ジョブ出力の出力先のポート、すなわち、出力ポートを指定するためのユーザーインターフェイスSW1が表示されている。
図29は、「JobOut」C062bのジョブ出力の出力ポートが指定される際の入出力編集画面De1bを示す。図28の入出力編集画面De1bの状態から、ユーザーインターフェイスSW1がクリックされることにより、「JobOut」C062bのジョブ出力の出力ポートの候補が表示される。図29においては、ジョブ出力の出力ポートの候補として、この時点で唯一、ジョブ画像J1bに設定されている出力表示So11b(図26参照)を表す「Out_1」IA2が表示されている。
図30は、ユーザーインターフェイスSW1において、ジョブ画像J1bの出力表示So11bを表す「Out_1」が選択された状態の入出力編集画面De1bを示す。その後、左上に示すボタンUBが押されると、入出力編集画面De0bが表示される(図26参照)。
図31は、図2のステップS110において、設定装置600のディスプレイ602に表示される第2実施形態のシーケンス編集画面De1bを示す図である。たとえば、図26の状態において、ジョブ画像J2bの「Edit」ボタンB21が押されることにより、図31の状態が実現される。
図31の状態においては、まだ、動作シーケンスを構成する動作をユーザーが選択していないため、第2表示部分Da12bには、動作シーケンスを表す画像は表示されていない。また、動作シーケンスを構成する動作をユーザーが選択していないため、第3表示部分Da13bには、動作のプロパティーに関する画像は表示されていない。
図32は、編集対象の加工装置800のジョブにジョブ入力の動作が追加された状態のシーケンス編集画面De1bを示す。図31の状態において、第1表示部分Da11bの「JobIn」C07bが押されることにより、図32の状態が実現される。シーケンス編集画面De1bの第2表示部分Da12bには、加工装置800のジョブ入力の動作に対応する入力表示「JobIn」C072bが表示されている。
図32の状態においては、第2表示部分Da12bにおいて「JobIn」C072bが選択されているため、第3表示部分Da13bには、「JobIn」C072bが表すジョブ出力のプロパティーを設定するための画面が表示されている。
第3表示部分Da13bにおいては、「JobIn」C072bが表すジョブ入力の動作のプロパティーとして、ジョブ入力の受取を行うポート、すなわち、入力ポートを指定するためのユーザーインターフェイスSW2が表示されている。
図33は、「JobIn」C072bのジョブ入力の入力ポートが指定される際の入出力編集画面De1bを示す。図32の入出力編集画面De1bの状態から、ユーザーインターフェイスSW2がクリックされることにより、「JobIn」C072bのジョブ入力の入力ポートの候補が表示される。図33においては、ジョブ入力の入力ポートの候補として、この時点で唯一、ジョブ画像J2bに設定されている入力表示Si21b(図26参照)を表す「In_1」IA3が表示されている。
図34は、ユーザーインターフェイスSW2において、ジョブ画像J2bの入力表示Si21bを表す「In_1」が選択された状態の入出力編集画面De1bを示す。その後、ボタンUBが押されると、入出力編集画面De0bが表示される(図26参照)。
本実施形態におけるロボット100のジョブを表すジョブ画像J1bを、「第1画像」とも呼ぶ。ジョブ画像J1bが伴っている出力表示So11bを、「第1入出力表示」とも呼ぶ。加工装置800のジョブ画像J2bを、「第2画像」とも呼ぶ。ジョブ画像J2bが伴っている入力表示Si21bを、「第2入出力表示」とも呼ぶ。
C.第3実施形態:
図35は、複数のプロセッサーによってロボットの制御装置が構成される一例を示す概念図である。この例では、ロボット100のロボット制御装置300が、ロボット100の外部に設けられている点が図1と異なる。また、この例では、ロボット100およびそのロボット制御装置300の他に、設定装置としてのパーソナルコンピューター600,600dと、LANなどのネットワーク環境を介して提供されるクラウドサービス1000とが描かれている。パーソナルコンピューター600,600dは、それぞれプロセッサーとメモリーとを含んでいる。また、クラウドサービス1000においてもプロセッサーとメモリーを利用可能である。プロセッサーは、コンピューター実行可能な命令を実行する。これらの複数のプロセッサーの一部または全部を利用して、ロボット100のロボット制御装置および設定装置を実現することが可能である。
D.他の形態:
D1.他の形態1:
(1)上記第1実施形態においては、第1画像としての「ジョブ1 ロボット」J1は、複数の入出力を伴う(図4参照)。しかし、第2実施形態に示すように、第1画像は、一つの出力のみを伴ってもよい(図15のJ1b参照)。すなわち、第1画像は、1以上のロボット入出力をそれぞれ表す1以上の第1入出力表示を伴うものであればよい。
上記第1実施形態においては、第2画像としての「ジョブ2 装置」J2は、複数の入出力を伴う(図4参照)。しかし、第1実施形態および第2実施形態に示すように、第2画像は、一つの入力のみを伴ってもよい(図4のJ3および図15のJ2b参照)。すなわち、第2画像は、処理装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示を伴うものであればよい。
なお、本明細書において、「1以上の入出力」とは、「出力を伴わない1以上の入力」、「入力を伴わない1以上の出力」、「1以上の入力と1以上の出力」を含む概念である。
(2)上記実施形態においては、プログラムファイル305の作成(図2のS140参照)は、シーケンスの作成(図2のS110参照)、プロパティーの設定(図2のS120参照)、およびジョグ&ティーチ(図2のS130参照)の後に行われる。しかし、プログラムファイル305の作成は、たとえば、シーケンス編集画面De1,De1bを介したシーケンスの作成(図2のS110参照)およびプロパティーの設定(図2のS120参照)の際に、行われる態様とすることもできる。そのような態様においては、たとえば、ユーザーが、シーケンス編集画面De1,De1b内に設けられ得る所定のボタンを押すことにより、プログラムファイル305の作成が行われてもよい。また、プログラムファイル305の作成は、シーケンス編集画面De1,De1bを介したシーケンスの作成(図2のS110参照)およびプロパティーの設定(図2のS120参照)において、内容が変更されるたびに自動的におこなわれる態様とすることもできる。
(3)上記実施形態においては、ジョグ&ティーチによって、ロボット100の制御点を定めるパラメーターの値が決定される(図2のS130参照)。しかし、ユーザーがロボット100のアーム110を直接動かして、ロボット100の制御点を定めるパラメーターの値を決定することもできる。また、機械学習とシミュレーションによって、ロボット100の制御点を定めるパラメーターの値を決定することもできる。
(4)上記実施形態においては、設定装置600のディスプレイ602が、入出力編集画面を表示する表示部として機能する。しかし、ティーチングペンダントが備えるディスプレイを、入出力編集画面を表示する表示部として機能させることもできる。また、入出力編集画面を表示する表示部は、情報を受け取ることができる入力装置として機能するタッチパネルとすることが好ましい。
D2.他の形態2:
第1実施形態においては、入出力編集画面De0において、「ジョブ1 ロボット」J1に対して入出力表示を追加することができる(図6参照)。また、入出力編集画面De0において、「ジョブ1 ロボット」J1以外のジョブ(第1実施形態において、「ジョブ2 装置」J2、「ジョブ3 警告灯」J3)に対しても、入出力表示を追加することができる(図7参照)。第2実施形態においては、入出力編集画面De0bにおいて、ロボット100のジョブ画像J1bに対して入出力表示を追加することができる(図16~図18参照)。第2実施形態においては、入出力編集画面De0bにおいて、ロボット100以外の構成要素のジョブ画像(第2実施形態において、ジョブ画像J2b)に対して入出力表示を追加することができる(図21~図23参照)。
しかし、入出力編集画面において入出力表示を追加することができず、シーケンス編集画面において入出力表示を追加することができる態様とすることもできる(図9、図27、図28、図31、および図32参照)。また、ロボットと、ロボット以外の構成の一方についてのみ、入出力編集画面で入出力表示を追加することができるように構成することもできる。
D3.他の形態3:
(1)上記実施形態の入出力編集画面De0,De0bにおいては、ロボット100の入出力表示であって、他の構成要素(加工装置800や警告灯900)の入出力表示と対応づけられた入出力表示は、それらと対応づけられていない出力表示とは、異なる表示である(図4、図7、図15、および図23参照)。
しかし、ロボットの入力を表す第1入出力表示であって、処理装置の出力を表す第2入出力表示と対応づけられた第1入出力表示が、処理装置の出力を表す第2入出力表示と対応づけられていない第1入出力表示と、同じ表示であってもよい。
(2)上記実施形態の入出力編集画面De0,De0bにおいては、ロボット100以外の構成要素(加工装置800や警告灯900)の入出力表示であって、ロボットの入出力表示と対応づけられた入出力表示は、それらと対応づけられていない出力表示とは、異なる表示である(図4、図7、図15、図23参照)。
しかし、処理装置の入力を表す第2入出力表示であって、ロボットの出力を表す第1入出力表示と対応づけられた第2入出力表示が、ロボットの出力を表す第1入出力表示と対応づけられていない第2入出力表示と、同じ表示であってもよい。
D4.他の形態4:
(1)上記実施形態のシーケンス編集画面De1,De1bにおいては、複数の動作を表す画像の中から1個の動作を表す画像を選択し、画面上で配列することによりロボットの動作シーケンスを編集することができる(図9、図28~図34参照)。しかし、制御装置としての設定装置600は、そのようなシーケンス編集画面を提供せず、たとえば、プログラミング言語で動作シーケンスが表現されたプログラムリストを編集することができる編集画面を提供する態様とすることもできる。
(2)上記第1実施形態のシーケンス編集画面De1においては、入出力編集画面De0において入出力表示が表示された入出力表示のロボット100の入出力と、入出力編集画面De0において入出力表示が表示された他の構成要素の入出力と、について、プロパティーを設定することができる(図9参照)。上記第2実施形態のシーケンス編集画面De1bにおいても、ロボット100の入出力と、他の構成要素の入出力と、について、プロパティーを設定することができる(図28~図30、図32~図34参照)。
しかし、制御装置としての設定装置600は、そのようなシーケンス編集画面を提供せず、たとえば、プログラミング言語で動作シーケンスが表現されたプログラムリストにおいて、プロパティーに相当するパラメーターを設定することができる編集画面を提供する態様とすることもできる。また、制御装置としての設定装置600は、そのようなシーケンス編集画面を提供せず、たとえば、入出力編集画面において、入出力のプロパティーを設定することができる態様とすることもできる。
D5.他の形態5:
上記第1実施形態においては、入出力編集画面De0において、ロボット100の入出力表示と他の構成要素の入出力表示との関連づけにおいて、ロボット100と他の構成要素の一方において入出力関係を指定される出力と関連づけて実行されるべき処理と、他方において入出力関係を指定される入力と関連づけて実行されるべき処理と、を同期させるか否かを指定することができる(図4のDa01参照)。
しかし、入出力編集画面においては、そのような指定はできず、シーケンス編集画面などの他の画面において、入力側の処理と出力側の処理を同期させるか否かを指定できる態様とすることもできる。
D6.他の形態6:
(1)上記第1実施形態において、変数L1_Rの初期値は0であり、所定の条件が満たされた場合に、1に設定される(図11のCj21、および図12のt12参照)。また、変数L1_Sの初期値は0であり、所定の条件が満たされた場合に、1に設定される(図11のCj22、および図12のt14参照)。しかし、同期処理を実現するための変数の初期値は0以外の値でもよく、所定の条件が満たされた場合に設定される値も、1以外の値でもよい。初期値は、10,100など任意の値とすることができる。所定の条件が満たされた場合に設定される値は、初期値とは異なる任意の値とすることができる。
(2)上記第1実施形態においては、送信側の変数L1_Sと、受信側の変数L1_Rとを用意し、それらの変数を送信側のジョブと受信側において書き替えることで、同期処理を実現している(図10~図12参照)。しかし、同期処理は、そのような変数またはパラメーターに基づく処理以外の処理とすることもできる。たとえば、同期処理は、あるジョブにおいて他のジョブの状態を監視するコマンドを設けて、そのコマンドに基づいて、行われてもよい。
D7.他の形態7:
上記第1実施形態においては、ロボット100の入出力表示と他の構成要素の入出力表示との関連づけにおいて、ロボット100と他の構成要素の一方において対象の出力と関連づけて実行されるべき処理と、他方において対象の入力と関連づけて実行されるべき処理とを、同期させず逐次処理を行わせるか、または同期させず一括処理を行わせるか、を指定することができる(図4のSi2,Si3参照)。
しかし、入出力編集画面においては、そのような指定はできず、シーケンス編集画面などの他の画面において、入力側の処理と出力側の処理を非同期逐次とするか、非同期一括とするかを指定できる態様とすることもできる。
D8.他の形態8:
(1)上記第1実施形態において、変数L3_Rの初期値は0であり、所定の条件が満たされた場合に、1だけ増加される(図13のCj17,Cj25、および図14のt22,t24,t25参照)。また、変数L3_Rは、所定の条件が満たされた場合に、1だけ減少される(図13のCj32、および図14のt23,t26,t27参照)。
しかし、非同期処理を実現するための変数の初期値は0以外の値でもよく、所定の条件が満たされた場合に行われる変更の量(すなわち、変化量)も、1以外の値でもよい。初期値は、10,100など、任意の値とすることができる。変化量も、5,70など、任意の値とすることができる。
また、送信側のジョブにおいて所定の条件が満たされた場合に行われる処理は、変数の所定量の増加に限られず、変数の所定量の減少であってもよい。受信側のジョブにおいて所定の条件が満たされた場合に行われる処理は、変数の所定量の減少に限られず、変数の所定量の増加であってもよい。ただし、条件が満たされた場合に送信側のジョブにおいて行われる変数の改変と、条件が満たされた場合に受信側のジョブにおいて行われる変数の改変と、の向きが逆であることが好ましい。
(2)上記第1実施形態においては、受信側の変数L3_Rを用意し、それらの変数を送信側のジョブと受信側において書き替えることで、非同期逐次処理および非同期一括処理を実現している(図10、図13、図14参照)。しかし、非同期逐次処理および非同期一括処理は、そのような変数またはパラメーターに基づく処理以外の処理とすることもできる。たとえば、非同期逐次処理および非同期一括処理は、あるジョブにおいて他のジョブの状態を監視するコマンドを設けて、そのコマンドに基づいて、行われてもよい。
E.さらに他の形態:
(1)さらに他の形態1:
適用例1:
制御装置が提供される。この制御装置は:1台のロボットを表す第1画像と;前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と;1台の周辺装置を表す第2画像と;前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み;前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と;前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備える。
このような態様とすれば、入出力編集画面を介した視覚的操作によって、ロボットとともに動作する周辺装置と、ロボットと、の共同作業における入出力関係を指定することにより、周辺装置と、ロボットと、の共同作業のシーケンスを作成することができる。
適用例2:
上記の制御装置であって: 前記表示制御部は、前記入出力編集画面として;前記第1画像に前記第1入出力表示を追加することができ、前記第2画像に前記第2入出力表示を追加することができる入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、ユーザーは、異なる画面を利用することなく、対応づける入出力をロボットおよび周辺装置に追加することができる。
適用例3:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第1入出力表示のうち、前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられた第1入出力表示は、前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、ユーザーは、周辺装置の出力と対応づけられていない第1入出力表示を容易に特定して、周辺装置の出力を表す第2入出力表示と対応づけることができる。その結果、ロボットと周辺装置の入出力関係を、容易に指定することができる。
適用例4:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第2入出力表示のうち、前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられた第2入出力表示は、前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられていない第2入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、ユーザーは、ロボットの出力と対応づけられていない第2入出力表示を容易に特定して、ロボットの出力を表す第1入出力表示と対応づけることができる。その結果、ロボットと周辺装置の入出力関係を、容易に指定することができる。
適用例5:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第1入出力表示のうち、前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられた第1入出力表示は、前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、ユーザーは、周辺装置の入力と対応づけられていない第1入出力表示を容易に特定して、周辺装置の入力を表す第2入出力表示と対応づけることができる。その結果、ロボットと周辺装置の入出力関係を、容易に指定することができる。
適用例6:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第2入出力表示のうち、前記周辺装置の出力を表す第2入出力表示であって、前記ロボットの入力を表す前記第1入出力表示と対応づけられた第2入出力表示は、前記周辺装置の出力を表す第2入出力表示であって、前記ロボットの入力を表す前記第1入出力表示と対応づけられていない第2入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、ユーザーは、ロボットの入力と対応づけられていない第2入出力表示を容易に特定して、ロボットの入力を表す第1入出力表示と対応づけることができる。その結果、ロボットと周辺装置の入出力関係を、容易に指定することができる。
適用例7:
上記の制御装置であって;前記表示制御部は;複数の動作を表す画像の中から1以上の動作を表す画像を選択し画面上で配列することにより前記ロボットの動作シーケンスを編集することができるシーケンス編集画面であって、前記入出力編集画面において表示された前記第1入出力表示のロボット入出力と、前記入出力編集画面において表示された前記第2入出力表示の装置入出力と、のプロパティーを設定することができるシーケンス編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、入出力編集画面において、ロボットとともに動作する周辺装置と、ロボットと、の共同作業における入出力関係を指定した上で、シーケンス編集画面において、各入出力のプロパティーを設定することができる。
適用例8:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として、前記1以上の第1入出力表示と前記1以上の第2入出力表示との前記関連づけにおいて、前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させるか否かを指定することができる入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、同期処理と非同期処理とを伴うロボットと周辺装置のシーケンスを、容易に作成することができる。
適用例9:
上記の制御装置であって;前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させる旨の指定が行われた場合に;前記ロボットにおいて:前記出力と関連づけて実行されるべき処理が実行できる状態になった場合に、第1の変数を、初期値とは異なるあらかじめ定められた第1の値に設定し;前記第1の変数とは異なる第2の変数が、初期値とは異なるあらかじめ定められた第2の値になるまで待って、前記第2の変数が前記第2の値になった場合に、前記出力と関連づけて実行されるべき処理を実行する処理と;前記周辺装置において;前記第1の変数が前記第1の値になるまで待って、前記第1の変数が前記第1の値になった場合に:前記第2の変数を、前記第2の値に設定し;前記入力と関連づけて実行されるべき処理を実行する処理とが;前記動作制御部が実行すべきシーケンスとして指定される、態様とすることができる。
このような態様とすれば、入出力編集画面において指定された同期処理を、簡易な仕組みで実現することができる。
適用例10:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第1入出力表示と前記1以上の第2入出力表示との前記関連づけにおいて、前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理とを、同期させずかつ逐次処理を行わせるか、または同期させずかつ一括処理を行わせるか、を指定することができる入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
このような態様とすれば、非同期の逐次処理と、非同期の一括処理と、を伴うロボットと周辺装置のシーケンスを、容易に作成することができる。
適用例11:
上記の制御装置であって;前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させない旨の指定であって、前記逐次処理の指定が行われた場合に:前記ロボットにおいて;前記出力と関連づけて実行されるべき処理が実行された場合に、第3の変数を、初期値からあらかじめ定められた変化量だけ変化させる処理と;前記周辺装置において;前記第3の変数が前記初期値とは異なる値になるまで待って、前記第3の変数が前記初期値とは異なる値になった場合に:前記第3の変数を、前記変化量だけ前記変化とは逆の向きに変化させ;前記入力と関連づけて実行されるべき処理を実行する処理とが;前記動作制御部が実行すべきシーケンスとして指定される、態様とすることができる。
このような態様とすれば、入出力編集画面において指定された非同期の逐次処理を、簡易な仕組みで実現することができる。その結果、簡易な仕組みで、出力側において条件が満たされた回数に応じた回数だけ、入力側において処理が行われる。
適用例12:
上記の制御装置であって;前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させない旨の指定であって、前記一括処理の指定が行われた場合に:前記ロボットにおいて; 前記出力と関連づけて実行されるべき処理が実行された場合に、第3の変数を、初期値からあらかじめ定められた変化量だけ変化させる処理と;前記周辺装置において;前記第3の変数が前記初期値とは異なる値になるまで待って、前記第3の変数が前記初期値とは異なる値になった場合に:前記第3の変数を、前記初期値に設定し;前記入力と関連づけて実行されるべき処理を実行する処理とが;前記動作制御部が実行すべきシーケンスとして指定される、態様とすることができる。
このような態様とすれば、入出力編集画面において指定された非同期の一括処理を、簡易な仕組みで実現することができる。その結果、簡易な仕組みで、出力側において条件が満たされたことを契機として、条件が満たされた回数によらず、入力側において処理が1回行われる。
適用例13:
本明細書に開示の技術は、上記の制御装置によって制御されるロボットの態様とすることもできる。
適用例14:
本明細書に開示の技術は、上記の制御装置と;前記制御装置によって制御されるロボットと;を備えるロボットシステムの態様とすることもできる。
(2)さらに他の形態2:
適用例1:
ロボットを制御する制御装置が提供される。この制御装置は:1台のロボットを表す第1画像であって、前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示を伴う第1画像と;前記ロボットとともに動作する1台の周辺装置を表す第2画像であって、前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示を伴う第2画像と、を含み;前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットと前記周辺装置の一方の出力を他方の入力とする入出力関係を指定することができる入出力編集画面を、表示部に表示することができる表示制御部と;前記入出力編集画面を介して編集された前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備える、制御装置とすることができる。
適用例2:
上記の制御装置であって:前記表示制御部は、前記入出力編集画面として;前記第1画像に前記第1入出力表示を追加することができ、前記第2画像に前記第2入出力表示を追加することができる入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例3:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第1入出力表示のうち、前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられた第1入出力表示は、前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例4:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として; 前記1以上の第2入出力表示のうち、前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられた第2入出力表示は、前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられていない第2入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例5:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第1入出力表示のうち、前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられた第1入出力表示は、前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例6:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として; 前記1以上の第2入出力表示のうち、前記周辺装置の出力を表す第2入出力表示であって、前記ロボットの入力を表す前記第1入出力表示と対応づけられた第2入出力表示は、前記周辺装置の出力を表す第2入出力表示であって、前記ロボットの入力を表す前記第1入出力表示と対応づけられていない第2入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例7:
上記の制御装置であって;前記表示制御部は、さらに;複数の動作を表す画像の中から1以上の動作を表す画像を選択し画面上で配列することにより前記ロボットの動作シーケンスを編集することができるシーケンス編集画面であって、前記入出力編集画面において表示された前記第1入出力表示のロボット入出力と、前記入出力編集画面において表示された前記第2入出力表示の装置入出力と、のプロパティーを設定することができるシーケンス編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例8:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として;前記1以上の第1入出力表示と前記1以上の第2入出力表示との前記関連づけにおいて、前記一方において前記入出力関係を指定される前記出力と関連づけて実行されるべき処理と、前記他方において前記入出力関係を指定される前記入力と関連づけて実行されるべき処理と、を同期させるか否かを指定することができる入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例9:
上記の制御装置であって;前記一方において前記入出力関係を指定される前記出力と関連づけて実行されるべき処理と、前記他方において前記入出力関係を指定される前記入力と関連づけて実行されるべき処理と、を同期させる旨の指定が行われた場合に:前記一方において:前記出力と関連づけて実行されるべき処理が実行できる状態になった場合に、第1の変数を、初期値とは異なるあらかじめ定められた第1の値に設定し;前記第1の変数とは異なる第2の変数が、初期値とは異なるあらかじめ定められた第2の値になるまで待って、前記第2の変数が前記第2の値になった場合に、前記出力と関連づけて実行されるべき処理を実行する処理と;前記他方において;前記第1の変数が前記第1の値になるまで待って、前記第1の変数が前記第1の値になった場合に:前記第2の変数を、前記第2の値に設定し;前記入力と関連づけて実行されるべき処理を実行する処理とが;前記動作制御部が実行すべきシーケンスとして指定される、態様とすることができる。
適用例10:
上記の制御装置であって;前記表示制御部は、前記入出力編集画面として; 前記1以上の第1入出力表示と前記1以上の第2入出力表示との前記関連づけにおいて、前記一方において前記入出力関係を指定される出力と関連づけて実行されるべき処理と、前記他方において前記入出力関係を指定される入力と関連づけて実行されるべき処理とを、同期させずかつ逐次処理を行わせるか、または同期させずかつ一括処理を行わせるか、を指定することができる入出力編集画面を、前記表示部に表示することができる、態様とすることができる。
適用例11:
上記の制御装置であって;前記一方において前記入出力関係を指定される出力と関連づけて実行されるべき処理と、前記他方において前記入出力関係を指定される入力と関連づけて実行されるべき処理と、を同期させない旨の指定であって、前記逐次処理の指定が行われた場合に:前記一方において:前記出力と関連づけて実行されるべき処理が実行された場合に、第3の変数を、初期値からあらかじめ定められた変化量だけ変化させる処理と;前記他方において;前記第3の変数が前記初期値とは異なる値になるまで待って、前記第3の変数が前記初期値とは異なる値になった場合に:前記第3の変数を、前記変化量だけ前記変化とは逆の向きに変化させ;前記入力と関連づけて実行されるべき処理を実行する処理とが;前記動作制御部が実行すべきシーケンスとして指定される、態様とすることができる。
適用例12:
上記の制御装置であって;前記一方において前記入出力関係を指定される出力と関連づけて実行されるべき処理と、前記他方において前記入出力関係を指定される入力と関連づけて実行されるべき処理と、を同期させない旨の指定であって、前記一括処理の指定が行われた場合に;前記一方において:前記出力と関連づけて実行されるべき処理が実行された場合に、第3の変数を、初期値からあらかじめ定められた変化量だけ変化させる処理と;前記他方において;前記第3の変数が前記初期値とは異なる値になるまで待って、前記第3の変数が前記初期値とは異なる値になった場合に:前記第3の変数を、前記初期値に設定し;前記入力と関連づけて実行されるべき処理を実行する処理とが;前記動作制御部が実行すべきシーケンスとして指定される、態様とすることができる。
(3)上述した本発明の各形態の有する複数の構成要素はすべてが必須のものではなく、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、適宜、前記複数の構成要素の一部の構成要素について、その変更、削除、新たな他の構成要素との差し替え、限定内容の一部削除を行うことが可能である。また、上述の課題の一部又は全部を解決するため、あるいは、本明細書に記載された効果の一部又は全部を達成するために、上述した本発明の一形態に含まれる技術的特徴の一部又は全部を上述した本発明の他の形態に含まれる技術的特徴の一部又は全部と組み合わせて、本発明の独立した一形態とすることも可能である。
1…ロボットシステム、100…ロボット、110…アーム、300…ロボット制御装置、303…メソッド情報、304…ジョブ情報、305…プログラムファイル、310…CPU、319…動作制御部、330…RAM、340…ROM、600,600d…設定装置(パーソナルコンピューター)、600a,600b,600c…コンピューター、602…ディスプレイ、604…キーボード、605…マウス、610…CPU、612…表示制御部、614…ファイル作部、630…RAM、640…ROM、750…搬送装置、800…加工装置、900…警告灯、1000…クラウドサービス、At…搬送方向を示す矢印、B11~B16…ボタン、B1i…入力追加ボタン、B1o…出力追加ボタン、B21~B26…ボタン、B2i…入力追加ボタン、B2o…出力追加ボタン、Be1~Be7…編集ボタン、C06,C07,C06b,C07b…動作の連携を表す動作表示、C061,C062,C062b…ジョブ出力、C062n…ジョブ出力の名称、C071…ジョブ入力待ち、C072b…ジョブ入力、CL…動作の連携を表す動作表示、CM,CMb…動作表示、Ci11…ワーク排出待ちの表示、Ci21…ワーク除去待ちの表示、Ci31,Ci31b…エラー通知の表示、Cj11~Cj18…ジョブ1のプログラムリストの記述された処理、Cj21~Cj26…ジョブ2のプログラムリストの記述された処理、Cj31~Cj34…ジョブ3のプログラムリストの記述された処理、Co11…ワーク除去完了の表示、Co12…ワーク把持エラーの表示、Co21…ワーク排出の表示、Co22…装置エラーの表示、Da01,Da01b…第1表示部分、Da02,Da02b…第2表示部分、Da021…モーションジョブ部分、Da022…モニタリングジョブ部分、Da11,Da11b…第1表示部分、Da12,Da12b…第2表示部分、Da13,Da13b…第3表示部分、De0,De0b…入出力編集画面、De1,De1b…シーケンス編集画面、IA1,IA2…ジョブ入力の選択肢、IA3…ジョブ出力の選択肢、IW11,IW21,IW22…入力窓、IW12…ユーザーインターフェイス、J0,J0b…空のジョブの表示、J1,J1b…ジョブ画像、J2,J2b…ジョブ画像、J3…ジョブ画像、L01,L02,L01b,L02b…ロジックを表す動作表示、L011…「If」を表す動作表示、L012…「繰り返す」を表す動作表示、L1_R,L1_S,L2_R,L2_S,L3_R…変数、LG…ロジックを表す動作表示、M01,M05,M06,M08,M01b~M09b…動作を表す動作表示、M011…基本設定の表示、M051…「動かす」の動作表示、SW1…ユーザーインターフェイス、SW2…ユーザーインターフェイス、Si0…ジョブ入力の表示、Si1…同期のジョブ入力の表示、Si11…入力表示、Si2…非同期逐次のジョブ入力の表示、Si21,Si21b…入力表示、Si3…非同期一括のジョブ入力の表示、Si31…入力表示、So0…ジョブ出力の表示、So1…同期のジョブ出力の表示、So11,So11b,So12…出力表示、So2…非同期のジョブ出力の表示、So21,So22…出力表示、t11~t16,t21~t27…時刻、UB…ボタン、W01…ワークピース、WS…ワークステーション

Claims (13)

  1. 1台のロボットを表す第1画像と、
    前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と、
    1台の周辺装置を表す第2画像と、
    前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み、
    前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と、
    前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備え、
    前記表示制御部は、前記入出力編集画面として、
    前記1以上の第1入出力表示のうち、前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられた第1入出力表示
    前記ロボットの入力を表す第1入出力表示であって、前記周辺装置の出力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示であり、
    前記周辺装置の前記出力を表す前記第2入出力表示と線で結合されず、
    前記第2入出力表示とは異なる表示であって前記周辺装置の前記出力を表す表示と線で結合されて示される、
    前記入出力編集画面を、前記表示部に表示することができる、制御装置。
  2. 請求項1記載の制御装置であって、
    前記表示制御部は、前記入出力編集画面として、
    前記第1画像に前記第1入出力表示を追加することができ、前記第2画像に前記第2入出力表示を追加することができる入出力編集画面を、前記表示部に表示することができる、制御装置。
  3. 1台のロボットを表す第1画像と、
    前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と、
    1台の周辺装置を表す第2画像と、
    前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み、
    前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と、
    前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備え、
    前記表示制御部は、前記入出力編集画面として、
    前記1以上の第2入出力表示のうち、前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられた第2入出力表示
    前記周辺装置の入力を表す第2入出力表示であって、前記ロボットの出力を表す前記第1入出力表示と対応づけられていない第2入出力表示とは、異なる表示であり、
    前記ロボットの前記出力を表す前記第1入出力表示と線で結合されず、
    前記第1入出力表示とは異なる表示であって前記ロボットの前記出力を表す表示と線で結合されて示される、
    前記入出力編集画面を、前記表示部に表示することができる、制御装置。
  4. 1台のロボットを表す第1画像と、
    前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と、
    1台の周辺装置を表す第2画像と、
    前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み、
    前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と、
    前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備え、
    前記表示制御部は、前記入出力編集画面として、
    前記1以上の第1入出力表示のうち、前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられた第1入出力表示
    前記ロボットの出力を表す第1入出力表示であって、前記周辺装置の入力を表す前記第2入出力表示と対応づけられていない第1入出力表示とは、異なる表示であり、
    前記周辺装置の前記入力を表す前記第2入出力表示と線で結合されず、
    前記第2入出力表示とは異なる表示であって前記周辺装置の前記入力を表す表示と線で結合されて示される、
    前記入出力編集画面を、前記表示部に表示することができる、制御装置。
  5. 請求項1から4のいずれか1項に記載の制御装置であって、
    前記表示制御部は、前記入出力編集画面として、
    前記1以上の第2入出力表示のうち、前記周辺装置の出力を表す第2入出力表示であって、前記ロボットの入力を表す前記第1入出力表示と対応づけられた第2入出力表示は、前記周辺装置の出力を表す第2入出力表示であって、前記ロボットの入力を表す前記第1入出力表示と対応づけられていない第2入出力表示とは、異なる表示である、前記入出力編集画面を、前記表示部に表示することができる、制御装置。
  6. 請求項1から5のいずれか1項に記載の制御装置であって、
    前記表示制御部は、
    複数の動作を表す画像の中から1以上の動作を表す画像を選択し画面上で配列することにより前記ロボットの動作シーケンスを編集することができるシーケンス編集画面であって、前記入出力編集画面において表示された前記第1入出力表示のロボット入出力と、前記入出力編集画面において表示された前記第2入出力表示の装置入出力と、のプロパティーを設定することができるシーケンス編集画面を、前記表示部に表示することができる、制御装置。
  7. 請求項1から6のいずれか1項に記載の制御装置であって、
    前記表示制御部は、前記入出力編集画面として、
    前記1以上の第1入出力表示と前記1以上の第2入出力表示との前記関連づけにおいて、前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させるか否かを指定することができる入出力編集画面を、前記表示部に表示することができる、制御装置。
  8. 請求項7記載の制御装置であって、
    前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させる旨の指定が行われた場合に、
    前記ロボットにおいて、
    前記出力と関連づけて実行されるべき処理が実行できる状態になった場合に、第1の変数を、初期値とは異なるあらかじめ定められた第1の値に設定し、
    前記第1の変数とは異なる第2の変数が、初期値とは異なるあらかじめ定められた第2の値になるまで待って、前記第2の変数が前記第2の値になった場合に、前記出力と関連づけて実行されるべき処理を実行する処理と、
    前記周辺装置において、
    前記第1の変数が前記第1の値になるまで待って、前記第1の変数が前記第1の値になった場合に、
    前記第2の変数を、前記第2の値に設定し、
    前記入力と関連づけて実行されるべき処理を実行する処理とが、
    前記動作制御部が実行すべきシーケンスとして指定される、制御装置。
  9. 1台のロボットを表す第1画像と、
    前記ロボットの入出力であるロボット入出力をそれぞれ表す1以上の第1入出力表示と、
    1台の周辺装置を表す第2画像と、
    前記周辺装置の入出力である装置入出力をそれぞれ表す1以上の第2入出力表示と、を含み、
    前記1以上の第1入出力表示のうちの選択された第1入出力表示と、前記1以上の第2入出力表示のうちの選択された第2入出力表示と、を関連づけることにより、前記ロボットの出力を前記周辺装置の入力とする入出力関係を受け付けることができる入出力編集画面を、表示部に表示することができる表示制御部と、
    前記入出力関係に基づいて、ロボットを制御する動作制御部と、を備え、
    前記表示制御部は、前記入出力編集画面として、
    前記1以上の第1入出力表示と前記1以上の第2入出力表示との前記関連づけにおいて、前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させるか否かを指定することができ、
    前記1以上の第1入出力表示と前記1以上の第2入出力表示との前記関連づけにおいて、前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理とを、同期させずかつ逐次処理を行わせるか、または同期させずかつ一括処理を行わせるか、を指定することができる
    入出力編集画面を、前記表示部に表示することができる、制御装置。
  10. 請求項9記載の制御装置であって、
    前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させない旨の指定であって、前記逐次処理の指定が行われた場合に、
    前記ロボットにおいて、
    前記出力と関連づけて実行されるべき処理が実行された場合に、第3の変数を、初期値からあらかじめ定められた変化量だけ変化させる処理と、
    前記周辺装置において、
    前記第3の変数が前記初期値とは異なる値になるまで待って、前記第3の変数が前記初期値とは異なる値になった場合に、
    前記第3の変数を、前記変化量だけ前記変化とは逆の向きに変化させ、
    前記入力と関連づけて実行されるべき処理を実行する処理とが、
    前記動作制御部が実行すべきシーケンスとして指定される、制御装置。
  11. 請求項9記載の制御装置であって、
    前記ロボットにおいて前記出力と関連づけて実行されるべき処理と、前記周辺装置において前記入力と関連づけて実行されるべき処理と、を同期させない旨の指定であって、前記一括処理の指定が行われた場合に、
    前記ロボットにおいて、
    前記出力と関連づけて実行されるべき処理が実行された場合に、第3の変数を、初期値からあらかじめ定められた変化量だけ変化させる処理と、
    前記周辺装置において、
    前記第3の変数が前記初期値とは異なる値になるまで待って、前記第3の変数が前記初期値とは異なる値になった場合に、
    前記第3の変数を、前記初期値に設定し、
    前記入力と関連づけて実行されるべき処理を実行する処理とが、
    前記動作制御部が実行すべきシーケンスとして指定される、制御装置。
  12. 請求項1から11のいずれか1項に記載の制御装置によって制御されるロボット。
  13. 請求項1から11のいずれか1項に記載の制御装置と、
    前記制御装置によって制御されるロボットと、
    を備えるロボットシステム。
JP2018066731A 2018-03-30 2018-03-30 制御装置、ロボット、およびロボットシステム Active JP7124389B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018066731A JP7124389B2 (ja) 2018-03-30 2018-03-30 制御装置、ロボット、およびロボットシステム
CN201910243378.7A CN110315532B (zh) 2018-03-30 2019-03-28 控制装置、机器人以及机器人系统
US16/369,349 US11534910B2 (en) 2018-03-30 2019-03-29 Control device for displaying a relationship between robot output and device input

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018066731A JP7124389B2 (ja) 2018-03-30 2018-03-30 制御装置、ロボット、およびロボットシステム

Publications (2)

Publication Number Publication Date
JP2019177429A JP2019177429A (ja) 2019-10-17
JP7124389B2 true JP7124389B2 (ja) 2022-08-24

Family

ID=68057720

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018066731A Active JP7124389B2 (ja) 2018-03-30 2018-03-30 制御装置、ロボット、およびロボットシステム

Country Status (3)

Country Link
US (1) US11534910B2 (ja)
JP (1) JP7124389B2 (ja)
CN (1) CN110315532B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7069971B2 (ja) * 2018-03-30 2022-05-18 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
JP7255210B2 (ja) * 2019-01-31 2023-04-11 セイコーエプソン株式会社 制御装置、ロボットシステム、及び表示方法
US20230072244A1 (en) * 2020-02-25 2023-03-09 Nec Corporation Control device, control method and storage medium
CN111858485A (zh) * 2020-06-24 2020-10-30 广州明珞汽车装备有限公司 一种机器人轨迹包络体命名方法、系统和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020022895A1 (en) 2000-03-10 2002-02-21 Genise Ronald G. System configuration editor with an iconic function sequencer
JP2012198775A (ja) 2011-03-22 2012-10-18 Mitsubishi Electric Corp ロボットプログラミング装置および方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3446256B2 (ja) * 1993-09-03 2003-09-16 株式会社日立製作所 Faシステムの制御方法及び装置
JPH0944219A (ja) * 1995-08-01 1997-02-14 Ricoh Co Ltd ロボットシミュレータ装置
EP1821166B1 (en) * 1999-08-31 2010-11-03 Digital Electronics Corporation Editing apparatus and recording medium in which editing program is recorded
US8108784B2 (en) * 2006-08-04 2012-01-31 National Instruments Corporation Configuring icons to represent data transfer functionality
JP5429461B2 (ja) 2009-06-17 2014-02-26 株式会社国際電気通信基礎技術研究所 コミュニケーションロボット開発支援装置
US20130127904A1 (en) * 2011-11-18 2013-05-23 Andrew P. Dove Automatically Displaying Measurement Data Acquired by a Measurement System on a Mobile Device
JP5942446B2 (ja) * 2012-02-01 2016-06-29 オムロン株式会社 サポート装置およびサポートプログラム
JP5582427B2 (ja) * 2012-12-18 2014-09-03 株式会社安川電機 教示データ作成装置、ロボットシステム、及び教示データ作成方法
JP5970415B2 (ja) * 2013-05-16 2016-08-17 株式会社神戸製鋼所 産業用ロボットおよび周辺装置の動作を制御する制御システムおよび制御方法
JP2015136762A (ja) * 2014-01-23 2015-07-30 セイコーエプソン株式会社 処理装置、ロボット、ロボットシステム及び処理方法
JP6379874B2 (ja) * 2014-08-29 2018-08-29 株式会社安川電機 ティーチングシステム、ロボットシステムおよびティーチング方法
US20170139556A1 (en) * 2014-10-01 2017-05-18 Quantum Interface, Llc Apparatuses, systems, and methods for vehicle interfaces
KR102543212B1 (ko) * 2015-10-26 2023-06-14 (주)한화 로봇 제어 시스템 및 방법
US11458621B2 (en) * 2017-09-27 2022-10-04 Kindred Systems Inc. Systems, devices, articles, and methods for parallelization of robots in synchronous communication framework

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020022895A1 (en) 2000-03-10 2002-02-21 Genise Ronald G. System configuration editor with an iconic function sequencer
JP2012198775A (ja) 2011-03-22 2012-10-18 Mitsubishi Electric Corp ロボットプログラミング装置および方法

Also Published As

Publication number Publication date
JP2019177429A (ja) 2019-10-17
US20190299401A1 (en) 2019-10-03
CN110315532B (zh) 2023-10-20
US11534910B2 (en) 2022-12-27
CN110315532A (zh) 2019-10-11

Similar Documents

Publication Publication Date Title
JP7124389B2 (ja) 制御装置、ロボット、およびロボットシステム
JP6676286B2 (ja) 情報処理方法、および情報処理装置
US8868241B2 (en) Robot task commander with extensible programming environment
CN110315533B (zh) 控制装置、机器人以及机器人系统
JP7306778B2 (ja) プロセス制御プラント内のオペレータ注視エリア
WO2019087409A1 (ja) データ収集装置、データ収集方法及びプログラム
EP1391795A2 (en) Machining system
CN110955421A (zh) 用于机器人编程的方法、系统、电子设备、存储介质
JP2019177434A (ja) 制御装置、ロボット、およびロボットシステム
JP7373028B2 (ja) シミュレーション方法、シミュレーションシステム
Denoun et al. Grasping robot integration and prototyping: The grip software framework
CN111844021B (zh) 机械臂协同控制方法、装置、设备及存储介质
US20230182292A1 (en) Program editing device
WO2019021045A1 (en) METHOD AND SYSTEM FOR ACTION OF AN INDUSTRIAL ROBOT BASED ON A PARAMETER
JP2019177435A (ja) 制御装置、ロボット、およびロボットシステム
JP2006099566A (ja) 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体
EP4254098A1 (en) Controlling an automation system comprising a plurality of machines
WO2022222061A1 (zh) 一种机器人示教系统及方法、机器人控制系统及方法
CN108897585B (zh) 机器人的后置处理程序的配置方法及设备
JP7099470B2 (ja) ロボット教示装置
JP6746003B2 (ja) 管理装置、管理方法及びプログラム
JP7024795B2 (ja) ロボット教示装置
WO2022185670A1 (ja) 開発支援装置、開発支援装置の制御方法、情報処理プログラム、および記録媒体
Braun Creating a Multi-Robot, Multi-Human, Multi-Platform System
WO2018181229A1 (ja) 産業用ロボットの作業記述作成装置および産業用ロボットの作業記述作成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220725

R150 Certificate of patent or registration of utility model

Ref document number: 7124389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150