(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-29
(45)【発行日】2023-10-10
(54)【発明の名称】ロボットのためのマップを生成する方法、システムおよび非一過性のコンピュータ読み取り可能記録媒体
(51)【国際特許分類】
G05D 1/02 20200101AFI20231002BHJP
B25J 5/00 20060101ALI20231002BHJP
【FI】
G05D1/02 H
B25J5/00 A
G05D1/02 S
(21)【出願番号】P 2021084820
(22)【出願日】2021-05-19
【審査請求日】2021-05-19
(32)【優先日】2020-12-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521217150
【氏名又は名称】ベア ロボティクス インク
【氏名又は名称原語表記】Bear Robotics, Inc.
(74)【代理人】
【識別番号】100112737
【氏名又は名称】藤田 考晴
(74)【代理人】
【識別番号】100136168
【氏名又は名称】川上 美紀
(74)【代理人】
【識別番号】100196117
【氏名又は名称】河合 利恵
(72)【発明者】
【氏名】ヨ ジン チョン
(72)【発明者】
【氏名】ソンジュン パーク
(72)【発明者】
【氏名】ジョンジュ オー
【審査官】田中 友章
(56)【参考文献】
【文献】米国特許出願公開第2020/0394813(US,A1)
【文献】特開2007-280387(JP,A)
【文献】特開2018-177074(JP,A)
【文献】米国特許出願公開第2019/0311205(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/02
B25J 5/00
(57)【特許請求の範囲】
【請求項1】
ロボットのためのマップを生成する方法であって、
前記ロボットのタスクと関連する基礎マップを獲得する獲得段階、
前記基礎マップで特定されるピクセルの色相および前記ピクセル
を連結して形成される領域の大きさに基づいて、前記基礎マップで流動障害物と推定される前記ピクセル
、前記基礎マップでノイズと推定される前記ピクセルおよび固定障害物と推定される前記ピクセルを識別する識別段階、および
前記流動障害物と推定される前記ピクセルを対象に拡張(dilate)演算および収縮(erode)演算を遂行し、多角形(polygon)を基盤として前記流動障害物の境界を決定する決定段階を含み、
前記獲得段階で、前記ロボットの外部に配置される少なくとも一つの客体をセンシングすることによって取得されたセンシング情報に基づいて前記基礎マップを生成し、
前記基礎マップにおいて特定される前記ピクセルの色相は、前記センシング情報に応じて、前記ピクセルが暗い色であるほど、該ピクセルに関連付けられた前記領域における実世界の前記客体が存在する可能性が高いことを示すように決定される、方法。
【請求項2】
前記基礎マップで前記ノイズと推定される前記ピクセルを除去する除去段階をさらに含む、請求項
1に記載の方法。
【請求項3】
前記基礎マップで前記固定障害物と推定される前記ピクセルの境界の色相および厚さのうち少なくとも一つを補正する補正段階をさらに含む、請求項
1に記載の方法。
【請求項4】
前記補正段階で、前記補正のために前記流動障害物と推定される前記ピクセルを抑制する、請求項
3に記載の方法。
【請求項5】
前記決定段階で、前記流動障害物と推定される前記ピクセルを対象に前記拡張演算および前記収縮演算を続けて遂行する、請求項1に記載の方法。
【請求項6】
前記決定段階で、前記流動障害物から所定距離以内に存在する少なくとも一つの他の前記流動障害物を前記流動障害物と共にグループ化し、グループ化された前記流動障害物の境界を決定することによって前記流動障害物の境界を決定する、請求項1に記載の方法。
【請求項7】
前記決定段階で、凸包(convex hull)アルゴリズムを基盤として前記流動障害物と関連する凸包を識別し、前記識別される凸包を基盤として前記流動障害物の境界を決定する、請求項1に記載の方法。
【請求項8】
請求項1に記載された方法を遂行するためのコンピュータプログラムを記録した、非一過性のコンピュータ読み取り可能記録媒体。
【請求項9】
ロボットのためのマップを生成するシステムであって、
前記ロボットのタスクと関連する基礎マップを獲得する基礎マップ獲得部、
前記基礎マップで特定されるピクセルの色相および前記ピクセル
を連結して形成される領域の大きさに基づいて、前記基礎マップで流動障害物と推定される前記ピクセル
、前記基礎マップでノイズと推定される前記ピクセルおよび固定障害物と推定される前記ピクセルを識別するピクセル識別部、および
前記流動障害物と推定される前記ピクセルを対象に拡張演算および収縮演算を遂行し、多角形を基盤として前記流動障害物の境界を決定する境界決定部を含み、
前記基礎マップ獲得部は、前記ロボットの外部に配置される少なくとも一つの客体をセンシングすることによって取得されたセンシング情報に基づいて前記基礎マップを生成し、
前記基礎マップにおいて特定される前記ピクセルの色相は、前記センシング情報に応じて、前記ピクセルが暗い色であるほど、該ピクセルに関連付けられた前記領域における実世界の前記客体が存在する可能性が高いことを示すように決定される、システム。
【請求項10】
前記基礎マップで前記ノイズと推定される前記ピクセルを除去するノイズ除去部をさらに含む、請求項
9に記載のシステム。
【請求項11】
前記基礎マップで前記固定障害物と推定される前記ピクセルの境界の色相および厚さのうち少なくとも一つを補正する境界補正部をさらに含む、請求項
9に記載のシステム。
【請求項12】
前記境界補正部は、前記補正のために前記流動障害物と推定される前記ピクセルを抑制する、請求項
11に記載のシステム。
【請求項13】
前記境界決定部は、前記流動障害物と推定される前記ピクセルを対象に前記拡張演算および前記収縮演算を続けて遂行する、請求項
9に記載のシステム。
【請求項14】
前記境界決定部は、前記流動障害物から所定距離以内に存在する少なくとも一つの他の前記流動障害物を前記流動障害物と共にグループ化し、グループ化された前記流動障害物の境界を決定することによって前記流動障害物の境界を決定する、請求項
9に記載のシステム。
【請求項15】
前記境界決定部は、凸包アルゴリズムを基盤として前記流動障害物と関連する凸包を識別し、前記識別される凸包を基盤として前記流動障害物の境界を決定する、請求項
9に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はロボットのためのマップを生成する方法、システムおよび非一過性のコンピュータ読み取り可能記録媒体に関する。
【背景技術】
【0002】
ロボットは難しい作業や反復的な操作などを自動化して遂行できるため、多様な分野で人間に代わりまたは補助するのに活用されている。ロボットの円滑な走行のためには周辺環境に関する情報が正確に反映されたマップが必要であるが、最近、このようなロボットのマップ生成技術に関する多様な研究が進行されている。
【0003】
これに関する従来技術の一例として、特許文献1に開示された技術が挙げられるが、これによると、地図データを生成するロボット清掃装置であって、通信インターフェース、一つ以上のインストラクションを保存するメモリおよび前記一つ以上のインストラクションを実行することによって前記ロボット清掃装置を制御するプロセッサを含み、前記プロセッサは、前記一つ以上のインストラクションを実行することによって、清掃空間に関連した基本地図データを生成し、前記清掃空間内の少なくとも一つの客体に対する客体情報を生成し、前記客体情報に基づいて前記基本地図データ内の領域を複数の領域に区分し、前記客体情報に基づいて前記区分された複数の領域の識別値を決定するロボット清掃装置が紹介されている。
【先行技術文献】
【特許文献】
【0004】
【文献】韓国公開特許第10-2020-0085142号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、前記のような従来技術をはじめとしてこれまで紹介された技術によると、ロボットのセンシング情報(例えば、映像センサ、レーザセンサ、ライダセンサなどによって獲得される情報)に基づいて一次的に生成されるか、外部システムから提供される基礎マップをそのままロボットのタスク遂行(例えば、飲食サービング)に活用するか、そのような基礎マップを手作業で修正(例えば、ノイズの除去、障害物の境界に対する注釈の設定など)をした後に活用されるようにしていた。基礎マップをそのまま活用する場合には、マップに相当なノイズが含まれ、障害物の境界が不正確であり、人のような動的な障害物が壁のような静的な障害物として認識されてマップにそのまま残っている可能性があるため、ロボットの走行が非効率的に遂行される場合が多かった。また、基礎マップを手作業で修正する場合には、基礎マップから微細ノイズを肉眼で見つけ出して除去し、障害物のぼやけている境界を補正し、障害物の境界範囲に対する注釈をいちいち設定しなければならないため、相当な時間、費用および努力が必要とされる問題があった。
【0006】
これに対して本発明者らは、ロボットのタスクと関連する基礎マップを加工する過程を迅速かつ正確に自動化して遂行できる、新規かつ進歩した技術を提案するところである。
【0007】
本発明は、前述した従来技術の問題点をすべて解決することをその目的とする。
【0008】
また、本発明は、ロボットのタスク遂行に活用されるマップを生成するのにかかる時間、費用および努力を低減させることを他の目的とする。
【0009】
また、本発明は、人の肉眼で発見し難い微細ノイズまで正確に除去して、ロボットの安定的かつ効率的な走行を可能とすることをさらに他の目的とする。
【0010】
また、本発明は、障害物と推定されるピクセルを対象に、拡張(dilate)演算および収縮(erode)演算を適用して障害物と関連する付属障害物がすべて含まれ得るように障害物の境界を特定(ひいては、その障害物の境界に対する注釈を提供)することができ、多角形(polygon)を基盤として障害物の境界が特定され得るようにして、障害物の境界をより正確に設定しながらも、使用者が事後的に障害物の境界を容易に追加編集できるようにすることをさらに他の目的とする。
【課題を解決するための手段】
【0011】
前記目的を達成するための本発明の代表的な構成は次の通りである。
【0012】
本発明の一態様によると、ロボットのためのマップを生成する方法であって、ロボットのタスクと関連する基礎マップを獲得する段階、前記基礎マップで特定されるピクセルの色相および前記ピクセルと関連する領域の大きさのうち少なくとも一つに基づいて、前記基礎マップで流動障害物と推定されるピクセルを識別する段階、および前記流動障害物と推定されるピクセルを対象に拡張演算および収縮演算を遂行し、多角形を基盤として前記流動障害物の境界を決定する段階を含む方法が提供される。
【0013】
本発明の他の態様によると、ロボットのためのマップを生成するシステムであって、ロボットのタスクと関連する基礎マップを獲得する基礎マップ獲得部、前記基礎マップで特定されるピクセルの色相および前記ピクセルと関連する領域の大きさのうち少なくとも一つに基づいて、前記基礎マップで流動障害物と推定されるピクセルを識別するピクセル識別部、および前記流動障害物と推定されるピクセルを対象に拡張演算および収縮演算を遂行し、多角形を基盤として前記流動障害物の境界を決定する境界決定部を含むシステムが提供される。
【0014】
この他にも、本発明を具現するための他の方法、他のシステムおよび前記方法を遂行するためのコンピュータプログラムを記録した非一過性のコンピュータ読み取り可能な記録媒体がさらに提供される。
【発明の効果】
【0015】
本発明によると、ロボットのタスク遂行に活用されるマップを生成するのにかかる時間、費用および労力を低減させることができる。
【0016】
また、本発明によると、人の肉眼で発見し難い微細ノイズまで正確に除去してロボットの安定的かつ効率的な走行が可能となる。
【0017】
また、本発明によると、障害物と推定されるピクセルを対象に拡張演算および収縮演算を適用して、障害物と関連する付属障害物がすべて含まれ得るように障害物の境界を特定(ひいては、その障害物の境界に対する注釈を提供)することができ、多角形を基盤として障害物の境界が特定され得るようにして、障害物の境界をより正確に設定しながらも、使用者が事後的に障害物の境界を容易に追加編集できることになる。
【図面の簡単な説明】
【0018】
【
図1】本発明の一実施例によりロボットのためのマップを生成するための全体システムの構成を概略的に示す図面である。
【
図2】本発明の一実施例に係るマップ管理システムの内部構成を例示的に示す図面である。
【
図3】本発明の一実施例に係る基礎マップおよび従来の手作業で加工されたマップを例示的に示す図面である。
【
図4】本発明の一実施例により生成されるロボットのためのマップを例示的に示す図面である。
【
図5】本発明の一実施例により生成されるロボットのためのマップを例示的に示す図面である。
【
図6】本発明の一実施例により生成されるロボットのためのマップを例示的に示す図面である。
【
図7】本発明の一実施例に係るロボットの構造を例示的に示す図面である。
【
図8】本発明の一実施例に係るロボットの構造を例示的に示す図面である。
【発明を実施するための形態】
【0019】
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として図示する添付図面を参照する。このような実施例は当業者が本発明を充分に実施できるように詳細に説明される。本発明の多様な実施例は互いに異なるが相互排他的である必要はないということが理解されるべきである。例えば、本明細書に記載されている特定形状、構造および特性は、本発明の精神と範囲を逸脱することなく一実施例から他の実施例に変更されて具現され得る。また、それぞれの実施例内の個別構成要素の位置または配置も本発明の精神と範囲を逸脱することなく変更され得ることが理解されるべきである。したがって、後述する詳細な説明は限定的な意味として行われるものではなく、本発明の範囲は特許請求の範囲の請求項が請求する範囲およびそれと均等なすべての範囲を包括するものとして受け入れられるべきである。図面で類似する参照符号は多様な側面に亘って同一または類似する構成要素を示す。
【0020】
以下では、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施できるようにするために、本発明の多様な好ましい実施例に関して添付された図面を参照して詳細に説明することにする。
【0021】
全体システムの構成
【0022】
図1は、本発明の一実施例によりロボットのためのマップを生成するための全体システムの構成を概略的に示す図面である。
【0023】
図1に図示された通り、本発明の一実施例に係る全体システムは通信網100、マップ管理システム200およびロボット300を含むことができる。
【0024】
まず、本発明の一実施例によると、通信網100は有線通信や無線通信のような通信の形態にかかわらず構成され得、近距離通信網(LAN;Local Area Network)、都市圏通信網(MAN;Metropolitan Area Network)、広域通信網(WAN;Wide Area Network)などの多様な通信網で構成され得る。好ましくは、本明細書における通信網100は公知のインターネットまたはワールドワイドウェブ(WWW;World Wide Web)であり得る。しかし、通信網100は、あえてこれに限定する必要はなく、公知の有線/無線データ通信網、公知の電話網、または公知の有線/無線テレビ通信網をその少なくとも一部において含んでもよい。
【0025】
例えば、通信網100は無線データ通信網として、ワイファイ(WiFi)通信、ワイファイダイレクト(WiFi-Direct)通信、ロングタームエボリューション(LTE;Long Term Evolution)通信、ブルートゥース(登録商標)通信(さらに具体的には、低電力ブルートゥース(BLE;Bluetooth(登録商標) Low Energy)通信)、赤外線通信、超音波通信などのような従来の通信方法を少なくともその一部分において具現するものであり得る。
【0026】
次に、本発明の一実施例に係るマップ管理システム200は、通信網100を通じて後述するロボット300と通信を遂行することができ、ロボット300のタスクと関連する基礎マップを獲得し、その基礎マップで特定されるピクセルの色相およびそのピクセルと関連する領域の大きさのうち少なくとも一つに基づいて、基礎マップで流動障害物と推定されるピクセルを識別し、流動障害物と推定されるピクセルを対象に拡張演算および収縮演算を遂行し、多角形を基盤として流動障害物の境界を決定する機能を遂行することができる。
【0027】
一方、マップ管理システム200に関して前記のように説明したが、このような説明は例示的なものであり、マップ管理システム200に要求される機能や構成要素の少なくとも一部が必要に応じて後述するロボット300または外部システム(図示されず)内で実現されたり、ロボット300または外部システム内に含まれたりしてもよいことは当業者にとって自明である。また、場合によっては、マップ管理システム200のすべての機能とすべての構成要素がロボット300内ですべて実現されたり、ロボット300内にすべて含まれたりしてもよい。
【0028】
次に、本発明の一実施例に係るロボット300は通信網100を通じてマップ管理システム200と通信することができ、使用者による操作がなくても所定の機能や付与されたタスク(例えば、飲食サービング、容器回収など)を自律的に遂行できる機器であって、客体(例えば、飲食トレイ)のローディングおよびアンローディングのためのモジュール(例えば、グラブ、ロボットアームモジュールなど)、周辺映像を獲得するための映像モジュール(例えば、可視光線カメラ、赤外線カメラなど)およびロボット300の移動のための駆動モジュール(例えば、モータなど)のうち少なくとも一つのモジュールを含むことができる。例えば、このようなロボット300は案内ロボット、運搬ロボット、清掃ロボット、医療ロボット、エンターテインメントロボット、ペットロボットおよび無人飛行ロボットのうち少なくとも一つと類似する特性や機能を有するロボットであり得る。
【0029】
一方、本発明の一実施例によると、ロボット300にはロボット300の目的地を制御するためのアプリケーションが含まれていてもよい。このようなアプリケーションはマップ管理システム200または外部のアプリケーション配布サーバー(図示されず)からダウンロードされたものであり得る。
【0030】
マップ管理システムの構成
【0031】
以下では、本発明の具現のために重要な機能を遂行するマップ管理システム200の内部構成および各構成要素の機能について詳察することにする。
【0032】
図2は、本発明の一実施例に係るマップ管理システム200の内部構成を例示的に示す図面である。
【0033】
図2を参照すると、本発明の一実施例に係るマップ管理システム200は、基礎マップ獲得部210、ピクセル識別部220、境界決定部230、ノイズ除去部240、境界補正部250、通信部260および制御部270を含むことができる。本発明の一実施例によると、基礎マップ獲得部210、ピクセル識別部220、境界決定部230、ノイズ除去部240、境界補正部250、通信部260および制御部270は、そのうちの少なくとも一部が外部システム(図示されず)と通信するプログラムモジュールであり得る。このようなプログラムモジュールは、運営システム、アプリケーションモジュールおよびその他プログラムモジュールの形態でマップ管理システム200に含まれ得、物理的には多様な公知の記憶装置上に保存され得る。また、このようなプログラムモジュールはマップ管理システム200と通信可能な遠隔記憶装置に保存されてもよい。一方、このようなプログラムモジュールは、本発明により後述する特定の業務を遂行したり特定の抽象データ類型を遂行するルーチン、サブルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを包括したりするが、これに対して制限されはしない。
【0034】
まず、本発明の一実施例に係る基礎マップ獲得部210は、ロボット300のタスクと関連する基礎マップを獲得する機能を遂行することができる。本発明の一実施例によると、基礎マップ獲得部210はロボット300に含まれたり相互に連動され得る映像センサ、レーダセンサ、ライダセンサなどのようなセンサモジュールに基づいて前記のような基礎マップを獲得したり、外部システムから基礎マップを獲得することができる。本発明の一実施例に係るタスクは、ロボット300に付与される特定の作業、行為、または動作を意味し得、例えばロボット300が特定の場所に移動するようにしたり、飲食サービングをするようにしたり、容器の回収をするようにすることなどがタスクとして付与され得る。
【0035】
例えば、基礎マップ獲得部210はロボット300の外部に配置される少なくとも一つの客体(例えば、人、事物などのすべての類型の対象)に対するセンシング情報に基づいて基礎マップを生成することができる。より具体的には、基礎マップ獲得部210は、外部に配置される少なくとも一つの客体を映像センサーを通じて撮影して獲得した映像データ、ライダセンサ、レーダセンサ、レーザセンサおよび超音波センサのうち少なくとも一つを通じて測定して獲得した距離データなどを基盤として、ロボット中心の2次元または3次元基礎マップを生成することができる。
【0036】
他の例を挙げると、基礎マップ獲得部210は基礎マップと関連する外部システムまたは他のロボット300からロボット300のタスクと関連する基礎マップを獲得することができる。
【0037】
次に、本発明の一実施例に係るピクセル識別部220は、基礎マップで特定されるピクセルの色相およびそのピクセルと関連する領域の大きさのうち少なくとも一つに基づいて、基礎マップで流動障害物と推定されるピクセル、ノイズと推定されるピクセルおよび固定障害物と推定されるピクセルのうち少なくとも一つを識別することができる。ここで、固定障害物は建築構造物(例えば、壁)のように、他の場所への移動が不可能であるか所定水準以上には難しい障害物を意味し得、流動障害物は机、椅子、テーブルのように他の場所への移動が所定水準以上に容易な障害物を意味し得る。
【0038】
例えば、本発明の一実施例により基礎マップで特定されるピクセルの色相は、基礎マップ生成過程で獲得されるセンシング情報(具体的には、センシングされる信号の強度)によりグレースケール(gray scale)で表され得る。このようなグレースケールにより基礎マップで特定されるピクセルの色相は大きく白色、灰色および黒色に区分され得、白色のピクセルは何も存在しない領域(すなわち、空き領域)を表し、黒色のピクセルは実世界の客体が存在する領域を表し、灰色のピクセルは実世界の客体が存在する可能性がある領域を表すことができる。この場合に、ピクセル識別部220は基礎マップで灰色のピクセルおよび黒色のピクセルのうち、互いに隣接(例えば、くっついていたり所定水準以内に存在)する灰色のピクセルおよび黒色のピクセルを含んで(または連結して)形成される領域(例えば、閉領域)の大きさが第1臨界大きさ以下である場合に、その領域内のピクセルをノイズと推定されるピクセルとして識別することができる。ここで、このような第1臨界大きさは既設定され得るか、または基礎マップで互いに隣接する灰色のピクセルおよび黒色のピクセルを含んで形成される領域の数およびその領域の面積を基準として確率統計学的な分析を通じて決定されてもよい。また、ピクセル識別部220は基礎マップで黒色のピクセルのうち、互いに隣接する黒色のピクセルを含んで(または連結して)形成される領域(例えば、閉領域)の大きさが第1臨界大きさより大きく、第2臨界大きさ以下である場合に、その領域内のピクセルを流動障害物と推定されるピクセルとして識別することができる。ここで、このような第2臨界大きさは既設定され得るか、または基礎マップで互いに隣接する黒色のピクセルを含んで形成される領域の数およびその領域の面積を基準として確率統計学的な分析を通じて決定されてもよい。また、ピクセル識別部220は基礎マップで黒色のピクセルのうち、互いに隣接する黒色のピクセルを含んで(または連結して)形成される領域(例えば、閉領域)の大きさが第2臨界大きさより大きい場合に、その領域内のピクセルを固定障害物と推定されるピクセルとして識別することができる。
【0039】
次に、本発明の一実施例に係る境界決定部230は、ピクセル識別部220により流動障害物と推定されるピクセルを対象に拡張演算および収縮演算を適用し、多角形を基盤として流動障害物の境界を決定する機能を遂行することができる。
【0040】
例えば、境界決定部230は第1流動障害物と推定されるピクセルを対象に拡張演算を遂行した後に収縮演算を遂行し、第1流動障害物から所定距離以内に存在する少なくとも一つの第2流動障害物を第1流動障害物と共にグループ化することができ、凸包(convex hull)アルゴリズムを基盤として前記グループ化された複数の流動障害物(すなわち、第1流動障害物および少なくとも一つの第2流動障害物)の境界に該当する凸包を識別し、その識別される凸包を基盤として(例えば、その凸包を互いに連結して)前記グループ化された複数の流動障害物の境界を決定することができる。
【0041】
次に、本発明の一実施例に係るノイズ除去部240は、ピクセル識別部220により基礎マップでノイズと推定されるピクセルを除去する機能を遂行することができる。
【0042】
例えば、前記で詳察した通り、基礎マップで特定されるピクセルの色相が基礎マップ生成過程で獲得されるセンシング情報(具体的には、センシングされる信号の強度)によりグレースケールで表されることになる場合に、ノイズ除去部240はピクセル識別部220によりノイズと推定されるピクセル(例えば、基礎マップで灰色のピクセルおよび黒色のピクセルのうち、互いに隣接する灰色のピクセルおよび黒色のピクセルを含んで(または連結して)形成される領域の大きさが第1臨界大きさ以下である場合、その領域内のピクセル)を白色のピクセルで補正することによってノイズを除去することができる。
【0043】
次に、本発明の一実施例に係る境界補正部250は、ピクセル識別部220により基礎マップで固定障害物と推定されるピクセルの境界を対象に色相および厚さのうち少なくとも一つを補正する機能を遂行することができる。
【0044】
例えば、前記で詳察した通り、基礎マップで特定されるピクセルの色相が基礎マップ生成過程で獲得されるセンシング情報(具体的には、センシングされる信号の強度)によりグレースケールで表されることになる場合に、境界補正部250はピクセル識別部220により固定障害物と推定されるピクセル(例えば、基礎マップで黒色のピクセルのうち、互いに隣接する黒色のピクセルを含んで(または連結して)形成される領域の大きさが第2臨界大きさより大きい場合、その領域内のピクセル)の境界が黒色で所定水準以上の厚さを有するように補正することができる。
【0045】
また、境界補正部250は固定障害物と推定されるピクセルに基づいて特定される領域の大きさを参照して、その境界の厚さを動的に決定することができる。
【0046】
例えば、境界補正部250は固定障害物と推定されるピクセルに基づいて、特定される領域の大きさが大きくなるほどその境界の厚さが厚くなるように決定し、該当領域の大きさが小さいほどその境界の厚さが薄くなるように決定することができる。
【0047】
一方、本発明の一実施例に係る境界補正部250は、流動障害物と推定されるピクセルを抑制(suppress)し、固定障害物と推定されるピクセルを選別的に特定して補正を遂行することができる。
【0048】
例えば、境界補正部250は基礎マップで黒色のピクセルのうち、互いに隣接する黒色のピクセルを含んで(または連結して)形成される領域の大きさが第2臨界大きさ以下である場合、その領域に含まれる黒色のピクセルを抑制(例えば、該当領域に含まれる黒色のピクセルと関連したレイヤを非活性化するか、臨時的にまたは一時的に除去)し、基礎マップで黒色のピクセルのうち、互いに隣接する黒色のピクセルを含んで(または連結して)形成される領域の大きさが第2臨界大きさより大きい場合、その領域に含まれる黒色のピクセルのみを選別して特定した後に前記補正を遂行することができる。
【0049】
次に、本発明の一実施例によると、通信部260は基礎マップ獲得部210、ピクセル識別部220、境界決定部230、ノイズ除去部240および境界補正部250からの/へのデータ送受信を可能にする機能を遂行することができる。
【0050】
最後に、本発明の一実施例によると、制御部270は基礎マップ獲得部210、ピクセル識別部220、境界決定部230、ノイズ除去部240、境界補正部250および通信部260間のデータの流れを制御する機能を遂行することができる。すなわち、本発明の一実施例に係る制御部270は、マップ管理システム200の外部からの/へのデータの流れまたはマップ管理システム200の各構成要素間のデータの流れを制御することによって、基礎マップ獲得部210、ピクセル識別部220、境界決定部230、ノイズ除去部240、境界補正部250および通信部260でそれぞれ固有機能を遂行するように制御することができる。
【0051】
図3は、本発明の一実施例に係る基礎マップおよび従来の手作業で加工されたマップを例示的に示す図面である。
【0052】
図4~
図6は、本発明の一実施例により生成されるロボットのためのマップを例示的に示す図面である。
【0053】
図3および
図4を参照すると、本発明の一実施例によりロボット300が位置する場所周辺の基礎マップが獲得されると(
図3の(a)参照)、従来にはその基礎マップをそのまま活用したり、いちいちノイズを手作業で除去して肉眼で障害物の境界を補正(
図3の(b)参照)したりするしかなかったため、その速度や正確性の面で限界が存在した。しかし、本発明に係るマップ管理システム200を通じて、ノイズ除去と境界の補正が迅速かつ正確でありながらも細密に遂行され得るようになる(
図4参照)。
【0054】
まず、本発明の一実施例によりロボット300のタスクと関連する基礎マップが獲得され得る。
【0055】
その後、本発明の一実施例によりその基礎マップで特定されるピクセルの色相およびピクセルと関連する領域の大きさのうち少なくとも一つに基づいて該当基礎マップでノイズと推定されるピクセルが識別され、そのノイズと推定されるピクセルが該当基礎マップで除去され得る。
【0056】
その後、
図4~
図6を参照すると、本発明の一実施例によりノイズと推定されるピクセルが除去された基礎マップで特定されるピクセルの色相およびピクセルと関連する領域の大きさのうち少なくとも一つに基づいて固定障害物420、520、620と推定されるピクセルが識別され、その推定される固定障害物420、520、620の境界ピクセルを対象に色相および厚さのうち少なくとも一つが補正され得る。
【0057】
その後、本発明の一実施例により固定障害物420、520、620の境界ピクセルが補正された基礎マップで特定されるピクセルの色相およびピクセルと関連する領域の大きさのうち少なくとも一つに基づいて流動障害物と推定されるピクセルが識別され、その流動障害物と推定されるピクセルを対象に拡張演算および収縮演算が適用されて多角形401、402、403、404、405、406、501、502、503、504、505、506、507、508、601、602、603、604を基盤として該当流動障害物の境界410、510、610が決定され得る。
【0058】
その後、本発明の一実施例により流動障害物の境界410、510、610およびその境界410、510、610に関する座標データ(例えば、前記基礎マップと関連する基準座標系、ロボット300の基準座標系、または絶対座標系での座標データ)のうち少なくとも一つが前記基礎マップの注釈(annotation)情報として生成され得る。
【0059】
その後、本発明の一実施例によりロボット300は、前記補正された基礎マップおよび前記基礎マップの注釈情報に基づいてタスクを遂行することができる。
【0060】
一方、流動障害物の境界410、510、610が事後的に補正される必要がある場合に、これは多角形401、402、403、404、405、406、501、502、503、504、505、506、507、508、601、602、603、604に基づいて容易に調整され得る。
【0061】
一方、本発明によりロボットのためのマップを生成するために、パイソン(Python)プログラム言語のOpenCVライブラリー関数などのような多様なコンピュータプログラムまたはツールが活用され得、例えば、パイソンプログラム言語のthreshold()、connectedcomponentswithstats()、canny()、houghlinesp()、erode()、dilate()、findcontours()、convexhull()、approxpolydp()などの関数が利用され得る。
【0062】
また、以上ではノイズ除去、固定障害物の境界の補正および流動障害物の境界決定が順に遂行される実施例について主に説明されているが、本発明は必ずしも前記順序でのみ限定されるものではなく、本発明の目的を達成できる範囲内で前記順序は他の順序にいくらでも変更できることを明らかにしておく。
【0063】
ロボットの構成
【0064】
本発明の一実施例に係るロボット300は案内ロボット、サービングロボット、運搬ロボット、清掃ロボット、医療ロボット、エンターテインメントロボット、ペットロボットおよび無人飛行ロボットのうち少なくとも一つが遂行する作業と類似する作業を遂行するロボットであり得、このために各作業に符合する多様な形状で具現され得る。
【0065】
図7を参照すると、ロボット300は本体710、駆動部720およびプロセッサ730を含んで構成され得る。
【0066】
例えば、本発明の一実施例に係る本体710には、運送対象客体または回収対象客体を積載するための少なくとも一つの積載空間が含まれ得る。本発明の一実施例に係るこのような運送対象客体および回収対象客体は移動され得るすべての類型物を総称する概念であり、例えば、事物、動物、人などを含む概念であり得る。例えば、運送対象客体は飲食物であり、回収対象客体は該当飲食物が入っている容器であり得る。
【0067】
図8を参照すると、例えばロボット300がサービングロボットである場合に、運送対象客体の提供および回収対象客体の回収のための第1空間810および第2空間820を含むことができる。また、ロボット300は着脱式柱を通じて提供される拡張空間である第3空間830をさらに含むことができ、必要に応じて拡張空間をさらに追加することによって、より多くの積載空間を具備することができる。また、ロボット300は運送対象客体または回収対象客体専用のトレイ840をさらに含んでもよい。例えば、トレイ840は上から見る時、その上面に複数個の円形溝が形成された構成を有することができる。それぞれの円形溝は飲料が入っているカップの下部が載置されて容易にある程度固定され得るように形成されていてもよい。このような円形溝の大きさは多様であり得る。また、ロボット300の第1空間810の下部には、ロボット300の側面を通じて取り出され得る第4空間850がさらに含まれ得る。本発明の一実施例に係る第4空間850はその内部に空いた空間が形成されており、側面は閉塞されており、上面は開いており、下面は閉じられている、籠に類似する形態を有することができる。ただし、本発明に係るロボット300の積載空間は前記の列挙された内容に限定されて具現されるものではなく、本発明の目的を達成できる範囲内で他の形態の積載空間などで多様に具現され得る。
【0068】
一方、再び
図7を参照すると、本体710には周辺映像、客体および障害物情報を獲得するための撮影モジュール(例えば、可視光線カメラ、赤外線カメラなど)(図示されず)およびスキャナモジュール(例えば、ライダ(LIDAR)センサなど)がさらに含まれ得る。
【0069】
次に、本発明の一実施例に係る駆動部720は、本体710を他の地点に移動させるためのモジュールまたは運送対象客体および回収対象客体をローディングおよびアンローディングするためのモジュールを含んで構成され得る。
【0070】
例えば、駆動部720は本体710を他の地点に移動させるためのモジュールとして、電気式、機械式、または油圧式で駆動される車輪、プロペラなどに関するモジュールなどを含むことができ、運送対象客体および回収対象客体をローディングおよびアンローディングするためのモジュールとして、運送対象客体および回収対象客体を装着して運搬するためのロボットアームモジュールなどを含むことができる。
【0071】
次に、本発明の一実施例に係るプロセッサ730は、駆動部720と電気的に連結されて駆動部720を制御する機能を遂行することができ(外部システムとの通信のための通信モジュールをさらに含んでもよい)、例えば、プログラム内に含まれたコードまたは命令で表現された機能を遂行するために物理的に構造化された回路を有する、ハードウェアに内蔵されたデータ処理装置を意味し得る。例えば、このようにハードウェアに内蔵されたデータ処理装置は、マイクロプロセッサ(microprocessor)、中央処理装置(central processing unit)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)などの処理装置を含むことができる。
【0072】
また、プロセッサ730は本発明に係るマップ管理システム200の基礎マップ獲得部210、ピクセル識別部220、境界決定部230、ノイズ除去部240および境界補正部250のうち少なくとも一つの機能を遂行することができ(例えば、該当機能がモジュール化されてプロセッサ730に含まれ得る)、基礎マップ獲得部210、ピクセル識別部220、境界決定部230、ノイズ除去部240および境界補正部250のうち少なくとも一つの機能を遂行する外部システム(図示されず)との通信を通じて駆動部720を制御する機能を遂行してもよい。
【0073】
具体的には、プロセッサ730はロボット300のタスクと関連する基礎マップを獲得し、その基礎マップで特定されるピクセルの色相およびそのピクセルと関連する領域の大きさのうち少なくとも一つに基づいて、基礎マップで流動障害物と推定されるピクセルを識別し、流動障害物と推定されるピクセルを対象に拡張演算および収縮演算を適用し、多角形を基盤として流動障害物の境界を決定する機能を遂行することができる。
【0074】
以上で説明された本発明に係る実施例は、多様なコンピュータ構成要素を通じて実行され得るプログラム命令語の形態で具現されてコンピュータ読み取り可能な記録媒体に記録され得る。前記コンピュータ読み取り可能な記録媒体は、プログラム命令語、データファイル、データ構造などを単独でまたは組み合わせて含むことができる。前記コンピュータ読み取り可能な記録媒体に記録されるプログラム命令語は、本発明のために特別に設計されて構成されたものであるかコンピュータソフトウェア分野の当業者に公知となっている使用可能なものであり得る。コンピュータ読み取り可能な記録媒体の例には、ハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体、CD-ROMおよびDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、およびROM、RAM、フラッシュメモリなどのような、プログラム命令語を保存し実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令語の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを使ってコンピュータによって遂行され得る高級言語コードも含まれる。ハードウェア装置は本発明に係る処理を遂行するために一つ以上のソフトウェアモジュールに変更され得、その逆も同じである。
【0075】
以上、本発明が具体的な構成要素などのような特定事項と限定された実施例および図面によって説明されたが、これは本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野で通常の知識を有する者であればこのような記載から多様な修正と変更を図ることができる。
【0076】
したがって、本発明の思想は前記説明された実施例に限定されて定められてはならず、後述する特許請求の範囲だけでなくこの特許請求の範囲と均等なまたはこれから等価的に変更されたすべての範囲は本発明の思想の範疇に属すると言える。
【符号の説明】
【0077】
100 通信網
200 マップ管理システム
210 基礎マップ獲得部
220 ピクセル識別部
230 境界決定部
240 ノイズ除去部
250 境界補正部
260 通信部
270 制御部
300 ロボット