WO2018230864A2 - 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치 - Google Patents
외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치 Download PDFInfo
- Publication number
- WO2018230864A2 WO2018230864A2 PCT/KR2018/006113 KR2018006113W WO2018230864A2 WO 2018230864 A2 WO2018230864 A2 WO 2018230864A2 KR 2018006113 W KR2018006113 W KR 2018006113W WO 2018230864 A2 WO2018230864 A2 WO 2018230864A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- depth
- information
- unit
- sensing
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000001914 filtration Methods 0.000 claims abstract description 126
- 238000005286 illumination Methods 0.000 claims description 47
- 230000008859 change Effects 0.000 claims description 45
- 230000003287 optical effect Effects 0.000 claims description 42
- 230000004913 activation Effects 0.000 claims description 30
- 238000009825 accumulation Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 description 78
- 238000010586 diagram Methods 0.000 description 31
- 230000006870 function Effects 0.000 description 24
- 238000001994 activation Methods 0.000 description 20
- 239000011521 glass Substances 0.000 description 14
- 238000002310 reflectometry Methods 0.000 description 12
- 230000007423 decrease Effects 0.000 description 10
- 239000000463 material Substances 0.000 description 10
- 238000002834 transmittance Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000001579 optical reflectometry Methods 0.000 description 7
- 238000004140 cleaning Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003760 hair shine Effects 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 239000012780 transparent material Substances 0.000 description 3
- 241000112598 Pseudoblennius percoides Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000003203 everyday effect Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000169170 Boreogadus saida Species 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/022—Optical sensing devices using lasers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/026—Acoustical sensing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2213/00—Details of stereoscopic systems
- H04N2213/003—Aspects relating to the "2D+depth" image format
Definitions
- the present invention relates to a method of sensing a depth of an object by reflecting external light and an apparatus for implementing the same.
- robots In order to operate robots in spaces where human and physical exchanges occur actively, such as airports, schools, government offices, hotels, offices, factories, gymnasiums, and performance halls, robots are continuously sensed to avoid objects such as objects and people. It is necessary to move.
- the robot may set a driving route based on various information sensed during the driving process.
- the robot may influence the sensing of the object according to the external light (lighting, sunlight, etc.) illuminating the space for the robot to travel. I can receive it.
- a depth sensing module for acquiring depth information
- a depth sensing device on which such a module is mounted or a vision (RGB) camera
- RGB vision
- a distance from an external object as three-dimensional image information or provides an external image. It provides dimensional information, which can be affected by external light such as strong lighting or sunlight. In particular, when an object reflects external light, a distance from an external object may be sensed farther or closer than the actual thing.
- the present specification is to propose a method of reflecting the state of the external light or filtering the external light in the process of sensing the depth image or RGB image of the object.
- the present specification is to provide a method and apparatus for increasing the accuracy of the depth sensing information by using spatial and temporal information that can generate strong external light.
- the present specification is to provide a method and apparatus that can increase the accuracy of the above-described depth sensing information to move the robot safely.
- the present specification is to provide a method for preventing distortion of the image information by controlling the operation of the depth camera unit or vision camera unit for sensing the image by strong sunlight and a robot implementing the same.
- the present specification is to provide a method for increasing the accuracy in sensing image information by using spatial and temporal information that can generate strong external light and a robot implementing the same.
- the present specification is to provide a method for increasing the accuracy in sensing the image information by the depth camera unit and the vision camera unit to adaptively sense and control the image according to the sense of illuminance and a robot implementing the same.
- a method of sensing a depth of an object by reflecting external light may include storing first depth information of an object sensed at a first point in time by a depth camera unit of a depth sensing module, a depth camera. Storing second depth information of an object sensed at an additional second time point in a storage unit; and filtering the second depth information by comparing the generated first depth information and the second depth information of the sensing data filtering unit of the depth sensing module; Identifying an area, and adjusting a depth value of the filtering area in the second depth information by the controller of the depth sensing module.
- Depth sensing module for sensing the depth of the object to reflect the external light is a storage unit for storing the depth information, the first depth information and the first time of the object at a first point in time or Or a depth camera unit generating second depth information of the object at a later point in time, a sensing data filtering unit comparing the generated first depth information and the second depth information, and identifying a region to be filtered from the second depth information; And a controller configured to change the depth value of the filtering area in the second depth information or to remove the second depth information from the storage.
- a robot that senses and moves a depth of an object by reflecting external light may include a storage unit that stores depth information, and a first depth information and a first time point of the object at a first point in time. Sensing data filtering to identify the area to be filtered in the second depth information by comparing the depth camera unit generating the second depth information of the object at the second or preceding second point with the generated first depth information and the second depth information.
- a depth sensing module including a control unit for changing the depth value of the filtering region from the second and second depth information or removing the second depth information from the storage unit, an object sensing module for sensing an object disposed outside, and moving the robot.
- the moving unit and the robot control unit which checks objects around the robot based on the sensed results of the depth sensing module and the object sensing module to control the movement path of the robot are included. The.
- the robot for controlling the sensed image based on the illumination sensing includes a depth camera unit or a vision camera unit, and a sensing module including an illumination sensing unit for sensing the illumination in the direction in which the camera senses the image
- the map storage unit stores information of objects arranged in the space where the robot moves, the illumination information sensed by the illuminance sensing unit, the object information stored in the map storage unit, the object information sensed by the sensing module, the location information and time of the robot.
- a method of controlling an image sensed based on illuminance sensing wherein the illuminance sensing unit of the sensing module senses an illuminance in a direction in which a depth camera unit or a vision camera unit senses an image.
- image activation of the depth camera unit or the vision camera unit by combining at least one of information of an object stored in the storage unit, information of an object sensed by the sensing module, position information of the robot, and time information; and control
- the filtering may include filtering depth information of the depth camera unit after image control activation or selecting a feature set of color information sensed by the vision camera unit.
- the depth camera unit filters the normal depth information when the depth value is distorted and sensed by the depth camera unit when used outdoors or in a space where sunlight or light is introduced or when the sunlight is reflected. Can be calculated.
- the vision slam by selecting the feature set of the color information or whether to filter the depth value based on the information on whether the external light, such as lighting or sunlight, depending on the current position and situation
- the accuracy of obstacle determination and slam operation can be increased by selecting whether to perform the operation.
- FIG. 1 is a view showing the configuration of a depth sensing module according to an embodiment of the present invention.
- FIGS 2 and 3 are diagrams showing the configuration of depth information according to an embodiment of the present invention.
- FIG. 4 is a diagram illustrating a process of processing depth information by a depth sensing module according to an embodiment of the present invention.
- FIG. 5 is a view showing the configuration of the optical information providing unit of the depth sensing module according to an embodiment of the present invention.
- FIG. 6 is a diagram illustrating a configuration of a map storage unit according to an embodiment of the present invention.
- FIG. 7 is a view showing the configuration of the light source period information unit and the context unit according to an embodiment of the present invention.
- FIG. 8 is a view showing the configuration of a robot according to an embodiment of the present invention.
- FIG. 9 is a view illustrating a depth sensing process according to an embodiment of the present invention.
- FIG. 10 is a diagram illustrating a process of generating and filtering the depth camera unit according to an embodiment of the present invention.
- 11 and 12 are views illustrating a process of sensing a depth value of an object by reflecting the influence of external light by the depth sensing module according to an embodiment of the present invention.
- FIG. 13 is a view illustrating a process of changing a depth value according to an embodiment of the present invention.
- FIG. 14 is a diagram illustrating an embodiment of newly generating and storing depth information according to an embodiment of the present invention.
- 15 is a view illustrating in detail the process of adjusting the depth value according to an embodiment of the present invention.
- 16 is a diagram illustrating a process of identifying a filtering area by the sensing data filtering unit according to an embodiment of the present invention.
- FIG. 17 is a diagram illustrating a process of updating external light information sensed during a movement of a robot according to an embodiment of the present invention.
- FIG. 18 is a view illustrating components of a sensing module according to an embodiment of the present invention.
- 19 is a view showing the configuration of a robot according to an embodiment of the present invention.
- FIG. 20 is a diagram illustrating a configuration of a map storage unit according to an embodiment of the present invention.
- FIG. 21 is a diagram illustrating a process of performing image control activation using a distance from a light source and a sensed illuminance value using location information according to an embodiment of the present invention.
- FIG. 22 is a diagram illustrating a process of calculating an illuminance prediction value according to a distance between a robot and a light source according to an embodiment of the present invention.
- FIG. 23 is a diagram illustrating a process of performing image control activation using time information and sensed illuminance values according to an embodiment of the present invention.
- FIG. 24 is a diagram illustrating a process of performing filtering under a control of an illuminance sensing unit according to an embodiment of the present invention.
- FIG. 25 is a diagram illustrating a process of selecting, storing, or performing a vision slam using a feature set in a process of accumulating and storing color information by a robot according to one embodiment of the present invention.
- FIG. 26 is a diagram of a controller identifying color information of a vision camera unit based on illuminance according to an embodiment of the present invention.
- 27 is a view showing information of feature sets stored in the storage unit 150 according to another embodiment of the present invention.
- FIGS. 28 and 29 are views illustrating a configuration in which an illuminance sensing unit according to an embodiment of the present invention is disposed on a robot.
- FIG. 30 illustrates a process of controlling image control activation according to an embodiment of the present invention.
- first, second, A, B, (a), and (b) can be used. These terms are only to distinguish the components from other components, and the terms are not limited in nature, order, order, or number of the components. If a component is described as being “connected”, “coupled” or “connected” to another component, that component may be directly connected to or connected to that other component, but between components It is to be understood that the elements may be “interposed” or each component may be “connected”, “coupled” or “connected” through other components.
- the depth sensing module refers to a device on which the module is mounted, for example, a device that acquires depth image information of an object in a space in which a robot moves and calculates a distance of the object.
- the depth sensing module may be referred to as a depth sensing device when the depth sensing module exists as an independent device instead of being mounted on another device.
- the robot to which the depth sensing module is coupled includes a device for moving to provide a specific purpose (cleaning, security, monitoring, guidance, etc.) or to provide a function according to the characteristics of the space in which the robot moves. Therefore, the robot in the present specification collectively refers to a device that holds a moving means that can move using predetermined information and a sensor and provides a predetermined function.
- the sensor refers to various types of sensors for sensing the presence, distance, or characteristic of an external object.
- the robot may move while holding a map.
- the map refers to information about fixed objects such as fixed walls and stairs that are found not to move in space.
- information about dynamic objects that are periodically arranged may also be stored on the map.
- information about obstacles disposed within a predetermined range based on the moving direction of the robot may also be stored on the map.
- the robot may store information on external light such as sunlight or lighting on a map.
- external light such as sunlight
- information about the information may be stored on a map.
- the information on the external light includes information about a direction in which light is input, light intensity, time, or period. Storing external light information on the above-described map may be applied to both the robot or the depth sensing module.
- FIG. 18 to FIG. 30 provide a method of preventing distortion of image information by controlling an operation of a depth camera unit or a vision camera unit for sensing an image by strong sunlight, and a robot implementing the same.
- the depth sensing module includes a depth camera unit 110 that primarily generates depth information of an external object, and a sensing data filtering unit 120 that calculates an influence of external light and identifies a region to be filtered in the depth information generated primarily. ), A storage unit 130 storing depth information, and a controller 150 generating new depth information by applying previous or subsequent depth information to a region to be filtered.
- the apparatus may further include an optical information providing unit 140 that provides characteristic information of external light at a point where the depth sensing module is located.
- the optical information providing unit 140 may provide optical information of a current position or an entrance position by reflecting a position or a moving speed of the depth sensing module 100.
- the light sensing unit 111 for sensing external light may be disposed.
- the light sensing unit 111 may update or store the intensity or other characteristic of the light sensed in the movement process in the optical information providing unit 140.
- the depth camera unit 110 generates the first depth information of the object at the first time point and the second depth information of the object at a second time point that precedes or follows the first time point in time, and the storage unit 130. ).
- the sensing data filtering unit 120 compares the first depth information and the second depth information to identify a region to be filtered in the second depth information. The identification of the filtering area will be described later.
- the controller 150 changes the depth value of the filtering region in the second depth information or removes the second depth information from the storage 130 so that the depth information can be accurately calculated.
- the depth sensing module when the depth sensing module is not a single device but a device coupled to another device, for example, a robot, some components may be implemented in the robot.
- the optical information providing unit 140 may be included in the depth sensing module 100 or may be included in a robot which is another device to which the depth sensing module 100 is coupled.
- the controller 150 may be provided with optical information and position information from the robot and may be provided to the sensing data filtering unit 120 again or used to generate new depth information from which the influence of light is removed from the depth information.
- the depth sensing module sequentially stores the depth information in the storage unit 130 in a queue-like manner for a predetermined time, and among the stored depth information, the depth sensing module stores the depth information in depth information which is strongly influenced by external light. Regarding this, it is determined as a garbage value and is not used.
- the speed of the depth sensing module may be reflected, for example, the speed of movement of the depth sensing module or the speed of movement of the robot on which the depth sensing module is mounted.
- Depth information 10 means that the depth values for each depth cell of the depth image photographed in one frame are stored separately.
- the depth information 10 is stored in the storage 130.
- a plurality of depth information stored corresponding to frames of a plurality of viewpoints photographed at different viewpoints may be stored in the storage 130.
- the depth camera unit 110 may calculate depth values for depth cells divided into max_x horizontally and max_y vertically corresponding to a depth image of a specific viewpoint, that is, a frame of the specific viewpoint.
- each cell in the depth image may indicate one pixel.
- a depth cell indicates a unit in which one depth value is calculated including a pixel or a larger range.
- the size of the depth cell may increase or decrease according to the resolution of the depth image calculated by the depth camera unit 110.
- the number on the upper side of the depth information 10 indicates the x coordinate, and the number on the left indicates the y coordinate.
- One depth cell has one depth value. Accordingly, the value of one depth cell defined on the x and y coordinates may be expressed as follows.
- the frame number may be identification information for identifying one depth image.
- the depth value represents a depth value of a depth cell indicated by X and Y of a specific frame.
- the depth information of the depth image for each frame generated by the depth camera unit 110 may continue to change.
- the depth value of a specific depth cell constituting the depth information may continue to change.
- the depth values of the depth cells 15a, 15b, and 15c having (x, y) of 1 and 2 may change every frame.
- depth values of other depth cells may also change.
- the depth information refers to a set of depth values constituting one frame acquired by the depth sensing module 100, that is, a depth image photographed at one time point.
- the depth values of all depth cells were collectively increased by 1 between the depth information 11 of the first frame and the depth information 12 of the second frame.
- a large difference has occurred between the depth information 12 of the second frame and the depth information 13 of the third frame when the depth values of the depth cells having (x, y) of 1 and 2 are large.
- control unit 150 of the depth sensing module 100 may determine that the depth value of 15c is a garbage value due to external light.
- the sensing data filtering unit 120 or the controller 2900 to be described later analyzes when the change in the depth value is greater than the preset reference among the accumulated depth information, and before or after the depth value in the case of the garbage value due to the influence of external light.
- the depth value of the corresponding cell may be extracted from the depth information of the subsequent frame, that is, the depth information of the previous or subsequent depth image in time, to remove the garbage value due to external light, and to calculate depth information reflecting the depth values of the actual objects. have.
- the optical information providing unit 140 provides information necessary for determining whether the large change in the depth value is due to the garbage value.
- the sensing data filtering unit 120 may filter the change in the depth value of the depth cell.
- the depth sensing module may sense N depth information for a predetermined time, and may identify an error in depth information due to influence of external light, and may correct or remove the depth information.
- the depth camera unit 110 which is a depth sensor, stores N depth information (depth data) in the storage unit (S21).
- N may be one or more natural numbers.
- five depth information may be stored in the storage 130 in a queue manner.
- the controller 150 acquires external environment information such as characteristics of external light corresponding to the current position of the sensing module and moving speed of the depth sensing module (S22).
- the controller 150 may acquire the external environment information through the optical information providing unit 140 or from another device to which the depth sensing module 100 is coupled, for example, a robot.
- Sensing data filtering unit 120 reflects the external environment information to identify the area in which the change in the depth value of the N depth information more than a certain range as the filtering area (S23). For example, the sensing data filtering unit 120 examines five cues and compares each depth cell of the depth information, and when the depth value differs by a predetermined distance (for example, 100 mm) or more, it is determined as a garbage value. Do not use.
- the sensing data filtering unit 120 may determine the size of the object. It may be determined that the depth value is changed due to the change in the intensity of external light, not the depth value. That is, when a change in the depth value of a certain size or more occurs with a time difference, it may be determined that the external light to the object has changed.
- the controller 150 may determine whether the space where the depth sensing module 100 is located is a space affected by sunlight or illumination and provide the sensed data to the sensing data filtering unit 120. In this case, when the depth sensing module 100 or the robot equipped with the depth sensing module 100 is located at a specific place and / or at a specific time, the depth value affected by external light may be filtered, which may affect the influence of external light. By removing from the depth value and controlling and driving to identify external obstacles during the movement of the robot, it is possible to eliminate the delay of the robot movement due to inefficient obstacle detection.
- controller 150 sets depth values of the depth cells constituting the filtering region by using other depth information stored in the storage 130.
- FIG. 5 is a diagram illustrating a configuration of an optical information providing unit constituting a depth sensing module or a robot equipped with a depth sensing module according to an embodiment of the present invention.
- the optical information providing unit 140 checks external environment information necessary to remove garbage values from the depth information sensed by the depth sensing module 100 and reflects light or emits light in a space in which the depth sensing module moves. Provides information about
- the depth sensing module 100 may update the information on the external light to the optical information providing unit 140 when the external light sensed during the movement process has a predetermined magnitude or more or the external light is periodically sensed. have.
- the map storage unit 141 stores the position of the fixed object in the space for generating the depth information and the reflection or transmission information of the external light
- the light source period information unit 145 storing the period information for turning on / off the external light
- the context unit 146 stores a context in which external light is turned on and off.
- the map storage unit 141 stores information about a wall, a window, and a location of a light source of a space in which the depth sensing module 100 moves.
- the wall of the space and the like stores information on the degree of light reflection (reflection of the external light) so that the depth sensing module 100 can process the depth information by reflecting the intensity of the reflected light.
- the location of the light source may additionally include light intensity of the light source, for example, illuminance and color of the light source. If there is a space between the walls in the space, this can be judged as glass. Values for the light transmittance of these glasses may also be stored in the map storage unit 141.
- the light source period information unit 145 is information on a cycle in which a specific light source is turned on and off. For example, the light source may be turned on every day and every day. In addition, other light sources may be turned on only in the afternoon or evening.
- the light source period information unit 145 stores information about a cycle of turning on and off the light source, and when the light source is turned off, the depth sensing module 100 may determine that there is no influence of external light.
- the context unit 147 stores context information that is not included in the period information of the light source, such as context information on a situation in which the light source is turned on or off, or context information that sunlight enters the window.
- information associated with seasons or weather may be stored in a context in which sunlight can enter the window.
- context information about this may be stored in the context unit 147. For example, in the case of an airport, the on / off condition of a light source that is turned on or off in response to a specific flight schedule may be stored in the context unit 147. Alternatively, the on / off condition of the light source that is turned on or off in response to a specific weather may be stored in the context unit 147.
- the depth sensing module 100 may check the information about the light sources of the currently moving space and whether the light sources are turned on or off and reflect the information, thereby removing the garbage value from the depth information.
- FIG. 6 is a diagram illustrating a configuration of a map storage unit according to an embodiment of the present invention.
- the map storage unit 141a may be configured as a kind of bitmap. Each bit in the bitmap of an image file can be configured to represent one unit area. Each unit region may indicate a lower left side as (0, 0) and an upper right side as (19, 19).
- 141a of FIG. 6 may have a data structure of 20 ⁇ 20 structure. For example, it may include information on whether an object is disposed for each location. Information is arranged like a matrix, and when a fixed object is arranged, the value of the matrix can be set to a preset value.
- the map storage unit 141a may store characteristic information on reflection or transmission properties of light of the fixed objects, and the characteristic information on the objects may be classified into categories and stored in the map storage unit 141a. have.
- a black portion of the map storage unit 141a of FIG. 6 shows that the light reflectivity is 10 and the object has a low light reflectivity.
- the other fixed object indicated by 212 shows that the light reflectivity is 30 and reflects the external light at 30%.
- the fixed object indicated by 213a, 213b shows that the light reflectivity is 70 and reflects the external light at 70%.
- the range of reflectivity of light of the stationary object may be set in various ways, and the present invention is not limited thereto.
- the portion of the fixed objects combined with T and the number shows the transmittance of light.
- "T9" indicated at 211a indicates that a fixed object of transparent material, for example, a transparent glass window, which transmits 90% or more of light, is disposed.
- the depth sensing module 100 may confirm that sunlight affects the calculation of the depth information.
- T5" indicated at 211b means that a fixed object made of a translucent material that transmits 50% of light, for example, a translucent glass window, is disposed.
- L1 or L3 is displayed in a space where light may enter from a ceiling or a point where lighting is disposed.
- L1 or L3 may be a labeling grouping the ceiling windows or lights, and in one embodiment may be the intensity of the light or the intensity of the light by the window's transmittance or the group name of a particular category of lights.
- L1, L3, etc. represent the intensity of sunlight or illumination of the light flowing through the windows of the ceiling, they may be categorized into categories, which may be categorized from 1 to 5 as an example, and the embodiment of FIG. It can be seen that the external light L1 of intensity corresponding to the category "1" and the external light L3 of intensity corresponding to the category "3" are displayed.
- the light transmittance when the ceiling is transparent glass, the light transmittance may be grouped as high, and when the ceiling is opaque glass, the light transmittance may be grouped as low.
- the lights may be grouped and categorized in addition to the intensity of the external light or the illuminance of the light. For example, you can group lights that are on or off at the same time and categorize them and label them as L1, L2.
- While L1, L3, etc. provide specific information about the external light, such as the intensity of the sunlight entering through the windows of the ceiling, the group of lights, or the illumination of the light, the more detailed information of the external light, eg, sunlight For information on the on / off period in which the lighting of time or sunlight (weather, latitude, longitude, etc.) are turned on and off, or the context in which the lights are turned off (a condition in which a light is turned on in a specific space), the light source period information unit 145 of FIG. And the context unit 147.
- information on the degree of reflection of light by the material of the floor may also be stored in the map storage unit 141. It can store information about reflectivity of.
- Table 1 shows that the light reflection of the floor with (0, 0) as the lower left region and (19, 19) as the upper right region falls into the category of "50". This may reflect information that light may be reflected from the bottom while the depth sensing module 100 filters the sensed depth value. Alternatively, the space can be subdivided to present the reflection information of the floor as shown in Table 2.
- the robot or depth sensing module When moving to the first area ((0, 0) ⁇ (19, 10)) in Table 2, the robot or depth sensing module reflects the information that the reflectivity is 50, so that the degree of reflection of the ceiling light falls within the category corresponding to 50. Depth information may be filtered in space. In addition, when moving to the second area ((0, 11) to (19, 19)), the depth information is filtered by reflecting the information that the reflectivity is 20, and the depth information is filtered in the space belonging to the category corresponding to the degree of the light of the ceiling.
- 7 is a diagram illustrating a configuration of a light source period information unit and a context unit according to an embodiment of the present invention.
- the light source period information unit 145a presents an external light grouped in FIG.
- the external light (such as sunlight or lighting) called L1 is set to turn on from 06:00 to 22:00 time (Time field) from Monday to Friday (Day field) regardless of the position (POS field is ALL).
- the external light grouped into L3 (sunlight or lighting, etc.) is set to turn on for a predetermined time (10:00 ⁇ 17:00) on Saturday and Sunday.
- the time may correspond to lighting, and in case of sunlight, sunset / sunrise time may be applied.
- the context unit 147a presents a condition under which sunlight shines, lights turn on, or turns off, that is, context information.
- context information can also be constructed by combining weather information such as sunlight.
- the illumination disposed at the position of (7, 17) (indicated by 15 in Fig. 6) can be adjusted to turn on or off according to the external weather.
- the L1 light source of FIG. 6 of FIG. 6 has a fixed object 211a made of a transparent material that transmits external light. Therefore, as shown in 147a, the context information of turning off the lighting at "Sunny_Weather” and turning on the lighting at the "Night / Rainy_weather" situation may be stored.
- the L3 light sources may all be set to be ON when the space is crowded. And can be set to OFF on Saturdays and Sundays.
- the current position and time of the robot when the depth sensing module 100 or the robot on which the depth sensing module 100 is mounted passes a section affected by light while moving.
- the robot or the depth sensing module 100 learns by accumulating the sections affected by sunlight or lighting, and removes the influence of sunlight or lighting when moving the same place at the same time.
- the filter By activating the filter to remove the influence of the external light to calculate the correct depth information.
- Activating the filter causes the sensing data filtering unit 120 of FIG. 1 to filter the garbage value from the depth information.
- the depth data of each depth cell is compared with the accumulated depth information to determine whether the obstacle is caused by external light. It may be determined whether the depth value is an error. If the accumulated depth information increases in this process, it is possible to increase the accuracy of determining whether the depth value is a garbage value, which may cause a kind of delay in checking the depth information.
- the robot can filter the garbage value from the depth information within a delay time that does not cause a problem in determining the obstacle.
- the depth sensing module 100 may be configured. In this process, the information constituting the above-described optical information providing unit 140 is updated through learning to improve the filtering accuracy.
- the robot 1000 includes the depth sensing module 100 described above.
- the optical information providing unit 140 configures the robot 1000, and may be a component of the robot 1000 independently from the depth sensing module 100.
- the object sensing module 190 required to sense external objects while the robot 1000 moves, the moving unit 300 for moving the robot 1000, and the function unit 400 performing a specific function, and The communication unit 500 is presented.
- FIG. 8 is hierarchically configuring the robot, this is by logically representing the components of the robot, and the physical configuration may be different.
- One physical component may include a plurality of logical components, or a plurality of physical components may implement one logical component.
- the hierarchy of FIG. 8 need not necessarily be maintained.
- the object sensing module 190 provides the robot controller 900 with information sensed by sensing external objects.
- the object sensing module 190 calculates the material and distance of external objects such as walls, glass, and metallic doors from the robot's current position as intensity and reflected time (speed) of the signal (Lidar). ) May include a sensing unit 191.
- the object sensing module 190 may further include a vision sensing unit 192 for acquiring an image of an external object of the robot.
- the vision sensing unit 192 may include a camera.
- the vision sensing unit 192 may photograph images of objects around the robot.
- the robot may identify whether an external object is a moving object by distinguishing an image in which there is not much change, such as a fixed object, and an image in which the moving object is disposed.
- the object sensing module 190 may include an ultrasonic sensing unit 193 for sensing the presence or absence of objects disposed within a predetermined distance from the robot 1000.
- the ultrasonic sensing unit 193 provides information determining whether objects exist within a predetermined distance from the robot 1000.
- auxiliary sensing units 194 having a heat sensing unit, an ultrasonic sensing unit, and the like may be disposed. These auxiliary sensing units provide auxiliary sensing information necessary for generating a map or sensing an external object. In addition, these auxiliary sensing units also provide information by sensing an object disposed outside when the robot travels.
- the sensing data analyzer 195 analyzes the information sensed by the plurality of sensing units and transmits the information to the robot controller 900. For example, when an object disposed around the robot is detected by a plurality of sensing units, each sensing unit may provide information about a characteristic and a distance of the object. The sensing data analyzer 195 may calculate a combination of these values and transmit the calculated values to the robot controller 900.
- the robot controller 900 provides the sensed distance information to the depth sensing module 100 so that the robot controller 900 can refer to the depth information in the process of filtering the depth information.
- the sensing data analyzer 195 provides information to the robot controller 900 because the object does not exist within 5 meters, and the robot controller 900 provides the information to the depth sensing module 100.
- the depth sensing module 100 may check and filter whether the corresponding depth cell is distorted by external light.
- the moving unit 300 is a means for moving the robot 1000 like a wheel, and moves the robot 1000 under the control of the robot controller 900.
- the robot controller 900 may check the current position of the robot 1000 in an area stored in the map storage unit 141 and provide a movement signal to the moving unit 300.
- the robot controller 900 may generate a path in real time or generate a path in a moving process using various information stored in the map storage unit 141.
- the functional unit 400 is meant to provide specialized functions of the robot.
- the function unit 400 includes components necessary for cleaning.
- the function unit 400 includes components required for guidance.
- the function unit 400 includes components required for security.
- the function unit 400 may include various components according to functions provided by the robot, but the present invention is not limited thereto.
- the communication unit 500 transmits the information acquired by the robot to an external server or other robots, or provides a function of receiving information from the above-described server or other robots.
- the communication unit 500 receives information on the current weather from external devices to determine whether a strong external light such as sunlight is generated and provides it to the robot controller 900, and the robot controller 900 externally.
- the light generating condition is provided to the depth sensing module 100 so that the light generation condition may be applied to the filtering of the depth information.
- the robot controller 900 of the robot 1000 may generate or update a map of the map storage 200.
- the robot controller 900 may control the movement path of the robot by collecting the sensing information provided by the depth sensing module 100 and the sensing information provided by the object sensing module 190 during the driving process. That is, the robot controller 900 checks objects around the robot based on the sensed results of the depth sensing module 100 and the object sensing module 190 to control the movement path of the robot 1000.
- the optical information providing unit 140 may be disposed independently of the depth sensing module 100, in this process, the robot controller 900 transmits the position information of the external light acquired in the movement process to the optical information providing unit 140. Can be stored. In addition, if it is determined that the property of the reflection or transmission of light of the wall or the floor of the moving space is changed in the map storage unit 141 in the process of generating a map for the moving space of the robot, the fixed object of the map storage unit 141. You can also change the properties of.
- the robot controller 900 may provide the depth sensing module 100 with distance information of an object sensed by the object sensing module 190 in a region corresponding to the depth information generated by the depth sensing module 100.
- the control unit 150 of the depth sensing module 100 senses information on an area that is inconsistent in the depth information when the distance information of the object provided through the robot controller 900 is inconsistent with some or all of the depth information.
- the sensing data filtering unit 120 may identify the area to be filtered more accurately.
- 9 is a view illustrating a depth sensing process according to an embodiment of the present invention. 9 determines whether the current position of the robot or the depth sensing module is affected by sunlight by using the information stored in the map storage unit of the above-described optical information providing unit, and accordingly the depth photographed by the depth camera unit of the depth sensing module The process of analyzing and filtering depth values (input data) of each depth cell from information is shown.
- the depth camera unit 110 generates depth information including the sensed depth value and stores the depth information in the storage 130 (S31).
- the robot checks whether the current position and time of the robot are affected by external light, especially sunlight or strong light (S32). This may be confirmed using information stored in the optical information providing unit 140 constituting the depth sensing module 100 or the robot 1000. As a result of the check, in the case of the section affected by the external light, depth information of the most recent five frames stored in the storage unit 130, that is, depth information, is stored in the queue (S33).
- the aforementioned five frames mean depth information photographed at five previous viewpoints based on the current viewpoint.
- the depth value of each depth cell of the previous frame and the depth values of each depth cell in the currently identified depth information are compared to determine whether to filter by checking whether the data is real or garbage.
- step S31 is performed to exclude the corresponding depth information and to sense and store the new depth information.
- the corresponding depth data is used (S35). Confirmation of the garbage value means that accurate valve information is not calculated due to external light.
- the depth value of the depth cell corresponding to the garbage value may be newly calculated. For example, when the depth value of a depth cell, which is a specific position, continuously decreases by 1 in five depth information corresponding to the previous five frames, and suddenly decreases by 1,000, this may be determined as a garbage value. However, step S31 may be performed to discard the garbage value and newly calculate the depth information, or the depth information may be calculated by correcting the garbage value. For example, when it is determined as a garbage value in 15c of FIG. 3, the depth value of the corresponding cell may be converted to 559 based on the depth information 11 and 12 of the previous frame.
- FIG. 10 is a diagram illustrating a process of generating and filtering the depth camera unit according to an embodiment of the present invention.
- 41 to 43 are shapes of objects disposed on the front surface of the depth sensing module 100 or the robot 1000, and show shapes of objects on the front surface of each frame.
- 51 to 53 show some of the depth information generated corresponding to these 41 to 43.
- the depth information includes depth values for each depth cell by dividing 41 to 43 into depth cells, and 51 to 53 show depth values of specific depth cells 41p, 41q, 42p, 42q, 43p, and 43q.
- Depth information is divided into depth 150 and vertical 100 size, 41p, 42p, 43p has the coordinates (30, 75) at 41, 42, 43, respectively, 41q, 42q, 43q is 41, The coordinates at 42 and 43 are (75, 25).
- the total depth information may be stored with a depth value for each depth cell.
- the total depth information may be stored with a depth value for each depth cell.
- only depth values of specific cells are displayed in FIG. 10.
- Depth values of 51p and 41q at 51 are sensed as 1530 and 3500 respectively.
- Depth values of 42p and 42q at 52 are sensed as 1480 and 3450, respectively.
- a portion of sunlight 50 enters at 42 but does not affect depth sensing.
- 43p is 1430 with a constant decrease of 50 compared to 1480, which is the depth value of the same depth cell (cell having positions (30, 75)). 43q may be randomly sensed as 0 when compared to 3450, which is a depth value of the same depth cell (cells having positions (75, 25)). This means that the value sensed by the depth sensing module is input to the garbage value due to sunlight 50.
- the sensing data filtering unit 120 filters out a large change in a specific value, such as 43q of 53, among the depth values, and the controller 150 removes the filtered depth information 53 or removes the previous depth information ( 51 and 52, depth information 54 having a new depth value 3400 may be generated and stored.
- the controller 150 determines whether a new object is sensed or is filtered based on a depth value having a large change based on a value sensed by the object sensing module 190 of the robot 1000 as a garbage value. Can decide. For example, since an object may suddenly approach, when the object sensing module 190 senses that the object is near, the sensing data filtering unit 120 may use the depth value without filtering. Alternatively, the depth camera unit 110 may generate depth information again for accuracy.
- a process of analyzing the depth information by the depth sensing module 100 is as follows.
- the depth value within a specific range is excessively changed between frames in the depth information of each frame due to the influence of sunlight. If it is confirmed to disappear, this depth information may be filtered.
- a situation in which the depth value of a specific depth cell between 400 and 1000 mm in the front part is continuously detected in depth information of 2 to 3 frames and then the value magnetic value 0 is detected may be repeated.
- the same value does not continuously enter depth information of 2 to 3 frames and the depth value is not linear and increases or decreases significantly, such as 200, 700, 400, 0, 1000, etc.
- the depth sensing module 100 may check that the depth value is changed by the influence of external light instead of the depth sensing, and may filter the corresponding depth value.
- the depth sensing module 100 may refer to the sensing result of the external objects sensed by the object sensing module 190 in order to confirm whether the object is actually placed in front of the object, and the optical information providing unit 140
- the depth value may be filtered based on the arrangement of the external light at the current location, the light intensity, the context information, and the like.
- the light sensing unit 111 senses the intensity of external light and the sensed light affects the depth sensing, the depth value may be adjusted.
- information of the map storage unit 141 may be used.
- the depth of light can be accurately calculated by checking the reflectivity of the light on the floor and checking the position of the light in the map storage unit 141a to remove the influence of light from the depth information.
- a specific position (x, y) of depth information may be referred to.
- the reference may be made in 41 to 43. If there is a point to be found, the relative coordinate corresponding to this point can be obtained.
- the vision sensing unit 192 confirms that the cylindrical cylinders 41 and 41 gradually approach from 42 and 43, the position of the depth cell may be checked in proportion to the distance between the rapidly changing region and the cylindrical cylinder.
- the position of 42p may be (30, 75), but at 42, the position may be (28, 73) at the corresponding point, which is sensed by the vision sensing unit 192 to analyze a more accurate trend of the change in the depth cell. Information of things can be used.
- FIG 11 and 12 are views illustrating a process of sensing a depth value of an object by reflecting the influence of external light by the depth sensing module according to an embodiment of the present invention. Both the depth sensing module 100 that operates independently or the robot 1000 equipped with the depth sensing module 100 may be implemented.
- the depth camera unit 110 of the depth sensing module 100 stores the first depth information of the object sensed at the first time point in the storage 130 (S61). Then, the depth camera unit 110 stores the second depth information of the object sensed at the second time point in the storage 130 (S62). A plurality of depth information may be stored even before the first time point.
- depth information generated by a plurality of depth cells and generated for each view point, that is, for each frame, may be stored in the n storage units 130. Since the depth values of the depth cells at the same position of the depth information stored in the storage 130 are sensed by the depth camera unit 110 while the depth sensing module 100 moves within a short time, the depth value for each depth cell The change is not great.
- the control unit 150 or the sensing data filtering unit 120 of the depth sensing module 100 may set the maximum variation reference value of the depth value based on the moving speed and the sensing interval.
- a distance difference of about 1500 mm may occur in one second.
- the depth information generated for each frame may have a difference of a maximum depth value of 50 mm (1500 mm / 30 seconds). Therefore, after setting the maximum variation reference value of the depth value to 50 mm or a slightly larger value (100 mm), the depth value of a specific depth cell in the depth information accumulated in FIG. 12 is compared with the previous frame. If greater than the maximum variation reference value, the sensing data filtering unit 120 may determine whether the depth value is a garbage value.
- the sensing data filtering unit 120 of the depth sensing module 100 compares the generated first depth information with the second depth information to identify a region to be filtered from the second depth information (S63). ). In the identification method, the sensing data filtering unit 120 identifies the depth cells corresponding to the depth values as areas to be filtered when the variation of the depth value is greater than a predetermined reference value (the maximum variation reference value).
- the characteristics of the external light may be checked through the optical information providing unit 140, or the result of the light sensing unit 111 sensing the intensity of the external light, or the external object sensed by the object sensing module 190 of the robot 1000.
- the sensing data filtering unit 120 identifies an area to be filtered, which is composed of one or more depth cells.
- the region to be filtered may be one or more depth cells in the second depth information, and the controller 150 adjusts the depth value of the filtering region in the second depth information (S64).
- the second depth information is removed from the storage unit 130 and the depth information is generated at a new new point of view.
- the depth value of the filtering region may be changed in the second depth information. This may change the depth value of the depth cells constituting the filtering region by referring to the first depth information or by referring to other depth information adjacent in time.
- the depth information sensed as shown in FIG. 53 is changed to 54 as described above.
- FIG. 13 is a view illustrating a process of changing a depth value according to an embodiment of the present invention.
- the depth cells at the same positions (X1 and Y1) of the 1-1 depth information to the 1-4 depth information have values of D11 to D14, respectively.
- the change in the values of D11 to D4 is in a decreasing form, and the difference between D11-D12, D12-D13, and D13-D14 is within a preset error range.
- the sensing data filtering unit 120 determines that it is a garbage value.
- the depth value of the depth cell at the same position (X1, Y1) of the second depth information may be set as D2 'based on previously sensed depth information or later sensed depth information.
- the controller calculates D2 using the previous depth information as it is or calculates D2 'generated by applying weights to the previous depth information so that the value of D2' is the depth cell of the second depth information DCell (X1, Y1). ) Can be set to a depth value. That is, the depth value of each of the depth cells in the filtering area is calculated according to a new calculation to generate new depth information, and the control unit 150 stores the new depth information.
- the controller 150 may generate the new depth information by applying the first depth information (or the first through first through fourth depth information) to the region to be filtered out of the second depth information.
- the controller 150 may apply depth information generated by applying weights to the first depth information (or first to first to fourth depth information) to a region to be filtered of the second depth information at the second time point. Depth information may be generated. The controller 150 may store the newly generated depth information as the depth information at the second time point in the storage 130. In the process of applying the above-described weight may reflect the movement speed of the robot.
- the depth sensing module 100 generates depth information such as 10p, 10q, and 10s in chronological order. In this process, among the most recent depth information of 10s, a region (DCell1 and DCell2 region of 10s) where a change and a difference in the value of the previous depth information occurs is identified as a filtering region. In one embodiment, the sensing data filtering unit 120 confirms that the first depth value of the first depth cell Dcell1 or DCell2 of the first depth information 10p and 10q is decreased by 10 or 9.
- sensing data is sensed.
- the filtering unit 120 may identify the difference between the previous values and the difference.
- the sensing data filtering unit 120 changes the depth value to 90, 80, and 0, and thus, may determine that the depth value sensed as “0” is a garbage value.
- the sensing data filtering unit 120 changes the depth value to 80, 71, and 0, so that the sensed depth value of the last “0” may be determined to be a garbage value.
- the sensing data filtering unit 120 may generate new depth information 10s', and it may be confirmed that the values of the depth cells constituting the filtering area are changed to 70 and 62, respectively.
- the change of the depth value reflects the change process of 10p and 10q.
- the sensing data filtering unit 120 may use only the previous depth information. For example, if 10q is referenced and there is no influence of external light, and the maximum difference in depth value between 10q and 10s is 20, the depth value having a difference of 20 or more is set as garbage value to set a new depth value. Can be calculated.
- the depth value of the depth cell of the same X / Y point in the depth information is changed, but the present invention is not limited thereto.
- the depth value of the associated depth cell may be compared to reflect this change.
- the vision sensing unit 192 may track the movement of the object sensed and analyze related depth cells.
- the position of the first depth cell of the first depth information and the position of the second depth cell of the second depth information may be the same or may be different. Based on the different positions can be selected.
- FIG. 15 is a view illustrating in detail the process of adjusting the depth value according to an embodiment of the present invention. Processes S63 and S64 of FIG. 11 will be described in detail with reference to the embodiment of FIG. 14.
- the sensing data filtering unit 120 calculates a first depth value D1 (D11 to D14 in FIG. 14 as an embodiment) of the first depth cell of the first depth information of the object sensed at the first time point (S631). ). In operation S632, the sensing data filtering unit 120 calculates a second depth value D2 of the second depth cell of the second depth information of the object sensed by the second time point. The sensing data filtering unit 120 performs the filtering as S635 when the difference between the D1 and the D2 is greater than or equal to the set reference (S633). If the difference is less than or equal to the set reference, second depth information including D2 is stored in the storage unit (S649).
- the difference between D1 and D2 is a position of the depth sensing module 100 at a first time point and a position of the depth sensing module at a second time point. It is confirmed that D2 is likely to have a garbage value if it is larger than the difference between or larger than a preset reference such as the maximum change reference value in consideration of the moving speed of the object.
- the controller 150 determines D1 as D2 '(new depth value) based on the position difference between the depth sensing module at the first time point and the second time point in order to calculate a new D2' time.
- Create Based on the position difference means applying a change trend of previously accumulated depth values or reflecting distance information moved between two viewpoints by the depth sensing module.
- the controller 150 sets the newly generated D2 'as the depth value of the second depth cell.
- the optical information providing unit 140 includes a map storage unit 141, a light source period information unit 145, and a context unit 147, and the sensing data filtering unit 120 includes the light at the current location. The impact can be analyzed to identify filtering areas.
- the controller 150 extracts the characteristic information of the external light stored in the optical information providing unit 140 (S71).
- the map storage unit 141 checks whether there is lighting around the current position of the depth sensing module 100 or the robot 1000.
- the map storage unit 141 may determine whether there is a fixed object made of a material that transmits external light, such as a window, in front of the depth sensing module 100.
- the controller 150 may check the light source period information unit 145 and the context unit 147.
- the light sensing unit 111 may be used to determine whether there is strong external light.
- the controller 150 may calculate information on the presence of external light or information on the intensity of the external light, and the control unit 150 may calculate the external light intensity by reflecting the reflectivity of the material of the floor or the wall. Can be.
- the controller 150 may reduce the possibility of the external light to sense the sensing data. It may be provided to the filtering unit 120.
- the controller 150 increases the possibility of the external light to filter the sensing data.
- the unit 120 may be provided. Therefore, in the process as shown in FIG. 16, the sensing data filtering unit 120 may identify the filtering area caused by the external light by reflecting the characteristic information of the external light.
- FIG. 17 is a diagram illustrating a process of updating external light information sensed during a movement of a robot according to an embodiment of the present invention.
- the update includes all operations of changing the characteristic information of the externally stored external light, adding new external characteristic information, or deleting the previously stored external characteristic information.
- the depth sensing module 100 or the robot 1000 includes the light sensing unit 111.
- the light sensing unit 111 may be a component of the robot 1000 independently of the depth sensing module 100.
- the robot controller 900 compares the characteristic information of the external light stored in the optical information providing unit 140 with respect to the intensity of the external light sensed by the light sensing unit 111 or the on / off time of the external light during the movement of the robot 1000 ( S81). When the comparison result is different (S82), the information on the intensity or the on-off time of the external light is changed and stored in the optical information provider 140 (S83).
- the robot controller 900 instead of storing the characteristic information of the external light sensed by the optical information providing unit 140 unconditionally in S82, the robot controller 900 temporarily stores the characteristic information of the external light sensed in real time. After that, when data is accumulated to be sufficiently regular enough to be changed and stored in the optical information providing unit 140, the characteristic information of temporarily stored external light may be stored in the optical information providing unit 140.
- the space constituting the depth camera unit 110 of the depth sensing module 100 for example, infrared (IR) sensor is used outdoors or a lot of sunlight or light flows
- IR infrared
- normal depth information may be calculated by filtering the depth value.
- the depth camera 110 may identify the garbage value by analyzing the depth values affected and filtering the depth values distorted by light.
- the optical information providing unit 140 provides information on the occurrence of external light such as lighting or sunlight for each time and place, and context, whether to filter the depth value or use it as it is It can select suitably according to the state of light.
- the robot to which the image acquisition module is coupled includes a device that has a specific purpose (cleaning, security, monitoring, guidance, etc.) or provides a function according to a characteristic of a space in which the robot moves. Therefore, the robot in the present specification collectively refers to a device that holds a moving means that can move using predetermined information and a sensor and provides a predetermined function.
- the sensing module 2100 refers to a device on which the module is mounted, for example, a device for sensing image information of an object in a space in which a robot moves.
- the sensing module 2100 senses depth image information (depth information) of an object and calculates a depth camera unit 2110 that calculates a distance of the object and color (RGB, Red / Green / Blue) image information (color information) of the object. It includes any one or more of the vision camera unit 2120 by sensing the shape of the object.
- the vision camera unit 2120 may capture an image of surrounding objects.
- the vision camera unit 2120 may sense an image in which there is not much change such as a fixed object and an image in which the moving object is disposed, and as a result, the moving object may be identified.
- the sensing module 2100 may check the movement of an object having a specific shape by comparing color information generated by the vision camera unit 2120 at a predetermined time.
- the illuminance sensing unit 2130 senses external light.
- the illuminance of the external light may be sensed, and at least one of the depth camera unit 2110 or the vision camera unit 2120 may sense the illuminance in the direction in which the image is sensed.
- a strong light such as sunlight may be sensed.
- the sensing module 2100 detects a depth image or a color image, when a depth or color distortion occurs due to external light such as the sun, an error may occur in extracting a feature point based on distance or color of an external object based on depth information. Can be.
- the illuminance sensing unit 2130 senses the intensity (illuminance) or other characteristic of the sensed light and provides it to the controller 2900 of the robot 2000 to be described later.
- the controller 2900 of FIG. 19 to be described later identifies a region to be filtered from the depth information sensed by the depth camera unit 2110 according to whether image control is activated.
- the controller 2900 may identify areas to be filtered or select a feature set by comparing the color information sensed by the vision camera unit 2120 according to whether image control is activated. Whether to activate the image control is set by the controller 900.
- the image control may be activated according to the size of the external light sensed by the illuminance sensing unit 2130.
- filtering may be activated according to the non-optical information acquired by the controller 2900.
- the non-optical information includes current information, time information such as seasons, location information such as the current position of the robot including the sensing module 2100, and a plurality of sensing units (first to Nth sensing units) 2171 to which an object is located outside. 2189), that is, information on whether or not the sensing information is included.
- the storage unit 2150 stores image information (depth information and color information) sensed by the depth camera unit 2110 or the vision camera unit 2120.
- the sensing module 2100 includes a plurality of sensing units (first to Nth sensing units) 1181 to 189.
- the sensing unit include an ultrasonic sensing unit, a lidar sensing unit, an infrared sensing unit, a thermal sensing unit, and a creep sensing unit. They sense objects around the robot where the sensing module 2100 is disposed by using ultrasonic waves, lasers, infrared rays, or the like.
- These sensing units 2181 to 2119 provide the sensing control unit 900 with information sensed by sensing external objects.
- the lidar sensing unit may calculate the material and distance of external objects such as walls, glass, and metal doors from the current location using the intensity of the signal and the reflected time (speed).
- the ultrasonic sensing unit may sense the existence of objects disposed within a predetermined distance.
- These sensing units 2181 to 2189 provide auxiliary sensing information necessary for generating a map or sensing an external object.
- these sensing units 2181 to 2189 provide information by sensing an object disposed outside while the robot is traveling.
- the controller 2900 may provide the distance information sensed by the sensing units 2181 to 2189 to the depth camera unit 2110 or the vision camera unit 2120 for reference in the process of filtering depth information or color information.
- the sensing units 2181 to 189 provide sensing information to the sensing control unit 2190 as an object does not exist within 5 meters, and the control unit 900 transmits the information to the depth camera unit 2110 or the vision camera unit. 2120.
- the depth camera unit 2110 that acquires sensing information for which an object does not exist within 5 meters is detected.
- a depth value of 5 meters or less depth value of a specific pixel in depth image information
- the corresponding depth cell becomes external light. It is possible to check and filter whether the distortion is due to.
- the vision camera unit 2120 acquiring sensing information that an object does not exist within 5 meters does not exist within 5 meters.
- a color value of a specific shape is sensed in the sensed image information, whether the corresponding color cell is distorted by external light or not.
- Simultaneous localization and mapping can be performed by saving a feature set that includes it.
- the controller 2900 analyzes information sensed by the sensing units and the camera units 2110 and 2120. For example, when an object disposed around the robot is detected by a plurality of sensing units, each sensing unit may provide information about a characteristic and a distance of the object. The controller 2900 may calculate a combination of these values and determine whether an error occurs in the accuracy of the values sensed by the camera units 2110 and 2120. If an error occurs in accumulated values of the camera units 2110 and 2120, the controller 2900 may determine that filtering is necessary. This is described in FIG. 30.
- the robot 2000 includes the sensing module 2100 described above.
- a map storage unit 2200 including information of objects disposed in a space where the robot moves to other components, a moving unit 2300 for moving the robot 2000, and a function unit 2400 for performing a specific function;
- the communication unit 2500 is presented.
- FIG. 19 illustrates a hierarchical configuration of the robot, this is by logically representing the components of the robot, and the physical configuration may be different.
- One physical component may include a plurality of logical components, or a plurality of physical components may implement one logical component.
- the hierarchy of FIG. 19 need not necessarily be maintained, and those skilled in the art can freely change it.
- the moving unit 2300 is a means for moving the robot 2000 like a wheel, and moves the robot 2000 under the control of the controller 2900.
- the controller 2900 may check the current position of the robot 2000 in the area stored in the map storage unit 2200 and provide a movement signal to the moving unit 2300.
- the controller 2900 may generate a route in real time or may generate a route in a moving process using various information stored in the map storage unit 2200.
- the functional unit 2400 is meant to provide specialized functions of the robot.
- the function unit 2400 includes components required for cleaning.
- the function unit 2400 includes components required for guidance.
- the function unit 2400 includes components required for security.
- the functional unit 2400 may include various components according to functions provided by the robot, but the present invention is not limited thereto.
- the communication unit 2500 provides a function of transmitting the information acquired by the robot to an external server or other robots, or receiving information from the above-described server or other robots.
- the communication unit 2500 receives information on the current weather from external devices, checks whether it is a condition under which strong external light such as sunlight is generated, and provides it to the controller 2900, and the controller 2900 generates external light.
- the condition is provided to the sensing module 2100 to be applied to the filtering.
- the controller 2900 of the robot 2000 may generate or update a map of the map storage 2200.
- the controller 2900 may control the movement path of the robot by collecting the sensing information provided by the sensing module 2100 during the driving process. That is, the controller 2900 controls the moving path of the robot 2000 by checking objects around the robot based on the depth image, the color image, and the distance information sensed by the sensing module 2100.
- the sensing module 2100 senses illuminance in the direction in which the depth camera unit 2110 or the vision camera unit 2120 senses an image.
- the sensing module 2100 may further include an illumination sensing unit 2130 for sensing illumination.
- the map storage unit 2200 stores information of an object disposed in a space in which the robot moves. It may further include a fixed map 2210 for storing information of fixed objects such as walls and doors, and optionally a light source information unit 2220.
- the light source information unit 2220 stores information about the position of the window or the characteristics of the window when a separate light is disposed on the ceiling or the wall, or when the robot receives light through the ceiling window. In one embodiment, the position where the light source is sensed and the intensity (illuminance) of the light source may be applied.
- the controller 2900 combines the illumination of the sensing module 2100 and the object information of the map storage unit 2200 with the position and time information of the robot to filter the depth camera unit 2110 or the vision camera unit 2120. Apply.
- the controller 2900 controls the sensing module 2100 to store and filter image information sensed by the camera units 2110 and 2120.
- the depth camera unit 2110, the vision camera unit 2120, and the storage unit 2150 may be controlled to select a feature set.
- the controller 2900 may combine the at least one of the illuminance sensed by the illuminance sensing unit and the object information stored in the map storage unit or the information of the object sensed by the sensing module with the position information and time information of the robot to detect the depth camera unit.
- set image control activation of the vision camera unit The reason why the image control activation is set in combination is to check whether the illuminance sensed by the illuminance sensing unit is correct.
- the robot may extract and store a feature set from an image photographed by the vision camera unit 2120 at each point.
- the position of the fixed map 2210 one or more feature sets photographed at a specific position can be stored for each position (per cell).
- the fixed feature map separately reflecting the external light is separately fixed. (2210).
- more than one feature set can be acquired in the same cell, and the feature set can be selected or saved to perform SLAM according to the state of external illumination.
- the robot may accurately identify an object in a process of moving in a building that reflects a change in brightness outside or outside the building as it is.
- the depth camera unit 2110 or the vision camera unit 2120 may include the illumination sensor 2130, information about the current time, information about the season, and light sources corresponding to the location of the robot in order to maintain accuracy due to external light.
- the depth information and the color information may be generated by fusion of the position or the position information of the objects, or the depth information or the color information reflecting the intensity of the external light may be generated.
- the configuration of the map storage unit of the present invention may be applied in the same manner as described above with reference to FIG. 6. However, when the configurations of the map storage unit 220, the fixed map 2210, and the light source information unit 2200 are applied, the map storage unit 220 is configured in the map storage unit 2200a as shown in FIG. 20.
- FIG. 20 is a diagram illustrating a configuration of a map storage unit according to an embodiment of the present invention.
- the map storage unit 2200 may integrate the fixed map 2210 and the light source information unit 2220, such as a bitmap, and store the same as FIG. 20.
- the map storage unit 2200 may store a plurality of bitmap information as shown in FIG. 20, and may store and store a fixed map / light source information unit according to time in this process.
- Each bit in the bitmap of an image file can be configured to represent one unit area.
- Each unit region may indicate a lower left side as (0, 0) and an upper right side as (19, 19).
- 2200a of FIG. 20 may have a data structure of 20x20 structure. For example, it may include information on whether an object is disposed for each location. Information is arranged like a matrix, and when a fixed object is arranged, the value of the matrix can be set to a preset value.
- the map storage unit 2200a may store characteristic information on the reflection or transmission property of light of the fixed objects, and the characteristic information on the object may be classified into categories and stored in the map storage unit 2200a. have.
- a black portion of the map storage unit 2200a of FIG. 20 shows that the value of the reflectivity of the light is 10 and the object having the low reflectivity of the light.
- the fixed object indicated by 2212 shows that the light reflectance is 30 and reflects the external light at 30%.
- the stationary object indicated by 2213a, 2213b shows that the light reflectivity is 70 and reflects the external light at 70%.
- the range of reflectivity of light of the stationary object may be set in various ways, and the present invention is not limited thereto.
- the portion of the fixed objects combined with T and the number shows the transmittance of light.
- "T9" indicated at 2211a indicates that a fixed object made of a transparent material that transmits 90% or more of light, for example, a transparent glass window, is disposed.
- the controller 2900 confirms that sunlight affects the calculation of the depth / color information. Can be.
- T5 indicated at 2211b means that a fixed object made of a translucent material that transmits 50% of light, for example, a translucent glass window, is disposed.
- L1 or L3 is displayed in a space where light may enter from a ceiling or a point where lighting is disposed.
- L1 or L3 may be a labeling grouping the ceiling windows or lights, and in one embodiment may be the intensity of the light or the intensity of the light by the window's transmittance or the group name of a particular category of lights.
- L1, L3, etc. represent the intensity of sunlight or illumination of the light flowing through the windows of the ceiling, they may be categorized into categories, and in one embodiment, may be categorized from 1 to 5, and the embodiment of FIG. It can be seen that the external light L1 of intensity corresponding to the category "1" and the external light L3 of intensity corresponding to the category "3" are displayed.
- the light transmittance when the ceiling is transparent glass, the light transmittance may be grouped as high, and when the ceiling is opaque glass, the light transmittance may be grouped as low.
- the lights may be grouped and categorized in addition to the intensity of the external light or the illuminance of the light. For example, you can group lights that are on or off at the same time and categorize them and label them as L1, L2.
- While L1, L3, etc. provide specific information about the external light, such as the intensity of the sunlight entering through the windows of the ceiling, the group of lights, or the illumination of the light, the more detailed information of the external light, eg, sunlight Information about the on / off cycle of turning on and off the lighting of time or sunlight (weather, latitude, longitude, etc.) or the context of turning on / off (such as a lighting condition in a specific space) may be stored in the map storage unit 2200. Can be.
- information on the degree of reflection of the material of the floor by light may also be stored in the map storage unit 2200.
- Table 1 shows that the light reflection of the floor having (0, 0) as the lower left region and (19, 19) as the upper right region corresponds to the category of "50". This may reflect information that light may be reflected from the floor in the process of filtering the depth value sensed by the depth camera unit 2110 or the vision camera unit 2120 or selecting a feature set. Alternatively, the space can be subdivided to present the reflection information of the floor as shown in Table 2 above.
- the robot moves to the first area ((0, 0) ⁇ (19, 10)) in Table 2, the robot reflects the information that the reflectivity is 50, so that the depth in the space where the degree of reflection of the ceiling light falls within the category corresponding to 50 is reflected. You can filter the information or select a feature set of color information.
- the reflectance reflects information of 20 to filter depth information in a space belonging to a category where the degree of reflection of the ceiling light corresponds to 20 or You can select a feature set of color information.
- more accurate depth / color information may be calculated by changing operation methods of the depth camera unit 2110 and the vision camera unit 2120 according to a change in brightness of the surrounding environment.
- robots moving in airports, terminals, harbors, schools, and outdoors are sensitive to sensing due to changes in brightness due to the glass structure, light buildings, or outdoor environments.
- the present invention when the present invention is applied, in the case of the depth camera unit 2110, it is possible to prevent the case of misrecognizing the structure reflected by the sunlight as an obstacle. This may apply filtering to the depth camera unit 2110 to increase the sensing accuracy of the depth information.
- vision camera unit 2120 that generates vision information, that is, color (RGB) information
- location recognition may be performed by storing a feature point that is viewed as a camera as a feature. This is called the Vision SLAM.
- the feature since the feature may be detected differently depending on the brightness of the surroundings in the vision slam process, it is necessary to store the feature points separately according to the brightness of the surroundings.
- the depth camera unit 2110 filters the depth of the depth camera unit 2110 by using a value sensed by the illumination sensing unit 2130 by combining current time or season information, location information of the robot, and object information that is an external obstacle. Presence and accuracy can be determined, and the feature set in the vision slam can be selected, allowing the robot to move without errors or delays.
- FIG. 21 is a diagram illustrating a process of performing image control activation using a distance from a light source and a sensed illuminance value using location information according to an embodiment of the present invention.
- the controller 2900 of the robot may increase or decrease the accuracy of the sensed illuminance by checking whether there are light sources or reflected light arranged based on the current position of the robot.
- the light source includes sunlight that passes through a window disposed on the ceiling or wall. If Lum_01 is the light sensed by the illuminance and the light generated by the light sources or reflections including the light or the light through the window placed around the robot is within the error range with Lum_01, it is judged that the sensed illuminance is correct. .
- image control may be performed by fusing the illumination data and the position information.
- the controller 2900 calculates an illuminance prediction value by comparing the position information of the light source stored in the map storage unit 2200 with the position information of the robot (S241).
- the illuminance prediction value means the influence of light that the robot can receive at a corresponding position, and can be calculated according to, for example, the light intensity of the light source (illuminance) and the distance between the light source and the robot. If the illuminance is strong and the robot is close to the light source, the illuminance prediction value increases. On the other hand, when the illuminance is strong but the image sensing direction of the robot's depth camera unit or vision camera unit is different from the position of the light source (window, lighting, etc.), the illuminance prediction value decreases.
- the controller 2900 By comparing the image sensing direction and the position of the light source, the controller 2900 more accurately predicts the influence of illuminance that the robot may receive.
- the illuminance prediction value may not be greater than the illuminance of the light source and may decrease according to the distance between the light source and the robot.
- the controller 2900 compares the predicted illuminance value with the illuminance value sensed by the illuminance sensing unit 2130 (S242). For example, it is checked whether the difference between the sensed illuminance value and the illuminance predicted value has a value greater than or equal to a preset reference value. As a result of the check, when the above-described difference has a value greater than or equal to the reference value, it is determined that the strong external light is disposed due to another light source disposed outside or the illumination intensity of the light source is increased (S243). As a result, the depth camera unit 2110 may perform filtering, and the vision camera unit 2120 may select a separate feature set from the acquired image.
- the controller 2900 may deactivate the image control (S245).
- the controller determines that the sensed illuminance values are all generated from a specific light source and apply the position information of the light source in the image activation process. have.
- FIG. 22 is a diagram illustrating a process of calculating an illuminance prediction value according to a distance between a robot and a light source according to an embodiment of the present invention.
- FIG. 22 shows a condensed space in which the robot moves.
- L1 shows that a light source belonging to the first category is arranged.
- the robot at the position of R1 is moving in the direction of the left arrow. Since R1 moves to the left, two light sources are placed on the rear of the R1 robot. Therefore, the illuminance value sensed by the robot at the position of R1 is the direction not affected by L1.
- the control unit 2900 of the robot senses the illuminance, but the light source is disposed around the robot, but not in the direction of the robot's movement, that is, the direction in which the image is acquired, the illuminance value sensed by the robot may be higher than a predetermined level. Make sure you only receive light from a new light source.
- the controller 2900 acquires an image without reflecting the sensed illuminance. can do.
- the robot is moving in the direction in which the light source is arranged, that is, upward.
- the robot senses the illuminance and the illuminance value of the light intensity of the light source disposed in the moving direction may be equal to or higher than the predicted illuminance value.
- the controller 2900 of the robot may activate the image control when the illumination value sensed by the new light source is high or reflects the illumination value predicted by the existing light source.
- the depth camera unit 2110 may perform filtering, and the vision camera unit 2120 may select a separate feature set by reflecting an increased illuminance value in the acquired image.
- the controller 2900 may continuously accumulate the sensed illuminance value on the map and separately store the illuminance value in each region. Accumulated storage of the sensed illuminance value provides information in updating the light source information later or when the depth camera unit 2110 / vision camera unit 2120 performs filtering / feature set selection.
- the controller 2900 of the robot at the position R3 tracks that the sensed illuminance value gradually increases when there is no change in direction. If the illuminance value sensed suddenly increases in this process, the controller 2900 may determine that a new light source has appeared and activate the image control.
- a new light source may occur in the area marked "New" in the figure.
- Moving people can either flash the flash or place a new light source.
- the controller 2900 activates image control when the illuminance value sensed by the illuminance sensing unit 2130 increases significantly due to the appearance of a new light source in a state in which the illuminance prediction value is expected to increase based on the distance from the L1 light source. Can be set.
- the controller 2900 increases the illuminance prediction value in response to an increase in the distance from the light source L1.
- the illuminance sensing unit 2130 may sense an illuminance value larger than a rate at which the illuminance predicted value increases. For example, the illuminance predicted value increases as 10-> 11-> 12, but when the controller 2900 predicts that the value 20 is sensed as the illuminance value due to the new light source, the controller 2900 determines that the light has changed.
- set image control activation For example, the controller 2900 may activate image control, the depth camera unit 2110 may perform filtering, and the vision camera unit 2120 may reflect a separate illumination set by reflecting the increased illuminance value in the acquired image. You can choose.
- the above embodiment is particularly suitable when performing filtering / feature set selection only for sunlight.
- the robot can be configured not to perform a separate filtering / featureset selection process, even if the light is not as strong as sunlight even if it is bright for a certain level.
- FIG. 23 is a diagram illustrating a process of performing image control activation using time information and sensed illuminance values according to an embodiment of the present invention.
- FIG. 23 may perform image control activation when the sensed illuminance is higher by comparing the illuminance value sensed by the illuminance sensing unit with a predicted illuminance value (illumination predicted value) at the current time.
- the controller 2900 calculates an illumination intensity prediction value according to the current time or based on current season information or weather information.
- Seasonal information may be stored in a separate memory in the controller 2900 and may store light intensity, that is, illumination value, in a database for each season.
- the controller 2900 may calculate an illuminance predicted value based on weather information received by the communicator 2500 in real time.
- the controller 2900 calculates an illuminance prediction value based on various pieces of information (current time information, season information, weather information, etc.) for predicting the intensity of the current external sunlight (S251).
- the illuminance prediction value reflects the influence of light that the robot can receive by reflecting the season and weather conditions based on the current time. If sunlight is a strong time, the illuminance estimate increases. On the other hand, when the illuminance is strong but the image sensing direction of the depth camera unit or the vision camera unit of the robot is different from the position of the light source such as the window or the illumination, the illuminance prediction value decreases.
- the controller 2900 By comparing the image sensing direction and the position of the light source, the controller 2900 more accurately predicts the influence of illuminance that the robot may receive.
- the illuminance prediction value may not be greater than the illuminance of the light source and may decrease according to the distance between the light source and the robot.
- the controller 2900 compares the predicted illuminance value with the illuminance value sensed by the illuminance sensing unit 2130 (S252). For example, it is checked whether the difference between the sensed illuminance value and the illuminance predicted value has a value greater than or equal to a preset reference value. As a result of the check, when the above-mentioned difference has a value greater than or equal to the reference value, it is determined that a new light source is disposed or the intensity of sunlight increases and the image control is activated (S253). As a result, the depth camera unit 2110 may perform filtering, and the vision camera unit 2120 may select a separate feature set from the acquired image.
- the illuminance sensing value may be accumulated continuously. For example, if the sensed illuminance value is low when image control is already activated, the controller 2900 may deactivate the image control (S255).
- the controller 2900 may select weather information, season information, and time information according to a priority by weighting them. For example, the controller 2900 may determine that light sensed by the illuminance sensing unit 2130 is illumination at a time when the sun does not rise according to season information and time information. If it is determined that the lighting is determined, the image control can be deactivated or the image control can be activated only for a very strong illumination.
- FIG. 24 is a diagram illustrating a process of performing filtering under a control of an illuminance sensing unit by a depth camera unit according to an embodiment of the present invention.
- FIG. 24 is a diagram illustrating a process of filtering a depth value in depth information in a process of accumulating and storing depth information by a robot according to an embodiment of the present invention.
- FIG. 24 detects N depth information for a predetermined time after filtering is set by the depth camera unit 2110, identifies an error in depth information due to external light, and corrects or removes the depth information. can do.
- the control unit may activate the image control when the external light (sunlight, lighting, etc.) has a predetermined value greater than or equal to a predetermined level according to the process of FIGS. 21 to 23 or in addition to the magnitude of the illumination sensed by the illumination sensing unit 2130.
- One embodiment of image control activation includes filtering depth information. This includes a filtering operation of storing depth information over time to change depth values of some cells or to remove depth information of a specific time point.
- the depth camera unit 2110 stores N depth information (depth data) in the storage unit (S262).
- N may be one or more natural numbers.
- five depth information may be stored in the storage unit 2150 in a queue manner.
- the controller 2900 identifies a region in which the change of the depth value is greater than a predetermined range in the N depth information as the filtering region (S263). For example, the controller 2900 examines five cues and compares the depth information of each depth cell for each depth cell. When the depth value is more than a predetermined distance (for example, 100 mm), the controller 2900 does not determine it as a garbage value. .
- a predetermined distance for example, 100 mm
- the controller 2900 May be determined as a change in the depth value due to the intensity of external light instead of the depth value of the object.
- the controller 2900 may change the depth values of the depth cells constituting the filtering area by using other depth information stored in the storage 2150.
- the corresponding depth information may be removed from the storage unit 2150.
- only the depth information of a specific depth cell may be removed from the storage unit 2150 and not used.
- the configuration of the depth information and the depth information of the depth cell is the same as described with reference to FIGS. 2 and 3.
- the depth information of the depth image for each frame generated by the depth camera unit 2110 may vary as shown in FIGS. 11 to 13 of FIG. 3.
- the controller 2900 analyzes when the change in the depth value is greater than the preset reference value among the accumulated depth information, and when the depth value is a garbage value due to the influence of external light, the frame before or after temporally, That is, the depth value of the corresponding cell may be extracted from the depth information of the depth image of the previous or subsequent temporal image and converted to remove the garbage value due to external light, and the depth information reflecting the depth values of the actual objects may be calculated. saw.
- FIG. 25 is a diagram illustrating a process of selecting, storing, or performing a vision slam using a feature set in a process of accumulating and storing color information by a robot according to one embodiment of the present invention.
- the control unit may activate the image control when the external light (sunlight, lighting, etc.) has a predetermined value greater than or equal to a predetermined level according to the process of FIGS. 21 to 23 or in addition to the magnitude of the illumination sensed by the illumination sensing unit 2130.
- Is set S271.
- One embodiment of image control activation includes storing a feature set by selecting a new feature set or generating color information based on a current illuminance state.
- the vision camera unit 2120 generates color information (S272).
- the color information includes an image file including a pixel-specific RGB value.
- the color information includes an RGB value of an image acquired by the vision camera unit 2120. When external illuminance is strong, a change may occur in the RGB value.
- the controller 2900 selects a feature set from color information based on RGB values of the image acquired by the vision camera unit 2120 (S273).
- meta-information called chair may constitute a feature set for an image identified as a chair edge.
- the recognized character for the color information of the character shape may be a feature set.
- the controller 2900 stores the sensed illuminance and feature set in the storage 2150 (S274). Thereafter, the controller 2900 may perform the vision slam using the newly stored feature set in the specific illuminance (S275).
- FIG. 26 is a diagram of a controller identifying color information of a vision camera unit based on illuminance according to an embodiment of the present invention.
- the vision camera unit 2120 acquires an image having the same color information as 281, and sets the letter E, which is a feature, as shown in 282 as shown in 282. Save as. Since 281 and 282 are feature sets acquired in a general illuminance situation, illuminance information may be stored as "Normal" (see FIG. 27).
- the vision camera unit 2120 acquires an image in a state where the light shines strongly from the outside, the light may be reflected on the object as shown in 283.
- a color other than the color of the original object is included in the image, that is, the color information 285.
- the color information identified at 281 and the color information identified at 285 are information captured by the vision camera unit 2120 for the same object, but different colors are configured due to light.
- the controller 2900 may select and store a feature set as 282 and 286 for different color information 281 and 285 for the same object, respectively.
- the illumination information Normal and Bright
- the controller 2900 may select a more accurate feature set in the vision slam process in a specific illumination situation.
- Serial numbers 1 and 4 indicate a feature set acquired in the "N" direction (north) of the same position (5, 11), respectively. What distinguishes the two feature sets is the difference in roughness (LI) (Normal-Bright).
- the controller 2900 may select a feature set by reflecting the illuminance. For example, when the light is not strong, the robot 2000 may perform the vision slam around the feature set of serial number 1 at the position (5, 11). On the contrary, when the light is strong, the robot 2000 may perform the vision slam around the feature set of serial number 4 at the position (5, 11).
- the image sensed by the depth camera unit 2110 or the vision camera unit 2120 may be filtered or a separate feature set in a space vulnerable to an external brightness change, such as an outdoor or indoor glass structure. Save it.
- error / error filtering of the depth camera unit 2110 that is, whether or not to enable filtering, the current time and season, the position of the robot, and the sensed values of the illumination sensing unit 2130 are used by fusing them.
- the filtering time can be shortened and the sensing delay of the depth camera unit 2110 can be minimized.
- the robot or the controller 2900 uses only the current time or season information and location information, the illumination condition may not be confirmed, but according to the embodiment of the present invention, the problem caused by the inability to perform the filtering is solved.
- the robot may perform a vision slam even with a change in external brightness.
- the color information of the objects sensed by the vision camera unit 2120 may vary due to the brightness of the external light, and even the same object may select a different feature set. Therefore, the controller 2900 uses the feature set previously extracted and stored by the vision camera unit 2120 or newly stores the feature set extracted by the vision camera unit 2120 to recognize the position independently of the external brightness in the vision slam process. Can increase the accuracy.
- FIG. 28 and 29 are views illustrating a configuration in which an illuminance sensing unit according to an embodiment of the present invention is disposed on a robot.
- FIG. 28 shows the side of the robot, and
- FIG. 29 shows the front of the robot.
- the depth camera unit 2110a, the vision camera unit 2120a, and the illuminance sensing unit 2130a are disposed in the robot 2000a.
- the illuminance sensing unit 2130a may be disposed at a position on the robot that can sense the brightness of the light in the direction in which the depth camera unit 2110a and the vision camera unit 2120a are most accurately sensed.
- the depth camera unit 2110a and the vision camera unit 2120a may be distributedly arranged so that the intensity of light in an adjacent direction such as a side or an upper surface of the direction to be sensed may be checked (2130c, 2130d).
- Illumination sensing unit 2130a is arranged in a line with the depth camera unit 2110a and the vision camera unit 2120a in a vertical line (see dotted line) and spaced apart from the left and right about the camera units 2110a and 2120a. Shows the deployed configuration. Illumination sensing units 2130c and 2130d spaced apart in the left or right direction within a predetermined range (for example, an angle reflecting the entire left and right width of the robot) centering on the way that the camera unit senses an image (288 or 289 in FIG. 28). May be additionally arranged.
- a predetermined range for example, an angle reflecting the entire left and right width of the robot
- the illumination sensing unit may be disposed on the top of the robot.
- the illuminance sensing unit may be disposed at a position not adjacent to the depth camera unit and the vision camera unit.
- the controller may assign a weight to the sensed illuminance value.
- the illuminance sensing unit disposed adjacent to the depth camera unit and the vision camera unit gives a high weight to the illuminance sensed
- the illuminance sensing unit disposed opposite the depth camera unit and the vision camera unit has a low weight.
- the sensing accuracy of the depth camera unit and the vision camera unit can be improved.
- two or more illuminance sensing units are disposed corresponding to the image sensing direction of each camera unit. Can be.
- the sensing module 2100 may include a plurality of sensing units, and may include an ultrasonic sensing unit, an infrared sensing unit, a lidar sensing unit, and the like.
- the controller 2900 compares the distance of the object sensed by the sensing units with depth information or color information generated by the depth camera unit 2110 or the vision camera unit 2120 in operation S291.
- the controller checks whether the accumulated value of the error is greater than or equal to the set value (S294). As a result, when the accumulated value of the error is greater than or equal to the set value, it is determined that an error has occurred in generating image information of the depth camera unit 2110 or the vision camera unit 2120 due to the brightness of the external light, and the controller 90 sets image control activation. (S296).
- the error accumulation value is reset (S293). If the error accumulation value is less than or equal to the set value in S294, the error accumulation value is increased (S295).
- the error accumulation value may be accumulated by +1 when an error occurs within a predetermined time interval. If the error is 20, the controller 2900 may determine that the error has occurred for 20 seconds or more and set image control activation.
- distance information calculated from the location information of the object stored in the map storage unit and the location information of the robot may be used in addition to the distance information of the detected object.
- the controller 2900 confirms that a wall is disposed at a distance of 3 meters from the robot, but all of the depth values constituting the depth information sensed by the depth camera unit 2110 are all. If it is 3 meters or more, it can be confirmed that an error that the depth camera unit 2110 cannot sense the wall has occurred.
- the controller 2900 may set image control activation.
- the illuminance sensing unit 2130 may be disposed on the robot corresponding to the position where the depth camera unit 2110 or the vision camera unit 2120 is installed.
- the illuminance sensing unit 2130 may be disposed in a straight line or a horizontal line in a vertical line or in a predetermined angle.
- control unit 2900 may combine the current time, season, location information, etc., in addition to the intensity of light sensed by the illuminance sensing unit 2130 (the intensity of the light affected by the camera unit), and the light currently affecting the robot Check whether it is a strong light such as to determine whether to activate the image control accordingly.
- the robot or the depth sensing module may distinguish the object to be avoided by the robot or the depth sensing module, such as an actual obstacle or a person, and the distorted information due to external light from the calculated depth information or the color information.
- the robot is not affected by sunlight at all locations.
- it is possible to control the robot so that it can be efficiently operated by applying a filtering algorithm or an image control activation algorithm only in a section where the robot is affected by external light such as sunlight or strong light.
- the filtering process there may be a delay in comparing the depth information accumulated in the previous frame.
- the information about the robot's current position and the influence of the external light at the current position may be used to filter a certain space without every moment. Can only speed up data processing.
- filtering may be applied based on situation information about the case where the external light is strong and the case where the external light is not strong.
- the robot checks whether the currently affecting light is a strong light such as sun light, and determines whether to activate image control accordingly.
- the image control may be activated by calculating a possibility of data distortion and filtering or performing filtering or selecting a feature set.
- all elements constituting an embodiment of the present invention is described as being combined or operated in combination, the present invention is not necessarily limited to these embodiments, all the components within the scope of the present invention It is also possible to operate in combination with one or more selectively.
- all of the components may be implemented in one independent hardware, each or all of the components may be selectively combined to perform some or all functions combined in one or a plurality of hardware. It may be implemented as a computer program having a. Codes and code segments constituting the computer program may be easily inferred by those skilled in the art.
- Such a computer program may be stored in a computer readable storage medium and read and executed by a computer, thereby implementing embodiments of the present invention.
- the storage medium of the computer program includes a storage medium including a magnetic recording medium, an optical recording medium and a semiconductor recording element.
- the computer program for implementing an embodiment of the present invention includes a program module transmitted in real time through an external device.
- Depth sensing module 110 Depth camera unit
- sensing data filtering unit 140 optical information providing unit
- map storage unit 145 light source period information unit
- object sensing module 191 lidar sensing unit
- illuminance sensing unit 2150 storage unit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Signal Processing (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Optics & Photonics (AREA)
- Acoustics & Sound (AREA)
- Electromagnetism (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
본 발명은 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치에 관한 것으로, 본 발명의 일 실시예에 의한 외부광을 반영하여 객체의 뎁스를 센싱하는 방법은 뎁스 센싱 모듈의 뎁스 카메라부가 제1시점에서 센싱한 객체의 제1뎁스 정보를 저장부에 저장하는 단계, 뎁스 카메라부가 제2시점에서 센싱한 객체의 제2뎁스 정보를 저장부에 저장하는 단계, 뎁스 센싱 모듈의 센싱 데이터 필터링부가 생성된 제1뎁스 정보 및 제2뎁스 정보를 비교하여 제2뎁스 정보에서 필터링할 영역을 식별하는 단계, 및 뎁스 센싱 모듈의 제어부가 제2뎁스 정보에서 필터링 영역의 뎁스 값을 조정하는 단계를 포함한다.
Description
본 발명은 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장, 체육관, 공연장과 같은 문화시설 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 공간을 지속적으로 센싱하여 사물, 사람 등의 객체들을 회피하며 이동하는 것이 필요하다. 이 과정에서 로봇은 주행 과정에서 센싱하는 다양한 정보들에 기반하여 주행 경로를 설정할 수 있는데, 로봇이 주행할 공간을 비추는 외부의 광(조명, 햇빛 등)에 따라 로봇이 사물을 센싱함에 있어 영향을 받을 수 있다.
특히, 뎁스 정보를 취득하는 뎁스 센싱 모듈(뎁스 카메라) 또는 이러한 모듈이 탑재되는 뎁스 센싱 장치, 또는 비전(RGB) 카메라는 외부의 사물과의 거리를 3차원 영상 정보로 제공하거나 외부의 영상을 2차원 정보로 제공하는데, 이 과정에서 강한 조명 또는 햇빛과 같은 외부광의 영향을 받을 수 있다. 특히 사물이 외부광을 반사하는 경우 외부의 사물과의 거리가 실제보다 멀리 혹은 가까이 센싱되는 문제가 발생한다.
이는 특히 공항, 학교, 관공서, 호텔, 사무실, 공장, 체육관, 공연장과 같은 문화시설 등 인적, 물적 교류가 활발하게 발생하는 공간에서 자주 발생할 수 있는 문제인데, 이러한 공간은 외부의 빛을 내부로 유입시키는 창이 크거나 내부 조명의 밝기가 강한 경우이다. 또한 로봇이 외부 공간에서 이동할 경우에도 외부의 태양광이나 태양광으로부터 반사된 빛에 따라 뎁스/RGB 카메라의 영상 취득에서 왜곡이 발생할 수 있다. 따라서, 이러한 문제점을 해결하기 위해, 본 명세서에서는 사물의 뎁스 영상 또는 RGB 영상을 센싱하는 과정에서 외부광의 상태를 반영하거나 또는 외부광을 필터링하는 방안을 제시하고자 한다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 강한 외부광으로 인한 뎁스 센싱된 정보의 왜곡을 보정하는 방법 및 장치를 제공하고자 한다.
또한, 본 명세서에서는 강한 외부광이 발생할 수 있는 공간적, 시간적 정보를 이용하여 뎁스 센싱 정보의 정확도를 높이는 방법 및 장치를 제공하고자 한다.
또한, 본 명세서에서는 전술한 뎁스 센싱 정보의 정확도를 높여 로봇이 안전하게 이동할 수 있는 방법 및 장치를 제공하고자 한다.
또한, 본 명세서에서는 강한 태양광에 의해 영상을 센싱하는 뎁스 카메라부 또는 비전 카메라부의 동작을 제어하여 영상 정보의 왜곡을 방지하는 방법 및 이를 구현하는 로봇을 제공하고자 한다.
또한, 본 명세서에서는 강한 외부광이 발생할 수 있는 공간적, 시간적 정보를 이용하여 영상 정보를 센싱함에 있어서의 정확도를 높이는 방법 및 이를 구현하는 로봇을 제공하고자 한다.
뿐만 아니라, 본 명세서에서는 센싱한 조도에 따라 뎁스 카메라부와 비전 카메라부가 적응적으로 영상을 센싱 및 제어하여 영상 정보를 센싱함에 있어서의 정확도를 높이는 방법 및 이를 구현하는 로봇을 제공하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 외부광을 반영하여 객체의 뎁스를 센싱하는 방법은 뎁스 센싱 모듈의 뎁스 카메라부가 제1시점에서 센싱한 객체의 제1뎁스 정보를 저장부에 저장하는 단계, 뎁스 카메라부가 제2시점에서 센싱한 객체의 제2뎁스 정보를 저장부에 저장하는 단계, 뎁스 센싱 모듈의 센싱 데이터 필터링부가 생성된 제1뎁스 정보 및 제2뎁스 정보를 비교하여 제2뎁스 정보에서 필터링할 영역을 식별하는 단계, 및 뎁스 센싱 모듈의 제어부가 제2뎁스 정보에서 필터링 영역의 뎁스 값을 조정하는 단계를 포함한다.
본 발명의 다른 실시예에 의한 외부광을 반영하여 객체의 뎁스를 센싱하는 뎁스 센싱 모듈은 뎁스 정보를 저장하는 저장부, 제1시점에서 객체의 제1뎁스 정보 및 제1시점과 시간적으로 선행하거나 또는 후행하는 제2시점에서 객체의 제2뎁스 정보를 생성하는 뎁스 카메라부, 생성된 제1뎁스 정보 및 제2뎁스 정보를 비교하여 제2뎁스 정보에서 필터링할 영역을 식별하는 센싱 데이터 필터링부, 및 제2뎁스 정보에서 필터링 영역의 뎁스 값을 변경하거나 또는 제2뎁스 정보를 저장부에서 제거하는 제어부를 포함한다.
본 발명의 또다른 실시예에 의한 외부광을 반영하여 객체의 뎁스를 센싱하여 이동하는 로봇은 뎁스 정보를 저장하는 저장부와, 제1시점에서 객체의 제1뎁스 정보 및 제1시점과 시간적으로 선행하거나 또는 후행하는 제2시점에서 객체의 제2뎁스 정보를 생성하는 뎁스 카메라부와 생성된 제1뎁스 정보 및 제2뎁스 정보를 비교하여 제2뎁스 정보에서 필터링할 영역을 식별하는 센싱 데이터 필터링부와 제2뎁스 정보에서 필터링 영역의 뎁스 값을 변경하거나 또는 제2뎁스 정보를 저장부에서 제거하는 제어부를 포함하는 뎁스 센싱 모듈, 외부에 배치된 객체를 센싱하는 객체 센싱 모듈, 로봇을 이동시키는 이동부, 및 뎁스 센싱 모듈 및 객체 센싱 모듈의 센싱된 결과에 기반하여 로봇 주변의 객체를 확인하여 로봇의 이동 경로를 제어하는 로봇 제어부를 포함한다.
본 발명의 일 실시예에 의한 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇은 뎁스 카메라부 또는 비전 카메라부를 포함하며, 카메라부가 영상을 센싱하는 방향의 조도를 센싱하는 조도 센싱부를 포함하는 센싱 모듈, 로봇이 이동하는 공간에 배치되는 객체의 정보를 저장하는 맵 저장부, 조도 센싱부가 센싱한 조도와 맵 저장부에 저장된 객체의 정보와 센싱 모듈이 센싱한 객체의 정보와 로봇의 위치 정보와 시간 정보 중 어느 하나 이상을 조합하여 뎁스 카메라부 또는 비전 카메라부의 영상 제어 활성화를 설정하는 제어부, 및 로봇을 이동시키는 이동부를 포함한다.
본 발명의 다른 실시예에 의한 조도 센싱에 기반하여 센싱된 영상을 제어하는 방법은 센싱 모듈의 뎁스 카메라부 또는 비전 카메라부가 영상을 센싱하는 방향의 조도를 센싱 모듈의 조도 센싱부가 센싱하는 단계, 맵 저장부에 저장된 객체의 정보 또는 센싱 모듈이 센싱한 객체의 정보와 로봇의 위치 정보와 시간 정보 중 어느 하나 이상을 조합하여 뎁스 카메라부 또는 비전 카메라부의 영상 제어 활성화를 제어부가 판단하는 단계, 및 제어는 영상 제어 활성화 후 뎁스 카메라부의 뎁스 정보를 필터링하거나 또는 비전 카메라부가 센싱한 색상 정보의 피쳐셋을 선택하는 단계를 포함한다.
본 발명의 실시예들을 적용할 경우, 뎁스 카메라부가 실외에서 사용하거나 햇빛 또는 조명이 많이 유입되는 공간에서 사용되거나 혹은 햇빛이 반사되는 환경에서 뎁스 값을 왜곡하여 센싱하는 경우에 이를 필터링하여 정상적인 뎁스 정보를 산출할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 현재 위치와 상황에 따라 조명이나 햇빛 등 외부광의 발생 여부에 대한 정보에 기반하여 뎁스 값을 필터링할 것인지 여부를 확인하여 필터링 속도를 높일 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 뎁스 카메라부나 비전 카메라부를 실외에서 사용하거나 햇빛 또는 조명이 많이 유입되는 공간에서 사용되거나 혹은 햇빛이 반사되는 환경에서 뎁스 또는 색상 정보를 취득하는 과정에서 조도 상황을 반영하여 정확한 뎁스 정보 또는 정확한 색상 정보를 센싱하거나 또는 정확한 피쳐셋을 산출할 수 있다.
또한, 본 발명의 실시예들을 적용할 경우, 현재 위치와 상황에 따라 조명이나 햇빛 등 외부광의 발생 여부에 대한 정보에 기반하여 뎁스 값을 필터링할 것인지 여부 또는 색상 정보의 피쳐셋을 선택하여 비전 슬램을 수행할 것인지 여부를 선택하여 장애물 판단과 슬램 동작의 정확도를 높일 수 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 뎁스 센싱 모듈의 구성을 보여주는 도면이다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 뎁스 정보의 구성을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 뎁스 센싱 모듈이 뎁스 정보를 처리하는 과정을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 뎁스 센싱 모듈의 광정보 제공부의 구성을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 맵 저장부의 구성을 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 의한 광원주기정보부 및 컨텍스트부의 구성을 보여주는 도면이다.
도 8은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 9는 본 발명의 일 실시예에 의한 뎁스 센싱 과정을 보여주는 도면이다.
도 10은 본 발명의 일 실시예에 의한 뎁스 정보를 뎁스 카메라부가 생성하여 이를 필터링하는 과정을 보여주는 도면이다.
도 11 및 도 12는 본 발명의 일 실시예에 의한 뎁스 센싱 모듈이 외부광의 영향을 반영하여 객체의 뎁스 값을 센싱하는 과정을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 뎁스 값을 변경하는 과정을 보여주는 도면이다.
도 14는 본 발명의 일 실시예에 의한 뎁스 정보를 새로이 생성하여 저장하는 실시예를 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 뎁스 값의 조정 과정을 보다 상세히 보여주는 도면이다.
도 16은 본 발명의 일 실시예에 의한 센싱 데이터 필터링부가 필터링 영역을 식별하는 과정을 보여주는 도면이다.
도 17은 본 발명의 일 실시예에 의한 로봇의 이동 과정에서 센싱된 외부광 정보들을 업데이트하는 과정을 보여주는 도면이다.
도 18은 본 발명의 일 실시예에 의한 센싱 모듈의 구성요소를 보여주는 도면이다.
도 19는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 20은 본 발명의 일 실시예에 의한 맵 저장부의 구성을 보여주는 도면이다.
도 21은 본 발명의 일 실시예에 의한 위치 정보를 이용하여 광원과 거리 및 센싱된 조도값을 이용하여 영상 제어 활성화를 수행하는 과정을 보여주는 도면이다.
도 22는 본 발명의 일 실시예에 의한 로봇과 광원과의 거리에 따라 조도 예측값을 산출하는 과정을 보여주는 도면이다.
도 23은 본 발명의 일 실시예에 의한 시간 정보와 센싱된 조도값을 이용하여 영상 제어 활성화를 수행하는 과정을 보여주는 도면이다.
도 24는 본 발명의 일 실시예에 의한 뎁스 카메라부가 조도 센싱부의 제어에 따라 필터링을 수행하는 과정을 보여주는 도면이다.
도 25는 본 발명의 일 실시예에 의한 로봇이 색상 정보를 누적하여 저장하는 과정에서 피쳐셋을 선택하거나 저장하거나 혹은 이를 이용하여 비전 슬램을 수행하는 과정을 보여주는 도면이다.
도 26은 본 발명의 일 실시예에 의한 제어부가 조도에 기반하여 비전 카메라부의 색상 정보를 식별하는 도면이다.
도 27은 본 발명의 다른 실시예에 의한 저장부(150)에 저장된 피쳐 셋들의 정보를 보여주는 도면이다.
도 28 및 도 29는 본 발명의 일 실시예에 의한 조도 센싱부가 로봇에 배치되는 구성을 보여주는 도면이다.
도 30은 본 발명의 일 실시예에 의한 영상 제어 활성화를 제어하는 과정을 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 뎁스 센싱 모듈은 모듈이 탑재된 장치, 예를 들어 로봇이 이동하는 공간에서 사물의 뎁스 영상 정보를 취득하여 사물의 거리를 산출하는 장치를 의미한다. 뎁스 센싱 모듈이 다른 장치에 탑재된 경우가 아니라 독립적인 장치로 존재할 경우 뎁스 센싱 장치라 지시될 수도 있다.
한편, 본 명세서에서 뎁스 센싱 모듈이 결합하는 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다. 센서는 전술한 뎁스 센싱 모듈 외에도 외부 사물의 존재 혹은 거리, 특성 등을 센싱하는 다양한 종류의 센서들을 의미한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등 고정 객체에 대한 정보를 의미한다. 또한, 주기적으로 배치되는 동적인 객체들에 대한 정보도 맵 상에 저장될 수 있다. 일 실시예로 로봇의 진행 방향을 기준으로 일정한 범위 내에 배치된 장애물들에 대한 정보도 맵 상에 저장될 수 있다.
한편, 로봇은 맵 상에 햇빛, 조명 등과 같은 외부광에 대한 정보를 저장할 수 있다. 예를 들어 특정 시간 대, 혹은 특정 상황에서 햇빛과 같은 외부광이 강한 경우, 혹은 특정 시간에 특정 조명이 켜짐으로 인해 외부광이 발생하는 경우, 이에 대한 정보를 맵 상에 저장할 수 있다. 외부광에 대한 정보는 빛이 들어오는 방향, 빛의 세기, 시간, 혹은 주기 등에 대한 정보를 포함한다. 전술한 맵 상에 외부광의 정보를 저장하는 것은 로봇 또는 뎁스 센싱 모듈 모두에 적용될 수 있다.
이하, 도 1 내지 도 17에서는 강한 외부광으로 인한 뎁스 센싱된 정보의 왜곡을 보정하는 방법 및 장치에 대해 살펴본다.
또한, 도 18 내지 도 30에서는 강한 태양광에 의해 영상을 센싱하는 뎁스 카메라부 또는 비전 카메라부의 동작을 제어하여 영상 정보의 왜곡을 방지하는 방법 및 이를 구현하는 로봇을 제공하고자 한다.
도 1은 본 발명의 일 실시예에 의한 뎁스 센싱 모듈의 구성을 보여주는 도면이다. 뎁스 센싱 모듈은 외부의 객체의 뎁스 정보를 1차적으로 생성하는 뎁스 카메라부(110), 그리고 외부광의 영향을 계산하여 1차적으로 생성된 뎁스 정보에서 필터링할 영역을 식별하는 센싱 데이터 필터링부(120), 뎁스 정보가 저장되는 저장부(130), 그리고 필터링할 영역에 이전 혹은 이후의 뎁스 정보를 적용하여 새로운 뎁스 정보를 생성하는 제어부(150)를 포함한다.
또한, 뎁스 센싱 모듈이 위치한 지점에서의 외부광의 특성 정보를 제공하는 광정보 제공부(140)를 더 포함할 수 있다. 광정보 제공부(140)는 뎁스 센싱 모듈(100)의 위치 또는 이동 속도 등을 반영하여 현재 위치 또는 진입하는 위치의 광정보를 제공할 수 있다. 추가적으로 외부광을 센싱하는 광센싱부(111)가 배치될 수 있다. 광센싱부(111)는 이동 과정에서 센싱한 광의 세기 혹은 그외 특성을 광정보 제공부(140)에 업데이트하거나 저장할 수 있다.
보다 상세히 살펴보면, 뎁스 카메라부(110)가 제1시점에서 객체의 제1뎁스 정보 및 제1시점과 시간적으로 선행하거나 또는 후행하는 제2시점에서 객체의 제2뎁스 정보를 생성하여 저장부(130)에 저장한다.
그리고 센싱 데이터 필터링부(120)는 제1뎁스 정보 및 상기 제2뎁스 정보를 비교하여 제2뎁스 정보에서 필터링할 영역을 식별한다. 필터링 영역의 식별에 대해서는 후술한다. 그리고 제어부(150)는 제2뎁스 정보에서 필터링 영역의 뎁스 값을 변경하거나 또는 제2뎁스 정보를 저장부(130)에서 제거하여 뎁스 정보가 정확하게 산출될 수 있도록 한다.
도 1의 구성요소에서 뎁스 센싱 모듈이 단일한 장치가 아니라 다른 장치, 예를 들어 로봇 등에 결합한 장치인 경우 일부 구성요소들은 로봇에 구현될 수 있다. 예를 들어 광정보 제공부(140)는 뎁스 센싱 모듈(100)에 포함될 수도 있고 뎁스 센싱 모듈(100)이 결합한 다른 장치인 로봇에 포함될 수 있다. 후자의 경우 제어부(150)는 로봇으로부터 광정보와 위치정보를 제공받을 수 있으며 이를 다시 센싱 데이터 필터링부(120)에 제공하거나 혹은 뎁스 정보에서 광의 영향을 제거한 새로운 뎁스 정보를 생성하는데 이용할 수 있다.
본 발명의 실시예에서는 뎁스 센싱 모듈이 일정한 시간 동안 순차적으로 뎁스 정보를 큐(queue)와 같은 방식으로 저장부(130)에 저장하고, 이들 저장된 뎁스 정보들 중에서 외부광의 영향을 강하게 받은 뎁스 정보에 대해서는 이를 가비지(garbage) 값으로 판단하여 이를 사용하지 않는다. 이 과정에서 뎁스 센싱 모듈이 이동하는 속도, 예를 들어 뎁스 센싱 모듈의 이동 속도 또는 뎁스 센싱 모듈이 장착된 로봇의 이동 속도를 반영할 수 있다.
도 2 및 도 3은 본 발명의 일 실시예에 의한 뎁스 정보의 구성을 보여주는 도면이다. 뎁스 정보(10)는 하나의 프레임에서 촬영된 뎁스 영상의 뎁스 셀 별 뎁스 값들을 구분하여 저장한 것을 의미한다. 또한, 뎁스 정보(10)는 저장부(130)에 저장된다. 또한, 상이한 시점에 촬영된, 다수의 시점의 프레임에 대응하여 저장된 뎁스 정보들이 저장부(130)에 다수 저장될 수 있다.
일 실시예로, 특정 시점에 촬영한 영상의 각 x-y 좌표의 뎁스값으로 구성될 수 있다. 예를 들어 뎁스 카메라부(110)가 특정 시점의 뎁스 영상, 즉 특정 시점의 프레임에 대응하여 가로로 max_x개, 세로로 max_y개로 분할된 뎁스 셀들에 대해 각각 뎁스 값을 산출할 수 있다. 일 실시예로 뎁스 영상에서 각 셀은 하나의 픽셀을 지시할 수 있다. 뎁스 셀(depth cell)은 픽셀 또는 이보다 더 큰 범위를 포함하여 하나의 뎁스 값이 산출되는 단위를 지시한다. 뎁스 셀의 크기는 뎁스 카메라부(110)가 산출하는 뎁스 영상의 해상도에 따라 증감할 수 있다. 뎁스 정보(10)의 상측의 숫자는 x 좌표를, 좌측의 숫자는 y좌표를 지시한다.
하나의 뎁스 셀은 하나의 뎁스 값을 가진다. 따라서, x, y 좌표 상으로 정의되는 하나의 뎁스 셀의 값은 다음과 같이 표시될 수 있다.
Depth Value : 61.3 (X:15, Y: 25) : Frame Number: 52
프레임 넘버(Frame Number)는 하나의 뎁스 영상을 식별하는 식별 정보가 될 수 있다. 뎁스 값(Depth Value)은 특정 프레임의 X, Y로 지시되는 뎁스 셀의 뎁스 값을 제시한다.
도 3에 제시된 바와 같이, 뎁스 카메라부(110)가 생성하는 프레임 별 뎁스 영상의 뎁스 정보는 계속 변화할 수 있다. 일 실시예로, 뎁스 정보를 구성하는 특정 뎁스 셀의 뎁스 값은 계속 바뀔 수 있다. 일 실시예로, (x, y)가 1, 2인 뎁스 셀(15a, 15b, 15c)의 뎁스 값이 매 프레임 별로 변화할 수 있다. 물론 다른 뎁스 셀의 뎁스 값 역시 변화할 수 있다. 정리하면, 뎁스 정보는 뎁스 센싱 모듈(100)이 취득한 하나의 프레임, 즉 한 시점에서 촬영한 뎁스 이미지를 구성하는 뎁스 값들의 집합을 의미한다.
도 3에 제시된 바와 같이, 첫번째 프레임의 뎁스 정보(11)와 두번째 프레임의 뎁스 정보(12)와 사이에서는 모든 뎁스 셀의 뎁스 값이 일괄적으로 1씩 증가하였다. 반면 두번째 프레임의 뎁스 정보(12)와 세번째 프레임의 뎁스 정보(13) 사이에는 (x, y)가 1, 2인 뎁스 셀의 뎁스 값이 큰 차이가 발생하였음을 알 수 있다.
즉, 15a에서 557, 15b에서 558, 그리고 15c에서 795로 큰 폭의 차이가 있다. 다른 뎁스 셀의 뎁스 값은 세 개의 프레임에서 일률적으로 1씩 증가한 것이므로, 뎁스 센싱 모듈(100)의 제어부(150)는 15c의 뎁스 값은 외부광으로 인한 가비지 값으로 판단될 수 있다.
센싱 데이터 필터링부(120) 혹은 후술할 제어부(2900)는 누적된 뎁스 정보들 중에서 뎁스 값의 변화가 미리 설정된 기준 보다 큰 경우 이를 분석하여 외부광의 영향으로 인한 가비지 값인 경우 뎁스 값을 시간적으로 이전 또는 이후의 프레임, 즉 시간적으로 이전 또는 이후의 뎁스 영상의 뎁스 정보에서 해당 셀의 뎁스 값을 추출하여 이를 변환시켜 외부광으로 인한 가비지 값을 제거하고 실제 객체들의 뎁스 값이 반영된 뎁스 정보를 산출할 수 있다.
또한, 뎁스 값의 급격한 변화가 실제 객체이 갑자기 등장하여 뎁스값의 변화가 발생할 수 있으므로, 광정보 제공부(140)는 뎁스 값의 큰 변화가 가비지 값에 의한 것인지 여부를 판단하는데 필요한 정보를 제공하며, 이를 반영하여 센싱 데이터 필터링부(120)가 뎁스 셀의 뎁스 값의 변화를 필터링할 수 있다.
도 4는 본 발명의 일 실시예에 의한 뎁스 센싱 모듈이 뎁스 정보를 누적하여 저장하는 과정에서 뎁스 정보 내의 뎁스 값을 필터링하는 과정을 보여주는 도면이다. 도 4는 뎁스 센싱 모듈이 일정한 시간 동안 N 개의 뎁스 정보를 센싱하여 그 중에서 외부광의 영향으로 뎁스 정보에 오류가 있는 것을 식별하여 이를 보정하거나 제거하는 등의 작업을 수행할 수 있다.
뎁스 센서인 뎁스 카메라부(110)는 N개의 뎁스 정보들(뎁스 데이터들)을 저장부에 저장한다(S21). 예를 들어 N은 1 이상의 자연수가 될 수 있다. 예를 들어 5개의 뎁스 정보들을 큐(queue)의 방식으로 저장부(130)에 저장할 수 있다.
한편, 제어부(150)는 센싱 모듈의 현재 위치에 대응하는 외부광의 특성, 뎁스 센싱 모듈의 이동 속도 등 외부 환경 정보를 취득한다(S22). 제어부(150)는 외부 환경 정보는 광정보 제공부(140)를 통해 취득하거나 혹은 뎁스 센싱 모듈(100)이 결합한 다른 장치, 예를 들어 로봇으로부터 취득할 수 있다.
센싱 데이터 필터링부(120) 외부 환경 정보를 반영하여 N개의 뎁스 정보들에서 뎁스 값의 변화가 일정 범위 이상인 영역을 필터링 영역으로 식별한다(S23). 예를 들어, 센싱 데이터 필터링부(120)가 5개의 큐를 검사하여 뎁스 정보의 각 뎁스 셀 별로 비교하여 뎁스 값이 일정 거리(예를 들어 100 mm) 이상 차이가 발생할 경우 이를 가비지 값으로 판단하여 사용하지 않는다.
또한, 이렇게 차이가 크게 발생한 영역들을 필터링 영역으로 식별한다. 전술한 기준이 되는 거리는 뎁스 센싱 모듈의 이동 속도와 뎁스 정보들이 생성된 시간 등을 고려하여 산출될 수 있다. 예를 들어, 뎁스 센싱 모듈이 장착된 로봇의 이동속도 500mm/s 이고 사람의 이동속도가 1000mm/s인 것으로 가정할 때, 1초에 1500mm의 거리 차이가 발생할 수 있다. 그런데 뎁스 카메라부(110)가 만약 33mm/s 주기로 뎁스 정보를 생성한다면, 이는 1초에 약 30번의 뎁스 정보를 생성하는 것을 의미한다. 왜냐하면 1500mm/30 = 약 50mm/frame 이기 때문이다.
따라서, 하나의 프레임의 뎁스 정보는 이전 프레임 혹은 이후 프레임의 뎁스 정보와 비교할 때, 50mm 이상의 차이가 발생하기가 어려우므로, 뎁스 값의 변화가 크게 발생할 경우, 센싱 데이터 필터링부(120)는 객체의 뎁스값이 아니라 외부광의 세기가 변화하여 뎁스 값이 변화한 것으로 판단할 수 있다. 즉, 시간차이를 두고 일정한 크기 이상 뎁스 값의 변화가 발생한 경우에는 객체에 대한 외부광이 변한 것으로 판단할 수 있다.
또한, 보다 정확도를 높이기 위해 뎁스 센싱 모듈(100)이 위치한 공간이 햇빛 또는 조명의 영향을 많이 받는 공간인지를 제어부(150)가 파악하여 이를 센싱 데이터 필터링부(120)에게 제공할 수 있다. 이 경우, 뎁스 센싱 모듈(100) 또는 뎁스 센싱 모듈(100)이 장착된 로봇이 특정한 장소 및/또는 특정한 시간에 위치할 경우 외부광에 영향받은 뎁스 값을 필터링할 수 있으며, 이는 외부광의 영향을 뎁스 값에서 제거하여 로봇의 이동 과정에서 외부 장애물을 식별하도록 제어 및 운행함으로써 비효율적인 장애물 검출로 인한 로봇 이동의 지연(delay)를 없앨 수 있다.
이후 제어부(150)는 필터링 영역을 구성하는 뎁스 셀들의 뎁스 값을 저장부(130)에 저장된 다른 뎁스 정보를 이용하여 설정한다.
도 5는 본 발명의 일 실시예에 의한 뎁스 센싱 모듈을 구성하거나 혹은 뎁스 센싱 모듈이 탑재된 로봇을 구성하는 광정보 제공부의 구성을 보여주는 도면이다. 광정보 제공부(140)는 뎁스 센싱 모듈(100)이 센싱한 뎁스 정보에서 가비지 값을 제거하기 위해 필요한 외부 환경 정보를 확인하기 위한 것으로 뎁스 센싱 모듈이 이동하는 공간에서 빛의 반사나 빛의 발산 등에 대한 정보를 제공한다. 또한 뎁스 센싱 모듈(100)은 이동 과정에서 센싱한 외부의 빛이 일정 크기 이상의 세기를 가지거나 외부의 빛이 주기적으로 센싱될 경우 광정보 제공부(140)에 외부광에 대한 정보를 업데이트할 수 있다.
주요 구성요소를 살펴보면, 뎁스 정보를 생성하는 공간의 고정 객체의 위치 및 외부광의 반사 또는 투과 정보가 저장된 맵 저장부(141), 외부광이 온오프하는 주기 정보가 저장된 광원주기정보부(145), 그리고 외부광이 온오프하는 컨텍스트가 저장된 컨텍스트부(146)로 구성된다.
맵 저장부(141)는 뎁스 센싱 모듈(100)이 이동하는 공간의 벽이나 창문, 그리고 광원의 위치에 대한 정보를 저장한다. 특히, 공간의 벽 등은 빛의 반사정도(외부광의 반사율)에 대한 정보를 함께 저장하여 뎁스 센싱 모듈(100)이 반사된 빛의 세기를 반영하여 뎁스 정보를 처리할 수 있도록 한다. 광원의 위치는 추가적으로 광원의 빛의 세기, 예를 들어 조도, 광원의 색상 등이 포함될 수 있다. 공간에서 벽 사이에 공간이 있는 경우 이는 유리로 판단할 수 있다. 이들 유리의 빛 투과도에 대한 값도 맵 저장부(141)에 저장될 수 있다.
광원주기정보부(145)는 특정 광원이 온오프하는 주기에 대한 정보이다. 예를 들어, 광원은 매일, 하루종일 켜져있는 경우가 있다. 또한, 다른 광원의 경우, 오후 시간 혹은 저녁 시간에만 켜져있는 경우가 있다. 광원주기정보부(145)는 광원이 켜지고 꺼지는 주기에 대한 정보를 저장하여, 광원이 꺼진 경우에는 외부광의 영향이 없는 것으로 뎁스 센싱 모듈(100)이 판단할 수 있다.
컨텍스트부(147)는 광원의 온오프하는 상황에 대한 컨텍스트(context) 정보 또는 창문으로 태양광이 들어오는 컨텍스트 정보 등 광원의 주기 정보에 포함되지 않는 컨텍스트 정보를 저장한다. 일 실시예로, 창문으로 태양광이 들어올 수 있는 컨텍스트로 계절이나 날씨와 연계되는 정보가 저장될 수 있다. 또한, 공간의 광원들이 특정한 조건에 따라 켜지거나 꺼지는 경우 이에 대한 컨텍스트 정보가 컨텍스트부(147)에 저장될 수 있다. 예를 들어 공항인 경우 특정한 비행 스케줄에 대응하여 켜지거나 꺼지는 광원의 온/오프 조건이 컨텍스트부(147)에 저장될 수 있다. 또는 특정한 날씨에 대응하여 켜지거나 꺼지는 광원의 온/오프 조건이 컨텍스트부(147)에 저장될 수 있다.
따라서, 뎁스 센싱 모듈(100)은 현재 이동하는 공간의 광원에 대한 정보와 이들 광원이 켜지거나 꺼지는 환경인지를 확인하고 이를 반영하여 뎁스 정보에서 가비지 값을 제거할 수 있다.
도 6은 본 발명의 일 실시예에 의한 맵 저장부의 구성을 보여주는 도면이다.
맵 저장부(141a)는 일종의 비트맵과 같이 구성할 수 있다. 이미지 파일의 비트맵에서 각 비트가 하나의 단위 영역을 나타내도록 구성할 수 있다. 각 단위 영역은 좌측 하단을 (0, 0)으로, 우측 상단을 (19, 19)로 지시할 수 있다. 또한, 도 6의 141a은 20x20 구조의 데이터 구조를 가질 수 있다. 예를 들어, 각 위치에 대해 객체가 배치되는지 여부에 대한 정보를 포함할 수 있다. 일종의 행렬과 같이 정보를 배치하고, 고정 객체가 배치되는 경우에는 해당 행렬의 값을 미리 설정된 값으로 설정할 수 있다.
또한, 맵 저장부(141a)는 고정 객체들이 가지는 빛의 반사 혹은 투과 속성에 대한 특성 정보를 저장할 수 있는데, 객체에 대한 특성 정보는 범주로 분류하여 구분하여 맵 저장부(141a)에 저장될 수 있다. 도 6의 맵 저장부(141a)에서 검은 색으로 표시된 부분은 빛의 반사도(reflective)의 값이 10으로 빛의 반사도가 낮은 속성의 객체임을 보여준다.
그 외 212로 지시되는 고정 객체는 빛의 반사도가 30으로 외부광을 30%로 반사함을 보여준다. 213a, 213b로 지시되는 고정 객체는 빛의 반사도가 70으로 외부광을 70%로 반사함을 보여준다. 고정 객체의 빛의 반사도에 대한 범주는 다양하게 설정될 수 있으며, 본 발명이 이들에 한정되는 것은 아니다.
한편, 고정객체들 사이에 T와 숫자로 결합된 부분은 빛의 투과도를 보여준다. 예를 들어, 211a에서 지시하는 "T9"는 빛을 90% 이상 투과시키는 투명 재질의 고정객체, 예를 들어 투명한 유리창이 배치되는 것을 지시한다. 그 결과 태양이 떠오르는 시간 및 해당 방향에서 211a의 주변으로 뎁스 센싱 모듈(100)이 이동할 경우, 햇빛이 뎁스 정보의 산출에 영향을 미치는 것을 뎁스 센싱 모듈(100)이 확인할 수 있다.
211b에서 지시하는 "T5"는 빛을 50% 투과시키는 반투명 재질의 고정객체, 예를 들어 반투명한 유리창이 배치되는 것을 의미한다.
맵 저장부(141a)에 L1 또는 L3는 천장에서 빛이 들어올 수 있는 공간 또는 조명이 배치된 지점에 표시된다. L1 또는 L3와 같은 것은 천장의 창문 혹은 조명들을 그룹핑 지은 라벨링이 될 수 있으며, 일 실시예로 조명의 조도가 되거나 창문의 투과도에 의한 빛의 세기 혹은 특정한 범주의 조명들의 그룹명이 될 수 있다.
L1, L3 등이 천장의 창문을 통해 유입되는 햇빛의 세기 또는 조명의 조도를 나타낼 경우, 이들을 범주화시켜 나눌 수 있는데, 일 실시예로 1~5 까지 범주화 시킬 수 있으며, 도 6의 실시예는 "1"이라는 범주에 해당하는 세기의 외부광(L1)과 "3"이라는 범주에 해당하는 세기의 외부광(L3)이 표시된 것으로 볼 수 있다.
일 실시예로 천장이 투명한 유리인 경우에는 빛의 투과도가 높은 것으로 그룹핑할 수 있고, 천장이 불투명한 유리인 경우에는 빛의 투과도가 낮은 것으로 그룹핑할 수 있다.
또다른 실시예로, 외부광의 세기 또는 조명의 조도 외에도 조명들을 그룹핑 지어서 범주화시킬 수도 있다. 예를 들어, 동시에 켜지거나 꺼지는 조명들을 그룹핑하여 이들을 범주화 시켜서 L1, L2 와 같이 라벨링할 수 있다.
L1, L3 등이 천장의 창문을 통해 유입되는 햇빛의 세기 또는 조명의 그룹을 나타내거나 조명의 조도를 나타내는 등 외부광의 특정한 정보를 제공하는 반면, 보다 상세한 외부광의 정보, 예를 들어, 햇빛이 비치는 시간이나 햇빛이 비치는 컨텍스트(날씨, 위도, 경도 등) 조명들이 켜지고 꺼지는 온오프 주기 혹은 온오프하는 컨텍스트(특정 공간에서 불이 켜지는 조건 등)에 대한 정보는 도 7의 광원주기정보부(145) 및 컨텍스트부(147)에 저장될 수 있다.
도 6에서 바닥의 재질이 빛을 반사하는 정도에 대한 정보도 맵 저장부(141)에 저장될 수 있는데, 예를 들어, 하기의 표와 같이 맵 저장부(141a)의 특정한 영역 별로 바닥의 빛의 반사도에 대한 정보를 저장할 수 있다.
Position | Reflective |
(0, 0) ~ (19, 19) | Reflective 50 |
표 1에서는 (0, 0)을 좌하단 영역, (19, 19)를 우상단 영역으로 하는 바닥의 빛 반사가 "50"이라는 범주에 해당함을 보여준다. 이는 뎁스 센싱 모듈(100)이 센싱된 뎁스 값을 필터링하는 과정에서 바닥에서 빛이 반사될 수 있다는 정보를 반영할 수 있다. 이와 달리 공간을 세분화하여 표 2와 같이 바닥의 반사 정보를 제시할 수 있다.
Position | Reflective |
(0, 0) ~ (19, 10) | Reflective 50 |
(0, 11)~(19, 19) | Reflective 20 |
로봇 또는 뎁스 센싱 모듈은 표 2에서 첫번째 영역((0, 0) ~ (19, 10))으로 이동할 경우에는 반사도가 50이라는 정보를 반영하여 천장의 조명의 반사 정도가 50에 대응하는 범주에 속하는 공간에서 뎁스 정보를 필터링할 수 있다. 또한, 두번째 영역((0, 11)~(19, 19))으로 이동할 경우에는 반사도가 20이라는 정보를 반영하여 천장의 조명의 반사 정도가 20에 대응하는 범주에 속하는 공간에서 뎁스 정보를 필터링할 수 있다.도 7은 본 발명의 일 실시예에 의한 광원주기정보부 및 컨텍스트부의 구성을 보여주는 도면이다. 광원주기정보부(145a)는 도 6에서 그룹화시킨 외부광들, 즉 햇빛이 비치거나 조명들이 켜지는 주기에 대해 제시한다. L1이라는 외부광(햇빛 또는 조명 등)은 위치에 상관없이(POS 필드가 ALL) 월요일에서 금요일(Day 필드)까지 06:00~22:00 시간동안(Time 필드) 켜지도록 주기가 설정된다. 한편, L3로 그룹핑된 외부광(햇빛 또는 조명 등)은 토요일과 일요일에 정해진 시간(10:00~17:00) 동안 켜지도록 주기가 설정된다.
요일이나 날짜 별로 시간이 정해진 경우는 조명에 해당할 수 있으며, 햇빛의 경우 일몰/일출 시간이 적용될 수 있다. 컨텍스트부(147a)는 광원주기에 추가하여 햇빛이 비치거나 조명이 켜지거나 또는 꺼지는 조건, 즉 컨텍스트 정보를 제시한다. 주로 조명에 적용되지만, 햇빛과 같이 날씨 정보를 결합하여 컨텍스트 정보를 구성할 수도 있다.
L1이라는 광원들 중에서 (7, 17)의 위치(도 6에서 15로 지시되는 위치)에 배치된 조명은 외부 날씨에 따라 꺼지거나 켜지도록 조정될 수 있다. 왜냐하면 도 6의 15의 L1 광원은 외부의 빛을 투과시키는 투명한 재질의 고정객체(211a)가 배치되어 있기 때문이다. 따라서, 147a에 제시된 바와 같이 "Sunny_Weather"에서 조명을 끄며(OFF), "Night / Rainy_weather" 상황에서 조명을 켜는(ON) 컨텍스트 정보가 저장될 수 있다. L3 광원들은 모두 해당 공간이 붐빌 경우(Crowded)에 켜지도록(ON) 설정될 수 있다. 그리고 토요일과 일요일에는 꺼지도록(OFF) 설정될 수 있다.
도 6 및 도 7의 정보들에 기반하여 뎁스 센싱 모듈(100) 또는 뎁스 센싱 모듈(100)이 탑재된 로봇이 이동하는 과정에서 빛에 의한 영향을 받는 구간을 지나갈 때, 로봇의 현재 위치와 시간을 맵 저장부(141)에 등록하고, 이후 로봇 또는 뎁스 센싱 모듈(100)이 햇빛이나 조명의 영향을 받는 구간을 누적하여 학습하고 동일 시간에 동일한 장소를 이동할 때, 햇빛 또는 조명의 영향을 제거하는 필터를 활성화 시켜서 외부광의 영향을 제거하여 정확한 뎁스 정보를 산출한다.
필터를 활성화 시킨다는 것은 도 1의 센싱 데이터 필터링부(120)가 뎁스 정보에서 가비지 값을 필터링하도록 하며, 일 실시예로 누적된 뎁스 정보에서 각 뎁스 셀들의 뎁스 값들을 비교하여 장애물인지 외부광에 의한 뎁스 값의 오류인지를 판단할 수 있다. 이 과정에서 누적된 뎁스 정보가 늘어날 경우 뎁스 값이 가비지 값인지에 대한 판단의 정확도를 높일 수 있는데, 이는 뎁스 정보를 확인하는데 있어 일종의 지연(delay)가 발생할 수 있다.
그러나, 뎁스 센싱 모듈(100) 또는 로봇의 이동 속도, 로봇의 장애물 대응 능력 등을 반영하여 로봇이 장애물을 판단하는데 있어 문제가 발생하지 않을 만큼의 지연 시간 내에 뎁스 정보에서 가비지 값을 필터링할 수 있도록 뎁스 센싱 모듈(100)을 구성할 수 있다. 이 과정에서 보다 빠른 필터링 효과를 위해 전술한 광정보 제공부(140)를 구성하는 정보들이 학습을 통해 업데이트 되어 필터링의 정확성을 높일 수 있다.
도 8은 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(1000)은 앞서 살펴본 뎁스 센싱 모듈(100)을 포함한다. 또한 광정보 제공부(140)가 로봇(1000)을 구성하는데, 뎁스 센싱 모듈(100)로부터 독립적으로 로봇(1000)의 구성요소가 될 수 있다. 한편, 로봇(1000)이 이동하는데 있어 외부의 객체들을 센싱하는데 필요한 객체 센싱 모듈(190), 그리고 로봇(1000)을 이동시키는 이동부(300)와 특정한 기능을 수행하는 기능부(400), 그리고 통신부(500)가 제시된다.
도 8은 로봇의 구성을 계층적으로 구성하고 있으나, 이는 로봇의 구성요소들을 논리적으로 나타낸 것에 의해서이며, 물리적 구성은 이와 다를 수 있다. 하나의 물리적 구성요소에 다수의 논리적 구성요소가 포함되거나, 다수의 물리적 구성요소가 하나의 논리적 구성요소를 구현할 수 있다. 또한, 반드시 도 8의 계층이 유지될 필요는 없다.
객체 센싱 모듈(190)은 외부의 객체들을 센싱하여 센싱한 정보를 로봇 제어부(900)에게 제공한다. 일 실시예로 객체 센싱 모듈(190)은 로봇의 현재 위치에서 벽, 유리, 금속성 문 등 외부 객체들의 재질과 거리를 신호의 강도(intensity)와 반사된 시간(속도)로 산출하는 라이다(Lidar) 센싱부(191)를 포함할 수 있다. 또한, 객체 센싱 모듈(190)은 로봇의 외부 객체의 영상을 취득하는 비전 센싱부(192)를 더 포함할 수 있다.
비전 센싱부(192)는 카메라를 포함할 수 있다. 비전 센싱부(192)는 로봇의 주변의 객체들의 이미지를 촬영할 수 있다. 특히, 로봇은 고정 객체와 같이 변화가 많지 않은 이미지와 이동 객체가 배치된 이미지를 구분하여 외부의 객체가 이동 객체인지를 식별할 수 있다.
또한, 추가적으로 객체 센싱 모듈(190)은 로봇(1000)으로부터 일정 거리 내에 배치된 객체들의 존재 여부를 센싱하는 초음파 센싱부(193)를 포함할 수 있다. 초음파 센싱부(193)는 로봇(1000)으로부터 일정 거리 내에 객체들이 존재하는지를 판단한 정보를 제공한다.
그 외에도 열감지 센싱부, 초음파 센싱부 등을 일 실시예로 하는 보조 센싱부(194)가 다수 배치될 수 있다. 이들 보조 센싱부들은 맵을 생성하거나 외부 객체를 센싱하는데 필요한 보조적인 센싱 정보를 제공한다. 또한, 이들 보조 센싱부들 역시 로봇이 주행함에 있어 외부에 배치된 객체를 센싱하여 정보를 제공한다.
센싱 데이터 분석부(195)는 다수의 센싱부들이 센싱한 정보들을 분석하여 이를 로봇 제어부(900)에게 전달한다. 예를 들어 다수의 센싱부들에 의해 로봇의 주변에 배치된 객체가 감지될 경우, 해당 객체의 특성과 거리에 대한 정보를 각각의 센싱부가 제공할 수 있다. 센싱 데이터 분석부(195)는 이들의 값을 조합하여 산출하고 이를 로봇 제어부(900)에게 전달할 수 있다.
로봇 제어부(900)는 센싱된 거리 정보를 뎁스 센싱 모듈(100)에 제공하여 뎁스 정보를 필터링 하는 과정에서 참조할 수 있도록 한다. 예를 들어, 5미터 이내에 사물이 존재하지 않는 것으로 센싱 데이터 분석부(195)가 로봇 제어부(900)에게 정보를 제공하고, 로봇 제어부(900)가 이러한 정보를 뎁스 센싱 모듈(100)에게 제공했는데, 뎁스 센싱 모듈(100)이 생성한 뎁스 정보에 5미터 이내의 뎁스 값이 센싱되면 뎁스 센싱 모듈(100)은 해당 뎁스 셀이 외부광에 의해 왜곡된 것인지 여부를 확인하여 필터링할 수 있다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 로봇 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 로봇 제어부(900)는 맵 저장부(141)에 저장된 영역에서 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 로봇 제어부(900)는 맵 저장부(141)에 저장된 다양한 정보들을 이용하여 경로를 실시간으로 생성하거나 혹은 이동 과정에서 경로를 생성할 수 있다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 보안 로봇인 경우 기능부(400)는 보안에 필요한 구성요소를 포함한다.
기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다. 통신부(500)는 로봇이 취득한 정보를 외부의 서버 또는 다른 로봇들에게 전송하거나 혹은 전술한 서버 또는 다른 로봇으로부터 정보를 수신하는 기능을 제공한다.
특히, 통신부(500)는 현재 날씨에 대한 정보를 외부의 장치들로부터 수신하여 햇빛과 같은 강한 외부광이 발생하는 조건인지를 확인하여 이를 로봇 제어부(900)에게 제공하고 로봇 제어부(900)는 외부광의 발생 조건을 뎁스 센싱 모듈(100)에게 제공하여 뎁스 정보의 필터링에 적용할 수 있도록 한다.
로봇(1000)의 로봇 제어부(900)는 맵 저장부(200)의 맵을 생성하거나 업데이트할 수 있다. 또한, 로봇 제어부(900)는 주행 과정에서 뎁스 센싱 모듈(100)이 제공하는 센싱 정보와 객체 센싱 모듈(190)이 제공하는 센싱 정보를 취합하여 로봇의 이동 경로를 제어할 수 있다. 즉, 로봇 제어부(900)는 뎁스 센싱 모듈(100) 및 객체 센싱 모듈(190)의 센싱된 결과에 기반하여 로봇 주변의 객체를 확인하여 로봇(1000)의 이동 경로를 제어한다.
또한, 광정보 제공부(140)가 뎁스 센싱 모듈(100)과 독립하여 배치될 수 있으며, 이 과정에서 로봇 제어부(900)는 이동 과정에서 취득한 외부광의 위치 정보를 광정보 제공부(140)에 저장할 수 있다. 또한, 로봇의 이동 공간에 대한 맵을 생성하는 과정에서 맵 저장부(141)에 이동 공간의 벽 또는 바닥의 빛의 반사 또는 투과에 대한 속성이 변경된 것으로 확인되면 맵 저장부(141)의 고정 객체의 속성도 변경할 수 있다.
한편, 로봇 제어부(900)는 뎁스 센싱 모듈(100)이 생성한 뎁스 정보에 대응하는 영역에서 객체 센싱 모듈(190)이 센싱한 객체의 거리 정보를 뎁스 센싱 모듈(100)에게 제공할 수 있다. 뎁스 센싱 모듈(100)의 제어부(150)는 로봇 제어부(900)를 통해제공된 객체의 거리 정보가 뎁스 정보의 일부 또는 전부와 불일치하는 경우에 뎁스 정보에서 불일치하는 영역에 대한 정보를 센싱 데이터 필터링부(120)에게 제공하여 센싱 데이터 필터링부(120)가 필터링할 영역을 보다 정확하게 식별할 수 있도록 한다.
도 9는 본 발명의 일 실시예에 의한 뎁스 센싱 과정을 보여주는 도면이다. 도 9는 전술한 광정보 제공부의 맵 저장부에 저장된 정보를 이용하여 로봇 또는 뎁스 센싱 모듈의 현재 위치가 햇빛의 영향을 받는 위치인지를 판단하고, 이에 따라 뎁스 센싱 모듈의 뎁스 카메라부가 촬영한 뎁스 정보에서 각 뎁스 셀들의 뎁스 값(입력 데이터)을 분석하여 필터링하는 과정을 보여준다.
뎁스 카메라부(110)는 센싱된 뎁스 값으로 구성되는 뎁스 정보를 생성하여 저장부(130)에 저장한다(S31). 그리고 로봇의 현재 위치와 시간이 외부광, 특히 햇빛이나 강한 조명의 영향을 받는 구간인지를 확인한다(S32). 이는 뎁스 센싱 모듈(100) 또는 로봇(1000)을 구성하는 광정보 제공부(140)에 저장된 정보를 이용하여 확인할 수 있다. 확인 결과 외부광의 영향을 받는 구간인 경우에는 저장부(130)에 저장된 가장 최근의 5 프레임의 뎁스 데이터들, 즉 뎁스 값으로 구성된 뎁스 정보를 큐에 저장한다(S33).
전술한 5 프레임이란 현재 시점을 기준으로 이전의 5번의 시점에서 촬영된 뎁스 정보들을 의미한다. 그리고 이전 프레임의 각 뎁스 셀의 뎁스 값들과 현재 확인된 뎁스 정보에서의 각 뎁스 셀의 뎁스 값들과 비교하여 실제 데이터인지 가비지 값인지를 확인하여 필터링할 것인지를 판단한다. 가비지 값인 경우, 해당 뎁스 정보는 제외시키고 새로이 뎁스 정보를 센싱하여 저장하도록 S31 단계를 진행한다. 한편, 가비지 값이 아닌 경우 해당 뎁스 데이터를 사용한다(S35). 가비지 값으로 확인된 것은 외부광으로 인해 정확한 뎃브 정보가 산출되지 않음을 의미한다.
도 9의 S34 과정에서 가비지 값인 것으로 판단되면, 가비지 값에 대응하는 뎁스 셀의 뎁스 값을 새로이 산출할 수 있다. 예를 들어, 이전 5개의 프레임에 대응하는 5개의 뎁스 정보에서 특정 위치인 뎁스 셀의 뎁스 값이 지속하여 1씩 감소하다가 갑자기 1000이 감소한 경우 이는 가비지 값으로 판단할 수 있다. 다만, 가비지 값을 버리고 새로이 뎁스 정보를 산출하도록 S31 단계를 진행할 수도 있고, 가비지 값을 보정하여 뎁스 정보를 산출할 수도 있다. 예를 들어 도 3의 15c에서 가비지 값으로 확인된 경우 해당 셀의 뎁스 값을 이전 프레임의 뎁스 정보들(11, 12)를 기반으로 559로 변환할 수 있다.
도 10은 본 발명의 일 실시예에 의한 뎁스 정보를 뎁스 카메라부가 생성하여 이를 필터링하는 과정을 보여주는 도면이다. 41 내지 43은 뎁스 센싱 모듈(100) 또는 로봇(1000)이 이동하는 전면에 배치된 사물들의 형상이며, 프레임 별 전면의 사물의 형상을 보여준다. 51 내지 53은 이들 41 내지 43에 대응하여 생성된 뎁스 정보의 일부를 보여준다.
뎁스 정보는 41 내지 43을 뎁스 셀로 분할하여 각 뎁스 셀 별로 뎁스 값을 포함하는데, 51 내지 53은 이 중에서 특정한 뎁스 셀들(41p, 41q, 42p, 42q, 43p, 43q)에 대한 뎁스 값을 보여준다. 뎁스 정보는 가로 150, 세로 100 크기로 뎁스 셀을 나누었으며, 41p, 42p, 43p는 각각의 41, 42, 43에서의 좌표가 (30, 75) 이며, 41q, 42q, 43q는 각각의 41, 42, 43에서의 좌표가 (75, 25) 이다.
전체 뎁스 정보의 구성은 도 2 및 도 3에서 살펴본 바와 같이 각 뎁스 셀 별로 뎁스 값이 저장될 수 있는데, 설명의 편의를 위하여 도 10에서는 특정 셀들의 뎁스 값만을 표시한다.
51에서 41p 및 41q의 뎁스 값은 각각 1530및 3500으로 센싱된다. 52에서 42p 및 42q의 뎁스 값은 각각 1480 및 3450으로 센싱된다. 42에서 햇빛(50)의 일부분이 유입되지만 뎁스 센싱에 영향을 미치지 않은 상태이다.
그런데, 43에서 햇빛(50)이 전면에 등장하면서 53에 제시된 바와 같이 43p는 동일한 뎁스 셀(위치가 (30, 75)인 셀)의 뎁스 값인 1480과 비교할 때, 일정하게 50이 감소한 1430인데, 43q는 동일한 뎁스 셀(위치가 (75, 25)인 셀)의 뎁스 값인 3450과 비교할 때, 불규칙하게 0으로 센싱됨을 확인할 수 있다. 이는 뎁스 센싱 모듈이 센싱한 값이 햇빛(50)으로 인해 가비지 값이 입력됨을 의미한다.
따라서, 센싱 데이터 필터링부(120)는 뎁스 값들 중에서 53의 43q와 같이 특정한 값에서 큰 변화가 발생하는 값을 필터링하고 제어부(150)는 필터링된 뎁스 정보(53)를 제거하거나 혹은 이전 뎁스 정보(51, 52)를 참조하여 새로운 뎁스 값(3400)을 가지는 뎁스 정보(54)를 생성하여 저장할 수 있다.
또한, 이 과정에서 로봇(1000)의 객체 센싱 모듈(190)이 센싱한 값에 기반하여 큰 변화가 발생한 뎁스 값을 가비지 값으로 하여 필터링할 지 아니면 새로운 객체가 센싱된 것으로 할 지 제어부(150)가 결정할 수 있다. 예를 들어, 갑자기 사물이 다가오는 경우가 있으므로, 객체 센싱 모듈(190)이 전방에 객체가 가까이 있는 것으로 센싱한 경우에는 센싱 데이터 필터링부(120)는 해당 뎁스 값을 필터링하지 않고 그대로 사용할 수 있다. 또는, 정확성을 위해 뎁스 카메라부(110)가 다시 뎁스 정보를 생성할 수 있다.
도 10에서 살펴본 바와 같이 뎁스 센싱 모듈(100)이 뎁스 정보를 분석하는 과정을 정리하면 다음과 같다.
뎁스 카메라부(110) 앞에 아무 장애물도 존재하지 않음에도 햇빛의 영향을 받아 특정한 범위 내의 뎁스 값이 각 프레임의 뎁스 정보에서 뎁스 값이 프레임 간에 과도하게 변하여 특정 사물이 갑자기 센싱하거나 혹은 센싱한 사물이 사라지는 것으로 확인될 경우, 이러한 뎁스 정보를 필터링할 수 있다.
예를 들어, 전방부의 400~1000mm 사이의 특정 뎁스 셀의 뎁스 값이 2~3 프레임의 뎁스 정보에서 연속하여 검출되었다가 값자기 0의 값이 검출되는 상황이 반복될 수 있다. 특히, 똑같은 값이 연속해서 2~3 프레임의 뎁스 정보로 들어오는 것은 아니고 200, 700, 400, 0, 1000 등과 같이 뎁스 값이 선형적이지 않고 크게 증가 혹은 감소하는 경우에는 사물의 갑작스러운 등장으로 인한 뎁스 센싱이 아닌 외부광의 영향으로 뎁스 값이 변화하는 것으로 뎁스 센싱 모듈(100)이 확인하고 해당 뎁스 값을 필터링할 수 있다.
이 과정에서 사물이 실제로 전면에 배치되었는지를 확인하기 위해 객체 센싱 모듈(190)에서 센싱한 외부 객체들의 센싱 결과를 뎁스 센싱 모듈(100)이 참조할 수 있으며, 또한 광정보 제공부(140)에서 현재 위치에서의 외부광의 배치 또는 빛의 세기, 컨텍스트 정보 등을 추출하여 외부광이 존재할 수 있는 가능성에 기반하여 뎁스 값을 필터링할 수 있다. 또한, 광센싱부(111)가 외부의 광의 세기를 센싱하여 센싱한 광이 뎁스 센싱에 영향을 미치는 정도인 경우, 뎁스 값을 조정할 수 있다.
도 10에서 맵 저장부(141)의 정보를 이용할 수 있는데, 도 6에서 특정한 공간의 벽의 재질의 반사도, 또는 창문의 배치로 인한 외부광의 투과도 등을 함께 반영하여 외부광이 센싱되는 위치인지, 혹은 반사된 외부광이 존재하는지를 확인할 수 있다. 또한, 앞서 표 1에서 살펴본 바와 같이 바닥의 빛의 반사도를 확인하고 조명의 위치를 맵 저장부(141a)에서 확인하여 빛의 영향을 뎁스 정보에서 제거하여 정확하게 뎁스 값을 산출할 수 있다.
한편, 도 10에서 41 내지 43에서 특정한 뎁스 셀의 값의 변화를 확인하기 위해 뎁스 정보의 특정한 위치(x, y)를 참조할 수도 있으나, 본 발명의 다른 실시예에 의하면 41 내지 43에서 기준이 되는 지점이 있는 경우 이 지점에 대응한 상대 좌표를 구할 수 있다. 예를 들어 41의 원통기둥이 42, 43에서 점차적으로 접근하는 것으로 비전 센싱부(192)가 확인한 경우, 값이 급변하는 영역과 원통기둥과의 거리에 비례하여 뎁스 셀의 위치를 확인할 수 있다.
일 실시예로 42p의 위치가 (30, 75) 이지만 42에서는 해당 지점에 (28, 73)이 될 수 있으며, 뎁스 셀의 변화의 보다 정확한 추이를 분석하기 위해 비전 센싱부(192)가 센싱한 사물의 정보를 이용할 수 있다.
도 11 및 도 12는 본 발명의 일 실시예에 의한 뎁스 센싱 모듈이 외부광의 영향을 반영하여 객체의 뎁스 값을 센싱하는 과정을 보여주는 도면이다. 독립적으로 동작하는 뎁스 센싱 모듈(100) 또는 이러한 뎁스 센싱 모듈(100)이 장착된 로봇(1000)에서 모두 구현 가능하다.
도 11에서 뎁스 센싱 모듈(100)의 뎁스 카메라부(110)가 제1시점에서 센싱한 객체의 제1뎁스 정보를 저장부(130)에 저장한다(S61). 그리고 뎁스 카메라부(110)가 제2시점에서 센싱한 객체의 제2뎁스 정보를 저장부(130)에 저장한다(S62). 제1시점이전에도 다수의 뎁스 정보가 저장될 수 있다.
도 12에서 살펴보면, 다수의 뎁스 셀들로 구성되며 매 시점 별로, 즉 프레임 별로 생성된 뎁스 정보들이 n개 저장부(130)에 저장될 수 있다. 저장부(130)에 저장된 뎁스 정보들의 동일한 위치의 뎁스 셀의 뎁스 값들은 짧은 시간 내에 뎁스 센싱 모듈(100)이 이동한 상태에서 뎁스 카메라부(110)가 센싱한 것이므로, 각 뎁스 셀 별로 뎁스 값의 변화가 크지 않다.
이는 뎁스 센싱 모듈(100) 또는 로봇(1000)의 이동 속도, 외부 사물의 이동 속도, 그리고 뎁스 카메라부(110)가 센싱하는 간격(프레임 별 시간 간격)에 따라 달라질 수 있다. 따라서, 뎁스 센싱 모듈(100)의 제어부(150) 또는 센싱 데이터 필터링부(120)는 이동 속도와 센싱 간격을 기준으로 뎁스 값의 최대 변동기준값을 설정할 수 있다. 일 실시예로, 뎁스 센싱 모듈(100)의 이동 속도가 500mm/s이고, 외부 사물의 최대 이동 가능한 속도가 1000mm/s일 때, 1초에 약 1500mm의 거리차가 발생할 수 있다.
한편, 뎁스 카메라부(110)가 센싱하는 간격이 1초에 30 프레임인 경우를 가정 시 매 프레임 별로 생성되는 뎁스 정보들은 최대 50mm (1500mm / 30초)의 뎁스 값의 차이가 발생할 수 있다. 따라서, 뎁스 값의 최대 변동기준값으로 50 mm 혹은 이 보다 조금 더 큰 값(100 mm)로 설정한 후, 도 12에 누적된 뎁스 정보에서 특정 뎁스 셀의 뎁스 값이 이전 프레임과 비교하여 뎁스 값의 최대 변동기준값 보다 큰 경우 뎁스 값이 가비지 값인지를 센싱 데이터 필터링부(120)가 확인할 수 있다.
다시 도 11로 돌아와서, 뎁스 센싱 모듈(100)의 센싱 데이터 필터링부(120)가 생성된 제1뎁스 정보 및 상기 제2뎁스 정보를 비교하여 상기 제2뎁스 정보에서 필터링할 영역을 식별한다(S63). 식별하는 방식으로는, 센싱 데이터 필터링부(120)가 앞서 뎁스 값의 변동이 일정한 기준 값(최대 변동 기준값)보다 큰 경우 그러한 뎁스 값들에 대응하는 뎁스 셀들을 필터링할 영역으로 식별한다.
혹은 앞서 외부광의 특성을 광정보 제공부(140)를 통해 확인하거나 광센싱부(111)가 외부광의 세기를 센싱한 결과, 혹은 로봇(1000)의 객체 센싱 모듈(190)이 센싱한 외부 객체의 존재 혹은 거리 등의 정보에 기반하여 해당 뎁스 셀의 뎁스 값이 가비지 값으로 판단될 경우, 센싱 데이터 필터링부(120)는 하나 이상의 뎁스 셀로 구성되는 필터링할 영역을 식별한다.
필터링할 영역은 제2뎁스 정보 내의 하나 이상의 뎁스 셀이 될 수 있으며, 제어부(150)는 제2뎁스 정보에서 상기 필터링 영역의 뎁스 값을 조정한다(S64).
조정하는 것의 일 실시예는 제2뎁스 정보를 저장부(130)에서 제거하고 새로이 새로운 시점에서 뎁스 정보를 생성하는 것을 일 실시예로 한다.
다음으로 조정하는 것의 다른 실시예로, 제2뎁스 정보에서 상기 필터링 영역의 뎁스 값을 변경할 수 있다. 이는 제1뎁스 정보를 참조하거나 혹은 그 외에 시간적으로 인접한 다른 뎁스 정보들을 참조하여 해당 필터링 영역을 구성하는 뎁스 셀들의 뎁스 값을 변경할 수 있다. 앞서 도 10에서 53과 같이 센싱된 뎁스 정보를 54와 같이 변경하는 것을 일 실시예로 한다.
도 13은 본 발명의 일 실시예에 의한 뎁스 값을 변경하는 과정을 보여주는 도면이다.
도 12에서 살펴본 바와 같이 제1-1뎁스 정보 내지 제1-4뎁스 정보의 동일한 위치(X1, Y1)의 뎁스 셀은 각각 D11 내지 D14의 값을 가진다. D11 내지 D4의 값의 변화 추이는 감소하는 형태이며, D11-D12, D12-D13, D13-D14의 차이는 미리 설정된 오차 범위 내이다.
그런데 제2뎁스 정보에서 센싱된 뎁스 값(D2)이 0 또는 0에 근접하거나 이전의 D11 내지 D14의 변화 방향에서 벗어난 값으로 설정되면, 센싱 데이터 필터링부(120)는 가비지 값으로 판단한다. 그리고, 이전에 센싱된 뎁스 정보 혹은 이후 센싱된 뎁스 정보를 기준으로 제2뎁스 정보의 동일한 위치(X1, Y1)의 뎁스 셀의 뎁스 값을 D2'와 같이 설정할 수 있다.
D2를 산출하기 위해서 제어부는 이전 뎁스 정보를 그대로 이용하여 D2를 산출하거나 또는 이전 뎁스 정보에 가중치를 적용하여 생성된 D2'를 산출하여 D2'값이 제2뎁스 정보의 뎁스 셀인 DCell(X1, Y1)의 뎁스 값으로 설정할 수 있다. 즉, 필터링 영역 내의 뎁스 셀들에 대해 각각 뎁스 값을 새로이 계산에 따라 산출하여 새로운 뎁스 정보를 생성하고 이를 제어부(150)가 저장부에 저장한다.
정리하면, 다음과 같다. 제어부(150)가 제1뎁스 정보(또는 제1-1 내지 제1-4 뎁스 정보)를 제2뎁스 정보의 필터링할 영역에 적용하여 새로운 뎁스 정보를 생성할 수 있다.
또는 제어부(150)는 제1뎁스 정보(또는 제1-1 내지 제1-4 뎁스 정보)에 가중치를 적용하여 생성된 뎁스 정보를 제2시점의 제2뎁스 정보의 필터링할 영역에 적용하여 새로운 뎁스 정보를 생성할 수 있다. 그리고 제어부(150)는 저장부(130)에 제2시점에서의 뎁스 정보로 새로이 생성한 뎁스 정보를 저장할 수 있다. 전술한 가중치의 적용 과정에서는 로봇의 이동 속도를 반영할 수 있다.
도 14는 본 발명의 일 실시예에 의한 뎁스 정보를 새로이 생성하여 저장하는 실시예를 보여주는 도면이다. 뎁스 센싱 모듈(100)이 시간순으로 10p, 10q, 10s과 같이 뎁스 정보를 생성한다. 이 과정에서 가장 최근인 10s의 뎁스 정보 중에서 이전 뎁스 정보의 값의 변화와 차이가 발생하는 영역(10s의 DCell1, DCell2 영역)을 필터링 영역으로 식별한다. 일 실시예로 센싱 데이터 필터링부(120)는 제1뎁스 정보(10p 및 10q)의 제1뎁스 셀(Dcell1 또는 DCell2)의 제1뎁스 값이 10 또는 9씩 감소한 것을 확인한다.
또한, 10p 및 10q의 제1뎁스 셀(Dcell1 또는 DCell2)에 대응하는 제2뎁스 정보(10s)의 제2뎁스 셀(Dcell1 또는 DCell2)의 제2뎁스 값이 각각 "0"을 가지므로 센싱 데이터 필터링부(120)는 이전의 값들과 차이가 발생함을 비교하여 식별할 수 있다.
보다 상세히, 센싱 데이터 필터링부(120)는 DCell1의 경우 뎁스 값이 90, 80, 0으로 변화한 것이므로 마지막 "0"으로 센싱된 뎁스 값이 가비지 값인 것으로 확인할 수 있다. 마찬가지로 센싱 데이터 필터링부(120)는 DCell2의 경우 뎁스 값이 80, 71, 0으로 변화한 것이므로 마지막 "0"으로 센싱된 뎁스 값이 가비지 값인 것으로 확인할 수 있다. 그 결과, 센싱 데이터 필터링부(120)는 새로운 뎁스 정보(10s')를 생성할 수 있는데, 필터링 영역(Filtering Area)를 구성하는 뎁스 셀들의 값이 각각 70 및 62로 변경되었음을 확인할 수 있다. 이러한 뎁스 값의 변경은 10p, 10q의 변화 과정을 반영한 것이다.
물론, 센싱 데이터 필터링부(120)는 직전의 뎁스 정보만 이용할 수도 있다. 예를 들어 10q를 참조하고 외부광의 영향이 없을 경우, 10q와 10s 사이에 최대로 발생할 수 있는 뎁스 값의 차이가 20인 경우, 20 이상 차이가 발생한 뎁스 값을 가비지 값으로 설정하여 새로은 뎁스 값을 산출할 수 있다.
도 13 및 도 14에서는 뎁스 정보에서 동일한 X/Y 지점의 뎁스 셀의 뎁스 값의 변화에 기반하였으나, 본 발명이 이에 한정되는 것은 아니다. 예를 들어 객체 센싱 모듈(190)의 비전 센싱부(192)에서 촬영한 결과 사물들이 우측으로 이동하는 것으로 촬영될 경우, 이러한 변화를 반영하여 연관된 뎁스 셀의 뎁스 값을 비교할 수 있다.
일 실시예로, 제1뎁스 정보에서는 (1, 1)이 제1뎁스 셀이었으나, 제2뎁스 정보에서는 동일한 사물이 이동하여 (1, 2)로 이동한 것으로 확인되면 제2뎁스 셀은 (1, 2)가 될 수 있다. 이를 위해 비전 센싱부(192)가 센싱한 사물의 이동을 추적하여 연관된 뎁스 셀들을 분석할 수 있다.
정리하면 제1뎁스 정보의 제1뎁스 셀의 위치와 제2뎁스 정보의 제2뎁스 셀의 위치는 동일할 수도 있고 상이할 수도 있으며, 상이한 경우, 사물의 이동을 추적하여 동일한 사물로 파악한 정보에 기반하여 상이한 위치를 선별할 수 있다.
도 15는 본 발명의 일 실시예에 의한 뎁스 값의 조정 과정을 보다 상세히 보여주는 도면이다. 도 11의 S63 및 S64 과정을 상술하며 도 14의 실시예를 참조한다.
센싱 데이터 필터링부(120)가 제1시점에서 센싱한 객체의 제1뎁스 정보의 제1뎁스 셀의 제1뎁스 값 D1(도 14에서 D11 내지 D14를 일 실시예로 함)을 산출한다(S631). 그리고 센싱 데이터 필터링부(120)가 제2시점에서 센싱한 객체의 제2뎁스 정보의 제2뎁스 셀의 제2뎁스 값 D2를 산출한다(S632). 센싱 데이터 필터링부(120)는 D1과 D2의 차이가 설정된 기준 이상인 경우(S633) S635와 같이 필터링을 수행한다. 차이가 설정된 기준 이하인 경우에는 D2를 포함하는 제2뎁스 정보를 저장부에 저장한다(S649).
S633에서 D1과 D2의 차이가 설정된 기준 이상인지를 판단하는 일 실시예로, D1과 D2의 차이가 제1시점에서의 뎁스 센싱 모듈(100)의 위치와 제2시점에서의 뎁스 센싱 모듈의 위치 사이의 차이보다 큰 경우 또는 앞서 사물의 이동 속도까지 고려하여 최대 변동기준값과 같이 미리 설정된 기준 보다 큰 경우에 D2가 가비지 값을 가질 가능성이 큰 것으로 확인한다.
한편, S641의 일 실시예로 제어부(150)는 새로운 D2'를 산출하기 위해 앞서 제1시점 및 상기 제2시점에서의 뎁스 센싱 모듈의 위치 차이에 기반하여 D1을 D2'(새로운 뎁스 값)를 생성한다. 위치 차이에 기반한다는 것은 이전에 누적된 뎁스 값들의 변화추이를 적용하거나 혹은 뎁스 센싱 모듈이 두 시점 사이에 이동한 거리 정보를 반영하는 것을 의미한다. 그리고 제어부(150)는 새로이 생성한 D2'를 제2뎁스 셀의 뎁스 값으로 설정한다.
도 16은 본 발명의 일 실시예에 의한 센싱 데이터 필터링부가 필터링 영역을 식별하는 과정에서 외부광의 특성 정보를 이용하는 과정을 보여주는 도면이다. 전술한 바와 같이 광정보 제공부(140)는 맵 저장부(141), 그리고 광원주기정보부(145), 컨텍스트부(147)를 포함하며, 센싱 데이터 필터링부(120)는 현재 위치에서의 빛의 영향을 분석하여 필터링 영역을 식별할 수 있다.
제어부(150)는 광정보 제공부(140)에 저장된 상기 외부광의 특성 정보를 추출한다(S71). 뎁스 센싱 모듈(100) 또는 로봇(1000)의 현재 위치에서 주변에 조명이 있는지를 맵 저장부(141)에서 확인하는 것을 일 실시예로 한다. 또한 뎁스 센싱 모듈(100)의 전방에 창과 같이 외부의 빛을 투과하는 재질의 고정 객체가 있는지를 맵 저장부(141)에서 확인할 수 있다.
또한, 보다 정밀하게는 조명 또는 햇빛과 같은 외부광이 현재 발생하고 있는지를 제어부(150)가 광원주기정보부(145)와 컨텍스트부(147)를 통해 확인할 수 있다. 뿐만 아니라 광센싱부(111)를 이용하여 주변에 강한 외부광이 존재하는지를 확인할 수 있다. 확인 결과, 제어부(150)는 외부광이 존재하는지에 대한 정보 또는 외부광의 세기에 대한 정보를 산출할 수 있으며, 외부광의 세기에는 바닥 혹은 벽의 재질의 반사도까지 반영하여 제어부(150)가 산출할 수 있다.
즉, 높은 조도의 조명이 천장에 배치되어도 바닥의 빛 반사도가 매우 낮은 경우라면 바닥 쪽 방향으로는 외부광에 의한 뎁스 정보의 영향이 낮을 것이므로, 제어부(150)는 외부광의 발생 가능성을 낮추어서 센싱 데이터 필터링부(120)에 제공할 수 있다.
반면, 낮은 조도의 조명이 천장에 배치되어도 바닥의 빛 반사도가 매우 높은 경우라면, 바닥쪽 방향에 외부광에 의한 뎁스 정보의 영향이 높을 것이므로 제어부(150)는 외부광의 발생 가능성을 높여서 센싱 데이터 필터링부(120)에 제공할 수 있다. 따라서, 도 16과 같은 과정에서 외부광의 특성 정보를 반영하여 센싱 데이터 필터링부(120)는 외부광에 의한 필터링 영역을 식별할 수 있다.
도 17은 본 발명의 일 실시예에 의한 로봇의 이동 과정에서 센싱된 외부광 정보들을 업데이트하는 과정을 보여주는 도면이다. 업데이트는 기존에 저장된 외부광의 특성 정보를 변경하거나, 혹은 새로이 외부광 특성 정보를 추가하거나, 혹은 기저장된 외부광 특성 정보를 삭제하는 작업을 모두 포함한다.
뎁스 센싱 모듈(100) 또는 로봇(1000)은 광센싱부(111)를 포함한다. 광센싱부(111)는 뎁스 센싱 모듈(100)과 독립하여 로봇(1000)의 구성 요소가 될 수 있다.
로봇 제어부(900)는 로봇(1000)의 이동 과정에서 광센싱부(111)가 센싱한 외부광의 세기 또는 외부광의 온오프 시점이 광정보 제공부(140)에 저장된 외부광의 특성 정보를 비교한다(S81). 비교한 결과 상이한 경우(S82) 광정보 제공부(140)에 외부광의 세기 또는 온오프 시점에 대한 정보를 변경하여 저장한다(S83).
본 발명의 다른 실시예에서 S82에서 상이한 경우에 무조건 광정보 제공부(140)에 센싱된 외부광의 특성 정보를 저장하는 방안 대신에 로봇 제어부(900)는 임시로 실시간 센싱된 외부광의 특성 정보를 저장한 후, 광정보 제공부(140)에 변경하여 저장할 만큼 충분히 규칙성을 가지는 것으로 데이터가 누적된 경우에 임시로 저장된 외부광의 특성 정보를 광정보 제공부(140)에 저장할 수 있다.
본 발명의 실시예들을 적용할 경우, 뎁스 센싱 모듈(100)의 뎁스 카메라부(110)를 구성하는 센서들, 예를 들어 적외선(IR) 센서가 실외에서 사용하거나 햇빛 또는 조명이 많이 유입되는 공간에서 사용되거나 혹은 햇빛이 반사되는 환경에서 뎁스 값을 왜곡하여 센싱하는 경우에 이를 필터링하여 정상적인 뎁스 정보를 산출할 수 있도록 한다.
특히, 공항, 학교, 병원, 고속버스 터미널, 기차역 등과 같이 개방된 대면적에는 창문이 많고 조명 또한 다수 배치되므로, 빛이 반사 또는 투과되어 뎁스 카메라부(110)로 빛들이 들어와 영향을 주는 경우가 많다. 이러한 환경에서 본 발명을 적용할 경우 뎁스 카메라(110)가 영향을 받는 뎁스 값들을 분석하여 빛에 의해 왜곡된 뎁스 값들을 필터링하여 가비지 값을 식별할 수 있다.
특히, 본 발명의 실시예에 의한 광정보 제공부(140)은 시간 및 장소, 그리고 컨텍스트 별로 조명이나 햇빛 등 외부광의 발생 여부에 대한 정보를 제공하므로, 뎁스 값을 필터링할 것인지 그대로 사용할 것인지를 외부광의 상태에 적합하게 선택할 수 있다.
다음으로 외부광의 상태에 따라 영상 제어를 달리 적용하는 실시예에 대해 도 18 내지 도 30에서 살펴본다.
본 명세서에서 영상 취득 모듈이 결합하는 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
도 18은 본 발명의 일 실시예에 의한 센싱 모듈의 구성요소를 보여주는 도면이다. 센싱 모듈(2100)은 모듈이 탑재된 장치, 예를 들어 로봇이 이동하는 공간에서 사물의 영상 정보를 센싱하는 장치를 의미한다. 센싱 모듈(2100)은 사물의 뎁스 영상 정보(뎁스 정보)를 센싱하여 사물의 거리를 산출하는 뎁스 카메라부(2110)와 사물의 색상(RGB, Red/Green/Blue) 영상 정보(색상 정보)를 센싱하여 사물의 형상을 산출하는 비전 카메라부(2120) 중 어느 하나 이상을 포함한다.
비전 카메라부(2120)는 주변의 객체들의 이미지를 촬영할 수 있다. 특히, 고정 객체와 같이 변화가 많지 않은 이미지와 이동 객체가 배치된 이미지를 비전 카메라부(2120)가 센싱할 수 있으며, 그 결과 이동하는 객체를 식별할 수 있다. 예를 들어 일정한 시간을 두고 비전 카메라부(2120)에서 생성한 색상 정보들을 비교하여 특정한 형상을 가지는 사물의 이동을 센싱 모듈(2100)이 확인할 수 있다.
조도 센싱부(2130)는 외부광을 센싱한다. 외부광의 조도를 센싱하며, 뎁스 카메라부(2110) 또는 비전 카메라부(2120) 중 어느 하나 이상의 카메라부가 영상을 센싱하는 방향의 조도를 센싱할 수 있다. 일 실시예로 햇빛과 같이 강한 빛을 센싱할 수 있다. 센싱 모듈(2100)이 뎁스 영상 또는 색상 영상을 센싱하는 과정에서 태양과 같은 외부광에 의해 뎁스 또는 색상의 왜곡이 발생할 경우 뎁스 정보에 기반한 외부 사물에 대한 거리나 색상에 기반한 특징점 추출에 오류가 발생할 수 있다. 따라서 조도 센싱부(2130)는 센싱한 광의 세기(조도) 혹은 그 외 특성을 센싱하여 이를 후술할 로봇(2000)의 제어부(2900)에게 제공한다.
후술할 도 19의 제어부(2900)는 영상 제어 활성화 여부에 따라 뎁스 카메라부(2110)가 센싱한 뎁스 정보에서 필터링할 영역을 식별한다. 또는 제어부(2900)는 영상 제어 활성화 여부에 따라 비전 카메라부(2120)가 센싱한 색상 정보를 비교하여 필터링할 영역을 식별하거나 피쳐셋(feature set)을 선택한다. 영상 제어 활성화 여부는 제어부(900)에 의해 설정되는데, 앞서 조도 센싱부(2130)가 센싱한 외부광의 크기에 따라 활성화 될 수 있다. 또는 제어부(2900)가 취득한 비광학적 정보에 따라 필터링이 활성화될 수 있다. 비광학적 정보는 현재 시각, 계절과 같은 시간 정보, 센싱 모듈(2100)을 포함하는 로봇의 현재 위치와 같은 위치 정보, 그리고 외부에 사물이 다수의 센싱부들(제1~제N센싱부)(2181~2189)이 센싱되었는지 여부에 대한 정보, 즉 사물 정보를 포함한다.
저장부(2150)는 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 센싱한 영상 정보들(뎁스 정보, 색상 정보)를 저장한다.
그 외 센싱 모듈(2100)은 다수의 센싱부들(제1~제N센싱부)(2181~189)을 포함한다. 센싱부들의 예로 초음파 센싱부, 라이다 센싱부, 적외선 센싱부, 열감지 센싱부, 클리프 센싱부를 포함한다. 이들은 센싱 모듈(2100)이 배치된 로봇의 주변의 사물을 초음파, 레이저, 적외선 등을 이용하여 센싱한다.
이들 센싱부들(2181~2189)는 외부의 객체들을 센싱하여 센싱한 정보를 센싱 제어부(900)에게 제공한다. 일 실시예로 라이다 센싱부는 현재 위치에서 벽, 유리, 금속성 문 등 외부 객체들의 재질과 거리를 신호의 강도(intensity)와 반사된 시간(속도)로 산출할 수 있다. 초음파 센싱부는 일정 거리 내에 배치된 객체들의 존재 여부를 센싱할 수 있다. 이들 센싱부들(2181~2189)은 맵을 생성하거나 외부 객체를 센싱하는데 필요한 보조적인 센싱 정보를 제공한다. 또한, 이들 센싱부들(2181~2189)은 로봇이 주행함에 있어 외부에 배치된 객체를 센싱하여 정보를 제공한다.
제어부(2900)는 센싱부들(2181~2189)이 센싱된 거리 정보를 뎁스 카메라부(2110) 또는 비전 카메라부(2120)에 제공하여 뎁스 정보 또는 색상 정보를 필터링 하는 과정에서 참조할 수 있도록 한다. 예를 들어, 5미터 이내에 사물이 존재하지 않는 것으로 센싱부들(2181~189)이 센싱 제어부(2190)에게 센싱 정보를 제공하고 제어부(900)가 이러한 정보를 뎁스 카메라부(2110) 또는 비전 카메라부(2120)에게 제공할 수 있다.
5미터 이내에 사물이 존재하지 않는 센싱 정보를 취득한 뎁스 카메라부(2110)는 센싱한 뎁스 정보에 5미터 이내의 뎁스 값(뎁스 영상 정보에서 특정 픽셀의 뎁스값)이 센싱되면 해당 뎁스 셀이 외부광에 의해 왜곡된 것인지 여부를 확인하여 필터링할 수 있다.
마찬가지로, 5미터 이내에 5미터 이내에 사물이 존재하지 않는는 센싱 정보를 취득한 비전 카메라부(2120)는 센싱한 영상 정보에 특정한 형상의 색상 값이 센싱되면 해당 색상 셀이 외부광에 의해 왜곡된 것인지 여부를 확인하여 이를 포함하는 피쳐셋을 저장하여 SLAM(Simultaneous localization and mapping) 을 수행할 수 있다.
제어부(2900)는 각 센싱부들 및 카메라부들(2110, 2120)이 센싱한 정보들을 분석한다. 예를 들어 다수의 센싱부들에 의해 로봇의 주변에 배치된 객체가 감지될 경우, 해당 객체의 특성과 거리에 대한 정보를 각각의 센싱부가 제공할 수 있다. 제어부(2900)는 이들의 값을 조합하여 산출하고 이에 기반하여 카메라부들(2110, 2120)이 센싱한 값의 정확도에서 오류가 발생하였는지를 확인할 수 있다. 만약, 누적하여 카메라부들(2110, 2120)의 센싱한 값에서 오류가 발생하면 필터링이 필요한 것으로 제어부(2900)가 확인할 수 있다. 이는 도 30에서 살펴본다.
도 19는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(2000)은 앞에서 살펴본 센싱 모듈(2100)을 포함한다. 그 외의 구성요소로 로봇이 이동하는 공간에 배치되는 사물들의 정보를 포함하는 맵 저장부(2200), 로봇(2000)을 이동시키는 이동부(2300)와 특정한 기능을 수행하는 기능부(2400), 그리고 통신부(2500)가 제시된다.
도 19는 로봇의 구성을 계층적으로 구성하고 있으나, 이는 로봇의 구성요소들을 논리적으로 나타낸 것에 의해서이며, 물리적 구성은 이와 다를 수 있다. 하나의 물리적 구성요소에 다수의 논리적 구성요소가 포함되거나, 다수의 물리적 구성요소가 하나의 논리적 구성요소를 구현할 수 있다. 또한, 반드시 도 19의 계층이 유지될 필요는 없으며 통상의 기술자가 이를 자유로이 변경할 수 있다.
이동부(2300)는 바퀴와 같이 로봇(2000)을 이동시키는 수단으로, 제어부(2900)의 제어에 따라 로봇(2000)을 이동시킨다. 이때, 제어부(2900)는 맵 저장부(2200)에 저장된 영역에서 로봇(2000)의 현재 위치를 확인하여 이동부(2300)에 이동 신호를 제공할 수 있다. 제어부(2900)는 맵 저장부(2200)에 저장된 다양한 정보들을 이용하여 경로를 실시간으로 생성하거나 혹은 이동 과정에서 경로를 생성할 수 있다.
기능부(2400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(2400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(2400)는 안내에 필요한 구성요소를 포함한다. 보안 로봇인 경우 기능부(2400)는 보안에 필요한 구성요소를 포함한다.
기능부(2400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다. 통신부(2500)는 로봇이 취득한 정보를 외부의 서버 또는 다른 로봇들에게 전송하거나 혹은 전술한 서버 또는 다른 로봇으로부터 정보를 수신하는 기능을 제공한다.
특히, 통신부(2500)는 현재 날씨에 대한 정보를 외부의 장치들로부터 수신하여 햇빛과 같은 강한 외부광이 발생하는 조건인지를 확인하여 이를 제어부(2900)에게 제공하고 제어부(2900)는 외부광의 발생 조건을 센싱 모듈(2100)에게 제공하여 필터링에 적용할 수 있도록 한다.
로봇(2000)의 제어부(2900)는 맵 저장부(2200)의 맵을 생성하거나 업데이트할 수 있다. 또한, 제어부(2900)는 주행 과정에서 센싱 모듈(2100)이 제공하는 센싱 정보를 취합하여 로봇의 이동 경로를 제어할 수 있다. 즉, 제어부(2900)는 센싱 모듈(2100)에서 센싱된 뎁스 영상 및 색상 영상과 거리 정보 등에 기반하여 로봇 주변의 객체를 확인하여 로봇(2000)의 이동 경로를 제어한다.
도 18 및 도 19의 구성에 기반하여 로봇을 살펴보면, 센싱 모듈(2100)은 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 영상을 센싱하는 방향의 조도를 센싱한다. 센싱 모듈(2100)은 조도의 센싱을 위해 조도 센싱부(2130)를 더 포함할 수 있다.
맵 저장부(2200)는 로봇이 이동하는 공간에 배치되는 객체의 정보를 저장한다. 벽, 문과 같이 고정된 객체들의 정보를 저장하는 고정맵(2210), 그리고 선택적으로 광원정보부(2220)를 더 포함할 수 있다. 광원정보부(2220)는 천정 혹은 벽 등에 별도의 조명이 배치되거나 혹은 천정의 창을 통해 로봇이 빛을 받는 경우에는 창의 위치 혹은 창의 특성 등에 대한 정보를 저장한다. 일 실시예로 광원이 센싱되는 위치와 광원의 세기(조도) 등을 적용할 수 있다.
제어부(2900)는 센싱 모듈(2100)이 센싱한 조도와 맵 저장부(2200)의 객체의 정보와 로봇의 위치와 시간 정보를 조합하여 뎁스 카메라부(2110) 또는 비전 카메라부(2120)의 필터를 적용한다. 일 실시예로 조도 센싱부(2130)가 센싱한 조도가 일정 수준이상 높은 경우에는 제어부(2900)가 센싱 모듈(2100)을 제어하여 카메라부들(2110, 2120)이 센싱한 영상 정보를 저장하여 필터링하거나 피쳐셋을 선택하도록 뎁스 카메라부(2110), 비전 카메라부(2120) 및 저장부(2150)를 제어할 수 있다.
정리하면, 제어부(2900)는 조도 센싱부가 센싱한 조도와 맵 저장부에 저장된 객체의 정보 또는 센싱 모듈이 센싱한 객체의 정보와 로봇의 위치 정보와 시간 정보 중 어느 하나 이상을 조합하여 뎁스 카메라부 또는 비전 카메라부의 영상 제어 활성화를 설정한다. 여기서 조합하여 영상 제어 활성화를 설정하는 이유는 조도 센싱부가 센싱한 조도가 정확한지를 확인하기 위함이다.
도 19에 미도시되었으나, 각 지점에서 로봇이 비전 카메라부(2120)를 이용하여 촬영한 영상에서 피쳐셋을 추출하여 저장할 수 있다. 고정맵(2210)의 위치에 대응하여 특정 위치에서 촬영한 피쳐셋을 위치 별(셀 별)로 하나 이상 저장할 수 있는데, 이 과정에서 외부광의 조도가 클 경우 외부광이 반영된 피쳐셋을 별도로 고정맵(2210)에 저장할 수 있다. 그 결과 동일한 셀에서 취득할 수 있는 피쳐셋이 둘 이상이며 외부 조도의 상태에 따라 SLAM을 수행하기 위해 피쳐셋을 선택하거나 혹은 저장할 수 있다.
도 18 및 도 19와 같은 구성에 기반하여 로봇은 실외 혹은 건물 외부의 밝기 변화가 그대로 반영되는 건물 내에서 이동하는 과정에서 정확하게 사물을 식별할 수 있다. 뎁스 카메라부(2110) 또는 비전 카메라부(2120)는 외부의 빛에 의한 정확도를 유지하기 위해 조도 센싱부(2130)와 현재 시각에 대한 정보와 계절에 대한 정보, 로봇의 위치에 대응한 광원들의 위치 혹은 사물들의 위치 정보를 융합하여 정확하게 뎁스 정보 및 색상 정보를 생성하거나 혹은 외부의 빛의 세기를 반영한 뎁스 정보 또는 색상 정보를 생성할 수 있다.
본 발명의 맵 저장부의 구성은 앞서 도 6에서 살펴본 바와 동일하게 적용될 수 있다. 다만, 맵저장부(220)및 고정맵(2210)과 광원정보부(2200)의 구성을 적용할 경우 도 20과 같이 맵저장부(2200a) 내에 구성된다.
도 20은 본 발명의 일 실시예에 의한 맵 저장부의 구성을 보여주는 도면이다.
맵 저장부(2200)는 일종의 비트맵과 같은 고정맵(2210) 및 광원정보부(2220)를 통합하여 도 20과 같이 저장할 수 있다. 맵 저장부(2200)는 도 20과 같은 비트맵의 정보를 다수 저장할 수 있으며, 이 과정에서 시간에 따른 고정맵/광원정보부도 누적하여 저장할 수 있다. 이미지 파일의 비트맵에서 각 비트가 하나의 단위 영역을 나타내도록 구성할 수 있다. 각 단위 영역은 좌측 하단을 (0, 0)으로, 우측 상단을 (19, 19)로 지시할 수 있다. 또한, 도 20의 2200a은 20x20 구조의 데이터 구조를 가질 수 있다. 예를 들어, 각 위치에 대해 객체가 배치되는지 여부에 대한 정보를 포함할 수 있다. 일종의 행렬과 같이 정보를 배치하고, 고정 객체가 배치되는 경우에는 해당 행렬의 값을 미리 설정된 값으로 설정할 수 있다.
또한, 맵 저장부(2200a)는 고정 객체들이 가지는 빛의 반사 혹은 투과 속성에 대한 특성 정보를 저장할 수 있는데, 객체에 대한 특성 정보는 범주로 분류하여 구분하여 맵 저장부(2200a)에 저장될 수 있다. 도 20의 맵 저장부(2200a)에서 검은 색으로 표시된 부분은 빛의 반사도(reflective)의 값이 10으로 빛의 반사도가 낮은 속성의 객체임을 보여준다.
그 외 2212로 지시되는 고정 객체는 빛의 반사도가 30으로 외부광을 30%로 반사함을 보여준다. 2213a, 2213b로 지시되는 고정 객체는 빛의 반사도가 70으로 외부광을 70%로 반사함을 보여준다. 고정 객체의 빛의 반사도에 대한 범주는 다양하게 설정될 수 있으며, 본 발명이 이들에 한정되는 것은 아니다.
한편, 고정객체들 사이에 T와 숫자로 결합된 부분은 빛의 투과도를 보여준다. 예를 들어, 2211a에서 지시하는 "T9"는 빛을 90% 이상 투과시키는 투명 재질의 고정객체, 예를 들어 투명한 유리창이 배치되는 것을 지시한다. 그 결과 태양이 떠오르는 시간 및 해당 방향에서 2211a의 주변으로 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 이동할 경우, 햇빛이 뎁스/색상 정보의 산출에 영향을 미치는 것을 제어부(2900)가 확인할 수 있다.
2211b에서 지시하는 "T5"는 빛을 50% 투과시키는 반투명 재질의 고정객체, 예를 들어 반투명한 유리창이 배치되는 것을 의미한다.
맵 저장부(2200a)에 L1 또는 L3는 천장에서 빛이 들어올 수 있는 공간 또는 조명이 배치된 지점에 표시된다. L1 또는 L3와 같은 것은 천장의 창문 혹은 조명들을 그룹핑 지은 라벨링이 될 수 있으며, 일 실시예로 조명의 조도가 되거나 창문의 투과도에 의한 빛의 세기 혹은 특정한 범주의 조명들의 그룹명이 될 수 있다.
L1, L3 등이 천장의 창문을 통해 유입되는 햇빛의 세기 또는 조명의 조도를 나타낼 경우, 이들을 범주화시켜 나눌 수 있는데, 일 실시예로 1~5 까지 범주화 시킬 수 있으며, 도 20의 실시예는 "1"이라는 범주에 해당하는 세기의 외부광(L1)과 "3"이라는 범주에 해당하는 세기의 외부광(L3)이 표시된 것으로 볼 수 있다.
일 실시예로 천장이 투명한 유리인 경우에는 빛의 투과도가 높은 것으로 그룹핑할 수 있고, 천장이 불투명한 유리인 경우에는 빛의 투과도가 낮은 것으로 그룹핑할 수 있다.
또다른 실시예로, 외부광의 세기 또는 조명의 조도 외에도 조명들을 그룹핑 지어서 범주화시킬 수도 있다. 예를 들어, 동시에 켜지거나 꺼지는 조명들을 그룹핑하여 이들을 범주화 시켜서 L1, L2 와 같이 라벨링할 수 있다.
L1, L3 등이 천장의 창문을 통해 유입되는 햇빛의 세기 또는 조명의 그룹을 나타내거나 조명의 조도를 나타내는 등 외부광의 특정한 정보를 제공하는 반면, 보다 상세한 외부광의 정보, 예를 들어, 햇빛이 비치는 시간이나 햇빛이 비치는 컨텍스트(날씨, 위도, 경도 등) 조명들이 켜지고 꺼지는 온오프 주기 혹은 온오프하는 컨텍스트(특정 공간에서 불이 켜지는 조건 등)에 대한 정보는 맵 저장부(2200) 등에 저장될 수 있다.
도 20에서 바닥의 재질이 빛을 반사하는 정도에 대한 정보도 맵 저장부(2200)에 저장될 수 있는데, 예를 들어, 앞서 표1과 같이 맵 저장부(200a)의 특정한 영역 별로 바닥의 빛의 반사도에 대한 정보를 저장할 수 있다.
앞서 표 1에서는 (0, 0)을 좌하단 영역, (19, 19)를 우상단 영역으로 하는 바닥의 빛 반사가 "50"이라는 범주에 해당함을 보여준다. 이는 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 센싱된 뎁스 값을 필터링하거나 피쳐셋을 선택하는 과정에서 바닥에서 빛이 반사될 수 있다는 정보를 반영할 수 있다. 이와 달리 공간을 세분화하여 앞서 표 2와 같이 바닥의 반사 정보를 제시할 수 있다.
로봇은 앞서 표 2에서 첫번째 영역((0, 0) ~ (19, 10))으로 이동할 경우에는 반사도가 50이라는 정보를 반영하여 천장의 조명의 반사 정도가 50에 대응하는 범주에 속하는 공간에서 뎁스 정보를 필터링하거나 색상 정보의 피쳐셋을 선택할 수 있다. 또한, 두번째 영역((0, 11)~(19, 19))으로 이동할 경우에는 반사도가 20이라는 정보를 반영하여 천장의 조명의 반사 정도가 20에 대응하는 범주에 속하는 공간에서 뎁스 정보를 필터링하거나 색상 정보의 피쳐셋을 선택할 수 있다.
전술한 로봇의 구성을 적용할 경우, 주변환경의 밝기 변화에 따라 뎁스 카메라부(2110) 및 비전 카메라부(2120)의 운용 방식을 변경하여 보다 정확한 뎁스/색상 정보를 산출할 수 있다. 특히, 공항, 터미널, 항만, 또는 학교와 실외 등에서 이동하는 로봇이 영상을 센싱하는 과정에서 통유리로 되어 있거나 빛이 많은 건물 구조 혹은 실외의 환경으로 인해 밝기의 변화에 따라 센싱에 영향을 받는다.
특히, 본 발명을 적용하면, 뎁스 카메라부(2110)의 경우, 햇빛에 반사된 구조물을 장애물로 오인식 하는 경우를 방지할 수 있다. 이는 뎁스 카메라부(2110)에 필터링을 적용하여 뎁스 정보의 센싱 정확도를 높일 수 있다.
또한, 비전 정보, 즉 색상(RGB) 정보를 생성하는 비전 카메라부(2120)의 경우, 카메라로 보이는 특징점을 피쳐(Feature)로 저장하여 위치 인식을 수행할 수 있다. 이를 비전 슬램(Vision SLAM)이라 한다. 그런데 비전 슬램 과정에서 주변의 밝기에 따라 이 피쳐가 동일한 장소임에도 다르게 검출될 수 있으므로, 주변의 밝기에 따라 특징점을 따로 저장하는 것이 필요하다.
따라서, 본 발명을 적용하면 현재 시간이나 계절 정보, 또는 로봇의 위치 정보, 외부의 장애물인 객체 정보 등을 조합하여 조도 센싱부(2130)가 센싱한 값을 이용하면 뎁스 카메라부(2110)의 필터링 유무를 정확하게 판별할 수 있으며, 비전 슬램에서의 피쳐셋을 선택할 수 있어 로봇이 오류나 지연 없이 이동할 수 있다.
도 21는 본 발명의 일 실시예에 의한 위치 정보를 이용하여 광원과 거리 및 센싱된 조도값을 이용하여 영상 제어 활성화를 수행하는 과정을 보여주는 도면이다.
로봇의 제어부(2900)는 로봇의 현재 위치를 기준으로 배치된 광원들 또는 반사되는 빛이 존재하는지 여부를 확인하여 센싱된 조도의 정확도를 증감시킬 수 있다. 여기서 광원은 천장 혹은 벽에 배치된 창을 투과하는 태양광을 포함한다. 조도가 센싱한 빛이 Lum_01이며 로봇의 주변에 배치된 창문을 통한 빛 또는 조명 등을 포괄하는 광원들이나 반사로 인해 발생할 수 있는 빛이 Lum_01와의 오차 범위내에 있는 경우, 센싱된 조도가 정확한 것으로 판단한다.
그 결과 조도 데이터와 위치 정보를 융합하여 영상 제어를 수행할 수 있다.
보다 상세히 살펴보면, 제어부(2900)는 맵 저장부(2200)에 저장된 광원의 위치 정보와 로봇의 위치 정보를 비교하여 조도 예측값을 산출한다(S241). 조도 예측값은 로봇이 해당 위치에서 받을 수 있는 빛의 영향을 의미하며 예를 들어 광원의 빛의 세기(조도) 및 광원과 로봇 사이의 거리에 따라 산출할 수 있다. 만약 조도가 강하며 로봇이 광원에 인접한 경우에는 조도 예측값은 증가한다. 반면, 조도가 강하지만 로봇의 뎁스 카메라부 또는 비전 카메라부의 영상 센싱 방향과 광원(창문, 조명 등)의 위치가 상이한 경우에는 조도 예측값은 감소한다. 영상 센싱 방향과 광원의 위치를 비교하여 제어부(2900)는 로봇이 받을 수 있는 조도의 영향을 보다 정확하게 예측한다. 조도 예측값은 광원의 조도보다 클 수 없으며 광원과 로봇의 거리에 따라 감소할 수 있다.
다음으로 제어부(2900)가 조도 예측값과 조도 센싱부(2130)가 센싱한 조도값을 비교한다(S242). 예를 들어 센싱한 조도값과 조도 예측값의 차이가 미리 설정된 기준 이상의 값을 가지는 경우인지 확인한다. 확인 결과 전술한 차이가 기준 이상의 값을 가지는 경우 외부에 또다른 광원이 배치되거나 혹은 광원의 조도가 증가하는 등의 원인으로 인해 강한 외부광이 배치된 것으로 판단하고 영상 제어를 활성화시킨다(S243). 그 결과 뎁스 카메라부(2110)는 필터링을 수행할 수 있으며, 비전 카메라부(2120)는 취득한 영상에서 별도의 피쳐셋을 선택할 수 있다.
한편, 조도 예측값과 센싱한 조도값의 비교 결과 미리 설정된 기준 이하의 값을 가지는 경우 이는 원래 예측 보다 실제 측정된 조도가 낮은 것이므로 지속적으로 조도 센싱값을 누적할 수 있다. 특히 이미 영상 제어가 활성화된 경우에 센싱한 조도값이 낮은 경우라면 제어부(2900)는 영상 제어를 비활성화할 수 있다(S245).
한편, 제어부는 조도 예측값과 센싱한 조도값의 비교 결과 두 값의 차이가 일정 범위 내에 속할 경우, 센싱한 조도값은 모두 특정한 광원으로부터 발생한 것으로 판단하여 영상 활성화 과정에서 광원의 위치 정보를 적용할 수 있다.
도 22는 본 발명의 일 실시예에 의한 로봇과 광원과의 거리에 따라 조도 예측값을 산출하는 과정을 보여주는 도면이다. 도 22는 로봇이 이동하는 공간을 축약하여 보여준다. L1은 제1카테고리에 속하는 광원이 배치됨을 보여준다. R1의 위치의 로봇은 좌측 화살표 방향으로 이동하고 있다. R1이 좌측으로 이동하므로 두 개의 광원은 R1 로봇의 후면에 배치되어 있다. 따라서 R1의 위치에서 로봇이 센싱한 조도값은 L1으로부터 영향을 받지 않는 방향이다.
만약 로봇의 제어부(2900)가 조도를 센싱한 결과 로봇의 주변에 광원이 배치되어 있으나 로봇의 진행 방향이 아닌, 즉 영상을 취득하는 방향이 아닌 경우에는 로봇이 센싱한 조도값이 일정 수준 이상 높을 경우에만 새로운 광원으로부터 빛을 받은 것으로 확인한다. 반면, 센싱한 조도값이 조도 예측값과 동일하거나 낮으며 영상 제어를 활성화하는 기준이 되는 조도 기준값과 비교할 때 센싱한 조도값이 낮은 경우에 제어부(2900)는 센싱한 조도를 반영하지 않고 영상을 취득할 수 있다.
한편, R2의 위치에서 로봇은 광원이 배치된 방향, 즉 상측으로 이동 중이다. 이동 과정에서 로봇은 조도를 센싱하며 이동 방향에 배치된 광원의 빛의 세기를 센싱한 조도값이 조도 예측값과 동일하거나 혹은 그보다 높을 수 있다. 이 경우, 로봇의 제어부(2900)는 새로운 광원에 의해서 센싱한 조도값이 높은 경우이거나 또는 기존의 광원에 의해 예측된 조도값을 반영하여 영상 제어를 활성화시킬 수 있다. 앞서 살펴본 바와 같이, 뎁스 카메라부(2110)는 필터링을 수행할 수 있으며, 비전 카메라부(2120)는 취득한 영상에서 높아진 조도값을 반영하여 별도의 피쳐셋을 선택할 수 있다.
만약, R2의 위치에서 센싱한 조도가 조도 예측값보다 매우 낮은 경우 이는 해당 광원이 동작하지 않는 것으로 확인할 수 있다. 제어부(2900)는 센싱한 조도값은 맵 상에서 지속적으로 누적하여 각 영역에서의 조도값을 별도로 저장할 수 있다. 센싱한 조도값의 누적된 저장은 추후 광원 정보를 업데이트하거나 또는 뎁스 카메라부(2110)/비전 카메라부(2120)가 필터링/피쳐셋 선택을 수행함에 있어 정보를 제공한다.
한편 R3의 위치는 광원을 향해 이동 중이지만 R2와 달리 광원과의 거리가 이격되어 있다. 따라서 R3 위치에서 로봇의 제어부(2900)는 방향의 변화가 없을 경우 센싱되는 조도값이 점진적으로 증가하는 것으로 추적한다. 이 과정에서 갑자기 센싱된 조도값이 증가하면 새로운 광원이 등장한 것으로 제어부(2900)가 확인하고, 영상 제어를 활성화시킬 수 있다.
예를 들어, 도면에서 "New"로 표시된 영역에서 새로운 광원이 발생할 수 있다. 이동하는 사람들이 후레쉬를 터트리거나 또는 새로운 광원을 배치할 수 있다. 제어부(2900)는 L1 광원과의 거리에 기반하여 조도 예측값이 증가할 것으로 예상한 상태에서 새로운 광원의 등장으로 조도 센싱부(2130)가 센싱한 조도값이 크게 증가하는 경우, 제어부는 영상 제어 활성화를 설정할 수 있다.
정리하면 제어부(2900)는 광원(L1)과의 거리가 증가함에 대응하여 조도 예측값을 증가시킨다. 1씩 증가시키는 상황에서 조도 센싱부(2130)가 조도 예측값이 증가하는 비율보다 큰 조도값을 센싱한 경우가 발생한다. 예를 들어 조도 예측값은 10->11->12 와 같이 증가하는 것으로 제어부(2900)가 예측했으나 새로운 광원으로 인해 20이라는 값이 조도값으로 센싱되면 제어부(2900)는 빛의 변화가 발생한 것으로 확인하고 영상 제어 활성화를 설정한다. 예를 들어, 제어부(2900)는 영상 제어를 활성화시키며, 뎁스 카메라부(2110)는 필터링을 수행할 수 있으며, 비전 카메라부(2120)는 취득한 영상에서 높아진 조도값을 반영하여 별도의 피쳐셋을 선택할 수 있다.
전술한 실시예는 특히 태양광에 대해서만 필터링/피쳐셋 선택을 수행할 경우에 적합하다. 다른 조명과 태양광을 비교하여 조명이 비록 일정 수준 이상 밝은 경우라하여도 태양광만큼 강하지 않다면 로봇은 별도의 필터링/피쳐셋 선택 과정을 수행하지 않도록 구성할 수 있다.
도 23은 본 발명의 일 실시예에 의한 시간 정보와 센싱된 조도값을 이용하여 영상 제어 활성화를 수행하는 과정을 보여주는 도면이다.
도 21 및 도 22는 광원의 위치, 예를 들어 태양광이 투과하는 창이나 강한 조명의 위치에 기반하여 조도 센싱부(2130)가 센싱한 조도의 정확도를 보완하여 필터링 또는 피쳐셋 선택/저장을 센싱 모듈이 수행하였다. 도 23은 조도 센싱부가 센싱한 조도값과 현재 시각에서 예측 가능한 조도값(조도 예측값)을 비교하여 센싱된 조도가 더 높을 경우에 영상 제어 활성화를 수행할 수 있다.
일 실시예로 제어부(2900)는 현재 시각에 따라 혹은 현재의 계절 정보, 또는 날씨 정보에 기반하여 조도 예측값을 산출한다. 계절 정보는 제어부(2900) 내의 별도의 메모리에 저장될 수 있으며, 각 계절별로 빛의 세기, 즉 조도값을 데이터베이스로 저장할 수 있다. 또한, 통신부(2500)가 실시간으로 수신하는 날씨 정보에 기반하여 제어부(2900)는 조도 예측값을 산출할 수 있다.
따라서, 제어부(2900)는 현재 외부의 태양광의 세기를 예측할 수 있는 다양한 정보들(현재 시각 정보, 계절 정보, 날씨 정보 등)에 기반하여 조도 예측값을 산출한다(S251). 조도 예측값은 현재 시각을 기준으로 계절별, 날씨의 상황 등을 반영하여 로봇이 받을 수 있는 빛의 영향을 의미한다. 만약 태양광이 강한 시간이라면 조도 예측값은 증가한다. 반면, 조도가 강하지만 로봇의 뎁스 카메라부 또는 비전 카메라부의 영상 센싱 방향과 창문 또는 조명 등의 광원의 위치가 상이한 경우에는 조도 예측값은 감소한다. 영상 센싱 방향과 광원의 위치를 비교하여 제어부(2900)는 로봇이 받을 수 있는 조도의 영향을 보다 정확하게 예측한다. 조도 예측값은 광원의 조도보다 클 수 없으며 광원과 로봇의 거리에 따라 감소할 수 있다.
다음으로 제어부(2900)가 조도 예측값과 조도 센싱부(2130)가 센싱한 조도값을 비교한다(S252). 예를 들어 센싱한 조도값과 조도 예측값의 차이가 미리 설정된 기준 이상의 값을 가지는 경우인지 확인한다. 확인 결과 전술한 차이가 기준 이상의 값을 가지는 경우 새로운 광원이 배치되거나 혹은 태양광의 세기가 증가하는 것으로 판단하고 영상 제어를 활성화시킨다(S253). 그 결과 뎁스 카메라부(2110)는 필터링을 수행할 수 있으며, 비전 카메라부(2120)는 취득한 영상에서 별도의 피쳐셋을 선택할 수 있다.
한편, 조도 예측값과 센싱한 조도값의 비교 결과 미리 설정된 기준 이하의 값을 가지는 경우 이는 원래 예측 보다 실제 측정된 조도가 낮은 것이므로 지속적으로 조도 센싱값을 누적할 수 있다. 예를 들어, 이미 영상 제어가 활성화된 경우에 센싱한 조도값이 낮은 경우라면 제어부(2900)는 영상 제어를 비활성화할 수 있다(S255).
제어부(2900)는 날씨 정보와 계절 정보, 그리고 시각 정보는 가중치를 부여하여 우선 순위에 따라 선택할 수 있다. 예를 들어, 계절 정보와 시각 정보에 따라 태양이 뜨지 않는 시점에는 조도 센싱부(2130)가 센싱하는 빛은 조명인 것으로 제어부(2900)가 판단할 수 있다. 조명으로 판단되면 영상 제어를 비활성화 시키거나 혹은 매우 강한 조도의 조명에 대해서만 영상 제어를 활성화시킬 수 있다.
도 24은 본 발명의 일 실시예에 의한 뎁스 카메라부가 조도 센싱부의 제어에 따라 필터링을 수행하는 과정을 보여주는 도면이다.
도 24은 본 발명의 일 실시예에 의한 로봇이 뎁스 정보를 누적하여 저장하는 과정에서 뎁스 정보 내의 뎁스 값을 필터링하는 과정을 보여주는 도면이다. 도 24은 뎁스 카메라부(2110)가 필터링이 설정된 후, 일정한 시간 동안 N 개의 뎁스 정보를 센싱하여 그 중에서 외부광의 영향으로 뎁스 정보에 오류가 있는 것을 식별하여 이를 보정하거나 제거하는 등의 작업을 수행할 수 있다.
제어부는 도 21 내지 도 23의 과정 혹은 그 외에 조도 센싱부(2130)가 센싱한 조도의 크기에 따라 외부광(태양광, 조명 등)이 일정 수준 이상 큰 조도값을 가지는 경우 제어부는 영상 제어 활성화를 설정한다(S261). 영상 제어 활성화의 일 실시예로 뎁스 정보를 필터링하는 것을 포함한다. 이는 뎁스 정보를 시간에 따라 저장하여 일부 셀의 뎁스 값을 변경하거나 혹은 특정 시점의 뎁스 정보를 제거하는 필터링 작업을 포함한다.
뎁스 카메라부(2110)는 N개의 뎁스 정보들(뎁스 데이터들)을 저장부에 저장한다(S262). 예를 들어 N은 1 이상의 자연수가 될 수 있다. 예를 들어 5개의 뎁스 정보들을 큐(queue)의 방식으로 저장부(2150)에 저장할 수 있다.
제어부(2900)는 N개의 뎁스 정보들에서 뎁스 값의 변화가 일정 범위 이상인 영역을 필터링 영역으로 식별한다(S263). 예를 들어, 제어부(2900)는 5개의 큐를 검사하여 뎁스 정보의 각 뎁스 셀 별로 비교하여 뎁스 값이 일정 거리(예를 들어 100 mm) 이상 차이가 발생할 경우 이를 가비지 값으로 판단하여 사용하지 않는다.
또한, 이렇게 차이가 크게 발생한 영역들을 필터링 영역으로 식별한다. 전술한 기준이 되는 거리는 로봇의 이동 속도와 뎁스 정보들이 생성된 시간 등을 고려하여 산출될 수 있다. 예를 들어, 뎁스 카메라부(2110)가 장착된 로봇의 이동속도 500mm/s 이고 사람의 이동속도가 1000mm/s인 것으로 가정할 때, 1초에 1500mm의 거리 차이가 발생할 수 있다. 그런데 뎁스 카메라부(2110)가 만약 33mm/s 주기로 뎁스 정보를 생성한다면, 이는 1초에 약 30번의 뎁스 정보를 생성하는 것을 의미한다. 왜냐하면 1500mm/30 = 약 50mm/frame 이기 때문이다.
따라서, 하나의 프레임의 뎁스 정보는 이전 프레임 혹은 이후 프레임의 뎁스 정보와 비교할 때, 50mm 이상의 차이가 발생하기가 어려우며 또한 S261에서 영상 제어가 활성화되었으므로, 뎁스 값의 변화가 크게 발생할 경우, 제어부(2900)는 객체의 뎁스값이 아니라 외부광의 세기로 인한 뎁스 값이 변화한 것으로 판단할 수 있다.
이후 제어부(2900)는 필터링 영역을 구성하는 뎁스 셀들의 뎁스 값을 저장부(2150)에 저장된 다른 뎁스 정보를 이용하여 변경할 수 있다. 또는 특정 뎁스 정보의 모든 뎁스 셀들의 뎁스 값이 태양광으로 인한 오류가 발생한 경우 해당 뎁스 정보를 저장부(2150)에서 제거할 수 있다. 또는 특정 뎁스 셀의 뎁스 정보만을 저장부(2150)에서 제거하여 사용하지 않을 수 있다. 뎁스 셀의 뎁스 정보 및 뎁스 정보의 구성에 대해서는 도 2 및 도 3에서 살펴본 바와 동일하다. 뎁스 카메라부(2110)가 생성하는 프레임별 뎁스 영상의 뎁스 정보는 도 3의 11 내지 13에 제시된 바와 같이 변화할 수 있다. 도 3의 뎁스 정보는 뎁스 카메라부(110)가 취득한 하나의 프레임, 즉 한 시점에서 촬영한 뎁스 이미지를 구성하는 뎁스 값들의 집합을 일 실시예로 한다. 그리고 필터링이 적용되면 제어부(2900)는 누적된 뎁스 정보들 중에서 뎁스 값의 변화가 미리 설정된 기준 보다 큰 경우 이를 분석하여 외부광의 영향으로 인한 가비지 값인 경우에 뎁스 값을 시간적으로 이전 또는 이후의 프레임, 즉 시간적으로 이전 또는 이후의 뎁스 영상의 뎁스 정보에서 해당 셀의 뎁스 값을 추출하여 이를 변환시켜 외부광으로 인한 가비지 값을 제거하고 실제 객체들의 뎁스 값이 반영된 뎁스 정보를 산출할 수 있음은 앞서 살펴보았다.
도 25는 본 발명의 일 실시예에 의한 로봇이 색상 정보를 누적하여 저장하는 과정에서 피쳐셋을 선택하거나 저장하거나 혹은 이를 이용하여 비전 슬램을 수행하는 과정을 보여주는 도면이다.
제어부는 도 21 내지 도 23의 과정 혹은 그 외에 조도 센싱부(2130)가 센싱한 조도의 크기에 따라 외부광(태양광, 조명 등)이 일정 수준 이상 큰 조도값을 가지는 경우 제어부는 영상 제어 활성화를 설정한다(S271). 영상 제어 활성화의 일 실시예로 현재의 조도 상태에 기반하여 새로운 피쳐셋을 선택하거나 색상 정보를 생성하여 피쳐셋을 저장하는 것을 포함한다.
먼저 비전 카메라부(2120)가 색상 정보를 생성한다(S272). 색상 정보는 일종의 픽셀 별 RGB 값을 포함하는 이미지 파일을 일 실시예로 한다. 색상 정보는 비전 카메라부(2120)가 취득한 영상의 RGB값을 포함하는데, 외부의 조도가 강한 경우 RGB 값에 변화가 발생할 수 있다.
따라서, 제어부(2900)는 비전 카메라부(2120)가 취득한 영상의 RGB 값들에 기반한 색상 정보에서 피쳐셋을 선택한다(S273). 예를 들어 의자 모서리로 확인되는 영상에 대해 의자라는 메타 정보가 피쳐셋을 구성할 수 있다. 또한, 문자 형상의 색상 정보에 대해 인식된 문자가 피쳐셋이 될 수 있다.
제어부(2900)는 센싱한 조도와 피쳐셋을 저장부(2150)에 저장한다(S274). 이후 새로이 저장된 특정 조도에서의 피쳐셋을 제어부(2900)가 이용하여 비전 슬램을 수행할 수 있다(S275).
도 26은 본 발명의 일 실시예에 의한 제어부가 조도에 기반하여 비전 카메라부의 색상 정보를 식별하는 도면이다. 비전 카메라부(2120)가 동일한 영역을 센싱하는 과정을 살펴보면 281과 같이 비전 카메라부(2120)가 281과 같은 색상 정보인 영상을 취득하여 이 중에서 피쳐가 되는 글자(E)를 282와 같이 피쳐셋으로 저장한다. 281 및 282는 일반적인 조도 상황에서 취득한 피쳐셋이므로 조도 정보는 "Normal"로 저장될 수 있다(도 27 참조).
한편, 외부에서 빛이 강하게 비춘 상태에서 비전 카메라부(2120)가 영상을 취득하면 283과 같이 빛이 사물에 반사될 수 있다. 이로 인해 281과 달리, 원래의 사물의 색상이 아닌 다른 색상이 영상, 즉 색상 정보(285)에 포함된다. 281에서 확인된 색상 정보와 285에서 확인된 색상 정보는 동일한 사물에 대해 비전 카메라부(2120)가 촬영한 정보이지만, 빛으로 인해 상이한 색상 정보를 구성한다.
제어부(2900)는 동일한 사물에 대한 상이한 색상 정보(281, 285)에 대해 각각 피쳐셋을 282 및 286과 같이 선택하여 저장할 수 있다. 이 과정에서 조도에 대한 정보(Normal, Bright)를 함께 저장하여 특정한 조도 상황에서는 비전 슬램과정에서 보다 정확한 피쳐셋을 제어부(2900)가 선택할 수 있다.
도 27은 본 발명의 다른 실시예에 의한 저장부(2150)에 저장된 피쳐 셋들의 정보를 보여주는 도면이다. 시리얼 번호 1과 4는 동일한 위치인 (5, 11)의 "N" 방향(북쪽)에서 취득한 피쳐셋을 각각 지시한다. 두 피쳐셋을 구분하는 것은 조도(LI)의 차이이다(Normal-Bright).
만약, 제어부(2900)가 이동 과정에서 특정한 조도 상황을 감지하면 해당 조도를 반영하여 피쳐셋을 선택할 수 있다. 예를 들어 빛이 강하지 않을 경우 (5, 11) 위치에서 로봇(2000)은 시리얼 번호 1의 피쳐셋을 중심으로 비전 슬램을 수행할 수 있다. 반대로 빛이 강할 경우 (5, 11) 위치에서 로봇(2000)은 시리얼 번호 4의 피쳐셋을 중심으로 비전 슬램을 수행할 수 있다.
본 발명의 실시예들을 적용할 경우, 실외 또는 통유리 구조의 실내와 같이 외부 밝기 변화에 취약한 공간에서 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 센싱하는 영상을 필터링하거나 또는 별도의 피쳐셋을 저장한다. 이는 뎁스 카메라부(2110)의 오류/오차 필터링을 사용할 것인지 여부, 즉 필터링 활성화 유/무를 선택하기 위해 현재시간과 계절, 로봇의 위치, 조도 센싱부(2130)의 센싱한 값을 융합하여 활용한다. 특히, 필터링을 조도와 로봇의 위치, 현재 시간과 계절 등 다양한 변수에 기반하여 선택적으로 수행하므로 필터링 시간을 단축시키며 뎁스 카메라부(2110)의 센싱 지연(delay)를 최소화할 수 있다. 이는 로봇(2000)의 장애물 대응 능력을 향상시킨다. 로봇 또는 제어부(2900)가 현재 시간이나 계절 정보와 위치 정보만을 사용할 경우 조도 상황을 확인할 수 없지만, 본 발명의 실시예에 의하면 정확하게 필터링을 수행하지 못함으로 인한 문제를 해결한다.
또한 비전 카메라부(2120)는 다양한 조도 상황에서 피쳐셋을 생성할 수 있으므로 외부 밝기의 변화에도 로봇이 비전 슬램을 수행할 수 있다. 특히, 비전 카메라부(2120)가 센싱하는 사물들의 색상 정보는 외부의 빛의 밝기로 인하여 다양하게 변할 수 있으며, 동일한 사물이라도 상이한 피쳐셋을 선택할 수 있다. 따라서, 비전 카메라부(2120)가 앞서 추출하여 저장한 피쳐셋을 제어부(2900)가 이용하거나 혹은 비전 카메라부(2120)가 추출한 피쳐 셋을 새로이 저장하여 비전 슬램 과정에서 외부 밝기에 독립적으로 위치 인식의 정확성을 높일 수 있다.
도 28 및 도 29는 본 발명의 일 실시예에 의한 조도 센싱부가 로봇에 배치되는 구성을 보여주는 도면이다. 도 28는 로봇의 측면을 보여주고, 도 29는 로봇의 전면을 보여주는 도면이다.
로봇(2000a)에 뎁스 카메라부(2110a), 비전 카메라부(2120a), 그리고 조도 센싱부(2130a)가 배치된 상태이다. 조도 센싱부(2130a)는 뎁스 카메라부(2110a)와 비전 카메라부(2120a)가 센싱하고자 하는 방향의 빛의 밝기를 가장 정확하게 센싱할 수 있는 로봇 상의 위치에 배치될 수 있다. 또한, 조도 센싱의 정확도를 높이기 위해 뎁스 카메라부(2110a)와 비전 카메라부(2120a)가 센싱하고자 하는 방향의 측면 혹은 상면 등 인접한 방향의 빛의 세기를 확인할 수 있도록 분산 배치될 수 있다(2130c, 2130d). 도 29는 조도 센싱부(2130a)가 뎁스 카메라부(2110a), 비전 카메라부(2120a)와 수직 선상에서 일렬로 배치되는 구조(점선 참조) 및 카메라부들(2110a, 2120a)을 중심으로 좌우측으로 이격하여 배치된 구성을 보여준다. 카메라부가 영상을 센싱하는 방항(도 28의 288 또는 289)을 중심으로 일정한 범위 내(예를 들어 로봇의 전체 좌우 폭을 반영한 각도)에서 좌측 또는 우측 방향으로 이격하여 조도 센싱부(2130c, 2130d)가 추가적으로 배치될 수 있다.
물론, 로봇의 꼭대기 부분에 조도 센싱부가 배치될 수도 있다. 조도 센싱부는 뎁스 카메라부 및 비전 카메라부와 인접하지 않은 위치에도 배치될 수 있다.
다만, 다수의 조도 센싱부가 배치될 경우 제어부는 센싱된 조도값에 가중치를 부여할 수 있다. 예를 들어 뎁스 카메라부 및 비전 카메라부에 인접하여 배치된 조도 센싱부가 센싱한 조도에 가중치를 높게 부여하고, 뎁스 카메라부 및 비전 카메라부와 반대편에 배치된 조도 센싱부가 센싱한 조도에 가중치를 낮게 부여하여 뎁스 카메라부 및 비전 카메라부의 센싱 정확도를 높일 수 있다.
또한, 뎁스 카메라부가 뎁스 영상(뎁스 정보)을 센싱하는 방향과 비전 카메라부가 비전 영상(색상 정보)를 센싱하는 방향이 상이할 경우, 각각의 카메라부의 영상 센싱 방향에 대응하여 둘 이상의 조도 센싱부가 배치될 수 있다.
도 30은 본 발명의 일 실시예에 의한 영상 제어 활성화를 제어하는 과정을 보여주는 도면이다. 센싱 모듈(2100)은 다수의 센싱부들을 포함할 수 있으며 이 중에서 초음파 센싱부, 적외선 센싱부, 라이다 센싱부 등을 포함할 수 있다. 제어부(2900)는 센싱부들이 센싱한 객체의 거리와 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 생성한 뎁스 정보 또는 색상 정보를 비교한다(S291).
비교 결과 오차가 발생한 경우(S292) 오차의 누적값이 설정된 값 이상인지 제어부가 확인한다(S294). 그 결과 오차의 누적값이 설정된 값 이상인 경우 외부광의 밝기로 인해 뎁스 카메라부(2110) 또는 비전 카메라부(2120)의 영상 정보 생성에 오류가 발생한 것으로 판단하고 제어부(90)는 영상 제어 활성화를 설정한다(S296).
반면, 오차가 발생하지 않은 경우 오차 누적값을 리셋한다(S293). S294에서 오차 누적값이 설정된 값 이하인 경우 오차 누적값을 증가시킨다(S295). 오차 누적값은 일정한 시간 간격 내에서 오차가 발생한 경우 +1 씩 누적할 수 있다. 만약 오차가 20인 경우 제어부(2900)는 20초 이상 오차가 발생한 것으로 판단하여 영상 제어 활성화를 설정할 수 있다.
또한, 본 발명의 다른 실시예로 반드시 센싱된 사물의 거리 정보 외에도 맵 저장부에 저장된 사물의 위치 정보와 로봇의 위치 정보에서 산출된 거리 정보를 이용할 수 있다. 예를 들어, 맵 저장부(2200)에는 로봇을 기준으로 전방 3미터 거리에 벽이 배치된 것을 제어부(2900)가 확인하였으나 뎁스 카메라부(2110)가 센싱한 뎁스정보를 구성하는 뎁스 값이 모두 3미터 이상이라면 벽을 뎁스 카메라부(2110)가 센싱하지 못하는 오류가 발생한 것으로 확인할 수 있다. 마찬가지로 도 30과 같이 오차가 발생한 것을 카운팅하여 누적한 값이 일정 범위를 넘어서면 제어부(2900)는 영상 제어 활성화를 설정할 수 있다.
본 발명에서 조도 센싱부(2130)는 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 설치된 위치에 대응하여 로봇 상에 배치될 수 있다. 수직선으로 일직선 혹은 수평으로 일직선 혹은 일정 각도 내에 조도 센싱부(2130)가 배치될 수 있다. 뎁스 카메라부(2110) 또는 비전 카메라부(2120)가 바라보는 방향으로 조도 센싱부(2130)를 배치함으로써 현재 로봇에 설치된 카메라가 받는 외부광의 영향을 측정 및 반영할 수 있다.
또한, 제어부(2900)는 조도 센싱부(2130)가 센싱한 빛의 강도(카메라부가 영향을 받는 빛의 강도) 외에도 현재 시각, 계절, 위치 정보 등을 종합하여 로봇에 현재 영향을 미치는 빛이 해빛과 같은 강한 빛인지 여부를 확인하여 이에 따라 영상 제어 활성화 여부를 결정한다.
본 발명을 적용할 경우, 로봇이나 뎁스 센싱 모듈은 산출된 뎁스 정보 또는 색상 정보에서 실제 장애물이나 사람 등 로봇이나 뎁스 센싱 모듈이 회피해야 하는 대상과 외부광으로 인한 왜곡된 정보를 구분할 수 있다. 특히, 공항, 학교, 병원, 터미널, 기차역, 복합몰 등과 같은 넓은 면적의 경우 모든 장소에서 로봇이 햇빛의 영향을 받는 것은 아니기 때문에 로봇이 보유 또는 로봇에 저장된 전체 맵에 기반하여 현재 로봇의 위치와 시간을 분석하여 로봇이 햇빛이나 강한 조명과 같이 외부광의 영향을 받는 구간에서만 필터링 알고리즘 또는 영상 제어 활성화 알고리즘을 적용하여 효율적으로 로봇이 운용될 수 있도록 제어할 수 있다.
필터링 과정에서 이전 프레임에서 누적한 뎁스 정보들과 비교하는 과정에서 지연이 발생할 수 있는데, 이 과정에서 로봇의 현재 위치와 현재 위치에서의 외부광의 영향에 대한 정보를 이용하여 필터링을 매순간 하지 않고 일정한 공간에서만 수행하여 데이터 처리 속도를 높일 수 있다. 또한, 광센싱부(111)를 이용하여 외부광이 강한 경우와 그렇지 않은 경우에 대한 상황 정보에 기반하여 필터링을 적용할 수 있다.
도 17에서 살펴본 바와 같이 로봇(1000)이 동일한 공간을 반복하여 주행하게 될 경우, 외부광의 발생 시점 혹은 발생 상황에 대한 정보를 누적하여 저장할 수 있다.
도 30에서 살펴본 바와 같이 로봇은 현재 영향을 미치는 빛이 해빛과 같은 강한 빛인지 여부를 확인하여 이에 따라 영상 제어 활성화 여부를 결정한다.
특히, 빛이 반사되는 경우에 데이터로 인식되는 것을 필터링하기 위해 조명의 위치, 창문의 위치 및 벽과 바닥의 빛 반사 정도에 대한 정보를 유지하여 외부광으로 인해 데이터가 왜곡될 가능성을 산출하여 이에 기반하여 필터링하거나 혹은 필터링 동작을 수행하지 않을 수 있다. 혹은 데이터가 왜곡될 가능성을 산출하여 이에 기반하여 필터링하거나 혹은 필터링 동작을 수행하거나 피쳐셋을 선택하는 등의 영상 제어 활성화를 수행할 수 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
부호의 설명
100: 뎁스 센싱 모듈110: 뎁스 카메라부
120: 센싱 데이터 필터링부140: 광정보 제공부
141, 2200: 맵 저장부145: 광원주기정보부
147: 컨텍스트부2181~2189: 센싱부
190: 객체 센싱 모듈191: 라이다 센싱부
192: 비전 센싱부195: 센싱데이터분석부
2100: 센싱모듈300, 2300: 이동부
2110: 뎁스 카메라부 2120: 비전 카메라부
2130: 조도 센싱부2150: 저장부
400, 2400: 기능부500, 2500: 통신부
900, 2900: 로봇 제어부1000, 2000: 로봇
Claims (28)
- 뎁스 센싱 모듈의 뎁스 카메라부가 제1시점에서 센싱한 객체의 제1뎁스 정보를 저장부에 저장하는 단계;상기 뎁스 카메라부가 제2시점에서 센싱한 객체의 제2뎁스 정보를 저장부에 저장하는 단계;뎁스 센싱 모듈의 센싱 데이터 필터링부가 상기 생성된 제1뎁스 정보 및 상기 제2뎁스 정보를 비교하여 상기 제2뎁스 정보에서 필터링할 영역을 식별하는 단계; 및뎁스 센싱 모듈의 제어부가 상기 제2뎁스 정보에서 상기 필터링 영역의 뎁스 값을 조정하는 단계를 포함하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 방법.
- 제1항에 있어서,상기 뎁스 값을 변경하는 단계는상기 제어부가 상기 제1뎁스 정보에 가중치를 적용하여 생성된 제3뎁스 정보 또는 상기 제1뎁스 정보 중 어느 하나를 상기 제2 뎁스 정보의 상기 필터링할 영역에 적용하여 제4뎁스 정보를 생성하는 단계; 및상기 제어부가 상기 저장부에 상기 제2시점에서의 뎁스 정보로 상기 제4뎁스 정보를 저장하는 단계를 포함하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 방법.
- 제1항에 있어서,상기 식별하는 단계는 상기 센싱 데이터 필터링부가 상기 제1뎁스 정보의 제1뎁스 셀의 제1뎁스 값과 상기 제1뎁스 셀에 대응하는 상기 제2뎁스 정보의 제2뎁스 셀의 제2뎁스 값을 비교하여 필터링할 영역을 식별하는 단계인, 외부광을 반영하여 객체의 뎁스를 센싱하는 방법.
- 제3항에 있어서,상기 식별하는 단계는 상기 센싱 데이터 필터링부가 상기 제1뎁스 값과 상기 제2뎁스 값의 차이가 상기 제1시점에서의 상기 뎁스 센싱 모듈의 위치와 상기 제2시점에서의 상기 뎁스 센싱 모듈의 위치 사이의 차이보다 크거나 또는 미리 설정된 기준 보다 큰 경우에 상기 제2뎁스 셀의 상기 제2뎁스 값을 가비지 값으로 설정하는 단계를 더 포함하며,상기 조정하는 단계는 상기 제어부가 상기 제1시점 및 상기 제2시점에서의 뎁스 센싱 모듈의 위치 차이에 기반하여 상기 제1뎁스 값을 제3뎁스 값을 생성하는 단계; 및상기 제어부가 상기 제 3뎁스 값을 상기 제2뎁스 셀의 뎁스 값으로 설정하는 단계를 더 포함하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 방법.
- 제1항에 있어서,상기 뎁스 센싱 모듈은 상기 뎁스 센싱 모듈의 위치에서 외부광의 특성 정보를 저장하는 광정보 제공부를 더 포함하며,상기 식별하는 단계는 상기 제어부가 광정보 제공부에 저장된 상기 외부광의 특성 정보를 추출하는 단계;상기 센싱 데이터 필터링부는 상기 추출된 외부광의 특성 정보를 반영하여 상기 필터링 영역을 식별하는 단계인, 외부광을 반영하여 객체의 뎁스를 센싱하는 방법.
- 뎁스 정보를 저장하는 저장부;제1시점에서 객체의 제1뎁스 정보 및 상기 제1시점과 시간적으로 선행하거나 또는 후행하는 제2시점에서 객체의 제2뎁스 정보를 생성하는 뎁스 카메라부;상기 생성된 제1뎁스 정보 및 상기 제2뎁스 정보를 비교하여 상기 제2뎁스 정보에서 필터링할 영역을 식별하는 센싱 데이터 필터링부; 및상기 제2뎁스 정보에서 상기 필터링 영역의 뎁스 값을 변경하거나 또는 상기 제2뎁스 정보를 상기 저장부에서 제거하는 제어부를 포함하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 뎁스 센싱 모듈.
- 제6항에 있어서,상기 제어부는 상기 제1뎁스 정보에 가중치를 적용하여 생성된 제3뎁스 정보 또는 상기 제1뎁스 정보 중 어느 하나를 상기 제2 뎁스 정보의 상기 필터링할 영역에 적용하여 제4뎁스 정보를 생성하고 상기 저장부에 상기 제2시점에서의 뎁스 정보로 상기 제4뎁스 정보를 저장하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 뎁스 센싱 모듈.
- 제6항에 있어서,상기 센싱 데이터 필터링부는상기 제1뎁스 정보의 제1뎁스 셀의 제1뎁스 값과 상기 제1뎁스 셀에 대응하는 상기 제2뎁스 정보의 제2뎁스 셀의 제2뎁스 값을 비교하여 필터링할 영역을 식별하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 뎁스 센싱 모듈.
- 제8항에 있어서,상기 센싱 데이터 필터링부는 상기 제1뎁스 값과 상기 제2뎁스 값의 차이가 상기 제1시점에서의 상기 뎁스 센싱 모듈의 위치와 상기 제2시점에서의 상기 뎁스 센싱 모듈의 위치 사이의 차이보다 크거나 또는 미리 설정된 기준 보다 큰 경우에 상기 제2뎁스 셀의 상기 제2뎁스 값을 가비지 값으로 설정하며,상기 제어부는 상기 제1시점 및 상기 제2시점에서의 뎁스 센싱 모듈의 위치 차이에 기반하여 상기 제1뎁스 값을 제3뎁스 값을 생성하여 상기 제 3뎁스 값을 상기 제2뎁스 셀의 뎁스 값으로 설정하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 뎁스 센싱 모듈.
- 제6항에 있어서,상기 뎁스 센싱 모듈의 위치에서 외부광의 특성 정보를 저장하는 광정보 제공부를 더 포함하며,상기 제어부가 광정보 제공부에 저장된 상기 외부광의 특성 정보를 추출하며,상기 센싱 데이터 필터링부는 상기 추출된 외부광의 특성 정보를 반영하여 상기 필터링 영역을 식별하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 뎁스 센싱 모듈.
- 제10항에 있어서,상기 광정보 제공부는상기 뎁스 센싱 모듈이 뎁스 정보를 생성하는 공간의 고정 객체의 위치 및 외부광의 반사 또는 투과 정보가 저장된 맵 저장부;상기 외부광이 온오프하는 주기 정보가 저장된 광원주기정보부; 및상기 외부광이 온오프하는 컨텍스트가 저장된 컨텍스트부를 포함하는, 외부광을 반영하여 객체의 뎁스를 센싱하는 뎁스 센싱 모듈.
- 뎁스 정보를 저장하는 저장부와, 제1시점에서 객체의 제1뎁스 정보 및 상기 제1시점과 시간적으로 선행하거나 또는 후행하는 제2시점에서 객체의 제2뎁스 정보를 생성하는 뎁스 카메라부와 상기 생성된 제1뎁스 정보 및 상기 제2뎁스 정보를 비교하여 상기 제2뎁스 정보에서 필터링할 영역을 식별하는 센싱 데이터 필터링부와 상기 제2뎁스 정보에서 상기 필터링 영역의 뎁스 값을 변경하거나 또는 상기 제2뎁스 정보를 상기 저장부에서 제거하는 제어부를 포함하는 뎁스 센싱 모듈;외부에 배치된 객체를 센싱하는 객체 센싱 모듈;로봇을 이동시키는 이동부; 및상기 뎁스 센싱 모듈 및 상기 객체 센싱 모듈의 센싱된 결과에 기반하여 로봇 주변의 객체를 확인하여 상기 로봇의 이동 경로를 제어하는 로봇 제어부를 포함하는, 외부광을 반영하여 객체의 뎁스를 센싱하여 이동하는 로봇.
- 제1항에 있어서,상기 뎁스 센싱 모듈 또는 상기 로봇은 상기 뎁스 센싱 모듈의 위치에서 외부광의 특성 정보를 저장하는 광정보 제공부를 더 포함하며,상기 뎁스 센싱 모듈의 상기 제어부가 광정보 제공부에 저장된 상기 외부광의 특성 정보를 추출하며, 상기 뎁스 센싱 모듈의 상기 센싱 데이터 필터링부는 상기 추출된 외부광의 특성 정보를 반영하여 상기 필터링 영역을 식별하는, 외부광을 반영하여 객체의 뎁스를 센싱하여 이동하는 로봇.
- 제13항에 있어서,상기 광정보 제공부는상기 뎁스 센싱 모듈이 뎁스 정보를 생성하는 공간의 고정 객체의 위치 및 외부광의 반사 또는 투과 정보가 저장된 맵 저장부;상기 외부광이 온오프하는 주기 정보가 저장된 광원주기정보부; 및상기 외부광이 온오프하는 컨텍스트가 저장된 컨텍스트부를 포함하는, 외부광을 반영하여 객체의 뎁스를 센싱하여 이동하는 로봇.
- 제13항에 있어서,상기 뎁스 센싱 모듈 또는 상기 로봇은 광센싱부를 더 포함하며,상기 로봇 제어부는 상기 로봇의 이동 과정에서 상기 광센싱부가 센싱한 외부광의 세기 또는 외부광의 온오프 시점이 상기 광정보 제공부에 저장된 외부광의 특성 정보와 상이한 경우 상기 광정보 제공부에 상기 외부광의 세기 또는 온오프 시점에 대한 정보를 변경하여 저장하는, 외부광을 반영하여 객체의 뎁스를 센싱하여 이동하는 로봇.
- 뎁스 카메라부 또는 비전 카메라부를 포함하며, 상기 카메라부가 영상을 센싱하는 방향의 조도를 센싱하는 조도 센싱부를 포함하는 센싱 모듈;로봇이 이동하는 공간에 배치되는 객체의 정보를 저장하는 맵 저장부;상기 조도 센싱부가 센싱한 조도와 상기 맵 저장부에 저장된 객체의 정보와 상기 센싱 모듈이 센싱한 객체의 정보와 로봇의 위치 정보와 시간 정보 중 어느 하나 이상을 조합하여 상기 뎁스 카메라부 또는 상기 비전 카메라부의 영상 제어 활성화를 설정하는 제어부; 및상기 로봇을 이동시키는 이동부를 포함하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제16항에 있어서,상기 제어부는 상기 맵 저장부에 저장된 광원의 위치 정보와 상기 로봇의 위치 정보를 비교하여 조도 예측값을 산출하며,상기 제어부는 상기 조도 예측값 및 상기 센싱된 조도값을 비교하여 상기 영상 제어 활성화를 설정하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제17항에 있어서,상기 제어부는 상기 광원과의 거리가 증가함에 대응하여 조도 예측값을 증가시키며, 상기 조도 센싱부가 상기 조도 예측값이 증가하는 비율보다 큰 조도값을 센싱한 경우, 상기 제어부는 상기 영상 제어 활성화를 설정하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제16항에 있어서,상기 제어부는 현재 시각 정보 또는 계절 정보 또는 날씨 정보 중 어느 하나 이상에 기반하여 조도 예측값을 산출하며,상기 제어부는 상기 조도 예측값 및 상기 센싱된 조도값을 비교하여 상기 영상 제어 활성화를 설정하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제16항에 있어서,상기 센싱 모듈은 뎁스 정보를 저장하는 저장부 및 영상 선택부를 더 포함하며,상기 제어부가 영상 제어 활성화를 설정하면,상기 뎁스 카메라부가 생성한 제1뎁스 정보 및 제2뎁스 정보를 상기 저장부가 저장하며,상기 영상 선택부는 상기 제1뎁스 정보 및 상기 제2뎁스 정보를 비교하여 상기 제2뎁스 정보에서 필터링할 영역을 식별하여 상기 제1뎁스 정보 또는 상기 제2뎁스 정보에서 상기 필터링 영역의 뎁스 값을 변경하거나 또는 상기 제1뎁스 정보 또는 상기 제2뎁스 정보를 상기 저장부에서 제거하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제16항에 있어서,상기 센싱 모듈은 색상 정보를 저장하는 저장부 및 영상 선택부를 더 포함하며상기 제어부가 영상 제어 활성화를 설정하고, 상기 비전 카메라부가 생성한 색상 정보에서 상기 제어부는 피쳐셋(feature set)을 선택하여 상기 센싱한 조도와 상기 피쳐셋을 상기 저장부에 저장하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제16항에 있어서,상기 조도 센싱부는 상기 뎁스 카메라부 또는 상기 비전 카메라부와 수직 선상에서 일렬로 배치되는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제16항에 있어서,상기 카메라부가 영상을 센싱하는 방향을 중심으로 일정한 범위 내의 좌측 또는 우측 방향으로 이격하여 배치된 조도 센싱부를 더 포함하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 제16항에 있어서,상기 센싱 모듈은 초음파 센싱부, 적외선 센싱부 또는 라이다 센싱부를 더 포함하며,상기 제어부는 상기 센싱부들이 센싱한 객체의 거리와 상기 뎁스 카메라부 또는 상기 비전 카메라부가 생성한 뎁스 정보 또는 색상 정보를 비교하여 상기 뎁스 카메라부 또는 상기 비전 카메라부의 오차의 누적에 기반하여 상기 뎁스 카메라부 또는 상기 비전 카메라부의 영상 제어 활성화를 설정하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 로봇.
- 센싱 모듈의 뎁스 카메라부 또는 비전 카메라부가 영상을 센싱하는 방향의 조도를 상기 센싱 모듈의 조도 센싱부가 센싱하는 단계;맵 저장부에 저장된 객체의 정보 또는 상기 센싱 모듈이 센싱한 객체의 정보와 로봇의 위치 정보와 시간 정보 중 어느 하나 이상을 조합하여 상기 뎁스 카메라부 또는 상기 비전 카메라부의 영상 제어 활성화를 제어부가 판단하는 단계; 및상기 제어는 영상 제어 활성화 후 상기 뎁스 카메라부의 뎁스 정보를 필터링하거나 또는 상기 비전 카메라부가 센싱한 색상 정보의 피쳐셋을 선택하는 단계를 포함하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 방법.
- 제25항에 있어서,상기 제어부는 상기 맵 저장부에 저장된 광원의 위치 정보와 상기 로봇의 위치 정보를 비교하여 조도 예측값을 산출하는 단계; 및상기 제어부는 상기 조도 예측값 및 상기 센싱된 조도값을 비교하여 상기 영상 제어 활성화를 설정하는 단계를 포함하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 방법.
- 제25항에 있어서,상기 제어부는 현재 시각 정보 또는 계절 정보 또는 날씨 정보 중 어느 하나 이상에 기반하여 조도 예측값을 산출하는 단계; 및상기 제어부는 상기 조도 예측값 및 상기 센싱된 조도값을 비교하여 상기 영상 제어 활성화를 설정하는 단계를 포함하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 방법.
- 제25항에 있어서,상기 센싱 모듈은 초음파 센싱부, 적외선 센싱부 또는 라이다 센싱부를 더 포함하며,상기 제어부는 상기 센싱부들이 센싱한 객체의 거리와 상기 뎁스 카메라부 또는 상기 비전 카메라부가 생성한 뎁스 정보 또는 색상 정보를 비교하여 상기 뎁스 카메라부 또는 상기 비전 카메라부의 오차를 산출하는 단계; 및상기 제어부는 상기 오차의 누적에 기반하여 상기 뎁스 카메라부 또는 상기 비전 카메라부의 영상 제어 활성화를 설정하는 단계를 포함하는, 조도 센싱에 기반하여 센싱된 영상을 제어하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/622,202 US11498228B2 (en) | 2017-06-14 | 2018-05-29 | Method for sensing depth of object by considering external light and device implementing same |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170075055A KR20180136294A (ko) | 2017-06-14 | 2017-06-14 | 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치 |
KR10-2017-0075055 | 2017-06-14 | ||
KR1020170095412A KR102444568B1 (ko) | 2017-07-27 | 2017-07-27 | 조도 센싱에 기반하여 센싱된 영상을 제어하는 방법 및 이를 구현하는 로봇 |
KR10-2017-0095412 | 2017-07-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2018230864A2 true WO2018230864A2 (ko) | 2018-12-20 |
WO2018230864A3 WO2018230864A3 (ko) | 2019-02-07 |
Family
ID=64660768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2018/006113 WO2018230864A2 (ko) | 2017-06-14 | 2018-05-29 | 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11498228B2 (ko) |
WO (1) | WO2018230864A2 (ko) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110044334B (zh) * | 2018-01-16 | 2020-04-21 | 京东方科技集团股份有限公司 | 基于维诺图的室内空间定位 |
JP7117969B2 (ja) * | 2018-10-15 | 2022-08-15 | 東芝テック株式会社 | 読取装置およびプログラム |
KR20220019930A (ko) * | 2020-08-11 | 2022-02-18 | 삼성전자주식회사 | 로봇 및 그 제어 방법 |
KR102218120B1 (ko) * | 2020-09-21 | 2021-02-22 | 주식회사 폴라리스쓰리디 | 자율 주행 모듈, 이를 포함하는 이동 로봇 및 이의 위치 추정 방법 |
WO2022084966A1 (en) * | 2020-10-24 | 2022-04-28 | Jetbrain Robotics Private Limited | Spatial blind spot monitoring systems and related methods of use |
US20230041343A1 (en) * | 2021-08-09 | 2023-02-09 | Mujin, Inc. | Robotic system with image-based sizing mechanism and methods for operating the same |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326020B2 (en) | 2007-02-28 | 2012-12-04 | Sungkyunkwan University Foundation | Structural light based depth imaging method and system using signal separation coding, and error correction thereof |
KR100903786B1 (ko) * | 2009-03-16 | 2009-06-19 | 국방과학연구소 | 자율 이동체용 스테레오 센싱 장치, 스테레오 센싱 가능한 자율 이동체 및 스테레오 센싱 장치의 이미지 처리 방법 |
KR101565969B1 (ko) * | 2009-09-01 | 2015-11-05 | 삼성전자주식회사 | 깊이 정보를 추정할 수 있는 방법과 장치, 및 상기 장치를 포함하는 신호 처리 장치 |
KR101788032B1 (ko) * | 2011-03-24 | 2017-10-19 | 삼성전자주식회사 | 깊이 센서, 상기 깊이 센서의 깊이 정보 에러 보상 방법, 및 상기 깊이 센서를 포함하는 신호 처리 시스템 |
US8761990B2 (en) * | 2011-03-30 | 2014-06-24 | Microsoft Corporation | Semi-autonomous mobile device driving with obstacle avoidance |
JP6008148B2 (ja) * | 2012-06-28 | 2016-10-19 | パナソニックIpマネジメント株式会社 | 撮像装置 |
KR102194233B1 (ko) * | 2014-05-19 | 2020-12-22 | 삼성전자주식회사 | 깊이 영상 생성 장치 및 방법 |
KR20170015114A (ko) | 2015-07-30 | 2017-02-08 | 삼성전자주식회사 | 자율 주행 차량 및 자율 주행 차량 제어 방법 |
-
2018
- 2018-05-29 WO PCT/KR2018/006113 patent/WO2018230864A2/ko active Application Filing
- 2018-05-29 US US16/622,202 patent/US11498228B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11498228B2 (en) | 2022-11-15 |
WO2018230864A3 (ko) | 2019-02-07 |
US20200122344A1 (en) | 2020-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018230864A2 (ko) | 외부광을 반영하여 객체의 뎁스를 센싱하는 방법 및 이를 구현하는 장치 | |
WO2021006556A1 (en) | Moving robot and control method thereof | |
WO2015122677A1 (ko) | 자동차의 트렁크 개방 장치 및 방법과, 이 방법을 실행하기 위한 프로그램을 기록한 기록 매체 | |
EP3946841A1 (en) | Mobile robot and method of controlling the same | |
WO2021006677A2 (en) | Mobile robot using artificial intelligence and controlling method thereof | |
WO2017204499A1 (ko) | 이동형 공조장치 | |
WO2018186583A1 (ko) | 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇 | |
WO2013147501A1 (ko) | 모션 제스처 센싱 모듈 및 모션 제스처 센싱 방법 | |
EP3669181A1 (en) | Vision inspection management method and vision inspection system | |
WO2017188800A1 (ko) | 이동 로봇 및 그 제어방법 | |
WO2017026642A1 (ko) | 횡단보도의 교통신호안전시스템 | |
WO2014051362A1 (ko) | 이벤트 기반 비전 센서를 이용한 근접 센서 및 근접 센싱 방법 | |
WO2021125903A1 (en) | Wearable device including eye tracking apparatus and operation method of the wearable device | |
WO2021006542A1 (en) | Mobile robot using artificial intelligence and controlling method thereof | |
WO2018120074A1 (zh) | 用于监控摄像装置的夜视切换方法及其系统 | |
WO2014058086A1 (en) | Image processing device and image processing method | |
WO2019168323A1 (ko) | 이상 개체 검출 장치 및 방법, 이를 포함하는 촬상 장치 | |
WO2017061650A1 (ko) | 전후면 카메라모듈을 적용한 영상해석 기반의 lpr 시스템 | |
WO2022103195A1 (ko) | 로봇 시스템 | |
WO2021256692A1 (en) | Refrigerator and controlling method thereof | |
WO2021215688A1 (en) | Robot cleaner and controlling method thereof | |
WO2019093674A1 (ko) | 디스플레이 장치, 재생 판단 장치, 컨텐츠 재생 확인 방법 | |
WO2021066375A1 (en) | Electronic apparatus and controlling method thereof | |
WO2021060636A1 (en) | Motion detection device and method | |
WO2018110724A1 (ko) | 열에너지 정보를 표시하는 나이트 비젼 시스템 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18816906 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18816906 Country of ref document: EP Kind code of ref document: A2 |