(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024172273
(43)【公開日】2024-12-12
(54)【発明の名称】支援システム、支援方法および支援プログラム
(51)【国際特許分類】
G06F 3/01 20060101AFI20241205BHJP
G06F 3/04815 20220101ALI20241205BHJP
G05B 23/02 20060101ALI20241205BHJP
G06T 19/00 20110101ALI20241205BHJP
H04N 7/18 20060101ALI20241205BHJP
G09G 5/00 20060101ALI20241205BHJP
G09G 5/37 20060101ALI20241205BHJP
G09G 5/38 20060101ALI20241205BHJP
G09G 5/377 20060101ALI20241205BHJP
【FI】
G06F3/01 510
G06F3/04815
G05B23/02 301T
G05B23/02 301X
G06T19/00 600
H04N7/18 U
G09G5/00 510C
G09G5/00 550C
G09G5/00 530T
G09G5/37 600
G09G5/00 530D
G09G5/00 530M
G09G5/38 100
G09G5/377 100
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023089869
(22)【出願日】2023-05-31
(71)【出願人】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】岩村 慎太郎
(72)【発明者】
【氏名】山田 諒明
【テーマコード(参考)】
3C223
5B050
5C054
5C182
5E555
【Fターム(参考)】
3C223AA11
3C223BA03
3C223BB02
3C223BB08
3C223CC02
3C223DD03
3C223EB02
3C223EB07
3C223FF42
3C223FF45
3C223FF52
3C223FF53
3C223GG01
3C223HH02
3C223HH06
3C223HH07
3C223HH17
3C223HH29
5B050AA03
5B050BA06
5B050BA09
5B050BA13
5B050BA18
5B050BA19
5B050BA20
5B050CA01
5B050DA01
5B050EA19
5B050EA26
5B050FA02
5C054CA04
5C054CC02
5C054FA07
5C054FE14
5C182AA04
5C182AA31
5C182AB19
5C182AB34
5C182AB35
5C182AC02
5C182AC03
5C182AC46
5C182BA01
5C182BA02
5C182BA14
5C182BA27
5C182BA29
5C182BA35
5C182BA39
5C182BA46
5C182BA56
5C182BA66
5C182BA75
5C182CA32
5C182CA54
5C182CB14
5C182CB41
5C182CB42
5C182CB44
5C182CB47
5C182CB52
5C182CB54
5E555AA27
5E555AA63
5E555BA36
5E555BA38
5E555BA83
5E555BB38
5E555BC04
5E555BC08
5E555BD01
5E555BE17
5E555CA42
5E555CA44
5E555CA47
5E555CB19
5E555CB21
5E555CB45
5E555CB64
5E555CB65
5E555CB66
5E555CB74
5E555CC05
5E555DA08
5E555DA09
5E555DA23
5E555DB03
5E555DB04
5E555DB20
5E555DB41
5E555DB53
5E555DC09
5E555DC13
5E555DC19
5E555DC30
5E555DC35
5E555DC52
5E555DC63
5E555DC72
5E555DC73
5E555DD06
5E555EA07
5E555EA12
5E555EA14
5E555EA22
5E555FA00
(57)【要約】
【課題】トラブルシューティングに際して、制御装置が実行する制御プログラムを容易に確認できる仕組みを提供する。
【解決手段】制御装置を含む制御システムにおけるトラブルシューティングを支援するための支援システムが提供される。支援システムは、現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末を含む。支援システムは、ウェアラブル端末の位置と、ウェアラブル端末の姿勢と、ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定する処理と、制御装置が実行する制御プログラムのうち、決定された装置に関連付けられる部分を決定する処理と、仮想的な映像として、決定された部分を示す映像を表示する処理とを実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
制御装置を含む制御システムにおけるトラブルシューティングを支援するための支援システムであって、
現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末を備え、
前記支援システムは、
前記ウェアラブル端末の位置と、前記ウェアラブル端末の姿勢と、前記ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定する処理と、
前記制御装置が実行する制御プログラムのうち、前記決定された装置に関連付けられる部分を決定する処理と、
前記仮想的な映像として、前記決定された部分を示す映像を表示する処理とを実行する、支援システム。
【請求項2】
前記ウェアラブル端末は、ユーザ操作を受け付けるように構成されており、
前記支援システムは、前記ユーザ操作に応じて、前記仮想的な映像を更新する処理を実行する、請求項1に記載の支援システム。
【請求項3】
前記ウェアラブル端末は、ユーザ操作を受け付けるように構成されており、
前記支援システムは、前記ユーザ操作に応じて、前記制御プログラムにおいて用いられる入力値および出力値の少なくとも一方の値を更新する処理を実行する、請求項1に記載の支援システム。
【請求項4】
前記ウェアラブル端末は、ユーザ操作を受け付けるように構成されており、
前記支援システムは、前記ユーザ操作に応じて、前記制御プログラムを更新する処理を実行する、請求項1に記載の支援システム。
【請求項5】
前記制御プログラムを更新する処理は、前記ユーザ操作に応じて、前記制御プログラムに含まれる回路要素の種類を変更する処理を含む、請求項4に記載の支援システム。
【請求項6】
前記制御プログラムを更新する処理は、
前記制御プログラムに含まれる回路要素の選択および取り外しの操作に応じて、当該回路要素を前記制御プログラムから削除する処理と、
前記制御プログラムに含まれる回路要素の移動および組み入れの操作に応じて、当該回路要素を前記制御プログラムに追加する処理とのうち、少なくとも一方を含む、請求項4に記載の支援システム。
【請求項7】
前記決定された部分を示す映像を表示する処理は、前記決定された装置に関連付けられた位置に仮想的な映像を表示する処理を含む、請求項1~6のいずれか1項に記載の支援システム。
【請求項8】
前記決定された部分を示す映像を表示する処理は、前記仮想的な映像を複数重ねて表示する処理を含む、請求項1~6のいずれか1項に記載の支援システム。
【請求項9】
制御装置を含む制御システムにおけるトラブルシューティングを支援するための、現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末を用いた支援方法であって、
前記ウェアラブル端末の位置と、前記ウェアラブル端末の姿勢と、前記ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定するステップと、
前記制御装置が実行する制御プログラムのうち、前記決定された装置に関連付けられる部分を決定するステップと、
前記仮想的な映像として、前記決定された部分を示す映像を表示するステップとを備える、支援方法。
【請求項10】
現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末で実行される支援プログラムであって、前記支援プログラムは、制御装置を含む制御システムにおけるトラブルシューティングを支援するためのものであり、前記支援プログラムは前記ウェアラブル端末に、
前記ウェアラブル端末の位置と、前記ウェアラブル端末の姿勢と、前記ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定するステップと、
前記制御装置が実行する制御プログラムのうち、前記決定された装置に関連付けられる部分を決定するステップと、
前記仮想的な映像として、前記決定された部分を示す映像を表示するステップとを実行させる、支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、支援システム、支援方法および支援プログラムに関する。
【背景技術】
【0002】
ヘッドマウントディスプレイなどを用いた効率的な生産ラインの保守などの仕組みが提案されている。例えば、特開2022-109428号公報(特許文献1)は、ユーザ視野内で機器の所在位置と機器に関する情報とを関連付けて提示するための構成を開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
生産ラインでは、PLC(Programmable Logic Controller)などの制御装置が用いられている。トラブルの原因究明およびトラブルからの復旧のための操作を行うためには、制御装置の状態なども把握することが好ましい。
【0005】
本発明は、トラブルシューティングに際して、制御装置が実行する制御プログラムを容易に確認できる仕組みを提供する。
【課題を解決するための手段】
【0006】
本発明のある局面に従えば、制御装置を含む制御システムにおけるトラブルシューティングを支援するための支援システムが提供される。支援システムは、現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末を含む。支援システムは、ウェアラブル端末の位置と、ウェアラブル端末の姿勢と、ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定する処理と、制御装置が実行する制御プログラムのうち、決定された装置に関連付けられる部分を決定する処理と、仮想的な映像として、決定された部分を示す映像を表示する処理とを実行する。
【0007】
この構成によれば、ウェアラブル端末を装着したユーザに対して、制御プログラムのうち、対象の装置に関連付けられる部分を示す映像を提示できるので、トラブルシューティングを効率的に行うことができる。
【0008】
ウェアラブル端末は、ユーザ操作を受け付けるように構成されていてもよい。支援システムは、ユーザ操作に応じて、仮想的な映像を更新する処理を実行してもよい。この構成によれば、ユーザ操作に応じて、仮想的な映像を更新されるので、トラブルシューティングを効率的に行うことができる。
【0009】
ウェアラブル端末は、ユーザ操作を受け付けるように構成されていてもよい。支援システムは、ユーザ操作に応じて、制御プログラムにおいて用いられる入力値および出力値の少なくとも一方の値を更新する処理を実行してもよい。この構成によれば、トラブルシューティングにおいて、入力値または出力値を強制的に変更することで、トラブルの原因究明をより効率的に行うことができる。
【0010】
ウェアラブル端末は、ユーザ操作を受け付けるように構成されていてもよい。支援システムは、ユーザ操作に応じて、制御プログラムを更新する処理を実行してもよい。この構成によれば、ユーザは、ウェアラブル端末を介して、制御プログラムを更新できるので、トラブルからの復旧をより迅速に行うことができる。
【0011】
制御プログラムを更新する処理は、ユーザ操作に応じて、制御プログラムに含まれる回路要素の種類を変更する処理を含んでいてもよい。この構成によれば、トラブルの原因究明およびトラブルからの復旧のための操作をより効率的に行うことができる。
【0012】
制御プログラムを更新する処理は、制御プログラムに含まれる回路要素の選択および取り外しの操作に応じて、当該回路要素を制御プログラムから削除する処理と、制御プログラムに含まれる回路要素の移動および組み入れの操作に応じて、当該回路要素を制御プログラムに追加する処理とのうち、少なくとも一方を含んでいてもよい。この構成によれば、トラブルの原因究明およびトラブルからの復旧において、ユーザの操作性を高めることができる。
【0013】
決定された部分を示す映像を表示する処理は、決定された装置に関連付けられた位置に仮想的な映像を表示する処理を含でいてもよい。この構成によれば、ユーザの視野に複数の装置が存在しているような場合であっても、決定された装置に関連付けて仮想的な映像を表示できる。
【0014】
決定された部分を示す映像を表示する処理は、仮想的な映像を複数重ねて表示する処理を含んでいてもよい。この構成によれば、仮想的な映像を複数重ねて表示することで、より多くの情報をユーザに提供できる。
【0015】
本発明の別の局面に従えば、制御装置を含む制御システムにおけるトラブルシューティングを支援するための、現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末を用いた支援方法が提供される。支援方法は、ウェアラブル端末の位置と、ウェアラブル端末の姿勢と、ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定するステップと、制御装置が実行する制御プログラムのうち、決定された装置に関連付けられる部分を決定するステップと、仮想的な映像として、決定された部分を示す映像を表示するステップとを含む。
【0016】
本発明のさらに別の局面に従えば、現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末で実行される支援プログラムが提供される。支援プログラムは、制御装置を含む制御システムにおけるトラブルシューティングを支援するためのものである。支援プログラムはウェアラブル端末に、ウェアラブル端末の位置と、ウェアラブル端末の姿勢と、ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定するステップと、制御装置が実行する制御プログラムのうち、決定された装置に関連付けられる部分を決定するステップと、仮想的な映像として、決定された部分を示す映像を表示するステップとを実行させる。
【発明の効果】
【0017】
本発明によれば、ユーザは、トラブルシューティングに際して、制御装置が実行する制御プログラムを容易に確認できる。
【図面の簡単な説明】
【0018】
【
図1】本実施の形態に従う制御システムの全体構成例を示す模式図である。
【
図2】本実施の形態に従う制御装置のハードウェア構成例を示す模式図である。
【
図3】本実施の形態に従うサーバのハードウェア構成例を示す模式図である。
【
図4】本実施の形態に従うウェアラブル端末のハードウェア構成例を示す模式図である。
【
図5】本実施の形態に従う制御システムにおいて実行される処理手順例を示すフローチャートである。
【
図6】
図5に示すステップS4およびS6に示す処理の実現例を説明するための図である。
【
図7】本実施の形態に従うウェアラブル端末が表現するグラフィカル言語の一例を示す模式図である。
【
図8】本実施の形態に従うウェアラブル端末が表示するプログラム映像の一例を示す模式図である。
【
図9】本実施の形態に従うウェアラブル端末においてユーザプログラムの入力値を変更する操作の一例を示す模式図である。
【
図10】本実施の形態に従うウェアラブル端末においてユーザプログラムの回路構成を変更する操作の一例を示す模式図である。
【
図11】本実施の形態に従うウェアラブル端末においてユーザプログラムの回路構成を変更する操作の別の一例を示す模式図である。
【
図12】
図11に示す操作におけるユーザ操作を制限する処理の一例を説明するための図である。
【
図13】本実施の形態に従うウェアラブル端末においてユーザプログラムの回路構成を変更する操作のさらに別の一例を示す模式図である。
【
図14】本実施の形態に従うウェアラブル端末においてユーザプログラムのインスタンスを表示する処理の一例を示す模式図である。
【
図15】本実施の形態に従うウェアラブル端末においてユーザプログラムのクロスレファレンスを表示する処理の一例を示す模式図である。
【
図16】本実施の形態に従うウェアラブル端末においてクロスレファレンスに対する操作に応じてプログラム映像を表示する処理の一例を示す模式図である。
【
図17】本実施の形態に従うウェアラブル端末におけるプログラム映像の表示例を示す模式図である。
【
図18】本実施の形態に従うウェアラブル端末におけるプログラム映像の別の表示例を示す模式図である。
【発明を実施するための形態】
【0019】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0020】
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
【0021】
図1は、本実施の形態に従う制御システム1の全体構成例を示す模式図である。
図1には、一例として、ロボットを含む制御システム1を示す。制御システム1は、制御装置100と、サーバ200と、ユーザが装着するウェアラブル端末300とを含む。
【0022】
制御装置100は、例えば、PLCなどのコンピュータである。制御装置100は、予め用意された制御プログラム(以下、「ユーザプログラム」とも称す。)を実行することで、ロボットの動作を制御する。ユーザプログラムは、ロボットの動作を制御するだけではなく、生産ラインを動作させるために必要な様々な制御を実行するためのコンピュータ読取可能な命令を含む。
【0023】
制御システム1は、例えば、アクチュエータとして、ロボット10と、1または複数のモータ12とを含む。1または複数のモータ12は、ロボット10に内蔵されていてもよいし、ロボット10とは別の機構に内蔵されていてもよい。
【0024】
ロボット10のアームには、ツールチェンジャ32と、ハンド34と、エアシリンダ36とのうち少なくとも1つが装着可能であってもよい。ロボット10のアームまたはロボット10の周囲には、カメラ14が配置されてもよい。
【0025】
制御装置100は、フィールドネットワーク2を介して、ロボットコントローラ20と、モータドライバ22と、バルブ30と接続されている。
【0026】
ロボットコントローラ20は、制御装置100からの指令に従って、ロボット10を駆動する。モータドライバ22は、制御装置100からの指令に従って、1または複数のモータ12を駆動する。バルブ30は、制御装置100からの指令に従って、ツールチェンジャ32、ハンド34、およびエアシリンダ36にエアを供給する。
【0027】
制御装置100は、ローカルネットワーク4を介して、産業用コンピュータ(IPC:Industrial Personal Computer)24と接続されている。産業用コンピュータ24は、カメラ14が撮影した画像に対して画像処理を行う。制御装置100は、産業用コンピュータ24からの画像処理結果に基づいて、アクチュエータへの指令を生成する。
【0028】
サーバ200は、上位ネットワーク6を介して、制御装置100と接続されている。サーバ200は、ウェアラブル端末300に提供するための情報を生成するとともに、ウェアラブル端末300からのユーザ操作に応じた処理を実行する。
【0029】
サーバ200は、ローカルネットワーク8を介して無線中継器250と接続されている。ウェアラブル端末300は、無線中継器250と無線接続される。
【0030】
ウェアラブル端末300は、ユーザが装着可能な装置であり、例えば、MR(Mixed Reality)グラス、AR(Augmented Reality)グラス、またはVR(Virtual Reality)ゴーグルであってもよい。ウェアラブル端末300は、ヘッドマウントディスプレイ(HMD:Head Mount Display)であってもよい。
【0031】
例えば、ウェアラブル端末300がMRグラスであれば、ユーザに対して、現実空間に3D映像(ホログラム)を重ねて見せることができる。すなわち、ウェアラブル端末300は、現実に存在する物体と仮想的な映像(3D映像)とを合成した状態をユーザに見せることができる。以下では、主として、ウェアラブル端末300がMRグラスであるとして説明する。
【0032】
ウェアラブル端末300は、ユーザに対して視覚的な情報を提供するとともに、ユーザ操作を受け付ける。
【0033】
本実施の形態において、ウェアラブル端末300は、ユーザ操作に応じて、制御装置100が実行するユーザプログラムの一部または全部を示す画像または映像(以下、「プログラム映像350」とも称す。)を表示する。なお、プログラム映像350は、ユーザプログラムの一部または全部のみを含むのではなく、その他の情報を含んでいてもよい。さらに、プログラム映像350は、ユーザプログラムの一部または全部に代えて、別の情報を含む場合もある。
【0034】
ユーザは、現実空間に重ねて表示されるプログラム映像350を見ながら、トラブルの原因究明およびトラブルからの復旧のための操作を行う。ユーザによる操作は、ユーザが手または体を動かすこと(すなわち、ユーザのジェスチャ)、ユーザによるコントローラの操作、ユーザの発話、ユーザの視線の動きなど、任意の方法で行われる。
【0035】
ウェアラブル端末300は、ウェアラブル端末300の位置、ウェアラブル端末300の姿勢、および/または、ウェアラブル端末300を装着したユーザの視野に応じて、ユーザプログラムの表示される部分を決定する。例えば、ユーザが何らかのトラブルが発生している装置を見ている状態でプログラム映像350の表示を指示すると、ウェアラブル端末300は、ユーザプログラムのうち、当該トラブルが発生している装置に関連付けられた部分を表示する。
【0036】
なお、プログラム映像350に含まれるユーザプログラムの部分は、ウェアラブル端末300に加えて、または、ウェアラブル端末300に代えて、サーバ200が決定してもよい。
【0037】
このように、トラブルが発生している装置などに応じて、ユーザプログラムのうち対応する部分がプログラム映像350として表示されるので、トラブルの原因究明およびトラブルからの復旧のための操作を効率的に行うことができる。
【0038】
本明細書において、「支援システム」は、制御システム1におけるユーザによるトラブルシューティングを支援するための構成を包含する。支援システムは、制御システム1に含まれていてもよいし、制御システム1とは別に用意されていてもよい。
図1に示す構成例においては、ウェアラブル端末300単体、および/または、サーバ200およびウェアラブル端末300が支援システムに相当する。支援システムは、ウェアラブル端末300に加えて、クラウドなどのコンピューティングリソースを含んでいてもよい。
【0039】
本実施の形態は、制御装置100を含む制御システム1におけるトラブルシューティングを支援するためのウェアラブル端末300を用いた支援方法を含む。
【0040】
<B.ハードウェア構成例>
次に、本実施の形態に従う制御システム1を構成する装置のハードウェア構成例について説明する。
【0041】
(b1:制御装置100)
図2は、本実施の形態に従う制御装置100のハードウェア構成例を示す模式図である。
図2を参照して、制御装置100は、例えば、プロセッサ102と、主メモリ104と、ストレージ106と、USB(Universal Serial Bus)コントローラ112と、メモリカードインターフェイス114と、内部バスコントローラ120と、フィールドネットワークコントローラ122と、ローカルネットワークコントローラ124と、上位ネットワークコントローラ126とを含む。
【0042】
プロセッサ102は、例えば、CPU(Central Processing Unit)であり、ストレージ106に格納されたプログラムを読み出して、主メモリ104に展開して実行する。
【0043】
ストレージ106は、制御プログラムの一例であるユーザプログラム110と、ユーザプログラム110を実行するための環境を提供するためのシステムプログラム108とを格納する。
【0044】
USBコントローラ112は、USBにより接続された任意の情報処理装置とデータをやり取りする。
【0045】
メモリカードインターフェイス114は、着脱可能なメモリカード116に対してデータを読み書きする。
【0046】
内部バスコントローラ120は、内部バスを介して、図示しない1または複数の機能ユニットとデータをやり取りする。フィールドネットワークコントローラ122は、フィールドネットワーク2を介したデータ通信を担当する。ローカルネットワークコントローラ124は、ローカルネットワーク4を介したデータ通信を担当する。上位ネットワークコントローラ126は、上位ネットワーク6を介したデータ通信を担当する。
【0047】
(b2:サーバ200)
図3は、本実施の形態に従うサーバ200のハードウェア構成例を示す模式図である。
図3を参照して、サーバ200は、例えば、プロセッサ202と、主メモリ204と、ストレージ206と、光学ドライブ216と、上位ネットワークコントローラ220と、ローカルネットワークコントローラ222とを含む。
【0048】
プロセッサ202は、例えば、CPUであり、ストレージ206に格納されたプログラムを読み出して、主メモリ204に展開して実行する。
【0049】
ストレージ206は、OS(Operating System)208と、ウェアラブル端末300と連係して以下に説明する処理を実行するための支援プログラム210とを格納する。
【0050】
光学ドライブ216は、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体218(例えば、DVD(Digital Versatile Disc)などの光学記録媒体)から、記録媒体218に格納されたプログラムを読み取る。光学ドライブ216が読み取ったプログラムは、ストレージ206にインストールされてもよい。
【0051】
なお、サーバ200が実行するプログラムは、記録媒体218から読み出されてもよいし、ネットワーク上のファイルサーバからダウンロードされてもよい。サーバ200が実行する処理は、OS208が提供するモジュールの一部を利用する形で実現されてもよい。
【0052】
上位ネットワークコントローラ220は、上位ネットワーク6を介したデータ通信を担当する。ローカルネットワークコントローラ222は、ローカルネットワーク8を介したデータ通信を担当する。
【0053】
(b3:ウェアラブル端末300)
図4は、本実施の形態に従うウェアラブル端末300のハードウェア構成例を示す模式図である。
図4を参照して、ウェアラブル端末300は、例えば、制御部310と、表示部312と、無線通信部320と、マイク322と、スピーカ324と、コントローラ326と、1または複数のカメラ330と、深度センサ332と、ジャイロセンサ334と、加速度センサ336と、磁力センサ338とを含む。
【0054】
制御部310は、ウェアラブル端末300で必要な処理を実行する。制御部310は、例えば、プロセッサ302と、主メモリ304と、ストレージ306と、映像エンジン308とを含む。プロセッサ302は、ストレージ306に格納されたプログラムを読み出して、主メモリ304に展開して実行する。ストレージ306は、OSに加えて、後述するような処理を実行するための支援プログラム340とを格納する。
【0055】
映像エンジン308は、表示部312に3D映像(ホログラム)を表示させるための処理を実行する。映像エンジン308は、プロセッサ302に含まれていてもよい。
【0056】
表示部312は、3D映像を視覚化する。表示部312は、例えば、プロジェクタ314と、レンズ316と、回折光学素子318とを含む。プロジェクタ314は、制御部310からの指令に従って光学像を生成する。プロジェクタ314が生成した光学像は、レンズ316を通過した後に回折光学素子318を伝搬する。回折光学素子318は、ユーザの目に近接した位置に配置されており、光学像の回折によってホログラムが生成される。
【0057】
無線通信部320は、無線中継器250(
図1)と無線接続するための処理を担当する。
【0058】
マイク322は、ウェアラブル端末300の周囲に発生する音声を収集する。スピーカ324は、制御部310からの指令に従って音声を発生する。
【0059】
コントローラ326は、ユーザ操作を受け付ける。コントローラ326は、ウェアラブル端末300の本体とは別の装置として構成されてもよい。
【0060】
1または複数のカメラ330は、ウェアラブル端末300の周囲を撮影する。カメラ330は、可視カメラであってもよいし、赤外カメラであってもよい。
【0061】
深度センサ332は、測定対象物までの距離を計測する。ジャイロセンサ334は、角速度を計測する。加速度センサ336は、加速度を計測する。磁力センサ338は、磁力を計測する。例えば、ジャイロセンサ334、加速度センサ336および磁力センサ338は、ウェアラブル端末300の姿勢を推定するための情報を提供する。
【0062】
(b4:その他の構成例)
制御システム1は、制御装置100に対するユーザ操作の受付およびユーザへの情報の提示を行う表示装置を含んでいてもよい。表示装置は、HMI(Human Machine Interface)として機能してもよい。
【0063】
制御システム1は、例えば、製造実行システム(MES:Manufacturing Execution System)、データベース、AI(Artificial Intelligence)システムなどを含んでいてもよい。
【0064】
制御装置100とサーバ200とが別体の構成例を示すが、両装置が一体化されていてもよい。
【0065】
図2~
図4には、プロセッサがプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードワイヤード回路(例えば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装してもよい。
【0066】
<C.処理手順例>
次に、本実施の形態に従う制御システム1において実行される処理手順例について説明する。
【0067】
図5は、本実施の形態に従う制御システム1において実行される処理手順例を示すフローチャートである。
図5には、制御装置100が実行するユーザプログラム110をオンラインモニタおよびオンラインエディットする例を示す。
【0068】
図5に示すステップの少なくとも一部は、ウェアラブル端末300のプロセッサ302が支援プログラム340を実行することで実現されてもよい。説明の便宜上、以下では、ウェアラブル端末300がすべての処理を実行する場合について説明するが、
図5に示すステップの一部は、サーバ200のプロセッサ202が支援プログラム210を実行することで実現されてもよい。
【0069】
ウェアラブル端末300を装着したユーザは、何らかのトラブルが発生すると、当該トラブルが発生した装置が視野に入る状態で、トラブルシューティングを開始するための操作を行う。
【0070】
図5を参照して、ウェアラブル端末300は、トラブルシューティングを開始するための指令を受け付けると(ステップS2においてYES)、トラブルシューティング対象の装置を決定し(ステップS4)、制御装置100が実行するユーザプログラム110のうち決定された装置に関連付けられた部分を決定し(ステップS6)、決定された部分を示すプログラム映像350を表示する(ステップS8)。すなわち、ウェアラブル端末300は、仮想的な映像として、ユーザプログラム110のうち決定された部分を示すプログラム映像350を表示する。ウェアラブル端末300は、トラブルシューティング対象の装置の位置に応じて、プログラム映像350を表示する位置を決定してもよい。
【0071】
ユーザは、表示されたプログラム映像350を見ながら、トラブルシューティングに必要な操作を行う。
【0072】
ウェアラブル端末300は、プログラム映像350を表示した状態で行われるユーザ操作に応じて、プログラム映像350の更新、ユーザプログラム110において用いられる入力値および/または出力値の更新、および/または、制御装置100が実行するユーザプログラム110に対する変更、などを実行する(ステップS10)。
【0073】
すなわち、ウェアラブル端末300は、ユーザ操作に応じて、仮想的な映像(プログラム映像350)を更新してもよい。また、ウェアラブル端末300は、ユーザ操作に応じて、制御プログラム(ユーザプログラム110)において用いられる入力値および出力値の少なくとも一方の値を更新してもよい。また、ウェアラブル端末300は、ユーザ操作に応じて、制御プログラム(ユーザプログラム110)を更新してもよい。
【0074】
ウェアラブル端末300は、トラブルシューティングを終了するための指令を受け付けるまで(ステップS12においてYES)、ステップS10の処理を繰り返す。
【0075】
<D.プログラム映像350として表示する内容の決定>
次に、
図5のステップS4およびS6に示す処理をより詳細に説明する。
【0076】
ステップS4において、ウェアラブル端末300は、ウェアラブル端末300の位置と、ウェアラブル端末300の姿勢と、ウェアラブル端末300を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定する。
【0077】
図6は、
図5に示すステップS4およびS6に示す処理の実現例を説明するための図である。
図6を参照して、ウェアラブル端末300は、マップデータ342および変数リスト344を有している。
【0078】
ウェアラブル端末300は、例えば、マップデータ342を参照して、トラブルシューティングの対象となる装置を決定する。
【0079】
マップデータ342は、制御システム1に含まれる各装置の位置を示す情報を含む。マップデータ342は、2Dマップを含んでいてもよいし、3Dマップを含んでいてもよい。
【0080】
マップデータ342が2Dマップを含んでいる場合には、2Dマップは各装置の位置(X座標およびY座標)を含む。ウェアラブル端末300は、トラブルシューティングを開始するための指令を受けたときの位置および/または姿勢(あるいは、方向)に基づいて、2Dマップからトラブルシューティング対象の装置を決定する。
【0081】
ウェアラブル端末300の位置は、複数の無線中継器250を用いた屋内測位により決定してもよい。この場合には、ウェアラブル端末300は、無線LANなどの無線送受信機を有していてもよい。
【0082】
ウェアラブル端末300は、QZSS(Quasi-Zenith Satellite System)やGPS(Global Positioning System)などの衛星測位システムの受信機を有していてもよい。衛星測位システムの測位結果、および/または、屋内測位による測位結果を用いて、ウェアラブル端末300の位置を決定してもよい。
【0083】
マップデータ342が3Dマップを含んでいる場合には、3Dマップは各装置の3D位置(X座標、Y座標およびZ座標)を含む。ウェアラブル端末300は、3Dマップを参照して、ウェアラブル端末300のカメラ330が撮影した画像に基づく視覚測位により、ウェアラブル端末300の位置、および/または、トラブルシューティング対象の装置を決定してもよい。視覚測位では、画像マッチングを用いてもよいし、基準位置を示すマーカを用いてもよい。また、深度センサ332からのセンシングデータと設備の形状プロファイル(3Dマップに含まれる)とに基づいて、ウェアラブル端末300の位置を決定してもよい。
【0084】
ウェアラブル端末300の方向および姿勢は、ジャイロセンサ334、加速度センサ336、および/または、磁力センサ338からのセンシングデータに基づいて決定することができる。
【0085】
さらに、ウェアラブル端末300は、ユーザによる名称などのテキスト入力および/または発話などに基づいて、トラブルシューティング対象の装置を決定してもよい。
【0086】
このように、ウェアラブル端末300は、任意の方法でトラブルシューティング対象の装置を決定する。続いて、ウェアラブル端末300は、変数リスト344を参照して、決定した装置に関連付けられた1または複数の変数を決定する。変数リスト344は、各装置に関連付けられた1または複数の変数を定義する。
【0087】
続いて、ウェアラブル端末300は、ユーザプログラム110のうち、決定した1または複数の変数が使用されている部分を検索する。
【0088】
なお、変数リスト344に代えて、装置とユーザプログラム110の対応する部分を特定するための情報(例えば、ユーザプログラム110における行数など)とを関連付けたリストを用いてもよい。
【0089】
このように、ウェアラブル端末300は、プログラム映像350として表示するユーザプログラム110の部分を決定する。
【0090】
また、ウェアラブル端末300は、ウェアラブル端末300の姿勢などに基づいて、プログラム映像350を表示する位置を決定してもよい。
【0091】
<E.プログラム映像およびユーザ操作例>
次に、表示されるプログラム映像350およびユーザ操作の一例について説明する。
【0092】
本実施の形態に従うウェアラブル端末300は、ユーザプログラム110をグラフィカル言語で表現する。
【0093】
図7は、本実施の形態に従うウェアラブル端末300が表現するグラフィカル言語の一例を示す模式図である。
図7(A)は、ラダーダイアグラム(LD)で記述されたユーザプログラムを例示する。
図7(B)は、シーケンシャルファンクションチャート(SFC)で記述されたユーザプログラムを例示する。
図7(C)は、フローチャートとして記述されたユーザプログラム110を例示する。
【0094】
プログラム映像350として表示されるユーザプログラムは、どのようなグラフィカル言語で表現されていてもよい。
【0095】
図8は、本実施の形態に従うウェアラブル端末300が表示するプログラム映像350の一例を示す模式図である。
図8には、ラダーダイアグラムで記述されたユーザプログラム110を表示する例を示す。
【0096】
図8を参照して、ユーザは、制御装置100が実行するユーザプログラム110に含まれる1つの回路を示すプログラム映像350を見ることができる。このとき、ユーザの視野には実際にユーザが見ている装置も含まれるので、ユーザは、現実の装置に加えて、プログラム映像350を見ることができる。
【0097】
制御装置100が実行するユーザプログラム110に含まれる回路(コイル)は、センサなどからの入力値などに応じて、導通状態(ON)および非導通状態(OFF)のいずれかになる。プログラム映像350の表示態様を異ならせることで、回路の現在の状態(導通状態または非導通状態)を表現できる。
【0098】
例えば、
図8に示すように、回路全体の色を異ならせることで、導通状態および非導通状態を表現してもよい。また、回路の一部(例えば、コイル)の色を異ならせることで、導通状態および非導通状態を表現してもよい。さらに、回路の少なくとも一部を点滅させることで、導通状態または非導通状態を表現してもよい。
【0099】
ユーザが導通状態および非導通状態を識別できれば、どのような表示態様を採用してもよい。
【0100】
ウェアラブル端末300は、プログラム映像350に対するユーザ操作に応じて、制御装置100が実行するユーザプログラム110を変更してもよい。ユーザプログラム110の変更は、例えば、入力値または出力値の強制的な変更、または、回路構成の変更などを含む。
【0101】
図9は、本実施の形態に従うウェアラブル端末300においてユーザプログラム110の入力値を変更する操作の一例を示す模式図である。
図9を参照して、ユーザが、プログラム映像350が表示された状態で、プログラム映像350に含まれるいずれかの接点を選択する操作を行うと、接点の値を変更するためのダイアログ360が表示される。
【0102】
ユーザがダイアログ360に含まれるONまたはOFFのボタンを操作することで、ウェアラブル端末300は、先に選択されている接点の値を指示された値に強制的に変更する。制御装置100は、強制的に変更された値に従って、各コイルの値(出力値)を決定する。接点の値が強制的に変更されることで、関係するコイルの値が変更される。
【0103】
例えば、いずれかのセンサの故障により当該センサの検出結果を示す接点がOFFのままになっていることが原因であると想定される場合には、当該接点を強制的にONに変更した場合の装置の挙動を確認することで、当該想定が妥当であるか否かを判断できる。
【0104】
なお、接点の値を強制的に変更することで意図しない挙動が生じる可能性もあるので、ウェアラブル端末300は、設定の値が変更されたことをユーザに通知してもよい。このような通知は、視覚的なフィードバック、音声を用いたフィードバック、または、振動などを用いた触覚フィードバックなどを用いて行われてもよい。
【0105】
図10は、本実施の形態に従うウェアラブル端末300においてユーザプログラム110の回路構成を変更する操作の一例を示す模式図である。
図10を参照して、ユーザが、プログラム映像350が表示された状態で、プログラム映像350に含まれるいずれかの回路要素を選択する操作を行うと、回路要素の種類を変更するためのダイアログ362が表示される。
【0106】
本明細書において、「回路要素」は、ユーザプログラム110が記述する命令を構成する要素であり、接点およびコイルを含む。
【0107】
ユーザがダイアログ362のボタンを操作することで、ウェアラブル端末300は、制御装置100が実行するユーザプログラム110の対象の回路要素の種類を変更する。
図10に示す例では、a接点をb接点に変更する例を示す。このように、ウェアラブル端末300は、ユーザ操作に応じて、ユーザプログラム110に含まれる回路要素の種類を変更する処理を実行する。
【0108】
制御装置100は、回路要素が変更されたユーザプログラム110に従って、各コイルの値(出力値)を決定する。回路要素の種類が変更されることで、関係するコイルの値が変更される。
【0109】
なお、回路要素の種類を変更する場合においても、種類が変更されたことを様々な方法でユーザに通知してもよい。
【0110】
また、
図9および
図10に示すデザインに限られず、ダイアログはどのようなデザインであってもよい。
【0111】
次に、ジェスチャなどのユーザ操作によって、ユーザプログラム110の回路構成を変更する例を説明する。
【0112】
図11は、本実施の形態に従うウェアラブル端末300においてユーザプログラム110の回路構成を変更する操作の別の一例を示す模式図である。
図11には、回路から「P_On」の接点を取り外す操作の一例を示す。
【0113】
ユーザが削除したい回路要素370(接点)をつまんだ状態(回路要素370が存在しているように見える位置でつまむジェスチャを行っている状態)で、指先を手前側(または、奥側)に移動させることで、ウェアラブル端末300は、対象の回路要素370を回路から取り外す。回路から取り外された回路要素370は、非表示にされてもよい。
【0114】
このように、ウェアラブル端末300は、ユーザプログラム110に含まれる回路要素の選択および取り外しの操作に応じて、当該回路要素をユーザプログラム110から削除する処理を実行する。
【0115】
図11には、回路から取り外された回路要素370(「P_On」の接点)がそのまま表示されている例を示す。この状態において、ユーザが取り外された回路要素370を再度つまんで、指先を奥側(または、手前側)に移動させると、ウェアラブル端末300は、対象の回路要素370を回路に再度組み入れる。
【0116】
このように、ウェアラブル端末300は、ユーザプログラム110に含まれる回路要素の移動および組み入れの操作に応じて、当該回路要素をユーザプログラム110に追加する処理を実行する。
【0117】
図11に示すように、プログラム映像350の面内をXY平面であるとすると、ユーザが指先を手前側または奥側へ移動させる操作(ジェスチャ)は、Z軸方向に沿った移動に相当する。
【0118】
ウェアラブル端末300は、ユーザによるZ軸方向の操作(ジェスチャ)に基づいて、回路要素370の取り外しまたは組み入れを行ってもよい。この場合、ウェアラブル端末300は、ユーザによるX軸方向の操作およびY軸方向の操作を無視してもよい。
【0119】
ユーザの操作性を向上させるために、回路要素370に対するユーザ操作を制限してもよい。
【0120】
図12は、
図11に示す操作におけるユーザ操作を制限する処理の一例を説明するための図である。
図12を参照して、例えば、回路要素370の周囲には操作可能領域372が設定されている。
【0121】
操作可能領域372の内部においては、ユーザによるつまむ操作に加えて、ユーザによるZ軸方向の操作が許容される。すなわち、操作可能領域372の内部においては、ユーザによるX軸方向の操作およびY軸方向の操作は無効なものとして取り扱われる。
【0122】
このような操作可能領域372を設けることで、実質的に、回路要素370を回路から取り外す操作、および、回路要素370を回路に組み入れる操作のみが許容される。
【0123】
操作可能領域372の外部においては、ユーザによるつまむ操作に加えて、ユーザによるX軸方向の操作およびY軸方向の操作が許容される。すなわち、操作可能領域372の外部においては、ユーザによるZ軸方向の操作は無効なものとして取り扱われる。
【0124】
このような操作可能領域372を設けることで、実質的に、回路要素370を回路から取り外す操作を行った後には、回路要素370を移動させる操作のみが許容される。回路要素370を移動させる操作に対して、組み入れることができる位置に回路要素370をスナップするようにしてもよい。例えば、回路要素370は、既に存在している回路要素とは重ならない位置にのみ配置されるようにしてもよい。また、回路要素370を対象の回路以外には移動できないようにしてもよい。
【0125】
回路要素370の移動先を制限することで、ユーザが意図しない位置に回路要素370が配置されることを防止できる。
【0126】
図13は、本実施の形態に従うウェアラブル端末300においてユーザプログラム110の回路構成を変更する操作のさらに別の一例を示す模式図である。
図13に示すように、ユーザが回路要素370(接点)をつまんだ状態で、回路の別の位置に移動させた上で、Z軸方向の操作に移動させる(奥側または手前側に移動させる)と、ウェアラブル端末300は、対象の回路要素370を回路の対応する位置に組み入れる。
【0127】
このように、ユーザは、表示されるプログラム映像350に対して、操作(ジェスチャ)を行うことで、制御装置100が実行するユーザプログラム110をオンラインエディットすることができる。
【0128】
例えば、ファンクションおよびファンクションブロックといった、予め定義された処理を実行するための回路要素の詳細を表示してもよい。
【0129】
図14は、本実施の形態に従うウェアラブル端末300においてユーザプログラム110のインスタンスを表示する処理の一例を示す模式図である。
【0130】
図14を参照して、ユーザが、プログラム映像350が表示された状態で、プログラム映像350に含まれるいずれかのファンクションブロックを選択する操作を行うと、選択されたファンクションブロックのインスタンスを示すプログラム映像352が追加的に表示される。プログラム映像352は、プログラム映像350よりユーザの手前側(Z軸方向においてユーザ寄りの位置)に表示されてもよい。このように、ウェアラブル端末300は、プログラム映像を複数重ねて表示することもできる。
【0131】
図14には、プログラム映像350が表示された状態で、プログラム映像352が追加表示される例を示すが、プログラム映像352が表示されると、プログラム映像350が非表示とされてもよい。
【0132】
なお、
図14に示すファンクションブロックのインスタンスを表示する例に限らず、任意の回路要素の詳細を表示することができる。
【0133】
このように、ユーザは、表示されるプログラム映像350に対して、任意の回路要素を選択することで、選択された回路要素の詳細を確認できるので、トラブルシューティングにおいて、必要な粒度で原因を究明していくことができる。
【0134】
ユーザプログラム110においては、同一のセンサの検出結果を示す接点が複数の回路で使用されている場合もある。トラブルシューティングにおいては、それぞれの回路を確認することが好ましい場合もある。そのため、ウェアラブル端末300は、接点(変数)のクロスレファレンスを表示してもよい。
【0135】
図15は、本実施の形態に従うウェアラブル端末300においてユーザプログラム110のクロスレファレンスを表示する処理の一例を示す模式図である。
【0136】
図15を参照して、ユーザが、プログラム映像350が表示された状態で、プログラム映像350に含まれるいずれかの接点を選択する操作を行うと、選択された接点についてのクロスレファレンスを示すダイアログ354が追加的に表示される。ダイアログ354は、プログラム映像350よりユーザの手前側(Z軸方向においてユーザ寄りの位置)に表示されてもよい。
【0137】
ユーザは、選択した接点が使用されている他の回路をダイアログ354により把握できる。さらに、ユーザがダイアログ354において他の回路を選択すると、選択された回路が追加的に表示されてもよい。
【0138】
図16は、本実施の形態に従うウェアラブル端末300においてクロスレファレンスに対する操作に応じてプログラム映像を表示する処理の一例を示す模式図である。
【0139】
図16を参照して、ユーザが、
図15に示すクロスレファレンスに対して、別の回路を選択すると、選択された回路を示すプログラム映像356が追加的に表示される。プログラム映像356は、プログラム映像350よりユーザの手前側(Z軸方向においてユーザ寄りの位置)に表示されてもよい。
【0140】
このように、ユーザは、順次表示されるプログラム映像を順次確認することで、トラブルシューティングを効率的に行うことができる。
【0141】
<F.プログラム映像350の表示位置>
ウェアラブル端末300を装着したユーザの視野において、トラブルシューティング対象の装置に関連付けて、プログラム映像350を表示してもよい。すなわち、プログラム映像350の表示位置は、トラブルシューティング対象の装置に関連付けられてもよい。
【0142】
ウェアラブル端末300は、トラブルシューティング対象の装置を決定した後、当該決定した装置をトラッキングすることで、ユーザの位置または姿勢が変化した場合であっても、当該決定した装置の位置を捕捉し続けられる。ウェアラブル端末300は、捕捉される位置の近傍などにプログラム映像350を表示してもよい。
【0143】
図17は、本実施の形態に従うウェアラブル端末300におけるプログラム映像350の表示例を示す模式図である。
図17(A)を参照して、ウェアラブル端末300を装着したユーザの視野50には、トラブルシューティング対象の装置52が存在しているとする。
【0144】
図17(B)を参照して、ウェアラブル端末300は、視野50における装置52の近傍にプログラム映像350を表示する。装置52の近傍にプログラム映像350が表示されることで、ウェアラブル端末300を装着したユーザは、装置52と表示されるプログラム映像350が示す回路とを直感的に関連付けることができる。
【0145】
ウェアラブル端末300を装着したユーザの視野50にトラブルシューティング対象の装置が複数存在する場合には、ユーザによる装置と回路との対応関係の把握をより容易にする。
【0146】
図18は、本実施の形態に従うウェアラブル端末300におけるプログラム映像350の別の表示例を示す模式図である。
図18(A)を参照して、ウェアラブル端末300を装着したユーザの視野50には、トラブルシューティング対象の2つの装置52,54が存在しているとする。
【0147】
図18(B)を参照して、ウェアラブル端末300は、視野50における装置52の近傍にプログラム映像350-1を表示するとともに、視野50における装置54の近傍にプログラム映像350-2を表示する。装置52,54のそれぞれの近傍にプログラム映像350-1,350-2が表示されることで、ウェアラブル端末300を装着したユーザは、それぞれの装置に関連付けられる回路をより確実に把握できる。
【0148】
なお、視野50に3つ以上の装置が存在している場合においても同様の表示を行うことができる。同時されるプログラム映像350の数などに応じて、プログラム映像350の各々を表示する位置(装置に対する相対位置)、および、プログラム映像350の各々の大きさなどを適宜決定してもよい。
【0149】
複数のプログラム映像350を表示する場合には、識別性を高めるために、表示色または外観などの表示態様を異ならせてもよい。
【0150】
<G.変形例>
上述した実施の形態に加えて、以下のような変形が可能である。
【0151】
ウェアラブル端末300が上述した処理を実行してもよいし、処理の全部または一部をサーバ200が実行してもよい。基本的な処理をサーバ200が実行する場合には、ウェアラブル端末300は、プログラム映像350の表示、および、ユーザ操作の受付といったユーザインターフェイスとして機能する。
【0152】
上述の説明においては、トラブルシューティングにおいて使用される代表的な処理について説明したが、上述した処理に限らず、制御装置100が実行するユーザプログラム110および関連する装置に対するトラブルシューティングにおいて必要な任意の情報をユーザに提供してもよい。
【0153】
<H.利点>
一般的に、制御装置100を含む制御システム1において何らかのトラブルが発生して、トラブルシューティングを行わなければならない場合には、制御装置100が実行するユーザプログラム110を確認するための専用装置を用いる必要がある。実際のトラブルシューティングにおいては、生産ラインに存在するセンサおよびアクチュエータといった現実の装置と、制御装置100におけるユーザプログラム110の実行状態との両方を確認する必要がある。専用装置を用いてユーザプログラム110の実行状態を確認する場合には、現実の装置の状態を併せて確認することが容易ではない。
【0154】
これに対して、本実施の形態に従う支援システム(ウェアラブル端末300など)によれば、ユーザは、何らかのトラブルが発生している装置を確認しつつ、制御装置100が実行するユーザプログラム110の実行状態も確認できるので、より効率的なトラブルシューティングを実現できる。
【0155】
また、本実施の形態に従う支援システム(ウェアラブル端末300など)によれば、ユーザは、ジェスチャなどのユーザ操作によって、ユーザプログラム110の確認したい場所を変更したり、ユーザプログラム110の回路構成を変更したりできる。専用装置などを操作することなく、ユーザプログラム110を確認および変更できるので、より効率的なトラブルシューティングを実現できる。
【0156】
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
【0157】
[構成1]
制御装置(100)を含む制御システム(1)におけるトラブルシューティングを支援するための支援システム(300;200,300)であって、
現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末(300)を備え、
前記支援システムは、
前記ウェアラブル端末の位置と、前記ウェアラブル端末の姿勢と、前記ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定する処理(S4)と、
前記制御装置が実行する制御プログラム(110)のうち、前記決定された装置に関連付けられる部分を決定する処理(S6)と、
前記仮想的な映像として、前記決定された部分を示す映像(350)を表示する処理(S8)とを実行する、支援システム。
【0158】
[構成2]
前記ウェアラブル端末は、ユーザ操作を受け付けるように構成されており、
前記支援システムは、前記ユーザ操作に応じて、前記仮想的な映像を更新する処理(S10)を実行する、構成1に記載の支援システム。
【0159】
[構成3]
前記ウェアラブル端末は、ユーザ操作を受け付けるように構成されており、
前記支援システムは、前記ユーザ操作に応じて、前記制御プログラムにおいて用いられる入力値および出力値の少なくとも一方の値を更新する処理(S10)を実行する、構成1に記載の支援システム。
【0160】
[構成4]
前記ウェアラブル端末は、ユーザ操作を受け付けるように構成されており、
前記支援システムは、前記ユーザ操作に応じて、前記制御プログラムを更新する処理(S10)を実行する、構成1に記載の支援システム。
【0161】
[構成5]
前記制御プログラムを更新する処理は、前記ユーザ操作に応じて、前記制御プログラムに含まれる回路要素の種類を変更する処理を含む、構成4に記載の支援システム。
【0162】
[構成6]
前記制御プログラムを更新する処理は、
前記制御プログラムに含まれる回路要素の選択および取り外しの操作に応じて、当該回路要素を前記制御プログラムから削除する処理と、
前記制御プログラムに含まれる回路要素の移動および組み入れの操作に応じて、当該回路要素を前記制御プログラムに追加する処理とのうち、少なくとも一方を含む、構成4または5に記載の支援システム。
【0163】
[構成7]
前記決定された部分を示す映像を表示する処理は、前記決定された装置に関連付けられた位置に仮想的な映像を表示する処理を含む、構成1~6のいずれか1項に記載の支援システム。
【0164】
[構成8]
前記決定された部分を示す映像を表示する処理は、前記仮想的な映像(350,352,356)を複数重ねて表示する処理を含む、構成1~7のいずれか1項に記載の支援システム。
【0165】
[構成9]
制御装置(100)を含む制御システム(1)におけるトラブルシューティングを支援するための、現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末(300)を用いた支援方法であって、
前記ウェアラブル端末の位置と、前記ウェアラブル端末の姿勢と、前記ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定するステップ(S4)と、
前記制御装置が実行する制御プログラム(110)のうち、前記決定された装置に関連付けられる部分を決定するステップ(S6)と、
前記仮想的な映像として、前記決定された部分を示す映像(350)を表示するステップ(S8)とを備える、支援方法。
【0166】
[構成10]
現実に存在する物体と仮想的な映像とを合成した状態をユーザに見せるためのウェアラブル端末(300)で実行される支援プログラム(340)であって、前記支援プログラムは、制御装置(100)を含む制御システム(1)におけるトラブルシューティングを支援するためのものであり、前記支援プログラムは前記ウェアラブル端末に、
前記ウェアラブル端末の位置と、前記ウェアラブル端末の姿勢と、前記ウェアラブル端末を装着したユーザの視野とのうち少なくとも1つに基づいて、トラブルシューティング対象の装置を決定するステップ(S4)と、
前記制御装置が実行する制御プログラム(110)のうち、前記決定された装置に関連付けられる部分を決定するステップ(S6)と、
前記仮想的な映像として、前記決定された部分を示す映像(350)を表示するステップ(S8)とを実行させる、支援プログラム。
【0167】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0168】
2 フィールドネットワーク、4,8 ローカルネットワーク、6 上位ネットワーク、10 ロボット、12 モータ、14,330 カメラ、20 ロボットコントローラ、22 モータドライバ、24 産業用コンピュータ、30 バルブ、32 ツールチェンジャ、34 ハンド、36 エアシリンダ、50 視野、52,54 装置、100 制御装置、102,202,302 プロセッサ、104,204,304 主メモリ、106,206,306 ストレージ、108 システムプログラム、110 ユーザプログラム、112 USBコントローラ、114 メモリカードインターフェイス、116 メモリカード、120 内部バスコントローラ、122 フィールドネットワークコントローラ、124,222 ローカルネットワークコントローラ、126,220 上位ネットワークコントローラ、200 サーバ、208 OS、210,340 支援プログラム、216 光学ドライブ、218 記録媒体、250 無線中継器、300 ウェアラブル端末、308 映像エンジン、310 制御部、312 表示部、314 プロジェクタ、316 レンズ、318 回折光学素子、320 無線通信部、322 マイク、324 スピーカ、326 コントローラ、332 深度センサ、334 ジャイロセンサ、336 加速度センサ、338 磁力センサ、342 マップデータ、344 変数リスト、350,352,356 プログラム映像、354,360,362 ダイアログ、370 回路要素、372 操作可能領域。