(57)【要約】      （修正有）【課題】ＯＭＰＬデータベースにより計画された経路が大きな不確実性を持ち、ロボットの運動効率の低下に繋がり易くなるという問題を解決する運動経路計画方法の提供。【解決手段】経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画するステップと、最短理想経路を初期の理想経路として決定するステップと、二分法を用いて、計画経路と理想経路との間の新経路を計算するステップと、新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するステップと、ＹＥＳであれば新経路を新たな計画経路として決定するステップと、ＮＯであれば新経路を新たな理想経路として決定するステップと、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まるまで二分法を用いて計画経路を最適化することを繰り返すステップと、現在の計画経路を対象ロボットの動作経路として決定するステップとを含む。【選択図】図１
2019119041.tif 000002
【特許請求の範囲】
【請求項１】
ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路であって、経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画するステップと、
前記経路起点から前記経路終点までの最短経路を意味する最短理想経路を初期の理想経路として決定するステップと、
二分法を用いて、計画経路と理想経路との間の新経路を計算するステップと、
前記新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するステップと、
前記新経路が予め定められた障害物回避要件及び構造的拘束を満たしていれば、前記新経路を新たな計画経路として決定するステップと、
前記新経路が予め定められた障害物回避要件及び構造的拘束を満たしていなければ、前記新経路を新たな理想経路として決定するステップと、
現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まるまで、前記の、二分法を用いて、計画経路と理想経路との間の新経路を計算するステップに戻って実行するステップと、
現在の計画経路を対象ロボットの動作経路として決定するステップと、を含む
ことを特徴とするロボットの運動経路計画方法。
【請求項２】
現在の計画経路を対象ロボットの動作経路として決定する前に、
前記現在の計画経路における経路起点と経路終点とを除いた他の経路点が含まれる最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップと、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出するステップと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するステップと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしていれば、前記最適化すべき点の関節角ベクトルを前記最適化された関節角ベクトルに置き換えるステップと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしていなければ、現在の最適化すべき点を前記最適化すべき点の集合から除去するステップと、
予め定められた繰り返し条件が満たされるまで、前記の、最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップに戻って実行するステップと、を更に含む
ことを特徴とする請求項１に記載のロボットの運動経路計画方法。
【請求項３】
前記の、予め定められた繰り返し条件が満たされることは、
前記最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップに戻って実行した繰り返し回数が、予め定められた繰り返し回数閾値を超えていれば、予め定められた繰り返し条件が満たされているとして決定すること、
又は、前記最適化すべき点の集合内の経路点が全て除去されていれば、予め定められた繰り返し条件が満たされているとして決定することを、含む
ことを特徴とする請求項２に記載のロボットの運動経路計画方法。
【請求項４】
前記の、予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出するステップは、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルを、第一公式に代入して最適化された関節角ベクトルを算出することを含み、
前記第一公式が、
2019119041.tif 000023
であり、
ここで、imaxが、最適化すべき点の下付き文字であり、
2019119041.tif 000024
が、前記最適化すべき点と前記最短理想経路との最短距離であり、
2019119041.tif 000025
が、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルであり、Wが、短縮ファクタで、且つW＜１であり、
2019119041.tif 000026
が、最適化された関節角ベクトルである
ことを特徴とする請求項２に記載のロボットの運動経路計画方法。
【請求項５】
前記の、二分法を用いて、計画経路と理想経路との間の新経路を計算するステップに戻って実行する前に、
現在の計画経路における各経路点と現在の理想経路との最短距離をそれぞれ計算するステップと、
算出された各経路点に対応する最短距離のうち、最大値が予め定められた距離閾値未満であれば、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているとして決定するステップとを、更に含む
ことを特徴とする請求項１〜４の何れか一項に記載のロボットの運動経路計画方法。
【請求項６】
ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路であって、経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画するための経路計画モジュールと、
前記経路起点から前記経路終点までの最短経路を意味する最短理想経路を初期の理想経路として決定するための理想経路決定モジュールと、
二分法を用いて、計画経路と理想経路との間の新経路を計算するための新経路計算モジュールと、
前記新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するための新経路判定モジュールと、
前記新経路判定モジュールの判定結果がＹＥＳであれば、前記新経路を新たな計画経路として決定するための第一決定モジュールと、
前記新経路判定モジュールの判定結果がＮＯであれば、前記新経路を新たな理想経路として決定するための第二決定モジュールと、
現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まるまで、前記新経路計算モジュールをトリガするように戻るための繰り返しトリガモジュールと、
現在の計画経路を対象ロボットの動作経路として決定するための動作経路決定モジュールと、を含む
ことを特徴とするロボットの運動経路計画装置。
【請求項７】
前記現在の計画経路における経路起点と経路終点とを除いた他の経路点が含まれる最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するための最適化すべき点決定モジュールと、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出するための最適化ベクトル計算モジュールと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するためのベクトル判定モジュールと、
前記ベクトル判定モジュールの判定結果がＹＥＳであれば、前記最適化すべき点の関節角ベクトルを前記最適化された関節角ベクトルに置き換えるためのベクトル置換モジュールと、
前記ベクトル判定モジュールの判定結果がＮＯであれば、現在の最適化すべき点を前記最適化すべき点の集合から除去するための点除去モジュールと、
予め定められた繰り返し条件が満たされるまで、前記最適化すべき点決定モジュールをトリガするための繰り返し最適化モジュールと、を更に含む
ことを特徴とする請求項６に記載のロボットの運動経路計画装置。
【請求項８】
現在の計画経路における各経路点と現在の理想経路との最短距離をそれぞれ計算するための最短経路計算モジュールと、
算出された各経路点に対応する最短距離のうち、最大値が予め定められた距離閾値未満であれば、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているとして決定するための第三決定モジュールとを、更に含む
ことを特徴とする請求項６又は７に記載のロボットの運動経路計画装置。
【請求項９】
メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含む端末機器であって、前記コンピュータプログラムが前記プロセッサによって実行されると、請求項１〜５の何れか一項に記載のロボットの運動経路計画方法のステップが実現される
ことを特徴とする端末機器。
【請求項１０】
コンピュータプログラムを記憶したコンピュータ読取可能な記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、請求項１〜５の何れか一項に記載のロボットの運動経路計画方法のステップが実現される
ことを特徴とするコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット技術分野に関し、特に、ロボットの運動経路計画方法、装置、記憶媒体及び端末機器に関する。
【背景技術】
【０００２】
ロボットの応用に対する需要が高まるにつれて、ユーザーは、シンプルなシーンでロボットがポイントツーポイントの操作を行うことにもはや満足しなくなり、より複雑なシーンでロボットが複雑な操作を行えることを求めている。
【０００３】
ＭｏｖｅＩｔソフトウェアは、現在最も先進で且つ最も広く応用されているオープンソースのロボット運動計画ソフトウェアであり、主に、柔軟な衝突ライブラリ（Ｆｌｅｘｉｂｌｅ  Ｃｏｌｌｉｓｉｏｎ  Ｌｉｂｒａｒｙ、ＦＣＬ）を呼び出して障害物の衝突の検出を実現し、オープンな運動計画ライブラリ（Ｏｐｅｎ  Ｍｏｔｉｏｎ  Ｐｌａｎｎｉｎｇ  Ｌｉｂｒａｒｙ、ＯＭＰＬデータベース）を呼び出して運動計画の問題を解くようにしている。ＯＭＰＬデータベースにより提供された運動計画ソルバーは、いずれも、ランダムサンプリングの方法を採用しており、これらの方法は確率上では完全であるが、環境が複雑になると、限られた時間内に得られる計算結果は、大きな不確実性を持ち、ロボットの運動効率の低下に繋がり易くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施例は、ＯＭＰＬデータベースによる計画を元に、計算結果の確実性を大幅に向上させ、ロボットの運動効率を向上させることができるロボットの運動経路計画方法、装置、記憶媒体及び端末機器を提供する。
【課題を解決するための手段】
【０００５】
ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路であって、経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画するステップと、
前記経路起点から前記経路終点までの最短経路を意味する最短理想経路を初期の理想経路として決定するステップと、
二分法を用いて、計画経路と理想経路との間の新経路を計算するステップと、
前記新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するステップと、
前記新経路が予め定められた障害物回避要件及び構造的拘束を満たしていれば、前記新経路を新たな計画経路として決定するステップと、
前記新経路が予め定められた障害物回避要件及び構造的拘束を満たしていなければ、前記新経路を新たな理想経路として決定するステップと、
現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まるまで、前記の、二分法を用いて、計画経路と理想経路との間の新経路を計算するステップに戻って実行するステップと、
現在の計画経路を対象ロボットの動作経路として決定するステップと、を含む
ロボットの運動経路計画方法を提供している。
【０００６】
また、現在の計画経路を対象ロボットの動作経路として決定する前に、
前記現在の計画経路における経路起点と経路終点とを除いた他の経路点が含まれる最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップと、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出するステップと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するステップと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしていれば、前記最適化すべき点の関節角ベクトルを前記最適化された関節角ベクトルに置き換えるステップと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしていなければ、現在の最適化すべき点を前記最適化すべき点の集合から除去するステップと、
予め定められた繰り返し条件が満たされるまで、前記の、最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップに戻って実行するステップと、を更に含むようにしてもよい。
【０００７】
また、前記の、予め定められた繰り返し条件が満たされることは、
前記最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップに戻って実行した繰り返し回数が、予め定められた繰り返し回数閾値を超えていれば、予め定められた繰り返し条件が満たされているとして決定すること、
又は
前記最適化すべき点の集合内の経路点が全て除去されていれば、予め定められた繰り返し条件が満たされているとして決定することを、含むようにしてもよい。
【０００８】
また、前記の、予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出するステップは、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルを、第一公式に代入して最適化された関節角ベクトルを算出することを含み、
前記第一公式が、
2019119041.tif 000003
であり、
ここで、imaxが、最適化すべき点の下付き文字であり、
2019119041.tif 000004
が、前記最適化すべき点と前記最短理想経路との最短距離であり、
2019119041.tif 000005
が、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルであり、Wが、短縮ファクタで、且つW＜１であり、
2019119041.tif 000006
が、最適化された関節角ベクトルであるようにしてもよい。
【０００９】
また、前記の、二分法を用いて、計画経路と理想経路との間の新経路を計算するステップに戻って実行する前に、
現在の計画経路における各経路点と現在の理想経路との最短距離をそれぞれ計算するステップと、
算出された各経路点に対応する最短距離のうち、最大値が予め定められた距離閾値未満であれば、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているとして決定するステップとを、更に含むようにしてもよい。
【００１０】
ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路であって、経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画するための経路計画モジュールと、
前記経路起点から前記経路終点までの最短経路を意味する最短理想経路を初期の理想経路として決定するための理想経路決定モジュールと、
二分法を用いて、計画経路と理想経路との間の新経路を計算するための新経路計算モジュールと、
前記新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するための新経路判定モジュールと、
前記新経路判定モジュールの判定結果がＹＥＳであれば、前記新経路を新たな計画経路として決定するための第一決定モジュールと、
前記新経路判定モジュールの判定結果がＮＯであれば、前記新経路を新たな理想経路として決定するための第二決定モジュールと、
現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まるまで、前記新経路計算モジュールをトリガするように戻るための繰り返しトリガモジュールと、
現在の計画経路を対象ロボットの動作経路として決定するための動作経路決定モジュールと、を含む
ロボットの運動経路計画装置を提供している。
【００１１】
また、前記ロボットの運動経路計画装置は、
前記現在の計画経路における経路起点と経路終点とを除いた他の経路点が含まれる最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するための最適化すべき点決定モジュールと、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出するための最適化ベクトル計算モジュールと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するためのベクトル判定モジュールと、
前記ベクトル判定モジュールの判定結果がＹＥＳであれば、前記最適化すべき点の関節角ベクトルを前記最適化された関節角ベクトルに置き換えるためのベクトル置換モジュールと、
前記ベクトル判定モジュールの判定結果がＮＯであれば、現在の最適化すべき点を前記最適化すべき点の集合から除去するための点除去モジュールと、
予め定められた繰り返し条件が満たされるまで、前記最適化すべき点決定モジュールをトリガするための繰り返し最適化モジュールと、を更に含むようにしてもよい。
【００１２】
また、前記ロボットの運動経路計画装置は、
現在の計画経路における各経路点と現在の理想経路との最短距離をそれぞれ計算するための最短経路計算モジュールと、
算出された各経路点に対応する最短距離のうち、最大値が予め定められた距離閾値未満であれば、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているとして決定するための第三決定モジュールとを、更に含むようにしてもよい。
【００１３】
メモリと、プロセッサと、前記メモリに記憶され、前記プロセッサ上で実行可能なコンピュータプログラムとを含む端末機器であって、前記コンピュータプログラムが前記プロセッサによって実行されると、上述したロボットの運動経路計画方法のステップが実現される端末機器を提供している。
【００１４】
コンピュータプログラムを記憶したコンピュータ読取可能な記憶媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、上述したロボットの運動経路計画方法のステップが実現されるコンピュータ読取可能な記憶媒体を提供している。
【発明の効果】
【００１５】
以上の技術案から、本発明の実施例は、次の利点を持つことが分かる。
本発明の実施例では、まず、ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路であって、経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画し、その後、前記経路起点から前記経路終点までの最短経路を意味する最短理想経路を初期の理想経路として決定し、続いて、二分法を用いて、計画経路と理想経路との間の新経路を計算して、前記新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定し、前記新経路が予め定められた障害物回避要件及び構造的拘束を満たしていれば、前記新経路を新たな計画経路として決定し、前記新経路が予め定められた障害物回避要件及び構造的拘束を満たしていなければ、前記新経路を新たな理想経路として決定し、更に、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まるまで、前記の、二分法を用いて、計画経路と理想経路との間の新経路を計算するステップに戻って実行し、最後に、現在の計画経路を対象ロボットの動作経路として決定する。本発明の実施例では、二分法により、理想経路への計画経路の全体的な短縮を実現し、計画経路をできるだけ理想経路に近づけるとともに障害物回避要件及び構造的拘束を満たすようにすることで、ＯＭＰＬデータベースによる計画を元に、計算結果の確実性を大幅に向上させ、ロボットの運動効率を向上させることができる。
【図面の簡単な説明】
【００１６】
本発明の実施例における技術案をより明確に説明するために、以下、実施例又は先行技術の説明に使用する必要がある図面を簡単に紹介する。勿論、以下に説明する図面は、本発明の一部の実施例に過ぎず、当業者にとっては、創造的労働を払わずに、これらの図面から他の図面を得ることもできる。
【図１】図１は、本発明の実施例におけるロボットの運動経路計画方法の一実施例のフロー図である。
【図２】図２は、本発明の実施例におけるロボットの運動経路計画方法について、ある応用シーンで二分法を用いて最適化する模式図である。
【図３】図３は、本発明の実施例におけるロボットの運動経路計画方法について、ある応用シーンでの単一点繰り返し最適化の模式図である。
【図４】図４は、本発明の実施例におけるロボットの運動経路計画方法について、ある応用シーンで単一点繰り返し最適化を行うフロー図である。
【図５】図５は、本発明の実施例における単一点繰り返し最適化の最適化効果の模式図である。
【図６】図６は、本発明の実施例におけるロボットの運動経路計画装置の一実施例の構造図である。
【図７】図７は、本発明の一実施例による端末機器の模式図である。
【発明を実施するための形態】
【００１７】
本発明の実施例は、ＯＭＰＬデータベースにより計画された経路が大きな不確実性を持ち、ロボットの運動効率の低下に繋がり易くなるという問題を解決するためのロボットの運動経路計画方法、装置、記憶媒体及び端末機器を提供している。
【００１８】
本発明の目的、特徴及び利点をより明白且つ分かりやすくにするために、以下、本発明の実施例における図面を参照して、本発明の実施例における技術案を明確且つ完全に説明する。勿論、説明する実施例は、本発明の一部の実施例に過ぎず、全部の実施例ではない。本発明における実施例に基づいて、当業者が創造的労働を払わずに得られた全ての他の実施例は、本発明の保護範囲に属するものとする。
【００１９】
図１を参照して、本発明の実施例におけるロボットの運動経路計画方法の一実施例は、次のステップ１０１〜ステップ１０８を含む。
ステップ１０１は、ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路であって、経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画する。
本実施例において、まず、ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路を解く必要がある。当該計画経路に合計ｎ個の経路点があるとして、経路起点の関節角ベクトルをqstartと記し、経路終点の関節角ベクトルをqgoalと記すと、当該計画経路は、図２に示す「計画経路」のように、
2019119041.tif 000007
として表すことが可能である。ここで、ql=qstart、qn=qgoalである。
【００２０】
説明すべきなのは、本実施例におけるロボットの運動経路計画方法は、具体的に、ロボット全体の運動に対する経路計画に適用されてもよいし、ロボットの部品の運動に対する経路計画、例えば、ロボット上のロボットアームの運動経路計画に適用されてもよい。
【００２１】
ステップ１０２は、前記経路起点から前記経路終点までの最短経路を意味する最短理想経路を初期の理想経路として決定する。
図２を参照して明らかに分かるように、経路起点と経路終点との間の線分は、ロボットの最短運動経路、最短理想経路になっており、図２に示す「最短理想経路」のように、この線分を初期の理想経路として決定し、
2019119041.tif 000008
と記す。
【００２２】
ステップ１０３は、二分法を用いて、計画経路と理想経路との間の新経路を計算する。
理解できるように、対象ロボットの運動効率を向上させるためには、図２を参照して、経路が障害物を回避するとともに関節リミット要件を満たすことを保証する前提で、「計画経路」を「最短理想経路」にできるだけ近づけるべきである。本実施例は、二分法を用いて計画経路を最適化しており、具体的に、計画経路と理想経路との間の折衷経路である前記新経路
2019119041.tif 000009
を現在の新経路として計算する。
【００２３】
ステップ１０４は、前記新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定し、ＹＥＳであれば、ステップ１０５を実行し、ＮＯであれば、ステップ１０６を実行する。
ステップ１０５は、前記新経路を新たな計画経路として決定する。
ステップ１０６は、前記新経路を新たな理想経路として決定する。
上述したステップ１０４〜１０６については、上述した内容から分かるように、新経路を算出した後、ロボットの運動要件を満たすためには、算出された新経路が障害物回避要件及び構造的拘束を満たしているかどうかを区別する必要がある。説明すべきなのは、上述した構造的拘束は、ロボット構造自体の制限に起因したものであり、例えば、ロボット上のロボットアームの各関節のいずれにも、関節リミットの拘束がある。従って、上述した構造的拘束は、ロボットの実際の状況によって決定され、本実施例では、特に限定しない。
【００２４】
理解の便宜のため、もし、いずれかの経路が障害物回避要件及び構造的拘束を満たすと、当該経路を有効として、Q∈Svalidと記し、もし、経路上のいずれかの点が障害物回避要件及び構造的拘束を満たすと、当該点を有効として、q∈Svalidと記すこととする。図２を参照して分かるように、障害物が存在する場合は、
2019119041.tif 000010
となる。
【００２５】
従って、上述したステップ１０４は、Qnew∈Svalidであるかどうかを判定し、Qnew∈Svalidであれば、ステップ１０５を実行して、前記新経路を新たな計画経路として決定し、即ち、Qplan=Qnewになるようにし、逆に、
2019119041.tif 000011
であれば、ステップ１０６を実行して、Qideal=Qnewになるようにするのでもある。
【００２６】
よって、上述したステップ１０３〜１０６を１回実行することは、計画経路を最短理想経路へ１回近づいたこと、即ち、繰り返し最適化を１回行ったことに相当することが分かる。
【００２７】
ステップ１０７は、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているかどうかを判定し、ＹＥＳであれば、ステップ１０８を実行し、ＮＯであれば、ステップ１０３に戻って実行する。
本実施例の最適化の構想としては、上述したステップ１０３〜１０６を複数回繰り返して実行して、計画経路が障害物回避要件及び構造的拘束を満たす前提で最短理想経路に限りなく近づくようにすることによって、対象ロボット全体のために、効率的な運動経路を探し出す。ただし、最適化の効率を確保するためには、上述した繰り返し最適化プロセスの脱出条件を設定することによって、現在の計画経路と現在の理想経路との間の誤差が一定の条件を満たすと、現在の計画経路がもう十分に効率的であると見なすようにする必要がある。
【００２８】
従って、ステップ１０７は、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているかどうかを判定し、ＮＯであれば、繰り返し最適化を引き続き行う必要があるとして、ステップ１０３に戻って二分法による次回の最適化を実行し、ＹＥＳであれば、現在の計画経路が既に短縮された全体的な最適化パスになっていると見なせ、Qopt1=Qplanと記し、図２に示す「全体最適化経路」のように、初期の計画経路に比べると、短縮された経路のほうが短いのは、明らかである。
【００２９】
また、上述したステップ１０７は、具体的に、まず現在の計画経路における各経路点と現在の理想経路との最短距離をそれぞれ計算するステップと、算出された各経路点に対応する最短距離のうち、最大値が予め定められた距離閾値未満であれば、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているとして決定するステップとを、更に含む。
【００３０】
ステップ１０８は、現在の計画経路を対象ロボットの動作経路として決定する。
理解できるように、二分法によって最適化された計画経路は、初期の計画経路に比べて、運動効率が大幅に向上しているため、この時点は、現在の計画経路を対象ロボットの動作経路として決定することができるようになる。
【００３１】
図２に示すように、障害物が経路の中央付近の位置にある場合、現在の計画経路は、上述した二分法によって最適化された後、比較的理想の結果を大体得ることができる。しかし、障害物が経路の経路起点又は経路終点に近い場合、計画経路は、二分法によって最適化された後、ロボットの運動効率が向上しているが、具体的に図３に示す「全体最適化経路」のように、理想の効果を達成できていない可能性がある。従って、図３における障害物と同じような場合に対して、さらなる最適化を行ってもよく、本実施例では、単一点繰り返し最適化と呼ばれ、具体的な最適化プロセスは、以下の通りである。
【００３２】
また、図４に示すように、ステップ１０８の前に、ステップ４０１〜ステップ４０６を更に含む。
ステップ４０１は、前記現在の計画経路における経路起点と経路終点とを除いた他の経路点が含まれる最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定する。
ステップ４０２は、予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出する。
ステップ４０３は、前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定し、ＹＥＳであれば、ステップ４０４を実行し、ＮＯであれば、ステップ４０５を実行する。
ステップ４０４は、前記最適化すべき点の関節角ベクトルを前記最適化された関節角ベクトルに置き換える。
ステップ４０５は、現在の最適化すべき点を前記最適化すべき点の集合から除去する。
ステップ４０６は、予め定められた繰り返し条件が満たされているかどうかを判定し、ＹＥＳであれば、ステップ１０８を実行し、ＮＯであれば、ステップ４０１に戻って実行する。
【００３３】
ステップ４０１については、当該最適化すべき点の集合は、qlと記し、下付き文字l=2,3,…,n-1としてもよいが、経路起点及び経路終点が含まれない。当該最適化すべき点の集合内の各経路点の、最短理想経路（即ち、図３における「最短理想経路」のような初期の理想経路）からの最短距離をdi=qoptl-qideal(i∈l)と記し、ここで、qoptlは、二分法によって最適化されたQoptl上の経路点を意味し、qidealは、「最短理想経路」上の経路点を意味し、また、当該最適化すべき点の集合のうち、距離が最大である経路点の下付き文字をimax=imax(di)と記してもよい。
【００３４】
上述したステップ４０２については、具体的に、予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルを、第一公式に代入して最適化された関節角ベクトルを算出することであり、
前記第一公式が、
2019119041.tif 000012
であり、
ここで、imaxが、最適化すべき点の下付き文字であり、
2019119041.tif 000013
が、前記最適化すべき点と前記最短理想経路との最短距離であり、
2019119041.tif 000014
が、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルであり、Wが、短縮ファクタで、且つ W＜１であり、
2019119041.tif 000015
が、最適化された関節角ベクトルであるようにしてもよい。
【００３５】
ステップ４０３〜４０５については、理解できるように、１個の経路点を単一点最適化した度に、最適化された経路点が、現在のシーンにおける障害物回避要件及び構造的拘束、即ち、対象ロボットの運動要件を満たしているかどうかを更に判定する必要がある。よって、もし、前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしていれば、即ち、
2019119041.tif 000016
であれば、Qoptl上の対応する経路点の関節角ベクトルを最適化された関節角ベクトルに置き換えることができ、即ち
2019119041.tif 000017
となることが分かる。もし、前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしていなければ、即ち、
2019119041.tif 000018
であれば、当該経路点imaxを最適化すべき点の集合から取り除く。
【００３６】
よって、上述したステップ４０１〜４０５は、１個の経路点に対する単一点最適化プロセスであり、図５に示すように、ａ点→ａ’点が、１回目の単一点最適化の効果であり、ｂ点→ｂ’点が、２回目の単一点最適化の効果であり、ｃ点→ｃ’点が、３回目の単一点最適化の効果であることが分かる。
【００３７】
理解できるように、計画経路全体を最適化するには、計画経路における複数の点を、比較的理想の効果が得られるために順次に単一点最適化する必要がある。従って、本実施例には、上述したステップ４０１〜４０５を繰り返して実行することと、単一点繰り返し最適化の脱出条件、即ち上述したステップ４０６を設定することとが更に必要とされる。
【００３８】
ステップ４０６については、単一点繰り返し最適化された効果の観点から、予め定められた前記繰り返し条件を２つの方法で設定しておくことが可能である。１つ目としては、最大繰り返し回数を設定し、繰り返し回数が当該最大繰り返し回数に達すると、繰り返し最適化を停止することであり、具体的に、「前記最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップに戻って実行した繰り返し回数が、予め定められた繰り返し回数閾値を超えていれば、予め定められた繰り返し条件が満たされているとして決定する」ようにしてもよい。２つ目としては、繰り返しの効果によって判定し、全ての経路点の関節角が短縮できなくなるまで単一点繰り返し最適化を行っていくことであり、具体的な実行ステップは、「前記最適化すべき点の集合内の経路点が全て除去されていれば、予め定められた繰り返し条件が満たされているとして決定する」ことであってもよい。
【００３９】
理解できるように、具体な繰り返し条件は、実際の状況に応じて設定可能であり、ここで、特に限定しない。予め定められた繰り返し条件が満たされていない場合、単一点繰り返し最適化を引き続き行う必要があるとして、ステップ４０１に戻って次回の繰り返しプロセスを実行し、予め定められた繰り返し条件が満たされている場合、現在の計画経路に対する単一点繰り返し最適化が完了したと見なせるため、ステップ１０８を実行して現在の計画経路を対象ロボットの動作経路として出力する。
【００４０】
図３に示すように、複数回の単一点繰り返し最適化の後、仮に障害物が経路の経路起点又は経路終点に近いとしても、最適化された計画経路も、比較的理想の結果を得ることができ、図３に示すような「繰り返し最適化経路」が単一点繰り返し最適化された計画経路となる。
【００４１】
本実施例によるロボットの運動経路計画方法は、現在のオープンソースのＯＭＰＬデータベースのアルゴリズムを元に、二分法及び単一点繰り返し法を用いることによって、障害物が位置する任意の位置に対して、合理的且つ効率的な障害物回避経路を計画することができ、元のＯＭＰＬデータベースのアルゴリズムによる計画経路が理想的ではなく、効率が低いという欠点を克服した。当該方法は、マジックハンドによる物体の掴み取りや貨物の仕分けなどの作業に効果的に適用でき、掴み取り及び仕分けの作業効率を向上させるとともに、作業の安全性（障害物回避）を保証しており、物流やファミリーサービス産業には、幅広い用途がある。
【００４２】
理解すべきなのは、上述した実施例における各ステップに付けた番号の大小は、実行順序の前後を意味するものではなく、各プロセスの実行順序がその機能及び内部ロジックによって決定されるべきであり、本発明の実施例の実現プロセスに対するいかなる制限にもならないとするべきである。
【００４３】
上記では、主にロボットの運動経路計画方法について説明したが、次に、ロボットの運動経路計画装置について詳しく説明する。
【００４４】
図６は、本発明の実施例におけるロボットの運動経路計画装置の一実施例の構造図を示している。
【００４５】
本実施例におけるロボットの運動経路計画装置は、
ＯＭＰＬデータベースを用いて、対象ロボットのために現在のシーンにおける計画経路であって、経路起点と経路終点とが含まれる複数の経路点を含む計画経路を計画するための経路計画モジュール６０１と、
前記経路起点から前記経路終点までの最短経路を意味する最短理想経路を初期の理想経路として決定するための理想経路決定モジュール６０２と、
二分法を用いて、計画経路と理想経路との間の新経路を計算するための新経路計算モジュール６０３と、
前記新経路が現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するための新経路判定モジュール６０４と、
前記新経路判定モジュール６０４の判定結果がＹＥＳであれば、前記新経路を新たな計画経路として決定するための第一決定モジュール６０５と、
前記新経路判定モジュール６０４の判定結果がＮＯであれば、前記新経路を新たな理想経路として決定するための第二決定モジュール６０６と、
現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まるまで、前記新経路計算モジュール６０３をトリガするように戻るための繰り返しトリガモジュール６０７と、
現在の計画経路を対象ロボットの動作経路として決定するための動作経路決定モジュール６０８と、を含む。
【００４６】
また、前記ロボットの運動経路計画装置は、
前記現在の計画経路における経路起点と経路終点とを除いた他の経路点が含まれる最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するための最適化すべき点決定モジュールと、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルに基づいて、最適化された関節角ベクトルを算出するための最適化ベクトル計算モジュールと、
前記最適化された関節角ベクトルが現在のシーンにおける障害物回避要件及び構造的拘束を満たしているかどうかを判定するためのベクトル判定モジュールと、
前記ベクトル判定モジュールの判定結果がＹＥＳであれば、前記最適化すべき点の関節角ベクトルを前記最適化された関節角ベクトルに置き換えるためのベクトル置換モジュールと、
前記ベクトル判定モジュールの判定結果がＮＯであれば、現在の最適化すべき点を前記最適化すべき点の集合から除去するための点除去モジュールと、
予め定められた繰り返し条件が満たされるまで、前記最適化すべき点決定モジュールをトリガするための繰り返し最適化モジュールと、を更に含んでもよい。
【００４７】
また、前記繰り返し最適化モジュールは、
前記最適化すべき点の集合のうち、最短理想経路における対応する経路点との距離が最大である経路点を最適化すべき点として決定するステップに戻って実行した繰り返し回数が、予め定められた繰り返し回数閾値を超えていれば、予め定められた繰り返し条件が満たされているとして決定するための第一満たし決定ユニット、
又は、前記最適化すべき点の集合内の経路点が全て除去されていれば、予め定められた繰り返し条件が満たされているとして決定するための第二満たし決定ユニット、を含んでもよい。
【００４８】
また、前記最適化ベクトル計算モジュールは、
予め定められた短縮ファクタ、前記最適化すべき点と前記最短理想経路との最短距離、及び、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルを、第一公式に代入して最適化された関節角ベクトルを算出するための角ベクトル計算ユニットを含み、
前記第一公式が、
2019119041.tif 000019
であり、
ここで、imaxが、最適化すべき点の下付き文字であり、
2019119041.tif 000020
が、前記最適化すべき点と前記最短理想経路との最短距離であり、
2019119041.tif 000021
が、前記最短理想経路における前記最適化すべき点と対応する経路点の関節角ベクトルであり、Wが、短縮ファクタで、且つW＜１であり、
2019119041.tif 000022
が、最適化された関節角ベクトルであるようにしてもよい。
【００４９】
また、前記ロボットの運動経路計画装置は、
現在の計画経路における各経路点と現在の理想経路との最短距離をそれぞれ計算するための最短経路計算モジュールと、
算出された各経路点に対応する最短距離のうち、最大値が予め定められた距離閾値未満であれば、現在の計画経路と現在の理想経路との間の誤差が予め定められた範囲内に収まっているとして決定するための第三決定モジュールとを、更に含んでもよい。
【００５０】
図７は、本発明の一実施例による端末機器の模式図である。図７に示すように、本実施例の端末機器７は、プロセッサ７０と、メモリ７１と、前記メモリ７１に記憶され、前記プロセッサ７０上で実行可能なコンピュータプログラム７２であって、例えば上述したロボットの運動経路計画方法を実行するプログラムとを含む。前記コンピュータプログラム７２が前記プロセッサ７０によって実行されると、上述した各ロボットの運動経路計画方法実施例におけるステップ、例えば図１に示すステップ１０１〜１０８が実現される。又は、前記コンピュータプログラム７２が前記プロセッサ７０によって実行されると、上述した各装置実施例における各モジュール／ユニットの機能、例えば図６に示すモジュール６０１〜６０８の機能が実現される。
【００５１】
例示的に、前記コンピュータプログラム７２は、１つ又は複数のモジュール／ユニットに分割され、前記１つ又は複数のモジュール／ユニットが前記メモリ７１に記憶され、前記プロセッサ７０によって実行されることにより、本発明が完成するようにしてもよい。前記１つ又は複数のモジュール／ユニットは、特定の機能を達成可能な一連のコンピュータプログラム命令セグメントであって、前記コンピュータプログラム７２の前記端末機器７での実行プロセスを記述するための命令セグメントであってもよい。
【００５２】
前記端末機器７は、デスクトップ型コンピュータ、ノートパソコン、ＰＤＡ、クラウドサーバなどのコンピューティング機器であってもよい。前記端末機器は、プロセッサ７０と、メモリ７１とを含むが、これらに限定されない。当業者であれば理解できるように、図７は、端末機器７の一例に過ぎず、端末機器７に対する制限ではなく、図示されているよりも多くの又は少ない部品を含んでもよいし、一部の部品又は異なる部品を組み合せてもよく、例えば、前記端末機器は、入出力装置、ネットワークアクセス装置、バス等を更に含んでもよい。
【００５３】
前記プロセッサ７０は、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、ＣＰＵ）であってもよいし、他の汎用プロセッサ、デジタル信号プロセッサ  （Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ、ＤＳＰ）、特定用途向け集積回路  （Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ、ＦＰＧＡ）や他のプログラマブルロジックデバイス、ディスクリートゲートやトランジスタロジックデバイス、ディスクリートハードウェアコンポーネント等であってもよい。汎用プロセッサは、マイクロプロセッサであってもよいし、又は、当該プロセッサは、任意の従来のプロセッサ等であってもよい。
【００５４】
前記メモリ７１は、前記端末機器７の内部記憶素子、例えば端末機器７のハードディスクや内部メモリであってもよい。前記メモリ７１は、前記端末機器７の外部記憶装置、例えば、前記端末機器７に搭載されたプラグインハードディスク、スマートメモリカード（Ｓｍａｒｔ  Ｍｅｄｉａ（登録商標）  Ｃａｒｄ、  ＳＭＣ）、セキュアデジタル（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ、ＳＤ）カード、フラッシュカード（Ｆｌａｓｈ  Ｃａｒｄ）などであってもよい。また、前記メモリ７１は、前記端末機器７の内部記憶素子と外部記憶装置との両方を含んでもよい。前記メモリ７１は、前記コンピュータプログラム、及び、前記端末機器のために必要となる他のプログラムやデータを記憶するために用いられる。前記メモリ７１は、出力された又は出力しようとしているデータを一時的に記憶するためにも用いられる。
【００５５】
当業者であればはっきりと理解できるように、説明の便宜および簡潔のために、上述したシステム、装置およびユニットの具体的な動作プロセスは、前述した方法実施例における対応するプロセスを参照することができるため、ここで再び説明しない。
【００５６】
上述した実施例において、各実施例にそれぞれの重点を置いて説明しており、ある実施例において詳しく説明又は記載されていない部分は、他の実施例の関連説明を参照することができる。
【００５７】
当業者であれば理解できるように、本明細書で開示された実施例によって説明された各実施例のモジュール、ユニット及び／又は方法ステップが、電子ハードウェア、又は、コンピュータソフトウェアと電子ハードウェアとの組み合わせにより実現可能である。これらの機能をハードウェアで実現するか、それともソフトウェアで実現するかは、技術案の特定応用および設計の制約条件に依存する。当業者は、各特定応用に対して、異なる方法を使用して上記機能を実現することができ、しかしながら、この実現は、本発明の範囲を超えるものと見なすべきではない。
【００５８】
本出願に提供された若干の実施例においては、開示されたシステム、装置および方法は、他の形態で実現可能であると見なすべきである。例えば、以上に説明された装置実施例は、単に例示的なものである。例えば、前記ユニットの分割は、単に論理的機能分割であり、実際の実現の際、他の分割方法であってもよい。例えば、複数のユニットまたは構成要素が別のシステムに組み合わせられるまたは組み込まれることができ、あるいは、いくつかの特徴が無視されたり、実行されなくてもよい。さらに、表示または説明された相互結合または直接結合または通信接続は、いくつかのインターフェースを介して実現されることができ、装置またはユニットの間接結合または通信接続は、電気的形態、機械的形態、または他の形態であってもよい。
【００５９】
別個の部品として説明されたユニットは、物理的に別個であってもよく、または、物理的に別個ではなくてもよい。表示ユニットとしての部品は、物理的ユニットであってもよく、または、物理的ユニットではなくてもよく、つまり、一つの位置にあってもよく、または、複数のネットワークユニットに分布してもよい。ユニットの一部または全部は、実施例に係る技術案の目的を達成するために、実際の必要に基づいて選択されてもよい。
【００６０】
また、本発明の各実施例における各機能ユニットは、一つの処理ユニットに組み込まれてもよく、物理的に単独で存在してもよく、二つ以上のユニットが一つのユニットに組み込まれてもよい。上記組み込まれたユニットは、ハードウェアの形態で実現されてもよいし、ソフトウェア機能ユニットの形態で実現されてもよい。
【００６１】
上記組み込まれたユニットがソフトウェア機能ユニットの形態で実現され、独立した製品として販売または使用される場合、コンピュータ読取可能な記憶媒体に記憶されてもよい。このような理解に基づいて、本発明により実現された上記実施例の方法における全部又は一部のフローは、コンピュータプログラムを介して、関連するハードウェアを指示する形で実現可能であり、前記のコンピュータプログラムは、コンピュータ読取可能な記憶媒体に記憶されてもよく、当該コンピュータプログラムがプロセッサによって実行されると、上述した各方法実施例のステップが実現されるようになる。前記コンピュータプログラムは、コンピュータプログラムコードを含み、前記コンピュータプログラムコードが、ソースコード形式、オブジェクトコード形式、実行可能ファイル、または何らかの中間形式であってもよい。前記コンピュータ読取可能な媒体は、前記コンピュータプログラムコードを格納することができる如何なる実体や装置、記録媒体、ＵＳＢフラッシュメモリ、ポータブルハードディスク、磁気ディスク、光ディスク、コンピュータメモリ、読み出し専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、電気搬送波信号、電気通信信号、ソフトウェア配信媒体などを含んでもよい。説明すべきなのは、前記コンピュータ読取可能な媒体に含まれる内容は、司法管轄区域内の立法および特許実務の要件に従って適宜に増減可能であり、例えば、いくつかの司法管轄区域では、立法および特許実務によって、コンピュータ読取可能な媒体には、電気搬送波信号および電気通信信号が含まれない。
【００６２】
上述のように、上記の実施例は、ただ本発明の技術案を説明するためのものであり、本発明を制限するものではない。前述した実施例を参照して本発明を詳しく説明したが、当業者であれば、前述した各実施例に記載された技術案を修正可能であること、またはその中の技術的特徴の一部を均等的に置換可能であることを理解すべきである。これらの修正や置換は、本発明の各実施例の技術案の精神および範囲から逸脱するものではない。
【図１】
2019119041.tif 000027
【図２】
2019119041.tif 000028
【図３】
2019119041.tif 000029
【図４】
2019119041.tif 000030
【図５】
2019119041.tif 000031
【図６】
2019119041.tif 000032
【図７】
2019119041.tif 000033