(57)【特許請求の範囲】
【請求項１】
第１箇所が支持された柔軟物の第２箇所を支持しつつ前記第２箇所を前記第１箇所に対して相対的に移動させることで前記柔軟物の形状を変化させるフォーミングにおいて、
前記移動の始点から終点に至るまでに、前記第１箇所と前記第２箇所との距離が徐々に小さくなり、前記第１箇所と前記始点とを結ぶ線に接する仮想円または仮想楕円への巻き付け軌道のインボリュート曲線と、前記第２箇所から前記仮想円または前記仮想楕円への接線ベクトルとを含むように、前記第２箇所の軌道を計算する計算部を備えることを特徴とする演算装置。
【請求項２】
前記仮想円の曲率または前記仮想楕円の最大曲率は、前記柔軟物の許容曲率以下であることを特徴とする請求項１記載の演算装置。
【請求項３】
前記計算部が計算した軌道の途中に１以上の所定点を設定し、前記軌道の始点から順に各点を結ぶことで直線補間軌道を生成する生成部を備えることを特徴とする請求項１または２に記載の演算装置。
【請求項４】
請求項１〜３のいずれか一項に記載の演算装置と、
前記演算装置によって計算された軌道を描くように、前記第２箇所を支持するロボットと、を備えることを特徴とするロボットシステム。
【請求項５】
第１箇所が支持された柔軟物の第２箇所を支持しつつ、前記第２箇所を前記第１箇所に対して相対的に移動させることで前記柔軟物の形状を変化させるフォーミングを行うロボットを備え、
前記ロボットは、前記移動の始点から終点に至るまでに、前記第１箇所と前記第２箇所との距離が徐々に小さくなり、前記第１箇所と前記始点とを結ぶ線に接する仮想円または仮想楕円への巻き付け軌道のインボリュート曲線と、前記第２箇所から前記仮想円または前記仮想楕円への接線ベクトルとを含むように前記第２箇所が軌道を描くように移動することを特徴とするロボットシステム。
【請求項６】
第１箇所が支持された柔軟物の第２箇所を支持しつつ前記第２箇所を前記第１箇所に対して相対的に移動させることで前記柔軟物の形状を変化させるフォーミングにおいて、
前記移動の始点から終点に至るまでに、前記第１箇所と前記第２箇所との距離が徐々に小さくなり、前記第１箇所と前記始点とを結ぶ線に接する仮想円または仮想楕円への巻き付け軌道のインボリュート曲線と、前記第２箇所から前記仮想円または前記仮想楕円への接線ベクトルとを含むように、前記第２箇所の軌道を計算部が計算することを特徴とする演算方法。
【請求項７】
第１箇所が支持された柔軟物の第２箇所を支持しつつ前記第２箇所を前記第１箇所に対して相対的に移動させることで前記柔軟物の形状を変化させるフォーミングにおいて、
コンピュータに、前記移動の始点から終点に至るまでに、前記第１箇所と前記第２箇所との距離が徐々に小さくなり、前記第１箇所と前記始点とを結ぶ線に接する仮想円または仮想楕円への巻き付け軌道のインボリュート曲線と、前記第２箇所から前記仮想円または前記仮想楕円への接線ベクトルとを含むように、前記第２箇所の軌道を計算する処理を実行させることを特徴とする演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、演算装置、演算方法、演算プログラム、およびロボットシステムに関する。
【背景技術】
【０００２】
複数のロボットに協調動作を行わせる技術が求められている。例えば、一方のロボットにケーブルの一端を支持させ、他方のロボットにケーブルの他端を支持させ、ケーブルフォーミングを行わせる技術が求められている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１−００２１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ケーブルフォーミングにおいては、両ロボットの支持点の距離が小さすぎると、ケーブルにたるみが生じるおそれがある。一方、両ロボットの支持点の距離がケーブルの自然長を超えると、ケーブルが破断するおそれがある。また、両ロボットの相対移動の際にケーブルを曲げ過ぎてもケーブルが破断するおそれがある。いずれにおいても、ケーブルフォーミングの成功率が低下してしまう。
【０００５】
１つの側面では、本発明は、ケーブルなどの柔軟物のフォーミングの成功率を向上させることができる演算装置、演算方法、演算プログラム、およびロボットシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、演算装置は、第１箇所が支持された柔軟物の第２箇所を支持しつつ前記第２箇所を前記第１箇所に対して相対的に移動させることで前記柔軟物の形状を変化させるフォーミングにおいて、前記移動の始点から終点に至るまでに、前記第１箇所と前記第２箇所との距離が徐々に小さくなり、前記第１箇所と前記始点とを結ぶ線に接する仮想円または仮想楕円への巻き付け軌道のインボリュート曲線と、前記第２箇所から前記仮想円または前記仮想楕円への接線ベクトルとを含むように、前記第２箇所の軌道を計算する計算部を備える。
【０００７】
１つの態様では、ロボットシステムは、第１箇所が支持された柔軟物の第２箇所を支持しつつ、前記第２箇所を前記第１箇所に対して相対的に移動させることで前記柔軟物の形状を変化させるフォーミングを行うロボットを備え、前記ロボットは、前記移動の始点から終点に至るまでに、前記第１箇所と前記第２箇所との距離が徐々に小さくなり、前記第１箇所と前記始点とを結ぶ線に接する仮想円または仮想楕円への巻き付け軌道のインボリュート曲線と、前記第２箇所から前記仮想円または前記仮想楕円への接線ベクトルとを含むように前記第２箇所が軌道を描くように移動する。
【発明の効果】
【０００９】
柔軟物のフォーミングの成功率を向上させることができる。
【図面の簡単な説明】
【００１０】
【図１】実施例１に係る演算装置を備えるロボットシステムの概略図である。
【図２】ケーブルフォーミングの課題を説明するための図である。
【図３】（ａ）および（ｂ）はケーブルフォーミングの課題を説明するための図である。
【図４】（ａ）および（ｂ）はケーブルフォーミングの課題を説明するための図である。
【図５】（ａ）および（ｂ）はケーブルフォーミングの課題を説明するための図である。
【図６】（ａ）および（ｂ）はケーブルフォーミングの課題を説明するための図である。
【図７】実施例１に係る演算装置の機能ブロック図である。
【図８】仮想図形として円を用いる場合の軌道について例示する図である。
【図９】インボリュート曲線を例示する図である。
【図１０】ロボットシステムの動作の一例を表すフローチャートを例示する図である。
【図１１】凸形状の仮想図形として楕円を用いる場合の巻き付け軌道を例示する図である。
【図１２】凸形状の仮想図形として六角形を用いる場合の巻き付け軌道を例示する図である。
【図１３】実施例２に係る演算装置の機能ブロック図である。
【図１４】凸形状の仮想図形として仮想円を用いる場合の軌道分割を例示する図である。
【図１５】ロボットシステムの動作の一例を表すフローチャートを例示する図である。
【図１６】（ａ）は演算装置のハードウェア構成を説明するためのブロック図であり、（ｂ）はロボットシステムの他の例について例示する図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しつつ、実施例について説明する。
【実施例１】
【００１２】
図１は、実施例１に係る演算装置１０を備えるロボットシステム１００の概略図である。ロボットシステム１００は、双腕協調作業を行う装置である。図１で例示するように、ロボットシステム１００は、演算装置１０、制御装置２０、支持ロボット３０、作業ロボット４０などを備える。支持ロボット３０および作業ロボット４０は、例えば垂直多関節アームロボットであり、双腕協調作業により製品の組立作業などを行う。
【００１３】
支持ロボット３０は、複数のアームが１以上の関節を介して接続された構成を有し、先端に、対象物を支持するための支持ハンド３１を備える。当該１以上の関節は、水平旋回、上下旋回などを行う。支持ロボット３０は、１以上の関節の旋回によって、支持ハンド３１の位置および姿勢を調整する。位置は、ＸＹＺ軸の３軸で表すことができる。姿勢は、ＸＹＺ軸における回転角度で表すことができる。したがって、支持ロボット３０は、６自由度の動きを実現することができる。
【００１４】
作業ロボット４０は、複数のアームが１以上の関節を介して接続された構成を有し、先端に、対象物を支持して作業を行うための作業ハンド４１を備える。当該１以上の関節は、水平旋回、上下旋回などを行う。作業ハンド４１は、例えば、支持ハンド３１と協働してフォーミングを行う。フォーミングとは、柔軟物（例えばケーブル）を所望の形状に変化させる処理のことである。ケーブルフォーミングとは、柔軟なケーブルを所望の形状に曲げる処理のことである。作業ロボット４０は、１以上の関節の旋回によって、作業ハンド４１の位置および姿勢を調整する。すなわち、作業ロボット４０も、６自由度の動きを実現することができる。
【００１５】
演算装置１０は、制御装置２０が支持ロボット３０および作業ロボット４０の動作を制御するためのロボットプログラムを演算により作成する。作成されたロボットプログラムは、制御装置２０に送信される。制御装置２０は、演算装置１０から受信したロボットプログラムに従って、支持ロボット３０および作業ロボット４０の動作を制御する。具体的には、制御装置２０は、支持ロボット３０の関節の角度を調整することによって支持ハンド３１の位置および姿勢を制御し、支持ハンド３１の支点を制御する。また、制御装置２０は、作業ロボット４０の関節の角度を調整することによって作業ハンド４１の位置および姿勢を制御し、作業ハンド４１の作業動作を制御する。したがって、支持ハンド３１の位置、姿勢および動作は、支持ロボット３０の各関節の角度で表すことができる。また、作業ハンド４１の位置、姿勢および動作は、作業ロボット４０の各関節の角度で表すことができる。
【００１６】
支持ロボット３０および作業ロボット４０は、部分拘束協調作業において、支持ハンド３１と作業ハンド４１との間で互いの位置および姿勢が相対的に固定される。各作業において、支持ハンド３１と作業ハンド４１との間の位置および姿勢は変化する。例えば、一方の位置および姿勢を固定すると、各作業における所定時点（例えば開始時点）の他方の位置における座標系を並べると、当該他方の座標系が軌道を描く。
【００１７】
ここで、ケーブルフォーミングの課題について説明する。ケーブルフォーミングにおいては、図２で例示するように、組付部品が取り付けられた基板上において、支持ハンド３１が支点ＰＦにおいてケーブル５０の第１箇所を固定支持する。作業ハンド４１は、ケーブル５０の第２箇所を支持しつつ移動する。例えば、作業ハンド４１の支持点が始点ＰＳから終点ＰＥまで移動する。それにより、ケーブル５０が所定の形状に屈曲し、ケーブルフォーミングがなされる。
【００１８】
ケーブルフォーミングにおいては、作業ハンド４１と組付部品との干渉を回避する。場合によっては、作業成功率向上のために、ケーブル５０と組付部品との干渉を回避する。すなわち、作業ハンド４１の支持点の軌道は、作業ハンド４１と組付部品との干渉を回避する干渉回避動作軌道である。また、ケーブルフォーミングにおいては、ケーブル５０の破断を回避する。例えば、図３（ａ）で例示するように、第１箇所と第２箇所との間のケーブル長を自然長以上に伸ばすと破断するおそれがある。また、図３（ｂ）で例示するように、ケーブル５０に対して許容曲率を超える曲率を与える変形を行うと、ケーブル５０が破断するおそれがある。すなわち、作業ハンド４１の支持点の軌道は、ケーブル５０の破断を回避するケーブル破断回避動作軌道である。
【００１９】
次に、直線補間軌道について検討する。図４（ａ）は、直線補間軌道を例示する図である。図４（ａ）で例示するように、直線補間軌道においては、始点ＰＳから終点ＰＥまで、作業ハンド４１の支持点が直線軌道を描くことになる。なお、作業ハンド４１の姿勢は、球面線形補間される。直線補間軌道の途中に組付部品が無ければ、当該直線補間軌道は、干渉回避動作軌道である。
【００２０】
しかしながら、この場合、軌道の途中で作業ハンド４１の支持点と支持ハンド３１の支点ＰＦとの距離が短くなる。具体的には、作業ハンド４１の支持点の始点ＰＳと終点ＰＥとの中点において、作業ハンド４１の支持点と支持ハンド３１の支点ＰＦとの距離が最短となる。図４（ｂ）は、この場合のケーブル５０の側面図である。図４（ｂ）で例示するように、この場合、ケーブル５０にたるみが生じ、組付部品に対するケーブル５０の引っ掛かり等に起因して作業成功率低下のおそれがある。
【００２１】
次に、関節補間軌道について検討する。図５（ａ）は、関節補間軌道を例示する図である。関節補間軌道においては、作業ハンド４１の支持点の始点ＰＳと終点ＰＥとの間で作業ハンド４１の姿勢間の間接線形補間によって、作業ハンド４１の支持点の軌道が生成される。例えば、図５（ａ）で例示するように、作業ハンド４１の支持点が曲線を描くことになる。関節補間軌道の途中に組付部品が無ければ、当該関節補間軌道は、干渉回避動作軌道である。
【００２２】
しかしながら、この場合、作業ハンド４１の支持点の軌道が、作業ロボット４０の構造および姿勢に依存する。場合によっては、図５（ｂ）で例示するように、軌道途中で、作業ハンド４１の支持点と支持ハンド３１の支点ＰＦとの距離が、ケーブル５０の第１箇所と第２箇所との間の自然長より大きくなる場合がある。この場合、ケーブル５０が破断するおそれがある。
【００２３】
次に、円弧軌道について検討する。図６（ａ）は、円弧軌道を例示する図である。円弧軌道においては、図６（ａ）で例示するように、作業ハンド４１の支持点が円弧を描くことになる。円弧軌道の途中に組付部品が無ければ、当該円弧軌道は、干渉回避動作軌道である。しかしながら、この場合、図６（ｂ）で例示するように、作業ハンド４１の支持点と支点ＰＦとの間の距離が一定で、かつ、支点ＰＦが固定されていることから、支持ハンド３１の支点ＰＦ付近においてケーブル５０の曲率が大きくなるおそれがある。この場合、当該曲率が許容曲率を超えると、ケーブル５０が破断するおそれがある。すなわち、単純円弧軌道では、支点ＰＦ付近に適切な曲率を実現することは困難である。
【００２４】
そこで、本実施例においては、演算装置１０は、ケーブル５０のフォーミングの成功率を向上させることができる軌道を算出する。図７は、演算装置１０の機能ブロック図である。図７で例示するように、演算装置１０は、モデル格納部１１、情報入力部１２、仮想図形計算部１３、軌道計算部１４、プログラム生成部１５および出力部１６として機能する。
【００２５】
モデル格納部１１は、基板に組付けられる組付部品、ケーブルなどのモデルを格納している。当該モデルを参照することで、基板に組付けられる組付部品の種類、組付位置、ケーブルの形状などを把握することができる。情報入力部１２には、作業者によって、ケーブル５０の支点ＰＦ、始点ＰＳ、終点ＰＥ、ケーブル５０の第１箇所と第２箇所との間の自然長、仮想円の許容曲率などが入力される。仮想円の許容曲率は、ケーブル５０の許容曲率である。
【００２６】
仮想図形計算部１３は、凸形状の仮想図形を計算する。凸形状は、例えば、円、楕円、四角形、五角形、六角形などである。軌道計算部１４は、仮想図形計算部１３が計算によって得た仮想図形を用いて、ケーブルフォーミングの作業軌道を計算する。ケーブルフォーミングの作業軌道は、ケーブル５０に対する作業ハンド４１の支持点（ケーブル５０の第２箇所）の軌道である。
【００２７】
プログラム生成部１５は、軌道計算部１４によって計算された作業軌道を作業ハンド４１が実現するように、支持ロボット３０および作業ロボット４０の動作のロボットプログラムを生成する。出力部１６は、プログラム生成部１５によって生成されたロボットプログラムを制御装置２０に出力する。それにより、軌道計算部１４が計算した軌道が実現されるように、支持ロボット３０および作業ロボット４０が作業を行う。
【００２８】
図８は、仮想図形として円を用いる場合の軌道について例示する図である。図８で例示するように、支持ハンド３１の支点ＰＦと作業ハンド４１の始点ＰＳとの距離をＤ１とする。支持ハンド３１の支点と作業ハンド４１の終点との距離をＤ２とする。本実施例においては、距離Ｄ１＞距離Ｄ２を想定している。
【００２９】
まず、支持ハンド３１の支点ＰＦと作業ハンド４１の始点ＰＳとを結ぶ線に接する仮想円を想定する。仮想円は、当該線に対し、作業ハンド４１の終点ＰＥ側に配置される。仮想円の半径を半径ｒとする。支点ＰＦから仮想円の接点Ｃ１までの長さを長さＬ１とする。終点ＰＥから、仮想円の始点ＰＳ側への接点Ｃ２までの長さを長さＬ２とする。仮想円の原点（ｘ０，ｙ０）と接点Ｃ２とを結ぶ線に対する角度を角度θ（ラジアン）とする。仮想円における接点Ｃ１から接点Ｃ２までの円弧の長さをＬｖ＝ｒθとする。この場合、ケーブル長Ｌは、Ｌ＝Ｌ１＋Ｌｖ＋Ｌ２と表すことができる。また、距離Ｄ１＝ケーブル長Ｌである。仮想図形計算部１３は、このような関係を満たす仮想円を計算する。
【００３０】
次に、軌道計算部１４は、仮想円に対する巻き付け軌道を計算する。巻き付け軌道とは、支点ＰＦと始点ＰＳとを結ぶ線に接する仮想図形に対して、支点ＰＦと作業ハンド４１の支持点とが最短となるようケーブル５０を巻き付ける軌道である。当該計算には、インボリュート曲線を用いることができる。インボリュート曲線は、下記式（１）のように表すことができる。また、原点（ｘ０，ｙ０）は、仮想円の中心である。また、インボリュート曲線は、図９において、破線で表されている。
【数１】
0006733356.tif 000002
【００３１】
この場合、作業ハンド４１の支持点の軌道は、下記式（２）のように表すことができる。下記式（２）において、ｔ（θ）は、作業ハンド４１の支持点から仮想円への接線ベクトルである。下記式（２）で表される軌道は、仮想円への巻き付け軌道を表している。なお、軌道途中の作業ハンド４１の姿勢は、仮想円への接線方向に一致させる。すなわち、作業ハンド４１の支持点付近においてケーブル５０に曲がりが生じないように作業ハンド４１の姿勢を設定する。
【数２】
0006733356.tif 000003
【００３２】
図１０は、ロボットシステム１００の動作の一例を表すフローチャートを例示する図である。図１０で例示するように、作業者によって、情報入力部１２に、ケーブル５０の支点ＰＦ、始点ＰＳ、終点ＰＥ、ケーブル５０の第１箇所と第２箇所との間の自然長、仮想円の許容曲率などが入力される（ステップＳ１）。次に、仮想図形計算部１３は、ステップＳ１で入力された情報を基に、仮想円の位置および半径ｒを計算する（ステップＳ２）。
【００３３】
次に、仮想図形計算部１３は、ステップＳ２で計算された仮想円の曲率が許容曲率内であるか否かを判定する（ステップＳ３）。ステップＳ３で「Ｎｏ」と判定された場合、フローチャートの実行が終了する。ステップＳ３で「Ｙｅｓ」と判定された場合、軌道計算部１４は、仮想円への巻き付け軌道を計算する（ステップＳ４）。次に、プログラム生成部１５は、作業ハンド４１が軌道計算部１４によって計算された動作軌道を実現するように、支持ロボット３０および作業ロボット４０の動作のロボットプログラムを生成し、制御装置２０に出力する（ステップＳ５）。それにより、制御装置２０は、ロボットプログラムに従って、支持ロボット３０および作業ロボット４０の動作を制御する（ステップＳ６）。
【００３４】
仮想円への巻き付け軌道においては、始点ＰＳから終点ＰＥに至るまで、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離が徐々に小さくなる。この場合、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離がケーブル５０の第１箇所と第２箇所との間の自然長を超えることが抑制される。それにより、ケーブル５０の破断を抑制することができる。また、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離が徐々に小さくなると、曲げが支点ＰＦ周辺に集中せずに分散する。具体的には、ケーブル５０の曲げ形状が仮想円の円弧になるまたは当該円弧に近くなる。それにより、ケーブル５０の破断を抑制することができる。また、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離の低下率が低くなることから、作業ハンド４１の移動し始めにおけるケーブル５０のたるみが抑制される。それにより、組付部品への巻き付けなどが抑制される。以上のことから、ケーブルフォーミングの成功率が向上する。
【００３５】
（変形例１）
凸形状の仮想図形は、円に限られない。例えば、凸形状として楕円を用いてもよい。図１１は、凸形状の仮想図形として楕円を用いる場合の巻き付け軌道を例示する図である。図１１で例示するように、接点Ｃ１から接点Ｃ２までの円弧において、半径ｒが徐々に変化する。これを上記式（２）に代入することによって巻き付け軌道を計算する。この場合においても、仮想楕円への巻き付け軌道においては、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離が徐々に小さくなる。仮想楕円を用いる場合、仮想楕円の最大曲率を許容曲率以下とする。
【００３６】
この場合、始点ＰＳから終点ＰＥに至るまで、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離がケーブル５０の第１箇所と第２箇所との間の自然長を超えることが抑制される。それにより、ケーブル５０の破断を抑制することができる。また、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離が徐々に小さくなると、曲げが支点ＰＦ周辺に集中せずに分散する。具体的には、ケーブル５０の曲げ形状が仮想楕円の円弧に近くなる。それにより、ケーブル５０の破断を抑制することができる。また、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離の低下率が低くなることから、作業ハンド４１の移動し始めにおけるケーブル５０のたるみが抑制される。それにより、組付部品への巻き付けなどが抑制される。以上のことから、ケーブルフォーミングの成功率が向上する。
【００３７】
（変形例２）
次に、凸形状の仮想図形として六角形を用いる例について説明する。図１２は、凸形状の仮想図形として六角形を用いる場合の巻き付け軌道を例示する図である。図１２の例では、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点の始点ＰＳとを結ぶ線上に、仮想六角形のいずれかの頂点Ｔ１が配置される。この場合、作業ハンド４１の支持点は、当該支持点と頂点Ｔ１とを結ぶ線分を半径ｒ１として円弧を描く。当該線分が仮想六角形の１辺に接した後、作業ハンド４１の支持点は、当該１辺の他の頂点Ｔ２と当該支持点とを結ぶ線分を半径ｒ２（＜ｒ１）として円弧を描く。
【００３８】
このように、図１２の例では、円弧軌道の半径が途中で小さくなる。この場合においても、仮想六角形への巻き付け軌道においては、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離が徐々に小さくなる。この場合においても、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離がケーブル５０の第１箇所と第２箇所との間の自然長を超えることが抑制される。それにより、ケーブル５０の破断を抑制することができる。また、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離が徐々に小さくなると、曲げが支点ＰＦ周辺に集中せずに分散する。それにより、ケーブル５０の破断を抑制することができる。また、支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離の低下率が低くなることから、作業ハンド４１の移動し始めにおけるケーブル５０のたるみが抑制される。それにより、組付部品への巻き付けなどが抑制される。以上のことから、ケーブルフォーミングの成功率が向上する。
【００３９】
本実施例においては、軌道計算部１４が、始点ＰＳから終点ＰＥに至るまでに、第１箇所と第２箇所との距離が徐々に小さくなるように第２箇所の軌道を計算する計算部の一例として機能する。
【実施例２】
【００４０】
作業ハンド４１の支持点の軌道を曲線だけで表すと、作業ハンド４１の動作が複雑になる。そこで、作業ハンド４１の支持点の軌道を複数の直線に分割してもよい。実施例２では、ロボットシステム１００ａについて説明する。ロボットシステム１００ａが図１のロボットシステム１００と異なる点は、演算装置１０の代わりに演算装置１０ａが設けられている点である。図１３は、演算装置１０ａの機能ブロック図である。図１３で例示するように、演算装置１０ａが図７の演算装置１０と異なる点は、さらに軌道分割部１７が備わっている点である。軌道分割部１７は、軌道計算部１４が計算した動作軌道を複数の直線に分割する。
【００４１】
図１４は、凸形状の仮想図形として仮想円を用いる場合の軌道分割を例示する図である。図１４で例示するように、軌道分割部１７は、軌道計算部１４が計算した巻き付け軌道において、１以上の所定点を設定することで、巻き付け軌道を分割する。さらに、軌道分割部１７は、始点から順に各点を直線で結ぶことで、直線補間軌道を生成する。なお、分割点における作業ハンド４１の姿勢は、分割点における仮想円への接線方向に一致させる。すなわち、作業ハンド４１の支持点付近においてケーブル５０に曲がりが生じないように作業ハンド４１の姿勢を設定する。この場合、各直線軌道における終点と支点ＰＦとの距離が徐々に小さくなる。
【００４２】
図１５は、ロボットシステム１００ａの動作の一例を表すフローチャートを例示する図である。図１５で例示するように、作業者によって、情報入力部１２に、支持ハンド３１の支点、作業ハンド４１の始点および終点、ケーブル５０の第１箇所と第２箇所との間の自然長、仮想円の許容曲率などが入力される（ステップＳ１１）。次に、仮想図形計算部１３は、ステップＳ１１で入力された情報を基に、仮想円の位置および半径ｒを計算する（ステップＳ１２）。
【００４３】
次に、仮想図形計算部１３は、ステップＳ１２で計算された仮想円の曲率が許容曲率内であるか否かを判定する（ステップＳ１３）。ステップＳ１３で「Ｎｏ」と判定された場合、フローチャートの実行が終了する。ステップＳ１３で「Ｙｅｓ」と判定された場合、軌道計算部１４は、仮想円への巻き付け軌道を計算する（ステップＳ１４）。
【００４４】
次に、軌道分割部１７は、巻き付け軌道において、１以上の所定点を設定することで、巻き付け軌道を分割する（ステップＳ１５）。次に、軌道分割部１７は、始点から順に各点を直線で結ぶことで、直線補間軌道を生成する（ステップＳ１６）。次に、プログラム生成部１５は、作業ハンド４１が軌道分割部１７によって計算された直線補間軌道を実現するように、支持ロボット３０および作業ロボット４０の動作のロボットプログラムを生成し、制御装置２０に出力する（ステップＳ１７）。それにより、制御装置２０は、ロボットプログラムに従って、支持ロボット３０および作業ロボット４０の動作を制御する（ステップＳ１８）。
【００４５】
本実施例においては、各直線補間軌道において、部分的に支持ハンド３１の支点と作業ハンド４１の支持点との距離が大きくなる箇所があるが、支持ハンド３１の支点と作業ハンド４１の支持点との距離は距離Ｄ１を下回る。この場合、支持ハンド３１の支点と作業ハンド４１の支持点との距離がケーブル５０の第１箇所と第２箇所との間の自然長を超えることが抑制される。それにより、ケーブルの破断を抑制することができる。また、曲げが支点ＰＦ周辺に集中せずに分散する。具体的には、ケーブル５０の曲げ形状が仮想円の円弧に近くなる。それにより、ケーブル５０の破断を抑制することができる。また、始点と終点とを結ぶ直線補間軌道を生成する場合と比較して支持ハンド３１の支点ＰＦと作業ハンド４１の支持点との距離の低下率が低くなることから、作業ハンド４１の移動し始めにおけるケーブルのたるみが抑制される。それにより、組付部品への巻き付けなどが抑制される。以上のことから、ケーブルフォーミングの成功率が向上する。
【００４６】
なお、仮想楕円や仮想六角形などの他の凸形状の仮想図形に対して本実施例を適用することもできる。
【００４７】
本実施例においては、軌道計算部１４が、始点ＰＳから終点ＰＥに至るまでに、第１箇所と第２箇所との距離が徐々に小さくなるように第２箇所の軌道を計算する計算部の一例として機能する。軌道分割部１７が、計算部が計算した軌道の途中に１以上の所定点を設定し、軌道の始点から順に各点を結ぶことで直線補間軌道を生成する生成部の一例として機能する。
【００４８】
（他の例）
図１６（ａ）は、演算装置１０，１０ａのハードウェア構成を説明するためのブロック図である。図１６（ａ）で例示するように、演算装置１０，１０ａは、ＣＰＵ１０１、ＲＡＭ１０２、記憶装置１０３、表示装置１０４等を備える。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、中央演算処理装置である。
【００４９】
ＣＰＵ１０１は、１以上のコアを含む。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２は、ＣＰＵ１０１が実行するプログラム、ＣＰＵ１０１が処理するデータなどを一時的に記憶する揮発性メモリである。記憶装置１０３は、不揮発性記憶装置である。記憶装置１０３として、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリなどのソリッド・ステート・ドライブ（ＳＳＤ）、ハードディスクドライブに駆動されるハードディスクなどを用いることができる。記憶装置１０３は、プログラムを記憶している。表示装置１０４は、液晶ディスプレイ、エレクトロルミネッセンスパネルなどであり、判定結果を表示する。なお、本実施例においては演算装置１０，１０ａの各部は、プログラムの実行によって実現されているが、専用の回路などのハードウェアを用いてもよい。
【００５０】
図１６（ｂ）は、ロボットシステムの他の例について例示する図である。上記各例においては、演算装置１０，１０ａが作成したロボットプログラムが制御装置２０に与えられている。これに対して、演算装置１０，１０ａの機能を有するサーバ２０２が、インターネットなどの電気通信回線２０１を通じてロボットプログラムを制御装置２０に送信してもよい。
【００５１】
その他、上記各例において、支持ロボット３０の支持ハンド３１がケーブル５０の一端を固定支持しているが、必ずしもロボットに支持されている必要はない。また、始点ＰＳと仮想円の接線と、終点ＰＥとの仮想円の接線とがなす角度が直角でなくてもよい。例えば、始点ＰＳと仮想円の接線と終点ＰＥとの仮想円の接線とがなす角度が、９０°未満の６０°などであってもよく、９０°を上回る１２０°などであってもよい。
【００５２】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００５３】
１０  演算装置
１１  モデル格納部
１２  情報入力部
１３  仮想図形計算部
１４  軌道計算部
１５  プログラム生成部
１６  出力部
１７  軌道分割部
２０  制御装置
３０  支持ロボット
３１  支持ハンド
４０  作業ロボット
４１  作業ハンド
５０  ケーブル
１００  ロボットシステム
【図１】
0006733356.tif 000004
【図２】
0006733356.tif 000005
【図３】
0006733356.tif 000006
【図４】
0006733356.tif 000007
【図５】
0006733356.tif 000008
【図６】
0006733356.tif 000009
【図７】
0006733356.tif 000010
【図８】
0006733356.tif 000011
【図９】
0006733356.tif 000012
【図１０】
0006733356.tif 000013
【図１１】
0006733356.tif 000014
【図１２】
0006733356.tif 000015
【図１３】
0006733356.tif 000016
【図１４】
0006733356.tif 000017
【図１５】
0006733356.tif 000018
【図１６】
0006733356.tif 000019