(57)【要約】【課題】ユーザーの習熟度に関わらず、ロボットが高速に動作するようにロボットの加速度を制御するための制御量を調整する。【解決手段】ロボット制御装置１０は、ロボットＲＢの経路に関する経路情報及びロボットＲＢが経路を移動する際の速度に関する速度情報を取得する第１の取得部２０と、ロボットＲＢの仕様に関する仕様情報を取得する第２の取得部２２と、経路に経由点を追加してもロボットＲＢの動作時間が短くなる区間を判定する判定部２４と、ロボットＲＢの動作時間が短くなる区間においてイナーシャが小さくなるようにロボットＲＢの経路を補正する補正部２６と、ロボットの関節に作用する負荷を算出する算出部２８と、算出部２８により算出された負荷が目標負荷を満たすように、ロボットＲＢの関節の加速度を制御するための制御量を調整する調整部３０と、を備える。【選択図】図４
2020110884.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの経路に関する経路情報及び前記ロボットが前記経路を移動する際の速度に関する速度情報を取得する第１の取得部と、
前記ロボットの仕様に関する仕様情報を取得する第２の取得部と、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記経路に経由点を追加しても前記ロボットの動作時間が短くなる区間を判定する判定部と、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの動作時間が短くなる区間において前記ロボットのイナーシャが小さくなるように前記ロボットの経路を補正する補正部と、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、補正された経路における前記ロボットの関節に作用する負荷を算出する算出部と、
前記算出部により算出された負荷が目標負荷を満たすように、前記ロボットの関節の加速度を制御するための制御量を調整する調整部と、
を備えたロボット制御装置。
【請求項２】
前記第１の取得部は、障害物に関する障害物情報を取得し、
前記判定部は、前記障害物情報に基づいて前記ロボットが前記障害物に干渉するか否かを判定し、
前記補正部は、前記ロボットが前記障害物に干渉すると判定された場合に、前記ロボットが前記障害物に干渉しないように前記ロボットの経路を再度補正する
請求項１記載のロボット制御装置。
【請求項３】
前記ロボットの初期姿勢及び目標姿勢に関する姿勢情報及び障害物に関する障害物情報を取得し、取得した前記姿勢情報、前記障害物情報、及び前記仕様情報に基づいて、前記経路情報及び前記速度情報を生成する経路生成部
を備えた請求項１記載のロボット制御装置。
【請求項４】
前記判定部は、前記ロボットの動作時間が短くなると判定した区間について、前記経路を補正可能な区間を含むか否かを判定し、
前記補正部は、前記経路を補正可能な区間と判定した区間のみについて前記経路を補正する
請求項１〜３の何れか１項に記載のロボット制御装置。
【請求項５】
前記判定部は、前記速度情報で表される速度プロファイルから算出された前記ロボットの第１の動作時間と、前記経路に追加した経由点で分割された各区間の速度情報で表される速度プロファイルを合成した合成プロファイルから算出された前記ロボットの第２の動作時間と、を比較し、前記第２の動作時間が前記第１の動作時間未満の場合に、前記経路を前記ロボットの動作時間が短くなる区間と判定する
請求項１〜４の何れか１項に記載のロボット制御装置。
【請求項６】
コンピュータが、
ロボットの経路に関する経路情報及び前記ロボットが前記経路を移動する際の速度に関する速度情報を取得する第１の取得工程と、
前記ロボットの仕様に関する仕様情報を取得する第２の取得工程と、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記経路に経由点を追加しても前記ロボットの動作時間が短くなる区間を判定する判定工程と、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの動作時間が短くなる区間において前記ロボットのイナーシャが小さくなるように前記ロボットの経路を補正する補正工程と、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの関節に作用する負荷を算出する算出工程と、
前記算出工程により算出された負荷が目標負荷を満たすように、前記ロボットの関節の加速度を制御するための制御量を調整する調整工程と、
を含む処理を実行するロボット制御方法。
【請求項７】
コンピュータを、
ロボットの経路に関する経路情報及び前記ロボットが前記経路を移動する際の速度に関する速度情報を取得する第１の取得部、
前記ロボットの仕様に関する仕様情報を取得する第２の取得部、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記経路に経由点を追加しても前記ロボットの動作時間が短くなる区間を判定する判定部、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの動作時間が短くなる区間において前記ロボットのイナーシャが小さくなるように前記ロボットの経路を補正する補正部、
前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの関節に作用する負荷を算出する算出部、及び、
前記算出部により算出された負荷が目標負荷を満たすように、前記ロボットの関節の加速度を制御するための制御量を調整する調整部、
として機能させるためのロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット制御装置、ロボット制御方法、及びロボット制御プログラムに関する。
【背景技術】
【０００２】
ロボットの軌道を生成する技術として、特許文献１には、基準軌道にてロボットを動作した場合にロボットの構成部品に加わる負荷を負荷判定値と比較する負荷判定部と、負荷が負荷判定値よりも大きい場合にロボットの速度を低減する速度低減部とを備えたロボットの軌道生成装置が開示されている。
【０００３】
また、特許文献２には、ボブロー法を用いて速度パターンを演算する際に、軌道上の位置を角度に変換して演算を行うことで、ロボットのアーム形態を左手系、右手系の何れか一方に限定することなく、左右両方の手系を用いて最速となる速度パターンを求める多軸型ロボットの軌道生成方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６１２６１５２号公報
【特許文献２】特許第６２６８８１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ロボットの高速な動作を実現するためには、教示点または経路計画で生成された経由点をもとに、ロボットの動作に関連するパラメータである加速度を人手で調整する必要があった。この人手による調整は、ロボットに過大な負荷を与えず、かつタクトタイムが短くなるパラメータをトライアンドエラーで見つけなくてはならず、その手間はユーザの大きな負担になっていた。特に、教示点や経路計画で生成された経由点のバリエーションが多い場合は、調整の手間が膨大になり、全てのケースで最適な加速度を見つけることは困難であった。
【０００６】
本発明は、上記の点に鑑みてなされたものであり、ユーザーの習熟度に関わらず、ロボットが高速に動作するようにロボットの加速度を制御するための制御量を調整することができるロボット制御装置、ロボット制御方法、及びロボット制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示の第１態様は、ロボット制御装置であって、ロボットの経路に関する経路情報及び前記ロボットが前記経路を移動する際の速度に関する速度情報を取得する第１の取得部と、前記ロボットの仕様に関する仕様情報を取得する第２の取得部と、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記経路に経由点を追加しても前記ロボットの動作時間が短くなる区間を判定する判定部と、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの動作時間が短くなる区間において前記ロボットのイナーシャが小さくなるように前記ロボットの経路を補正する補正部と、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、補正された経路における前記ロボットの関節に作用する負荷を算出する算出部と、前記算出部により算出された負荷が目標負荷を満たすように、前記ロボットの関節の加速度を制御するための制御量を調整する調整部と、を備える。
【０００８】
上記第１態様において、前記第１の取得部は、障害物に関する障害物情報を取得し、前記判定部は、前記障害物情報に基づいて前記ロボットが前記障害物に干渉するか否かを判定し、前記補正部は、前記ロボットが前記障害物に干渉すると判定された場合に、前記ロボットが前記障害物に干渉しないように前記ロボットの経路を再度補正してもよい。
【０００９】
上記第１態様において、前記ロボットの初期姿勢及び目標姿勢に関する姿勢情報及び障害物に関する障害物情報を取得し、取得した前記姿勢情報、前記障害物情報、及び前記仕様情報に基づいて、前記経路情報及び前記速度情報を生成する経路生成部を備えた構成としてもよい。
【００１０】
上記第１態様において、前記判定部は、前記ロボットの動作時間が短くなると判定した区間について、前記経路を補正可能な区間を含むか否かを判定し、前記補正部は、前記経路を補正可能な区間と判定した区間のみについて前記経路を補正してもよい。
【００１１】
上記第１態様において、前記判定部は、前記速度情報で表される速度プロファイルから算出された前記ロボットの第１の動作時間と、前記経路に追加した経由点で分割された各区間の速度情報で表される速度プロファイルを合成した合成プロファイルから算出された前記ロボットの第２の動作時間と、を比較し、前記第２の動作時間が前記第１の動作時間未満の場合に、前記経路を前記ロボットの動作時間が短くなる区間と判定してもよい。
【００１２】
開示の第２態様は、ロボット制御方法であって、コンピュータが、ロボットの経路に関する経路情報及び前記ロボットが前記経路を移動する際の速度に関する速度情報を取得する第１の取得工程と、前記ロボットの仕様に関する仕様情報を取得する第２の取得工程と、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記経路に経由点を追加しても前記ロボットの動作時間が短くなる区間を判定する判定工程と、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの動作時間が短くなる区間において前記ロボットのイナーシャが小さくなるように前記ロボットの経路を補正する補正工程と、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの関節に作用する負荷を算出する算出工程と、前記算出工程により算出された負荷が目標負荷を満たすように、前記ロボットの関節の加速度を制御するための制御量を調整する調整工程と、を含む処理を実行する。
【００１３】
開示の第３態様は、ロボット制御プログラムであって、コンピュータを、ロボットの経路に関する経路情報及び前記ロボットが前記経路を移動する際の速度に関する速度情報を取得する第１の取得部、前記ロボットの仕様に関する仕様情報を取得する第２の取得部、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記経路に経由点を追加しても前記ロボットの動作時間が短くなる区間を判定する判定部、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの動作時間が短くなる区間において前記ロボットのイナーシャが小さくなるように前記ロボットの経路を補正する補正部、前記経路情報、前記速度情報、及び前記仕様情報に基づいて、前記ロボットの関節に作用する負荷を算出する算出部、及び、前記算出部により算出された負荷が目標負荷を満たすように、前記ロボットの関節の加速度を制御するための制御量を調整する調整部、として機能させる。
【発明の効果】
【００１４】
本発明によれば、ユーザーの習熟度に関わらず、ロボットが高速に動作するようにロボットの加速度を制御するための制御量を調整することができる。
【図面の簡単な説明】
【００１５】
【図１】ロボット及びロボット制御装置の概略構成を示す図である。
【図２】垂直多関節ロボットであるロボットの構成を示す図である。
【図３】ロボット制御装置のハードウェア構成を示すブロック図である。
【図４】第１実施形態に係るロボット制御装置の機能構成の例を示すブロック図である。
【図５】予測負荷と、ジョイントの回転速度の変化との関係を示す図である。
【図６】予測負荷のプロファイルと、プロファイルにおいて占めるトルクの成分とを表す図である。
【図７】速度を低減した場合と、加速度を低減した場合とのタクトタイムの変化を示す図である。
【図８】第１実施形態に係るロボット制御装置によるロボット制御処理の流れを示すフローチャートである。
【図９】速度プロファイルの一例を示す図である。
【図１０】速度プロファイルの一例を示す図である。
【図１１】速度プロファイルの一例を示す図である。
【図１２】速度プロファイルの一例を示す図である。
【図１３】速度プロファイルの一例を示す図である。
【図１４】経由点を追加しない場合の経路について説明するための図である。
【図１５】経由点を追加した場合の経路について説明するための図である。
【図１６】第２実施形態に係るロボット制御装置の機能構成の例を示すブロック図である。
【図１７】第２実施形態に係るロボット制御装置によるロボット制御処理の流れを示すフローチャートである。
【図１８】第３実施形態に係るロボット制御装置の機能構成の例を示すブロック図である。
【図１９】第３実施形態に係るロボット制御装置によるロボット制御処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
【００１７】
（第１実施形態）
【００１８】
図１は、ロボット及びロボット制御装置の概略構成を示す図である。
【００１９】
図１に示すように、ロボット制御装置１０は、ロボットＲＢに接続され、ロボットＲＢが動作する際のパラメータ（動作指令値）を調整する。ロボット制御装置１０は、ロボットＲＢを制御する制御装置の一機能として、制御装置に組み込まれても良い。ロボット制御装置１０の詳細な構成については、後述する。
【００２０】
ロボットＲＢは、ユーザにより教示される複数の教示点、又は、経路計画から生成された複数の経由点に沿って運動する。運動の際には、ロボットＲＢは、各種の動作指令値に従う。各種の動作指令値には、例えば、速度、加速度、減速度、ロボットＲＢの関節の回転角度等が含まれる。ロボットＲＢは、ロボット制御装置１０により調整された動作指令値に従って運動する。本実施形態では、ロボットＲＢの動作指令値のうち加速度を制御するための制御量を調整する場合について説明する。なお、減速度は負の加速度であるので、加速度の調整には減速度の調整も含まれるものとする。
【００２１】
ロボットＲＢは、一例として、先端にエンドエフェクタとしてロボットハンドＨが取り付けられている。この場合、ロボットＲＢは、例えばロボットＲＢの操作対象であるワークＷを所定の位置で把持し、所定の目的地まで搬送及び載置する、いわゆるピックアンドプレースロボットである。他の例として、ロボットＲＢは、エンドエフェクタとして工具が取り付けられている。この場合、ロボットＲＢは、教示された経路又は経路計画に基づく経路に従って移動し、所定の場所で、溶接、ねじ止め、検査等の所定の処理を行う。
【００２２】
ロボット制御装置１０の詳細について説明する前に、ロボットＲＢの構成について説明する。本実施形態では、一例としてロボットＲＢが垂直多関節ロボットである場合について説明する。しかし、水平多関節ロボット（スカラーロボット）、パラレルリンクロボット、直交ロボット、モバイルロボット、飛行ロボット（ドローン）、及びヒューマノイド型ロボット等にも本発明は適用可能である。
【００２３】
図２は、垂直多関節ロボットであるロボットの構成を示す図である。
【００２４】
図２に示すように、ロボットＲＢは、ベースリンクＢＬ、リンクＬ１〜Ｌ６、ジョイントＪ１〜Ｊ６を備えた６自由度の６軸ロボットである。なお、ジョイントとは、リンク同士を接続する関節である。ジョイントＪ１〜Ｊ６は、図示しないモータによりリンク同士を回転可能に接続する。本実施形態では、６軸ロボットを例に説明するが、軸の数は６に限定されず、２以上のいかなる数であっても良い。軸の数に伴い、リンクの数も変わる。
【００２５】
ベースリンクＢＬとリンクＬ１とは、図２において鉛直軸Ｓ１を中心として矢印Ｃ１方向に回転するジョイントＪ１を介して接続されている。従って、リンクＬ１は、ベースリンクＢＬを支点として矢印Ｃ１方向に回転する。
【００２６】
リンクＬ１とリンクＬ２とは、図２において水平軸Ｓ２を中心として矢印Ｃ２方向に回転するジョイントＪ２を介して接続されている。従って、リンクＬ２は、ジョイントＪ１を支点として矢印Ｃ２方向に回転する。
【００２７】
リンクＬ２とリンクＬ３とは、図２において軸Ｓ３を中心として矢印Ｃ３方向に回転するジョイントＪ３を介して接続されている。従って、リンクＬ３は、ジョイントＪ２を支点として矢印Ｃ３方向に回転する。
【００２８】
リンクＬ３とリンクＬ４とは、図２において軸Ｓ４を中心として矢印Ｃ４方向に回転するジョイントＪ４を介して接続されている。従って、リンクＬ４は、ジョイントＪ３を支点として矢印Ｃ４方向に回転する。
【００２９】
リンクＬ４とリンクＬ５とは、図２において軸Ｓ５を中心として矢印Ｃ５方向に回転するジョイントＪ５を介して接続されている。従って、リンクＬ５は、ジョイントＪ４を支点として矢印Ｃ５方向に回転する。
【００３０】
リンクＬ５とリンクＬ６とは、図２において軸Ｓ６を中心として矢印Ｃ６方向に回転するジョイントＪ６を介して接続されている。従って、リンクＬ６は、ジョイントＪ５を支点として矢印Ｃ６方向に回転する。なお、図２では図示は省略したが、リンクＬ６にロボットハンドＨが取り付けられる。
【００３１】
ジョイントＪ１〜Ｊ６は、予め定めた回転角度の範囲が可動域として各々設定されている。
【００３２】
ロボットＲＢの手先の位置又はロボットＲＢの姿勢は、各ジョイントＪ１〜Ｊ６の各々の回転角度によって定まる。従って、ロボットＲＢに経路を教示する場合には、各ジョイントＪ１〜Ｊ６の回転角度の角度値を、ロボットの持つ軸数分の次元のベクトル(本実施形態の場合は６次元のベクトル)として表現し、当該ベクトルを、教示点として順に教示する。経路を教示するのではなく生成する場合についても、同様に、ロボットＲＢが通過する経由点が、各ジョイントＪ１〜Ｊ６の軸数分の次元のベクトルとして生成される。なお、動作経路として、教示点又は経由点における各角度値を持つベクトルデータではなく、直交座標系上での各座標値を持つベクトルデータが与えられる場合もある。この場合、直交座標系上の座標値は、ロボットの逆運動学に基づいて、ジョイントＪ１〜Ｊ６の角度値に変換可能である。
【００３３】
次に、ロボット制御装置１０について説明する。
【００３４】
図３は、第１実施形態に係るロボット制御装置１０のハードウェア構成を示すブロック図である。
【００３５】
図３に示すように、ロボット制御装置１０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ストレージ１４、入力部１５、モニタ１６、光ディスク駆動装置１７及び通信インタフェース１８を有する。各構成は、バス１９を介して相互に通信可能に接続されている。
【００３６】
本実施形態では、ＲＯＭ１２又はストレージ１４には、ロボットＲＢを制御するロボット制御プログラムが格納されている。ＣＰＵ１１は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４からプログラムを読み出し、ＲＡＭ１３を作業領域としてプログラムを実行する。ＣＰＵ１１は、ＲＯＭ１２又はストレージ１４に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【００３７】
ＲＯＭ１２は、各種プログラム及び各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ１４は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【００３８】
入力部１５は、キーボード１５１、及びマウス１５２等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ１６は、例えば、液晶ディスプレイであり、ワークの吸着の成否等の各種の情報を表示する。モニタ１６は、タッチパネル方式を採用して、入力部１５として機能してもよい。光ディスク駆動装置１７は、各種の記録媒体(ＣＤ−ＲＯＭ又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
【００３９】
通信インタフェース１８は、他の機器と通信するためのインタフェースであり、例えば、イーサネット（登録商標）、ＦＤＤＩ又はＷｉ−Ｆｉ（登録商標）等の規格が用いられる。
【００４０】
次に、ロボット制御装置１０の機能構成について説明する。
【００４１】
図４は、ロボット制御装置１０の機能構成の例を示すブロック図である。
【００４２】
図４に示すように、ロボット制御装置１０は、機能構成として、第１の取得部２０、第２の取得部２２、判定部２４、補正部２６、算出部２８、及び調整部３０を有する。各機能構成は、ＣＰＵ１１がＲＯＭ１２又はストレージ１４に記憶されたロボット制御プログラムを読み出し、ＲＡＭ１３に展開して実行することにより実現される。
【００４３】
第１の取得部２０は、ロボットＲＢの経路に関する経路情報及びロボットＲＢが経路を移動する際の速度に関する速度情報を取得する。
【００４４】
経路情報は、ロボットＲＢの任意の初期姿勢から目標姿勢までの経路に関する情報である。ここで、経路とは、ロボットＲＢを初期姿勢から目標姿勢まで動作させる場合の姿勢のリストである。ロボットＲＢの姿勢は、各ジョイントＪ１〜Ｊ６の回転角度の角度値で定まるため、経路は、ロボットＲＢの初期姿勢から目標姿勢までのロボットＲＢの教示点又は経由点の各ジョイントＪ１〜Ｊ６の回転角度の角度値のリストである。
【００４５】
また、速度情報は、ロボットＲＢが初期姿勢から目標姿勢まで動作する場合の速度の変化を表す速度プロファイルを含む。ロボットＲＢは、速度プロファイルに従って動作する。
【００４６】
第２の取得部２２は、ロボットＲＢの仕様に関する仕様情報を取得する。仕様情報は、各ジョイントＪ１〜Ｊ６の最大速度、最大加速度、最大減速度、回転角度が取り得る角度範囲等の仕様を表す情報を含む。また、仕様情報は、ロボットＲＢの運動方程式の情報を含む。運動方程式は、ロボットＲＢの物理モデル等を用いて、運動時のロボットＲＢの各ジョイントＪ１〜Ｊ６の加速度と、ロボットＲＢの各ジョイントＪ１〜Ｊ６に作用する負荷との関係を解析して数式化して得られる。運動方程式には、リンクＬ１〜Ｌ６に作用する外力等の他の要素も含まれうる。負荷は、各ジョイントＪ１〜Ｊ６に作用するトルク、トルクの変化率、運動エネルギー、各ジョイントＪ１〜Ｊ６に供給される電流及び電力の少なくとも一つを含む機械的又は電気的エネルギーである。本実施形態では、負荷が、各ジョイントＪ１〜Ｊ６に作用するトルクである場合を例に説明する。
【００４７】
判定部２４は、経路情報、速度情報、及び仕様情報に基づいて、経路に経由点を追加してもロボットＲＢの動作時間が短くなる区間をイナーシャ低減可能区間として判定する。イナーシャ低減可能区間とは、ジョイントのイナーシャを低減可能な区間である。
【００４８】
詳細は後述するが、判定部２４は、例えば経路情報に基づいて予め定めたジョイントが動作し続ける区間、すなわち停止しない区間を特定し、特定した区間内に経由点を設定する。そして、判定部２４は、経由点を設定した場合の速度情報、すなわち速度プロファイルを算出し、算出した速度プロファイルから特定されるロボットＲＢの動作時間と、第１の取得部２０が取得した速度プロファイルから特定されるロボットＲＢの動作時間と、を比較する。そして、経由点を設定した場合のロボットＲＢの動作時間が、第１の取得部２０が取得した速度プロファイルから特定されるロボットＲＢの動作時間未満であれば、経路に経由点を追加してもロボットＲＢの動作時間が短くなる区間であるイナーシャ低減可能区間と判定する。
【００４９】
補正部２６は、経路情報、速度情報、及び仕様情報に基づいて、判定部２４が判定したイナーシャ低減可能区間においてジョイントのイナーシャが小さくなるようにロボットＲＢの経路を補正する、すなわち、経由点におけるロボットＲＢの姿勢を経路に追加する。
【００５０】
算出部２８は、経路情報、速度情報、及び仕様情報に基づいて、補正された経路におけるロボットの関節、すなわちジョイントＪ１〜Ｊ６に作用するトルクを算出する。
【００５１】
調整部３０は、算出部２８により算出された各ジョイントＪ１〜Ｊ６のトルクが目標負荷、すなわち目標トルクを満たすように、ロボットＲＢの各ジョイントＪ１〜Ｊ６の加速度を制御するための制御量を調整する。ここで、制御量とは、ロボットＲＢの各ジョイントＪ１〜Ｊ６のモータを駆動する際の制御量である。この場合、仕様情報に基づき、最大加速度及び最大減速度を超えないように加速度を制御するための制御量を調整する。目標トルクは、ロボットＲＢのジョイントＪ１〜Ｊ６毎に設定されても良いし、ジョイントＪ１〜Ｊ６に共通の値として設定されても良い。目標トルクは、ロボットＲＢの仕様に応じて適宜決定される。例えば、目標トルクは、ジョイントＪ１〜Ｊ６に対して許容されるトルクの上限値から所定のマージン値だけ減算された値として得られる。調整部３０は、補正された経路及び調整された加速度による速度プロファイルに基づいてロボットＲＢを制御する。
【００５２】
このように、ロボット制御装置１０は、ロボットＲＢの加速度を制御するための制御量を調整する。ロボットＲＢの加速度を制御するための制御量を調整する場合、速度を調整する場合よりも、ジョイントＪ１〜Ｊ６に作用する負荷を調整しやすく、かつ、タクトタイムを低減できる。この点について、図５〜図７を参照して説明する。
【００５３】
図５は、ロボットＲＢに作用すると予測される予測負荷と、ジョイントの回転速度の変化との関係を示す図である。図６は、予測負荷のプロファイルと、プロファイルにおいて占めるトルクの成分とを表す図である。図７は、速度を低減した場合と、加速度を低減した場合とのタクトタイムの変化を示す図である。
【００５４】
図５において、横軸に時間を表し、縦軸にジョイントに作用する予測負荷を表している。また、図５には、ジョイントの速度の変化を点線により示している。図５に示すように、速度の増加に伴い、予測負荷が増加する。速度が減少し始めると、予測負荷の符号が反転し、予測負荷が増加する。
【００５５】
ここで、図６に示すように、予測負荷のプロファイルを使って、予測負荷を構成する成分として、慣性トルク、摩擦トルク及びその他の力を表現できる。予測負荷をτとして、慣性トルク、摩擦トルク及びその他の力は、次の運動方程式として表すことができる。
【００５６】
【数１】
2020110884.tif 000003
【００５７】
上記式（１）及び図６より、慣性トルクは加速度の大きさにより決まり、摩擦トルクは速度の大きさにより決まる。特に、図６に示すように、予測負荷に対する影響は、慣性トルクの方が摩擦トルクよりも大きい事が明確である。従って、速度のみを下げるだけでは、慣性トルクが効果的に下げられるか分からず、目標負荷値に近づけられるかも分からない。そもそも慣性トルクだけで、目標負荷値又は負荷の許容値を超えている場合、速度だけ低減しても、負荷を目標負荷値以下に抑えられない。一方、摩擦トルクだけで、目標負荷値又は負荷の許容値を超えるケースは一般的にはない。なぜなら、速度にも許容値が仕様として定義されており、速度が許容値の範囲内ならば、摩擦トルクが負荷の許容値を超えることはないからである。従って、加速度の調整だけで、予測負荷を目標負荷に抑えることは可能である。
【００５８】
以上のように、負荷の成分の観点から、上記実施形態のように加速度を制御するための制御量を調整することが、速度を調整することよりも優れていることが明確である。
【００５９】
また、図７の上図に示すように、速度を低減した場合と、図７の下図に示すように、加速度を低減した場合と、を比べると、加速度の低減の方が、速度の低減よりも、変化率が小さくても同じだけ負荷を低減できる。このため、同じ負荷を低減する場合でも、加速度を低減する方が、速度を低減するよりも動作時間が短くなる。結果として、図７に示すように、加速度を制御するための制御量を調整した場合の方が、同じ負荷を速度により調整する場合に比べて、タクトタイムが短くなる。
【００６０】
以上のように、タクトタイムの観点から、本実施形態のように加速度を制御するための制御量を調整することが、速度を調整することよりも優れていることが明確である。
【００６１】
次に、ロボット制御装置１０の作用について説明する。
【００６２】
図８は、ロボット制御装置１０によるロボット制御処理の流れを示すフローチャートである。ＣＰＵ１１がＲＯＭ１２又はストレージ１４からロボット制御プログラムを読み出して、ＲＡＭ１３に展開し実行することにより、ロボット制御処理が行なわれる。
【００６３】
ＣＰＵ１１は、第１の取得部２０として、ロボットＲＢの経路に関する経路情報と、ロボットＲＢが経路を移動する際の速度に関する速度情報、すなわち速度プロファイルを取得する（ステップＳ１００）。図９には、一例としてジョイントＪ１の速度プロファイルＰを示した。図９の横軸は時間、縦軸は速度である。図９に示す速度プロファイルの例では、ロボットＲＢが初期姿勢であるｔ１の時点から徐々に速度が徐々に増加し、ｔ２〜ｔ３の時点まではジョイントＪ１の最大速度が維持される。そして、ｔ３の時点から速度が徐々に低下し、ｔ４の時点で停止する。
【００６４】
ＣＰＵ１１は、第２の取得部２２として、ロボットＲＢの仕様に関する仕様情報を取得する（ステップＳ１０２）。すなわち、ロボットＲＢの最大速度、最大加速度、最大減速度、各ジョイントの回転角度が取り得る角度範囲等の仕様を表す情報及びロボットＲＢの運動方程式の情報を取得する。運動方程式は、上記式（１）のパラメータがロボットＲＢの仕様に応じて定義されたものである。
【００６５】
ＣＰＵ１１は、判定部２４として、経路情報、速度情報、及び仕様情報に基づいて、経路に経由点を追加してもジョイントの動作時間が短くなる区間をイナーシャ低減可能区間として判定する（ステップＳ１０４）。まず、判定部２４は、経路情報に基づいてジョイントが動作し続ける区間、すなわち停止しない区間を特定する。本実施形態では、一例としてジョイントＪ１が動作し続ける動作区間を特定する。図９の例では、ｔ１〜ｔ４までジョイントＪ１は動作し続けるので、ｔ１〜ｔ４の区間が動作区間として特定される。
【００６６】
次に、追加する経由点を設定する。本実施形態では、一例としてジョイントＪ１の動作区間の中間に経由点を設定する。例えば図９に示すように、ｔ１〜ｔ４の中間ｔｃに経由点を追加する。そして、追加した経由点で経路を分割した場合の各区間の速度プロファイルを算出する。具体的には、図１０に示すように、前半の速度プロファイルＰ１と、後半の速度プロファイルＰ２と、をロボットＲＢの経路情報、速度情報、及び仕様情報に基づいて算出する。なお、前半の速度プロファイルＰ１及び後半の速度プロファイルＰ２の形状は、ロボットＲＢの仕様情報に含まれる最大速度、最大加速度、及び最大減速度等によって変わる。
【００６７】
図１０に示すように、経由点を追加した場合、中間ｔｃを含む区間で減速と加速がオーバーラップする場合がある。この減速と加速は無駄である。そこで、前半の速度プロファイルＰ１及び後半の速度プロファイルＰ２を合算して合成プロファイルを生成する。これにより、図１１に示すような合成プロファイルＰ１０が生成される。合成プロファイルＰ１０では、ｔ２〜ｔ３の区間が等速度となり、ジョイントＪ１の滑らかな動作が可能となる。
【００６８】
次に、ステップＳ１００で取得した図９に示す速度プロファイルＰにおけるジョイントＪ１の動作時間と、図１１に示す合成プロファイルＰ１０におけるジョイントＪ１の動作時間と、を比較する。すなわち図９のｔ１〜ｔ４までの時間ｔｘ（第１の動作時間）と、図１１のｔ１〜ｔ４までの時間ｔｙ（第２の動作時間）と、を比較する。そして、合成プロファイルＰ１０におけるジョイントＪ１の動作時間ｔｙが、ステップＳ１００で取得した速度プロファイルＰにおけるジョイントＪ１の動作時間ｔｘ未満の場合、すなわち、経由点を追加してもジョイントＪ１の動作時間が短くなる場合は、ステップＳ１００で取得した速度プロファイルＰのｔ１〜ｔ４の区間におけるジョイントＪ１の経路をイナーシャ低減可能区間として設定する。
【００６９】
一方、合成プロファイルＰ１０におけるジョイントＪ１の動作時間ｔｙが、ステップＳ１００で取得した速度プロファイルＰにおけるジョイントＪ１の動作時間より長い場合、すなわち、経由点を追加するとジョイントＪ１の動作時間が長くなってしまう場合は、イナーシャ低減可能区間は設定されない。
【００７０】
なお、図１１の例では、ｔ２〜ｔ３の区間がジョイントＪ１の最大速度に維持され、経由点を追加しても十分な加速時間が確保できる速度プロファイルとなっている。そして、図１１の合成プロファイルＰ１０における動作時間ｔｙは、図９の速度プロファイルＰにおける動作時間ｔｘと同じである。このため、ステップＳ１００で取得した速度プロファイルＰのｔ１〜ｔ４の区間におけるジョイントＪ１の経路がイナーシャ低減可能区間として設定される。
【００７１】
ここで、イナーシャ低減可能区間が設定されない場合について説明する。ジョイントＪ１の速度プロファイルが図１２に示すような速度プロファイルＰ２０であったとする。そして、速度プロファイルＰ２０において、経由点を追加して合成プロファイルを生成すると図１３に示すような合成プロファイルＰ３０が生成されたとする。この合成プロファイルＰ３０では、ｔ２〜ｔ３の区間がジョイントＪ１の最大速度に維持されず、経由点を追加しても十分な加速時間が確保できない速度プロファイルとなっている。そして、図１３の合成プロファイルＰ３０における動作時間ｔｙは、図１２の速度プロファイルＰ２０における動作時間ｔｘよりも長くなっている。この場合、ステップＳ１００で取得した速度プロファイルＰのｔ１〜ｔ４の区間におけるジョイントＪ１の経路は、イナーシャ低減可能区間として設定されない。
【００７２】
ＣＰＵ１１は、判定部２４として、イナーシャ低減可能区間が設定されたか否かを判定する（ステップＳ１０６）。そして、イナーシャ低減可能区間が設定された場合（ステップＳ１０６：ＹＥＳ）はステップＳ１０８へ移行し、イナーシャ低減可能区間が設定されなかった場合（ステップＳ１０６：ＮＯ）はステップＳ１２０へ移行する。
【００７３】
なお、判定部２４は、ロボットＲＢの動作時間が短くなると判定したイナーシャ低減可能区間が設定された場合、当該イナーシャ低減可能区間について、経路を補正可能な区間を含むか否かを判定し、経路を補正可能な区間と判定した区間のみについて経路を補正するようにしてもよい。すなわち、経路を補正できる区間についてのみステップＳ１０８以降の処理を実行し、経路を補正できない区間については、ステップＳ１０８以降の処理を実行しないようにしてもよい。
【００７４】
ここで、経路を補正可能な区間とは、経由点を追加して経路を補正してもロボットＲＢの動作に悪影響を及ぼさない区間である。例えば、ロボット制御装置１０がピックアンドプレース装置に適用される場合、ワークを把持してから所定の載置場所まで運んで載置するまでの経路は、ワークを把持するまでの第１区間、把持したワークを載置する場所まで運ぶ第２区間、把持したワークを載置するまでの第３区間に分けられる。この場合、第２区間については、経由点を追加して経路を補正し高速化を図ってもロボットＲＢの動作に悪影響を及ぼさない区間と考えられる。一方、第１区間及び第３区間は、ロボットＲＢがワークを把持したり載置したりする動作が含まれる。このため、第１区間及び第３区間について高速化を図ろうとすると、把持したワークを落としたりする等、ロボットＲＢの動作に悪影響を及ぼす虞がある。従って、第２区間のみステップＳ１０８以降の処理を実行し、第１区間、第３区間については、ステップＳ１０８以降の処理を実行しないようにしてもよい。
【００７５】
なお、経路を補正可能な区間及び経路を補正不可能な区間については、予め設定しておいてもよいし、ユーザーに設定させてもよい。
【００７６】
ＣＰＵ１１は、補正部２６として、経路情報、速度情報、及び仕様情報に基づいて、イナーシャ低減可能区間においてイナーシャが小さくなるようにロボットＲＢの経路を補正する（ステップＳ１０８）。すなわち、ロボットＲＢの経路に経由点を追加する。経由点は、ロボットＲＢの各軸のイナーシャが小さくなるような位置に設定する。例えばイナーシャの低減に寄与すると考えられる根元側のジョイント、すなわちジョイントＪ２、ジョイントＪ２に接続されるＪ３等の他のジョイントの回転角度が、ステップＳ１００で取得した経路情報で表される回転角度よりも小さい回転角度となる位置、すなわち、ロボットＲＢのロボットアームを折りたたむようにジョイントＪ２、Ｊ３を動作させる位置を経由点とする。例えばステップＳ１００で取得した元の経路情報におけるロボットアームの先端が経由する経路が、図１４に示すような経路Ｒｔ１であったとする。この場合、図１５に示すように、ロボットアームを折りたたむようにジョイントＪ２、Ｊ３が動作する位置を経由点Ｋとして設定する。この場合、経由点Ｋを経由する経路Ｒｔ２に沿ってロボットＲＢが動作する。そして、図１５におけるジョイントＪ１の中心からロボットアームの先端までの距離ｒ２は、図１４におけるジョイントＪ１の中心からロボットアームの先端までの距離ｒ１よりも短くなる。これにより、ジョイントＪ１のイナーシャが低減される。
【００７７】
ＣＰＵ１１は、算出部２８として、経路情報、速度情報、及び仕様情報に基づいて、各ジョイントＪ１〜Ｊ６に作用するトルクを算出する。具体的には、上記式（１）を用いて、各ジョイントＪ１〜Ｊ６に作用するトルクを予測負荷として算出する（ステップＳ１１０）。
【００７８】
ＣＰＵ１１は、算出部２８として、ステップＳ１１０で算出したトルクが目標トルクを満たすか否かを判定する（ステップＳ１１２）。具体的には、目標トルクは、ジョイントＪ１〜Ｊ６に対して許容されるトルクの上限値から所定のマージン値だけ減算された値として得られる。
【００７９】
そして、ステップＳ１１０で算出した各ジョイントＪ１〜Ｊ６のトルクが全て目標トルク以下の場合（ステップＳ１１２：ＹＥＳ）は、目標トルクを満たすと判定し、ステップＳ１１２へ移行する。一方、ステップＳ１１０で算出した各ジョイントＪ１〜Ｊ６のトルクのうち少なくとも１つが目標トルクを超える場合（ステップＳ１１２：ＮＯ）はステップＳ１０８へ戻って経路を補正する。すなわち、別の経由点を設定して経路を補正する。具体的には、例えばロボットＲＢのロボットアームを更に折りたたむようにジョイントＪ２、Ｊ３を動作させる位置を経由点として経路を補正する。以下、各ジョイントＪ１〜Ｊ６のトルクが全て目標トルク以下となるまでステップＳ１０８〜Ｓ１１２の処理を繰り返す。なお、経路の補正を予め定めた回数実行しても各ジョイントＪ１〜Ｊ６のトルクが全て目標トルク以下とならない場合は、本ルーチンを終了してもよい。
【００８０】
ＣＰＵ１１は、調整部３０として、ロボットＲＢの各ジョイントＪ１〜Ｊ６のうち、少なくとも１つのジョイント、例えばジョイントＪ１の加速度を制御するための制御量を調整する（ステップＳ１１４）。加速度の調整は、ジョイントＪ１の動作時間が長くならず且つジョイントＪ１のトルクができるだけ目標トルクに近づくように行う。従って、最初は、ステップＳ１１０で算出したトルクと目標トルクとの差が小さくなるように加速度を大きくする。
【００８１】
ＣＰＵ１１は、調整部３０として、ステップＳ１１４で調整した加速度を用いてジョイントＪ１のトルクを再度算出する（ステップＳ１１６）。トルクの算出処理は、ステップＳ１１０の算出処理と同じであるため説明は省略する。加速度を大きくすると、その分ジョイントＪ１のトルクが大きくなる。
【００８２】
そこで、ＣＰＵ１１は、調整部３０として、ステップＳ１１６で算出した各ジョイントのトルクが目標トルクを満たすか否かを判定する（ステップＳ１１８）。目標トルクを満たすか否かの判定処理は、ステップＳ１１２の判定処理と同じであるため説明は省略する。
【００８３】
そして、各ジョイントのトルクが全て目標トルクを満たす場合（ステップＳ１１８：ＹＥＳ）は、ステップＳ１２０へ移行する。一方、各ジョイントのトルクのうち少なくとも１つのトルクが目標トルクを満たさない場合（ステップＳ１１８：ＮＯ）は、ステップＳ１１４へ戻って再度加速度を制御するための制御量を調整する。すなわち、トルクが小さくなるように加速度を予め定めた値だけ小さくする。
【００８４】
これにより、ジョイントＪ１の動作時間が長くならず且つジョイントＪ１のトルクが可能な限り目標トルクに近い値に設定される。
【００８５】
ＣＰＵ１１は、調整部３０として、経路情報及び速度情報をロボットＲＢに出力する（ステップＳ１２０）。すなわち、経路が補正され、加速度が調整された場合は、補正された経路情報及び加速度が調整された速度情報をロボットＲＢに出力する。一方、経路が補正されなかった場合は、ステップＳ１００で取得した元の経路情報及び速度情報をロボットＲＢに出力する。これにより、ロボットＲＢが経路情報及び速度情報に従って動作する。
【００８６】
以上のように、第１実施形態のロボット制御装置１０によれば、経路に経由点を追加してもロボットＲＢの動作時間が短くなるイナーシャ低減可能区間を判定する。そして、判定したイナーシャ低減可能区間において、ジョイントのトルクが目標トルクを満たしつつ動作時間が短くなるように加速度を制御するための制御量を調整する。このためユーザの習熟度に関わらず、ロボットが高速に動作するようにロボットの加速度を適切に調整することができ、ユーザーの負担を減らすことができる。また、イナーシャを低減可能なため、ジョイントのトルクを小さくすることが可能であり、少ないエネルギーでロボットＲＢを動作させることが可能となる。
【００８７】
（第２実施形態）
【００８８】
次に、第２実施形態について説明する。第２実施形態では、ロボットＲＢと障害物との干渉を考慮して経路を補正する。なお、第１実施形態と同一部分には同一符号を付し、詳細な説明を省略する。
【００８９】
図１６は、第２実施形態に係るロボット制御装置１０Ａの機能構成図である。図１６に示すように、ロボット制御装置１０Ａは、第１の取得部２０が、障害物情報を取得する。そして、判定部２４が、第１の取得部２０が取得した障害物情報に基づいて、補正した経路が障害物に干渉するか否かを判定する。
【００９０】
次に、ロボット制御装置１０の作用について説明する。
【００９１】
図１７は、ロボット制御装置１０Ａによるロボット制御処理の流れを示すフローチャートである。
【００９２】
図１７に示すロボット制御処理は、図８のロボット制御処理と比べて、ステップＳ１００Ａ、Ｓ１０９の処理が異なる。その他のステップの処理は図８のロボット制御処理と同一であるので説明を省略する。
【００９３】
ＣＰＵ１１は、第１の取得部２０として、経路情報及び速度情報の他に、障害物情報を取得する（ステップＳ１００Ａ）。障害物は、ロボットＲＢの動作において障害となる構造物である。例えばロボット制御装置１０Ａがピックアンドプレース装置に適用される場合、障害物は、ワークが収容される箱、棚等である。障害物情報は、例えば障害物の三次元形状及び位置を表す座標データ等として得られる。
【００９４】
ＣＰＵ１１は、判定部２４として、ステップＳ１０８で補正した経路においてロボットＲＢが障害物に干渉するか否かを判定する（ステップＳ１０９）。ここで、干渉とは、ロボットと障害物とが接触することをいう。干渉の判定には、例えばロボットＲＢと障害物との干渉を判定する公知の干渉判定技術を用いる。公知の干渉判定技術としては、例えば特開２００２−２７３６７５号公報に記載の技術を用いることができる。
【００９５】
ステップＳ１０８で補正した経路においてロボットＲＢが障害物に干渉しない場合（ステップＳ１０９：ＮＯ）、ステップＳ１１０へ移行する。一方、ロボットＲＢが障害物に干渉する場合（ステップＳ１０９：ＹＥＳ）、ステップＳ１０８へ移行し、再度経路を補正する。そして、ロボットＲＢが障害物と干渉しなくなるまで経路を補正する。
【００９６】
このように、本実施形態では、障害物情報を取得してロボットＲＢが障害物と干渉するか否かを判定し、障害物に干渉すると判定した場合は障害物と干渉しなくなるまで経路を補正する。これにより、補正した経路でロボットＲＢが障害物に干渉してしまうのを防ぐことができる。
【００９７】
（第３実施形態）
【００９８】
次に、第３実施形態について説明する。第３実施形態では、ロボットＲＢと障害物との干渉を考慮して経路を補正する。なお、上記各実施形態と同一部分には同一符号を付し、詳細な説明を省略する。
【００９９】
図１８は、第２実施形態に係るロボット制御装置１０Ｂの機能構成図である。図１８に示すように、ロボット制御装置１０Ｂは、経路生成部３２を備える。
【０１００】
経路生成部３２は、ロボットＲＢの初期姿勢及び目標姿勢に関する姿勢情報及び障害物に関する障害物情報を取得する。また、経路生成部３２は、ロボットＲＢの仕様情報を取得する。そして、経路生成部３２は、取得した姿勢情報、障害物情報、及び仕様情報に基づいてロボットＲＢの経路情報及び速度情報を生成する。経路生成部３２は、生成した経路情報及び速度情報を第１の取得部２０に出力する。
【０１０１】
次に、ロボット制御装置１０Ｂの作用について説明する。
【０１０２】
図１９は、ロボット制御装置１０Ｂによるロボット制御処理の流れを示すフローチャートである。
【０１０３】
図１９に示すロボット制御処理は、図８のロボット制御処理と比べて、ステップＳ５０、Ｓ１０３の処理が異なる。その他のステップの処理は図８のロボット制御処理と同一であるので説明を省略する。
【０１０４】
ＣＰＵ１１は、第１の取得部２０として、姿勢情報及び障害物情報を取得する（ステップＳ５０）。
【０１０５】
ＣＰＵ１１は、経路生成部３２として、ステップＳ５０で取得した姿勢情報及び障害物情報と、ステップＳ１０２で取得した仕様情報と、に基づいて、ロボットＲＢが障害物に干渉しない経路における経路情報及び速度情報を生成する（ステップＳ１０３）。
【０１０６】
経路の生成方法としては種々公知の方法を採用することができる。例えば、経路の生成方法としては、ＲＲＴ(Ｒａｐｉｄｌｙ  ｅｘｐｌｏｒｉｎｇ  ｒａｎｄｏｍ  ｔｒｅｅ)、ＲＲＴの改良版であるＲＲＴ＊、ＲＲＴ  ｃｏｎｎｅｃｔ、ＰＲＭ（Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｒｏａｄｍａｐ  Ｍｅｔｈｏｄ）、ＳＴＯＭＰ（Ｓｔｏｃｈａｓｔｉｃ  Ｔｒａｊｅｃｔｏｒｙ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  Ｍｏｔｉｏｎ  Ｐｌａｎｎｉｎｎｇ）、ＣＨＯＭＰ（Ｃｏｖａｒｉａｎｔ  Ｈａｍｉｌｔｏｎｉａｎ  Ｏｐｔｉｍｉｚａｔｉｏｎ  ｆｏｒ  Ｍｏｔｉｏｎ  Ｐｌａｎｎｉｎｇ）、ＥＥＴ（Ｅｘｐｌｏｒｉｎｇ／Ｅｘｐｌｏｉｔｉｎｇ  Ｔｒｅｅ）等が挙げられる。
【０１０７】
このように、本実施形態では、ロボットＲＢの経路を生成する経路生成部３２を備えているため、予め経路情報及び速度情報を生成しておく必要がない。
【０１０８】
なお、上記各実施形態では、ジョイントＪ１についてイナーシャ低減可能区間を判定する場合について説明したが、他のジョイントについてイナーシャ低減可能区間を判定してもよい。
【０１０９】
また、上記各実施形態では、イナーシャ低減可能区間を判定する際に追加する経由点の数が１つの場合について説明したが、複数の経由点を追加してもよい。この場合、複数の経由点で分割された区間の各々における速度プロファイルを合成し、合成した合成プロファイルを用いてイナーシャ低減可能区間か否かを判定すればよい。
【０１１０】
また、上記各実施形態では、ロボット制御装置の制御対象であるロボットＲＢが実機の場合について説明したが、ロボット制御装置の制御対象が、シミュレーション上で動作するロボットであってもよい。
【０１１１】
なお、上記各実施形態でＣＰＵがソフトウェア（プログラム）を読み込んで実行したロボット制御処理を、ＣＰＵ以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の製造後に回路構成を変更可能なＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、及びＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、ロボット制御処理を、これらの各種のプロセッサのうちの１つで実行してもよいし、同種又は異種の２つ以上のプロセッサの組み合わせ（例えば、複数のＦＰＧＡ、及びＣＰＵとＦＰＧＡとの組み合わせ等）で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【０１１２】
また、上記各実施形態では、ロボット制御プログラムがストレージ１４又はＲＯＭ１２に予め記憶（インストール）されている態様を説明したが、これに限定されない。プログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、及びＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【０１１３】
１０、１０Ａ、１０Ｂ ロボット制御装置
２０   第１の取得部
２２   第２の取得部
２４   判定部
２６   補正部
２８   算出部
３０   調整部
３２   経路生成部
ＲＢ   ロボット
【図１】
2020110884.tif 000004
【図２】
2020110884.tif 000005
【図３】
2020110884.tif 000006
【図４】
2020110884.tif 000007
【図５】
2020110884.tif 000008
【図６】
2020110884.tif 000009
【図７】
2020110884.tif 000010
【図８】
2020110884.tif 000011
【図９】
2020110884.tif 000012
【図１０】
2020110884.tif 000013
【図１１】
2020110884.tif 000014
【図１２】
2020110884.tif 000015
【図１３】
2020110884.tif 000016
【図１４】
2020110884.tif 000017
【図１５】
2020110884.tif 000018
【図１６】
2020110884.tif 000019
【図１７】
2020110884.tif 000020
【図１８】
2020110884.tif 000021
【図１９】
2020110884.tif 000022