WO2018230852A1 - 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇 - Google Patents

3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇 Download PDF

Info

Publication number
WO2018230852A1
WO2018230852A1 PCT/KR2018/005747 KR2018005747W WO2018230852A1 WO 2018230852 A1 WO2018230852 A1 WO 2018230852A1 KR 2018005747 W KR2018005747 W KR 2018005747W WO 2018230852 A1 WO2018230852 A1 WO 2018230852A1
Authority
WO
WIPO (PCT)
Prior art keywords
map
sensing unit
sensing
sensed
robot
Prior art date
Application number
PCT/KR2018/005747
Other languages
English (en)
French (fr)
Inventor
이창현
손병곤
최규천
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to US16/622,183 priority Critical patent/US11602850B2/en
Publication of WO2018230852A1 publication Critical patent/WO2018230852A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/881Radar or analogous systems specially adapted for specific applications for robotics
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/89Lidar systems specially adapted for specific applications for mapping or imaging
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme 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/1697Vision controlled systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S15/00Systems using the reflection or reradiation of acoustic waves, e.g. sonar systems
    • G01S15/88Sonar systems specially adapted for specific applications
    • G01S15/93Sonar systems specially adapted for specific applications for anti-collision purposes
    • G01S15/931Sonar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4808Evaluating distance, position or velocity data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Definitions

  • the present invention relates to a method of identifying a moving object in a three-dimensional space and a robot for implementing the same.
  • a map of the entire space In order to operate a robot in a space where human and material exchanges are actively occurring, such as an airport, a school, a public office, a hotel, an office, a factory, a map of the entire space must be provided.
  • the map can be constructed in two dimensions, but if the robot has a certain height, the accuracy of the robot movement is increased by maintaining the three-dimensional information about the external space.
  • structures are not uniformly placed in spaces where human and material exchanges are actively occurring, such as airports, schools, government offices, hotels, offices, and factories. Many moving objects can have varying heights.
  • a robot for identifying a moving object in a three-dimensional space may include a sensing module configured to calculate height and position information of an object using two or more sensing units, a function unit providing a preset function to the outside, and a robot.
  • a moving unit for moving a map storage unit for storing a three-dimensional map including height and position information of the object calculated by the sensing module in a space in which the robot moves, and a sensing module, a function unit, a moving unit, and a map storage unit; Convert the height and position information of the object calculated by the sensing module into global coordinates, store the height and position information of the object converted into global coordinates in a three-dimensional map, and according to the sensing result of at least one of the sensing units of the sensing module And a controller for removing the moving object from the 3D map among the objects stored in the map storage unit.
  • a robot for identifying a moving object in a three-dimensional space may be coupled to a robot to calculate a physical distance between an object and a robot and angle information between the object and the robot, and a robot in one direction.
  • a sensing module configured to calculate depth information of the sensing unit; and an ultrasonic sensing unit sensing a distance of an object within a predetermined radius of the robot, wherein the sensing module calculates height and position information of the object using two or more sensing units;
  • a map storage unit for storing a three-dimensional map generated by combining a two-dimensional lidar sensor map generated by the sensing unit and a three-dimensional depth sensor map generated by the depth sensing unit, and a first object commonly sensed by two or more sensor maps And a second object disposed at a height that cannot be sensed by the rider sensing unit and sensed by the depth sensing unit, and the rider sensing that is not sensed by the depth sensing unit. Additional confirmation from the stored sensed by the at least one of three objects in the three-dimensional map, and stored in the three-dimensional map object that is not a sensing object in the radius to the mobile object by a control unit for removing from the three-dimensional map.
  • a method for identifying a moving object in a three-dimensional space includes a step in which a sensing module of a robot calculates height and position information of an object using two or more sensing units, and a control module of the robot calculates the sensing module. Converting height and position information of an object into global coordinates, generating and storing a three-dimensional map including height and position information of the object converted by the control unit into global coordinates, and storing it in a map storage unit of the robot; and a sensing module And checking, by the controller according to one or more sensing results sensed by two or more sensing units of the moving object, to remove the moving object from the 3D map stored in the map storage.
  • the robot may move without collision by calculating information such as height and depth of objects disposed in the vicinity of the robot while moving.
  • the robot may combine the various sensing results of the sensing unit to compensate for the error of the sensing data of the specific sensor.
  • the robot when applying the embodiment of the present invention, by sensing the objects of various heights, and added and deleted from the map according to their movement situation or fixed state, the robot accurately checks the arrangement of objects in the entire space and moves To be able.
  • FIG. 1 is a view showing the configuration of a sensing module for sensing a space three-dimensionally according to an embodiment of the present invention.
  • FIG. 2 is a view showing the configuration of a robot according to an embodiment of the present invention.
  • FIG. 3 is a diagram illustrating a process of generating a 3D map using two or more sensing units according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating a process of sensing an external object and converting the object to a physical coordinate system according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a process of sensing, by a depth sensing unit, an external object and converting it to a physical coordinate system according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating an object sensed on a map by a lidar sensing unit according to an exemplary embodiment of the present invention.
  • FIG. 7 is a diagram illustrating an object sensed on a map by a depth sensing unit according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating both a bottom height and a top height of an object sensed by a depth sensing unit according to an embodiment of the present invention.
  • FIG. 9 illustrates a three-dimensional map generated by combining information sensed by two types of sensing units according to an exemplary embodiment of the present invention.
  • FIG. 10 is a diagram illustrating a process of aligning a result of sensing by two sensing units according to an exemplary embodiment of the present invention.
  • FIG. 11 illustrates a process of identifying and removing a moving object among objects stored in a 3D map of the map storage unit 200 by sensing an object within a predetermined radius of the robot using the ultrasonic sensing unit according to an embodiment of the present invention.
  • FIG. 12 is a diagram illustrating a process of removing a moving object by a robot according to an embodiment of the present invention.
  • FIG. 13 is a diagram illustrating a process in which a robot identifies a moving object in a three-dimensional space according to an embodiment of the present invention.
  • FIG. 14 is a view illustrating a configuration in which various sensing units are arranged according to an embodiment of the present invention.
  • FIG. 15 is a diagram illustrating a process of identifying a moving object by comparing positions of objects sensed by each sensing unit according to an embodiment of the present invention.
  • 16 and 17 illustrate a Lidar sensor map, a depth sensor map, and a 3D map according to an embodiment of the present invention.
  • FIG. 18 illustrates a depth sensor map continuously generated in FIG. 16.
  • FIG. 19 is a diagram illustrating a process of identifying a moving object in a dimensional space according to one 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 robot includes a device having a specific purpose (cleaning, security, monitoring, guidance, etc.) or providing 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 robot may move while holding a map.
  • the map refers to information about fixed walls, stairs, etc. that are found to not move in space.
  • the robot may store information about separate objects on the map. For example, a guide platform attached to a fixed wall, a newly installed vending machine, etc. are objects having a height, and thus, height information thereof needs to be stored in a map.
  • the robot may store the space three-dimensionally so that the robot may check whether the robot is an accessible area or a functional area even if the wall or glass is disposed in the three-dimensional space, and store information about the space.
  • FIG. 1 is a view showing the configuration of a sensing module for sensing a space three-dimensionally according to an embodiment of the present invention.
  • One or more robots can be mounted.
  • the sensing module 100 analyzes components that perform sensing such as the ultrasonic sensing unit 110, the infrared sensing unit 120, the lidar sensing unit 130, and the depth sensing unit 140, and sensed values.
  • the sensing data analysis unit 150 is included. Since each of the components constituting the sensing module 100 are logical components, they do not necessarily need to be physically implemented in one device.
  • the infrared sensing unit 120 may be disposed in the boundary area of the robot, and the ultrasonic sensing unit 110 may be disposed in the front center area of the robot.
  • the depth sensing unit 140 and the lidar sensing unit 130 may be disposed on the upper surface of the robot.
  • each of the sensing units and the sensing data analyzer 150 may transmit and receive the sensed information through a data link or a wireless signal.
  • each sensing unit may be a collection of various sensors. For example, in order to sense an object disposed in front of the infrared sensing unit 120, a pair or a plurality of infrared transmitting units and infrared receiving units may be physically integrated to logically indicate to the infrared sensing unit 120. .
  • the ultrasonic sensing unit 110 may also physically instruct the ultrasonic sensing unit 110 by integrating a pair or a plurality of ultrasonic transmitters and ultrasonic receivers.
  • an embodiment of the present invention When applying the present invention, it is possible to generate a three-dimensional map so that the robot can easily avoid obstacles to travel.
  • an embodiment of the present invention generates a three-dimensional map by combining various kinds of sensing units.
  • the robot can generate a reliable three-dimensional map in consideration of the characteristics of the external obstacle, for example, the reflectance of the light, the transmittance or the part where the sensing accuracy is affected by the external light, the height of the obstacle, and the like.
  • a Lidar-Depth SLAM may be performed to generate an accurate three-dimensional map in a large area of space where the robot moves.
  • the unit 120 can also be used.
  • a plurality of infrared ray sensing units 120 may be disposed, and an object may be sensed in a point manner as in the lidar sensing unit 130 according to characteristics of a signal received by transmitting an infrared signal at a predetermined angle.
  • the infrared sensing unit 120 may be used instead of the depth sensing unit 140.
  • the infrared sensor 120 is disposed at various heights of the robot 1000 to sense height information of the objects in the forward direction or the objects within a predetermined distance among the objects sensed by the lidar sensing unit 130.
  • the infrared sensing unit 120 may combine the information of the objects sensed with the information of the lidar sensing unit 130 to generate a 3D map.
  • the robot equipped with the sensing module 100 as shown in FIG. 1 forms a three-dimensional map of the entire space, unnecessary moving objects are temporarily displayed on the map in this process, but the robot is far from these moving objects. You can remove these moving objects from the map if they are lost or disappear.
  • the robot can sense both moving objects and stationary objects.In order to increase the accuracy of sensing, the robot can increase the weight of specific information or select some information to improve the accuracy of sensing. It can increase.
  • Stationary objects are objects fixed in a building of a space such as a wall, a door, a glass window, and a moving object may be a person or an object (carrier or transport device) moved by a person, or a temporarily placed object.
  • the moving object temporarily sensed in the process of generating the 3D map is removed from the map after the robot moves. Let's take a closer look at each of the sensing units.
  • the ultrasonic sensing unit 110 may determine whether there are moving objects or fixed objects.
  • the ultrasonic sensing unit 110 may include an ultrasonic wave emitting unit for emitting ultrasonic waves and an ultrasonic wave receiving unit for receiving reflected waves from which the emitted ultrasonic waves are reflected from an obstacle.
  • the ultrasonic sensing unit 110 may have an obstacle and calculate a distance to the obstacle by using the ultrasonic emission and reception time.
  • the ultrasonic sensing unit 110 may not determine the exact height of the obstacle. Therefore, the information on the obstacle sensed by the ultrasonic sensing unit 110 may determine the distance to the obstacle, which may determine the distance information on the axis (X-Y) in which the robot moves. Since the ultrasonic sensing unit 110 determines whether a moving object or a fixed object exists around the sensing unit 110, the ultrasonic sensing unit 110 may sense objects that the depth sensing unit 140 or the lidar sensing unit 130 cannot sense.
  • the infrared sensing unit 120 may sense objects of a specific height that are disposed in the direction in which the robot proceeds. For example, when the infrared sensing unit 120 is disposed at both ends of the top end of the robot, it may be sensed whether or not the objects disposed on the upper part of the robot exist. In order to improve sensing accuracy of the robot, the infrared sensing unit 120 may be distributed based on the height of the robot. For example, when the height of the robot is H, a plurality of infrared sensing units 120 are disposed at the same height as H / 3, 2 * H / 3, H to sense objects at various heights based on the overall height of the robot. can do.
  • the infrared sensing unit 120 may be disposed at both ends of the lowermost end of the robot. It senses an obstacle placed at the bottom of the front to determine whether an obstacle of a height that the robot can pass is placed.
  • the lidar sensing unit 130 scans obstacles arranged at a specific height. Accordingly, when the height of the specific height, for example, the height of the lidar sensing unit is H1, the objects may be sensed based on H1, but this does not sense the objects disposed at a position higher or lower than H1. Meanwhile, the lidar sensing unit 130 may sense a wide range of obstacles that have a very long sensing distance and cover directions up to 270 degrees or 360 degrees. Accordingly, the lidar sensing unit 130 may generate a map by sensing a wide range of obstacles. This map can store the location of obstacles placed at a particular height.
  • the depth sensing unit 140 senses a distance of an obstacle disposed in front of the depth sensing unit 140.
  • the depth sensing unit 140 may generate a photographed image in which 3D distance information is reflected by sensing a distance to an object photographed in each reference area (for example, pixels). Since the depth sensing unit 140 is not limited to a specific height, the depth sensing unit 140 may identify an obstacle at a height at which the infrared sensing unit 120 is not disposed. In particular, the information sensed by the depth sensing unit 140 may use whether the obstacle at the position sensed by the infrared sensing unit 120 is an obstacle that is disposed vertically long.
  • the sensing information of the lidar sensing unit 130 and the depth sensing unit 140 may be collected to identify a space where the glass is disposed. Since the depth sensing unit 140 is hardly 100% accurate in sensing the light passing through the glass, the glass sensed by combining the value sensed by the lidar sensing unit 130 and the value sensed by the depth sensing unit 140 is combined. You can figure out the space where objects such as
  • the infrared sensing unit 120 may sense an obstacle disposed on the upper, middle, or lower front of the robot.
  • the ultrasonic sensing unit 110 may sense an object by sensing an obstacle disposed at the front of the robot.
  • the information generated by the depth sensing unit 140 sensing the depth value of the object disposed on the front surface is called depth information. Therefore, the depth sensing unit 140 calculates the overall outline of the obstacle and the depth information of these objects by collecting the above-described boundary line and distance information of the objects.
  • the sensing module 100 of FIG. 1 calculates height and location information of an external object using two or more sensing units.
  • the lidar sensing unit 130 and the depth sensing unit 140 may be used, or the infrared sensing unit 120 and the depth sensing unit 140 may be used.
  • the robot 1000 may include a sensing module 100 for sensing objects disposed outside the robot such as a moving object and a fixed object, a map storage unit 200 for storing a map, and mechanically or electronically controlling the movement by moving the robot.
  • the controller 900 converts the height and position information of the object calculated by the sensing module 100 into global coordinates, stores the height and position information of the object converted into global coordinates in a 3D map, and senses the sensing module 100.
  • the moving object among the objects stored in the map storage unit is removed from the 3D map according to a sensing result of one or more of the various sensing units of. In the removing process, the presence of an object in an area that the depth sensing unit 140 cannot sense using the ultrasonic sensing unit 110 may be checked.
  • 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 controller 900.
  • the controller 900 may check the current position of the robot 1000 by using the information stored in the map storage unit 200 and provide a movement signal to the moving unit 300.
  • the controller 900 analyzes the information about the external objects sensed by the sensing module 100 to check whether a collidable object is disposed in the traveling path of the robot in the traveling direction, and then, You can control the movement.
  • 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 may include various components according to functions provided by the robot.
  • the controller 900 controls the function unit 400 to perform a specific function or controls the function unit 400 not to perform a function according to the size or characteristics of external objects or the space in which the robot travels. can do.
  • the communicator 500 transmits the sensed map to another robot or server or receives a new map.
  • information about the sensing unit in which an error occurs may be transmitted to the server device.
  • the map storage unit 200 stores the map.
  • the map means information about a space in which the robot 1000 can move.
  • the map divides the entire space into subdivided unit areas and also stores height information of objects arranged in the unit areas.
  • the method may be divided into a method of storing a highest height value and a method of storing a height of a bottom and a top of an object. This will be described later.
  • the map storage unit 200 stores the 3D map generated during the movement of the robot.
  • the 3D map may be accumulated and stored, and the controller 900 may generate one map using the accumulated maps.
  • the map can be constructed in a variety of ways.
  • the entire space may be defined as an X axis and a Y axis, and the height of a sensed object may be stored in each unit area by dividing the entire space into a predetermined unit area. Since the height of the sensed object is stored with respect to the robot, objects at positions higher than the height that the robot can pass are not stored in the map.
  • the height of the object may be stored as a value of the two-dimensional matrix.
  • the two-dimensional matrix may be stored as a pair of two values.
  • the lowest height and the highest height may be stored. This will be described later.
  • the map storage unit 200 is included in the robot 1000, but according to another embodiment, the map storage unit 200 may be disposed in the server.
  • the robot 1000 may receive a map stored in the server in real time or at regular time intervals using communication with the communication unit of the server.
  • the robot 1000 may further transmit information to be stored to the server.
  • the map stored in the map storage unit 200 may use a value sensed by the sensing module 100 of the robot 1000.
  • a map may be generated based on values sensed using a Lidar sensor.
  • a lidar sensor may be disposed so that the robot can continuously generate and update a map.
  • the lidar sensor may provide information necessary for constructing the map by using the other sensing units 110, 120, and 140 to grasp information about the protrusion.
  • FIG 3 is a diagram illustrating a process of generating a 3D map using two or more sensing units according to an embodiment of the present invention.
  • the lidar sensing unit 130 and the depth sensing unit 140 sense objects (external objects).
  • the lidar sensing unit 130 senses objects (S11), and the sensing data analyzer 150 converts coordinates of the objects sensed in S11 into a physical coordinate system (S12). Transformation of the physical coordinate system means calculating (x, y) values based on the robot.
  • x may be a distance from the front of the robot to an object
  • y may be a distance away from the front of the robot in the lateral direction.
  • the depth sensing unit 140 senses the objects (S13), and similarly, the sensing data analyzer 150 converts the coordinates of the objects sensed in S13 into a physical coordinate system (S14).
  • the depth sensing unit 140 may also include height information of the objects in the above-described physical coordinate system.
  • the sensing data analyzer 150 transmits the position information of the objects converted into the physical coordinate system to the controller 900 (S15).
  • the controller 900 matches the current coordinates of the robot with the location information of the objects received in S15 on the global coordinates of the robot, stores them in a map, and aligns the sensors (S16).
  • S16 calculates how far apart the coordinates of the objects sensed by the lidar sensing unit 130 and the depth sensing unit 140, that is, detected by the sensing module 100 of the robot in the x and y directions from the center of the robot. To store it in the 3D map.
  • Sensor alignment refers to a process of checking whether there is an error in the sensing units by comparing the sensed values using information generated by the two or more sensing units.
  • the robot updates the object stored in the 3D map using the lidar sensing unit 130, the depth sensing unit 140, and the ultrasonic sensing unit 110 (S17). Updating an object stored in the map means deleting objects identified as moving objects from the map.
  • the sensing module 100 continuously senses objects. In this process, the objects stored in the previous map but no longer sensed, that is, the moving object disappears or the robot moves and the object is moved. If it is no longer sensed, it reflects this and deletes the object stored in the map.
  • the controller 900 may generate a map of objects generated by each sensor using values provided by the sensing units.
  • the position information of the objects sensed by the lidar sensing unit 130 may be stored in the lidar sensor map
  • the position and height information of the objects sensed by the depth sensing unit 140 may be stored in the depth sensor map.
  • the lidar sensing unit 130 senses objects of a specific position, that is, the height of which the lidar sensing unit 130 is disposed in the robot 1000. Accordingly, the controller 900 may store information of objects provided by the lidar sensing unit in a two-dimensional lidar sensor map. Meanwhile, when two lidar sensing units 130 are disposed on the robot 1000 and two lidar sensing units 130 are disposed at different heights, the objects sensed by the two lidar sensor maps may be stored. Can be. Alternatively, the position and height information of the objects may be stored in the three-dimensional lidar sensor map by reflecting the heights of the objects sensed by the lidar sensing unit 130.
  • the depth sensing unit 140 since the depth sensing unit 140 includes height information of the sensed objects in the depth information, the objects sensed by the depth sensing unit 140 are stored in the 3D depth sensor map.
  • FIG. 4 is a diagram illustrating a process of sensing an external object and converting the object to a physical coordinate system according to an embodiment of the present invention. 3 shows the process of S12.
  • the lidar sensing unit 130 senses the object 19a at the zero position.
  • the lidar sensing unit 130 may know Deg1, Deg2, and z values by using angle information and a distance value of the sensed object 19a.
  • the (x, y) value of the object 19a in the physical coordinate system centering on the position of 0 may be calculated using the following equation.
  • the position of the object 19a on the map may be stored on the map based on the position of the robot.
  • the location of objects stored on the map means an absolute position in space where the map is a global coordinate. That is, the position value of the object sensed by the lidar sensing unit 130 is a relative position with respect to the robot, but if it is converted into global coordinates, it becomes an absolute position in the entire space represented by the map. Sensing data may be increased or decreased at a high resolution according to the sensing accuracy of the lidar sensing unit 130. Although FIG. 4 has been described with reference to the lidar sensing unit 130, this may also be applied to sensors that sense the position of an object in a point manner such as the infrared sensing unit 120.
  • FIG. 5 is a diagram illustrating a process of sensing, by a depth sensing unit, an external object and converting it to a physical coordinate system according to an embodiment of the present invention. 3 shows the process of S14.
  • the depth sensing unit 140 calculates a depth value of the objects in front of the object at a position of zero. For example, the depth sensing unit 140 may calculate pixel position (pX, pY) and distance value z of the object 19b in the depth image including the object 19b. By using this, x and y values based on the depth sensing unit 140 may be calculated.
  • the x and y values calculated in FIG. 5 may be converted into global coordinates on a map of the entire space. Since the depth sensing unit 140 has the height information of the object, the height value is also calculated by applying a vertical distance in a manner similar to the above-described horizontal distance to calculate the vertical length occupied by the pixel, and based on the height information of the object. can do.
  • the sensing priorities of the rider sensing unit 130 and the depth sensing unit 140 are applied. Accordingly, the object information is registered on the 3D map.
  • the depth sensing unit 140 may be located at a short distance, and the sensing result of the lidar sensing unit 130 may be prioritized at a distance to register object information, that is, the location of the object on the map.
  • the depth sensing unit 140 may be given priority to register the position of the object on the map. .
  • the sensing result of the lidar sensing unit 130 may be prioritized to register the position of the object on the map.
  • Moving objects in this process can be deleted again on the map.
  • the lidar sensing unit 130 senses only objects of a specific height in the process of continuously updating the location information of the objects at 20 m / s, the lidar sensing unit 130 moves and disappears the object on the map. You can delete it.
  • the depth sensing unit 140 may exist in the area that can not sense according to the position disposed on the robot (1000). In this case, moving and disappearing dynamic objects cannot be deleted on the map.
  • the ultrasonic sensing unit 110 may perform in real time. All objects within a certain distance (for example, 1 meter) are sensed and objects not detected within a certain distance may be deleted from object information on the 3D map registered by the depth sensing unit 140.
  • the control unit 900 of the robot 1000 may store data. The degree of misalignment can be calculated and corrected, and based on this, sensors for various applications can be fused and used.
  • the lidar sensing unit 130 and the depth sensing unit 140 each generate and return information such as a distance and an angle with respect to an object, and represent data in different ways.
  • the rider sensing unit 130 generates angle information and a distance value of the sensed object
  • the depth sensing unit 140 generates X, Y coordinate values and a distance value based on the depth sensing unit 140. do.
  • the present specification can accurately generate the 3D map by aligning the positions of the objects detected by the two sensing units as shown in FIGS. 6 to 10.
  • FIG. 6 is a diagram illustrating an object sensed on a map by a lidar sensing unit according to an exemplary embodiment of the present invention.
  • the entire space is configured as a map having a size of 10 ⁇ 10, and it is possible to check whether an object is sensed for each cell.
  • the area marked in black in FIG. 6 means a location on the map of the objects sensed at the height at which the lidar sensing unit 130 is disposed. 6 illustrates the sensed objects when the lidar sensing unit 130 is disposed at the H height.
  • the first lidar sensing unit capable of sensing 360 degrees or 270 degrees is disposed on the upper end of the robot 1000, and the second lidar sensing unit or infrared sensing unit capable of sensing at an angle of 180 degrees or less is provided by the robot (
  • the robot 1000 When disposed at the lower end of the 1000, objects may be sensed corresponding to two heights.
  • a large number of temporary maps (lidar sensor maps) in which positions of objects at a specific height of FIG. 6 are stored may be generated.
  • FIG. 7 is a diagram illustrating an object sensed on a map by a depth sensing unit according to an embodiment of the present invention.
  • the depth sensing unit 140 may calculate height information of the sensed object. Therefore, FIG. 7 shows a map on which height information is displayed.
  • the depth sensing unit 140 senses a result of the space sensed by the lidar sensing unit 130.
  • the height displayed in each cell represents the height of the object sensed by the depth sensing unit in mm units.
  • the number smaller than 1000 in FIG. 7 means the height of the object sensed only by the depth sensing unit 140. .
  • an object that is greater than 1000 and is not sensed by the lidar sensing unit 130 but sensed only by the depth sensing unit 140 is a lower portion of the object.
  • the height is greater than 1000 or the error occurs in the lidar sensing unit 130 in the sensing process. Therefore, depending on which sensing unit sensed or did not sense an object, the appearance of the object can be checked.
  • the height information may be subdivided to store the height of the upper end and the height of the lower part together.
  • FIG. 8 is a diagram illustrating both a bottom height and a top height of an object sensed by a depth sensing unit according to an embodiment of the present invention.
  • Each cell consists of two values: (top height, bottom height).
  • top height, bottom height when the bottom height is 0, it means an object attached to the bottom surface such as a pillar.
  • the bottom height is greater than 0, it means an object that is not attached to the bottom surface and is floating.
  • the height of the bottom portion of the objects protruding from the wall may be greater than zero.
  • the object of the (0, 0) cell is sensed by the lidar sensing unit 130, but the depth sensing unit 140 does not sense the object. .
  • the depth sensing unit 140 cannot sense an object due to external light or due to a blind spot of the depth sensing unit 140.
  • FIG. 7 and FIG. 8 it can be seen that the objects in the region other than the 1000 mm height are sensed by the plurality of depth sensing units 140. Therefore, when two or more sensing units are used, sensing accuracy of external objects may be increased by sensing an object that the sensing unit using a specific signal cannot sense.
  • the robot 1000 may determine the location of the objects detected only by the depth sensing unit 140 in FIG. 7 and FIG. 8 to avoid obstacles of low height.
  • FIG. 9 illustrates a three-dimensional map generated by combining information sensed by two types of sensing units according to an exemplary embodiment of the present invention.
  • 6 to 8 show values sensed by each sensing unit in global coordinates on a map.
  • 6 to 8 may be a temporarily generated map, that is, a temporary map (a lidar sensor map and a depth sensor map).
  • the objects stored in these temporary maps may be combined and stored in the map storage unit 200.
  • FIG. 9 shows a map generated by the controller 900 combining two types of temporary maps of FIGS. 6 and 7.
  • the shaded portion of the cell refers to a cell in which the sensing results of the two sensing units do not match. These cells can increase the accuracy of the sensed value according to the newly sensed value during the robot's movement later. If the temporary maps of FIG. 6 and FIG. 8 are combined, they may be stored in the 3D map up to the floor height.
  • the map of FIG. 9 continues to accumulate in time. Accumulated results Objects that maintain their position without moving are considered fixed objects, that is, fixed objects such as walls or doors. On the other hand, when the accumulated object no longer senses the object, this means that the object is moved and disappeared from space. Therefore, when the controller 900 compares the accumulated and stored maps or senses the robot while moving, the object may be removed when the object does not exist at the previously stored location on the map. have.
  • the lidar sensing unit 130 and the depth sensing unit 140 both determine that the specific object is moved or disappeared.
  • any one or more of the lidar sensing unit 130 or the depth sensing unit 140 confirms that a specific object has disappeared or moved, and the ultrasonic sensing unit 110 checks the existence of an object within a short distance to determine accuracy. Can increase.
  • the map information generated by the rider sensing unit 130 and the map information sensed by the depth sensing unit 140 are combined to store locations on the map that are not sensed by a specific sensing unit.
  • the robot 1000 may generate a more accurate map for the space in which the robot 1000 moves.
  • the robot can more accurately identify an external object to create an efficient path to a target point without colliding with it.
  • the sensing unit may be aligned using another sensing unit to improve the accuracy of obstacle avoidance and map generation. It can increase.
  • the sensing unit may be identified by comparing the previously generated map with the recently generated map. And, using two or more sensing units can accurately sense objects of various heights.
  • the robot 1000 moves when the depth sensing unit 140 generates the 3D map as shown in FIG. 9 by sensing the height information in the lidar sensing unit 130 which senses only an object of a specific position although the sensing accuracy is high. In the process, collision with external objects can be avoided.
  • the control unit 900 combines the position information of the object having the height H sensed by the lidar sensing unit 130 with the height and position information of the object sensed by the depth sensing unit 140 to be three-dimensional as shown in FIG. 9.
  • a map is generated and stored in the map storage unit 200, and the 3D map is accumulated and stored in the map storage unit 200 according to the position or time of the robot or the sensing module. That is, the map storage unit 200 may store a plurality of 3D maps, and previously generated 3D maps may be a criterion for comparing the sensed values of the sensing units or checking the movement state of the object.
  • control unit 900 includes a temporary map (lider sensor map) and depth sensing of FIG. 6 in which position information of an object at a height H (for example, 1000 mm) sensed by the lidar sensing unit 130 is stored.
  • a temporary map depth sensor map
  • FIG. 9 By combining the temporary map (depth sensor map) of FIG. 7 or FIG. 8 in which the height and position information of the object sensed by the unit 140 are stored, a three-dimensional map as shown in FIG. 9 is generated.
  • the first map 20 is a map previously generated in time.
  • the height information is assumed to be all 1000mm. Height information may be stored separately.
  • the second map 21 is a map generated by combining the positions of the objects sensed by the robot 1000 at a specific point in time.
  • the positions of the objects sensed by the depth sensing unit 140 and the positions of the objects sensed by the lidar sensing unit 130 may be checked.
  • the two sensing units show the situation where the sensed objects are out of position.
  • the sensing unit that senses the exact position of the object is selected by comparing the positions of the objects of the first map 20 and the positions of the objects of the second map 21 that previously sensed and stored the positions of the objects.
  • the depth sensing unit 140 corrects the data based on the depth sensing unit 140.
  • the position of the objects sensed by the lidar sensing unit 130 shows that the angle needs to be partially modified and aligns by the angle to be corrected.
  • the controller 900 transmits an alert message to the server device that the data of the two sensing units do not match, and the data of the specific sensing unit needs to be aligned, or the display unit attached to the robot 1000. Mark the sensor so that it can be replaced or repaired.
  • Depth information of the objects sensed by the depth sensing unit 140 is converted into physical coordinates (distance values) and aligns the values sensed by the lidar sensing unit 130.
  • depth information of objects disposed at different heights may be applied using the depth sensing unit 140.
  • both the rider sensing unit 130 and the depth sensing unit 140 senses an object
  • the distance value sensed by the lidar sensing unit 130 and the distance value extracted from the depth information sensed by the depth sensing unit 140 may be compared to each other, and may be adjusted by giving priority to a specific sensing unit.
  • the depth sensing unit 140 may calculate the plane equation of the wall surface using the depth information of the three points of the wall surface sensed. Then, when the value (lidar data) sensed by the lidar sensing unit 130 is substituted into the calculated plane equation of the wall surface, the error and distortion of the data can be confirmed. This may be caused by a defect in the instrument or an error in the lidar data, and the lidar data may be calibrated according to the degree of distortion or error.
  • the controller 900 compares the position information of the object sensed by the lidar sensing unit 130 with the position information of the object sensed by the depth sensing unit 140, and when an error occurs as shown in FIG.
  • the sensing result of one sensing unit may be applied or the sensing result of the sensing unit may be calibrated.
  • the controller 900 may calibrate the location information according to the priority of the lidar sensing unit 130 and the depth sensing unit 140. This means that the location information is calibrated by selecting a sensing value with a higher accuracy sensing unit in the area where the robot 1000 is currently located, or by selecting a sensing value according to the distance of the sensed object. If the sensing value for the object at a long distance may be given priority to the sensing value of the lidar sensing unit 130. On the other hand, the sensing value of the depth sensing unit 140 may be given priority according to the material or the reflection intensity of the object. The controller 900 may calibrate the sensed position information by combining the position of the robot, the state of the external light, and the distance of the sensed object.
  • the controller 900 may calibrate the location information according to a comparison result with the 3D map previously stored in the map storage unit 200.
  • the location information sensed by a sensing unit having a high degree of agreement with a previously sensed value may be calibrated with the information stored in the previous 3D map. This may vary depending on the sensing accuracy of the sensing unit, the position of the robot, and the characteristics of the surrounding objects, and may be applied when the change is not large in a short time interval. Therefore, according to an embodiment of the present invention, the sensing result of another sensing part is calibrated with priority as the sensing result of a sensing part that is similar to or identical to the previously sensed value.
  • the controller 900 may calculate a variable for calibrating location information of objects sensed by the sensing unit. For example, in FIG. 10, a variable for calibrating an angle of the lidar sensing unit 130 is calculated (a variable for controlling Deg1 or Deg2 or Z as illustrated in FIG. 4), and the control unit 900 determines
  • the sensing unit 130 may apply a variable to the position information of the object calculated by the sensing unit 130 to perform calibration so that the accurate position information can be confirmed. This process may be referred to as sensing unit alignment.
  • FIG. 11 illustrates a process of identifying and removing a moving object among objects stored in a 3D map of the map storage unit 200 by sensing an object within a predetermined radius of the robot using the ultrasonic sensing unit according to an embodiment of the present invention.
  • the ultrasonic sensing unit 110 senses an object within a predetermined radius of the robot 1000 (S31).
  • the sensing result is processed by the sensing data analysis unit 150 of the sensing module 100 and transmitted to the control unit 900.
  • the controller 900 compares the distance of the object sensed by the ultrasonic sensing unit with the object of the 3D map of the map storage unit (S32). As a result of the comparison, it is checked whether the object stored within the predetermined radius in the map storage unit 200 is sensed by the ultrasonic sensing unit 110 (S33).
  • the controller may refer to the current position of the robot in the 3D map of the map storage unit 200. You can check if there is an object within 50cm.
  • the control unit within a predetermined radius based on the current position of the robot in the three-dimensional map of the map storage unit 200 Check if the object exists.
  • the control unit 900 identifies the object as a moving object. To remove it from the map.
  • control unit 900 determines whether the object stored as being located within a predetermined radius on the map of the map storage unit 200 is sensed by the ultrasonic sensing unit (S33), and if it is sensed, the object is still disposed. Since the state, the control unit 900 may control the moving unit 300 to avoid collision with the object sensed by the ultrasonic sensing unit 110 (S34).
  • the control unit 900 reflects the sensing result of the lidar sensing unit 130 according to the height of the unsensed object and deletes it from the 3D map of the map storage unit 200 (S35). .
  • the depth sensing unit 140 does not sense the area, for example, the depth sensing unit 140 senses the front of the robot, the depth sensing unit 140 senses the object behind the robot 1000. Since it may not be possible, the ultrasonic sensing unit 110 may determine whether the object is a moving object (S35).
  • FIG. 12 is a diagram illustrating a process of removing a moving object by a robot according to an embodiment of the present invention.
  • the position of the robot is indicated by "R”
  • the moving direction of the robot moves from (6, 4) to (6, 6).
  • the object 50 is sensed by the depth sensing unit 140 at the position (6, 3). Since the height is 420 mm, the object 50 is not sensed by the lidar sensing unit 130.
  • the depth sensing unit 140 continuously senses the depths of the objects in the front direction. If the object 50 moves and disappears while the robot is located at the positions (6, 4), the corresponding object 50 is not sensed by the depth sensing unit 140. Similarly, since the object 50 is not sensed at an adjacent position, the ultrasonic sensing unit 110 may delete it from the 3D map.
  • the depth sensing unit 140 is in a state in which the object 50 cannot be sensed. That is, even if the object 50 is disposed, the depth sensing unit 140 cannot sense the object 50 because the depth sensing unit 140 is in the front direction, and in order to sense this, the robot may rotate, but this decreases the moving speed of the robot. Cause.
  • the robot 50 checks whether the object 50 is sensed in the adjacent rear direction using the ultrasonic sensing unit 110, and thus the object 50 is sensed. In this case, it is stored in the 3D map. On the other hand, if the object 50 is not sensed by the ultrasonic sensing unit 110, the object 50 is removed from the 3D map by checking as a moving object.
  • the ultrasonic sensing unit 110 senses whether an object exists within a certain radius of the robot. If the object is not sensed by the ultrasonic sensing unit 110 and the object exists on the 3D map, the controller 900 determines that the object stored on the map is a moving object and removes the moving object from the 3D map. do.
  • FIG. 13 is a diagram illustrating a process in which a robot identifies a moving object in a three-dimensional space according to an embodiment of the present invention.
  • the sensing module 100 of the robot 1000 calculates height and position information of the object by using two or more sensing units (S61).
  • the two or more sensing units may include a lidar sensing unit 130 coupled to the robot to calculate physical distance between the object and the robot and angle information between the object and the robot, and a depth sensing unit to calculate depth information of one direction of the robot. 140, and may be an ultrasonic sensing unit 110 for sensing the distance of the object within a certain radius of the robot.
  • the sensing module 100 calculates height and position information of the object by using two or more sensing units among them.
  • the controller 900 of the robot 1000 converts the height and position information of the object calculated by the sensing module into global coordinates (S62), and the controller 900 includes height and position information of the object converted into global coordinates.
  • a 3D map is generated and stored in the map storage unit of the robot (S63). The process of generating the 3D map was described above with reference to FIGS. 3 to 9.
  • the lidar sensing unit 130 may generate a two-dimensional lidar sensor map, which is an embodiment of the temporary map, and the depth sensing unit 140 may also generate a three-dimensional depth sensor map, which is an embodiment of the temporary map.
  • the controller 900 combines these to generate a three-dimensional map, and the map storage unit 200 stores the three-dimensional map generated by combining the above-described dimensional lidar sensor map and the three-dimensional depth sensor map.
  • the controller 900 identifies the moving object and removes the moving object from the 3D map stored in the map storage unit 200 according to one or more sensing results sensed by the two or more sensing units of the sensing module 100 (S64). ). 11 and 12, the process of removing the moving object from the map has been described.
  • the controller 900 may not sense the first object and the lidar sensing unit 130 that are commonly sensed in the above-described two or more sensor maps (lidar sensor map and depth sensor map). At least one of a second object disposed at a height and sensed by the depth sensing unit 140 and a third object which is not sensed by the depth sensing unit 140 but sensed by the lidar sensing unit 130 is a three-dimensional map.
  • Store in The controller 900 identifies an object not sensed within a predetermined radius among the objects stored in the 3D map as a moving object and removes the object from the 3D map.
  • the constant radius is an embodiment in which the ultrasonic sensing unit 110 can accurately sense.
  • a range for determining whether the object is moved in the 3D map may be a certain radius.
  • the controller 900 sets only to determine whether objects within 2 meters of the surroundings are moved in the process of moving the robot in the 3D map, the ultrasonic sensing unit 110 detects the objects within 2 meters. You can sense it.
  • the sensing results of the Lidar sensing unit 130 and the depth sensing unit 140 may be integrated.
  • control unit 900 may include the second object.
  • the location information of the second object or the third object may be calibrated by comparing the location of the object or the third object with the three-dimensional map previously stored in the map storage unit 200.
  • the robot can check whether the robot can pass through the combination of the sensing units. For example, depending on which sensing unit is applied to an obstacle protruding from the wall, it may be determined as an obstacle that can pass through or an obstacle that cannot pass.
  • the robot In order for the robot to pass through a certain space, it is necessary to determine whether the height of the bottom obstacle disposed on the floor is a height that the robot can pass through. In addition, if there is a protruding obstacle in front of the wall rather than a flat and full obstacle, it may be determined whether the robot can pass according to the space occupied by the obstacle on a specific height.
  • the robot may be operated to perform a predetermined function (cleaning, guidance, security, search, etc.) in the proximity of the robot according to the position of the protruding obstacle (projection) or to avoid the obstacle.
  • a predetermined function cleaning, guidance, security, search, etc.
  • the robot may implement a 3D map using various kinds of sensing units.
  • the height of the robot which plays a role of cleaning, guiding, security screening, etc. in a floating or crowded space such as an airport, a terminal, a hospital, a hotel, or a school, must be higher than a certain size.
  • the robot can sense the entire space in three dimensions and create and move a three-dimensional map based on it. In this process, the robot also senses a moving object and deletes the moving object from the map to prevent unnecessary information from being stored in the map.
  • the lidar sensing unit 130 may sense an object in a wide direction and a long distance, and the depth sensing unit 140 may sense heights of objects in a traveling direction.
  • the ultrasound sensing unit 110 may determine whether the object stored on the map is disposed adjacent to the controller 900 to identify whether the object to be removed from the map.
  • Ultrasonic sensing units 110a to 110f, lidar sensing units 130a, and depth sensing units 140a are disposed on the front, side, and rear surfaces of the robot 1000a. According to an embodiment, one or more sensing units of various types may be arranged. Some of the areas in which the ultrasonic sensing unit is disposed may include an infrared sensing unit to identify objects in a traveling direction. The ultrasonic sensing units 110a to 110f are disposed to effectively sense objects arranged in various height regions.
  • the lidar sensing unit 130a may create an entire map.
  • the depth sensing unit 140a calculates depth information of an object disposed in the front part.
  • the ultrasonic sensing units 110a to 110f may sense whether the object stored on the map has moved by sensing an object in the blind spot that the depth sensing unit 140a cannot sense.
  • the functional unit 400a may be a brush, a mop, or a dust suction port as a component for performing cleaning.
  • a component for performing bomb detection may be included.
  • the moving part 300 is disposed below the robot and is not shown in FIG. 13.
  • an additional lidar sensing unit 130b may be disposed on the robot 1000a to increase sensing accuracy.
  • an object placed at a height other than the height at which the lidar sensing unit 130 is installed may be registered as a feature on the SLAM. That is, location and height information of objects of various heights may be stored in a 3D map.
  • the robot selects a movement path and sets an area to perform a function based on the initially generated map.
  • objects other than the height are not sensed so that the robot does not sense the movement path. This can be dangerous to the movement of and reduce the efficiency of the function.
  • the lidar sensing unit 130 and the depth sensing unit 140 when the feature of the objects detected by the lidar sensing unit 130 and the depth sensing unit 140 is added to the map in the SLAM process, it is possible to create a map reflecting all the objects in the entire space and accuracy. Based on the improved map, the movement path of the robot can be generated more efficiently.
  • the robot in addition to the upper end of the robot can be placed on the lower end of the robot (for example, 130b of FIG. 14) by combining the two-dimensional map of the two heights calculated by the lidar sensing unit 130 can increase the accuracy of the sensing.
  • the lidar sensing unit 130a of the upper end may be configured to have a wide sensing angle
  • the lidar sensing unit 130b of the lower end may be configured to have a narrow sensing angle
  • the depth sensing unit 140 when the depth sensing unit 140 is influenced by light, an external object may be accurately sensed by increasing the priority of sensing data of the lidar sensing unit 130.
  • the lidar sensing unit 130 senses an object at a specific height.
  • the depth sensing unit 140 compensates for an object having various heights, thereby generating an accurate three-dimensional map.
  • the determination of the dynamic object based on the ultrasonic sensing unit 110 may be compensated for using the temporary maps that store the positions of the objects sensed by each sensing unit, that is, the lidar sensor map and the depth sensor map. Can sense accurately.
  • FIG. 15 is a diagram illustrating a process of identifying a moving object by comparing positions of objects sensed by each sensing unit according to an embodiment of the present invention.
  • the lidar sensing unit 130 generates lidar sensing data for an external object (S71), and the depth sensing unit 140 also generates depth sensing data for an external object (S72).
  • the sensing unit provides the generated data to the sensing data analyzer (S73 and S74).
  • the sensing data analysis unit 150 converts each sensing data into physical coordinates of the robot center (S75) and provides it to the controller 900 (S75). When converting to physical coordinates, it is provided with which sensing unit the result of sensing. Therefore, the controller 900 converts the sensing data converted into physical coordinates into global coordinates (S81). When converted to global coordinates, each of the previously generated Lidar sensor maps and depth sensor maps can be compared with the sensed data. In addition, the controller 900 may compare the three-dimensional map combined with the lidar sensor map and the depth sensor map.
  • the lidar sensing data may be compared with the lidar sensor map to determine whether it is a moving object, and the lidar sensor map may be updated (S82). In the meantime, if the moving object that is not sensed by the lidar sensing unit 130 and removed from the depth sensor map is present in the process, the depth sensor map may be updated according to the height of the moving object (S83).
  • the depth sensing unit 140 may maintain the position of the object without updating the depth sensor map even if the moving object is moved when the direction angle or the detectable range of the object is out of the depth sensing unit 140. .
  • the depth is the depth. If it is removed from the sensor map and the height cannot be sensed by the lidar sensing unit 130 is maintained in the depth sensor map.
  • the controller 900 may generate a 3D map by combining the updated Lidar sensor map and the depth sensor map (S84).
  • the physical coordinates of the objects sensed by the lidar sensing unit 130 are continuously converted into global coordinates by the controller 900 to continuously generate a lidar sensor map.
  • the physical coordinates of the objects sensed by the depth sensing unit 140 are also converted by the controller 900 into global coordinates to continuously generate the depth sensor map.
  • the lidar sensing unit 130 may identify an object that is not sensed and determined to be removed from the lidar sensor map. More precisely, in one embodiment, the lidar sensing unit 130 no longer senses the object in the global coordinates previously identified as the specific object is located. The controller 900 checks whether there is an object sensed by the depth sensing unit 140 in response to the global coordinates.
  • the object is a depth sensor map. Keep it without deleting it. As a result, it is not sensed in the lidar sensor map and is determined to be a moving object. However, if it is confirmed in the depth sensor map, the depth sensor map is maintained, and the depth sensing unit 140 senses the data in the 3D map later. Can be stored separately.
  • the depth sensing unit 140 may have a field of view (Fov) that is narrower than that of the lidar sensing unit 130 and a distance for detecting an object may be shorter than that of the lidar sensing unit 130. Therefore, there may be an object that the depth sensing unit 140 cannot sense for the region outside the Fov. In order to compensate for this, when the sensor is not sensed by the lidar sensing unit 130 and is not sensed by the depth sensing unit 140, the movement of the object may be checked using the ultrasonic sensing unit 110.
  • Fov field of view
  • an object may be sensed even in an area that the depth sensing unit 140 of the robot cannot detect according to the position and Fov of the depth sensing unit 140 installed in the robot 1000.
  • a depth sensing unit 140 may detect an object having a low height close to the floor, for example, a 5 cm height obstacle, at a location 2 m in front of the robot. If it is out of this, even if the detected object moves, the depth sensing unit 140 cannot confirm this, and thus, these objects cannot be removed from the depth sensor map.
  • 16 and 17 illustrate a Lidar sensor map, a depth sensor map, and a 3D map according to an embodiment of the present invention.
  • the lidar sensing unit 130 senses objects at a constant height, and when the sensing data analysis unit 150 provides the physical coordinates to the control unit 900, the control unit 900 based on the lidar sensor map 201. Create Lidar sensor map reflecting global coordinates.
  • the depth sensing unit 140 in the position of the robot can sense the same as 201a, the depth sensor map in this area by reflecting the global coordinates of the objects sensed by the sensing unit 140, the depth sensor map 202 ) Can be created.
  • the regions 201b and 202a that are both sensed by the two sensing units and stored in the global coordinates and the region 202b which are stored in the global coordinates by only one sensing unit are shown. There is this.
  • a three-dimensional map 210 is constructed as shown in FIG. 17.
  • the region 210a sensed by both the lidar sensing unit 130 and the depth sensing unit 140, the region 210b sensed only by the depth sensing unit 140, and lidar It may be divided into areas sensed by the sensing unit (black areas of FIGS. 16 and 17), which allow the robot to display each of them in different colors or different shapes.
  • the map of FIG. 17 may also be a temporary map. That is, it can be created and maintained temporarily and stored as a fixed map at a certain point in time.
  • FIG. 18 illustrates a depth sensor map continuously generated in FIG. 16.
  • FIG. The depth sensor map 204 presents regions 204a and 204b in which the positions of the new objects sensed while the robot (represented by R) is advanced.
  • the depth sensing unit 140 does not sense the areas 202a and 202b disposed on the rear of the robot.
  • the object is not moved and thus remains in the lidar sensor map. Meanwhile, the object of the height (region 202b of FIG. 18 corresponding to 202b of FIG. 16 and 210b of FIG. 17) that is not sensed by the lidar sensing unit 130 is maintained as it is, but the ultrasonic sensing unit 110 is located in the region 202b. If the object is not sensed at, it may be removed from the depth sensor map 204.
  • a temporary map for storing the location of objects, that is, objects detected by each sensing unit, by the controller 900 of the robot having both the depth sensing unit 140 and the lidar sensing unit 130 (lidar sensor map, Depth sensor map) is generated.
  • the depth sensor map may store and update the coordinates of the objects within a distance between the Fov and the distance detected by the depth sensing unit 140 according to a certain period (determined according to the specification of the depth sensing unit).
  • information outside the distance with Fov is converted and stored on the 3D map according to the global coordinates of the robot.
  • the moving object is determined using the lidar sensing unit 130.
  • the lidar sensor map updates the objects within an angle and distance detected by the lidar sensing unit 130 at regular intervals in real time, converts and stores them into global coordinates of the robot coordinate system, and removes moving objects.
  • the lidar sensor map is updated.
  • the depth sensor map may be compared with the Lidar sensor map to remove the moving object. That is, in the process of updating the lidar sensor map, the global coordinates of the point where the object no longer exists are compared with the depth sensor map.
  • the depth sensor map may be used. Keep without deleting.
  • the object of the height detectable by the lidar sensing unit 130 is no longer sensed, it may be deleted from the depth sensor map.
  • the presence or absence of movement of an object in a region that the depth sensing unit 140 cannot sense in the depth sensor map may be checked using the ultrasonic sensing unit 110 or the infrared sensing unit 120.
  • the lidar sensing unit 130 calculates a first lidar sensor map reflecting the position information of the objects sensed (S91), and the depth sensor map reflects the depth sensor map reflecting the height and position information of the objects sensed by the depth sensing unit S92. Calculate. This has been described with reference to FIG. 16.
  • the lidar sensing unit 130 calculates a second lidar sensor map reflecting the position information of the objects sensed (S92). As a result, the moved object, that is, the missing object, does not exist in the second lidar sensor map.
  • the controller 900 compares the first lidar sensor map and the second lidar sensor map to calculate the position of the removed object and checks the calculated position in the depth sensor map (S94). If it is confirmed that the depth sensor map is removed, the change is confirmed in the two sensor units, and thus the depth sensor map is removed. On the other hand, if there is a mismatch, for example, if the position of the removed object is an area that the depth sensing unit 140 cannot detect, it is selected whether or not to remove the object.
  • the controller 900 updates the depth sensor map by using the height information corresponding to the position of the object removed from the depth sensor map (S95). For example, the controller 900 maintains the position of the object in the depth sensor map when the height information is not a height that can be sensed by the lidar sensing unit 130. Instead, the controller 900 removes the position of the object from the depth sensor map when the object is still not sensed using any one of other sensing units, for example, the ultrasonic sensing unit 110 and the infrared sensing unit 120. Can be configured to have no obstacles.
  • the robot is equipped with a cleaning function as an embodiment of the robot.
  • the present invention is not limited thereto and is a technology applicable to all autonomous robot products.
  • the robot of the present invention enables the fusion of various sensors to identify moving objects and store the locations of the objects in a three-dimensional map.
  • the present invention is not necessarily limited to these embodiments, and all of the components are within the scope of the present invention. It can also be combined to operate 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.
  • lidar sensing unit 140 depth sensing unit
  • sensing data analysis unit 200 map storage unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Acoustics & Sound (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇에 관한 것으로, 본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 식별하는 로봇은둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈, 외부에 미리 설정된 기능을 제공하는 기능부, 로봇을 이동시키는 이동부, 로봇이 이동하는 공간에서 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 저장하는 맵 저장부, 및 센싱 모듈, 기능부, 이동부 및 맵 저장부를 제어하며 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 3차원 맵에 저장하며, 센싱 모듈의 센싱부들 중 어느 하나 이상의 센싱 결과에 따라 맵 저장부에 저장된 객체 중 이동 객체를 3차원 맵에서 제거하는 제어부를 포함한다.

Description

3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
본 발명은 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇에 관한 기술이다.
공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에서 로봇이 동작하기 위해서는 전체 공간에 대한 맵을 가져야 한다. 한편, 맵은 2차원 적으로 구성할 수도 있으나 로봇이 일정한 높이를 가질 경우 외부의 공간에 대해 3차원 정보를 유지하면 로봇 이동의 정확성이 높아진다.
특히, 공항, 학교, 관공서, 호텔, 사무실, 공장 등 인적, 물적 교류가 활발하게 발생하는 공간에는 구조물이 일률적으로 배치되지 않으며, 또한 임시적으로도 안내데스크 같은 구조물이 배치된 후 다시 제거되는 경우도 많으며 이동 객체들 역시 다양한 높이를 가질 수 있다.
따라서, 외부 객체들의 높이를 반영한 3차원 맵을 생성하기 위해서는 로봇이 다양한 방식으로 센싱된 정보들을 취합 및 조정하여 정확한 맵을 생성하는 방안이 필요하다.
본 명세서에서는 전술한 문제점을 해결하기 위한 것으로, 둘 이상의 센싱부를 이용하여 공간에 배치된 객체들의 위치 정보와 높이 정보를 생성하여 이를 반영하는 3차원 맵을 생성하고자 한다.
또한, 본 명세서에서는 지속적으로 이동하거나 사라지는 이동 객체들을 확인하여 3차원 맵 상에 고정된 객체들만이 저장될 수 있도록 하여 로봇의 이동 효율을 높이고자 한다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 식별하는 로봇은둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈, 외부에 미리 설정된 기능을 제공하는 기능부, 로봇을 이동시키는 이동부, 로봇이 이동하는 공간에서 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 저장하는 맵 저장부, 및 센싱 모듈, 기능부, 이동부 및 맵 저장부를 제어하며 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 3차원 맵에 저장하며, 센싱 모듈의 센싱부들 중 어느 하나 이상의 센싱 결과에 따라 맵 저장부에 저장된 객체 중 이동 객체를 3차원 맵에서 제거하는 제어부를 포함한다.
본 발명의 다른 실시예에 의한 3차원 공간의 이동 객체를 식별하는 로봇은 로봇에 결합하여 객체와 로봇 사이의 물리적 거리와 객체와 로봇 사이의 각도 정보를 산출하는 라이다 센싱부와, 로봇의 일방향의 뎁스 정보를 산출하는 뎁스 센싱부와, 로봇의 일정 반경 내의 객체의 거리를 센싱하는 초음파 센싱부를 포함하며, 센싱부들 중 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈, 라이다 센싱부가 생성하는 2차원 라이다 센서맵과 뎁스 센싱부가 생성하는 3차원 뎁스 센서맵을 결합하여 생성되는 3차원 맵을 저장하는 맵 저장부, 및 둘 이상의 센서맵에서 공통으로 센싱된 제1객체와, 라이다 센싱부가 센싱할 수 없는 높이에 배치되어 뎁스 센싱부에 의해 센싱된 제2객체와, 뎁스 센싱부에서 센싱되지 않았으나 라이다 센싱부가 센싱한 제3객체 중 어느 하나 이상을 3차원 맵에 저장하고, 3차원 맵에 저장된 객체 중에서 반경 내에 센싱되지 않은 객체를 이동 객체로 확인하여 3차원 맵에서 제거하는 제어부를 포함한다.
본 발명의 또 다른 실시예에 의한 3차원 공간의 이동 객체를 식별하는 방법은 로봇의 센싱 모듈이 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 단계, 로봇의 제어부가 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하는 단계, 제어부가 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 생성하여 로봇의 맵 저장부에 저장하는 단계, 및 센싱 모듈의 둘 이상의 센싱부가 센싱한 어느 하나 이상의 센싱 결과에 따라 제어부가 이동 객체를 확인하여 맵 저장부에 저장된 3차원 맵에서 상기 이동 객체를 제거하는 단계를 포함한다.
본 발명의 실시예들을 적용할 경우, 로봇이 이동하는 과정에서 주변에 배치되는 객체들의 높이와 깊이 등의 정보를 산출하여 로봇이 충돌 없이 이동할 수 있도록 한다.
또한, 본 발명의 실시예를 적용할 경우, 로봇은 센싱부의 다양한 센싱 결과들을 결합하여 특정한 센서가 가지는 센싱 데이터의 오류를 보완할 수 있다.
또한, 본 발명의 실시예를 적용할 경우, 다양한 높이의 객체들을 센싱하고 이들의 이동 상황 또는 고정된 상태에 따라 맵에서 추가 및 삭제하여 로봇이 정확하게 전체 공간에 대한 사물들의 배치 상황을 확인하여 이동할 수 있도록 한다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 의한 공간을 3차원적으로 센싱하는 센싱 모듈의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 의한 둘 이상의 센싱부들을 이용하여 3차원 맵을 생성하는 과정을 보여주는 도면이다.
도 4는 본 발명의 일 실시예에 의한 라이다 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다.
도 5는 본 발명의 일 실시예에 의한 뎁스 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 의한 라이다 센싱부가 맵에 센싱한 객체를 표시한 도면이다.
도 7은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체를 표시한 도면이다.
도 8은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체의 바닥 높이와 상단부 높이를 모두 표시한 도면이다.
도 9는 본 발명의 일 실시예에 의한 두 종류의 센싱부에서 센싱한 정보를 결합하여 3차원 맵을 생성한 도면이다.
도 10은 본 발명의 일 실시예에 의한 두 개의 센싱부가 센싱한 결과를 얼라이닝 시키는 과정을 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 의한 초음파 센싱부를 이용하여 로봇의 일정 반경 내의 객체를 센싱하여 맵 저장부(200)의 3차원 맵에 저장되었던 객체들 중 이동 객체를 식별하여 제거하는 과정을 보여주는 도면이다.
도 12는 본 발명의 일 실시예에 의한 로봇이 이동 과정에서 이동 객체를 제거하는 과정을 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 로봇이 식별하는 과정을 보여주는 도면이다.
도 14은 본 발명의 일 실시예에 의한 다양한 센싱부들이 배치되는 구성을 보여주는 도면이다.
도 15는 본 발명의 일 실시예에 의한 각각의 센싱부들이 센싱한 객체들의 위치를 비교하여 이동 객체를 확인하는 과정을 보여주는 도면이다.
도 16 및 도 17은 본 발명의 일 실시예에 의한 라이다 센서맵과 뎁스 센서맵, 그리고 3차원 맵을 보여주는 도면이다.
도 18은 도 16에 연속하여 생성된 뎁스 센서맵을 보여주는 도면이다.
도 19는 본 발명의 일 실시예에 의한 차원 공간의 이동 객체를 식별하는 과정을 보여주는 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 목적(청소, 보안, 모니터링, 안내 등)을 가지거나 혹은 로봇이 이동하는 공간의 특성에 따른 기능을 제공하며 이동하는 장치를 포함한다. 따라서, 본 명세서에서의 로봇은 소정의 정보와 센서를 이용하여 이동할 수 있는 이동수단을 보유하며 소정의 기능을 제공하는 장치를 통칭한다.
본 명세서에서 로봇은 맵을 보유하면서 이동할 수 있다. 맵은 공간에서 이동하지 않는 것으로 확인된 고정된 벽, 계단 등에 대한 정보를 의미한다. 또한, 로봇은 맵 위에 별도의 객체들에 대한 정보를 저장할 수 있다. 예를 들어, 고정된 벽에 부착된 안내 플랫폼, 새로이 설치된 자판기 등은 높이를 가지는 물체라는 점에서 이들의 높이 정보도 맵에 저장되는 것이 필요하다.
또한, 본 명세서에서 로봇은 공간을 3차원적으로 저장하여 벽이나 유리가 3차원 상에 배치되어도 로봇이 진입 가능한 영역 혹은 기능 가능한 영역인지를 확인할 로봇이 확인하고, 이에 대한 정보를 저장할 수 있다.
특히, 본 명세서에서는 둘 이상의 센싱부들이 센싱한 정보들을 조정하여 3차원 맵을 생성하는 실시예들에 대해 살펴본다.
도 1은 본 발명의 일 실시예에 의한 공간을 3차원적으로 센싱하는 센싱 모듈의 구성을 보여주는 도면이다. 로봇에 하나 또는 다수가 장착될 수 있다.
센싱 모듈(100)은 초음파 센싱부(110), 적외선 센싱부(120), 라이다 센싱부(130), 그리고 뎁스 센싱부(140)와 같은 센싱을 수행하는 구성요소와, 센싱된 값을 분석하는 센싱 데이터 분석부(150)를 포함한다. 센싱 모듈(100)을 구성하는 각각의 구성요소들은 논리적 구성요소들이므로, 이들이 반드시 물리적으로 하나의 장치 내에 구현될 필요는 없다. 예를 들어, 적외선 센싱부(120)는 로봇의 경계 영역에 배치되고, 초음파 센싱부(110)는 로봇의 전면 중심 영역에 배치될 수 있다. 또한 뎁스 센싱부(140)와 라이다 센싱부(130)는 로봇의 상면에 배치될 수 있다.
또한, 이들 각각의 센싱부들과 센싱 데이터 분석부(150)는 데이터 링크 또는 무선 신호를 통해 센싱된 정보를 송수신할 수 있다. 또한 각각의 센싱부들은 다양한 센서들의 집합일 수 있다. 예를 들어 적외선 센싱부(120)가 전면에 배치된 사물을 센싱하기 위해, 물리적으로 적외선 송신부 및 적외선 수신부가 한 쌍 또는 다수 배치되는 것을 통합하여 논리적으로 적외선 센싱부(120)로 지시할 수 있다. 마찬가지로 초음파 센싱부(110) 역시 물리적으로 초음파 송신부 및 초음파 수신부가 한쌍 또는 다수 배치되는 것을 통합하여 논리적으로 초음파 센싱부(110)로 지시할 수 있다.
본 발명을 적용할 경우, 로봇이 장애물을 쉽게 회피하여 주행할 수 있도록 3차원 맵을 생성할 수 있다. 이를 위해 본 발명의 실시예에서는 다양한 종류의 센싱부들을 조합하여 3차원 맵을 생성한다. 특히, 외부의 장애물이 가지는 특징, 예를 들어 빛의 반사도, 투과도 또는 외부광에 의해 센싱 정확도가 영향받는 부분, 장애물의 높이 등을 고려하여 로봇이 신뢰성 높은 3차원 맵을 생성할 수 있도록 한다.
이를 위해, 두 종류의 센싱 데이터(라이다 및 뎁스)를 결합하고 이에 기반하여 SLAM에 의한 맵을 생성하는 과정에 대해 살펴보고, 이들 맵에서 이동 객체를 제거하는 과정을 살펴본다. 본 발명을 적용하면 라이다-뎁스 슬램(Lidar-Depth SLAM)을 수행할 수 있어 로봇이 이동하는 대면적의 공간에서 정확한 3차원 맵을 생성할 수 있다.
라이다 센싱부(130)가 센싱한 결과와 뎁스 센싱부(140)가 센싱한 결과를 결합하여 3차원 맵을 생성하는 것은 본 발명의 일 실시예이며, 라이다 센싱부(130) 대신 적외선 센싱부(120)를 이용할 수도 있다. 예를 들어, 적외선 센싱부(120)를 다수 배치하고, 일정 각도로 적외선 신호를 전송하여 수신되는 신호의 특성에 따라 라이다 센싱부(130)와 같이 포인트 방식으로 객체를 센싱할 수 있다.
뿐만 아니라, 적외선 센싱부(120)를 뎁스 센싱부(140) 대신 이용할 수 있다. 라이다 센싱부(130)가 센싱한 객체들 중에서 전진 방향의 객체들, 또는 일정한 거리 내의 객체들의 높이 정보를 센싱할 수 있도록 로봇(1000)의 다양한 높이에 적외선 센싱부(120)를 배치하고 각각의 적외선 센싱부(120)가 센싱한 객체들의 정보과 라이다 센싱부(130)가 센싱한 정보를 결합하여 3차원 맵을 생성할 수 있다.
본 명세서에서 도 1과 같은 센싱모듈(100)을 장착한 로봇은 전체 공간에 대한 3차원의 맵을 형성하면서, 이 과정에서 불필요한 이동 객체들은 맵에 임시적으로 표시하되 로봇이 이들 이동 객체들로부터 멀어지거나 이동 객체들이 사라질 경우 이들 이동 객체들을 맵 상에서 제거할 수 있다. 이동 객체들과 고정 객체들 모두를 로봇은 센싱할 수 있는데, 센싱의 정확도를 높이기 위해 각각의 센싱부들을 이용하여 센싱된 정보 중에서 특정 정보에 가중치를 높이거나 혹은 일부 정보들을 취사 선택하여 센싱 정확도를 높일 수 있다.
고정 객체는 벽, 문, 유리창 등 공간의 건물에 고정된 사물들이며 이동 객체는 사람, 또는 사람에 의해 이동하는 사물(캐리어 혹은 운송장치), 혹은 임시적으로 배치된 사물 등이 될 수 있다. 본 명세서에서 3차원 맵을 생성하는 과정에서 임시적으로 센싱된 이동 객체는 로봇이 이동한 후에는 맵에서 제거된다. 각각의 센싱부들에 대해 보다 상세히 살펴본다.
본 발명의 일 실시예로, 초음파 센싱부(110)는 외부에 이동 객체 혹은 고정 객체들이 존재하는지 여부를 확인할 수 있다. 초음파 센싱부(110)는 초음파를 발산하는 초음파 발산부와 발산된 초음파가 장애물로부터 반사되어 돌아오는 반사파를 수신하는 초음파 수신부로 구성될 수 있다. 초음파 센싱부(110)는 초음파 발산 및 수신 시간을 이용하여 장애물을 가지하고 장애물까지의 거리를 산출할 수 있다.
다만, 초음파 센싱부(110)는 장애물의 정확한 높이를 파악하지 못한다. 따라서, 초음파 센싱부(110)에서 센싱한 장애물의 정보는 장애물과의 거리를 판단하며 이는 로봇이 이동하는 축(X-Y)에서의 거리 정보를 판단할 수 있다. 초음파 센싱부(110)는 주변에 이동 객체 또는 고정 객체가 존재하는지를 판단하므로 뎁스 센싱부(140) 또는 라이다 센싱부(130)가 센싱하지 못하는 객체들을 센싱할 수 있다.
다음으로 적외선 센싱부(120)는 로봇이 진행하는 방향에 배치되는 특정 높이의 객체들을 센싱할 수 있다. 예를 들어, 로봇의 최상단 양쪽 끝에 적외선 센싱부(120)가 배치될 경우, 로봇의 상단 부분에 배치된 객체들이 존재하는지를 센싱할 수 있다. 본 명세서에 로봇이 센싱 정확도를 높이기 위해 적외선 센싱부(120)가 로봇에 높이를 기준으로 분포될 수 있다. 예를 들어 로봇의 높이가 H 인 경우 H/3, 2*H/3, H 와 같은 높이에 적외선 센싱부(120)들이 다수 배치되어 로봇의 전체 높이를 기준으로 다양한 높이의 위치에서 객체들을 센싱할 수 있다.
또 다른 실시예로 적외선 센싱부(120)는 로봇의 최하단 양쪽 끝에도 배치될 수 있다. 이는 로봇이 통과할 수 있는 높이의 장애물이 배치되는지를 판단하기 위해 전방의 하단에 배치된 장애물을 센싱한다.
라이다(Lidar) 센싱부(130)는 특정한 높이에 배치되는 장애물들을 스캔한다. 따라서 특정한 높이, 예를 들어 라이다 센싱부가 배치된 높이가 H1인 경우, H1을 기준으로 객체들을 센싱할 수 있으나 이는 H1보다 높거나 혹은 낮은 위치에 배치되는 객체들을 센싱하지 못한다. 한편 라이다 센싱부(130)는 센싱 거리가 매우 길고 방향 또한 270도 이상 혹은 360도까지 포괄하는 넓은 범위의 장애물을 센싱할 수 있다. 따라서, 라이다 센싱부(130)는 넓은 범위의 장애물을 센싱하여 맵을 생성할 수 있다. 이 맵은 특정한 높이에 배치되는 장애물들의 위치를 저장할 수 있다.
뎁스 센싱부(140)는 전방에 배치된 장애물의 거리를 센싱한다. 뎁스 센싱부(140)는 각각의 기준영역(예를 들어 픽셀) 단위로 촬영된 사물까지의 거리를 센싱하여 3차원의 거리 정보가 반영된 촬영 이미지를 생성할 수 있다. 뎁스 센싱부(140)는 센싱 범위가 특정한 높이에 한정되지 않으므로, 적외선 센싱부(120)가 배치되지 않은 높이에서의 장애물을 확인할 수 있다. 특히, 적외선 센싱부(120)가 센싱한 위치의 장애물이 상하로 길게 배치되는 장애물인지 여부를 뎁스 센싱부(140)에서 센싱한 정보를 이용할 수 있다.
또한, 라이다 센싱부(130)와 뎁스 센싱부(140)의 센싱 정보를 취합하여 유리가 배치된 공간을 확인할 수 있다. 뎁스 센싱부(140)는 빛이 투과하는 유리를 센싱하는 정확도가 100%가 되기 어려우므로, 라이다 센싱부(130)에서 센싱한 값과 뎁스 센싱부(140)가 센싱한 값을 조합하여 통유리와 같은 사물들이 배치된 공간을 파악할 수 있다.
이하, 적외선 센싱부(120)에서 로봇의 상측, 중간, 또는 하측 전면에 배치된 장애물을 센싱할 수 있다. 초음파 센싱부(110)에서 로봇의 전면부에 배치된 장애물을 센싱하여 객체를 센싱할 수 있한다. 뎁스 센싱부(140)가 전면에 배치된 객체의 뎁스 값을 센싱하여 생성한 정보를 뎁스 정보라고 한다. 따라서, 뎁스 센싱부(140)는 전술한 객체들의 경계선과 거리 정보와 취합하여 장애물의 전체적인 윤곽과 이들 객체들의 뎁스 정보를 산출한다.
도 1의 센싱 모듈(100)은 둘 이상의 센싱부들을 이용하여 외부의 객체의 높이와 위치 정보를 산출한다. 일 실시예로 라이다 센싱부(130)와 뎁스 센싱부(140)를 이용하거나, 적외선 센싱부(120)와 뎁스 센싱부(140)를 이용할 수 있다.
도 2는 본 발명의 일 실시예에 의한 로봇의 구성을 보여주는 도면이다. 로봇(1000)은 이동 객체와 고정 객체 등 로봇의 외부에 배치된 객체들을 센싱하는 센싱 모듈(100), 맵을 저장하는 맵 저장부(200), 로봇을 이동시키며 이동을 기계적 혹은 전자적으로 제어하는 이동부(300), 로봇의 소정의 기능, 즉 미리 설정된 기능을 수행하는 기능부(400), 다른 로봇과 맵 또는 객체들에 관한 정보를 송수신하는 통신부(500), 그리고 이들 각각의 구성요소들을 제어하는 제어부(900)를 포함한다.
특히 제어부(900)는 센싱 모듈(100)이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 3차원 맵에 저장하며, 센싱 모듈(100)의 다양한 센싱부들 중 어느 하나 이상의 센싱 결과에 따라 맵 저장부에 저장된 객체 중 이동 객체를 상기 3차원 맵에서 제거한다. 제거하는 과정에서 초음파 센싱부(110)를 이용하여 뎁스 센싱부(140)가 센싱하지 못하는 영역의 객체의 존재 유무를 확인할 수 있다.
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 정보를 이용하여 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 또한, 센싱 모듈(100)에서 센싱된 외부의 객체들에 대한 정보를 제어부(900)가 분석하여 진행 방향에 로봇의 진행 경로에 충돌 가능한 사물이 배치되어 있는지를 확인한 후, 이동부(300)의 이동을 제어할 수 있다.
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있다. 또한, 외부의 객체들의 크기나 특성, 혹은 로봇이 주행하는 공간에 따라 제어부(900)는 기능부(400)가 특정한 기능을 수행하도록 제어하거나, 혹은 기능부(400)가 기능을 수행하지 않도록 제어할 수 있다.
통신부(500)는 센싱한 맵을 다른 로봇 혹은 서버에게 전송하거나 새로운 맵을 수신한다. 뿐만 아니라, 센싱부들이 센싱한 결과를 얼라이닝 시키는 과정에서 오류가 발생한 센싱부에 대한 정보를 서버 장치로 전송할 수 있다.
맵 저장부(200)는 맵을 저장한다. 맵은 로봇(1000)이 이동할 수 있는 공간에 대한 정보를 의미한다. 맵은 전체 공간을 세분화된 단위 영역으로 나누어 단위 영역에 배치된 객체의 높이 정보도 저장한다. 높이 정보를 구성하는 일 실시예로 가장 높은 높이 값을 저장하는 방식과, 객체의 최하단의 높이와 최상단의 높이를 저장하는 방식으로 나뉘어질 수 있다. 이에 대해서는 후술한다.
맵 저장부(200)는 로봇이 이동하는 과정에서 생성한 3차원 맵을 저장한다. 3차원 맵은 누적하여 저장할 수 있고, 제어부(900)가 누적된 맵들을 이용하여 하나의 맵을 생성할 수도 있다.
맵은 다양한 방식으로 구성될 수 있다. 일 실시예로 전체 공간을 X축 및 Y축으로 하고, 일정한 단위 영역으로 나누어 각 단위 영역에 센싱된 객체의 높이가 저장될 수 있다. 로봇을 기준으로 센싱된 객체의 높이가 저장되므로 로봇이 통과할 수 있는 높이보다 더 높은 위치의 객체들은 맵에 저장되지 않는다.
2차원 행렬의 값으로 객체의 높이가 저장될 수 있다. 또는 2차원 행렬에 두 개의 값의 쌍으로 저장될 수 있는데, 일 실시예로는 가장 낮은 바닥면의 높이값과 가장 높은 높이값을 저장할 수 있다. 이에 대해서는 후술한다.
도 2에서 맵 저장부(200)는 로봇(1000) 내에 포함되어 있으나, 다른 실시예에 의하면 맵 저장부(200)가 서버에 배치될 수 있다. 이 경우, 로봇(1000)은 실시간으로 혹은 일정한 시간 간격을 두고 서버에 저장된 맵을 서버의 통신부와 통신을 이용하여 수신할 수 있다. 또한, 로봇(1000)이 추가로 저장해야 할 정보를 서버에 전송할 수 있다.
맵 저장부(200)에 저장되는 맵은 로봇(1000)의 센싱 모듈(100)이 센싱한 값을 이용할 수 있다.
일 실시예로 라이다(Lidar) 센서를 이용하여 센싱된 값들에 기반하여 맵이 생성될 수 있다. 예를 들어, 도 1에 추가적으로 라이다 센서가 배치되어 로봇은 지속적으로 맵을 생성 및 업데이트할 수 있다. 또한, 라이다 센서가 돌출물에 대한 정보를 파악하기 위해서 다른 센싱부들(110, 120, 140)을 이용하여 맵을 구성하는데 필요한 정보를 제공할 수 있다.
도 3은 본 발명의 일 실시예에 의한 둘 이상의 센싱부들을 이용하여 3차원 맵을 생성하는 과정을 보여주는 도면이다. 일 실시예로 라이다 센싱부(130)와 뎁스 센싱부(140)가 객체들(외부의 사물들)을 센싱한다.
먼저, 라이다 센싱부(130)가 객체들을 센싱하고(S11), 센싱 데이터 분석부(150)가 S11에서 센싱된 객체들의 좌표를 물리 좌표계로 변환한다(S12). 물리좌표계의 변환이란, 로봇을 기준으로 (x, y) 값을 산출하는 것을 의미한다. 일 실시예로, x는 로봇정면에서 물체까지의 거리, y는 로봇 정면에서 횡 방향으로의 떨어진 거리가 될 수 있다.
다음으로 뎁스 센싱부(140)가 객체들을 센싱하고(S13), 마찬가지로 센싱 데이터 분석부(150)가 S13에서 센싱된 객체들의 좌표를 물리 좌표계로 변환한다(S14). 여기서 뎁스 센싱부(140)는 객체들의 높이 정보까지도 전술한 물리 좌표계에 포함시킬 수 있다.
그리고 센싱 데이터 분석부(150)는 물리 좌표계로 변환된 객체들의 위치 정보를 제어부(900)에게 전달한다(S15).
제어부(900)는 로봇의 글로벌 좌표 상에서 로봇의 현재 좌표와 S15에서 전달받은 객체들의 위치 정보를 매칭하여 맵에 저장하며 센서 얼라이닝한다(S16).
즉, S16은 라이다 센싱부(130)와 뎁스 센싱부(140)에 의해 센싱된, 즉 로봇의 센싱 모듈(100)이 검출한 객체들의 좌표를 로봇 중심에서 x, y 방향으로 얼마나 떨어져 있는지 계산하여 이를 3차원 맵에 저장한다. 센서 얼라이닝은 둘 이상의 센싱부들이 생성한 정보를 이용하여 센싱된 값을 비교하여 센싱부들에 오류가 없는지를 확인하는 과정을 의미한다.
이후 로봇은 라이다 센싱부(130)와 뎁스 센싱부(140), 그리고 초음파 센싱부(110)를 이용하여 3차원 맵에 저장된 객체를 업데이트 한다(S17). 맵에 저장된 객체의 업데이트란, 이동 객체로 확인된 객체들을 맵에서 삭제하는 것을 의미한다. 로봇이 이동하는 과정에서 센싱 모듈(100)은 지속적으로 객체들을 센싱하는데, 이 과정에서 이전의 맵에 저장되었으나 더 이상 센싱되지 않는 객체들, 즉 이동 객체가 사라지거나 또는 로봇이 이동하여 그 객체가 더 이상 센싱되지 않는 경우에 이를 반영하여 맵에 저장된 객체를 삭제한다.
도 3의 과정에 대해 보다 상세히 살펴본다. 제어부(900)는 각각의 센싱부들이 제공하는 값을 이용하여 각 센서들이 생성한 객체들의 맵을 생성할 수 있다. 일 실시예로 라이다 센싱부(130)가 센싱한 객체들의 위치 정보를 라이다 센서맵에, 그리고 뎁스 센싱부(140)가 센싱한 객체들의 위치 및 높이 정보를 뎁스 센서맵에 저장할 수 있다.
라이다 센싱부(130)는 특정한 위치, 즉 라이다 센싱부(130)가 로봇(1000)에 배치된 높이의 객체들을 센싱한다. 따라서, 제어부(900)는 라이다 센싱부가 제공하는 객체들의 정보는 2차원의 라이다 센서맵에 저장할 수 있다. 한편, 라이다 센싱부(130)가 로봇(1000)에 두 개가 배치되고, 이들 라이다 센싱부(130) 두 개가 상이한 높이에 배치될 경우 두 개의 라이다 센서맵에 각각 센싱한 객체들이 저장될 수 있다. 또는 라이다 센싱부(130) 들이 센싱한 객체들의 높이를 반영하여 3차원의 라이다 센서맵에 객체들의 위치 및 높이 정보를 저장할 수 있다.
한편, 뎁스 센싱부(140)는 센싱된 객체들의 높이 정보가 뎁스 정보에 포함되므로, 뎁스 센싱부(140)가 센싱한 객체들은 3차원의 뎁스 센서맵에 저장된다.
도 4는 본 발명의 일 실시예에 의한 라이다 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다. 도 3의 S12 과정을 보여준다.
라이다 센싱부(130)가 0의 위치에서 객체(19a)를 센싱한다. 라이다 센싱부(130)는 센싱한 객체(19a)에 대한 각도 정보와 거리 값을 이용하여 Deg1, Deg2, z 값을 알 수 있다. 그 결과 0의 위치를 중심으로 하는 물리좌표계에서 객체(19a)의 (x, y) 값을 하기와 같은 수학식을 이용하여 산출할 수 있다.
[수학식 1]
x = cos(Deg2) * z
y = cos(Deg1) * z
x, y의 값이 확인되면, 도 3의 S15와 같이 로봇의 위치를 중심으로 맵 상에 객체(19a)의 위치를 맵 상에 저장할 수 있다.
특히, 라이다 센싱부(130)의 경우 270도 이상, 최대 360도까지, 그리고 최대 센싱 가능한 거리(예를 들어 30미터 혹은 50미터) 내에서 센싱되는 객체들에 대해 각각 Deg1, Deg2, z 값을 산출할 수 있으므로, 이를 이용하여 로봇 주위에 객체들의 위치를 맵 상에 저장할 수 있다. 한편, 라이다 센싱부(130)는 특정한 높이에서만 센싱되는 객체들을 맵 상에 저장하므로 라이다 센싱부(130)가 생성하는 객체들의 맵 상의 위치는 맵 상에서 2차원 형태로 저장될 수 있다.
맵 상에 저장되는 객체들의 위치는 맵을 글로벌 좌표로 하는 공간에서의 절대위치를 의미한다. 즉, 앞서 라이다 센싱부(130)가 센싱한 객체의 위치 값은 로봇을 기준으로 하는 상대위치이지만 이를 글로벌 좌표로 변환하면 맵이 나타내는 전체 공간에서의 절대위치가 된다. 라이다 센싱부(130)의 센싱 정확도에 따라 높은 해상도(resolution)로 센싱 데이터가 증가 혹은 감소할 수 있다. 도 4는 라이다 센싱부(130)를 중심으로 설명하였으나 이는 적외선 센싱부(120)와 같이 포인트 방식으로 객체의 위치를 센싱하는 센서들에도 적용할 수 있다.
도 5는 본 발명의 일 실시예에 의한 뎁스 센싱부가 외부의 객체를 센싱하여 이를 물리 좌표계로 변환하는 과정을 보여주는 도면이다. 도 3의 S14 과정을 보여준다.
뎁스 센싱부(140)는 0의 위치에서 전면의 객체들에 대한 뎁스 값을 산출한다. 예를 들어 뎁스 센싱부(140)는 객체(19b)가 포함된 뎁스 영상에서 객체(19b)의 픽셀 위치(pX, pY) 값과 거리값 z를 산출할 수 있다. 이를 이용하여 뎁스 센싱부(140)를 기준으로 하는 x 및 y 값을 산출할 수 있다.
먼저, 뎁스 센싱부(140)는 각도 정보가 없으며, 도 5에 제시된 바와 같이 y 값과 z값은 같다. 즉, 뎁스 센싱부(140)가 센싱한 값으로 y = z 이기 때문에 y는 그대로 대입하여 사용할 수 있으며, x 값을 산출하기 위해서는 뎁스 센싱부(140)의 센싱 영역에 대한 정보를 확인할 수 있다. 일 실시예로 정면 3미터 이내의 장애물들에 대해 어라운드 맵으로 저장하고 여기서 x값을 산출할 수 있다.
일 실시예로, 뎁스 센싱부(140)가 전방 3m에서 3.45m의 horizontal 영역을 검출하고, 뎁스 센싱부(140)가 전방 2m에서 2.30m의 horizontal 영역을 검출하고, 또한, 뎁스 센싱부(140)가 전방 1m에서 1.15m의 horizontal 영역을 검출하면, 이들 정보들을 이용하여 "y = 1.15x" 라는 비례 관계를 산출할 수 있다. 이에 기반하여 x는 검출된 픽셀의 거리값, y는 검출물체의 거리에서 뎁스 센싱부(140)가 센싱하는 수평(horizontal)의 거리를 적용하여 y 값을 산출하고, 이에 기반하여 뎁스 센싱부(140)의 해상도(예를 들어 320)를 이용하여 하나의 픽셀이 차지하는 수평 길이를 산출할 수 있다.
도 5에서 산출한 x, y 값은 도 4에서 설명한 바와 같이 로봇을 중심으로 전체 공간의 맵 상에서의 글로벌 좌표로 변환할 수 있다. 뎁스 센싱부(140)는 객체의 높이 정보를 가지므로 높이 값 역시 전술한 수평 거리와 유사한 방식으로 수직(vertical) 거리를 적용하여 픽셀이 차지하는 수직 길이를 산출하고 이에 기반하여 객체의 높이 정보를 산출할 수 있다.
라이다 센싱부(130)가 설치된 높이의 객체들이 라이다 센싱부(130) 및 뎁스 센싱부(140)에서 모두 센싱되었다면 라이다 센싱부(130) 및 뎁스 센싱부(140)의 센싱 우선순위에 따라 3차원 맵 상에 객체 정보를 등록한다. 일 실시예로, 근거리에서는 뎁스 센싱부(140)를, 원거리에서는 라이다 센싱부(130)의 센싱 결과를 더 우선 순위로 두어 맵 상에 객체 정보, 즉 객체의 위치를 등록할 수 있다. 또는, 빛의 반사 세기 균일하지 않은 상황, 예를 들어 객체의 재질이 빛을 흡수 또는 투과하는 것으로 확인될 경우 뎁스 센싱부(140)에 우선 순위를 두어 맵 상에 객체의 위치를 등록할 수 있다. 반대로, 외부의 빛이 강하여 뎁스 센싱부(140)가 정확하게 객체를 센싱하기 어려운 상태에서는 라이다 센싱부(130)의 센싱 결과를 더 우선 순위로 두어 맵 상에 객체의 위치를 등록할 수 있다.
이 과정에서 이동하는 객체는 맵 상에서 다시 삭제할 수 있다. 예를 들어, 라이다 센싱부(130)가 20m/s로 계속 객체들의 위치 정보를 업데이트하는 과정에서 특정한 높이의 객체들만 센싱하기 때문에, 라이다 센싱부(130)는 이동하여 사라진 객체를 맵 상에서 삭제할 수 있다.
반면, 뎁스 센싱부(140)는 로봇(1000) 상에 배치되는 위치에 따라 센싱하지 못하는 영역이 존재할 수 있다. 이 경우 이동하여 사라진 동적 객체를 맵 상에서 삭제할 수 없다. 이를 위해 본 명세서에서는 1차적으로 라이다 센싱부(130)와 뎁스 센싱부(140)가 센싱한 객체들을 맵 상에 위치 또는 위치와 높이 정보를 모두 등록한 후, 실시간으로 초음파 센싱부(110)가 일정한 거리(예를 들어 1미터) 내의 모든 객체들을 센싱하여 일정한 거리 내에 센싱되지 않는 객체들은 뎁스 센싱부(140)에서 등록했던 3차원 맵 상의 객체 정보에서 삭제할 수 있다.
라이다 센싱부(130) 또는 뎁스 센싱부(140)의 각각 하나의 센서만 사용할 경우 센싱된 객체들의 위치 정보에 오류가 발생하면 찾아낼 수 없다. 그러나 도 3에서 살펴본 바와 같이, 기존의 맵정보에 뎁스 값이 정확이 맵핑이 되는 상태에서 라이다 센싱부(130)가 틀어진 센싱 값을 제공하면, 로봇(1000)의 제어부(900)는 데이터가 틀어진 정도를 계산하여 보정할 수 있으며, 이에 기반하여 다종 다양한 용도의 센서들을 융합하여 사용할 수 있다.
도 4 및 도 5에서 살펴본 바와 같이, 라이다 센싱부(130)와 뎁스 센싱부(140) 각각 물체에 대한 거리와 각도 등의 정보를 생성하여 리턴하는데, 각각 다른 방식으로 데이터를 표현한다. 예를 들어, 라이다 센싱부(130)는 센싱한 객체의 각도정보와 거리값을 생성하고 뎁스 센싱부(140)는 뎁스 센싱부(140)를 중심으로 X,Y 좌표값과 거리값을 생성한다. 따라서, 본 명세서는 후술할 도 6 내지 도 10과 같이 두 센싱부가 검출한 객체들의 위치를 얼라이닝하여 정확하게 3차원 맵을 생성할 수 있다.
도 6은 본 발명의 일 실시예에 의한 라이다 센싱부가 맵에 센싱한 객체를 표시한 도면이다. 도 6에서 전체 공간을 10x10의 크기의 맵으로 구성하며, 각 셀(칸) 별로 객체가 센싱되었는지 여부를 확인할 수 있다. 일 실시예로, 도 6에서 검은 색으로 마킹된 영역은 라이다 센싱부(130)가 배치된 높이에서 센싱된 객체들의 맵 상의 위치를 의미한다. 도 6은 라이다 센싱부(130)가 H 높이에 배치된 경우에 센싱된 객체들을 보여준다.
한편, 본 발명의 다른 실시예에 의한 둘 이상의 라이다 센싱부, 또는 라이다 센싱부와 적외선 센싱부가 상이한 높이에 배치된 경우 외부 객체의 높이 정보를 산출할 수 있다. 예를 들어 360도 혹은 270도로 센싱이 가능한 제1라이다 센싱부를 로봇(1000)의 상단부에 배치하고, 180도 혹은 그 이하의 각도로 센싱이 가능한 제2라이다 센싱부 혹은 적외선 센싱부가 로봇(1000)의 하단부에 배치될 경우 두 개의 높이에 대응하여 객체들을 센싱할 수 있다. 이 경우, 도 6의 특정 높이에서의 객체들의 위치가 저장된 임시맵(라이다 센서맵)이 다수 생성될 수 있다.
도 7은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체를 표시한 도면이다. 앞서 도 3 및 도 5에서 살펴본 바와 같이 뎁스 센싱부(140)는 센싱한 객체의 높이 정보까지 산출할 수 있다. 따라서, 도 7은 높이 정보가 표시된 맵을 보여준다. 도 6에서 라이다 센싱부(130)가 센싱한 공간에 대해 뎁스 센싱부(140)가 센싱한 결과를 보여준다.
도 7에서 각 셀에 표시된 높이는 뎁스 센싱부가 센싱한 객체의 높이를 mm 단위로 표시한 것이다. 도 6에서 H가 1000이며 라이다 센싱부(130)가 센싱한 높이값이 1000 mm임을 가정할 때, 도 7에서 1000 보다 작은 숫자는 뎁스 센싱부(140)에서만 센싱된 객체의 높이를 의미한다.
또한, 1000 보다 큰 숫자이면서 라이다 센싱부(130)에서 센싱되지 않고 뎁스 센싱부(140)에서만 센싱된 객체(예를 들어 (3, 9)의 1500으로 센싱된 부분)는 해당 객체의 하단부의 높이가 1000 보다 큰 경우 또는 라이다 센싱부(130)가 센싱 과정에서 오류가 발생한 경우 중 어느 하나에 해당한다. 따라서 어느 센싱부가 객체를 센싱했는지 혹은 센싱하지 않았는지에 따라 객체의 외형을 확인할 수 있다.
한편, 맵 상에 3차원 정보를 보다 정확하게 저장하기 위해 높이 정보를 세분하여 상단부의 높이와 하단부의 높이를 함께 저장할 수 있다.
도 8은 본 발명의 일 실시예에 의한 뎁스 센싱부가 맵에 센싱한 객체의 바닥 높이와 상단부 높이를 모두 표시한 도면이다. 도 7의 객체들의 최하단부 높이까지 표시하고 있다. 각 셀은 (상단부 높이, 바닥부 높이)와 같이 2 개의 값으로 구성된다. 도 8에서 바닥부 높이가 0인 경우는 기둥과 같이 바닥면에 부착된 객체를 의미한다. 반면, 바닥부 높이가 0보다 큰 경우 바닥 면에 붙어있지 않고 떠있는 객체를 의미한다. 예를 들어, 벽에서 돌출된 객체들의 경우 바닥부의 높이가 0보다 클 수 있다.
도 6과 도 7, 또는 도 6과 도 8을 비교하면, (0, 0) 셀의 객체를 라이다 센싱부(130)에서는 센싱되었으나, 뎁스 센싱부(140)에서는 객체를 센싱하지 못한 상태이다. 이는 뎁스 센싱부(140)가 외부의 빛 때문에 혹은 뎁스 센싱부(140)의 사각 지대로 인해 객체를 센싱하지 못한 경우이다. 반면, 도 7 및 도 8에서 높이가 1000mm 지점이 아닌 영역의 객체들이 다수 뎁스 센싱부(140)에서 센싱됨을 확인할 수 있다. 따라서, 둘 이상의 센싱부들을 이용하면 특정한 신호를 이용하는 센싱부가 센싱하지 못한 객체를 센싱하여 외부 객체들의 센싱 정확도를 높일 수 있다. 특히, 도 7 및 도 8에서 뎁스 센싱부(140)에 의해서만 검출되는 객체들의 위치를 로봇(1000)이 확인함으로써 로봇이 낮은 높이의 장애물들을 회피하여 이동할 수 있다.
도 9는 본 발명의 일 실시예에 의한 두 종류의 센싱부에서 센싱한 정보를 결합하여 3차원 맵을 생성한 도면이다. 도 6 내지 도 8은 각 센싱부가 센싱된 값을 맵 상의 글로벌 좌표로 표시한 것이다. 도 6 내지 도 8은 임시로 생성한 맵, 즉 임시맵(라이다 센서맵 및 뎁스 센서맵)이 될 수 있다. 이들 임시맵에 저장된 객체들을 조합하여 맵 저장부(200)에 저장할 수 있다.
도 9는 제어부(900)가 도 6 및 도 7의 두 종류의 임시맵을 조합하여 생성한 맵을 보여준다. 셀에서 음영으로 표시된 부분은 두 센싱부들의 센싱 결과가 일치하지 않는 셀을 의미한다. 이들 셀은 추후 로봇이 이동하는 과정에서 새로이 센싱한 값에 따라 센싱된 값의 정확도를 높일 수 있다. 만약, 도 6과 도 8의 임시맵을 결합할 경우, 바닥 높이까지 3차원 맵에 저장될 수 있다.
도 9의 맵은 시간적으로 계속 누적된다. 누적된 결과 이동하지 않고 위치를 유지하는 객체들은 고정된 객체, 즉 벽이나 문과 같은 고정된 객체로 판단한다. 반면, 누적된 결과 특정 위치의 객체가 더 이상 센싱되지 않는 경우, 이는 이동가능한 객체로 공간에서 이동하여 사라진 것을 의미한다. 따라서, 누적하여 저장한 맵들을 제어부(900)가 비교하거나 또한 로봇이 이동하는 과정에서 센싱한 결과 이전에 센싱된 것으로 맵 상에 저장되었던 위치에 객체가 존재하지 않는 경우, 해당 객체를 제거할 수 있다.
가장 정확하게 객체의 이동 여부를 확인하기 위해서는 라이다 센싱부(130) 및 뎁스 센싱부(140) 모두 동일하게 특정 객체가 이동 혹은 사라진 것으로 판단하는 것이다. 다음으로는 라이다 센싱부(130) 또는 뎁스 센싱부(140) 중 어느 하나 이상이 특정 객체가 사라지거나 이동한 것으로 확인하고, 초음파 센싱부(110)가 근거리 내의 객체의 존재 여부를 확인하여 정확도를 높일 수 있다.
SLAM(Simultaneous localization and mapping) 과정에서 라이다 센싱부(130)가 생성하는 맵 정보와 뎁스 센싱부(140)가 센싱한 맵 정보를 결합하여 특정한 센싱부가 센싱하지 못하는 객체들을 맵에 위치를 저장하여 로봇(1000)이 이동하는 공간에 대해 보다 정확한 맵을 생성할 수 있다. 특히, 두 종류의 센서들을 운용하여 라이다-뎁스 슬램(LiDAR Depth SLAM)으로 맵을 생성할 경우 로봇이 외부의 객체를 보다 정확하게 확인하여 충돌하지 않고 목표지점까지 효율적인 경로를 생성할 수 있다.
또한, 로봇(1000)의 센싱부들 중에서 어느 하나가 기계적으로 또는 전자적으로 오류가 발생하여 데이터에 오류가 발생한 경우, 다른 센싱부를 이용하여 얼라이닝(aligning) 할 수 있어 장애물 회피와 맵 생성의 정확도를 높일 수 있다.
특히, 맵은 시간적으로 누적되므로 이전에 생성한 맵과 최근에 생성한 맵을 비교하여 오류가 발생한 센싱부를 확인할 수 있다. 그리고, 둘 이상의 센싱부들을 이용하면 다양한 높이의 객체들을 정확하게 센싱할 수 있다. 특히 센싱의 정확도가 높으나 특정한 위치의 객체만을 센싱하는 라이다 센싱부(130)에 뎁스 센싱부(140)가 높이 정보를 센싱하여 도 9와 같이 3차원 맵을 생성할 경우 로봇(1000)이 이동 과정에서 외부 객체와의 충돌을 회피할 수 있다.
정리하면, 제어부(900)는 라이다 센싱부(130)가 센싱한 높이 H의 객체의 위치 정보와 뎁스 센싱부(140)가 센싱한 객체의 높이 및 위치 정보를 결합하여 도 9와 같은 3차원 맵을 생성하여 맵 저장부(200)에 저장하며, 이러한 3차원 맵은 로봇 또는 센싱 모듈의 위치나 시간에 따라 맵 저장부(200)에 누적하여 저장된다. 즉, 맵 저장부(200)에는 다수의 3차원 맵이 저장될 수 있으며 이전에 생성된 3차원 맵들은 센싱부들의 센싱된 값을 비교하거나 객체의 이동 상태를 확인하는 기준이 될 수 있다.
보다 상세히 살펴보면, 제어부(900)는 라이다 센싱부(130)가 센싱한 높이 H(예를 들어 1000 mm)에서의 객체의 위치 정보가 저장된 도 6의 임시맵(라이다 센서맵)과 뎁스 센싱부(140)가 센싱한 객체의 높이 및 위치 정보가 저장된 도 7 또는 도 8의 임시맵(뎁스 센서맵)을 결합하여 도 9와 같은 3차원 맵을 생성하여
도 10은 본 발명의 일 실시예에 의한 두 개의 센싱부가 센싱한 결과를 얼라이닝 시키는 과정을 보여주는 도면이다. 제1맵(20)은 시간적으로 이전에 생성한 맵이다. 설명의 편의를 위해 높이 정보는 모두 1000mm 라고 가정한다. 높이 정보는 별도로 저장될 수 있다.
제2맵(21)은 로봇(1000)이 특정 시점에서 센싱한 객체들의 위치를 결합하여 생성한 맵이다. 제2맵(21)에서 뎁스 센싱부(140)가 센싱한 객체들의 위치와 라이다 센싱부(130)가 센싱한 객체들의 위치가 틀어져 있는 상태를 확인할 수 있다. 두 센싱부들이 센싱한 객체들의 위치가 어긋나는 상황을 보여준다. 이때, 이전에 센싱하여 객체들의 위치를 저장했던 제1맵(20)의 객체들의 위치와 제2맵(21)의 객체들의 위치를 비교하여 정확한 객체의 위치를 센싱한 센싱부를 선택한다.
도 10에서는 뎁스 센싱부(140)로 제1맵(20)에 일치하므로 뎁스 센싱부(140)를 기준으로 데이터들을 수정한다. 도 10에서 라이다 센싱부(130)가 센싱한 객체들의 위치는 각도가 일부 수정되어야 함을 보여주며 수정되어야 하는 각도만큼 얼라이닝을 한다. 한편 제어부(900)는 두 개의 센싱부의 데이터가 일치하지 않으며, 이 중에서 특정 센싱부의 데이터가 얼라이닝이 필요한 상태임을 서버 장치에게 경고(Alert) 메시지로 전송하거나 또는 로봇(1000)에 부착된 디스플레이부에 표시하여 문제가 발생한 센싱부를 교체하거나 혹은 수리할 수 있도록 한다.
도 10의 과정을 정리하면 다음과 같다. 뎁스 센싱부(140)가 센싱한 객체들의 뎁스 정보는 물리좌표(거리값)으로 변환되며 라이다 센싱부(130)가 센싱한 값들을 얼라이닝 시킨다. 그 결과 로봇(1000)의 특정한 위치에 설치된 라이다 센싱부(130)가 센싱한 라이다 정보 이외도 뎁스 센싱부(140)를 이용하여 다른 높이에 배치되는 객체들의 뎁스 정보를 적용할 수 있다.
또한, 라이다 센싱부(130)와 뎁스 센싱부(140) 모두 객체를 센싱한 경우, 이는 라이다 센싱부(130)가 센싱할 수 있는 높이에 객체가 배치된 것을 의미한다. 그리고 라이다 센싱부(130)가 센싱한 거리값과 뎁스 센싱부(140)가 센싱한 뎁스 정보에서 추출된 거리값을 비교하여 상이한 경우 이를 특정한 센싱부에 우선순위를 두어 조절할 수 있다.
한편, 외부에 배치된 객체가 벽면인 경우, 뎁스 센싱부(140)가 센싱한 벽면의 세 점의 뎁스 정보를 이용하여 벽면의 평면 방정식을 산출할 수 있다. 그리고, 산출한 벽면의 평면 방정식에 라이다 센싱부(130)가 센싱한 값(라이다 데이터)을 대입하면, 데이터의 오류 및 왜곡을 확인할 수 있다. 이는 기구상의 결함 또는 라이다 데이터의 오류에 의해 발생할 수 있는데, 왜곡 또는 오류의 정도에 따라 라이다 데이터를 캘리브레이션(Calibration) 할 수 있다.
즉, 제어부(900)는 라이다 센싱부(130)가 센싱한 객체의 위치 정보와 뎁스 센싱부(140)가 센싱한 객체의 위치 정보를 비교하여 도 10의 21과 같이 오차가 발생한 경우, 어느 하나의 센싱부의 센싱 결과를 적용하거나 센싱부의 센싱된 결과를 캘리브레이션 할 수 있다.
일 실시예로, 제어부(900)는 라이다 센싱부(130) 및 뎁스 센싱부(140)의 우선 순위에 따라 위치 정보를 캘리브레이션 할 수 있다. 이는 현재 로봇(1000)이 위치한 영역에서 보다 정확성이 높은 센싱부의 센싱값을 선택하거나 혹은 센싱된 객체의 거리에 따라 센싱값을 선택하여 위치 정보를 캘리브레이션하는 것을 의미한다. 만약, 먼 거리에 있는 객체에 대한 센싱값이라면 라이다 센싱부(130)의 센싱값에 우선순위를 줄 수 있다. 반면, 객체의 재질 혹은 반사 강도에 따라, 뎁스 센싱부(140)의 센싱값에 우선순위를 줄 수 있다. 제어부(900)는 로봇의 위치 및 외부의 빛의 상태, 센싱된 객체의 거리 등을 종합하여 센싱된 위치 정보를 캘리브레이션할 수 있다.
또 다른 실시예로, 제어부(900)는 맵 저장부(200)에 이전에 저장한 3차원 맵과의 비교 결과에 따라 위치 정보를 캘리브레이션할 수 있다. 도 10에서 살펴본 바와 같이 이전의 3차원 맵에 저장된 정보와 비교하여 이전에 센싱한 값과의 일치 정도가 높은 센싱부가 센싱한 위치 정보를 캘리브레이션 할 수 있다. 이는 센싱부의 센싱 정확도와 로봇의 위치, 주변 객체들의 특성에 따라 센싱 정확도가 달라질 수 있으며, 짧은 시간 간격으로는 변화가 크지 않은 경우에 적용 가능하다. 따라서, 이전 센싱한 값과 유사하거나 일치하는 센싱부의 센싱 결과를 우선순위로 하여 다른 센싱부의 센싱 결과를 캘리브레이션하는 것을 일 실시예로 한다.
이 과정에서 특정한 센싱부가 지속적으로 오차를 생성하는 것으로 제어부(900)가 확인한 경우, 해당 센싱부가 센싱한 객체들의 위치 정보를 캘리브레이션 하기 위한 변수를 제어부(900)가 산출할 수 있다. 예를 들어, 도 10의 경우 라이다 센싱부(130)의 각도가 틀어지는 것을 캘리브레이션 하기 위한 변수(도 4에서 살펴본 Deg1 또는 Deg2 또는 Z 등을 조절하는 변수)를 산출하고, 제어부(900)는 라이다 센싱부(130)가 산출하는 객체의 위치 정보에 변수를 적용하여 보다 정확한 위치 정보를 확인할 수 있도록 캘리브레이션을 수행할 수 있다. 이러한 과정을 센싱부 얼라이닝이라 할 수 있다.
도 11은 본 발명의 일 실시예에 의한 초음파 센싱부를 이용하여 로봇의 일정 반경 내의 객체를 센싱하여 맵 저장부(200)의 3차원 맵에 저장되었던 객체들 중 이동 객체를 식별하여 제거하는 과정을 보여주는 도면이다.
초음파 센싱부(110)는 로봇(1000)의 일정 반경 내의 객체를 센싱한다(S31). 그리고 센싱한 결과는 센싱 모듈(100)의 센싱 데이터 분석부(150)에서 가공하여 제어부(900)에게 전달된다. 제어부(900)는 초음파 센싱부가 센싱한 객체의 거리와 맵 저장부의 3차원 맵의 객체를 비교한다(S32). 비교한 결과, 맵 저장부(200)에 일정 반경 내에 저장된 객체가 초음파 센싱부(110)에 센싱되었는지를 확인한다(S33).
예를 들어 초음파 센싱부(110)가 일정한 반경(예를 들어 1미터) 이내에 위치한 50 cm 거리의 객체를 센싱한 상태이면 제어부는 맵 저장부(200)의 3차원 맵에서 로봇의 현재 위치를 기준으로 50cm 이내의 객체가 있는지 확인할 수 있다.
한편, 초음파 센싱부(110)가 일정한 반경(예를 들어 1미터) 이내에 객체가 없는 것으로 센싱한 상태에서 제어부가 맵 저장부(200)의 3차원 맵에서 로봇의 현재 위치를 기준으로 일정 반경 이내에 객체가 있는지를 확인한다.
만약, 맵 상에 객체가 있으며, 그 객체의 높이가 초음파 센싱부(110)가 센싱할 수 있는 높이임에도 초음파 센싱부(110)에 의해 센싱되지 않으면 제어부(900)는 해당 객체를 이동 객체로 확인하여 맵에서 제거한다.
정리하면, 맵 저장부(200)의 맵 상에서 일정 반경 내에 위치하는 것으로 저장된 객체가 초음파 센싱부에 의해 센싱되었는지를 제어부(900)가 확인하여(S33), 만약 센싱된 경우라면 객체가 여전히 배치된 상태이므로 제어부(900)는 초음파 센싱부(110)가 센싱한 객체와의 충돌을 회피하도록 이동부(300)를 제어할 수 있다(S34).
반면, 센싱되지 않는 경우라면, 제어부(900)는 센싱되지 않은 객체의 높이에 따라 라이다 센싱부(130)의 센싱 결과를 반영하여 맵 저장부(200)의 3차원 맵에서 삭제한다(S35). 특히 뎁스 센싱부(140)가 센싱하지 못하는 영역, 예를 들어 뎁스 센싱부(140)가 로봇의 전방을 센싱하는 경우, 로봇(1000)이 지나온 뒤쪽의 객체에 대해서는 뎁스 센싱부(140)가 센싱할 수 없으므로, 이에 대해서 초음파 센싱부(110)를 이용하여 이동 객체인지 여부를 확인할 수 있다(S35).
도 12는 본 발명의 일 실시예에 의한 로봇이 이동 과정에서 이동 객체를 제거하는 과정을 보여주는 도면이다. 도 12의 맵에서 로봇의 위치는 "R"로 표시되어 있으며 로봇의 진행 방향이 (6, 4)에서 (6, 6)으로 이동한다. (6, 3)의 위치에서 객체(50)가 뎁스 센싱부(140)에 의해 센싱된다. 높이가 420mm이므로 객체(50)는 라이다 센싱부(130)에서는 센싱되지 않는다.
이후 로봇이 이동하는 과정에서 지속적으로 뎁스 센싱부(140)에 의해 전면 방향에서 객체들의 뎁스를 센싱한다. 만약, (6, 4)의 위치에 로봇이 위치한 상태에서 객체(50)가 이동하여 사라진 경우에 뎁스 센싱부(140)에 해당 객체(50)가 센싱되지 않는다. 마찬가지로 초음파 센싱부(110) 역시 인접한 위치에서 객체(50)가 센싱되지 않으므로 이를 3차원 맵에서 삭제할 수 있다.
반면, 로봇이 (6, 6)의 위치로 이동한 상태에서는 뎁스 센싱부(140)는 객체(50)를 센싱할 수 없는 상태이다. 즉, 객체(50)가 배치되어 있어도 뎁스 센싱부(140)는 전면 방향에 있기 때문에 객체(50)를 센싱할 수 없으며, 이를 센싱하기 위해서 로봇은 회전을 할 수 있으나 이는 로봇의 이동 속도를 낮추는 원인이 된다.
따라서, 도 12에서 살펴본 바와 같이, 로봇이 객체(50)를 지나간 후에 초음파 센싱부(110)를 이용하여 인접한 후면 방향으로도 객체(50)가 센싱되는지를 확인하여, 객체(50)가 센싱되는 경우에는 이를 3차원 맵에 저장된 상태를 유지한다. 반면, 객체(50)가 초음파 센싱부(110)에 의해 센싱되지 않으면 이동 객체로 확인하여 객체(50)를 3차원 맵에서 제거한다.
정리하면, 초음파 센싱부(110)는 로봇의 일정한 반경 내에서 객체가 존재하는지를 센싱한다. 그리고 초음파 센싱부(110)에서 객체가 센싱되지 않으며 3차원 맵 상에서 객체가 존재하는 것으로 확인되면, 제어부(900)는 맵 상에 저장된 객체는 이동 객체인 것으로 확인하고 3차원 맵에서 이동 객체를 제거한다.
도 13은 본 발명의 일 실시예에 의한 3차원 공간의 이동 객체를 로봇이 식별하는 과정을 보여주는 도면이다.
로봇(1000)의 센싱 모듈(100)이 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출한다(S61). 여기서 둘 이상의 센싱부란, 로봇에 결합하여 객체와 로봇 사이의 물리적 거리와 객체와 상기 로봇 사이의 각도 정보를 산출하는 라이다 센싱부(130)와, 로봇의 일방향의 뎁스 정보를 산출하는 뎁스 센싱부(140), 그리고 로봇의 일정 반경 내의 객체의 거리를 센싱하는 초음파 센싱부(110)가 될 수 있다. 그리고 센싱 모듈(100)은 이들 중에서 둘 이상의 센싱부들을 이용하여 객체의 높이 및 위치 정보를 산출한다.
그리고 로봇(1000)의 제어부(900)가 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고(S62), 제어부(900)가 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 생성하여 로봇의 맵 저장부에 저장한다(S63). 앞서 도 3 내지 9에서 3차원 맵을 생성하는 과정을 살펴보았다.
보다 상세히, 라이다 센싱부(130)는 임시맵의 일 실시예인 2차원 라이다 센서맵을 생성하고, 뎁스 센싱부(140) 역시 임시맵의 일 실시예인 3차원 뎁스 센서맵을 생성할 수 있는데, 제어부(900)가 이들을 결합하여 3차원 맵을 생성하며, 맵 저장부(200)는 전술한 차원 라이다 센서맵과 3차원 뎁스 센서맵을 결합하여 생성되는 3차원 맵을 저장한다.
이후, 센싱 모듈(100)의 둘 이상의 센싱부가 센싱한 어느 하나 이상의 센싱 결과에 따라 제어부(900)가 이동 객체를 확인하여 맵 저장부(200)에 저장된 3차원 맵에서 이동 객체를 제거한다(S64). 앞서 도 11 및 도 12에서 이러한 이동 객체를 맵에서 제거하는 과정을 살펴보았다.
본 발명의 일 실시예로 제어부(900)는 전술한 둘 이상의 센서맵(라이다 센서맵과 뎁스 센서맵)에서 공통으로 센싱된 제1객체와, 라이다 센싱부(130)가 센싱할 수 없는 높이에 배치되어 뎁스 센싱부(140)에 의해 센싱된 제2객체와, 뎁스 센싱부(140)에서 센싱되지 않았으나 라이다 센싱부(130)가 센싱한 제3객체 중 어느 하나 이상을 3차원 맵에 저장한다. 그리고, 제어부(900)는 3차원 맵에 저장된 객체 중에서 일정한 반경 내에 센싱되지 않은 객체를 이동 객체로 확인하여 3차원 맵에서 제거한다.
일정한 반경이란 초음파 센싱부(110)가 정확하게 센싱할 수 있는 범위를 일 실시예로 한다. 혹은, 3차원 맵에서 객체의 이동 여부를 파악하기 위한 범위를 일정 반경으로 할 수 있다. 예를 들어, 3차원 맵에서 로봇이 이동하는 과정에서 주변의 2미터 이내의 객체들의 이동 여부만을 판단하는 것으로 제어부(900)가 설정한 경우, 2미터 이내의 객체들을 초음파 센싱부(110)가 센싱할 수 있다. 또한, 센싱한 결과의 정확도를 높이기 위해 라이다 센싱부(130) 및 뎁스 센싱부(140)의 센싱 결과를 종합할 수 있다.
또한, 전술한 제2객체와 제3객체가 미리 설정된 간격 이내에 인접하여 위치한 경우, 예를 들어, 도 10에서 살펴본 바와 같이 검출된 라인이 교차하듯이 가까이 배치된 경우, 제어부(900)는 제2객체 또는 제3객체의 위치와 맵 저장부(200)에 이전에 저장한 3차원 맵을 비교하여 제2객체 또는 제3객체의 위치 정보를 캘리브레이션 할 수 있다.
다양한 높이의 객체들이 배치된 환경에서 로봇은 통과할 수 있는지를 각각의 센싱부들을 조합하여 확인할 수 있다. 일 실시예로, 벽에 튀어나온 장애물에 대해서 어떤 센싱부를 적용하느냐에 따라 이를 통과할 수 있는 장애물로 판단하거나 혹은 통과가 불가능한 장애물로 판단할 수 있다.
로봇이 특정한 공간을 통과하기 위해서는 바닥에 배치된 하단 장애물의 높이가 로봇이 통과할 수 있는 높이인지를 판단하는 것이 필요하다. 또한, 전면에 벽과 같은 평면적이고 전면적인 장애물이 아닌 돌출된 장애물이 있다면, 이 장애물이 특정한 높이 상에서 점유하는 공간에 따라 로봇이 통과할 수 있는지 여부를 판단할 수 있다.
따라서, 돌출형 장애물(돌출물)의 위치에 따라 로봇의 근접하여 소정의 기능(청소, 안내, 보안, 검색 등)을 수행하거나 혹은 해당 장애물을 회피하도록 동작할 수 있다. 로봇이 외부의 장애물에 대응하여 동작하기 위해서는 본 명세서에서 살펴본 바와 같이 3차원 맵을 구축하여 로봇이 3차원적으로 외부의 장애물들을 센싱하는 것이 필요하다. 즉, 로봇은 다양한 종류의 센싱부들을 이용하여 3차원의 맵을 구현할 수 있다.
특히, 공항, 터미널, 병원, 호텔, 학교 등 유동인구 또는 사용인구가 많은 공간에서 청소, 안내, 보안 검색 등의 역할을 수행하는 로봇의 키는 일정 크기 이상 높아야 한다. 이 경우 로봇은 전체 공간을 3차원적으로 센싱하여 이에 기반한 3차원 맵을 작성하고 이동할 수 있다. 이 과정에서 또한 로봇은 이동하는 객체를 센싱하여 이동 객체는 맵에서 삭제하여 불필요한 정보가 맵에 저장되는 것을 방지한다.
다양한 센싱부들은 각각의 특징에 따라 객체들을 센싱할 수 있다. 라이다 센싱부(130)는 넓은 방향 및 먼 거리의 객체를 센싱할 수 있으며, 뎁스 센싱부(140)는 진행 방향의 객체들의 높이를 센싱할 수 있다. 또한, 초음파 센싱부(110)는 맵 상에 저장된 객체가 인접하게 배치되어 있는지를 확인하여 맵에서 제거해야 하는 객체인지를 제어부(900)가 식별할 수 있도록 한다.
도 14는 본 발명의 일 실시예에 의한 다양한 센싱부들이 배치되는 구성을 보여주는 도면이다. 로봇(1000a)의 전면 또는 측면, 후면 등에는 초음파 센싱부(110a~110f), 라이다 센싱부(130a), 뎁스 센싱부(140a)가 배치되어 있다. 실시예에 따라 다양한 종류의 센싱부들이 하나 혹은 다수가 배치될 수 있다. 초음파 센싱부가 배치된 영역들 중에서 일부는 적외선 센싱부가 배치되어 진행 방향의 객체들을 확인할 수 있다. 초음파 센싱부(110a~110f)는 다양한 높이 영역에 배치된 객체들을 효과적으로 센싱하기 위해 배치된다.
라이다 센싱부(130a)는 전체 맵을 작성할 수 있다. 뎁스 센싱부(140a)는 전면부에 배치되는 객체의 뎁스 정보를 산출한다. 초음파 센싱부(110a~110f)는 뎁스 센싱부(140a)가 센싱하지 못하는 사각 지대의 객체를 센싱하여 맵 상에 저장된 객체가 이동했는지 여부를 확인할 수 있다.
그 외 기능부(400a)가 배치될 수 있다. 도 13에서 기능부(400a)는 청소를 수행하는 구성요소로 솔이나 걸레, 혹은 먼지 흡입구 등이 될 수 있다. 기능부(400a)가 보안을 수행하는 경우, 폭탄 탐지를 수행하는 구성요소가 포함될 수 있다. 이동부(300)는 로봇의 아래에 배치되어 도 13에 도시되지 않은 형태이다.
또한 센싱 정확도를 높이기 위해 추가적인 라이다 센싱부(130b)를 로봇(1000a)에 배치할 수 있다.
본 발명을 적용할 경우, 라이다 센싱부(130)가 설치된 높이 이외의 다른 높이에 배치된 객체를 SLAM 상에 피쳐(feature)로 등록할 수 있도록 한다. 즉, 다양한 높이의 객체들의 위치와 높이 정보를 3차원 맵에 저장할 수 있다. 특히, 초기 생성된 맵을 기반으로 로봇이 이동 경로를 선정하고 기능을 수행할 구역을 설정하는데, 본 발명과 달리, 라이다 센싱부(130)만을 이용할 경우 해당 높이 이외의 객체들은 센싱되지 않아 로봇의 이동에 위험요소가 되고, 기능의 수행 효율을 떨어뜨릴 수 있다. 반면, 본 발명을 적용할 경우, SLAM 과정에서 라이다 센싱부(130) 및 뎁스 센싱부(140)에서 검출된 객체들의 피쳐가 맵에 추가되면 전체 공간의 객체들을 모두 반영한 맵을 작성할 수 있으며 정확도가 향상된 맵에 기반하여 로봇의 이동 경로가 보다 효율적으로 생성될 수 있다.
특히, 로봇의 상단부 외에도 로봇의 하단부(예를 들어 도 14의 130b)에 배치하여 라이다 센싱부(130)에서 산출하는 두 개의 높이의 2차원 맵을 결합하여 센싱의 정확도를 높일 수 있다.
이 경우, 상단부의 라이다 센싱부(130a)는 센싱할 수 있는 각도가 넓은 것으로, 하단부의 라이다 센싱부(130b)는 센싱할 수 있는 각도가 좁은 것으로 구성할 수 있다.
본 발명을 적용할 경우, 뎁스 센싱부(140)가 빛의 영향을 받는 경우에는 라이다 센싱부(130)의 센싱 데이터에 우선순위를 높여서 정확하게 외부의 객체를 센싱할 수 있다. 또한, 라이다 센싱부(130)를 이용하면 특정한 높이에서 객체를 센싱하는데, 이를 뎁스 센싱부(140)가 다양한 높이의 객체를 센싱할 수 있도록 보완하므로 정확한 3차원 맵을 생성할 수 있다.
또다른 실시예로, 각각의 센싱부들이 센싱한 객체들의 위치가 저장된 임시맵들, 즉 라이다 센서맵과 뎁스 센서맵을 이용하여 초음파 센싱부(110)에 기반한 동적 객체의 판단을 보완하거나 보다 정밀하게 센싱할 수 있다.
도 15는 본 발명의 일 실시예에 의한 각각의 센싱부들이 센싱한 객체들의 위치를 비교하여 이동 객체를 확인하는 과정을 보여주는 도면이다.
라이다 센싱부(130)는 외부의 객체에 대한 라이다 센싱 데이터를 생성하고(S71), 마찬가지로 뎁스 센싱부(140) 역시 외부의 객체에 대한 뎁스 센싱 데이터를 생성하여(S72), 이들 각각의 센싱부가 센싱 데이터 분석부에게 생성한 데이터를 제공한다(S73, S74).
센싱 데이터 분석부(150)는 각각의 센싱 데이터를 로봇 중심의 물리 좌표로 변환하여(S75) 이를 제어부(900)에게 제공한다(S75). 물리 좌표로 변환하는 경우, 어느 센싱부에서 센싱한 결과인지를 같이 제공한다. 따라서, 제어부(900)는 물리 좌표로 변환된 센싱 데이터들을 글로벌 좌표로 변환한다(S81). 글로벌 좌표로 변환하면 이전에 생성한 각각의 라이다 센서맵과 뎁스 센서맵과 센싱된 데이터를 비교할 수 있다. 또한, 제어부(900)는 이들 라이다 센서맵과 뎁스 센서맵을 결합한 3차원 맵과도 비교할 수 있다.
일 실시예로, 라이다 센싱 데이터를 라이다 센서맵과 비교하여 이동 객체인지 판단하여 라이다 센서맵 업데이트할 수 있다(S82). 한편, 이 과정에서 라이다 센싱부(130)에서 센싱되지 않아 제거된 이동 객체가 뎁스 센서맵에 존재하면 이동 객체의 높이에 따라 뎁스 센서맵을 업데이트할 수 있다(S83). 이는 뎁스 센싱부(140)가 가지는 방향각 또는 객체의 검출 가능한 범위가 벗어난 경우 이동 객체가 이동한 후라 하여도 뎁스 센싱부(140)는 뎁스 센서맵을 업데이트하지 않고 해당 객체의 위치를 유지할 수 있다. 따라서 이를 해결하기 위해 라이다 센싱부(130)에서 센싱하여 특정 글로벌 좌표에 객체가 존재하지 않는 것으로 판단된 경우에 이동 객체의 높이에 따라 라이다 센싱부(130)가 센싱할 수 있는 높이라면 뎁스 센서맵에서 제거하고, 라이다 센싱부(130)가 센싱할 수 없는 높이라면 뎁스 센서맵에 유지한다.
그리고 제어부(900)는 업데이트한 라이다 센서맵과 뎁스 센서맵을 결합하여 3차원 맵을 생성할 수 있다(S84).
보다 상세히 살펴보면, 라이다 센싱부(130)가 센싱한 객체들의 물리적 좌표는 제어부(900)가 글로벌 좌표로 변환하여 지속적으로 라이다 센서맵을 생성한다. 마찬가지로, 뎁스 센싱부(140)가 센싱한 객체들의 물리적 좌표 역시 제어부(900)가 글로벌 좌표로 변환하여 지속적으로 뎁스 센서맵을 생성한다.
이 과정에서 라이다 센싱부(130)에서는 센싱되지 않아 라이다 센서맵에서 제거하는 것으로 판단한 객체가 확인될 수 있다. 보다 정확하게는, 특정한 객체가 위치하는 것으로 이전에 확인되었던 글로벌 좌표에서 더 이상 라이다 센싱부(130)가 객체를 센싱하지 않는 것을 일 실시예로 한다. 제어부(900)는 이러한 글로벌 좌표에 대응하여 뎁스 센싱부(140)가 센싱한 객체가 있는지를 확인한다.
만약, 글로벌 좌표에 대응하는 영역에서 뎁스 센싱부(140)가 센싱한 객체가 있으며, 보다 정확하게 라이다 센싱부(130)가 센싱할 수 없는 높이의 객체인 것으로 확인되면, 해당 객체는 뎁스 센서맵에서 삭제하지 않고 유지한다. 그 결과, 라이다 센서맵에서는 센싱되지 않아 이동 객체로 판단하여 제거되지만, 뎁스 센서맵에서 확인된 경우 뎁스 센서맵에서 유지하여, 차후 3차원 맵에는 뎁스 센싱부(140)가 센싱한 데이터라는 것을 구별하여 저장할 수 있다.
한편, 뎁스 센싱부(140)는 Fov(Field of View)가 라이다 센싱부(130) 보다는 좁을 수 있으며 객체를 검출할 수 있는 거리도 라이다 센싱부(130) 보다 짧을 수 있다. 따라서, Fov를 벗어난 영역에 대해 뎁스 센싱부(140)가 센싱하지 못하는 객체가 존재할 수 있다. 이를 보완하기 위해 라이다 센싱부(130)에서 센싱되지 않으며, 뎁스 센싱부(140)에서도 센싱되지 않는 경우, 초음파 센싱부(110)를 이용하여 객체의 이동 여부를 확인할 수 있다.
본 발명의 실시예를 적용하면 로봇(1000)에 설치된 뎁스 센싱부(140)의 위치와 Fov에 따라, 로봇의 뎁스 센싱부(140)가 검출할 수 없는 영역에 대해서도 객체를 센싱할 수있다. 특히, 대면적의 유동 인구가 존재하는 공간에서는 바닥에 가까운 낮은 높이의 객체들, 예를 들어, 바닥의 5cm 높이의 장애물을 뎁스 센싱부(140)로 검출하기 위해서는 로봇 전방 2m 지점에서 검출이 가능한데, 이를 벗어나면 검출된 객체가 이동을 하여도 뎁스 센싱부(140)가 이를 확인할 수 없으므로, 뎁스 센서맵에서 이들 객체를 제거할 수 없다.
만약, 뎁스 센서맵에서 실시간으로 이동 객체들을 제거하지 않을 경우, 라이다 센서맵과 뎁스 센서맵을 결합한 3차원 맵 상에서는 동적인 물체들이 지속하여 그 위치가 유지되는 것으로 잘못된 정보가 저장될 수 있으며, 이로 인해 로봇이 이동할 수 있는 범위 혹은 로봇의 이동 가능한 경로의 선택 가능성이 좁아지며 로봇이 효율적으로 이동할 수 없게 된다. 따라서, 도 15와 같이 뎁스 센서맵에서도 지속하여 이동한 객체를 제거할 경우 로봇이 동작 가능한 범위를 확보할 수 있다. 즉, 본 발명을 적용할 경우, 로봇이 지나온 영역, 즉 뎁스 센싱부(140)가 센싱하지 못하는 영역에서 이동하여 사라진 객체들의 이동 상태를 반영하여 정확한 맵을 생성할 수 있다.
도 16 및 도 17은 본 발명의 일 실시예에 의한 라이다 센서맵과 뎁스 센서맵, 그리고 3차원 맵을 보여주는 도면이다.
라이다 센싱부(130)는 일정한 높이에서의 객체들을 센싱하여 센싱 데이터 분석부(150)가 물리적 좌표를 제어부(900)에게 제공하면 제어부(900)는 이를 기반으로 라이다 센서맵(201)을 생성한다. 글로벌 좌표가 반영된 라이다 센서맵이다. 한편, 로봇의 위치에서 뎁스 센싱부(140)가 센싱 가능한 범위는 201a와 같은데, 이 영역에서 뎁스 센싱부(140)가 센싱한 객체들의 글로벌 좌표들을 반영하여 제어부(900)는 뎁스 센서맵(202)을 생성할 수 있다.
도 16에서 두 개의 센서맵(201, 202)를 살펴보면 두 개의 센싱부에서 모두 센싱되어 글로벌 좌표로 저장되는 영역(201b, 202a)과 어느 하나의 센싱부에 의해서만 글로벌 좌표로 저장되는 영역(202b)이 있다.
그리고 이들 두 개의 맵을 결합하면, 도 17과 같이 3차원 맵(210)을 구성한다. 3차원 맵(210)에서 라이다 센싱부(130)와 뎁스 센싱부(140) 모두에 의해 센싱된 영역(210a)과, 뎁스 센싱부(140)에 의해서만 센싱된 영역(210b), 그리고 라이다 센싱부에 의해 센싱된 영역들(도 16 및 도 17의 검은색 영역)로 구분할 수 있으며, 이는 로봇이 이들 각각을 상이한 색상 혹은 상이한 형태로 구분하여 디스플레이 할 수 있도록 한다.
한편, 도 17에서 3차원 맵에 표시된 좌표들은 모두 객체가 배치된 위치를 보여주는데, 이들 중에는 이동 객체가 존재할 수 있다. 따라서, 도 16의 뎁스 센서맵(202)에서 로봇이 R의 위치에서 화살표 방향으로 이동한 후에 생성하는 뎁스 센서맵을 살펴보면 도 18과 같다. 도 17의 맵 역시 임시맵이 될 수 있다. 즉, 임시적으로 생성하여 유지하고 일정한 시점에서 고정된 맵으로 저장할 수 있다.
도 18은 도 16에 연속하여 생성된 뎁스 센서맵을 보여주는 도면이다. 뎁스 센서맵(204)는 로봇(R로 표시)이 전진하는 과정에서 센싱한 새로운 객체들의 위치가 표시된 영역(204a, 204b)이 제시된다. 반면, 로봇의 후면에 배치된 202a 및 202b 영역에 대해서는 뎁스 센싱부(140)가 센싱하지 못하는 영역이다.
따라서, 도 15의 프로세스를 적용하여, 라이다 센싱부(130)에서 만약에 202a 및 202b의 영역에서 객체가 센싱된 경우라면 해당 객체는 이동하지 않았으므로 라이다 센서맵에 그대로 유지한다. 한편, 라이다 센싱부(130)에서 센싱되지 않는 높이(도 16의 202b 및 도 17의 210b에 대응하는 도 18의 202b 영역)의 객체에 대해서는 그대로 유지하되, 초음파 센싱부(110)가 202b 영역에서 객체를 센싱하지 않은 상태라면 이를 뎁스 센서맵(204)에서도 제거할 수 있다.
정리하면 다음과 같다. 뎁스 센싱부(140)와 라이다 센싱부(130)를 모두 가지고 있는 로봇의 제어부(900)가 각각의 센싱부에서 검출한 사물들, 즉 객체들의 위치를 저장하는 임시맵(라이다 센서맵, 뎁스 센서맵)을 생성한다. 그리고 뎁스 센서맵은 일정한 주기(뎁스 센싱부의 스펙에 따라 결정)에 따라 뎁스 센싱부(140)가 검출할 수 있는 Fov 와 거리 내에 있는 객체들의 좌표들이 실시간 업데이트되어 저장된다. 반면, Fov와 거리를 벗어난 정보는 로봇의 글로벌 좌표에 따라 3차원 맵 상에 변환되어 저장된다.
이 과정에서 이동한 객체는 3차원 맵에 저장되지 않도록, 즉 3차원 맵에서 제거되도록 하기 위해 라이다 센싱부(130)를 이용하여 이동 객체를 판별한다. 예를 들어, 라이다 센서맵은 일정한 주기로 라이다 센싱부(130)가 검출할 수 있는 각도와 거리 내에 있는 객체들을 실시간으로 업데이트하여 로봇좌표계의 Global 좌표로 변환하여 저장함과 동시에 이동 객체가 제거된 라이다 센서맵이 업데이트된다. 이 과정에서 뎁스 센서맵에서도 이동 객체를 제거하기 위해 라이다 센서맵과 비교할 수 있다. 즉, 라이다 센서맵을 업데이트 하는 과정에서 객체가 더 이상 존재하지 않는 지점의 글로벌 좌표를 뎁스 센서맵과 비교하여 업데이트 한다.
예를 들어, 라이다 센서맵에서 제거된 좌표가 실제 라이다 센싱부(130)가 센싱하지 못하는 지점이라면, 즉, 라이다 센싱부(130)가 설치된 위치에서 검출되는 객체가 아니라면 뎁스 센서맵에서 삭제하지 않고 유지한다. 반면, 라이다 센싱부(130)가 검출할 수 있는 높이의 객체가 더 이상 센싱되지 않는다면, 뎁스 센서맵에서 삭제할 수 있다. 보다 정확성을 높이기 위해 초음파 센싱부(110) 또는 적외선 센싱부(120)를 이용하여 뎁스 센서맵에서 뎁스 센싱부(140)가 센싱하지 못하는 영역의 객체의 이동 유무를 확인할 수 있다.
도 19는 본 발명의 일 실시예에 의한 차원 공간의 이동 객체를 식별하는 과정을 보여주는 도면이다. 라이다 센싱부(130)가 센싱한 객체들의 위치 정보가 반영된 제1라이다 센서맵을 산출하고(S91), 뎁스 센싱부(S92)가 센싱한 객체들의 높이 및 위치 정보가 반영된 뎁스 센서맵을 산출한다. 이는 도 16에서 살펴보았다. 그리고 라이다 센싱부(130)가 센싱한 객체들의 위치 정보가 반영된 제2라이다 센서맵을 산출한다(S92). 그 결과 이동한 객체, 즉 사라진 객체는 제2라이다 센서맵에 존재하지 않는다.
따라서, 제어부(900)가 제1라이다 센서맵과 제2라이다 센서맵을 비교하여 제거된 객체의 위치를 산출하고 산출된 위치를 뎁스 센서맵에서 확인한다(S94). 만약 뎁스 센서맵에서도 제거된 것으로 확인되면 두 개의 센서부에서 변화가 확인한 것이므로, 뎁스 센서맵에서도 제거한다. 반면 일치하지 않는 경우, 예를 들어 제거된 객체의 위치가 뎁스 센싱부(140)가 검출할 수 없는 영역인 경우, 높이에 따라 제거 여부를 선택한다.
즉, 제어부(900)는 뎁스 센서맵에서 제거된 객체의 위치에 대응하는 높이 정보를 이용하여 뎁스 센서맵을 업데이트한다(S95). 예를 들어, 제어부(900)는 높이 정보가 라이다 센싱부(130)가 센싱할 수 있는 높이가 아닌 경우, 뎁스 센서맵에 객체의 위치를 유지한다. 대신 제어부(900)는 다른 센싱부, 예를 들어 초음파 센싱부(110) 및 적외선 센싱부(120) 중 어느 하나를 이용하여 여전히 객체가 센싱되지 않는 경우에는 뎁스 센서맵에서 해당 객체의 위치를 제거하여 장애물이 없는 것으로 구성할 수 있다.
본 명세서에서는 로봇의 일 실시예로 청소 기능이 탑재된 로봇을 중심으로 설명하였으나, 본 발명이 이에 한정되는 것은 아니며, 모든 자율 주행 가능한 로봇제품에 적용 가능한 기술이다. 특히, 본 발명의 로봇은, 다양한 센서들의 융합으로 이동 객체를 식별하고 객체들의 위치를 3차원 맵에 저장할 수 있도록 한다.
본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.
부호의 설명
1000: 로봇 100: 센싱 모듈
110: 초음파 센싱부 120: 적외선 센싱부
130: 라이다 센싱부 140: 뎁스센싱부
150: 센싱 데이터 분석부 200: 맵 저장부
300: 이동부 400: 기능부
500: 통신부 900: 제어부

Claims (15)

  1. 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈;
    외부에 미리 설정된 기능을 제공하는 기능부;
    로봇을 이동시키는 이동부;
    상기 로봇이 이동하는 공간에서 상기 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 저장하는 맵 저장부; 및
    상기 센싱 모듈, 상기 기능부, 상기 이동부 및 상기 맵 저장부를 제어하며 상기 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하고, 상기 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 상기 3차원 맵에 저장하는 제어부를 포함하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  2. 제1항에 있어서,
    상기 센싱 모듈은 라이다 센싱부 및 뎁스 센싱부를 포함하며,
    상기 제어부는 상기 라이다 센싱부가 센싱한 높이 H의 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 높이 및 위치 정보를 결합하여 상기 3차원 맵을 생성하여 맵 저장부에 저장하며,
    상기 맵 저장부는 상기 센싱 모듈의 위치 또는 시간에 따라 다수의 3차원 맵을 저장하며,
    상기 제어부는 상기 라이다 센싱부 또는 상기 뎁스 센싱부 중 어느 하나 이상의 센싱 결과에 따라 상기 맵 저장부에 저장된 객체 중 이동 객체를 상기 3차원 맵에서 제거하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  3. 제2항에 있어서,
    상기 제어부는 상기 라이다 센싱부가 센싱한 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 위치 정보를 비교하여 오차가 발생한 경우, 상기 라이다 센싱부 및 상기 뎁스 센싱부의 우선 순위에 따라 상기 위치 정보를 캘리브레이션 하거나 또는 상기 맵 저장부에 이전에 저장한 3차원 맵과의 비교 결과에 따라 상기 위치 정보를 캘리브레이션하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  4. 제3항에 있어서,
    상기 제어부는 상기 비교 결과에 기반하여 오차가 발생한 센싱부의 센싱 결과를 캘리브레이션하는 변수를 산출하며,
    상기 제어부는 상기 오차가 발생한 센싱부가 센싱하는 객체의 위치 정보에 상기 변수를 적용하여 캘리브레이션하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  5. 제1항에 있어서,
    상기 센싱 모듈은 초음파 센싱부를 더 포함하며,
    상기 로봇의 일정한 반경 내에서 상기 3차원 맵에 저장된 객체가 상기 초음파 센싱부에서 센싱되지 않으면, 상기 제어부는 상기 객체를 이동 객체로 확인하고 상기 3차원 맵에서 상기 이동 객체를 제거하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  6. 로봇에 결합하여 객체와 로봇 사이의 물리적 거리와 상기 객체와 상기 로봇 사이의 각도 정보를 산출하는 라이다 센싱부와, 상기 로봇의 일방향의 뎁스 정보를 산출하는 뎁스 센싱부와, 상기 로봇의 일정 반경 내의 객체의 거리를 센싱하는 초음파 센싱부를 포함하며, 상기 센싱부들 중 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 센싱 모듈;
    상기 라이다 센싱부가 생성하는 2차원 라이다 센서맵과 상기 뎁스 센싱부가 생성하는 3차원 뎁스 센서맵을 결합하여 생성되는 3차원 맵을 저장하는 맵 저장부; 및
    상기 둘 이상의 센서맵에서 공통으로 센싱된 제1객체와, 상기 라이다 센싱부가 센싱할 수 없는 높이에 배치되어 상기 뎁스 센싱부에 의해 센싱된 제2객체와, 상기 뎁스 센싱부에서 센싱되지 않았으나 상기 라이다 센싱부가 센싱한 제3객체 중 어느 하나 이상을 상기 3차원 맵에 저장하고, 상기 3차원 맵에 저장된 객체 중에서 상기 반경 내에 센싱되지 않은 객체를 이동 객체로 확인하여 상기 3차원 맵에서 제거하는 제어부를 포함하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  7. 제6항에 있어서,
    상기 제2객체와 상기 제3객체가 미리 설정된 간격 이내에 인접하여 위치한 경우, 상기 제어부는 상기 제2객체 또는 상기 제3객체의 위치와 상기 맵 저장부에 이전에 저장한 3차원 맵을 비교하여 상기 제2객체 또는 상기 제3객체의 위치 정보를 캘리브레이션하는, 3차원 공간의 이동 객체를 식별하는 로봇.
  8. 로봇의 센싱 모듈이 둘 이상의 센싱부를 이용하여 객체의 높이 및 위치 정보를 산출하는 단계;
    상기 로봇의 제어부가 상기 센싱 모듈이 산출한 객체의 높이 및 위치 정보를 글로벌 좌표로 전환하는 단계;
    상기 제어부가 상기 글로벌 좌표로 전환한 객체의 높이 및 위치 정보를 포함하는 3차원 맵을 생성하여 로봇의 맵 저장부에 저장하는 단계; 및
    상기 센싱 모듈의 상기 둘 이상의 센싱부가 센싱한 어느 하나 이상의 센싱 결과에 따라 상기 제어부가 이동 객체를 확인하여 상기 맵 저장부에 저장된 상기 3차원 맵에서 상기 이동 객체를 제거하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  9. 제8항에 있어서,
    상기 센싱 모듈은 라이다 센싱부 및 뎁스 센싱부를 포함하며,
    상기 저장하는 단계는 상기 라이다 센싱부가 센싱한 높이 H의 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 높이 및 위치 정보를 상기 제어부가 비교하여 3차원 맵을 생성하여 상기 맵 저장부에 저장하는 단계를 더 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  10. 제9항에 있어서,
    상기 맵 저장부는 상기 센싱 모듈의 위치 또는 시간에 따라 다수의 3차원 맵을 저장하는, 3차원 공간의 이동 객체를 식별하는 방법.
  11. 제9항에 있어서,
    상기 저장하는 단계는
    상기 라이다 센싱부가 센싱한 객체의 위치 정보와 상기 뎁스 센싱부가 센싱한 객체의 위치 정보를 상기 제어부가 비교하는 단계;
    상기 비교한 결과 오차가 발생한 경우, 상기 제어부는 상기 라이다 센싱부 및 상기 뎁스 센싱부의 우선 순위에 따라 상기 위치 정보를 캘리브레이션 하거나 또는 상기 맵 저장부에 이전에 저장한 3차원 맵과의 비교 결과에 따라 상기 위치 정보를 캘리브레이션하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  12. 제11항에 있어서,
    상기 위치 정보를 캘리브레이션하는 단계는
    상기 제어부가 상기 비교 결과에 따라 오차가 발생한 센싱부의 센싱 결과를 캘리브레이션하는 변수를 산출하는 단계; 및
    상기 제어부가 상기 오차가 발생한 센싱부가 센싱하는 객체의 위치 정보에 상기 변수를 적용하여 캘리브레이션하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  13. 제8항에 있어서,
    상기 센싱 모듈은 초음파 센싱부를 더 포함하며,
    상기 이동 객체를 제거하는 단계 이전에
    상기 초음파 센싱부가 일정한 반경 내에서 객체를 센싱하는 단계; 및
    상기 제어부가 상기 초음파 센싱부가 센싱한 객체의 거리와 상기 3차원 맵에 저장된 객체의 위치를 비교하여 상기 초음파 센싱부에서 센싱되지 않은 객체를 이동 객체로 확인하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  14. 로봇의 센싱 모듈의 라이다 센싱부가 센싱한 객체들의 위치 정보가 반영된 제1라이다 센서맵을 산출하는 단계;
    상기 센싱 모듈의 뎁스 센싱부가 센싱한 객체들의 높이 및 위치 정보가 반영된 뎁스 센서맵을 산출하는 단계;
    상기 라이다 센싱부가 센싱한 객체들의 위치 정보가 반영된 제2라이다 센서맵을 산출하는 단계;
    상기 로봇의 제어부가 상기 제1라이다 센서맵과 상기 제2라이다 센서맵을 비교하여 제거된 객체의 위치를 산출하고 상기 산출된 위치를 상기 뎁스 센서맵에서 확인하는 단계;
    상기 제어부가 상기 뎁스 센서맵에서 상기 제거된 객체의 위치에 대응하는 높이 정보를 이용하여 상기 뎁스 센서맵을 업데이트하는 단계를 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
  15. 제14항에 있어서,
    상기 제어부는 상기 높이 정보가 상기 라이다 센싱부가 센싱할 수 있는 높이가 아닌 경우, 상기 뎁스 센서맵에 상기 객체의 위치를 유지하는 단계를 더 포함하는, 3차원 공간의 이동 객체를 식별하는 방법.
PCT/KR2018/005747 2017-06-15 2018-05-18 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇 WO2018230852A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/622,183 US11602850B2 (en) 2017-06-15 2018-05-18 Method for identifying moving object in three-dimensional space and robot for implementing same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170076120A KR102326077B1 (ko) 2017-06-15 2017-06-15 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
KR10-2017-0076120 2017-06-15

Publications (1)

Publication Number Publication Date
WO2018230852A1 true WO2018230852A1 (ko) 2018-12-20

Family

ID=64660599

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/005747 WO2018230852A1 (ko) 2017-06-15 2018-05-18 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇

Country Status (3)

Country Link
US (1) US11602850B2 (ko)
KR (1) KR102326077B1 (ko)
WO (1) WO2018230852A1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111562789A (zh) * 2020-06-16 2020-08-21 杭州裕新智能科技有限公司 一种机器人定位调整系统
EP3690399A3 (de) * 2019-01-14 2020-12-30 Continental Automotive GmbH Entfernen von objekten aus einer digitalen strassenkarte
CN113939383A (zh) * 2019-04-05 2022-01-14 简罗拉亚技术股份公司 使用惯性测量单元(imu)和拉线编码器位置传感器的3d位置和方向计算以及机器人应用结构
US11227434B2 (en) 2018-11-28 2022-01-18 Delta Electronics, Inc. Map constructing apparatus and map constructing method
US20220164982A1 (en) * 2020-11-26 2022-05-26 Automotive Research & Testing Center Localization and mapping method and moving apparatus

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109425352A (zh) * 2017-08-25 2019-03-05 科沃斯机器人股份有限公司 自移动机器人路径规划方法
KR20200117772A (ko) * 2019-04-05 2020-10-14 삼성전자주식회사 전자 장치 및 그 제어 방법
US11731615B2 (en) * 2019-04-28 2023-08-22 Ottopia Technologies Ltd. System and method for remote operator assisted driving through collision avoidance
WO2020243901A1 (en) * 2019-06-04 2020-12-10 Texas Instruments Incorporated An optical time of flight sensor for navigation systems in robotic applications
US20210004613A1 (en) * 2019-07-02 2021-01-07 DeepMap Inc. Annotating high definition map data with semantic labels
WO2021059437A1 (ja) * 2019-09-26 2021-04-01 ヤマハ発動機株式会社 環境地図作成装置および該方法、ならびに、自己位置推定装置、自律移動体
US11880209B2 (en) 2020-05-15 2024-01-23 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
JP2022013117A (ja) * 2020-07-03 2022-01-18 オムロン株式会社 経路策定システム、移動ロボット、経路策定プログラムおよび移動ロボットの制御プログラム
CN112034467B (zh) * 2020-07-20 2023-09-26 深圳市无限动力发展有限公司 扫地机构图的方法、装置、计算机设备和可读存储介质
EP4211423A4 (en) * 2020-09-10 2024-05-29 Topcon Positioning Systems, Inc. METHOD AND DEVICE FOR DETERMINING A VEHICLE POSITION
CN112348893B (zh) * 2020-10-30 2021-11-19 珠海一微半导体股份有限公司 一种局部点云地图构建方法及视觉机器人
US11999375B2 (en) * 2021-03-03 2024-06-04 Wipro Limited Method and system for maneuvering vehicles using adjustable ultrasound sensors
CN113866786A (zh) * 2021-09-22 2021-12-31 广州蓝胖子移动科技有限公司 叉车定位的方法、叉车及计算机可读存储介质
CN114637698B (zh) * 2022-05-18 2022-09-02 深圳市倍思科技有限公司 机器人的地图内存分配方法、装置、机器人及存储介质
KR20240028574A (ko) * 2022-08-24 2024-03-05 삼성전자주식회사 전자 장치를 관리하는 로봇 및 그 제어 방법
CN117130376B (zh) * 2023-10-27 2024-02-02 合肥酷尔环保科技有限公司 一种分布式超声波避障系统及其避障方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310043A (ja) * 2004-04-26 2005-11-04 Mitsubishi Heavy Ind Ltd 移動体の障害物回避方法及び該移動体
JP2012089174A (ja) * 2012-02-08 2012-05-10 Fuji Soft Inc ロボット及び情報処理装置のプログラム
JP2014157478A (ja) * 2013-02-15 2014-08-28 Toyota Motor Corp 自律移動体及びその制御方法
JP2014203429A (ja) * 2013-04-10 2014-10-27 トヨタ自動車株式会社 地図生成装置、地図生成方法及び制御プログラム
JP2015092348A (ja) * 2010-12-30 2015-05-14 アイロボット コーポレイション 可動式ヒューマンインターフェースロボット

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003329773A (ja) * 2002-05-10 2003-11-19 Hitachi Ltd 複数の距離検知センサを設置した車両制御装置
KR101572851B1 (ko) * 2008-12-22 2015-11-30 삼성전자 주식회사 동적 환경에서 모바일 플랫폼의 지도 작성방법
CA2928262C (en) * 2010-12-30 2018-06-26 Irobot Corporation Mobile robot system
KR101799977B1 (ko) * 2013-07-05 2017-11-22 한국기술교육대학교 산학협력단 로봇의 주행 제어 방법 및 그 장치
US9387867B2 (en) * 2013-12-19 2016-07-12 Thales Canada Inc Fusion sensor arrangement for guideway mounted vehicle and method of using the same
KR102403504B1 (ko) * 2015-11-26 2022-05-31 삼성전자주식회사 이동 로봇 및 그 제어 방법
KR101878827B1 (ko) * 2016-11-30 2018-07-17 주식회사 유진로봇 다채널 라이더 기반 이동로봇의 장애물 검출 장치 및 방법, 및 이를 구비한 이동로봇
KR102033143B1 (ko) * 2017-01-25 2019-10-16 엘지전자 주식회사 3차원 공간에서 기능 영역을 식별하는 방법 및 이를 구현하는 로봇
KR102012549B1 (ko) * 2017-01-25 2019-08-20 엘지전자 주식회사 이동 객체를 식별하여 맵을 작성하는 방법 및 이를 구현하는 로봇

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005310043A (ja) * 2004-04-26 2005-11-04 Mitsubishi Heavy Ind Ltd 移動体の障害物回避方法及び該移動体
JP2015092348A (ja) * 2010-12-30 2015-05-14 アイロボット コーポレイション 可動式ヒューマンインターフェースロボット
JP2012089174A (ja) * 2012-02-08 2012-05-10 Fuji Soft Inc ロボット及び情報処理装置のプログラム
JP2014157478A (ja) * 2013-02-15 2014-08-28 Toyota Motor Corp 自律移動体及びその制御方法
JP2014203429A (ja) * 2013-04-10 2014-10-27 トヨタ自動車株式会社 地図生成装置、地図生成方法及び制御プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11227434B2 (en) 2018-11-28 2022-01-18 Delta Electronics, Inc. Map constructing apparatus and map constructing method
EP3690399A3 (de) * 2019-01-14 2020-12-30 Continental Automotive GmbH Entfernen von objekten aus einer digitalen strassenkarte
CN113939383A (zh) * 2019-04-05 2022-01-14 简罗拉亚技术股份公司 使用惯性测量单元(imu)和拉线编码器位置传感器的3d位置和方向计算以及机器人应用结构
CN111562789A (zh) * 2020-06-16 2020-08-21 杭州裕新智能科技有限公司 一种机器人定位调整系统
US20220164982A1 (en) * 2020-11-26 2022-05-26 Automotive Research & Testing Center Localization and mapping method and moving apparatus
US11580666B2 (en) * 2020-11-26 2023-02-14 Automotive Research & Testing Center Localization and mapping method and moving apparatus

Also Published As

Publication number Publication date
US11602850B2 (en) 2023-03-14
US20200114509A1 (en) 2020-04-16
KR102326077B1 (ko) 2021-11-12
KR20180136833A (ko) 2018-12-26

Similar Documents

Publication Publication Date Title
WO2018230852A1 (ko) 3차원 공간의 이동 객체를 식별하는 방법 및 이를 구현하는 로봇
WO2018186583A1 (ko) 주행 지면의 장애물을 식별하는 방법 및 이를 구현하는 로봇
WO2019235743A1 (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
WO2021006556A1 (en) Moving robot and control method thereof
WO2014038898A1 (en) Transparent display apparatus and object selection method using the same
WO2017091008A1 (ko) 이동 로봇 및 그 제어 방법
WO2016200098A1 (ko) 이동 로봇 및 그 제어방법
WO2017191928A1 (ko) 청소로봇 및 그 제어 방법
WO2020226187A1 (ko) 다중 센서 및 인공지능에 기반하여 맵을 생성하고 맵을 이용하여 주행하는 로봇
WO2011062389A2 (ko) 터치 패널, 터치 패널의 구동방법 및 터치 패널을 포함하는 디스플레이 장치
WO2019199112A1 (ko) 자율 작업 시스템, 방법 및 컴퓨터 판독 가능한 기록매체
EP3829832A1 (en) Moving robot, moving robot system, and method for moving to charging station of moving robot
WO2019045293A1 (ko) 타겟 지향 로컬 경로를 생성하는 방법 및 이를 구현하는 로봇
WO2018105842A1 (ko) 레이더 기반 고 정밀 돌발상황 검지 시스템
WO2018079985A1 (ko) 청소기 및 그 제어방법
WO2020241930A1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를 구현하는 로봇
WO2018230845A1 (ko) 비전 정보에 기반한 위치 설정 방법 및 이를 구현하는 로봇
WO2015194866A1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
WO2022045808A1 (ko) 청소 로봇 및 그 제어 방법
WO2020230931A1 (ko) 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법
WO2018143620A2 (en) Robot cleaner and method of controlling the same
WO2021040214A1 (ko) 이동 로봇 및 그 제어 방법
WO2017023107A1 (ko) 광파 탐지 및 거리 측정 장치
WO2019135437A1 (ko) 안내 로봇 및 그의 동작 방법
WO2020027611A1 (en) Moving robot, moving robot system, and method for moving to charging station of moving robot

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: 18818800

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18818800

Country of ref document: EP

Kind code of ref document: A1