(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-12
(45)【発行日】2025-02-20
(54)【発明の名称】作業システム
(51)【国際特許分類】
B25J 13/08 20060101AFI20250213BHJP
E04G 21/18 20060101ALI20250213BHJP
【FI】
B25J13/08 Z
E04G21/18 Z
(21)【出願番号】P 2021138056
(22)【出願日】2021-08-26
【審査請求日】2024-03-06
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】保富 裕二 アンドレ
【審査官】杉山 悟史
(56)【参考文献】
【文献】特開2020-007095(JP,A)
【文献】特開昭62-140790(JP,A)
【文献】特開平5-105362(JP,A)
【文献】特開2016-037808(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 ~ 21/02
E04G 21/18
(57)【特許請求の範囲】
【請求項1】
移動可能な作業床と、
前記作業床に固定され、作業対象である第1の物体に作業を行う第1ロボットと、
前記作業床に固定され、前記第1の物体と異なる第2の物体に接触可能な第2ロボットと、
前記第1ロボットと前記第2ロボットを制御する制御装置と、
前記作業床の移動を測定する測定装置と、
を備え、
前記制御装置は、前記第1ロボットと前記第2ロボットが行う作業についての情報を格納したタスクプランナーと、前記第1ロボットと前記第2ロボットが過去に作業を行ったときに得られたデータを記録するデータベースとを備え、
前記制御装置は、前記第1ロボットが前記第1の物体に対して作業を行う作業位置に基づいて、前記第2ロボットが前記第2の物体に接触する位置である支持位置を算出し、
前記制御装置は、前記第2ロボットが前記第2の物体に前記支持位置で接触している状態で、前記第1ロボットに前記第1の物体に対して前記作業位置で作業を実施さ
せ、
前記制御装置は、前記第1ロボットが前記作業位置で作業を実施することで前記作業床に力が加わっても、前記作業床が動かないように前記第2ロボットが前記第2の物体に接触する位置を、前記支持位置として算出し、
前記制御装置は、前記タスクプランナーから取得した前記作業位置と、前記データベースから取得した、前記作業位置と前記支持位置との組み合わせに対する前記作業床の移動のデータとを用いて、前記支持位置を算出する、
ことを特徴とする作業システム。
【請求項2】
移動可能な作業床と、
前記作業床に固定され、作業対象である第1の物体に作業を行う第1ロボットと、
前記作業床に固定され、前記第1の物体と異なる第2の物体に接触可能な第2ロボットと、
前記第1ロボットと前記第2ロボットを制御する制御装置と、
前記作業床の移動を測定する測定装置と、
を備え、
前記制御装置は、前記第1ロボットが前記第1の物体に対して作業を行う作業位置に基づいて、前記第2ロボットが前記第2の物体に接触する位置である支持位置を算出し、
前記制御装置は、前記第2ロボットが前記第2の物体に前記支持位置で接触している状態で、前記第1ロボットに前記第1の物体に対して前記作業位置で作業を実施させ、
前記制御装置は、前記第1ロボットが前記作業位置で作業を実施することで前記作業床に力が加わっても、前記作業床が動かないように前記第2ロボットが前記第2の物体に接触する位置を、前記支持位置として算出し、
前記第2ロボットは、柔軟部材を備え、前記柔軟部材で前記第2の物体に前記支持位置で接触する、
ことを特徴とする作業システム。
【請求項3】
前記制御装置は、前記第2ロボットが前記柔軟部材で前記第2の物体を押したときの力であって前記作業床が動かない力を求め、前記第2ロボットに求めた前記力で前記第2の物体に接触させる、
請求項
2に記載の作業システム。
【請求項4】
前記第1ロボットは、前記第1の物体に作業を行う作業ツールを備え、
前記第2ロボットは、前記第1ロボットが備える前記作業ツールと同じ作業ツールを備え、
前記制御装置は、前記第2ロボットに、前記第1ロボットが前記作業位置で前記作業ツールを用いて実施する作業と同じ作業を、前記第1ロボットと同時に前記支持位置で前記作業ツールを用いて実施させる、
請求項
1または2に記載の作業システム。
【請求項5】
前記データベースは、前記第2ロボットが接触可能な物体が存在する領域のデータを保存している、
請求項
1に記載の作業システム。
【請求項6】
前記制御装置は、
前記第1ロボットの作業が予め定めた値を超える反力を発生する場合には、前記第2ロボットに、前記第2の物体に前記支持位置で接触させて前記作業床が動くのを防止する支持作業を実行させ、
前記第1ロボットの作業が前記予め定めた値を超える反力を発生しない場合には、前記第2ロボットに、前記支持作業以外の、前記予め定めた値以下の反力が発生する作業を実行させる、
請求項
1に記載の作業システム。
【請求項7】
移動可能な作業床と、
前記作業床に固定され、作業対象である第1の物体に作業を行う第1ロボットと、
前記作業床に固定され、前記第1の物体と異なる第2の物体に接触可能な第2ロボットと、
前記第1ロボットと前記第2ロボットを制御する制御装置と、
前記作業床の移動を測定する測定装置と、
を備え、
前記制御装置は、前記第1ロボットが前記第1の物体に対して作業を行う作業位置に基づいて、前記第2ロボットが前記第2の物体に接触する位置である支持位置を算出し、
前記制御装置は、前記第2ロボットが前記第2の物体に前記支持位置で接触している状態で、前記第1ロボットに前記第1の物体に対して前記作業位置で作業を実施させ、
前記制御装置は、前記第1ロボットが前記作業位置で作業を実施することで前記作業床に力が加わっても、前記作業床が動かないように前記第2ロボットが前記第2の物体に接触する位置を、前記支持位置として算出し、
前記第2ロボットは、前記第2ロボットが前記第2の物体に加える力を測定する力センサを備え、
前記制御装置は、前記第1ロボットが前記第1の物体に加える力を、前記力センサが測定した、前記第2ロボットが前記第2の物体に加える力に等しいとして求める、
ことを特徴とする作業システム。
【請求項8】
移動可能な作業床と、
前記作業床に固定され、作業対象である第1の物体に作業を行う第1ロボットと、
前記作業床に固定され、前記第1の物体と異なる第2の物体に接触可能な第2ロボットと、
前記第1ロボットと前記第2ロボットを制御する制御装置と、
前記作業床の移動を測定する測定装置と、
を備え、
前記制御装置は、前記第1ロボットが前記第1の物体に対して作業を行う作業位置に基づいて、前記第2ロボットが前記第2の物体に接触する位置である支持位置を算出し、
前記制御装置は、前記第2ロボットが前記第2の物体に前記支持位置で接触している状態で、前記第1ロボットに前記第1の物体に対して前記作業位置で作業を実施させ、
前記制御装置は、前記第1ロボットが前記作業位置で作業を実施することで前記作業床に力が加わっても、前記作業床が動かないように前記第2ロボットが前記第2の物体に接触する位置を、前記支持位置として算出し、
前記第2ロボットは、前記第2ロボットが前記第2の物体に加える力を測定する力センサを備え、
前記制御装置は、前記力センサが測定した前記力が予め定めた閾値より小さくなれば、前記第2の物体に接触していた前記第2ロボットが、前記第2の物体に接触しなくなったと判断する、
ことを特徴とする作業システム。
【請求項9】
移動可能な作業床と、
前記作業床に固定され、作業対象である第1の物体に作業を行う第1ロボットと、
前記作業床に固定され、前記第1の物体と異なる第2の物体に接触可能な第2ロボットと、
前記第1ロボットと前記第2ロボットを制御する制御装置と、
前記作業床の移動を測定する測定装置と、
を備え、
前記制御装置は、前記第1ロボットが前記第1の物体に対して作業を行う作業位置に基づいて、前記第2ロボットが前記第2の物体に接触する位置である支持位置を算出し、
前記制御装置は、前記第2ロボットが前記第2の物体に前記支持位置で接触している状態で、前記第1ロボットに前記第1の物体に対して前記作業位置で作業を実施させ、
前記制御装置は、前記第1ロボットが前記作業位置で作業を実施することで前記作業床に力が加わっても、前記作業床が動かないように前記第2ロボットが前記第2の物体に接触する位置を、前記支持位置として算出し、
前記作業床を吊るしているロープと、前記ロープを巻き取る装置であるワインダーとを備え、
前記測定装置として、前記作業床の変位を測定する変位測定装置と、前記作業床の回転を測定する回転測定装置とを備え、
前記第1ロボットは、前記第1の物体に前記作業位置で作業を行う作業ツールをロボットアームに備え、
前記第2ロボットは、前記第2の物体に前記支持位置で接触する柔軟部材をロボットアームに備え、
前記制御装置は、
前記支持位置を算出する演算部と、
前記第1ロボットと前記第2ロボットが行う作業についての情報を格納したタスクプランナーと、
前記第1ロボットと前記第2ロボットが過去に作業を行ったときに得られたデータを記録するデータベースと、
前記第1ロボット、前記第2ロボット、前記演算部、前記タスクプランナー、及び前記データベースを制御する制御部と、
を備える、
ことを特徴とする作業システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、作業床上で作業を行うロボットを備える作業システムに関する。
【背景技術】
【0002】
建設及び物流分野では、ロボットが、不安定で移動可能な作業床上で、据付、修理、及び搬送などの作業に使用されている。それぞれの作業では、ロボットアームが作業床外にある物体に接触することが一般的であり、この接触によって反力が発生し、発生した反力により作業床が変位、回転、及び振動などの動きを起こす。反力により作業床が動くと、ロボットの作業の実行精度が低下するという課題と、ロボットアームの関節にかかる力やモーメントが大きくなりロボットに大きな負担がかかるという課題がある。
【0003】
これらの課題を解決するために、以下のような技術が開示されている。特許文献1に開示されている作業装置は、昇降路内を昇降移動する作業台と、作業台の外周部に水平方向に伸縮自在なアームを有する複数の固定装置を備え、アームが伸張してその先端を対向する昇降路内壁面に押付けることによって、作業台を所定高さ位置に保持する。特許文献2に開示されているメンテナンスシステムは、ボディと複数の固定アームを備える補修ロボットであり、各固定アームが、ボディをスリット付同軸線路に対して着脱自在に把持する一対のホールドアームを備える。一対のホールドアームは、スリット付同軸線路を挟み込んでボディをスリット付同軸線路に固定する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開平5-105362号公報
【文献】特開2016-37808号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように、不安定で移動可能な作業床上でロボットが作業を行うと、作業床が変位、回転、及び振動などの動きを起こし、ロボットの作業の実行精度が低下するとともに、ロボットに大きな負担がかかるという課題がある。特許文献1に開示された技術などの従来の技術では、アームを昇降路内壁面などの支持物体に押付けて作業床を固定する。
【0006】
しかし、ロボットの作業環境によっては、このような支持物体が適切な位置に存在せず、作業床を固定するのが困難なことがある。例えば、2つのエレベータかごが並んで据え付けられる昇降路では、2つのエレベータかごの間に壁がないため、アームを押付ける支持物体である昇降路内壁面が存在しないことがある。また、ロボットの作業環境によっては、支持物体の表面に段差や凸凹が存在することがあり、作業床を固定するのが困難なことがある。
【0007】
本発明は、ロボットの作業中に、ロボットが固定されている作業床が動くのを防止できる作業システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明による作業システムは、移動可能な作業床と、前記作業床に固定され、作業対象である第1の物体に作業を行う第1ロボットと、前記作業床に固定され、前記第1の物体と異なる第2の物体に接触可能な第2ロボットと、前記第1ロボットと前記第2ロボットを制御する制御装置とを備える。前記制御装置は、前記第1ロボットが前記第1の物体に対して作業を行う作業位置に基づいて、前記第2ロボットが前記第2の物体に接触する位置である支持位置を算出する。前記制御装置は、前記第2ロボットが前記第2の物体に前記支持位置で接触している状態で、前記第1ロボットに前記第1の物体に対して前記作業位置で作業を実施させる。
【発明の効果】
【0009】
本発明によると、ロボットの作業中に、ロボットが固定されている作業床が動くのを防止できる作業システムを提供することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施例1による作業システムの構成を示す図であり、作業システムを側方から見た図である。
【
図2A】作業システムが大きな反力が発生する作業を行っているときの、作業床の変位と回転を示す図であり、
図1に示した作業システムを上方から見た図である。
【
図2B】作業システムが大きな反力が発生する作業を行っているときの、作業床の変位と回転を示す図であり、
図1に示した作業システムを側方から見た図である。
【
図3】実施例1による作業システムが作業を実施する手順を示すフローチャートである。
【
図4】実施例1による作業システムが作業を実施している様子を示す図である。
【
図5】実施例1による作業システムにおいて、作業ロボットと支持ロボットが小さな反力が発生する作業を同時に実行している様子を示す図である。
【
図6】演算部が支持ロボットが行う作業を判断し、作業ロボットと支持ロボットが作業を実行する手順を示すフローチャートである。
【
図7】本発明の実施例2による作業システムの構成を示す図であり、作業システムを側方から見た図である。
【
図8】本発明の実施例3による作業システムの構成を示す図であり、作業システムを側方から見た図である
【発明を実施するための形態】
【0011】
本発明による作業システムは、移動可能な作業床上で作業(タスク)を行う作業ロボットを備え、作業ロボットの作業中に、作業ロボットが固定されている作業床が動くのを防止できる。作業床の動きには、作業床の変位、回転、及び振動のうち少なくとも1つが含まれる。
【0012】
本発明による作業システムは、作業ロボットとは異なる支持ロボットを備え、支持ロボットが接触対象の物体に接触している状態で、作業ロボットが作業対象の物体に対して作業を実施する。支持ロボットは、接触対象の物体に接触する位置(支持位置)を、作業ロボットの作業対象の物体についての作業位置に応じて変更できる。
【0013】
本発明による作業システムでは、作業ロボットの作業の実行精度を向上できて、作業ロボットにかかる負担を軽減できる。さらに、本発明による作業システムでは、様々な作業環境へ容易に適応することができ、作業環境によらず、作業中に作業床が動くのを効果的に防止することができる。本発明による作業システムは、移動可能な作業床に固定されたロボットが作業を実施する作業環境であれば、建設分野や物流分野などの任意の作業環境に適用でき、例えばエレベータの昇降路内での作業に用いることができる。
【0014】
以下、本発明の実施例による作業システムについて、図面を用いて説明する。なお、本明細書で用いる図面において、同一のまたは対応する構成要素には同一の符号を付け、これらの構成要素については繰り返しの説明を省略する場合がある。
【実施例1】
【0015】
図1から
図4を用いて、本発明の実施例1による作業システムを説明する。
【0016】
図1は、本実施例による作業システム100の構成を示す図であり、作業システム100を側方から見た図である。
図1において、XY面が水平面であり、Z方向が鉛直方向である。X方向とY方向は、任意に定めることができるが、一例として、対面する2つの壁6a、6bが存在する方向をX方向とし、X方向に直交する方向をY方向とする。X方向では、壁6bから壁6aに向かう方向が正である。Z方向では、上方向が正である。
【0017】
作業システム100は、作業ロボット1と、支持ロボット2と、作業床3と、ロープ4と、ワインダー5と、変位測定装置7と、回転測定装置8と、制御装置9を備える。
【0018】
作業ロボット1は、6つの自由度を持つロボットアームを備え、複数の作業を実行可能である。ロボットアームが6つの自由度を持つとは、ロボットアームが、X方向、Y方向、及びZ方向という3つの直進方向と、X方向の周りの回転方向、Y方向の周りの回転方向、及びZ方向の周りの回転方向という3つの回転方向とに自由度を持つ(移動可能である)ということである。
【0019】
作業ロボット1は、作業ツール14をロボットアームに備え、作業ツール14で作業対象の物体(以下、単に「作業対象」と呼ぶ)に作業を行う。本実施例では、作業ロボット1の作業対象は、壁6aであり、作業ロボット1の作業は、壁6aに穴を開けることである。作業ツール14は、作業ロボット1が作業対象に作業を行うための道具である。本実施例では、作業ロボット1は、作業対象である壁6aに穴を開けるためのドリルを作業ツール14として備える。作業ツール14には、ドリルに限らず、物体を把持するグリッパーや面取りをするための面取りカッターなどの、任意の作業道具を用いることができる。
【0020】
支持ロボット2は、作業ロボット1とは別のロボットである。支持ロボット2は、6つの自由度を持つロボットアームを備え、少なくとも、作業ロボット1の作業対象である壁6aと異なる物体に、ロボットアームで接触可能である。支持ロボット2は、作業ロボット1の作業対象と異なる物体に接触することで、作業ロボット1の作業中に作業床3が動くのを防止する支持作業を行う。本実施例では、一例として、支持ロボット2は、作業ロボット1の作業対象である壁6aと異なる壁6bにロボットアームで接触可能であり、壁6bに接触することで支持作業を行う。
【0021】
支持ロボット2は、柔軟部材で構成されたダンピングツール17をロボットアームの先端部に備え、ダンピングツール17で接触対象の物体に接触することができる。本実施例では、支持ロボット2は、ゴムなどの振動減衰材を柔軟部材として備え、振動減衰材で接触対象の物体である壁6bに接触する。
【0022】
作業床3は、ロープ4に吊り下げられており、昇降可能であるとともに、変位、振動、及び回転などの動きを起こすことがある。作業床3には、作業ロボット1と支持ロボット2が固定されている。
【0023】
ロープ4は、作業床3を吊るしている。ワインダー5は、それぞれのロープ4を巻き取る装置であり、ロープ4を巻き取ることで作業床3を昇降させることができる。作業床3は、ロープ4に吊るされているため、6つの自由度の方向のうち少なくとも1つの方向に移動可能である。本実施例では、ロープ4の数が2本であり、作業床3は、2点で吊り下げられて昇降する。
【0024】
変位測定装置7と回転測定装置8は、作業床3の移動を測定する測定装置である。作業床3の移動とは、例えば、変位、振動、及び回転などの作業床3の動きである。
【0025】
変位測定装置7は、作業床3に設けられており、作業床3の変位を測定する装置である。変位測定装置7の測定値は、制御装置9に入力される。変位測定装置7は、例えば、レーザ距離センサ、作業床3の加速度を測定する加速度センサ、及びモーションキャプチャシステムを備えることができる。レーザ距離センサが壁6aと壁6bの少なくとも一方と作業床3の側面との距離を測定することで、変位測定装置7は、作業床3の変位を求めることができる。加速度センサの測定値(作業床3の加速度)を時間について積分することで、変位測定装置7は、作業床3の変位を求めることができる。モーションキャプチャシステムが作業床3に付けられたマーカーの移動を検知することで、変位測定装置7は、作業床3の変位を求めることができる。
【0026】
変位測定装置7は、作業床3の振動を測定することもできる。また、変位測定装置7は、作業床3の変位から、作業床3の振動を求めることができる。
【0027】
回転測定装置8は、作業床3に設けられており、作業床3の回転を測定する装置である。回転測定装置8の測定値は、制御装置9に入力される。回転測定装置8は、例えば、慣性センサ、傾斜センサ、及びモーションキャプチャシステムを備えることができる。慣性センサが作業床3の姿勢を測定することで、回転測定装置8は、作業床3の回転角度を求めることができる。傾斜センサが作業床3の傾きを測定することで、回転測定装置8は、作業床3の回転角度を求めることができる。モーションキャプチャシステムが作業床3に付けられたマーカーの移動を検知することで、回転測定装置8は、作業床3の回転角度を求めることができる。
【0028】
制御装置9は、作業ロボット1と支持ロボット2を制御する。制御装置9は、制御部10と、タスクプランナー12と、演算部11と、データベース(DB)13を備え、コンピュータで構成することができる。
【0029】
制御部10は、タスクプランナー12、演算部11、及びデータベース13を制御するとともに、作業ロボット1と支持ロボット2を制御する。
【0030】
タスクプランナー12は、作業ロボット1と支持ロボット2の作業の計画を管理する。タスクプランナー12は、作業ロボット1と支持ロボット2が行う作業についての情報を予め格納している。例えば、タスクプランナー12には、作業ロボット1が行う作業の内容と使用する作業ツール14と、作業ロボット1が作業対象である壁6aに対して作業を行う作業位置が予め入力されている。
【0031】
演算部11は、支持ロボット2の壁6bへの最適な接触位置(支持位置)を演算して求め、求めた接触位置(支持位置)を制御部10に出力する。支持ロボット2の支持位置とは、作業ロボット1が作業位置で作業を実施することで作業床3に力が加わっても、作業床3が動かないように支持ロボット2が壁6bに接触する位置のことである。
【0032】
データベース13は、演算部11の演算結果と制御部10が入力したデータを記録するとともに、作業ロボット1と支持ロボット2が過去に作業を行ったときに得られたデータを記録する。例えば、データベース13は、作業ロボット1の壁6aへの作業位置、作業ロボット1が行なった作業の内容、作業ロボット1が使用した作業ツール14、支持ロボット2の壁6bへの支持位置、変位測定装置7が測定した作業床3の変位と振動、及び回転測定装置8が測定した作業床3の回転を記録する。
【0033】
本実施例による作業システム100は、作業床3が移動可能であれば、ロープ4とワインダー5を備えなくてもよい。例えば、作業床3が車輪を備えてX方向、Y方向、及びZ方向に移動可能であれば、作業システム100は、ロープ4とワインダー5を備えなくてもよい。また、ロープ4とワインダー5の数は、3つ以上でもよく、作業床3は、3点以上で吊り下げられて昇降してもよい。
【0034】
図2Aと
図2Bは、作業システム100が大きな反力が発生する作業を行っているときの、作業床3の変位と回転を示す図である。
図2Aと
図2Bには、一例として、作業ロボット1が作業対象である壁6aに穴を開ける作業を行っている様子を示している。
図2Aは、
図1に示した作業システム100をZ方向に沿って上方から見た図である。
図2Bは、
図1と同様に、作業システム100を側方から見た図である。
【0035】
作業ロボット1は、ロボットアームに作業ツール14を備え、壁6aの穴を開ける作業位置へロボットアームを移動させ、壁6aに作業ツール14を押し付けることで、壁6aに穴を開ける作業を行うことができる。作業中に発生する反力により、作業床3は、
図2Aの矢印15で示すように-X方向に変位し、
図2Aの矢印16で示すようにXY面内(水平面内)でZ方向の周りに回転し、さらに、
図2Bの矢印20で示すようにZX面内(鉛直面内)でY方向の周りに回転する。
【0036】
作業ロボット1が固定されている作業床3は、作業ロボット1が作業を実施すると、矢印15、16、20で示すように変位と回転を起こして動くことがある。本実施例による作業システム100は、支持ロボット2が壁6bに接触することにより、作業ロボット1の作業中に作業床3が動くのを防止できる。支持ロボット2は、壁6bに接触する位置(支持位置)を、作業ロボット1の壁6aについての作業位置に応じて変更できる。
【0037】
図3と
図4を用いて、本実施例による作業システム100が、作業床3が動くのを防止しつつ壁6aに穴を開ける作業を実施する手順を説明する。
【0038】
図3は、本実施例による作業システム100が作業を実施する手順を示すフローチャートである。
【0039】
ステップ31で、タスクプランナー12は、作業ロボット1が作業を実施する作業位置を演算部11に出力する。演算部11は、入力した作業位置を制御部10に転送する。
【0040】
ステップ32で、制御部10は、作業ロボット1のロボットアームが作業位置に到達するようにロボットアームの軌道を求め、求めた軌道に沿ってロボットアームを作業位置に移動させる。
【0041】
ステップ33で、演算部11は、作業位置に基づいて、支持ロボット2のダンピングツール17が壁6bに接触する位置である支持位置を算出し、算出した支持位置を制御部10に出力する。
【0042】
ステップ34で、制御部10は、支持ロボット2のダンピングツール17が壁6bに支持位置で接触するようにロボットアームの軌道を求め、求めた軌道に沿ってロボットアームを移動させる。制御部10は、ロボットアームの軌道として、ダンピングツール17が壁6bに軽く接触するような軌道、すなわち作業床3が動かない程度の小さい力でダンピングツール17が壁6bに接触するような軌道を求めるのが好ましい。支持ロボット2は、壁6bに支持位置で軽く接触することで支持作業を行う。
【0043】
ステップ35で、制御部10は、作業ロボット1に作業ツール14を用いて作業を実施させる。作業ロボット1は、制御部10に制御されて、支持ロボット2が壁6bに支持位置で接触している状態で、壁6aに対して作業位置で穴を開ける作業を行う。
【0044】
ステップ36で、制御部10は、作業ロボット1の作業が終わった後に、作業ロボット1と支持ロボット2のロボットアームを初期位置に戻す。
【0045】
図4は、本実施例による作業システム100が作業を実施している様子を示す図である。
図4は、
図2Aと同様に、
図1に示した作業システム100をZ方向に沿って上方から見た図である。
図4において、支持ロボット2のダンピングツール17は、ステップ33で演算部11が算出した支持位置で壁6bに接触している。
【0046】
作業床3に固定された支持ロボット2がダンピングツール17で壁6bに軽く接触しているため、作業床3は、壁6bで支持されている。このため、作業ロボット1が作業ツール14を用いて作業を実施しても、作業床3は、変位や回転や振動を起こさず動かない。
【0047】
本実施例による作業システム100は、
図3に示す手順を実行することにより、作業ロボット1の作業中に作業床3が変位や回転や振動を起こして動くのを、支持ロボット2によって防止することができる。このため、本実施例による作業システム100は、作業ロボット1の作業の実行精度が向上するとともに、ロボットアームの関節にかかる力やモーメントが大きくなって作業ロボット1に大きな負担がかかるのを防止できる。
【0048】
支持ロボット2が壁6bに軽く接触していると、作業ロボット1が壁6aに作業ツール14を押し付けたときに、この押し付け動作の反動により支持ロボット2の壁6bへの接触力が強くなり、作業床3が壁6bで支持されている状態になる。このため、支持ロボット2は、作業ロボット1が作業を実施する前に、壁6bに軽く接触するのが好ましい。
【0049】
支持ロボット2が作業ロボット1の作業前に壁6bに強く接触している場合には、作業床3は、作業ロボット1が作業を実施すると、支持ロボット2の壁6bへの接触位置を支点として、吊り下げられているロープ4に揺られ、変位や回転や振動を起こして動いてしまう。また、支持ロボット2が壁6bに接触していない状態で作業ロボット1が作業を実施すると、作業の開始に伴い支持ロボット2が壁6bにぶつかり、作業床3が動いてしまう。
【0050】
したがって、
図3のステップ34で支持ロボット2が壁6bに接触するときには、制御部10は、支持ロボット2の壁6bへの接触力を調整し、ダンピングツール17が壁6bに軽く接触する(すなわち、作業床3が動かない程度の小さい力でダンピングツール17が壁6bに接触する)ようにする必要がある。制御部10は、支持ロボット2がダンピングツール17で壁6bを押したときの力であって作業床3が動かない力を求め、支持ロボット2にこの求めた力で壁6bに接触させる。より具体的には、制御部10は、ステップ34で、支持ロボット2のダンピングツール17が壁6bを押す力(支持ロボット2の壁6bへの接触力)を作業床3が動くまで増やしていき、作業床3が動かない押す力(例えば、作業床3が動かない最大の押す力)を求め、この力でダンピングツール17が壁6bに接触するように接触力を調整する。
【0051】
制御部10は、例えば、支持ロボット2に設けられた電流センサを用いて、支持ロボット2が壁6bを押していったときのロボットアームの関節を動かすモータの電流の変化を検知することで、支持ロボット2の壁6bへの接触力を調整することができる。例えば、制御部10は、ロボットアームの関節の電流の値が予め定めた値に到達すれば、支持ロボット2が壁6bに軽く接触したと判断する。本実施例による作業システム100は、ロボットアームの関節の電流を測定することで、例えば、支持ロボット2のロボットアームが壁6bに加える力を測定する力センサを備えなくても、支持ロボット2の壁6bへの接触力を調整することができる。
【0052】
図3のステップ33で、演算部11は、支持ロボット2の壁6bへの支持位置を算出するのに任意の方法を用いることができ、例えば、モデルベース方法またはデータ駆動方法を用いることができる。なお、支持位置は、作業ロボット1の作業ツール14によって異なることがあるので、作業ツール14に応じて支持位置を求めるのが好ましい。
【0053】
モデルベース方法は、剛体の静的平衡方程式を用いて支持位置を算出する方法である。演算部11は、作業床3を剛体とみなし、作業位置で作業を実施する作業ロボット1によって作業床3に力が加わっても、作業床3が動かないような支持ロボット2の支持位置を求める。
【0054】
例えば、演算部11は、剛体の静的平衡方程式を用いることで、
図2Aの矢印15と矢印16で示した作業床3の変位と回転を発生させる力とモーメントを打ち消すことができるような、ダンピングツール17が壁6bに接触する位置(支持位置)を算出することができる。支持ロボット2が支持位置で壁6bに接触しているので、作業床3には、
図2Aの矢印15と矢印16で示した変位と回転と逆方向の変位と回転を発生させる力とモーメンとが発生する。このため、支持ロボット2のダンピングツール17が支持位置で壁6bに接触していると、作業床3の変位と回転を防止することができる。また、
図2Bの矢印20で示した作業床3の回転も、同様にして防止することができる。
【0055】
データ駆動方法は、過去の作業時に得られたデータを用いて支持位置を求める方法である。過去の作業時に得られたデータとは、例えば、作業ロボット1の作業位置と支持ロボット2の支持位置との組み合わせに対する、作業床3の移動(例えば、変位と回転)である。作業ロボット1の作業位置と支持ロボット2の支持位置との組み合わせには、作業ロボット1の作業ツール14を含めることができる。過去の作業時に得られたデータは、データベース13に保存されている。
【0056】
演算部11は、支持ロボット2の壁6bへの支持位置を求めるときには、データベース13から過去の作業時に得られたデータを取得する。そして、過去の作業時に得られたデータの中から、タスクプランナー12から取得した作業ロボット1の作業位置に対応する支持ロボット2の支持位置のうち、作業床3の移動(例えば、変位と回転)が最も小さい支持位置を探し出し、探し出した支持位置を支持ロボット2の壁6bへの支持位置とする。演算部11は、このようにして、支持ロボット2の壁6bへの支持位置を求めることができる。なお、演算部11は、過去の作業時に得られたデータの中から支持位置を探し出すときには、作業ロボット1の作業ツール14を考慮し、作業ロボット1が使用するのと同じ作業ツール14を用いたときの支持位置を探し出してもよい。
【0057】
演算部11は、支持ロボット2の壁6bへの支持位置を求めた後、求めた支持位置を制御部10に出力する。制御部10は、作業ロボット1が作業を実施した際の変位測定装置7と回転測定装置8のデータを取得する。データベース13は、変位測定装置7と回転測定装置8のデータと、これらのデータが得られたときの作業ロボット1の作業位置と支持ロボット2の支持位置と作業ロボット1が使用した作業ツール14についての情報を保存する。
【0058】
演算部11は、データ駆動方法で支持ロボット2の支持位置を求めるときには、ニューラルネットワークやクラスタリングなどの機械学習アルゴリズムを用いてもよい。データ駆動方法は、データが多いほど最適な支持位置を求めることができるので、データを多く取れる作業システム100に適している。
【0059】
演算部11が算出した支持位置に、支持ロボット2が接触可能な壁などの物体が存在しないこともある。これは、例えば、作業システム100が、作業ロボット1の作業位置(壁6a)の対面する位置に壁がない作業環境で作業をする場合である。支持ロボット2が接触可能な物体が、演算部11が算出する支持位置に存在しない可能性がある場合には、支持ロボット2が接触可能な物体が存在する領域のデータが必要である。
【0060】
データベース13は、事前に求められた、支持ロボット2が接触可能な物体が存在する領域のデータを保存することができる。この領域のデータは、作業環境のCADデータや、レーザートラッカーなどで検出した物体の位置から求めることができる。
【0061】
演算部11は、
図3のステップ33で、支持ロボット2が接触可能な物体が存在する領域の中から、支持ロボット2の支持位置を求めることができる。支持ロボット2の支持位置は、作業システム100の作業環境によって異なると考えられる。本実施例による作業システム100は、作業システム100の作業環境に応じて支持ロボット2の支持位置を求めることができる。
【0062】
また、演算部11は、
図3のステップ33で、支持ロボット2の支持位置を複数求めることができる。支持ロボット2は、複数の支持位置のうち任意の1つの支持位置で、壁6bなどの物体に接触することができる。
【0063】
本実施例による作業システム100は、このようにフレキシブルに支持ロボット2の支持位置を求めることができるので、様々な作業環境へ容易に適応することができる。このため、本実施例による作業システム100は、作業システム100の作業環境によらず、作業中に作業床3が動くのを効果的に防止することができる。
【0064】
本実施例による作業システム100は、作業ロボット1の作業により発生する反力の大きさが大きいか否かを判断し、この判断結果に基づいて、支持ロボット2が支持作業を行うか、支持作業以外の小さな反力が発生する作業を行うかを制御することができる。
図1から
図4を用いた説明では、作業ロボット1が大きな反力が発生する作業(例えば、壁6aに穴を開ける作業)を行っているときに、支持ロボット2が支持作業を行って作業床3が動くのを防止する作業システム100について説明した。作業ロボット1が作業を行っているときに、支持ロボット2が支持作業以外の作業を行なえば、作業システム100は、実施すべき作業のスループットを向上できる。
【0065】
図5は、本実施例による作業システム100において、作業ロボット1と支持ロボット2が小さな反力が発生する作業を同時に実行している様子を示す図である。
図5には、一例として、小さな反力が発生する作業としてピックアンドプレース作業を実行している様子を示している。ピックアンドプレース作業は、物体52を把持して搬送する作業であり、支持作業以外の作業である。ピックアンドプレース作業では、穴を開けるなどの壁に対する作業と比べて、小さな反力が発生する。
【0066】
作業ロボット1と支持ロボット2は、ロボットアームの先端部にグリッパー51を備え、グリッパー51で物体52を把持して搬送する。
【0067】
本実施例による作業システム100では、演算部11が、作業ロボット1の作業により発生する反力の大きさが大きいか否かを判断し、この判断結果に基づいて、支持ロボット2が支持作業を行うか、支持作業以外の小さな反力が発生する作業(例えば、ピックアンドプレース作業)を行うかを判断する。
【0068】
図6は、演算部11が支持ロボット2が行う作業を判断し、作業ロボット1と支持ロボット2が作業を実行する手順を示すフローチャートである。
【0069】
ステップ61で、演算部11は、タスクプランナー12から作業ロボット1が行う作業についての情報を取得する。
【0070】
ステップ62で、演算部11は、取得した作業ロボット1の作業についての情報を基にして、作業ロボット1の作業が、予め定めた値を超える大きな反力を発生させるか否かを判断する。演算部11は、この判断を行うときに、データベース13に記録された、過去の作業時に得られたデータを用いることができる。作業ロボット1の作業が大きな反力を発生させると判断した場合には、ステップ63の処理を実行する。作業ロボット1の作業が大きな反力を発生しないと判断した場合には、ステップ64の処理を実行する。
【0071】
演算部11は、例えば、作業床3の変位の大きさ、振動の振幅、または回転の角度が予め定めた上限値を超える作業を、大きな反力が発生する作業であると判断することができる。例えば、演算部11は、作業床3の変位の大きさや振動の振幅が1mmを超える作業を、大きな反力が発生する作業であると判断する。この上限値は、作業の精度に影響を与えないような、作業床3の変位の大きさ、振動の振幅、または回転の角度の値であり、要素実験などで事前に求めることができる。
【0072】
ステップ63で、演算部11は、制御部10に指令を送信し、支持ロボット2に支持作業を実行させる。支持ロボット2は、制御部10に制御されて支持作業を実行する。
【0073】
ステップ65で、演算部11は、制御部10に指令を送信し、作業ロボット1に大きな反力が発生する作業を実行させる。作業ロボット1は、制御部10に制御されて、大きな反力が発生する作業(例えば、壁6aに穴を開ける作業)を実行する。
【0074】
ステップ64で、演算部11は、制御部10に指令を送信し、支持ロボット2に支持作業以外の小さな反力が発生する作業を実行させる。支持ロボット2は、制御部10に制御されて、支持作業以外の小さな反力が発生する作業を実行する。小さな反力が発生する作業とは、上述の上限値以下の反力が発生する作業であり、例えばピックアンドプレース作業である。
【0075】
ステップ66で、演算部11は、制御部10に指令を送信し、作業ロボット1に大きな反力が発生しない作業を実行させる。作業ロボット1は、制御部10に制御されて、大きな反力が発生しない作業、すなわち小さな反力が発生する作業(例えば、ピックアンドプレース作業)を実行する。
【0076】
ステップ64とステップ66で、支持ロボット2と作業ロボット1は、小さな反力が発生する作業(例えば、ピックアンドプレース作業)を実行する。このとき、支持ロボット2の動作と作業ロボット1の動作が互いに逆相であれば、作業床3が動くのをより効果的に防止できる。従って、制御部10は、支持ロボット2に支持作業以外の小さな反力が発生する作業を実行させるときには、支持ロボット2に、作業ロボット1の動作と逆相になる動作を実行させ、支持ロボット2の動作と作業ロボット1の動作が互いに逆相になるように制御するのが好ましい。動作が互いに逆相になるとは、例えば、支持ロボット2と作業ロボット1のロボットアームが同じタイミングで互いに逆方向に同じ距離や角度だけ移動することである。
【0077】
例えば、
図5において、作業ロボット1のロボットアームが、+X方向と+Y方向に移動し、支持ロボット2のロボットアームが、作業ロボット1のロボットアームと逆相に移動、すなわち-X方向と-Y方向に作業ロボット1のロボットアームと同じタイミングで同じ距離だけ移動するとする。このように作業ロボット1と支持ロボット2のロボットアームが互いに逆相に移動することにより、それぞれのロボットアームの移動によって生じる作業床3の動きが互いに打ち消されるので、作業床3が動くのをより効果的に防止できる。
【0078】
以上の説明では、支持ロボット2と作業ロボット1について、X方向とY方向における逆相の動作を説明した。作業床3がZ方向に動く場合には、制御部10は、Z方向において、支持ロボット2の動作と作業ロボット1の動作が互いに逆相になるように制御することで、作業床3が動くのを効果的に防止できる。
【0079】
以上説明したように、本実施例による作業システム100では、作業ロボット1の作業中に作業床3が動くのを支持ロボット2によって防止でき、作業ロボット1の作業の実行精度を向上できて、作業ロボット1にかかる負担を軽減できる。
【実施例2】
【0080】
図7を用いて、本発明の実施例2による作業システムを説明する。
【0081】
図7は、本実施例による作業システム100の構成を示す図であり、作業システム100を側方から見た図である。
【0082】
本実施例による作業システム100は、実施例1による作業システム100とほぼ同様の構成を備えるが、支持ロボット2がロボットアームの先端部に固定部材22と力センサ21を備える点が、実施例1による作業システム100と異なる。また、本実施例では、作業システム100の作業環境が実施例1での作業環境と異なり、支持ロボット2の接触対象の物体(接触可能な物体)は、磁性体の物体であり、例えば鉄骨23である。
【0083】
固定部材22は、支持ロボット2のロボットアームを鉄骨23に固定するための部材である。固定部材22は、ロボットアームを鉄骨23に固定できる部材であれば、任意の部材を用いて構成できる。例えば、固定部材22には、磁力で鉄骨23を吸着するマグネットハンド、複数の指で鉄骨23を把持するグリッパー、及び空気を吸引して鉄骨23を吸着する真空グリッパーなどを用いることができる。本実施例では、一例として、固定部材22にマグネットハンドを用いる。
【0084】
力センサ21は、支持ロボット2が接触対象の物体に加える力を測定する。支持ロボット2が接触対象の物体に加える力とは、例えば、支持ロボット2のロボットアームが接触対象の物体に接する面に垂直な方向の力である。本実施例では、力センサ21は、支持ロボット2のロボットアームが鉄骨23に加える力を測定する。力センサ21の測定値である力データは、制御装置9に入力される。
【0085】
制御装置9の制御部10は、支持ロボット2のロボットアームが鉄骨23に力を加えていったときの力データの変化を検知することにより、ロボットアームが鉄骨23に固定されたことを認識できる。すなわち、本実施例では、制御部10は、支持ロボット2が鉄骨23に適切な力で固定されたことを認識できる。
【0086】
実施例1では、支持ロボット2は、ダンピングツール17で接触対象の物体(壁6b)に軽く接触している。これは、支持ロボット2が壁6bに過度に大きな力で接触していると、作業ロボット1の作業により作業床3が動いてしまうので、作業床3のこの動きを防ぐためである。実施例1では、制御部10は、電流センサを用いて、支持ロボット2のロボットアームの関節を動かすモータの電流を測定して、支持ロボット2の壁6bへの接触力を調整する。
【0087】
本実施例による作業システム100では、支持ロボット2は、力センサ21を備える。このため、制御部10は、力データを用いることで、ロボットアームの関節の電流を測定して接触力を調整する実施例1による作業システム100よりも正確に、支持ロボット2が接触対象の物体(鉄骨23)に適切な力で固定されたことを認識できる。この適切な力は、作業の精度に影響を与えないような値であり、要素実験などで事前に求めることができる。例えば、制御部10は、力データが予め定めた値(例えば20N)に到達すれば、支持ロボット2が接触対象の物体に適切な力で固定されたと判断する。従って、本実施例による作業システム100は、支持ロボット2を接触対象の物体(鉄骨23)に適切な力で固定し、支持ロボット2が鉄骨23に過度に大きな力で接触しないようにすることができ、作業ロボット1の作業中に作業床3が動くのを防止することができる。
【0088】
本実施例では、作業床3に固定された支持ロボット2は、ロボットアームの固定部材22により、鉄骨23に固定される。本実施例による作業システム100では、作業ロボット1の作業中に作業床3が鉄骨23によって固定されるので、作業床3が特定の方向だけではなく、6つの自由度の方向(3つの直進方向と3つの回転方向)に動くのを防止でき、作業床3の動きをより抑制することができる。
【0089】
以上説明したように、本実施例による作業システム100では、作業ロボット1の作業中に作業床3が動くのを防止できるとともに、作業ロボット1の作業の実行精度を向上できて、作業ロボット1にかかる負担を軽減できる。
【0090】
また、本実施例では、支持ロボット2が力センサ21を備えるので、制御部10は、力データの変化により、作業ロボット1が作業を実施しているときに、支持ロボット2が接触対象の物体と接触しなくなったことを検知できる。例えば、制御部10は、固定部材22がロボットアームを鉄骨23に固定しなくなったこと(すなわち、固定部材22が鉄骨23と接触せず、ロボットアームが鉄骨23から外れたこと)を検知できる。力センサ21は、支持ロボット2が接触対象の物体に加える力を測定し、測定値である力データを得る。制御部10は、力センサ21が得た力データが予め定めた閾値(例えば20N)以上であれば、支持ロボット2が接触対象の物体に接触しており、力データがこの閾値より小さくなれば、接触対象の物体に接触していた支持ロボット2が接触対象の物体に接触しなくなったと判断する。
【0091】
さらに、本実施例では、作業ロボット1が作業を行っているときの作業ロボット1が壁6aに加える力(押し付け力)を推測することができる。作業ロボット1の壁6aへの押し付け力が適切でないと、作業ロボット1が壊れる恐れがある。本実施例による作業システム100は、作業ロボット1の壁6aへの押し付け力を推測して、作業ロボット1が壊れるのを防止できる。
【0092】
作業ロボット1が壁6aに加える力は、作業床3が動いていないので、支持ロボット2が壁6bに加える力と同じまたはほぼ同じ大きさであると考えることができる。このため、本実施例では、制御装置9は、作業ロボット1が壁6aに加える力を、力センサ21が測定した支持ロボット2が壁6bに加える力に等しいと推測して求める。制御装置9は、支持ロボット2が備える力センサ21を用いて、作業ロボット1の壁6aへの押し付け力を求めることで、作業ロボット1が発生させるノイズの影響を受けずに、作業ロボット1の壁6aへの押し付け力をより正確に得ることができる。
【実施例3】
【0093】
図8を用いて、本発明の実施例3による作業システムを説明する。
【0094】
図8は、本実施例による作業システム100の構成を示す図であり、作業システム100を側方から見た図である。
【0095】
本実施例による作業システム100は、実施例1による作業システム100とほぼ同様の構成を備えるが、支持ロボット2が、作業ロボット1が備える作業ツール14と同じ作業ツール14をロボットアームに備える点が、実施例1による作業システム100と異なる。実施例1では、支持ロボット2は、ダンピングツール17で接触対象の物体(壁6b)の支持位置に軽く接触している。
【0096】
本実施例では、支持ロボット2は、作業ロボット1が壁6aに対して作業位置で実施する作業と同じ作業を、作業ロボット1と同時に、同じ作業ツール14を用いて、壁6bの支持位置にて実施する。壁6bは、壁6aに対面する物体(作業ロボット1と支持ロボット2を挟んで壁6aの反対側にある物体)である。作業ロボット1と支持ロボット2は、大きな反力が発生する作業(例えば、壁6aと壁6bに穴を開ける作業)を行うことができる。本実施例による作業システム100では、支持ロボット2が、壁6bの支持位置にて作業ロボット1と同じ作業を同じ作業ツール14を用いて同時に実施することで、作業ロボット1が作業を行っているときに、作業床3が動くのを防止することができる。
【0097】
演算部11は、実施例1で説明したのと同様の方法を用いて、支持ロボット2の壁6bへの支持位置を演算して求める。但し、本実施例では、支持位置は、支持ロボット2による作業が必要な位置である必要がある。演算部11は、この条件を考慮して、支持位置を求める。
【0098】
制御部10は、作業ロボット1に、壁6aに対して作業位置で、作業ツール14を用いて作業を実施させる。これとともに、制御部10は、支持ロボット2に、作業ロボット1が壁6aに対して作業位置で実施するのと同じ作業を、作業ロボット1が作業を実施するのと同時に、壁6bに対して支持位置で、作業ツール14を用いて実施させる。
【0099】
本実施例による作業システム100では、作業ロボット1と支持ロボット2が作業、特に大きな反力が発生する作業を実施しているときに、作業床3が動くのを防止できる。また、本実施例による作業システム100では、作業ロボット1と支持ロボット2が同時に作業を行っているため、作業の効率を向上することができる。
【0100】
なお、本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。例えば、上記の実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明は、必ずしも説明した全ての構成を備える態様に限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能である。また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、削除したり、他の構成を追加・置換したりすることが可能である。
【符号の説明】
【0101】
1…作業ロボット、2…支持ロボット、3…作業床、4…ロープ、5…ワインダー、6a、6b…壁、7…変位測定装置、8…回転測定装置、9…制御装置、10…制御部、11…演算部、12…タスクプランナー、13…データベース、14…作業ツール、15…作業床の変位を示す矢印、16…作業床の回転を示す矢印、17…ダンピングツール、20…作業床の回転を示す矢印、21…力センサ、22…固定部材、23…鉄骨、51…グリッパー、52…物体、100…作業システム。