(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-12-15
(45)【発行日】2022-12-23
(54)【発明の名称】作業プログラム作成システム及び作業プログラム作成方法
(51)【国際特許分類】
B25J 9/22 20060101AFI20221216BHJP
G05B 19/42 20060101ALI20221216BHJP
B23K 9/127 20060101ALI20221216BHJP
【FI】
B25J9/22 A
G05B19/42 D
B23K9/127 509B
(21)【出願番号】P 2022109756
(22)【出願日】2022-07-07
【審査請求日】2022-10-17
(31)【優先権主張番号】P 2021155239
(32)【優先日】2021-09-24
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】中川 慎一郎
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2016-197393(JP,A)
【文献】特開平11-239989(JP,A)
【文献】特開2013-205131(JP,A)
【文献】特開2019-126866(JP,A)
【文献】米国特許出願公開第2019/0143523(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/16-19/08
G05B 19/42
B23K 9/127
(57)【特許請求の範囲】
【請求項1】
作業対象を含む画像を撮影する撮影端末と、
前記撮影端末により撮影された前記画像に含まれるマーカを基準とするユーザ座標系を設定する座標系設定部と、
前記画像に基づいて前記マーカの特定位置を検出し、当該検出した前記特定位置を、前記作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した前記特定位置を原点とする前記ユーザ座標系の座標が付与された前記点群データを、前記ユーザ座標系に描画する点群データ描画部と、
前記ユーザ座標系に描画された前記点群データに基づいて、前記ユーザ座標系に仮想的に置かれる産業用ロボットが、前記点群データとの干渉を回避しながら作業を行なうように、作業プログラムを作成するプログラム作成部と、
を備え
、
前記プログラム作成部は、前記産業用ロボットが前記点群データと干渉すると判定した場合に、前記干渉すると判定した前記点群データを境にして形成されるエリアのうち、前記撮影端末がある側を干渉回避エリアとし、当該干渉回避エリアの中で前記産業用ロボットの動作軌跡の一部を変更することにより、前記干渉すると判定した前記点群データとの干渉を回避させる、
作業プログラム作成システム。
【請求項2】
前記干渉すると判定した前記点群データとの干渉を回避させる方向は、前記干渉回避エリアの中で、前記干渉すると判定した前記点群データから前記撮影端末に近づく方向である、
請求項
1記載の作業プログラム作成システム。
【請求項3】
作業対象を含む画像を撮影する撮影端末と、
前記撮影端末により撮影された前記画像に含まれるマーカを基準とするユーザ座標系を設定する座標系設定部と、
前記画像に基づいて前記マーカの特定位置を検出し、当該検出した前記特定位置を、前記作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した前記特定位置を原点とする前記ユーザ座標系の座標が付与された前記点群データを、前記ユーザ座標系に描画する点群データ描画部と、
前記ユーザ座標系に描画された前記点群データに基づいて、前記ユーザ座標系に仮想的に置かれる産業用ロボットが、前記点群データとの干渉を回避しながら作業を行なうように、作業プログラムを作成するプログラム作成部と、
前記ユーザ座標系に描画された前記点群データに基づいて、前記作業対象の作業箇所を検出する検出部と、
を備え、
前記プログラム作成部は、前記産業用ロボットが、前記点群データとの干渉を回避しながら、前記検出部により検出された前記作業箇所に対する作業を行うように、作業プログラムを作成する、
作業プログラム作成システム。
【請求項4】
作業対象を含む画像を撮影する撮影端末と、
前記撮影端末により撮影された前記画像に含まれるマーカを基準とするユーザ座標系を設定する座標系設定部と、
前記画像に基づいて前記マーカの特定位置を検出し、当該検出した前記特定位置を、前記作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した前記特定位置を原点とする前記ユーザ座標系の座標が付与された前記点群データを、前記ユーザ座標系に描画する点群データ描画部と、
前記ユーザ座標系に描画された前記点群データに基づいて、前記ユーザ座標系に仮想的に置かれる産業用ロボットが、前記点群データとの干渉を回避しながら作業を行なうように、作業プログラムを作成するプログラム作成部と、
干渉回避の対象から除外する前記点群データの集合を設定する設定部と、
を備える作業プログラム作成システム。
【請求項5】
前記撮影端末が複数台あり、それぞれの前記撮影端末が、それぞれ異なる位置から前記画像を撮影する、
請求項1
から4のいずれか一項に記載の作業プログラム作成システム。
【請求項6】
プロセッサにより実行される方法であって、
撮影端末により撮影された作業対象を含む画像に含まれるマーカを基準とするユーザ座標系を設定するステップと、
前記画像に基づいて前記マーカの特定位置を検出し、当該検出した前記特定位置を、前記作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した前記特定位置を原点とする前記ユーザ座標系の座標が付与された前記点群データを、前記ユーザ座標系に描画するステップと、
前記ユーザ座標系に描画された前記点群データに基づいて、前記ユーザ座標系に仮想的に置かれる産業用ロボットが、前記点群データとの干渉を回避しながら作業を行うように、作業プログラムを作成するステップと、
を含
み、
前記作業プログラムを作成するステップは、前記産業用ロボットが前記点群データと干渉すると判定した場合に、前記干渉すると判定した前記点群データを境にして形成されるエリアのうち、前記撮影端末がある側を干渉回避エリアとし、当該干渉回避エリアの中で前記産業用ロボットの動作軌跡の一部を変更することにより、前記干渉すると判定した前記点群データとの干渉を回避させる、
作業プログラム作成方法。
【請求項7】
プロセッサにより実行される方法であって、
撮影端末により撮影された作業対象を含む画像に含まれるマーカを基準とするユーザ座標系を設定するステップと、
前記画像に基づいて前記マーカの特定位置を検出し、当該検出した前記特定位置を、前記作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した前記特定位置を原点とする前記ユーザ座標系の座標が付与された前記点群データを、前記ユーザ座標系に描画するステップと、
前記ユーザ座標系に描画された前記点群データに基づいて、前記ユーザ座標系に仮想的に置かれる産業用ロボットが、前記点群データとの干渉を回避しながら作業を行うように、作業プログラムを作成するステップと、
前記ユーザ座標系に描画された前記点群データに基づいて、前記作業対象の作業箇所を検出するステップと、
を含み、
前記作業プログラムを作成するステップは、前記産業用ロボットが、前記点群データとの干渉を回避しながら、前記検出された前記作業箇所に対する作業を行うように、作業プログラムを作成する、
作業プログラム作成方法。
【請求項8】
プロセッサにより実行される方法であって、
撮影端末により撮影された作業対象を含む画像に含まれるマーカを基準とするユーザ座標系を設定するステップと、
前記画像に基づいて前記マーカの特定位置を検出し、当該検出した前記特定位置を、前記作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した前記特定位置を原点とする前記ユーザ座標系の座標が付与された前記点群データを、前記ユーザ座標系に描画するステップと、
前記ユーザ座標系に描画された前記点群データに基づいて、前記ユーザ座標系に仮想的に置かれる産業用ロボットが、前記点群データとの干渉を回避しながら作業を行うように、作業プログラムを作成するステップと、
干渉回避の対象から除外する前記点群データの集合を設定するステップと、
を含む作業プログラム作成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業プログラム作成システム及び作業プログラム作成方法に関する。
【背景技術】
【0002】
下記特許文献1には、溶接ロボットのプログラムを生成する技術が開示されている。この技術では、ロボットシステムの典型的な配置パターンと、その配置パターンに配置する配置要素(ロボット、周辺装置、テーブル、ワーク等)とをユーザに選択させ、選択された配置パターン及び配置要素に基づいて、配置要素が互いに干渉しないレイアウトを生成し、そのレイアウトに従って溶接ロボットのプログラムを生成している。さらに、この技術では、生成したプログラムを仮想空間上で実行し、動作状態のロボットが他の配置要素と干渉する場合に、配置要素の設置位置を自動修正し、自動修正した設置位置に基づいてプログラムを補正している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記の技術では、選択する配置パターンや配置要素を事前に準備する必要がある。したがって、事前に準備した配置パターンと異なる配置パターンを採用する場合や、事前に準備した配置要素に存在しない配置要素を採用する場合には、その配置パターンや配置要素を選択できるように準備しなければ、正しいプログラムを生成することができない。
【0005】
そこで、本発明は、様々な配置パターンや配置要素に柔軟に対応することができる作業プログラム作成システム及び作業プログラム作成方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る作業プログラム作成システムは、作業対象を含む画像を撮影する撮影端末と、撮影端末により撮影された画像に含まれるマーカを基準とするユーザ座標系を設定する座標系設定部と、画像に基づいてマーカの特定位置を検出し、当該検出した特定位置を、作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、設定した特定位置を原点とするユーザ座標系の座標が付与された点群データを、ユーザ座標系に描画する点群データ描画部と、ユーザ座標系に描画された点群データに基づいて、ユーザ座標系に仮想的に置かれる産業用ロボットが、点群データとの干渉を回避しながら作業を行なうように、作業プログラムを作成するプログラム作成部と、を備える。
【0007】
この態様によれば、作業対象及びマーカを撮影した画像に基づいて、マーカの特定位置を検出し、その検出したマーカの特定位置を点群データ上に設定し、その設定したマーカの特定位置を原点とするユーザ座標系の座標を付与した点群データを画像上に描画し、ユーザ座標系に仮想的に置かれる産業用ロボットが、点群データとの干渉を回避しながら作業を行なうように、作業プログラムを作成することができる。したがって、作業対象の配置状態や障害物の状況にかかわらず、干渉を回避しながら作業を行わせることが可能となる。
【0008】
上記態様において、プログラム作成部は、産業用ロボットが点群データと干渉すると判定した場合に、干渉すると判定した点群データを境にして形成されるエリアのうち、撮影端末がある側を干渉回避エリアとし、当該干渉回避エリアの中で産業用ロボットの動作軌跡の一部を変更することにより、干渉すると判定した点群データとの干渉を回避させてもよい。
【0009】
この態様によれば、産業用ロボットが点群データと干渉すると判定した場合に、点群データの手前側にある干渉回避エリアの中で産業用ロボットの動作軌跡の一部を変更して干渉を回避させることが可能となる。
【0010】
上記態様において、干渉すると判定した点群データとの干渉を回避させる方向は、干渉回避エリアの中で、干渉すると判定した点群データから撮影端末に近づく方向であってよい。
【0011】
この態様によれば、撮影端末に近づく方向に回避させることができるため、点群データの信頼度が高まる方向に産業用ロボットを回避させることが可能となる。
【0012】
上記態様において、ユーザ座標系に描画された点群データに基づいて、作業対象の作業箇所を検出する検出部を、さらに備え、プログラム作成部は、産業用ロボットが、点群データとの干渉を回避しながら、検出部により検出された作業箇所に対する作業を行うように、作業プログラムを作成してもよい。
【0013】
この態様によれば、ユーザ座標系に描画された点群データに基づいて作業箇所を認識し、点群データとの干渉を回避しながら、その認識した作業箇所に対する作業を行うように、作業プログラムを作成することができる。したがって、作業プログラムによる作業の精度を向上させることが可能となる。
【0014】
上記態様において、撮影端末が複数台あり、それぞれの撮影端末が、それぞれ異なる位置から画像を撮影してもよい。
【0015】
この態様によれば、撮影した位置ごとに干渉の有無を判定し、干渉が有ると判定した場合に干渉を回避するように調整することが可能となる。
【0016】
上記態様において、干渉回避の対象から除外する点群データの集合を設定する設定部を、さらに備えてもよい。
【0017】
この態様によれば、作業に支障を来さない干渉については、回避動作を行うことなく作業を進行させることができる。
【0018】
本発明の他の態様に係る作業プログラム作成方法は、プロセッサにより実行される方法であって、撮影端末により撮影された作業対象を含む画像に含まれるマーカを基準とするユーザ座標系を設定するステップと、画像に基づいてマーカの特定位置を検出し、当該検出した特定位置を、作業対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した特定位置を原点とするユーザ座標系の座標が付与された点群データを、ユーザ座標系に描画するステップと、ユーザ座標系に描画された点群データに基づいて、ユーザ座標系に仮想的に置かれる産業用ロボットが、点群データとの干渉を回避しながら作業を行うように、作業プログラムを作成するステップと、含む。
【0019】
この態様によれば、作業対象及びマーカを撮影した画像に基づいて、マーカの特定位置を検出し、その検出したマーカの特定位置を点群データ上に設定し、その設定したマーカの特定位置を原点とするユーザ座標系の座標を付与した点群データを画像上に描画し、ユーザ座標系に仮想的に置かれる産業用ロボットが、点群データとの干渉を回避しながら作業を行なうように、作業プログラムを作成することができる。したがって、作業対象の配置状態や障害物の状況にかかわらず、干渉を回避しながら作業を行わせることが可能となる。
【発明の効果】
【0020】
本発明によれば、様々な配置パターンや配置要素に柔軟に対応することができる作業プログラム作成システム及び作業プログラム作成方法を提供することができる。
【図面の簡単な説明】
【0021】
【
図1】実施形態に係る溶接プログラム作成システムを含む溶接ロボットシステムの構成を例示する図である。
【
図2】溶接プログラム作成システムの機能的な構成を例示する図である。
【
図3】マーカの位置を原点とするユーザ座標系の一例を示す図である。
【
図5】ユーザ座標系に描画される点群データの一例を示す図である。
【
図7】溶接プログラムを作成する手順の一例を説明するための図である。
【
図8】点群データとの干渉を回避できる方向を認識する方法の一例を示す模式図である。
【
図9】溶接プログラム作成システムで溶接プログラムを作成する際の動作の一例を説明するためのフローチャートである。
【
図10】変形例に係る溶接プログラム作成システムの機能的な構成を例示する図である。
【発明を実施するための形態】
【0022】
添付図面を参照して、本発明の好適な実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。また、図面は模式的なものであるため、各構成要素の寸法や比率は実際のものとは相違する。
【0023】
図1は、実施形態に係る溶接プログラム作成システムを含む溶接ロボットシステムの構成を例示する図である。溶接ロボットシステム100は、例えば、撮影端末1と、ロボット制御装置2と、マニピュレータ3とを備える。撮影端末1とロボット制御装置2とは、例えばネットワークNを介して接続され、ロボット制御装置2とマニピュレータ3とは、例えば通信ケーブルCを介して接続される。ネットワークNは、有線(通信ケーブルを含む)であっても無線であってもよい。なお、溶接ロボットシステム100に、ティーチングペンダントを含めてもよい。ティーチングペンダントは、作業者がマニピュレータ3の動作を教示する操作装置である。
【0024】
マニピュレータ3は、ロボット制御装置2において設定される施工条件に従ってアーク溶接を行う溶接ロボットである。マニピュレータ3は、例えば、工場の床面等に固定されるベース部材上に設けられる多関節アーム31と、多関節アーム31の先端に連結される溶接トーチ32とを有する。ここで、溶接トーチ32に供給される溶接ワイヤは、マニピュレータ3の構成に含まないことにする。
【0025】
ロボット制御装置2は、マニピュレータ3の動作を制御する制御ユニットであり、例えば、制御部21、記憶部22、通信部23及び溶接電源部24を含む。
【0026】
制御部21は、例えば、記憶部22に記憶されている作業プログラムをプロセッサが実行することで、マニピュレータ3及び溶接電源部24を制御する。
【0027】
通信部23は、ネットワークNを介して接続される撮影端末1との通信を制御することや、通信ケーブルCを介して接続されるマニピュレータ3との通信を制御する。
【0028】
溶接電源部24は、例えば、溶接ワイヤの先端とワークとの間にアークを発生させるために、予め定められた溶接の施工条件に従って、溶接電流及び溶接電圧等をマニピュレータ3に供給する。溶接の施工条件には、例えば、溶接条件、溶接開始位置、溶接終了位置、アーク放電の時間、溶接距離、溶接トーチの姿勢及び溶接トーチの移動速度等のデータ項目が含まれる。溶接電源部24は、ロボット制御装置2と別個に備えることとしてもよい。
【0029】
撮影端末1は、例えば、デジタルカメラであるが、デジタルカメラ付きの可搬型端末であってもよい。可搬型端末には、例えば、タブレット端末、スマートフォン、携帯情報端末(PDA)、ノートPC(パーソナルコンピュータ)等の持ち運び可能な端末が含まれる。撮影端末1は、例えば、制御部11、撮影部12、通信部13、表示部14を含む。
【0030】
制御部11は、メモリに格納された所定のプログラムをプロセッサが実行することにより、撮影端末1の各部を制御する。
【0031】
撮影部12は、例えば、レンズ及び撮像素子(イメージセンサ)を含み、レンズで受光した被写体の光を電気信号(デジタル画像データ)に変換する。
【0032】
通信部13は、ネットワークNを介して接続されるロボット制御装置2との通信を制御する。
【0033】
表示部14は、例えば、タッチパネルを有するディスプレイであり、撮影部12による被写体の映像を表示するとともに、作業者による操作指示等の入力を受け付ける。表示部14は、例えばタッチパネルを有するディスプレイ装置として、撮影端末1とは別個に備えることとしてもよい。
【0034】
図2は、本発明に係る溶接プログラム作成システムの機能的な構成を例示する図である。溶接プログラム作成システムは、機能的な構成として、例えば、撮影部211と、座標系設定部212と、点群データ描画部213と、検出部214と、プログラム作成部215とを有する。これらの機能のうち、撮影部211は、撮影端末1が有する機能である。他方、座標系設定部212、点群データ描画部213、検出部214及びプログラム作成部215は、撮影端末1及びロボット制御装置2のどちらかが全てを備えてもよいし、撮影端末1及びロボット制御装置2に各機能を分散して備えてもよい。また、撮影端末1及びロボット制御装置2以外の他の装置が、上記機能の一部又は全部を備えてもよい。
【0035】
撮影部211は、上記撮影端末1の撮影部12と同じである。本実施形態に係る撮影部211は、例えば、アーク溶接の対象となる複数枚の鉄板部材(ワーク)により構成される構造物を溶接対象として撮影する。
図3に、溶接対象の一例を示す。同図には、底板となる1枚のワークWaと、側板となる2枚のワークWb,Wcと、背板となる1枚のワークWdとで構成される構造物が、溶接対象として表示されている。この構造物により形成される空間内には、マーカMが置かれている。
【0036】
図2に示す座標系設定部212は、撮影部211による映像に含まれるマーカMの位置を原点とするユーザ座標系を設定する。
図3に、マーカMの位置を原点とするユーザ座標系の一例を示す。同図には、マーカMの位置を原点Oとし、その原点Oで互いに直交するX軸、Y軸及びZ軸による三次元の直交座標系が、ユーザ座標系として表示されている。
【0037】
なお、ユーザ座標系の原点は、マーカ(例えば、マーカの角やマーカの中心等)を基準にして設定できればよい。撮影端末1を基準にしてユーザ座標系の原点を設定するのではなく、マーカを基準にしてユーザ座標系の原点を設定するのは、以下の理由による。撮影端末1は、撮影時に作業者が所持して移動するため、ロボット座標系上で撮影端末1の位置を特定するのは難しい。これに対し、マーカは、固定して配置されるため、ロボット座標系上でマーカの位置を特定するのは比較的に容易である。したがって、マーカを基準にしてユーザ座標系を設定すると、撮影端末1を基準にしてユーザ座標系を設定するよりも、ユーザ座標系とロボット座標系との位置関係をキャリブレーションし易くすることが可能となる。
【0038】
ここで、マーカMは、空間内に置かれていることを撮影部211に認識させることができる識別子であればよいが、好ましくは、ARマーカを用いるのがよい。ARマーカを用いることで、空間内に置かれたARマーカを認識したときに、そのARマーカを原点とするユーザ座標系を、実際の映像に重ね合わせて表示させることが簡易に実現できるようになる。
【0039】
マーカを基準とするユーザ座標系は、カメラ座標系の原点(例えば、レンズの中心)を、後述するマーカの特定位置に移動させることで設定することができる。このようなユーザ座標系は、例えば、ARマーカの座標系を設定する公知の技術を適用して設定することができる。
【0040】
図2に示す点群データ描画部213は、撮影部211により撮影された画像に含まれる物体に対応する座標データ(点群データ)を取得し、その取得した座標データをユーザ座標系に描画する。
【0041】
具体的に説明する。点群データ描画部213は、撮影部211により撮影された画像に基づいてマーカの特定位置(例えば、マーカの角やマーカの中心)を検出し、その検出したマーカの特定位置を、後述する距離計測センサにより取得される点群データ上に設定し、その設定したマーカの特定位置を原点とするユーザ座標系の座標が付与された点群データを、ユーザ座標系に描画する。点群データ上に設定するマーカの特定位置は、例えば、点群データ上のマーカの特定位置をデータ解析により自動的に認識させてもよいし、点群データ上のマーカの特定位置を作業者が指し示す等して指定してもよい。
【0042】
物体に対応する座標データは、例えば、距離計測センサにより取得することができる。距離計測センサは、溶接対象までの距離を測定可能なセンサであればよい。距離計測センサとして、例えば、LiDAR(Light Detection and Ranging)センサ、ミリ波センサ、超音波センサ等を用いることができる。また、物体に対応する座標データを、溶接対象を異なる複数の位置から撮影した複数の画像に基づいて算定することで取得してもよい。この場合、公知のステレオ法による三次元計測手法を用いることができる。
【0043】
ここで、距離計測センサを撮影端末1に含めてもよい。これにより、イメージセンサと距離計測センサとの位置関係を固定させることができ、各センサでデータを取得するタイミングを合わせることが可能となる。したがって、上述したマーカの特定位置を点群データ上に設定する処理効率を向上させることが可能となる。また、イメージセンサと距離計測センサとを撮影端末1に備えることで、溶接対象の溶接線とマーカとを同時に撮影できる任意の位置に、撮影端末1を操作する作業者が自由に移動して撮影することが可能となるため、作業効率を高めることができる。
【0044】
さらに、画像を撮影して取得するセンサの機能と距離を計測して取得するセンサの機能とを併せ持つセンサを撮影端末1に含めてもよい。これにより、溶接対象を含む画像と溶接対象までの距離とを同じ箇所から取得し、かつ同じタイミングで取得できるため、上述したマーカの特定位置を点群データ上に設定する処理効率をさらに高めることが可能となる。
【0045】
図4及び
図5を参照して、画像に含まれる物体に対応する座標データを、点群データとしてユーザ座標系に描画する概念について説明する。
【0046】
図4は、溶接対象の一例を示す図である。同図には、作業テーブルT上に置かれたワークWeと、そのワークWeと略垂直関係になるように置かれたワークWfとで構成される溶接対象が例示されている。溶接対象の傍にマーカMが置かれている。
【0047】
図5は、ユーザ座標系に描画される点群データの一例を示す図である。同図には、
図4のワークWe及びワークWfにそれぞれ対応する座標データWec、Wfcと、
図4の作業テーブルTに対応する座標データTcと、が点群データとしてユーザ座標系に描画されている。
【0048】
図2に示す検出部214は、ユーザ座標系に描画された点群データに基づいて、溶接対象の溶接線を検出する。具体的に、検出部214は、ユーザ座標系に描画された点群データに基づいて、溶接対象に対応する複数の平面を認識する。検出部214は、それら複数の平面に含まれる二つの平面の交線を溶接線として検出する。二つの平面の組合せが複数存在する場合には、それぞれの組合せごとに溶接線を検出する。
【0049】
ここで、溶接線として検出するのは、二つの平面の交線に限定されない。例えば、二つの面の交線を溶接線として検出してもよい。
【0050】
なお、検出された溶接線が、実際に溶接を行なう溶接線であるか否かを、例えば音声や文字メッセージ等のガイドに従って、作業者が画像上で選別し、実際に溶接を行なう溶接線のみを残せるようにしてもよい。実際に溶接を行なう溶接線のみを残す方法の一例について、
図6を参照して説明する。
【0051】
同図には、検出部214により検出された複数の溶接線が、溶接対象の画像上に重ね合わせて表示されている。これら複数の溶接線のうち、実際に溶接を行なう溶接線が、例えば溶接線La、Lb、Lc、Ldの4つであるとする。この場合、例えば音声や文字メッセージ等のガイドに従って、作業者が画像上に表示された複数の溶接線の中から、実際の溶接線に該当しない線を順次タッチ(タップ)していくと、タッチした溶接線が画像上から除去される。これにより、実際に溶接を行なう溶接線La、Lb、Lc、Ldのみを画像上に残すことができる。また、作業者が画像上に丸などで範囲を指定し、その指定した範囲内にある溶接線のみを残すこととしてもよい。
【0052】
プログラム作成部215は、ユーザ座標系に描画された点群データに基づいて、ユーザ座標系に仮想的に置かれるマニピュレータ3が、点群データとの干渉を回避しながら溶接動作を行うように、アーク溶接を行なう溶接プログラムを作成する。ここで、本実施形態における干渉とは、マニピュレータ3が溶接動作を行う際に、点群データに対応する物体との接触などにより、その溶接動作が妨げられる(正常な溶接動作に支障が出る)ことをいう。
【0053】
マニピュレータ3を仮想的に置く位置は、例えば音声や文字メッセージ等のガイドに従って、作業者が溶接対象の画像上をタッチ等することで作業者が任意に指定することができる。
【0054】
また、仮想的に置かれるマニピュレータ3は、例えば、ワイヤ送給装置や各種センサ、溶接トーチ等の付属部品が接続されたモデルであってもよい。
【0055】
具体的に、プログラム作成部215は、ユーザ座標系に仮想的に置かれるマニピュレータ3が、ユーザ座標系に描画された点群データとの干渉を回避し、かつ検出部214により検出された溶接線を辿るように溶接プログラムを作成する。溶接プログラムを作成する手順の一例について、
図7を参照して説明する。
【0056】
同図には、実際に溶接を行なう溶接線として、4つの溶接線La、Lb、Lc、Ldが溶接対象の画像上に重ね合わせて表示されている。4つの溶接線La、Lb、Lc、Ldを溶接する順番や溶接する方向は、作業者が画面上から指定して設定しもよいし、プログラム作成部215が、例えば最短距離となる経路を算定して決定してもよい。この例では、溶接線La、溶接線Lb、溶接線Lc、溶接線Ldの順に溶接し、溶接線La及び溶接線Lbは紙面上で右方向に溶接し、溶接線Lc及び溶接線Ldは紙面上で左方向に溶接するように設定されているものとする。
【0057】
最初に、プログラム作成部215は、マニピュレータ3の基準位置から溶接線Laの溶接開始位置まで溶接トーチ32を移動させるプログラムを作成する。続いて、プログラム作成部215は、溶接線Laの溶接開始位置でアーク溶接を開始し、アーク溶接しながら溶接線Laを辿るように溶接トーチ32を移動させ、溶接線Laの溶接終了位置でアーク溶接を終了させるプログラムを作成する。
【0058】
続いて、プログラム作成部215は、溶接線Laの溶接終了位置から溶接線Lbの溶接開始位置まで溶接トーチ32を移動させるプログラムを作成する。このとき、溶接トーチ32が点群データと干渉しない経路を通って移動するように、溶接トーチ32の移動経路(動作軌跡)を調整する。この調整は、例えば、溶接トーチ32が点群データと干渉するかどうかを判定し、干渉する場合に、その干渉を回避できる方向に溶接トーチ32の移動経路を変更することで行うことができる。点群データとの干渉を回避できる方向を認識する方法については、後述する。
【0059】
続いて、プログラム作成部215は、溶接線Lbの溶接開始位置でアーク溶接を開始し、アーク溶接しながら溶接線Lbを辿るように溶接トーチ32を移動させ、溶接線Lbの溶接終了位置でアーク溶接を終了させるプログラムを作成する。続いて、プログラム作成部215は、溶接線Lbの溶接終了位置から溶接線Lcの溶接開始位置まで溶接トーチ32を移動させるプログラムを、移動経路を調整しながら作成する。
【0060】
続いて、プログラム作成部215は、溶接線Lcの溶接開始位置でアーク溶接を開始し、アーク溶接しながら溶接線Lcを辿るように溶接トーチ32を移動させ、溶接線Lcの溶接終了位置でアーク溶接を終了させるプログラムを作成する。続いて、プログラム作成部215は、溶接線Lcの溶接終了位置から溶接線Ldの溶接開始位置まで溶接トーチ32を移動させるプログラムを、移動経路を調整しながら作成する。
【0061】
続いて、プログラム作成部215は、溶接線Ldの溶接開始位置でアーク溶接を開始し、アーク溶接しながら溶接線Ldを辿るように溶接トーチ32を移動させ、溶接線Ldの溶接終了位置でアーク溶接を終了させるプログラムを作成する。続いて、プログラム作成部215は、溶接線Ldの溶接終了位置からマニピュレータ3の基準位置まで溶接トーチ32を移動させるプログラムを作成する。
【0062】
プログラム作成部215は、作成した溶接プログラムを、ロボット制御装置2の記憶部22に記憶させる。これにより、マニピュレータ3がアーク溶接を行なう際に、ロボット制御装置2の制御部21が溶接プログラムを読み込み、その溶接プログラムで指定された溶接手順に従って、物体との干渉を回避しながらアーク溶接を行なうように、マニピュレータ3を制御することが可能となる。
【0063】
図8を参照して、プログラム作成部215が、点群データとの干渉を回避できる方向を認識する方法の一例について説明する。
図8は、距離計測センサを搭載する撮影端末1により撮影される画像に、マーカMと干渉物I(例えば、溶接対象や他の物体)とが含まれる状態を模式的に表した図である。マーカMを基準にして三次元のユーザ座標系が設定され、干渉物Iの撮影端末1側に、ユーザ座標系上の点群データIcが描画されている。
【0064】
ここで、点群データIcは、撮影端末1に搭載される距離計測センサにより取得されるデータである。したがって、撮影端末1で点群データIcを取得しているときには、撮影端末1と点群データIcとの間に障害物が存在していないことになる。つまり、撮影端末1と点群データIcとの間に形成される空間は、障害物が存在しない自由空間となる。
【0065】
プログラム作成部215は、点群データIcを境にして形成される二つのエリアのうち、撮影端末1がある側(手前側)を干渉物Iが存在しない干渉回避エリアAaであると判定する。他方、プログラム作成部215は、点群データIcを境にして形成される二つのエリアのうち、撮影端末1がない側(奥側)を干渉物Iが存在する干渉エリアAbと判定する。
【0066】
そして、プログラム作成部215は、干渉回避エリアAaの中で、点群データIcから撮影端末1の基準点(例えば、レンズの中心)に向かう方向Daを、点群データとの干渉を回避できる方向として認識する。
【0067】
なお、点群データとの干渉を回避させる距離は、例えば、作業者が指定する固定値であってもよいし、回避動作のシミュレーション結果を機械学習することで得られる数値範囲の下限値であってもよい。回避動作は、例えば、マニピュレータ3の位置を動かすことで行ってもよいし、多関節アーム31のいずれかの関節を動かすことで行ってもよいし、溶接トーチ32の姿勢を変えることで行ってもよいし、それらの組み合わせであってもよい。
【0068】
また、点群データの精度は、対象物が撮影位置から離れるほど低下する傾向にある。したがって、撮影位置と干渉物との間の距離が離れるほど、点群データとの干渉を回避させる距離を大きくすることとしてもよい。
【0069】
ここで、上記
図8の説明では、干渉回避エリアAaの中で、点群データIcから撮影端末1の基準点に向かう方向Daに、マニピュレータ3の動作軌跡の一部を変更させているが、これに限定されない。例えば、干渉回避エリアAaの中で、点群データIcから撮影端末1に近づく方向に、マニピュレータ3の動作軌跡の一部を変更させることとしてもよいし、干渉回避エリアAaの中で、点群データとの干渉を回避できるように、マニピュレータ3の動作軌跡の一部を変更させることとしてもよい。撮影端末1に近づく方向にマニピュレータ3の動作軌跡を変更することで、点群データの信頼度が高まる方向にマニピュレータ3を回避させることができ、回避精度を高めることが可能となる。
【0070】
図9を参照して、プログラム作成部215が溶接プログラムを作成する際の動作の一例を説明する。
【0071】
最初に、プログラム作成部215は、検出部214により検出された溶接線に基づいて、ユーザ座標系上での溶接線を特定する(ステップS101)。
【0072】
続いて、プログラム作成部215は、上記ステップS101で特定した溶接線に対し、トーチの前進角、トーチの後退角及びトーチの狙い角等のトーチの姿勢を設定する(ステップS102)。
【0073】
続いて、プログラム作成部215は、ユーザ座標系上でのマニピュレータ3の各部の姿勢を含めた動作軌跡を決定する(ステップS103)。
【0074】
続いて、プログラム作成部215は、ユーザ座標系上での動作軌跡の中に、マニピュレータ3が点群データと干渉する箇所があるかどうかを判定する(ステップS104)。
【0075】
上記ステップS104で動作軌跡の中に点群データと干渉する箇所があると判定した場合(ステップS104;YES)に、プログラム作成部215は、点群データとの干渉を回避できる方向にマニピュレータ3の動作軌跡の一部を変更する(ステップS105)。
【0076】
他方、上記ステップS104で動作軌跡の中に点群データと干渉する箇所がないと判定した場合(ステップS104;NO)に、プログラム作成部215は、ユーザ座標系上での動作軌跡を、ロボット座標系上の動作軌跡に変換して溶接プログラムを作成する(ステップS106)。そして、本動作を終了する。
【0077】
ここで、上記動作の各ステップは、撮影端末1及びロボット制御装置2のどちらで実行してもよく、各ステップの一部を撮影端末1で実行し、残りの一部をロボット制御装置2で実行してもよい。
【0078】
前述したように、実施形態に係る溶接プログラム作成システムによれば、溶接対象及びその溶接対象により形成される空間内に置かれたマーカを撮影した画像に基づいて、マーカの特定位置を原点とするユーザ座標系を設定し、そのユーザ座標系に画像中の物体に対応する点群データを描画し、ユーザ座標系に仮想的に置かれる溶接ロボットが、点群データとの干渉を回避しながら溶接動作を行なうように、溶接プログラムを作成することができる。したがって、溶接対象の配置状態や障害物の状況にかかわらず、干渉を回避しながら溶接動作を行わせることが可能となる。
【0079】
それゆえ、実施形態に係る溶接プログラム作成システムによれば、様々な配置パターンや配置要素に柔軟に対応することが可能となる。
【0080】
なお、本発明は、前述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。
【0081】
例えば、上述した実施形態では、溶接ロボットを用いて説明したが、これに限定されない。例えば、ピッキング等を行うハンドリングロボットを含む産業用ロボットに本発明を適用することができる。この場合、上記実施形態で用いた溶接プログラム、溶接対象、溶接線及び溶接動作を、それぞれ作業プログラム、作業対象、作業箇所及び作業と置き換えることができる。
【0082】
また、上述した実施形態では、点群データとの干渉を回避させているが、干渉回避しない点群データの集合を設定し、その点群データの集合を干渉回避の対象から除外してもよい。この変形例では、
図10に示すように、溶接プログラム作成システムに設定部216をさらに備えることが望ましい。設定部216は、例えば、溶接対象の画像上に重ねて表示されている点群データの中から、範囲指定を受け付け、指定された範囲内にある点群データを、干渉回避の対象から除外する点群データの集合として設定する。これにより、作業に支障を来さない干渉については、回避動作を行うことなく作業を進行させることができるため、作業効率を高めることが可能となる。
【0083】
干渉回避の対象から除外する点群データの集合として、例えば、溶接線を含む溶接線付近の領域や、ハンドリングロボットが把持する領域等を設定することができる。
【0084】
また、上述した実施形態では、一台の撮影端末1で溶接対象を含む画像を撮影しているが、複数の撮影端末1を用い、それぞれ異なる位置から溶接対象を含む画像を撮影してもよい。これにより、撮影した位置ごとに干渉の有無を判定し、干渉が有ると判定した場合に干渉を回避するように調整することができる。それゆえ、干渉を回避する精度を高めることが可能となる。
【符号の説明】
【0085】
1…撮影端末、2…ロボット制御装置、3…マニピュレータ、11…制御部、12…撮影部、13…通信部、14…表示部、21…制御部、22…記憶部、23…通信部、24…溶接電源部、31…多関節アーム、32…溶接トーチ、100…溶接ロボットシステム、211…撮影部、212…座標系設定部、213…点群データ描画部、214…検出部、215…プログラム作成部、216…設定部、C…通信ケーブル、M…マーカ、N…ネットワーク
【要約】
【課題】様々な配置パターンや配置要素に柔軟に対応することができる作業プログラム作成システムを提供する。
【解決手段】溶接対象を含む画像を撮影する撮影部211と、撮影部211により撮影された画像に含まれるマーカを基準とするユーザ座標系を設定する座標系設定部212と、画像に基づいてマーカの特定位置を検出し、当該検出した特定位置を、溶接対象までの距離を測定する距離計測センサにより取得された点群データ上に設定し、当該設定した特定位置を原点とするユーザ座標系の座標が付与された点群データを、ユーザ座標系に描画する点群データ描画部213と、ユーザ座標系に描画された点群データに基づいて、ユーザ座標系に仮想的に置かれる溶接ロボットが、点群データとの干渉を回避しながら溶接動作を行なうように、溶接プログラムを作成するプログラム作成部215と、を備える。
【選択図】
図2