JP2019528535A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2019528535A5 JP2019528535A5 JP2019510776A JP2019510776A JP2019528535A5 JP 2019528535 A5 JP2019528535 A5 JP 2019528535A5 JP 2019510776 A JP2019510776 A JP 2019510776A JP 2019510776 A JP2019510776 A JP 2019510776A JP 2019528535 A5 JP2019528535 A5 JP 2019528535A5
- Authority
- JP
- Japan
- Prior art keywords
- obstacle
- image
- mobile robot
- time point
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010801 machine learning Methods 0.000 claims description 42
- 238000001514 detection method Methods 0.000 claims description 41
- 238000003860 storage Methods 0.000 claims description 37
- 230000000875 corresponding Effects 0.000 claims description 22
- 239000000284 extract Substances 0.000 claims description 15
- 230000001276 controlling effect Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 12
- 230000001537 neural Effects 0.000 description 59
- 239000010410 layer Substances 0.000 description 38
- 238000004140 cleaning Methods 0.000 description 35
- 238000000034 method Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 12
- 210000004209 Hair Anatomy 0.000 description 11
- 239000000428 dust Substances 0.000 description 10
- 238000000605 extraction Methods 0.000 description 10
- 230000003287 optical Effects 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000002093 peripheral Effects 0.000 description 6
- 230000001133 acceleration Effects 0.000 description 5
- 230000000306 recurrent Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006011 modification reaction Methods 0.000 description 3
- 229910020019 S1 Can Inorganic materials 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 240000000800 Allium ursinum Species 0.000 description 1
- 210000004556 Brain Anatomy 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 235000010599 Verbascum thapsus Nutrition 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001678 irradiating Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000000877 morphologic Effects 0.000 description 1
- 239000002365 multiple layer Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001702 transmitter Effects 0.000 description 1
- 230000001960 triggered Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Description
本発明は、移動ロボット及びその制御方法に関し、より詳細には、障害物認識及び回避を行う移動ロボット及びその制御方法に関する。
ロボットは、産業用に開発されて工場自動化の一部分を担ってきた。最近は、ロボットを応用した分野がさらに拡大されて、医療用ロボット、宇宙航空ロボットなどが開発され、一般家庭で使用できる家庭用ロボットも制作されている。このようなロボットのうち自力で走行可能なものを移動ロボットという。
家庭で用いられる移動ロボットの代表的な例としてはロボット掃除機があり、ロボット掃除機は、一定領域を自ら走行しながら、周辺の塵又は異物を吸入することにより、該当領域を掃除する機器である。
移動ロボットは、自ら移動可能であるため移動が自由であり、走行中に障害物などを避けるための複数のセンサを備えて障害物を避けて走行することができる。
一般に、移動ロボットの障害物感知のためには赤外線センサ又は超音波センサが用いられる。赤外線センサは、障害物に反射されて戻ってくる反射光の光量又は受信される時間により障害物の存在及び距離を判断し、超音波センサは、所定周期を有する超音波を発散して障害物により反射される超音波がある場合、超音波発散時間と障害物に反射されて戻ってくる瞬間の時間差を用いて障害物との距離を判断する。
一方、障害物の認識及び回避は、移動ロボットの走行性能だけでなく、掃除性能に大きな影響を及ぼすので、障害物認識能力の信頼性確保が要求される。
従来技術(大韓民国登録特許第10−0669892号公報)は、赤外線センサと超音波センサを組み合わせて信頼性の高い障害物認識技術を実現する技術を開示している。
しかしながら、従来技術(大韓民国登録特許第10−0669892号公報)は、障害物の属性を判別することができないという問題がある。
図1は、従来の移動ロボットの障害物感知及び回避方法に関する説明に参照される図である。
図1を参照すると、ロボット掃除機は、移動しながら塵及び異物を吸入して掃除を行う(S11)。
超音波センサにおいて障害物により反射される超音波信号を感知して障害物の存在を認識し(S12)、認識された障害物の高さが乗り越えられる高さであるか否かを判断する(S13)。
ロボット掃除機は、乗り越えられる高さであると判断される場合は直進に移動し(S14)、そうでない場合は90度回転(S15)して移動することができる。
例えば、障害物が低い敷居である場合、ロボット掃除機は、敷居を認識し、認識の結果、通過できると判断すると、敷居を乗り越えて移動する。
しかしながら、乗り越えられる高さであると判断した障害物が電線であると、ロボット掃除機は、電線を乗り越える途中に電線にかかって拘束される可能性がある。
また、扇風機の基台は、敷居と類似しているか低い高さを有するので、ロボット掃除機は、乗り越えられる障害物であると判断することができる。この場合、ロボット掃除機は、扇風機の基台を乗り越える途中に車輪が空転しながら拘束される可能性がある。
また、人の全体を認識することができず、髪の毛などの人毛の一部のみが感知された場合、人毛を乗り越えられる高さであると判断して直進を行うことができるが、この場合は、ロボット掃除機が人毛を吸入して事故が発生する可能性がある。
従って、前方の障害物の属性を把握して属性に合わせて移動パターンを変更する方法が要求される。
一方、最近は、人工知能とディープラーニングなどのマシンラーニングに関する関心が大きく増加している。
マシンラーニングとは、人工知能分野の1つであり、コンピュータにデータを学習させ、それに基づいて予測、分類などのある作業を行わせることを意味する。
マシンラーニングの最も代表的な定義は、トムミッチェル(Tom M. Mitchell)教授が提示したものであり、「あるタスク(T)を行うにおいて特定の基準(P)で測定した性能が特定の経験(E)により向上した場合、そのあるタスク(T)はある経験(E)から学んだということができる」ということである。すなわち、あるタスクTに対して多くの経験(E)により性能を向上させることをマシンラーニングということができる。
従来のマシンラーニングは、統計学基盤の分類、回帰、群集モデルが中心であった。特に、分類、回帰モデルの指導学習では学習データの特性とこのような特性に基づいて新しいデータを区別する学習モデルを人が事前に定義した。
一方、最近は、従来のマシンラーニングとは異なり、ディープラーニング技術が発展している。ディープラーニングは、人工ニューラルネットワーク(Artificial Neural Networks:ANN)に基づいてコンピュータが自ら人のように学習できる人工知能技術である。すなわち、ディープラーニングは、コンピュータが自ら特性を見出して判別することである。
ディープラーニングの発展を加速化した要因の1つとして、オープンソースで提供されるディープラーニングフレームワークがある。例えば、ディープラーニングフレームワークとしては、カナダモントリオール大学のテアノ(Theano)、米国ニューヨーク大学のトーチ(Torch)、カリフォルニアバークレー大学のカフェ(Caffe)、グーグルのテンソルフロー(TensorFlow)などがある。
ディープラーニングフレームワークの公開により、効果的な学習及び認識のために、ディープラーニングアルゴリズム以外に学習過程、学習方法、学習に試用するデータの抽出及び選定がさらに重要となっている。
また、人工知能とマシンラーニングを様々な製品、サービスに用いるための研究が増加している。
本発明の目的は、障害物属性認識の正確性を向上できる画像データを取得できる移動ロボット及びその制御方法を提供することにある。
本発明の目的は、障害物の属性を判断し、障害物の属性によって走行パターンを調整することができるため、信頼性の高い障害物認識及び回避動作を実行できる移動ロボット及びその制御方法を提供することにある。
本発明の目的は、障害物の認識結果に応じて前進、後退、停止、迂回などの動作を行うことにより移動ロボット自体の安定性及び使用者の利便性を向上し、運転効率、掃除効率を向上できる移動ロボット及びその制御方法を提供することにある。
本発明の目的は、マシンラーニングに基づいて障害物の属性を正確に認識できる移動ロボット及びその制御方法を提供することにある。
本発明の目的は、効率的にマシンラーニングを行うことができ、障害物属性認識に使用できるデータを抽出する移動ロボット及びその制御方法を提供することにある。
上記又は他の目的を達成するために、本発明の一側面による移動ロボットは、本体を移動させる走行部、本体の周辺を連続的に撮影して複数の画像を取得する画像取得部、画像取得部が取得する連続した複数の画像を保存する保存部、移動中に障害物を感知する1つ以上のセンサを含むセンサ部、及びセンサ部が障害物を感知すると、本体の移動方向と移動速度に基づいて、連続した複数の画像のうちセンサ部の障害物感知時点以前の特定時点画像を選択し、前記選択された特定時点画像に含まれる障害物の属性を認識する障害物認識モジュールを含む制御部を含むことにより、障害物属性認識の正確性を向上できる画像データを取得して障害物の属性を正確に認識することができる。
また、上記又は他の目的を達成するために、本発明の一側面による移動ロボットは、認識された障害物の属性に基づいて、走行部の駆動を制御する走行制御モジュールを含むことにより、安定性、使用者の利便性、運転効率、掃除効率を向上させることができる。
さらに、上記又は他の目的を達成するために、本発明の一側面による移動ロボットの制御方法は、画像取得部により、移動中に本体の周辺を連続的に撮影して複数の画像を取得するステップ、画像取得部が取得する連続した複数の画像を保存するステップ、センサ部により、障害物を感知するステップ、センサ部が障害物を感知すると、本体の移動方向と移動速度に基づいて、連続した複数の画像のうちセンサ部の障害物感知時点以前の特定時点画像を選択するステップ、選択された特定時点画像に含まれる障害物の属性を認識するステップ、及び認識された障害物の属性に基づいて、走行部の駆動を制御するステップを含む。
本発明の実施形態のうち少なくとも1つによれば、障害物属性認識の正確性を向上できる画像データを取得することができる。
本発明の実施形態のうち少なくとも1つによれば、移動ロボットが、障害物の属性を判断し、障害物の属性によって走行パターンを調整することができるため、信頼性の高い障害物認識及び回避動作を行うことができる。
また、本発明の実施形態のうち少なくとも1つによれば、障害物の認識結果に応じて前進、後退、停止、迂回などの動作を行うことにより移動ロボット自体の安定性及び使用者の利便性を向上し、運転効率、掃除効率を向上できる移動ロボット及びその制御方法を提供することができる。
また、本発明の実施形態のうち少なくとも1つによれば、マシンラーニングに基づいて障害物の属性を正確に認識できる移動ロボット及びその制御方法を提供することができる。
また、本発明の実施形態のうち少なくとも1つによれば、移動ロボットが、効率的にマシンラーニングを行うことができ、障害物属性認識に使用できるデータを抽出することができる。
一方、その他の多様な効果は、後述する本発明の実施形態による詳細な説明において直接的又は暗示的に開示される。
以下、添付図面を参照して本発明の実施形態について詳細に説明する。しかしながら、本発明がこのような実施形態に限定されるものではなく、様々な形態に変形できることは言うまでもない。
図においては、本発明を明確かつ簡略に説明するために説明と関係ない部分の図示を省略し、明細書全体にわたって同一又は極めて類似の部分に対しては同一の図面参照符号を用いる。
一方、以下の説明で使用される構成要素に対する接尾辞「モジュール」及び「部」は明細書作成の容易さだけが考慮されて付与されるものであって、それ自体で特別に重要な意味又は役割を付与するものではない。従って、前記「モジュール」及び「部」は互いに混用して用いられることもできる。
本発明の一実施形態による移動ロボット100は、車輪などを用いて自ら移動可能なロボットを意味し、家庭用ヘルパーロボット及びロボット掃除機などがある。以下、図面を参照して、移動ロボットのうちの掃除機能を有するロボット掃除機を例にして説明するが、本発明は、これに限定されるものではない。
図2は、本発明の一実施形態による移動ロボット及び移動ロボットを充電する充電台を示す斜視図である。
図3は、図2に示す移動ロボットの上面部を示す図であり、図4は、図2に示す移動ロボットの正面部を示す図であり、図5は、図2に示す移動ロボットの底面部を示す図である。
図6及び図7は、本発明の実施形態による移動ロボットの主要構成間の制御関係を示すブロック図である。
図3ないし図7を参照すると、移動ロボット100、100a、100bは、本体110と、本体110の周辺の画像を取得する画像取得部120、120a、120bとを含む。
以下、本体110の各部分の定義において、走行区域内の天井を向いた部分を上面部(図3を参照)と定義し、走行区域内の床面を向いた部分を底面部(図5を参照)と定義し、上面部と底面部間に本体110の周縁の部分のうち走行方向を向いた部分を正面部(図4を参照)と定義する。
移動ロボット100、100a、100bは、本体110を移動させる走行部160を含む。走行部160は、本体110を移動させる少なくとも1つの駆動輪136を含む。走行部160は、駆動輪136に連結されて駆動輪を回転させる駆動モータ(図示せず)を含む。駆動輪136は、本体110の左側及び右側にそれぞれ備えられることができ、以下、それぞれ左輪136(L)及び右輪136(R)という。
左輪136(L)と右輪136(R)は、1つの駆動モータにより駆動されることもできるが、必要に応じて左輪136(L)を駆動させる左輪駆動モータと右輪136(R)を駆動させる右輪駆動モータがそれぞれ備えられることもできる。左輪136(L)と右輪136(R)の回転速度に差を持たせて左側又は右側に本体110の走行方向を転換することができる。
本体110の底面部には空気の吸入が行われる吸入口110hが形成され、本体110内には吸入口110hを通じて空気が吸入できるように吸引力を供給する吸入装置(図示せず)と、吸入口110hを通じて空気と共に吸入された塵を集塵するダストボックス(図示せず)とが備えられることができる。
本体110は、移動ロボット100、100a、100bを構成する各種部品が収容される空間を形成するケース111を含む。ケース111には、前記ダストボックスの挿入と除去のための開口部が形成され、開口部を開閉するダストボックスカバー112がケース111に対して回転可能に備えられることができる。
吸入口110hから露出するブラシを有するロール型のメインブラシ134と、本体110の底面部前方側に位置し、放射状に延長された複数の羽根からなるブラシを有する補助ブラシ135とが備えられることができる。これらブラシ134、135の回転により走行区域内の床面から塵が分離され、このように床面から分離された塵は吸入口110hを通じて吸入されてダストボックスに集まる。
バッテリ138は、駆動モータだけでなく、移動ロボット100、100a、100bの作動全般に必要な電源を供給する。バッテリ138が放電されると、移動ロボット100、100a、100bは充電のために充電台200に復帰する走行を行うことができ、このような復帰走行中に、移動ロボット100、100a、100bは自ら充電台200の位置を探知することができる。
充電台200は、所定の復帰信号を送出する信号送出部(図示せず)を含むことができる。復帰信号は超音波信号又は赤外線信号であり得るが、必ずこれらに限定されるものではない。
移動ロボット100、100a、100bは、復帰信号を受信する信号感知部(図示せず)を含むことができる。充電台200は信号送出部を通じて赤外線信号を送出し、信号感知部は赤外線信号を感知する赤外線センサを含むことができる。移動ロボット100、100a、100bは、充電台200から送出された赤外線信号によって充電台200の位置に移動して充電台200とドッキング(docking)する。このようなドッキングにより移動ロボット100、100a、100bの充電端子133と充電台200の充電端子210間に充電が行われる。
実施形態によっては、移動ロボット100、100a、100bは、画像基盤又はレーザーパターン抽出方式の充電台200への復帰走行を行うことができる。
移動ロボット100、100a、100bは、本体110から発信される光信号などを用いて充電台200に形成された特定パターンを認識し、これを抽出して充電台に復帰することができる。
例えば、本発明の一実施形態による移動ロボット100、100a、100bは、パターン光センサ(図示せず)を含むことができる。
パターン光センサは、本体110に備えられてもよく、移動ロボット100、100a、100bが活動する活動領域にパターン光(optical pattern)を照射し、前記パターン光が照射された領域を撮影して入力画像を取得することができる。例えば、前記パターン光は、十字パターンなどの特定パターンの光であり得る。
パターン光センサは、前記パターン光を照射するパターン照射部と、前記パターン光が照射された領域を撮影するパターン画像取得部とを含むことができる。
パターン照射部は、光源と、パターン生成者(OPPE:Optical Pattern Projection Element)とを含むことができる。前記光源から入射した光が前記パターン生成者に透過することにより生成される前記パターン光が生成される。前記光源は、レーザダイオード(Laser Diode:LD)、発光ダイオード(Light Emitteing Diode:LED)などであり得る。
パターン照射部は本体の前方に向けて光を照射することができ、パターン画像取得部はパターン光が照射された領域を撮影して入力画像(input image)を取得する。パターン画像取得部は、カメラを含むことができ、このようなカメラは構造光カメラ(Structured Light Camera)であり得る。
一方、充電台200は、一定の間隔で互いに離隔した2つ以上の位置標識を含むことができる。
位置標識は、自身の表面にパターン光が入射したとき、周辺部と区分される標識を形成する。このような標識は、位置標識の形態的な特性により、表面に入射したパターン光の形態が変形することから起因するものであり得、または、位置標識の材質的な特性による光反射率(又は、吸収率)が周辺部と異なることから起因するものであり得る。
位置標識は、前記標識を形成させる角部を含むことができる。位置標識の表面に入射したパターン光が角部で角をなして折れることにより、入力画像では前記標識としての尖点が確認される。
移動ロボット100、100a、100bは、バッテリ残量が不足した場合に自動で充電台の探索を実施でき、または、使用者から充電命令が入力されたときにも充電台探索を実施できる。
移動ロボット100、100a、100bが充電台探索を実施する場合、パターン抽出部は入力画像から尖点を抽出し、制御部140は抽出された尖点の位置情報を取得する。前記位置情報は、移動ロボット100、100a、100bから尖点までの距離が考慮された3次元空間上での位置を含むことができる。
制御部140は、取得した尖点に対する位置情報に基づいて尖点間の実際距離を求め、これを予め設定された基準値と比較して、前記実際距離と前記基準値との差が所定の範囲内であれば充電台200が探索されたと判断することができる。
または、移動ロボット100、100a、100bは、画像取得部120のカメラにより周辺画像を取得した後、取得された画像から充電台200に対応する形状を抽出、識別して充電台200に復帰することができる。
また、移動ロボット100、100a、100bは、画像取得部120のカメラにより周辺画像を取得し、充電台200から発信される特定光信号を識別して充電台に復帰することができる。
画像取得部120は、走行区域を撮影するものであり、カメラモジュールを含むことができる。前記カメラモジュールは、デジタルカメラを含むことができる。デジタルカメラは、少なくとも1つの光学レンズと、光学レンズを通過した光により像が結ばれる複数の光ダイオード(photodiode)(例えば、ピクセル(pixel))を含んで構成されるイメージセンサ(image sensor)(例えば、CMOSイメージセンサ )と、光ダイオードから出力された信号に基づいて画像を構成するデジタル信号処理器(DSP:Digital Signal Processor)とを含むことができる。デジタル信号処理器は、静止画像だけでなく、静止画像で構成されたフレームからなる動画像を生成することもできる。
好ましくは、画像取得部120は、本体110の前方の画像を取得するように備えられる前面カメラ120aと、本体110の上面部に備えられて、走行区域内の天井に対する画像を取得する上部カメラ120bとを備えるが、画像取得部120の位置と撮影範囲が必ずこれに限定されることではない。
本実施形態の場合、移動ロボットの一部部位(例えば、前方、後方、底面)にカメラが設置されており、掃除時に撮像画像を継続的に取得することができる。このようなカメラは、撮影効率のために各部位別に複数設置されることもできる。カメラにより撮像された画像は、該当空間に存在する塵、髪の毛、床面などの物質の種類の認識、掃除可否、又は掃除時点の確認に用いることができる。
前面カメラ120aは、移動ロボット100、100a、100bの走行方向の前面に存在する障害物又は掃除領域の状況を撮影することができる。
本発明の一実施形態によれば、画像取得部120は、本体110の周辺を連続的に撮影して複数の画像を取得することができ、取得された複数の画像は保存部150に保存される。
移動ロボット100、100a、100bは、複数の画像を用いて障害物認識の正確性を向上させるか、複数の画像のうち1つ以上の画像を選択して効果的なデータを用いることにより障害物認識の正確性を向上させることができる。
また、移動ロボット100、100a、100bは、移動ロボットの動作、状態に関する各種データをセンシングするセンサを含むセンサ部170を含むことができる。
例えば、センサ部170は、前方の障害物を感知する障害物感知センサ131を含むことができる。また、センサ部170は、走行区域内の床面に崖が存在するか否か感知する崖感知センサ132と、床面の画像を取得する下部カメラセンサ139をさらに含むことができる。
図2及び図4を参照すると、障害物感知センサ131は、移動ロボット100の外周面に所定間隔で設置される複数のセンサを含むことができる。
例えば、センサ部170は、本体110の前面に配置される第1センサ、前記第1センサから左右に離隔して配置される第2センサ及び第3センサを含むことができる。
障害物感知センサ131は、赤外線センサ、超音波センサ、RFセンサ、地磁気センサ、PSD(Position Sensitive Device)センサなどを含むことができる。
一方、障害物感知センサ131に含まれるセンサの位置と種類は移動ロボットの機種によって異なり、障害物感知センサ131は、より多様なセンサを含むことができる。
障害物感知センサ131は、室内の壁や障害物との距離を感知するセンサであり、本発明は、その種類に限定されないが、以下では超音波センサを例にして説明する。
障害物感知センサ131は、移動ロボットの走行(移動)方向に存在する物体、特に障害物を感知して障害物情報を制御部140に伝達する。すなわち、障害物感知センサ131は、移動ロボットの移動経路、前方や側面に存在する突出物、家内の什器、家具、壁面、壁角部などを感知してその情報を制御ユニットに伝達することができる。
ここで、制御部140は、超音波センサにより受信した少なくとも2つの信号に基づいて障害物の位置を感知し、感知された障害物の位置によって移動ロボット100の動作を制御することができる。
実施形態によっては、ケース110の外側面に備えられる障害物感知センサ131は発信部と受信部を含むことができる。
例えば、超音波センサは、少なくとも1つ以上の発信部及び少なくとも2つ以上の受信部が互い違いに備えられることができる。これにより、多様な角度で信号を放射し、障害物に反射された信号を多様な角度で受信することができる。
実施形態によっては、障害物感知センサ131により受信された信号は、増幅、フィルタリングなどの信号処理過程を経ることができ、その後、障害物までの距離及び方向が算出されることができる。
一方、センサ部170は、本体110の駆動による移動ロボット100、100a、100bの動作を感知して動作情報を出力する動作感知センサをさらに含むことができる。動作感知センサとしては、ジャイロセンサ(Gyro Sensor)、ホイールセンサ(Wheel Sensor)、加速度センサ(Acceleration Sensor)などを用いることができる。
ジャイロセンサは、移動ロボット100、100a、100bが運転モードによって動くときに回転方向を感知して回転角を検出する。ジャイロセンサは、移動ロボット100、100a、100bの角速度を検出して角速度に比例する電圧値を出力する。制御部140は、ジャイロセンサから出力される電圧値を用いて回転方向及び回転角を算出する。
ホイールセンサは、左輪136(L)と右輪136(R)に連結されて車輪の回転数を感知する。ここで、ホイールセンサは、ロータリーエンコーダ(Rotary Encoder)であり得る。ロータリーエンコーダは、左輪136(L)と右輪136(R)の回転数を感知して出力する。
制御部140は、回転数を用いて左右側の車輪の回転速度を演算することができる。また、制御部140は、左輪136(L)と右輪136(R)の回転数差を用いて回転角を演算することができる。
加速度センサは、移動ロボット100、100a、100bの速度変化、例えば、出発、停止、方向転換、物体との衝突などによる移動ロボット100、100a、100bの変化を感知する。加速度センサは、主車輪や補助車輪の隣接位置に取り付けられて、車輪の滑りや空転を検出することができる。
また、加速度センサは、制御部140に内蔵されて移動ロボット100、100a、100bの速度変化を感知することができる。すなわち、加速度センサは、速度変化による衝撃量を検出してそれに対応する電圧値を出力する。従って、加速度センサは、電子式バンパーの機能を行うことができる。
制御部140は、動作感知センサから出力された動作情報に基づいて移動ロボット100、100a、100bの位置変化を算出することができる。このような位置は画像情報を用いた絶対位置に対応して相対位置となる。移動ロボットは、このような相対位置認識により画像情報と障害物情報を用いた位置認識の性能を向上させることができる。
一方、移動ロボット100、100a、100bは、充電可能なバッテリ138を備えてロボット掃除機内に電源を供給する電源供給部(図示せず)を含むことができる。
前記電源供給部は、移動ロボット100、100a、100bの各構成要素に駆動電源と動作電源を供給し、電源残量が不足すると充電台200から充電電流が供給されて充電される。
移動ロボット100、100a、100bは、バッテリ138の充電状態を感知し、感知結果を制御部140に送信するバッテリ感知部(図示せず)をさらに含むことができる。バッテリ138はバッテリ感知部に接続されてバッテリ残量及び充電状態が制御部140に伝達される。バッテリ残量は出力部(図示せず)の画面に表示される。
また、移動ロボット100、100a、100bは、オン/オフ(On/Off)又は各種命令を入力できる操作部137を含む。操作部137により移動ロボット100の作動全般に必要な各種制御命令が入力される。また、移動ロボット100、100a、100bは出力部(図示せず)を含み、予約情報、バッテリ状態、動作モード、動作状態、エラー状態などを表示することができる。
図6及び図7を参照すると、移動ロボット100a、100bは、現在位置を認識するなどの各種情報を処理して判断する制御部140、及び各種データを保存する保存部150を含む。また、移動ロボット100、100a、100bは、外部端末機とデータを送受信する通信部190をさらに含むことができる。
外部端末機は、移動ロボット100a、100bを制御するためのアプリケーションを備え、アプリケーションの実行により移動ロボット100a、100bが掃除する走行区域に対するマップを表示し、マップ上に特定領域を掃除するように領域指定を行うことができる。外部端末機は、例えば、マップ設定のためのアプリケーション(application)が搭載されたリモコン、PDA、ラップトップ(laptop)、スマートフォン、タブレットなどであり得る。
外部端末機は、移動ロボット100a、100bと通信して、マップと共に移動ロボットの現在位置を表示することができ、複数の領域に関する情報が表示される。また、外部端末機は、移動ロボットの走行によってその位置を更新して表示する。
制御部140は、移動ロボット100a、100bを構成する画像取得部120、操作部137、走行部160を制御して、移動ロボット100の動作全般を制御する。
保存部150は、移動ロボット100の制御に必要な各種情報を記録するものであり、揮発性又は不揮発性記録媒体を含むことができる。記録媒体は、マイクロプロセッサ(micro processor)により読み取られるデータを保存したものであり、HDD(Hard Disk Drive)、SSD(Solid State Disk)、SDD(Silicon Disk Drive)、ROM、RAM、CD−ROM、磁気テープ、フロッピディスク、光データ保存装置などを含むことができる。
また、保存部150には走行区域に対するマップ(Map)が保存される。マップは、移動ロボット100a、100bと有線又は無線通信により情報を交換できる外部端末機、サーバなどにより入力されたものでもあり得、移動ロボット100a、100bが自ら学習して生成したものでもあり得る。
マップには走行区域内の部屋の位置が表示される。また、移動ロボット100a、100bの現在位置がマップ上に表示され、マップ上での移動ロボット100a、100bの現在の位置は、走行過程で更新されることができる。外部端末機は保存部150に保存されたマップと同一のマップを保存する。
保存部150は、掃除履歴情報を保存することができる。このような掃除履歴情報は掃除を行う度に生成される。
保存部150に保存される走行区域に対するマップは、掃除中に走行に用いられるナビゲーションマップ(Navigation map)、位置認識に用いられるSLAM(Simultaneous localization and mapping)マップ、障害物などにぶつかると当該情報を保存して学習して掃除時に用いる学習マップ、全域位置認識に用いられる全域位置マップ、認識された障害物に関する情報が記録される障害物認識マップなどであり得る。
一方、前述したように、用途別に保存部150にマップを区分して保存、管理することができるが、マップが用途別に明確に区分されないこともある。例えば、少なくとも2つ以上の用途に利用できるように1つのマップに複数の情報を保存することもできる。例えば、学習マップ上に認識された障害物情報が記録されて障害物認識マップに代わることができ、位置認識に用いられるSLAMマップを用いて全域位置を認識することにより全域位置マップに代わるか、全域位置マップと共に用いられることができる。
制御部140は、走行制御モジュール141、位置認識モジュール142、地図生成モジュール143、及び障害物認識モジュール144を含むことができる。
図3ないし図7を参照すると、走行制御モジュール141は、移動ロボット100、100a、100bの走行を制御するものであり、走行設定によって走行部160の駆動を制御する。また、走行制御モジュール141は、走行部160の動作に基づいて移動ロボット100、100a、100bの走行経路を把握することができる。例えば、走行制御モジュール141は、駆動輪136の回転速度に基づいて移動ロボット100の現在又は過去の移動速度、走行した距離などを把握することができ、各駆動輪136(L)、136(R)の回転方向によって現在又は過去の方向転換過程も把握することができる。このように把握された移動ロボット100、100a、100bの走行情報に基づいて、マップ上で移動ロボット100、100a、100bの位置が更新されることができる。
地図生成モジュール143は、走行区域のマップを生成することができる。地図生成モジュール143は、画像取得部120により取得した画像を処理してマップを作成することができる。すなわち、掃除領域に対応する掃除マップを作成することができる。
また、地図生成モジュール143は、各位置において画像取得部120により取得した画像を処理してマップと連係させて全域位置を認識することができる。
位置認識モジュール142は、現在位置を推定して認識する。位置認識モジュール142は、画像取得部120の画像情報を用いて地図生成モジュール143と連係して位置を把握することにより、移動ロボット100、100a、100bの位置が突然変更される場合も現在位置を推定して認識することができる。
移動ロボット100、100a、100bは、位置認識モジュール142により連続的な走行中に位置認識が可能であり、また、位置認識モジュール142無しに地図生成モジュール143及び障害物認識モジュール144によりマップを学習して現在位置を推定することができる。
移動ロボット100、100a、100bの走行中に、画像取得部120は移動ロボット100周辺の画像を取得する。以下、画像取得部120により取得された画像を「取得画像」と定義する。
取得画像には、天井に位置する照明、境界(edge)、コーナー(corner)、染み(blob)、屈曲(ridge)などの様々な特徴(feature)が含まれる。
地図生成モジュール143は、それぞれの取得画像から特徴を検出する。コンピュータビジョン(Computer Vision)技術分野において、画像から特徴を検出する多様な方法(Feature Detection)がよく知られている。これら特徴の検出に適合する様々な特徴検出器(feature detector)が知られている。例えば、Canny、Sobel、Harris&Stephens/Plessey、SUSAN、Shi&Tomasi、Level curve curvature、FAST、Laplacian of Gaussian、Difference of Gaussians、Determinant of Hessian、MSER、PCBR、Grey-level blobs検出器などがある。
地図生成モジュール143は、各特徴点に基づいてディスクリプタを算出する。地図生成モジュール143は、特徴検出のためにSIFT(Scale Invariant Feature Transform)技法を用いて特徴点をディスクリプタ(descriptor)に変換することができる。
ディスクリプタは、特定空間内に存在する個別特徴点の群集に定義され、n次元ベクトル(vector)で表記されることができる。例えば、天頂の境界(edge)、コーナー(corner)、染み(blob)、屈曲(ridge)などの様々な特徴(feature)がそれぞれのディスクリプタとして算出されて保存部150に保存される。
各位置の取得画像から得られたディスクリプタ情報に基づいて取得画像毎に少なくとも1つのディスクリプタを所定の下位分類規則に従って複数の群に分類し、所定の下位代表規則に従って同じ群に含まれたディスクリプタをそれぞれ下位代表ディスクリプタに変換することができる。すなわち、個別画像から得られたディスクリプタに対して代表値を指定して標準化する過程を経ることができる。
SIFTは、撮影対象のスケール(scale)、回転、明るさ変化に対して不変な特徴を検出することができるため、同じ領域を移動ロボット100の姿勢を変えて撮影しても不変な(すなわち、回転不変な(Rotation-invariant))特徴を検出することができる。もちろん、これに限定されることなく、他の多様な技法(例えば、HOG(Histogram of Oriented Gradient)、Haar feature、Fems、LBP(Local Binary Pattern)、MCT(Modified Census Transform))が適用されることもできる。
地図生成モジュール143は、各位置の取得画像から得たディスクリプタ情報に基づいて、取得画像毎に少なくとも1つのディスクリプタを所定の下位分類規則に従って複数の群に分類し、所定の下位代表規則に従って同じ群に含まれたディスクリプタをそれぞれ下位代表ディスクリプタに変換することができる。
他の例として、室(room)のように所定区域内の取得画像から集まった全てのディスクリプタを所定の下位分類規則に従って複数の群に分類して前記所定の下位代表規則に従って同じ群に含まれたディスクリプタをそれぞれ下位代表ディスクリプタに変換することもできる。
地図生成モジュール143は、このような過程を経て、各位置の特徴分布を求めることができる。各位置の特徴分布はヒストグラム又はn次元ベクトルで表現されることができる。また他の例として、地図生成モジュール143は、所定の下位分類規則及び所定の下位代表規則を経ずに、各特徴点から算出されたディスクリプタに基づいて未知の現在位置を推定することができる。
また、位置跳躍などの理由で移動ロボット100、100a、100bの現在位置が未知の状態になった場合、予め保存されているディスクリプタ又は下位代表ディスクリプタなどのデータに基づいて現在位置を推定することができる。
移動ロボット100、100a、100bは、未知の現在位置において画像取得部120により取得画像を取得する。画像から天井に位置する照明、境界(edge)、コーナー(corner)、染み(blob)、屈曲(ridge)などの様々な特徴(feature)が確認される。
位置認識モジュール142は、取得画像から特徴を検出する。コンピュータビジョン技術分野において、画像から特徴を検出する多様な方法及びこれらの特徴の検出に適合する様々な特徴検出器についての説明は前述した通りである。
位置認識モジュール142は、各認識特徴点に基づいて認識ディスクリプタ算出ステップを経て認識ディスクリプタを算出する。ここで、認識特徴点及び認識ディスクリプタは、障害物認識モジュール144で行う過程を説明するためのものであり、地図生成モジュール143で行う過程を説明する用語と区分するためのものである。ただ、移動ロボット100、100a、100bの外部世界の特徴がそれぞれ異なる用語と定義されることにすぎない。
位置認識モジュール142は、本特徴検出のためにSIFT(Scale Invariant Feature Transform)技法を用いて認識特徴点を認識ディスクリプタに変換することができる。認識ディスクリプタはn次元ベクトル(vector)で表記されることができる。
SIFTは、前述したように、取得画像からコーナー点などの識別が容易な特徴点を選択した後、各特徴点周辺の一定区域に属するピクセルの明るさ勾配(gradient)の分布特性(明るさ変化の方向及び変化の激しさの程度)に対して、各方向に対する変化の激しさの程度を各次元に対する数値とするn次元ベクトル(vector)を求める画像認識技法である。
位置認識モジュール142は、未知の現在位置の取得画像により得た少なくとも1つの認識ディスクリプタ情報に基づいて、所定の下位変換規則に従って比較対象となる位置情報(例えば、各位置の特徴分布)と比較可能な情報(下位認識特徴分布)に変換する。
所定の下位比較規則に従って、それぞれの位置特徴分布をそれぞれの認識特徴分布と比較してそれぞれの類似度を算出することができる。それぞれの位置に相当する前記位置別に類似度(確率)を算出し、そのうち最大の確率が算出される位置を現在位置に決定することができる。
このように、制御部140は、走行区域を区分して複数の領域から構成されたマップを生成するか、既に保存されているマップに基づいて本体110の現在位置を認識することができる。
制御部140は、マップが生成されると、生成されたマップを通信部190を介して外部端末機、サーバなどに送信することができる。また、制御部140は、前述したように、外部端末機、サーバなどからマップが受信されると、保存部に保存することができる。
さらに、制御部140は、走行中にマップが更新される場合、更新された情報を外部端末機に送信して外部端末機と移動ロボット100、100a、100bに保存されるマップを同一にする。外部端末機と移動ロボット100、100a、100bに保存されているマップが同一に維持されることにより移動端末機からの掃除命令に対して、移動ロボット100、100a、100bが指定された領域を掃除することができ、また、外部端末機に移動ロボットの現在位置が表示されることができるようにするためである。
ここで、マップは、掃除領域を複数の領域に区分し、複数の領域を連結する連結通路を含み、領域内の障害物に関する情報を含むことができる。
制御部140は、掃除命令が入力されると、マップ上の位置と移動ロボットの現在位置が一致するか否かを判断する。掃除命令は、リモコン、操作部、又は外部端末機から入力される。
制御部140は、現在位置がマップ上の位置と一致しない場合、又は、現在位置を確認できない場合、現在位置を認識して移動ロボット100の現在位置を復旧した後、現在位置に基づいて指定領域に移動するように走行部160を制御することができる。
現在位置がマップ上の位置と一致しない場合、又は、現在位置が確認できない場合、位置認識モジュール142は、画像取得部120から入力される取得画像を分析してマップに基づいて現在位置を推定することができる。また、障害物認識モジュール144又は地図生成モジュール143も同様の方式で現在位置を認識することができる。
位置を認識して移動ロボット100、100a、100bの現在位置を復旧した後、走行制御モジュール141は現在位置から指定領域に走行経路を算出し、走行部160を制御して指定領域に移動する。
サーバから掃除パターン情報を受信すると、走行制御モジュール141は、受信した掃除パターン情報によって、全体走行区域を複数の領域に分け、1つ以上の領域を指定領域に設定することができる。
また、走行制御モジュール141は、受信した掃除パターン情報によって走行経路を算出し、走行経路に沿って走行し、掃除を行うことができる。
制御部140は、設定された指定領域に対する掃除が完了すると、掃除記録を保存部150に保存することができる。
また、制御部140は、通信部190を介して移動ロボット100の動作状態又は掃除状態を所定周期で外部端末機、サーバに送信することができる。
それにより、外部端末機は、受信されるデータに基づいて、実行中のアプリケーションの画面上にマップと共に移動ロボットの位置を表示し、また掃除状態に関する情報を出力する。
本発明の実施形態による移動ロボット100、100a、100bは、一方向に障害物や壁面が感知されるまで移動する途中、障害物認識モジュール144が障害物を認識すると、認識された障害物の属性によって直進、回転などの走行パターンを決定することができる。
例えば、認識された障害物の属性が乗り越えられる種類の障害物であると、移動ロボット100、100a、100bは直進し続けることができる。または、認識された障害物の属性が乗り越えられない種類の障害物であると、移動ロボット100、100a、100bは回転して一定距離を移動し、再び最初移動方向の反対方向に障害物が感知される距離まで移動してジグザグ状に走行することができる。
本発明の実施形態による移動ロボット100、100a、100bは、マシンラーニング(machine learning)基盤の障害物認識及び回避を行うことができる。
制御部140は、入力画像からマシンラーニング(machine learning)により既に学習された障害物を認識する障害物認識モジュール144と、前記認識された障害物の属性に基づいて走行部160の駆動を制御する走行制御モジュール141とを含むことができる。
本発明の実施形態による移動ロボット100、100a、100bは、マシンラーニングにより障害物の属性が学習された障害物認識モジュール144を含むことができる。
マシンラーニングとは、コンピュータに人が直接ロジック(Logic)を指示しなくてもデータによりコンピュータが学習を行い、これにより、コンピュータが自ら問題を解決するようにすることを意味する。
ディープラーニング(Deep Learning)とは、人工知能を構成するための人工ニューラルネットワーク(Artificial Neural Networks: ANN)に基づいてコンピュータに人の考え方を教える方法であり、人が教えなくてもコンピュータが自ら人のように学習できる人工知能技術である。
前記人工ニューラルネットワーク(ANN)は、ソフトウェア形態で実現されるか、チップ(chip)などのハードウェア形態で実現されることができる。
障害物認識モジュール144は、障害物の属性が学習されたソフトウェア又はハードウェア形態の人工ニューラルネットワーク(ANN)を含むことができる。
例えば、障害物認識モジュール144は、ディープラーニング(Deep Learning)により学習されたCNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DBN(Deep Belief Network)などの深層ニューラルネットワーク(Deep Neural Network:DNN)を含むことができる。
ディープラーニング(Deep Learning)については図9ないし図12を参照して詳細に後述する。
障害物認識モジュール144は、前記深層ニューラルネットワーク(DNN)に含まれたノード間の加重値(weight)に基づいて入力される画像データに含まれる障害物の属性を判別することができる。
一方、移動ロボット100、100a、100bの移動中にセンサ部170が障害物を感知すると、制御部140は、本体110の移動方向と移動速度に基づいて、画像取得部120が取得する連続した複数の画像のうちセンサ部170の障害物感知時点以前の特定時点画像を選択するように制御することができる。
センサ部170の障害物感知時点をトリガ(trigger)信号にして、画像取得部120が画像を取得する場合は、移動ロボットが継続して移動しているため、障害物が取得画像に含まれないか、小さく含まれることがある。
従って、本発明の一実施形態は、本体110の移動方向と移動速度に基づいて、画像取得部120が取得する連続した複数の画像のうちセンサ部170の障害物感知時点以前の特定時点画像を選択して、障害物認識用データとして用いることができる。
一方、障害物認識モジュール144は、マシンラーニング(machine learning)により既に学習されたデータに基づいて前記選択された特定時点画像に含まれる障害物の属性を認識することができる。
また、移動ロボット100、100a、100bの移動中にセンサ部170が障害物を感知すると、制御部140は、センサ部170が感知する障害物の方向に対応して画像取得部120が取得する画像の一部領域を抽出するように制御することができる。
画像取得部120、特に前面カメラ120aは、前記移動ロボット100、100a、100bの移動方向から所定角度の範囲内の画像を取得することができる。
制御部140は、画像取得部120、特に前面カメラ120aが取得した画像全体を用いることではなく、一部領域のみを用いて移動方向に存在する障害物の属性を判別することができる。
図6の実施形態を参照すると、制御部140は、センサ部170が感知する障害物の方向に対応して画像取得部120が取得する画像の一部領域を抽出する画像処理モジュール145をさらに含むことができる。
または、図7の実施形態を参照すると、移動ロボット100bは、センサ部170が感知する障害物の方向に対応して画像取得部120が取得する画像の一部領域を抽出する別途の画像処理部125をさらに含むことができる。
図6の実施形態による移動ロボット100aと図7の実施形態による移動ロボット100bは、画像処理モジュール145、画像処理部125以外に他の構成は同一である。
または、実施形態によっては、図6及び図7の実施形態とは異なり、画像取得部120が直接前記画像の一部領域を抽出することもできる。
前記マシンラーニングにより学習された障害物認識モジュール144は、その特性上、学習した対象が入力画像データにおいて多くの部分を占めるほど認識率が高い。
従って、本発明は、超音波センサなどのセンサ部170が感知する障害物の方向によって画像取得部120が取得した画像のうち他の領域を抽出して認識用データとして用いることにより、認識率を高めることができる。
障害物認識モジュール144は、マシンラーニング(machine learning)により既に学習されたデータに基づいて、抽出された画像から障害物を認識することができる。
また、走行制御モジュール141は、前記認識された障害物の属性に基づいて走行部160の駆動を制御することができる。
一方、制御部140は、前記障害物が前記本体の前面の右方向で感知される場合、前記画像取得部が取得する画像の右側下段領域を抽出し、前記障害物が前記本体の前面の左方向で感知される場合、前記画像取得部が取得する画像の左側下段領域を抽出し、前記障害物が前記本体の前面方向で感知される場合、前記画像取得部が取得する画像の中央(center)下段領域を抽出するように制御することができる。
また、制御部140は、前記画像取得部が取得する画像における抽出対象領域を、前記感知される障害物の方向に対応するように移動(shift)させて抽出するように制御することができる。
一方、保存部150には障害物属性判別のための入力データ、前記深層ニューラルネットワーク(DNN)を学習するためのデータが保存されることができる。
保存部150には画像取得部120が取得した原本画像と所定領域が抽出された抽出画像が保存されることができる。
また、実施形態によっては、保存部150には前記深層ニューラルネットワーク(DNN)構造をなすウェイト(weight)、バイアス(bias)が保存される。
または、実施形態によっては、前記深層ニューラルネットワーク構造をなすウェイト(weight)、バイアス(bias)は障害物認識モジュール144のエンベディッドメモリ(embedded memory)に保存される。
一方、障害物認識モジュール144は、画像取得部120が取得する画像の一部領域を抽出する度に前記抽出された画像をトレーニング(training)データとして用いて学習過程を行うか、所定数以上の抽出画像が取得された後に学習過程を行うことができる。
すなわち、障害物認識モジュール144は、障害物を認識する度に認識結果を追加してウェイト(weight)などの深層ニューラルネットワーク(DNN)構造をアップデート(update)するか、所定回数のトレーニングデータが確保された後に確保されたトレーニングデータにより学習過程を行ってウェイト(weight)などの深層ニューラルネットワーク(DNN)構造をアップデートすることができる。
または、移動ロボット100、100a、100bは、通信部190を介して画像取得部120が取得した原本画像又は抽出された画像を所定サーバに送信し、前記所定サーバからマシンラーニングに関するデータを受信することができる。
この場合、移動ロボット100、100a、100bは、前記所定サーバから受信したマシンラーニングに関するデータに基づいて障害物認識モジュール141をアップデート(update)することができる。
図8は、本発明の一実施形態によるサーバの簡略な内部ブロック図の一例である。
図8を参照すると、サーバ70は、通信部820、保存部830、学習モジュール840、及びプロセッサ810を備える。
プロセッサ810は、サーバ70の全般的な動作を制御することができる。
一方、サーバ70は、前記移動ロボット100、100a、100bなどのホームアプライアンスのメーカーが運営するサーバ又はサービス提供者が運営するサーバであり得、一種のクラウド(Cloud)サーバであり得る。
通信部820は、携帯端末機、移動ロボット100、100a、100bなどのホームアプライアンス、ゲートウェイなどから状態情報、動作情報、操作情報などの各種データを受信することができる。
また、通信部820は、受信される各種情報に対応するデータを携帯端末機、移動ロボット100、100a、100bなどのホームアプライアンス、ゲートウェイなどに送信することができる。
このために、通信部820は、インターネットモジュール、移動通信モジュールなど、1つ以上の通信モジュールを備えることができる。
保存部830は、受信される情報を保存し、これに対応する結果情報生成のためのデータを備えることができる。
また、保存部830は、マシンラーニングに用いられるデータ、結果データなどを保存することができる。
学習モジュール840は、前記移動ロボット100、100a、100bなどのホームアプライアンスの学習機の役割を果たすことができる。
学習モジュール840には人工ニューラルネットワーク、例えば、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DBN(Deep Belief Network)などの深層ニューラルネットワーク(Deep Neural Network:DNN)が含まれることができ、深層ニューラルネットワークを学習することができる。
学習モジュール840の学習方法としては、自律学習(unsupervised learning)と指導学習(supervised learning)が両方とも用いられることができる。
一方、制御部810は、設定によって学習した後に前記移動ロボット100、100a、100bなどのホームアプライアンスの人工ニューラルネットワーク構造を学習された人工ニューラルネットワーク構造にアップデートさせるように制御することができる。
図9ないし図12は、ディープラーニング(Deep Learning)に関する説明に参照される図である。
マシンラーニング(Machine Learning)の一種であるディープラーニング(Deep Learning)技術は、データに基づいて多段階で深い水準まで行って学習するものである。
ディープラーニング(Deep learning)は、段階を高くするほど複数のデータから核心的なデータを抽出するマシンラーニング(Machine Learning)アルゴリズムの集合を示すことができる。
ディープラーニング構造は人工ニューラルネットワーク(ANN)を含むことができ、例えば、ディープラーニング構造はCNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DBN(Deep Belief Network)などの深層ニューラルネットワーク(DNN)から構成されることができる。
図9を参照すると、人工ニューラルネットワーク(ANN)は、入力レイヤ(Input Layer)、隠れレイヤ(Hiddent Layer)、及び出力レイヤ(Output Layer)を含むことができる。各レイヤは複数のノードを含み、各レイヤは次のレイヤに接続される。隣接するレイヤ間のノードはウェイト(weight)をもって互いに接続されることができる。
図10を参照すると、コンピュータ(マシン)は、投入された入力データ(1010)から一定のパターンを発見して特徴マップ(Feature Map)を形成する。コンピュータ(マシン)は、下位レベル特徴1020から、中間レベル特徴1030、上位レベル特徴1040まで抽出して、対象を認識してその結果の出力1050を行うことができる。
人工ニューラルネットワークは、次の順序のレイヤに行くほどさらに上位レベルの特徴に抽象化することができる。
図9及び図10を参照すると、各ノードは、活性化モデルに基づいて動作することができ、活性化モデルによって入力値に対応する出力値が決定される。
任意のノード、例えば、下位レベル特徴1020の出力値は該当ノードに接続された次のレイヤ、例えば、中間レベル特徴1030のノードに入力される。次のレイヤのノード、例えば、中間レベル特徴1030のノードには下位レベル特徴1020の複数のノードから出力される値が入力される。
ここで、各ノードの入力値は、以前レイヤのノードの出力値にウェイト(weight)が適用された値であり得る。ウェイト(weight)は、ノード間の接続強度を意味することができる。
また、ディープラーニング過程は、適切なウェイト(weight)を見出す過程と見なすこともできる。
一方、任意のノード、例えば、中間レベル特徴1030の出力値は該当ノードに接続された次のレイヤ、例えば、上位レベル特徴1040のノードに入力される。次のレイヤのノード、例えば、上位レベル特徴1040のノードには中間レベル特徴1030の複数のノードから出力される値が入力される。
人工ニューラルネットワークは、各レベルに対応する学習されたレイヤ(layer)を用いて、各レベルに対応する特徴情報を抽出することができる。人工ニューラルネットワークは順次抽象化して、最上位レベルの特徴情報を活用して所定対象を認識することができる。
例えば、ディープラーニングによる顔認識過程について説明すると、コンピュータは、入力画像からピクセルの明るさによって明るいピクセルと暗いピクセルを区分し、枠、エッジなどの単純な形態を区分した後、もう少し複雑な形態と事物を区分することができる。最終的にコンピュータは人間の顔を規定する形態を把握することができる。
本発明によるディープラーニング構造は、公知の多様な構造を用いることができる。例えば、本発明によるディープラーニング構造は、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、DBN(Deep Belief Network)などであり得る。
RNN(Recurrent Neural Network)は、自然言語処理などに多く用いられ、時間の流れによって変わる時系列データ(Time-series data)処理に効果的な構造であって、瞬間毎にレイヤを積み上げて人工ニューラルネットワーク構造を構成することができる。
DBN(Deep Belief Network)は、ディープラーニング技法であるRBM(Restricted Boltzman Machine)を多層で積んで構成されるディープラーニング構造である。RBM(Restricted Boltzman Machine)学習を繰り返して一定個数のレイヤになると、該当個数のレイヤを有するDBN(Deep Belief Network)を構成することができる。
CNN(Convolutional Neural Network)は、特にオブジェクト認識分野で多く用いられる構造であり、図11及び図12を参照して説明する。
CNN(Convolutional Neural Network)は、人が物体を認識するとき、物体の基本的な特徴を抽出した後に脳の中で複雑な計算を経てその結果に基づいて物体を認識するという仮定に基づいて作成された人の脳機能を摸写したモデルである。
図11は、CNN(Convolutional Neural Network)構造を示す図である。
CNN(Convolutional Neural Network)も入力レイヤ(Input Layer)、隠れレイヤ(Hiddent Layer)、及び出力レイヤ(Output Layer)を含むことができる。
入力レイヤ(Input Layer)には所定イメージ1100が入力される。
図11を参照すると、隠れレイヤ(Hiddent Layer)は、複数のレイヤから構成され、コンボリューションレイヤ(convolution layer)とサブサンプリングレイヤ(sub-sampling layer)とを含むことができる。
CNN(Convolutional Neural Network)においては、基本的にコンボリューション(convolution)演算により画像の特徴を抽出するための多様なフィルタと非線形的な特性を足すためのプーリング(pooling)又は非線形活性化(non-linear activation)関数などが共に用いられる。
コンボリューション(convolution)は、画像処理分野において主にフィルタ演算に用いられ、画像から特徴(feature)を抽出するためのフィルタを実現するのに用いられる。
例えば、図12を参照すると、3×3ウィンドウを移動しながら画像全体に対してコンボリューション演算を繰り返して行うと、ウィンドウの加重値(weight)値によって適正な結果を得ることができる。
図12の(a)を参照すると、全体イメージ中の所定領域1210に対して3×3ウィンドウを用いて、コンボリューション演算を行うと、結果値1201が出る。
図12の(b)を参照すると、3×3ウィンドウを右側に1移動させた領域1220に対して再び結果を求めると、所定結果値1202が出る。
すなわち、図12の(c)を参照すると、所定ウィンドウを移動させながら画像全体に対して演算を行うと、最終的な結果を得ることができる。
コンボリューションレイヤ(convolution layer)は、予め定めたサイズのフィルタ(例えば、図12に例示する3×3ウィンドウ)を用いて以前レイヤから抽出された情報をフィルタリングするコンボリューションフィルタリングを行うのに用いられる。
コンボリューションレイヤ(convolution layer)は、コンボリューションフィルタを用いて入力された画像データ1100、1102にコンボリューション演算を行い、入力イメージ1100の特徴が表現された特徴マップ1101、1103を生成する。
コンボリューションフィルタリングの結果として、コンボリューションレイヤ(convolution layer)に含まれたフィルタの数によってフィルタ数だけのフィルタリング画像が生成されることができる。コンボリューションレイヤは、フィルタリング画像らに含まれるノードから構成される。
また、コンボリューションレイヤ(convolution layer)と対をなすサブサンプリングレイヤ(sub-sampling layer)は、対をなすコンボリューションレイヤ(convolution layer)と同じ数の特徴マップを含むことができる。
サブサンプリングレイヤ(sub-sampling layer)は、サンプリング又はプーリング(pooling)により特徴マップ1101、1103の次元を減少させる。
出力レイヤ(Output Layer)は、特徴マップ1104に表現された多様な特徴を組み合わせて入力イメージ1100を認識する。
本発明による移動ロボットの障害物認識モジュールは、前述した多様なディープラーニング構造を用いることができる。例えば、本発明が限定されることではないが、画像内のオブジェクト認識において多く用いられているCNN(Convolutional Neural Network)構造を用いることができる。
一方、人工ニューラルネットワークの学習は、与えられた入力に対して所望の出力が出るようにノード間の接続線のウェイト(weight)を調整することにより行われることができる。また、人工ニューラルネットワークは学習によりウェイト(weight)値を持続的にアップデートさせることができる。さらに、人工ニューラルネットワークの学習には逆伝播(Back Propagation)などの方法が用いられることができる。
図13及び図14は、障害物認識モジュール144の障害物認識に関する説明に参照される図である。
図13を参照すると、障害物認識モジュール144は、障害物を扇風機、ホームシアター、マルチタップ、ランプ基台、人毛、小段差などのクラス(class)に分類して区分して認識することができる。
また、障害物認識モジュール144は、扇風機、ホームシアター、マルチタップ、ランプ基台、人毛などのクラスは上位概念として危険障害物スーパークラス(Super-class)に分類して区分して認識することができる。
さらに、障害物認識モジュール144は、小段差などの直進走行可能な障害物を非危険障害物スーパークラス(Super-class)に分類して区分して認識することができる。
図14の(a)を参照すると、障害物認識モジュール144は、入力された画像を認識して、扇風機は0.95の信頼値(confidence)を、ホームシアターは0.7の信頼値を有する認識結果を得ることができる。この場合に、障害物認識モジュール144は、より高い信頼値を有する認識結果である扇風機を入力画像に対する認識結果として出力することができる。
一方、信頼値(confidence)は、0.0〜1.0の範囲で正規化されることができる。
図14の(b)を参照すると、障害物認識モジュール144は、入力された画像を認識して、扇風機は0.35の信頼値を、ホームシアターは0.4の信頼値を有する認識結果を得ることができる。
例えば、0.6以下の信頼値は認めないように設定された場合、障害物認識モジュール144は、2つの認識結果の信頼値が両方とも基準値より低いので、特定認識結果を選択せずに、unknown dataと判定することができる。
図14の(c)を参照すると、障害物認識モジュール144は、入力された画像を認識して、扇風機は0.95の信頼値を、ホームシアターは0.9の信頼値を有する認識結果を得ることができる。
例えば、0.9以上の信頼値を有する認識結果を最終認識結果として選択するように設定された場合、障害物認識モジュール144は、2つの認識結果の信頼値が全て基準値より高いので、特定認識結果を選択せずに、上位概念である危険障害物と判定することができる。
または、信頼値の差が0.15以上である場合に最も高い信頼値の認識結果を認めるように設定された場合も、上位概念である危険障害物と判定することができる。
一方、危険障害物と判断した場合も、走行制御モジュール141は、危険障害物を回避して移動するように駆動部160を制御することができる。
図15は、本発明の一実施形態による移動ロボットの制御方法を示すフローチャートである。
図2ないし図7、及び図15を参照すると、まず、移動ロボット100、100a、100bは命令又は設定によって移動しながら掃除を行う(S1510)。
一方、画像取得部120は、移動中に本体110の周辺を連続的に撮影して複数の画像を取得する(S1520)。画像取得部120が取得する連続した複数の画像は保存部150に保存される。
移動中にセンサ部170により障害物が感知されると(S1530)、制御部140は、本体110の移動方向と移動速度に基づいて、前記連続した複数の画像のうちセンサ部170の障害物感知時点以前の特定時点画像を選択する(S1540)。
前記移動方向と移動速度はセンサ部170の動作感知センサの出力に基づいて走行制御モジュール141などにより算出されることができる。
一方、移動ロボットが通常の走行時には基準速度で走行するように設定される場合は、前記移動速度が一定であるので、本体110の移動方向を判別して、特定時点の画像を選択することができる。
一方、制御部140は、前記移動方向が直進走行であるか、所定基準値(基準角度)未満の回転走行である場合、前記連続した複数の画像のうちセンサ部170の障害物感知時点以前の特定時点画像を選択することができる。
通常、超音波センサなどのセンサの感知レンジ(range)よりカメラの撮影レンジ(range)の方が大きい。
従って、センサ部170が障害物を感知することを信号にして画像を取得する場合、移動ロボットは走行を続けているので、取得画像が障害物の特性を含めない可能性もある。また、センサ部170の感知レンジ(range)が短い場合は取得画像が障害物の特性を含めない場合がより高い確率で発生することがある。
従って、制御部140は、直進走行又は直進走行に近い走行のとき、移動方向と速度を反映して、センサ部170の障害物感知時点以前の特定時点画像を選択することができる。
この場合、制御部140は、前記移動の速度が遅いほどセンサ部170の障害物感知時点を基準にさらに過去時点の画像を選択することができる。
移動速度が速いほど移動ロボット100はセンサ部170の障害物感知時点以後にさらに長い距離を走行する。すなわち、画像取得部120が一定の速度で複数の画像を撮影して取得するとき、特定フレームの画像が撮影される時間とその次のフレームの画像が撮影される時間との間に移動ロボットがさらに長い距離を走行する。
従って、移動速度が速いほどセンサ部170の障害物感知時点に近い時点の画像を選択することが画像内に障害物が占める領域が大きい確率が高い。
逆に、移動速度が遅いほど同一距離を走行する間に画像取得部120がより多くの画像を取得するので、センサ部170の障害物感知時点を基準にさらに過去時点の画像を選択することが好ましい。
障害物認識モジュール144は、前記特定時点画像を選択して障害物認識の入力データとして用いることができる。
一方、前記マシンラーニングにより学習された障害物認識モジュール144は、その特性上、学習した対象が入力画像データにおいて多くの部分を占めるほど認識率が高い。
従って、制御部140は、センサ部170が感知する障害物の方向に対応して前記選択された特定時点画像の一部領域を切り出して抽出するように制御する(S1550)。
センサ部170が感知する障害物の方向によって画像取得部120が取得した画像中に他の領域を抽出して認識用データとして用いることにより、認識率を高めることができる。
障害物認識モジュール144は、前記選択された特定時点画像から抽出された一部領域の画像に含まれる障害物の属性を認識する(S1560)。
障害物認識モジュール144は、マシンラーニング(machine learning)により障害物の種類などの属性を認識するように学習された人工ニューラルネットワークを含むことができ、マシンラーニングにより既に学習されたデータに基づいて前記選択された特定時点画像から抽出された一部領域の画像に含まれる障害物の属性を認識する(S1560)。
例えば、障害物認識モジュール144にはディープラーニング構造の1つであるCNN(Convolutional Neural Network)が搭載され、既に学習されたCNN(Convolutional Neural Network)は入力データに含まれた障害物の属性を認識してその結果を出力することができる。
一方、前述した障害物認識過程を複数回行い、複数の認識結果に基づいて最終認識結果を導出することにより、認識正確度をさらに向上させることができる。
例えば、制御部140は、感知された障害物の位置情報と移動ロボットの位置情報を保存部150に保存し、前記感知された障害物の位置を中心に所定のサイズを有する領域をマップ(map)に障害物地域として登録するように制御することができる。
その後、登録された障害物地域を通り過ぎる度に障害物の属性を認識し、複数の認識結果に基づいて最終障害物属性を判別することができる。
制御部140は、所定障害物地域において画像取得部120により取得される画像に対して順次に障害物の属性を認識し、前記順次に認識された複数の認識結果に基づいて前記障害物の最終属性を判別することができる。本実施形態については、図29〜図34を参照して詳細に後述する。
一方、走行制御モジュール141は、前記認識された障害物の属性に基づいて、走行部160の駆動を制御する(S1570)。
例えば、走行制御モジュール141は、前記認識された障害物が乗り越えられない高さの障害物である場合、障害物を迂回して走行するように制御することができる。
また、走行制御モジュール141は、低い高さの小段差のように前記認識された障害物が乗り越えられる高さの障害物である場合、継続して直進走行するように制御することができる。
さらに、走行制御モジュール141は、扇風機の基台、人毛、マルチタップ、電線などの低い高さの障害物であっても移動時に拘束される可能性のある障害物が認識されると、障害物を迂回して走行するように制御することができる。
図16は、本発明の一実施形態による移動ロボットの制御方法を示すフローチャートである。
図2ないし図7、及び図16を参照すると、まず、移動ロボット100、100a、100bは命令又は設定によって移動する(S1610)。
センサ部170が超音波センサを含む場合、反射される超音波信号を感知することにより障害物を認識する(S1620)。
一方、画像取得部120は、持続的に移動ロボット100、100a、100bの前方及び周辺を撮影して複数の画像を取得することができる。
制御部140は、画像取得部120により取得した複数の画像のうち移動方向と速度を考慮して過去時点の特定時点画像を選択することができ、マシンラーニングにより既に学習されたデータに基づいて、前記選択された特定時点画像から感知された障害物の属性を判別することができる。
また、制御部140は、感知された障害物が乗り越えられる高さであるか否かを判断する(S1630)。
もし、前記認識された障害物が乗り越えられない高さの障害物である場合(S1630)、制御部140は、90度回転した後、障害物を迂回して走行するように制御する(S1655)。
一方、前記認識された障害物が乗り越えられる高さの障害物である場合(S1630)、制御部140は、感知された障害物の属性情報を判断することができる(S1640)。すなわち、制御部140は、前記認識された障害物が拘束可能性が低くて進行してもかまわない障害物であるか否かを判断することができる。
進行してもかまわない障害物であると判断されると、制御部140は、継続して直進移動するように制御する(S1650)。
従来は、感知された障害物が乗り越えられる高さであるか否かを判断して、低い高さの障害物の場合は直進走行した。
しかしながら、電線などの障害物の場合、移動ロボットが電線に巻かれて拘束される場合が発生した。
また、移動ロボットは、拘束される場合に左右に振るモーション(motion)などを適用して拘束状態から抜け出そうとするが、電線の被覆が剥ける事故などが発生することがあった。
しかしながら、本発明は、マシンラーニングと画像情報を活用して障害物属性情報を認識し、認識された障害物属性によって走行パターンを決定することにより、信頼性を向上させることができる。
図17ないし図25は、本発明の実施形態による移動ロボットの制御方法に関する説明に参照される図である。
図17は、障害物1700が移動ロボット100の前面方向で感知される場合を例示する。
図17を参照すると、移動ロボット100が走行しながら、画像取得部120が継続して撮影して複数の画像を取得することができる。移動ロボット100は、第1位置1710で第1画像1711を取得し、第2位置1720で第2画像1721を取得し、第3位置1730で第3画像1731を取得することができる。
図18を参照すると、保存部150には所定数の画像が保存される。また、設定された数以上の画像が取得されると、最前の時点の画像を削除し、新しく取得された画像を保存することができる。
移動ロボット100は、超音波信号感知によるトリガ(Trigger)信号によって画像認識を開始することができる。
しかしながら、トリガ(Trigger)信号として用いる超音波センサの場合、レンジ(Range)が短いため、障害物1700が感知されてトリガ(Trigger)されるときに取得された画像1731を見ると、認識対象の特徴が消えることがある。
従って、本発明は、保存部150に連続する画像を保存し、進行方向が直進走行であるかを判断した後、トリガ(Trigger)のときに第3画像1731を利用せずに第1画像1711を利用して障害物認識を行うことができる。
移動ロボット100は、一定の速度で走行する場合が多いため、直進走行であるか否かのみを判断して所定時点の画像、例えば、センサ部170の障害物感知時点より2フレーム前の過去時点の画像を選択して障害物認識を行うことができる。
また、制御部140は、センサ部170の感知範囲、性能、障害物認識過程の処理速度なども考慮して、センサ部170の障害物感知時点よりどのくらい前の過去時点の画像を選択するかを決定することができる。
一方、実施形態によっては、選択された時点の画像全体を障害物認識入力データとして利用することなく、選択された時点の画像の一部領域を抽出して認識することにより認識率を高めることができる。
本実施形態は、単に全体画像の中心領域を基準に予め設定されたサイズにクロッピング(cropping)することではなく、障害物が感知される方向に基づいて、画像中の中央、左側、右側領域を抽出することができる。
例えば、前記障害物が前記本体の前面の右方向で感知される場合、前記選択された特定時点画像の右側下段領域を抽出し、前記障害物が前記本体の前面の左方向で感知される場合、前記選択された特定時点画像の左側下段領域を抽出し、前記障害物が前記本体の前面方向で感知される場合、前記選択された特定時点画像の中央(center)下段領域を抽出することができる。
従って、認識のための入力データに障害物が最大限多く含まれることができる。マシンは、画像内に比重が最も多いものを認識するので、障害物の属性認識率を向上させることができる。
図19の(a)を参照すると、本発明の一実施形態によるセンサ部170は、移動ロボット100の本体の前面に配置される第1センサS1、第1センサS1から左右に離隔して配置される第2センサS2及び第3センサS3を含むことができる。
この場合、第1センサS1は発信部として動作し、第2センサS2及び第3センサS3は受信部として動作することができる。例えば、第1センサS1は超音波信号を放射し、第2センサS2及び第3センサS3は障害物に反射された信号を受信することができる。障害物に反射された信号を受信すると、公知の超音波を用いた認識方法を用いて障害物がある方向、障害物との距離を判断することができる。
図19の(a)は、障害物X1が移動ロボット100の前面方向の中央で感知される場合を例示する。前記感知される障害物X1と第2センサS2間の距離L1と前記感知される障害物X1と第3センサS3間の距離L2が同一(L1=L2)である場合、障害物X1が移動ロボット100の前面方向の中央で感知されたと判断することができる。
この場合、図19の(b)のように、a1×b1のサイズを有する画像取得部120が取得した原本画像全体1900の中央(center)下段からa2×b2のサイズを有する所定領域1910を抽出することができる。
図20ないし図24は、障害物が側面で認識される場合を例示する図である。
図20は、障害物2000が移動ロボット100の前面の右方向で感知される場合を例示する。
図20及び図21を参照すると、移動ロボット100が走行しながら、画像取得部120が継続して撮影して複数の画像を取得することができる。移動ロボット100は第1位置2010で第1画像2110を取得し、第2位置2020で第2画像2120を取得し、第3位置2030で第3画像2130を取得することができる。
図22を参照すると、保存部150には所定数の画像が保存される。また、設定された数以上の画像が取得されると、最前の時点の画像を削除し、新しく取得された画像を保存することができる。
本発明は、保存部150に連続する画像を保存し、進行方向が直進走行であるかを判断した後、トリガ(Trigger)時点の第3画像2130を利用せずにそれより前の時点の第1画像2110を用いて障害物認識を行うことができる。
一方、第1画像2110をそのまま利用せずに、第1画像2110内の右側領域を切り出して抽出した後に障害物認識を行うこともできる。
図23の(a)は、障害物X1が移動ロボット100の前面の右方向で感知される場合を例示し、図24の(a)は、障害物X1が移動ロボット100の前面の左方向で感知される場合を例示する。
また、制御部140は、画像取得部120が取得する画像における抽出対象領域を、前記感知される障害物X1と第2センサS2間の距離L1と前記感知される障害物X1と第3センサS3間の距離L2との差に比例するように移動(shift)させて抽出するように制御することができる。
図23の(a)を参照すると、前記感知される障害物X1と第2センサS2間の距離L1が前記感知される障害物X1と第3センサS3間の距離L2より大きい場合(L1>L2)、障害物X1が移動ロボット100の前面の右方向で感知されたと判断することができる。
この場合、図23の(b)のように、a1×b1のサイズを有する画像取得部120が取得した原本画像全体1900の右側下段からa2×b2のサイズを有する所定領域1920を抽出することができる。
図19の(b)と図23の(b)を比較すると、障害物X1が右側で感知されるときの抽出対象領域1920の中央点CP2、開始点SP2が障害物X1が中央で感知されるときの抽出対象領域1910の中央点CP1、開始点SP1から所定値d1だけ右側に移動(shift)されたことを確認することができる。
この場合、移動(shift)される所定値d1は、前記感知される障害物X1と第2センサS2間の距離L1と前記感知される障害物X1と第3センサS3間の距離L2との差(L1−L2)に比例する。
図24の(a)を参照すると、前記感知される障害物X1と第2センサS2間の距離L1が前記感知される障害物X1と第3センサS3間の距離L2より小さい場合(L1<L2)、障害物X1が移動ロボット100の前面の左方向で感知されたと判断することができる。
この場合、図24の(b)のように、a1×b1のサイズを有する画像取得部120が取得した原本画像全体1900の左側下段からa2×b2のサイズを有する所定領域1930を抽出することができる。
図19の(b)と図24の(b)を比較すると、障害物X1が左側で感知されるときの抽出対象領域1930の中央点CP3、開始点SP3が、障害物X1が中央で感知されるときの抽出対象領域1910の中央点CP1、開始点SP1から所定値d2だけ左側に移動(shift)されたことを確認することができる。
この場合、移動(shift)される所定値d2は、前記感知される障害物X1と第2センサS2間の距離L1と前記感知される障害物X1と第3センサS3間の距離L2との差(L2−L1)に比例する。
一方、本発明の一実施形態によれば、直進走行だけでなく、回転走行を行う場合にも適用できる。
例えば、所定基準値(Threshold)未満の回転である場合、前記連続した複数の画像のうちセンサ部170の障害物感知時点以前の特定時点画像を選択することができる。
図25を参照すると、移動ロボット100は、第1位置2510、第2位置2520、第3位置2530の順序で回転しながら移動することができる。この場合、移動ロボット100が所定基準値(Threshold)未満に回転すると、直進走行と同様の方法で障害物認識を行うことができる。
例えば、移動ロボット100が第1位置2510での視野範囲2501内で回転する場合は、直進走行と同様の方法で障害物認識を行うことができる。
視野範囲2501は、画像取得部120が画像を取得できる範囲を意味する。
一方、本発明の一実施形態による移動ロボットは、前記選択された特定時点の画像又は前記選択された特定時点の画像の一部領域が抽出された画像をトレーニング(training)データとして用いて学習過程を行うことにより、人工ニューラルネットワーク(ANN)、深層ニューラルネットワーク(DNN)構造を持続的にアップデートすることができる。
または、前記選択された特定時点の画像又は前記選択された特定時点の画像の一部領域が抽出された画像を所定サーバに送信し、前記所定サーバからマシンラーニングに関するデータを受信することができる。以後、移動ロボットは、前記所定サーバから受信したマシンラーニングに関するデータに基づいて障害物認識モジュール144をアップデート(update)することができる。
図26は、本発明の一実施形態による移動ロボットとサーバの動作方法に関する説明に参照される図であり、図27は、本発明の一実施形態による移動ロボットとサーバの動作方法を示すフローチャートである。
図26及び図27を参照すると、移動ロボット100の障害物認識モジュール144にはCNN(Convolutional Neural Network)などの深層ニューラルネットワーク(DNN)構造144aが搭載される。
既に学習された深層ニューラルネットワーク(DNN)構造144aは、認識用入力データを受信し(S2710)、入力データに含まれた障害物の属性を認識して(S2720)、その結果を出力する(S2730)。
深層ニューラルネットワーク(DNN)構造144aが認識できないデータ(unknown data)は、保存部150又は障害物認識モジュール144内の自体保存空間144bに保存される(S2740)。
一方、障害物認識モジュール144が認識できないデータ(unknown data)は、通信部190を介してサーバ70に送信される(S2741)。また、障害物認識モジュール144が認識に成功したデータもサーバ70に送信される。
サーバ70は、学習されたウェイト(weight)の構成を生成することができ、深層ニューラルネットワーク(DNN)構造をトレーニング(training)データを用いて学習することができる。
サーバ70は、受信したデータに基づいて、深層ニューラルネットワーク(DNN)を学習させた後(S2742)、アップデートされた深層ニューラルネットワーク(DNN)構造データを移動ロボット100に送信してアップデートさせる(S2743)。
図28は、本発明の一実施形態による移動ロボットの制御方法を示すフローチャートである。
図28を参照すると、まず、移動ロボット100、100a、100bは、命令又は設定によって移動しながら掃除を行う(S2810)。
一方、画像取得部120は、移動中に本体110の周辺を連続的に撮影して複数の画像を取得する(S2820)。画像取得部120が取得する連続した複数の画像は保存部150に保存される。
移動中にセンサ部170により障害物が感知されると(S2830)、制御部140は、本体110の移動方向と移動速度に基づいて、前記連続した複数の画像のうちセンサ部170の障害物感知時点以前の特定時点画像を選択する(S2840)。
前記移動方向と移動速度は、センサ部170の動作感知センサの出力に基づいて走行制御モジュール141などにより算出されることができる。
一方、移動ロボットが通常の走行時には基準速度で走行するように設定される場合は、前記移動速度が一定であるので、本体110の移動方向を判別して、特定時点の画像を選択することができる。
一方、制御部140は、前記移動方向が直進走行であるか、所定基準値(基準角度)未満の回転走行である場合、前記連続した複数の画像のうちセンサ部170の障害物感知時点以前の特定時点画像を選択することができる。
センサ部170が障害物を感知することを信号にして画像を取得する場合、移動ロボットは走行し続けているので、取得画像が障害物の特性を含めない可能性がある。また、センサ部170の感知レンジ(range)が短い場合は取得画像が障害物の特性が含めない場合がより高い確率で発生することがある。
従って、制御部140は、直進走行又は直進走行に近い走行のとき、移動方向と速度を反映して、センサ部170の障害物感知時点以前の特定時点画像を選択することができる。
この場合、制御部140は、前記移動の速度が遅いほどセンサ部170の障害物感知時点を基準にさらに過去時点の画像を選択することができる。
移動速度が速いほど移動ロボット100はセンサ部170の障害物感知時点以後にさらに長い距離を走行する。すなわち、画像取得部120が一定の速度で複数の画像を撮影して取得するとき、特定フレームの画像が撮影される時間とその次のフレームの画像が撮影される時間との間に移動ロボットがさらに長い距離を走行する。
従って、移動速度が速いほどセンサ部170の障害物感知時点に近い時点の画像を選択することが画像内に障害物が占める領域が大きい確率が高い。
逆に、移動速度が遅いほど同一距離を走行する間に画像取得部120がより多くの画像を取得するので、センサ部170の障害物感知時点を基準にさらに過去時点の画像を選択することが好ましい。
障害物認識モジュール144は、前記特定時点画像を選択して障害物認識の入力データとして用いることができる。
障害物認識モジュール144は、マシンラーニング(machine learning)により既に学習されたデータに基づいて前記選択された特定時点画像に含まれる障害物の属性を認識する(S2850)。
障害物認識モジュール144は、マシンラーニングにより障害物の種類などの属性を認識するように学習された人工ニューラルネットワークを含むことができ、既に学習されたデータに基づいて障害物の属性を認識する(S2850)。
例えば、障害物認識モジュール144にはディープラーニング構造の1つであるCNN(Convolutional Neural Network)が搭載され、既に学習されたCNN(Convolutional Neural Network)は入力データに含まれた障害物の属性を認識してその結果を出力することができる。
一方、走行制御モジュール141は、前記認識された障害物の属性に基づいて、走行部160の駆動を制御する(S2860)。
例えば、走行制御モジュール141は、前記認識された障害物が乗り越えられない高さの障害物である場合、障害物を迂回して走行するように制御することができる。
また、走行制御モジュール141は、低い高さの小段差のように前記認識された障害物が乗り越えられる高さの障害物である場合、継続して直進走行するように制御することができる。
さらに、走行制御モジュール141は、扇風機の基台、人毛、マルチタップ、電線などの低い高さの障害物であっても移動時に拘束可能性のある障害物が認識されると、障害物を迂回して走行するように制御することができる。
図29は、本発明の一実施形態による移動ロボットの制御方法を示すフローチャートである。
図29を参照すると、まず、移動ロボット100、100a、100bは命令又は設定によって移動しながら掃除を行う(S2910)。
センサ部170は、障害物感知センサ131を含み、移動方向前方の所定範囲内の障害物を感知する(S2920)。
移動中にセンサ部170により障害物が感知されると(S2920)、前記感知された障害物の位置情報と移動ロボット100、100a、100bの位置情報を保存部150に保存する(S2930)。
また、前記感知された障害物の位置を中心に所定のサイズを有する領域を保存部150に保存されるマップ(map)に障害物地域として登録して保存、管理する(S2930)。
前記移動ロボットの位置情報は、オドメトリ(odometry)情報から算出でき、前記オドメトリ(odometry)情報は、前述したセンサ部170の動作感知センサで感知されるデータに基づいて構成されることができる。
一方、画像取得部120は、移動中に前記障害物地域で複数の画像を取得する(S2940)。
画像取得部120は、前記障害物地域を登録し、前記移動ロボット100、100a、100bが前記障害物地域の外部に離脱する前に、前記障害物地域内で連続的に撮影して複数の画像を取得することができる。
また、前記移動ロボット100、100a、100bは、前記感知された障害物に対する回避走行を行いながら全体障害物地域に対する画像を取得することができる。
一方、全体障害物地域に対する探索のために、一連の動作で前記障害物地域内を走行しながら障害物地域を撮影することは、移動ロボット100、100a、100bの走行経路に多くの変化をもたらすことができる。
従って、移動ロボット100、100a、100bが通常走行しながら、前記障害物地域を通過する度に、前記障害物地域を撮影して障害物に対する画像を取得することが好ましい。
例えば、直進、方向転換の後、再び最初移動方向の反対方向に障害物が感知される距離まで移動する基本ジグザグパターンで移動ロボット100、100a、100bが走行する場合を仮定すると、最初の直進時に障害物地域を通過しながら撮影して所定数の画像を取得し、反対方向まで走行した後に戻ってくるときに再び障害物地域を通過しながら撮影して所定数の画像を取得する方式に分けて複数の画像を取得することができる。
一方、障害物認識モジュール144は、マシンラーニング(machine learning)により既に学習されたデータに基づいて、前記障害物地域を移動しながら画像取得部120により取得される画像に対して順次に障害物の属性を認識する(S2950)。
障害物認識モジュール144は、マシンラーニングにより障害物の種類などの属性を認識するように学習された人工ニューラルネットワークを含むことができ、既に学習されたデータに基づいて障害物の属性を認識する(S2950)。
例えば、障害物認識モジュール144にはディープラーニング構造の1つであるCNN(Convolutional Neural Network)が搭載され、既に学習されたCNN(Convolutional Neural Network)は入力データに含まれた障害物の属性を認識してその結果を出力する。
障害物認識モジュール144は、前記障害物地域で取得された1つの画像に対して障害物認識を行い、他の画像に対しても障害物認識を行った後、2つの画像に対する2つの認識結果のうちより正確な認識結果を選定して保存することができる。
一方、障害物認識モジュール144は、2つの認識結果に含まれる信頼値(confidence)を比較して認識結果のうちより正確な認識結果を選定することができる。最後に行われた認識結果を現在の障害物認識結果にすることができ、次の画像に対する障害物認識が行われると、現在の障害物認識結果は以前の障害物認識結果となり、前記次の画像に対する障害物認識結果が現在の障害物認識結果となることができる。
一方、障害物認識モジュール144は、画像取得部120により取得される画像に対して順次に障害物の属性を認識するとき(S2950)、現在の障害物認識結果と以前の障害物認識結果を比較する過程を繰り返して行うことができる。
移動ロボット100、100a、100bが通常に走行しながら、前記障害物地域を通過する度に、前記障害物地域を撮影して画像を取得することができる。
障害物認識モジュール144は、取得される画像に対して順次に画像認識過程を行った後、以前の障害物認識結果と比較してより高い信頼値を有する認識結果を選択することができる。
好ましくは、障害物認識モジュール144は、現在の障害物認識結果と以前の障害物認識結果を比較して、前記現在の障害物認識結果と前記以前の障害物認識結果が同一であると、前記現在の障害物認識結果を維持し、信頼値(confidence)は所定加重値を反映して上向することできる。
すなわち、前記現在の障害物認識結果と前記以前の障害物認識結果が同一であると、障害物認識結果を変更する必要がないので、その結果を維持するとともに、認識結果に対応する信頼値(confidence)は所定加重値を反映して上向することができる。
従って、同一の認識結果が出る度に、障害物認識モジュール144は所定加重値を反映して信頼値(confidence)を上向して保存するように制御することができる。
また、障害物認識モジュール144は、前記現在の障害物認識結果と前記以前の障害物認識結果が同一でないと、前記現在の障害物認識結果と前記以前の障害物認識結果のうち信頼値が高い認識結果を前記新しい現在障害物認識結果として登録することができる。
すなわち、障害物認識モジュール144は、2つの認識結果を比較して、より高い信頼値の認識結果を残し、以後の認識結果と比較することができる。
一方、障害物認識モジュール144は、前記順次に認識された複数の認識結果に基づいて前記障害物の最終属性を判別する(S2960)。
障害物認識モジュール144は、順次に障害物を認識するうちに所定基準が満たされると、障害物の最終属性を決定することができる。すなわち、障害物認識モジュール144は、所定基準が満たされる瞬間の現在認識結果を最終認識結果として出力することができる。
前記所定基準が満たされる瞬間以後はそれ以上障害物認識過程を行わないので、前記所定基準が満たされる瞬間の現在認識結果は、最後の現在認識結果となることができる。
例えば、前記障害物地域の全ての領域に対して障害物認識が完了する瞬間、すなわち、前記障害物地域に対する認識カバレッジ(Coverage)が100%となる瞬間に最後の現在認識結果を前記障害物の最終属性として判別することができる。
実施形態によっては、前記認識カバレッジ(Coverage)が90%、95%などの所定基準値に達すると、障害物認識過程を終了するように設定されることができる。
または、障害物認識モジュール144は、現在の障害物認識結果と以前の障害物認識結果を比較して、前記現在の障害物認識結果と前記以前の障害物認識結果が同一であると、前記現在の障害物認識結果を維持し、信頼値(confidence)は前記現在の障害物認識結果の信頼値と前記以前の障害物認識結果の信頼値の平均値に変更されることができる。
本実施形態は、前記現在の障害物認識結果と前記以前の障害物認識結果が同一のである場合、同一の認識結果に対する信頼値を2つの認識結果の既存の信頼値の平均値に決定する。
本実施形態においても、障害物認識モジュール144は、前記現在の障害物認識結果と前記以前の障害物認識結果が同一でないと、前記現在の障害物認識結果と前記以前の障害物認識結果のうち信頼値の高い認識結果を前記新しい現在障害物認識結果として登録するように制御されることができる。
一方、走行制御モジュール141は、前記認識された障害物の最終属性に基づいて、走行部160の駆動を制御する(S2980)。
例えば、走行制御モジュール141は、前記認識された障害物が乗り越えられない高さの障害物である場合、障害物を迂回して走行するように制御することができる。
また、走行制御モジュール141は、低い高さの小段差のように前記認識された障害物が乗り越えられる高さの障害物である場合、継続して直進走行するように制御することができる。
さらに、走行制御モジュール141は、扇風機の基台、人毛、マルチタップ、電線などの低い高さの障害物であっても移動時に拘束可能性のある障害物が認識されると、障害物を迂回して走行するように制御することができる。
一方、障害物認識モジュール144は、前記判別された障害物の最終属性によって、該当障害物を危険障害物又は非危険障害物として前記マップに登録して管理する(S2970)。
例えば、障害物認識モジュール144は、前記認識された障害物が乗り越えられない高さの障害物であるか、扇風機の基台、人毛、マルチタップ、電線などの低い高さの障害物であっても移動時に拘束可能性のある障害物である場合、認識された障害物を危険障害物としてマップに登録することができる。
また、直進に走行しても乗り越えられる小段差などの障害物は非危険障害物としてマップに登録することができる。
その後、移動ロボット100は、マップに登録された危険障害物、非危険障害物情報に基づいて、非危険障害物を回避して走行することができる。
図30ないし図34は、本発明の実施形態による移動ロボットの制御方法に関する説明に参照される図である。
図30を参照すると、移動ロボット100は、走行しながら障害物3001を感知することができる。移動ロボット100が障害物3001を感知すると、認識された障害物の周辺を含むように障害物地域を設定登録することができる。
図30を参照すると、障害物認識モジュール144は、全体領域3000中に障害物3001を中心に所定のサイズ(a×b)の障害物地域3010を保存部150に保存されるマップ上に登録するように制御することができる。
例えば、障害物地域3010は、障害物3001を中心に前後各50cm、左右各50mにして総1m×1mのサイズの四角形状に設定されることができる。
一方、障害物認識モジュール144は、障害物地域3010の登録と共に障害物3001を認識する当時の移動ロボット100の位置情報を保存するように制御することができる。一方、移動ロボット100の位置情報はオドメトリ(Odometry)情報に基づいた情報であり得る。
例えば、障害物認識モジュール144は、以下のような保存フォーマットで障害物の位置と移動ロボットの位置情報を保存するように制御することができる。
保存フォーマット:(Op, Rp)、
保存フォーマット:(Op, Rp)、
Op(X,Y)=障害物(Object)位置(Position)、
Rp(X,Y)=ロボット(Robot)位置(Position)
一方、画像取得部120は、移動中に障害物地域3010で複数の画像を取得することができる。
画像取得部120は、移動ロボット100が障害物地域3010の外部に離脱する前に障害物地域3010内で連続的に撮影して複数の画像を取得することができる。
図31は、2回の撮影により障害物地域3010の所定領域が認識されたことを示す。図31に示す円3110、3120は、それぞれ認識カバレッジを示し、そのサイズと形態は画像取得部120の構成と性能によって変化することがある。
一方、移動ロボット100は、障害物地域3010の他の位置において障害物3001を撮影することができる。
本発明によれば、障害物地域3010を移動しながら多様な位置において障害物3001を撮影した画像を取得し、取得した画像のそれぞれに対して障害物認識過程を行うことにより、障害物認識の正確性を向上させることができる。
一方、障害物認識モジュール144は、障害物地域3010の内部領域を格子状に横縦にそれぞれ一定の間隔に区分して管理することができる。
図32は、4×4の格子状で構成される障害物地域3200を例示する。
障害物認識モジュール144は、障害物地域3200内の画像が撮影されて障害物が認識された領域を区分して保存することができる。
例えば、図32の(a)のように、認識された所定領域3210の値を変更して全体障害物地域3200で認識された領域と認識されない領域を区分することができ、全体障害物地域3200においてどのくらいまで認識が完了したかを判別することができる。
一方、移動ロボット100の走行及び障害物認識によって、図32の(b)のように、認識された領域3210、3220、3230、3240が増加する。
また、図32の(c)のように、認識カバレッジが100%になると、すなわち、全体障害物地域3200での障害物認識が完了すると、障害物認識過程が終了する。
または、設定によって、認識カバレッジが90%、95%になると、障害物認識過程を終了する。
図33及び図34は、本発明の実施形態による同一の障害物に対する順次的な障害物認識過程の一部を例示する。
図33及び図34を参照すると、まず、障害物認識モジュール144は、移動ロボットが第1位置(Rp1)で取得した画像を認識して障害物を扇風機と認識することができる。例えば、扇風機と認識した現認識結果の信頼値は0.8である。
一方、前記認識結果は最初の認識結果であるので、比較対象がなくて、現在認識結果に対応する登録結果も扇風機になる。
一方、2番目に移動ロボットが第2位置(Rp2)で取得した画像に基づいて、障害物認識モジュール144は信頼値0.7を有する扇風機と判定した認識結果を得ることができる。
障害物認識モジュール144は、1番目の認識結果と2番目の認識結果が同一であるので、現在認識結果に対応する登録結果として扇風機を維持することができる。
この場合は、現在認識結果に対応する信頼値は2つの認識結果の信頼値の1つをそのまま用いることができる。
または、図33のように、現在認識結果に対応する信頼値として1番目の認識結果と2番目の認識結果の信頼値の平均値0.75を用いることができる。
より好ましくは、1番目の認識結果と2番目の認識結果が同一である扇風機の認識結果を得たので、図25のように、所定加重値を反映して上向した0.835の信頼値を現在認識結果に対応する信頼値として用いることができる。
図33及び図34を参照すると、障害物認識モジュール144は、3番目に移動ロボットが第3位置(Rp3)で取得した画像に基づいて信頼値0.7を有するランプ基台と判定した認識結果を得ることができる。
図33及び図34を参照すると、障害物認識モジュール144は、3番目の認識結果を以前の認識結果と比較することができる。
3番目の認識結果の信頼値は0.7であり、以前の認識結果0.75又は0.835より低いので、障害物認識モジュール144は、より高い信頼値を有する扇風機を現在認識結果に対応する登録結果として選択することができる。
本発明の実施形態のうち少なくとも1つによれば、障害物属性認識の正確性を向上させることのできる画像データを取得することができる。
本発明の実施形態のうち少なくとも1つによれば、移動ロボットが、障害物の属性を判断し、障害物属性によって走行パターンを調整することができるため、信頼性の高い障害物認識及び回避動作を行うことができる。
また、本発明の実施形態のうち少なくとも1つによれば、障害物の認識結果に応じて前進、後退、停止、迂回などの動作を行うことにより、移動ロボット自体の安定性及び使用者の利便性を向上し、運転効率、掃除効率を向上させることのできる移動ロボット及びその制御方法を提供することができる。
また、本発明の実施形態のうち少なくとも1つによれば、マシンラーニングに基づいて障害物の属性を正確に認識できる移動ロボット及びその制御方法を提供することができる。
また、本発明の実施形態のうち少なくとも1つによれば、移動ロボットが、効率的にマシンラーニングを行うことができ、障害物属性認識に利用できるデータを抽出することができる。
本発明による移動ロボットは、前述した実施形態の構成と方法が限定的に適用されることではなく、上記実施形態は様々な変形が行われるように各実施形態の全部又は一部が選択的に組み合わせられて構成されることもできる。
一方、本発明の実施形態による移動ロボットの制御方法は、プロセッサが読み取り可能な記録媒体に、プロセッサが読み取り可能なコードとして実現することが可能である。プロセッサが読み取り可能な記録媒体は、プロセッサにより読み取られるデータが格納されるあらゆる種類の記録装置を含む。プロセッサが読み取り可能な記録媒体の例としては、ROM、RAM、CD−ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ格納装置などがあり、また、インターネットを介しての送信などのようなキャリアウェーブの形態で実現されることも含む。また、プロセッサが読み取ることのできる記録媒体は、ネットワークで接続されたコンピュータシステムに分散されて、分散方式でプロセッサが読み取り可能なコードが格納され、実行されることができる。
また、以上では、本明細書の好ましい実施形態について図示して説明したが、本発明は、上述した特定の実施形態に限定されず、請求の範囲で請求する本発明の要旨を逸脱せず、当該発明の属する技術分野における通常の知識を有した者により様々な変形実施が可能であることはもちろん、このような変形実施は、本発明の技術的思想や展望から個別的に理解されてはならないであろう。
Claims (20)
- 移動ロボットであって
本体を移動させる走行部と、
前記本体の周辺を連続的に撮影して複数の画像を取得する画像取得部と、
前記画像取得部が取得する連続した複数の画像を保存する保存部と、
前記移動中に障害物を感知する1つ以上のセンサを含むセンサ部と、
前記センサ部が障害物を感知すると、前記本体の移動方向と移動速度に基づいて、前記連続した複数の画像のうち前記センサ部の障害物感知時点以前の特定時点画像を選択し、前記選択された特定時点画像に含まれる障害物の属性を認識する障害物認識モジュールを含む制御部と、を備えてなる、移動ロボット。 - 前記制御部は、
前記認識された障害物の属性に基づいて、前記走行部の駆動を制御する走行制御モジュールをさらに備えてなることを特徴とする、請求項1に記載の移動ロボット。 - 前記制御部は、
前記移動方向が直進走行であるか、所定基準値未満の回転走行である場合、前記連続した複数の画像のうち前記センサ部の障害物感知時点以前の特定時点画像を選択することを特徴とする、請求項1に記載の移動ロボット。 - 前記制御部は、
前記移動速度が遅いほど前記センサ部の障害物感知時点を基準にさらに過去時点の画像を選択することを特徴とする、請求項1に記載の移動ロボット。 - 前記障害物認識モジュールは、
マシンラーニング(machine learning)により既に学習されたデータに基づいて前記選択された特定時点画像に含まれる障害物の属性を認識することを特徴とする、請求項1に記載の移動ロボット。 - 前記選択された特定時点画像を所定サーバに送信し、前記所定サーバからマシンラーニングに関するデータを受信する通信部をさらに含むことを特徴とする、請求項1に記載の移動ロボット。
- 前記所定サーバから受信したマシンラーニングに関するデータに基づいて前記障害物認識モジュールをアップデート(update)することを特徴とする、請求項6に記載の移動ロボット。
- 前記制御部は、
前記センサ部が感知する障害物の方向に対応して前記選択された特定時点画像の一部領域を抽出する画像処理モジュールをさらに含むことを特徴とする、請求項1に記載の移動ロボット。 - 前記画像処理モジュールは、
前記障害物が前記本体の前面の右方向で感知される場合、前記選択された特定時点画像の右側下段領域を抽出し、
前記障害物が前記本体の前面の左方向で感知される場合、前記選択された特定時点画像の左側下段領域を抽出し、
前記障害物が前記本体の前面方向で感知される場合、前記選択された特定時点画像の中央(center)下段領域を抽出することを特徴とする、請求項8に記載の移動ロボット。 - 前記制御部は、
前記感知された障害物の位置情報と移動ロボットの位置情報を前記保存部に保存し、前記感知された障害物の位置を中心に所定のサイズを有する領域をマップ(map)に障害物地域として登録し、所定障害物地域で前記画像取得部により取得される画像に対して順次に障害物の属性を認識し、前記順次に認識された複数の認識結果に基づいて前記障害物の最終属性を判別することを特徴とする、請求項1に記載の移動ロボット。 - 移動ロボットの制御方法であって、
画像取得部により、移動中に本体周辺を連続的に撮影して複数の画像を取得するステップと、
前記画像取得部が取得する連続した複数の画像を保存するステップと、
センサ部により、障害物を感知するステップと、
前記センサ部が障害物を感知すると、前記本体の移動方向と移動速度に基づいて、前記連続した複数の画像のうち前記センサ部の障害物感知時点以前の特定時点画像を選択するステップと、
前記選択された特定時点画像に含まれる障害物の属性を認識するステップと、
前記認識された障害物の属性に基づいて、走行部の駆動を制御するステップと、を含んでなる、移動ロボットの制御方法。 - 前記特定時点画像を選択するステップは、
前記移動方向が直進走行であるか、所定基準値未満の回転走行である場合、前記連続した複数の画像のうち前記センサ部の障害物感知時点以前の特定時点画像を選択することを特徴とする、請求項11に記載の移動ロボットの制御方法。 - 前記特定時点画像を選択するステップは、
前記移動の速度が遅いほど前記センサ部の障害物感知時点を基準にさらに過去時点の画像を選択することを特徴とする、請求項11に記載の移動ロボットの制御方法。 - 前記障害物の属性を認識するステップは、
マシンラーニング(machine learning)により既に学習されたデータに基づいて前記選択された特定時点画像に含まれる障害物の属性を認識することを特徴とする、請求項11に記載の移動ロボットの制御方法。 - 前記選択された特定時点画像を所定サーバに送信するステップと、
前記所定サーバからマシンラーニングに関するデータを受信するステップとをさらに含むことを特徴とする、請求項11に記載の移動ロボットの制御方法。 - 前記所定サーバから受信したマシンラーニングに関するデータに基づいて前記障害物認識モジュールをアップデート(update)するステップをさらに含むことを特徴とする、請求項15に記載の移動ロボットの制御方法。
- 前記センサ部が感知する障害物の方向に対応して前記選択された特定時点画像の一部領域を抽出するステップをさらに含むことを特徴とする、請求項11に記載の移動ロボットの制御方法。
- 前記選択された特定時点画像の一部領域を抽出するステップは、
前記障害物が前記本体の前面の右方向で感知される場合、前記画像取得部が取得する画像の右側下段領域を抽出し、
前記障害物が前記本体の前面の左方向で感知される場合、前記画像取得部が取得する画像の左側下段領域を抽出し、
前記障害物が前記本体の前面方向で感知される場合、前記画像取得部が取得する画像の中央(center)下段領域を抽出することを特徴とする、請求項17に記載の移動ロボットの制御方法。 - 前記駆動を制御するステップは、
前記感知された障害物が進行してもかまわない障害物でない場合、回避動作を行うように制御することを特徴とする、請求項11に記載の移動ロボットの制御方法。 - 前記センサ部が障害物を感知すると、前記感知された障害物の位置情報と移動ロボットの位置情報を保存し、前記感知された障害物の位置を中心に所定のサイズを有する領域をマップ(map)に障害物地域として登録するステップと、
前記障害物地域を移動しながら前記画像取得部により取得される画像に対して順次に障害物の属性を認識するステップと、
前記順次に認識された複数の認識結果に基づいて前記障害物の最終属性を判別するステップと、をさらに含むことを特徴とする、請求項11に記載の移動ロボットの制御方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160108386A KR20180023303A (ko) | 2016-08-25 | 2016-08-25 | 이동 로봇 및 그 제어방법 |
KR1020160108384A KR102548936B1 (ko) | 2016-08-25 | 2016-08-25 | 인공지능 이동 로봇 및 그 제어방법 |
KR10-2016-0108384 | 2016-08-25 | ||
KR10-2016-0108386 | 2016-08-25 | ||
KR1020160108385A KR20180023302A (ko) | 2016-08-25 | 2016-08-25 | 이동 로봇 및 그 제어방법 |
KR10-2016-0108385 | 2016-08-25 | ||
PCT/KR2017/009260 WO2018038553A1 (ko) | 2016-08-25 | 2017-08-24 | 이동 로봇 및 그 제어방법 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019528535A JP2019528535A (ja) | 2019-10-10 |
JP2019528535A5 true JP2019528535A5 (ja) | 2020-10-22 |
JP7055127B2 JP7055127B2 (ja) | 2022-04-15 |
Family
ID=61245133
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019510776A Active JP7055127B2 (ja) | 2016-08-25 | 2017-08-24 | 移動ロボット及びその制御方法 |
JP2019510881A Active JP6861797B2 (ja) | 2016-08-25 | 2017-08-24 | 移動ロボット及びその制御方法 |
JP2019510871A Active JP6785950B2 (ja) | 2016-08-25 | 2017-08-24 | 移動ロボット及びその制御方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019510881A Active JP6861797B2 (ja) | 2016-08-25 | 2017-08-24 | 移動ロボット及びその制御方法 |
JP2019510871A Active JP6785950B2 (ja) | 2016-08-25 | 2017-08-24 | 移動ロボット及びその制御方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11150666B2 (ja) |
EP (3) | EP3505311B1 (ja) |
JP (3) | JP7055127B2 (ja) |
CN (3) | CN109890576B (ja) |
AU (3) | AU2017316091B2 (ja) |
WO (3) | WO2018038552A1 (ja) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7055127B2 (ja) * | 2016-08-25 | 2022-04-15 | エルジー エレクトロニクス インコーポレイティド | 移動ロボット及びその制御方法 |
USD896858S1 (en) * | 2017-12-14 | 2020-09-22 | The Hi-Tech Robotic Systemz Ltd | Mobile robot |
USD906390S1 (en) * | 2017-12-14 | 2020-12-29 | The Hi-Tech Robotic Systemz Ltd | Mobile robot |
USD907084S1 (en) * | 2017-12-14 | 2021-01-05 | The Hi-Tech Robotic Systemz Ltd | Mobile robot |
USD879851S1 (en) * | 2017-12-29 | 2020-03-31 | Beijing Geekplus Technology Co., Ltd. | Robot |
USD879852S1 (en) * | 2018-03-15 | 2020-03-31 | Beijing Geekplus Technology Co., Ltd. | Mobile robot |
JP7194914B2 (ja) * | 2018-03-29 | 2022-12-23 | パナソニックIpマネジメント株式会社 | 自律移動掃除機、自律移動掃除機による掃除方法、及び自律移動掃除機用プログラム |
KR102519064B1 (ko) | 2018-04-25 | 2023-04-06 | 삼성전자주식회사 | 사용자에게 서비스를 제공하는 이동형 로봇 장치 및 방법 |
US20190332114A1 (en) * | 2018-04-26 | 2019-10-31 | Maidbot, Inc. | Robot Contextualization of Map Regions |
CA3098933A1 (en) | 2018-04-26 | 2019-10-31 | Maidbot, Inc. | Automated robot alert system |
KR102100474B1 (ko) * | 2018-04-30 | 2020-04-13 | 엘지전자 주식회사 | 인공지능 청소기 및 그 제어방법 |
WO2019212239A1 (en) * | 2018-05-04 | 2019-11-07 | Lg Electronics Inc. | A plurality of robot cleaner and a controlling method for the same |
CN110470296A (zh) * | 2018-05-11 | 2019-11-19 | 珠海格力电器股份有限公司 | 一种定位方法、定位机器人及计算机存储介质 |
WO2019224162A1 (en) * | 2018-05-22 | 2019-11-28 | Starship Technologies Oü | Method and system for analyzing robot surroundings |
US10885395B2 (en) * | 2018-06-17 | 2021-01-05 | Pensa Systems | Method for scaling fine-grained object recognition of consumer packaged goods |
CN108968811A (zh) * | 2018-06-20 | 2018-12-11 | 四川斐讯信息技术有限公司 | 一种扫地机器人的物体识别方法及系统 |
USD911406S1 (en) * | 2018-08-17 | 2021-02-23 | Grey Orange Pte. Ltd | Robot for moving articles within a facility |
KR20200036678A (ko) * | 2018-09-20 | 2020-04-07 | 삼성전자주식회사 | 청소 로봇 및 그의 태스크 수행 방법 |
CN109452914A (zh) * | 2018-11-01 | 2019-03-12 | 北京石头世纪科技有限公司 | 智能清洁设备,清洁模式选择方法,计算机存储介质 |
US11338438B2 (en) * | 2019-01-25 | 2022-05-24 | Bear Robotics, Inc. | Method, system and non-transitory computer-readable recording medium for determining a movement path of a robot |
RU2709523C1 (ru) * | 2019-02-19 | 2019-12-18 | Общество с ограниченной ответственностью "ПРОМОБОТ" | Система определения препятствий движению робота |
CN109760060B (zh) * | 2019-03-02 | 2021-06-08 | 安徽理工大学 | 一种多自由度机器人智能避障方法及其系统 |
KR20200115696A (ko) * | 2019-03-07 | 2020-10-08 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
TWI683197B (zh) * | 2019-03-19 | 2020-01-21 | 東元電機股份有限公司 | 移動平台圖資校正系統 |
DE102019109596A1 (de) * | 2019-04-11 | 2020-10-15 | Vorwerk & Co. Interholding Gmbh | System aus einem manuell geführten Bodenbearbeitungsgerät, einem ausschließlich automatisch betriebenen Bodenbearbeitungsgerät und einer Recheneinrichtung |
CN110315553B (zh) * | 2019-06-23 | 2023-10-27 | 大国重器自动化设备(山东)股份有限公司 | 一种餐厅用机器人防碰撞系统及方法 |
CN112149458A (zh) * | 2019-06-27 | 2020-12-29 | 商汤集团有限公司 | 障碍物检测方法、智能驾驶控制方法、装置、介质及设备 |
CN110315537A (zh) * | 2019-06-27 | 2019-10-11 | 深圳乐动机器人有限公司 | 一种控制机器人运动的方法、装置及机器人 |
US11650597B2 (en) * | 2019-07-09 | 2023-05-16 | Samsung Electronics Co., Ltd. | Electronic apparatus for identifying object through warped image and control method thereof |
WO2021006622A1 (en) | 2019-07-09 | 2021-01-14 | Samsung Electronics Co., Ltd. | Electronic apparatus and controlling method thereof |
CN110353583A (zh) * | 2019-08-21 | 2019-10-22 | 追创科技(苏州)有限公司 | 扫地机器人及扫地机器人的自动控制方法 |
US11426885B1 (en) * | 2019-08-27 | 2022-08-30 | X Development Llc | Robot docking station identification surface |
KR20210028426A (ko) | 2019-09-04 | 2021-03-12 | 엘지전자 주식회사 | 로봇 청소기 및 그 제어방법 |
CN110543436B (zh) * | 2019-09-06 | 2021-09-24 | 北京云迹科技有限公司 | 一种机器人的数据获取方法及装置 |
KR20210039232A (ko) * | 2019-10-01 | 2021-04-09 | 엘지전자 주식회사 | 로봇 청소기 및 청소 경로를 결정하기 위한 방법 |
KR20210057582A (ko) * | 2019-11-12 | 2021-05-21 | 삼성전자주식회사 | 잘못 흡입된 객체를 식별하는 로봇 청소기 및 그 제어 방법 |
CN110861089B (zh) * | 2019-11-29 | 2020-11-06 | 北京理工大学 | 一种多机器人系统任务均衡分配协同工作控制方法 |
CN111538329B (zh) * | 2020-04-09 | 2023-02-28 | 北京石头创新科技有限公司 | 一种图像查看方法、终端及清洁机 |
CN111715559A (zh) * | 2020-06-22 | 2020-09-29 | 柴诚芃 | 一种基于机器视觉的垃圾分拣系统 |
CN112077840B (zh) * | 2020-08-08 | 2022-02-15 | 浙江科聪控制技术有限公司 | 一种防爆巡检机器人的避障方法及应用于该方法的机器人 |
CN112380942A (zh) * | 2020-11-06 | 2021-02-19 | 北京石头世纪科技股份有限公司 | 一种识别障碍物的方法、装置、介质和电子设备 |
KR102361338B1 (ko) * | 2020-11-27 | 2022-02-15 | (주)엘이디소프트 | 자율주행이 가능한 실내 uv 살균장치 |
USD967883S1 (en) * | 2021-01-06 | 2022-10-25 | Grey Orange International Inc. | Robot for handling goods in a facility |
KR20220111526A (ko) * | 2021-02-02 | 2022-08-09 | 자이메드 주식회사 | 실시간 생체 이미지 인식 방법 및 장치 |
CN112971616B (zh) * | 2021-02-07 | 2022-12-30 | 美智纵横科技有限责任公司 | 一种充电座规避方法、装置、扫地机器人及存储介质 |
WO2023003158A1 (ko) * | 2021-07-20 | 2023-01-26 | 삼성전자주식회사 | 로봇 및 그 제어 방법 |
CN113721603B (zh) * | 2021-07-29 | 2023-08-08 | 云鲸智能(深圳)有限公司 | 基站探索方法、装置、机器人及可读存储介质 |
CN113827152B (zh) * | 2021-08-30 | 2023-02-17 | 北京盈迪曼德科技有限公司 | 区域状态确定方法、装置及机器人 |
CN114670244B (zh) * | 2022-03-29 | 2023-10-20 | 中国铁建重工集团股份有限公司 | 一种结构制造方法及装置 |
CN116038716B (zh) * | 2023-03-14 | 2023-07-18 | 煤炭科学研究总院有限公司 | 机器人的控制方法和机器人的控制模型的训练方法 |
Family Cites Families (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5314037A (en) * | 1993-01-22 | 1994-05-24 | Shaw David C H | Automobile collision avoidance system |
JPH1132253A (ja) * | 1997-07-08 | 1999-02-02 | Hitachi Ltd | 画像処理装置 |
JP3529049B2 (ja) * | 2002-03-06 | 2004-05-24 | ソニー株式会社 | 学習装置及び学習方法並びにロボット装置 |
KR101137205B1 (ko) * | 2002-03-15 | 2012-07-06 | 소니 주식회사 | 로봇의 행동 제어 시스템 및 행동 제어 방법, 및 로봇 장치 |
EP1541295A1 (en) * | 2002-08-26 | 2005-06-15 | Sony Corporation | Environment identification device, environment identification method, and robot device |
US7689321B2 (en) * | 2004-02-13 | 2010-03-30 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
KR100671897B1 (ko) * | 2005-04-04 | 2007-01-24 | 주식회사 대우일렉트로닉스 | 스위치형 센서가 구비된 로봇 청소기 |
KR100669892B1 (ko) | 2005-05-11 | 2007-01-19 | 엘지전자 주식회사 | 장애물 회피 기능을 갖는 이동로봇과 그 방법 |
JP2007011857A (ja) * | 2005-07-01 | 2007-01-18 | Toyota Motor Corp | 自律移動型ロボット及び自律移動型ロボットの制御方法 |
KR100811886B1 (ko) * | 2006-09-28 | 2008-03-10 | 한국전자통신연구원 | 장애물 회피 진행이 가능한 자율이동로봇 및 그 방법 |
JP2008172441A (ja) | 2007-01-10 | 2008-07-24 | Omron Corp | 検出装置および方法、並びに、プログラム |
KR100877072B1 (ko) * | 2007-06-28 | 2009-01-07 | 삼성전자주식회사 | 이동 로봇을 위한 맵 생성 및 청소를 동시에 수행하는 방법및 장치 |
KR100902929B1 (ko) * | 2007-07-18 | 2009-06-15 | 엘지전자 주식회사 | 이동 로봇 및 그 제어방법 |
CN101271525B (zh) * | 2008-04-10 | 2011-05-04 | 复旦大学 | 一种快速的图像序列特征显著图获取方法 |
KR20090112984A (ko) * | 2008-04-25 | 2009-10-29 | 포항공과대학교 산학협력단 | 장애물 감지 센서를 구비한 이동로봇 |
KR100997656B1 (ko) * | 2008-06-18 | 2010-12-01 | 한양대학교 산학협력단 | 로봇의 장애물 검출방법 및 그 장치 |
KR101495333B1 (ko) * | 2008-07-02 | 2015-02-25 | 삼성전자 주식회사 | 장애물 검출 장치 및 방법 |
JP5106356B2 (ja) | 2008-11-17 | 2012-12-26 | セコム株式会社 | 画像監視装置 |
KR101524020B1 (ko) * | 2009-03-06 | 2015-05-29 | 엘지전자 주식회사 | 로봇 청소기의 점진적 지도 작성 및 위치 보정 방법 |
TWI388956B (zh) * | 2009-05-20 | 2013-03-11 | Univ Nat Taiwan Science Tech | 行動機器人與其目標物處理路徑的規劃方法 |
US9014848B2 (en) * | 2010-05-20 | 2015-04-21 | Irobot Corporation | Mobile robot system |
KR101271315B1 (ko) * | 2011-03-28 | 2013-06-04 | 고려대학교 산학협력단 | 이동 로봇의 장애물 회피 시스템 |
US8447863B1 (en) * | 2011-05-06 | 2013-05-21 | Google Inc. | Systems and methods for object recognition |
CN103608504B (zh) * | 2011-06-15 | 2014-12-24 | 东丽株式会社 | 复合纤维 |
US9582000B2 (en) * | 2011-09-07 | 2017-02-28 | Lg Electronics Inc. | Robot cleaner, and system and method for remotely controlling the same |
US8311973B1 (en) * | 2011-09-24 | 2012-11-13 | Zadeh Lotfi A | Methods and systems for applications for Z-numbers |
KR101303161B1 (ko) * | 2011-10-18 | 2013-09-09 | 엘지전자 주식회사 | 이동 로봇 및 이의 제어 방법 |
US8396254B1 (en) * | 2012-02-09 | 2013-03-12 | Google Inc. | Methods and systems for estimating a location of a robot |
KR101949277B1 (ko) * | 2012-06-18 | 2019-04-25 | 엘지전자 주식회사 | 이동 로봇 |
KR20140031742A (ko) * | 2012-09-05 | 2014-03-13 | 삼성전기주식회사 | 이미지 특징 추출 장치 및 이미지 특징 추출 방법, 그를 이용한 영상 처리 시스템 |
KR101450569B1 (ko) * | 2013-03-05 | 2014-10-14 | 엘지전자 주식회사 | 로봇 청소기 |
KR101490170B1 (ko) * | 2013-03-05 | 2015-02-05 | 엘지전자 주식회사 | 로봇 청소기 |
KR101395888B1 (ko) * | 2013-03-21 | 2014-05-27 | 엘지전자 주식회사 | 로봇 청소기 및 그 동작방법 |
US9715761B2 (en) * | 2013-07-08 | 2017-07-25 | Vangogh Imaging, Inc. | Real-time 3D computer vision processing engine for object recognition, reconstruction, and analysis |
KR102152641B1 (ko) * | 2013-10-31 | 2020-09-08 | 엘지전자 주식회사 | 이동 로봇 |
US9504367B2 (en) * | 2013-11-20 | 2016-11-29 | Samsung Electronics Co., Ltd. | Cleaning robot and method for controlling the same |
KR102016551B1 (ko) * | 2014-01-24 | 2019-09-02 | 한화디펜스 주식회사 | 위치 추정 장치 및 방법 |
KR102158695B1 (ko) * | 2014-02-12 | 2020-10-23 | 엘지전자 주식회사 | 로봇 청소기 및 이의 제어방법 |
US9346168B2 (en) * | 2014-05-20 | 2016-05-24 | International Business Machines Corporation | Information technology asset type identification using a mobile vision-enabled robot |
US9713982B2 (en) * | 2014-05-22 | 2017-07-25 | Brain Corporation | Apparatus and methods for robotic operation using video imagery |
KR20150142475A (ko) | 2014-06-12 | 2015-12-22 | 연세대학교 산학협력단 | 장애물 식별 장치 및 방법 |
JP2016028311A (ja) | 2014-07-10 | 2016-02-25 | 株式会社リコー | ロボット、プログラム、及び記憶媒体 |
US10289910B1 (en) * | 2014-07-10 | 2019-05-14 | Hrl Laboratories, Llc | System and method for performing real-time video object recognition utilizing convolutional neural networks |
KR101610502B1 (ko) * | 2014-09-02 | 2016-04-07 | 현대자동차주식회사 | 자율주행차량의 주행환경 인식장치 및 방법 |
CN104268882A (zh) * | 2014-09-29 | 2015-01-07 | 深圳市热活力科技有限公司 | 基于双线阵摄像头的高速运动物体检测与测速方法及系统 |
US9704043B2 (en) * | 2014-12-16 | 2017-07-11 | Irobot Corporation | Systems and methods for capturing images and annotating the captured images with information |
CN104552341B (zh) * | 2014-12-29 | 2016-05-04 | 国家电网公司 | 移动工业机器人单点多视角挂表位姿误差检测方法 |
JP6393199B2 (ja) * | 2015-01-22 | 2018-09-19 | 株式会社日本総合研究所 | 歩行障害箇所判定システム及びその自走型走行装置 |
US9987752B2 (en) * | 2016-06-10 | 2018-06-05 | Brain Corporation | Systems and methods for automatic detection of spills |
JP7055127B2 (ja) * | 2016-08-25 | 2022-04-15 | エルジー エレクトロニクス インコーポレイティド | 移動ロボット及びその制御方法 |
-
2017
- 2017-08-24 JP JP2019510776A patent/JP7055127B2/ja active Active
- 2017-08-24 AU AU2017316091A patent/AU2017316091B2/en active Active
- 2017-08-24 US US16/327,449 patent/US11150666B2/en active Active
- 2017-08-24 WO PCT/KR2017/009258 patent/WO2018038552A1/ko unknown
- 2017-08-24 CN CN201780066283.1A patent/CN109890576B/zh active Active
- 2017-08-24 EP EP17843972.5A patent/EP3505311B1/en active Active
- 2017-08-24 EP EP17843973.3A patent/EP3505312B1/en active Active
- 2017-08-24 US US16/327,452 patent/US20190179333A1/en not_active Abandoned
- 2017-08-24 CN CN201780066252.6A patent/CN109890575B/zh active Active
- 2017-08-24 CN CN201780066246.0A patent/CN109890574B/zh active Active
- 2017-08-24 JP JP2019510881A patent/JP6861797B2/ja active Active
- 2017-08-24 WO PCT/KR2017/009257 patent/WO2018038551A1/ko unknown
- 2017-08-24 JP JP2019510871A patent/JP6785950B2/ja active Active
- 2017-08-24 EP EP17843971.7A patent/EP3505310B1/en active Active
- 2017-08-24 US US16/327,454 patent/US11199852B2/en active Active
- 2017-08-24 AU AU2017316090A patent/AU2017316090B2/en active Active
- 2017-08-24 AU AU2017316089A patent/AU2017316089B2/en active Active
- 2017-08-24 WO PCT/KR2017/009260 patent/WO2018038553A1/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7055127B2 (ja) | 移動ロボット及びその制御方法 | |
JP2019528535A5 (ja) | ||
KR102662949B1 (ko) | 인공지능 이동 로봇 및 그 제어방법 | |
KR102314539B1 (ko) | 인공지능 이동 로봇의 제어 방법 | |
EP3575046B1 (en) | Mobile robot and method for controlling same | |
KR102548936B1 (ko) | 인공지능 이동 로봇 및 그 제어방법 | |
KR20180023302A (ko) | 이동 로봇 및 그 제어방법 | |
KR20180023303A (ko) | 이동 로봇 및 그 제어방법 | |
KR102500525B1 (ko) | 이동 로봇 | |
KR20200091110A (ko) | 이동 로봇 및 그 제어 방법 |