(57)【特許請求の範囲】
【請求項１】
線状物体を係止することが可能な係止部を有する第１物体に前記線状物体を引き回す場合、第１可動部に設けられた把持部により前記線状物体を把持させ、且つ、第２可動部に設けられた当接部と前記線状物体とを当接させるように、前記第１可動部と前記第２可動部との少なくとも一方を制御する制御部を備え、
撮像部により撮像された前記係止部の撮像画像が表示部に表示され、
前記表示部に表示された前記撮像画像に基づいて、前記係止部の先端の位置に関する第１情報と、前記係止部の基端の位置に関する第２情報とが受付部により受け付けられ、
前記制御部は、前記受付部により受け付けられた前記第１情報と、前記受付部により受け付けられた前記第２情報とに基づいて、前記第１可動部と前記第２可動部との少なくとも一方を制御して、前記線状物体を前記係止部に係止させる、
制御装置。
【請求項２】
前記受付部は、前記先端の位置を中心とした半径に関する第３情報を受け付け、
前記制御部は、前記受付部により受け付けられた前記第３情報に基づいて、前記第１可動部と前記第２可動部との少なくとも一方を制御する、
請求項１に記載の制御装置。
【請求項３】
前記当接部の当接位置は、受付部により受け付けられる、
請求項１又は２に記載の制御装置。
【請求項４】
前記当接部の少なくとも一部は、曲面を有する、
請求項１から３のうちいずれか一項に記載の制御装置。
【請求項５】
前記当接部の少なくとも一部は、弾性を有する、
請求項１から４のうちいずれか一項に記載の制御装置。
【請求項６】
前記当接部の基端から先端までの長さは、前記把持部の基端から先端までの長さよりも長い、
請求項１から５のうちいずれか一項に記載の制御装置。
【請求項７】
前記当接部は、前記第１物体の第１面に当接し、
前記第１面と前記当接部とが前記線状物体を挟む角度は、鋭角である、
請求項１から６のうちいずれか一項に記載の制御装置。
【請求項８】
前記第１可動部と前記第２可動部は、ロボットに設けられている、
請求項１から７のうちいずれか一項に記載の制御装置。
【請求項９】
請求項１から請求項８のうちいずれか一項に記載の制御装置に制御される、
ロボット。
【請求項１０】
請求項１から８のうちいずれか一項に記載の制御装置と、
前記制御装置によって制御されるロボットと、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置、ロボット、及びロボットシステムに関する。
【背景技術】
【０００２】
ケーブルの引き回しを容易に行わせる技術の研究や開発が行われている。
【０００３】
これに関し、ケーブルを引き回す作業を容易に行わせることが可能な構造を有するロボットが知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１６０３０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このようなロボットであっても、ケーブルの引き回しは、人手によって行われるため、作業効率を向上させることが困難な場合があった。また、人手によって引き回されたケーブルの状態は、ケーブルを引き回した人の技能によってばらつく場合があった。特に、ケーブルが上手く引き回されていなかった場合、ケーブルに不具合が生じる可能性があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により前記線状物体を把持させ、且つ、第２可動部に設けられた当接部と前記線状物体とを当接させるように、前記第１可動部と前記第２可動部との少なくとも一方を制御する制御部を備える、制御装置である。
この構成により、制御装置は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、線状物体を引き回す作業を容易に行うことができる。
【０００７】
また、本発明の他の態様は、制御装置において、前記第１物体は、前記線状物体を係止することが可能な係止部を有し、前記制御部は、前記第１可動部と前記第２可動部との少なくとも一方を制御して、前記線状物体を前記係止部に係止させる、構成が用いられてもよい。
この構成により、制御装置は、第１可動部と第２可動部との少なくとも一方を制御して、線状物体を係止部に係止させる。これにより、制御装置は、線状物体を係止部に係止させながら引き回す作業を容易に行うことができる。
【０００８】
また、本発明の他の態様は、制御装置において、撮像部により撮像された前記係止部の撮像画像が表示部に表示され、前記表示部に表示された前記撮像画像に基づいて、前記係止部の先端の位置に関する第１情報が受付部により受け付けられ、前記制御部は、前記受付部により受け付けられた前記第１情報に基づいて、前記第１可動部と前記第２可動部との少なくとも一方を制御する、構成が用いられてもよい。
この構成により、制御装置は、受付部により受け付けられた第１情報に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、受付部により受け付けられた第１情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
【０００９】
また、本発明の他の態様は、制御装置において、前記受付部は、前記表示部に表示された前記撮像画像に基づいて、前記係止部の基端の位置に関する第２情報を更に受け付け、前記制御部は、前記受付部により受け付けられた前記第２情報に基づいて、前記第１可動部と前記第２可動部との少なくとも一方を制御する、構成が用いられてもよい。
この構成により、制御装置は、受付部により受け付けられた第２情報に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、受付部により受け付けられた第１情報及び第２情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
【００１０】
また、本発明の他の態様は、制御装置において、前記受付部は、前記先端の位置を中心とした半径に関する第３情報を受け付け、前記制御部は、前記受付部により受け付けられた前記第３情報に基づいて、前記第１可動部と前記第２可動部との少なくとも一方を制御する、構成が用いられてもよい。
この構成により、制御装置は、受付部により受け付けられた第３情報に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、第１情報と第２情報と第３情報とに基づいて、線状物体を引き回す作業を容易に行うことができる。
【００１１】
また、本発明の他の態様は、制御装置において、前記当接部の当接位置は、受付部により受け付けられる、構成が用いられてもよい。
この構成により、制御装置は、受付部により受け付けられた当接部の当接位置に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、受付部により受け付けられた当接部の当接位置に基づいて、線状物体を引き回す作業を容易に行うことができる。
【００１２】
また、本発明の他の態様は、制御装置において、前記当接部の少なくとも一部は、曲面を有する、構成が用いられてもよい。
この構成により、制御装置は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって少なくとも一部が曲面である当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、少なくとも一部が曲面である当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【００１３】
また、本発明の他の態様は、制御装置において、前記当接部の少なくとも一部は、弾性を有する、構成が用いられてもよい。
この構成により、制御装置は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって少なくとも一部が弾性を有する当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、少なくとも一部が弾性を有する当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【００１４】
また、本発明の他の態様は、制御装置において、前記当接部の基端から先端までの長さは、前記把持部の基端から先端までの長さよりも長い、構成が用いられてもよい。
この構成により、制御装置は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって基端から先端までの長さが把持部の基端から先端までの長さよりも長い当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、基端から先端までの長さが把持部の基端から先端までの長さよりも長い当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【００１５】
また、本発明の他の態様は、制御装置において、前記当接部は、前記第１物体の第１面に当接し、前記第１面と前記当接部とが前記線状物体を挟む角度は、鋭角である、構成が用いられてもよい。
この構成により、制御装置は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって第１物体の第１面に当接した当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、第１物体の第１面に当接した当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【００１６】
また、本発明の他の態様は、制御装置において、前記第１可動部と前記第２可動部は、ロボットに設けられている、構成が用いられてもよい。
この構成により、制御装置は、第１物体に線状物体を引き回す場合、ロボットに設けられた第１可動部に設けられた把持部により線状物体を把持させ、且つ、ロボットに設けられた第２可動部に設けられた当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置は、ロボットに設けられた第１可動部とロボットに設けられた第２可動部との少なくとも一方により、線状物体を引き回す作業を容易に行うことができる。
【００１７】
また、本発明の他の態様は、上記に記載の制御装置に制御される、ロボットである。
この構成により、ロボットは、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、ロボットは、線状物体を引き回す作業を容易に行うことができる。
【００１８】
また、本発明の他の態様は、上記に記載の制御装置と、前記制御装置によって制御されるロボットと、を備えるロボットシステムである。
この構成により、ロボットシステムは、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、ロボットシステムは、線状物体を引き回す作業を容易に行うことができる。
【００１９】
以上により、制御装置、ロボット、及びロボットシステムは、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置、ロボット、及びロボットシステムは、線状物体を引き回す作業を容易に行うことができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ツールＴＬ１の一例を示す図である。
【図３】ツールＴＬ２の一例を示す図である。
【図４】当接部ＬＤの一例を示す三面図である。
【図５】第１物体Ｏの上面図の一例である。
【図６】係止部Ｏ１にケーブルＣが挿入される直前の様子の一例を係止部Ｏ１の側面から見た図である。
【図７】情報処理装置３０及び制御装置４０のハードウェア構成の一例を示す図である。
【図８】情報処理装置３０及び制御装置４０の機能構成の一例を示す図である。
【図９】情報処理装置３０が教示画面を表示する処理の流れの一例を示すフローチャートである。
【図１０】教示画面の一例を示す図である。
【図１１】付加情報入力画面Ｇ３が表示された状態の教示画面Ｇ１の一例を示す図である。
【図１２】中継点が表示された状態の教示画面Ｇ１の一例を示す図である。
【図１３】図１２に示した始教示点、終教示点、第１中継点〜第４中継点のそれぞれに基づいて生成された仮軌跡が表示された教示画面Ｇ１の一例を示す図である。
【図１４】撮像画像表示領域ＶＳに経由点軌跡が表示された状態の教示画面Ｇ１の一例を示す図である。
【図１５】制御装置４０が第１ロボット２１に第１作業を行わせるとともに第２ロボット２２に第２作業を行わせる処理の流れの一例を示すフローチャートである。
【図１６】本実施形態に係るロボットシステム２の構成の一例を示す図である。
【発明を実施するための形態】
【００２１】
＜実施形態＞
以下、本発明の実施形態について、図面を参照して説明する。
【００２２】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、本実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、撮像部１０と、第１ロボット２１と、第２ロボット２２と、情報処理装置３０と、制御装置４０を備える。
【００２３】
撮像部１０は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤ（Charge  Coupled  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）等を備えたカメラである。この一例において、撮像部１０は、第１ロボット２１及び第２ロボット２２のそれぞれが作業を行うことが可能な領域を含む範囲を撮像可能な位置に設置される。
【００２４】
撮像部１０は、ケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ（Universal  Serial  Bus）等の規格によって行われる。なお、撮像部１０は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【００２５】
第１ロボット２１は、アームＡ１と、アームＡ１を支持する支持台ＢＳ１を備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡ１のような１本のアーム（腕）を備えるロボットである。なお、第１ロボット２１は、単腕ロボットに代えて、複腕ロボットであってもよく、ガントリロボットのような直動ロボットであってもよく、スカラロボットであってもよく、その他のロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ１）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、第１ロボット２１は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ１）を備える複腕ロボットであってもよい。
【００２６】
アームＡ１は、エンドエフェクターＥ１と、マニピュレーターＭ１と、力検出部２１１を備える。アームＡ１は、第１可動部の一例である。
エンドエフェクターＥ１は、物体を把持するエンドエフェクターである。この一例において、エンドエフェクターＥ１は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を把持する。なお、エンドエフェクターＥ１は、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を把持する構成であってもよい。すなわち、この一例において、把持するとは、物体を持ち上げることが可能な状態にすることを意味する。エンドエフェクターＥ１の指部には、図１に示すように、ツールＴＬ１が設けられている。
【００２７】
ツールＴＬ１は、線状物体を把持可能な道具である。また、ツールＴＬ１は、エンドエフェクターＥ１の指部に着脱可能に設けることが可能な道具であり、エンドエフェクターＥ１の指部の動作に応じて線状物体の把持及び解放を行うことが可能な道具である。線状物体の解放は、この一例において、把持している線状物体を離すことを意味する。線状物体は、破断させることなく曲げることが可能な物体である。例えば、線状物体は、通信用のケーブル、給電用のケーブル、他の配線、配管、血管のような生体の管等である。以下では、一例として、線状物体が図１に示したケーブルＣである場合について説明する。
【００２８】
ここで、図２を参照し、ツールＴＬ１について説明する。図２は、ツールＴＬ１の一例を示す図である。図２に示したように、この一例におけるツールＴＬ１は、ケーブルＣを挟んで持ち上げることが可能なクリッププライヤーである。ツールＴＬ１は、グリップ部ＧＬと、クリップ部ＣＬとを有する。グリップ部ＧＬは、２本の棒状の物体によって構成されており、ツールＴＬ１の部位のうちのエンドエフェクターＥ１の指部に設けることが可能な部位である。クリップ部ＣＬは、２本の棒状の物体によって構成されており、ツールＴＬ１の部位のうちのケーブルＣを把持することが可能な部位である。クリップ部ＣＬがケーブルＣを把持することは、クリップ部ＣＬが有する２本の棒状の物体によってケーブルＣを挟んで保持することを意味する。
【００２９】
ツールＴＬ１は、エンドエフェクターＥ１の指部によるグリップ部ＧＬの開閉に応じて、クリップ部ＣＬを開閉させる。グリップ部ＧＬの開閉は、この一例において、グリップ部ＧＬが有する２本の棒状の物体間の距離を変化させることである。また、クリップ部ＣＬの開閉は、この一例において、クリップ部ＣＬが有する２本の棒状の物体間の距離を変化させることである。図２に示した例では、グリップ部ＧＬを開く、すなわちグリップ部ＧＬが有する２本の棒状の物体間の距離を離した場合、クリップ部ＣＬが開く、すなわちクリップ部ＣＬが有する２本の棒状の物体間の距離が離れる。また、グリップ部ＧＬを閉じる、すなわちグリップ部ＧＬが有する２本の棒状の物体間の距離を近づけた場合、クリップ部ＣＬが閉じる、すなわちクリップ部ＣＬが有する２本の棒状の物体間の距離が近づく。ツールＴＬ１は、このような動作によって、ケーブルＣをクリップ部ＣＬによって把持することができる。
【００３０】
また、ツールＴＬ１が最も長くなる場合、すなわちツールＴＬ１のグリップ部及びクリップ部が閉じている場合において、ツールＴＬ１の端部のうちのグリップ部ＧＬ側の端部からツールＴＬ１の端部のうちのクリップ部ＣＬ側の端部までの長さは、この一例において、長さＬＴ１である。長さＬＴ１は、例えば、１０センチメートル程度である。なお、長さＬＴ１は、これに代えて、他の長さであってもよい。また、ツールＴＬ１がケーブルＣを把持している場合において、クリップ部ＣＬのうちのケーブルＣを挟んでいる面（ケーブルＣと接触している面）の少なくとも一部には、複数の凹凸（ギザギザ状の段差）が設けられている。これにより、ツールＴＬ１は、ケーブルＣが滑って落ちてしまうことを抑制することが可能であるとともに、複数のケーブルＣを同時に挟んで保持することが可能である。ツールＴＬ１は、把持部の一例である。
【００３１】
このようなツールＴＬ１が設置されたエンドエフェクターＥ１は、ケーブルによって制御装置４０と通信可能に接続されている。これにより、エンドエフェクターＥ１は、制御装置４０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥ１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【００３２】
マニピュレーターＭ１は、６つの関節を備える。また、６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭ１を備えるアームＡ１は、６軸垂直多関節型のアームである。アームＡ１は、支持台ＢＳ１と、エンドエフェクターＥ１と、マニピュレーターＭ１と、マニピュレーターＭ１が備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡ１は、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００３３】
マニピュレーターＭ１が備える６つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによって制御装置４０と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置４０から取得される制御信号に基づいて、マニピュレーターＭ１を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭ１が備える６つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【００３４】
力検出部２１１は、エンドエフェクターＥ１とマニピュレーターＭ１の間に備えられる。力検出部２１１は、例えば、力センサーである。力検出部２１１は、エンドエフェクターＥ１、又はエンドエフェクターＥ１により把持された物体に作用した力やモーメント（トルク）を検出する。力検出部２１１は、検出した力やモーメントの大きさを示す値を出力値として含む第１力検出情報を通信により制御装置４０へ出力する。
【００３５】
第１力検出情報は、制御装置４０によるアームＡ１の第１力検出情報に基づく制御に用いられる。第１力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部２１１は、トルクセンサー等のエンドエフェクターＥ１、又はエンドエフェクターＥ１により把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
【００３６】
力検出部２１１は、ケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１１と制御装置４０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００３７】
第２ロボット２２は、アームＡ２と、アームＡ２を支持する支持台ＢＳ２を備える単腕ロボットである。単腕ロボットは、この一例におけるアームＡ２のような１本のアーム（腕）を備えるロボットである。なお、第２ロボット２２は、単腕ロボットに代えて、複腕ロボットであってもよく、ガントリロボットのような直動ロボットであってもよく、スカラロボットであってもよく、その他のロボットであってもよい。複腕ロボットは、２本以上のアーム（例えば、２本以上のアームＡ２）を備えるロボットである。なお、複腕ロボットのうち、２本のアームを備えるロボットは、双腕ロボットとも称される。すなわち、第２ロボット２２は、２本のアームを備える双腕ロボットであってもよく、３本以上のアーム（例えば、３本以上のアームＡ２）を備える複腕ロボットであってもよい。
【００３８】
アームＡ２は、エンドエフェクターＥ２と、マニピュレーターＭ２と、力検出部２２１を備える。
エンドエフェクターＥ２は、物体を把持するエンドエフェクターである。この一例において、エンドエフェクターＥ２は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を把持する。なお、エンドエフェクターＥ２は、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を把持する構成であってもよい。すなわち、この一例において、把持するとは、物体を持ち上げることが可能な状態にすることを意味する。エンドエフェクターＥ２の指部には、図１に示すように、ツールＴＬ２が設けられている。
【００３９】
ツールＴＬ２は、ツールＴＬ１に把持されたケーブルＣがツールＴＬ１とともに動いている際、ケーブルＣの一部に接触させることによって当該一部が可動範囲（可動域）を制限する道具である。ここで、図３を参照し、ツールＴＬ２について説明する。図３は、ツールＴＬ２の一例を示す図である。図３に示したように、この一例におけるツールＴＬ２は、２本の棒状の物体を有する。これら２本の棒状の物体は、それぞれの一端が互いに回動可能なように接続されており、当該一端と反対側の端部のそれぞれがエンドエフェクターＥ２の指部に設けられる。また、ツールＴＬ２は、当該一端から所定の方向に向かう当接部ＬＤが当該一端に設けられている。所定の方向は、当該２本の棒状の物体のそれぞれが延伸する方向を含む面に対して直交する方向である。当接部ＬＤは、ケーブルＣの可動範囲を制限するためにケーブルＣに接触させる棒状の部位である。
【００４０】
ツールＴＬ２が有する２本の棒状の物体と当接部ＬＤとの接合部には、バネが備えられており、当接部ＬＤに対して所定の閾値以上の力が加わった場合、当該バネによって当該力が加わった方向に当接部ＬＤが弾性変形する。なお、ツールＴＬ１は、力センサーと、当該物体に対して当接部ＬＤを回動させるアクチュエーターを備えており、当接部ＬＤに対して所定の閾値以上の力が加わった場合、当該アクチュエーターによって当該力が加わった方向に当接部ＬＤを回動させる構成等、当接部ＬＤに加わった力に応じて当接部ＬＤを弾性変形させる他の構成であってもよい。
【００４１】
ツールＴＬ２は、エンドエフェクターＥ２の指部の動作に応じてツールＴＬ２が有する２本の棒状の物体間を開閉させた場合、当該物体間の開閉に応じてエンドエフェクターＥ２の重心からツールＴＬ２が有する２本の棒状の物体と当接部ＬＤとの接合部までの距離を変化させる。当該物体間の開閉は、この一例において、当該物体間の距離を変化させることである。図３に示した例では、当該物体間を開く、すなわち当該物体間の距離を離した場合、当該重心から当該接合部までの距離が短くなる。また、当該物体間を閉じる、すなわち当該物体間の距離を近づけた場合、当該重心から当該接合部までの距離が長くなる。以下では、一例として、当該物体間を常に閉じた状態を保持したままツールＴＬ２が使用される場合について説明する。なお、ツールＴＬ２が最も長くなる場合、すなわちツールＴＬ２が有する２本の棒状の物体間が閉じている場合において、ツールＴＬ２の端部のうちのエンドエフェクターＥ２側の端部から当該接合部までの長さは、この一例において、長さＬＴ２である。長さＬＴ２は、前述のツールＴＬ１における長さＬＴ１よりも長い長さであり、例えば、１５センチメートル程度である。これにより、ロボットシステム１では、ツールＴＬ１とツールＴＬ２とが干渉してしまうことを抑制することができる。なお、長さＬＴ２は、これに代えて、長さＬＴ１よりも長い他の長さであってもよい。
【００４２】
当接部ＬＤの少なくとも一部（例えば、当接部ＬＤの部位のうちの図３に示した円ＷＤによって囲まれた範囲の部位）は、図４に示したように曲面を有する。図４は、当接部ＬＤの一例を示す三面図である。図４において、当接部ＬＤが備えるバネは、省略している。この一例における当接部ＬＤの形状は、当接部ＬＤが延伸する方向に直交する面で当接部ＬＤを切った場合の断面が半円である半円柱形状である。また、当該半円柱形状は、ツールＴＬ２が有する２本の棒状の物体と当接部ＬＤとの接合部から当接部ＬＤの先端にかけて細くなる半円柱形状である。これにより、ツールＴＬ２は、ケーブルＣの可動範囲を制限するだけではなく、半円柱の円弧と直線との間の角によってケーブルＣに折り目を付けることもできる。なお、当接部ＬＤの形状は、これに代えて、当接部ＬＤの少なくとも一部に曲面を有していれば他の形状であってもよく、当該接合部から当該先端にかけて同じ太さであってもよい。
【００４３】
このようなツールＴＬ２が設けられたエンドエフェクターＥ２は、ケーブルによって制御装置４０と通信可能に接続されている。これにより、エンドエフェクターＥ２は、制御装置４０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥ２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【００４４】
マニピュレーターＭ２は、６つの関節を備える。また、６つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭ２を備えるアームＡ２は、６軸垂直多関節型のアームである。アームＡ２は、支持台ＢＳ２と、エンドエフェクターＥ２と、マニピュレーターＭ２と、マニピュレーターＭ２が備える６つの関節それぞれのアクチュエーターとによる連携した動作によって６軸の自由度の動作を行う。なお、アームＡ２は、５軸以下の自由度で動作する構成であってもよく、７軸以上の自由度で動作する構成であってもよい。
【００４５】
マニピュレーターＭ２が備える６つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによって制御装置４０と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置４０から取得される制御信号に基づいて、マニピュレーターＭ２を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭ２が備える６つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【００４６】
力検出部２２１は、エンドエフェクターＥ２とマニピュレーターＭ２の間に備えられる。力検出部２２１は、例えば、力センサーである。力検出部２２１は、エンドエフェクターＥ２、又はエンドエフェクターＥ２により把持された物体に作用した力やモーメント（トルク）を検出する。力検出部２２１は、検出した力やモーメントの大きさを示す値を出力値として含む第２力検出情報を通信により制御装置４０へ出力する。
【００４７】
第２力検出情報は、制御装置４０によるアームＡ２の第２力検出情報に基づく制御に用いられる。第２力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部２２１は、トルクセンサー等のエンドエフェクターＥ２、又はエンドエフェクターＥ２により把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。
【００４８】
力検出部２２１は、ケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２２１と制御装置４０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００４９】
制御装置４０は、この一例において、ロボットコントローラー（ロボット制御装置）である。制御装置４０は、エンドエフェクターＥ１に予め対応付けられた位置に、エンドエフェクターＥ１とともに動くＴＣＰ（Tool  Center  Point）である制御点Ｔ１を設定する。エンドエフェクターＥ１に予め対応付けられた位置は、例えば、エンドエフェクターＥ１を回動させるマニピュレーターＭ１のアクチュエーターの回動軸上の位置であって、グリップ部ＧＬを閉じた状態のツールＴＬ１におけるクリップ部ＣＬ側の端部の位置である。なお、エンドエフェクターＥ１に対応付けられた位置は、これに代えて、他の位置であってもよい。
【００５０】
制御点Ｔ１には、制御点Ｔ１の位置を示す情報である第１制御点位置情報と、制御点Ｔ１の姿勢を示す情報である第１制御点姿勢情報とが対応付けられている。なお、制御点Ｔ１には、これらに加えて、他の情報が対応付けられる構成であってもよい。第１制御点位置情報及び第１制御点姿勢情報を制御装置４０が指定（決定）すると、制御点Ｔ１の位置及び姿勢が決まる。制御装置４０は、第１制御点位置情報を指定し、指定した第１制御点位置情報が示す位置に制御点Ｔ１の位置が一致するようにアームＡ１を動作させる。また、制御装置４０は、第１制御点姿勢情報を指定し、指定した第１制御点姿勢情報が示す姿勢に制御点Ｔ１の姿勢が一致するようにアームＡ１を動作させる。
【００５１】
この一例において、制御点Ｔ１の位置は、制御点座標系ＴＣ１の原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔ１の姿勢は、制御点座標系ＴＣ１の各座標軸の方向によって表される。制御点座標系ＴＣ１は、制御点Ｔ１とともに動くように制御点Ｔ１に対応付けられた三次元局所座標系である。
【００５２】
制御装置４０は、予めユーザーから入力された第１制御点設定情報に基づいて制御点Ｔ１を設定する。第１制御点設定情報は、例えば、エンドエフェクターＥ１の重心の位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、第１制御点設定情報は、これに代えて、エンドエフェクターＥ１に対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターＭ１に対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ツールＴＬ１に対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
【００５３】
制御装置４０は、情報処理装置３０から経由点情報を取得する。経由点情報は、経由点を示す情報である。経由点は、制御装置４０がアームＡ１を動作させる際に制御点Ｔ１を経由（通過）させる複数の点である。経由点には、経由点位置情報と、経由点姿勢情報と、経由点順番情報と、経由点速さ情報と、経由点把持力情報が対応付けられている。経由点位置情報は、経由点の位置を示す情報である。また、経由点姿勢情報は、経由点の姿勢を示す情報である。また、経由点順番情報は、経由点に対応付けられた順番を示す情報である。経由点速さ情報は、経由点に対応付けられた速さを示す情報である。当該速さは、制御点Ｔ１（又はエンドエフェクターＥ１）を移動させる速さである。経由点把持力情報は、経由点に対応付けられた把持力を示す情報である。当該把持力は、エンドエフェクターＥ１の指部の動作によってツールＴＬ１のクリップ部が物体を把持する力である。
【００５４】
この一例において、各経由点の位置は、各経由点に対応付けられた三次元局所座標系である経由点座標系の原点のロボット座標系ＲＣにおける位置によって表される。また、経由点の姿勢は、経由点座標系の各座標軸の方向によって表される。
【００５５】
制御装置４０は、第１制御点位置情報及び第１制御点姿勢情報を指定し、制御点Ｔ１の位置及び姿勢が経由点の位置及び姿勢と一致するようにアームＡ１を動作させることにより、制御点Ｔ１と経由点を一致させる。この一例において、制御点Ｔ１と経由点とを一致させることは、制御点Ｔ１の位置及び姿勢と経由点の位置及び姿勢とを一致させることを意味する。また、制御装置４０は、経由点の順番に基づいて当該順番の順に各経由点に制御点Ｔ１を一致させる。また、制御装置４０は、経由点の速さに基づいて、各経由点から次の順番の経由点まで移動する際の制御点Ｔ１の速さを決定する。また、制御装置４０は、経由点の把持力に基づいて、各経由点から次の順番の経由点まで移動する際の把持力であってツールＴＬ１のクリップ部が物体を把持する把持力を決定する。これらにより、制御装置４０は、アームＡ１を動作させ、エンドエフェクターＥ１の位置及び姿勢を変化させる。
【００５６】
制御装置４０は、取得した経由点情報に基づいて、各経由点に制御点Ｔ１が一致するようにマニピュレーターＭ１のアクチュエーターを制御する信号を含む制御信号を生成する。当該制御信号には、エンドエフェクターＥ１の指部を動かす信号等の他の信号も含まれる。そして、制御装置４０は、生成した制御信号を第１ロボット２１に送信し、第１ロボット２１に所定の第１作業を行わせる。
【００５７】
また、制御装置４０は、エンドエフェクターＥ２に予め対応付けられた位置に、エンドエフェクターＥ２とともに動くＴＣＰである制御点Ｔ２を設定する。エンドエフェクターＥ２に予め対応付けられた位置は、例えば、当接部ＬＤの先端の位置である。なお、エンドエフェクターＥ２に予め対応付けられた位置は、これに代えて、他の位置であってもよい。
【００５８】
制御点Ｔ２には、制御点Ｔ２の位置を示す情報である第２制御点位置情報と、制御点Ｔ２の姿勢を示す情報である第２制御点姿勢情報とが対応付けられている。なお、制御点Ｔ２には、これらに加えて、他の情報が対応付けられる構成であってもよい。第２制御点位置情報及び第２制御点姿勢情報を制御装置４０が指定（決定）すると、制御点Ｔ２の位置及び姿勢が決まる。制御装置４０は、第２制御点位置情報を指定し、指定した第２制御点位置情報が示す位置に制御点Ｔ２の位置が一致するようにアームＡ２を動作させる。また、制御装置４０は、第２制御点姿勢情報を指定し、指定した第２制御点姿勢情報が示す姿勢に制御点Ｔ２の姿勢が一致するようにアームＡ２を動作させる。
【００５９】
この一例において、制御点Ｔ２の位置は、制御点座標系ＴＣ２の原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔ２の姿勢は、制御点座標系ＴＣ２の各座標軸の方向によって表される。制御点座標系ＴＣ２は、制御点Ｔ２とともに動くように制御点Ｔ２に対応付けられた三次元局所座標系である。
【００６０】
制御装置４０は、予めユーザーから入力された第２制御点設定情報に基づいて制御点Ｔ２を設定する。第２制御点設定情報は、例えば、エンドエフェクターＥ２の重心の位置及び姿勢と制御点Ｔ２の位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、第２制御点設定情報は、これに代えて、エンドエフェクターＥ２に対応付けられた何らかの位置及び姿勢と制御点Ｔ２の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターＭ２に対応付けられた何らかの位置及び姿勢と制御点Ｔ２の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ツールＴＬ２に対応付けられた何らかの位置及び姿勢と制御点Ｔ２の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
【００６１】
また、制御装置４０は、情報処理装置３０から補助経由点情報を取得する。補助経由点情報は、補助経由点を示す情報である。補助経由点は、制御装置４０がアームＡ２を動作させる際に制御点Ｔ２を経由（通過）させる複数の点である。補助経由点には、補助経由点位置情報と、補助経由点姿勢情報と、補助経由点順番情報が対応付けられている。補助経由点位置情報は、補助経由点の位置を示す情報である。また、補助経由点姿勢情報は、補助経由点の姿勢を示す情報である。また、補助経由点順番情報は、補助経由点に対応付けられた順番を示す情報である。
【００６２】
この一例において、各補助経由点の位置は、各補助経由点に対応付けられた三次元局所座標系である補助経由点座標系の原点のロボット座標系ＲＣにおける位置によって表される。また、補助経由点の姿勢は、補助経由点座標系の各座標軸の方向によって表される。
【００６３】
制御装置４０は、第２制御点位置情報及び第２制御点姿勢情報を指定し、制御点Ｔ２の位置及び姿勢が補助経由点の位置及び姿勢と一致するようにアームＡ２を動作させることにより、制御点Ｔ２と補助経由点を一致させる。この一例において、制御点Ｔ２と補助経由点とを一致させることは、制御点Ｔ２の位置及び姿勢と補助経由点の位置及び姿勢とを一致させることを意味する。また、制御装置４０は、補助経由点の順番に基づいて当該順番の順に各補助経由点に制御点Ｔ２を一致させる。これらにより、制御装置４０は、アームＡ２を動作させ、エンドエフェクターＥ２の位置及び姿勢を変化させる。
【００６４】
制御装置４０は、取得した補助経由点情報に基づいて、各補助経由点に制御点Ｔ２を一致させるようにマニピュレーターＭ２のアクチュエーターを制御する信号を含む制御信号を生成する。当該制御信号には、エンドエフェクターＥ２の指部を動かす信号等の他の信号も含まれる。そして、制御装置４０は、生成した制御信号を第２ロボット２２に送信し、第２ロボット２２に所定の第２作業を行わせる。
【００６５】
制御装置４０は、この一例において、第１ロボット２１及び第２ロボット２２の外部に設置されている。なお、制御装置４０は、第１ロボット２１及び第２ロボット２２の外部に設置される構成に代えて、第１ロボット２１と第２ロボット２２のうちいずれか一方に内蔵される構成であってもよい。また、制御装置４０は、第１ロボット２１と第２ロボット２２の両方に内蔵される構成であってもよい。この場合、第１ロボット２１に内蔵される制御装置４０である第１制御装置は、情報処理装置３０から経由点情報を取得し、取得した経由点情報に基づいて第１ロボット２１を動作させる。また、第２ロボット２２に内蔵される制御装置４０である第２制御装置は、情報処理装置３０から補助経由点情報を取得し、取得した補助経由点情報に基づいて第２ロボット２２を動作させる。
【００６６】
情報処理装置３０は、例えば、ノートＰＣ（Personal  Computer）である。なお、情報処理装置３０は、これに代えて、ティーチングペンダント、デスクトップＰＣ、タブレットＰＣ、多機能携帯電話端末（スマートフォン）、携帯電話端末、ＰＤＡ（Personal  Digital  Assistant）等の他の情報処理装置であってもよい。
【００６７】
情報処理装置３０は、この一例において、ユーザーが教示点を入力する教示画面を表示する。教示点は、情報処理装置３０が経由点情報及び補助経由点情報を生成するために用いる点である。教示点には、教示点位置情報と、教示点姿勢情報と、教示点順番情報と、教示点速さ情報と、教示点把持力情報と、教示点種類情報とが対応付けられている。教示点位置情報は、教示点の位置を示す情報である。また、教示点姿勢情報は、教示点の姿勢を示す情報である。また、教示点順番情報は、教示点に対応付けられた順番を示す情報である。教示点速さ情報は、教示点に対応付けられた速さを示す情報である。教示点把持力情報は、教示点に対応付けられた把持力を示す情報である。
【００６８】
教示点種類情報は、教示点の種類を示す情報である。教示点の種類は、始教示点、終教示点、第１教示点、第２教示点、第３教示点の５種類である。始教示点と、終教示点と、第１教示点と、第２教示点のそれぞれは、経由点情報を生成するために用いる教示点である。第３教示点は、補助経由点情報を生成するために用いる教示点である。以下では、説明の便宜上、種類が始教示点である教示点を始教示点と称し、種類が終教示点である教示点を終教示点と称し、種類が第１教示点である教示点を第１教示点と称し、種類が第２教示点である教示点を第２教示点と称し、種類が第３教示点である教示点を第３教示点と称して説明する。これらの教示点についての詳細は、後述する。
【００６９】
情報処理装置３０は、教示画面からユーザーが入力したこれらの情報を受け付ける。情報処理装置３０は、受け付けた当該情報に基づいた教示点を生成する。情報処理装置３０は、生成した教示点に基づいて経由点情報及び補助経由点情報を生成する。情報処理装置３０は、生成した経由点情報及び補助経由点情報を制御装置４０に出力する。
【００７０】
情報処理装置３０は、ケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、情報処理装置３０と制御装置４０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。また、情報処理装置３０は、制御装置４０と一体に構成されてもよい。この場合、制御装置４０は、以下において説明する情報処理装置３０の各機能を有する。
【００７１】
＜第１ロボットが行う第１作業と第２ロボットが行う第２作業との概要＞
以下、第１ロボット２１が行う第１作業と第２ロボット２２が行う第２作業との概要について説明する。
まず、第１ロボット２１が行う第１作業について説明する。第１ロボット２１は、物体にケーブルＣを引き回す作業を所定の作業として行う。ケーブルＣを物体に引き回す作業は、この一例において、当該物体に応じた経由点軌跡に沿って線状物体を引っ張りながら当該物体に取り付ける（配置する）作業のことである。経由点軌跡は、情報処理装置３０が生成する経由点情報が示す各経由点を、各経由点の順番の順に線で結ぶことによって得られる軌跡である。当該線は、この一例において、直線である。なお、当該線は、曲線を含む構成であってもよい。ケーブルＣを引っ張りながら当該物体に取り付ける作業の例としては、何らかの装置の筐体内部の壁面に設けられた１以上のケーブルクランプにケーブルＣを引っ掛けながら筐体に配線（配置）する作業等が挙げられる。
【００７２】
ケーブルＣが引き回される物体は、例えば、プリンターやプロジェクター等の産業用の装置や当該装置の部品、産業用ではない日用品の装置や当該装置の部品、臓器等の生体等である。以下では、一例として、当該物体が図１に示した第１物体Ｏである場合について説明する。
【００７３】
この一例において、第１物体Ｏは、図１に示したように作業台ＴＢの上面に載置されている。第１物体Ｏは、板状の物体である。第１物体Ｏの上面には、２つの係止部である係止部Ｏ１及び係止部Ｏ２が形成されている。係止部Ｏ１及び係止部Ｏ２のそれぞれは、例えば、ケーブルＣを第１物体Ｏに引き回す際にケーブルＣを引っ掛けるためのケーブルクランプである。なお、第１物体Ｏは、係止部Ｏ１と係止部Ｏ２のうちのいずれか一方のみが形成されている構成であってもよく、係止部Ｏ１及び係止部Ｏ２に加えて他の係止部が形成されている構成であってもよい。第１物体Ｏの上面は、第１面の一例である。
【００７４】
係止部Ｏ１及び係止部Ｏ２のそれぞれは、第１物体Ｏの上面から鉛直上方に向かって延伸する第１部位と、第１部位の端部のうちの当該上面側と反対側の端部から当該上面に対して水平な方向に延伸する第２部位とを有する。当該上面と第２部位との間の距離は、少なくともケーブルＣの太さよりも長い距離である。係止部Ｏ１と係止部Ｏ２のそれぞれは、当該間にケーブルＣの一部が挿入されることによって当該一部を係止することができる。以下では、説明の便宜上、係止部Ｏ１と係止部Ｏ２のそれぞれにおける当該間のうちの第１部位と反対側の端部を入口と称し、当該間のうちの第１部位側の端部を奥と称して説明する。また、以下では、説明の便宜上、係止部Ｏ１の入口から奥にケーブルＣが挿入されることを、係止部Ｏ１にケーブルＣが挿入されると称し、係止部Ｏ２の入口から奥にケーブルＣが挿入されることを、係止部Ｏ２にケーブルＣが挿入されると称して説明する。当該入口は、係止部の先端の一例である。また、当該奥は、係止部の基端の一例である。
【００７５】
なお、第１物体Ｏの形状は、上記において説明した形状に代えて、他の形状であってもよい。また、係止部Ｏ１と係止部Ｏ２のうちいずれか一方又は両方の形状は、上記において説明した形状に代えて、入口と奥を有する他の形状であってもよい。作業台ＴＢは、この一例において、テーブルである。なお、作業台ＴＢは、テーブルに代えて、床面や棚等の第１物体Ｏを配置可能な物体であれば他の物体であってもよい。
【００７６】
この一例において、第１ロボット２１は、ケーブルＣの２つの端部のうちの一方である端部Ｃ１をツールＴＬ１によって予め把持している。なお、第１作業には、所定のケーブル置き場に置かれたケーブルＣをツールＴＬ１によって把持する動作が含まれる構成であってもよい。
【００７７】
第１ロボット２１は、制御装置４０から取得した制御信号に基づいて、各経由点の順番の順に各経由点と制御点Ｔ１とを一致させていくことにより、端部Ｃ１を把持したツールＴＬ１を移動させる。これにより、第１ロボット２１は、制御装置４０が情報処理装置３０から取得した経由点情報に基づく経由点軌跡に沿ってケーブルＣを引っ張りながら第１物体Ｏに取り付ける。すなわち、第１ロボット２１は、制御装置４０から取得した経由点情報に基づいて、ケーブルＣを第１物体Ｏに引き回す。
【００７８】
ここで、図５を参照し、第１ロボット２１が行う第１作業について説明する。図５は、第１物体Ｏの上面図の一例である。図５において、係止部Ｏ１と係止部Ｏ２とのそれぞれは、図を見やすくするために二点鎖線によって外形のみが示されている。例えば、第１ロボット２１は、ツールＴＬ１によって端部Ｃ１が把持されたケーブルＣを、図５に示した経由点軌跡Ｌ０に沿って引っ張る。そして、第１ロボット２１は、ケーブルＣを係止部Ｏ１と係止部Ｏ２のそれぞれに引っ掛けて係止させながら第１物体Ｏに取り付ける。第１物体Ｏに取り付けられた後のケーブルＣは、係止部Ｏ１及び係止部Ｏ２のそれぞれに係止（挿入）されながら引き回されたことによって図５に示したように経由点軌跡Ｌ０からずれる。以上のように、第１ロボット２１は、ケーブルＣを第１物体Ｏに引き回す作業を第１作業として行う。なお、第１作業は、これに代えて、何らかの経由点軌跡に沿ってケーブルＣを引っ張りながら行う他の作業であってもよい。
【００７９】
第１作業において第１ロボット２１がケーブルＣを引き回した場合、ケーブルＣの一部は、ケーブルＣに加わる力に応じて第１物体Ｏの上面から浮き上がることがある。このような場合、第１ロボット２１は、第１作業において係止部Ｏ１と係止部Ｏ２のうちいずれか一方又は両方へのケーブルＣの挿入に失敗する場合がある。これを抑制するため、第２ロボット２２は、第２作業を行うことによって第１ロボット２１の第１作業による係止部Ｏ１及び係止部Ｏ２へのケーブルＣの挿入を補助する。
【００８０】
以下、図６を参照し、第２ロボット２２が行う第２作業について説明する。図６は、係止部Ｏ１にケーブルＣが挿入される直前の様子の一例を係止部Ｏ１の側面から見た図である。当該側面は、係止部Ｏ１の入口から奥に向かう方向と直交する方向から係止部Ｏ１を見た場合に見える係止部Ｏ１の面のことである。図６において、図を簡略化するため、ケーブルＣは、ケーブルＣの断面を示す二点鎖線のみによって示している。ケーブルＣは、第１作業によって、図６に示した矢印が示す方向ＡＲ１に向かって移動する。これにより、ケーブルＣは、係止部Ｏ１に挿入される。この際、前述したように、ケーブルＣが第１物体Ｏの上面ＯＭから浮き上がる場合がある。
【００８１】
図６に示した例では、第２ロボット２２は、制御点Ｔ２と、係止部Ｏ１とケーブルＣとの間に設定された補助経由点とを一致させ、当該間における第１物体Ｏの上面ＯＭに当接部ＬＤを当接させる。この際、補助経由点の姿勢は、制御点Ｔ１が当該補助経由点に一致した場合に、当接部ＬＤと上面ＯＭとが成す角度のうちケーブルＣ側の角度θが鋭角（９０°未満）となる姿勢である。角度θが鋭角である場合、ケーブルＣの一部は、第１作業によるケーブルＣの移動によって上面ＯＭと当接部ＬＤとに挟まれた空間に入る。当該空間は、上面ＯＭの直上から上面ＯＭに向かって光を当てた場合に当接部ＬＤによって当該光が遮られている空間（影の空間）のことである。当該空間に入った当該一部は、第１作業によるケーブルＣの移動によって当該一部が上面ＯＭから浮き上がったとしても、当接部ＬＤと干渉するために当接部ＬＤに沿って当接部ＬＤの先端の方向へと移動する。
【００８２】
また、前述したように、当接部ＬＤは、ケーブルＣの移動によって所定の閾値以上の力が加わった場合、弾性変形する。図６に示した例では、ケーブルＣが方向ＡＲ１に向かって移動することによって当接部ＬＤに所定の閾値以上の力を加えた場合、当接部ＬＤは、図６に示した矢印が示す方向ＡＲ２に向かって弾性変形する。これにより、ケーブルＣは、第１物体Ｏの上面ＯＭから浮き上がることが制限（抑制）され、係止部Ｏ１に挿入される。このように、第２ロボット２２は、当接部ＬＤによってケーブルＣが上面ＯＭから浮き上がることを制限する作業を第２作業として行う。
【００８３】
なお、第２作業は、これに代えて、ケーブルＣが所望の位置において曲がるように当接部ＬＤを当該位置に配置する構成であってもよい。当該位置は、上面ＯＭ内における位置であってもよく、上面ＯＭよりも鉛直上方の位置であってもよい。
【００８４】
このように、ロボットシステム１では、第１ロボット２１が第１作業を行い、第２ロボット２２が第２作業を行う。これにより、第１ロボット２１及び第２ロボット２２は、ケーブルＣを第１物体Ｏに引き回す作業を行うことができる。また、ロボットシステム１は、第１ロボット２１及び第２ロボット２２にケーブルＣを引き回させるため、複数の第１物体Ｏのそれぞれに対して所定の作業を行った場合であっても、第１物体Ｏ毎に引き回されたケーブルＣの状態をばらつかせずに一定の品質を保つことができる。その結果、ロボットシステム１は、当該状態がばらついてしまうことによる不具合が生じる可能性を抑制することができる。
【００８５】
＜情報処理装置が経由点情報及び補助経由点情報を生成する処理の概要＞
以下、情報処理装置３０が経由点情報及び補助経由点を生成する処理の概要について説明する。
情報処理装置３０は、表示した教示画面からユーザーにより、教示点位置情報と、教示点姿勢情報と、教示点順番情報と、教示点速さ情報と、教示点把持力情報と、教示点種類情報を入力される。情報処理装置３０は、入力されたこれらの情報に基づいて教示点を生成する。そして、情報処理装置３０は、生成した教示点に基づいて経由点及び補助経由点を生成する。
【００８６】
ここで、教示点の種類、すなわち始教示点、終教示点、第１教示点、第２教示点、第３教示点のそれぞれについて説明する。始教示点は、情報処理装置３０が生成する経由点のうちの１番目（始点）の経由点の位置及び姿勢と、当該経由点の速さと、当該経由点の把持力とを指定する教示点である。終教示点は、情報処理装置３０が生成する経由点のうちの最後（終点）の経由点の位置及び姿勢と、当該経由点の速さと、当該経由点の把持力とを指定する教示点である。
【００８７】
第１教示点は、係止部Ｏ１と係止部Ｏ２のそれぞれの入口の位置を示す教示点である。第２教示点は、係止部Ｏ１と係止部Ｏ２のそれぞれの奥の位置を示す教示点である。始教示点、終教示点、第１教示点、第２教示点のそれぞれの順番、速さ、把持力は、情報処理装置３０が生成する経由点の順番、速さ、把持力のそれぞれを算出するために用いられる。第３教示点は、情報処理装置３０が生成する補助経由点の位置及び姿勢と、当該補助経由点の順番とを指定する教示点である。
【００８８】
情報処理装置３０は、これらの種類の教示点に基づいて経由点及び補助経由点を生成する。情報処理装置３０は、生成した経由点を示す経由点情報と、生成した補助経由点を示す補助経由点情報を生成する。そして、情報処理装置３０は、経由点情報及び補助経由点情報を制御装置４０に出力する。これにより、ユーザーは、情報処理装置３０を利用することによって、第１ロボット２１及び第２ロボット２２にケーブルＣを引き回す作業を容易に行わせることができる。
【００８９】
＜制御装置が行う処理の概要＞
以下、制御装置４０が行う処理の概要について説明する。
制御装置４０は、第１物体ＯにケーブルＣを引き回す場合、アームＡ１に設けられたツールＴＬ１によりケーブルＣを把持させ、且つ、アームＡ２に設けられた当接部ＬＤとケーブルＣとを当接させるように、アームＡ１とアームＡ２との少なくとも一方を制御する。具体的には、制御装置４０は、情報処理装置３０から経由点情報及び補助経由点情報を取得する。そして、制御装置４０は、取得した経由点情報に基づいて第１ロボット２１に第１作業を行わせる。また、制御装置４０は、情報処理装置３０から取得した補助経由点情報に基づいて第２ロボット２２に第２作業を行わせる。これらにより、制御装置４０は、ケーブルＣを引き回す作業を容易に行うことができる。また、制御装置４０は、第１ロボット２１及び第２ロボット２２にケーブルＣを引き回させるため、複数の第１物体Ｏのそれぞれに対して所定の作業を行った場合であっても、第１物体Ｏ毎に引き回されたケーブルＣの状態をばらつかせずに一定の品質を保つことができる。その結果、制御装置４０は、当該状態がばらついてしまうことによる不具合が生じる可能性を抑制することができる。
本実施形態では、情報処理装置３０が経由点情報及び補助経由点情報を生成する処理と、制御装置４０が第１ロボット２１に第１作業を行わせるとともに第２ロボット２２に第２作業を行わせる処理について詳しく説明する。
【００９０】
＜ロボット制御装置のハードウェア構成＞
以下、図７を参照し、情報処理装置３０及び制御装置４０のハードウェア構成について説明する。図７は、情報処理装置３０及び制御装置４０のハードウェア構成の一例を示す図である。図７は、情報処理装置３０のハードウェア構成（３０番台の符号が付された機能部）と、制御装置４０のハードウェア構成（４０番台の符号が付された機能部）とを便宜的に重ねて示した図である。
【００９１】
情報処理装置３０は、例えば、ＣＰＵ（Central  Processing  Unit）３１と、記憶部３２と、入力受付部３３と、通信部３４と、表示部３５を備える。また、情報処理装置３０は、通信部３４を介して制御装置４０と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。
【００９２】
制御装置４０は、例えば、ＣＰＵ４１と、記憶部４２と、入力受付部４３と、通信部４４と、表示部４５を備える。また、制御装置４０は、通信部４４を介してロボット２０及び情報処理装置３０と通信を行う。これらの構成要素は、バスＢｕｓを介して相互に通信可能に接続されている。
【００９３】
ＣＰＵ３１は、記憶部３２に格納された各種プログラムを実行する。
記憶部３２は、例えば、ＨＤＤ（Hard  Disk  Drive）やＳＳＤ（Solid  State  Drive）、ＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read−Only  Memory）、ＲＯＭ（Read−Only  Memory）、ＲＡＭ（Random  Access  Memory）等を含む。なお、記憶部３２は、情報処理装置３０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部３２は、情報処理装置３０が処理する各種情報や画像、プログラムを格納する。
【００９４】
入力受付部３３は、例えば、表示部３５と一体に構成されたタッチパネルである。なお、入力受付部３３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部３４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部３５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬ（ElectroLuminescence）ディスプレイパネルである。
【００９５】
ＣＰＵ４１は、記憶部４２に格納された各種プログラムを実行する。
記憶部４２は、例えば、ＨＤＤやＳＳＤ、ＥＥＰＲＯＭ、ＲＯＭ、ＲＡＭ等を含む。なお、記憶部４２は、制御装置４０に内蔵されるものに代えて、ＵＳＢ等のデジタル入出力ポート等によって接続された外付け型の記憶装置であってもよい。記憶部４２は、制御装置４０が処理する各種情報や画像、プログラムを格納する。
【００９６】
入力受付部４３は、例えば、表示部４５と一体に構成されたタッチパネルである。なお、入力受付部４３は、キーボードやマウス、タッチパッド、その他の入力装置であってもよい。
通信部４４は、例えば、ＵＳＢ等のデジタル入出力ポートやイーサネット（登録商標）ポート等を含んで構成される。
表示部４５は、例えば、液晶ディスプレイパネル、あるいは、有機ＥＬディスプレイパネルである。
【００９７】
＜情報処理装置及び制御装置の機能構成＞
以下、図８を参照し、情報処理装置３０及び制御装置４０の機能構成について説明する。図８は、情報処理装置３０及び制御装置４０の機能構成の一例を示す図である。
【００９８】
情報処理装置３０は、記憶部３２と、通信部３４と、表示部３５と、制御部３６を備える。
【００９９】
制御部３６は、情報処理装置３０の全体を制御する。制御部３６は、表示制御部３６１と、撮像制御部３６２と、画像取得部３６３と、軌跡生成部３６４と、経由点生成部３６５と、補助経由点生成部３６６と、情報出力部３６７を備える。制御部３６が備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩ（Large  Scale  Integration）やＡＳＩＣ（Application  Specific  Integrated  Circuit）等のハードウェア機能部であってもよい。
【０１００】
表示制御部３６１は、表示部３５に表示させる各種の画面を生成する。表示制御部３６１は、生成した画面を表示部３５に表示させる。
撮像制御部３６２は、撮像部１０が撮像可能な範囲を撮像部１０に撮像させる。
画像取得部３６３は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。
軌跡生成部３６４は、入力受付部３３によってユーザーから入力された（受け付けた）教示点に基づいて、仮軌跡を生成する。仮軌跡は、経由点生成部３６５が経由点を生成する際に用いる曲線である。
【０１０１】
経由点生成部３６５は、軌跡生成部３６４が生成した仮軌跡に基づいて経由点を生成する。また、経由点生成部３６５は、生成した経由点に基づいて、当該経由点を示す経由点情報を生成する。
補助経由点生成部３６６は、入力受付部３３によってユーザーから入力された（受け付けた）教示点に基づいて補助経由点を生成する。また、補助経由点生成部３６６は、生成した補助経由点に基づいて、当該補助経由点を示す補助経由点情報を生成する。
情報出力部３６７は、経由点生成部３６５が生成した経由点情報を通信部３４により制御装置４０に出力する。また、情報出力部３６７は、補助経由点生成部３６６が生成した補助経由点情報を通信部３４により制御装置４０に出力する。
【０１０２】
制御装置４０は、記憶部４２と、通信部４４と、制御部４６を備える。
制御部４６は、制御装置４０の全体を制御する。制御部４６は、力検出情報取得部４６１と、情報取得部４６２と、第１ロボット制御部４６３と、第２ロボット制御部４６４を備える。制御部４６が備えるこれらの機能部は、例えば、ＣＰＵ４１が、記憶部４２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
【０１０３】
力検出情報取得部４６１は、力検出部２１１から第１力検出情報を取得する。また、力検出情報取得部４６１は、力検出部２２１から第２力検出情報を取得する。
情報取得部４６２は、情報処理装置３０から経由点情報を取得する。また、情報取得部４６２は、情報処理装置３０から補助経由点情報を取得する。
第１ロボット制御部４６３は、情報取得部４６２が取得した経由点情報に基づいて第１ロボット２１を動作させ、第１ロボット２１に第１作業を行わせる。
第２ロボット制御部４６４は、情報取得部４６２が取得した補助経由点情報に基づいて第２ロボット２２を動作させ、第２ロボット２２に第２作業を行わせる。
【０１０４】
＜情報処理装置が教示画面を表示する処理＞
以下、図９を参照し、情報処理装置３０が教示画面を表示する処理について説明する。図９は、情報処理装置３０が教示画面を表示する処理の流れの一例を示すフローチャートである。
【０１０５】
表示制御部３６１は、記憶部３２から教示画面情報を読み出す。教示画面情報は、教示画面を生成するために必要な情報であり、例えば、ＨＴＭＬ（HyperText  Markup  Language）やＣＳＳ（Cascading  Style  Sheets）によって構成される情報である。また、教示画面情報は、記憶部３２に予め記憶された情報である。表示制御部３６１は、記憶部３２から読み出した教示画面情報に基づいて教示画面を生成する（ステップＳ１１０）。次に、表示制御部３６１は、ステップＳ１１０において生成した教示画面を表示部３５に表示させ（ステップＳ１２０）、処理を終了する。
【０１０６】
＜教示画面においてユーザーにより行われる操作に基づいて情報処理装置が行う処理＞
以下、図１０〜１４を参照し、教示画面と、ユーザーにより行われる操作に基づいて情報処理装置３０が行う処理とについて説明する。図１０は、教示画面の一例を示す図である。図１０に示した教示画面Ｇ１には、撮像画像表示領域ＶＳと、ボタンＢ１と、ボタンＢ２と、ボタンＢ３が含まれている。なお、教示画面Ｇ１には、これらに加えて、他のＧＵＩ（Graphical  User  Interface）が含まれる構成であってもよい。
【０１０７】
撮像画像表示領域ＶＳは、撮像部１０が撮像した撮像画像を表示する領域である。表示制御部３６１は、教示画面Ｇ１を表示部３５に表示させる際、撮像制御部３６２によって撮像部１０が撮像可能な範囲を撮像部１０に撮像させる。当該範囲には、少なくとも第１物体Ｏの上面が含まれている。画像取得部３６３は、撮像部１０が撮像した撮像画像を撮像部１０から取得する。表示制御部３６１は、画像取得部３６３が取得した撮像画像を撮像画像表示領域ＶＳに表示させる。なお、撮像画像上における位置を示す座標は、キャリブレーションによりロボット座標系ＲＣにおける位置を示す座標と対応付けられている。また、ロボット座標系ＲＣにおける位置を示す座標は、キャリブレーションにより実空間（ワールド座標系）における位置を示す座標と対応付けられている。
【０１０８】
また、ユーザーは、撮像画像表示領域ＶＳ上をタップすることによって、タップした位置が示す撮像画像上の位置に教示点を追加（入力、生成）することができる。表示制御部３６１は、ユーザーにより撮像画像表示領域ＶＳ上をタップされた場合、タップされた位置が示す撮像画像上の位置に、当該位置を示す教示点位置情報が対応付けられた教示点を生成する。当該位置は、撮像画像上のＸ軸方向及びＹ軸方向における位置に対応付けられたロボット座標系ＲＣのＸ軸方向及びＹ軸方向における位置である。この一例では、教示点にはロボット座標系ＲＣのＺ軸方向における位置が後から対応付けられる。なお、教示点には、撮像画像上のＸ軸方向、Ｙ軸方向、Ｚ軸方向のそれぞれにおける位置に対応付けられたロボット座標系ＲＣのＸ軸方向、Ｙ軸方向、Ｚ軸方向のそれぞれにおける位置を示す教示点位置情報が、当該教示点が生成された際に対応付けられる構成であってもよい。また、この一例において、撮像画像上のＸ軸方向及びＹ軸方向は、この一例において、撮像画像に含まれる第１物体Ｏの上面に沿った方向である。なお、撮像画像上のＸ軸方向及びＹ軸方向は、これに代えて、撮像画像に含まれる第１物体Ｏの上面に沿っていない他の方向であってもよい。
【０１０９】
また、表示制御部３６１は、教示点を生成したことをユーザーに知らせるため、生成した教示点に対応付けられたロボット座標系ＲＣのＸ軸方向及びＹ軸方向における位置に基づいて、当該位置に対応付けられた撮像画像上のＸ軸方向及びＹ軸方向における位置に教示点を表す情報を追加する（表示させる）。図１０に示した例では、撮像画像上において追加（表示）された教示点を表す情報は、円ＳＰ、円ＥＰ、円ＴＰ１、円ＴＰ１１、円ＴＰ２、円ＴＰ２１、円ＨＰ１、円ＨＰ２のそれぞれによって表されている。なお、当該情報は、例えば、星印等の印や光の明滅等の他の情報であってもよい。
【０１１０】
また、表示制御部３６１は、撮像画像上に教示点を表す情報を追加した（表示させた）後、追加（表示）された当該情報が表わす教示点の姿勢を示す教示点姿勢情報と、当該教示点の順番を示す教示点順番情報と、当該教示点の種類を示す教示点種類情報とを入力する情報入力画面を撮像画像表示領域ＶＳに表示された撮像画像に重ねて表示させる。図１０に示した例では、表示制御部３６１は、円ＥＰを撮像画像表示領域ＶＳに表示させた後、撮像画像表示領域ＶＳに表示された撮像画像に情報入力画面Ｇ２を重ねて表示させている。
【０１１１】
ユーザーは、情報入力画面Ｇ２を用いて、所望の姿勢を円ＥＰが表わす教示点に対応付けることができる。すなわち、表示制御部３６１は、情報入力画面Ｇ２から受け付けられた教示点姿勢情報を、円ＥＰが表わす教示点に対応付ける。また、ユーザーは、情報入力画面Ｇ２を用いて、所望の順番を円ＥＰが表わす教示点に対応付けることができる。すなわち、表示制御部３６１は、情報入力画面Ｇ２から受け付けられた教示点順番情報を、円ＥＰが表わす教示点に対応付ける。また、ユーザーは、情報入力画面Ｇ２を用いて、所望の種類を円ＥＰが表わす教示点に対応付けることができる。すなわち、表示制御部３６１は、情報入力画面Ｇ２から受け付けられた教示点種類情報を、円ＥＰが表わす教示点に対応付ける。
【０１１２】
図１０に示した例では、円ＥＰが表わす教示点は、終教示点である。また、円ＳＰが表わす教示点は、始教示点である。また、円ＴＰ１と円ＴＰ２のそれぞれが表わす教示点は、第１教示点である。また、円ＴＰ１１、円ＴＰ２１のそれぞれが表わす教示点は、第２教示点である。また、円ＨＰ１、円ＨＰ２のそれぞれが表わす教示点は、第３教示点である。
【０１１３】
表示制御部３６１は、情報入力画面Ｇ２においてユーザーにより教示点姿勢情報と、教示点順番情報と、教示点種類情報とが入力された後、情報入力画面Ｇ２を撮像画像表示領域ＶＳから削除する。例えば、表示制御部３６１は、情報入力画面Ｇ２を所定の時間内において２回タップされた場合、情報入力画面Ｇ２における教示点姿勢情報と教示点順番情報と教示点種類情報との入力が終了したと判定する。所定の時間は、例えば、１秒程度である。なお、所定の時間は、他の時間であってもよい。
【０１１４】
ボタンＢ１は、教示点の追加（撮像画像内に教示点を表す情報の追加）を終了させるボタンである。ユーザーがボタンＢ１をタップした場合、表示制御部３６１は、ユーザーによる教示点の追加が終了したと判定する。表示制御部３６１は、当該追加が終了したと判定した場合、図１１に示す付加情報入力画面Ｇ３を撮像画像表示領域ＶＳに重ねて表示させる。図１１は、付加情報入力画面Ｇ３が表示された状態の教示画面Ｇ１の一例を示す図である。
【０１１５】
付加情報入力画面Ｇ３には、最小半径情報入力欄ＧＰ１と、付加情報入力欄ＧＰ２と、ボタンＢ４が含まれている。
【０１１６】
最小半径情報入力欄ＧＰ１は、最小半径情報を入力する欄である。最小半径情報は、この一例において、表示制御部３６１が生成した教示点に基づいて軌跡生成部３６４が軌跡を生成する際に用いられる最小半径を指定する情報のことである。従って、ユーザーは、最小半径を最小半径情報入力欄ＧＰ１から入力することができる。最小半径情報は、第３情報の一例である。
【０１１７】
付加情報入力欄ＧＰ２は、付加情報を入力する欄である。付加情報には、この一例において、表示制御部３６１が生成した教示点に対応付ける教示点高さ情報と、教示点速さ情報と、教示点把持力情報との３つの情報が含まれる。教示点高さ情報は、教示点に対応付ける教示点位置情報のうちのロボット座標系ＲＣのＺ軸方向の位置を示す情報である。なお、付加情報には、これらに加えて、他の情報が含まれる構成であってもよい。付加情報入力欄ＧＰ２には、表示制御部３６１が生成した教示点を識別する教示点ＩＤが予め表示されている。ユーザーは、各教示点ＩＤが示す教示点の教示点高さ情報と教示点速さ情報と教示点把持力情報とを付加情報入力欄ＧＰ１２から入力することができる。
【０１１８】
ボタンＢ４は、最小半径情報入力欄ＧＰ１と付加情報入力欄ＧＰ２のそれぞれにおけるユーザーによる情報の入力を終了させるボタンである。ユーザーがボタンＢ４をタップした場合、表示制御部３６１は、ユーザーにより最小半径情報入力欄ＧＰ１に入力された最小半径情報を記憶部３２に記憶させる。また、表示制御部３６１は、付加情報入力欄ＧＰ２に入力された教示点高さ情報と教示点速さ情報と教示点把持力情報とを、それぞれに対応付けられた教示点ＩＤが示す教示点に対応付ける。そして、表示制御部３６１は、付加情報入力画面Ｇ３を削除する。
【０１１９】
図１０に戻る。ボタンＢ２は、表示制御部３６１が生成した教示点に基づいて経由点軌跡及び補助経由点を生成させ、生成された経由点軌跡及び補助経由点を撮像画像表示領域ＶＳに表示させるボタンである。ボタンＢ２がユーザーによりタップされた場合、軌跡生成部３６４は、表示制御部３６１が生成した教示点のうちの始教示点、終教示点、第１教示点、第２教示点のそれぞれと、記憶部３２に記憶された最小半径情報とに基づいて、仮軌跡を生成する。仮軌跡は、軌跡生成部３６４が経由点を生成するために用いる曲線である。具体的には、軌跡生成部３６４は、当該教示点のうちの第１教示点、第２教示点のそれぞれに基づいて、図１２に示したように中継点を生成する。図１２は、中継点が表示された状態の教示画面Ｇ１の一例を示す図である。
【０１２０】
中継点は、第１教示点及び第２教示点と、所定のルールとに基づいて軌跡生成部３６４が生成する点であり、軌跡生成部３６４が生成する仮軌跡が必ず通過する点である。ここで、所定のルールについて説明する。軌跡生成部３６４は、第１教示点のそれぞれについて、当該第１教示点と、当該第１教示点に最も近い第２教示点とを対応付ける。以下では、説明の便宜上、このように対応付けられた２つの教示点を教示点セットと称して説明する。図１２に示した例では、軌跡生成部３６４は、円ＴＰ１が表わす第１教示点と、円ＴＰ１１が表わす第２教示点とを１つ目の教示点セットとして対応付け、円ＴＰ２が表わす第１教示点と、円ＴＰ２１が表わす第２教示点とを２つ目の教示点セットとして対応付ける。
【０１２１】
軌跡生成部３６４は、教示点セットの組み合わせ毎に、教示点セットに対応付けられた中継点を生成する。また、軌跡生成部３６４は、生成した中継点に対し、当該中継点に対応付けられた教示点セットに含まれる第１教示点の順番を示す教示点順番情報を対応付ける。具体的には、軌跡生成部３６４は、教示点セットに含まれる第１教示点と第２教示点とを通る直線上の位置であって、当該第１教示点から最小半径情報が示す半径だけ離れた位置を示す中継点位置情報が対応付けられた第１中継点を生成する。当該第１中継点は、当該教示点セットに対応付けられた中継点である。当該最小半径情報は、ユーザーにより最小半径情報入力欄ＧＰ１に入力された最小半径情報である。最小半径は、例えば、５センチメートルである。また、軌跡生成部３６４は、生成した第１中継点に対して、当該第１中継点に対応付けられた教示点セットに含まれる第１教示点の順番を示す中継点順番情報を対応付ける。なお、最小半径は、これに代えて、５センチメートル未満の半径であってもよく、５センチメートルより大きな半径であってもよい。また、最小半径は、軌跡生成部３６４が生成する第１中継点毎に異なる構成であってもよい。この場合、最小半径情報には、教示点セット毎の最小半径を示す情報が含まれる。当該情報は、最小半径情報入力欄ＧＰ１においてユーザーにより入力される。
【０１２２】
また、表示制御部３６１は、軌跡生成部３６４が生成した第１中継点を表す情報を、撮像画像上における第１中継点の位置に表示させる。図１２に示した例では、当該情報は、円ＡＰ１、円ＡＰ２のそれぞれによって表されている。なお、当該情報は、例えば、星印等の印や光の明滅等の他の情報であってもよい。円ＡＰ１が表わす第１中継点の位置は、円ＴＰ１１が表わす第２教示点と円ＴＰ１が表わす第１教示点を通る直線上の位置であって、円ＴＰが表わす第１教示点から最小半径だけ離れた位置である。また、円ＡＰ２が表わす第１中継点の位置は、円ＴＰ２１が表わす第２教示点と円ＴＰ２が表わす第１教示点とを通る直線上の位置であって、円ＴＰ２が表わす第１教示点から最小半径だけ離れた位置である。
【０１２３】
また、軌跡生成部３６４は、教示点セットのそれぞれについて、当該教示点セットに含まれる第１教示点を中心として、当該教示点セットに対応付けられた第１中継点を第１方向に９０°回転させた位置を示す中継点位置情報が対応付けられた第２中継点を生成する。当該第２中継点は、当該教示点セットに対応付けられた中継点である。第１方向は、当該教示点から当該教示点よりも順番が小さい教示点に向かう方向である。また、軌跡生成部３６４は、生成した第２中継点に対して、当該第２中継点に対応付けられた教示点セットに含まれる第１教示点の順番を示す中継点順番情報を対応付ける。
【０１２４】
また、表示制御部３６１は、軌跡生成部３６４が生成した第２中継点を表す情報を、撮像画像上における第２中継点の位置に表示させる。図１２に示した例では、当該情報は、円ＢＰ１、円ＢＰ２のそれぞれによって表されている。なお、当該情報は、例えば、星印等の印や光の明滅等の他の情報であってもよい。円ＢＰ１が表わす第２中継点の位置は、円ＡＰ１が表わす第１中継点を第１方向に９０°回転させた位置である。なお、この一例において、円ＴＰ１が表わす教示点の順番より小さい順番の教示点は、円ＳＰが表わす始教示点である。また、円ＢＰ２が表わす第２中継点の位置は、円ＡＰ２が表わす第１中継点を第１方向に９０°回転させた位置である。なお、この一例において、円ＴＰ２が表わす教示点の順番より小さい順番の教示点は、円ＴＰ１が表わす第１教示点である。
【０１２５】
また、軌跡生成部３６４は、教示点セットのそれぞれについて、当該教示点セットに含まれる第１教示点を中心として、第１中継点を第２方向に９０°回転させた位置を示す中継点位置情報が対応付けられた第３中継点を生成する。当該第３中継点は、当該教示点セットに対応付けられた中継点である。第２方向は、当該教示点から当該教示点よりも順番が大きい教示点に向かう方向である。また、軌跡生成部３６４は、生成した第３中継点に対して、当該第３中継点に対応付けられた教示点セットに含まれる第１教示点の順番を示す中継点順番情報を対応付ける。
【０１２６】
また、表示制御部３６１は、軌跡生成部３６４が生成した第３中継点を表す情報を、撮像画像上における第３中継点の位置に表示させる。図１２に示した例では、当該情報は、円ＣＰ１、円ＣＰ２のそれぞれによって表されている。なお、当該情報は、例えば、星印等の印や光の明滅等の他の情報であってもよい。円ＣＰ１が表わす第３中継点の位置は、円ＡＰ１が表わす第１中継点を第２方向に９０°回転させた位置である。なお、この一例において、円ＴＰ１が表わす教示点の順番より大きい順番の教示点は、円ＴＰ２が表わす第２教示点である。また、円ＣＰ２が表わす第３中継点の位置は、円ＡＰ２が表わす第１中継点を第２方向に９０°回転させた位置である。なお、この一例において、円ＴＰ２が表わす教示点の順番より大きい順番の教示点は、円ＥＰが表わす終教示点である。
【０１２７】
また、軌跡生成部３６４は、教示点セットのそれぞれについて、当該教示点セットに含まれる第２教示点を通って当該教示点セットに含まれる第１教示点と第２教示点とを結ぶ直線と直交する直線上の位置であって、当該第２教示点から最小半径だけ離れた位置を示す中継点位置情報が対応付けられた第４中継点を生成する。当該第４中継点は、当該教示点セットに対応付けられた中継点である。また、軌跡生成部３６４は、生成した第４中継点に対して、当該第４中継点に対応付けられた教示点セットに含まれる第１教示点の順番を示す中継点順番情報を対応付ける。
【０１２８】
また、表示制御部３６１は、軌跡生成部３６４が生成した第４中継点を表す情報を、撮像画像上における第４中継点の位置に表示させる。図１２に示した例では、当該情報は、円ＤＰ１、円ＤＰ２のそれぞれによって表されている。なお、当該情報は、例えば、星印等の印や光の明滅等の他の情報であってもよい。円ＤＰ１が表わす第４中継点の位置は、円ＴＰ１１が表わす第２教示点を通って円ＴＰ１が表わす第１教示点と当該第２教示点とを結ぶ直線と直交する直線上の位置であって、当該第２教示点から最小半径だけ離れた位置である。また、円ＤＰ２が表わす第４中継点の位置は、円ＴＰ２１が表わす第２教示点を通って円ＴＰ２が表わす第１教示点と当該第２教示点とを結ぶ直線と直交する直線上の位置であって、当該第２教示点から最小半径だけ離れた位置である。
【０１２９】
上記において説明したルールに基づいて、軌跡生成部３６４は、第１中継点〜第４中継点のそれぞれを生成する。そして、軌跡生成部３６４は、生成した第１中継点〜第４中継点のそれぞれと、種類が始教示点である教示点と、種類が終教示点である教示点とに基づいて、図１３に示したように仮軌跡を生成する。
【０１３０】
具体的には、軌跡生成部３６４は、生成した中継点を、ある第２中継点から第１中継点、第１中継点から第３中継点、第３中継点から第４中継点、第４中継点から当該第２中継点の順番の次に大きな順番の第２中継点の順に結ばれるようにベジェ曲線を仮軌跡として生成する。当該ベジェ曲線を生成する際、軌跡生成部３６４は更に、当該ベジェ曲線が、始教示点から最も小さな順番の第２中継点までと、最も大きな順番の第４中継点から終教示点までとを結ぶベジェ曲線として生成する。
【０１３１】
図１３は、図１２に示した始教示点、終教示点、第１中継点〜第４中継点のそれぞれに基づいて生成された仮軌跡が表示された教示画面Ｇ１の一例を示す図である。図１３に示した例では、軌跡生成部３６４は、円ＳＰが表わす始教示点、円ＢＰ１が表わす第２中継点、円ＡＰ１が表わす第１中継点、円ＣＰ１が表わす第３中継点、円ＤＰ１が表わす第４中継点、円ＢＰ２が表わす第２中継点、円ＡＰ２が表わす第１中継点、円ＣＰ２が表わす第３中継点、円ＤＰ２が表わす第４中継点、円ＥＰが表わす終教示点を順に結ぶベジェ曲線を仮軌跡として生成する。
【０１３２】
軌跡生成部３６４が仮軌跡を生成した後、経由点生成部３６５は、所定の条件に基づいて、仮軌跡上において各経由点が等間隔に離れて位置するように所定の数Ｎの経由点を生成する。所定の条件は、この一例において、生成する所定の数Ｎの経由点には、仮軌跡が通過する始教示点、終教示点、第１中継点〜第４中継点のそれぞれと一致する経由点が含まれていることである。所定の数Ｎは、例えば、１００である。なお、所定の数Ｎは、これに代えて、他の数であってもよい。また、経由点生成部３６５は、所定の条件に基づいて、仮軌跡上において各経由点が不等間隔に離れて位置するように所定の数Ｎの経由点を生成する構成であってもよい。
【０１３３】
図１３は、軌跡生成部３６４が仮軌跡に基づいて生成した経由点を経由点の位置に基づいて教示画面Ｇ１に重ねた場合のイメージ図である。図１３に示した点線であって円ＳＰが表わす始教示点、円ＢＰ１が表わす第２中継点、円ＡＰ１が表わす第１中継点、円ＣＰ１が表わす第３中継点、円ＤＰ１が表わす第４中継点、円ＢＰ２が表わす第２中継点、円ＡＰ２が表わす第１中継点、円ＣＰ２が表わす第３中継点、円ＤＰ２が表わす第４中継点、円ＥＰが表わす終教示点を順に通過する点線が有する点Ｐ１〜点ＰＮは、所定の数Ｎの経由点のそれぞれを表す情報である。なお、図１３に示した点Ｐ１〜点ＰＮは、図の簡略化のため、この一例における所定の数Ｎである１００よりも少なく描かれている。
【０１３４】
経由点生成部３６５は、生成した経由点のうちの始教示点と一致している経由点に、始教示点の位置を示す教示点位置情報を経由点位置情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの始教示点と一致している経由点に、始教示点の姿勢を示す教示点姿勢情報を経由点姿勢情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの始教示点と一致している経由点に、始教示点の速さを示す情報を経由点速さ情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの始教示点と一致している経由点に、始教示点の把持力を示す情報を経由点把持力情報として対応付ける。
【０１３５】
また、経由点生成部３６５は、生成した経由点のうちの終教示点と一致している経由点に、終教示点の位置を示す情報を経由点位置情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの終教示点と一致している経由点に、終教示点の姿勢を示す情報を経由点姿勢情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの終教示点と一致している経由点に、終教示点の速さを示す情報を経由点速さ情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの終教示点と一致している経由点に、終教示点の把持力を示す情報を経由点把持力情報として対応付ける。
【０１３６】
また、経由点生成部３６５は、生成した経由点のうちの第１中継点と一致している経由点に、第１中継点の位置を示す情報を経由点位置情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの第１中継点と一致している経由点に、第１中継点に対応付けられている教示点セットに含まれる第１教示点の姿勢を示す情報を経由点姿勢情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの第１中継点と一致している経由点に、第１中継点に対応付けられている教示点セットに含まれる第１教示点の速さを示す情報を経由点姿勢情報として対応付ける。また、経由点生成部３６５は、生成した経由点のうちの第１中継点と一致している経由点に、第１中継点に対応付けられている教示点セットに含まれる第１教示点の把持力を示す情報を経由点把持力情報として対応付ける。
【０１３７】
ここで、以下では、説明の便宜上、経由点生成部３６５が生成した経由点のうち、始教示点、終教示点、第１中継点のいずれかと一致している経由点を、一致点と称して説明する。経由点生成部３６５は、各一致点について、始教示点と一致している一致点から終教示点と一致している一致点まで順に昇順となる順番を示す経由点順番情報を対応付ける。図１３に示した例では、円ＳＰが表わす一致点の順番が１番目であり、円ＡＰ１が表わす一致点の順番が２番目であり、円ＡＰ２が表わす一致点の順番が３番目であり、円ＥＰが表わす一致点の順番が４番目である。
【０１３８】
経由点生成部３６５は、生成した経由点のうちの一致点を除く経由点のそれぞれについて、当該経由点の姿勢を、各一致点の姿勢に基づいて算出する。具体的には、経由点生成部３６５は、一致点のそれぞれから１つずつ一致点を対象一致点として選択し、選択した対象一致点の姿勢から対象一致点の順番の次に大きな順番の一致点の姿勢に至るまでの姿勢の変化量と、対象一致点から当該一致点までの各経由点間の姿勢の変化量の総和とが一致するように対象一致点から当該一致点までの間に含まれる各経由点の姿勢を算出する。例えば、図１３に示した例では、経由点生成部３６５は、円ＳＰが表わす一致点を対象一致点として選択した場合、円ＳＰが表わす一致点の姿勢から当該一致点の順番の次に大きな順番の一致点である円ＡＰ１が表わす一致点の姿勢に至るまでの姿勢の変化量と、円ＳＰが表わす一致点から円ＡＰ１が表わす一致点までの各経由点間の姿勢の変化量の総和とが一致するように円ＳＰが表わす一致点から円ＡＰ１が表わす一致点までの間に含まれる各経由点の姿勢を算出する。そして、経由点生成部３６５は、経由点のそれぞれについて、算出した当該経由点の姿勢を示す経由点姿勢情報を当該経由点に対応付ける。
【０１３９】
また、経由点生成部３６５は、生成した経由点のうちの一致点を除く経由点のそれぞれについて、当該経由点の速さを、各一致点の速さに基づいて算出する。具体的には、経由点生成部３６５は、一致点のそれぞれから１つずつ一致点を対象一致点として選択し、選択した対象一致点の速さから対象一致点の順番の次に大きな順番の一致点の速さに至るまでの速さの変化量と、対象一致点から当該一致点までの各経由点間の速さの変化量の総和とが一致するように対象一致点から当該一致点までの間に含まれる各経由点の速さを算出する。例えば、図１３に示した例では、経由点生成部３６５は、円ＳＰが表わす一致点を対象一致点として選択した場合、円ＳＰが表わす一致点の速さから当該一致点の順番の次に大きな順番の一致点である円ＡＰ１が表わす一致点の速さに至るまでの速さの変化量と、円ＳＰが表わす一致点から円ＡＰ１が表わす一致点までの各経由点間の速さの変化量の総和とが一致するように円ＳＰが表わす一致点から円ＡＰ１が表わす一致点までの間に含まれる各経由点の速さを算出する。そして、経由点生成部３６５は、経由点のそれぞれについて、算出した当該経由点の速さを示す経由点速さ情報を当該経由点に対応付ける。
【０１４０】
また、経由点生成部３６５は、生成した経由点のうちの一致点を除く経由点のそれぞれについて、当該経由点の把持力を、各一致点の把持力に基づいて算出する。具体的には、経由点生成部３６５は、一致点のそれぞれから１つずつ一致点を対象一致点として選択し、選択した対象一致点の把持力から対象一致点の順番の次に大きな順番の一致点の把持力に至るまでの把持力の変化量と、対象一致点から当該一致点までの各経由点間の把持力の変化量の総和とが一致するように対象一致点から当該一致点までの間に含まれる各経由点の把持力を算出する。例えば、図１３に示した例では、経由点生成部３６５は、円ＳＰが表わす一致点を対象一致点として選択した場合、円ＳＰが表わす一致点の把持力から当該一致点の順番の次に大きな順番の一致点である円ＡＰ１が表わす一致点の把持力に至るまでの把持力の変化量と、円ＳＰが表わす一致点から円ＡＰ１が表わす一致点までの各経由点間の把持力の変化量の総和とが一致するように円ＳＰが表わす一致点から円ＡＰ１が表わす一致点までの間に含まれる各経由点の把持力を算出する。そして、経由点生成部３６５は、経由点のそれぞれについて、算出した当該経由点の把持力を示す経由点把持力情報を当該経由点に対応付ける。
【０１４１】
また、経由点生成部３６５は、生成した各経由点（一致点を含む）の順番を、当該各一致点の順番に基づいて算出する。具体的には、経由点生成部３６５は、所定の数Ｎが１００の場合、１番目の一致点の順番を１番目として特定し、順番が最後の一致点の順番が１００番目となるように１番目の一致点の隣の経由点から順に当該最後の一致点まで順番を示す経由点順番情報を対応付ける。
【０１４２】
経由点生成部３６５は、このようにして経由点位置情報、経由点姿勢情報、経由点順番情報、経由点速さ情報、経由点把持力情報のそれぞれが対応付けられた経由点を生成する。そして、経由点生成部３６５は、生成した当該経由点に基づいて経由点情報を生成する。
【０１４３】
経由点生成部３６５が経由点情報を生成した後、表示制御部３６１は、当該経由点情報に基づいて、当該経由点情報が示す各経由点を各経由点の順番の順に線で結ぶことによって経由点軌跡を算出する。表示制御部３６１は、当該各経由点の位置に基づいて、算出した経由点軌跡を撮像画像表示領域ＶＳに表示させる。図１４は、撮像画像表示領域ＶＳに経由点軌跡が表示された状態の教示画面Ｇ１の一例を示す図である。図１４に示したように、表示制御部３６１は、経由点軌跡Ｌ１を撮像画像表示領域ＶＳに表示させる。これにより、情報処理装置３０は、ユーザーが入力した各教示点に基づいて制御装置４０が第１ロボット２１を動作させる場合に、第１ロボット２１がケーブルＣを引き回す軌跡をユーザーに対して視覚的に提供することができる。
【０１４４】
また、ボタンＢ２がユーザーによりタップされた場合、経由点生成部３６５は、上記において説明した経由点を生成する処理とともに、表示制御部３６１が生成した教示点のうちの第３教示点のそれぞれに基づいて、補助経由点を生成する処理を実行する。具体的には、経由点生成部３６５は、第３教示点のそれぞれと一致する補助経由点を生成する。すなわち、経由点生成部３６５に生成された補助経由点のそれぞれには、各補助経由点と一致する第３教示点に対応付けられた各情報が対応付けられている。当該各情報は、教示点位置情報と、教示点姿勢情報と、教示点順番情報のそれぞれである。経由点生成部３６５は、このように生成した補助経由点に基づいて、補助経由点を示す補助経由点情報を生成する。
【０１４５】
図１０に戻る。ボタンＢ３は、経由点生成部３６５が生成した経由点情報及び補助経由点情報を制御装置４０に出力させるボタンである。ボタンＢ３がユーザーによりタップされた場合、情報出力部３６７は、通信部３４に現在の経由点情報及び補助経由点情報を制御装置４０へ出力させる。
【０１４６】
以上のように、情報処理装置３０は、経由点の数に比べて数が少ない教示点をユーザーにより教示（入力）されることによって経由点及び補助経由点を生成し、生成した経由点に基づく経由点情報と、生成した補助経由点に基づく補助経由点情報とを制御装置４０に出力することができる。その結果、情報処理装置３０は、ユーザーが経由点及び補助経由点を制御装置４０に教示する作業の時間を短縮することができ、当該作業に関する時間的コストや人的コストの増大を抑制することができる。
【０１４７】
＜制御装置がロボットに所定の作業を行わせる処理＞
以下、図１５を参照し、制御装置４０が第１ロボット２１に第１作業を行わせるとともに第２ロボット２２に第２作業を行わせる処理について説明する。図１５は、制御装置４０が第１ロボット２１に第１作業を行わせるとともに第２ロボット２２に第２作業を行わせる処理の流れの一例を示すフローチャートである。図１５に示したフローチャートでは、情報処理装置３０から制御装置４０に経由点情報及び補助経由点情報が出力された後の処理について説明する。
【０１４８】
情報取得部４６２は、情報処理装置３０から経由点情報及び補助経由点情報を取得する（ステップＳ２１０）。情報取得部４６２は、取得した経由点情報及び補助経由点情報を記憶部４２に記憶させる。次に、第２ロボット制御部４６４は、ステップＳ２１０において情報取得部４６２が記憶部４２に記憶させた補助経由点情報を記憶部４２から読み出す。そして、第２ロボット制御部４６４は、読み出した補助経由点情報に基づいて第２ロボット２２を動作させ、最も小さな順番の補助経由点に制御点Ｔ２を一致させる（ステップＳ２２０）。具体的には、第２ロボット制御部４６４は、制御点Ｔ２の位置及び姿勢を、当該補助経由点の位置及び姿勢と一致させる。
【０１４９】
次に、第１ロボット制御部４６３は、ステップＳ２１０において情報取得部４６２が記憶部４２に記憶させた経由点情報に基づいて第１ロボット２１を動作させ、各経由点の順番の順に制御点Ｔ１を経由点に一致させる動作であるケーブルＣの引き回し動作を開始する（ステップＳ２３０）。そして、第１ロボット制御部４６３は、所定の条件が満たされるまで当該引き回し動作を続ける（ステップＳ２４０）。
【０１５０】
所定の条件は、この一例において、第１ロボット２１により引き回されたケーブルＣによってツールＴＬ２の当接部ＬＤに対して所定の閾値以上の力を加わり、当接部ＬＤが有するバネによって当接部ＬＤが弾性変形した後に、当接部ＬＤに沿ってケーブルＣが係止部Ｏ１に挿入されることである。なお、所定の条件は、これに代えて、他の条件であってもよい。
【０１５１】
例えば、第１ロボット制御部４６３は、ケーブルＣの張力が所定の閾値以上となった後に当該張力が所定の閾値未満になったと判定した場合、所定の条件が満たされたと判定する。なお、第１ロボット制御部４６３は、撮像部１０によって撮像された撮像画像に基づいて、所定の条件が満たされたか否かを判定する構成等、他の方法によって所定の条件が満たされたか否かを判定する構成であってもよい。この場合、制御部４６は、撮像部１０が撮像可能な範囲を撮像部１０に撮像させる撮像制御部、及び撮像部１０が撮像した撮像画像を撮像部１０から取得する画像取得部を備える。
【０１５２】
ステップＳ２４０において所定の条件が満たされたと判定した場合（ステップＳ２４０−ＹＥＳ）、第１ロボット制御部４６３は、所定の条件が満たされたと判定した直後に制御点Ｔ１が一致している経由点において、制御点Ｔ１の動作、すなわちケーブルＣの引き回し動作を停止させる（ステップＳ２５０）。次に、第２ロボット制御部４６４は、ステップＳ２２０において記憶部４２から読み出した補助経由点情報に基づいて第２ロボット２２を動作させ、現在制御点Ｔ２が一致している補助経由点の順番の次に大きな順番の補助経由点に制御点Ｔ２を一致させる（ステップＳ２６０）。具体的には、第２ロボット制御部４６４は、制御点Ｔ２の位置及び姿勢を、当該補助経由点の位置及び姿勢と一致させる。
【０１５３】
次に、第１ロボット制御部４６３は、ステップＳ２５０において停止させた制御点Ｔ１の動作、すなわちケーブルＣの引き回し動作を再開させる（ステップＳ２７０）。具体的には、第１ロボット制御部４６３は、現在制御点Ｔ１が一致している経由点の順番の次の順番の経由点から順に制御点Ｔ１を経由点に一致させる。そして、第１ロボット制御部４６３は、制御点Ｔ１を一致させていない経由点がゼロになるまで当該引き回し動作を続ける（ステップＳ２８０）。第１ロボット制御部４６３は、制御点Ｔ１を一致させていない経由点がゼロになったと判定した場合（ステップＳ２８０−ＹＥＳ）、処理を終了する。
【０１５４】
このように、制御装置４０は、情報処理装置３０から取得した経由点情報及び補助経由点情報に基づいて第１ロボット２１に第１作業を行わせるとともに第２ロボット２２に第２作業を行わせる。これにより、制御装置４０は、線状物体を引き回す作業を容易に行うことができる。また、制御装置４０は、ロボット２０に線状物体を引き回させるため、引き回された線状物体の状態をばらつかせずに一定の品質を保つことができる。その結果、制御装置４０は、当該状態がばらついてしまうことによる不具合が生じる可能性を抑制することができる。
【０１５５】
また、上記において説明した例では、第１ロボット２１がエンドエフェクターＥ１の指部により把持されたツールＴＬ１によってケーブルＣを把持する場合について説明したが、ケーブルＣは、エンドエフェクターＥ１の指部によって把持される構成であってもよい。この場合、例えば、ツールＴＬ１がエンドエフェクターＥ１としてマニピュレーターＭ１に設けられる。
【０１５６】
なお、第１教示点（又は第１教示点に対応付けられた各種の情報）は、第１情報の一例である。また、第２教示点（又は第２教示点に対応付けられた各種の情報）は、第２情報の一例である。また、補助経由点の位置は、当接位置の一例である。
【０１５７】
＜実施形態の変形例＞
以下、図１６を参照し、実施形態の変形例について説明する。図１６は、本実施形態に係るロボットシステム２の構成の一例を示す図である。ロボットシステム２は、ロボットシステム１における第１ロボット２１及び第２ロボット２２に代えて、ロボット２３を備えたロボットシステム１であって撮像部１０を備えていないロボットシステム１である。なお、ロボットシステム２は、撮像部１０を備える構成であってもよい。また、本実施形態の変形例では、上記において説明した実施形態と同様な構成部に対して同じ符号を付して説明を省略する。
【０１５８】
ロボット２３は、例えば、双腕ロボットである。ロボット２３は、２つのアームとして第１アームと第２アームを備える。第１アームは、本実施形態の変形例において、上記において説明した実施形態における第１ロボット２１に相当する。第２アームは、本実施形態の変形例において、上記において説明した実施形態における第２ロボット２２に相当する。また、ロボット２３は、第１アーム及び第２アームを支持する支持台ＢＳと、制御装置４０を備える。
【０１５９】
第１アームは、エンドエフェクターＥ１１と、マニピュレーターＭ１１と、第１撮像部１１と、力検出部２１１を備える。第１アームは、第１可動部の一例である。
【０１６０】
エンドエフェクターＥ１１は、物体を把持するエンドエフェクターである。この一例において、エンドエフェクターＥ１１は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を把持する。なお、エンドエフェクターＥ１１は、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を把持する構成であってもよい。すなわち、この一例において、把持するとは、物体を持ち上げることが可能な状態にすることを意味する。エンドエフェクターＥ１１の指部には、図１６に示すように、ツールＴＬ１が設けられている。
【０１６１】
エンドエフェクターＥ１１は、ケーブルによって制御装置４０と通信可能に接続されている。これにより、エンドエフェクターＥ１１は、制御装置４０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥ１１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１６２】
マニピュレーターＭ１１は、７つの関節を備える。また、７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭ１１を備える第１アームは、７軸垂直多関節型のアームである。第１アームは、支持台ＢＳと、エンドエフェクターＥ１１と、マニピュレーターＭ１１と、マニピュレーターＭ１１が備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、第１アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【０１６３】
第１アームが７軸の自由度で動作する場合、第１アームは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第１アームは、例えば、動作が滑らかになり、更に第１アームの周辺に存在する物体との干渉を容易に回避することができる。また、第１アームが７軸の自由度で動作する場合、第１アームの制御は、第１アームが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【０１６４】
マニピュレーターＭ１１が備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによって制御装置４０と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置４０から取得される制御信号に基づいて、マニピュレーターＭ１１を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭ１１が備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１６５】
第１撮像部１１は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。この一例において、第１撮像部１１は、マニピュレーターＭ１１の一部に備えられる。そのため、第１撮像部１１は、第１アームの動きに応じて移動する。また、第１撮像部１１が撮像可能な範囲は、第１アームの動きに応じて変化する。第１撮像部１１は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
【０１６６】
また、第１撮像部１１は、ケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第１撮像部１１は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１６７】
力検出部２１１は、この一例において、エンドエフェクターＥ１１とマニピュレーターＭ１１の間に備えられる。
【０１６８】
第２アームは、エンドエフェクターＥ２２と、マニピュレーターＭ２２と、第２撮像部１２と、力検出部２２１を備える。第２アームは、第２可動部の一例である。
【０１６９】
エンドエフェクターＥ２２は、物体を把持するエンドエフェクターである。この一例において、エンドエフェクターＥ２２は、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を把持する。なお、エンドエフェクターＥ２２は、これに代えて、空気の吸引や磁力、他の治具等によって物体を持ち上げることにより当該物体を把持する構成であってもよい。すなわち、この一例において、把持するとは、物体を持ち上げることが可能な状態にすることを意味する。エンドエフェクターＥ２２の指部には、図１６に示すように、ツールＴＬ２が設けられている。
【０１７０】
エンドエフェクターＥ２２は、ケーブルによって制御装置４０と通信可能に接続されている。これにより、エンドエフェクターＥ２２は、制御装置４０から取得される制御信号に基づく動作を行う。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、エンドエフェクターＥ２２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１７１】
マニピュレーターＭ２２は、７つの関節を備える。また、７つの関節はそれぞれ、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭ２２を備える第２アームは、７軸垂直多関節型のアームである。第２アームは、支持台ＢＳと、エンドエフェクターＥ２２と、マニピュレーターＭ２２と、マニピュレーターＭ２２が備える７つの関節それぞれのアクチュエーターとによる連携した動作によって７軸の自由度の動作を行う。なお、第２アームは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【０１７２】
第２アームが７軸の自由度で動作する場合、第２アームは、６軸以下の自由度で動作する場合と比較して取り得る姿勢が増える。これにより第２アームは、例えば、動作が滑らかになり、更に第２アームの周辺に存在する物体との干渉を容易に回避することができる。また、第２アームが７軸の自由度で動作する場合、第２アームの制御は、第２アームが８軸以上の自由度で動作する場合と比較して計算量が少なく容易である。
【０１７３】
マニピュレーターＭ２２が備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによって制御装置４０と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置４０から取得される制御信号に基づいて、マニピュレーターＭ２２を動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭ１１が備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１７４】
第２撮像部１２は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。この一例において、第２撮像部１２は、マニピュレーターＭ２２の一部に備えられる。そのため、第２撮像部１２は、第２アームの動きに応じて移動する。また、第２撮像部１２が撮像可能な範囲は、第２アームの動きに応じて変化する。第２撮像部１２は、当該範囲の静止画像を撮像する構成であってもよく、当該範囲の動画像を撮像する構成であってもよい。
【０１７５】
また、第２撮像部１２は、ケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第２撮像部１２は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１７６】
力検出部２２１は、この一例において、エンドエフェクターＥ２２とマニピュレーターＭ２２の間に備えられる。
【０１７７】
また、ロボット２３は、第３撮像部１３と、第４撮像部１４を備える。
第３撮像部１３は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第３撮像部１３は、第４撮像部１４が撮像可能な範囲を第４撮像部１４とともにステレオ撮像可能な部位に備えられる。第３撮像部１３は、ケーブルによって制御装置４０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第３撮像部１３は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１７８】
第４撮像部１４は、例えば、集光された光を電気信号に変換する撮像素子であるＣＣＤやＣＭＯＳ等を備えたカメラである。第４撮像部１４は、第３撮像部１３が撮像可能な範囲を第３撮像部１３とともにステレオ撮像可能な部位に備えられる。第４撮像部１４は、ケーブルによって通信可能に制御装置４０と接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、第４撮像部１４は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置４０と接続される構成であってもよい。
【０１７９】
制御装置４０は、この一例において、ロボット２３に内蔵される。制御装置４０は、ロボット２３に制御信号を送信することにより、ロボット２３を動作させる。これにより、制御装置４０は、ロボット２３の第１アームに第１作業を行わせるとともに第２アームに第２作業を行わせる。
【０１８０】
なお、制御装置４０は、ロボット２３に内蔵される構成に代えて、ロボット２３の外部に設置される構成であってもよい。この場合、ロボット２３と制御装置４０は、ケーブルによりイーサネット（登録商標）やＵＳＢ等の規格によって行われる有線通信、又はＷｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続され、ロボットシステムを構成する。
【０１８１】
また、ロボット２３は、第１撮像部１１と、第２撮像部１２と、第３撮像部１３と、第４撮像部１４のうちの一部又は全部を備えない構成であってもよい。ロボット２３が第１撮像部１１と、第２撮像部１２と、第３撮像部１３と、第４撮像部１４の全部を備えない場合、ロボットシステム２は、ロボット２３の外部に設置される撮像部１０を備える。
【０１８２】
この一例において、制御装置４０が備える第１ロボット制御部４６３は、第１アームを動作させ、第１アームに第１作業を行わせる。また、制御装置４０が備える第２ロボット制御部４６４は、第２アームを動作させ、第２アームに第２作業を行わせる。これにより、本実施形態の変形例に係るロボットシステム２（又は制御装置４０、又はロボット２３）は、第１作業及び第２作業をロボット２３に行わせることができ、線状物体を引き回す作業を容易に行うことができる。また、ロボットシステム２は、ロボット２３にケーブルＣを引き回させるため、複数の第１物体Ｏのそれぞれに対して第１作業及び第２作業を行った場合であっても、第１物体Ｏ毎に引き回されたケーブルＣの状態をばらつかせずに一定の品質を保つことができる。その結果、ロボットシステム２は、当該状態がばらついてしまうことによる不具合が生じる可能性を抑制することができる。
【０１８３】
以上説明したように、本実施形態における制御装置４０は、第１物体（この一例において、第１物体Ｏ）に線状物体（この一例において、ケーブルＣ）を引き回す場合、第１可動部（この一例において、アームＡ１又は第１アーム）に設けられた把持部（この一例において、ツールＴＬ１）により線状物体を把持させ、且つ、第２可動部（この一例において、アームＡ２又は第２アーム）に設けられた当接部（この一例において、当接部ＬＤ）と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、線状物体を引き回す作業を容易に行うことができる。
【０１８４】
また、制御装置４０は、第１可動部と第２可動部との少なくとも一方を制御して、線状物体を係止部（この一例において、係止部Ｏ１及び係止部Ｏ２）に係止させる。これにより、制御装置４０は、線状物体を係止部に係止させながら引き回す作業を容易に行うことができる。
【０１８５】
また、制御装置４０は、受付部（この一例において、入力受付部３３）により受け付けられた第１情報（この一例において、第１教示点又は第１教示点に対応付けられた各種の情報）に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、受付部により受け付けられた第１情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
【０１８６】
また、制御装置４０は、受付部により受け付けられた第２情報（この一例において、第２教示点又は第２教示点に対応付けられた各種の情報）に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、受付部により受け付けられた第１情報及び第２情報に基づいて、線状物体を引き回す作業を容易に行うことができる。
【０１８７】
また、制御装置４０は、受付部により受け付けられた第３情報（この一例において、最小半径情報）に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、第１情報と第２情報と第３情報とに基づいて、線状物体を引き回す作業を容易に行うことができる。
【０１８８】
また、制御装置４０は、受付部により受け付けられた当接部の当接位置（この一例において、補助経由点の位置）に基づいて、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、受付部により受け付けられた当接部の当接位置に基づいて、線状物体を引き回す作業を容易に行うことができる。
【０１８９】
また、制御装置４０は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって少なくとも一部が曲面である当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、少なくとも一部が曲面である当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【０１９０】
また、制御装置４０は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって少なくとも一部が弾性を有する当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、少なくとも一部が弾性を有する当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【０１９１】
また、制御装置４０は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって基端（ツールＴＬ２の端部のうちのエンドエフェクターＥ２側の端部）から先端（ツールＴＬ２が有する２本の棒状の物体と当接部ＬＤとの接合部）までの長さが把持部の基端（この一例において、ツールＴＬ１の端部のうちのグリップ部ＧＬ側の端部）から先端（この一例において、ツールＴＬ１の端部のうちのクリップ部ＣＬ側の端部）までの長さよりも長い当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、基端から先端までの長さが把持部の基端から先端までの長さよりも長い当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【０１９２】
また、制御装置４０は、第１物体に線状物体を引き回す場合、第１可動部に設けられた把持部により線状物体を把持させ、且つ、第２可動部に設けられた当接部であって第１物体の第１面（この一例において、第１物体Ｏの上面）に当接した当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、第１物体の第１面に当接した当接部と線状物体とを当接させることによって、線状物体を引き回す作業を容易に行うことができる。
【０１９３】
また、制御装置４０は、第１物体に線状物体を引き回す場合、ロボット（この一例において、第１ロボット２１又はロボット２３）に設けられた第１可動部に設けられた把持部により線状物体を把持させ、且つ、ロボット（この一例において、第２ロボット２２又はロボット２３）に設けられた第２可動部に設けられた当接部と線状物体とを当接させるように、第１可動部と第２可動部との少なくとも一方を制御する。これにより、制御装置４０は、ロボットに設けられた第１可動部とロボットに設けられた第２可動部との少なくとも一方により、線状物体を引き回す作業を容易に行うことができる。
【０１９４】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１９５】
また、以上に説明した装置（例えば、情報処理装置３０や制御装置４０）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１９６】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１９７】
１、２…ロボットシステム、１０…撮像部、１１…第１撮像部、１２…第２撮像部、１３…第３撮像部、１４…第４撮像部、２１…第１ロボット、２２…第２ロボット、２３…ロボット、３０…情報処理装置、３１、４１…ＣＰＵ、３２、４２…記憶部、３３、４３…入力受付部、３４、４４…通信部、３５、４５…表示部、３６、４６…制御部、４０…制御装置、２１１、２２１…力検出部、３６１…表示制御部、３６２…撮像制御部、３６３…画像取得部、３６４…軌跡生成部、３６５…経由点生成部、３６６…補助経由点生成部、３６７…情報出力部、４６１…力検出情報取得部、４６２…情報取得部、４６３…第１ロボット制御部、４６４…第２ロボット制御部
【図１】
0006706777.tif 000002
【図２】
0006706777.tif 000003
【図３】
0006706777.tif 000004
【図４】
0006706777.tif 000005
【図５】
0006706777.tif 000006
【図６】
0006706777.tif 000007
【図７】
0006706777.tif 000008
【図８】
0006706777.tif 000009
【図９】
0006706777.tif 000010
【図１０】
0006706777.tif 000011
【図１１】
0006706777.tif 000012
【図１２】
0006706777.tif 000013
【図１３】
0006706777.tif 000014
【図１４】
0006706777.tif 000015
【図１５】
0006706777.tif 000016
【図１６】
0006706777.tif 000017