JP7329125B2 - 移動ロボット及びその制御方法 - Google Patents

移動ロボット及びその制御方法 Download PDF

Info

Publication number
JP7329125B2
JP7329125B2 JP2022500039A JP2022500039A JP7329125B2 JP 7329125 B2 JP7329125 B2 JP 7329125B2 JP 2022500039 A JP2022500039 A JP 2022500039A JP 2022500039 A JP2022500039 A JP 2022500039A JP 7329125 B2 JP7329125 B2 JP 7329125B2
Authority
JP
Japan
Prior art keywords
mobile robot
node
movement
open
directions
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.)
Active
Application number
JP2022500039A
Other languages
English (en)
Other versions
JP2022541736A (ja
Inventor
チウン チェ
チョンミン シム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LG Electronics Inc
Original Assignee
LG Electronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by LG Electronics Inc filed Critical LG Electronics Inc
Publication of JP2022541736A publication Critical patent/JP2022541736A/ja
Application granted granted Critical
Publication of JP7329125B2 publication Critical patent/JP7329125B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/0085Cleaning
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0003Home robots, i.e. small robots for domestic use
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/93Sonar systems specially adapted for specific applications for anti-collision purposes
    • G01S15/931Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Fuzzy Systems (AREA)
  • Artificial Intelligence (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electric Vacuum Cleaner (AREA)

Description

本発明は、移動ロボット及びその制御方法に関し、より詳しくは、移動ロボットがマップ(map)を生成、学習したり、マップ上で位置を認識する技術に関する。
ロボットは、産業用に開発されて工場自動化の一部分を担当してきた。最近には、ロボットを応用した分野がさらに拡大されて、医療用ロボット、宇宙航空ロボットなどが開発され、一般家庭で使用できる家庭用ロボットも作られている。このようなロボットのうち自力で走行可能なものを移動ロボットという。
家庭で使用される移動ロボットの代表的な例は、ロボット掃除機で、ロボット掃除機は、一定の領域を自ら走行しながら、周辺の塵または異物を吸入することにより、当該領域を掃除する機器である。
移動ロボットは、自ら移動が可能で、移動が自由であり、走行中に障害物などを避けるための複数のセンサが備えられて障害物を避けて走行することができる。
掃除などの設定された作業を行うためには、走行区域のマップ(map)を正確に生成し、走行区域内のある位置に移動するために、マップ上で移動ロボットの現在位置を正確に把握する必要がある。
例えば、従来技術1(韓国公開特許公報第10-2010-0070582号)の場合、周辺環境の距離情報を検出する距離センサを通じて初期マップを生成し、初期マップのピクセル処理を通じてノードを設定することにより、全域的位相マップ(topological map)を生成する技術を開示する。
しかしながら、従来技術1のような従来技術は、単純に移動する間に取得した距離情報に基づいて初期マップを全体的に生成し、生成された初期マップに基づいてノードを決めることで位相マップを生成するので、ノードの間の全体連結関係が多少不正確な短所がある。
また、距離情報の取得時に、一時的に位置していた動的障害物と、固定された障害物を正確に区分して処理しにくく、移動経路が交差地点に対する情報を正確に取得しにくいという問題点がある。
KR10-2010-0070582A
本発明の目的は、位相マップを生成する際において、移動ロボットが移動する間にリアルタイムでノードを生成することにより、ノードの間の連結関係を正確に設定することができる移動ロボット及びその制御方法を提供することにある。
本発明の他の目的は、位相マップを生成する際において、障害物を回避する動作を最小化しながら移動することができる移動ロボット及びその制御方法を提供することにある。
本発明の他の目的は、位相マップを生成する際において、ノードの間の連結関係だけでなく、各ノードに対する情報をより正確に設定することができる移動ロボット及びその制御方法を提供することにある。
前記目的を達するための、本発明の実施形態に係る移動ロボットは、ライダーセンサを通じて取得した外部の地形情報に基づいて、既設定された複数の移動方向それぞれに対するオープン(open)可否を判断し、判断結果によって新しいノードを生成して、マップ(map)を生成することができる。
前記目的を達するための、本発明の一実施形態に係る移動ロボットは、本体を移動させる走行部と、前記本体の外部の地形情報を取得するライダーセンサと、少なくとも一つのノードに対するノードデータを保存するメモリーと、制御部とを含み、制御部は、ライダーセンサのセンシングデータ及びノードデータに基づいて、既設定された複数の移動方向のうち、オープン(open)された移動方向が少なくとも一つ存在するか否かを判断し、オープン(open)された移動方向が少なくとも一つ存在する場合、既設定された条件に応じてノードデータに新しいノードを生成し、オープン(open)された移動方向の何れか一つを、本体が移動する走行方向に決め、オープン(open)された移動方向が存在しない場合、ノードデータに基づいて、少なくとも一つのノードのうち、アップデート(update)が必要なノードが少なくとも一つ存在するか否かを判断し、アップデートが必要なノードが存在する場合、アップデートが必要なノードの何れか一つに移動ロボットが移動するように走行部を制御し、アップデートが必要なノードが存在しない場合、ノードデータに基づいて、少なくとも一つのノードを含むマップ(map)の生成を完了することができる。
一方、前記目的を達するための、本発明の一実施形態に係る移動ロボットの制御部は、複数の移動方向それぞれに対して、移動ロボットの走行が可能であるか否かを判断し、複数の移動方向それぞれに対して、移動ロボットが既走行した移動方向であるか否かを判断し、複数の移動方向のうち、移動ロボットの走行が可能で、移動ロボットが既走行しない移動方向を、前記オープン(open)された移動方向と判断することができる。
一方、本発明の一実施形態に係る移動ロボットのノードデータは、少なくとも一つのノードのそれぞれに対して、ノードの座標値、及び前記複数の移動方向それぞれに対するデータ値を含むことができる。
一方、本発明の一実施形態に係る移動ロボットの複数の移動方向それぞれに対するデータ値は、オープン(open)された移動方向を示す第1データ値、移動ロボットの走行が不可能な移動方向を示す第2データ値、及び他のノードを示す第3データ値の何れか一つに設定されることができる。
一方、本発明の一実施形態に係る移動ロボットの制御部は、オープン(open)された移動方向が少なくとも一つ存在する場合、走行方向に決められた移動方向が前記オープン(open)された移動方向に対応するか否かを判断し、走行方向に決められた移動方向がオープン(open)された移動方向に対応しない場合、新しいノードを生成することができる。
一方、本発明の一実施形態に係る移動ロボットの制御部は、走行方向に決められた移動方向がオープン(open)された移動方向に対応する場合、複数の移動方向のうち、走行方向に決められた移動方向のみオープン(open)された移動方向に対応するか否かを判断し、走行方向に決められた移動方向のみオープン(open)された移動方向に対応する場合、新しいノードを生成せず、移動ロボットが前記走行方向に移動するように走行部を制御し、走行方向に決められた移動方向を含む複数の移動方向がオープン(open)された移動方向に対応する場合、新しいノードを生成することができる。
一方、本発明の一実施形態に係る移動ロボットの制御部は、新しいノードを生成する場合、ノードデータに含まれた少なくとも一つのノードそれぞれの、複数の移動方向に対するデータ値をアップデート(update)することができる。
一方、本発明の一実施形態に係る移動ロボットの制御部は、複数の移動方向それぞれに対するデータ値の少なくとも一つが、オープン(open)された移動方向を示す第1データ値に設定されたノードを、アップデート(update)が要求されるノードと判断することができる。
一方、本発明の一実施形態に係る移動ロボットの制御部は、ノードデータに基づいて、アップデート(update)が要求されるノードのうち、移動ロボットの現在位置から最短距離に位置するノードを決め、移動ロボットが前記最短距離に位置するノードに移動するように、走行部を制御することができる。
一方、本発明の一実施形態に係る移動ロボットは、本体の外部の画像を取得する少なくとも一つのカメラを備える画像取得部をさらに含み、制御部は、画像取得部を通じて取得した画像から特徴を抽出し、抽出した特徴をマップ(map)にマッピング(mapping)し、マップ(map)にマッピング(mapping)された特徴に基づいて、移動ロボットの位置を判断することができる。
前記目的を達するための、本発明の一実施形態に係る移動ロボットの制御方法は、外部の地形情報を取得するライダーセンサのセンシングデータ及び少なくとも一つのノードに対するノードデータに基づいて、既設定された複数の移動方向のうち、オープン(open)された移動方向が少なくとも一つ存在するか否かを判断する動作、オープン(open)された移動方向が少なくとも一つ存在する場合、既設定された条件に応じて、ノードデータに新しいノードを生成する動作、オープン(open)された移動方向の何れか一つを、移動ロボットの本体が移動する走行方向に決める動作、オープン(open)された移動方向が存在しない場合、ノードデータに基づいて、少なくとも一つのノードのうち、アップデート(update)が必要なノードが少なくとも一つ存在するか否かを判断する動作、アップデートが必要なノードが存在する場合、アップデート(update)が必要なノードの何れか一つに移動する動作、及びアップデートが必要なノードが存在しない場合、ノードデータに基づいて、少なくとも一つのノードを含むマップ(map)の生成を完了する動作を含むことができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法のオープン(open)された移動方向が少なくとも一つ存在するか否かを判断する動作は、複数の移動方向それぞれに対して、移動ロボットの走行が可能であるか否かを判断する動作、複数の移動方向それぞれに対して、移動ロボットが既走行した移動方向であるか否かを判断する動作、及び複数の移動方向のうち、移動ロボットの走行が可能で、移動ロボットが既走行しない移動方向をオープン(open)された移動方向と判断する動作を含むことができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法のノードデータは、少なくとも一つのノードそれぞれに対して、ノードの座標値と、複数の移動方向それぞれに対するデータ値を含むことができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法の複数の移動方向それぞれに対するデータ値は、オープン(open)された移動方向を示す第1データ値、移動ロボットの走行が不可能な移動方向を示す第2データ値、及び他のノードを示す第3データ値の何れか一つに設定されることができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法の新しいノードを生成する動作は、オープン(open)された移動方向が少なくとも一つ存在する場合、走行方向に決められた移動方向がオープン(open)された移動方向に対応するか否かを判断する動作、及び走行方向に決められた移動方向がオープン(open)された移動方向に対応しない場合、新しいノードを生成する動作を含むことができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法の新しいノードを生成する動作は、走行方向に決められた移動方向がオープン(open)された移動方向に対応する場合、複数の移動方向のうち、走行方向に決められた移動方向のみオープン(open)された移動方向に対応するか否かを判断する動作、走行方向に決められた移動方向のみオープン(open)された移動方向に対応する場合、新しいノードを生成せず、走行方向に移動する動作、及び走行方向に決められた移動方向を含む複数の移動方向がオープン(open)された移動方向に対応する場合、新しいノードを生成する動作をさらに含むことができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法の新しいノードを生成する動作は、ノードデータに含まれた少なくとも一つのノードそれぞれの、複数の移動方向に対するデータ値をアップデート(update)する動作をさらに含むことができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法のアップデート(update)が必要なノードが少なくとも一つ存在するか否かを判断する動作は、複数の移動方向それぞれに対するデータ値の少なくとも一つが、オープン(open)された移動方向を示す前記第1データ値に設定されたノードを、アップデート(update)が要求されるノードと判断することができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法のアップデート(update)が必要なノードの何れか一つに移動する動作は、ノードデータに基づいて、アップデート(update)が要求されるノードのうち、移動ロボットの現在位置から最短距離に位置するノードを決める動作、及び最短距離に位置するノードに移動する動作を含むことができる。
一方、本発明の一実施形態に係る移動ロボットの制御方法は、外部の画像を取得する少なくとも一つのカメラを備える画像取得部を通じて取得した画像から特徴を抽出する動作、抽出した特徴をマップ(map)にマッピング(mapping)する動作、及びマップ(map)にマッピング(mapping)された特徴に基づいて、移動ロボットの位置を判断する動作をさらに含むことができる。
本発明の多様な実施形態に係ると、移動ロボットが移動する間にリアルタイムでノードを生成することにより、ノードの間の連結関係を正確に設定することができる。
また、本発明の多様な実施形態に係ると、位相マップを生成する間に、移動通路の中央に沿って走行することにより、障害物を回避する動作を最小化しながら移動することができて、より安定的な移動経路を提供する位相マップを生成することができる。
また、本発明の多様な実施形態に係ると、ノードそれぞれに対する情報を正確に設定することができて、より正確な移動経路を提供する位相マップを生成することができる。
一方、それ以外の多様な効果は、後述する本発明の実施形態に係る詳細な説明から直接的または暗示的に開示され得る。
実施形態は、類似する参照番号が類似する要素を示す次の図面を参照して詳しく説明され得る。
本発明の一実施形態に係る、移動ロボットの例示を示す図面である。 本発明の一実施形態に係る、移動ロボットの例示を示す図面である。 本発明の一実施形態に係る、移動ロボットの例示を示す図面である。 本発明の一実施形態に係る、移動ロボットの例示を示す図面である。 本発明の他の一実施形態に係る、移動ロボットの例示を示す図面である。 本発明の他の一実施形態に係る、移動ロボットの内部ブロック図の一例である。 本発明の一実施形態に係る、移動ロボットに備えられたライダーセンサの説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの走行に対する説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の他の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の他の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の他の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の他の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の他の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の他の一実施形態に係る、移動ロボットの動作の説明に参照される図面である。 本発明の一実施形態に係る、移動ロボットの制御方法に対する順序図を示す図面である。 本発明の一実施形態に係る、移動ロボットの制御方法に対する順序図を示す図面である。 本発明の一実施形態に係る、移動ロボットの制御方法に対する順序図を示す図面である。
以下、本開示の実施形態を詳しく参照し、複数の例示は添付図面に示されている。本開示を明確で簡略に説明するために、説明と関係のない部分は図面で省略し、明細書で同一または類似する参照符号は同一構成要素のみについて表示する。
本明細書において、構成要素の接尾辞「モジュール」及び「単位」は、説明の便宜のために用いられて混用され得、区別することができる意味や機能がない。よって、「モジュール」と「単位」は混用され得る。
本明細書の全体において、「含む(include)」または「から~なる(comprise)」のような用語は、特定特性、数、ステップ、動作、構成要素、またはこれらの組合を表すことに解釈されることができるが、一つ以上の他の特性、数字、ステップ、作業、構成要素またはこれらの組合の存在または追加可能性を排除することに解釈されないこともある。
「第1」、「第2」、「第3」などの用語が本明細書で多様な要素を説明するために用いられることができるが、このような要素は、このような用語によって制限されてはならないことが理解されるはずである。このような用語は、一要素を他の要素と区別する目的のみで用いられる。
本発明の一実施形態に係る移動ロボット100は、車輪などを利用して自ら移動が可能なロボットを意味し、家庭ヘルパーロボット及びロボット掃除機などになり得る。以下では、図面を参照して、移動ロボットのうち、掃除機能を有するロボット掃除機を例に挙げて説明するが、本発明はこれに限定されない。
図1a乃至図1d、及び図2は、本発明の多様な実施形態に係る、移動ロボット100の例示を示す図面である。
図1aは、本発明の一実施形態に係る移動ロボット100a、及び移動ロボット100aを充電させる充電台200を示す斜視図であり、図1bは、図1aに示した移動ロボット100aの上面部を示す図面であり、図1cは、図1aに示した移動ロボット100aの正面部を示す図面であり、図1dは、図1aに示した移動ロボット100aの底面部を示す図面である。
一方、図2は、本発明の他の一実施形態に係る、移動ロボット100bの例示を示す図面であり、図2に示した移動ロボット100bは、図1a乃至図1dに開示された移動ロボット100aと同一または類似する構成を備えることができるので、これに対する詳細な説明は省略することにする。
図1a乃至図1dを参照すると、移動ロボット100aは、例えば、本体110を移動させる少なくとも一つの駆動輪136を含むことができる。駆動輪136は、例えば、駆動輪136に連結された少なくとも一つのモータ(図示しない)によって駆動されて回転することができる。
駆動輪136は、例えば、本体110の左側、右側にそれぞれ備えられることができ、以下、それぞれ左輪136(L)及び右輪136(R)とする。
左輪136(L)及び右輪136(R)は、一つの駆動モータによって駆動されることもできるが、必要に応じて、左輪136(L)を駆動させる左輪駆動モータと、右輪136(R)を駆動させる右輪駆動モータがそれぞれ備えられることもできる。左輪136(L)と右輪136(R)の回転速度に差を持たせて左側または右側に本体110の走行方向を転換することができる。
移動ロボット100aは、例えば、異物を吸入する吸入装置(図示しない)、ブラッシングを行うブラシ154、155、吸入装置やブラシ154、155によって収去された異物を保存するダストボックス(図示しない)、拭き掃除を行う雑巾部(図示しない)などを含むことができる。
例えば、本体110の底面部には空気の吸入が行われる吸入口150hが形成されることができ、本体110の内部には吸入口150hを通じて空気が吸入されることができるように吸入力を提供する吸入装置と、吸入口150hを通じて空気とともに吸入された塵を集塵するダストボックスと、が備えられることができる。
移動ロボット100aは、例えば、移動ロボット100aを構成する各種部品が収容される空間を形成するケース111を含むことができる。ケース111にはダストボックスの挿入と脱去のための開口部(図示しない)が形成されることができ、開口部を開閉するダストボックスカバー112がケース111に対して回転可能に備えられることができる。
移動ロボット100aは、例えば、吸入口150hを通じて露出されるブラシを有するロール状のメインブラシ154と、本体110の底面部前方側に位置し、放射状に延長された複数の羽根からなるブラシを有する補助ブラシ155とを備えることができる。これらブラシ154、155の回転により走行区域内の床面から塵が分離され、このように床面から分離された塵は吸入口150hを通じて吸入され、吸入流路(図示しない)を通じてダストボックスに流入されることができる。
ダストボックスのフィルター乃至サイクロンを経て空気と塵が相互分離することができ、分離された塵はダストボックスに集塵され、空気はダストボックスで排出された後、本体110内部の排気流路(図示しない)を経て最終的に排気口(図示しない)を通じて外部に排出されることができる。
バッテリ138は、例えば、駆動モータだけでなく、移動ロボット100aの作動全般に必要な電源を供給することができる。一方、バッテリ138が放電されると、移動ロボット100aは充電のために充電台200に復帰する走行を行うことができ、このような復帰走行中に、移動ロボット100aは自ら充電台200の位置を探知することができる。
充電台200は、例えば、所定の復帰信号を送出する信号送出部(図示せず)を含むことができる。復帰信号は、例えば、超音波信号または赤外線信号であり得るが、必ずこれに限定されるのではない。
移動ロボット100aは、例えば、復帰信号を受信する信号感知部(図示しない)を含むことができる。
例えば、信号感知部は、赤外線信号を感知する赤外線センサを含むことができ、充電台200の信号送出部から送出された赤外線信号を受信することができる。この時、移動ロボット100aは、充電台200から送出された赤外線信号によって充電台200の位置に移動して、充電台200とドッキング(docking)することができる。このようなドッキングにより移動ロボット100の充電端子133と充電台200の充電端子210が接触されることができ、バッテリ138が充電されることができる。
移動ロボット100aは、例えば、移動ロボット100の内/外部の情報を感知する構成を備えることができる。
移動ロボット100aは、例えば、走行区域に対する画像情報を取得するカメラ120を備えることができる。
例えば、移動ロボット100aは、本体110前方の画像を取得するように備えられる前面カメラ120aを備えることができる。
例えば、移動ロボット100aは、本体110の上面部に備えられて、走行区域内の天井に対する画像を取得する上部カメラ120bを備えることができる。
例えば、移動ロボット100aは、本体110の底面部に備えられて、底の画像を取得する下部カメラ179をさらに備えることができる。
一方、移動ロボット100aに備えられたカメラ120の個数、配置される位置と、撮影範囲などが必ずこれに限定されるのではなく、走行区域に対する画像情報を取得するために多様な位置に配置されることができる。
例えば、移動ロボット100aは、本体110の一面に対して傾斜するように配置されて、前方と上方を一緒に撮影するように構成されたカメラ(図示しない)を含むこともできる。
例えば、移動ロボット100aは、前面カメラ120a及び/または上部カメラ120bを複数個備えることもでき、前方と上方を一緒に撮影するように構成されたカメラを複数個備えることもできる。
本発明の多様な実施形態に係ると、移動ロボット100aの一部部位(ex、前方、後方、底面)にカメラ120が設置されており、走行時や掃除時に画像を持続的に取得することができる。このようなカメラ120は、撮影効率のために各部位別に複数が設置されてもよく、カメラ120によって撮影された画像は、当該空間に存在する塵、髪の毛、底などのような物質の種類認識、掃除可否、または掃除時点を確認するのに用いられることができる。
移動ロボット100aは、例えば、レーザーを利用して本体110外部の地形情報を取得するライダー(light detection and ranging;LiDAR)センサ175を含むことができる。
ライダーセンサ175は、例えば、レーザーを出力し、客体から反射されたレーザーを受信することにより、レーザーを反射させた客体との距離、位置方向、材質などの情報を取得することができ、走行区域の地形情報を取得することができる。移動ロボット100は、例えば、ライダーセンサ175を通じて取得した情報に基づいて、360度の地形(geometry)情報を取得することができる。
移動ロボット100aは、例えば、移動ロボット100aの動作、状態に関する各種データをセンシングするセンサ171、172、179を含むことができる。
例えば、移動ロボット100aは、前方の障害物を感知する障害物感知センサ171、及び走行区域内の床面に崖が存在するか否か感知する崖感知センサ172などを含むことができる。
移動ロボット100aは、例えば、移動ロボット100aの電源オン/オフ(on/off)などの各種命令を入力することができる操作部137を含むことができ、操作部137を通じて移動ロボット100aの作動全般に必要な各種制御命令が入力されることができる。
移動ロボット100aは、例えば、出力部(図示しない)を含むことができ、予約情報、バッテリ状態、動作モード、動作状態、エラー状態などを表示することができる。
図3は、本発明の他の一実施形態に係る、移動ロボット100の内部ブロック図の一例である。
図3を参照すると、移動ロボット100は、例えば、保存部305、画像取得部320、入力部325、吸入ユニット330、制御部350、走行部360、センサ部370、出力部380、及び/または通信部390を含むことができる。
一方、本図面では、移動ロボット100に対してロボット掃除機を例に挙げて説明することから、吸入ユニット330を含むことで説明するが、本発明がこれに限定されるのではなく、移動ロボット100の機能及び目的によって多様な構成を含むことができる。
保存部305は、例えば、移動ロボット100の制御に必要な各種情報を保存することができる。
保存部305は、例えば、揮発性または不揮発性記録媒体を含むことができる。記録媒体は、マイクロプロセッサー(microprocessor)によって読み取られることができるデータを保存したもので、その種類や具現方式に限定されない。
保存部305は、例えば、走行区域に対するマップ(map)を保存することができる。保存部305に保存されるマップは、例えば、移動ロボット100と有線または無線通信を通じて情報を交換することができる外部端末機、サーバなどから入力されたものであり得、移動ロボット100が自ら学習をして生成したものでもあり得る。
保存部305は、例えば、ノード(node)に対するデータを保存することができる。ここで、ノードは、例えば、走行区域上の一地点を意味することができる。ノードに対するデータは、例えば、ノードに対する走行区域上の座標、ノードでの複数の移動方向に対する情報、他のノードとの関係に対する情報などを含むことができる。
例えば、マップには走行区域内の部屋の位置が表示されることができる。また、移動ロボット100の現在位置がマップ上に表示されることができ、マップ上での移動ロボット100の現在の位置は走行過程で更新されることができる。外部端末機は保存部305に保存されたマップと同じマップを保存することができる。
保存部305は、例えば、掃除履歴情報を保存することができる。このような掃除履歴情報は、掃除を行う度に生成されることができる。
保存部305に保存される走行区域に対するマップ(map)は、例えば、掃除中に走行に用いられるナビゲーションマップ(navigation map)、位置認識に用いられるスラム(simultaneous localization and mapping;SLAM)マップ、障害物などにぶつかると、当該情報を保存して学習掃除の時に用いる学習マップ、全域的位置認識に用いられる全域的位相マップ(topological map)、認識された障害物に関する情報が記録される障害物認識マップなどであり得る。
一方、前述のように、用途別に保存部305にマップを区分して保存、管理することができるが、マップが用途別に明確に区分されないこともある。例えば、少なくとも2以上の用途で用いることができるように、一つのマップに複数の情報が保存されることもできる。
画像取得部320は、例えば、移動ロボット100の周辺の画像を取得することができる。画像取得部320は、例えば、少なくとも一つのカメラ(例:図1aのカメラ120)を備えることができる。以下、画像取得部320を通じて取得された画像を「取得画像」と名付けることができる。
画像取得部320は、例えば、デジタルカメラを含むことができる。デジタルカメラは、少なくとも一つの光学レンズと、光学レンズを通過した光によって結像される複数の光ダイオード(photodiode、例えば、pixel)を含んで構成されたイメージセンサ(例えば、CMOS image sensor)と、光ダイオードから出力された信号に基づいて画像を構成するデジタル信号処理器(digital signal processor;DSP)とを含むことができる。デジタル信号処理器は、例えば、静止画像は勿論、静止画像で構成されたフレームからなる動画を生成することも可能である。
画像取得部320は、例えば、移動ロボット100の走行方向前面に存在する障害物または掃除領域の状況を撮影することができる。
本発明の一実施形態に係ると、画像取得部320は、本体110の周辺を連続的に撮影して複数の画像を取得することができ、取得された複数の画像は保存部305に保存されることができる。
移動ロボット100は、例えば、複数の画像を利用して障害物の認識の正確性を高めるか、複数の画像のうち一つ以上の画像を選択して効果的なデータを用いることにより、障害物の認識の正確性を高めることができる。
入力部325は、例えば、使用者の入力を受信することができる入力装置(例:キー、タッチパネルなど)を備えることができる。例えば、入力部325は、移動ロボット100aの電源オン/オフ(on/off)などの各種命令を入力することができる操作部137を含むことができる。
入力部325は、例えば、入力装置を通じて、使用者の入力を受信することができ、受信された使用者入力に対応する命令を制御部350に送ることができる。
吸入ユニット330は、例えば、塵が含まれた空気を吸入することができる。吸入ユニット330は、例えば、異物を吸入する吸入装置(図示しない)と、ブラッシングを行うブラシ154、155と、吸入装置やブラシ(例:図1cのブラシ154、155)によって収去された異物を保存するダストボックス(図示しない)と、空気の吸入が行われる吸入口(例:図1dの吸入口150h)などを含むことができる。
走行部360は、例えば、移動ロボット100を移動させることができる。走行部360は、例えば、移動ロボット100を移動させる少なくとも一つの駆動輪(例:図1cの駆動輪136)と、駆動輪を回転させる少なくとも一つのモータ(図示しない)とを含むことができる。
センサ部370は、例えば、移動ロボット100の内/外部の情報を感知する多様なセンサを含むことができる。
センサ部370は、例えば、レーザーを利用して本体110外部の地形情報を取得するライダー(LiDAR)センサ(例:図1aのライダーセンサ175)を含むことができる。
センサ部370は、例えば、前方の障害物を感知する障害物感知センサ(例:図1aの障害物感知センサ171)、走行区域内の底に崖を感知する崖感知センサ(例:図1dの崖感知センサ172)などを含むことができる。
障害物感知センサ171は、例えば、移動ロボット100の外周面に一定の間隔で複数個配置されることができる。障害物感知センサ171は、例えば、赤外線センサ、超音波センサ、RF(radio frequency)センサ、地磁気センサ、PSD(position sensitive device)センサなどを含むことができる。
障害物感知センサ171は、例えば、室内の壁や障害物との距離を感知するセンサであり得、本発明は、その種類に限定されないが、以下では超音波センサを例示して説明する。
障害物感知センサ171は、例えば、移動ロボット100の走行(移動)方向に存在する物体、特に障害物を感知して障害物情報を制御部350に伝達することができる。すなわち、障害物感知センサ171は、移動ロボット100の移動経路、移動ロボット100の前方や側面に存在する突出物、家内の什物、家具、壁面、壁角などを感知してその情報を制御部350に伝達することができる。
センサ部370は、例えば、移動ロボット100の走行動作を感知して動作情報を出力する走行感知センサ(図示しない)をさらに含むことができる。走行感知センサは、例えば、ジャイロセンサ(gyro sensor)、ホイールセンサ(wheel sensor)、加速度センサ(acceleration sensor)などを含むことができる。
ジャイロセンサは、例えば、移動ロボット100が運転モードによって動くときに回転方向を感知して回転角を検出することができる。ジャイロセンサは、例えば、移動ロボット100の角速度を検出して角速度に比例する電圧値を出力することができる。
ホイールセンサは、例えば、駆動輪136(例:図1dの左輪136(L)と右輪136(R))に連結されて駆動輪136の回転数を感知することができる。ここで、ホイールセンサは、例えば、エンコーダ(encoder)であり得る。エンコーダは、左輪136(L)と、右輪136(R)の回転数を感知して出力することができる。
加速度センサは、例えば、移動ロボット100の速度変化を検出することができる。加速度センサは、例えば、駆動輪136の隣接した位置に付着されることもでき、制御部350に内蔵されることもできる。
出力部380は、例えば、オーディオ信号を出力する音響出力部381を含むことができる。音響出力部は、制御部350の制御によって警告音、動作モード、動作状態、エラー状態などのアラームメッセージ、使用者の命令入力に対応する情報、使用者の命令入力に対応する処理結果などを音響で出力することができる。
音響出力部381は、例えば、制御部150からの電気信号をオーディオ信号に変換して出力することができる。このために、スピーカーなどを備えることができる。
出力部380は、例えば、使用者の命令入力に対応する情報、使用者の命令入力に対応する処理結果、動作モード、動作状態、エラー状態などを画像で表示するディスプレー382を含むことができる。
実施形態によって、ディスプレー382は、タッチパッドと相互レイヤー構造を成してタッチスクリーンで構成されることができる。この場合、タッチスクリーンで構成されるディスプレー382は、出力装置以外に使用者のタッチによる情報の入力が可能な入力装置としても用いられることができる。
通信部390は、例えば、少なくとも一つの通信モジュール(図示しない)を備えることができ、外部機器とデータを送受信することができる。移動ロボット100と通信する外部機器のうち、外部端末機は、例えば、移動ロボット100を制御するためのアプリケーションを備え、アプリケーションの実行を通じて、移動ロボット100が掃除する走行区域に対するマップを表示し、マップ上に特定領域を掃除するように領域を指定することができる。外部端末機は、例えば、マップの設定のためのアプリケーション(application)が搭載されたリモートコントローラ、PDA、ラップトップ(laptop)、スマートフォン、タブレットなどを例に挙げることができる。
通信部390は、例えば、ワイファイ(Wi-fi)、ブルートゥース(登録商標)(bluetooth)、ビーコン(beacon)、ジグビー(zigbee)、RFID(radio frequency identification)などの無線通信方式で信号を送受信することができる。
一方、移動ロボット100は、例えば、充電可能なバッテリ(例:図1dのバッテリ138)を備えて、ロボット掃除機内に電源を供給する電源供給部(図示しない)を含むことができる。
電源供給部は、例えば、移動ロボット100の各構成要素に駆動電源と、動作電源を供給することができる。
移動ロボット100は、例えば、バッテリ138のバッテリ残量、充電状態などを感知することができ、感知結果を制御部350に送るバッテリ感知部(図示しない)をさらに含むことができる。一方、バッテリ残量に対する情報は、例えば、出力部380を通じて出力されることができる。
制御部350は、例えば、移動ロボット100に備えられた各構成と連結されることができる。制御部350は、例えば、移動ロボット100に備えられた各構成と相互間に信号を送受信することができ、各構成の全般的な動作を制御することができる。
制御部350は、例えば、センサ部370を通じて取得した情報に基づいて、移動ロボット100の内/外部に対する状態を判断することができる。
制御部350は、例えば、ジャイロセンサから出力される電圧値を利用して回転方向及び回転角を算出することができる。
制御部350は、例えば、ホイールセンサから出力される回転数に基づいて、駆動輪136の回転速度を演算することができる。また、制御部350は、例えば、左輪136(L)と右輪136(R)の回転数の差に基づいて回転角を演算することもできる。
制御部350は、例えば、加速度センサから出力される値に基づいて、移動ロボット100の出発、静止、方向転換、物体との衝突などのような移動ロボット100の状態変化を判断することができる。一方、制御部350は、例えば、加速度センサから出力される値に基づいて、速度変化による衝撃量を検出することができて、加速度センサは、電子式バンパーセンサの機能を実行することもできる。
制御部350は、例えば、超音波センサを通じて受信された少なくとも2以上の信号に基づいて、障害物の位置を感知し、感知された障害物の位置によって移動ロボット100の動きを制御することができる。
実施形態によっては、移動ロボット100の外側面に備えられる障害物感知センサ131は、発信部と受信部とを含んで構成されることができる。
例えば、超音波センサは、少なくとも一つ以上の発信部及び少なくとも二つ以上の受信部が互いにずれるように備えられることができる。それにより、発信部は、多様な角度で超音波信号を放射することができ、障害物に反射された超音波信号を少なくとも二つ以上の受信部が多様な角度で受信することができる。
実施形態によって、超音波センサで受信された信号は、増幅、フィルタリングなどの信号処理過程を経ることができ、その後、障害物までの距離及び方向が算出されることができる。
一方、制御部350は、例えば、走行制御モジュール351、地図生成モジュール352、位置認識モジュール353及び/または障害物認識モジュール354を含むことができる。本図面では、説明の便宜上、走行制御モジュール351、地図生成モジュール352、位置認識モジュール353及び/または障害物認識モジュール354に区分して説明するが、本発明がこれに限定されるのではない。
例えば、位置認識モジュール353と障害物認識モジュール354は、一つの認識機として統合されて、一つの認識モジュール355に構成されることができる。この場合、マシンラーニングなどの学習技法を利用して認識機を学習させ、学習された認識機は、以後に入力されるデータを分類して領域、事物などの属性を認識することができる。
実施形態によって、地図生成モジュール352、位置認識モジュール353、及び障害物認識モジュール354が一つの統合モジュールに構成されることもできる。
走行制御モジュール351は、例えば、移動ロボット100の走行を制御することができ、走行設定によって走行部360の駆動を制御することができる。
走行制御モジュール351は、例えば、走行部360の動作に基づいて移動ロボット100の走行経路を把握することができる。例えば、走行制御モジュール351は、駆動輪136の回転速度に基づいて移動ロボット100の現在または過去の移動速度、走行した距離などを把握することができ、このように把握された移動ロボット100の走行情報に基づいて、マップ上で移動ロボット100の位置が更新されることができる。
地図生成モジュール352は、例えば、走行区域に対するマップを生成することができる。
地図生成モジュール352は、例えば、移動ロボット100が走行する間に取得した情報に基づいてマップをリアルタイムで生成及び/または更新することができる。
地図生成モジュール352は、例えば、複数の移動方向を設定することができる。例えば、地図生成モジュール352は、走行区域に対するマップを生成する機能(以下、マップ生成機能)が実行される場合、機能が実行される時点に移動ロボット100の前面が向かう方向を第1移動方向に設定することができる。また、地図生成モジュール352は、例えば、機能が実行される時点に移動ロボット100の左側面が向かう方向を第2移動方向、移動ロボット100の右側面が向かう方向を第3移動方向、第1方向の反対方向である移動ロボット100の後面が向かう方向を第4移動方向に設定することができる。
一方、既設定された複数の移動方向は、例えば、マップを生成する機能が実行される間に、移動ロボット100が移動したり回転する場合にも変更されずに固定されるように設定されることができる。
例えば、複数の移動方向が設定された後、移動ロボット100が反時計回り方向に回転した場合、移動ロボット100の前面が向かう方向は第2移動方向になり得、移動ロボット100が直進する場合、移動ロボット100の走行方向は第2移動方向になり得る。
一方、本図面では、複数の移動方向を4つの方向に設定されることで説明するが、本発明がこれに限定されるのではなく、多様な実施形態によって、8個、16個など多様な個数の方向に設定されることもできる。
地図生成モジュール352は、例えば、画像取得部320を通じて取得した画像に基づいてマップを作成することができる。例えば、地図生成モジュール352は、移動ロボット100が走行する間に画像取得部320を通じて取得した取得画像に基づいてマップを作成することができる。
地図生成モジュール352は、例えば、画像取得部320を通じて取得した取得画像それぞれに含まれた、走行区域に位置する照明、境界(edge)、コーナー(corner)、染み(blob)、屈曲(ridge)などの様々な特徴(feature)を検出することができる。
地図生成モジュール352は、例えば、取得画像から特徴を検出する特徴検出器(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検出器などを含むことができる。
地図生成モジュール352は、例えば、取得画像から検出した走行区域に対する特徴に基づいて、マップを作成することができる。一方、本発明の多様な実施形態に係ると、取得画像から特徴を検出する動作は、位置認識モジュール353で実行されることもできる。
地図生成モジュール352は、例えば、ライダーセンサ175を通じて取得した情報に基づいてマップを作成することができる。
例えば、地図生成モジュール352は、ライダーセンサ175を通じて出力され、外部客体で反射されて受信されるレーザーの受信時間差、信号強度のような受信パターンを分析して、走行区域の地形情報を取得することができる。走行区域の地形情報は、例えば、移動ロボット100の周辺に存在する客体の位置、距離、方向などを含むことができる。
地図生成モジュール352は、例えば、ライダーセンサ175を通じて取得した走行区域の地形情報に基づいてノードを生成することができ、生成されたノードを含む全域的位相マップ(topological map)を作成することができる。これに対する詳細な説明は、図4a、図4b、図5a乃至図5j、及び図6a乃至図6fを参照して後述することにする。
位置認識モジュール353は、例えば、移動ロボット100の位置を判断することができる。位置認識モジュール353は、例えば、移動ロボット100が走行する間に、移動ロボット100の位置を判断することができる。
位置認識モジュール353は、例えば、画像取得部320を通じて取得した取得画像に基づいて移動ロボット100の位置を判断することができる。
例えば、位置認識モジュール353は、移動ロボット100が走行する間に、取得画像から検出した走行区域の各位置に対する特徴を、地図生成モジュール352で作成されたマップの各位置にマッピング(mapping)させることができ、マップの各位置にマッピングされた走行区域の各位置に対する特徴に対するデータを位置認識データとして保存部305に保存することができる。
一方、例えば、位置認識モジュール353は、取得画像から検出した走行区域に対する特徴と、保存部305に保存された位置認識データに含まれた、走行領域のそれぞれの位置に対する特徴を比較して、位置別類似度(確率)を算出することができ、算出された位置別類似度(確率)に基づいて、類似度が最も大きい位置を移動ロボット100の位置として判断することができる。
一方、移動ロボット100は、例えば、位置認識モジュール353なしに走行制御モジュール351、地図生成モジュール352及び/または障害物認識モジュール354を通じて、マップを学習して現在位置を判断することもできる。
障害物認識モジュール354は、例えば、移動ロボット100の周辺の障害物を感知することができる。例えば、障害物認識モジュール354は、画像取得部320を通じて取得した取得画像及び/またはセンサ部370を通じて取得したセンシングデータに基づいて、移動ロボット100の周辺の障害物を感知することができる。
例えば、障害物認識モジュール354は、ライダーセンサ175を通じて取得した走行区域の地形情報に基づいて、移動ロボット100の周辺の障害物を感知することができる。
障害物認識モジュール354は、例えば、移動ロボット100が走行する間に、移動ロボット100の走行を邪魔する障害物が存在するか否かを判断することができる。
障害物認識モジュール354は、例えば、障害物が存在することと判断される場合、障害物の属性によって直進、回転などの走行パターンを決めることができ、決めた走行パターンを走行制御モジュール351に伝達することができる。
例えば、障害物の属性が移動ロボット100の走行が可能な種類の障害物(例:底に存在する突出物など)である場合、障害物認識モジュール354は、移動ロボット100が走行し続けるように、走行パターンを決めることができる。
または、例えば、障害物の属性が移動ロボット100の走行が不可能な種類の障害物(例:壁面、家具など)である場合、障害物認識モジュール354は、移動ロボット100が回転するように、走行パターンを決めることができる。
本発明の実施形態に係る移動ロボット100は、マシンラーニング(machine learning)に基づく人、事物認識及び回避を実行することができる。ここで、マシンラーニングは、コンピュータに人が直接ロジック(Logic)を指示しなくてもデータを通じてコンピュータが学習をし、これを通じてコンピュータが問題を解決するようにすることを意味することができる。
ディープラーニング(Deep Learning)は、人工知能を構成するためのニューラルネットワーク(artificial neural networks;ANN)に基づいて、コンピュータに人の考え方を教える方法であり、人が教えなくてもコンピュータが自ら人のように学習することができる人工知能技術を意味することができる。
ニューラルネットワーク(ANN)は、ソフトウェア形態で具現されるか、チップ(chip)などのハードウェア形態で具現されることができる。
障害物認識モジュール354は、例えば、障害物の属性が学習されたソフトウェアまたはハードウェア形態のニューラルネットワーク(ANN)を含むことができる。
例えば、障害物認識モジュール354は、ディープラーニングで学習されたCNN(convolutional neural network)、RNN(recurrent neural network)、DBN(deep belief network)など深層ニューラルネットワーク(deep neural network;DNN)を含むことができる。
障害物認識モジュール354は、例えば、深層ニューラルネットワーク(DNN)に含まれたノードの間の加重値(weight)に基づいて入力される画像データに含まれる障害物の属性を判別することができる。
障害物認識モジュール354は、例えば、画像取得部320、特に前面カメラセンサ120aが取得した画像全体を用いるのではなく、一部領域のみを用いて移動方向に存在する障害物の属性を判別することができる。
また、走行制御モジュール351は、例えば、認識された障害物の属性に基づいて走行部360の駆動を制御することができる。
保存部330には、例えば、障害物の属性を判別するための入力データ、前記深層ニューラルネットワーク(DNN)を学習するためのデータが保存されることができる。
保存部330には、例えば、画像取得部320が取得した原本画像と、所定領域が抽出された抽出画像が保存されることができる。
保存部330には、例えば、深層ニューラルネットワーク(DNN)の構造を成すウェイト(weight)、バイアス(bias)が保存されることができる。
例えば、深層ニューラルネットワーク構造を成すウェイト(weight)、バイアス(bias)は、障害物認識モジュール354のエンベディッドメモリ(embedded memory)に保存されることができる。
障害物認識モジュール354は、例えば、画像取得部320が取得する画像の一部領域を抽出する度に、前記抽出された画像をトレーニング(training)データとして用いて学習過程を行うか、所定数以上の抽出画像が取得された後に学習過程を行うことができる。
すなわち、障害物認識モジュール354は、例えば、障害物を認識する度に認識結果を追加してウェイト(weight)などの深層ニューラルネットワーク(DNN)構造をアップデート(update)するか、所定回数のトレーニングデータが確保された後、確保されたトレーニングデータにより学習過程を行ってウェイト(weight)などの深層ニューラルネットワーク(DNN)構造をアップデートすることができる。
または、移動ロボット100は、例えば、通信部390を介して画像取得部320が取得した原本画像または抽出された画像を所定サーバに送り、所定サーバからマシンラーニングに関するデータを受信することができる。
この場合に、移動ロボット100は、所定サーバから受信されたマシンラーニングに関するデータに基づいて障害物認識モジュール354をアップデート(update)することができる。
図4aは、本発明の一実施形態に係る、移動ロボット100に備えられたライダーセンサ175の説明に参照される図面である。
図4aを参照すると、ライダーセンサ175は、例えば、360度全方向に対してレーザーを出力することができ、客体から反射されたレーザーを受信することにより、レーザーを反射させた客体との距離、位置方向、材質などの情報を取得することができ、走行区域の地形情報を取得することができる。
移動ロボット100は、例えば、ライダーセンサ175の性能及び設定による、所定距離以内の地形情報を取得することができる。例えば、移動ロボット100は、ライダーセンサ175を基準として所定距離の半径を有する円領域610以内の地形情報を取得することができる。
移動ロボット100は、例えば、円領域610を複数の移動方向によって区分することができる。例えば、複数の移動方向が4つに設定される場合、円領域610を第1移動方向501乃至第4移動方向504に対応する4つの領域に区分することができ、走行区域の地形情報を各領域に対して区分することができる。
図4bは、本発明の一実施形態に係る、移動ロボットの走行に対する説明に参照される図面である。
図4bを参照すると、移動ロボット100は、走行区域の地形情報を取得することができる。例えば、移動ロボット100は、走行命令に従って走行する間に、ライダーセンサ175を通じて走行区域の地形情報を取得することができる。
移動ロボット100は、ライダーセンサ175を通じて取得した4つの移動方向に対する地形情報から、自由端(free edge)を抽出することができる。ここで、自由端(free edge)は、例えば、移動ロボット100の走行が可能な、レーザーを反射させた客体の間の空間に対する情報を意味することができる。
図4bに示したように、移動ロボット100は、それぞれの移動方向に対して、移動通路の両端点と、ライダーセンサ175を基準として所定距離の半径を有する円領域610によって描かれる弧に基づいて自由端(free edge)を抽出することができる。
自由端E1、E2、E3は、各移動方向の移動通路の幅、移動通路の位置情報、移動通路の中央点に対する情報などを含むことができ、移動通路の両端点と移動ロボット100の中心線との間の角度に対する情報も含むことができる。ここで、移動ロボット100の中心線は、例えば、移動ロボット100を基準として、複数の移動方向に向かって延長した直線を意味することができる。
一方、移動ロボット100は、自由端(free edge)で壁面のような障害物に対応する特徴点(以下、エッジ(edge))を抽出することができる。この時、移動ロボット100は、エッジ(edge)の間の間隔に基づいて、移動通路の幅、障害物の間の間隔などを判断することができる。
一方、移動ロボット100は、移動通路の中央に沿って移動するために、自由端(free edge)に基づいて移動通路の中央点を検出することができ、中央点に沿って走行することができる。
図5a乃至図5jは、本発明の一実施形態に係る、移動ロボット100の動作の説明に参照される図面である。本図面で説明する移動ロボット100の動作は、移動ロボット100に備えられた構成(例:図3の制御部350)の動作で理解され得る。
図5aを参照すると、移動ロボット100は、マップ生成機能が実行される場合、複数の移動方向を設定することができる。
例えば、移動ロボット100は、マップ生成機能が実行される場合、マップ生成機能が実行される時点に移動ロボット100の前面が向かう方向を第1移動方向501、移動ロボット100の左側面が向かう方向を第2移動方向502、移動ロボット100の右側面が向かう方向を第3移動方向503、第1方向の反対方向である移動ロボット100の後面が向かう方向を第4移動方向504に設定することができる。
一方、移動ロボット100は、マップ生成機能が実行される場合、移動ロボット100の位置を調整することができ、調整された位置を基準として複数の移動方向501乃至504を設定することができる。
例えば、移動ロボット100は、走行区域内の天井に対する画像を取得する上部カメラ(例:図1aの上部カメラ120b)を通じて、天井に対する画像の特徴(例:天井方向)を検出することができ、検出された特徴に基づいて、移動ロボット100の位置を調整することができる。
一方、移動ロボット100は、マップ生成機能が実行される場合、現在移動ロボット100の位置に対応する第1ノードN1を生成することができる。例えば、移動ロボット100は、第1ノードN1の座標を0、0に設定することができ、その後に生成されるノードの座標を第1ノードN1の座標を基準として設定することができる。ここで、ノードの座標は、例えば、座標平面上の座標であり得る。
移動ロボット100は、ライダーセンサ(例:図4aのライダーセンサ175)を通じて、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断することができる。
ここで、オープン(open)された移動方向は、例えば、移動ロボット100が走行可能で、移動ロボット100が既走行しない移動方向を意味することができる。
例えば、移動ロボット100から所定距離(例:3m)以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在したり、移動通路の幅が移動ロボット100が走行可能な所定基準幅未満である場合、移動ロボット100は走行が不可能であると判断することができる。
図5bを参照すると、移動ロボット100は、ライダーセンサ175を通じて取得した、所定距離610以内の走行区域の地形情報に基づいて、複数の移動方向501乃至504に対する移動通路の幅をそれぞれ確認することができる。
移動ロボット100は、複数の移動方向501乃至504に対応するそれぞれの領域で、移動通路の幅を算出する基準となるエッジ(edge)を決めることができ、各エッジの間の間隔に基づいて、移動通路の幅を確認することができる。
この時、移動通路の幅が基準幅(例:移動ロボット100の直径)以上の場合、移動ロボット100は走行が可能な移動通路であると判断することができる。
移動ロボット100は、第1移動方向501に対応する領域で二つのエッジe11、e12を決めることができ、二つのエッジe11、e12の間の距離L1に基づいて、第1移動方向501に対する移動通路の幅L1が基準幅以上であると判断することができる。
一方、第3移動方向503に対する移動通路の幅L3は、基準幅以上であるが、移動ロボット100から所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在することを確認することができる。
また、第4移動方向504も、移動ロボット100から所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在することを確認することができる。
したがって、移動ロボット100は、第1移動方向501及び第2移動方向502をオープン(open)された移動方向と判断することができる。
移動ロボット100は、例えば、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断し、判断結果に基づいてノードを生成することもできる。
例えば、移動ロボット100は、オープン(open)された移動方向に移動ロボット100の現在走行方向が含まれない場合、またはオープン(open)された移動方向に移動ロボット100の現在走行方向を含む複数の移動方向が含まれた場合、ノードを生成することができる。
一方、例えば、移動ロボット100の現在走行方向に設定された移動方向のみオープン(open)された場合、移動ロボット100は、ノードを生成しないで、設定された走行方向に沿って直進することができる。
一方、例えば、移動ロボット100は、現在位置に対応するノードが存在する場合、ノードを生成しなくてもいい。この時、図5aで第1ノードN1を生成したので、移動ロボット100はノードを生成しなくてもいい。
一方、本図5aでは、マップ生成機能が実行される場合、移動ロボット100が現在移動ロボット100の位置に対応して第1ノードN1を生成することで説明したが、本発明がこれに限定されるのではない。
したがって、マップ生成機能が実行される場合、移動ロボット100の走行方向が設定されない関係で、オープン(open)された移動方向に移動ロボット100の現在走行方向が含まれない場合に対応するので、移動ロボット100は、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断した後に第1ノードN1を生成することもできる。
移動ロボット100は、例えば、マップ生成機能が実行される時点に移動ロボット100の前面が向かう方向を走行方向に決めることもできる。
移動ロボット100は、例えば、オープン(open)された移動方向の何れか一つを走行方向に決めることもできる。移動ロボット100は、例えば、オープン(open)された移動方向のそれぞれの費用(cost)を確認することができ、オープン(open)された移動方向の費用を比較して、走行方向を決めることができる。ここで、費用(cost)は、例えば、オープン(open)された移動方向それぞれに対する移動通路の幅、現在走行方向に設定されているか否かなどを含むことができる。
例えば、移動ロボット100は、オープン(open)された移動方向それぞれに対する移動通路の幅を比較することができ、幅が最も広い移動通路の移動方向を走行方向に決めることができる。本図面では、第1移動方向501に対する移動通路の幅L1が最も広いので、第1移動方向501が走行方向に決められることができる。
一方、例えば、移動ロボット100は、オープン(open)された移動方向のうち、現在走行方向に設定された移動方向を走行方向に保持することもできる。
一方、移動ロボット100に保存されたノードに対するデータに対して、次の表1を参照して説明することにする。
Figure 0007329125000001
表1を参照すると、第1ノードN1の座標は0、0に設定されることができ、第1移動方向501及び第2移動方向502は、オープン(open)を示す「-2」、第3移動方向503及び第4移動方向504はオープン(open)されないことを示す「-1」に設定されることができる。一方、本図面では、座標の基準数値をセンチメートル(cm)で説明するが、本発明がこれに限定されるのではない。
一方、第3移動方向503の場合、移動ロボット100から所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在するが、移動通路の幅L3が基準幅以上であり、移動ロボット100が走行することができる領域が存在するので、第1ノードN1から第3移動方向503へ所定距離離隔された位置に第2ノードN2を生成することができる。この時、生成されるノードの位置は、例えば、移動ロボット100と障害物との間の距離L4を考慮して決められることができる。
第1ノードN1及び第2ノードN2に対するデータは、次の表2のように設定されることができる。
Figure 0007329125000002
表2を参照すると、第1ノードN1の第3移動方向503に第2ノードN2が生成されることによって、第1ノードN1の第3移動方向503に対するデータ値は第2ノードN2を指す「2」にアップデート(update)されることができる。
一方、第2ノードN2の座標は0、-200に設定されることができ、第2移動方向502に第1ノードN1が位置することによって、第2ノードN2の第2移動方向502に対するデータ値は「1」に設定されることができる。
移動ロボット100は、走行方向に決められた第1移動方向に走行することができる。移動ロボット100は、走行方向の移動通路で走行する間に、移動通路の中央に沿って走行することができる。
例えば、移動ロボット100は、走行方向の移動通路で走行する間に、移動通路の幅を算出する基準となるエッジ(edge)に基づいて移動通路の中央点を検出することができ、中央点に沿って走行することができる。
一方、移動ロボット100は、走行方向の移動通路で走行する間に、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断することができる。例えば、移動ロボット100は、走行方向の移動通路で走行する間に、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを所定周期に応じて持続的に判断することができる。
図5cを参照すると、第3移動方向503に対する移動通路の幅L3は基準幅以上であるが、移動ロボット100から所定距離610以内に移動ロボット100が走行不可能な種類の障害物e33が存在することを確認することができる。
一方、第4移動方向504は、走行方向の反対方向に対応して、移動ロボット100が既走行した移動方向に対応するので、移動ロボット100は、オープン(open)されない移動方向と判断することができる。
したがって、移動ロボット100は、複数の移動方向501乃至504のうち、走行方向である第1移動方向501のみオープン(open)されたことを確認することができ、現在走行方向に走行し続けることができる。
図5dを参照すると、移動ロボット100は、走行方向の移動通路で走行する間に、複数の移動方向501乃至504のうち、第1移動方向501及び第2移動方向502がオープン(open)された移動方向であることを確認することができる。
現在走行方向である第1走行方向501を含む複数の移動方向がオープン(open)された移動方向に対応するので、移動ロボット100は第3ノードN3を生成することができる。
第1ノードN1乃至第3ノードN3に対するデータは、次の表3のように設定されることができる。
Figure 0007329125000003
表3を参照すると、第1ノードN1の第1移動方向501に第3ノードN3が生成されることによって、第1ノードN1の第1移動方向501に対するデータ値は第3ノードN3を指す「3」にアップデート(update)されることができる。
一方、第3ノードN3の座標は、移動ロボット100の走行距離に基づいて、400、0に設定されることができ、第4移動方向504に第1ノードN1が位置することによって、第3ノードN3の第4移動方向504に対するデータ値は第1ノードN1を示す「1」に設定されることができる。
移動ロボット100は、オープン(open)された第1移動方向501及び第2移動方向502それぞれに対する移動通路の幅L1、L2を比較して、第1移動方向501を走行方向に決めることができる。
図5eを参照すると、移動ロボット100は、走行方向に沿って走行する間に、図5dで第3ノードN3を生成したのと同様に、第4ノードN4を生成することができる。
一方、第1ノードN1乃至第4ノードN4に対するデータは、次の表4のように設定されることができる。
Figure 0007329125000004
表4を参照すると、第3ノードN3の第1移動方向501に第4ノードN4が生成されることによって、第3ノードN3の第1移動方向501に対するデータ値は第4ノードN4を指す「4」にアップデート(update)されることができる。
一方、第4ノードN4の座標は、移動ロボット100の走行距離に基づいて、800、0に設定されることができ、第4移動方向504に第3ノードN3が位置することによって、第4ノードN4の第4移動方向504に対するデータ値は第3ノードN3を指す「3」に設定されることができる。
一方、移動ロボット100は、走行方向に沿って走行する間に、走行方向である第1移動方向501に対して所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在することを確認することができる。
この時、移動ロボット100は、走行方向に沿って走行する状態であり、移動通路の幅L1が基準幅以上であるので、図5bで第2ノードN2を生成したのと違って、障害物に近付くまで移動し続けることができる。
移動ロボット100が障害物に近付く間にも、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在しない場合、移動ロボット100は、障害物に近付いた位置に新しいノードを生成することができる。
また、移動ロボット100は、ノードに対するデータに基づいて、ノードのうち、アップデート(update)が必要なノードが存在するか否かを判断することができる。ここで、アップデート(update)が必要なノードは、例えば、ノードに関するデータ値のうち、オープン(open)を示す「-2」を含むノードが存在する場合、当該ノードはアップデート(update)が必要なノードに判断されることができる。
一方、図5fのように、移動ロボット100が、移動ロボット100が障害物に近付く間に、複数の移動方向501乃至504のうち、走行方向である第1移動方向501はオープン(open)されずに、他の移動方向502がオープン(open)されたことを確認する場合、移動ロボット100は第5ノードN5を生成することができる。
一方、第1ノードN1乃至第5ノードN3に対するデータは、次の表5のように設定されることができる。
Figure 0007329125000005
表5を参照すると、第4ノードN4の第1移動方向501に第5ノードN5が生成されることにより、第4ノードN4の第1移動方向501に対するデータ値は第5ノードN5を指す「5」にアップデート(update)されることができる。
一方、第5ノードN5の座標は、移動ロボット100の走行距離に基づいて1100、0に設定されることができ、第4移動方向504に第4ノードN4が位置することにより、第5ノードN5の第4移動方向504に対するデータ値は第4ノードN4を指す「4」に設定されることができる。
一方、移動ロボット100は、複数の移動方向501乃至504のうち、オープン(open)された移動方向である第2移動方向502を走行方向に決めることができ、第2移動方向502に走行することができる。
図5gを参照すると、移動ロボット100は、走行方向に沿って走行する間に、図5c乃至図5eで第3ノードN3乃至第5ノードN5を生成したのと同様に、第6ノードN6乃至第9ノードN9を生成することができる。
この時、本発明の図面では、すべての空間の入口に設置されたドアが閉鎖されていることを基準として説明し、ドアが開放されている場合、移動ロボット100の移動経路は相異することがある。
一方、第1ノードN1乃至第9ノードN9に対するデータは、次の表6のように設定されることができる。
Figure 0007329125000006
一方、移動ロボット100は、第9ノードN9で第3移動方向503に走行する間に、第1ノードN1に復帰することを確認することができる。
移動ロボット100は第1ノードN1に対応する位置でオープン(open)された移動方向が存在しないことを確認することができる。この時、当該位置に第1ノードN1が既設定されているので、移動ロボット100は新しいノードを生成せず、ノードに対するデータに基づいて、ノードのうち、アップデート(update)が必要なノードが存在するか否かを判断することができる。
移動ロボット100は、アップデート(update)が必要なノードが存在する場合、アップデート(update)が必要なノードの何れか一つに移動することができる。この時、移動ロボット100は、アップデート(update)が必要なノードのうち、移動ロボット100の現在位置から最短距離に位置するノードを決めることができる。
例えば、移動ロボット100は、ノードに対するデータに含まれたノードの間の距離を確認することができ、移動ロボット100の現在位置から最短距離に位置するノードを決めることができる。
一方、移動ロボット100は、アップデート(update)が必要なノードの何れか一つに移動した後、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断することができる。
前記表6を参照すると、移動ロボット100は、ノードに関するデータ値にオープン(open)を示す「-2」が含まれている第3ノードN3、第4ノードN4、第7ノードN7、及び第8ノードN8をアップデート(update)が必要なノードと判断することができる。
図5hを参照すると、移動ロボット100は、アップデート(update)が必要なノードのうち、最短距離に位置する第3ノードN3に移動することができ、第3ノードN3でオープン(open)された移動方向である第2移動方向502を走行方向に決めて走行することができる。
移動ロボット100は、走行方向である第2移動方向502に走行する間に、複数の移動方向501乃至504のうち、走行方向である第2移動方向502のみオープン(open)されたことを確認することができ、現在走行方向に走行し続けることができる。
一方、移動ロボット100は、所定距離以上走行方向のみに走行する場合、所定距離に応じて新しいノードを生成することができる。
移動ロボット100は、走行方向に走行する間に、第10ノードN10を生成することができる。
例えば、移動ロボット100は、走行方向に走行する間に、所定距離以上複数の移動方向501乃至504のうち、走行方向のみオープン(open)された場合、新しいノードを生成してより正確なマップを作成することができる。
移動ロボット100は、第8ノードN8に対応する位置に到着したことを確認することができる。
一方、第1ノードN1乃至第10ノードN10に対するデータは、次の表7のように設定されることができる。
Figure 0007329125000007
移動ロボット100は、第8ノードN8に対応する位置でオープン(open)された移動方向が存在しないことを確認することができる。この時、当該位置に第8ノードN8が既設定されているので、移動ロボット100は新しいノードを生成せず、ノードに対するデータに基づいて、ノードのうち、アップデート(update)が必要なノードが存在するか否かを判断することができる。
前記表7を参照すると、移動ロボット100は、ノードに関するデータ値にオープン(open)を示す-2が含まれている第4ノードN4及び第7ノードN7をアップデート(update)が必要なノードと判断することができる。
図5iを参照すると、移動ロボット100は、アップデート(update)が必要なノードのうち、最短距離に位置する第7ノードN7に移動することができ、第7ノードN7でオープン(open)された移動方向である第3移動方向503を走行方向に決めて走行することができる。
図5hのように、移動ロボット100は、走行方向である第3移動方向503に走行する間に、複数の移動方向501乃至504のうち、走行方向である第3移動方向503のみオープン(open)されたことを確認することができ、現在走行方向に走行し続けることができる。
一方、移動ロボット100は、走行方向に走行する間に、より正確なマップの作成のために、第11ノードN11を生成することができる。
移動ロボット100は、第4ノードN4に対応する位置に到着したことを確認することができ、第4ノードN4に対応する位置でオープン(open)された移動方向が存在しないことを確認することができる。また、当該位置に第4ノードN4が既設定されているので、移動ロボット100は新しいノードを生成せず、ノードに対するデータに基づいて、ノードのうち、アップデート(update)が必要なノードが存在するか否かを判断することができる。
一方、第1ノードN1乃至第11ノードN11に対するデータは、次の表8のように設定されることができる。
Figure 0007329125000008
移動ロボット100は、ノードに対するデータに基づいて、アップデート(update)が必要なノードがこれ以上存在しないことを確認することができ、生成された全域的位相マップ(topological map)を保存部305に保存してマップの生成を完了することができる。
図5jを参照すると、移動ロボット100は、生成された全域的位相マップ(topological map)に基づいて、ノードの間の関係を確認することができ、移動経路を決めることもできる。
図6a乃至6fは、本発明の他の一実施形態に係る、移動ロボット100の動作の説明に参照される図面である。
図6aを参照すると、移動ロボット100は、マップ生成機能が実行される場合、複数の移動方向を設定することができる。
移動ロボット100は、ライダーセンサ(例:図4aのライダーセンサ175)を通じて、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断することができる。
この時、図5bと違って、第1移動方向501及び第2移動方向502に対応する領域で、エッジ(edge)に基づいた移動通路の幅が算出されないことを確認することができる。
すなわち、移動ロボット100は、第1移動方向501及び第2移動方向502をオープン(open)された移動方向と判断し、第1移動方向501及び第2移動方向502に対して所定距離610以内にどんな障害物も存在しないと判断することができる。
移動ロボット100は、オープン(open)された第1移動方向501及び第2移動方向502の何れか一つを走行方向に決めることができる。この時、第1移動方向501及び第2移動方向502に対して所定距離610以内にどんな障害物も存在しないので、移動ロボット100はオープン(open)された第1移動方向501及び第2移動方向502の何れか一つを走行方向に決めることができる。
一方、移動ロボット100は、図5bのように、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するので、第1ノードN1を生成することができ、第1ノードN1から第3移動方向503に所定距離離隔された位置に第2ノードN2を生成することができる。
図6bを参照すると、図5c乃至5fのように、移動ロボット100は、走行方向に走行する間に、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断することができる。
例えば、移動ロボット100は、走行方向である第1移動方向501に走行する間に、第1移動方向501及び第2移動方向502をオープン(open)された移動方向と判断することができる。また、移動ロボット100は、第1移動方向501及び第2移動方向502に対して所定距離610以内にどんな障害物も存在しないと判断することができる。
一方、第1移動方向501及び第2移動方向502に対して所定距離610以内にどんな障害物も存在しない場合、移動ロボット100は、走行方向である第1移動方向501に走行し続けることができる。
一方、移動ロボット100は、所定距離以上走行方向のみに走行する場合、所定距離に応じて新しいノードを生成することができる。
移動ロボット100は走行方向である第1移動方向501に走行する間に、所定距離移動する度に第3ノードN3及び第4ノードN4を生成して、より正確なマップを作成することができる。
一方、図5e及び5fで第5ノードN5を生成したのと同様に、移動ロボット100は、走行方向に沿って走行する間に、走行方向である第1移動方向501に対して所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在することを確認することができる。
一方、移動ロボット100は、障害物に近付く間に、複数の移動方向501乃至504のうち、走行方向である第1移動方向501はオープン(open)されず、第2移動方向502のみオープン(open)されたことを確認する場合、第5ノードN5を生成することができる。
一方、第1ノードN1乃至第5ノードN3に対するデータは、次の表9のように設定されることができる。
Figure 0007329125000009
移動ロボット100は、オープン(open)された移動方向である第2移動方向502を走行方向に設定することができ、走行方向である第2移動方向502に移動することができる。
図6cを参照すると、移動ロボット100は、走行方向である第2移動方向502に走行する間に、第2移動方向502及び第4移動方向504をオープン(open)された移動方向と判断することができる。また、移動ロボット100は、第1移動方向501乃至第3移動方向503に対して所定距離610以内にどんな障害物も存在しないと判断することができる。
一方、第1移動方向501乃至第3移動方向503に対して所定距離610以内にどんな障害物も存在しない場合、移動ロボット100は、走行方向である第2移動方向502に走行し続けることができる。
一方、移動ロボット100は、走行方向である第2移動方向502に所定距離以上走行することにより、第6ノードN6を生成することができる。
この時、移動ロボット100が5ノードN5でオープン(open)された移動方向である第2移動方向502に回転した後に所定距離以上走行する間に、走行方向である第2移動方向502と、以前の走行方向の反対方向である第4移動方向504に対して、所定距離610以内にどんな障害物も存在しないことと判断された場合、移動ロボット100は、新しいノードを生成した後、以前の走行方向の反対方向である第4移動方向504に走行方向を変更することができる。
すなわち、移動ロボット100は、障害物のない広い空間を走行することと判断される場合、所定条件に応じて走行方向を以前の走行方向の反対方向に変更することにより、広い空間を効果的に走行することができる。
一方、図6bのように、移動ロボット100は、走行方向に対して所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)の存在が確認されるまで、走行方向に沿って走行することもできる。
図6dを参照すると、移動ロボット100は、走行方向を以前の走行方向である第1移動方向501の反対方向に変更した後、変更された走行方向である第4移動方向504に走行することができる。
一方、移動ロボット100は、図6bのように、走行方向である第4移動方向504に走行する間に、第2移動方向502乃至第4移動方向504をオープン(open)された移動方向と判断することができる。
一方、移動ロボット100は、走行方向である第4移動方向504に対して所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)の存在が確認されるまで、走行方向である第4移動方向504に沿って走行することができる。
一方、移動ロボット100は、図6bのように、第4移動方向504に走行する間に、所定距離移動する度に、第7ノードN7及び第8ノードN8を生成して、より正確なマップを作成することができる。
また、移動ロボット100は、走行方向である第4移動方向504に対して所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在することを確認することができる。この時、移動ロボット100は、障害物に近付く間に、複数の移動方向501乃至504のうち、走行方向である第4移動方向504はオープン(open)されず、第2移動方向502及び第3移動方向503のみオープン(open)されたことを確認する場合、第9ノードN9を生成することができる。
一方、第1ノードN1乃至第9ノードN9に対するデータは、次の表10のように設定されることができる。
Figure 0007329125000010
移動ロボット100は、オープン(open)された第2移動方向502及び第3移動方向503の何れか一つを走行方向に決めることができる。この時、移動ロボット100は、図6cで広い空間の走行のために反時計回り方向に回転した点を考慮して、現在走行方向に対して時計回り方向である第2移動方向502を走行方向に決めることができる。
図6eを参照すると、図6b乃至6dのように、移動ロボット100が走行方向に沿って走行する間に、第10ノードN10乃至第13ノードN13が生成されることができる。
一方、移動ロボット100は、第13ノードN13で第3移動方向503に走行する間に、第6ノードN6に復帰したことを確認することができる。
移動ロボット100は、第6ノードN6に対応する位置でオープン(open)された移動方向が存在しないことを確認することができる。この時、当該位置に第6ノードN6が既設定されているので、移動ロボット100は新しいノードを生成せず、ノードに対するデータに基づいて、ノードのうち、アップデート(update)が必要なノードが存在するか否かを判断することができる。
一方、第1ノードN1乃至第13ノードN13に対するデータは、次の表11のように設定されることができる。
Figure 0007329125000011
移動ロボット100は、アップデート(update)が必要なノードのうち、最短距離に位置する第7ノードN7に移動することができ、第7ノードN7でオープン(open)された移動方向である第2移動方向502及び第3移動方向503の何れか一つを走行方向に決めることができる。
図6fを参照すると、第7ノードN7で第3移動方向503が走行方向に決められることができ、移動ロボット100は、走行方向である第3移動方向503に走行することができる。
移動ロボット100は、走行方向である第3移動方向503に移動する間に、走行方向である第3移動方向503に対して、所定距離610以内に移動ロボット100が走行不可能な種類の障害物(例:壁、椅子)が存在することを確認することができる。
一方、移動ロボット100は、障害物に近付く間に、複数の移動方向501乃至504のうち、走行方向である第3移動方向503はオープン(open)されず、第1移動方向501及び第4移動方向504のみオープン(open)されたことを確認する場合、第14ノードN14を生成することができる。
一方、第1ノードN1乃至第14ノードN14に対するデータは、次の表12のように設定されることができる。
Figure 0007329125000012
一方、移動ロボット100は、各ノードに対して、所定基準半径(例:70cm以内に位置するノードを同じノードと判断することができる。表12を参照すると、第14ノードN14の場合、第4ノードN4から所定基準半径(例:70cm)以内に位置することを確認することができる。
図6gを参照すると、移動ロボット100は第4ノードN4と第14ノードN14を同じノードと判断することができる。一方、移動ロボット100は、複数のノードが同じノードであると判断された場合、複数のノードのうち最初生成されたノードを除いた残りノードに対するデータを削除することができる。
一方、図6gでのノードに対するデータは、次の表13のように設定されることができる。
Figure 0007329125000013
図7は、本発明の一実施形態に係る、移動ロボットの制御方法に対する順序図を示す図面である。
図7を参照すると、移動ロボット100は、S701動作で、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断することができる。
例えば、移動ロボット100は、既設定された複数の移動方向501乃至504それぞれに対して、移動ロボット100から所定距離(例:3m)以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在せず、移動通路の幅が移動ロボット100が走行可能な所定基準幅以上であり、移動ロボット100が既走行しない方向であるか否かを判断することができる。
移動ロボット100は、S702動作で、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在する場合、既設定された条件に応じてノードを生成することができる。
例えば、移動ロボット100は、オープン(open)された移動方向に移動ロボット100の現在走行方向が含まれない場合、またはオープン(open)された移動方向に移動ロボット100の現在走行方向を含む複数の移動方向が含まれた場合、ノードを生成することができる。
一方、例えば、移動ロボット100の現在走行方向に設定された移動方向のみオープン(open)された場合、移動ロボット100は、ノードを生成せず、設定された走行方向に沿って直進することができる。
一方、例えば、移動ロボット100は、現在位置に対応するノードが存在する場合、ノードを生成しないこともある。
一方、ノードに対するデータは、ノードに対応する位置で複数の移動方向501乃至504がオープン(open)であるか否かに対するデータ値を含むことができる。
移動ロボット100は、S703動作で、オープン(open)された移動方向の何れか一つを移動ロボット100の走行方向に決めることができる。
例えば、移動ロボット100は、オープン(open)された移動方向それぞれに対する移動通路の幅を比較することができ、幅が最も広い移動通路の移動方向を走行方向に決めることができる。
または、例えば、移動ロボット100は、オープン(open)された移動方向のうち、現在走行方向に設定された移動方向を走行方向に保持することもできる。
移動ロボット100は、S704動作で、走行方向に決められた移動方向に移動することができる。
この時、移動ロボット100は、走行方向の移動通路で走行する間に、移動通路の中央に沿って走行することができる。
例えば、移動ロボット100は、走行方向の移動通路で走行する間に、移動通路の幅を算出する基準となるエッジ(edge)に基づいて移動通路の中央点を検出することができ、中央点に沿って走行することができる。
一方、移動ロボット100は、走行方向の移動通路で走行する間に、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを持続的に判断することができる。
一方、移動ロボット100は、S705動作で、複数の移動方向501乃至504のうちオープン(open)された移動方向が存在しない場合、ノードの中でアップデート(update)が必要なノードが存在するか否かを判断することができる。
例えば、移動ロボット100は、それぞれのノードに対するデータ値を確認して、複数の移動方向501乃至504に対するデータ値のうち、オープン(open)された移動方向を示すデータ値が含まれたノードが存在する場合、当該ノードをアップデート(update)が必要なノードと判断することができる。
移動ロボット100は、S706動作で、アップデート(update)が必要なノードが存在する場合、アップデート(update)が必要なノードの何れか一つに移動することができる。
例えば、移動ロボット100は、アップデート(update)が必要なノードのうち、移動ロボット100の現在位置から最短距離に位置するノードに移動することができる。
一方、移動ロボット100は、S707動作で、アップデート(update)が必要なノードが存在しない場合、生成された全域的位相マップ(topological map)を保存部305に保存してマップの生成を完了することができる。
図8a及び8bは、本発明の一実施形態に係る、移動ロボットの制御方法に対する順序図を示す図面である。
図8aを参照すると、移動ロボット100は、S801動作で、マップ生成機能を実行することができる。例えば、移動ロボット100は、電源がオン(on)になった場合、または使用者からマップ生成機能を実行する命令が入力される場合、マップ生成機能を実行することができる。
移動ロボット100は、S802動作で、複数の移動方向501乃至504を設定することができる。
例えば、移動ロボット100は、マップ生成機能が実行される場合、マップ生成機能が実行される時点に移動ロボット100の前面が向かう方向を第1移動方向501、移動ロボット100の左側面が向かう方向を第2移動方向502、移動ロボット100の右側面が向かう方向を第3移動方向503、第1方向の反対方向である移動ロボット100の後面が向かう方向を第4移動方向504に設定することができる。
移動ロボット100は、S803動作で、複数の移動方向501乃至504のうち、オープン(open)された移動方向が存在するか否かを判断することができる。
例えば、移動ロボット100は、既設定された複数の移動方向501乃至504それぞれに対して、移動ロボット100から所定距離(例:3m)以内に移動ロボット100が走行不可能な種類の障害物(例:壁面)が存在せず、移動通路の幅が移動ロボット100が走行可能な所定基準幅以上であり、移動ロボット100が既走行しない方向であるか否かを判断することができる。
図8bを参照すると、移動ロボット100は、S804動作で、オープン(open)された移動方向が存在する場合、オープン(open)された移動方向に移動ロボット100の現在走行方向が含まれるか否かを確認することができる。
この時、マップ生成機能が実行される時点には走行方向が設定されないことがあり、オープン(open)された移動方向に移動ロボット100の現在走行方向が含まれない場合と判断されることができる。
移動ロボット100は、S805動作で、オープン(open)された移動方向に移動ロボット100の現在走行方向が含まれない場合、移動ロボット100の現在位置に対するノードを生成することができる。
移動ロボット100は、S806動作で、オープン(open)された移動方向の何れか一つを走行方向に決めることもできる。
例えば、移動ロボット100は、オープン(open)された移動方向それぞれに対する移動通路の幅を比較することができ、幅が最も広い移動通路の移動方向を走行方向に決めることができる。
移動ロボット100は、S807動作で、走行方向に決められた移動方向に移動することができる。
この時、移動ロボット100は、走行方向の移動通路で走行する間に、移動通路の中央に沿って走行することができる。
例えば、移動ロボット100は、走行方向の移動通路で走行する間に、移動通路の幅を算出する基準となるエッジ(edge)に基づいて、移動通路の中央点を検出することができ、中央点に沿って走行することができる。
一方、移動ロボット100は、走行方向の移動通路で走行する間に、複数の移動方向501乃至504のうちオープン(open)された移動方向が存在するか否かを持続的に判断することができる。
一方、移動ロボット100は、S808動作で、オープン(open)された移動方向に移動ロボット100の現在走行方向が含まれた場合、現在走行方向のみオープン(open)された移動方向であるか否かを確認することができる。
この時、現在走行方向を含む複数のオープン(open)された移動方向が存在する場合、S805動作に分岐して、移動ロボット100の現在位置に対するノードを生成することができる。
一方、複数の移動方向501乃至504のうち、現在走行方向のみオープン(open)された移動方向である場合、S807動作に分岐して、走行方向に決められた移動方向に移動し続けることができる。
一方、図8aを再参照すると、移動ロボット100は、S809動作で、オープン(open)された移動方向が存在しない場合、ノードを生成することができる。
この時、当該位置にノードが既設定されている場合、移動ロボット100は新しいノードを生成しないこともある。
移動ロボット100は、S810動作で、ノードのうち、アップデート(update)が必要なノードが存在するか否かを判断することができる。
例えば、移動ロボット100は、それぞれのノードに対するデータ値を確認して、複数の移動方向501乃至504に対するデータ値のうち、オープン(open)された移動方向を示すデータ値が含まれたノードが存在する場合、当該ノードをアップデート(update)が必要なノードと判断することができる。
移動ロボット100は、S811動作で、アップデート(update)が必要なノードが存在する場合、アップデート(update)が必要なノードの何れか一つを決めることができる。
例えば、移動ロボット100は、アップデート(update)が必要なノードのうち、移動ロボット100の現在位置から最短距離に位置するノードを決めることができる。
移動ロボット100は、S812動作で、S811動作で決められたノードに移動することができる。
例えば、移動ロボット100は、アップデート(update)が必要なノードのうち、移動ロボット100の現在位置から最短距離に位置するノードに移動することができる。
一方、移動ロボット100は、S813動作で、アップデート(update)が必要なノードが存在しない場合、生成された全域的位相マップ(topological map)を保存部305に保存してマップの生成を完了することができる。
前記のように、本発明の多様な実施形態に係ると、移動ロボット100が移動する間にリアルタイムでノードを生成することができ、ノードの間の連結関係を正確に設定することができる。
また、本発明の多様な実施形態に係ると、位相マップを生成する間に、移動ロボット100が移動通路の中央に沿って走行することにより、障害物を回避する動作を最小化しながら移動することができて、より安定的な移動経路を提供する位相マップを生成することができる。
また、本発明の多様な実施形態に係ると、移動ロボット100は、複数の移動方向501乃至504に対するデータ値のような、ノードそれぞれに対する情報を正確に設定することができて、より正確な移動経路を提供する位相マップを生成することができる。
実施形態は複数のその例示的な実施を参照して説明されたが、本開示の原理の範囲内に属する様々な他の変更及び実施形態が当業者によって考案される可能性があることを理解すべきである。より具体的に、本開示、図面及び添付された特許請求範囲の範囲内で本発明の組合配列の構成部分及び/または配列で多様な変形及び変更が可能である。構成部分及び/または配列の変形及び変更に加えて、代案的な用途も当業者にとって明白であるはずである。
要素または層が他の要素または層の「上に」あると言及される場合、要素または層が他の要素または層または介在要素または層の上に直接あり得ることを理解すべきである。対照的に、要素が他の要素または層の「真上」にあると言及される場合、中間要素または層が存在しない。本明細書に用いられたように、「及び/または」という用語は関連した羅列された項目の一つ以上の何れ全ての組合を含む。
第1、第2、第3などの用語が多様な要素、構成要素、領域、層及び/またはセクションを説明するために本明細書で用いられることができるが、このような要素、構成要素、領域、層及び/またはセクションは、このような用語によって制限されない。このような用語は、一要素、構成要素、領域、層またはセクションを他の領域、層またはセクションと区別する目的のみで用いられる。よって、第1の要素、構成要素、領域、層またはセクションは、本発明の教示から逸脱することなく、第2の要素、構成要素、領域、層またはセクションに指称され得る。
「下部」、「上部」などのような空間的に相対的な用語は、図面に例示されたように、一つの要素または特徴と他の要素または特徴の関係を説明するために説明の便宜のために用いられることができる。空間的に相対的な用語は、図面に示した方向に追加して使用または作動中の装置の他の方向を含むように意図されたことに理解され得る。例えば、図面で装置が反転された場合、他の要素または特徴に対して「下部」に説明された要素は他の要素または特徴に対して「上部」に配向される。したがって、例示的な用語「下部」は、上と下の方向を全部含むことができる。装置は異なりに配向されることができ(90度または他の配向に回転される)、ここで用いられた空間的に相対的な説明者はそれによって解釈される。
本明細書で用いた用語は、ただ特定の実施形態を説明するために用いられたもので、本発明を限定しようとする意図はない。本明細書に用いられたように、単数の形態「a」、「an」及び「the」は文脈が明白に異なりに示さない限り複数の形態も含むことに意図される。本明細書で用いられる時、「含む」及び/または「含んで」という用語は、明示された特徴、定数、ステップ、演算、要素及び/または構成要素の存在を指定することで追加的に理解され得るが、一つ以上の他の特徴、定数、ステップ、演算、要素、構成要素及び/またはこれらのグループの存在または追加を排除しない。
本開示の実施形態は、本開示の理想化された実施形態(及び中間構造)の概路図である断面図を参照してここで説明される。よって、例えば、製造技術及び/または許容誤差の結果で例示の模様が変わることがある。したがって、本開示内容の実施形態は本明細書に例示された領域の特定形状に制限されることに解釈されてはならなく、例えば製造から招来される形状の偏差を含むべきである。
異なりに定義されない限り、本明細書で用いられるすべての用語(技術的、科学的用語含み)は、本発明が属する技術分野において通常の知識を有する者が一般的に理解するのと同じ意味を有する。一般的に用いられる辞典に定義されたような用語は、関連技術の脈絡における意味と一致する意味を有するものと解釈する必要があり、理想化したり過度に形式的な意味に解釈されない限りここに明示的に定義される。
本明細書において、「一つの実施形態」、「一実施形態」、「例示的な実施形態」などに対する言及は、実施形態に関して説明された特定特徴、構造または特性が本発明の少なくとも一つの実施形態に含まれるということを意味する。明細書の複数の箇所におけるこのような文句の出現は、必ず全部同じ実施形態を指称するのではない。また、特定特徴、構造または特性が任意の実施形態と関連して説明される時、他のシステムに関してそのような特徴、構造または特性を実行することは当業者の範囲内にあるということが収容される。
実施形態が多数のその例示的な実施形態を参照して説明されたが、本開示の原理の思想及び範囲内に属する様々な他の変形及び実施形態が当業者によって考案される可能性があることを理解すべきである。より具体的には、本開示、図面及び添付された特許請求範囲の範囲内で本発明の組合配列の構成部分及び/または配列で多様な変形及び修正が可能である。構成部分及び/または配列の変形及び変更に加えて、代案的な用途も当業者にとって明白であるはずである。

Claims (16)

  1. 移動ロボットにおいて、
    前記移動ロボットの本体を移動させるように構成された駆動ホイールと、
    前記本体外部の地形に対するセンシングデータを取得するように構成されたライダーセンサと、
    少なくとも一つのノードに対するノードデータを保存するように構成されたメモリーと、
    コントローラであって、
    前記ライダーセンサの前記センシングデータ及び前記ノードデータに基づいて、前記本体からの複数の移動方向のうち、少なくとも一つのオープン移動方向が存在するかどうかを判断し、
    前記少なくとも一つのオープン移動方向が存在する場合、前記ノードデータ内に、前記移動ロボットの現在位置に対応する新しいノードを生成し、
    前記駆動ホイールが前記本体を移動させる走行方向として前記少なくとも一つのオープン移動方向の一つを選択し、
    前記少なくとも一つのオープン移動方向が存在しない場合、前記ノードデータに基づいて、前記少なくとも一つのノードのうち、アップデートされる一つ以上のノードが存在するかどうかを決め、
    アップデートされる前記一つ以上のノードが存在する場合、前記本体がアップデートされる前記ノードの一つに移動するように前記駆動ホイールを制御し、
    アップデートされる前記一つ以上のノードが存在しない場合、前記ノードデータに基づいて、前記少なくとも一つのノードを含むマップの生成を完了するように構成されたコントローラと、を含み、
    前記オープンな移動方向は、前記移動ロボットが走行可能で、前記移動ロボットが以前に走行していない方向であり、
    前記ノードデータは、前記少なくとも一つのノードのそれぞれに関して、座標、及び前記複数の移動方向のそれぞれに対するデータ値を含み、
    前記データ値は、前記オープンな移動方向を示す第1データ値、前記移動ロボットが前記ノードから走行できないことを示す第2データ値、又は、前記少なくとも一つのノードのうちの他のノードを示す第3データ値の一つに設定され、
    アップデートされる前記一つ以上のノードのそれぞれの前記データ値は、前記第1データ値に設定される、移動ロボット。
  2. 前記コントローラは、
    前記移動ロボットが走行することができる前記複数の移動方向の第1サブセットを決め、
    前記移動ロボットが以前に走行していない前記複数の移動方向の第2サブセットを決め、
    前記第1サブセット及び前記第2サブセットに含まれた前記複数の移動方向の少なくとも一つを、前記少なくとも一つのオープン移動方向として決めるように構成される、請求項1に記載の移動ロボット。
  3. 前記コントローラは、
    前記少なくとも一つのオープンな移動方向が前記複数の移動方向の中に含まれる場合、前記移動方向が、前記移動ロボットの前記走行方向に既に設定されているかどうか及び前記オープン移動方向に対応するかどうかを決め、
    前記走行方向に既に設定された前記移動方向が前記オープン移動方向に対応しない場合、前記新しいノードを生成する、ように構成される、請求項に記載の移動ロボット。
  4. 前記コントローラは、
    前記複数の移動方向のうち前記走行方向に既に設定された前記一つの移動方向のみが前記オープン移動方向に対応するかどうかを決め
    前記走行方向に既に設定された前記移動方向のみが前記オープン移動方向に対応する場合、前記新しいノードを生成せず、前記移動ロボットが前記走行方向に既に設定された前記移動方向に移動するように前記駆動ホイールを制御し、
    前記走行方向に既に設定された記移動方向を含む前記移動方向の二つ以上が前記オープン移動方向に対応する場合、前記新しいノードを生成する、ように構成される、請求項に記載の移動ロボット。
  5. 前記コントローラは、前記新しいノード生成する場合に、前記ノードデータに含まれた前記少なくとも一つのノードそれぞれの前記複数の移動方向に対する前記データ値をアップデートするように構成される、請求項に記載の移動ロボット。
  6. 前記コントローラは、前記複数の移動方向それぞれに対する前記データ値の少なくとも一つに関して、前記オープン移動方向を示す前記第1データ値として設定されたノードを、アップデートされノードとして決めるように構成される、請求項に記載の移動ロボット。
  7. 前記コントローラは、
    前記ノードデータに基づいて、アップデートされる前記一つ以上のノードのうち、前記移動ロボットの現在位置から最短距離に位置するノードを決め、
    前記移動ロボットが、アップデートされる前記ノードのうち、前記移動ロボットの前記現在位置から前記最短距離に位置する前記ノードに移動するように、前記駆動ホイールを制御する、ように構成される、請求項に記載の移動ロボット。
  8. 前記本体外部の画像を取得するように構成された少なくとも一つのカメラをさらに含み、
    前記コントローラは、前記画像から特徴を抽出し、前記抽出された特徴を前記マップにマッピングし、前記マップにマッピングされた前記特徴に基づいて前記移動ロボットの位置を決める、ように構成される、請求項に記載の移動ロボット。
  9. 移動ロボット制御する方法において
    記移動ロボットの現在位置に関する複数の移動方向のうち少なくとも一つのオープン移動方向が含まれるかどうかを決めるステップと、
    前記複数の移動方向のうち、前記少なくとも一つのオープン移動方向が含まれる場合、前記移動ロボットのメモリーに記憶されたノードデータに前記移動ロボットの前記現在位置に対応する新しいノードを生成し、前記少なくとも一つのオープン移動方向の一つを前記移動ロボットが走行する走行方向として選択するステップと
    記複数の移動方向の何れも前記移動ロボットの前記現在位置に関して前記オープンな移動方向でない場合、少なくとも一つのノードアップデートされるかどうかを決め、少なくとも一つのノードがアップデートされる場合、前記移動ロボットがアップデートされる前少なくとも一つのノードの一つに走行するように制御するステップと
    記少なくとも一つのノードのいずれもアップデートされない場合、前記ノードデータに基づいてマップの生成を完了するステップと、を含み、
    前記オープンな移動方向は、前記移動ロボットが走行可能で、前記移動ロボットが以前に走行していない方向であり、
    前記ノードデータは、前記少なくとも一つのノードのそれぞれに関して、座標、及び前記複数の移動方向のそれぞれに対するデータ値を含み、
    前記データ値は、前記オープンな移動方向を示す第1データ値、前記移動ロボットが前記ノードから走行できないことを示す第2データ値、又は、前記少なくとも一つのノードのうちの他のノードを示す第3データ値の一つに設定され、
    アップデートされる前記一つ以上のノードのそれぞれの前記データ値は、前記第1データ値に設定される、方法。
  10. 数の移動方向のうち少なくとも一つのオープン移動方向が含まれるかどうかを決めるステップは、
    前記移動ロボットが走行できるかどうかを、前記複数の移動方向それぞれに関して決めるステップと、
    前記移動ロボットが前記現在位置から前記複数の移動方向に沿って以前に走行したかどうかを決めるステップと、
    前記複数の移動方向のうち、前記移動ロボットが走行することができ前記移動ロボットがそれに沿って以前に走行していない前記移動方向の少なくとも一つを、前記オープン移動方向として決めるステップと、を含む、請求項に記載の方法。
  11. しいノードを生成するステップは、
    前記少なくとも一つのオープンな移動方向が存在する場合、前記走行方向に既に設定された移動方向が前記一つのオープン移動方向に対応するかどうかを決めるステップと、
    前記走行方向に既に設定された前記移動方向が前記オープン移動方向に対応しない場合、前記新しいノードを生成するステップと、を含む、請求項に記載の方法。
  12. 前記新しいノードを生成するステップは、
    前記複数の移動方向のうち、前記走行方向に既に設定された前記移動方向のみが前記オープン移動方向に対応するかどうかを決めるステップと、
    前記走行方向に既に設定された前記移動方向のみが前記オープン移動方向に対応する場合、前記新しいノードを生成せず、前記走行方向に既に設定された前記移動方向に移動するステップと、
    前記走行方向に既に設定された前記移動方向を含む前記移動方向の二つ以上が前記オープン移動方向に対応する場合、前記新しいノードを生成するステップと、をさらに含む、請求項11に記載の方法。
  13. 前記新しいノードを生成するステップは、前記ノードデータに含まれ前記少なくとも一つのノードそれぞれの前記複数の移動方向それぞれに対する前記データ値をアップデートするステップをさらに含む、請求項12に記載の方法。
  14. アップデートされる前記少なくとも一つのノードの一つを決めるステップは、前記複数の移動方向それぞれに対する前記データ値の少なくとも一つに関して、前記オープン移動方向を示す前記第1データ値として設定されたノードを、アップデートされるノードとして決めるステップを含む、請求項13に記載の方法。
  15. ップデートされる前記ノードの一つに移動するステップは、
    前記ノードデータに基づいて、アップデートされる一つ以上のノードのうち、前記移動ロボットの前記現在位置から最短距離に位置するノードを決めるステップと、
    前記移動ロボットを、前記移動ロボットの前記現在位置から前記最短距離に位置する前記ノードに移動するように制御するステップと、を含む、請求項14に記載の方法。
  16. 記移動ロボットの外部領域の画像から特徴を抽出するステップと、
    前記抽出された特徴を前記マップにマッピングするステップと、
    前記マップにマッピングされた前記特徴に基づいて前記移動ロボットの位置を決めるステップと、をさらに含む、請求項15に記載の方法。
JP2022500039A 2019-07-05 2020-07-03 移動ロボット及びその制御方法 Active JP7329125B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2019-0081458 2019-07-05
KR1020190081458A KR102224637B1 (ko) 2019-07-05 2019-07-05 이동 로봇 및 그 제어방법
PCT/KR2020/008715 WO2021006553A1 (en) 2019-07-05 2020-07-03 Moving robot and control method thereof

Publications (2)

Publication Number Publication Date
JP2022541736A JP2022541736A (ja) 2022-09-27
JP7329125B2 true JP7329125B2 (ja) 2023-08-17

Family

ID=74065211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022500039A Active JP7329125B2 (ja) 2019-07-05 2020-07-03 移動ロボット及びその制御方法

Country Status (5)

Country Link
US (1) US11774976B2 (ja)
EP (1) EP3993962A4 (ja)
JP (1) JP7329125B2 (ja)
KR (1) KR102224637B1 (ja)
WO (1) WO2021006553A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102296908B1 (ko) * 2019-03-19 2021-09-02 한국전자통신연구원 특징점 지도 관리방법 및 장치
US12007785B2 (en) * 2021-08-31 2024-06-11 Samsung Electronics Co., Ltd. Cleaning robot capable of obtaining map of indoor space and operating method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515226A (ja) 2005-12-09 2009-04-09 韓國電子通信研究院 人工標識と地域座標系を用いた移動ロボットの地図の作成方法及び移動方法
JP2018067314A (ja) 2016-10-21 2018-04-26 ネイバー コーポレーションNAVER Corporation 室内自律走行ロボットのための制御方法及びシステム

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3528200B2 (ja) 1993-05-24 2004-05-17 松下電器産業株式会社 自走式掃除機
DE4408329C2 (de) 1994-03-11 1996-04-18 Siemens Ag Verfahren zum Aufbau einer zellular strukturierten Umgebungskarte von einer selbstbeweglichen mobilen Einheit, welche sich mit Hilfe von auf Wellenreflexion basierenden Sensoren orientiert
DE4408328C2 (de) 1994-03-11 2002-09-26 Siemens Ag Verfahren zum Aufbau einer zellular strukturierten Umgebungskarte von einer selbstbeweglichen mobilen Einheit, welche sich mit Hilfe von auf Wellenreflexion basierenden Sensoren orientiert
DE59501570D1 (de) 1994-06-22 1998-04-09 Siemens Ag Verfahren zur orientierung, fahrwegplanung und steuerung einer autonomen mobilen einheit
KR20020010257A (ko) 2000-07-28 2002-02-04 김인광 로봇 시스템에서의 자기위치 인식 장치 및 방법
US6667592B2 (en) 2001-08-13 2003-12-23 Intellibot, L.L.C. Mapped robot system
US6728608B2 (en) 2002-08-23 2004-04-27 Applied Perception, Inc. System and method for the creation of a terrain density model
US7805220B2 (en) 2003-03-14 2010-09-28 Sharper Image Acquisition Llc Robot vacuum with internal mapping system
US20050010331A1 (en) 2003-03-14 2005-01-13 Taylor Charles E. Robot vacuum with floor type modes
US20040204792A1 (en) 2003-03-14 2004-10-14 Taylor Charles E. Robotic vacuum with localized cleaning algorithm
US20050273967A1 (en) 2004-03-11 2005-12-15 Taylor Charles E Robot vacuum with boundary cones
US20060020369A1 (en) 2004-03-11 2006-01-26 Taylor Charles E Robot vacuum cleaner
KR100611328B1 (ko) 2005-06-30 2006-08-11 고려대학교 산학협력단 세선화 기반 위상지도의 작성방법 및 그 장치, 이동로봇의탐사를 통한 세선화 기반 위상지도 작성방법 및 그 장치
EP1920326A4 (en) 2005-09-02 2014-01-08 Neato Robotics Inc ROBOT MULTIFUNCTION DEVICE
KR100715609B1 (ko) 2006-01-13 2007-05-07 학교법인 포항공과대학교 가정환경에서의 이동로봇의 위상학적 지도형성 및 자율주행방법
KR100791384B1 (ko) 2006-07-05 2008-01-07 삼성전자주식회사 특징점을 이용한 영역 구분 방법 및 장치와 이를 이용한이동 청소 로봇
CN102083352B (zh) 2008-04-24 2014-10-15 艾罗伯特公司 用于机器人使能的移动产品的定位、位置控制和导航系统的应用
KR101503903B1 (ko) 2008-09-16 2015-03-19 삼성전자 주식회사 이동 로봇의 지도 구성 장치 및 방법
KR101037379B1 (ko) 2008-12-18 2011-05-27 한국과학기술연구원 거리센서로부터 얻은 주변환경의 거리정보를 바탕으로 한 이동로봇탐사시스템 및 이를 이용한 탐사방법
KR101553654B1 (ko) 2009-02-13 2015-10-01 삼성전자 주식회사 이동 로봇 및 이동 로봇의 이동 방법
JP5212212B2 (ja) 2009-03-25 2013-06-19 株式会社Ihi 通路検出プログラム、通路検出装置及び方法
US8428776B2 (en) 2009-06-18 2013-04-23 Michael Todd Letsky Method for establishing a desired area of confinement for an autonomous robot and autonomous robot implementing a control system for executing the same
KR20110000848A (ko) 2009-06-29 2011-01-06 (주)실리콘화일 3차원 거리정보 및 영상 획득 장치
US8948913B2 (en) 2009-10-26 2015-02-03 Electronics And Telecommunications Research Institute Method and apparatus for navigating robot
BR112012010612A2 (pt) 2009-11-06 2017-08-15 Evolution Robotics Inc Dispositivo móvel configurado para navegar em superfície e método para navegar em superfície com dispositivo móvel
JP5803054B2 (ja) 2009-12-02 2015-11-04 村田機械株式会社 自律移動装置
DE102010017689A1 (de) 2010-07-01 2012-01-05 Vorwerk & Co. Interholding Gmbh Selbsttätig verfahrbares Gerät sowie Verfahren zur Orientierung eines solchen Gerätes
KR101750340B1 (ko) 2010-11-03 2017-06-26 엘지전자 주식회사 로봇 청소기 및 이의 제어 방법
KR101761313B1 (ko) 2010-12-06 2017-07-25 삼성전자주식회사 로봇 및 로봇의 경로생성방법
KR101242252B1 (ko) 2011-02-10 2013-03-11 고려대학교 산학협력단 시맨틱 격자 지도 생성 방법 및 시맨틱 격자 지도를 활용한 시맨틱 격자 지도 기반 탐사 방법
FR2977023B1 (fr) 2011-06-24 2014-02-21 Univ Angers Generation de donnees de carte
US8798840B2 (en) 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
WO2013071190A1 (en) 2011-11-11 2013-05-16 Evolution Robotics, Inc. Scaling vector field slam to large environments
KR101179075B1 (ko) 2012-02-28 2012-09-03 국방과학연구소 자율로봇의 경로계획방법 및 이를 구비한 경로계획장치
KR20130112507A (ko) * 2012-04-04 2013-10-14 인하대학교 산학협력단 S* 알고리즘을 이용한 이동로봇의 안전경로계획 수립방법
CN108661362A (zh) 2012-06-27 2018-10-16 滨特尔水池水疗公司 具有激光测距仪系统的水池清洁器和方法
KR20140009737A (ko) 2012-07-12 2014-01-23 한국과학기술원 하이브리드 맵 기반 로봇의 위치인식방법
JP5886502B2 (ja) 2012-12-20 2016-03-16 トヨタ自動車株式会社 移動体制御装置、移動体制御方法及び制御プログラム
KR101427186B1 (ko) * 2013-06-12 2014-08-07 건국대학교 산학협력단 미지환경에서 지능형 로봇의 이동경로 생성을 위한 영역탐색 및 매핑 장치
JP5897517B2 (ja) 2013-08-21 2016-03-30 シャープ株式会社 自律移動体
JP6638988B2 (ja) * 2013-12-19 2020-02-05 アクチエボラゲット エレクトロルックス サイドブラシを有し、渦巻きパターンで動くロボットバキュームクリーナ
US9436926B2 (en) 2014-02-25 2016-09-06 Savioke, Inc. Entryway based authentication system
US10068373B2 (en) * 2014-07-01 2018-09-04 Samsung Electronics Co., Ltd. Electronic device for providing map information
EP3199083B1 (en) 2014-09-24 2021-09-08 Samsung Electronics Co., Ltd. Cleaning robot and method for controlling cleaning robot
US9704043B2 (en) 2014-12-16 2017-07-11 Irobot Corporation Systems and methods for capturing images and annotating the captured images with information
US10488865B2 (en) 2014-12-16 2019-11-26 Al Incorporated Methods and systems for robotic surface coverage
US11400595B2 (en) * 2015-01-06 2022-08-02 Nexus Robotics Llc Robotic platform with area cleaning mode
US9630319B2 (en) * 2015-03-18 2017-04-25 Irobot Corporation Localization and mapping using physical features
US20170028556A1 (en) 2015-07-28 2017-02-02 Harris Corporation Path-optimized manipulator reversing controller
JP6705636B2 (ja) 2015-10-14 2020-06-03 東芝ライフスタイル株式会社 電気掃除機
JP6649743B2 (ja) 2015-10-28 2020-02-19 シャープ株式会社 一致性評価装置および一致性評価方法
KR20170053351A (ko) 2015-11-06 2017-05-16 삼성전자주식회사 청소 로봇 및 그 제어 방법
DE102015119501A1 (de) 2015-11-11 2017-05-11 RobArt GmbH Unterteilung von Karten für die Roboternavigation
DE102015119865B4 (de) 2015-11-17 2023-12-21 RobArt GmbH Robotergestützte Bearbeitung einer Oberfläche mittels eines Roboters
CN205671994U (zh) 2015-12-16 2016-11-09 小米科技有限责任公司 自动清洁设备
DE102016102644A1 (de) 2016-02-15 2017-08-17 RobArt GmbH Verfahren zur Steuerung eines autonomen mobilen Roboters
WO2017173553A1 (en) * 2016-04-08 2017-10-12 A&K Robotics Inc. Autoscrubber convertible between manual and autonomous operation
EP3508104B1 (en) 2016-08-31 2021-07-21 Murata Machinery, Ltd. Autonomously traveling floor cleaning machine
US10653282B2 (en) 2016-12-23 2020-05-19 Lg Electronics Inc. Cleaning robot
KR20180074537A (ko) 2016-12-30 2018-07-03 엘지전자 주식회사 청소 로봇
KR20180082264A (ko) 2017-01-10 2018-07-18 엘지전자 주식회사 이동 로봇 및 그 제어방법
CN108318046B (zh) 2017-01-18 2020-12-15 华为技术有限公司 路径规划方法和装置
KR102012550B1 (ko) 2017-02-20 2019-08-20 엘지전자 주식회사 돌발 장애물을 식별하는 방법 및 이를 구현하는 로봇
US20180290748A1 (en) 2017-04-03 2018-10-11 Versatol, Llc Autonomous in-tunnel intelligence, surveillance, and reconnaissance drone
US10222215B2 (en) * 2017-04-21 2019-03-05 X Development Llc Methods and systems for map generation and alignment
US9939814B1 (en) * 2017-05-01 2018-04-10 Savioke, Inc. Computer system and method for automated mapping by robots
JP7087290B2 (ja) 2017-07-05 2022-06-21 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム
US10915114B2 (en) 2017-07-27 2021-02-09 AI Incorporated Method and apparatus for combining data to construct a floor plan
US10583561B2 (en) 2017-08-31 2020-03-10 Neato Robotics, Inc. Robotic virtual boundaries
US11579298B2 (en) * 2017-09-20 2023-02-14 Yujin Robot Co., Ltd. Hybrid sensor and compact Lidar sensor
KR102219801B1 (ko) 2017-09-22 2021-02-23 엘지전자 주식회사 인공지능을 이용한 이동 로봇 및 이동 로봇의 제어방법
US10606270B2 (en) 2017-10-18 2020-03-31 Luminar Technologies, Inc. Controlling an autonomous vehicle using cost maps
CN107806881A (zh) * 2017-10-25 2018-03-16 上海思岚科技有限公司 移动机器人构建结构地图的方法与设备
EP3737970A2 (en) 2017-11-28 2020-11-18 Innoviz Technologies Ltd. Lidar systems and methods
KR20190103511A (ko) 2018-02-12 2019-09-05 엘지전자 주식회사 이동 로봇 및 그 제어방법
US11237004B2 (en) 2018-03-27 2022-02-01 Uatc, Llc Log trajectory estimation for globally consistent maps
KR102561263B1 (ko) * 2018-04-04 2023-07-28 삼성전자주식회사 지도 데이터를 생성하는 전자 장치 및 그 동작 방법
KR102466940B1 (ko) * 2018-04-05 2022-11-14 한국전자통신연구원 로봇 주행용 위상 지도 생성 장치 및 방법
DE102019202702B3 (de) * 2019-02-28 2020-08-13 Kuka Deutschland Gmbh Abfahren einer vorgegebenen Anordnung von Wegen mit einem mobilen Roboter
KR102296908B1 (ko) * 2019-03-19 2021-09-02 한국전자통신연구원 특징점 지도 관리방법 및 장치
US11314254B2 (en) * 2019-03-26 2022-04-26 Intel Corporation Methods and apparatus for dynamically routing robots based on exploratory on-board mapping

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009515226A (ja) 2005-12-09 2009-04-09 韓國電子通信研究院 人工標識と地域座標系を用いた移動ロボットの地図の作成方法及び移動方法
JP2018067314A (ja) 2016-10-21 2018-04-26 ネイバー コーポレーションNAVER Corporation 室内自律走行ロボットのための制御方法及びシステム

Also Published As

Publication number Publication date
WO2021006553A1 (en) 2021-01-14
JP2022541736A (ja) 2022-09-27
EP3993962A1 (en) 2022-05-11
US20210004015A1 (en) 2021-01-07
KR20210005443A (ko) 2021-01-14
KR102224637B1 (ko) 2021-03-08
EP3993962A4 (en) 2023-05-17
US11774976B2 (en) 2023-10-03

Similar Documents

Publication Publication Date Title
KR102302575B1 (ko) 이동 로봇 및 그 제어방법
US11199852B2 (en) Mobile robot and control method for controlling the same
KR102275300B1 (ko) 이동 로봇 및 그 제어방법
US20220257074A1 (en) Mobile robot using artificial intelligence and controlling method thereof
KR20180023301A (ko) 이동 로봇 및 그 제어방법
KR20180023302A (ko) 이동 로봇 및 그 제어방법
JP7329125B2 (ja) 移動ロボット及びその制御方法
KR20180023303A (ko) 이동 로봇 및 그 제어방법
KR102147210B1 (ko) 인공지능 이동 로봇의 제어 방법
KR102147211B1 (ko) 인공지능 이동 로봇의 제어 방법
JP7432701B2 (ja) 移動ロボット及びその制御方法
KR102500525B1 (ko) 이동 로봇
EP4374763A1 (en) Robotic cleaner and method for controlling robotic cleaner
KR20230137080A (ko) 이동 로봇
KR20230143800A (ko) 이동 로봇 및 그의 제어 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230420

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230804

R150 Certificate of patent or registration of utility model

Ref document number: 7329125

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150