(57)【要約】特異点に起因してロボットアームの姿勢が急激に変化することを簡単に防止することが可能なロボット制御装置を提供する。本発明に係るロボット制御装置は、水平多関節ロボットの姿勢を収容装置内に収容されたワークを保持可能な姿勢に変更する途中で、第１回転軸を中心とし、第１回転軸と第２回転軸との距離と、第２回転軸と第３回転軸との距離との差を半径とする円の円周上に第３回転軸を一致させたうえで、第１回転軸と第２回転軸とを結ぶ第２直線を第３回転軸に横切らせたあと、第２及び第３回転軸の各々を、収容装置内に収容されたワークの中心点と第１回転軸とを結ぶ第２直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させる。
2020138017.tif 000002
【特許請求の範囲】
【請求項１】
収容装置内に収容されたワークに対して作業を行う水平多関節ロボットの動作を制御するためのロボット制御装置であって、
前記収容装置は、前記ワークを載置するための載置部、壁面及び開口面を備え、
前記水平多関節ロボットは、第１回転軸、前記第１回転軸にその基端部が取り付けられ前記第１回転軸周りに回動可能な第１リンク、前記第１リンクの先端部に設けられる第２回転軸、前記第２回転軸にその基端部が取り付けられ前記第２回転軸周りに回動可能である第２リンク、前記第２リンクの先端部に設けられる第３回転軸、及び前記第３回転軸にその基端部が取り付けられ前記第３回転軸周りに回動可能なロボットハンドを備え、前記第１乃至前記第３回転軸の軸方向から見て、前記収容装置内に収容されたワークの中心点から前記開口面に向けて引いた垂線を延長した第１直線が、前記第１回転軸を中心とし、前記第１回転軸と前記第２回転軸との距離と、前記第２回転軸と前記第３回転軸との距離との差を半径とする円の近傍を通るように、前記開口面と対向して配置され、
記憶部と、前記記憶部に格納されたプログラムを実行するためのプロセッサと、を備え、前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記水平多関節ロボットの姿勢を前記収容装置内に収容されたワークを保持可能な姿勢に変更する途中で、前記円の円周上に前記第３回転軸を一致させたうえで、前記第１回転軸と前記第２回転軸とを結ぶ第２直線を前記第３回転軸に横切らせたあと、前記第２及び前記第３回転軸の各々を、前記収容装置内に収容されたワークの中心点と前記第１回転軸とを結ぶ第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させることを特徴とする、ロボット制御装置。
【請求項２】
収容装置内に収容されたワークに対して作業を行う水平多関節ロボットの動作を制御するためのロボット制御装置であって、
前記収容装置は、前記ワークを載置するための載置部、壁面及び開口面を備え、
前記水平多関節ロボットは、第１回転軸、前記第１回転軸にその基端部が取り付けられ前記第１回転軸周りに回動可能な第１リンク、前記第１リンクの先端部に設けられる第２回転軸、前記第２回転軸にその基端部が取り付けられ前記第２回転軸周りに回動可能である第２リンク、前記第２リンクの先端部に設けられる第３回転軸、及び前記第３回転軸にその基端部が取り付けられ前記第３回転軸周りに回動可能なロボットハンドを備え、前記収容装置に収容された前記ワークを前記ロボットハンドにより取り出す取り出し動作中、又は、前記収容装置に前記ワークを前記ロボットハンドにより収容する収容動作中に、前記第１乃至前記第３回転軸の軸方向から見て前記ワークを前記ロボットハンドにより前記壁面に衝突させることなく直線状に移動させる方向と平行であり、前記収容装置に収容された前記ワークの中心点を通るアクセス直線が、前記第１回転軸を中心とし、前記第１回転軸と前記第２回転軸との距離と、前記第２回転軸と前記第３回転軸との距離との差を半径とする円の近傍を通るように、前記開口面と対向して配置され、
記憶部と、前記記憶部に格納されたプログラムを実行するためのプロセッサと、を備え、前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記水平多関節ロボットの姿勢を前記収容装置内に収容されたワークを保持可能な姿勢に変更する途中で、前記円の円周上に前記第３回転軸を一致させたうえで、前記第１回転軸と前記第２回転軸とを結ぶ第２直線を前記第３回転軸に横切らせたあと、前記第２及び前記第３回転軸の各々を、前記収容装置内に収容されたワークの中心点と前記第１回転軸とを結ぶ第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させることを特徴とする、ロボット制御装置。
【請求項３】
前記軸方向から見て、前記円周上に前記第３回転軸を一致させたあと、前記第２回転軸が移動する領域と前記第３回転軸が移動する領域とが、前記第３直線を境界として同じ側である、請求項１又は２に記載のロボット制御装置。
【請求項４】
前記軸方向から見て、前記円周上に前記第３回転軸を一致させたあと、前記第２回転軸が移動する領域と前記第３回転軸が移動する領域とが、前記第３直線を境界として互いに反対側である、請求項１又は２に記載のロボット制御装置。
【請求項５】
前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記ロボットハンドは、前記第１直線に対して所定の角度だけ傾いた状態で前記収容装置内に収容されたワークを保持可能な姿勢となる、請求項１乃至４のいずれかに記載のロボット制御装置。
【請求項６】
前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記ロボットハンドは、前記水平多関節ロボットの姿勢が、前記軸方向から見て、前記円周上に前記第３回転軸を一致させた姿勢から前記収容装置内に収容されたワークを保持可能な姿勢に変更されるまでの経路の少なくとも一部で前記第１直線に対して所定の角度だけ傾いた状態で前記第１直線と平行に直進し、前記収容装置内に収容されたワークを保持可能な姿勢となる、請求項５に記載のロボット制御装置。
【請求項７】
前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記ロボットハンドは、前記経路の全てで前記第１直線に対して所定の角度だけ傾いた状態で前記第１直線と平行に直進する、請求項６に記載のロボット制御装置。
【請求項８】
前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記第１乃至前記第３回転軸は、前記第３回転軸が前記円周上、前記円の内部又は前記円の近傍を通るとき、各軸補間によって動作する、請求項１乃至７のいずれかに記載のロボット制御装置。
【請求項９】
前記第１回転軸と前記第２回転軸との間の距離が前記第２回転軸と前記第３回転軸との間の距離と同じであり、前記円の半径がゼロである、請求項１乃至８のいずれかに記載のロボット制御装置。
【請求項１０】
請求項１乃至９のいずれかに記載のロボット制御装置と、前記ロボット制御装置によって動作を制御される水平多関節ロボットと、前記水平多関節ロボットによって作業されるワークを収納するための前記収容装置と、を備えることを特徴とする、ロボットシステム。
【請求項１１】
水平多関節ロボットの制御方法であって、
ワークを載置するための載置部と、第１回転軸、前記第１回転軸にその基端部が取り付けられ前記第１回転軸周りに回動可能な第１リンク、前記第１リンクの先端部に設けられる第２回転軸、前記第２回転軸にその基端部が取り付けられ前記第２回転軸周りに回動可能な第２リンク、前記第２リンクの先端部に設けられる第３回転軸、及び前記第３回転軸にその基端部が取り付けられ前記第３回転軸周りに回動可能なロボットハンドを備えた前記水平多関節ロボットと、が予め準備されており、
前記載置部に載置された前記ワークを前記ロボットハンドにより保持する保持動作中、又は、前記載置部に前記ワークを前記ロボットハンドにより載置する載置動作中に、前記第１乃至前記第３回転軸の軸方向から見て前記ワークを前記ロボットハンドにより直線状に移動させる方向と平行であり、前記載置部に載置された前記ワークの中心点を通るアクセス直線と、前記載置部に載置された前記ワークの中心点と前記第１回転軸とを結ぶ第３直線と、が一致しないように前記載置部及び前記水平多関節ロボットが配置されており、
前記保持動作中又は前記載置動作中に、前記第１回転軸を中心とし、前記第１回転軸と前記第２回転軸との距離と、前記第２回転軸と前記第３回転軸との距離との差を半径とする円の円周上に前記第３回転軸を一致させたうえで、前記第１回転軸と前記第２回転軸とを結ぶ第２直線を前記第３回転軸に横切らせる第１ステップと、
前記第１ステップを行ったあとで、前記第２及び前記第３回転軸の各々を、前記第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させる第２ステップと、を備える、制御方法。
【請求項１２】
前記保持動作中又は前記載置動作中に、前記第１乃至前記第３回転軸の軸方向から見て前記ワークを前記ロボットハンドにより直線状に移動させる移動範囲は、前記載置部に載置された前記ワークの存在範囲の少なくとも一部と、前記ロボットハンドにより保持された前記ワークの存在範囲の少なくとも一部と、が前記第１乃至前記第３回転軸の軸方向から見て重なる範囲であり、
前記アクセス直線は、前記第１乃至前記第３回転軸の軸方向から見て前記ワークの中心点が前記移動範囲において直線状に移動する軌跡と重なる、請求項１１に記載の制御方法。
【請求項１３】
前記載置部は、前記ワークを収容するための収容装置の一部として構成され、
前記収容装置は、壁面及び開口面を有し、
前記アクセス直線は、前記第１乃至前記第３回転軸の軸方向から見て、前記開口面の少なくとも一部と垂直に交わる、請求項１１又は１２に記載の制御方法。
【請求項１４】
前記載置部は、前記ワークを収容するための収容装置の一部として構成され、
前記収容装置は、壁面及び開口面を有し、
前記アクセス直線は、前記第１乃至前記第３回転軸の軸方向から見て、前記壁面の少なくとも一部と平行である、請求項１１又は１２に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボットシステム及びロボット制御方法に関する。
【背景技術】
【０００２】
従来から、収容装置内に収容されたワークに対して作業を行う水平多関節ロボットの動作を制御するためのロボット制御装置が知られている。このようなロボット制御装置が、例えば、特許文献１の指令値生成装置で提案されている。【０００３】
特許文献１は、特異点の近傍を通過するとき、複数の関節が大きく動くことを防止し、ロボットアーム先端の速度低下を抑制して動作時間を短縮するための指令値生成装置を提供することを目的としている。この目的を達成するために、まず、前記指令値生成装置は、特異点の近傍領域の始点と終点において逆変換を行う。次に、前記指令値生成装置は、特異点の近傍を通過するときの関節位置を、始点及び終点それぞれの逆変換結果に基づき、各軸補間によって作成する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１３１７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の指令値生成装置は、特異点の近傍を通過するときの関節位置を作成するために複雑な演算を行う必要があった。【０００６】
そこで、本発明は、特異点に起因してロボットアームの姿勢が急激に変化することを簡単に防止することが可能な、ロボット制御装置、ロボットシステム及びロボット制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために、本発明の一つの側面からのロボット制御装置は、収容装置内に収容されたワークに対して作業を行う水平多関節ロボットの動作を制御するためのロボット制御装置であって、前記収容装置は、前記ワークを載置するための載置部、壁面及び開口面を備え、前記水平多関節ロボットは、第１回転軸、前記第１回転軸にその基端部が取り付けられ前記第１回転軸周りに回動可能な第１リンク、前記第１リンクの先端部に設けられる第２回転軸、前記第２回転軸にその基端部が取り付けられ前記第２回転軸周りに回動可能である第２リンク、前記第２リンクの先端部に設けられる第３回転軸、及び前記第３回転軸にその基端部が取り付けられ前記第３回転軸周りに回動可能なロボットハンドを備え、前記第１乃至前記第３回転軸の軸方向から見て、前記収容装置内に収容されたワークの中心点から前記開口面に向けて引いた垂線を延長した第１直線が、前記第１回転軸を中心とし、前記第１回転軸と前記第２回転軸との距離と、前記第２回転軸と前記第３回転軸との距離との差を半径とする円の近傍を通るように、前記開口面と対向して配置され、記憶部と、前記記憶部に格納されたプログラムを実行するためのプロセッサと、を備え、前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記水平多関節ロボットの姿勢を前記収容装置内に収容されたワークを保持可能な姿勢に変更する途中で、前記円の円周上に前記第３回転軸を一致させたうえで、前記第１回転軸と前記第２回転軸とを結ぶ第２直線を前記第３回転軸に横切らせたあと、前記第２及び前記第３回転軸の各々を、前記収容装置内に収容されたワークの中心点と前記第１回転軸とを結ぶ第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させることを特徴とする。【０００８】
上記構成によれば、円周上に第３回転軸を一致させたうえで、第１回転軸と第２回転軸とを結ぶ第２直線を第３回転軸に横切らせたあと、第２及び第３回転軸の各々を、収容装置内に収容されたワークの中心点と第１回転軸とを結ぶ第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させるので、特異点に起因してロボットアームの姿勢が急激に変化することを簡単に防止することが可能となる。【０００９】
前記課題を解決するために、本発明の他の側面からのロボット制御装置は、収容装置内に収容されたワークに対して作業を行う水平多関節ロボットの動作を制御するためのロボット制御装置であって、前記収容装置は、前記ワークを載置するための載置部、壁面及び開口面を備え、前記水平多関節ロボットは、第１回転軸、前記第１回転軸にその基端部が取り付けられ前記第１回転軸周りに回動可能な第１リンク、前記第１リンクの先端部に設けられる第２回転軸、前記第２回転軸にその基端部が取り付けられ前記第２回転軸周りに回動可能である第２リンク、前記第２リンクの先端部に設けられる第３回転軸、及び前記第３回転軸にその基端部が取り付けられ前記第３回転軸周りに回動可能なロボットハンドを備え、前記収容装置に収容された前記ワークを前記ロボットハンドにより取り出す取り出し動作中、又は、前記収容装置に前記ワークを前記ロボットハンドにより収容する収容動作中に、前記第１乃至前記第３回転軸の軸方向から見て前記ワークを前記ロボットハンドにより前記壁面に衝突させることなく直線状に移動させる方向と平行であり、前記収容装置に収容された前記ワークの中心点を通るアクセス直線が、前記第１回転軸を中心とし、前記第１回転軸と前記第２回転軸との距離と、前記第２回転軸と前記第３回転軸との距離との差を半径とする円の近傍を通るように、前記開口面と対向して配置され、記憶部と、前記記憶部に格納されたプログラムを実行するためのプロセッサと、を備え、前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記水平多関節ロボットの姿勢を前記収容装置内に収容されたワークを保持可能な姿勢に変更する途中で、前記円の円周上に前記第３回転軸を一致させたうえで、前記第１回転軸と前記第２回転軸とを結ぶ第２直線を前記第３回転軸に横切らせたあと、前記第２及び前記第３回転軸の各々を、前記収容装置内に収容されたワークの中心点と前記第１回転軸とを結ぶ第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させることを特徴とする。【００１０】
上記構成によれば、円周上に第３回転軸を一致させたうえで、第１回転軸と第２回転軸とを結ぶ第２直線を第３回転軸に横切らせたあと、第２及び第３回転軸の各々を、収容装置内に収容されたワークの中心点と第１回転軸とを結ぶ第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させるので、特異点に起因してロボットアームの姿勢が急激に変化することを簡単に防止することが可能となる。【００１１】
前記軸方向から見て、前記円周上に前記第３回転軸を一致させたあと、前記第２回転軸が移動する領域と前記第３回転軸が移動する領域とが、前記第３直線を境界として同じ側であってもよい。【００１２】
上記構成によれば、特異点に起因してロボットアームの姿勢が急激に変化することをいっそう簡単に防止することが可能となる。【００１３】
例えば、前記軸方向から見て、前記円周上に前記第３回転軸を一致させたあと、前記第２回転軸が移動する領域と前記第３回転軸が移動する領域とが、前記第３直線を境界として互いに反対側であってもよい。【００１４】
前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記ロボットハンドは、前記第１直線に対して所定の角度だけ傾いた状態で前記収容装置内に収容されたワークを保持可能な姿勢となってもよい。【００１５】
上記構成によれば、ロボットハンドが収容装置内に収容されたワークを保持可能な姿勢となるとき、第１回転軸が第１直線から所定の距離だけずれて配置されることに起因してロボットハンドが収容装置の壁面に接触する問題を解消することが可能となる。【００１６】
前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記ロボットハンドは、前記水平多関節ロボットの姿勢が、前記軸方向から見て、前記円周上に前記第３回転軸を一致させた姿勢から前記収容装置内に収容されたワークを保持可能な姿勢に変更されるまでの経路の少なくとも一部で前記第１直線に対して所定の角度だけ傾いた状態で前記第１直線と平行に直進し、前記収容装置内に収容されたワークを保持可能な姿勢となってもよい。【００１７】
上記構成によれば、特異点に起因してロボットアームの姿勢が急激に変化することをいっそう簡単に防止することが可能となる。【００１８】
前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記ロボットハンドは、前記経路の全てで前記第１直線に対して所定の角度だけ傾いた状態で前記第１直線と平行に直進してもよい。【００１９】
上記構成によれば、特異点に起因してロボットアームの姿勢が急激に変化することをよりいっそう簡単に防止することが可能となる。【００２０】
例えば、前記記憶部に格納されたプログラムが前記プロセッサによって実行されるとき、前記第１乃至前記第３回転軸は、前記第３回転軸が前記円周上、前記円の内部又は前記円の近傍を通るとき、各軸補間によって動作してもよい。【００２１】
例えば、前記第１回転軸と前記第２回転軸との間の距離が前記第２回転軸と前記第３回転軸との間の距離と同じであり、前記円の半径がゼロであってもよい。【００２２】
前記課題を解決するために、本発明に係るロボットシステムは、上記いずれかのロボット制御装置と、前記ロボット制御装置によって動作を制御される水平多関節ロボットと、前記水平多関節ロボットによって作業されるワークを収納するための前記収容装置と、を備えることを特徴とする。【００２３】
上記構成によれば、上記いずれかのロボット制御装置を備えるので、特異点に起因してロボットアームの姿勢が急激に変化することを簡単に防止することが可能となる。【００２４】
前記課題を解決するために、本発明の一つの側面からの制御方法は、水平多関節ロボットの制御方法であって、ワークを載置するための載置部と、第１回転軸、前記第１回転軸にその基端部が取り付けられ前記第１回転軸周りに回動可能な第１リンク、前記第１リンクの先端部に設けられる第２回転軸、前記第２回転軸にその基端部が取り付けられ前記第２回転軸周りに回動可能な第２リンク、前記第２リンクの先端部に設けられる第３回転軸、及び前記第３回転軸にその基端部が取り付けられ前記第３回転軸周りに回動可能なロボットハンドを備えた前記水平多関節ロボットと、が予め準備されており、前記載置部に載置された前記ワークを前記ロボットハンドにより保持する保持動作中、又は、前記載置部に前記ワークを前記ロボットハンドにより載置する載置動作中に、前記第１乃至前記第３回転軸の軸方向から見て前記ワークを前記ロボットハンドにより直線状に移動させる方向と平行であり、前記載置部に載置された前記ワークの中心点を通るアクセス直線と、前記載置部に載置された前記ワークの中心点と前記第１回転軸とを結ぶ第３直線と、が一致しないように前記載置部及び前記水平多関節ロボットが配置されており、前記保持動作中又は前記載置動作中に、前記第１回転軸を中心とし、前記第１回転軸と前記第２回転軸との距離と、前記第２回転軸と前記第３回転軸との距離との差を半径とする円の円周上に前記第３回転軸を一致させたうえで、前記第１回転軸と前記第２回転軸とを結ぶ第２直線を前記第３回転軸に横切らせる第１ステップと、前記第１ステップを行ったあとで、前記第２及び前記第３回転軸の各々を、前記第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させる第２ステップと、を備える。【００２５】
上記構成によれば、円周上に第３回転軸を一致させたうえで、第１回転軸と第２回転軸とを結ぶ第２直線を第３回転軸に横切らせたあと、第２及び第３回転軸の各々を、載置部に載置されたワークの中心点と第１回転軸とを結ぶ第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させるので、特異点に起因してロボットアームの姿勢が急激に変化することを簡単に防止することが可能となる。【００２６】
例えば、前記載置部は、前記ワークを収容するための収容装置の一部として構成され、前記収容装置は、壁面及び開口面を有し、前記アクセス直線は、前記第１乃至前記第３回転軸の軸方向から見て、前記開口面の少なくとも一部と垂直に交わってもよい。【００２７】
例えば、前記載置部は、前記ワークを収容するための収容装置の一部として構成され、前記収容装置は、壁面及び開口面を有し、前記アクセス直線は、前記第１乃至前記第３回転軸の軸方向から見て、前記壁面の少なくとも一部と平行であってもよい。
【発明の効果】
【００２８】
本発明によれば、特異点に起因してロボットアームの姿勢が急激に変化することを簡単に防止することが可能な、ロボット制御装置、ロボットシステム及びロボット制御方法を提供することが可能となる。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施形態に係るロボットシステムの全体構成を示す概略図であり、（Ａ）がワークの中心点を基準として第１回転軸よりも遠い側に第３回転軸が位置しているときの図、（Ｂ）がワークの中心点を基準として第１回転軸よりも近い側に第３回転軸が位置しているときの図である。
【図２】本発明の一実施形態に係るロボットシステムの制御系を示す概略的なブロック図である。
【図３】本発明の一実施形態に係るロボットシステムの全体構成を示す概略図であり、（Ａ）が軸方向から見て第３回転軸を第１回転軸に一致させたときの図、（Ｂ）がそのあとで第２及び第３回転軸を、第２直線を境界として同じ側で移動させているときの図である。
【図４】本発明の一実施形態に係るロボット制御方法の一例を示すフローチャートである。
【図５】本発明の一実施形態に係るロボットシステムの第１変形例を示す図であり、（Ａ）が軸方向から見て第３回転軸を第１回転軸に一致させたときの図、（Ｂ）がそのあとで第２及び第３回転軸を、第２直線を境界として互いに反対側で移動させているときの図である。
【図６】本発明の一実施形態に係るロボット制御方法の他の例を示すフローチャートである。
【図７】本発明の一実施形態に係るロボットシステムの第２変形例を示す図であり、（Ａ）が、軸方向から見て第３回転軸を第１回転軸に一致させたときの図、（Ｂ）が、ロボットハンドが第１直線に対して所定の角度だけ傾いた状態で収容装置内に収容されたワークを保持可能な姿勢となったときの図である。
【図８】本発明の一実施形態に係るロボットシステムの第３変形例を示す図であり、（Ａ）がロボットシステムの全体構造を示す平面図、（Ｂ）がワークを収容した収容装置及びその周辺部分を拡大した平面図である。
【図９】本発明の一実施形態に係るロボットシステムの第４変形例を示す概略図であり、（Ａ）がワークの中心点を基準として第１回転軸よりも遠い側に第３回転軸が位置しているときの図、（Ｂ）が軸方向から見て第３回転軸を第１回転軸に一致させたときの図である。
【図１０】本発明の一実施形態に係るロボットシステムの第４変形例を示す図であり、（Ａ）が軸方向から見て円周上に第３回転軸を一致させたときの図、（Ｂ）がそのあとで第２及び第３回転軸を、第２直線を境界として同じ側で移動させているときの図である。
【図１１】本発明の一実施形態に係るロボット制御方法を示すフローチャートである。
【図１２】本発明に係るロボット制御方法を示すフローチャートである。
【図１３】従来からあるロボット制御装置を用いて収容装置内に収容されたワークに対して作業を行う水平多関節ロボットの動作を制御したときの様子を示す概略図である。
【発明を実施するための形態】
【００３０】
以下、本発明の一実施形態に係るロボット制御装置、ロボットシステム及びロボット制御方法について、添付図面に基づき説明する。なお、本実施形態によって本発明が限定されるものではない。また、以下では、全ての図を通じて、同一又は相当する要素には同一の参照符号を付して、その重複する説明を省略する。
【００３１】
（ロボットシステム１０Ａ）
図１は、本実施形態に係るロボットシステムの全体構成を示す概略図であり、（Ａ）がワークの中心点を基準として第１回転軸よりも遠い側に第３回転軸が位置しているときの図、（Ｂ）がワークの中心点を基準として第１回転軸よりも近い側に第３回転軸が位置しているときの図である。また、図２は、同ロボットシステムの制御系を示す概略的なブロック図である。
【００３２】
図１に示すように、本実施形態に係るロボットシステム１０Ａは、水平多関節ロボット２０を用いて収容装置５０に収容されたワークＷに対して作業を行うことができるように構成される。ロボットシステム１０Ａは、水平多関節ロボット２０と、ワークＷを収納するための収容装置５０と、水平多関節ロボット２０の基台２２内に格納されるロボット制御装置４０Ａと、を備える。なお、ワークＷに対する作業には、収容装置５０からのワークＷの搬出や収容装置５０へのワークＷの搬入が含まれる。
【００３３】
（水平多関節ロボット２０）
水平多関節ロボット２０は、基台２２と、当該基台２２に設けられる上下方向に伸縮可能な昇降軸（図示せず）と、当該昇降軸の上端部に取り付けられるロボットアーム３０と、を備える。基台２２に設けられる昇降軸は、図示しないボールスクリューなどで伸縮可能に構成される。ロボットアーム３０は、水平方向に延びる長尺状の部材で構成される第１リンク３２及び第２リンク３４を含む。
【００３４】
第１リンク３２は、その長手方向の基端部がサーボモータ３２ａ（図２参照）で駆動される回転軸ＪＴ２（第１回転軸）を介して昇降軸の上端部に取り付けられる。これにより、第１リンク３２は、鉛直方向に延びる軸線周りに回動可能な状態で昇降軸に取り付けられる。
【００３５】
第２リンク３４は、その長手方向の基端部がサーボモータ３４ａ（図２参照）で駆動される回転軸ＪＴ４（第２回転軸）を介して第１リンク３２の先端部に取り付けられる。これにより、第２リンク３４は、鉛直方向に延びる軸線周りに回動可能な状態で第１リンク３２に取り付けられる。
【００３６】
ロボットハンド３６は、その長手方向の基端部がサーボモータ３６ａ（図２参照）で駆動される回転軸ＪＴ６（第３回転軸）を介して第２リンク３４の先端部に取り付けられる。これにより、ロボットハンド３６は、鉛直方向に延びる軸線周りに回動可能な状態で第２リンク３４に取り付けられる。
【００３７】
ロボットハンド３６は、回転軸ＪＴ６を含む基部と、当該基部の先端部に設けられる保持部とを有する。保持部は、その先端側が２股に分かれることで、厚み方向に見てＹ字状に構成される。
【００３８】
水平多関節ロボット２０は、回転軸ＪＴ２と回転軸ＪＴ４との間の距離が、回転軸ＪＴ４と回転軸ＪＴ６との間の距離と同じであるように構成される。これにより、水平多関節ロボット２０は、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させたとき（換言すれば、第１リンク３２と第２リンク３４とが重なり合ったとき）が特異点となる。ここで、特異点とは、指令値に従って複数の関節の角度を定めようとしても、複数の関節角度が一意に定まらないような点のことである。
【００３９】
また、水平多関節ロボット２０は、収容装置５０内に収容されたワークＷの中心点から開口面５８に向けて引いた垂線を延長した直線Ｌ1（第１直線）が回転軸ＪＴ２の近傍を通るように、且つ、回転軸ＪＴ６が少なくとも回転軸ＪＴ２から収容装置５０内に収容されたワークＷの中心点までの間の所定の範囲内で移動可能であるように開口面５８と対向して配置される。
【００４０】
なお、本実施形態では、収容装置５０に収容されたワークＷをロボットハンド３６により取り出す取り出し動作中、又は、収容装置５０にワークＷをロボットハンド３６により収容する収容動作中に、回転軸ＪＴ２〜ＪＴ６の軸方向から見てワークＷをロボットハンド３６により壁面５４に衝突させることなく直線状に移動させる方向と平行であり、収容装置５０に収容されたワークＷの中心点を通るアクセス直線ＡＬと、直線Ｌ1とのなす鋭角（換言すれば、アクセス直線ＡＬと、ワークＷの中心点から開口面５８に向けて引いた垂線とのなす鋭角）が０°である場合（すなわち、アクセス直線ＡＬと直線Ｌ1とが一致している場合）について説明する。したがって、本実施形態（及び後述する第１及び第２変形例）では、特に必要な場合を除き、アクセス直線ＡＬについては言及せず、直線Ｌ1に基づき説明を行う。なお、アクセス直線ＡＬについては、後述する第３変形例で図８に基づき詳細に説明する。
【００４１】
また、上記したように、本実施形態では、回転軸ＪＴ２と回転軸ＪＴ４との間の距離が回転軸ＪＴ４と回転軸ＪＴ６との間の距離と同じである。したがって、本実施形態（及び後述する第１乃至第３変形例）では、回転軸ＪＴ２を中心とし、回転軸ＪＴ２と回転軸ＪＴ４との距離と、回転軸ＪＴ４と回転軸ＪＴ６との距離との差を半径とする円Ｃを規定したとき、この円Ｃの半径がゼロである。換言すれば、本実施形態（同前）では、円Ｃと回転軸ＪＴ２が一致する。したがって、本実施形態（同前）では、特に必要な場合を除き、円Ｃについては言及せず、回転軸ＪＴ２に基づき説明を行う。なお、円Ｃについては、後述する第４変形例で図９及び図１０に基づき詳細に説明する。
【００４２】
本実施形態では、水平多関節ロボット２０は、直線Ｌ1が回転軸ＪＴ２の近傍を通るように配置されるので、換言すれば、直線Ｌ1が回転軸ＪＴ２を通らない。すなわち、回転軸ＪＴ２は、前記所定の範囲内で直線Ｌ1から所定の距離だけずれて配置される。
【００４３】
図１等において、回転軸ＪＴ２の近傍は、軸方向から見て当該回転軸ＪＴ２を中心とする近傍円ＮＣの内部である。なお、回転軸ＪＴ２の近傍は、図１等に示す場合に限定されず、所定の近傍エリアとして任意に設定することが可能である。詳細については後述する。
【００４４】
（収容装置５０）
収容装置５０は、ワークＷを載置するための載置部５２と、当該載置部５２を囲繞する壁面５４と、当該壁面５４に形成される開口面５８と、を備える。収容装置５０は、例えば、複数枚のワークＷを上下方向に積層して収容可能な容器（例えば、フープ（ＦＯＵＰ:Ｆｒｏｎｔ  Ｏｐｅｎｉｎｇ  Ｕｎｉｆｉｅｄ  Ｐｏｄ））として構成されてもよく、１枚または複数枚のワークＷを載置可能な装置（例えば、真空状態と大気状態とを切り替えるロードロック装置やワークＷの位置合わせを行うアライメント装置、ワークＷにレジスト塗布等の処理を行う処理装置）として構成されてもよい。
【００４５】
（ロボット制御装置４０Ａ）
本実施形態に係るロボット制御装置４０Ａは、水平多関節ロボット２０の動作を制御するために、当該水平多関節ロボット２０に接続される。図２に示すように、ロボット制御装置４０Ａは、記憶部４２と、前記記憶部に格納されたプログラムを実行するためのプロセッサ４４とを備える。プロセッサ４４は、回転軸ＪＴ２のサーボモータ３２ａ、回転軸ＪＴ４のサーボモータ３４ａ、及び回転軸ＪＴ６のサーボモータ３６ａそれぞれに対して電気的に接続される。
【００４６】
（ロボット制御装置４０Ａが行う処理の一例）
本実施形態に係るロボット制御装置４０Ａによって実行される処理の一例について、図１〜３に基づき説明する。図３は、本実施形態に係るロボットシステムの全体構成を示す概略図であり、（Ａ）が軸方向から見て前記第３回転軸を前記第１回転軸に一致させたときの図、（Ｂ）がそのあとで第２及び第３回転軸を、第２直線を境界として同じ側で移動させているときの図である。
【００４７】
まず、本実施形態に係るロボット制御装置４０Ａは、記憶部４２に格納されたプログラムがプロセッサ４４によって実行されるとき、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、収容装置５０内に収容されたワークＷの中心点を基準として回転軸ＪＴ２よりも遠い側から回転軸ＪＴ２よりも近い側へと回転軸ＪＴ６を移動させる際に（すなわち、水平多関節ロボット２０の姿勢を図１（Ａ）に示す状態から図１（Ｂ）に示す状態に変更する際に）、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させる（図３（Ａ）参照）。換言すれば、ロボット制御装置４０Ａは、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、回転軸２（換言すれば、円Ｃの円周上）に回転軸ＪＴ６を一致させたうえで、回転軸ＪＴ２と回転軸ＪＴ４とを結ぶ直線Ｌ2（第２直線）を回転軸ＪＴ６に横切らせる。
【００４８】
ここで、本実施形態に係るロボット制御装置４０Ａは、図３（Ａ）において、回転軸ＪＴ２〜ＪＴ６の軸方向から見て、回転軸ＪＴ２よりも左側に回転軸ＪＴ４が位置するように（換言すれば、図３（Ａ）において、回転軸ＪＴ４が後述する直線Ｌ3を境界として直線Ｌ1とは反対側に位置するように）、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させる。
【００４９】
なお、ワークＷの中心点を基準として回転軸ＪＴ６が回転軸ＪＴ２よりも遠い側に位置するか近い側に位置するかの判定は、次のように行うことが可能である。まず、収容装置５０内に収容されたワークＷの中心点と回転軸ＪＴ２とを結ぶ直線Ｌ3（第３直線）を規定する。そして、回転軸ＪＴ６から直線Ｌ3に向けて引いた垂線と直線Ｌ3との交点が、収容装置５０内に収容されたワークＷの中心点から見て回転軸ＪＴ２よりも遠い場合（すなわち、図１（Ａ）に示す場合）、ワークＷの中心点を基準として回転軸ＪＴ６が回転軸ＪＴ２よりも遠い側に位置すると判定することができる。一方、前記交点が、収容装置５０内に収容されたワークＷの中心点から見て回転軸ＪＴ２よりも近い場合（すなわち、図１（Ｂ）及び図３（Ｂ）に示す場合）、ワークＷの中心点を基準として回転軸ＪＴ６が回転軸ＪＴ２よりも近い側に位置すると判定することができる。
【００５０】
最後に、ロボット制御装置４０Ａは、回転軸ＪＴ４が移動する領域と回転軸ＪＴ６が移動する領域とが、直線Ｌ3を境界として同じ側であるように、回転軸ＪＴ４、ＪＴ６の各々を移動させる（図１（Ｂ）及び図３（Ｂ）参照）。具体的には、ロボット制御装置４０Ａは、回転軸ＪＴ４、ＪＴ６の各々を、直線Ｌ3を境界として二つに分けられた領域のうちの一方の領域（図１及び図３において直線Ｌ3の左側（直線Ｌ3を境界として直線Ｌ1とは反対側）に位置する領域）のみで移動させる。
【００５１】
なお、上記したように、水平多関節ロボット２０は、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させたときが特異点となる。そして、回転軸ＪＴ２、ＪＴ４、ＪＴ６は、回転軸ＪＴ６が回転軸ＪＴ２及び当該回転軸ＪＴ２の近傍を通るとき、特異点の近傍を通過するときの関節位置を、始点及び終点（すなわち、図１（Ａ）及び図１（Ｂ）に示す状態）それぞれの逆変換結果に基づき、各軸補間によって動作する。ここで、各軸補間とは、ロボットアーム３０の回転軸ＪＴ２、ＪＴ４、ＪＴ６それぞれを指定した角度ずつ動作させる場合をいい、いわゆる直線補間のようにロボットアーム３０の先端部の軌跡は考慮されない。
【００５２】
なお、ロボットアーム３０が、図１（Ａ）に示す姿勢から図１（Ｂ）に示す姿勢に変更されるまで（すなわち、回転軸ＪＴ６に直線Ｌ3を横切らせる前の姿勢から、回転軸ＪＴ６に直線Ｌ3を横切らせた後の姿勢に変更されるまで）、回転軸ＪＴ２、ＪＴ４は、それぞれ、各軸補間に基づき互いに同じ回転速度で動作する。なお、このように各軸補間を行うことは、上記特許文献１にも記載されているように、従来から知られている。
【００５３】
（効果）
従来から、ロボットアームが特異点の近傍を通過するときに、ロボットアームの姿勢が急激に変化してしまうという問題があった。
【００５４】
図１３は、従来からあるロボット制御装置を用いて収容装置内に収容されたワークに対して作業を行う水平多関節ロボットの動作を制御したときの様子を示す概略図である。図１３に示すように、従来からあるロボットシステム１０´は、上記実施形態で説明した水平多関節ロボット２０及び収容装置５０と同様の構造であり同じ配置関係である水平多関節ロボット２０´及び収容装置５０´を備える。
【００５５】
図１３に示す従来からある水平多関節ロボット２０´は、上記実施形態に係る水平多関節ロボット２０と同様に、軸方向から見て回転軸ＪＴ６´を回転軸ＪＴ２´に一致させたとき（換言すれば、第１リンク３２と第２リンク３４とが重なり合ったとき）が特異点となる。したがって、図１３に示すように、収容装置５０´内に収容されたワークＷ´の中心点を基準として回転軸ＪＴ２´よりも遠い側から回転軸ＪＴ２´よりも近い側へと回転軸ＪＴ６´を移動させる際に、ロボットアーム３０´の姿勢が急激に変化してしまう。これは、ロボット制御装置４０´が、回転軸ＪＴ２´と回転軸ＪＴ４´とを結ぶ直線Ｌ2を回転軸ＪＴ６に横切らせないように、ロボットアーム３０´の姿勢を変化させるためである。
【００５６】
一方、本実施形態に係るロボット制御装置４０Ａは、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２（換言すれば、円Ｃの円周上）に一致させたうえで、直線Ｌ2を回転軸ＪＴ６に横切らせたあと、回転軸ＪＴ４、ＪＴ６を、収容装置４０内に収容されたワークＷの中心点と回転軸ＪＴ２とを結ぶ直線Ｌ3（第３直線）を境界として同じ側で移動させる。回転軸ＪＴ４が移動する領域と回転軸ＪＴ６が移動する領域とが、直線Ｌ3を境界として同じ側であるように、回転軸ＪＴ４、ＪＴ６の各々を、収容装置５０内に収容されたワークＷの中心点と回転軸ＪＴ２とを結ぶ直線Ｌ3を境界として二つに分けられた領域のうちのいずれかの領域のみ（本実施形態では、図１及び図３において直線Ｌ3よりも左側（直線Ｌ3を境界として直線Ｌ1とは反対側）の領域のみ）で移動させる。これにより、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させたあと、ロボットアーム３０の姿勢が急激に変化し得るような動作がそもそも行われない。したがって、特異点に起因してロボットアーム３０の姿勢が急激に変化することを簡単に防止することが可能となる。
【００５７】
（本実施形態に係るロボット制御方法の一例）
次に、上記実施形態に係るロボット制御装置４０Ａを用いて行われる本実施形態に係るロボット制御方法の一例について、図４に基づき説明する。図４は、本実施形態に係るロボット制御方法の一例を示すフローチャートである。
【００５８】
前提として、上記実施形態で説明した収容装置５０及び水平多関節ロボット２０が予め準備されている。
【００５９】
まず、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、回転軸２（換言すれば、円Ｃの円周上）に回転軸ＪＴ６を一致させたうえで、回転軸ＪＴ２と回転軸ＪＴ４とを結ぶ直線Ｌ2（第２直線）を回転軸ＪＴ６に横切らせる（第１ステップ：図４においてステップＳ１）。
【００６０】
そして、上記ステップＳ１を行ったあとで、回転軸ＪＴ４が移動する領域と回転軸ＪＴ６が移動する領域とが、直線Ｌ3（第３直線）を境界として同じ側であるように、回転軸ＪＴ４、ＪＴ６の各々を、収容装置５０内に収容されたワークＷの中心点と回転軸ＪＴ２とを結ぶ直線Ｌ3を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させる（第２ステップ：図４においてステップＳ２）。
【００６１】
上記のようにして、ロボット制御装置４０Ａを用いて本実施形態に係るロボット制御方法の一例を行うことができる。
【００６２】
（変形例）
上記説明から、当業者にとっては、本発明の多くの改良や他の実施形態が明らかである。したがって、上記説明は、例示としてのみ解釈されるべきであり、本発明を実行する最良の態様を当業者に教示する目的で提供されたものである。本発明の精神を逸脱することなく、その構造及び／又は機能の詳細を実質的に変更できる。
【００６３】
（第１変形例）
図５に基づき、上記実施形態に係るロボットシステムの第１変形例を説明する。図５は、上記実施形態に係るロボットシステムの第１変形例を示す図であり、（Ａ）が軸方向から見て第３回転軸を第１回転軸に一致させたときの図、（Ｂ）がそのあとで第２及び第３回転軸を、第２直線を境界として互いに反対側で移動させているときの図である。
【００６４】
なお、本変形例に係るロボットシステム１０Ｂは、ロボット制御装置４０Ｂによる水平多関節ロボット２０の制御態様を除き、上記実施形態に係るロボットシステム１０Ａと同じ構造を有する。したがって、同一部分には同じ参照番号を付し、同様となる説明は繰り返さない。
【００６５】
本変形例に係るロボット制御装置４０Ｂは、記憶部４２に格納されたプログラムがプロセッサ４４によって実行されるとき、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、収容装置５０内に収容されたワークＷの中心点を基準として回転軸ＪＴ２よりも遠い側から回転軸ＪＴ２よりも近い側へと回転軸ＪＴ６を移動させる際に、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させる（図５（Ａ）参照）。換言すれば、ロボット制御装置４０Ｂは、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、回転軸２（換言すれば、円Ｃの円周上）に回転軸ＪＴ６を一致させたうえで、回転軸ＪＴ２と回転軸ＪＴ４とを結ぶ直線Ｌ2（第２直線）を回転軸ＪＴ６に横切らせる。
【００６６】
ここで、本変形例に係るロボット制御装置４０Ｂは、図５（Ａ）において、回転軸ＪＴ２〜ＪＴ６の軸方向から見て、回転軸ＪＴ２よりも右側に回転軸ＪＴ４が位置するように（換言すれば、図５（Ａ）において、回転軸ＪＴ４が直線Ｌ3を境界として直線Ｌ1と同じ側に位置するように）、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させる。
【００６７】
最後に、ロボット制御装置４０Ｂは、回転軸ＪＴ４が移動する領域と回転軸ＪＴ６が移動する領域とが、直線Ｌ3を境界として互いに反対側であるように、回転軸ＪＴ４、ＪＴ６の各々を移動させる（図５（Ｂ）参照）。具体的には、ロボット制御装置４０Ｂは、回転軸ＪＴ４を、直線Ｌ3を境界として二つに分けられた領域のうちの一方の領域（図５において直線Ｌ3の右側（直線Ｌ3を境界として直線Ｌ1と同じ側）に位置する領域）のみで移動させる。また、ロボット制御装置４０Ｂは、回転軸ＪＴ６を、直線Ｌ3を境界として二つに分けられた領域のうちの他方の領域（図５において直線Ｌ3の左側（直線Ｌ3を境界として直線Ｌ1とは反対側）に位置する領域）のみで移動させる。
【００６８】
（本実施形態に係るロボット制御方法の他の例）
次に、上記実施形態に係るロボット制御装置４０Ｂを用いて行われる本実施形態に係るロボット制御方法の他の例について、図６に基づき説明する。図６は、本実施形態に係るロボット制御方法の他の例を示すフローチャートである。
【００６９】
まず、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、回転軸２（換言すれば、円Ｃの円周上）に回転軸ＪＴ６を一致させたうえで、回転軸ＪＴ２と回転軸ＪＴ４とを結ぶ直線Ｌ2（第２直線）を回転軸ＪＴ６に横切らせる（第１ステップ：図６においてステップＳ１）。
【００７０】
そして、上記ステップＳ１を行ったあとで、回転軸ＪＴ４が移動する領域と回転軸ＪＴ６が移動する領域とが、直線Ｌ3を境界として互いに反対側であるように、回転軸ＪＴ４、ＪＴ６の各々を、収容装置５０内に収容されたワークＷの中心点と回転軸ＪＴ２とを結ぶ直線Ｌ3を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させる（第２ステップ：図６においてステップＳ２）。
【００７１】
上記のようにして、ロボット制御装置４０Ｂを用いて本実施形態に係るロボット制御方法の他の例を行うことができる。
【００７２】
（第２変形例）
図７に基づき、上記実施形態に係るロボットシステムの第２変形例を説明する。図７は、上記実施形態に係るロボットシステムの第２変形例を示す図であり、（Ａ）が、ロボットハンドが第１直線に対して所定の角度だけ傾いた状態で軸方向から見て前記第３回転軸を前記第１回転軸に一致させたときの図、（Ｂ）が、ロボットハンドが第１直線に対して所定の角度だけ傾いた状態で収容装置内に収容されたワークを保持可能な姿勢となったときの図である。なお、本変形例に係るロボットシステム１０Ｃは、ロボット制御装置４０Ｃによる水平多関節ロボット２０の制御態様を除き、上記で説明したロボットシステム１０Ａ、１０Ｂと同じ構造を有する。したがって、同一部分には同じ参照番号を付し、同様となる説明は繰り返さない。
【００７３】
図７に示すように、本変形例において、記憶部４２に格納されたプログラムがプロセッサ４４によって実行されるとき、ロボットハンド３６は、水平多関節ロボット２０の姿勢が軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２（換言すれば、円Ｃの円周上）に一致させた姿勢から収容装置５０内に収容されたワークＷを保持可能な姿勢に変更されるまでの経路の全てで、直線Ｌ1に対して所定の角度だけ傾いた状態で当該直線Ｌ1と平行に直進し、収容装置５０内に収容されたワークＷを保持可能な姿勢となる。本変形例において直線Ｌ1は、ロボットハンド３６が収容装置５０にアクセスする際のワークＷの中心の軌跡（ワークアクセス直線）と、少なくともその一部が一致する。
【００７４】
なお、ロボットアーム３０が、水平多関節ロボット２０の姿勢が軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させた姿勢から収容装置５０内に収容されたワークＷを保持可能な姿勢に変更されるまで（すなわち、ロボットアーム３０が縮んだ姿勢から伸ばした姿勢に変更されるまで）、回転軸ＪＴ２、ＪＴ４は、それぞれ、各軸補間に基づき互いに同じ回転速度で動作する。
【００７５】
ここで、ロボットハンド３６が収容装置５０内に収容されたワークＷを保持可能な姿勢となるとき、回転軸ＪＴ２が直線Ｌ1から所定の距離だけずれて配置されることに起因して、当該ロボットハンド３６が収容装置５０の壁面５４に接触する場合がある。そこで、本変形例のように、ロボットハンド３６が直線Ｌ1に対して所定の角度だけ傾いた状態で収容装置５０内に収容されたワークＷを保持可能な姿勢となることで、上記のような問題を解消することが可能となる。
【００７６】
また、本変形例のように、ロボットハンド３６が前記経路の全てで直線Ｌ1に対して所定の角度だけ傾いた状態で当該直線Ｌ1と平行に直進することで、ロボットアーム３０の動作計画を容易に作成することができる。これにより、本変形例に係るロボット制御装置４０Ｃは、特異点に起因してロボットアーム３０の姿勢が急激に変化することをいっそう簡単に防止することが可能となる。
【００７７】
更に、ロボットハンド３６を、水平多関節ロボット２０の姿勢が軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２に一致させた姿勢から収容装置５０内に収容されたワークＷを保持可能な姿勢に変更されるまでの経路の全てで、当該直線Ｌ1と平行に直進させることに代えて、回転軸ＪＴ６を、上記経路の少なくとも一部で当該直線Ｌ1と平行に直進させてもよい。
【００７８】
また、ロボットハンド３６を収容装置５０の開口面５８に近づけるに連れて、当該ロボットハンド３６を直線Ｌ1に対して傾いていき（すなわち、図７において回転軸ＪＴ６を右回転させていき）、ロボットハンド３６が収容装置５０の開口面５８に至るまでに当該ロボットハンド３６が直線Ｌ1に対して所定の角度だけ傾いた状態となるようにしてもよい。
【００７９】
（第３変形例）
図８に基づき、上記実施形態に係るロボットシステムの第３変形例を説明する。図８は、本実施形態に係るロボットシステムの第３変形例を示す図であり、（Ａ）がロボットシステムの全体構造を示す平面図、（Ｂ）がワークを収容した収容装置及びその周辺部分を拡大した平面図である。なお、本変形例に係るロボットシステム１０Ｄは、アクセス直線ＡＬと直線Ｌ1との関係を除き、上記実施形態に係るロボットシステム１０Ａ〜１０Ｃと同じ構造を有する。したがって、同一部分には同じ参照番号を付し、同様となる説明は繰り返さない。
【００８０】
上記実施形態並びに第１及び第２変形例では、収容装置５０に収容されたワークＷをロボットハンド３６により取り出す取り出し動作中、又は、収容装置５０にワークＷをロボットハンド３６により収容する収容動作中に、回転軸ＪＴ２〜ＪＴ６の軸方向から見てワークＷをロボットハンド３６により壁面５４に衝突させることなく直線状に移動させる方向と平行であり、収容装置５０に収容されたワークＷの中心点を通るアクセス直線ＡＬと、直線Ｌ1とのなす鋭角（換言すれば、アクセス直線ＡＬと、ワークＷの中心点から開口面５８に向けて引いた垂線とのなす鋭角）が０°である場合（すなわち、アクセス直線ＡＬと直線Ｌ1とが一致している場合）について説明した。そして、直線Ｌ1（及びアクセス直線ＡＬ）が回転軸ＪＴ２（換言すれば、円Ｃの円周）の近傍を通るように、水平多関節ロボット２０が配置される場合について説明した。
【００８１】
しかし、この場合に限定されず、図８（Ｂ）に示すように、アクセス直線ＡＬは、直線Ｌ1と一致していなくてもよい。すなわち、前記取り出し動作及び前記収容動作は、回転軸ＪＴ２〜ＪＴ６の軸方向から見て、直線Ｌ1と一致しないように行われてもよい。
【００８２】
また、例えば、アクセス直線ＡＬは、回転軸ＪＴ２〜ＪＴ６の軸方向から見て、開口面５８の少なくとも一部と垂直に交わるように規定されてもよい。
【００８３】
さらに、例えば、アクセス直線ＡＬは、回転軸ＪＴ２〜ＪＴ６の軸方向から見て、壁面５４の少なくとも一部と平行であるように規定されてもよい。
【００８４】
なお、載置部５２、壁面５４及び開口面５８を有する収容装置５０の代わりに、載置部５２が単独で設けられる場合、アクセス直線ＡＬが、載置部５２に載置されたワークＷをロボットハンド３６により保持する保持動作中、又は、載置部５２にワークＷをロボットハンド３６により載置する載置動作中に、回転軸ＪＴ２〜ＪＴ６の軸方向から見てワークＷをロボットハンド３６により直線状に移動させる方向と平行であり、載置部５２に載置されたワークＷの中心点を通る直線であってもよい。そして、このアクセス直線ＡＬと、載置部５２に載置されたワークＷの中心点と回転軸ＪＴ２とを結ぶ直線Ｌ3と、が一致しないように載置部５２及び水平多関節ロボット２０が配置されてもよい。
【００８５】
さらに、前記保持動作中又は前記載置動作中に、回転軸ＪＴ２〜ＪＴ６の軸方向から見てワークＷをロボットハンド３６により直線状に移動させる移動範囲は、載置部５２に載置されたワークＷの存在範囲の少なくとも一部と、ロボットハンド３６により保持されたワークＷの存在範囲の少なくとも一部と、が回転軸ＪＴ２〜ＪＴ６の軸方向から見て重なる範囲であり、アクセス直線ＡＬは、回転軸ＪＴ２〜ＪＴ６の軸方向から見てワークＷの中心点が前記移動範囲において直線状に移動する軌跡と重なるように規定されてもよい。
【００８６】
（第４変形例）
図９及び図１０に基づき、上記実施形態に係るロボットシステムの第３変形例を説明する。図９は、本実施形態に係るロボットシステムの第４変形例を示す概略図である。図１０は、本発明の一実施形態に係るロボットシステムの第４変形例を示す図であり、（Ａ）が軸方向から見て円Ｃの円周上に第３回転軸を一致させたときの図、（Ｂ）がそのあとで第２及び第３回転軸を、第２直線を境界として同じ側で移動させているときの図である。
【００８７】
なお、本変形例に係るロボットシステム１０Ｅは、回転軸ＪＴ２と回転軸ＪＴ４との間の距離が回転軸ＪＴ４と回転軸ＪＴ６との間の距離と異なり、これに起因して、第１リンク３２と第２リンク３４の長さが互いに異なることを除き、上記実施形態に係るロボットシステム１０Ａ〜１０Ｄと同じ構造を有する。したがって、同一部分には同じ参照番号を付し、同様となる説明は繰り返さない。
【００８８】
上記実施形態及び第１乃至第３変形例では、回転軸ＪＴ２と回転軸ＪＴ４との間の距離が回転軸ＪＴ４と回転軸ＪＴ６との間の距離と同じである場合（換言すれば、第１リンク３２が第２リンク３４と同じ長さである場合）について説明した。これにより、上記実施形態及び第１乃至第３変形例では、回転軸ＪＴ２を中心とし、回転軸ＪＴ２と回転軸ＪＴ４との距離と、回転軸ＪＴ４と回転軸ＪＴ６との距離との差を半径とする円Ｃを規定したとき、この円Ｃの半径がゼロであり、円Ｃと回転軸ＪＴ２が一致していた。
【００８９】
一方、本変形例に係るロボットシステム１０Ｅは、図９に示すように、回転軸ＪＴ２と回転軸ＪＴ４との間の距離が回転軸ＪＴ４と回転軸ＪＴ６との間の距離よりも長い（換言すれば、第１リンク３２が第２リンク３４よりも長い）。これにより、回転軸ＪＴ２を中心とし、回転軸ＪＴ２と回転軸ＪＴ４との距離と、回転軸ＪＴ４と回転軸ＪＴ６との距離との差を半径とする円Ｃが、回転軸ＪＴ２と一致しない。
【００９０】
本変形例では、水平多関節ロボット２０は、回転軸ＪＴ１〜ＪＴ３の軸方向から見て、収容装置５０内に収容されたワークＷの中心点から開口面５８に向けて引いた垂線を延長した直線Ｌ1（第１直線）が、円Ｃの近傍を通るように、開口面５８と対向して配置される。
【００９１】
図９及び図１０において、円Ｃの近傍は、軸方向から見て回転軸ＪＴ２を中心とする近傍円ＮＣの内部である。なお、円Ｃの近傍は、図９及び図１０に示す場合に限定されず、上記実施形態及び第１乃至第３変形例と同様に、所定の近傍エリアとして任意に設定することが可能である。詳細については後述する。
【００９２】
まず、本変形例に係るロボット制御装置４０Ｅは、記憶部４２に格納されたプログラムがプロセッサ４４によって実行されるとき、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、円Ｃの円周上に回転軸ＪＴ６を一致させたうえで、回転軸ＪＴ２と回転軸ＪＴ４とを結ぶ直線Ｌ2（第２直線）を回転軸ＪＴ６に横切らせる。
【００９３】
ここで、本変形例に係るロボット制御装置４０Ｅは、図９（Ｂ）において回転軸ＪＴ２よりも左側（直線Ｌ3を境界として直線Ｌ1とは反対側）に回転軸ＪＴ４が位置するように（換言すれば、図９（Ｂ）において、回転軸ＪＴ４が直線Ｌ3を境界として直線Ｌ1とは反対側に位置するように）、軸方向から見て回転軸ＪＴ６を円Ｃの円周上に一致させる。
【００９４】
最後に、ロボット制御装置４０Ｅは、回転軸ＪＴ４が移動する領域と回転軸ＪＴ６が移動する領域とが、直線Ｌ3を境界として同じ側であるように、回転軸ＪＴ４、ＪＴ６の各々を移動させる（図９（Ｂ）及び図１０参照）。具体的には、ロボット制御装置４０Ｅは、回転軸ＪＴ４、ＪＴ６の各々を、直線Ｌ3を境界として二つに分けられた領域のうちの一方の領域（図９及び図１０において直線Ｌ3の左側（直線Ｌ3を境界として直線Ｌ1とは反対側）に位置する領域）のみで移動させる。
【００９５】
なお、本変形例では、水平多関節ロボット２０の特異点に対応する姿勢は、軸方向から見て回転軸ＪＴ６を円Ｃの円周上に一致させたときである。
【００９６】
（その他の変形例）
本発明に係るロボット制御方法は、上記実施形態及び第１変形例で説明した場合に限定されず、例えばロボットシステム１０Ａ（又は１０Ｂ）を用いて、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２（換言すれば、円Ｃの円周上）に一致させたあと、回転軸ＪＴ４、ＪＴ６の各々を、直線Ｌ3を境界として二つに分けられた領域のうち、図３（又は図５）において直線Ｌ3の右側（直線Ｌ3を境界として直線Ｌ1と同じ側）に位置する領域のみで移動させてもよい。
【００９７】
或いは、本発明に係るロボット制御方法は、例えばロボットシステム１０Ａ（又は１０Ｂ）を用いて、軸方向から見て回転軸ＪＴ６を回転軸ＪＴ２（換言すれば、円Ｃの円周上）に一致させたあと、回転軸ＪＴ４を、直線Ｌ3を境界として二つに分けられた領域のうち、図３（又は図５）において直線Ｌ3の左側（直線Ｌ3を境界として直線Ｌ1とは反対側）に位置する領域のみで移動させ、且つ、回転軸ＪＴ６を、直線Ｌ3を境界として二つに分けられた領域のうち、図３（又は図５）において直線Ｌ3の右側（直線Ｌ3を境界として直線Ｌ1と同じ側）に位置する領域のみで移動させてもよい。
【００９８】
図１１は、本発明の一実施形態に係るロボット制御方法を示すフローチャートである。上記で説明した内容を上位概念化すると、図１１のフローチャートのようになる。
【００９９】
本発明の一実施形態に係るロボット制御方法は、例えばロボットシステム１０Ａ〜１０Ｅのいずれかを用いて、まず、水平多関節ロボット２０の姿勢を収容装置５０内に収容されたワークＷを保持可能な姿勢に変更する途中で、円Ｃの円周上に回転軸ＪＴ６を一致させたうえで、回転軸ＪＴ２と回転軸ＪＴ６とを結ぶ直線Ｌ2（第２直線）を回転軸ＪＴ６に横切らせる（図１１においてステップＳ１）。
【０１００】
最後に、回転軸ＪＴ４、ＪＴ６の各々を、収容装置５０内に収容されたワークＷの中心点と回転軸ＪＴ２とを結ぶ直線Ｌ3（第３直線）を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させる。
【０１０１】
図１２は、本発明に係るロボット制御方法を示すフローチャートである。図１１に基づき説明した内容をさらに上位概念化すると、図１２のフローチャートのようになる。
【０１０２】
本発明に係るロボット制御方法は、ワークを載置するための載置部と、第１回転軸、前記第１回転軸にその基端部が取り付けられ前記第１回転軸周りに回動可能な第１リンク、前記第１リンクの先端部に設けられる第２回転軸、前記第２回転軸にその基端部が取り付けられ前記第２回転軸周りに回動可能な第２リンク、前記第２リンクの先端部に設けられる第３回転軸、及び前記第３回転軸にその基端部が取り付けられ前記第３回転軸周りに回動可能なロボットハンドを備えた前記水平多関節ロボットと、が予め準備されている。
【０１０３】
そして、本発明に係るロボット制御方法は、前記載置部に載置された前記ワークを前記ロボットハンドにより保持する保持動作中、又は、前記載置部に前記ワークを前記ロボットハンドにより載置する載置動作中に、前記第１乃至前記第３回転軸の軸方向から見て前記ワークを前記ロボットハンドにより直線状に移動させる方向と平行であり、前記載置部に載置された前記ワークの中心点を通るアクセス直線と、前記載置部に載置された前記ワークの中心点と前記第１回転軸とを結ぶ第３直線と、が一致しないように前記載置部及び前記水平多関節ロボットが配置されている。
【０１０４】
さらに、本発明に係るロボット制御方法は、前記保持動作中又は前記載置動作中に、前記第１回転軸を中心とし、前記第１回転軸と前記第２回転軸との距離と、前記第２回転軸と前記第３回転軸との距離との差を半径とする円の円周上に前記第３回転軸を一致させたうえで、前記第１回転軸と前記第２回転軸とを結ぶ第２直線を前記第３回転軸に横切らせる（図１２においてステップＳ１）。
【０１０５】
最後に、本発明に係るロボット制御方法は、第２及び前記第３回転軸の各々を、前記第３直線を境界として二つに分けられた領域のうちのいずれかの領域のみで移動させる（図１２においてステップＳ２）。
【０１０６】
上記実施形態及び第１〜第４変形例では、図３（Ａ）、図５（Ａ）、図７（Ａ）又は図９（Ｂ）に示すように、直線Ｌ2（第２直線）が直線Ｌ1（第１直線）と直交する方向に延びた状態で（換言すれば、直線Ｌ2が各図面において左右方向に延びた状態で）、軸方向から見て回転軸ＪＴ６を円Ｃの円周上（又は回転軸ＪＴ２）に一致させる場合について説明した。しかし、この場合に限定されず、直線Ｌ2が直線Ｌ1と直交する方向以外に延びた状態で、軸方向から見て回転軸ＪＴ６を円Ｃの円周上（同前）に一致させてもよい。
【０１０７】
上記実施形態及び第１、第２変形例では、それぞれ、図面にアクセス直線ＡＬを記載したが、この場合に限定されない。すなわち、上記実施形態及び第１、第２変形例のように、アクセス直線ＡＬと、直線Ｌ1とのなす鋭角（換言すれば、アクセス直線ＡＬと、ワークＷの中心点から開口面５８に向けて引いた垂線とのなす鋭角）が０°である場合（すなわち、アクセス直線ＡＬと直線Ｌ1とが一致している場合）、アクセス直線ＡＬを考慮する必要がない。したがって、上記実施形態及び第１、第２変形例では、それぞれ、アクセス直線ＡＬが存在しなくてもよい。
【０１０８】
上記実施形態及び第１〜第４変形例では、回転軸ＪＴ２と回転軸ＪＴ４との距離と、回転軸ＪＴ４と回転軸ＪＴ６との距離とが同じである場合、及び、回転軸ＪＴ２と回転軸ＪＴ４との距離が、回転軸ＪＴ４と回転軸ＪＴ６との距離よりも長い場合について説明した。しかし、この場合に限定されず、回転軸ＪＴ２と回転軸ＪＴ４との距離が、回転軸ＪＴ４と回転軸ＪＴ６との距離よりも短くてもよい。
【０１０９】
上記実施形態及び第１〜第４変形例では、円Ｃの近傍は、軸方向から見て当該回転軸ＪＴ２を中心とする近傍円ＮＣの内部である場合について説明した。しかし、この場合に限定されず、回転軸ＪＴ２の近傍は、例えば、近傍円ＮＣとは異なる半径の円の内部エリアとして設定されてもよいし、四角形の内部エリアとして設定されてもよいし、又は、その他の態様の近傍エリアとして設定されてもよい。
【０１１０】
なお、従来、図１２に示すように、直線Ｌ1（第１直線）と回転軸ＪＴ２´との距離が、回転軸ＪＴ４´と回転軸ＪＴ６´との間の距離よりも小さい場合に、ロボットアーム３０´の姿勢が急激に変化し易くなるという問題があった。したがって、本発明では、近傍円ＮＣは、回転軸ＪＴ２を中心とし、回転軸ＪＴ２と回転軸ＪＴ６との間の距離を半径とするように規定されてもよい。
【０１１１】
また、回転軸ＪＴ２〜ＪＴ６の軸方向から見て、近傍円ＮＣの内側であって回転軸ＪＴ２を通らないようにロボットハンド３６（換言すれば、回転軸ＪＴ６）を最高直進速度で移動させた場合に、回転軸ＪＴ２、ＪＴ４、ＪＴ６のいずれかを駆動するためのモータの回転速度、回転加速度、回転加速度の微分値または電流値のいずれかが、予め設定された上限値を超えるように近傍円ＮＣの半径が規定されてもよい。なお、ここでいう最高直進速度とは、ロボットハンド３６の全可動範囲における直進速度の最大値を意味する。
【符号の説明】
【０１１２】
１０  ロボットシステム
２０  水平多関節ロボット
２２  基台
３０  ロボットアーム
３２  第１リンク
３４  第２リンク
３６  ロボットハンド
４０  ロボット制御装置
４２  記憶部
４４  プロセッサ
５０  収容装置
５２  載置部
５４  壁面
５８  開口面
ＡＬ  アクセス直線
ＡＧ  鋭角
Ｃ  円
ＮＣ  近傍円
ＪＴ  回転軸
Ｌ  直線
Ｗ  ワーク
【図１】
2020138017.tif 000003
【図２】
2020138017.tif 000004
【図３】
2020138017.tif 000005
【図４】
2020138017.tif 000006
【図５】
2020138017.tif 000007
【図６】
2020138017.tif 000008
【図７】
2020138017.tif 000009
【図８】
2020138017.tif 000010
【図９】
2020138017.tif 000011
【図１０】
2020138017.tif 000012
【図１１】
2020138017.tif 000013
【図１２】
2020138017.tif 000014
【図１３】
2020138017.tif 000015
【国際調査報告】
2020138017.tif 000016
2020138017.tif 000017
2020138017.tif 000018
2020138017.tif 000019
2020138017.tif 000020