(57)【要約】【課題】作業軌跡の蛇行を低減すること。【解決手段】ロボットシステムは、ロボットと、走行部と、コントローラとを備える。ロボットは、ワークに対して作業を行う。走行部は、ロボットが載置され、水平向きに走行する。コントローラは、ロボットおよび走行部の動作を制御する。ロボットは、旋回部と、第１アームとを備える。旋回部は、鉛直軸まわりに旋回する。第１アームは、旋回部に基端側が支持され、鉛直軸に対して垂直な第１軸まわりに旋回する。コントローラは、決定部を備える。決定部は、ロボットの姿勢を作業姿勢に固定した状態で走行部の走行によってワークに対して作業を行う場合に、作業姿勢の直前に動作させるロボットの部位に基づき、作業姿勢における第１アームの向きが上面視で走行部の走行方向となす角度を決定する。【選択図】図３
2019055440.tif 000002
【特許請求の範囲】
【請求項１】
ワークに対して作業を行うロボットと、
前記ロボットが載置され、水平向きに走行する走行部と、
前記ロボットおよび前記走行部の動作を制御するコントローラと
を備え、
前記ロボットは、
鉛直軸まわりに旋回する旋回部と、
前記旋回部に基端側が支持され、前記鉛直軸に対して垂直な第１軸まわりに旋回する第１アームと
を備え、
前記コントローラは、
前記ロボットの姿勢を作業姿勢に固定した状態で前記走行部の走行によって前記ワークに対して作業を行う場合に、前記作業姿勢の直前に動作させる前記ロボットの部位に基づき、前記作業姿勢における前記第１アームの向きが上面視で前記走行部の走行方向となす角度を決定する決定部
を備えること
を特徴とするロボットシステム。
【請求項２】
前記決定部は、
前記作業姿勢の直前に前記旋回部を旋回させる場合には、前記作業姿勢における前記第１アームの向きが上面視で前記走行方向となす角度を９０度またはマイナス９０度に決定すること
を特徴とする請求項１に記載のロボットシステム。
【請求項３】
前記決定部は、
前記作業姿勢の直前に前記第１アームを旋回させる場合には、前記作業姿勢における前記第１アームの向きが上面視で前記走行方向となす角度を０度または１８０度に決定すること
を特徴とする請求項１に記載のロボットシステム。
【請求項４】
前記ロボットは、
前記ワークに対して下方から前記作業を行うこと
を特徴とする請求項１〜３のいずれか一つに記載のロボットシステム。
【請求項５】
前記ロボットは、
前記第１アームの先端側に基端側が支持され、前記第１軸と平行な第２軸まわりに旋回する第２アーム
をさらに備え、
前記第１軸は、
鉛直軸に対してオフセットしており、
前記ロボットは、
前記第１アームの先端側が前記第１軸よりも前記鉛直軸から遠く、前記第２アームの先端側が前記第２軸よりも前記鉛直軸から遠く、前記第２アームの先端側が前記第１軸と前記第２軸とを含む平面よりも上方にある姿勢で、前記作業を行うこと
を特徴とする請求項１〜４のいずれか一つに記載のロボットシステム。
【請求項６】
前記第１アームは、
アーム長が前記鉛直軸と前記第１軸とのオフセット長よりも長く、
前記第２アームは、
アーム長が前記第１アームのアーム長よりも長いこと
を特徴とする請求項５に記載のロボットシステム。
【請求項７】
前記ロボットは、
前記第２アームの先端側に基端側が支持される手首部
をさらに備え、
前記第２アームおよび前記手首部は、
中空であること
を特徴とする請求５または６に記載のロボットシステム。
【請求項８】
鉛直軸まわりに旋回する旋回部と、前記旋回部に基端側が支持され、前記鉛直軸に対して垂直な第１軸まわりに旋回する第１アームとを有し、ワークに対して作業を行うロボットと、
前記ロボットが載置され、水平向きに走行する走行部と、
前記ロボットおよび前記走行部の動作を制御するコントローラと
を用い、
前記コントローラが、前記ロボットの姿勢を作業姿勢に固定した状態で前記走行部の走行によって前記ワークに対して作業を行わせる工程と、
前記コントローラが、前記作業姿勢の直前に動作させる前記ロボットの部位に基づき、前記作業姿勢における前記第１アームの向きが上面視で前記走行部の走行方向となす角度を決定する工程と
を含むことを特徴とするワークの製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の実施形態は、ロボットシステムおよびワークの製造方法に関する。
【背景技術】
【０００２】
従来、複数の関節部をそれぞれ駆動して動作するロボットが知られている。かかるロボットの先端には、溶接や把持といった用途にあわせたエンドエフェクタが取り付けられ、ワークの加工や移動といった様々な作業が行われる。
【０００３】
また、上記したロボットを走行台車や直動スライダに載置することで、ロボットを所定の走行向きへ走行させつつ、作業を行わせるロボットシステムも提案されている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１０７３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のロボットシステムでは、ロボットの振動に対する対策が十分とはいえない。たとえば、ロボットを所定の走行向きへ走行させることでワークに対して直線的に作業を行わせる場合、走行向きと交差する向きにロボットが振動すると、作業軌跡が蛇行する問題が生じる可能性がある。
【０００６】
実施形態の一態様は、作業軌跡の蛇行を低減することができるロボットシステムおよびワークの製造方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
実施形態の一態様に係るロボットシステムは、ロボットと、走行部と、コントローラとを備える。ロボットは、ワークに対して作業を行う。走行部は、前記ロボットが載置され、水平向きに走行する。コントローラは、前記ロボットおよび前記走行部の動作を制御する。前記ロボットは、旋回部と、第１アームとを備える。旋回部は、鉛直軸まわりに旋回する。第１アームは、前記旋回部に基端側が支持され、前記鉛直軸に対して垂直な第１軸まわりに旋回する。前記コントローラは、決定部を備える。決定部は、前記ロボットの姿勢を作業姿勢に固定した状態で前記走行部の走行によって前記ワークに対して作業を行う場合に、前記作業姿勢の直前に動作させる前記ロボットの部位に基づき、前記作業姿勢における前記第１アームの向きが上面視で前記走行部の走行方向となす角度を決定する。
【発明の効果】
【０００８】
実施形態の一態様によれば、作業軌跡の蛇行を低減可能なロボットシステムおよびワークの製造方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係るロボットシステムの概要を示す上面模式図である。
【図２】図２は、ロボットの側面図である。
【図３】図３は、ロボットシステムの構成を示すブロック図である。
【図４Ａ】図４Ａは、旋回部の旋回で作業姿勢をとった場合の説明図である。
【図４Ｂ】図４Ｂは、旋回部の旋回に伴う振動の参考図である。
【図５Ａ】図５Ａは、第１アームの旋回で作業姿勢をとった場合の説明図である。
【図５Ｂ】図５Ｂは、第１アームの旋回に伴う振動の説明図である。
【図６】図６は、コントローラが実行する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して、本願の開示するロボットシステムおよびワークの製造方法の実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。また、以下では、ロボットがいわゆるシール材を塗布するシール作業を行う場合について主に説明するが、作業内容は、シール材の塗布に限らず、塗装や、溶接などであってもよい。
【００１１】
また、以下に示す実施形態では、「直交」、「垂直」、「平行」、「同じ」といった表現を用いるが、厳密に「直交」、「垂直」、「平行」あるいは「同じ」であることを要しない。また、角度等を示す数値についても示した数値に厳密には限定されない。すなわち、上記した各表現は、製造精度、設置精度などのずれを許容するものとする。
【００１２】
まず、実施形態に係るロボットシステム１について図１を用いて説明する。図１は、実施形態に係るロボットシステム１の概要を示す上面模式図である。なお、図１には、ロボットシステム１を上方からみた模式図を示している。また、図１では、説明をわかりやすくするために、鉛直上向きが正方向であるＺ軸、ロボットが作業姿勢をとった状態で走行する向きを正方向とするＸ軸を含む３次元の直交座標系を図示している。かかる直交座標系は、以下の説明で用いる他の図面においても示す場合がある。
【００１３】
図１に示すように、ロボットシステム１は、走行部１０と、ロボット２０と、コントローラ３０とを備える。走行部１０は、走行台車や直動スライダなどの走行装置であり、作業室等に設けられた直線状のレール１００に沿って水平向きに走行する。ロボット２０は、走行部１０に載置され、下方からワークＷに対する作業を行う。なお、ロボット２０の構成例については、図２を用いて後述する。
【００１４】
コントローラ３０は、走行部１０およびロボット２０の動作を制御する、いわゆる制御装置である。コントローラ３０は、ロボット２０の姿勢を所定の作業姿勢に固定した状態で走行部１０を走行させることによって、ロボット２０にワークＷに対する作業を行わせる。
【００１５】
なお、図１には、参考のため、ロボット２０の作業軌跡ＴＲを示している。ここで、ロボット２０の姿勢は作業姿勢に固定されているので、ワークＷに対するロボット２０の相対位置は、走行部１０の走行によってのみ変化することになる。したがって、作業軌跡ＴＲは直線状となる。
【００１６】
ここで、コントローラ３０は、作業姿勢の直前に動作させるロボット２０の部位に基づき、作業姿勢における第１アーム２１のアーム向きＡＤが、上面視で走行部１０の走行方向Ｖとなす角度θを決定する。
【００１７】
これは、作業姿勢の直前に動作させる部位によって、ロボット２０の振動向きが変化し、かかる振動向きによっては、作業軌跡ＴＲの直線性が阻害されるためである。つまり、コントローラ３０は、ロボット２０の振動向きが、作業軌跡ＴＲの直線性へ及ぼす影響が小さくなるように、第１アーム２１のアーム向きＡＤを決定する。なお、この点の詳細については、図４Ａ、図４Ｂ、図５Ａおよび図５Ｂを用いて後述する。
【００１８】
次に、ロボット２０の構成例について図２を用いて説明する。図２は、ロボット２０の側面図である。図２に示すように、ロボット２０は、鉛直軸Ａ０〜第５軸Ａ５の６軸を有するいわゆる垂直多関節ロボットである。また、ロボット２０は、基端側から先端側へ向けて、ベース部Ｂと、旋回部Ｓと、第１アーム２１と、第２アーム２２と、手首部２３とを備える。本実施形態では、これらの可動部位をロボット２０の「部位」と呼ぶことがある。
【００１９】
ベース部Ｂの下面側は、走行部１０に固定される。旋回部Ｓは、基端側がベース部Ｂの上面側で支持され、鉛直軸Ａ０まわりに旋回する。第１アーム２１は、基端側が旋回部Ｓの先端側に支持され、鉛直軸Ａ０と垂直な第１軸Ａ１まわりに旋回する。
【００２０】
ここで、第１アーム２１のアーム向きＡＤは、第１アーム２１の延伸向きを指すが、第１軸Ａ１および第２軸Ａ２の双方に垂直で、第１軸Ａ１から第２軸Ａ２へ向かうベクトルの向きを第１アーム２１のアーム向きＡＤとすることとしてもよい。
【００２１】
第２アーム２２は、基端側が第１アーム２１の先端側に支持され、第１軸Ａ１と平行な第２軸Ａ２まわりに旋回する。手首部２３は、基端側が第２アーム２２の先端側に支持され、第２軸Ａ２と平行な第４軸Ａ４まわりに旋回する。
【００２２】
ここで、第２アーム２２は、基端部２２ａと、先端部２２ｂとを備えている。先端部２２ｂは、基端側が基端部２２ａの先端側に支持され、第２軸Ａ２と垂直な第３軸Ａ３まわりに回転する。なお、第２アーム２２は、上記したように第１軸Ａ１と平行な第２軸Ａ２まわりに旋回するので、上面視における第２アーム２２の向きは、第１アーム２１の向きと同じといえる。
【００２３】
ここで、垂直多関節ロボットの軸構成を表記する場合、第２アーム２２の基端部２２ａを「第２アーム」とし、第２アーム２２の先端部２３ｂおよび手首部２３を「手首部」とすることが一般的である。しかしながら、本実施形態では、後述するアーム長Ｌ３を示すため、基端部２２ａおよび先端部２２ｂを第２アーム２２と記載している。
【００２４】
また、手首部２３は、基端部２３ａと、先端部２３ｂとを備えている。先端部２３ｂは、基端部２３ａの先端側に支持され、第４軸Ａ４と直交する第５軸Ａ５まわりに回転する。また、先端部２３ｂの先端側には、シール装置などのエンドエフェクタＥＥが着脱可能に取り付けられる。なお、エンドエフェクタＥＥとしては、シール装置以外に、塗装装置や、アーク溶接装置等を用いることができる。
【００２５】
なお、第２アーム２２と、手首部２３とを中空にすることとしてもよい。このようにすることで、エンドエフェクタＥＥ用のケーブル等を、かかる中空に挿通することができる。したがって、ケーブル等がロボット２０の振動に与える影響を抑えることができるので、ロボット２０自体の振動を小さくすることが可能となる。
【００２６】
なお、第２アーム２２を中空にする際には、先端部２２ｂと、基端部２２ａの第３軸Ａ３に沿う部位とを中空にすることとしてもよい。つまり、基端部２２ａの一部のみを中空にすることとしてもよい。
【００２７】
ところで、鉛直軸Ａ０と、第１軸Ａ１とは、水平向きにオフセット長Ｌ１だけオフセットしている。また、第１アーム２１のアーム長Ｌ２は、第２アームのアーム長Ｌ３よりも小さい。また、オフセット長Ｌ１は、第１アーム２１のアーム長Ｌ２よりも小さい。
【００２８】
言い換えると、第１アーム２１のアーム長Ｌ２は、鉛直軸Ａ０と第１軸Ａ１とのオフセット長Ｌ１よりも長く、第２アーム２２のアーム長Ｌ３は、第１アーム２１のアーム長Ｌ２よりも長い。なお、アーム長Ｌ２は、第１軸Ａ１と第２軸Ａ２との軸間距離に相当し、アーム長Ｌ３は、第２軸Ａ２と第４軸Ａ４との軸間距離に相当する。
【００２９】
このように、鉛直軸Ａ０と第１軸Ａ１とをオフセットさせることで、第１アーム２１を旋回部Ｓやベース部Ｂに接触させることなく、第１アーム２１の可動範囲を広くとることができる。
【００３０】
また、「オフセット長Ｌ１＜アーム長Ｌ２＜アーム長Ｌ３」の関係とすることで、ロボット２０のベース部Ｂと、ワークＷとの高低差を小さく抑えつつ、ワークＷに対する作業範囲（ＸＹ平面と平行な平面の面積）を広げることができる。
【００３１】
言い換えると、ワークＷをロボット２０側へ近づけて配置することが可能となり、このような配置であっても、ロボット２０の作業範囲を十分に確保することができる。つまり、ワークＷをレール１００へ近づけて配置することが可能となり、作業室そのものを低背化することができる。
【００３２】
また、ロボット２０は、図２に示した作業姿勢でワークＷに対する作業を行うことができる。すなわち、図２に示したように、第１アーム２１の先端側が第１軸Ａ１よりも鉛直軸Ａ０から遠く、第２アーム２２の先端側が第２軸Ａ２よりも鉛直軸Ａ０から遠く、第２アーム２２の先端側が第１軸Ａ１と第２軸Ａ２とを含む平面よりも上方にある（すなわち、第１アーム２１と第２アーム２２との間の関節がいわゆる下肘の状態となる）姿勢を、作業姿勢とすることができる。
【００３３】
これは、ロボットシステム１が、上面視における第１アーム２１のアーム向きＡＤをロボット２０の振動を抑える向きに制限するからこそ可能となる作業姿勢である。具体的には、図２に示した作業姿勢をとり、旋回部Ｓから遠い作業位置でワークＷに対する作業を行う場合には、一般的には、ロボット２０の振動の振幅が大きくなる。
【００３４】
しかしながら、ロボットシステム１によれば、上面視における第１アーム２１のアーム向きＡＤを、ロボット２０の振動の影響が小さくなる向きに制限するので、ロボット２０が図２に示した作業姿勢をとった場合であっても、作業軌跡の蛇行を低減することができる。また、第１アーム２１と第２アーム２２との間の関節が下肘の状態となる姿勢とすることで、上肘の状態となる姿勢をとる場合よりもロボット２０の姿勢を大きく変更することなくワークＷに対する作業範囲を広げることができる。
【００３５】
次に、コントローラ３０の構成について図３を用いて説明する。図３は、コントローラ３０のブロック図である。図３に示すように、コントローラ３０は、走行部１０およびロボット２０にそれぞれ接続されている。また、コントローラ３０は、制御部３１と、記憶部３２とを備える。
【００３６】
制御部３１は、決定部３１ａと、動作制御部３１ｂとを備える。記憶部３２は、教示情報３２ａを記憶する。なお、図１には、説明を簡略化するために、１台のコントローラ３０を示したが、走行部１０およびロボット２０のそれぞれに対応するコントローラ３０を用いることとしてもよい。この場合、各コントローラを束ねる上位のコントローラを設けることとしてもよい。
【００３７】
ここで、コントローラ３０は、たとえば、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、入出力ポートなどを有するコンピュータや各種の回路を含む。
【００３８】
コンピュータのＣＰＵは、たとえば、ＲＯＭに記憶されたプログラムを読み出して実行することによって、制御部３１の決定部３１ａおよび動作制御部３１ｂとして機能する。
【００３９】
また、決定部３１ａおよび動作制御部３１ｂの少なくともいずれか一つまたは全部をＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウェアで構成することもできる。
【００４０】
また、記憶部３２は、たとえば、ＲＡＭやＨＤＤに対応する。ＲＡＭやＨＤＤは、教示情報３２ａを記憶することができる。なお、コントローラ３０は、有線や無線のネットワークで接続された他のコンピュータや可搬型記録媒体を介して上記したプログラムや各種情報を取得することとしてもよい。さらに、上記したように、コントローラ３０を複数台の相互に通信可能な装置として構成してもよく、上位または下位の装置と通信可能な階層式の装置として構成してもよい。
【００４１】
制御部３１は、走行部１０およびロボット２０の動作制御を行う。なお、コントローラ３０が複数台で構成される場合には、制御部３１は、コントローラ３０間の同期をとる処理を併せて行うこととしてもよい。
【００４２】
決定部３１ａは、予め用意された教示情報３２ａを読み込む。ここで、教示情報３２ａは、ロボット２０へ動作を教示するティーチング段階で作成され、ロボット２０の動作経路を規定するプログラムである「ジョブ」を含んだ情報である。
【００４３】
そして、決定部３１ａは、作業姿勢の直前に動作させるロボット２０の部位に基づき、作業姿勢における第１アーム２１のアーム向きＡＤが、上面視で走行部１０の走行方向Ｖとなす角度θを決定する（図１参照）。そして、角度θ決定後の教示情報３２ａを動作制御部３１ｂへ出力する。なお、角度θを決定する処理の詳細については、図４Ａ、図４Ｂ、図５Ａおよび図５Ｂを用いて後述する。
【００４４】
動作制御部３１ｂは、決定部３１ａによって角度θが決定された教示情報３２ａに基づいてロボット２０を動作させる。また、動作制御部３１ｂは、ロボット２０の動力源であるモータ等のアクチュエータにおけるエンコーダ値を用いつつフィードバック制御を行うなどしてロボット２０の動作精度を向上させる。
【００４５】
なお、図３では、走行部１０と、ロボット２０とを独立した装置として示したが、走行部１０をロボット２０の１つの軸として取り扱うこととしてもよい。また、走行部１０およびロボット２０の組みを複数用意してコントローラ３０に接続し、コントローラ３０が動作制御を行うこととしてもよい。
【００４６】
次に、図３に示した決定部３１ａが実行する処理の内容について図４Ａ〜図５Ｂを用いて説明する。図４Ａは、旋回部Ｓの旋回で作業姿勢をとった場合の説明図である。なお、図４Ａには、作業姿勢における第１アーム２１のアーム向きＡＤが、走行部１０の走行方向Ｖ（図１参照）に対し、上面視における半時計回りで９０度である場合を示している。
【００４７】
ロボット２０が、図４Ａに破線で示した姿勢から、旋回部Ｓを向きＭ１へ旋回することで、図４Ａに実線で示した作業姿勢をとったとする。この場合、ロボット２０は、同図に示した振動向きＯ１に振動する。ここで、振動向きＯ１は、旋回部Ｓの旋回中心である鉛直軸Ａ０の周方向に沿った両矢印の向きに相当する。
【００４８】
このように、作業姿勢の直前に旋回部Ｓを旋回させる場合、図３に示した決定部３１ａは、第１アーム２１のアーム向きＡＤを、図４Ａに示したように、上面視で走行方向Ｖ（Ｘ軸正方向）から反時計回りで９０度か、または、マイナス９０度（図示せず）に決定する。なお、９０度およびマイナス９０度という表現は、厳密な角度を示すものではなく、動作誤差や製造誤差を含めて、たとえば±１０度程度の誤差を許容するものとする。
【００４９】
このようにすることで、振動向きＯ１の振動は、走行方向Ｖと直交する向き（Ｙ軸方向）の成分が最小となる。したがって、同図に示した作業軌跡ＴＲ４を直線状にしやすい。つまり、旋回部Ｓの旋回によって生じるロボット２０の振動が走行軌跡ＴＲ４の蛇行に与える影響を抑制することができる。
【００５０】
ここで、参考のため、第１アーム２１のアーム向きＡＤを、仮に、上面視で走行方向Ｖ（Ｘ軸正方向）と平行とした場合の走行軌跡ＴＲ４Ｂについて、図４Ｂを用いて説明する。図４Ｂは、旋回部Ｓの旋回に伴う振動の参考図である。なお、図４Ｂでは、ロボット２０における第１アーム２１のアーム向きＡＤが、上面視で走行方向Ｖ（Ｘ軸正方向）と同じ向き、すなわち、両者のなす角度θが０度である場合を示している。
【００５１】
図４Ｂに示すように、第１アーム２１のアーム向きＡＤが、走行方向Ｖ（Ｘ軸正方向）と同じ向きである場合、図４Ａに示した振動向きＯ１の振動のＹ軸成分は、最大となる。したがって、ロボット２０の振動の影響を受けた走行軌跡ＴＲ４Ｂは、図４Ｂに示したように蛇行する。このため、ロボット２０による作業精度は、悪化してしまうことになる。なお、アーム向きＡＤが、走行方向Ｖ（Ｘ軸正方向）と反対向きである場合、すなわち、両者のなす角度θが１８０度である場合についても同様である。
【００５２】
図４Ａおよび図４Ｂから明らかなように、決定部３１ａは、作業姿勢の直前に旋回部Ｓを旋回させる場合には、第１アーム２１のアーム向きＡＤを走行方向Ｖ（Ｘ軸正方向）と垂直にすることで、旋回部Ｓの旋回によるロボット２０の振動の影響を最小化する。なお、旋回部Ｓの旋回向きは、同図に示した向きＭ１に限らず、向きＭ１の逆向きであってもよい。
【００５３】
次に、第１アーム２１の旋回でロボット２０が作業姿勢をとった場合について、図５Ａおよび図５Ｂを用いて説明する。図５Ａは、第１アーム２１の旋回で作業姿勢をとった場合の説明図であり、図５Ｂは、第１アーム２１の旋回に伴う振動の説明図である。なお、図４Ａおよび図４Ｂの関係とは異なり、図５Ａおよび図５Ｂにおける第１アーム２１のアーム向きＡＤは、同じ向き（ともにＸ軸正方向）である。
【００５４】
ロボット２０が、図５Ａに破線で示した姿勢から、第１アーム２１を向きＭ２へ旋回することで、図５Ａに実線で示した作業姿勢をとったとする。この場合、ロボット２０は、同図に示した振動向きＯ２で振動する。ここで、振動向きＯ２は、第１アーム２１の旋回中心である第１軸Ａ１の周方向に沿った両矢印の向きに相当する。
【００５５】
このように、作業姿勢の直前に第１アーム２１を旋回させる場合、図３に示した決定部３１ａは、第１アーム２１のアーム向きＡＤを、図５Ａに示したように、上面視で走行方向Ｖ（Ｘ軸正方向）から、反時計回りで０度か、または、１８０度（図示せず）に決定する。なお、時計回りでも、０度、または、１８０度となる。ここで、０度および１８０度という表現は、厳密な角度を示すものではなく、動作誤差や製造誤差を含めて、たとえば±１０度程度の誤差を許容するものとする。
【００５６】
このようにすることで、振動向きＯ２の振動は、走行方向Ｖと直交する向き（Ｙ軸方向）の成分が最小となる。したがって、図５Ｂに示した作業軌跡ＴＲ５を直線状にしやすい。つまり、第１アーム２１の旋回によって生じるロボット２０の振動が、走行軌跡ＴＲ５の蛇行に与える影響を抑制することができる。
【００５７】
なお、第１アーム２１のアーム向きＡＤを、仮に、上面視で走行方向Ｖ（Ｘ軸正方向）と垂直にすると（図示せず）、第１アーム２１の旋回に伴う振動向きＯ２の振動のＹ軸成分は最大となる。したがって、ロボット２０の振動の影響を受けた走行軌跡ＴＲ５は、図４Ｂに示した走行軌跡ＴＲ４Ｂと同様に蛇行してしまうことになる。
【００５８】
図５Ａおよび図５Ｂから明らかなように、決定部３１ａは、作業姿勢の直前に第１アーム２１を旋回させる場合には、第１アーム２１のアーム向きＡＤを走行方向Ｖ（Ｘ軸正方向）と平行にすることで、旋回の影響によるロボット２０の振動の影響を最小化する。なお、第１アーム２１の旋回向きは、同図に示した向きＭ２に限らず、向きＭ２の逆向きであってもよい。
【００５９】
なお、図５Ａおよび図５Ｂでは、作業姿勢の直前に第１アーム２１を旋回させる場合を示したが、これに限られない。たとえば、第１アーム２１の旋回軸である第１軸Ａ１と平行な第２軸Ａ２を旋回軸とする第２アーム２２を作業姿勢の直前に旋回させる場合にも、図５Ａおよび図５Ｂに示した作業姿勢をロボット２０にとらせることとしてもよい。
【００６０】
次に、図３に示したコントローラ３０が実行する処理手順について図６を用いて説明する。図６は、コントローラ３０が実行する処理手順を示すフローチャートである。図６に示すように、コントローラ３０の決定部３１ａは、教示情報３２ａを読み込み、作業姿勢の直前に動作させるロボット２０の部位を取得する（ステップＳ１０１）。
【００６１】
つづいて、決定部３１ａは、作業姿勢の直前に動作させる部位が旋回部Ｓであるか否かを判定する（ステップＳ１０２）。そして、作業姿勢の直前に動作させる部位が旋回部Ｓである場合には（ステップＳ１０２、Ｙｅｓ）、旋回部Ｓの旋回角度が所定値以上であるか否かを判定する（ステップＳ１０３）。
【００６２】
そして、旋回部Ｓの旋回角度が所定値以上である場合には（ステップＳ１０３、Ｙｅｓ）、走行方向Ｖに対する第１アーム２１のアーム向きＡＤを＋９０度または−９０度に決定し（ステップＳ１０４）、処理を終了する。なお、ステップＳ１０３の判定条件を満たさなかった場合にも（ステップＳ１０３、Ｎｏ）、処理を終了する。
【００６３】
一方、ステップＳ１０２の判定条件を満たさなかった場合には（ステップＳ１０２、Ｎｏ）、決定部３１ａは、作業姿勢の直前に動作させる部位が第１アーム２１であるか否かを判定する（ステップＳ１０５）。そして、作業姿勢の直前に動作させる部位が第１アーム２１である場合には（ステップＳ１０５、Ｙｅｓ）、第１アーム２１の旋回角度が所定値以上であるか否かを判定する（ステップＳ１０６）。
【００６４】
そして、第１アーム２１の旋回角度が所定値以上である場合には（ステップＳ１０６、Ｙｅｓ）、走行方向Ｖに対する第１アーム２１のアーム向きＡＤを０度または１８０度に決定し（ステップＳ１０７）、処理を終了する。なお、ステップＳ１０６の判定条件を満たさなかった場合にも（ステップＳ１０６、Ｎｏ）、処理を終了する。
【００６５】
一方、ステップＳ１０５の判定条件を満たさなかった場合にも（ステップＳ１０５、Ｎｏ）、処理を終了する。なお、この場合（ステップＳ１０５、Ｎｏ）、作業姿勢の直前に動作させる部位が第２アーム２２であるか否かを判定し、第２アーム２２である場合に、ステップＳ１０６〜ステップＳ１０７と同様の処理を行うこととしてもよい。
【００６６】
また、ステップＳ１０３およびステップＳ１０６のいずれか一方または双方を省略し、作業姿勢直前に動作する部位の旋回角度によらず、第１アーム２１のアーム向きＡＤを決定することとしてもよい。なお、ステップＳ１０３における所定値と、ステップＳ１０６における所定値とを異なる値としてもよい。
【００６７】
また、作業姿勢直前に動作させる部位を取得する際に、作業姿勢をとってから、作業開始までの時間が所定時間以上である場合には、第１アーム２１のアーム向きＡＤを制限しないこととしてもよい。これは、作業姿勢をとってから、作業開始までの時間に余裕がある場合には、かかる時間の間にロボット２０の振動が収束する可能性があるためである。
【００６８】
また、作業姿勢直前に動作させる部位がない場合には、基本的に第１アーム２１のアーム向きＡＤを制限しなくてよいが、これに限られない。これは、たとえば、走行方向Ｖに対する第１アーム２１のアーム向きＡＤが、＋４５度、＋１３５度、−４５度、−１３５度それぞれの角度付近にある場合に、走行部１０に加減速を与えると、ロボット２０が、図４Ａに示した向きＯ１と同様の向きに振動し、作業軌跡ＴＲへの影響が大きくなるためである。
【００６９】
したがって、このような場合に、決定部３１ａは、走行方向Ｖに対する第１アーム２１のアーム向きＡＤを＋９０度または−９０度に決定することとしてもよい。また、決定部３１ａは、かかる決定を、上面視で、鉛直軸Ａ０からロボット２０の先端までの距離が所定値以上となる姿勢をロボット２０がとっている場合にのみ行うこととしてもよい。これは、第１アーム２１や第２アーム２２を鉛直軸Ａ０から遠い位置へ伸ばす姿勢をとっている場合に、ロボット２０に振動が発生しやすくなるためである。
【００７０】
このように、図６に示した処理手順をコントローラ３０が実行することで、ワークＷに対する作業精度を高めることができる。したがって、完成品としての精度が高いワークＷを製造することができる。
【００７１】
上述してきたように、実施形態に係るロボットシステム１は、ロボット２０と、走行部１０と、コントローラ３０とを備える。ロボット２０は、ワークＷに対して作業を行う。走行部１０は、ロボット２０が載置され、水平向きに走行する。コントローラ３０は、ロボット２０および走行部１０の動作を制御する。
【００７２】
ロボット２０は、旋回部Ｓと、第１アーム２１とを備える。旋回部Ｓは、鉛直軸Ａ０まわりに旋回する。第１アーム２１は、旋回部Ｓに基端側が支持され、鉛直軸Ａ０に対して垂直な第１軸Ａ１まわりに旋回する。
【００７３】
コントローラ３０は、決定部３１ａを備える。決定部３１ａは、ロボット２０の姿勢を作業姿勢に固定した状態で走行部１０の走行によってワークＷに対して作業を行う場合に、作業姿勢の直前に動作させるロボット２０の部位に基づき、作業姿勢における第１アーム２１の向きが上面視で走行部１０の走行方向Ｖとなす角度θを決定する。
【００７４】
このように、実施形態に係るロボットシステム１によれば、作業姿勢の直前に動作させるロボット２０の部位に基づき、第１アーム２１の上面視における向きを決定するので、ロボット２０の振動による影響が小さい作業姿勢を選択することができる。したがって、ロボット２０の振動に起因して発生する作業軌跡の蛇行を低減することができる。
【００７５】
なお、上述した実施形態では、ロボット２０が下方からワークＷに対して作業する場合を例示したが、ロボット２０が上方や側方からワークＷに対して作業することとしてもよい。
【００７６】
また、上述した実施形態では、直線状のレール１００に沿って走行部１０が走行し、ワークＷの作業軌跡ＴＲも直線状である場合を例示したが、レール１００は直線状ではなくてもよい。
【００７７】
たとえば、上面視で円形状あるいは円弧状のレール１００に沿って走行部１０が走行し、レール１００の形状に応じた作業軌跡ＴＲでロボット２０がワークＷに作業することとしてもよい。この場合、第１アーム２１のアーム向きＡＤは、作業軌跡ＴＲの接線と平行な向き、あるいは、作業軌跡ＴＲの法線と平行な向き（作業軌跡ＴＲの接線と垂直な向き）にすればよい。
【００７８】
また、レール１００の上面視における形状は、円状あるいは円弧状に限られない。たとえば、円弧をなめらかに連結した形状など、向きがなめらかに変化する形状であってもよい。この場合も、第１アーム２１のアーム向きＡＤは、作業軌跡ＴＲの接線と平行な向き、あるいは、作業軌跡ＴＲの法線と平行な向き（作業軌跡ＴＲの接線と垂直な向き）にすればよい。
【００７９】
また、上述した実施形態では、ロボット２０を６軸のロボットとする場合を例示したが、ロボット２０を５軸以下のロボットとしてもよいし、７軸以上のロボットとしてもよい。
【００８０】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施例に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【００８１】
１    ロボットシステム
１０    走行部
２０    ロボット
２１    第１アーム
２２    第２アーム
２２ａ  基端部
２２ｂ  先端部
２３    手首部
２３ａ  基端部
２３ｂ  先端部
３０    コントローラ
３１    制御部
３１ａ  決定部
３１ｂ  動作制御部
３２    記憶部
３２ａ  教示情報
Ａ０    鉛直軸
Ａ１    第１軸
Ａ２    第２軸
Ａ３    第３軸
Ａ４    第４軸
Ａ５    第５軸
Ｂ    ベース部
ＥＥ    エンドエフェクタ
Ｓ    旋回部
Ｗ    ワーク
１００    レール
【図１】
2019055440.tif 000003
【図２】
2019055440.tif 000004
【図３】
2019055440.tif 000005
【図４Ａ】
2019055440.tif 000006
【図４Ｂ】
2019055440.tif 000007
【図５Ａ】
2019055440.tif 000008
【図５Ｂ】
2019055440.tif 000009
【図６】
2019055440.tif 000010