(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023180921
(43)【公開日】2023-12-21
(54)【発明の名称】ロボットの移動経路生成方法、移動経路生成装置、ロボットシステム、およびプログラム
(51)【国際特許分類】
B25J 9/22 20060101AFI20231214BHJP
G05B 19/4093 20060101ALI20231214BHJP
【FI】
B25J9/22 A
G05B19/4093 E
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022094605
(22)【出願日】2022-06-10
(71)【出願人】
【識別番号】000001199
【氏名又は名称】株式会社神戸製鋼所
(74)【代理人】
【識別番号】110002000
【氏名又は名称】弁理士法人栄光事務所
(72)【発明者】
【氏名】澤川 史明
(72)【発明者】
【氏名】飛田 正俊
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB33
3C269BB14
3C269SA15
3C707AS11
3C707BS12
3C707LS09
3C707LS15
3C707LW08
3C707MS08
(57)【要約】
【課題】ロボットの作業時における衝突を防止しつつ、ロボットの適切な移動経路を生成する。
【解決手段】複数の動作軸を有するロボットの移動経路を生成する動作経路生成方法は、前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置工程と、前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定工程と、前記判定工程における判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成工程と、を有し、前記生成工程において、前記仮想領域との干渉が生じない姿勢がより高く評価される。
【選択図】
図4A
【特許請求の範囲】
【請求項1】
複数の動作軸を有するロボットの移動経路を生成する動作経路生成方法であって、
前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置工程と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定工程と、
前記判定工程における判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成工程と、
を有し、
前記生成工程において、前記仮想領域との干渉が生じない姿勢がより高く評価される、動作経路生成方法。
【請求項2】
前記仮想領域は、前記複数の動作軸のうちの所定の動作軸の位置の変化および回転に連動して変化する、請求項1に記載の動作経路生成方法。
【請求項3】
複数の前記仮想領域が配置され、
複数の前記仮想領域それぞれは、前記複数の動作軸の位置の変化および回転に連動して変化する際に、配置された位置に応じて異なるように変化する、請求項2に記載の動作経路生成方法。
【請求項4】
前記仮想領域の形状は、底面が扇形となっている柱状であり、
当該仮想領域の高さが、前記複数の動作軸のうちの所定の動作軸の位置の変化および回転に連動して変化する、請求項1に記載の動作経路生成方法。
【請求項5】
前記仮想領域の形状は、底面が扇形となっている柱状であり、
前記仮想領域は、3次元座標系における、前記ロボットの姿勢の変化に連動して変化する、請求項1に記載の動作経路生成方法。
【請求項6】
前記仮想領域の形状は、直方体である、請求項1に記載の動作経路生成方法。
【請求項7】
前記仮想領域は、3次元座標系における、前記ロボットの姿勢の変化に連動して変化する、請求項6に記載の動作経路生成方法。
【請求項8】
前記仮想領域は、前記ロボットの配置される位置に応じて形状が異なる、請求項1に記載の動作経路生成方法。
【請求項9】
複数の動作軸を有するロボットの移動経路を生成する動作経路生成装置であって、
前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置手段と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定手段と、
前記判定手段による判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成手段と、
を有し、
前記生成手段は、前記仮想領域との干渉が生じない姿勢をより高く評価する、動作経路生成装置。
【請求項10】
複数の駆動軸を有するロボットと、
請求項9に記載の動作経路生成装置と、
を備えるロボットシステム。
【請求項11】
コンピュータに、
複数の動作軸を有するロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置工程と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定工程と、
前記判定工程における判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成工程と、
を実行させ、
前記生成工程において、前記仮想領域との干渉が生じない姿勢がより高く評価される、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットの移動経路生成方法、移動経路生成装置、ロボットシステム、およびプログラムに関する。
【背景技術】
【0002】
従来、ワークに対して所定の作業を実施するロボットは、その発展により様々な産業分野で多用されている。このようなロボットは、アームを備え、アームの姿勢や、その一連の移動経路を制御することで、所定の作業を行うためのアームの先端部の位置を調整している。ロボットの姿勢やその一連の動作における経路を制御する際には、ワークの状態の他、周囲の干渉物などの影響も考慮し、ロボットとその周辺の物体との衝突防止を図って安全性を確保する必要がある。
【0003】
例えば、特許文献1では、ロボットが、障害物との干渉を回避するために所定の距離を空けられるように作成した進入禁止領域を用いて、ロボットの移動経路を生成する方法が開示されている。また、特許文献2では、ロボットの各軸の位置とロボットから障害物までの距離の余裕度とをパラメータにした評価関数を用いて、ロボットと障害物との間を確保する位置・姿勢を生成する方法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平9-34524号公報
【特許文献2】特開平9-201784号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の方法では、ロボットのエンドエフェクタの先端が、障害物との干渉を避けるように構成することは可能である。しかし、特許文献1では、ロボットを構成する各部位が障害物と干渉しないように一定の距離を空けるように制御することまでは考慮されていない。また、特許文献2の方法では、余裕距離が最大となる位置・姿勢を選択するため、ロボットの無理な姿勢を選択し、作業性の悪い移動経路を作成してしまう場合がある。その結果、適切な姿勢を有するロボットの移動経路を生成できないことがある。
【0006】
本発明は、上記課題を鑑み、ロボットの作業時における衝突を防止しつつ、ロボットの適切な移動経路を生成することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために本発明は以下の構成を有する。すなわち、複数の動作軸を有するロボットの移動経路を生成する動作経路生成方法は、
前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置工程と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定工程と、
前記判定工程における判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成工程と、
を有し、
前記生成工程において、前記仮想領域との干渉が生じない姿勢がより高く評価される。
【0008】
また、本発明の別の形態は以下の構成を有する。すなわち、複数の動作軸を有するロボットの移動経路を生成する動作経路生成装置は、
前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置手段と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定手段と、
前記判定手段による判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成手段と、
を有し、
前記生成手段は、前記仮想領域との干渉が生じない姿勢をより高く評価する。
【0009】
また、本発明の別の形態は以下の構成を有する。すなわち、ロボットシステムは、
複数の駆動軸を有するロボットと、
移動経路生成装置と、
を備え、
前記移動経路生成装置は、
前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置手段と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定手段と、
前記判定手段による判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成手段と、
を有し、
前記生成手段は、前記仮想領域との干渉が生じない姿勢をより高く評価する。
【0010】
また、本発明の別の形態は以下の構成を有する。すなわち、プログラムは、
コンピュータに、
複数の動作軸を有するロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置工程と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定工程と、
前記判定工程における判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成工程と、
を実行させ、
前記生成工程において、前記仮想領域との干渉が生じない姿勢がより高く評価される。
【発明の効果】
【0011】
本発明により、ロボットの作業時における衝突を防止しつつ、適切な動作経路を生成することが可能となる。
【図面の簡単な説明】
【0012】
【
図1】本発明の一実施形態に係る天吊り式のロボットシステムの概略構成示す概略図。
【
図2】本発明の一実施形態に係るロボットの動作軸を説明するための概略図。
【
図3】本発明の一実施形態に係る情報処理装置の概略構成を示すブロック図。
【
図4A】本発明の一実施形態に係るロボット周りに設定する仮想領域を説明するための概略図。
【
図4B】本発明の一実施形態に係るロボット周りに設定する仮想領域を説明するための概略図。
【
図4C】本発明の一実施形態に係るロボット周りに設定する仮想領域を説明するための概略図。
【
図5A】本発明の一実施形態に係るロボット周りに設定する仮想領域を説明するための概略図。
【
図5B】本発明の一実施形態に係るロボット周りに設定する仮想領域を説明するための概略図。
【
図6】本発明の一実施形態に係る移動経路の探索処理のフローチャート。
【
図7A】本発明の別の実施形態に係るロボット周りに設定する仮想領域を説明するための概略図。
【
図7B】本発明の別の実施形態に係るロボット周りに設定する仮想領域を説明するための概略図。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態について図面などを参照して説明する。なお、以下に説明する実施形態は、本発明を説明するための一実施形態であり、本発明を限定して解釈されることを意図するものではなく、また、各実施形態で説明されている全ての構成が本発明の課題を解決するために必須の構成であるとは限らない。また、各図面において、同じ構成要素については、同じ参照番号を付すことにより対応関係を示す。なお、以下の説明に用いる図面において、ロボットの構成や各部位の接続部分を一部簡略化したり、省略化したりしている部分があるが、これらは限定的に解釈されることを意図するものではない。
【0014】
<第1の実施形態>
本実施形態では、本発明を適用可能なシステムの一例として、天吊り式の溶接システム(以下、「ロボットシステム」とも称する)を例に挙げて説明する。しかし、これに限定するものではなく、例えば6軸などの複数の軸にて動作可能なアームを有するロボットを備えたロボットシステムであって、そのアーム先端部の位置を所定の作業に応じて調整するために、ロボットの経路を設定させる構成のロボットシステムであれば、本発明は適用可能である。また、本実施形態に係るシステムにおいて、そこに含まれる装置は特に限定されるものではなく、本実施形態に係る機能を有する装置を少なくとも含むように構成されてよい。
【0015】
以降の説明に用いる各図にて示す、X軸、Y軸、およびZ軸の3軸により構成される3次元座標系であるXYZ直交座標系は互いに対応しているものとして説明する。このXYZ直交座標系は、ロボットシステムにおけるロボット座標系と一致していてもよいし、ロボット座標系とは別の座標系とし、座標変換により対応付けられている構成であってもよい。
【0016】
[システムの構成例]
図1は、本実施形態に係るロボットシステムの概略構成を示す概略図である。本実施形態に係るロボットシステム1は、後述する情報処理装置300などから構成される制御装置からの指示に基づき、その先端部に設けられたツールにより、所定の作業を行う。溶接システムの場合、所定の作業は溶接であり、ツールは溶接トーチなどが該当する。なお、ここで示す構成は一例であり、例えば、本実施形態のように溶接システムの場合、不図示の溶接電源を供給する電源装置、ロボットへのワイヤの送給を行うワイヤ送給装置、溶接個所周辺を撮影する撮影装置、各種情報を検出するためのセンサ、溶接対象であるワークを把持し、その姿勢を制御するポジショナなどを更に含んで構成されてよい。
【0017】
図1に示す天吊り式のロボットシステム1は、ロボット2、および、スライダ3を含んで構成される。ロボット2は、垂直多関節型の6軸を備え、スライダ3に設置されるロボットである。スライダ3は、天井やフレームなどに設置され、ロボット2をXY平面上の前後左右方向や、Z軸方向の上下方向に移動させることが可能なように構成される。
【0018】
本実施形態に係るロボット2は、複数の動作軸、すなわち、回転軸として、6軸を有する。
図1および
図2を用いて説明すると、ロボット2は、スライダ3との連結部分である据付ベース4に近い位置から順に、第1軸212、第2軸210、第3軸208、第4軸206、第5軸204、および第6軸202を備える。据付ベース4に近い第1軸をロボット原点とも称する場合がある。更に、ロボット2は、据付ベース4に近い位置から順に、第1リンク211、第2リンク209、第3リンク207、第4リンク205、第5リンク203、および第6リンク201を備える。なお、第Jリンクは、第J軸と第(J+1)軸とを接続する剛性部材に相当する。ロボット2の先端部に位置する第6リンクには、所定の作業を行うためのツールが設けられる。
【0019】
なお、以下の説明では、ロボット2の先端部、すなわち、第6リンク201側を前方とし、それと反対側を後方として説明する。また、ロボット2に対し、スライダ3側を上方とし、その反対側を下方として説明する。なお、ロボット2に対する前後上下方向は、ロボット2の姿勢や、その取付位置などによって変化し得る。
【0020】
図3は、本実施形態に係るロボットシステム1を制御するための制御装置として利用可能な情報処理装置の概略構成を示すブロック図である。つまり、情報処理装置300は、本実施形態に係る移動経路生成装置として利用可能な構成を備える。情報処理装置300は、制御部301、記憶部302、通信部303、入力部304、表示部305、およびインタフェース(IF)部306を含んで構成される。
【0021】
制御部301は、例えば、CPU(Central Processing Unit)、GPU(Graphical Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、あるいはFPGA(Field Programmable Gate Array)のうち少なくとも1つを用いて構成されてよい。また、記憶部302は、例えば、HDD(Hard Disk Drive)、ROM(Read Only Memory)、またはRAM(Random Access Memory)等の揮発性や不揮発性の記憶装置により構成される。制御部301が、記憶部302に記憶された各種プログラムを読み出して実行することにより、後述の各種処理を実現する。
【0022】
通信部303は、外部装置や各種センサとの通信を行うための部位である。通信部303による通信は有線/無線は問わず、また、その通信規格を限定するものでもない。入力部304は、情報処理装置300に各種情報を入力するための入力装置であり、例えば、所定の機能を割り付けられた複数の入力スイッチ、キーボードおよびマウス等により構成されてよい。
【0023】
表示部305は、各種情報を表示するための表示装置であり、例えばCRTディスプレイ、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ等の表示装置等により構成されてよい。表示部305を介して、例えば、入力部304から入力されたコマンドやデータ、および、情報処理装置300によって生成された各種情報が表示されてよい。なお、入力部304および表示部305は、これらが一体化したタッチパネルディスプレイより構成されてもよい。
【0024】
IF部306は、ロボットシステム1やそのほかの外部装置に接続され、外部装置とデータの送受信を行うための部位である。IF部306は、例えば、シリアル通信方式であるRS-232Cのインタフェース回路や、USB(Universal Serial Bus)規格を用いたインタフェース回路等にて構成されてよい。情報処理装置300内の各部位は、内部バス等により通信可能に接続される。
【0025】
なお、ロボットシステム1の制御装置は、ロボット2、スライダ3、およびその他の構成要素(例えば、ポジショナ等)を制御するために別個の装置として設けられ、それらが連携して制御をするように構成されてよい。もしくは、これらを包括的に制御する1つの制御装置が設けられてもよい。
【0026】
[仮想領域]
次に本実施形態に係るロボット2の移動経路の生成を行う際に用いる仮想領域について説明する。なお、本実施形態において「移動経路」とは、ロボット2の先端部、すなわち、ツールの動作位置の経路に加え、ロボット2を構成するアーム等の位置の移動範囲を含むものとする。したがって、
図1や
図2にて示したリンクや軸が移動することにより各部位が位置する三次元空間の領域全体を含む。仮想領域の形状は特に限定されるものではなく、線状、面状、ブロック状などが挙げられる。また、仮想領域は、仮想ブロックであることが好ましい。
【0027】
本実施形態では、ロボット2の姿勢や位置に対して、所定の仮想領域を設定することで、周辺の障害物との干渉を判断する。なお、より詳細には、スライダ3により調整されるロボット2のX軸、Y軸、およびZ軸それぞれの位置の座標も考慮されるが、ここでは、説明を簡単にするため、据付ベース4よりもロボット2側に着目して説明する。本実施形態において、「障害物」とは、ロボット2の動作可能または配置可能な範囲内に位置する物体であって、ロボット2と干渉、すなわち、接触し得る物体全般を含むものとする。
【0028】
図4A、
図4B、および
図4Cは、ロボット2に対して、所定の仮想領域VRを設定した場合を説明するための概念図である。以下の説明で用いる各図において、ロボット2の姿勢に応じて規定される仮想領域VRの範囲をハッチングにて示す。
【0029】
図4Aは、ロボット2をY軸に沿って見た図であり、ロボット2が回転等の姿勢の変更を行う前の状態を示す。この状態では、ロボット2の先端部がX軸に沿った方向を前方方向として向いているものとする。
図4Bは、
図4Aと同じ状態において、ロボット2をZ軸方向に沿って上側から見た図である。ここでは、第1軸212に対応するロボット原点ROを基準として説明する。
【0030】
ロボット2のある姿勢において、ロボット2の先端が向いている方向(
図4Aおよび
図4Bの例では、X軸方向)の最も後方の位置を最後端EPとして設定する。言い換えると、ロボット2の先端部である第6リンク201とは反対側の端部の位置を最後端EPとして特定する。
図4Aおよび
図4Bでは、据付ベース4のX軸の方向における端部が最後端EPとして設定された例を示している。
【0031】
更に、
図4Aおよび
図4Bに示すように、ロボット原点ROを基準として、半径r、かつ、中心角θの扇形の範囲を設定する。中心角θの基準位置、すなわち、中央位置は、ロボット2の先端部を真逆の方向とする。例えば、ロボット2の先端がX軸の方向を向いている姿勢の際には、x軸を基準として、半径rおよび中心角θが設定される。扇形の半径rのうち、最後端EPから扇形の円弧までの距離を余裕距離FDとする。更に、
図4Aに示すように、Z軸方向におけるロボット原点ROと、第3軸208までの距離を余裕高さHとする。
図4Aにおいて、第3軸208のおおよその位置を白丸にて示している。本実施形態では、余裕距離FD、および余裕高さHに示される範囲を仮想領域VRとして、ロボット2の実際の構成物の領域に加え、障害物との干渉の判定を行う。
【0032】
図4Cは、ロボット2をZ軸方向に沿って上側から見た図であり、
図4Aおよび
図4Bにて示したロボット2の姿勢から、ロボット原点ROを基準としてZ軸周りに回転角θ1の分だけ回転した状態を示している。このロボット2の回転に連動して、仮想領域VRもロボット原点ROを基準としてZ軸周りにθ1回転する。このときの余裕距離FDの長さは、
図4Bと同様である。
【0033】
なお、本実施形態では、底面が扇形となっている柱状のブロックである仮想領域VRを例に挙げて説明するが、これに限定するものでは無く、他の形状が用いられてもよい。また、本実施形態では、仮想領域VRを配置する位置をロボット2の後方とした例を挙げて説明するが、これに限定するものではなく、他の位置が用いられてもよい。仮想領域VRの他の構成例については、後述する。
【0034】
更に、本実施形態において、仮想領域VRは、ロボット2の姿勢によってその範囲が変化する。
図5Aおよび
図5Bは、ロボット2の姿勢に応じて、仮想領域VRが変化する例を説明するための概略図である。
図5Aおよび
図5Bでは、
図4Aと同様に、ロボット2の先端部がX軸方向に沿った方向を向いている状態において、Y軸方向に沿って見た概略を示している。このとき、Z軸に沿って見た場合には、ロボット2の先端が向いている方向とX軸の関係は、
図4Cと同様の関係となる。
図5Aは、ロボット2が前方方向において伸び姿勢となっている状態を示す。また、
図5Bは、ロボット2が縮み姿勢となっている状態を示している。
【0035】
図5Aに示す姿勢は、
図4Aに示す姿勢と比較すると、最後端EPの位置は同じであるが、第3軸208のX軸の方向における位置が異なる。そのため、余裕距離FDは同じであるが、余裕高さHが
図4Aの状態よりも小さい値となる。その結果、
図5Aに示す姿勢での仮想領域VRは、
図4Aに示す姿勢とは異なり、より小さい範囲となる。
【0036】
図5Bに示す姿勢は、
図4Aに示す姿勢と比較すると、最後端EPの位置は更に後方に位置している。また、第3軸208のX軸の方向における位置も、
図4Aの位置とは異なる。そのため、余裕距離FDおよび余裕高さHは、
図4Aの状態よりも小さい値となる。その結果、
図5Bに示す姿勢での仮想領域VRは、
図4Aや
図5Aに示す姿勢とは異なり、また、
図5Aに示す姿勢よりもさらに小さい範囲となる。
【0037】
本実施形態では、仮想領域VRを設定するに際し、半径、基準として用いる座標や点、仮想領域を設定する方向や配置などのパラメータを予め規定する。ここで規定されるパラメータの値や項目は特に限定するものではなく、用いる仮想領域VRの形状や配置に応じて異なってよい。また、本実施形態では、第3軸208を基準として用いた例を示すが、これに限定するものではない。ロボット2が備える複数の動作軸のうちどの動作軸を基準とするかは適宜変更されてよい。また、仮想領域VRの範囲の変化は、複数の動作軸のうちのいずれの動作軸における位置や回転に基づくかは適宜変更されてよい。また、動作軸を基準とする代わりに、ロボット2のアームの姿勢などに対応付けて、仮想領域を変化させてもよい。
【0038】
[動作経路生成処理]
以下、本実施形態に係る動作経路生成処理の流れを説明する。
図6は、本実施形態に係る動作経路生成処理の処理全体の流れを示すフローチャートである。各工程は、
図3に示す情報処理装置300の各部位が連携することで実現され、例えば、情報処理装置300の記憶部302に格納されたアプリケーションを制御部301が読み出して実行されることで動作させてよい。本処理フローは、例えば、ロボット2を実際に動作させて作業を行わせる前に、その動作経路を生成するために情報処理装置300側で実行されてよい。ここでは、説明を簡略化するために、処理主体を情報処理装置300としてまとめて記載する。
【0039】
本処理フローが開始される前に、ロボット2の先端部に設けられたツールによる作業に関する情報を示す施工情報が指定されているものとする。施工情報には、例えば、溶接ロボットであれば、溶接位置を示す溶接線の位置、溶接方向、ワークの姿勢などが含まれてよい。また、ロボット2のロボット座標系に係るパラメータや構成要素の寸法などを示す仕様などの情報も予め設定されているものとする。
【0040】
また、ロボット2の周辺に位置する障害物の情報も予め設定されているものとする。障害物の情報は例えば、障害物を模した3次元環境モデルとして示されてよい。障害物としては、例えば、ロボット2の周囲に配置されている、制御装置等の機器や、ロボット2に備えられたケーブルなどが挙げられる。また、障害物には、ロボット2が動作可能な範囲において、接触しうる様々な周辺環境の物体が含まれてよい。
【0041】
ステップS601にて、情報処理装置300は、設定された施工情報を取得する。施工情報は、記憶部302に格納されたデータを読み出して取得してもよいし、情報処理装置300の利用者からの入力を受け付けて取得してもよい。
【0042】
ステップS602にて、情報処理装置300は、仮想領域VRに関するパラメータを取得し、仮想領域を設定する。
図4Cなどを用いて説明した例では、仮想領域を設定するための半径rや中心角θなどのパラメータなどを取得する。
【0043】
ステップS603にて、情報処理装置300は、施工情報を参照し、ロボット2による作業位置の最初の経路点を特定する。ここでは、複数の経路点P
i(i=0,1,2,…,n)に対して、順に作業を行うものとする。例えば、溶接ロボットの場合、溶接を行う溶接線上に複数の経路点として溶接位置が設定され、経路点を順に移動しながら溶接を行う。最初の経路点をP
0とし、これを設定する。更に、情報処理装置300は、経路点P
iに対して作業を行う際に、ロボット2がとり得る姿勢を特定する。
図1や
図2を用いて示したように、ロボット2は複数の回転軸を有するため、1つの経路点(この時点では、経路点P
0)に対して作業を行う場合に、1または複数の姿勢を取ることが可能であると想定される。そのため、それらの姿勢の中から最も適切な姿勢を特定する必要がある。そこで、情報処理装置300は、取りうる1または複数の姿勢のうち、未処理の姿勢を着目する探索候補位置として設定する。
【0044】
ステップS604にて、情報処理装置300は、設定した探索候補位置に対応する姿勢のパラメータを取得する。ここでのパラメータは、例えば、ロボット座標系やワールド座標系の対応関係、各座標系におけるロボット2の構成要素それぞれの座標、向き、角度などが含まれてよい。
【0045】
ステップS605にて、情報処理装置300は、ステップS602にて設定した仮想領域VRを、ステップS604にて取得したパラメータに基づいてロボット2周辺に配置する。配置位置は、例えば、
図4A~
図4Cで示した例の場合、ロボット原点ROや第3軸208を基準として、ロボット2の後方側となる。
【0046】
ステップS606にて、情報処理装置300は、ステップS605にて設定した仮想領域VRと、周辺環境の障害物の情報とに基づいて、干渉しているか否かを判定する。例えば、それぞれの座標が示す範囲が重複している場合には、それらは干渉しているものとして判定してよい。このとき、情報処理装置300は、仮想領域VRと障害物との干渉の判定のみではなく、ロボット2の構成要素と障害物の干渉の判定も行う。なお、干渉判定の手法は特に限定するものではなく、公知の手法を用いてよい。
【0047】
ステップS607にて、情報処理装置300は、ステップS606の判定結果に基づき、着目している探索候補位置に対する評価を行い、評価値の設定を行う。評価の手法は特に限定するものではないが、例えば、3段階の評価(0点~2点)とし、仮想領域VRと障害物とが干渉していないと判定された場合には、最も評価値の高い2点を設定する。また、仮想領域と障害物とは干渉しているが、ロボット2の構成要素と障害物とは干渉していないと判定された場合には、1点を設定する。また、ロボット2の構成要素と障害物とが干渉していると判定された場合には、最も評価値の低い0点を設定する。なお、ロボット2の構成要素と障害物とが干渉している場合には、実際には、実行できない姿勢である。なお、実際にとりえない姿勢については、ステップS603の時点で設定できないように構成されてもよい。
【0048】
ステップS608にて、情報処理装置300は、現在の経路点Piに対する未処理の探索候補位置、すなわち、姿勢があるか否かを判定する。未処理の探索候補位置がある場合(ステップS608にてYES)、情報処理装置300の処理はステップS611へ進む。一方、未処理の探索候補位置が無い場合(ステップS608にてNO)、情報処理装置300の処理はステップS609へ進む。
【0049】
ステップS609にて、情報処理装置300は、iがnより小さい(i<n)か否かを判定する。nは経路点の総数を示し、iを0からカウントした場合に、i=nになった際にすべての経路点に対する処理が完了したことを意味する。iがnより小さい場合(ステップS609にてYES)、未処理の経路点があるものとして、情報処理装置300の処理はステップS610へ進む。一方、iがn以上である場合(ステップS609にてNO)、未処理の経路点が無いものとして、情報処理装置300の処理はステップS612へ進む。
【0050】
ステップS610にて、情報処理装置300は、iを1インクリメントする。すなわち、次の経路点Piを対象として、以降の処理が行われる。そして、情報処理装置300の処理は、ステップS611へ進む。
【0051】
ステップS611にて、情報処理装置300は、着目している経路点Piに対して作業を行う際にロボット2がとり得る1または複数の姿勢を特定する。更に、情報処理装置300は、ロボット2がとり得る1または複数の姿勢のうち、未処理の姿勢を着目する探索候補位置として設定する。そして、情報処理装置300の処理は、ステップS604へ戻り、以降の処理を繰り返す。
【0052】
ステップS612にて、情報処理装置300は、経路点Pi(i=0,1,…)それぞれに対して判定した干渉の評価値に基づいて、干渉を回避可能なロボット2の動作経路を特定する。このとき、Piそれぞれの評価値に加え、その直前の位置の評価値(例えば、Piに対して、Pi-1やPi-2などの評価値)を考慮して動作経路を特定してもよい。例えば、Piにおいて評価値が最も高い姿勢であっても、その直前のPi-1における最も評価値が高い姿勢からの移動に無駄が発生する際には、Piにおいて取り得る姿勢のうち2番目の評価値の姿勢を選択するような構成であってもよい。ここでの無駄の判定は、例えば、各回転軸の変化量や、複数の回転軸のうち変化する回転軸の数、動作経路の連続性などに基づいて行われてもよい。これにより、情報処理装置300は、複数の経路点を含んで構成される作業経路を移動するための、ロボット2の動作経路を生成する。そして、本処理フローを終了する。
【0053】
以上、本実施形態により、ロボットの作業時における衝突を防止しつつ、適切な姿勢の動作経路を生成することが可能となる。
【0054】
<その他の実施形態>
上記の実施形態では、
図4A~
図4Cに示したように、ロボット2の後方に扇形の柱状の仮想領域を設定する形態について説明した。これとは別の仮想領域の設定について説明する。本例では、仮想領域の形状を直方体の形状とし、ロボット2の下方側に設定する形態について示す。
【0055】
図7Aおよび
図7Bは、ロボット2に対して、第1の実施形態とは異なる条件にて、所定の仮想領域を設定した概念図である。
図7Aは、ロボット2をY軸方向に沿って見た図である。また、
図7Bは、ロボット2をX軸に沿って後方側から見た図である。
【0056】
まず、ロボット2のある姿勢において、Z軸方向のロボット2のアームの底面をアーム底面ABとして設定する。アーム底面ABは、ロボット2の形状に応じて、一定の範囲を設定してよい。そして、アーム底面ABに接触するように、X軸、Y軸、Z軸それぞれに対応する余裕幅FWx、余裕幅FWy、余裕高さFHにて規定される仮想領域を配置する。
図7Bに示すように、Y軸方向において、仮想領域の中心は、第3軸208に一致するように配置される。ここでの余裕幅FWx、余裕幅FWy、余裕高さFHは、ロボット2の構成に応じて、予め規定されていてよい。なお、
図7Aや
図7Bでは省略しているが、例えば、第1の実施形態にて示したように、第3軸208とロボット原点ROとの距離に応じて、仮想領域の形状、例えば、余裕高さFHが変化するように構成されてもよい。
【0057】
このような仮想領域を用いて、第1の実施形態にて説明したような干渉を判定することで、ロボット2の下方側の領域においても障害物との干渉を抑制した余裕のある動作経路を導出することが可能となる。
【0058】
なお、仮想領域の設置は、1つに限定するものではなく、例えば、ロボット2の後方、上方、下方、側方、それぞれに設定されてもよい。また、仮想領域の形状は1つの形状に限定するものではなく、設置する位置に応じて変化させてもよい。このとき、第1の実施形態にて説明したように、ロボット2の姿勢に応じて、設置した仮想領域の形状や寸法を変化させてもよい。
【0059】
また、仮想領域を設定する位置、寸法などは、ロボットシステム1の利用者が情報処理装置300にて任意に指定可能に構成されてもよい。また、スライダ3の可動範囲に応じて、仮想領域の設定を調整するような構成であってもよい。
【0060】
本実施形態は、上述した1以上の実施形態の機能を実現するためのプログラムやアプリケーションを、ネットワークまたは記憶媒体等を用いてシステムまたは装置に供給し、そのシステムまたは装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。
【0061】
また、本実施形態は、1以上の機能を実現する回路によって実現してもよい。なお、1以上の機能を実現する回路としては、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)が挙げられる。
【0062】
以上の通り、本明細書には次の事項が開示されている。
(1) 複数の動作軸を有するロボットの移動経路を生成する動作経路生成方法であって、
前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置工程と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定工程と、
前記判定工程における判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成工程と、
を有し、
前記生成工程において、前記仮想領域との干渉が生じない姿勢がより高く評価される、動作経路生成方法。
この構成によれば、ロボットの作業時における衝突を防止しつつ、適切な動作経路を生成することが可能となる。
【0063】
(2) 前記仮想領域は、前記複数の動作軸のうちの所定の動作軸の位置の変化および回転に連動して変化する、(1)に記載の動作経路生成方法。
この構成によれば、ロボットが有する複数の動作軸の所定の動作軸の位置の変化や回転に応じて、仮想領域を変化させて設定することが可能となる。
【0064】
(3) 複数の前記仮想領域が配置され、
複数の前記仮想領域それぞれは、前記複数の動作軸の位置の変化および回転に連動して変化する際に、配置された位置に応じて異なるように変化する、(2)に記載の動作経路生成方法。
この構成によれば、ロボットの周辺に複数の仮想領域を配置して、ロボットの衝突を防止可能な動作経路を生成することが可能となる。
【0065】
(4) 前記仮想領域の形状は、底面が扇形となっている柱状であり、
当該仮想領域の高さが、前記複数の動作軸のうちの所定の動作軸の位置の変化および回転に連動して変化する、(1)に記載の動作経路生成方法。
この構成によれば、扇形の柱状の仮想領域を用いて、仮想領域の範囲を動作軸の位置の変化や回転に連動して変化させながら干渉判定を行うことが可能となる。特に扇形状により、ある中心角において、同じ距離の範囲の干渉判定を行うことが可能となる。
【0066】
(5) 前記仮想領域の形状は、底面が扇形となっている柱状であり、
前記仮想領域は、3次元座標系における、前記ロボットの姿勢の変化に連動して変化する、(1)に記載の動作経路生成方法。
この構成によれば、扇形の柱状の仮想領域を用いて、仮想領域の範囲をロボットの姿勢の変化や回転に連動して変化させながら干渉判定を行うことが可能となる。
【0067】
(6) 前記仮想領域の形状は、直方体である、(1)に記載の動作経路生成方法。
この構成によれば、直方体の形状の仮想領域を用いて、干渉判定を行うことが可能となる。
【0068】
(7) 前記仮想領域は、3次元座標系における、前記ロボットの姿勢の変化に連動して変化する、(6)に記載の動作経路生成方法。
この構成によれば、直方体の形状の仮想領域を用いて、仮想領域の範囲をロボットの姿勢の変化や回転に連動して変化させながら干渉判定を行うことが可能となる。
【0069】
(8) 前記仮想領域は、前記ロボットの配置される位置に応じて形状が異なる、(1)に記載の動作経路生成方法。
この構成によれば、配置位置に応じて形状が異なる仮想領域を用いて、干渉判定を行うことが可能となる。
【0070】
(9) 複数の動作軸を有するロボットの移動経路を生成する動作経路生成装置であって、
前記ロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置手段と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定手段と、
前記判定手段による判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成手段と、
を有し、
前記生成手段は、前記仮想領域との干渉が生じない姿勢をより高く評価する、動作経路生成装置。
この構成によれば、ロボットの作業時における衝突を防止しつつ、適切な動作経路を生成することが可能となる。
【0071】
(10) 複数の駆動軸を有するロボットと、
上記の動作経路生成装置と、
を備えるロボットシステム。
この構成によれば、ロボットの作業時における衝突を防止しつつ、適切な動作経路を生成することが可能なロボットシステムを提供することができる。
【0072】
(11) コンピュータに、
複数の動作軸を有するロボットの作業位置に対する複数の姿勢それぞれに応じて、当該ロボットの周辺に仮想領域を配置する配置工程と、
前記ロボットおよび前記仮想領域と、前記ロボットの周辺環境との干渉を判定する判定工程と、
前記判定工程における判定結果に基づいて、前記複数の姿勢それぞれを評価して、前記ロボットの移動経路を生成する生成工程と、
を実行させ、
前記生成工程において、前記仮想領域との干渉が生じない姿勢がより高く評価される、プログラム。
この構成によれば、ロボットの作業時における衝突を防止しつつ、適切な動作経路を生成することが可能となる。
【符号の説明】
【0073】
1…ロボットシステム
2…ロボット
3…スライダ
4…据付ベース
201…第6リンク
202…第6軸
203…第5リンク
204…第5軸
205…第4リンク
206…第4軸
207…第3リンク
208…第3軸
209…第2リンク
210…第2軸
211…第1リンク
212…第1軸
300…情報処理装置
301…制御部
302…記憶部
303…通信部
304…入力部
305…表示部
306…IF部