IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 上海▲タイ▼米機器人股▲フン▼有限公司の特許一覧

特表2022-520902速度計画方法、装置、電子機器および記憶媒体
<>
  • 特表-速度計画方法、装置、電子機器および記憶媒体 図1
  • 特表-速度計画方法、装置、電子機器および記憶媒体 図2
  • 特表-速度計画方法、装置、電子機器および記憶媒体 図3
  • 特表-速度計画方法、装置、電子機器および記憶媒体 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-01
(54)【発明の名称】速度計画方法、装置、電子機器および記憶媒体
(51)【国際特許分類】
   G05D 1/02 20200101AFI20220325BHJP
【FI】
G05D1/02 H
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021569583
(86)(22)【出願日】2019-09-02
(85)【翻訳文提出日】2021-08-06
(86)【国際出願番号】 CN2019103916
(87)【国際公開番号】W WO2020237890
(87)【国際公開日】2020-12-03
(31)【優先権主張番号】201910450884.3
(32)【優先日】2019-05-28
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.SMALLTALK
(71)【出願人】
【識別番号】521353230
【氏名又は名称】上海▲タイ▼米機器人股▲フン▼有限公司
(74)【代理人】
【識別番号】100134832
【弁理士】
【氏名又は名称】瀧野 文雄
(74)【代理人】
【識別番号】100165308
【弁理士】
【氏名又は名称】津田 俊明
(74)【代理人】
【識別番号】100115048
【弁理士】
【氏名又は名称】福田 康弘
(72)【発明者】
【氏名】夏 知拓
(72)【発明者】
【氏名】▲蘇▼ 至▲ハン▼
(72)【発明者】
【氏名】潘 晶
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301GG08
5H301GG09
5H301LL02
5H301LL03
(57)【要約】
速度計画方法、装置、電子機器(12)および記憶媒体であって、速度計画方法は、対象物体が現在位置から目標位置に到達する1つの計画経路を決定すること(110)と、計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得ること(120)と、フィッティング曲線の曲率半径を算出し、曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出すること(130)と、対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が角速度でフィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断すること(140)と、対象物体が角速度でフィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、角速度を対象物体の走行速度として決定すること(150)とを含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
対象物体が現在位置から目標位置に到達する1つの計画経路を決定することと、
前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得ることと、
前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出することと、
前記対象物体が存在する地図における現在の障害物情報に基づいて、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断することと、
前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を前記対象物体の走行速度として決定することと、を含む、速度計画方法。
【請求項2】
前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるという判断結果に基づいて、前記予め設定された前進速度を低減し、前記曲率半径及び低減後の前進速度により対応する角速度を再計算することと、
前記対象物体が存在する地図における現在の障害物情報に基づいて、前記対象物体が再計算された角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断することと、
前記対象物体が前記再計算された角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるという判断結果に基づいて、障害物と衝突するリスクがない角速度を得るまで、前記予め設定された前進速度を低減し続けることと、をさらに含む、請求項1に記載の速度計画方法。
【請求項3】
前記フィッティング曲線の曲率半径を算出することは、
前記フィッティング曲線の初期点及び傾き極値点をそれぞれ決定することと、
前記フィッティング曲線の前記初期点での傾き、前記フィッティング曲線の前記傾き極値点における傾き、及び前記初期点と前記傾き極値点との間の距離に基づいて、前記フィッティング曲線の曲率半径を算出することと、を含む、請求項1~2のいずれか一項に記載の速度計画方法。
【請求項4】
前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得ることは、
前記計画経路に基づいて、3次Bスプライン曲線のフィッティングを行うサンプリング点を決定することと、
前記サンプリング点から、3次Bスプライン曲線のフィッティングを行う基準点を決定することと、
前記基準点及び設定されたフィッティング曲線方程式によりフィッティング曲線を得ることと、を含む、請求項3に記載の速度計画方法。
【請求項5】
前記計画経路に基づいて、3次Bスプライン曲線のフィッティングを行うサンプリング点を決定することは、
前記計画経路における座標点をトラバースし、前記現在位置との距離が前記設定距離より小さい座標点を前記サンプリング点として決定することを含み、ただし、前記計画経路における座標点が前記現在位置との距離に応じて小さい順に並べられ、
ここで、以下のように前記サンプリング点から3次Bスプライン曲線のフィッティングを行う基準点を決定し、
【数1】
そのうち、前記サンプリング点は、サンプリング点の
【数2】
と表され、C、C、C及びCは基準点を表し、floorは切り上げを表し、ceilは切り捨てを表し、
前記設定されたフィッティング曲線方程式は、
【数3】
であり、
ここで、(x,y)は基準点Cの座標であり、(x,y)は基準点Cの座標であり、(x,y)は基準点Cの座標であり、(x,y)は基準点Cの座標である、請求項4に記載の速度計画方法。
【請求項6】
前記フィッティング曲線の初期点及び傾き極値点をそれぞれ決定することは、
前記設定されたフィッティング曲線方程式f(x)のすべての1階微分値及び2階微分値がいずれも0である座標点から、基準点Cに最も近い座標点を選択し、傾き極値点Dと表記することを含み、ここで、前記基準点Cが前記フィッティング曲線の初期点であり、
ここで、前記フィッティング曲線の前記初期点での傾き、前記フィッティング曲線の前記傾き極値点における傾き、及び前記初期点と前記傾き極値点との間の距離に基づいて前記フィッティング曲線の曲率半径を算出することは、
前記設定されたフィッティング曲線方程式f(x)の基準点Cでの1階微分値の傾きを算出し、該傾きをkと表記することと、
前記設定されたフィッティング曲線方程式f(x)の傾き極値点Dでの1階微分値の傾きを算出し、該傾きをkと表記することと、
基準点Cと傾き極値点Dとの間の距離を算出し、該距離をlと表記することと、
【数4】
で前記フィッティング曲線の曲率半径Rを算出することと、を含む、請求項5に記載の速度計画方法。
【請求項7】
前記対象物体が存在する地図における現在の障害物情報に基づいて、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断することは、
前記対象物体が前記角速度で設定時間走行して経過する経路を決定することと、
前記対象物体が存在する地図における現在の障害物情報に基づいて、前記経路において障害物があるか否かを判断することと、
前記経路において障害物がないという判断結果に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないことを決定することと、を含む、請求項1~2のいずれか一項に記載の速度計画方法。
【請求項8】
対象物体が現在位置から目標位置に到達する1つの計画経路を決定するように構成される決定モジュールと、
前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得るように構成されるフィッティングモジュールと、
前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出するように構成される計算モジュールと、
前記対象物体が存在する地図における現在の障害物情報に基づいて、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断し、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定するように構成される判断モジュールと、を含む、速度計画装置。
【請求項9】
メモリ、プロセッサ及びメモリに記憶され且つプロセッサで実行可能なコンピュータプログラムを含む電子機器であって、
前記プロセッサが前記コンピュータプログラムを実行する際に、請求項1~7のいずれか一項に記載の速度計画方法を実現する、電子機器。
【請求項10】
コンピュータの実行可能な命令を含む記憶媒体であって、
前記コンピュータの実行可能な命令がコンピュータプロセッサにより実行される際に、請求項1~7のいずれか一項に記載の速度計画方法を実現する、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、出願日2019年5月28日、出願番号201910450884.3の中国特許出願の優先権を主張するものであり、該出願のすべての内容が引用により本出願に援用される。
【0002】
本出願の実施例は、ロボットの経路・速度計画の技術分野に関し、例えば、速度計画方法、装置、電子機器および記憶媒体に関する。
【背景技術】
【0003】
ロボットの普及に伴い、ロボットは様々なシーンでますます広く応用されている。ロボットの実際の仕事において、指定された目的地に安全かつ迅速に到達するように、ロボットは走行経路上の障害物を柔軟に避ける必要がある。
【0004】
現在、ロボットに応用されている速度計画方法の一つは、ロボットの計画経路を得た後、ロボットが複数可能な前進速度及び回転速度で走行する際に、対応するシミュレーション経路をそれぞれ算出し、得られたシミュレーション経路をそれぞれ評価し、障害物と衝突せず且つ計画経路に最も適合するシミュレーション経路を選択可能なシミュレーション経路として決定し、最後に、選択可能なシミュレーション経路に対応する前進速度及び回転速度から、速度が最も速い前進速度及び該前進速度に対応する回転速度をロボットが最終的に採用する走行速度として選択する。
【0005】
これから分かるように、関連するロボットの速度計画方法の計算量が多いので、ロボットの障害物を避けるリアルタイム性が低く、一定の安全リスクがある。
【発明の概要】
【0006】
本出願の実施例は、速度計画方法、装置、電子機器および記憶媒体を提供する。
【0007】
第1態様では、本出願の実施例は、対象物体が現在位置から目標位置に到達する1つの計画経路を決定することと、前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得ることと、前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出することと、前記対象物体が存在する地図における現在の障害物情報に基づいて、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断することと、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定することと、を含む、速度計画方法を提供する。
【0008】
第2態様では、本出願の実施例は、対象物体が現在位置から目標位置に到達する1つの計画経路を決定するように構成される決定モジュールと、前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得るように構成されるフィッティングモジュールと、前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出するように構成される計算モジュールと、前記対象物体が存在する地図における現在の障害物情報に基づいて、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断し、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定するように構成される判断モジュールと、を含む、速度計画装置を提供する。
【0009】
第3態様では、本出願の実施例は、メモリ、プロセッサ及び前記メモリに記憶され且つ前記プロセッサで実行可能なコンピュータプログラムを含む電子機器であって、前記プロセッサが前記コンピュータプログラムを実行する際に、第1態様に記載の速度計画方法を実現する、電子機器を提供する。
【0010】
第4態様では、本出願の実施例は、コンピュータの実行可能な命令を含む記憶媒体であって、前記コンピュータの実行可能な命令がコンピュータプロセッサにより実行される際に、第1態様に記載の速度計画方法を実現する、記憶媒体を提供する。
【図面の簡単な説明】
【0011】
図1】本出願の一実施例が提供する速度計画方法のフロー模式図である。
図2】本出願の一実施例が提供する速度計画方法のフロー模式図である。
図3】本出願の一実施例が提供する速度計画装置の構造模式図である。
図4】本出願の一実施例が提供する電子機器の構造模式図である。
【発明を実施するための形態】
【0012】
図1は本出願の一実施例が提供する速度計画方法のフロー模式図である。本実施例に開示される速度計画方法は速度計画装置により実行可能であり、そのうち、該装置は、ソフトウェア及びハードウェアのうちの少なくとも一方により実現でき、且つ一般的にはロボット、無人車などの端末又はサーバなどに統合される。図1に示すように、該方法は、ステップ110~ステップ150を含む。
【0013】
ステップ110において、対象物体が現在位置から目標位置に到達する1つの計画経路を決定する。
【0014】
そのうち、前記対象物体とは、ロボット、無人車などの無人運転のスマート装置を意味することができ、本実施例は、ロボットを前記対象物体として例に挙げて説明する。前記現在位置とは、ロボットの現在時刻のリアルタイムの位置を意味し、前記目標位置とは、望まれたロボットの到達する位置を意味する。
【0015】
一実施例において、ダイクストラDijkstra法により、ロボットの現在位置から目標位置に到達する1つの計画経路を検索することができる。前記計画経路は、1組の2次元座標点の集合であり、
【数1】
と表記し、ここで、Aはロボットの現在位置の座標を表し、A、A、A……Am-1が、ロボットの現在位置から離れた距離に応じて小さい順に並べられている。Dijkstra法の検索パラメータを設定することにより、ロボットが集合Aにおけるいずれか1つの座標点の位置にある際に、いずれも障害物と一定の安全距離を保つことを保証できる。Dijkstra法により上記条件を満たす計画経路を検索できない場合、動的障害物の干渉、例えば、通りすがりの人を排除するように、ロボットを停止するよう制御し、しばらく待ってから検索を続行するか又は外部手段の介入を要求する。
【0016】
ステップ120において、前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得る。
【0017】
そのうち、前記設定距離は2メートルであり、現在位置Aから2メートル離れた位置を座標点Aとし、前記計画経路における座標点Aから座標点Aまでの間の経路に対して3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得る。3次Bスプライン曲線のフィッティングを行う目的は、ステップ110で得られた計画経路に存在する滑らかではない点及び傾き急変点を避けるように、フィッティングされた滑らかな曲線を用いて計画経路におけるフィッティングされた対応するリンクを代替し、ロボットの走行経路の平坦度を向上させ、ロボットの走行の安定性を確保するためである。
【0018】
ステップ130において、前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出する。
【0019】
例示的に、前記フィッティング曲線の曲率半径を算出することは、前記フィッティング曲線の初期点及び傾き極値点をそれぞれ決定することと、前記フィッティング曲線の前記初期点での傾き、前記フィッティング曲線の前記傾き極値点における傾き、及び前記初期点と前記傾き極値点との間の距離に基づいて、前記フィッティング曲線の曲率半径を算出することとを含む。且つ以下の数式で前記角速度を算出する。
【数2】
ここで、
Rは曲率半径を表し、vは予め設定された前進速度を表す。
【0020】
フィッティング曲線の曲率半径を利用してロボットの予め設定された前進速度及び角速度を強く拘束することにより、検証が必要な前進速度及び角速度の候補の数を大幅に減少させ、これにより計算量を減らし、ロボットの速度計画のリアルタイム性を向上させる。
【0021】
なお、前進速度及び角速度の候補を検証する目的は、ロボットが現在の前進速度及び対応する角速度で走行する際に、生じた走行経路が計画経路とほぼ重なり、且つ障害物と衝突しないか否かを決定することにある。複数組の前進速度及び角速度の候補を検証することで、その中から速度が最も速く且つ生じた走行経路と計画経路との重なり度合いが最も高い速度をロボットが最終的に採用する計画速度として選択する。本実施例の技術案において、フィッティング曲線の曲率半径を利用しロボットの予め設定された前進速度及び角速度を強く拘束することより、該拘束条件を満たす前進速度及び角速度の候補のみを検証し、該拘束条件を満たさない前進速度及び角速度の候補を検証しないことで、計算量を大幅に減少させる。且つ、計画経路を近似の曲線にフィッティングするとともに、曲率半径、前進速度及び角速度の間の拘束関係により各前進速度に対応する角速度を取得することにより、角速度により対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断するだけでよく、前進速度の影響及び計画経路との重なり度合いを考慮する必要がなくなり、制限条件を減らすことにより、速度計画時に生じる計算量を減らし、速度計画のリアルタイム性を向上させる。
【0022】
ステップ140において、対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断する。
【0023】
そのうち、対象物体が存在する地図における現在の障害物情報は、複数種類のセンサによりリアルタイムに検出して取得されることができる。例えば、ロボットは、レーザレーダ又は色及び深度のRGBDセンサにより自身の占有グリッド地図における位置を取得し、且つ周囲のグリッドのグレースケール値により自身の周囲の障害物情報を決定する。
【0024】
一実施例において、対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断することは、対象物体が前記角速度で設定時間走行して経過する経路を決定することと、対象物体が存在する地図における現在の障害物情報に基づいて、前記経路において障害物があるか否かを判断することと、前記経路において障害物がないという判断結果に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないことを決定することと、を含む。
【0025】
理論的には前記計画経路及び前記フィッティング曲線に代表される経路において障害物はないが、計算の遅延性及び環境の複雑性を考慮すると、リアルタイムに生じる動的障害物の干渉を重点的に排除し、ロボットと動的障害物との衝突を予防するように、判断を行う必要があることが、理解できる。
【0026】
ステップ150において、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定する。
【0027】
一実施例において、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるという判断結果に基づいて、前記予め設定された前進速度を低減するとともに、ステップ130~140に戻って実行し、前記曲率半径及び低減後の前進速度に基づいて対応する角速度を再計算する。対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が再計算された角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断する。対象物体が再計算された角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるという判断結果に基づいて、障害物と衝突するリスクがない角速度を得るまで、前記予め設定された前進速度を低減し続ける。なお、障害物と衝突するリスクがある場合、実際の構成状況に応じて予め設定された前進速度を低減してもよい。
【0028】
そのうち、前記予め設定された前進速度の初期値は、一般的には許容される最大前進速度であり、最大の前進速度に基づいて得られた角速度によりロボットが走行する過程において障害物と衝突するリスクがある場合、障害物と衝突するリスクのない角速度を得るまで、一定のステップサイズごとに前記最大前進速度を低減する。このような設定は、適切な角速度を迅速に計画し、速度計画のリアルタイム性を向上させることができる。
【0029】
ロボットの速度計画において、ロボットの動きに応じて周期的にロボットの現在位置を更新し、且つ本実施例が提供する速度計画方法を繰り返し利用してロボットの速度をリアルタイムに計画する必要があることが、理解できる。
【0030】
本実施例が提供する速度計画方法は、計画経路においてロボットに最も近い一部の経路に対して、3次Bスプライン曲線のフィッティングを行い、得られたフィッティング曲線を利用して前記一部の経路を代替し、計画経路に存在する滑らかではない点及び傾き急変点を避ける目的を実現し、ロボットの走行する経路の平坦度を向上させ、ロボットの走行の安定性を確保する。同時に、フィッティング曲線の曲率半径を利用してロボットの前進速度及び角速度を強く拘束することにより、検証が必要な前進速度及び角速度の候補の数を大幅に減少させ、これにより計算量を減らし、ロボットの速度計画のリアルタイム性を向上させる。且つ計画経路を近似の曲線にフィッティングすることにより、ロボットが前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断するだけが必要で、前進速度の影響及び計画経路との重なり度合いを考慮する必要がなくなり、制限条件を減らすことにより、速度計画時に生じる計算量を減らし、速度計画のリアルタイム性を向上させ、対象物体が走行する時の安全性を確保する。
【0031】
図2は本出願の一実施例が提供する速度計画方法のフロー模式図である。上記実施例の上で、本実施例は、上記のステップ120及びステップ130を実現するプロセスを詳しく提供する。図2に示すように、該方法はステップ210~ステップ260を含む。
【0032】
ステップ210において、対象物体が現在位置から目標位置に到達する1つの計画経路を決定する。
【0033】
ステップ220において、前記計画経路に基づいて、3次Bスプライン曲線のフィッティングを行うサンプリング点を決定する。
【0034】
ステップ230において、前記サンプリング点から3次Bスプライン曲線のフィッティングを行う基準点を決定する。
【0035】
ステップ240において、前記基準点及び設定されたフィッティング曲線方程式によりフィッティング曲線を得る。
【0036】
ステップ250において、前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出する。
【0037】
ここで、前記計画経路は1組の2次元座標点の集合であり、
【数3】
と表記し、そのうち、3次Bスプライン曲線のフィッティングを行うサンプリング点の決定を容易にするように、Aはロボットの現在位置の座標を表し、A、A、A……Am-1はロボットの現在位置から離れた距離に応じて小さい順に並べられる。例えば、前記計画経路における座標点をトラバースし、前記現在位置との距離が前記設定距離より小さい座標点を前記サンプリング点として決定し、決定された前記サンプリング点がサンプリング点の
【数4】
と表され、ここで、以下のように前記サンプリング点から3次Bスプライン曲線のフィッティングを行う基準点を決定する。
【数5】
【0038】
本実施例は、前記基準点の数が4つに設定されることを例として説明し、前記基準点の数が多いほど、最終的に得られるフィッティング曲線とフィッティングされる経路との類似度が高くなることが、理解できる。ここで、C、C、C及びCは基準点を表し、floorは切り上げを表し、ceilは切り捨てを表し、基準点Cの座標を(x,y)と表し、Cの座標を(x,y)と表し、Cの座標を(x,y)と表し、Cの座標を(x,y)と表し、前記設定されたフィッティング曲線方程式は、
【数6】
である。
【0039】
上記フィッティング曲線の計算過程から分かるように、基準点Cは前記フィッティング曲線の初期点である。前記フィッティング曲線の傾き極値点を決定することは、前記設定されたフィッティング曲線方程式f(x)の1階微分値及び2階微分値を算出し、1階微分値及び2階微分値がいずれも0である時に対応する座標点を算出し、且つ算出して得られた座標点から上記基準点Cに最も近い座標点を選択し、上記基準点Cに最も近い座標点を傾き極値点Dと表記することを含む。
【0040】
一実施例において、前記フィッティング曲線の前記初期点での傾き、前記フィッティング曲線の前記傾き極値点における傾き、及び前記初期点と前記傾き極値点との間の距離に基づいて前記フィッティング曲線の曲率半径を算出することは、前記設定されたフィッティング曲線方程式f(x)の基準点Cにおける1階微分値の傾きを算出し、該傾きをkと表記することと、前記設定されたフィッティング曲線方程式f(x)の傾き極値点Dでの1階微分値の傾きを算出し、該傾きをkと表記することと、基準点Cと傾き極値点Dとの間の距離を算出し、該距離をlと表記することと、
【数7】
で前記フィッティング曲線の曲率半径を算出することとを含む。
【0041】
一実施例において、以下の数式で予め設定された前進速度に対応する角速度を算出する。
【数8】
ここで、
Rは曲率半径を表し、vは予め設定された前進速度を表す。
【0042】
ステップ260において、対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断し、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定する。
【0043】
本実施例が提供する速度計画方法は、フィッティング曲線の曲率半径を利用してロボットの前進速度及び角速度を強く拘束することにより、検証が必要な前進速度及び角速度の候補の数を大幅に減らし、これにより計算量を減らし、ロボットの速度計画のリアルタイム性を向上させる。且つ計画経路を近似の曲線にフィッティングすることにより、角速度によりロボットが前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断するだけでよく、前進速度の影響及び計画経路との重なり度合いを考慮する必要がなくなり、制限条件を減らすことにより、速度計画時に生じる計算量を減らし、速度計画のリアルタイム性を向上させる。
【0044】
図3は本出願の一実施例が提供する速度計画装置の構造模式図である。図3に示すように、前記装置は、決定モジュール310、フィッティングモジュール320、計算モジュール330及び判断モジュール340を含む。
【0045】
そのうち、決定モジュール310は、対象物体が現在位置から目標位置に到達する1つの計画経路を決定するように構成され、フィッティングモジュール320は、前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得るように構成され、計算モジュール330は、前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出するように構成され、判断モジュール340は、対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断し、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定するように構成される。
【0046】
一実施例において、前記装置は、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるという判断結果に基づいて、前記予め設定された前進速度を低減するように構成される、前進速度調整モジュールをさらに含む。これに対応し、計算モジュール330は、前記曲率半径及び低減後の前進速度に基づいて、対応する角速度を再計算するように構成される。判断モジュール340は、対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が再計算された角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断し、対象物体が再計算された角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記再計算された角速度を対象物体の走行速度として決定し、対象物体が再計算された角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるという判断結果に基づいて、障害物と衝突するリスクがない角速度を得るまで、前記予め設定された前進速度を低減し続けるように構成される。
【0047】
一実施例において、決定モジュール310は、ダイクストラDijkstra法により対象物体が現在位置から目標位置に到達する1つの計画経路を検索するように構成される。
【0048】
一実施例において、計算モジュール330は、決定ユニット及び計算ユニットを含む。
【0049】
決定ユニットは、前記フィッティング曲線の初期点及び傾き極値点をそれぞれ決定するように構成される。
【0050】
計算ユニットは、前記フィッティング曲線の前記初期点での傾き、前記フィッティング曲線の前記傾き極値点における傾き、及び前記初期点と前記傾き極値点との間の距離に基づいて、前記フィッティング曲線の曲率半径を算出するように構成される。
【0051】
一実施例において、フィッティングモジュール320は、サンプリング点決定ユニット、基準点決定ユニット及びフィッティングユニットを含む。
【0052】
サンプリング点決定ユニットは、前記計画経路に基づいて、3次Bスプライン曲線のフィッティングを行うサンプリング点を決定するように構成される。
【0053】
基準点決定ユニットは、前記サンプリング点から3次Bスプライン曲線のフィッティングを行う基準点を決定するように構成される。
【0054】
フィッティングユニットは、前記基準点及び設定されたフィッティング曲線方程式によりフィッティング曲線を得るように構成される。
【0055】
一実施例において、前記サンプリング点決定ユニットは、前記計画経路における座標点をトラバースし、前記現在位置との距離が前記設定距離より小さい座標点を前記サンプリング点として決定するように構成され、ここで、前記計画経路における座標点が前記現在位置との距離に応じて近い順に並べられる。
【0056】
基準点決定ユニットは、
【数9】
のように前記サンプリング点から3次Bスプライン曲線のフィッティングを行う基準点を決定するように構成される。
【0057】
ここで、前記サンプリング点は、サンプリング点の集合B={B,B,B……Bn-1}と表され、C、C、C及びCは基準点を表し、floorは切り上げを表し、ceilは切り捨てを表し、基準点Cの座標を(x,y)と表し、Cの座標を(x,y)と表し、Cの座標を(x,y)と表し、Cの座標を(x,y)と表す。
【0058】
前記設定されたフィッティング曲線方程式は、
【数10】
である。
【0059】
一実施例において、前記決定ユニットは、前記設定されたフィッティング曲線方程式f(x)のすべての1階微分値及び2階微分値がいずれも0である座標点から基準点Cに最も近い座標点を選択し、傾き極値点Dと表記するように構成される。
【0060】
前記計算ユニットは以下のように構成される。前記設定されたフィッティング曲線方程式f(x)の基準点Cでの1階微分値の傾きを算出し、該傾きをkと表記する。
【0061】
前記設定されたフィッティング曲線方程式f(x)の傾き極値点Dでの1階微分値の傾きを算出し、該傾きをkと表記する。
【0062】
基準点Cと傾き極値点Dとの間の距離を算出し、該距離をlと表記する。
【0063】
以下の数式で前記フィッティング曲線の曲率半径Rを算出する。
【数11】
【0064】
一実施例において、判断モジュール340は、決定ユニット及び判断ユニットを含む。
【0065】
決定ユニットは、対象物体が前記角速度で設定時間走行して経過する経路を決定するように構成される。
【0066】
判断ユニットは、対象物体が存在する地図における現在の障害物情報に基づいて、前記経路において障害物があるか否かを判断し、前記経路において障害物がないという判断結果に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないことを決定するように構成される。
【0067】
本実施例が提供する速度計画装置は、フィッティング曲線の曲率半径を利用してロボットの前進速度及び角速度を強く拘束することにより、検証が必要な前進速度及び角速度の候補の数を大幅に減らし、これにより計算量を減らし、ロボットの速度計画のリアルタイム性を向上させる。且つ、計画経路を近似の曲線にフィッティングすることにより、角速度によりロボットが前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断するだけが必要で、前進速度の影響及び計画経路との重なり度合いを考慮する必要がなくなり、制限条件を減らすことにより、速度計画時に生じる計算量を減らし、速度計画のリアルタイム性を向上させる。
【0068】
本出願の実施例が提供する速度計画装置は、本出願の任意の実施例が提供する速度計画方法を実行することができる。上記実施例において詳しく説明されていない技術の詳細については、本出願の任意の実施例が提供する速度計画方法を参照してもよい。
【0069】
図4は本出願の一実施例が提供する電子機器の構造模式図である。図4は、本出願の実施形態の実現に用いられることに適する例示的な電子機器12のブロック図を示している。図4に表示される電子機器12は一例にすぎず、本出願の実施例の機能及び使用範囲に何らか制限を与えるものではない。
【0070】
図4に示すように、電子機器12は、汎用計算機器として表現される。電子機器12のコンポーネントは、少なくとも1つのプロセッサ又は処理ユニット16と、システムメモリ28と、異なるシステムコンポーネント(システムメモリ28と処理ユニット16とを含む)を接続するバス18とを含んでもよいが、それに限定されない。
【0071】
バス18は、複数種類のバス構造のうちの少なくとも1つを表し、メモリバス、又はメモリコントローラ、周辺バス、加速グラフィクスポート、及びプロセッサ、又は複数種類のバス構造のうちの任意のバス構造を使用するローカルバスを含む。一例を挙げれば、これらのアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture、ISA)バス、マイクロチャンネルアーキテクチャ(MicroChannel Architecture、MAC)バス、補強型ISAバス、ビデオ電子標準協会(Video Electronic Standard Association、VESA)ローカルバス及びペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnection、PCI)バスを含むが、それに限定されない。
【0072】
電子機器12は、典型的に、複数種類のコンピュータシステム読み取り可能な媒体を含む。これらの媒体は、電子機器12がアクセスできる使用可能ないずれかの媒体であってもよく、揮発性及び不揮発性の媒体、リムーバブル及び非リムーバブルの媒体を含む。
【0073】
システムメモリ28は、揮発性メモリ形態のコンピュータシステム読み取り可能な媒体、例えば、ランダムアクセスメモリ(Random Access Memory、RAM)30及びキャッシュメモリ32のうちの少なくとも1つを含んでもよい。電子機器12は、他のリムーバブル・非リムーバブル、揮発性・非揮発性のコンピュータシステム記憶媒体を含む。単なる例として挙げれば、ストレージシステム34は、非リムーバブル、非揮発性磁気媒体(図4に示されず、一般的には「ハードディスクドライバ」と呼ばれる)を読み書きするように構成される。図4に示されないが、リムーバブル非揮発性磁気ディスク(例えば「フレキシブルディスク」)を読み書きするための磁気ディスクドライバ、及びリムーバブル非揮発性ディスク(例えば、ポータブルコンパクトディスクリードオンリーメモリ(Compact Disc Read-Only Memory、CD-ROM、)、デジタルビデオディスクリードオンリーメモリ(Digital Video Disc-Read Only Memory、DVD-ROM)又は他の光媒体)を読み書きするためのディスクドライバを提供することができる。これらの場合、各ドライバは、少なくとも1つのデータ媒体インタフェースによりバス18に接続されることができる。メモリ28は、少なくとも1つのプログラム製品を含み、該プログラム製品は、1組の(例えば、速度計画装置の決定モジュール310、フィッティングモジュール320、計算モジュール330及び判断モジュール340)プログラムモジュールを有し、これらのプログラムモジュールは、本出願の各実施例を実行する機能を発揮するように構成されてもよい。
【0074】
1組の(例えば、速度計画装置の決定モジュール310、フィッティングモジュール320、計算モジュール330及び判断モジュール340)プログラムモジュール42のプログラム・ユーティリティ40を有し、例えば、メモリ28に記憶されることができ、このようなプログラムモジュール42は、操作システム、少なくとも1つのアプリーケーション、他のプログラムモジュール及びプログラムデータを含むが、それに限定されない。これらの例示中のそれぞれ又はある組み合わせにはネットワーク環境での実現が含まれる可能性がある。プログラムモジュール42は、一般的には本出願が説明した実施例における機能及び/又は方法を実行する。
【0075】
電子機器12は、少なくとも1つの外部機器14(例えば、キーボード、ポインティングデバイス、ディスプレイ24など)と通信してもよく、ユーザが該電子機器12と対話できるようにする少なくとも1つの機器と通信してもよく、及び/又は該電子機器12が少なくとも1つの他の計算機器と通信できるようにするいずれかの機器(例えば、ネットワークカード、モデムなど)と通信してもよい。このような通信は、入出力(Input/Output、I/O)インタフェース22により行うことができる。さらに、電子機器12は、ネットワークアダプタ20を介して少なくとも1つのネットワーク(例えば、ローカルエリアネットワーク(Local Area Network、LAN)、ワイドエリアネットワーク(Wide Area Network、WAN)及び/又はパブリックネットワーク、例えばインターネット)と通信することもできる。図に示すように、ネットワークアダプタ20は、バス18を介して電子機器12のほかのモジュールと通信する。図に示されていないが、電子機器12と組み合わせて他のハードウェア及び/又はソフトウェアモジュールを使用することができ、それは、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライバアレイ、ディスクアレイ(Redundant Arrays of Independent Drives、RAID)システム、テープドライバ及びデータバックアップストレージシステムなどを含むが、それに限定されないことを理解すべきである。
【0076】
処理ユニット16は、システムメモリ28に記憶されたプログラムを実行することにより、様々な機能応用及びデータ処理を実行し、例えば、本出願の実施例が提供する速度計画方法を実現し、該方法は、
対象物体が現在位置から目標位置に到達する1つの計画経路を決定することと、
前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得ることと、
前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出することと、
対象物体が存在する地図における現在の障害物情報に基づいて、対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断することと、
対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定することとを含む。
【0077】
処理ユニット16は、システムメモリ28に記憶されたプログラムを実行することにより、様々な機能応用及びデータ処理を実行し、例えば、本出願の実施例が提供する速度計画方法を実現する。
【0078】
もちろん、当業者は、プロセッサが、本出願の任意の実施例が提供する速度計画方法の技術案を実現することもできることを理解できる。
【0079】
本出願の一実施例は、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体も提供し、該プログラムがプロセッサに実行される際に本出願の実施例が提供するような速度計画方法を実現し、該方法は、
対象物体が現在位置から目標位置に到達する1つの計画経路を決定することと、
前記計画経路における現在位置から現在位置から設定距離だけ離れた位置までの間の経路に対して、3次Bスプライン曲線のフィッティングを行い、フィッティング曲線を得ることと、
前記フィッティング曲線の曲率半径を算出し、前記曲率半径及び予め設定された前進速度に基づいて対応する角速度を算出することと、
前記対象物体が存在する地図における現在の障害物情報に基づいて、前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがあるか否かを判断することと、
前記対象物体が前記角速度で前記フィッティング曲線に沿って走行する過程において障害物と衝突するリスクがないという判断結果に基づいて、前記角速度を対象物体の走行速度として決定することとを含む。
【0080】
もちろん、本出願の実施例が提供するコンピュータ読み取り可能な記憶媒体について、それに記憶されたコンピュータプログラムは、前記のような方法の操作に限定されず、本出願の任意の実施例が提供する速度計画方法における関連操作を実行することもできる。
【0081】
本出願の実施例のコンピュータ記憶媒体は、少なくとも1つのコンピュータ読み取り可能な媒体の任意の組み合わせを採用することができる。コンピュータ読み取り可能な媒体は、コンピュータ読み取り可能な信号媒体又はコンピュータ読み取り可能な記憶媒体であってもよい。コンピュータ読み取り可能な記憶媒体は、例えば、電気、磁気、光、電磁、赤外線、又は半導体のシステム、装置又はデバイス、又はこれらの任意の組み合わせであってもよいが、それらに限定されない。コンピュータ読み取り可能な記憶媒体のより具体的な例(非網羅的なリスト)は、少なくとも1つの導線を有する電気的接続、ポータブルコンピュータ磁気ディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(Read-Only Memory、ROM)、消去可能なプログラマブルリードオンリーメモリ(Erasable Programmable Read-Only Memory、EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(Compact Disc Read-Only Memory、CD-ROM)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせを含む。本書類において、コンピュータ読み取り可能な記憶媒体は、いずれかのプログラムを含むか又は記憶する実体的媒体であってもよく、該プログラムがコマンド実行システム、装置又はデバイスに使用されてもよく、又はそれらと組み合わせて使用されてもよい。
【0082】
コンピュータ読み取り可能な信号媒体は、ベースバンド又はキャリアの一部として、伝搬されるデータ信号を含んでもよく、そのうち、コンピュータ読み取り可能なプログラムコードをベアラする。このような伝搬されるデータ信号は、複数種類の形態を採用することができ、電磁信号、光信号又は上記の任意の適切な組み合わせを含むが、それらに限定されない。コンピュータ読み取り可能な信号媒体は、コンピュータ読み取り可能な記憶媒体以外のいずれかのコンピュータ読み取り可能な媒体であってもよく、該コンピュータ読み取り可能な媒体は、コマンド実行システム、装置又はデバイスによって使用されるか、又はそれらと組み合わせて使用されるためのプログラムを送信、伝搬又は伝送することができる。
【0083】
コンピュータ読み取り可能な媒体に含まれるプログラムコードは、いずれかの適切な媒体により伝送することができ、無線、電線、光ケーブル、無線周波数(Radio Frequency、RF)など、又は上記の任意の適切な組み合わせを含むが、それらに限定されない。
【0084】
1つ以上のプログラミング言語又はその組み合わせで本出願の操作を実行するためのコンピュータプログラムコードを作成することができ、前記プログラミング言語は、オブジェクト指向のプログラミング言語、例えばJava、Smalltalk、C++を含み、一般的なプロセス式プログラミング言語、例えば「C」言語又は類似するプログラミング言語も含む。プログラムコードは、完全にユーザコンピュータで実行されてもよく、部分的にユーザコンピュータで実行されてもよく、独立なソフトウェアパッケージとして実行されてもよく、一部がユーザコンピュータで一部がリモートコンピュータで実行されてもよく、又は完全にリモートコンピュータ又はサーバで実行されてもよい。リモートコンピュータが関与する場合において、リモートコンピュータは、ローカルエリアネットワーク(Local Area Network、LAN)又はワイドエリアネットワーク(Wide Area Network、WAN)を含む任意種類のネットワークを介して、ユーザコンピュータに接続されることができ、又は、外部コンピュータに接続されることができる(例えば、インターネットサービスプロバイダを利用してインターネットを介して接続される。)。
図1
図2
図3
図4
【国際調査報告】