(57)【要約】  複数の関節を有するロボットアームに接続された制御装置が、ロボットアームの姿勢状態またはロボットアームの駆動状態を少なくとも示すシステム情報を取得する。また制御装置は、ロボットアームの制御目標を示す制御目標情報を取得する。制御装置は、制御目標情報に基づくロボットアームの駆動に対する関節の寄与を示す指標である寄与情報をシステム情報に基づいて算出する。そして制御装置は、寄与情報に基づいて各関節の駆動の制御に用いる制御指示情報を算出する。
2020161910.tif 000002
【特許請求の範囲】
【請求項１】
複数の関節を有するロボットアームに接続され、
前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得するシステム情報取得部と、
前記ロボットアームの制御目標を示す制御目標情報を取得する制御目標取得部と、
前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出する関節寄与情報算出部と、
前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する制御指示部と、
を備える制御装置。
【請求項２】
前記システム情報は、前記ロボットアームの動きを妨げる障害物の位置情報を含み、
前記関節寄与情報算出部は、前記障害物の位置情報を用いて前記寄与情報を算出する
請求項１に記載の制御装置。
【請求項３】
前記関節寄与情報算出部は、前記ロボットアームの前記姿勢状態に基づいて前記寄与情報を算出する
ことを特徴とする請求項１または請求項２に記載の制御装置。
【請求項４】
前記関節寄与情報算出部は、前記ロボットアームの前記駆動状態に基づいて前記寄与情報を算出する
ことを特徴とする請求項１から請求項３の何れか一項に記載の制御装置。
【請求項５】
前記関節寄与情報算出部は、障害物の位置情報の変化に基づいて、前記寄与情報を再計算する
請求項１から請求項４の何れか一項に記載の制御装置。
【請求項６】
複数の関節を有するロボットアームに接続された制御装置が、
前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得し、
前記ロボットアームの制御目標を示す制御目標情報を取得し、
前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出し、
前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する
制御方法。
【請求項７】
複数の関節を有するロボットアームに接続された制御装置において、
前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得するシステム情報取得機能と、
前記ロボットアームの制御目標を示す制御目標情報を取得する制御目標取得機能と、
前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出する関節寄与情報算出機能と、
前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する制御指示機能と、
を実現させるプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置、制御方法、記録媒体に関する。
【背景技術】
【０００２】
ロボットの制御装置は、ロボットに設けられた関節機構を駆動制御して、ロボットを構成する所定部位を目標位置に移動させる。ロボットの制御の例として、特許文献１には、ロボットアームの干渉を回避するための計算を高速に行う技術が開示されている。また、多関節システムにおける複数の自由度を有する体節の衝突を回避する技術が特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１３１９９０号公報
【特許文献２】特許第５２６１４９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のようなロボットの制御装置では、ロボットを構成する移動部位の軌道を全て計算することがある。関節等の移動部位の軌道を計算することでロボットの姿勢が定まる。制御装置は、ロボットの関節などの所定部位を駆動制御している際に、その所定の一部が障害物や負荷により動かない場合、上述のようなロボットの各関節の位置などの含む姿勢状態の情報を定めるため、再度、移動部位の全体の位置や軌道の再計算を行わなければならなかった。【０００５】
そこでこの発明は、上述の課題を解決する制御装置、制御方法、記録媒体を提供することを目的としている。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、制御装置は、複数の関節を有するロボットアームに接続され、前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得するシステム情報取得部と、前記ロボットアームの制御目標を示す制御目標情報を取得する制御目標取得部と、前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出する関節寄与情報算出部と、前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する制御指示部と、を備えることを特徴とする。【０００７】
本発明の第２の態様によれば、制御方法は、複数の関節を有するロボットアームに接続された制御装置が、前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得し、前記ロボットアームの制御目標を示す制御目標情報を取得し、前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出し、前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出することを特徴とする。【０００８】
本発明の第３の態様によれば、記録媒体は、複数の関節を有するロボットアームに接続された制御装置において、前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得するシステム情報取得機能と、前記ロボットアームの制御目標を示す制御目標情報を取得する制御目標取得機能と、前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出する関節寄与情報算出機能と、前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する制御指示機能と、を実現させるプログラムが記録されることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ロボットを制御して所定の部位を目標位置に移動させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態によるロボットシステムの概要を示す図である。
【図２】本発明の一実施形態による制御装置のハードウェア構成を示す図である。
【図３】本発明の一実施形態による制御装置の機能ブロック図である。
【図４】第一の実施形態による制御装置の処理フローを示す第一の図である。
【図５】第一の実施形態によるロボットアームの動作例を示す第一の図である。
【図６】第一の実施形態によるロボットアームの動作例を示す第二の図である。
【図７】第二の実施形態による制御装置の処理フローを示す第一の図である。
【図８】第二の実施形態によるロボットアームの動作例を示す第一の図である。
【図９】第二の実施形態によるロボットアームの動作例を示す第二の図である。
【図１０】本発明の一実施形態による寄与情報の算出例を示す第一の図である。
【図１１】本発明の一実施形態による寄与情報の算出例を示す第二の図である。
【図１２】本発明の一実施形態による寄与情報の算出例を示す第三の図である。
【図１３】本発明の一実施形態による制御装置の最小構成を示す図である。
【図１４】本発明の一実施形態による最小構成の制御装置による処理フローを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の一実施形態による制御装置を図面を参照して説明する。
図１は同実施形態による制御装置を含むロボットシステムの概要を示す図である。
この図で示すように、ロボットシステム１００は制御装置１とロボットアーム２とを含んで構成される。ロボットアーム２は、複数のリンク２１と、当該複数のリンク２１を連結先に回動自在に連結する関節機構２２（ｊｉ）とを備えている。なお関節機構２２（ｊｉ）の記載においてｊは関節機構２２を示し、ｉは番号を示す。つまり、関節機構２２（ｊｉ）ｎ個によりロボットアームが構成される場合はｉ＝１，２，‥‥ｎとなる。関節機構２２（ｊｉ）はロボットアーム２を構成する何れか一つまたは複数の関節機構２２を示す。制御装置１は、少なくともロボットアーム２の関節機構２２（ｊｉ）を駆動制御する。これにより制御装置１は、関節機構２２（ｊｉ）や手先位置などの所定の部位を所定の目標位置に移動させる。
【００１２】
関節機構２２（ｊｉ）は、連結するリンク２１の軸を中心として当該リンク２１を回転させる第一回転モータ、関節機構２２（ｊｉ）に連結するリンク２１の軸に直交する直交方向に当該リンク２１を傾ける第二回転モータなどを内蔵して構成される。ロボットアーム２の先端部には物体を把持する把持機構２３などが設けられてよい。そして制御装置１は関節機構２２（ｊｉ）の各モータと電気的に接続されており、関節機構２２（ｊｉ）の駆動制御を行う。
【００１３】
図２は制御装置のハードウェア構成を示す図である。
この図が示すように制御装置１は、制御部であるＣＰＵ（Central Processing Unit）１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＳＳＤ（Solid State Drive）１０４、通信モジュール１０５等の各ハードウェアを備えたコンピュータである。
【００１４】
図３は制御装置１の機能ブロック図である。
制御装置１のＣＰＵ１０１は電源が投入されると起動し、予め記憶する制御プログラムを実行する。これにより制御装置１は、制御目標取得部１０、関節寄与情報算出部１１、制御指示部１２、システム情報取得部１３、状態算出部１４、障害検知部１５の各機能を発揮する。
【００１５】
制御目標取得部１０は、ロボットアーム２の制御目標を示す制御目標情報を取得する。
関節寄与情報算出部１１は、各関節機構２２（ｊｉ）の制御目標情報に対する寄与を示す指標である寄与情報を算出する。寄与情報は、寄与の程度を表す指標であってもよいし、寄与の有無を表す情報であってもよい。
制御指示部１２は、寄与情報に基づいて各関節機構２２（ｊｉ）の駆動の制御に用いる制御指示情報を算出する。
システム情報取得部１３は、ロボットシステム１００の状態を示す情報および環境の情報を含むシステム情報を取得する。
【００１６】
状態算出部１４は、システム情報取得部１３により取得された情報等を用いて各関節機構２２（ｊｉ）や手先位置などの現在のロボットアーム２に関する状態の情報を算出する。
障害検知部１５は、関節機構２２（ｊｉ）の近傍の障害物の位置、関節機構２２（ｊｉ）の近傍に入ると予測される障害物の位置や、関節機構２２（ｊｉ）への障害の発生を検知する。ここで、近傍とは、関節機構２２（ｊｉ）（または、把持機構２３、リンク２１）からの距離が所定の距離以下、または、所定の距離未満であることを表している。
【００１７】
このような各機能を発揮する制御装置１の処理により、ロボットアーム２全体の姿勢を算出することなくより柔軟にロボットアーム２を制御して先端部を目標位置に移動させることができる。
【００１８】
（第一の実施形態）
図４は第一の実施形態による制御装置の処理フローを示す第一の図である。
次に第一の実施形態による制御装置の処理フローを順を追って説明する。
まず制御装置の制御指示部１２は制御を開始すると、制御目標取得部１０に制御目標情報の取得を指示し、またシステム情報取得部１３にシステム情報の取得を指示する。
【００１９】
制御目標情報は、少なくともロボットアーム２の制御目標を示す。一例としての制御目標情報はロボットアーム２の目標手先位置Ｐｄ＝｛ｘｄ，ｙｄ，ｚｄ｝であってよい。目標手先位置Ｐｄ｛ｘｄ，ｙｄ，ｚｄ｝は、ロボットアーム２の手先の現在位置の移動先の３次元座標を示す。制御目標情報はまたはリンク２１の一部または複数部位の目標位置、目標速度、目標トルク、速度ベクトル、力ベクトル、加速度ベクトルであってよい。複数部位は、例えば全ての関節機構２２の数より少ない数の関節機構２２であってよい。制御目標情報はそれらの値の時系列情報であってよい。
【００２０】
システム情報は、各関節機構２２の関節角度、角速度、トルク、関節間距離、関節位置（座標）、関節取り付け角度などの、いわゆるＤＨ（Denavit-Hartenberg）のパラメータ、可動範囲などを含んでよい。システム情報には、障害検知部１５により検出された障害物の情報を含んでもよい。例えば障害物の情報には、障害物の中心を示す３次元座標、障害物の表面の離散化した３次元座標、障害物の表面のベクトルデータ、障害物の表面のポリゴン近似データ、障害物の表面の関数近似データなどであってよい。また障害物の情報としてロボットアーム２の座標が含まれてもよい。ロボットアーム２の座標が障害物の情報に含まれることにより、ロボットアーム２の異なる位置が接触しないよう制御することができる。
【００２１】
ここで一例として、制御目標取得部１０が、目標手先位置Ｐｄ＝｛ｘｄ，ｙｄ，ｚｄ｝を取得する（ステップＳ１０１）。またシステム情報取得部１３が、システム情報として、各関節機構２２の関節角度θ＝｛θ１，θ２，…θｎ｝、関節間距離（各リンク２１の長さ）ｌ＝｛ｌ１，ｌ２，…ｌｎ｝などを取得する。
【００２２】
状態算出部１４は、システム情報取得部１３からシステム情報を取得する（ステップＳ１０２）。そして状態算出部１４は、現在の手先位置Ｐｃを算出する（ステップＳ１０３）。現在の手先位置Ｐｃは、システム情報から、たとえば、順運動学に従い算出すればよい。たとえば、ロボットアーム２の座標の基点と、ＤＨ（Denavit-Hartenberg）のパラメータがわかれば、手先の位置を求めることができる。また状態算出部１４は、現在の手先位置Ｐｃを目標手先位置Ｐｄに移動させるために動作させることのできる１つまたは複数の動作対象となる各関節機構２２（ｊｉ）の関節位置Ｐｉを算出する（ステップＳ１０４）。
【００２３】
なお、状態算出部１４は、ロボットアーム２自体を撮影する外部カメラから撮影画像を取得し、この撮影画像に基づいて現在の手先位置Ｐｃや各関節機構２２（ｊｉ）の関節位置Ｐｉを算出してもよい。
【００２４】
状態算出部１４は、関節寄与情報算出部１１へ現在の手先位置Ｐｃと現在の動作対象となる関節機構２２（ｊｉ）の各関節位置Ｐｉとを出力する。関節寄与情報算出部１１は、システム情報、手先位置Ｐｃ、動作対象となる各関節位置Ｐｉを取得する。
【００２５】
図５は第一の実施形態によるロボットアーム２の動作例を示す第一の図である。
図６は第一の実施形態によるロボットアーム２の動作例を示す第二の図である。
図５は二次元の空間範囲においてロボットアーム２の動作する状況において、現在の手先位置Ｐｃを目標手先位置Ｐｄに二次元空間範囲内で移動させる場合の例を示す。
図６は三次元の空間範囲においてロボットアーム２の動作する状況において、現在の手先位置Ｐｃを目標手先位置Ｐｄに三次空間範囲内で移動させる場合の例を示す。
【００２６】
関節寄与情報算出部１１は、手先位置Ｐｃを目標手先位置Ｐｄに移動させる場合の、動作対象となる各関節機構２２（ｊｉ）の移動方向と移動量θｄｉとを算出する（ステップＳ１０５）。例えばある関節機構２２（ｊｉ）については、その関節機構２２（ｊｉ）の関節位置Ｐｉと手先位置Ｐｃとをつなぐ線が、当該関節機構２２（ｊｉ）の関節位置Ｐｉと目標手先位置Ｐｄとをつなぐ線に一致する際の移動方向と移動量θｄｉとを決定する。例えば、Ｐｄ，Ｐｉ，Ｐｃの幾何学的関係を用いることでθｄｉを求めることが出来る。例えば、それぞれの座標をベクトルで表し，Ｐｄ−Ｐｉ，Ｐｃ−Ｐｉで示されるベクトルのなす角としてθｄｉを求める。また、たとえばベクトルの内積を用いてθｄｉを求めることもできる。関節寄与情報算出部１１はシミュレーション処理により、各関節機構２２（ｊｉ）の移動方向と移動量Δθｄｉとを求めてよい。
【００２７】
図６は、関節機構２２（ｊｉ）が３次元方向に動作する場合のある関節機構２２（ｊｉ）の移動方向と移動量Δθｄｉとの算出概要を示す。図６で示すように関節寄与情報算出部１１は、現在の手先位置Ｐｃを、ある関節機構２２（ｊｉ）に接続されたリンク２１の回転軸に直交し当該関節機構２２（ｊｉ）の位置Ｐｉを通る面上に射影した手先射影位置Ｐｃ’を特定する。そして関節寄与情報算出部１１は、当該手先射影位置Ｐｃ’と当該関節機構２２（ｊｉ）の関節位置Ｐｉとを結ぶ線と、目標手先位置Ｐｄを上記面上に射影したと射影目標手先位置Ｐｄ’と移動対象の関節Ｐｉとを結ぶ線との成す角度であって、当該関節機構２２（ｊｉ）の移動方向の成す角度を示す移動量θｄｉを算出する。関節寄与情報算出部１１は、ｉに動作対象となる関節機構２２（ｊｉ）を示す数値を設定し、関節機構２２（ｊｉ）を特定する。そして、関節寄与情報算出部１１は、移動量θｄｉとゲインＧｃを用いて、特定した関節機構２２（ｊｉ）の角度移動指令Δθｄｉを式（１）により算出する（ステップＳ１０６）。
【００２８】
【数１】
2020161910.tif 000003
【００２９】
ここで、動作対象となる各関節機構２２（ｊｉ）それぞれに対して特定した移動方向に同じ角度の移動を加えた場合、手先位置Ｐｃから遠い関節機構２２は、少し動くだけでも手先位置Ｐｃが大きく変動する。そこで関節寄与情報算出部１１は、ロボットアーム２の現在の姿勢をもとに、手先位置をＰｃから目標手先位置Ｐｄに移動させる際の、移動量に対する特定した関節機構２２（ｊｉ）の寄与度を示す寄与情報ｋｉを以下のように算出する。寄与情報ｋｉの算出にあたり、まず関節寄与情報算出部１１は、特定した関節機構２２（ｊｉ）のＰｃ−Ｐｉ間距離ｄｉを、式（２）を用いて算出する。
【００３０】
【数２】
2020161910.tif 000004
【００３１】
そして関節寄与情報算出部１１は特定した関節機構２２（ｊｉ）の寄与情報ｋｉを、式（３）を用いて算出する（ステップＳ１０７）。
【００３２】
【数３】
2020161910.tif 000005
【００３３】
式（３）においてｂは定数を示す。ｆ（ｄｉ）は、Ｐｄ−Ｐｉ間距離ｄiの二乗に比例する関数でもあってよく、Ｐｄ−Ｐｉ間距離ｄｉを引数とする任意の関数でよい。または、ｆ（ｄｉ）は、距離ｄｉを変数とした多項式、あるいは距離ｄｉを変数とした三角関数、対数関数、指数関数あるいは上記の関数の和・積・商で表される任意の関数でも良い。また、Ｐｄ−Ｐｉ間距離ｄｉに代えて、各関節機構２２（ｊｉ）のロボットアーム２における位置の順番（手先からの位置の順番など）に応じて決定された値ｄ’ｉを用いて、同様の式により寄与情報ｋｉを算出してもよい。そして、関節寄与情報算出部１１は各関節機構２２の寄与情報ｋｉを制御指示部１２へ出力する。
【００３４】
制御指示部１２は、特定した関節機構２２（ｊｉ）の寄与情報ｋｉを用いて、式（４）により制御指示情報θｃｏｎｔｒｏｌ（ｉ）を算出する（ステップＳ１０８）。または、制御指示情報θｃｏｎｔｒｏｌ（ｉ）は、ｋｉとΔθｄｉとにより表される任意の関数であってもよい。
【００３５】
【数４】
2020161910.tif 000006
【００３６】
制御指示部１２は、特定した関節機構２２（ｊｉ）に対して制御指示情報θｃｏｎｔｒｏｌ（ｉ）を出力する（ステップＳ１０９）。制御指示部１２は動作対象となる各関節機構２２（ｊｉ）のうち、制御指示情報を算出していない関節機構２２（ｊｉ）があるかを判定する（ステップＳ１１０）。制御指示部１２は制御指示情報を算出していない関節機構２２（ｊｉ）がある場合、次の関節機構２２（ｊｉ）に対する処理を行うよう関節寄与情報算出部１１へ指示する。関節寄与情報算出部１１は動作対象となる各関節機構２２（ｊｉ）のうち、寄与情報ｋｉを算出していない関節機構２２（ｊｉ）を示す値をｉに設定し、ステップＳ１０６からの処理を微小時間ごとに繰り返す。これにより、動作対象となる各関節機構２２（ｊｉ）が動作し、手先位置が目標手先位置Ｐｄへ移動する。制御指示部１２は、手先位置Ｐｃが最終目標位置に到達し終了するかを判定する（ステップＳ１１１）。制御装置１は最終手先位置に到達するように、目標手先位置Ｐｄを徐々にずらして、上記の処理を逐次的に実行することで、手先位置が徐々に動いてき最終目標位置に到達させることが可能となる。
【００３７】
（第二の実施形態）
図７は第二の実施形態による制御装置の処理フローを示す第一の図である。
次に第二の実施形態による制御装置の処理フローを順を追って説明する。
まず制御装置の制御指示部１２は制御を開始すると、制御目標取得部１０に制御目標情報の取得を指示し、またシステム情報取得部１３にシステム情報の取得を指示する。
【００３８】
制御目標情報は、少なくともロボットアーム２の一部または複数部位の制御目標を示す。例えば、制御目標はロボットアーム２の手先目標速度ベクトルＶｃ＝｛ｖｘｄ，ｖｙｄ，ｖｚｄ｝である。手先目標速度ベクトルＶｃ｛ｖｘｄ，ｖｙｄ，ｖｚｄ｝は、ロボットアーム２の手先の３次元空間における速度ベクトルを示す。制御目標は手先目標速度ベクトルＶｃに代えて、力ベクトル、加速度ベクトルであってもよい。
【００３９】
システム情報は、各関節機構２２（ｊｉ）の関節角度、角速度、トルク、関節間距離、関節位置（座標）、関節取り付け角度などの、いわゆるＤＨ（Denavit-Hartenberg）のパラメータ、可動範囲などを含んでよい。システム情報には、障害検知部１５により検出された障害物の情報を含んでもよい。例えば障害物の情報には、障害物の中心を示す３次元座標、障害物の表面の離散化した３次元座標、障害物の表面のベクトルデータ、障害物の表面のポリゴン近似データ、障害物の表面の関数近似データなどであってよい。また障害物の情報としてロボットアーム２の座標が含まれてもよい。ロボットアーム２の座標が障害物の情報に含まれることにより、ロボットアーム２の異なる位置が接触しないよう制御することができる。
【００４０】
ここで一例として、制御目標取得部１０が、手先目標速度ベクトルＶｃ＝｛ｖｘｄ，ｖｙｄ，ｖｚｄ｝を取得する（ステップＳ２０１）。またシステム情報取得部１３が、各関節機構２２（ｊｉ）の関節角度θ＝｛θ１，θ２，…θｎ｝、関節間距離（各リンク２１の長さ）ｌ＝｛ｌ１，ｌ２，…ｌｎ｝などのシステム情報を取得する。
【００４１】
状態算出部１４は、システム情報取得部１３からシステム情報を取得する（ステップＳ２０２）。そして状態算出部１４は、現在の手先位置Ｐｃを算出する（ステップＳ２０３）。現在の手先位置Ｐｃは、システム情報から、たとえば、順運動学に従い算出すればよい。たとえば、ロボットアーム２の座標の基点と、ＤＨ（Denavit-Hartenberg）のパラメータがわかれば、手先位置Ｐｃを求めることができる。また状態算出部１４は、現在の手先位置Ｐｃを目標手先位置Ｐｄに移動させるために動作させることのできる１つまたは複数の動作対象となる各関節機構２２（ｊｉ）の関節位置Ｐｉを算出する（ステップＳ２０４）。
【００４２】
なお、状態算出部１４は、第一の実施形態と同様に、ロボットアーム２自体を撮影する外部カメラから撮影画像を取得し、この撮影画像に基づいて現在の手先位置Ｐｃや各関節機構２２（ｊｉ）の関節位置Ｐｉを算出してもよい。
【００４３】
状態算出部１４は、関節寄与情報算出部１１へ現在の手先位置Ｐｃと現在の動作対象となる関節機構２２（ｊｉ）の各関節位置Ｐｉとを出力する。関節寄与情報算出部１１は、システム情報、手先位置Ｐｃ、関節位置Ｐｉを取得する。
【００４４】
図８は第二の実施形態によるロボットアーム２の動作例を示す第一の図である。
図９は第二の実施形態によるロボットアーム２の動作例を示す第二の図である。
図８は二次元の空間範囲においてロボットアーム２の動作する状況において、手先目標速度ベクトルＶｃに基づいて、現在の手先位置Ｐｃを目標手先位置Ｐｄに二次元空間範囲内で移動させる場合の例を示す。
図９は三次元の空間範囲においてロボットアーム２の動作する状況において、手先目標速度ベクトルＶｃに基づいて、現在の手先位置Ｐｃを目標手先位置Ｐｄに三次空間範囲内で移動させる場合の例を示す。
【００４５】
関節寄与情報算出部１１は、手先位置Ｐｃを目標手先位置Ｐｄに移動させる場合の、動作対象となる各関節機構２２（ｊｉ）の移動方向と移動量θｄｉとを算出する（ステップＳ２０５）。例えばある関節機構２２（ｊｉ）については、その関節機構２２（ｊｉ）の関節位置Ｐｉと手先位置Ｐｃとをつなぐ線が、当該関節機構２２（ｊｉ）の関節位置Ｐｉと目標手先位置Ｐｄとをつなぐ線に一致する際の移動方向と移動量θｄｉとを決定する。例えば、Ｐｄ，Ｐｉ，Ｐｃの幾何学的関係を用いることでθｄｉを求めることが出来る。例えば、それぞれの座標をベクトルで表し，Ｐｄ−Ｐｉ，Ｐｃ−Ｐｉで示されるベクトルのなす角としてθｄｉを求める。また、たとえばベクトルの内積を用いてθｄｉを求めることもできる。関節寄与情報算出部１１はシミュレーション処理により、各関節機構２２（ｊｉ）の移動方向と移動量θｄｉとを求めてよい。
【００４６】
図９は、関節機構２２（ｊｉ）が３次元方向に動作する場合のある各関節機構２２（ｊｉ）の移動方向と移動量θｄｉとの算出概要を示す。図９で示すように関節寄与情報算出部１１は、現在の手先位置Ｐｃを、ある関節機構２２（ｊｉ）に接続されたリンク２１の回転軸に直交し当該関節機構２２（ｊｉ）の位置Ｐｉを通る面上に射影した手先射影位置Ｐｃ’を特定する。そして関節寄与情報算出部１１は、当該手先射影位置Ｐｃ’と当該関節機構２２（ｊｉ）の関節位置Ｐｉとを結ぶ線と、目標手先位置Ｐｄを上記面上に射影したと射影目標手先位置Ｐｄ’と移動対象の関節Ｐｉとを結ぶ線との成す角度であって、当該関節機構２２（ｊｉ）の移動方向の成す角度を示す移動量θｄｉを算出する。
【００４７】
関節寄与情報算出部１１は、ある関節機構２２（ｊｉ）についての寄与情報を算出するにあたり、手先目標速度ベクトルＶｃを用いて、そのある関節機構２２（ｊｉ）の関節位置Ｐｉと手先位置Ｐｃとを結ぶ直線に直交し手先位置Ｐｃを基点とする速度ベクトル成分Ｖｃｉを導出する。関節寄与情報算出部１１は、ｉに動作対象となる関節機構２２（ｊｉ）を示す数値を設定し、関節機構２２（ｊｉ）を特定する。そして、関節寄与情報算出部１１は、速度ベクトル成分Ｖｃｉと所定のゲインＧｃを用いて、特定した関節機構２２（ｊｉ）の角速度移動指令Δθ’ｄｉを式（５）により算出する（ステップＳ２０６）。
【００４８】
【数５】
2020161910.tif 000007
【００４９】
式（５）において「＊」はベクトルの内積を示す。また式（５）において「ｅ_ｘ」は速度ベクトル成分Ｖｃｉの単位ベクトルを示す。なお関節寄与情報算出部１１は、特定した関節機構２２（ｊｉ）についての寄与情報を算出するにあたり、力ベクトルｆを用いて、特定した関節機構２２（ｊｉ）の関節位置Ｐｉと手先位置Ｐｃとを結ぶ直線に直交し手先位置Ｐｃを基点とする力ベクトル成分ｆｃｉを導出する。そして、関節寄与情報算出部１１は、力ベクトル成分ｆｃｉと所定のゲインＧｃを用いて、式（６）により角速度移動指令Δθ’ｄｉを算出してもよい。式（６）においても「＊」はベクトルの内積を示す。また式（６）において「ｅ_ｘ’」は力ベクトル成分ｆｃｉの単位ベクトルを示す。
【００５０】
【数６】
2020161910.tif 000008
【００５１】
ここで、動作対象となる各関節機構２２（ｊｉ）それぞれに対して特定した移動方向に同じ角速度で移動するよう制御を加えた場合、手先位置Ｐｃから遠い関節機構２２は、少し動くだけでも手先位置ｐｃが大きく変動する。そこで関節寄与情報算出部１１は、ロボットアーム２の現在の姿勢をもとに、手先位置Ｐｃから目標手先位置Ｐｄに移動させる際の、移動量に対する特定した関節機構２２（ｊｉ）の寄与度を示す寄与情報ｋｉを以下のように算出する（ステップＳ２０７）。
【００５２】
【数７】
2020161910.tif 000009
【００５３】
または、手先位置Ｐｃに近い関節機構２２（ｊｉ）の移動量をより多くして、動作対象となる各関節機構２２（ｊｉ）の制御トルクを小さくすることができる。この場合、手先位置Ｐｃに近い動作対象となる関節機構２２（ｊｉ）がより手先位置Ｐｃの移動に寄与するため、式（８）により寄与情報ｋｉを算出してもよい。
【００５４】
【数８】
2020161910.tif 000010
【００５５】
なお上記式（７），（８）における「√（Ｐｄ２−Ｐｉ２）」を当該「√（Ｐｄ２−Ｐｉ２）」を変数とする関数に置き換えてもよい。そして関節寄与情報算出部１１は、特定した関節機構２２の寄与情報ｋｉを制御指示部１２へ出力する。
【００５６】
制御指示部１２は、特定した関節機構２２（ｊｉ）の寄与情報を用いて、式（９）により制御指示情報θ’ｃｏｎｔｒｏｌ（ｉ）を算出する（ステップＳ２０８）。
【００５７】
【数９】
2020161910.tif 000011
【００５８】
制御指示情報θ’ｃｏｎｔｒｏｌ（ｉ）は、「ｋｉ・Δθ’ｄｉ」を含む任意の関数であってもよい。制御指示部１２は、特定した関節機構２２（ｊｉ）に対して制御指示情報θ’ｃｏｎｔｒｏｌ（ｉ）を出力する（ステップＳ２０９）。制御指示部１２は動作対象となる各関節機構２２（ｊｉ）のうち、制御指示情報を算出していない関節機構２２（ｊｉ）があるかを判定する（ステップＳ２１０）。制御指示部１２は制御指示情報を算出していない関節機構２２（ｊｉ）がある場合、次の関節機構２２（ｊｉ）に対する処理を行うよう関節寄与情報算出部１１へ指示する。関節寄与情報算出部１１は動作対象となる各関節機構２２（ｊｉ）のうち、寄与情報ｋｉを算出していない関節機構２２（ｊｉ）を示す値をｉに設定し、ステップＳ２０６からの処理を微小時間ごとに繰り返す。これにより、各関節機構２２（ｊｉ）が動作し、手先位置が目標手先位置Ｐｄへ移動する。制御指示部１２は、手先位置Ｐｃが最終目標位置に到達し終了するかを判定する（ステップＳ２１１）。制御装置１は最終手先位置に到達するように、目標手先位置Ｐｄを除所にずらして、上記の処理を逐次的に実行することで、手先位置が徐々に動いてき最終目標位置に到達させることが可能となる。
【００５９】
（第三の実施形態）
第一の実施形態および、第二の実施形態においては、寄与情報の算出において、ある目標位置に移動させるロボットアーム２の対象部位（手先位置Ｐｃ）の目標位置までの移動に寄与する各関節機構２２（ｊｉ）の動きの寄与度に基づいて、寄与情報ｋｉを算出している。しかしながら、関節寄与情報算出部１１は、寄与情報の算出に、関節機構２２（ｊｉ）が所定量動作する際の力の大きさや、慣性トルクなどの、動作の容易さを示す指標に基づいて目標位置に移動させる対象部位の移動に対する寄与度を示す寄与情報ｋｉを算出してもよい。
【００６０】
具体的には、関節寄与情報算出部１１は、第一の実施形態において算出した制御指示情報θｃｏｎｔｒｏｌ（ｉ）に基づく実際の関節機構２２（Ｊ）への制御に対して、実際にその関節機構２２（ｊｉ）が規定の制御時間内で動作した角度θａｃｔｕａｌ（ｉ）の割合を寄与情報ｋｉとして式（１０）により算出する。
【００６１】
【数１０】
2020161910.tif 000012
【００６２】
上述の式（１０）において、関節寄与情報算出部１１は、第一の実施形態において算出した制御指示情報θｃｏｎｔｒｏｌ（ｉ）に代えて、第二の実施形態において算出した制御指示情報θ’ｃｏｎｔｒｏｌ（ｉ）を用いてもよい。また上記式（１０）は第一の実施形態において算出した寄与情報ｋｉは、制御指示情報θｃｏｎｔｒｏｌ（ｉ）に対する制御時間内で動作した角度θａｃｔｕａｌ（ｉ）の比により求めているが、それらの差分により算出してもよいし、当該比や差分を含む任意の関数であってもよい。関節寄与情報算出部１１は、寄与情報ｋｉの算出に、制御指示情報θｃｏｎｔｒｏｌ（ｉ）と、制御時間内で動作した角度θａｃｔｕａｌ（ｉ）とを含む関数を用いてもよい。そして、制御指示部１２は、式（１０）により得られた寄与情報ｋｉを用いて制御指示情報θｃｏｎｔｒｏｌ（ｉ）を算出する。
【００６３】
なお寄与情報は、第一の実施形態や第二の実施形態で算出した寄与情報ｋｉと、第三の実施形態で算出した寄与情報ｋｉの和、積で得られた値や、それら寄与情報を含む関数により算出された値であってもよい。
【００６４】
（第四の実施形態）
関節寄与情報算出部１１は、ある関節機構２２（ｊｉ）の寄与情報ｋ’ｉの算出に、上述の実施形態で算出した自関節機構２２（ｊｉ）の寄与情報ｋｉと、他の関節機構の寄与情報ｋｊの値を用いてもよい。例えば他のｊ番目の関節機構２２（Ｊｊ）の寄与情報をｋｊと表記したとする。この場合、一例としては式（１１）により寄与情報ｋ’ｉを算出する。他の関節機構２２（Ｊｊ）はロボットアーム２を構成する全ての関節機構２２であってもよいし、寄与情報ｋｉの算出対象の関節機構２２の近傍の１つまたは複数の関節機構２２であってもよい。なお式（１１）においてｎはロボットアームを構成する関節機構２２の数を示す。
【００６５】
【数１１】
2020161910.tif 000013
【００６６】
（第五の実施形態）
上述の実施形態では手先位置Ｐｃを目標手先位置Ｐｄに移動させる場合の例について説明しているが、制御装置１はロボットアーム２の任意の部位の現在位置Ｐｅを目標手先位置Ｐｄに移動させる処理を行ってもよい。この場合、上記の処理において手先位置Ｐｃを、任意の部位の現在位置Ｐｅに代えて処理を行えばよい。
【００６７】
（第六の実施形態）
上述の処理において、何れかの関節機構２２（ｊｉ）の動きを妨げる障害物の位置に基づいて、障害物に近い関節機構２２の寄与度をより低くした寄与情報を算出してもよい。例えば障害検知部１５は、ロボットアーム２の所定位置に設けられた物体検知センサからセンシング情報を取得する。物体検知センサが近接センサである場合、その近接センサの設置位置と、近接センサからのセンシング情報（物体までの距離）などに基づいて、物体の座標を算出する。障害検知部１５は、物体検知センサがカメラである場合、そのカメラの設置位置と、カメラから得た撮影画像とに基づいて、物体の座標を算出する。障害検知部１５は、物体検知センサが測距センサである場合、その測距センサの設置位置と、当該測距センサから得たセンシング情報（物体までの距離や、距離画像）などに基づいて、物体の座標を算出する。障害検知部１５は状態算出部１４から各関節機構２２（ｊｉ）の現在位置を取得する。障害検知部１５は各関節機構２２（ｊｉ）の現在座標に基づいてリンク２１の座標を算出する。障害検知部１５は、リンク２１や関節機構２２（ｊｉ）の位置と、物体の位置とが所定の距離以下である場合には、その物体が障害物であると判定する。障害検知部１５は障害物の位置を関節寄与情報算出部１１へ出力する。
【００６８】
関節寄与情報算出部１１は、各関節機構２２（ｊｉ）の位置と、障害物の位置との距離ｄｓｉを算出する。そして、関節寄与情報算出部１１は、関節機構２２（ｊｉ）の位置と、障害物の位置との距離ｄｓｉが近いほど、寄与度が低くなる式（１２）を用いて、寄与情報ｋｉを算出する。なお式（１２）において、第一の実施形態〜第五の実施形態の何れかにおいて算出した寄与情報を、大文字Ｋを用いてＫｉとする。
【００６９】
【数１２】
2020161910.tif 000014
【００７０】
なお寄与情報ｋｉは、関節機構２２（ｊｉ）の位置と、障害物の位置との距離ｄｓｉや、第一の実施形態〜第五の実施形態の何れかにおいて算出した寄与情報Ｋｉを用いた関数ｇを用いて、式（１３）により算出してもよい。
【００７１】
【数１３】
2020161910.tif 000015
【００７２】
以上の処理によれば、関節機構２２（ｊｉ）の近傍に障害物が有る場合、ロボットアーム２が移動する際に障害の干渉を受ける可能性がある。この場合、障害物の近傍に位置する関節機構２２（ｊｉ）の寄与度を低くして、各関節機構２２（ｊｉ）に対する制御指示情報を算出することで、障害物を回避して、障害物の近傍にない関節機構２２（ｊｉ）をより大きく移動させて、手先位置Ｐｃなどの所定の部位を目標手先位置Ｐｄに移動させることができる。つまりこれは、関節寄与情報算出部１１が、障害物の位置情報の変化に基づいて、寄与情報を再計算する処理態様の一例である。
【００７３】
なお障害検知部１５はシステム情報に基づいて障害物の関節機構２２（ｊｉ）やリンク２１への接触を検知してもよい。例えば、上述のようにロボットアーム２を制御する間、システム情報取得部１３は、各関節機構２２（ｊｉ）のセンサからシステム情報を取得する。センサは、トルクセンサ、モータの角度センサ、モータの角速度センサなどである。システム情報取得部１３は、関節機構２２（ｊｉ）にトルクセンサが設けられている場合、当該トルクセンサからトルク値をセンシング情報として取得する。システム情報取得部１３は、関節機構２２（ｊｉ）に角度センサが設けられている場合、当該角度センサから関節機構２２（ｊｉ）に備わる各モータの基準位置からの回転角度をセンシング情報として取得する。システム情報取得部１３は、関節機構２２（ｊｉ）に角速度センサが設けられている場合、当該角速度センサから関節機構２２（ｊｉ）に備わる各モータの角速度をセンシング情報として取得する。システム情報取得部１３は、取得したセンシング情報を障害検知部１５へ出力する。
【００７４】
障害検知部１５は、駆動対象の関節機構２２（ｊｉ）の駆動状態を示すシステム情報と、駆動対象の関節機構２２（ｊｉ）に対する制御指示情報との差に基づいて、駆動対象の関節機構２２（ｊｉ）の駆動に対する障害が発生しているかを判定する。例えば制御指示情報には、駆動対象の関節機構２２（ｊｉ）のトルクτｄｉが含まれている。障害検知部１５は、駆動対象の関節機構２２（ｊｉ）に指示したトルクτｄｉと、その関節機構２２（ｊｉ）から得られたトルク値を比較して、差があるかを判定する。障害検知部１５は、駆動対象の関節機構２２（ｊｉ）に指示したトルクτｄｉと、その関節機構２２（ｊｉ）から得られたトルク値とに所定トルク値以上の差がある場合、その関節機構２２（ｊｉ）に障害が発生していると判定する。障害検知部１５は障害の発生している関節機構２２（ｊｉ）のＩＤ（識別子）等を関節寄与情報算出部１１へ出力する。関節寄与情報算出部１１は、当該ＩＤの関節機構２２（ｊｉ）の寄与情報（ｋｉ）を減少させるように更新する。寄与情報（ｋｉ）を減少させる幅は、駆動対象の関節機構２２（ｊｉ）に指示したトルクτｄｉと、その関節機構２２（ｊｉ）から得られたトルク値とに所定トルク値以上の差の大きさに応じた値であってよい。または、寄与情報（ｋｉ）を減少させる幅は、駆動対象の関節機構２２（ｊｉ）に指示したトルクτｄｉを含む任意の関数により算出してもよい。制御指示部１２は各関節機構２２（ｊｉ）の新たな寄与情報（ｋｉ）に基づいて、制御指示情報を算出する。
【００７５】
制御指示情報に各関節機構２２（ｊｉ）に対する角速度や、回転角度が含まれる場合があってよい。この場合には、障害検知部１５は、駆動対象の関節機構２２（ｊｉ）に指示した角速度や、回転角度と、その関節機構２２（ｊｉ）から得られた角速度や、回転角度を比較して、差があるかを判定する。障害検知部１５は、駆動対象の関節機構２２（ｊｉ）に指示した角速度や、回転角度と、その関節機構２２（ｊｉ）から得られた角速度や、回転角度に所定値以上の差がある場合、その関節機構２２（ｊｉ）に障害が発生していると判定する。そして上記同様に、障害検知部１５は障害の発生している関節機構２２（ｊｉ）のＩＤ等の識別子を関節寄与情報算出部１１へ出力する。関節寄与情報算出部１１は、当該ＩＤの関節機構２２（ｊｉ）の寄与情報（ｋｉ）を０に近づけるように更新し、制御指示部１２は各関節機構２２（ｊｉ）の新たな寄与情報（ｋｉ）に基づいて、制御指示情報を算出する。
【００７６】
図１０は寄与情報の算出例を示す第一の図である。
図１０で示すロボットアーム２は、ロボットアーム２の先端に向かって順にＪ１，Ｊ２，Ｊ３の各関節機構２２を備える。また図１０で示すロボットアーム２の動作概要では、現在位置Ｓから目標位置Ｇまで手先位置を移動させる場合の理を示している。一例として、時刻ｔ＝１のタイミング（５ａ）では、関節機構２２（Ｊ１）の寄与情報（ｋ１）＝９５、関節機構２２（Ｊ２）の寄与情報（ｋ２）＝８０、関節機構２２（Ｊ３）の寄与情報（ｋ３）＝６０である場合を示す。また時刻ｔ＝２のタイミング（５ｂ）では、関節機構２２（Ｊ１）の寄与情報（ｋ１）＝６０、関節機構２２（Ｊ２）の寄与情報（ｋ２）＝７５、関節機構２２（Ｊ３）の寄与情報（ｋ３）＝５５である場合を示す。また時刻ｔ＝３のタイミング（５ｃ）では、関節機構２２（Ｊ１）の寄与情報（ｋ１）＝５５、関節機構２２（Ｊ２）の寄与情報（ｋ２）＝８０、関節機構２２（Ｊ３）の寄与情報（ｋ３）＝５５である場合を示す。このようにロボットアーム２を制御装置１が制御している間、関節寄与情報算出部１１は、各関節機構２２（Ｊｉ）の寄与情報（ｋｉ）を算出する。この各関節機構２２（Ｊｉ）の寄与情報（ｋｉ）の値は動作状況に応じて変動する。ロボットアーム２の先端部の、現在に手先位置Ｓから目標位置Ｇまで移動する際の軌跡は、図１０（５ｃ）で示す軌跡Ｒ１となる。
【００７７】
図１１は寄与情報の算出例を示す第二の図である。
時刻ｔ＝１のタイミングで図１０と同様に制御装置１がロボットアーム２を制御する。そして時刻ｔ＝２のタイミングで障害検知部１５が、物体Ｍへの接触による障害発生を検知したとする。この場合、関節寄与情報算出部１１は、図１１（６ｂ）のタイミングｔ＝２で示すように、関節機構２２（Ｊ１）の寄与情報（ｋ１）＝５、関節機構２２（Ｊ２）の寄与情報（ｋ２）＝５、関節機構２２（Ｊ３）の寄与情報（ｋ３）＝５５と更新する。関節寄与情報算出部１１は、図１１（６ｃ）のタイミングｔ＝３においては、関節機構２２（Ｊ１）の寄与情報（ｋ１）＝５、関節機構２２（Ｊ２）の寄与情報（ｋ２）＝５、関節機構２２（Ｊ３）の寄与情報（ｋ３）＝５５と算出する。これにより、ロボットアーム２の手先位置の、現在位置Ｓから目標位置Ｇまで移動する際の軌跡は、図１１（６ｃ）で示す軌跡Ｒ２となる。つまり物体Ｍ（障害物）に近い関節機構２２（Ｊ２）の寄与情報が低く算出され、これにより関節機構２２（Ｊ２）の移動量が小さくなり、関節機構２２（Ｊ３）の移動量が大きくなる。図１０（５ｃ）で示す軌跡Ｒ１と比較して軌跡Ｒ２のように軌跡が変更しても、ロボットアーム２の先端部を目標位置Ｇまで移動させることができる。なおリンク２１は、長さを伸縮可能にする伸縮機構を備え、制御装置１は、先端部が目標位置Ｇに移動できるように何れかのリンク２１の伸縮機構を制御してその長さを変更することができてもよい。
【００７８】
図１２は寄与情報の算出例を示す第三の図である。
時刻ｔ＝１のタイミングで図１０と同様に、制御装置１がロボットアーム２を制御する。そして時刻ｔ＝２のタイミングで障害検知部１５が、カメラや測距センサから得た情報に基づいて、物体Ｍの座標を検知したとする。この場合、制御指示部１２は、リンク２１や関節機構２２の座標が物体の座標に近づくほど、リンク２１を動作させる関節機構２２や、物体に近づく関節機構２２についての寄与情報（ｋｉ）の値を減じて寄与情報（ｋｉ）を更新する。一例としては、関節寄与情報算出部１１は、図１２（７ｂ）のタイミングｔ＝２で示すように、関節機構２２（Ｊ１）の寄与情報（ｋ１）＝１５、関節機構２２（Ｊ２）の寄与情報（ｋ２）＝１５、関節機構２２（Ｊ３）の寄与情報（ｋ３）＝６５と更新する。関節寄与情報算出部１１は、図１２（７ｃ）のタイミングｔ＝３においては、関節機構２２（Ｊ１）の寄与情報（ｋ１）＝１５、関節機構２２（Ｊ２）の寄与情報（ｋ２）＝１５、関節機構２２（Ｊ３）の寄与情報（ｋ３）＝５５と算出し、この状態で制御指示部１２は制御指示情報を算出してロボットアーム２を駆動したとする。これにより、ロボットアーム２の手先位置の、現在位置Ｓから目標位置Ｇまで移動する際の軌跡は、図１２（７ｃ）で示す軌跡Ｒ３となる。図１０（５ｃ）で示す軌跡Ｒ１や図１１で（６ｃ）示す軌跡Ｒ２と比較して、軌跡Ｒ３のように軌跡が変更しても、ロボットアーム２の先端位置を目標位置Ｇまで移動させることができる。上述したように、リンク２１は、長さを伸縮可能にする伸縮機構を備え、制御装置１は、先端部が目標位置Ｇに移動できるように何れかのリンク２１の伸縮機構を制御してその長さを変更することができてもよい。
【００７９】
上述の例では、制御装置１は、複数のリンク２１と当該複数のリンク２１それぞれを連結先に回動自在に連結する関節機構２２とを備えたロボットアーム２の関節機構２２を駆動制御する場合の例について説明した。しかしながら、制御装置１は、複数の部位の位置関係を移動可能に連結する複数の駆動機構を備えたロボットの当該駆動機構を、上記と同様の処理により駆動制御するものであってもよい。
【００８０】
この場合、制御装置１は、複数の関節を有する当該駆動機構に接続され、駆動機構の状態や環境を示すシステム情報を取得する。制御装置１は、駆動機構の関節などの所定部位の制御目標を取得し、当該所定部位の制御目標への移動に寄与する寄与度を示す情報を算出する。そして制御装置１は、その寄与度を示す情報に基づいて制御指示情報を算出し、制御指示情報に基づいて駆動機構を制御する。
【００８１】
図１３は制御装置の最小構成を示す図である。
図１４は最小構成の制御装置による処理フローを示す図である。
複数の関節を有するロボットアーム２に接続された制御装置１は少なくとも、制御目標取得部１０と、関節寄与情報算出部１１と、制御指示部１２と、システム情報取得部１３との機能を発揮する。
システム情報取得部１３は、ロボットアーム２の姿勢状態またはロボットアーム２の駆動状態を少なくとも示すシステム情報を取得する（ステップＳ３０１）。
制御目標取得部１０は、ロボットアーム２の制御目標を示す制御目標情報を取得する（ステップＳ３０２）。
関節寄与情報算出部１１は、制御目標情報に基づくロボットアーム２の駆動に対する関節の寄与を示す指標である寄与情報をシステム情報に基づいて算出する（ステップＳ３０３）。
制御指示部１２は、寄与情報に基づいて各関節の駆動の制御に用いる制御指示情報を算出する（ステップＳ３０４）。
【００８２】
上述の制御装置１は内部に、コンピュータシステムを有している。そして、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００８３】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００８４】
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００８５】
１・・・制御装置
１０・・・制御目標取得部
１１・・・関節寄与情報算出部
１２・・・制御指示部
１３・・・システム情報取得部
１４・・・状態算出部
１５・・・障害検知部
２・・・ロボットアーム
２１・・・リンク
２２・・・関節機構
【図１】
2020161910.tif 000016
【図２】
2020161910.tif 000017
【図３】
2020161910.tif 000018
【図４】
2020161910.tif 000019
【図５】
2020161910.tif 000020
【図６】
2020161910.tif 000021
【図７】
2020161910.tif 000022
【図８】
2020161910.tif 000023
【図９】
2020161910.tif 000024
【図１０】
2020161910.tif 000025
【図１１】
2020161910.tif 000026
【図１２】
2020161910.tif 000027
【図１３】
2020161910.tif 000028
【図１４】
2020161910.tif 000029
【手続補正書】
【提出日】令和3年6月9日(2021.6.9)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の関節を有するロボットアームに接続され、
前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得するシステム情報取得部と、
前記ロボットアームの制御目標を示す制御目標情報を取得する制御目標取得部と、
前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出する関節寄与情報算出部と、
前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する制御指示部と、
を備える制御装置。
【請求項２】
前記システム情報は、前記ロボットアームの動きを妨げる障害物の位置情報を含み、
前記関節寄与情報算出部は、前記障害物の位置情報を用いて前記寄与情報を算出する
請求項１に記載の制御装置。
【請求項３】
前記関節寄与情報算出部は、前記ロボットアームの前記姿勢状態に基づいて前記寄与情報を算出する
ことを特徴とする請求項１または請求項２に記載の制御装置。
【請求項４】
前記関節寄与情報算出部は、前記ロボットアームの前記駆動状態に基づいて前記寄与情報を算出する
ことを特徴とする請求項１から請求項３の何れか一項に記載の制御装置。
【請求項５】
前記関節寄与情報算出部は、障害物の位置情報の変化に基づいて、前記寄与情報を再計算する
請求項１から請求項４の何れか一項に記載の制御装置。
【請求項６】
複数の関節を有するロボットアームに接続された制御装置が、
前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得し、
前記ロボットアームの制御目標を示す制御目標情報を取得し、
前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出し、
前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する
制御方法。
【請求項７】
複数の関節を有するロボットアームに接続された制御装置において、
前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得するシステム情報取得機能と、
前記ロボットアームの制御目標を示す制御目標情報を取得する制御目標取得機能と、
前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出する関節寄与情報算出機能と、
前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する制御指示機能と、
を実現させるプログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、制御装置、制御方法、プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
そこでこの発明は、上述の課題を解決する制御装置、制御方法、プログラムを提供することを目的としている。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
本発明の第３の態様によれば、プログラムは、複数の関節を有するロボットアームに接続された制御装置において、前記ロボットアームの姿勢状態または前記ロボットアームの駆動状態を少なくとも示すシステム情報を取得するシステム情報取得機能と、前記ロボットアームの制御目標を示す制御目標情報を取得する制御目標取得機能と、前記制御目標情報に基づく前記ロボットアームの駆動に対する前記関節の寄与を示す指標である寄与情報を前記システム情報に基づいて算出する関節寄与情報算出機能と、前記寄与情報に基づいて前記各関節の駆動の制御に用いる制御指示情報を算出する制御指示機能と、を実現させることを特徴とする。
【国際調査報告】
2020161910.tif 000030
2020161910.tif 000031
2020161910.tif 000032
2020161910.tif 000033