(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024037103
(43)【公開日】2024-03-18
(54)【発明の名称】作業システム
(51)【国際特許分類】
B25J 9/22 20060101AFI20240311BHJP
【FI】
B25J9/22 A
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022141769
(22)【出願日】2022-09-06
(11)【特許番号】
(45)【特許公報発行日】2024-03-05
(71)【出願人】
【識別番号】000203977
【氏名又は名称】日鉄テックスエンジ株式会社
(74)【代理人】
【識別番号】110001896
【氏名又は名称】弁理士法人朝日奈特許事務所
(72)【発明者】
【氏名】神戸 延尚
(72)【発明者】
【氏名】石本 健
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS12
3C707AS13
3C707BS10
3C707CS05
3C707HS27
3C707KS03
3C707KT01
3C707KT06
3C707LS09
3C707LS15
3C707LS20
3C707LT07
3C707MS08
3C707MS09
3C707MS30
(57)【要約】
【課題】作業装置がユーザからの任意の操作によって想定外の軌跡で動作する可能性があっても、作業装置の動作を適切に制御することを可能にする作業システムの提供。
【解決手段】行わせようとする動作の内容を示す指令である動作指令に応じて作業を行う作業装置と、作業装置の周囲の構造物である物体との間の位置関係をシミュレートするシミュレート部と、シミュレートされた位置関係に応じて作業装置の動作を制御する動作制御部とを備え、シミュレート部は、作業装置の外形に対応した仮想作業装置と、物体の外形に対応した仮想物体とが、作業装置および物体の各々の外形および位置に対応するように配置された仮想空間において、仮想作業装置を動作可能であり、シミュレート部は、動作指令に並行して、仮想空間において動作指令に対応する内容で仮想作業装置を動作させ、仮想作業装置と仮想物体との間の位置関係を所定の時間間隔で判定する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
行わせようとする動作の内容を示す指令である動作指令に応じて作業を行う作業装置と、前記作業装置に対して作業される対象であるか、または前記作業装置の周囲の構造物である物体との間の位置関係をシミュレートするシミュレート部と、
前記シミュレート部によりシミュレートされた位置関係に応じて、前記作業装置の動作を制御する動作制御部と
を備えた作業システムであって、
前記シミュレート部は、前記作業装置の外形に対応した仮想作業装置と、前記物体の外形に対応した仮想物体とが、前記作業装置および前記物体の各々の外形および位置に対応するように配置された仮想空間において、前記仮想作業装置を動作可能であり、
前記シミュレート部は、前記作業装置に前記動作指令がなされた際に、前記動作指令に並行して、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させて、前記仮想作業装置と前記仮想物体との間の位置関係を所定の時間間隔で判定する、作業システム。
【請求項2】
前記シミュレート部は、判定された前記位置関係に基づいて、前記作業装置と前記物体とが接触するか否かを判定する、請求項1に記載の作業システム。
【請求項3】
前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、
前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されている、請求項1に記載の作業システム。
【請求項4】
前記仮想物体は、前記物体の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、
前記シミュレート部は、前記位置関係判定層と前記仮想作業装置との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されている、請求項1に記載の作業システム。
【請求項5】
前記シミュレート部は、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の第1の部分と前記仮想物体との距離が所定の範囲内であるかどうかを判定し、
前記第1の部分と前記仮想物体との距離が前記所定の範囲内であると判断された場合、前記シミュレート部は、前記動作指令に対応する前記第1の部分の移動方向を前記仮想物体の外形に基づいて補正することによって、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、前記動作制御部は、求められた前記移動方向に前記第1の部分を移動させるように構成されている、請求項1に記載の作業システム。
【請求項6】
前記位置関係判定層は、前記仮想作業装置の第1の部分に対して所定の層厚を有するように設けられ、
前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記第1の部分と前記仮想物体との間の位置関係を判定するように構成され、
前記動作制御部は、前記シミュレート部による判定結果に基づいて、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、求めた前記移動方向に前記第1の部分を移動させるように構成されている、請求項3に記載の作業システム。
【請求項7】
前記位置関係判定層は、前記第1の部分に径方向中心が位置する扇形状に形成され、
前記位置関係判定層の層厚は、前記位置関係判定層における扇形の径方向長さに対応する厚さであり、
前記シミュレート部は、扇形状の前記位置関係判定層と前記仮想物体との間の位置関係を判定する、請求項6に記載の作業システム。
【請求項8】
前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部のうち弾性変形可能な第1の部分の外形よりも内側に位置するように仮想的に設けられた位置関係判定層とを有し、
前記位置関係判定層は、前記第1の部分が前記仮想物体に押し付けられて変形したときに前記仮想物体と接触可能な位置に設けられている、請求項1に記載の作業システム。
【請求項9】
前記シミュレート部が、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の第2の部分と前記仮想物体との位置関係の判定によって、前記仮想空間において前記第2の部分と前記仮想物体とが接触したか、または所定の距離以下であると判断した場合、前記動作制御部は、以後の前記動作指令を無効にするように構成されている、請求項1に記載の作業システム。
【請求項10】
前記作業装置は、前記作業装置に行わせようとする動作の内容で前記作業装置を動作させるための動作要求に基づいて演算を行い、前記動作要求を前記動作指令に変換するプログラムにより生成された前記動作指令に基づいて動作するように構成され、
前記シミュレート部は、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させる際に、前記動作指令を外部から受信し、受信した動作指令に基づいて、前記仮想作業装置の構成要素と前記仮想物体との間の位置関係を判定する、請求項1に記載の作業システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業システムに関する。
【背景技術】
【0002】
従来、人に代わって作業を行うロボット等の作業装置が作業を行う際に、作業装置が障害物に干渉する等の不都合が生じるのを防止するための技術が提案されている(たとえば特許文献1を参照)。特許文献1に記載の干渉防止装置は、ロボットに予めティーチングされた内容に基づいて、ロボットの動作前にロボットの動作軌跡を算出し、算出結果に基づいてロボットが障害物と干渉するかどうかを判定し、ロボットが障害物と干渉すると判断した場合にはロボットに待機指令を出す等の制御を行うように構成されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の技術は、ティーチングに基づく予め定められた軌跡に沿った動作が制御対象である。このため、仮に、ユーザが操作装置を介して任意の軌跡でロボットを動作させる場合には、特許文献1に記載の技術ではロボットの動作を適切に制御できない可能性がある。具体的には、ユーザが操作装置を介して任意の軌跡でロボットを動作させる場合には、ロボットが想定外の軌跡で動作する可能性があるため、特許文献1に記載の技術では、たとえば、ロボットが作業中に障害物に干渉するなど、ロボットの動作を適切に制御できない可能性がある。
【0005】
本発明は、上記問題に鑑みて、作業装置がユーザからの任意の操作によって想定外の軌跡で動作する可能性があっても、作業装置の動作を適切に制御することを可能にする作業システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の作業システムは、行わせようとする動作の内容を示す指令である動作指令に応じて作業を行う作業装置と、前記作業装置に対して作業される対象であるか、または前記作業装置の周囲の構造物である物体との間の位置関係をシミュレートするシミュレート部と、前記シミュレート部によりシミュレートされた位置関係に応じて、前記作業装置の動作を制御する動作制御部とを備えた作業システムであって、前記シミュレート部は、前記作業装置の外形に対応した仮想作業装置と、前記物体の外形に対応した仮想物体とが、前記作業装置および前記物体の各々の外形および位置に対応するように配置された仮想空間において、前記仮想作業装置を動作可能であり、前記シミュレート部は、前記作業装置に前記動作指令がなされた際に、前記動作指令に並行して、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させて、前記仮想作業装置と前記仮想物体との間の位置関係を所定の時間間隔で判定する。
【0007】
前記シミュレート部は、判定された前記位置関係に基づいて、前記作業装置と前記物体とが接触するか否かを判定することが好ましい。
【0008】
前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されていることが好ましい。
【0009】
前記仮想物体は、前記物体の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、前記シミュレート部は、前記位置関係判定層と前記仮想作業装置との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されていることが好ましい。
【0010】
前記シミュレート部は、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の第1の部分と前記仮想物体との距離が所定の範囲内であるかどうかを判定し、前記第1の部分と前記仮想物体との距離が前記所定の範囲内であると判断された場合、前記シミュレート部は、前記動作指令に対応する前記第1の部分の移動方向を前記仮想物体の外形に基づいて補正することによって、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、前記動作制御部は、求められた前記移動方向に前記第1の部分を移動させるように構成されていることが好ましい。
【0011】
前記位置関係判定層は、前記仮想作業装置の第1の部分に対して所定の層厚を有するように設けられ、前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記第1の部分と前記仮想物体との間の位置関係を判定するように構成され、前記動作制御部は、前記シミュレート部による判定結果に基づいて、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、求めた前記移動方向に前記第1の部分を移動させるように構成されていることが好ましい。
【0012】
前記位置関係判定層は、前記第1の部分に径方向中心が位置する扇形状に形成され、前記位置関係判定層の層厚は、前記位置関係判定層における扇形の径方向長さに対応する厚さであり、前記シミュレート部は、扇形状の前記位置関係判定層と前記仮想物体との間の位置関係を判定することが好ましい。
【0013】
前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部のうち弾性変形可能な第1の部分の外形よりも内側に位置するように仮想的に設けられた位置関係判定層とを有し、前記位置関係判定層は、前記第1の部分が前記仮想物体に押し付けられて変形したときに前記仮想物体と接触可能な位置に設けられていることが好ましい。
【0014】
前記シミュレート部が、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の第2の部分と前記仮想物体との位置関係の判定によって、前記仮想空間において前記第2の部分と前記仮想物体とが接触したか、または所定の距離以下であると判断した場合、前記動作制御部は、以後の前記動作指令を無効にするように構成されていることが好ましい。
【0015】
前記作業装置は、前記作業装置に行わせようとする動作の内容で前記作業装置を動作させるための動作要求に基づいて演算を行い、前記動作指令に変換するプログラムにより生成された前記動作指令に基づいて動作するように構成され、前記シミュレート部は、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させる際に、前記動作指令を外部から受信し、受信した動作指令に基づいて、前記仮想作業装置の構成要素と前記仮想物体との間の位置関係を判定することが好ましい。
【発明の効果】
【0016】
本発明によれば、作業装置がユーザからの任意の操作によって想定外の軌跡で動作する可能性があっても、作業装置の動作を適切に制御することができる。
【図面の簡単な説明】
【0017】
【
図1】本発明の一実施形態に係る作業システムの一例を模式的に示す斜視図である。
【
図2】
図1に示される作業システムの構成を示すブロック図である。
【
図3】
図1に示される作業システムのシミュレート部を模式的に示す図である。
【
図4】
図3に示される表示部に表示されているシミュレーションの画像を示す図である。
【
図5】
図1に示される作業システムのシミュレート部がシミュレーションを行う際に用いる、仮想作業装置の位置関係判定層を模式的に示す図である。
【
図6】
図1に示される作業システムのシミュレート部がシミュレーションを行う際に用いる位置関係判定層と仮想物体との位置関係の一例を模式的に示す図である。
【
図7】
図1に示される作業システムのシミュレート部がシミュレーションを行う際に用いる位置関係判定層と仮想物体との位置関係の他の例を模式的に示す図である。
【
図8】
図1に示される作業システムのシミュレート部が、仮想作業装置の第1の部分を仮想物体に当接させながら第1の部分を仮想物体の表面に沿って移動させる様子の一例を模式的に示す図である。
【
図9】
図1に示される作業システムのシミュレート部が、仮想作業装置の第1の部分を仮想物体に当接させながら第1の部分を仮想物体の表面に沿って移動させる場合の、第1の部分を移動させる方向を求める方法の一例を模式的に示す図である。
【
図10】
図1に示される作業システムのシミュレート部が、仮想作業装置の第1の部分を仮想物体から一定の距離を保ちながら第1の部分を仮想物体の表面に沿って移動させる様子の一例を模式的に示す図である。
【
図11】
図1に示される作業システムのシミュレート部によるシミュレーションの手順の一例を示すフローチャートである。
【
図12】
図1に示される作業システムのシミュレート部によるシミュレーションの一例を模式的に示す図であり、仮想作業装置の第1の部分と仮想物体との間に一定の間隔を保ちながら、第1の部分を仮想物体の表面に沿って移動させる様子の一例を模式的に示す図である。
【
図13】本発明の一実施形態に係る作業システムの他の例を模式的に示す斜視図である。
【
図14】
図13に示される作業システムのシミュレート部によるシミュレーションの一例を模式的に示す図であり、仮想作業装置の第1の部分と仮想物体との間に一定の間隔を保ちながら、第1の部分を仮想物体の表面に沿って移動させる様子の他の例を模式的に示す図である。
【
図15】
図14に示される位置関係判定層をA方向から見た状態で示す図である。
【
図16】
図13に示される作業システムのシミュレート部によるシミュレーションの他の例を模式的に示す図であり、(a)は、弾性変形可能な第1の部分の外形よりも内側に位置関係判定層を有する作業装置の一例を模式的に示す図、(b)は、(a)の第1の部分を仮想物体に押し付けながら、第1の部分を仮想物体の表面に沿って移動させる様子を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照し、本発明の一実施形態の作業システムを説明する。なお、以下に示す実施形態はあくまで一例であり、本発明の作業システムは、以下の実施形態に限定されるものではない。
【0019】
本実施形態に係る作業システムWSは、人に代わって作業を行うロボット等の作業装置WDを用いて作業を行うシステムである。本実施形態では、作業装置WDは、生産設備等の各種設備において、作業装置WDに行わせようとする動作の内容を示す指令である動作指令に応じて所定の作業を行うように構成されている。
【0020】
詳細には、作業装置WDは、手動モード、半自動モード、および自動モードのいずれで動作する装置であってもよい。手動モードは、常にユーザによって操作されるモードである。半自動モードは、一部の予め決められた動作のみが自動で行われ、他の動作はユーザによって操作されるモードである。自動モードは、センサ等を用いてすべての動作が自動で行われるモードである。本明細書において、「動作指令」とは、作業装置WDに行わせようとする動作の内容を示す指令である。作業装置WDに行わせようとする動作は、たとえば、ユーザが操作装置ODを介して作業装置WDに行わせようとする動作、または、作業装置WDに自動動作を行わせるコンピュータ(自動モードまたは半自動モードの動作を実行するためのコンピュータ)のプログラムが作業装置WDに行わせようとする動作である。作業装置WDに行わせようとする動作は、シミュレート部1によるシミュレーションの結果に基づく後述の干渉防止制御および倣い制御によって補正され得る。
【0021】
作業装置WDは、動作指令に基づいて動作するように構成されている。動作指令は、動作指令を生成するプログラムによって生成される。当該プログラムは、作業装置WDに行わせようとする動作の内容で作業装置WDを動作させるための動作要求に基づいて演算を行うことにより、動作要求を動作指令に変換する機能を有する。当該プログラムは、たとえば、作業装置WDの操作用または動作用のコンピュータ等(後述するシミュレート部1以外のコンピュータ)の記憶部に格納されている。
図1に示されるような手動モードでは、当該コンピュータは、たとえば、操作装置ODに備えられている。また、自動モードでは、当該コンピュータは、たとえば、作業装置WDに自動動作を行わせる上述のコンピュータに備えられている。半自動モードでは、当該コンピュータは、たとえば、操作装置ODおよび作業装置WDに自動動作を行わせる上述のコンピュータに備えられている。当該プログラムは、作業装置WDに行わせようとする動作の内容で作業装置WDを動作させるための動作要求(たとえば、ユーザの操作による動作要求や、自動動作における所定の動作要求)を、動作指令に変換する演算を行うように構成されている。
【0022】
動作要求は、上記演算結果に基づいて、作業装置WDの各構成要素(たとえばアーム部WD2等)の動作指令に変換される。動作指令は、動作要求に対応した作業装置WDの動作を実現するための、作業装置WDの構成要素の動作情報である。動作情報は、具体的には、たとえば、構成要素の移動速度、加減速度、移動方向、移動距離、関節の回転角度、回転速度、回転加減速度のうちの1つまたは複数など、動作要求に対応した作業装置WDの構成要素の動作を実現するためのパラメータの値である。作業装置WDが手動モードで動作する場合には、動作指令は、たとえば、ユーザが操作装置に与えた操作に対応する、作業装置WDの構成要素の動きを実現するための動作情報(パラメータの値)である。この場合、操作装置は、ユーザが操作装置ODに与えた操作の内容を、作業装置WDの構成要素の動きを実現するための動作情報に変換する。作業装置WDが自動モードで動作する場合には、動作指令は、たとえば、作業装置WDを自動で動作させるコンピュータが作業装置WDに行わせようとする動作に対応する、作業装置WDの構成要素の動きを実現するための動作情報である。この場合、上記コンピュータは、自己が作業装置WDに行わせようとする動作の内容を、作業装置WDの構成要素の動きを実現するための動作情報に変換する。作業装置WDが半自動モードで動作する場合には、動作指令は、手動モードおよび自動モードの双方に対応する指令である。なお、後述するように、本実施形態では、所定のコンピュータに格納されたプログラムによる上記の演算および変換後の動作指令は、後述するシミュレータ部1へ送信される。シミュレータ部1は、変換後の動作指令を受け取って利用することで、上述した演算および変換処理をシミュレータ部1では行う必要がなくなる。
【0023】
なお、作業装置WDの構造は、求められる作業の内容に応じて適宜変更され、図示する構造に限定されない。作業装置WDは、本実施形態では、多関節ロボットとして示されているが、ロボットに限定されることはなく、クレーン等の建設用機械などであってもよい。また、作業装置WDは、作業装置WDから離れた場所から操作(遠隔操作)される装置であってもよいし、遠隔操作ではなく、作業装置WDの近傍で操作(たとえば機側操作)される装置であってもよい。以下の説明では、作業装置WDが、手動モードで動作する作業装置であって、ユーザによって遠隔操作されるロボットである場合について説明する。なお、以下に説明する内容は、自動モードおよび半自動モードにおいても適用可能である。
【0024】
図1に示される作業装置WDは、板状の作業対象OB1に対して研磨等の作業を行う装置である。作業装置WDは、
図1に示される例では、作業装置本体WDaと、移動機構WDbと、搬送機構WDcとを備えている。作業装置本体WDaは、ユーザの操作に応じて所定の作業を行うように構成されている。作業装置本体WDaは、台座部WD1と、複数の関節を有し、台座部WD1に回転駆動可能に固定されたアーム部WD2と、アーム部WD2の先端部に設けられたツール部WD3とを備えている。ツール部WD3は、作業対象に対して作業を行う工具または工作機械等に相当する部分である。
図1に示される例では、ツール部WD3は、作業対象に接近して作業に直接関与するツール本体WD4と、ツール本体WD4とアーム部WD2との間に介在するように設けられた柄部WD5とを備えている。ツール本体WD4は、作業対象OB1に対して、作業装置WDにより行われる作業の種類に応じた動作を行う部分である。
【0025】
また、本実施形態では、作業装置WDは、作業対象OB1の位置を測定する測定装置WDdをさらに備えている。測定装置WDdは、作業対象OB1を撮影するカメラWD44と、撮像画像に基づいて作業対象OB1の位置を測定する測定部(図示せず)とを備えている。測定装置WDdは、本実施形態では、移動部WD47に設けられているが、測定装置WDdが設けられる位置は、作業対象OB1の任意の部分の位置を測定可能な位置であれば、特に限定されない。測定装置WDdによって測定された位置は、作業対象OB1の外形と関連付けられて、記憶部(図示せず)に記憶される。なお、測定装置WDdは、作業対象OB1の位置を測定することができれば、カメラを有するものに限定されず、作業対象OB1の位置の測定が可能なカメラ以外のセンサであってもよい。また、測定装置WDdは、作業対象OB1の位置および外形の両方を測定可能な装置であってもよい。この場合、測定装置WDdによって測定された位置および外形は、互いに関連付けられて、記憶部(図示せず)に記憶される。
【0026】
作業装置WDは、ユーザの操作を受け付ける操作装置ODと通信可能に接続されている。作業装置WDは、操作装置ODに入力されたユーザの操作の内容を示す操作情報を受信し、操作情報に対応する動作を行うように構成されている。操作装置ODの構成は、作業装置WDに対して、ツール部WD3の移動を含む作業の内容を指示できるのであれば特に限定されない。
図1に示される例では、操作装置ODは、ツール部WD3を、実際に作業装置WDが設けられた作業空間において、三次元的に任意の方向に移動させる指示ができるように構成されている。
【0027】
本実施形態では、ツール部WD3のツール本体WD4は、
図1におけるツール本体WD4の拡大図(一点鎖線の円内)に模式的に示されるように、作業対象OB1の一例である後述の研磨対象を研磨する研磨装置WD4Aを備えている。研磨装置WD4Aは、作業対象OB1に接触する砥石等の研磨部と、研磨部を回転させるモータ等の駆動部(図示せず)とを備えている。研磨装置WD4Aは、作業対象OB1に研磨部を接触させた状態で、研磨部を回転させることにより、作業対象OB1を研磨できるように構成されている。具体的には、研磨装置WD4Aは、作業対象OB1の外形に沿って移動することにより、作業対象OB1の任意の部分を研磨することができるように構成されている。また、研磨装置WD4Aは、作業対象OB1の外形に沿って移動する際、作業対象OB1の外形に応じて、研磨しやすい向きに研磨装置WD4Aの向き(傾き)を調節できるように構成されている。これにより、研磨装置WD4Aは、作業対象OB1の任意の部分を効率よく研磨することができる。また、作業対象OB1は、たとえば、作業対象OB1の表面から突出する不要な凸部を有している場合がある。研磨装置WD4Aは、研磨部を当該凸部に接触させた状態で、研磨部を回転させることにより、凸部を研磨して除去することができる。なお、作業対象OB1の表面に不要な付着物が存在する場合には、研磨装置WD4Aは、その付着物を研磨によって除去することができる。
【0028】
また、本実施形態では、ツール本体WD4は、
図1におけるツール本体WD4の拡大図に模式的に示されるように、作業対象OB1の所定の位置に対して塗装を行う塗装装置WD4Bをさらに備えている。塗装装置WD4Bは、液体等の塗料を作業対象OB1に噴射するノズルを備えている。具体的には、塗装装置WD4Bは、作業対象OB1の外形に沿って移動することにより、作業対象OB1の任意の部分を塗装することができるように構成されている。また、塗装装置WD4Bは、作業対象OB1の外形に沿って移動する際、作業対象OB1の外形に応じて、塗装しやすい向きに塗装装置WD4Bの向き(傾き)を調節できるように構成されている。これにより、塗装装置WD4Bは、作業対象OB1の任意の部分を効率よく塗装することができる。塗装装置WD4Bは、たとえば、作業対象OB1において、研磨装置WD4Aによって研磨された部分を塗装することにより、研磨された部分にマーキングを行うことができる。マーキングが行われることで、ユーザが研磨された位置を認識しやすくなる。また、塗装装置WD4Bは、作業対象OB1の外形に沿って移動することにより、作業対象OB1の任意の部分を塗装することができる。なお、塗装装置WD4Bの用途は、マーキングに限定されない。また、塗装装置WD4Bによって行われるマーキングは、研磨された部分の特定を行う目的に限定されず、作業対象OB1において異常が発生している部分などの点検が必要な部分や、さらなる処理が必要な部位を特定するために用いられてもよい。
【0029】
移動機構WDbは、作業装置本体WDaを移動させる機構である。
図1に示される例では、移動機構WDbは、搬送機構WDcによる作業対象OB1の搬送方向D3および上下方向D4と直交する搬送直交方向D5に作業装置本体WDaを移動させるように構成されている。具体的には、移動機構WDbは、たとえば、搬送機構WDcを搬送直交方向D5に跨ぐように設けられた梁部WD45と、梁部WD45上に搬送直交方向D5に沿って設けられたレールWD46と、レールWD46にガイドされて搬送直交方向D5に沿って移動する移動部WD47と、移動部WD47を搬送直交方向D5に移動させる駆動部(図示せず)とを備えている。移動機構WDbは、ユーザによる操作装置ODの操作に応じて動作することが可能であり、操作装置ODの操作に応じて、移動部WD47の移動量および移動方向を調節できるように構成されている。
【0030】
搬送機構WDcは、作業対象OB1を所定の搬送方向D3に沿って移動させるように構成されている。
図1に示される例では、搬送機構WDcは、作業装置本体WDaに対して図面右側が搬送の上流側とされ、作業装置本体WDaに対して図面左側が搬送の下流側とされている。すなわち、
図1に示される例では、搬送方向D3に沿って図面右側から図面左側へ作業対象OB1が搬送される。より具体的には、搬送機構WDcは、複数の搬送ローラWD48と、各搬送ローラWD48を回転駆動する駆動部(図示せず)とを備えている。複数の搬送ローラWD48は、搬送直交方向D5に沿って延びており、搬送方向D3に沿って並んでいる。各搬送ローラWD48が回転駆動されることにより、搬送ローラWD48上の作業対象OB1を搬送方向D3に沿って搬送することができる。搬送機構WDcは、ユーザによる操作装置ODの操作に応じて動作することが可能であり、操作装置ODの操作に応じて作業対象OB1の移動量を調節できるように構成されている。
【0031】
作業装置WDの周囲には、作業装置WDによって作業される対象OB1(以下、作業対象OB1とも称する)が設けられている。なお、本明細書において、作業装置WDによって作業される作業対象OB1や、作業装置WDの周囲の構造物等、後述するシミュレート部1によって作業装置WDとの間の位置関係がシミュレートされる対象を物体OBと呼ぶ。本実施形態では、物体OBは、作業対象OB1および作業装置WDの周囲に設けられた構造物OB2(たとえば、
図1における梁部WD45など)の両方を含んでいる。しかし、物体OBは、作業対象OB1のみであってもよいし、構造物OB2のみであってもよい。また、物体OBは、1つであってもよいし、複数であってもよい。
【0032】
作業対象OB1は、作業装置WDによって作業が行われる対象であれば特に限定されない。
図1に示される例では、作業対象OB1は、研磨装置WD4Aによって研磨され、塗装装置WD4Bによって塗装される部材である。
図1に示される例では、作業対象OB1は鉄やアルミニウム等の金属板である。また、
図1に示される例では、作業対象OB1は、波形の断面形状を有する板材であるが、作業対象OB1の形状や構造は特に限定されない。作業対象OB1は、表面が凹凸状の部分を有するように設けられた物体、構造物であってもよいし、表面が略平坦な物体、構造物であってもよいし、作業対象の表面に凹凸を構成する部分が付着したり、堆積したりすることで、局所的に凹凸が形成される物体、構造物であってもよい。
【0033】
構造物OB2は、作業対象OB1以外の、作業装置WDの周囲の構造物であれば、特に限定されないが、たとえば、作業装置WDが作業対象OB1に対して作業を行う際に、作業装置WDが干渉するなど、作業の障害となり得る物体(障害物)である。なお、構造物OB2は、作業装置WDを含んでいてもよい。構造物OB2は、
図1に示される例では、作業装置WDのうちのアーム部WD2以外の部材である。すなわち、構造物OB2は、たとえば、作業装置WDが作業対象OB1に対して作業を行う際に、アーム部WD2が、作業装置WDのうちのアーム部WD2が干渉する可能性のある部材である。具体的には、構造物OB2は、たとえば、移動機構WDb、搬送機構WDc、および測定装置WDd等である。
【0034】
作業装置WDが行う作業の内容は、ツール部WD3の移動を伴う作業であれば特に限定されないが、
図1に示される例では、作業対象OB1に沿ってツール部WD3のツール本体WD4を移動させることを伴う作業である。より具体的には、
図1に示される例では、作業装置WDが行う作業の内容は、作業対象OB1の表面を、ツール本体WD4の移動によって研磨したり(必要に応じて上述の凸部を除去したり)、ツール本体WD4の移動によって作業対象OB1の表面を塗装する(たとえば、研磨された部位をマーキングする)等の作業である。なお、作業装置の作業は、本実施形態では、作業装置が作業対象に接触した状態での作業(たとえば研磨作業)であってもよいし、作業対象(作業対象の表面)に対して、所定の距離で離間して行われる作業(たとえば塗料等の液体の噴霧による塗装作業、光の照射等)であってもよい。ツール部WD3の形態は、作業の種類に応じて変更可能である。
【0035】
作業システムWSは、
図1および
図2に示されるように、ユーザによる操作に応じて作業を行う作業装置WDと、作業装置WDに対して作業される対象であるか、または作業装置WDの周囲の構造物である物体OBとの間の位置関係をシミュレートするシミュレート部1と、シミュレート部1によりシミュレートされた位置関係に応じて、作業装置WDの動作を制御する動作制御部2とを備えている。なお、本実施形態では、シミュレート部1と動作制御部2とは、概略的に別々に示されているが、シミュレート部1と動作制御部2とは、同一の装置に設けられていてもよいし、別々の装置に設けられていてもよい。また、シミュレート部1と動作制御部2とは、1つの制御部の異なる機能として実現されていてもよい。
【0036】
シミュレート部1は、作業装置WDが動作制御部2によって動作する前に、作業装置WDと物体OBとの間の位置関係をシミュレートする。より具体的には、シミュレート部1は、後述するように、操作装置ODに対して任意の操作入力をされた場合に、操作装置ODに対する当該操作入力に基づいて、そのまま作業装置WDを動作させるか、作業装置WDを停止させるか、作業装置WDに異なる動作をさせるかを判定する。本明細書において、「作業装置WDと物体OBとの位置関係」は、作業装置WDと物体OBとの間の現実空間RSにおける三次元的な位置関係をいう。より具体的には、「作業装置WDと物体OBとの位置関係」は、作業装置WDと物体OBとの間の間隔、作業装置WDが物体OBに対してどの方向に設けられているか、作業装置WDが物体OBに対して接触しているか否か、および、作業装置WDが物体OBに対して所定の範囲(距離)内に入っているか否か、のうちのいずれか1つまたは複数とすることができる。
【0037】
シミュレート部1は、本実施形態では、
図1および
図2に示されるように、操作装置ODおよび動作制御部2と通信可能に接続されている。シミュレート部1は、操作装置ODに入力されたユーザの操作の内容を示す操作情報に対応する動作指令を操作装置ODから受信し、動作指令に対応する内容(本実施形態では、操作情報に対応する動作の内容)のシミュレーションを行うように構成されている。より具体的には、シミュレート部1は、記憶部(図示せず)に記憶された作業装置WDの外形(形状および大きさ)に対応する仮想作業装置VDの外形情報と、上記記憶部に記憶された物体の外形(形状および大きさ)に対応する仮想物体VBの外形情報と、ある時点における互いに対する相対位置情報と、上述した動作指令の内容(本実施形態では、操作情報、操作に対応する作業装置WDの構成要素の動き、または、当該構成要素の動きを実現するためのパラメータの値)とに基づくコンピュータシミュレーション(現実空間RSを模した仮想空間VSにおけるコンピュータシミュレーション)によって、上述の位置関係をシミュレートする。
【0038】
シミュレート部1は、仮想空間VSにおいて、動作指令に対応する内容で仮想作業装置VDを動作させる。シミュレート部1は、仮想作業装置VDを動作させる際に、動作指令を外部(
図1に示される例では、操作装置OD)から受信し、受信した動作指令に基づいて、仮想作業装置VDの構成要素と仮想物体VBとの間の位置関係を判定する。本実施形態では、シミュレート部1は、動作指令を生成せず、外部(
図1に示される例では操作装置OD)から取得する。すなわち、シミュレート部1では、仮想作業装置VDの仮想空間VSにおける動作のための動作情報である動作指令を演算することはなく、受信した演算・変換済みの動作指令に基づいて仮想作業装置VDの構成要素の座標計算を行い、上記相対位置情報を算出する。したがって、シミュレート部1における演算・変換時間が不要となり、高速シミュレーションが可能となる。また、仮想作業装置VD(
図4参照)は、作業装置WDのツール本体WD4に対応する第1の部分VD6と、作業装置WDのツール本体WD4以外の部分に対応する第2の部分VD7とを含む。また、仮想物体VBは、作業対象OB1に対応する仮想作業対象VB1と、構造物OB2に対応する仮想構造物VB2とを含む。シミュレート部1は、シミュレーションの結果を動作制御部2へ通知することができる。シミュレート部1は、たとえば、一般的にコンピュータに搭載される公知の中央演算処理装置(CPU)などを用いて構成することができる。
【0039】
シミュレート部1は、
図3に示されるように、操作入力部3および出力部4と通信可能に接続されていてもよい。操作入力部3は、シミュレート部1を動作させるためのユーザによる操作入力を受け付け、ユーザによる操作入力の内容をシミュレート部1へ送信する。作業システムWSは、操作入力部3を備えることで、ユーザの入力に応答して、シミュレート部1によるシミュレーションを実行し、またシミュレート部1によるシミュレーションの条件等を変更することができる。操作入力部3は、キーボードやマウス、コントローラーなどの公知の入力手段により具現化することができる。出力部4は、シミュレート部1によるシミュレーションの結果を出力するように構成されている。シミュレート部1は、出力部4を通じて、ユーザにシミュレーションの結果を通知することができる。出力部4は、ディスプレイ、プリンタ、スピーカーなどの公知のデータ出力手段により具現化することができる。なお、シミュレート部1によるシミュレーション情報は、出力部4に出力されなくてもよい。
【0040】
シミュレート部1は、
図3および
図4に示されるように、作業装置WDの外形WD6(
図1参照)に対応した仮想作業装置VDと、物体OBの外形OB5(
図1参照)に対応した仮想物体VBとが、作業装置WDおよび物体OBの各々の外形および位置に対応するように配置された仮想空間VSにおいて、仮想作業装置VDを動作可能である。本明細書において、「作業装置WDの外形WD6に対応した仮想作業装置VD」とは、現実の物体である作業装置WDに対応する仮想の物体である。同様に、「物体OBの外形OB5に対応した仮想物体VB」とは、現実の物体である物体OBに対応する仮想の物体である。また、「作業装置WDおよび物体OBの各々の外形に対応する」は、作業装置WDおよび物体OBの各々の外形に対して相似形であること、および、作業装置WDおよび物体OBの各々の外形を簡略化した形状であることを含む概念である。また、「作業装置WDおよび物体OBの各々の位置に対応する」は、作業装置WDおよび仮想物体OBの位置関係と、仮想作業装置VDおよび仮想物体VBの位置関係とが、現実空間RSに対する仮想空間VSの縮尺を考慮した上で同じであることを意味する。シミュレート部1は、ユーザの操作に対応する動作を、仮想空間VSにおいて仮想作業装置VDに行わせることができる。
図3に示される例では、出力部4であるディスプレイの画面に、仮想作業装置VDおよび仮想物体VBが、作業装置WDおよび物体OBの各々の外形および位置に対応するように配置された仮想空間VSが表示されている。上述した仮想作業装置VDおよび仮想物体VBの外形情報(形状および大きさ)、互いに対する仮想空間VSにおける位置情報は、予め記憶部(図示せず)に記憶されており、現実の作業装置WDが動作すると、仮想作業装置VDの位置情報が更新されて記憶される。また、現実の作業対象OB1が移動すると、仮想作業対象VB1の位置情報が更新されて記憶部に記憶される。現実の作業対象OB1の移動による位置情報は、測定装置WDdにより所定の時間間隔(たとえば、1~10ミリ秒以内)で取得され、新しい位置情報が取得される毎に、仮想作業対象VB1の位置情報が更新されて記憶される。
【0041】
シミュレート部1は、作業装置WDに動作指令がなされた際に動作指令を受信し、動作指令に並行して、仮想空間VSにおいて、動作指令に対応する内容で仮想作業装置VDを動作させて、仮想作業装置VDと仮想物体VBとの間の位置関係を所定の時間間隔Tで判定する。本実施形態では、シミュレート部1は、作業装置WDがユーザによって任意の操作がされたときに、当該任意の操作に並行して、仮想空間VSにおいて、当該任意の操作に対応して仮想作業装置VDを動作させて、仮想作業装置VDと仮想物体VBとの間の位置関係を所定の時間間隔Tで判定する。
【0042】
「動作指令に並行して」とは、作業装置WDを動作させるための動作指令をシミュレート部1が受信したとき(本実施形態では、操作装置ODから動作指令を受信したとき)に、仮想作業装置VDの動作が、操作装置ODからの動作指令に追従して行われることを意味する。言い換えると、仮想作業装置VDの動作(および位置関係の判定)は、動作指令とほぼ同時並行して、つまり同期して、リアルタイムに行われ得る。また、「任意の操作に並行して」とは、作業装置WDを動作させるための任意の操作が行われたときに、仮想作業装置VDの動作が、ユーザの操作に追従して行われることを意味する。言い換えると、仮想作業装置VDの動作(および位置関係の判定)は、ユーザの操作とほぼ同時並行して、つまり同期して、リアルタイムに行われ得る。本実施形態では、ユーザの操作に対応する仮想作業装置VDの動作は、操作の直後(たとえば、1~10ミリ秒以内)に仮想空間VSにおいて開始される。このようにユーザの操作に並行して仮想作業装置VDを動作させることにより、ユーザの操作が仮想作業装置VDの動作に速やかに反映される。したがって、シミュレート部1による仮想作業装置VDと仮想物体VBとの間の位置関係が瞬時に判定され、当該シミュレート部1によって判定された位置関係に基づいて、動作制御部2による作業装置WDの動作を、短いタイムラグで実行させることができる。
【0043】
また、「位置関係を所定の時間間隔Tで判定する」とは、位置関係の判定を所定の時間間隔Tで複数回繰り返し行うという意味である。したがって、たとえば、作業装置WDに対してある一定の時間(たとえば10秒)操作がされ続けた場合に、所定の時間間隔T(たとえば1~10ミリ秒以内)毎に分けて、仮想作業装置VDと仮想物体VBとの間の位置関係が複数回判定される。当該時間間隔T毎に、仮想作業装置VDと仮想物体VBとの位置関係が仮想空間VSにおいて判定されて、そのまま動作しても干渉等の問題がない場合には、動作制御部2によって、作業空間の作業装置WDが動作される一方、シミュレート部1において、作業装置WDを停止させるべき、または作業装置WDに異なる動作をさせるべきと判定された場合には、判定にしたがって、作業装置WDを停止させ、または作業装置WDに異なる動作をさせる制御が行われる。なお、「所定の時間間隔T」は、特に限定されるものではないが、人が操作する際に、遅延などを感じないような時間であり、たとえば、1~10ミリ秒以内である。
【0044】
図5~
図7に示されるように、仮想作業装置VDは、作業装置WDの外形および大きさに対応した本体部VD1と、本体部VD1の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層VD2とを有していてもよい。さらに、本実施形態では、シミュレート部1は、
図6および
図7に示されるように、位置関係判定層VD2と仮想物体VBとの間の位置関係を判定することによって、作業装置WDと物体OBとの間の位置関係を判定するように構成されていてもよい。仮想作業装置VDが位置関係判定層VD2を有し、シミュレート部1が位置関係判定層VD2と仮想物体VBとの間の位置関係を判定することによって、作業装置WDと物体OBとの間の位置関係を判定することにより、たとえば、後述するように、位置関係判定層VD2と仮想物体VBとが接触すると判定された場合(
図7参照)であっても、本体部VD1と仮想物体VBとは接触していないため、現実空間RSでの作業装置WDと物体OBとの干渉を確実に防止することができる。
【0045】
なお、位置関係判定層VD2は、
図6においては、仮想作業装置VDの表面から実質的に均等な厚さで設けられているが、
図7に示されるように、局所的に厚さが変更されていてもよい。より具体的には、位置関係判定層VD2は、仮想作業装置VDのうち、作業装置WDの剛性が高い部分に対応する第1部分は一定の厚さで形成され、ケーブル等、作業装置WDの動作に応じて位置が変化する柔軟な部分に対応する第2部分は、第1部分よりも厚く形成されていてもよい。この場合、作業装置WDの一部に動きの変化が読みにくい部分があっても、作業装置WDと物体OBとが接触することが抑制され、ケーブル等の部分が構造体OB2などに引っかかったりする等の干渉が抑制される。また、仮想作業装置VDの動作速度の変化に応じて、位置関係判定層VD2の層厚を変更してもよい。たとえば、仮想作業装置VDの動作速度が大きくなるにつれて、位置関係判定層VD2の層厚を大きくし、仮想作業装置VDの動作速度が小さくなるにつれて、位置関係判定層VD2の層厚を小さくするようにしてもよい。この場合、たとえば、作業装置WDの動作速度がユーザの操作速度に比例するような構成において、ユーザの操作速度が大きい場合であっても、層厚の大きい位置関係判定層VD2によって、作業装置WDと物体OBとの接触をより確実に抑制することができる。
【0046】
なお、仮想作業装置VDは、作業装置WDの外形および大きさに対応した本体部VD1を備えていて、位置関係判定層VD2を備えていない構成であってもよい。この場合には、シミュレート部1は、本体部VD1と仮想物体VBとの間の位置関係を判定することによって、作業装置WDと物体OBとの間の位置関係を判定するように構成される。この場合であっても、シミュレート部1は、現実空間RSでの作業装置WDと物体OBの接触前に、シミュレーションによる判定を行うので、現実空間RSでの作業装置WDと物体OBとの干渉を防止することができる。
【0047】
本実施形態では、作業装置WDが事前にティーチングされておらず、自由な軌跡で動作可能に構成されていても、現実空間RSでの作業装置WDと物体OBとの干渉を回避することができる。また、現実空間RSでの作業装置WDと物体OBとの間の間隔を確保しながら、作業装置WDを物体OBの表面に沿って移動させることによる作業を行うことができる。すなわち、現実空間RSでの作業装置WDと物体OBとの間に所定の間隔を確保しながら、作業装置WDを物体OBの表面に沿って移動させる倣い制御を行うことができる。この場合、現実空間RSでの作業装置WDと物体OBとの間の間隔は、一定であってもよいし、一定でなくてもよい。また、作業装置WDが事前にティーチングされておらず、自由な軌跡で動作可能に構成されていても、現実空間RSでの作業装置WDと物体OBとの間に所定の間隔を確保しながら、作業装置WDを物体OBの表面に沿って移動させる倣い制御を行うことができる。したがって、作業装置WDがユーザからの任意の操作によって想定外の軌跡で動作する可能性があっても、作業装置WDの動作を適切に制御することができる。
【0048】
より具体的には、作業装置WD(本実施形態ではロボット)に対する動作制御が行われる前に仮想空間でシミュレーションが実施され、作業装置WDのアーム部WD2が干渉していないことが確認されてから作業装置WDへ動作制御が行われる(たとえば1~10ミリ秒以内)ことで、高速且つ、自由度の高い干渉防止機能を実現することができる。また、本実施形態では、シミュレーション部1は、動作指令を演算および変換するための処理が不要となるので、座標計算(たとえば位置関係の演算)のみを行えばよいため、演算の負荷が少なくて済む。このため、動作制御部2は、ユーザの操作に速やかに応答して速やかに作業装置WDに作業を行わせることができる。
【0049】
また、本実施形態では、仮想空間VSにおいて現実空間RS内の物体OBおよび作業装置WDの各々に合致した3Dモデルを生成して、ツール部WD3の先端と物体OBの3Dモデルとが接触するような軌道を仮想空間VS内シミュレーションして取得し、取得した軌道(位置情報)で動作するように作業装置WDを制御することで、滑らかな軌道変更を実現することができる。
【0050】
なお、本実施形態では、変形例として、仮想作業装置VDではなく、仮想物体VBが、物体OBの外形および大きさに対応した本体部と、本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有していてもよい。さらに、シミュレート部1は、仮想物体VBの位置関係判定層と仮想作業装置VDとの間の位置関係を判定することによって、作業装置WDと物体OBとの間の位置関係を判定するように構成されていてもよい。このように、仮想物体VBが位置関係判定層を有する場合においても、仮想作業装置VDが位置関係判定層VD2を有する場合と同様に、たとえば、現実空間RSでの作業装置WDと物体OBとの干渉を確実に防止することができる。
【0051】
また、本実施形態では、シミュレート部1は、仮想作業装置VDの動作中および/または動作後の仮想作業装置VDの第1の部分VD6(本実施形態ではツール本体WD4に対応する部分)と仮想物体VB(本実施形態では物体OBに対応する部分)との距離が所定の範囲内であるかどうかを判定するように構成されていてもよい。「仮想作業装置VDの第1の部分VD6と仮想物体VBとの距離」は、特に限定されるものではないが、たとえば、
図8に示されるように、仮想作業装置VDの第1の部分VD6と仮想物体VBとが接触している状態に対応する値(すなわち、第1の部分VD6と仮想物体VBとの間の距離が0)であってもよいし、
図10に示されるように、わずかに離間した状態に対応する値(当該値が所定の数値以下)であってもよいし、所定以上離間した状態に対応する値(当該値が所定の値以上)であってもよい。
【0052】
図8に示される例では、作業対象OB1に対応する、仮想作業対象VB1(上述の不要な凸部に対応する仮想凸部VB11を含む)の表面と、仮想作業装置VDの第1部分VD6(具体的には、研磨装置WD4Aに対応する仮想研磨装置VD4A)とが接触している。
図10に示される例では、作業対象OB1に対応する仮想作業対象VB1の表面と、仮想作業装置VDの第1部分VD6(具体的には、塗装装置WD4Bに対応する仮想塗装装置VD4B)とが所定の距離だけ離間した状態にある。
図10に示される例では、仮想塗装装置VD4Bから、塗料等の液体PAを噴射することにより、仮想作業対象VB1の研磨された部分に塗膜CMが形成される。
【0053】
さらに、第1の部分VD6と仮想物体VBとの距離が所定の範囲内であると判断された場合、シミュレート部1は、
図9に示されるように、動作指令(本実施形態ではユーザによる操作に対応した作業装置WDの動作を実現するための、作業装置WDの構成要素の動作情報)に対応する第1の部分VD6の移動方向D1を仮想物体VBの外形に基づいて補正(軌道修正)することによって、第1の部分VD6を仮想物体VBの表面に沿って移動させる(
図8および
図9参照)ための第1の部分VD6の移動方向D2を求め、動作制御部2は、求められた移動方向D2に第1の部分VD6を移動させるように構成されていてもよい。
【0054】
第1の部分VD6は、仮想物体VBに接触しながら、または仮想物体VBに対して一定の間隔を保ちながら仮想物体VBの表面に沿って移動することによって、仮想物体VBに対して作業を行うものであれば特に限定されない。たとえば、シミュレート部1は、記憶部(図示せず)に記憶された仮想物体VBの外形情報と、操作装置ODから受信した動作指令(具体的には、第1の部分VD6の移動方向D1に対応する移動ベクトルF1)と、仮想作業装置VDと仮想物体VBとの間の位置関係情報とに基づいて、第1の部分VD6の移動方向D1を軌道修正する。すなわち、第1の部分VD6が仮想物体VBに接触するまでは、入力された操作情報に基づく移動方向D1に第1の部分VD6を移動させ、第1の部分VD6が仮想物体VBに接触したと判断された場合に、第1の部分VD6を仮想物体VBの表面形状に沿って軌道修正する。
【0055】
より具体的には、
図9に示される例では、第1の部分VD6の移動方向D1に対応する移動ベクトルF1と、移動方向D1に第1の部分VD6を移動させて第1の部分VD6が仮想物体VBに衝突したときの衝突点P1を起点とする法線ベクトルNとに基づいて、移動ベクトルF1を補正することができる。この補正により、補正後の移動ベクトルF2が求められる。より具体的には、衝突点P1に移動ベクトルF1の終点を一致させた状態で、移動ベクトルF1の始点から、衝突点P1における仮想物体VBの表面と平行な直線を引き、当該直線と法線ベクトルNとの交点P2を求める。移動ベクトルF1の始点から交点P2へ延びるベクトルが、補正後の移動ベクトルF2である。また、補正後の移動ベクトルF2が延びる方向が、第1の部分VD6を仮想物体VBの表面に沿って移動させるための第1の部分VD6の補正後の移動方向D2である。また、移動ベクトルF1と法線ベクトルNとの内積a(=F1・N)を求め、移動ベクトルF1と、法線ベクトルNに内積aを掛け合わせたベクトル(aN)との和(F1+aN)を求めることにより、補正後の移動ベクトルF2(=F1+aN)を求めることができる。シミュレート部1は、補正後の移動ベクトルF2を所定の時間間隔毎に求める。求めた移動ベクトルF2で第1の部分VD6を移動させることにより、第1の部分VD6を、仮想作業対象VB1の表面に接触させながら、当該表面に沿って移動させることができる。
【0056】
動作制御部2は、シミュレート部1が求めた補正後の移動ベクトルF2に対応する方向にツール部WD3を移動させることにより、ツール部WD3を作業対象OB1の表面(上述の凸部OB11を含む)および/または当該表面に付着した付着物に接触させながら、当該表面に沿って移動させることができる。これにより、ツール部WD3は、作業対象OB1の表面を研磨し、不要な凸部OB11および/または作業対象OB1の表面に付着した付着物を除去することができる。なお、仮想物体VBの表面は、曲面であってもよいし、平面であってもよい。表面が曲面である場合(
図8参照)であっても、または平面である場合であっても、ユーザの操作による第1の部分VD6の移動方向D1が仮想作業対象VB1の表面に向かう方向の成分を含んでいれば、シミュレート部1は、
図9に示されるような軌道修正によって補正後の移動ベクトルF2を求めることができる。したがって、ユーザは、仮想作業対象VB1の表面に向かう成分と、当該表面に沿う成分とを含む大まかな操作をするだけで、ツール部WD3を作業対象OB1の表面に接触させながら、当該表面に沿って移動させることができる。なお、第1の部分VD6に位置関係判定層VD2が設けられている場合には、シミュレート部1は、仮想作業装置VDと仮想物体VBとの間の位置関係情報に代えて、位置関係判定層VD2と仮想物体VBとの間の位置関係情報を用いて、移動ベクトルF1を補正してもよい。この場合、ユーザは、仮想作業対象VB1の表面に向かう成分と、当該表面に沿う成分とを含む大まかな操作をするだけで、ツール部WD3と作業対象OB1の表面との間に間隔を確保しながら、ツール部WD3を作業対象OB1の表面に沿って移動させることができる。
【0057】
本実施形態では、上述した、作業装置WDのツール部WD3が物体OBに対して一定の間隔を保ちながら、または、物体OBに対して接触しながら作業を行うことを可能にするシミュレーション(倣い制御を行うためのシミュレーション)、および、作業装置WDが物体OBに干渉するのを防止することを可能にするシミュレーション(干渉防止制御を行うためのシミュレーション)、のいずれか一方を行ってもよいし、双方を行ってもよい。
図11に示されるフローチャートには、双方のシミュレーションが行われる場合の手順が記載されている。
図11に示される例では、まず、シミュレート部1が、ユーザによって行われた操作装置ODへの操作に対応した作業装置WDの動作を実現するための、作業装置WDの構成要素の動作情報(動作指令)を受信する(ステップS1)。シミュレート部1は、受信した動作指令に対応する動作を仮想作業装置VDに行わせるシミュレーションを行う。具体的には、シミュレート部1は、第1の部分VD6および第2の部分VB7のうち第1の部分VD6のみを仮想空間VSにおいて動作指令に対応する位置へ移動させる(ステップS2)。シミュレート部1は、第1の部分VD6が仮想物体VBのうち、作業装置WDの作業対象OB1に対応する仮想作業対象VB1に接触したか否かを判定する(ステップS3)。接触していないと判定した場合は、シミュレート部1は、ステップS2における第1の部分VD6の移動に合わせて第2の部分VD7を移動させる(ステップS4)。シミュレート部1は、第2の部分VD7が仮想物体VBのうち、作業装置WDの構造物OB2に対応する仮想構造物VB2に接触したか否かを判定する(ステップS5)。接触していないと判断した場合には、動作制御部2は、第1の部分VD6および第2の部分VD7の位置に対応する位置へ作業装置WDの対応する部分を移動させる(ステップS6)。ステップS3において接触したと判断した場合には、シミュレート部1は、第1の部分VD6を仮想物体VBのうち物体OBの作業対象OB1に対応する仮想作業対象VB1に接触させながら、仮想作業対象VB1に沿って移動させ、その後、ステップS4へ移行する(ステップS7)。ステップS5において第2の部分VD7と仮想構造物VB2とが接触したと判断するか、または第2の部分VD7と仮想構造物VB2との間隔が所定の距離以下であると判断した場合には、動作制御部2は、それ以降の動作指令を無効にする。すなわち、動作制御部2は、それ以降のユーザからの操作を無効にする(ステップS8)。ステップS1~S7の処理は、所定時間毎に繰り返し行われる。
【0058】
これにより、現実空間RSにおいて、ユーザによる任意の操作に伴って作業装置WDが想定外の動作を行う可能性があっても、作業装置WDと構造物OB2との実際の接触を未然に防ぐことができる。したがって、ユーザは、作業装置WDと構造物OB2との干渉防止に留意することなく、作業装置WDを安心して自由に操作することができる。特に、ユーザが作業装置ODの操作によって作業装置WDの動作を視認しながら作業装置WDを遠隔操作する場合、従来は、作業装置WDと物体OBとの位置関係を遠方から細かく確認しながら行う必要があり、ユーザに大きな負担を強いる可能性があったが、本実施形態に係る作業システムWSでは、大まかな操作であっても作業装置WDの動作を適切に制御することができるため、ユーザの負担を軽減しながら、設備の保護および作業装置WDの高度な軌道操作を行うことができる。また、シミュレート部1が、仮想空間VSにおいて第2の部分VD7と仮想物体VB(仮想構造物VB2)とが接触したか、または第2の部分VD7と仮想物体VBとの間隔が所定の距離以下であると判断した場合に、動作制御部2が以後の動作指令を無効にすることにより、ユーザが操作をしてもその操作は作業装置WDの動作に反映されず、作業装置WDはたとえば強制停止されるので、作業装置WDの物体OBへの干渉をより確実に防止することができる。ステップS1~S7の処理が所定時間毎に繰り返し行われることにより、ユーザによる操作に並行してシミュレーションおよび作業装置WDの動作を行わせることができる。
【0059】
なお、
図5に示される例では、位置関係判定層VD2(
図5においてハッチングで示された部分)は、仮想作業装置VDの全体に所定の厚さで設けられたものを例示したが、これに限定されるものではない。たとえば、
図12に示される変形例では、位置関係判定層VD2は、仮想作業装置VDの第1の部分VD6に対して所定の層厚を有するように設けられている。具体的には、仮想作業装置VDの第1の部分VD6は、作業装置WDの作業対象OB1に対応する仮想作業対象VB1に対して作業を行う部分である。位置関係判定層VD2を設けることにより、仮想作業対象VB1に対して作業を行う部分である第1の部分VD6と、仮想作業対象VB1との間の間隔を隔てた状態を維持しながら、仮想作業対象VB1に対して作業を行うシミュレーションを行うことができる。このシミュレーションの内容に対応する制御を動作制御部2が実行することにより、作業装置WDのツール本体WDは、作業対象OB1との間の間隔を隔てた状態を維持しながら、作業対象OB1に対して作業を行うことができる。たとえば、
図12に示される例では、第1の部分VD6は、塗装装置WD4Bのノズルに対応する部分である。この場合、塗装装置WD4Bを作業対象OB1に対して所定の間隔を隔てた状態に維持しながら、作業対象OB1に対して液体PAの吹き付け作業(塗装作業)を行うことができる。
【0060】
図12に示される変形例では、シミュレート部1は、位置関係判定層VD2と仮想物体VB(具体的には仮想作業対象VB1)との間の位置関係(たとえば距離、および/または、接触の有無)を判定する。これにより、第1の部分VD6が仮想物体VBに対して適切な位置に位置付けられているかなど、第1の部分VD6と仮想物体VBとの間の位置関係が判定される。さらに、シミュレート部1は、位置関係判定層VD2と仮想物体VBとの間の位置関係を判定することによって、第1の部分VD6と仮想物体VBとの間の位置関係を判定するように構成されている。シミュレート部1のこの判定によって、作業装置WDが作業対象OB1に対して所定の間隔を隔てた状態に維持される。さらに、動作制御部2は、シミュレート部1による判定結果に基づいて、第1の部分VD6を仮想物体VBの表面に沿って移動させるための第1の部分VD6の移動方向を求め、求めた移動方向に第1の部分VD6を移動させるように構成されている。この場合、動作制御部2がシミュレーションの内容と同様の動作を現実空間RSの作業装置WDに行わせることで、作業装置WDが作業対象OB1に対して所定の間隔を隔てた状態で、作業対象OB1の表面に対して移動させながら、所定の作業(たとえば液体PAの吹き付けなど)を行うことができる。なお、仮想作業装置VDと仮想物体VBとの間隔を保ちながら、仮想作業装置VDを仮想物体VBの表面に沿って移動させるシミュレーションが行われる分野は、塗料等の液体の吹き付けに限定されるものではなく、たとえば、レーザ光等の光を作業対象に対して照射する作業を行う分野等に適用されてもよい。なお、シミュレート部1は、位置関係判定層VD2と仮想物体VBとが接触したときに、第1の部分VD6が仮想物体VBに対して適切な位置に位置していると判定してもよいし、位置関係判定層VD2と仮想物体VBとの重なりの面積が所定の範囲内にあるときに、第1の部分VD6が仮想物体VBに対して適切な位置に位置していると判定してもよいし、位置関係判定層VD2と仮想物体VBとの間隔が所定の範囲内にあるときに、第1の部分VD6が仮想物体VBに対して適切な位置に位置していると判定してもよい。
【0061】
なお、
図12に示される変形例では、位置関係判定層VD2は、第1の部分VD2に径方向中心が位置する扇形状に形成されている。さらに、位置関係判定層VD2の層厚は、位置関係判定層VD2における扇形の径方向長さに対応する厚さである。この場合、仮想作業装置VDの第1の部分VD6と仮想物体VB(具体的には仮想作業対象VB1)との間隔を一定に保ちながら、作業を行うことが容易となる。たとえば、第1の部分VD6が仮想物体VBに対して液体PAを吹き付ける向きを変更しながら作業を行う場合には、位置関係判定層VD2における扇形の円弧の部分と仮想物体VBとが接触した状態を維持することにより、第1の部分VD6と仮想物体VBとの間隔を一定に保ちながら、第1の部分VD6から仮想物体VBに液体を吹き付ける向きを変更することができる。また、位置関係判定層VD2における扇形の円弧の部分と仮想物体VBとの重なりの面積が所定の範囲内にある状態を維持したり、位置関係判定層VD2における扇形の円弧の部分と仮想物体VBとの間隔が所定の範囲内にある状態を維持することによっても、同様の効果を奏することができる。
【0062】
以上、本実施形態に係る作業システムWSの一例について説明したが、本実施形態に係る作業システムWSは、
図1~
図12に示したものに限定されない。作業システムWSは、たとえば、
図13に示されるように、溝状の凹部に溜まっている薬液等の液体や、汚泥等の堆積物を除去する装置に適用することもできる。また、
図1~
図12に関して説明した事項は、
図13~
図16に示される態様に適用することができ、逆に、
図13~
図16に関して説明した事項は、
図1~
図12に示される態様に適用することができる。以下、
図1~
図12において説明した事項については一部省略し、相違点を中心に説明する。
【0063】
図13に示される作業装置WDは、台座部WD1と、複数の関節を有し、台座部WD1に回転駆動可能に固定されたアーム部WD2と、アーム部WD2の先端部に設けられたツール部WD3とを備えている。ツール部WD3は、作業対象に対して作業を行う工具または工作機械等に相当する部分である。
図13に示される例では、ツール部WD3は、作業対象に接近して作業に直接関与するツール本体WD4と、ツール本体WD4とアーム部WD2との間に介在するように設けられた柄部WD5とを備えている。
【0064】
ツール本体WD4は、作業対象OB1に対して、作業装置WDにより行われる作業の種類に応じた動作を行う部分である。
図13に示される例では、ツール本体WD4は、作業対象OB1の一例である後述の流路部材の流路の壁面(たとえば、側面、底面など)に積層および/または堆積された不要物を除去する部材である。ツール本体WD4は、流路の壁面に当接した状態または当該壁面から所定の間隔を隔てた状態で、当該壁面に沿って移動することにより、不要物を掻き取ったり、掬い取ったりできるように構成されている。
図13に示される例では、ツール本体WD4は、不要物を掻き取ったり、掬い取ったりすることが可能な形状、たとえば、不要物を掻き取るエッジおよび不要物が入る凹部を有するスコップ状等に形成されている。柄部WD5は、アーム部WD2の先端部に取り付けられる棒状部分である。なお、ツール部WD3は、柄部WD5を備えていなくてもよい。
図13に示される作業装置WDは、作業対象OB1の表面にツール本体WD4を当接させた状態またはツール本体WD4が当該表面から所定の間隔を隔てた状態で、ツール本体WD4を当該壁面に沿って移動させることにより、不要物を掻き取ったり、掬い取ったりして除去することができる。
【0065】
作業対象OB1は、
図13に示される例では、汚水等の流体を流すことができる流路OB3を有する流路部材である。流路OB3は、
図13に示されるように上側が開放された開放流路であってもよいし、上側が閉じた管路(図示せず)であってもよい。
【0066】
構造物OB2は、
図13に示される例では、作業装置WDと作業対象OB1との間に介在する構造物(作業装置WD等が設置された床を含む)である。ユーザが操作装置ODにおいて任意の操作を行うことにより、当該操作に対応するツール部WD3およびアーム部WD2の動作が、想定外の軌道を描く動作となり、その結果、ツール部WD3および/またはアーム部WD2が構造物OB2に干渉する可能性がある。
【0067】
図13に示される例では、作業装置WDが行う作業の内容は、作業対象OB1の表面(流路OB3の壁面)に付着した不要物、たとえば汚水の堆積物(汚泥)などを、ツール本体WD4の移動によって掻き取ったり、掬い取ったりする作業である。なお、作業装置の作業は、本実施形態では、作業装置が作業対象に接触した状態での作業であるが、作業対象(作業対象の表面)に対して、所定の距離で離間して行われる作業(たとえば、液体の噴霧、光の照射等)であってもよい。ツール部WD3の形態は、作業の種類に応じて変更可能である。
【0068】
図13に示される態様においても、シミュレート部1は、作業装置WDが物体OBに対して一定の間隔を保ちながら、または、物体OBに接触しながら作業を行うことを可能にするシミュレーション(倣い制御を行うためのシミュレーション)、および、作業装置WDが物体OBに干渉するのを防止することを可能にするシミュレーション(干渉防止制御を行うためのシミュレーション)、のいずれか一方を行ってもよいし、双方を行ってもよい。シミュレート部1は、作業装置WDが動作制御部2による動作制御が行われる前に、作業装置WDと物体OBとの間の位置関係をシミュレートする。動作制御部2は、シミュレート部1でのシミュレーションの結果に基づいて、干渉防止制御および倣い制御を行う。これにより、ツール本体WD4は、流路OB3の壁面に当接した状態または当該壁面から所定の間隔を隔てた状態で、当該壁面に沿って移動することにより、不要物を掻き取ったり、掬い取ったりすることができる。また、ツール部WD3および/またはアーム部WD2が構造物OB2に干渉するのを防止することができる。
【0069】
なお、
図12に示される例では、位置関係判定層VD2は、第1の部分VD6に径方向中心が位置する扇形状に形成されているが、位置関係判定層VD2の形状はこれに限定されない。
図14および
図15に示される変形例では、位置関係判定層VD2は、仮想物体VB(具体的には仮想作業対象VB1)の外形に沿った形状を有している。
図14および
図15に示される例では、仮想物体VBの外形は筒状(具体的には円筒状)である。
図14および
図15に示される例では、位置関係判定層VD2は、仮想物体VBの外形の周方向に沿って略円弧状または略U字形状に形成されている。また、
図14および
図15に示される例では、位置関係判定層VD2は、仮想物体VBの軸方向(A方向)に沿って所定の長さを有するとともに、位置関係判定層VD2の全体に亘って所定の層厚を有している。仮想作業装置VDの第1の部分VD6は、位置関係判定層VD2とともに仮想物体VBの軸方向および周方向に沿って移動しながら作業を行う。この場合、位置関係判定層VD2が仮想物体VBの外形に沿った形状を有しているため、仮想作業装置VDの第1の部分VD6と仮想物体VB(具体的には仮想作業対象VB1)との間隔を一定に保ちながら作業を行うことが容易となる。また、仮想作業装置VDがノズルから塗料や水等の液体を吹き付ける装置である場合には、ノズルに相当する第1の部分VD6が仮想物体VBに対して液体PAを吹き付ける向きを一定に保ちながら(たとえば仮想物体VBの外形に対して略垂直な向きを保ちながら)作業を行うことができ、しかも、仮想物体VBに対して液体PAを吹き付ける向きを一定に保つことが容易となる。
【0070】
図5~
図7に示される例では、位置関係判定層VD2は、作業装置WDの外形および大きさに対応した本体部VD1の外側に設けられているが、これに限定されるものではない。
図16に示される例では、位置関係判定層VD2の一部は、作業装置WDの外形および大きさに対応した本体部VD1の内側に設けられている。たとえば、
図16に示される例では、仮想作業装置VDは、作業装置WDの外形および大きさに対応した本体部VD1と、本体部VD1のうち弾性変形可能な第1の部分VD6の外形よりも内側に位置するように仮想的に設けられた位置関係判定層VD2とを有している。さらに、位置関係判定層VD2は、第1の部分VD6が仮想物体VBに押し付けられて変形したときに仮想物体VBと接触可能な位置に設けられている。
図16に示される変形例は、たとえば、第1の部分VD6が、作業装置WDの表面が作業対象OB1に接触したのち、さらに作業対象OB1に向かって移動可能なもの(たとえば、弾性変形可能な毛材を有するブラシなど)に適用できる。位置関係判定層VD2が、作業装置WDの外形および大きさに対応した本体部VD1のうち弾性変形可能な第1の部分VD6の外形よりも内側に位置するように設けられ、位置関係判定層VD2が、第1の部分VD6が仮想物体VB(具体的には仮想作業対象VB1)に押し付けられて変形したときに仮想物体VBと接触可能な位置に設けられていることにより、第1の部分VD6が一定程度に弾性変形した状態を維持するように、第1の部分VD6を作業対象OB1に押し付けながら、作業を行うことができる。したがって、たとえばブラシの毛のように、第1の部分VD6を一定程度に弾性変形するように作業対象OB1に押しつけて作業する必要がある場合に、第1の部分VD6を作業対象OB1に押し付けて作業することができる。
【0071】
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されない。なお、上記した実施形態は、以下の構成を有する発明を主に説明するものである。
【0072】
(1)行わせようとする動作の内容を示す指令である動作指令に応じて作業を行う作業装置と、前記作業装置に対して作業される対象であるか、または前記作業装置の周囲の構造物である物体との間の位置関係をシミュレートするシミュレート部と、
前記シミュレート部によりシミュレートされた位置関係に応じて、前記作業装置の動作を制御する動作制御部と
を備えた作業システムであって、
前記シミュレート部は、前記作業装置の外形に対応した仮想作業装置と、前記物体の外形に対応した仮想物体とが、前記作業装置および前記物体の各々の外形および位置に対応するように配置された仮想空間において、前記仮想作業装置を動作可能であり、
前記シミュレート部は、前記作業装置に前記動作指令がなされた際に、前記動作指令に並行して、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させて、前記仮想作業装置と前記仮想物体との間の位置関係を所定の時間間隔で判定する、作業システム。
【0073】
(2)前記シミュレート部は、判定された前記位置関係に基づいて、前記作業装置と前記物体とが接触するか否かを判定する、(1)に記載の作業システム。
【0074】
(3)前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、
前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されている、(1)または(2)に記載の作業システム。
【0075】
(4)前記仮想物体は、前記物体の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、
前記シミュレート部は、前記位置関係判定層と前記仮想作業装置との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されている、(1)~(3)のいずれか1つに記載の作業システム。
【0076】
(5)前記シミュレート部は、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の第1の部分と前記仮想物体との距離が所定の範囲内であるかどうかを判定し、
前記第1の部分と前記仮想物体との距離が前記所定の範囲内であると判断された場合、前記シミュレート部は、前記動作指令に対応する前記第1の部分の移動方向を前記仮想物体の外形に基づいて補正することによって、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、前記動作制御部は、求められた前記移動方向に前記第1の部分を移動させるように構成されている、(1)~(4)のいずれか1つに記載の作業システム。
【0077】
(6)前記位置関係判定層は、前記仮想作業装置の第1の部分に対して所定の層厚を有するように設けられ、
前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記第1の部分と前記仮想物体との間の位置関係を判定するように構成され、
前記動作制御部は、前記シミュレート部による判定結果に基づいて、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、求めた前記移動方向に前記第1の部分を移動させるように構成されている、(1)~(5)のいずれか1つに記載の作業システム。
【0078】
(7)前記位置関係判定層は、前記第1の部分に径方向中心が位置する扇形状に形成され、
前記位置関係判定層の層厚は、前記位置関係判定層における扇形の径方向長さに対応する厚さであり、
前記シミュレート部は、扇形状の前記位置関係判定層と前記仮想物体との間の位置関係を判定する、(1)~(6)のいずれか1つに記載の作業システム。
【0079】
(8)前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部のうち弾性変形可能な第1の部分の外形よりも内側に位置するように仮想的に設けられた位置関係判定層とを有し、
前記位置関係判定層は、前記第1の部分が前記仮想物体に押し付けられて変形したときに前記仮想物体と接触可能な位置に設けられている、(1)~(7)のいずれか1つに記載の作業システム。
【0080】
(9)前記シミュレート部が、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の第2の部分と前記仮想物体との位置関係の判定によって、前記仮想空間において前記第2の部分と前記仮想物体とが接触したか、または所定の距離以下であると判断した場合、前記動作制御部は、以後の前記動作指令を無効にするように構成されている、(1)~(8)のいずれか1つに記載の作業システム。
【0081】
(10)前記作業装置は、前記作業装置に行わせようとする動作の内容で前記作業装置を動作させるための動作要求に基づいて演算を行い、前記動作要求を前記動作指令に変換するプログラムにより生成された前記動作指令に基づいて動作するように構成され、
前記シミュレート部は、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させる際に、前記動作指令を外部から受信し、受信した動作指令に基づいて、前記仮想作業装置の構成要素と前記仮想物体との間の位置関係を判定する、(1)~(9)のいずれか1つに記載の作業システム。
【符号の説明】
【0082】
1 シミュレート部
2 動作制御部
3 入力部
4 出力部
CM 塗膜
OB 物体
OB1 作業対象
OB2 構造物
OB3 流路
OB5 外形
OD 操作装置
P1 衝突点
PA 液体
RS 現実空間
VB 仮想物体
VB1 仮想作業対象
VB11 仮想凸部
VB2 仮想構造物
VB3 仮想流路
VD 仮想作業装置
VD1 本体部
VD2 位置関係判定層
VD4A 仮想研磨装置
VD4B 仮想塗装装置
VD6 第1の部分
VD7 第2の部分
VS 仮想空間
WS 作業システム
WD 作業装置
WDa 作業装置本体
WDb 移動機構
WDc 搬送機構
WDd 測定装置
WD1 台座部
WD2 アーム部
WD3 ツール部
WD4 ツール本体
WD44 カメラ
WD45 梁部
WD4A 研磨装置
WD4B 塗装装置
WD5 柄部
【手続補正書】
【提出日】2023-12-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
行わせようとする動作の内容を示す指令である操作装置からの動作指令に応じて作業を行う作業装置と、前記作業装置に対して作業される対象であるか、または前記作業装置の周囲の構造物である物体との間の位置関係をシミュレートするシミュレート部と、
前記シミュレート部によりシミュレートされた位置関係に応じて、前記作業装置の動作を制御する動作制御部と
を備えた作業システムであって、
前記シミュレート部は、前記作業装置の外形に対応した仮想作業装置と、前記物体の外形に対応した仮想物体とが、前記作業装置および前記物体の各々の外形および位置に対応するように配置された仮想空間において、前記仮想作業装置を動作可能であり、
前記シミュレート部は、前記作業装置に前記動作指令がなされた際に、前記動作指令に並行して、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させて、前記仮想作業装置と前記仮想物体との間の位置関係を前記動作指令に並行して所定の時間間隔で判定し、
前記動作制御部は、前記シミュレート部による判定の結果に基づいて、前記動作指令に並行して前記作業装置を動作させる、
作業システム。
【請求項2】
前記シミュレート部は、判定された前記位置関係に基づいて、前記作業装置と前記物体とが接触するか否かを判定する、請求項1に記載の作業システム。
【請求項3】
前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、
前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されている、請求項1に記載の作業システム。
【請求項4】
前記仮想物体は、前記物体の外形および大きさに対応した本体部と、前記本体部の外形に対して所定の層厚を有するように仮想的に設けられた位置関係判定層とを有し、
前記シミュレート部は、前記位置関係判定層と前記仮想作業装置との間の位置関係を判定することによって、前記作業装置と前記物体との間の位置関係を判定するように構成されている、請求項1に記載の作業システム。
【請求項5】
前記シミュレート部は、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の第1の部分と前記仮想物体との距離が所定の範囲内であるかどうかを判定し、
前記第1の部分と前記仮想物体との距離が前記所定の範囲内であると判断された場合、前記シミュレート部は、前記動作指令に対応する前記第1の部分の移動方向を前記仮想物体の外形に基づいて補正することによって、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、前記動作制御部は、求められた前記移動方向に前記第1の部分を移動させるように構成されている、請求項1に記載の作業システム。
【請求項6】
前記位置関係判定層は、前記仮想作業装置の第1の部分に対して所定の層厚を有するように設けられ、
前記シミュレート部は、前記位置関係判定層と前記仮想物体との間の位置関係を判定することによって、前記第1の部分と前記仮想物体との間の位置関係を判定するように構成され、
前記動作制御部は、前記シミュレート部による判定結果に基づいて、前記第1の部分を前記仮想物体の表面に沿って移動させるための前記第1の部分の移動方向を求め、求めた前記移動方向に前記第1の部分を移動させるように構成されている、請求項3に記載の作業システム。
【請求項7】
前記位置関係判定層は、前記第1の部分に径方向中心が位置する扇形状に形成され、
前記位置関係判定層の層厚は、前記位置関係判定層における扇形の径方向長さに対応する厚さであり、
前記シミュレート部は、扇形状の前記位置関係判定層と前記仮想物体との間の位置関係を判定する、請求項6に記載の作業システム。
【請求項8】
前記仮想作業装置は、前記作業装置の外形および大きさに対応した本体部と、前記本体部のうち弾性変形可能な第1の部分の外形よりも内側に位置するように仮想的に設けられた位置関係判定層とを有し、
前記位置関係判定層は、前記第1の部分が前記仮想物体に押し付けられて変形したときに前記仮想物体と接触可能な位置に設けられている、請求項1に記載の作業システム。
【請求項9】
前記シミュレート部が、前記仮想作業装置の動作中および/または動作後の前記仮想作業装置の一部分と前記仮想物体との位置関係の判定によって、前記仮想空間において前記一部分と前記仮想物体とが接触したか、または所定の距離以下であると判断した場合、前記動作制御部は、以後の前記動作指令を無効にするように構成されている、請求項1に記載の作業システム。
【請求項10】
前記作業装置は、前記作業装置に行わせようとする動作の内容で前記作業装置を動作させるための動作要求に基づいて演算を行い、前記動作要求を前記動作指令に変換するプログラムにより生成された前記動作指令に基づいて動作するように構成され、
前記シミュレート部は、前記仮想空間において、前記動作指令に対応する内容で前記仮想作業装置を動作させる際に、前記動作指令を外部から受信し、受信した動作指令に基づいて、前記仮想作業装置の構成要素と前記仮想物体との間の位置関係を判定する、請求項1に記載の作業システム。