(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-25
(54)【発明の名称】移動ロボット制御方法、コンピュータで実現される記憶媒体及び移動ロボット
(51)【国際特許分類】
G05D 1/43 20240101AFI20240118BHJP
【FI】
G05D1/02 K
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023539797
(86)(22)【出願日】2021-12-28
(85)【翻訳文提出日】2023-08-22
(86)【国際出願番号】 CN2021141964
(87)【国際公開番号】W WO2022143626
(87)【国際公開日】2022-07-07
(32)【優先日】2020-12-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523238427
【氏名又は名称】優必康(青島)科技有限公司
【氏名又は名称原語表記】UBKANG (QINGDAO) TECHNOLOGY CO., LTD.
【住所又は居所原語表記】Room 202-1, Building 3, No.8 Shengshui Road, Laoshan District Qingdao, Shandong 266100, China
(74)【代理人】
【識別番号】110002262
【氏名又は名称】TRY国際弁理士法人
(72)【発明者】
【氏名】グォ ドゥジュン
(72)【発明者】
【氏名】サオ ダン
(72)【発明者】
【氏名】シェン ヤン
(72)【発明者】
【氏名】ポン カンハオ
(72)【発明者】
【氏名】タン ファン
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA10
5H301CC03
5H301CC06
5H301GG09
5H301QQ04
(57)【要約】
本発明は、移動ロボット制御方法、コンピュータで実現される記憶媒体、及び移動ロボットに関する。方法は、ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得するステップと、ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得するステップと、第1画像及び第2画像から複数対のマッチング特徴点を抽出し、抽出された特徴点を仮想単位球上投影して、複数の投影特徴点を得るステップであって、仮想単位球の中心は、カメラの座標の光学中心と重なるステップと、前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが所望のポーズになるまで移動するように制御するステップと、を含む。画像不変特徴及び回転ベクトル特徴を用いてロボットの所望のポーズを決定するため、事前に目標モデルを知っていたり、目標に対するロボットのポーズを推定したりする必要がない。
【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサーによって実行される、移動ロボットを制御するためのコンピュータにより実現される方法であって、
ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得するステップと、
ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得するステップと、
前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得るステップであって、仮想単位球の中心は、カメラの座標の光学中心と重なるステップと、
前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、前記画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが前記所望のポーズになるまで移動するように制御するステップと、を含むことを特徴とする方法。
【請求項2】
ロボットが移動するように制御するステップは、
前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップと、
前記回転ベクトル特徴に従って、前記ロボットが回転するように制御するステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップは、
前記画像不変特徴及びプリセット制御モデルに従って、第1角速度及び第1線速度を計算するステップと、
前記第1角速度及び第1線速度に従って、前記ロボットが平行移動するように制御するステップと、
平行移動誤差が第1プリセット閾値より小さいか否かを判断するステップと、
前記平行移動誤差が前記第1プリセット閾値以上である場合、前記第2画像を取得するステップに戻るステップと、
前記平行移動誤差が前記第1プリセット閾値より小さい場合、前記ロボットが前記回転ベクトル特徴に従って回転するように制御するステップと、を含むことを特徴とする請求項2に記載の方法。
【請求項4】
前記回転ベクトル特徴に従って前記ロボットが回転するように制御するステップは、
前記回転ベクトル特徴及び制御モデルに基づいて、第2角速度及び第2線速度を計算するステップと、
前記第2角速度及び第2線速度に従って、前記ロボットが回転するように制御するステップと、
前記ロボットの回転後の方向誤差が第2プリセット閾値より小さいか否かを判断するステップと、
前記ロボットの前記方向誤差が前記第2プリセット閾値以上である場合、前記カメラによって第3画像を取得するステップと、
前記第1画像及び第3画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を前記単位球上に投影して、複数の投影特徴点を得るステップと、
前記第1画像及び第3画像から抽出された前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得し、次に、前記回転ベクトル特徴及び制御モデルに基づいて、前記第2角速度及び第2線速度を計算するステップに戻るステップと、を含むことを特徴とする請求項2に記載の方法。
【請求項5】
前記画像不変特徴は、前記投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含む、ことを特徴とする請求項1に記載の方法。
【請求項6】
前記複数の投影特徴点に基づいて、前記画像不変特徴を取得するステップは、
前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つを取得するステップと、
前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つの平均値を計算し、この平均値を画像不変特徴とするステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記複数の投影特徴点に基づいて、回転ベクトル特徴を取得するステップは、
前記複数の投影特徴点に基づいて、前記ロボットの加速度方向を決定するステップと、
前記加速度方向とロボット座標系のx軸との夾角を前記回転ベクトル特徴とするステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記第1画像及び第2画像から複数対のマッチング特徴点を抽出するステップは、
スケール不変特徴変換を用いて、前記第1画像及び第2画像のそれぞれから第1数の原特徴点を抽出するステップと、
前記抽出された原特徴点を比較及びマッチングして、第2数の対のマッチング特徴点を取得するステップと、を含むことを特徴とする請求項1に記載の方法。
【請求項9】
ロボットがプリセットポーズで所望の位置に停止するように制御するステップと、
前記カメラによって撮影された前記ロボットの前方の環境の画像を前記第1画像とするステップであって、前記ロボットの前方の環境は少なくとも3つの特徴点を含むステップと、をさらに含むことを特徴とする請求項1に記載の方法。
【請求項10】
移動ロボットで実行される1つ又は複数のプログラムを記憶する非一時的なコンピュータ可読記憶媒体であって、前記1つ又は複数のプログラムが前記ロボットの1つ又は複数のプロセッサーによって実行されると、前記ロボットに実行させる処理は、
ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得するステップと、
ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得するステップと、
前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得るステップであって、仮想単位球の中心は、カメラの座標の光学中心と重なるステップと、
前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、前記画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが前記所望のポーズになるまで移動するように制御するステップと、を含むことを特徴とする非一時的なコンピュータ可読記憶媒体。
【請求項11】
前記画像不変特徴は、前記投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含み、
前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得するステップは、
前記複数の投影特徴点に基づいて、前記ロボットの加速度方向を決定するステップと、
前記加速度方向とロボット座標系のx軸との夾角を前記回転ベクトル特徴とするステップと、を含むことを特徴とする請求項10に記載の非一時的なコンピュータ可読記憶媒体。
【請求項12】
移動ロボットであって、
1つ又は複数のプロセッサーと、
メモリと、
前記メモリに記憶され、前記1つ又は複数のプロセッサーによって実行されるように配置された1つ又は複数のプログラムと、を含み、
前記1つ又は複数のプログラムは、
ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得する命令と、
ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得する命令と、
前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得る命令であって、仮想単位球の中心は、カメラの座標の光学中心と重なる命令と、
前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、前記画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが前記所望のポーズになるまで移動するように制御する命令と、を含むことを特徴とするロボット。
【請求項13】
ロボットが移動するように制御することは、
前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップと、
前記回転ベクトル特徴に従って、前記ロボットが回転するように制御するステップと、を含むことを特徴とする請求項12に記載のロボット。
【請求項14】
前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップは、
前記画像不変特徴及びプリセット制御モデルに従って、第1角速度及び第1線速度を計算するステップと、
前記第1角速度及び第1線速度に従って、前記ロボットが平行移動するように制御するステップと、
平行移動誤差が第1プリセット閾値より小さいか否かを判断するステップと、
前記平行移動誤差が前記第1プリセット閾値以上である場合、前記第2画像を取得するステップに戻るステップと、
前記平行移動誤差が前記第1プリセット閾値より小さい場合、前記ロボットが前記回転ベクトル特徴に従って回転するように制御するステップと、を含むことを特徴とする請求項13に記載のロボット。
【請求項15】
前記回転ベクトル特徴に従って前記ロボットが回転するように制御するステップは、
前記回転ベクトル特徴及び制御モデルに基づいて、第2角速度及び第2線速度を計算するステップと、
前記第2角速度及び第2線速度に従って、前記ロボットが回転するように制御するステップと、
前記ロボットの回転後の方向誤差が第2プリセット閾値より小さいか否かを判断するステップと、
前記ロボットの前記方向誤差が前記第2プリセット閾値以上である場合、前記カメラによって第3画像を取得するステップと、
前記第1画像及び第3画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を前記単位球上に投影して、複数の投影特徴点を得るステップと、
前記第1画像及び第3画像から抽出された前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得し、次に、前記回転ベクトル特徴及び制御モデルに基づいて、前記第2角速度及び第2線速度を計算するステップに戻るステップと、を含むことを特徴とする請求項13に記載のロボット。
【請求項16】
前記画像不変特徴は、前記投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含む、ことを特徴とする請求項12に記載のロボット。
【請求項17】
前記複数の投影特徴点に基づいて、前記画像不変特徴を取得することは、
前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つのを取得するステップと、
前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つの平均値を計算し、この平均値を画像不変特徴とするステップと、を含むことを特徴とする請求項12に記載のロボット。
【請求項18】
前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得することは、
前記複数の投影特徴点に基づいて、前記ロボットの加速度方向を決定するステップと、
前記加速度方向とロボット座標系のx軸との夾角を前記回転ベクトル特徴とするステップと、を含むことを特徴とする請求項12に記載のロボット。
【請求項19】
前記第1画像及び第2画像から複数対のマッチング特徴点を抽出することは、
スケール不変特徴変換を用いて、前記第1画像及び第2画像のそれぞれから第1数の原特徴点を抽出するステップと、
前記抽出された原特徴点を比較及びマッチングして、第2数の対のマッチング特徴点を取得するステップと、を含むことを特徴とする請求項12に記載のロボット。
【請求項20】
ロボットがプリセットポーズで所望の位置に停止するように制御するステップと、
前記カメラによって撮影された前記ロボットの前方の環境の画像を前記第1画像とすることであって、前記ロボットの前方の環境は少なくとも3つの特徴点を含むステップと、をさらに含むことを特徴とする請求項12に記載のロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に移動ロボットに関し、特に、ポーズ測定を行わない画像ベースの移動ロボット制御方法及び移動ロボットに関する。
【背景技術】
【0002】
地上移動ロボットは、様々な反復的で危険な活動を実行するために、後方勤務、操作救助、監視などの分野で積極的に発展している。多くの地上移動ロボットの調整制御は主にデカルト座標系で行われている。つまり、システムの出力は、メートル座標(x軸とy軸に沿う)、及び度又は弧度(z軸の周り)で測定された角度である。そのためには、センサーによって取集された想定情報を制御計算に使用する必要がある。しかしながら、ライダー、RGB-D及びステレオカメラなどの一般的に使用される距離センサーは高価であり、体積が大きい。
【0003】
ロボットの相対ポーズは、単眼式カメラで再構築することができる。しかしながら、単眼式カメラに基づくポーズ再構築(posereconstruction)には、事前に目標モデル及びポーズ推定の回復を知る必要があるが、事前に目標モデルを知ることを常に得ることができない。さらに、ポーズ推定に必要な計算は非常に複雑である。
【0004】
従って、上記の問題を克服するために、ポーズ測定を行わない画像ベースの移動ロボット制御方法を提供する必要がある。
【発明の概要】
【0005】
本発明の目的は、既存の上記の問題を解決するために、ロボットアシスタントを提供することである。
【0006】
本発明は、次のように実現される。1つ又は複数のプロセッサーによって実行される、移動ロボットを制御するためのコンピュータにより実現される方法であって、この方法は、ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得するステップと、ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得するステップと、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得るステップであって、仮想単位球の中心は、カメラの座標の光学中心と重なるステップと、前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、前記画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが前記所望のポーズになるまで移動するように制御するステップと、を含む。
【0007】
さらに、ロボットが移動するように制御するステップは、前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップと、前記回転ベクトル特徴に従って、前記ロボットが回転するように制御するステップと、を含む。
【0008】
さらに、前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップは、前記画像不変特徴及びプリセット制御モデルに従って、第1角速度及び第1線速度を計算するステップと、前記第1角速度及び第1線速度に従って、前記ロボットが平行移動するように制御するステップと、平行移動誤差が第1プリセット閾値より小さいか否かを判断するステップと、前記平行移動誤差が前記第1プリセット閾値以上である場合、前記第2画像を取得するステップに戻るステップと、前記平行移動誤差が前記第1プリセット閾値より小さい場合、前記ロボットが前記回転ベクトル特徴に従って回転するように制御するステップと、を含む。
【0009】
さらに、前記回転ベクトル特徴に従って、前記ロボットが回転するように制御するステップは、前記回転ベクトル特徴及び制御モデルに基づいて、第2角速度及び第2線速度を計算するステップと、前記第2角速度及び第2線速度に従って、前記ロボットが回転するように制御するステップと、前記ロボットの回転後の方向誤差が第2プリセット閾値より小さいか否かを判断するステップと、前記ロボットの前記方向誤差が前記第2プリセット閾値以上である場合、前記カメラによって第3画像を取得するステップと、前記第1画像及び第3画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を前記単位球上に投影して、複数の投影特徴点を得るステップと、前記第1画像及び第3画像から抽出された前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得し、次に、前記回転ベクトル特徴及び制御モデルに基づいて、前記第2角速度及び第2線速度を計算するステップに戻るステップと、を含む。
【0010】
さらに、前記画像不変特徴は、前記投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含む。
【0011】
さらに、前記複数の投影特徴点に基づいて、前記画像不変特徴を取得するステップは、前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つを取得するステップと、前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つの平均値を計算し、この平均値を画像不変特徴とするステップと、を含む。
【0012】
さらに、前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得するステップは、前記複数の投影特徴点に基づいて、前記ロボットの加速度方向を決定するステップと、前記加速度方向とロボット座標系のx軸との夾角を前記回転ベクトル特徴とするステップと、を含む。
【0013】
さらに、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出するステップは、スケール不変特徴変換を用いて、前記第1画像及び第2画像のそれぞれから第1数の原特徴点を抽出するステップと、前記抽出された原特徴点を比較及びマッチングして、第2数の対のマッチング特徴点を取得するステップと、を含む。
【0014】
さらに、方法は、ロボットがプリセットポーズで所望の位置に停止するように制御するステップと、前記カメラによって撮影された前記ロボットの前方の環境の画像を前記第1画像とするステップであって、前記ロボットの前方の環境は少なくとも3つの特徴点を含むステップと、をさらに含む。
【0015】
本発明はまた、移動ロボットで実行される1つ又は複数のプログラムを記憶する非一時的なコンピュータ可読記憶媒体を提供する。前記1つ又は複数のプログラムが前記ロボットの1つ又は複数のプロセッサーによって実行されると、前記ロボットに実行させる処理は、ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得するステップと、ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得するステップと、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得るステップであって、仮想単位球の中心は、カメラの座標の光学中心と重なるステップと、前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、前記画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが前記所望のポーズになるまで移動するように制御するステップと、を含む。
【0016】
さらに、前記画像不変特徴は、前記投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含む。前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得するステップは、前記複数の投影特徴点に基づいて、前記ロボットの加速度方向を決定するステップと、前記加速度方向とロボット座標系のx軸との夾角を前記回転ベクトル特徴とするステップと、を含む。
【0017】
本発明は、移動ロボットをさらに含む。この移動ロボットは、1つ又は複数のプロセッサーと、メモリと、前記メモリに記憶され、前記1つ又は複数のプロセッサーによって実行されるように配置された1つ又は複数のプログラムと、を含む。前記1つ又は複数のプログラムは、ロボットが所望のポーズにある時に、ロボット上のカメラによって撮影された第1画像を取得する命令と、ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得する命令と、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得る命令であって、仮想単位球の中心は、カメラの座標の光学中心と重なる命令と、前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、前記画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが前記所望のポーズになるまで移動するように制御する命令と、を含む。
【0018】
さらに、ロボットが移動するように制御することは、前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップと、前記回転ベクトル特徴に従って、前記ロボットが回転するように制御するステップと、を含む。
【0019】
さらに、前記画像不変特徴に従って、前記ロボットが平行移動するように制御するステップは、前記画像不変特徴及びプリセット制御モデルに従って、第1角速度及び第1線速度を計算するステップと、前記第1角速度及び第1線速度に従って、前記ロボットが平行移動するように制御するステップと、平行移動誤差が第1プリセット閾値より小さいか否かを判断するステップと、前記平行移動誤差が前記第1プリセット閾値以上である場合、前記第2画像を取得するステップに戻るステップと、前記平行移動誤差が前記第1プリセット閾値より小さい場合、前記ロボットが前記回転ベクトル特徴に従って回転するように制御するステップと、を含む。さらに、前記回転ベクトル特徴に従って、前記ロボットが回転するように制御するステップは、前記回転ベクトル特徴及び制御モデルに基づいて、第2角速度及び第2線速度を計算するステップと、前記第2角速度及び第2線速度に従って、前記ロボットが回転するように制御するステップと、前記ロボットの回転後の方向誤差が第2プリセット閾値より小さいか否かを判断するステップと、前記ロボットの前記方向誤差が前記第2プリセット閾値以上である場合、前記カメラによって第3画像を取得するステップと、前記第1画像及び第3画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を前記単位球上に投影して、複数の投影特徴点を得るステップと、前記第1画像及び第3画像から抽出された前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得し、次に、前記回転ベクトル特徴及び制御モデルに基づいて、前記第2角速度及び第2線速度を計算するステップに戻るステップと、を含む。
【0020】
さらに、前記画像不変特徴は、前記投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含む。
【0021】
さらに、前記複数の投影特徴点に基づいて、前記画像不変特徴を取得することは、前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つを取得するステップと、前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つの平均値を計算し、この平均値を画像不変特徴とするステップと、を含む。
【0022】
さらに、前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得することは、前記複数の投影特徴点に基づいて、前記ロボットの加速度方向を決定するステップと、前記加速度方向とロボット座標系のx軸との夾角を前記回転ベクトル特徴とするステップと、を含む。
【0023】
さらに、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出することは、スケール不変特徴変換を用いて、前記第1画像及び第2画像のそれぞれから第1数の原特徴点を抽出するステップと、前記抽出された原特徴点を比較及びマッチングして、第2数の対のマッチング特徴点を取得するステップと、を含む。
【0024】
さらに、ロボットがプリセットポーズで所望の位置に停止するように制御するステップと、前記カメラによって撮影された前記ロボットの前方の環境の画像を前記第1画像とするステップであって、前記ロボットの前方の環境は少なくとも3つの特徴点を含むステップと、をさらに含む。
【0025】
従来技術に対する本発明の技術的効果は、本発明の移動ロボット制御方法が、従来の高価でかさばるセンサーに依存するのではなく、カメラを1台だけ必要とすることである。一方、画像不変特徴及び回転ベクトル特徴を用いてロボットの所望のポーズを決定するため、事前に目標モデルを知っていたり、目標に対するロボットのポーズを推定したりする必要がない。
【図面の簡単な説明】
【0026】
本発明の実施例の技術的手段を更に明らかに説明するため、下記では本発明の実施例又は従来技術の説明に必要な図面を簡単に説明する。当然のことながら、下記で説明される図面は本発明の幾つかの実施例のみであり、当業者にとって、創造的労働を果たさない前提で、これらの図面に基づいて他の図面を得ることができる。
【
図1】一実施例によるロボットの模式ブロック図である。
【
図2】別の実施例によるロボットの模式ブロック図である。
【
図3】一実施例による車輪型ロボットの模式等角図である。
【
図4】ロボットを制御して充電ステーションにドッキングできるシナリオを示す。
【
図5】一実施例による移動ロボット制御方法の模式フローチャートである。
【
図6】別の実施例による移動ロボット制御方法の模式フローチャートである。
【
図7】特徴点を投影した仮想単位球の模式図である。
【
図8】一実施例による加速度レベルのシステム入力を示す。
【
図9】不変特徴を使用した画像ベースの切り替え制御スキームを示す。
【
図10】一実施例による、ロボットが平行移動するように制御する方法の模式フローチャートである。
【
図11】一実施例による、ロボットが平行移動するように制御する方法の模式フローチャートである。
【発明を実施するための形態】
【0027】
以下では、本発明の実施例を詳細に説明し、例示的な実施例を添付の図面に示す。同じ又は類似の符号は、同じ又は類似の要素、あるいは同じ又は類似の機能を有する要素を示す。添付の図面を参照しながら以下に説明する実施例は例示的な、本発明を説明するためのものであり、本発明を限定するものとして理解されるべきではない。
【0028】
本発明の説明では、「長さ」、「幅」、「上」、「下」、「前」、「後」、「左」、「右」、「垂直」、「水平」、「頂」、「底」、「内」、「外」などの用語で示される方位又は位置関係は、図面で示される方位又は位置関係に基づいた、本発明の説明の便宜および説明の簡略化のためのものに過ぎず、言及された装置又は部品が必ず特定の方位を有し特定の方位で構造及び操作されることを指示又は示唆するものではないため、本発明を制限するものではないと理解されるべきある。
【0029】
それ以外に、「第1」、「第2」という技術用語は、説明の目的でのみ使用され、相対的な重要性を指示したり示唆したり、あるいは示される技術的特徴の数を暗黙的に示したりするものとして理解することができない。それにより、「第1」及び「第2」により限定される特徴は、明示的に又は暗黙的に、1つ又は複数の該特徴を含むことができる。本発明の説明において、「複数」は、特に明確かつ具体的に限定されない限り、2つ又は2つ以上を意味する。
【0030】
本発明において、特に明確に指定及び限定されない限り、「取付」、「連結」、「接続」、「固定」などの用語は広い意味で理解する必要があり、例えば、固定接続、取り外し可能な接続、又は一体化の場合がある。機械的接続又は電気的接続の場合がある。直接連結、中間媒体を介した間接的連結、2つの素子の内部連通又は2つの素子の相互作用関係の場合がある。当業者にとって、本発明における上記の用語の具体的な意味は、具体的な状況に応じて理解することができる。
【0031】
本発明の目的、技術的手段及び利点をさらに明らかにするために、以下は図面及び実施例を参照しながら、本発明をさらに詳細に説明する。
【0032】
図1は、一実施例によるロボット11の模式ブロック図である。ロボット11は移動ロボットであってもよい。ロボット11は、プロセッサー110と、メモリ111と、メモリ111に記憶され、プロセッサー110によって実行され得る1つ又は複数のコンピュータプログラム112とを含んでもよい。プロセッサー110がコンピュータプログラム112を実行すると、ロボット11を制御するための方法の実施例におけるステップ、例えば、
図5のステップS41~S44、
図6のステップS51~S56、
図10のステップS551~S56、
図11のステップS561~S566が実施される。
【0033】
例示的に、前記1つ又は複数のコンピュータプログラム112は、1つ又は複数のモジュール/ユニットに分割することができ、前記1つ又は複数のモジュール/ユニットはメモリ111に記憶され、プロセッサー110によって実行される。前記1つ又は複数のモジュール/ユニットは、特定の機能を実行できる一連のコンピュータプログラム命令セグメントであってもよく、前記命令セグメントは、ロボット11における前記1つ又は複数のコンピュータプログラム112の実行プロセスを記述するために使用される。
【0034】
プロセッサー110は、中央処理装置(CPU)、汎用プロセッサー、デジタルシグナルプロセッサー(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス、ディスクリートゲート、トランジスタロジックデバイス又はディスクリートハードウェアコンポーネントであってもよい。汎用プロセッサーは、マイクプロセッサー又は任意の従来のプロセッサーなどであってもよい。
【0035】
メモリ111は、ロボット11の内部記憶ユニット、例えばハードディスク又はメモリ(memory)であってもよい。メモリ111は、ロボット11の外部記憶機器、例えばプラグイン式ハードディスク、スマートメモリカード(SMC)及びセキュアデジタル(SD)カード、又は任意の適切なフラッシュメモリカードであってもよい。また、メモリ111は、内部記憶ユニットと外部記憶機器を含んでもよい。メモリ111は、ロボットが必要とするコンピュータプログラム、他のプログラム、及びデータを記憶するために使用される。メモリ111はまた、出力された、又は出力されるデータを一時的に記憶するために使用することもできる。
【0036】
なお、
図1は、ロボット11の一例にすぎず、ロボット11を限定するものではないことに留意されたい。ロボット11は、図示されているものとは異なる数の部材を含んでもよく、又は幾つかの他の異なる部材を含んでもよい。例えば、
図2及び
図3に示される実施例では、ロボット11は、アクチュエータ113、移動機構114、カメラ115及び通信インターフェースモジュール106をさらに含んでもよい。ロボット11は、入出力機器、ネットワークアクセス機器、バスなどを含んでもよい。
【0037】
一実施例では、アクチュエータ113は、1つ又は複数のモータ及び/又は操舵機を含んでもよい。移動機構114は、1つ又は複数のホイール及び/又はクローラを含んでもよい。アクチュエータ113は、移動機構114及びプロセッサー110に電気的に結合され、プロセッサー110の命令に従って移動機構114の移動を駆動することができる。カメラ115は、例えば、ロボット11に搭載されたカメラであってもよい。カメラ115は、プロセッサー110に電気的に接続され、撮影された画像をプロセッサー110に送信するように構成されている。通信インターフェースモジュール116は、無線送信機、無線受信機、及びプロセッサー110により実行可能なコンピュータプログラムを含んでもよい。通信インターフェースモジュール116は、プロセッサー103に電気的に接続され、プロセッサー110と外部機器との間の通信のために使用される。一実施例では、プロセッサー110、メモリ111、アクチュエータ113、移動機構114、カメラ115及び通信インターフェースモジュール116は、バスを介して互いに接続することができる。
【0038】
一実施例では、ロボット11は、自動充電のために壁上のコンセントを観察し、ピッキングのために棚上の品物を観察し、ホームサービス(homeservices)のために屋内家具を観察することができる。
図4は、ロボット11が自動充電プロセスを実行するために充電ステーションに自動的にドッキングできる例示的なシナリオを示す。ロボット11を制御して自己充電を行う前に、まず、ロボット11を充電ステーションの前に停止させ、充電ステーションに対向させる。このときのロボット11のポーズを所望のポーズとして使用し、このときのロボット11の前方の環境の画像を所望の画像として撮影する。そして、ロボット11が充電する必要がある場合、ロボット11がどのようなポーズであっても、現在のポーズを初期ポーズとし、ロボット11の前方の環境の画像を現在の画像として撮影する。次に、以下の実施例で提供される制御方法のステップを実行することによって、ロボット11は、所望の画像及び現在の画像における特徴点に基づいて、所望のポーズに移動及び回転するように制御される。
【0039】
図5は、一実施例による移動ロボット制御方法のフローチャートを示す。この方法は、
図1~3のロボット11の移動を制御するために使用され得る。この方法は、ロボットの1つ又は複数のプロセッサー、又はロボットに電気的に結合された他の制御装置の1つ又は複数のプロセッサーによって実行され得る。制御装置は、デスクトップコンピュータ、タブレットコンピュータ、ノートブックコンピュータ、マルチメディアプレーヤー、サーバー、スマートモバイルデバイス(スマートフォン、携帯電話など)、及びスマートウェアラブルデバイス(例えば、スマートウォッチ、スマートグラス、スマートカメラ、スマートブレスレットなど)、及びコンピューティングと制御機能を備えたその他のコンピューティングデバイスを含んでもよいが、これらに限定されない。一実施例では、この方法は、ステップS41~S44を含んでもよい。
【0040】
ステップS41では、ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得する。
【0041】
ステップS42では、ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得する。
【0042】
ステップS43では、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得る。
【0043】
仮想単位球体は、仮想球体と透視投影の組み合わせを使用して中央結像システムをシミュレートする統合球面モデルである。仮想単位球体の中心はカメラ座標の光学中心と重なる。第1画像及び第2画像から抽出された複数対のマッチング特徴点を仮想単位球上に投影すると、該単位球上の対応する投影点が投影特徴点となる。
【0044】
ステップS44では、前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得し、前記画像不変特徴及び回転ベクトル特徴に従って、前記ロボットが前記所望のポーズになるまで移動するように制御する。
【0045】
一実施例では、画像不変特徴は、前記投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含んでもよい。回転ベクトル特徴は、角度ベクトル又は方向ベクトルであってもよい。ロボットの移動の制御は、ロボットの平行移動の制御及びロボットの回転の制御を含む。
【0046】
図6は、別の実施例による移動ロボット制御方法のフローチャートを示す。この方法は、
図1~3のロボットの移動を制御するために使用され得る。この方法は、ロボットの1つ又は複数のプロセッサー、又はロボットに電気的に結合された他の制御装置の1つ又は複数のプロセッサーによって実行され得る。制御装置は、デスクトップコンピュータ、タブレットコンピュータ、ノートブックコンピュータ、マルチメディアプレーヤー、サーバー、スマートモバイルデバイス(スマートフォン、携帯電話など)、及びスマートウェアラブルデバイス(例えば、スマートウォッチ、スマートグラス、スマートカメラ、スマートブレスレットなど)、及びコンピューティングと制御機能を備えたその他のコンピューティングデバイスを含んでもよいが、これらに限定されない。一実施例では、この方法は、ステップS51~S56を含んでもよい。
【0047】
ステップS51では、ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得する。
【0048】
一実施例では、所望のポーズは、ロボットの所望の位置及び所望の方向(orientation(向き))を含んでもよい。ロボットは、所望の位置に所望の方向で移動することが期待される。ロボットは、所望の位置及び所望の方向で停止するように(例えば、ユーザーにより)制御することができ、それによって、ロボットの前の環境(例えば、コンセントのある壁)の画像を第1画像(即ち、所望の画像)として、ロボット上に取り付けられたカメラによって撮影することができる。ロボットが所望の位置及び所望の方向で停止する場合、ロボットの視野内の環境には少なくとも3つの特徴点が含まれている必要がある。ロボットのカメラは、魚眼ピンホールカメラであってもよいし、反射屈折式カメラなどの非ピンホールカメラであってもよい。
【0049】
ステップS52では、ロボットが現在のポーズにあるときに、ロボット上のカメラによって撮影された第2画像を取得する。
【0050】
ロボットが所望の位置に移動し且つ所望の方向にあるように制御する必要がある場合、ロボットの前の環境の現在の画像を第2画像(即ち、現在の画像)として、ロボット上に取り付けられたカメラによって撮影する。第2画像を撮影するとき、ロボットの視野内の環境には少なくとも3つの特徴点が含まれている必要がある。
【0051】
ステップS53では、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して、複数の投影特徴点を得る。この仮想単位球の中心はこのカメラの座標の光学中心と重なる。
【0052】
一実施例では、第1画像及び第2画像から複数対のマッチング特徴点を抽出することは、次のように実現することができる。
【0053】
まず、スケール不変特徴変換(Scale-invariantfeaturetransform,SIFT)記述子(descriptor)を用いて、第1画像及び第2画像のそれぞれから第1数の原特徴点を抽出する。次に、抽出された原特徴点を比較及びマッチングして、第2対のマッチング特徴点を得る。
【0054】
例えば、SIFT記述子を用いて、第1画像中の任意の位置からの200個のSIFT特徴点及び第2画像中の任意の位置からの200個のSIFT特徴点を抽出することができる。次に、最近接ユークリッド距離アルゴリズム(closestEuclideandistancealgorithm)を用いて、抽出された400個(200対)のSIFT特徴点を比較及びマッチングして、少なくとも3対のマッチング特徴点を得る。オプションで、比較及びマッチングのプロセスにおいて、例えばKDTreeなどの平衡二分探索木を用いて、探索プロセスを速くすることができる。
【0055】
なお、上記特徴点の位置は限定されない。即ち、これらの特徴点は同一平面上にあることも、非同一平面上にあることもあり、これらの特徴点が位置する平面は運動平面に対して垂直であることも、垂直でないこともある。
【0056】
本開示の1つの目標は、第1画像中の少なくとも3つの非共線静的特徴点の視覚フィードバックに基づいて、ロボットのポーズを調整し、それを慣性系又は視覚目標に対するロボットの姿勢要件から独立させる。この目標を実現するために、第1画像及び第2画像から抽出された複数対のマッチング特徴点を単位球上に投影する必要がある。
【0057】
図7を参照すると、一実施例では、ロボット上に取り付けられたカメラは、ロボットの座標とカメラの座標が同じである座標系Fを有する校正されたオンボード(onboard)カメラである。ロボットは、
図7に示される平面上を移動する。座標系F中のx軸とy軸は運動平面を定義する。x軸の正の方向はロボットの行進方向であり、y軸は、ロボットの車輪が回転する軸線と重なる。座標系F中の点P
iは、仮想単位球上に投影され、h
iで表される。仮想単位球は、仮想球体と透視投影の組み合わせを使用して中央結像システムをシミュレートする統合球面モデルである。
【0058】
ステップS54では、複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得する。
【0059】
画像不変特徴は、カメラの回転に対して不変である(invariant)一類の画像特徴である。画像不変特徴S∈R
2は、システム出力としてロボットの平行移動運動を表し、R
2は、2次元の実座標空間を表す。画像不変特徴の動力学的モデルは、
ここで、J∈R
2x2は相互作用行列であり、υ=[υ
x,υ
y]
Tは座標系Fにおけるロボットの線速度を表し、非整合性制約により制限されない。ロボット座標系の加速度はα∈R
2を満たす。
【0060】
一実施例では、不変画像特徴は、投影特徴点のうちの2つの間の距離の逆数、画像モーメント、及び面積のうちの1つ又は複数を含んでもよい。
【0061】
図7に示すような例では、投影特徴点h
iとh
jとの間の距離d
ijの逆数は、タスク空間と画像空間との間に最もよい線形化特性を有するため、画像不変特徴として使用される。点h
iとh
jは、例えば、
図7の特徴点P
iとP
j対応する投影特徴点など、同じ画像から抽出された特徴点の単位球上への投影を表す。即ち、点h
iとh
jは、第2画像(即ち、現在の画像)から抽出された特徴点の単位球上への投影を表すことができる。点h
iとh
jは、第1画像(即ち、所望の画像)から抽出された特徴点の単位球面への投影を表すことができる。なお、2つの投影特徴点は互いに接続されて小さな線分を形成できることに留意されたい。ロボットが所望の位置に近づくほど、線分は長くなる。平行移動制御の目的は、選択された線分を所望の値と等しくすることである。例えば、3個の投影特徴点があり、i=0,1,2、j=0,1,2、且つi≠jであると仮定すると、3つの組み合わせ(0,1)(0,2)(1,2)があり、そのうち2つを選択することができる。
【0062】
像平面から抽出された特徴点の同次座標を表し、iは、0より大きい正の整数を表す。仮想の透視投影カメラに関連付けられた、網膜と呼ばれる仮想の画像平面を構築する。網膜内の対応する座標は、
ここで、Aは、ミラーとカメラ内部パラメータに関連する一般化されたカメラ投影行列を表す。単位球面に投影された投影特徴点は、
【0063】
上記の原理に基づいて、所望の画像及び現在の画像で表される真実の環境から抽出された少なくとも3対の特徴点を、h
i点を有する仮想単位球上に投影する。対応する画像不変特徴は、
この実施例では、それらは、所望の値に近い定数値に置き換えることができる。実験によれば、閉ループシステムは、この近似のもとで安定することがわかる。
【0064】
一実施例では、画像モーメントが画像不変特徴として使用されると、画像不変特徴は、
【0065】
一実施例では、面積が画像不変特徴として使用されると、画像不変特徴は、
単位球上のi番目の投影特徴点の3次元座標を表す。
【0066】
【0067】
【0068】
投影により得られたすべての投影特徴点を用いて回転ベクトル特徴を計算することで、ロバスト性を向上させることができる。算出された回転ベクトル特徴は、回転速度と回転ベクトル速度との間の直接マッピングを提供するため、より良い特性を得ることができる。
【0069】
なお、画像不変特徴が距離、画像モーメント、面積のどれであっても、回転ベクトル特
【0070】
ステップS55では、ロボットが画像不変特徴に従って平行移動するように制御する。
【0071】
ステップS56では、ロボットが回転ベクトル特徴に従って回転するように制御する。
なお、ロボットの運動は剛体運動であり、回転運動と平行移動運動に分解することができる。
図9を合わせて参照すると、本実施例では、ロボットのポーズの調整には、2つのステップの間に切り替え制御を行う必要がある。第1ステップは、画像不変特徴を用いて、ロボットが平行移動するように制御することである。目標は、平行誤差(不変特徴誤差とも呼ばれる)を除去することである。即ち、目標は、平行移動誤差を0に等しくすることである。第2ステップは、回転ベクトル特徴を用いて、平行移動誤差を除去した後にロボットが回転するように制御することである。目標は、方向誤差を除去することであり、即ち、方向誤差を0に等しくすることである。
【0072】
上記の第1ステップでは、画像不変特徴を用いて平行移動状態を表すため、所望のポーズを取得できない場合でも、ロボットが平行移動するように制御することができる。画像不変特徴を使用することにより、方向と位置の制御が分離される。
【0073】
量中心を所望の値に揃えるために回転するように制御される。
【0074】
図10を参照すると、一実施例では、第1ステップ(即ち、ステップS55)は、以下のステップを含んでもよい。
【0075】
ステップS551では、画像不変特徴及びプリセット制御モデルに従って、第1角速度及び第1線速度を計算する。
【0076】
ステップS552では、第1角速度及び第1線速度に従ってロボットが平行移動するように制御する。
【0077】
ステップS553では、平行移動誤差が第1プリセット閾値より小さいか否かを判断する。
【0078】
平行移動誤差が第1プリセット閾値より小さい場合、プロセスは、回転ベクトル特徴に従ってロボットが回転するように制御するステップS56に進む。
【0079】
平行移動誤差が第1プリセット閾値以上である場合、それは、平行移動誤差が解消されておらず、ロボットが所望の位置に到達しておらず、ロボットが必要な位置に向かって平行移動する必要があることを意味する。その後、プロセスは、第2画像を取得するステップS52に戻る。ステップS551、S552、S553及びS52は、平行移動誤差が第1プリセット閾値よりも小さくなるまで繰り返され、その後、ロボットの方向を制御する第2ステップが開始される。
【0080】
【0081】
平行移動誤差が0であるか否かを決定するために使用できる。
【0082】
上式によれば、第1ステップの位置制御プロセス中において、ロボットの軌跡は直線ではなく、曲線であることがわかる。つまり、第1ステップでロボットの平行移動を制御するプロセスでは、ロボットの運動の大きさを調整するだけでなく、それに応じて、ロボットを所望の位置に移動させるために、ロボットの方向も調整する必要がある。
【0083】
向は180度反転する(flippedover)。
このような設計は、ロボットが後ろ向きに移動し、且つ目標が後ろにいる場合、視覚目標を前に保つことができるようにするためのものである。FOVが限られている場合、視覚目標をカメラの視野(FOV)内に保つのに役立つ。
【0084】
図11を参照すると、一実施例では、第2ステップ(即ち、ステップS56)は、以下のステップを含んでもよい。
【0085】
ステップS561では、前記回転ベクトル特徴及び制御モデルに基づいて、第2角速度及び第2線速度を計算する。
【0086】
ステップS562では、前記第2角速度及び第2線速度に従って、前記ロボットが回転するように制御する。
【0087】
ステップS563では、前記ロボットの回転後の方向誤差が第2プリセット閾値より小さいか否かを判断する。
【0088】
ステップS564では、ロボットの方向誤差が第2プリセット閾値以上である場合、それは、方向エラーが解消されておらず、ロボットが所望の方向にないことを意味する。この場合、ロボットのカメラによって第3画像を取得する。
【0089】
ステップS565では、前記第1画像及び第3画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を前記単位球上に投影して、複数の投影特徴点を得る。
【0090】
ステップS566では、前記第1画像及び第3画像から抽出された前記複数の投影特徴点に基づいて、前記回転ベクトル特徴を取得し、次に、プロセスは、前記回転ベクトル特徴及び制御モデルに基づいて前記第2角速度及び第2線速度を計算するステップS561に戻る。ステップS551、S552、S553及びS56は、方向誤差が第2プリセット閾値よりも小さくなるまで繰り返される。
【0091】
ステップS567では、ロボットの方向誤差が第2プリセット閾値より小さい場合、それは、方向誤差が解消され、ロボットが所望の方向にあることを意味し、プロセスは終了する。
一実施例では、ステップS561~S567は、回転ベクトル特徴及び制御モデルに基
量中心を表す。
【0092】
【0093】
一実施例では、距離、画像モーメント、及び面積のうちの2つ又はすべての組み合わせに基づいて、画像不変特徴を決定することができる。具体的には、前記投影特徴点のうちの2つの間の距離、画像モーメント、及び面積のうちの少なくとも2つの平均値を画像不変特徴とする。次に、画像不変特徴を上式に代入してロボットの位置制御を実現する。このようにして、複数のパラメータを組み合わせて、最終応用の不変特性を決定することで、制御結果の精度が向上する。
【0094】
一方では、画像座標系の画像特徴は、デカルト座標系で定義された距離と角度の代わりに、移動ロボットの運動学/動力学を表すために使用される。ロボットの移動制御に従来の高価でかさばるセンサー(例えば、ライダー、ソナー、車輪走行距離計など)に依存するのではなく、カメラを1つだけ必要とすることで、ロボットの製造コストを削減し、ロボットのサイズを小さくすることができる。
【0095】
他方では、画像不変特徴及び回転ベクトル特徴を用いてロボットの所望のポーズを決定するため、事前に目標モデルを知っていたり、目標に対するロボットのポーズを推定したりする必要がない。即ち、ホモグラフィー行列又は基本行列を計算して分解する必要がないため、計算複雑さを軽減し、計算速度を向上させることができる。
【0096】
一方、所望の画像及び現在の画像内の特徴点を任意に選択することができるため、環境における点の物理的な位置に対する要求がない。例えば、環境内の特徴点は、同一平面上にあることも、非同一平面上にあることもある。従って、この方法をより多くのシナリオに適用することができ、この方法の汎用性を向上させることができる。
【0097】
一実施例では、
図1のロボットと同様に移動ロボット制御装置を構築することができる。即ち、移動ロボット制御装置は、プロセッサーとメモリを含んでもよい。メモリは、プロセッサーに電気的に結合され、プロセッサーによって実行可能な1つ又は複数のコンピュータプログラムを記憶する。プロセッサーがコンピュータプログラムを実行すると、ロボット11を制御するための方法の実施例におけるステップ、例えば、
図5のステップS41~S44、
図6のステップS551~S56、
図10のステップS561~S56、及び
図11のステップS561~S566が実施される。移動ロボット制御装置のプロセッサー、メモリ、コンピュータプログラムは、上記のプロセッサー110、メモリ111、コンピュータプログラム112と同じであってもよく、ここでは繰り返さない。ロボット移動制御装置は、データ相互作用機能を有する様々なコンピューターシステム機器であってもよく、携帯電話、スマートフォン、その他の無線通信機器、パーソナルデジタルアシスタント、オーディオプレーヤー、その他のメディアプレーヤー、音楽レコーダーなど、ビデオレコーダー、カメラ、その他のメディアレコーダー、ラジオ、車両輸送機器、プログラム可能なリモコン、ラップトップコンピュータ、デスクトップコンピュータ、プリンタ、ネットブックコンピュータ、ポータブルゲームデバイス、ポータブルインターネットデバイス、データ記憶機器、スマートウェアラブルデバイス(例えば、頭部装着型デバイス(HMD)、例えばスマートグラス、スマートウェア、スマートブレスレット、スマートネックレス又はスマートウォッチ)及びそれらの組み合わせを含むが、これらに限定されない。
【0098】
例示的に、1つ又は複数のコンピュータプログラムを1つ又は複数のモジュール/ユニットに分割し、1つ又は複数のモジュール/ユニットをメモリに記憶し、プロセッサーによって実行することができる。1つ又は複数のモジュール/ユニットは、特定の機能を実行できる一連のコンピュータプログラム命令セグメントであってもよい。命令セグメントは、1つ又は複数のコンピュータプログラムの実行プロセスを記述するために使用される。例えば、1つ又は複数のコンピュータプログラムは、第1取得モジュール、第2取得モジュール、特徴抽出モジュール、計算モジュール及び制御モジュールに分割することができる。
【0099】
第1取得モジュールは、ロボットが所望のポーズにあるときに、ロボット上のカメラによって撮影された第1画像を取得するように配置される。
【0100】
第2取得モジュールは、ロボットが現在のポーズにある時に、ロボット上のカメラによって撮影された第2画像を取得するように配置される。
【0101】
特徴抽出モジュールは、前記第1画像及び第2画像から複数対のマッチング特徴点を抽出し、前記抽出された特徴点を仮想単位球上に投影して複数の投影特徴点を得るように配置されており、仮想単位球の中心は、カメラの座標の光学中心と重なる。
【0102】
計算モジュールは、前記複数の投影特徴点に基づいて、画像不変特徴及び回転ベクトル特徴を取得するように配置される。
【0103】
制御モジュールは、前記画像不変特徴及び回転ベクトル特徴に従って、ロボットが所望のポーズになるまで移動するように制御するように配置される。
【0104】
移動ロボット制御装置は、上述したものとは異なる数の部材を含んでもよいし、幾つかの他の異なる部材と組み合わせてもよいことに留意されたい。例えば、移動ロボット制御機器は、入出力機器、ネットワークアクセス機器、バスなどを含んでもよい。
【0105】
当業者であれば理解できるように、説明の便宜上及び簡潔にするために、上記各機能ユニット、モジュールの割り当てを例として説明したが、実際には、要求に応じて上記機能の割り当てが異なる機能ユニット、モジュールによって実現されてもよく、即ち、上述した機能の全部又は一部を実現するために、前記装置の内部構造が異なる機能ユニット又はモジュールに割り当てられてもよい。各実施例における各機能ユニットは、1つの処理ユニットに集積されていてもよいし、各ユニットが単独に物理的に存在していてもよいし、2つ以上のユニットが1つのユニットに集積されていてもよい。上記の集積されたユニットは、ハードウェアの形態又はソフトウェア機能ユニットの形態で実現されてもよい。さらに、各機能ユニット、モジュールの具体的な名称は、互い区別する便宜上のものにすぎず、本開示の保護範囲を制限するために使用されるものではない。上記システムにおけるユニット、モジュールの具体的な作業プロセスについては、前述の方法の実施例の対応するプロセスを参照することができ、本明細書では詳細を再度説明しない。
【0106】
一実施例では、非一時的なコンピュータ可読記憶媒体は、ロボット11又は上記のような移動ロボット制御装置に配置することができる。非一時的なコンピュータ可読記憶媒体は、上述した実施例における主制御チップ、及びデータ収集チップに配置される記憶ユニットであってもよい。1つ又は複数のコンピュータプログラムは、非一時的なコンピュータ可読記憶媒体に記憶され、コンピュータプログラムが1つ又は複数のプロセッサーによって実行されると、上記の実施例で説明されたロボット制御方法が実施される。
【0107】
前述の実施例では、各実施例の説明はそれ自体に重点を置いているが、1つの実施例で詳述又は記載されていない部分については、他の実施例の関連する説明を参照することができる。
【0108】
当業者は、本明細書に開示された実施例に関連して説明された様々な例のユニットやアルゴリズムステップが電子ハードウェア又はコンピュータソフトウェアと電子ハードウェアとの組み合わせによって実施され得ることを理解するであろう。これらの機能が、ハードウェアで実行されるか又はソフトウェアで実行されるかは、技術的な解決策の特定のアプリケーション及び設計の制約に依存する。当業者は、特定の応用ごとに異なる方法を使用して、説明した機能を実現することができるが、このような実現は本開示の範囲を超えると見なされるべきではない。
【0109】
本開示で提供される実施例において、開示された装置/端末機器及び方法は他の方式で実現されてもよいことが理解されるべきである。例えば、上述のような装置/端末機器の実施例は、単なる例示的なものにすぎない。例えば、前記モジュール又はユニットの区分は、単なる論理的な機能の区分であり、実際に実現するとき他の区分方式があってもよい。例えば、複数のユニット又は組立体が別のシステムに組み合わせ又は一体化してもよく、或いは幾つかの特徴が無視し又は実行されなくてもよい。また、示された又は議論された相互間の結合又は直接的な結合又は通信接続は、幾つかのインターフェイス、装置又はユニットによる間接的な結合又は通信接続であってもよく、電気の、機械の又は他の形態であってもよい。
【0110】
別個の部材として説明された前記ユニットは、物理的に分離されていてもよく、そうでなくてもよく、ユニットとして示された部材は、物理的なユニットであってもよく、そうでなくてもよく、同じ場所に位置してもよく、複数のネットワークユニット上に分散されてもよい。実際の要求に応じて、一部または全部のユニットを選択し、本実施例の目的を実現することができる。
【0111】
本開示の各実施例における各機能ユニットは、1つの処理ユニットに集積されていてもよく、各ユニットが単独に物理的に存在してもよく、2つ以上のユニットが1つのユニットに集積されていてもよい。上記の一体化されたユニットは、ハードウェアの形で実現されてもよく、ソフトウェア機能ユニットの形で実現されてもよい。
【0112】
前記一体化さモジュール/ユニットは、ソフトウェア機能ユニットの形で実現され、かつ独立した製品として販売又は使用されるとき、コンピュータ可読記憶媒体に記憶されてもよい。そのような理解に基づいて、本開示が上記実施例を実現する方法におけるプロセスの全部もしくは一部は、関連するハードウェアにコンピュターブログラムにより指示することによって実現することもできる。前記コンピュターブログラムは、コンピュータ可読記憶媒体に記憶されてもよい。そのコンピュターブログラムがプロセッサーによって実行されると、上記各方法実施例のステップを実現することができる。前記コンピュターブログラムは、コンピュターブログラムコードを含み、前記コンピュターブログラムコードは、ソースコード形式、オブジェクトコード形式、実行可能ファイル、又は何らかの中間形式であってもよい。前記コンピュータ読み取り可能な記録媒体は、前記コンピュターブログラムコードを運ぶことができる任意のプリミティブ又は装置、記録媒体、USBフラッシュドライブ、リムーバブルハードディスク、磁気ディスク、光ディスク、計算机メモリ、読み取り専用メモリ(ROM、Read-OnlyMemory)、ランダムアクセスメモリ(RAM、RandomAccessMemory)、電気搬送信号、通信信号及びソフトウェア配布媒体などを含み得る。なお、前記コンピュータ読み取り可能な記録媒体に含まれる内容は、司法管轄区域の法律及び特許の実行の要件に応じて適切に増減できることに注意すべきである。例えば、一部の司法管轄区域では、法律と特許の実行によれば、コンピュータ読み取り可能な媒体には、電気搬送信号と電気通信信号が含まれない。
【0113】
上記の説明は、説明の目的で、具体的な実施例を参照して説明された。しかしながら、上記の説明的な議論は、網羅的であること、または本開示を開示された精確な形式に限定することを意図したものではない。上記の教示に照らして、多くの修正および変形が可能である。実施例は、本開示の原理及びその実際の応用を最もよく説明し、他の当業者が本開示及び様々な実施例を最大限に活用し、想定される特定の用途に適合するように様々な修正を加えることができるようにするために、選択され説明されたものである。
【国際調査報告】