(57)【要約】【課題】第１領域へのロボットの侵入を禁止することなく、第１領域において対象物を扱う人間の安全を確保しつつ人間とともに作業を行うことができるロボットを提供すること。【解決手段】可動部を備えたロボットであって、前記ロボットの動作領域と所定の領域との重なった領域である第１領域において、前記可動部と、前記第１領域に配置された対象物との距離に基づく動作を前記可動部が行う、ロボット。【選択図】図１
2017205819.tif 000002
【特許請求の範囲】
【請求項１】
可動部を備えたロボットであって、
前記ロボットの動作領域と所定の領域との重なった領域である第１領域において、
前記可動部と、前記第１領域に配置された対象物との距離に基づく動作を前記可動部が行う、
ロボット。
【請求項２】
前記第１領域において、前記可動部と前記対象物との距離が第１距離である場合と比較して、前記可動部と前記対象物との距離が前記第１距離よりも短い第２距離である場合、前記可動部の速度が低い、
請求項１に記載のロボット。
【請求項３】
前記第１領域において、前記可動部と前記対象物との距離が前記第２距離である場合と比較して、前記可動部と前記対象物との距離が前記第２距離よりも短い第３距離である場合、前記可動部の速度が低い、
請求項２に記載のロボット。
【請求項４】
前記可動部に接触した物体から受ける力を検出する力検出部を備え、
前記第１領域において前記可動部に前記物体が接触した際、
前記可動部と前記対象物との距離が第４距離である場合と比較して、前記可動部と前記対象物との距離が前記第４距離よりも短い第５距離である場合、前記可動部に接触した前記物体に前記可動部が加える力を小さくする、
請求項１から３のうちいずれか一項に記載のロボット。
【請求項５】
前記第１領域において前記可動部に前記物体が接触した際、
前記可動部と前記対象物との距離が前記第５距離である場合と比較して、前記可動部と前記対象物との距離が前記第５距離よりも短い第６距離である場合、前記可動部に接触した前記物体に前記可動部が加える力を小さくする、
請求項４に記載のロボット。
【請求項６】
前記第１領域において前記可動部に前記物体が接触した際、
前記第１領域において、前記可動部と前記対象物との距離が前記第４距離である場合と比較して、前記可動部と前記対象物との距離が前記第４距離よりも短い前記第５距離である場合、前記可動部と前記物体との接触を前記力検出部が検知する閾値が小さい、
請求項４又は５に記載のロボット。
【請求項７】
前記可動部に設けられ、物体を非接触で検知する検知部を備え、
前記検知部が前記物体を検知した場合、前記可動部は、前記可動部の減速、又は前記物体からの回避の少なくとも一方を行う、
請求項１から６のうちいずれか一項に記載のロボット。
【請求項８】
前記検知部が、前記可動部と前記物体との距離が所定距離以下であると検知した場合、前記可動部は、前記可動部の減速、又は前記物体からの回避の少なくとも一方を行う、
請求項７に記載のロボット。
【請求項９】
前記可動部は、複数のアームを有し、
前記可動部が移動する複数の軌道のうち、前記複数のアームのうち隣り合う２つのアームの成す第１角度に基づいて選択された軌道により、前記可動部を動作させる、
請求項１から８のうちいずれか一項に記載のロボット。
【請求項１０】
前記第１角度に基づいて選択された軌道では、前記第１角度が所定の第１閾値以上である、
請求項９に記載のロボット。
【請求項１１】
前記第１角度に基づいて選択された軌道では、前記２つのアームのうちの少なくとも一方を含まない隣り合う２つのアームのなす第２角度が、前記第１閾値と異なる所定の第２閾値以上である、
請求項１０に記載のロボット。
【請求項１２】
請求項１から１１のうちいずれか一項に記載のロボットを制御する、
制御装置。
【請求項１３】
請求項１から１１のうちいずれか一項に記載のロボットと、
前記ロボットを制御する制御装置と、
を備えるロボットシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ロボット、制御装置、及びロボットシステムに関する。
【背景技術】
【０００２】
ロボットと人間が同じ作業空間で作業を行う際のロボットの動作を制御する技術の研究や開発が行われている。
【０００３】
これに関し、ロボットと人間が共に動作可能な領域である協調動作領域にロボット進入禁止領域を設け、ロボット進入禁止領域にロボットが進入しないようにロボットを制御する制御方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１８８５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような制御方法では、ロボット進入禁止領域の設定が煩雑になることがあり、ロボットと人間とに同じ作業空間で作業を安全に行わせることが困難な場合があった。また、当該制御方法では、協調動作領域のうちのロボット進入禁止領域外においてロボットとユーザーが接触する可能性があった。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一つを解決するために本発明の一態様は、可動部を備えたロボットであって、前記ロボットの動作領域と所定の領域との重なった領域である第１領域において、前記可動部と、前記第１領域に配置された対象物との距離に基づく動作を前記可動部が行う、ロボットである。
この構成により、ロボットは、ロボットの動作領域と所定の領域との重なった領域である第１領域において、可動部と、第１領域に配置された対象物との距離に基づく動作を可動部が行う。これにより、ロボットは、第１領域へのロボットの侵入を禁止することなく、第１領域において対象物を扱う人間の安全を確保しつつ人間とともに作業を行うことができる。
【０００７】
また、本発明の他の態様は、ロボットにおいて、前記第１領域において、前記可動部と前記対象物との距離が第１距離である場合と比較して、前記可動部と前記対象物との距離が前記第１距離よりも短い第２距離である場合、前記可動部の速度が低い、構成が用いられてもよい。
この構成により、ロボットは、第１領域において、可動部と対象物との距離が第１距離である場合と比較して、可動部と対象物との距離が第１距離よりも短い第２距離である場合、可動部の速度が低い。これにより、ロボットは、第１領域において可動部と対象物との距離が第１距離よりも短い第２距離である場合、可動部の速度を低くすることによって第１領域において対象物を扱う人間の安全を確保することができる。
【０００８】
また、本発明の他の態様は、ロボットにおいて、前記第１領域において、前記可動部と前記対象物との距離が前記第２距離である場合と比較して、前記可動部と前記対象物との距離が前記第２距離よりも短い第３距離である場合、前記可動部の速度が低い、構成が用いられてもよい。
この構成により、ロボットは、第１領域において、可動部と対象物との距離が第２距離である場合と比較して、可動部と対象物との距離が第２距離よりも短い第３距離である場合、可動部の速度が低い。これにより、ロボットは、第１領域において可動部と人間との距離が第２距離よりも短い第３距離である場合、可動部の速度を低くすることによって第１領域において対象物を扱う人間の安全を確保することができる。
【０００９】
また、本発明の他の態様は、ロボットにおいて、前記可動部に接触した物体から受ける力を検出する力検出部を備え、前記第１領域において前記可動部に前記物体が接触した際、前記可動部と前記対象物との距離が第４距離である場合と比較して、前記可動部と前記対象物との距離が前記第４距離よりも短い第５距離である場合、前記可動部に接触した前記物体に前記可動部が加える力を小さくする、構成が用いられてもよい。
この構成により、ロボットは、第１領域において可動部に物体が接触した際、可動部と対象物との距離が第４距離である場合と比較して、可動部と対象物との距離が第４距離よりも短い第５距離である場合、可動部に接触した物体に可動部が加える力を小さくする。これにより、ロボットは、第１領域において可動部と人間との距離が第４距離よりも短い第５距離である場合、可動部に接触した物体に可動部が加える力を小さくすることによって第１領域において対象物を扱う人間の安全を確保することができる。
【００１０】
また、本発明の他の態様は、ロボットにおいて、前記第１領域において前記可動部に前記物体が接触した際、前記可動部と前記対象物との距離が前記第５距離である場合と比較して、前記可動部と前記対象物との距離が前記第５距離よりも短い第６距離である場合、前記可動部に接触した前記物体に前記可動部が加える力を小さくする、構成が用いられてもよい。
この構成により、ロボットは、第１領域において可動部に物体が接触した際、可動部と対象物との距離が第５距離である場合と比較して、可動部と対象物との距離が第５距離よりも短い第６距離である場合、可動部に接触した物体に可動部が加える力を小さくする。これにより、ロボットは、第１領域において可動部と人間との距離が第５距離よりも短い第６距離である場合、可動部に接触した物体に可動部が加える力を小さくすることによって第１領域において対象物を扱う人間の安全を確保することができる。
【００１１】
また、本発明の他の態様は、ロボットにおいて、前記第１領域において前記可動部に前記物体が接触した際、前記第１領域において、前記可動部と前記対象物との距離が前記第４距離である場合と比較して、前記可動部と前記対象物との距離が前記第４距離よりも短い前記第５距離である場合、前記可動部と前記物体との接触を前記力検出部が検知する閾値が小さい、構成が用いられてもよい。
この構成により、ロボットは、第１領域において可動部に物体が接触した際、可動部と対象物との距離が第４距離である場合と比較して、可動部と対象物との距離が第４距離よりも短い第５距離である場合、可動部と物体との接触を力検出部が検知する閾値が小さい。これにより、ロボットは、第１領域において可動部と人間との距離が第４距離よりも短い第５距離である場合、可動部と物体との接触を力検出部が検知する閾値を小さくすることによって第１領域において対象物を扱う人間の安全を確保することができる。
【００１２】
また、本発明の他の態様は、ロボットにおいて、前記可動部に設けられ、物体を非接触で検知する検知部を備え、前記検知部が前記物体を検知した場合、前記可動部は、前記可動部の減速、又は前記物体からの回避の少なくとも一方を行う、構成が用いられてもよい。
この構成により、ロボットは、検知部が物体を検知した場合、可動部の減速、又は物体からの回避の少なくとも一方を行う。これにより、ロボットは、対象物を扱う人間に可動部が接触すること抑制することができる。
【００１３】
また、本発明の他の態様は、ロボットにおいて、前記検知部が、前記可動部と前記物体との距離が所定距離以下であると検知した場合、前記可動部は、前記可動部の減速、又は前記物体からの回避の少なくとも一方を行う、構成が用いられてもよい。
この構成により、ロボットは、検知部が、可動部と物体との距離が所定距離以下であると検知した場合、可動部の減速、又は物体からの回避の少なくとも一方を行う。これにより、ロボットは、検知部が、可動部と物体との距離が所定距離以下であると検知した場合、対象物を扱う人間に可動部が接触すること抑制することができる。
【００１４】
また、本発明の他の態様は、ロボットにおいて、前記可動部は、複数のアームを有し、前記可動部が移動する複数の軌道のうち、前記複数のアームのうち隣り合う２つのアームの成す第１角度に基づいて選択された軌道により、前記可動部を動作させる、構成が用いられてもよい。
この構成により、ロボットは、可動部が移動する複数の軌道のうち、複数のアームのうち隣り合う２つのアームの成す第１角度に基づいて選択された軌道により、可動部を動作させる。これにより、ロボットは、第１角度に基づいて選択された軌道によって対象物を扱う人間の安全を確保することができる。
【００１５】
また、本発明の他の態様は、ロボットにおいて、前記第１角度に基づいて選択された軌道では、前記第１角度が所定の第１閾値以上である、構成が用いられてもよい。
この構成により、ロボットは、可動部が移動する複数の軌道のうち、第１角度が所定の第１閾値以上である軌道により、可動部を動作させる。これにより、ロボットは、第１角度が所定の第１閾値以上である軌道によって対象物を扱う人間の安全を確保することができる。
【００１６】
また、本発明の他の態様は、ロボットにおいて、前記第１角度に基づいて選択された軌道では、前記２つのアームのうちの少なくとも一方を含まない隣り合う２つのアームの成す第２角度が、前記第１閾値と異なる所定の第２閾値以上である、構成が用いられてもよい。
この構成により、ロボットは、第１角度が所定の第１閾値以上であり、且つ第２角度が所定の第２閾値以上である軌道により、可動部を動作させる。これにより、ロボットは、第１角度が所定の第１閾値以上であり、且つ第２角度が所定の第２閾値以上である軌道によって対象物を扱う人間の安全を確保することができる。
【００１７】
また、本発明の他の態様は、上記に記載のロボットを制御する、制御装置である。
この構成により、制御装置は、ロボットの動作領域と所定の領域との重なった領域である第１領域において、可動部と、第１領域に配置された対象物との距離に基づく動作を可動部に行わせる。これにより、制御装置は、第１領域へのロボットの侵入を禁止することなく、第１領域において対象物を扱う人間の安全を確保しつつ人間とともに行う作業をロボットに行わせることができる。
【００１８】
また、本発明の他の態様は、上記に記載のロボットと、前記ロボットを制御する制御装置と、を備えるロボットシステムである。
この構成により、ロボットシステムは、ロボットの動作領域と所定の領域との重なった領域である第１領域において、可動部と、第１領域に配置された対象物との距離に基づく動作を可動部に行わせる。これにより、ロボットシステムは、第１領域へのロボットの侵入を禁止することなく、第１領域において対象物を扱う人間の安全を確保しつつ人間とともに行う作業をロボットに行わせることができる。
【００１９】
以上により、ロボットは、ロボットの動作領域と所定の領域との重なった領域である第１領域において、可動部と、第１領域に配置された対象物との距離に基づく動作を可動部が行う。これにより、ロボットは、第１領域へのロボットの侵入を禁止することなく、第１領域において対象物を扱う人間の安全を確保しつつ人間とともに作業を行うことができる。
また、制御装置、及びロボットシステムは、ロボットの動作領域と所定の領域との重なった領域である第１領域において、可動部と、第１領域に配置された対象物との距離に基づく動作を可動部に行わせる。これにより、制御装置、及びロボットシステムは、第１領域へのロボットの侵入を禁止することなく、第１領域において対象物を扱う人間の安全を確保しつつ人間とともに行う作業をロボットに行わせることができる。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態に係るロボットシステム１の構成の一例を示す図である。
【図２】ロボット２０が行う動作について説明するための図である。
【図３】ロボット２０が備える可動部Ｒの速度Ｖと距離Ｄとの関係の一例を示すグラフである。
【図４】ロボット２０が備える可動部Ｒの接触検知閾値ＴＨと距離Ｄとの関係の一例を示すグラフである。
【図５】制御装置３０のハードウェア構成の一例を示す図である。
【図６】制御装置３０の機能構成の一例を示す図である。
【図７】制御装置３０がロボット２０を制御する処理の流れの一例を示すフローチャートである。
【図８】第２実施形態に係るロボットシステム１ａの構成の一例を示す図である。
【図９】物体検知部ＪＳの物体検知範囲の一例を示す図である。
【図１０】物体検知部ＪＳの物体検知範囲の一例を示す図である。
【図１１】物体検知部ＪＳの物体検知範囲の一例を示す図である。
【図１２】物体検知部ＪＳの物体検知範囲の一例を示す図である。
【図１３】制御装置３０ａの機能構成の一例を示す図である。
【図１４】制御装置３０ａがロボット２０ａを制御する処理の流れの一例を示すフローチャートである。
【図１５】第３実施形態に係るロボットシステム１ｂの構成の一例を示す図である。
【図１６】曲げ関節の角度の一例を示す図である。
【図１７】曲げ関節の角度の一例を示す図である。
【図１８】制御装置３０ｂの機能構成の一例を示す図である。
【図１９】制御装置３０ｂがロボット２０ｂを制御する処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２１】
＜第１実施形態＞
以下、本発明の第１実施形態について、図面を参照して説明する。
【００２２】
＜ロボットシステムの構成＞
まず、ロボットシステム１の構成について説明する。
図１は、本実施形態に係るロボットシステム１の構成の一例を示す図である。ロボットシステム１は、ロボット２０と、制御装置３０を備える。
【００２３】
ロボット２０は、可動部Ｒと、可動部Ｒを支持する支持台Ｂを備える単腕ロボットである。単腕ロボットは、この一例における可動部Ｒのような１つの可動部（腕）を備えるロボットである。なお、ロボット２０は、単腕ロボットに代えて、複腕ロボットであってもよい。複腕ロボットは、２つ以上の可動部（例えば、２つ以上の可動部Ｒ）を備えるロボットである。なお、複腕ロボットのうち、２つの可動部を備えるロボットは、双腕ロボットとも称される。すなわち、ロボット２０は、２つの可動部を備える双腕ロボットであってもよく、３つ以上の可動部（例えば、３つ以上の可動部Ｒ）を備える複腕ロボットであってもよい。また、ロボット２０は、スカラロボットや、直角座標ロボット等の他のロボットであってもよい。直角座標ロボットは、例えば、ガントリロボットである。
【００２４】
可動部Ｒは、エンドエフェクターＥと、マニピュレーターＭと、力検出部２１を備える。
エンドエフェクターＥは、物体を把持するエンドエフェクターである。この一例において、エンドエフェクターＥは、指部を備え、当該指部によって物体を挟んで持つことにより当該物体を把持する。なお、エンドエフェクターＥは、当該指部を備えるエンドエフェクターに代えて、磁石や治具等によって物体を持ち上げることが可能な他のエンドエフェクターであってもよい。
【００２５】
マニピュレーターＭは、可動部Ｒの部材のうちの６個の部材であるアームＡ１〜アームＡ６と、７つの関節である関節Ｊ１〜関節Ｊ７を備える。支持台ＢとアームＡ１は、関節Ｊ１によって連結される。アームＡ１とアームＡ２は、関節Ｊ２によって連結される。アームＡ２とアームＡ３は、関節Ｊ３によって連結される。アームＡ３とアームＡ４は、関節Ｊ４によって連結される。アームＡ４とアームＡ５は、関節Ｊ５によって連結される。アームＡ５とアームＡ６は、関節Ｊ６によって連結される。アームＡ６とエンドエフェクターＥは、関節Ｊ７によって連結される。また、関節Ｊ１〜関節Ｊ７のそれぞれは、図示しないアクチュエーターを備える。すなわち、マニピュレーターＭを備える可動部Ｒは、７軸垂直多関節型の可動部である。なお、可動部Ｒは、６軸以下の自由度で動作する構成であってもよく、８軸以上の自由度で動作する構成であってもよい。
【００２６】
関節Ｊ２、関節Ｊ４、関節Ｊ６のそれぞれは、曲げ関節であり、関節Ｊ１、関節Ｊ３、関節Ｊ５、関節Ｊ７のそれぞれは、ねじり関節である。前述したように、関節Ｊ７には、エンドエフェクターＥが連結（装着）される。
【００２７】
マニピュレーターＭが備える７つの（関節に備えられた）アクチュエーターはそれぞれ、ケーブルによって制御装置３０と通信可能に接続されている。これにより、当該アクチュエーターは、制御装置３０から取得される制御信号に基づいて、マニピュレーターＭを動作させる。なお、ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。また、マニピュレーターＭが備える７つのアクチュエーターのうちの一部又は全部は、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって制御装置３０と接続される構成であってもよい。
【００２８】
力検出部２１は、エンドエフェクターＥとマニピュレーターＭの間に備えられる。力検出部２１は、例えば、力センサーである。力検出部２１は、エンドエフェクターＥ、又はエンドエフェクターＥにより把持された物体に作用した力やモーメント（トルク）を検出する。力検出部２１は、検出した力やモーメントの大きさを示す値を力検出値として含む力検出情報を通信により制御装置３０へ出力する。
【００２９】
力検出情報は、制御装置３０による可動部Ｒの制御のうちの力検出情報に基づく制御に用いられる。力検出情報に基づく制御は、例えば、インピーダンス制御等のコンプライアントモーション制御のことである。なお、力検出部２１は、トルクセンサー等のエンドエフェクターＥ、又はエンドエフェクターＥにより把持された物体に加わる力やモーメントの大きさを示す値を検出する他のセンサーであってもよい。また、力検出部２１は、エンドエフェクターＥとマニピュレーターＭの間に備えられる構成に代えて、例えば、関節Ｊ１〜関節Ｊ７のうちの一部又は全部に備えられる構成であってもよく、あるいは、当該間に備えられる構成に加えて、関節Ｊ１〜関節Ｊ７のうちの一部又は全部に備えられる構成であってもよい。
【００３０】
力検出部２１は、ケーブルによって制御装置３０と通信可能に接続されている。ケーブルを介した有線通信は、例えば、イーサネット（登録商標）やＵＳＢ等の規格によって行われる。なお、力検出部２１と制御装置３０とは、Ｗｉ−Ｆｉ（登録商標）等の通信規格により行われる無線通信によって接続される構成であってもよい。
【００３１】
以下では、関節Ｊ１〜関節Ｊ７のそれぞれを区別する必要がない限り、又は関節Ｊ１〜関節Ｊ７のそれぞれについて共通している内容を説明する場合、まとめて関節Ｊと称して説明する。また、以下では、アームＡ１〜アームＡ６のそれぞれを区別する必要がない限り、又はアームＡ１〜アームＡ６のそれぞれについて共通している内容を説明する場合、まとめてアームＡと称して説明する。
【００３２】
制御装置３０は、この一例において、ロボットコントローラーである。制御装置３０は、予め入力された動作プログラムに基づいて制御信号を生成する。制御装置３０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定の作業を行わせる。
【００３３】
制御装置３０は、エンドエフェクターＥの所定位置に、エンドエフェクターＥとともに動くＴＣＰ（Tool  Center  Point）である制御点Ｔ１を設定する。当該所定位置は、例えば、エンドエフェクターＥを回動させる関節の回動軸上の位置であって、エンドエフェクターＥの重心からエンドエフェクターＥの指部の側に所定距離だけ離れた位置である。当該関節は、マニピュレーターＭが備える関節Ｊ７のことである。なお、当該所定位置は、これに代えて、エンドエフェクターＥに対応付けられた他の位置であってもよい。当該所定距離は、例えば、当該指部の端部のうちのマニピュレーターＭと反対側の端部から当該重心までの当該回動軸に沿った距離である。なお、当該所定距離は、これに代えて、他の距離であってもよい。
【００３４】
制御点Ｔ１には、当該制御点Ｔ１の位置を示す情報である制御点位置情報と、当該制御点Ｔ１の姿勢を示す情報である制御点姿勢情報とが対応付けられている。なお、制御点Ｔ１には、これらに加えて、他の情報が対応付けられる構成であってもよい。制御装置３０は、制御点位置情報及び制御点姿勢情報のそれぞれを指定（決定）する。制御装置３０は、可動部Ｒの関節Ｊ１〜関節Ｊ７のうちの少なくとも１つを動作させ、指定した制御点位置情報が示す位置に制御点Ｔ１の位置を一致させるとともに、指定した制御点姿勢情報が示す姿勢に制御点Ｔ１の姿勢を一致させる。すなわち、制御装置３０は、制御点位置情報及び制御点姿勢情報を指定することにより、ロボット２０を動作させる。
【００３５】
この一例において、制御点Ｔ１の位置は、制御点座標系ＴＣの原点のロボット座標系ＲＣにおける位置によって表される。また、制御点Ｔ１の姿勢は、制御点座標系ＴＣの各座標軸のロボット座標系ＲＣにおける方向によって表される。制御点座標系ＴＣは、制御点Ｔ１とともに動くように制御点Ｔ１に対応付けられた三次元局所座標系である。なお、この一例において、エンドエフェクターＥの位置及び姿勢は、制御点Ｔ１の位置及び姿勢によって表される。
【００３６】
制御装置３０は、予めユーザーから入力された制御点設定情報に基づいて制御点Ｔ１を設定する。制御点設定情報は、例えば、エンドエフェクターＥの重心の位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報である。なお、制御点設定情報は、これに代えて、エンドエフェクターＥに対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、マニピュレーターＭに対応付けられた何らかの位置及び姿勢と制御点Ｔ１の位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよく、ロボット２０の他の部位に対応付けられた何らかの位置及び姿勢と制御点Ｔの位置及び姿勢との相対的な位置及び姿勢を示す情報であってもよい。
【００３７】
制御装置３０は、制御点Ｔ１を移動させる経路を生成する。制御装置３０は、生成した経路に基づいて、時間が経過する毎に制御点位置情報及び制御点姿勢情報を指定し、当該経路に沿って制御点Ｔ１を移動させる。この際、制御装置３０は、指定した制御点位置情報及び制御点姿勢情報を含む制御信号を生成する。当該制御信号には、エンドエフェクターＥの指部を動かす信号等の他の信号も含まれる。そして、制御装置３０は、生成した制御信号をロボット２０に送信し、ロボット２０に所定の作業を行わせる。
【００３８】
制御装置３０は、この一例において、ロボット２０の外部に設置されている。なお、制御装置３０は、ロボット２０の外部に設置される構成に代えて、ロボット２０に内蔵される構成であってもよい。
【００３９】
＜ロボットが行う所定の作業＞
以下、ロボット２０が行う所定の作業について説明する。
ロボット２０は、この一例において、所定の位置Ｐａに置かれた対象物Ｏを把持して図示しない所定の位置Ｐｂへ運ぶ作業を所定の作業として行う。対象物Ｏは、図示しない作業員によって、図１に示したように作業台ＴＢの上面の所定の位置Ｐａに置かれる。ロボット２０は、可動部Ｒを動作させ、エンドエフェクターＥによって、作業台ＴＢの上面の所定の位置Ｐａに置かれている対象物Ｏを把持し、把持した対象物Ｏを図示しない他の所定の位置Ｐｂへ運ぶ（載置する）。
【００４０】
＜所定の作業においてロボットが行う動作＞
以下、図２〜図４を参照し、所定の作業においてロボット２０が行う動作について説明する。図２は、ロボット２０が行う動作について説明するための図である。図２には、作業員動作領域１００とロボット動作領域１０２が示されている。作業員動作領域１００は、作業員が動作することができる所定の領域である。ロボット動作領域１０２は、ロボット２０が動作することができる所定の領域である。対象物Ｏは、作業員動作領域１００とロボット動作領域１０２との重なった領域である第１領域の中の所定の位置Ｐａに置かれる。この一例において、作業員は対象物Ｏを所定の位置Ｐａに置き、ロボット２０は所定の位置Ｐａに置かれている対象物Ｏを把持して図示しない所定の位置Ｐｂへ運ぶ。すなわち、第１領域において、作業員とロボット２０は、協調して作業を行う。
【００４１】
ロボット２０の可動部Ｒは、当該可動部Ｒと、第１領域の中の所定の位置Ｐａに配置された対象物Ｏとの距離Ｄに基づく動作を行う。これにより、ユーザーは、第１領域へのロボット２０の侵入を禁止することなく、第１領域において対象物Ｏを扱う人間の安全を確保しつつ人間とともに作業をロボット２０に行わせることができる。距離Ｄは、例えば、ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａと制御点Ｔ１の位置との間の距離である。
図２には、対象物Ｏの位置Ｐａと制御点Ｔ１の位置との間の距離Ｄが第１距離ｄ１である範囲１０８と、当該距離Ｄが第２距離ｄ２である範囲１０６と、当該距離Ｄが第３距離ｄ３である範囲１０４が示されている。この一例において、第１距離ｄ１が最も大きく、第２距離ｄ２が中程度であり、第３距離ｄ３が最も小さい。
【００４２】
図３は、ロボット２０が備える可動部Ｒの速度Ｖと距離Ｄとの関係の一例を示すグラフである。図３に示したグラフでは、横軸は距離Ｄを表し、縦軸は当該速度を表す。当該速度Ｖは、この一例において、制御点Ｔ１の速度によって表される。なお、当該速度Ｖは、可動部Ｒの他の部位の速度であってもよい。図３に示した例では、可動部Ｒと対象物Ｏとの距離Ｄが第１距離ｄ１である場合、可動部Ｒの速度Ｖは速度ｖ１である。また、当該例では、可動部Ｒと対象物Ｏとの距離Ｄが第２距離ｄ２である場合、可動部Ｒの速度Ｖは速度ｖ２である。また、当該例では、可動部Ｒと対象物Ｏとの距離Ｄが第３距離ｄ３である場合、可動部Ｒの速度Ｖは速度ｖ３である。
【００４３】
図３に示したように、可動部Ｒと対象物Ｏとの距離Ｄが第１距離ｄ１よりも短い第２距離ｄ２である場合における可動部Ｒの速度ｖ２は、可動部Ｒと対象物Ｏとの距離Ｄが第１距離ｄ１である場合の速度ｖ１と比較して、低い速度である。また、可動部Ｒと対象物Ｏとの距離Ｄが第２距離ｄ２よりも短い第３距離ｄ３である場合における可動部Ｒの速度ｖ３は、可動部Ｒと対象物Ｏとの距離Ｄが第２距離ｄ２である場合の速度ｖ２と比較して、低い速度である。すなわち、可動部Ｒの速度は、距離Ｄが短いほど低くなる。ここで、距離Ｄが短いほど可動部Ｒは、対象物Ｏの近くに位置している。可動部Ｒが対象物Ｏの近くに位置している状況は、対象物Ｏを位置Ｐａに置く作業員と可動部Ｒとが接触する可能性が高い状況であると言える。このことから、距離Ｄが短いほど可動部Ｒの速度Ｖを低くすること、すなわち可動部Ｒが作業員に近づく可能性が高いほど可動部Ｒの速度Ｖを遅くすることによって、作業員に可動部Ｒが接触することを抑制することができる。
【００４４】
図４は、ロボット２０が備える可動部Ｒの接触検知閾値ＴＨと距離Ｄとの関係の一例を示すグラフである。図４に示したグラフでは、横軸は距離Ｄを表し、縦軸は接触検知閾値ＴＨを表す。接触検知閾値ＴＨは、力検出部２１が検出した力検出値を含む力検出情報に基づいて可動部Ｒに他の物体が接触したか否かを力検出部２１が判定するための閾値のことである。例えば、力検出部２１が力検出情報に基づいて力検出値が接触検知閾値ＴＨ以上であると判定した場合、力検出部２１は、可動部Ｒに他の物体が接触したと検知する。なお、力検出情報に基づいて可動部Ｒに他の物体が接触したか否かを判定する処理は、力検出部２１が行う構成に代えて、制御装置３０が行う構成であってもよい。
【００４５】
ロボット２０は、力検出部２１により可動部Ｒに他の物体が接触したと検知された場合、所定の動作を行う。当該所定の動作は、例えば、可動部Ｒの動作の停止、又は、可動部Ｒの位置を所定の量だけ戻す動作である。当該所定の動作によって、可動部Ｒが他の物体に接触した際に当該物体に加えた力がなくなる。
【００４６】
接触検知閾値ＴＨは、可動部Ｒと対象物Ｏとの距離Ｄが第１距離ｄ１よりも短い第２距離ｄ２である場合の閾値ｔｈ２は、可動部Ｒと対象物Ｏとの距離Ｄが第１距離ｄ１である場合の閾値ｔｈ１と比較して、小さい。接触検知閾値ＴＨは、可動部Ｒと対象物Ｏとの距離Ｄが第２距離ｄ２よりも短い第３距離ｄ３である場合、可動部Ｒと対象物Ｏとの距離Ｄが第２距離ｄ２である場合の閾値ｔｈ２と比較して、小さい。すなわち、接触検知閾値ＴＨは、距離Ｄが短いほど小さくなる。ここで、接触検知閾値ＴＨが小さいほど、可動部Ｒが物体に接触した際に当該物体に加える力は小さくなる。よって、ロボット２０では、可動部Ｒに物体が接触した際、可動部Ｒと対象物Ｏとの距離Ｄが第１距離ｄ１である場合と比較して、可動部Ｒと対象物Ｏとの距離Ｄが第１距離ｄ１よりも短い第２距離ｄ２である場合、可動部Ｒに接触した物体に加えられる力が小さくなる。また、ロボット２０では、可動部Ｒと対象物Ｏとの距離Ｄが第２距離ｄ２である場合と比較して、可動部Ｒと対象物Ｏとの距離Ｄが第２距離ｄ２よりも短い第３距離ｄ３である場合、可動部Ｒに接触した物体に加えられる力が小さくなる。
【００４７】
ここで、この一例では、可動部Ｒと対象物Ｏとの距離が第４距離である場合と比較して、可動部Ｒと対象物Ｏとの距離が第４距離よりも短い第５距離である場合、可動部Ｒに接触した物体Ｏに可動部Ｒが加える力を小さくする構成において、当該第４距離として第１距離ｄ１が用いられ、当該第５距離として第２距離ｄ２が用いられているが、他の構成例として、当該第４距離及び当該第５距離として他の値が用いられてもよい。
同様に、この一例では、可動部Ｒと対象物Ｏとの距離が第５距離である場合と比較して、可動部Ｒと対象物Ｏとの距離が第５距離よりも短い第６距離である場合、可動部Ｒに接触した物体Ｏに可動部Ｒが加える力を小さくする構成において、当該第５距離として第２距離ｄ２が用いられ、当該第６距離として第３距離ｄ３が用いられているが、他の構成例として、当該第５距離及び当該第６距離として他の値が用いられてもよい。
【００４８】
距離Ｄが短いほど可動部Ｒは対象物Ｏに対してより近くに存在する。可動部Ｒが対象物Ｏに対してより近くに存在する状況は、対象物Ｏを位置Ｐａに置く作業員と可動部Ｒとが接触する可能性がより高い状況であると言える。このことから、距離Ｄが短いほど接触検知閾値ＴＨが小さくなることによって、可動部Ｒが作業員に近づく可能性が高いほど可動部Ｒに物体が接触することの検知感度を敏感にすることができる。これにより、もし可動部Ｒが作業員に接触しても、距離Ｄが短いほどより少しの力で当該接触を検知して例えば可動部Ｒの動作を停止することで、可動部Ｒが作業員に加える力を低減させることができる。
【００４９】
＜制御装置が行う処理の概要＞
以下、制御装置３０が行う処理の概要について説明する。
制御装置３０は、ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａと制御点Ｔ１の位置との距離Ｄを計算する。ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａは、予めユーザーから制御装置３０に入力される。制御装置３０は、ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａと制御点Ｔ１の位置との距離Ｄに応じて、可動部Ｒの速度Ｖを変える。制御装置３０は、距離Ｄが短いほど可動部Ｒの速度Ｖを低くする。制御装置３０は、ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａと制御点Ｔ１の位置との距離Ｄに応じて、接触検知閾値ＴＨを変える。制御装置３０は、距離Ｄが短いほど接触検知閾値ＴＨを小さくする。
【００５０】
＜制御装置のハードウェア構成＞
以下、図５を参照し、制御装置３０のハードウェア構成について説明する。図５は、制御装置３０のハードウェア構成の一例を示す図である。
制御装置３０は、例えば、ＣＰＵ（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）等のハードウェア機能部であってもよい。
【００５５】
ロボット制御部４１は、ロボット２０に所定の作業を行わせる。設定部４２は、ロボット２０の制御に用いられる値の設定を行う。ロボット２０の制御に用いられる値として、例えば、ロボット２０の可動部Ｒの速度Ｖ及び接触検知閾値ＴＨなどがある。接触検知部４３は、ロボット２０の力検出部２１から出力された力検出情報と接触検知閾値ＴＨを用いて、ロボット２０の可動部Ｒに物体が接触したことの検知を行う。
【００５６】
＜制御装置がロボットを制御する処理＞
以下、図７を参照し、制御装置３０がロボット２０を制御する処理について説明する。図７は、制御装置３０がロボット２０を制御する処理の流れの一例を示すフローチャートである。
【００５７】
設定部４２は、目標位置Ｐｔを設定する（ステップＳ１１）。目標位置Ｐｔは、この一例において、エンドエフェクターＥが対象物Ｏを把持できる制御点Ｔ１のロボット座標系ＲＣにおける位置である。設定部４２は、ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａに基づいて目標位置Ｐｔを求める。ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａは、予めユーザーから制御装置３０に入力される。
【００５８】
ロボット制御部４１は、可動部Ｒと対象物Ｏとの距離Ｄを検出する（ステップＳ１２）。可動部Ｒと対象物Ｏとの距離Ｄは、この一例において、ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａと制御点Ｔ１の位置との距離である。
【００５９】
設定部４２は、可動部Ｒと対象物Ｏとの距離Ｄに対応する接触検知閾値ＴＨと可動部Ｒの速度Ｖを設定する（ステップＳ１３）。
【００６０】
例えば、設定部４２は、図３に示される距離Ｄと速度Ｖの関係を表す距離−速度対応データを有する。設定部４２は、ロボット制御部４１が検出した距離Ｄに対応する速度Ｖを、当該距離−速度対応データに基づいて設定する。例えば、設定部４２は、速度Ｖとして、距離Ｄが第１距離ｄ１を超える場合に速度ｖ１よりも高い速度（距離Ｄに対応する速度）を設定し、距離Ｄが第１距離ｄ１以下で第２距離ｄ２を超える場合に速度ｖ１以下で速度ｖ２を超える速度（距離Ｄに対応する速度）を設定し、距離Ｄが第２距離ｄ２以下で第３距離ｄ３を超える場合に速度ｖ２以下で速度ｖ３を超える速度（距離Ｄに対応する速度）を設定し、距離Ｄが第３距離ｄ３以下である場合に速度ｖ３以下の速度（距離Ｄに対応する速度）を設定する。
【００６１】
例えば、設定部４２は、図４に示される距離Ｄと接触検知閾値ＴＨの関係を表す距離−閾値対応データを有する。設定部４２は、ロボット制御部４１が検出した距離Ｄに対応する接触検知閾値ＴＨを、当該距離−閾値対応データに基づいて設定する。例えば、設定部４２は、接触検知閾値ＴＨとして、距離Ｄが第１距離ｄ１を超える場合に閾値ｔｈ１を超える閾値（距離Ｄに対応する閾値）を設定し、距離Ｄが第１距離ｄ１以下で第２距離ｄ２を超える場合に閾値ｔｈ１以下で閾値ｔｈ２を超える閾値（距離Ｄに対応する閾値）を設定し、距離Ｄが第２距離ｄ２以下で第３距離ｄ３を超える場合に閾値ｔｈ２以下で閾値ｔｈ３を超える閾値（距離Ｄに対応する閾値）を設定し、距離Ｄが第３距離ｄ３以下である場合に閾値ｔｈ３以下の閾値（距離Ｄに対応する閾値）を設定する。
【００６２】
ロボット制御部４１は、目標位置Ｐｔに制御点Ｔ１の位置が一致するように、可動部Ｒを、設定部４２が設定した速度Ｖで移動させる（ステップＳ１４）。
【００６３】
接触検知部４３は、力検出部２１から出力された力検出情報と接触検知閾値ＴＨを用いて、可動部Ｒに物体が接触したことの検知を行う（ステップＳ１５）。接触検知部４３は、力検出部２１から出力された力検出情報が含む力やモーメントの大きさを示す値と、設定部４２が設定した接触検知閾値ＴＨとを比較する。この比較の結果、力やモーメントの大きさを示す値が接触検知閾値ＴＨ以上である場合に、接触検知部４３は、可動部Ｒに物体が接触したと検知し、そうではない場合には、接触検知部４３は、可動部Ｒに物体が接触したと検知しない。
ここで、力検出情報が含む力やモーメントの大きさを示す値に基づいて接触の有無を判定する処理では、例えば、力とモーメントのうちの任意の一方が用いられてもよく、又は、両方が用いられてもよい。なお、接触検知閾値ＴＨは、例えば、力とモーメントのそれぞれについて、異なる値が用いられてもよく、又は、同じ値が用いられてもよい。
【００６４】
ロボット制御部４１は、可動部Ｒに物体が接触したことを接触検知部４３が検知した場合に（ステップＳ１５、ＹＥＳ）、ロボット２０に所定の動作を行わせる（ステップＳ１６）。当該所定の動作は、例えば、可動部Ｒの動作の停止である。又は、当該所定の動作は、例えば、可動部Ｒの位置を所定の量だけ戻す動作である。
【００６５】
ロボット制御部４１は、可動部Ｒに物体が接触したことを接触検知部４３が検知しない場合に（ステップＳ１５、ＮＯ）、制御点Ｔ１の位置が目標位置Ｐｔに到達（一致）したか否かを判断する（ステップＳ１７）。この判断の結果、制御点Ｔ１の位置が目標位置Ｐｔに到達した場合には、図７の処理が終了となる。一方、制御点Ｔ１の位置が目標位置Ｐｔに到達していない場合には、ステップＳ１２に処理を移行する。
【００６６】
以上のように、第１実施形態において、制御装置３０は、可動部Ｒと、作業員動作領域１００とロボット動作領域１０２との重なった領域の中の所定の位置Ｐａに配置された対象物Ｏとの距離Ｄに基づく動作を可動部Ｒが行うように、ロボット２０の制御を行う。これにより、ロボットの動作領域と所定の領域との重なった領域において、ロボット進入禁止領域を設定しなくてもよくなる。
【００６７】
＜第２実施形態＞
以下、本発明の第２実施形態について、図面を参照して説明する。
【００６８】
＜ロボットシステムの構成＞
まず、ロボットシステム１ａの構成について説明する。
図８は、本実施形態に係るロボットシステム１ａの構成の一例を示す図である。図８において図１の各部に対応する部分には同一の符号を付し、その説明を省略する。ロボットシステム１ａは、ロボット２０ａと、制御装置３０ａを備える。ロボット２０ａは、図１に示されるのと同様な支持台Ｂ及び可動部Ｒを備え、さらに、可動部ＲのマニピュレーターＭの関節Ｊ１〜関節Ｊ７のそれぞれに、物体検知部ＪＳ１〜物体検知部ＪＳ７を備える。
以下では、物体検知部ＪＳ１〜物体検知部ＪＳ７のそれぞれを区別する必要がない限り、又は物体検知部ＪＳ１〜物体検知部ＪＳ７のそれぞれについて共通している内容を説明する場合、まとめて物体検知部ＪＳと称して説明する。なお、マニピュレーターＭは、この一例において、７つの関節Ｊ１〜関節Ｊ７のそれぞれに物体検知部ＪＳ１〜物体検知部ＪＳ７を備えているが、７つの関節Ｊ１〜関節Ｊ７のうちの少なくともいずれか一つの関節ＪＮ（ここで、Ｎは１から７までの整数）に物体検知部ＪＳＮを備えてもよい。
【００６９】
物体検知部ＪＳは、物体を非接触で検知する。例えば、物体検知部ＪＳは、レーザー光、赤外線又は超音波等の電磁波又は音波を用いて物体を非接触で検知するセンサーである。又は、物体検知部ＪＳは、撮像装置を備え、撮像装置が撮像した画像を用いて物体を非接触で検知する画像処理装置である。物体検知部ＪＳは、物体の検知結果に関する情報である物体検知情報を通信により制御装置３０ａへ出力する。
【００７０】
＜物体検知部の物体検知範囲＞
以下、図９〜図１２を参照し、物体検知部ＪＳが物体を非接触で検知する範囲である物体検知範囲について説明する。図９〜図１２は、物体検知部ＪＳの物体検知範囲の一例を示す図である。図９の例では、関節Ｊ７の物体検知部ＪＳ７は、関節Ｊ７の軸を中心軸とする円形の物体検知範囲２０１を有する。当該円形は、この一例において、関節Ｊ７の軸に対して垂直な平面における円形である。物体検知部ＪＳ７は、物体検知範囲２０１の中に存在する物体を非接触で検知する。
図１０の例では、関節Ｊ７の物体検知部ＪＳ７は、関節Ｊ７の軸を中心軸とする円錐形の物体検知範囲２０２を有する。当該円錐形は、この一例において、関節Ｊ７の軸に沿って関節Ｊ７からエンドエフェクターＥの側に向かって円形が大きくなっていく円錐状である。物体検知部ＪＳ７は、物体検知範囲２０２の中に存在する物体を非接触で検知する。
なお、関節Ｊ１の物体検知部ＪＳ１、関節Ｊ３の物体検知部ＪＳ３、及び関節Ｊ５の物体検知部ＪＳ５についても、同様である。
【００７１】
図１１の例では、関節Ｊｘ（この例では、ｘは２、４、６のいずれか）の物体検知部ＪＳｘは、関節Ｊｘにおけるアーム（リンク）の軸を中心軸とする円形の物体検知範囲２１１を有する。当該アームは、この一例において、当該関節Ｊｘに対してエンドエフェクターＥとは反対の側にあるアームである。また、この一例において、当該円形の中心の位置は、当該アームにおいて当該関節Ｊｘから少し離れた位置になっている。また、当該円形は、この一例において、当該アームの軸に対して垂直な平面における円形である。物体検知部ＪＳｘは、物体検知範囲２１１の中に存在する物体を非接触で検知する。
図１２の例では、関節Ｊｘの物体検知部ＪＳｘは、関節Ｊｘにおけるアーム（リンク）の軸を中心軸とする円錐形の物体検知範囲２１２を有する。当該アームは、この一例において、当該関節Ｊｘに対してエンドエフェクターＥとは反対の側にあるアームである。また、この一例において、当該円錐形の中心の位置は、当該アームにおいて当該関節Ｊｘから少し離れた位置になっている。当該円錐形は、この一例において、当該アームの軸に沿って物体検知部ＪＳｘからエンドエフェクターＥの側に向かって円形が大きくなっていく円錐状である。物体検知部ＪＳｘは、物体検知範囲２１２の中に存在する物体を非接触で検知する。
【００７２】
なお、物体検知部ＪＳは、物体検知範囲の形状を変化させてもよい。例えば、物体検知範囲の形状として、円形と円錐形とを一定の時間間隔のタイミングで交互に変えてもよい。また、制御装置３０ａは、ロボット２０ａの姿勢や作業内容に応じて、物体検知部ＪＳの物体検知範囲の形状や大きさを変化させるように、物体検知部ＪＳを制御してもよい。このように、制御装置３０ａは、ロボット２０ａの姿勢、作業内容、タイミングなどの１以上に応じて、物体検知部ＪＳの物体検知範囲を変化させてもよい。
【００７３】
＜ロボットが行う動作＞
以下、ロボット２０ａが行う動作について説明する。ロボット２０ａは、所定の作業を行う。当該所定の作業は、上述した第１実施形態の場合と同じである。図２に示したように、作業員は対象物Ｏを所定の位置Ｐａに置き、ロボット２０ａは所定の位置Ｐａに置かれている対象物Ｏを把持して他の所定の位置Ｐｂへ運ぶ。すなわち、作業員動作領域１００とロボット動作領域１０２との重なった領域において、作業員とロボット２０ａは協調して作業を行う。
【００７４】
ロボット２０ａでは、物体を非接触で検知する物体検知部ＪＳが可動部Ｒに設けられている。物体検知部ＪＳが物体を検知した場合、可動部Ｒは、当該可動部Ｒの減速、又は当該物体からの回避の少なくとも一方を行う。これにより、作業員が可動部Ｒに接触することを回避し易くできる。
【００７５】
さらには、物体検知部ＪＳが、可動部Ｒと物体との距離が所定距離以下であると検知した場合、可動部Ｒは、当該可動部Ｒの減速、又は当該物体からの回避の少なくとも一方を行ってもよい。これにより、作業員が可動部Ｒに接触することを回避し易くできる。また、可動部Ｒと物体との距離が当該所定距離を超える場合には、ロボット２０ａの所定の作業を予定通り進めることができる。
【００７６】
＜制御装置の機能構成＞
以下、図１３を参照し、制御装置３０ａの機能構成について説明する。図１３は、制御装置３０ａの機能構成の一例を示す図である。制御装置３０ａは、制御部４０ａを備える。なお、制御装置３０ａのハードウェア構成は、図５に示される構成と同様であり、同じ符号を用いて説明する。
【００７７】
制御部４０ａは、制御装置３０ａの全体を制御する。制御部４０ａは、ロボット制御部４１ａと、設定部４２ａと、物体検知処理部４４を備える。制御部４０ａが備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
【００７８】
ロボット制御部４１ａは、ロボット２０ａに所定の作業を行わせる。当該所定の作業は、上述した第１実施形態の場合と同じである。設定部４２ａは、ロボット２０ａの制御に用いられる値の設定を行う。物体検知処理部４４は、物体検知部ＪＳが検知した物体が対象物Ｏ又はロボット２０ａであるか否かの判断を行う。
【００７９】
＜制御装置がロボットを制御する処理＞
以下、図１４を参照し、制御装置３０ａがロボット２０ａを制御する処理について説明する。図１４は、制御装置３０ａがロボット２０ａを制御する処理の流れの一例を示すフローチャートである。
【００８０】
物体検知処理部４４は、物体検知処理を行う（ステップＳ３１）。物体検知処理において、物体検知処理部４４は、ロボット２０ａの物体検知部ＪＳから出力される物体検知情報を取得する。
【００８１】
物体検知処理部４４は、取得した物体検知情報に基づいて、物体検知部ＪＳが物体を検知したか否かを判断する（ステップＳ３２）。例えば、物体検知情報は、物体検知部ＪＳが物体を検知したことを示す値を含む情報である。物体検知処理部４４は、取得した物体検知情報が当該値を含む場合には、物体検知部ＪＳが物体を検知したと判断し、そうではない場合には、物体検知部ＪＳが物体を検知したと判断しない。物体検知部ＪＳが物体を検知したと物体検知処理部４４が判断した場合にはステップＳ３３に処理を移行し、そうではない場合にはステップＳ３１の処理を繰り返す。
【００８２】
物体検知処理部４４は、物体検知部ＪＳが検知した物体が対象物Ｏ又はロボット２０ａであるか否かを判断する（ステップＳ３３）。物体検知処理部４４は、取得した物体検知情報と、対象物Ｏの情報と、ロボット２０ａの可動部Ｒの情報とに基づいて、物体検知部ＪＳが検知した物体が対象物Ｏ又はロボット２０ａであるか否かを判断する。例えば、物体検知情報は、物体検知部ＪＳが検知した物体の位置や形状や方向、距離などの情報を含む。
【００８３】
物体検知処理部４４は、例えば、物体検知情報が示す物体の形状と、対象物Ｏの情報が示す対象物Ｏの形状とを比較し、この比較の結果に基づいて、物体検知部ＪＳが検知した物体が対象物Ｏであるか否かを判断する。又は、物体検知処理部４４は、例えば、物体検知情報が示す物体の方向と、対象物Ｏの情報が示す対象物Ｏの方向とを比較し、この比較の結果に基づいて、物体検知部ＪＳが検知した物体が対象物Ｏであるか否かを判断する。
【００８４】
物体検知処理部４４は、ロボット２０ａの可動部Ｒの情報が示す姿勢と、物体検知情報が示す物体の方向に基づいて、物体検知部ＪＳが検知した物体がロボット２０ａであるか否かを判断する。
ここで、物体の方向や、対象物Ｏの方向としては、例えば、姿勢が用いられてもよい。
また、物体検知部ＪＳが検知した物体が対象物Ｏ又はロボット２０ａであるか否かを判断する方法は、任意であってもよい。また、この一例において、物体検知部ＪＳが検知した物体が対象物Ｏであるか否かを判断することと、物体検知部ＪＳが検知した物体がロボット２０ａであるか否かを判断することとの両方が行われるが、他の例として、いずれか任意の一方が行われてもよい。
【００８５】
物体検知部ＪＳが検知した物体が対象物Ｏ又はロボット２０ａであると物体検知処理部４４が判断した場合にはステップＳ３１に処理を移行し、そうではない場合にはステップＳ３４に処理を移行する。
【００８６】
ここで、上記の判断に加えて、さらに、物体検知処理部４４は、物体検知情報が示す物体の距離が所定距離以下であるか否かを判断してもよい。この場合、物体検知部ＪＳが検知した物体が対象物Ｏ又はロボット２０ａであると物体検知処理部４４が判断した場合にはステップＳ３１に処理を移行する。一方、物体検知部ＪＳが検知した物体が対象物Ｏでもなく且つロボット２０ａでもないと物体検知処理部４４が判断した場合であって、物体検知情報が示す物体の距離が所定距離以下であるときにはステップＳ３４に処理を移行し、そうではないときにはステップＳ３１に処理を移行する。
【００８７】
ステップＳ３４において、ロボット制御部４１は、ロボット２０ａに所定の動作を行わせる。当該所定の動作は、例えば、可動部Ｒの減速、又は物体検知部ＪＳが検知した物体からの回避の少なくとも一方の動作である。
【００８８】
なお、ステップＳ３４の後に、物体検知処理部４４は、物体検知部ＪＳが物体を検知しなくなったか否かを判断してもよい。この構成では、ロボット制御部４１は、ステップＳ３４の後に、物体検知部ＪＳが物体を検知しなくなったと物体検知処理部４４が判断した場合には、ステップＳ３４で行った所定の動作を解除し、ロボット２０ａに所定の作業を行わせる制御を再開する。
【００８９】
以上のように、第２実施形態において、ロボット２０ａには、物体を非接触で検知する物体検知部ＪＳが可動部Ｒに設けられる。制御装置３０ａは、物体検知部ＪＳが物体を検知した場合、可動部Ｒが当該可動部Ｒの減速又は当該物体からの回避の少なくとも一方を行うように、ロボット２０ａの制御を行う。これにより、作業員が可動部Ｒに接触することを回避し易くできる。
【００９０】
なお、上述した第１実施形態と第２実施形態を組み合わせて実施してもよい。第１実施形態と第２実施形態を組み合わせて実施する場合、図８に示されるロボット２０ａは、さらに、図１に示される力検出部２１を備える。また、図１３に示される制御装置３０ａは、さらに、図６に示される接触検知部４３を備える。また、制御装置３０ａにおいて、ロボット制御部４１ａはさらに図６に示されるロボット制御部４１の機能を有し、設定部４２ａはさらに図６に示される設定部４２の機能を有する。
【００９１】
＜第３実施形態＞
以下、本発明の第３実施形態について、図面を参照して説明する。
【００９２】
＜ロボットシステムの構成＞
まず、ロボットシステム１ｂの構成について説明する。
図１５は、本実施形態に係るロボットシステム１ｂの構成の一例を示す図である。図１５において図１の各部に対応する部分には同一の符号を付け、その説明を省略する。ロボットシステム１ｂは、ロボット２０ｂと、制御装置３０ｂを備える。ロボット２０ｂは、所定の作業を行う。当該所定の作業は、上述した第１実施形態の場合と同じである。図２に示したように、作業員は対象物Ｏを所定の位置Ｐａに置き、ロボット２０ｂは所定の位置Ｐａに置かれている対象物Ｏを把持して他の所定の位置Ｐｂへ運ぶ。すなわち、作業員動作領域１００とロボット動作領域１０２との重なった領域において、作業員とロボット２０ｂは協調して作業を行う。
【００９３】
ロボット２０ｂは、図１に示されるのと同様な支持台Ｂ及び可動部Ｒを備える。ロボット２０ｂにおいて、可動部ＲのマニピュレーターＭの関節Ｊ２、関節Ｊ４、関節Ｊ６は、曲げ関節である。曲げ関節は、隣り合うアームを連結する関節である。関節Ｊ２は、アームＡ１とアームＡ２を連結する曲げ関節である。関節Ｊ４は、アームＡ３とアームＡ４を連結する曲げ関節である。関節Ｊ６は、アームＡ５とアームＡ６を連結する曲げ関節である。
【００９４】
＜曲げ関節の角度＞
以下、図１６及び図１７を参照し、曲げ関節の角度について説明する。図１６及び図１７は、曲げ関節の角度の一例を示す図である。関節Ｊｘ（この例では、ｘは２、４、６のいずれか）は、アームＡｘとアームＡｙを連結する曲げ関節である。この一例において、ｙは「ｘ−１」である。関節Ｊｘが連結する隣り合う２つのアームＡｘとアームＡｙの成す角度θは、可動部Ｒの姿勢に応じて変化する。
【００９５】
図１７に示される隣り合う２つのアームＡｘとアームＡｙの成す角度θ２は、図１６に示される隣り合う２つのアームＡｘとアームＡｙの成す角度θ１よりも大きい。隣り合う２つのアームＡｘとアームＡｙの成す角度θが大きいほど、作業員の腕や指などを当該２つのアームＡｘとアームＡｙの間に挟み込む可能性が低い。また、隣り合う２つのアームＡｘとアームＡｙの成す角度θが大きいほど、当該２つのアームＡｘとアームＡｙの間に挟み込んだ物体に加わる力が小さい。このため、隣り合う２つのアームＡｘとアームＡｙの成す角度θは大きい方が、作業員は安全である。
【００９６】
＜ロボットが行う動作＞
以下、ロボット２０ｂが行う動作について説明する。
ロボット２０ｂにおいて、可動部Ｒは、複数のアームＡ１〜アームＡ６を有している。本実施形態では、可動部Ｒが移動する複数の軌道のうち、複数のアームＡ１〜アームＡ６のうち隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａに基づいて選択された軌道Ｒｔにより、可動部Ｒが動作する。これにより、隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａに基づき作業員の安全を考慮して選択された軌道Ｒｔにより可動部Ｒを動作させることができる。
【００９７】
ここで、可動部Ｒが動作する軌道では、第１角度θ＿ａが所定の第１閾値ｔｈ＿ａ以上であってもよい。これにより、隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａを第１閾値ｔｈ＿ａ以上にして、作業員の安全を図ることができる。
【００９８】
さらに、可動部Ｒが動作する軌道では、隣り合う２つのアームＡｘとアームＡｙのうちの少なくとも一方を含まない隣り合う２つのアームの成す第２角度θ＿ｂが、第１閾値ｔｈ＿ａと異なる第２閾値ｔｈ＿ｂ以上であってもよい。これにより、隣り合う２つの曲げ関節における第１角度θ＿ａと第２角度θ＿ｂをそれぞれ第１閾値ｔｈ＿ａ以上と第２閾値ｔｈ＿ｂ以上にして作業員の安全を図ることができる。また、これらの曲げ関節における第１角度θ＿ａと第２角度θ＿ｂの取り得る値の範囲を変えることにより、可動部Ｒが動作する軌道の選択の幅が増えるので、可動部Ｒをより効率的な軌道で動作させることができる。
ここで、第１閾値ｔｈ＿ａと第２閾値ｔｈ＿ｂは、それぞれ、０よりも大きい任意の値であってもよい。
【００９９】
＜制御装置の機能構成＞
以下、図１８を参照し、制御装置３０ｂの機能構成について説明する。図１８は、制御装置３０ｂの機能構成の一例を示す図である。制御装置３０ｂは、制御部４０ｂを備える。なお、制御装置３０ｂのハードウェア構成は、に示される構成と同様であり、同じ符号を用いて説明する。
【０１００】
制御部４０ｂは、制御装置３０ｂの全体を制御する。制御部４０ｂは、ロボット制御部４１ｂと、設定部４２ｂと、軌道生成部４５と、評価部４６と、軌道選択部４７を備える。制御部４０ｂが備えるこれらの機能部は、例えば、ＣＰＵ３１が、記憶部３２に記憶された各種プログラムを実行することにより実現される。また、当該機能部のうちの一部又は全部は、ＬＳＩやＡＳＩＣ等のハードウェア機能部であってもよい。
【０１０１】
ロボット制御部４１ｂは、ロボット２０ｂに所定の作業を行わせる。当該所定の作業は、上述した第１実施形態の場合と同じである。設定部４２ｂは、ロボット２０ｂの制御に用いられる値の設定を行う。軌道生成部４５は、複数の軌道の候補を生成する。当該軌道の候補は、可動部Ｒが移動する軌道の候補である。この一例において、軌道は、可動部Ｒが移動する際に制御点Ｔ１が通過する複数の通過点のロボット座標系ＲＣにおける位置の順列によって表される。
【０１０２】
一つの軌道の候補には、当該軌道の候補の通過点毎に、通過点の位置を示す通過点位置情報と、通過点における可動部Ｒの姿勢を示す通過点姿勢情報とが対応付けられている。通過点姿勢情報は、この一例において、複数のアームＡ１〜アームＡ６のうち隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａを含む情報である。すなわち、通過点姿勢情報は、この一例において、アームＡ１とアームＡ２の成す角度と、アームＡ２とアームＡ３の成す角度と、アームＡ４とアームＡ５の成す角度と、アームＡ５とアームＡ６の成す角度と、を含む情報である。
【０１０３】
評価部４６は、軌道生成部４５が生成した複数の軌道の候補を評価する。当該評価では、この一例において、複数のアームＡ１〜アームＡ６のうち隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａに基づいて、作業員にとってより安全な軌道であるかの順位付けを行う。例えば、第１角度θ＿ａの最小値の降順で、複数の軌道の候補の順位付けを行う。すなわち、第１角度θ＿ａの最小値が大きい軌道の候補ほど上位に順位付けを行う。又は、例えば、第１角度θ＿ａの平均値の降順で、複数の軌道の候補の順位付けを行う。すなわち、第１角度θ＿ａの平均値が大きい軌道の候補ほど上位に順位付けを行う。
【０１０４】
軌道選択部４７は、軌道生成部４５が生成した複数の軌道の候補の中から、評価部４６の評価結果に基づいて一つの軌道の候補を選択する。例えば、最上位の軌道の候補を選択する。又は、例えば、最上位から所定の複数の順位までの軌道の候補の中から、最も作業効率の良い一つの軌道の候補を選択する。この場合、作業効率の良さは、任意の基準にしたがって決められてもよく、例えば、軌道の長さが短い方が作業効率が良いとする基準、又は、動作の時間が短い方が作業効率が良いとする基準などが用いられてもよい。
【０１０５】
なお、軌道選択部４７は、軌道生成部４５が生成した複数の軌道の候補の中から、第１角度θ＿ａの最小値が所定の第１閾値ｔｈ＿ａ以上である一つの軌道の候補を選択してもよい。さらに、軌道選択部４７は、第１角度θ＿ａを成す隣り合う２つのアームＡｘとアームＡｙのうちの少なくとも一方を含まない隣り合う２つのアームの成す第２角度θ＿ｂの最小値が、第１閾値ｔｈ＿ａと異なる第２閾値ｔｈ＿ｂ以上である一つの軌道の候補を選択してもよい。
【０１０６】
例えば、関節Ｊ２が連結するアームＡ１とアームＡ２が成す角度に適用する閾値は、関節Ｊ４が連結するアームＡ３とアームＡ４が成す角度に適用する閾値よりも大きくしてもよい。これは、関節Ｊ２におけるトルクは、関節Ｊ４におけるトルクよりも大きいので、関節Ｊ２における閾値を関節Ｊ４における閾値よりも大きくすることにより、アームＡ１とアームＡ２の間に挟み込まれた物体に加わる力を低減させるためである。同様に、関節Ｊ４が連結するアームＡ３とアームＡ４が成す角度に適用する閾値は、関節Ｊ６が連結するアームＡ５とアームＡ６が成す角度に適用する閾値よりも大きくしてもよい。
【０１０７】
＜制御装置がロボットを制御する処理＞
以下、図１９を参照し、制御装置３０ｂがロボット２０ｂを制御する処理について説明する。図１９は、制御装置３０ｂがロボット２０ｂを制御する処理の流れの一例を示すフローチャートである。
【０１０８】
設定部４２ｂは、目標位置Ｐｔを設定する（ステップＳ５１）。目標位置Ｐｔは、この一例において、エンドエフェクターＥが対象物Ｏを把持できる制御点Ｔ１のロボット座標系ＲＣにおける位置である。設定部４２ｂは、ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａに基づいて目標位置Ｐｔを求める。ロボット座標系ＲＣにおける対象物Ｏの位置Ｐａは、予めユーザーから制御装置３０ｂに入力される。
【０１０９】
軌道生成部４５は、可動部Ｒが目標位置Ｐｔに移動する軌道の候補を複数生成する（ステップＳ５２）。当該軌道は、この一例において、制御点Ｔ１が目標位置Ｐｔに移動する軌道であってロボット座標系ＲＣにおける軌道である。
【０１１０】
評価部４６は、軌道生成部４５が生成した複数の軌道の候補を評価する（ステップＳ５３）。当該評価では、この一例において、複数のアームＡ１〜アームＡ６のうち隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａに基づいて、作業員にとってより安全な軌道であるかの順位付けを行う。
【０１１１】
軌道選択部４７は、軌道生成部４５が生成した複数の軌道の候補の中から、評価部４６の評価結果に基づいて一つの軌道の候補を選択する（ステップＳ５４）。当該選択の方法として、例えば、最上位の軌道の候補を選択してもよく、又は、最上位から所定の複数の順位までの軌道の候補の中から最も作業効率の良い一つの軌道の候補を選択してもよい。また、当該選択の方法として、それ以外の他の選択方法が用いられてもよい。当該選択の方法は、ユーザーが予め制御装置３０に入力してもよい。
【０１１２】
ロボット制御部４１ｂは、目標位置Ｐｔに制御点Ｔ１の位置が一致するように、軌道選択部４７が選択した軌道の候補（軌道Ｒｔ）により可動部Ｒを移動させる（ステップＳ５５）。
【０１１３】
以上のように、第３実施形態において、ロボット２０ｂの可動部Ｒは、複数のアームＡ１〜アームＡ６を有する。制御装置３０ｂは、可動部Ｒが移動する複数の軌道（軌道の候補）のうち、複数のアームＡ１〜アームＡ６のうち隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａに基づいて選択された軌道Ｒｔにより可動部Ｒが動作するように、ロボット２０ｂの制御を行う。これにより、隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａに基づき作業員の安全を考慮して選択された軌道Ｒｔにより可動部Ｒを動作させることができる。
【０１１４】
第３実施形態の適用の一例として、可動部に冗長自由度を有するロボットに適用することが挙げられる。可動部に冗長自由度を有するロボットでは、可動部が目標位置に移動する軌道は無数に存在する。例えば、６軸垂直多関節型の可動部に対し冗長自由度として１軸増やした７軸垂直多関節型の可動部では、可動部が目標位置に移動する軌道は無数に存在する。また、例えば、４軸のスカラロボットに対し冗長自由度として１軸増やした５軸のスカラロボットでは、可動部が目標位置に移動する軌道は無数に存在する。可動部に冗長自由度を有するロボットは、可動部の動作が滑らかになり、さらに可動部の周辺に存在する物体との干渉を容易に回避することができるという利点がある。可動部に冗長自由度を有するロボットに対して第３実施形態の構成を適用することにより、可動部が目標位置に移動する無数の軌道の中から作業員の安全を考慮して選択された軌道により可動部を動作させることができる。
【０１１５】
なお、上述した第１実施形態と第３実施形態を組み合わせて実施してもよい。第１実施形態と第３実施形態を組み合わせて実施する場合、図１５に示されるロボット２０ｂは、さらに、図１に示される力検出部２１を備える。また、図１８に示される制御装置３０ｂは、さらに、図６に示される接触検知部４３を備える。また、制御装置３０ｂにおいて、ロボット制御部４１ｂはさらに図６に示されるロボット制御部４１の機能を有し、設定部４２ｂはさらに図６に示される設定部４２の機能を有する。
【０１１６】
また、上述した第２実施形態と第３実施形態を組み合わせて実施してもよい。第２実施形態と第３実施形態を組み合わせて実施する場合、図１５に示されるロボット２０ｂは、さらに、関節Ｊ１〜関節Ｊ６のそれぞれに図８に示される物体検知部ＪＳ１〜物体検知部ＪＳ６を備える。また、図１８に示される制御装置３０ｂは、さらに、図１３に示される物体検知処理部４４を備える。また、制御装置３０ｂにおいて、ロボット制御部４１ｂはさらに図１３に示されるロボット制御部４１ａの機能を有し、設定部４２ｂはさらに図１３に示される設定部４２ａの機能を有する。
【０１１７】
また、上述した第１実施形態と第２実施形態と第３実施形態を組み合わせて実施してもよい。第１実施形態と第２実施形態と第３実施形態を組み合わせて実施する場合、図１５に示されるロボット２０ｂは、さらに、図１に示される力検出部２１と図８に示される物体検知部ＪＳ１〜物体検知部ＪＳ７とを備える。また、図１８に示される制御装置３０ｂは、さらに、図６に示される接触検知部４３と図１３に示される物体検知処理部４４とを備える。また、制御装置３０ｂにおいて、ロボット制御部４１ｂはさらに図６に示されるロボット制御部４１の機能と図１３に示されるロボット制御部４１ａの機能とを有し、設定部４２ｂはさらに図６に示される設定部４２の機能と図１３に示される設定部４２ａの機能とを有する。
【０１１８】
例えば、上述した第２実施形態と第３実施形態を組み合わせて実施したり、又は、上述した第１実施形態と第２実施形態と第３実施形態を組み合わせて実施したりする場合、複数のアームＡ１〜アームＡ６のうち隣り合う２つのアームＡｘとアームＡｙの成す第１角度θ＿ａを所定の第１閾値ｔｈ＿ａ以上に限定する関節ＪＮと、当該第１角度θ＿ａの限定を行わないで物体検知部ＪＳＮにより物体の検知を行う関節ＪＮとに、７つの関節Ｊ１〜関節Ｊ７を分けてもよい。
【０１１９】
以上、この発明の実施形態を、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない限り、変更、置換、削除等されてもよい。
【０１２０】
また、以上に説明した装置（例えば、制御装置３０、制御装置３０ａ又は制御装置３０ｂ）における任意の構成部の機能を実現するためのプログラムを、コンピューター読み取り可能な記録媒体に記録し、そのプログラムをコンピューターシステムに読み込ませて実行するようにしてもよい。なお、ここでいう「コンピューターシステム」とは、ＯＳ（Operating  System）や周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ（Compact  Disk）−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリー（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１２１】
また、上記のプログラムは、このプログラムを記憶装置等に格納したコンピューターシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピューターシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記のプログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、上記のプログラムは、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【０１２２】
１、１ａ、１ｂ…ロボットシステム、２０、２０ａ、２０ｂ…ロボット、２１…力検出部、３０、３０ａ、３０ｂ…制御装置、３１…ＣＰＵ、３２…記憶部、３３…入力受付部、３４…通信部、３５…表示部、４１、４１ａ、４１ｂ…ロボット制御部、４２、４２ａ、４２ｂ…設定部、４３…接触検知部、４４…物体検知処理部、４５…軌道生成部、４６…評価部、４７…軌道選択部、Ａ１〜Ａ６…アーム、ＪＳ１〜ＪＳ７…物体検知部、Ｒ…可動部、Ｏ…対象物
【図１】
2017205819.tif 000003
【図２】
2017205819.tif 000004
【図３】
2017205819.tif 000005
【図４】
2017205819.tif 000006
【図５】
2017205819.tif 000007
【図６】
2017205819.tif 000008
【図７】
2017205819.tif 000009
【図８】
2017205819.tif 000010
【図９】
2017205819.tif 000011
【図１０】
2017205819.tif 000012
【図１１】
2017205819.tif 000013
【図１２】
2017205819.tif 000014
【図１３】
2017205819.tif 000015
【図１４】
2017205819.tif 000016
【図１５】
2017205819.tif 000017
【図１６】
2017205819.tif 000018
【図１７】
2017205819.tif 000019
【図１８】
2017205819.tif 000020
【図１９】
2017205819.tif 000021