WO2024043575A1 - 신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법 - Google Patents

신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2024043575A1
WO2024043575A1 PCT/KR2023/011579 KR2023011579W WO2024043575A1 WO 2024043575 A1 WO2024043575 A1 WO 2024043575A1 KR 2023011579 W KR2023011579 W KR 2023011579W WO 2024043575 A1 WO2024043575 A1 WO 2024043575A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot device
sensing data
reliability value
sensor
robotic device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2023/011579
Other languages
English (en)
French (fr)
Inventor
권순범
이재하
최믿음
최준영
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to EP23857609.4A priority Critical patent/EP4512580B1/en
Priority to CN202380053799.8A priority patent/CN119562883A/zh
Priority to US18/238,902 priority patent/US20240069563A1/en
Publication of WO2024043575A1 publication Critical patent/WO2024043575A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1628Program controls characterised by the control loop
    • B25J9/1653Program controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1694Program 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
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/242Means based on the reflection of waves generated by the vehicle
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/10Specific applications of the controlled vehicles for cleaning, vacuuming or polishing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/40Indoor domestic environment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2111/00Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
    • G05D2111/10Optical signals
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2111/00Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
    • G05D2111/10Optical signals
    • G05D2111/17Coherent light, e.g. laser signals

Definitions

  • the present invention relates to a robotic device and a control method thereof, and more specifically, to a robotic device that identifies a movement path using a reliability value and a control method thereof.
  • a robotic device acquired a map, estimated its position within the map, and moved along a movement path.
  • the robot device moves, the error between the estimated position and the actual position accumulates, resulting in a significant deviation.
  • the robot device itself is assumed to be located at the end point within the map, but there is a problem in that the actual location of the robot device is located in a completely different place rather than the end point of the movement path.
  • the robot device includes at least one memory that stores at least one instruction, a sensor that senses the environment of the robot device and outputs sensing data, and executes the at least one instruction. Based on the sensing data received from the sensor, a map corresponding to the space where the robot device is located and a reliability value of each of a plurality of areas of the map are obtained, and a reliability value of the map and each of the plurality of areas is obtained. Stores in the at least one memory, identifies at least one area corresponding to a reliability value greater than a threshold based on a reliability value corresponding to each of the plurality of areas, and identifies the at least one area based on the identified at least one area. Identify the movement path of the robotic device in space.
  • the one or more processors estimate one of the plurality of areas as the location of the robot device based on the sensing data, determine the probability that the estimated location matches the actual location of the robot device, and determine the probability that the estimated location matches the actual location of the robot device.
  • An estimated reliability value corresponding to the estimated location of the device may be obtained.
  • the one or more processors acquire movement information of the robot device based on first and second sensing data continuously received from the sensor, and obtain movement information corresponding to the second sensing data based on the movement information.
  • the new location of the robotic device can be estimated.
  • the sensor includes a LiDAR sensor, the first sensing data includes first point cloud data received from the LiDAR sensor, and the second sensing data is received from the LiDAR sensor. and second point cloud data, wherein the one or more processors perform an operation of combining a plurality of point clouds based on the first point cloud data and the second point cloud data, and the new point cloud of the robot device. An updated reliability value corresponding to the location is obtained, and the updated reliability value may be less than the threshold value.
  • the sensor includes a camera, the first sensing data received from the camera includes first image data, the second sensing data received from the camera includes second image data, and the one or more
  • the processor identifies a dynamic object based on the first image data and the second image data, and if the number of dynamic objects is more than a threshold number, obtains an updated reliability value corresponding to the new location of the robotic device. And the updated reliability value may be less than the threshold value.
  • the sensor includes a camera, sensing data received from the camera includes image data, and the one or more processors identify a viewing angle of the camera based on the image data, and the viewing angle is less than a critical angle. If so, an updated reliability value corresponding to the new location of the robotic device is obtained, and the updated reliability value may be less than the threshold value.
  • the movement information includes a movement direction of the robot device, a movement distance of the robot device, or a movement speed of the robot device, and the one or more processors include the movement direction of the robot device included in the movement information, If at least one of the movement distance and the movement speed is identified as being impossible to maintain, obtain an updated reliability value corresponding to the new position of the robotic device, and the updated reliability value may be less than the threshold value. .
  • the one or more processors may update the reliability value corresponding to one area among the plurality of areas based on the obtained reliability value.
  • the sensor includes a LiDAR sensor, and the one or more processors determine the orientation of the LiDAR sensor in one of the plurality of areas based on sensing data received from the LiDAR sensor.
  • An error value according to the robot device may be identified, and the direction of the lidar sensor may be adjusted based on the error value while the robot device moves along the movement path within one of the plurality of areas.
  • the one or more processors may modify the movement path to bypass the identified area.
  • a control method of a robotic device includes obtaining a map of a space where the robotic device is located, including a plurality of regions, each of the plurality of regions including a corresponding reliability value, Identifying at least one area among the plurality of areas, which corresponds to a reliability value equal to or higher than a threshold based on a reliability value corresponding to each of the plurality of areas, and identifying the robot for the space based on the at least one area. It includes identifying the movement path of the device.
  • the control method includes estimating one area among the plurality of areas as the location of the robot device based on sensing data from a sensor of the robot device, and determining a probability that the estimated location matches the actual location of the robot device. It may further include determining and obtaining an estimated reliability value corresponding to the estimated position of the robot device.
  • the estimating step includes obtaining movement information of the robot device based on first and second sensing data continuously received from the sensor, and calculating movement information corresponding to the second sensing data based on the movement information. It may include estimating a new location of the robot device.
  • the sensor includes a LiDAR sensor, the first sensing data includes first point cloud data received from the LiDAR sensor, and the second sensing data is received from the LiDAR sensor. comprising second point cloud data, wherein the step of obtaining the estimated reliability value includes performing an operation of combining a plurality of point clouds based on the first point cloud data and the second point cloud data, and and obtaining an updated reliability value corresponding to the new location of the robotic device, wherein the updated reliability value may be less than the threshold value.
  • the sensor includes the camera, the first sensing data received from the camera includes first image data, and the second sensing data received from the camera includes second image data, Obtaining the estimated reliability value includes identifying a dynamic object based on the first image data and the second image data, and if the number of dynamic objects is greater than a threshold number, the new location of the robotic device and obtaining an updated reliability value corresponding to , wherein the updated reliability value may be less than the threshold value.
  • a computer-readable recording medium including a program for executing a method for controlling a robotic device, wherein the method for controlling a robotic device includes a plurality of regions, each of the plurality of regions including a corresponding reliability value. Obtaining a map of the space where the robotic device is located, identifying at least one area among the plurality of areas corresponding to a reliability value greater than or equal to a threshold based on the reliability value corresponding to each of the plurality of areas, and and identifying a movement path of the robotic device with respect to the space based on at least one area.
  • the control method includes estimating one area among the plurality of areas as the location of the robot device based on sensing data from a sensor of the robot device, and determining a probability that the estimated location matches the actual location of the robot device. It may further include determining and obtaining an estimated reliability value corresponding to the estimated position of the robot device.
  • the estimating step includes obtaining movement information of the robot device based on first and second sensing data continuously received from the sensor, and calculating movement information corresponding to the second sensing data based on the movement information. It may include estimating a new location of the robot device.
  • the sensor includes a LiDAR sensor, the first sensing data includes first point cloud data received from the LiDAR sensor, and the second sensing data is received from the LiDAR sensor. comprising second point cloud data, wherein the step of obtaining the estimated reliability value includes performing an operation of combining a plurality of point clouds based on the first point cloud data and the second point cloud data, and and obtaining an updated reliability value corresponding to the new location of the robotic device, wherein the updated reliability value may be less than the threshold value.
  • the sensor includes the camera, the first sensing data received from the camera includes first image data, and the second sensing data received from the camera includes second image data, Obtaining the estimated reliability value includes identifying a dynamic object based on the first image data and the second image data, and if the number of dynamic objects is greater than a threshold number, the new location of the robotic device and obtaining an updated reliability value corresponding to , wherein the updated reliability value may be less than the threshold value.
  • FIG. 1 is a diagram for explaining a robot device according to an embodiment of the present disclosure.
  • Figure 2 is a block diagram showing the configuration of a robot device according to an embodiment of the present disclosure.
  • FIG. 3 is a diagram for explaining a map corresponding to a space where a robot device is located according to an embodiment of the present disclosure.
  • Figure 4 is a diagram for explaining movement information of a robot device according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for explaining a plurality of areas included in a map according to an embodiment of the present disclosure.
  • Figure 6 is a diagram for explaining a method of estimating the position of a robot device according to an embodiment of the present disclosure.
  • Figure 7 is a diagram for explaining point cloud data according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram for explaining a dynamic object according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram for explaining a field of view according to an embodiment of the present disclosure.
  • Figure 10 is a flowchart for explaining a control method of a robot device according to an embodiment of the present disclosure.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • a or/and B should be understood as referring to either “A” or “B” or “A and B”.
  • expressions such as “first,” “second,” “first,” or “second,” can modify various components regardless of order and/or importance, and can refer to one component. It is only used to distinguish from other components and does not limit the components.
  • a component e.g., a first component
  • another component e.g., a second component
  • connection to it should be understood that a certain component can be connected directly to another component or connected through another component (e.g., a third component).
  • a “module” or “unit” performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of “modules” or a plurality of “units” are integrated into at least one module and implemented by at least one processor (not shown), except for “modules” or “units” that need to be implemented with specific hardware. It can be.
  • the term user may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using an electronic device.
  • a device eg, an artificial intelligence electronic device
  • FIG. 1 is a diagram for explaining a robot device according to an embodiment of the present disclosure.
  • the robotic device 100 may refer to various types of devices that have the ability to perform functions on their own. For example, in addition to simple repetitive functions, the robotic device 100 detects the surrounding environment of the robotic device 100 in real time based on sensing data from sensors (e.g., LiDAR (Light Detection And Ranging) sensors, cameras, etc.) It may also mean a smart device that collects information and operates autonomously.
  • sensors e.g., LiDAR (Light Detection And Ranging) sensors, cameras, etc.
  • sensors e.g., LiDAR (Light Detection And Ranging) sensors, cameras, etc.
  • the robot device 100 may be provided with a driving unit including an actuator or a motor.
  • the driving unit may include a wheel, a brake, etc., and the robot device 100 can move within a specific space by itself using the wheel, a brake, etc. included in the driving unit.
  • the robotic device 100 may control the movement of robot joints (articulated) using a driving unit.
  • the robot joint may refer to a component of the robot device 100 to replace the function of a human arm or hand.
  • the robot device 100 can sense the surrounding environment of the robot device 100 in real time based on sensing data from a sensor. Subsequently, the robot device 100 may control the driving unit based on the sensed surrounding environment. For example, the robot device 100 may identify the movement path of the robot device 100 based on sensing data from a sensor.
  • the robotic device 100 may obtain a map corresponding to the space in which the robotic device 100 is located based on the sensing data and identify the location of the robotic device 100 within the map.
  • the robotic device 100 can identify its location in real time and move within space according to a movement path. Therefore, in order for the robotic device 100 to move within space according to a movement path, it is necessary to accurately (or with high reliability) identify the location.
  • the robotic device 100 identifies a location within the map, and identifies a movement path by considering whether the identified location matches the current location (or actual location) within the space of the robotic device 100.
  • Various embodiments will be described.
  • the robotic device 100 may be classified into industrial, medical, household, military, and exploration purposes depending on the field or function it can perform.
  • industrial robot devices may be subdivided into robot devices used in the product manufacturing process in a factory, robot devices that respond to customers, take orders, and serve in stores or restaurants, etc.
  • the robot device 100 is a serving robot device that can transport service items to a specific location desired by the user in various places such as restaurants, hotels, supermarkets, hospitals, and clothing stores. It can be implemented as:
  • the robot device 100 can be classified in various ways depending on the application field, function, and purpose of use, and is of course not limited to the above-described example.
  • the robot device 100 may be implemented as a robot cleaner located in a home.
  • a robot vacuum cleaner refers to a device that is driven by electric power and automatically suctions foreign substances.
  • the robot device 100 is assumed to be a robot vacuum cleaner, and the robot cleaner is shown assuming that the robot cleaner is implemented in a flat form that is in close contact with the floor to suck up floor debris.
  • the robot device 100 can be implemented in various forms as described above.
  • Figure 2 is a block diagram showing the configuration of a robot device according to an embodiment of the present disclosure.
  • the robotic device 100 includes a memory 110, a sensor 120, and one or more processors 130 (hereinafter referred to as processors).
  • the memory 110 may store data necessary for various embodiments of the present disclosure.
  • the memory 110 may be implemented as a memory embedded in the robot device 100 or as a memory detachable from the robot device 100 depending on the data storage purpose. For example, in the case of data for driving the robot device 100, it is stored in the memory embedded in the robot device 100, and in the case of data for the expansion function of the robot device 100, it is detachable from the robot device 100. It can be stored in available memory.
  • volatile memory e.g., dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.
  • non-volatile memory e.g., OTPROM (one time programmable ROM), PROM (programmable ROM), EPROM (erasable and programmable ROM), EEPROM (electrically erasable and programmable ROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash, etc.
  • OTPROM one time programmable ROM
  • PROM programmable ROM
  • EPROM erasable and programmable ROM
  • EEPROM electrically erasable and programmable ROM
  • mask ROM e.g., flash ROM, flash memory (such as NAND flash or NOR flash, etc.)
  • flash memory such as NAND flash or NOR flash, etc.
  • SSD solid state drive
  • a memory card e.g., compact flash (CF), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.
  • external memory that can be connected to a USB port (e.g., it may be implemented in a form such as USB memory).
  • the memory 110 may store at least one instruction or a computer program including instructions for controlling the robot device 100.
  • various data may be stored in the external memory of the processor 130, and some of the data may be stored in the internal memory of the processor 130 and the rest may be stored in the external memory.
  • the memory 110 may store a map corresponding to the space where the robot device 100 is located under the control of the processor 130.
  • the processor 130 may obtain a map corresponding to the space where the robot device 100 is located based on the sensing data received from the sensor 120 and store the map in the memory 110.
  • the senor 120 may include a Lidar sensor, a camera, etc.
  • the processor 130 controls the LiDAR sensor to emit a laser beam to detect the surrounding environment of the robotic device 100, and the LiDAR sensor measures the distance to an object adjacent to the robotic device 100, the robot The direction in which the object is located relative to the device 100 and the characteristics of the object can be obtained as sensing data. Subsequently, the processor 130 may obtain 2D/3D image information (eg, a map) of the surrounding environment of the robot device 100 based on the sensing data.
  • 2D/3D image information eg, a map
  • the processor 130 may acquire image data by controlling a camera to detect the surrounding environment of the robot device 100.
  • the camera may capture the surrounding environment of the robot device 100 under the control of the processor 130, acquire image data, and transmit it to the processor 130.
  • the processor 130 analyzes the image data to obtain the distance to the object adjacent to the robot device 100, the direction in which the object is located relative to the robot device 100, and the characteristics of the object, and the robot device 100
  • the surrounding environment of 100 can be obtained as 2D/3D image information (eg, map).
  • the senor 120 may include various types of sensors that can sense the surrounding environment of the robot device 100 in addition to a LiDAR sensor and a camera.
  • One or more processors 130 controls the overall operation of the robot device 100.
  • the processor 130 may be implemented as a digital signal processor (DSP), a microprocessor, or a time controller (TCON) that processes digital signals.
  • DSP digital signal processor
  • MCU micro controller unit
  • MPU micro processing unit
  • AP application processor
  • communication processor It may include one or more of a communication processor (CP), an ARM processor, and an Artificial Intelligence (AI) processor, or may be defined by the corresponding term.
  • the processor 130 is a System on Chip (SoC) with a built-in processing algorithm. ), may be implemented in the form of a large scale integration (LSI), or may be implemented in the form of a field programmable gate array (FPGA).
  • SoC System on Chip
  • the processor 130 performs various functions by executing computer executable instructions stored in memory. can be performed.
  • FIG. 3 is a diagram for explaining a map corresponding to a space where a robot device is located according to an embodiment of the present disclosure.
  • the processor 130 may perform a simultaneous localization and mapping (SLAM) operation to obtain a map corresponding to the space where the robot device 100 is located.
  • SLAM simultaneous localization and mapping
  • the SLAM operation is an operation of obtaining a map corresponding to the space where the robotic device 100 is located using sensing data received from the sensor 120 and identifying the location of the robotic device 100 within the map. It can mean.
  • the processor 130 may estimate the location of the robotic device 100 within the map based on sensing data received from the sensor 120.
  • the processor 130 when the first sensing data and the second sensing data are received sequentially (or continuously), the processor 130 generates movement information of the robot device 100 based on the first sensing data and the second sensing data. It can be obtained.
  • the processor 130 may estimate the location of the robot device 100 within the map at the time the second sensing data is received based on the movement information.
  • Figure 4 is a diagram for explaining movement information of a robot device according to an embodiment of the present disclosure.
  • the sensor 120 provided in the robot device 100 may acquire first sensing data and transmit the first sensing data to the processor 130.
  • the sensor 120 provided in the robot device 100' (the robot device 100' is the same as the robot device 100, but has moved forward in time) sends the second sensing data. and transmit the second sensing data to the processor 130.
  • the processor 130 may obtain movement information of the robot device 100 from time t to time t+1 based on the first sensing data and the second sensing data.
  • the processor 130 may estimate the location of the robot device 100' within the map at time t+1 based on movement information.
  • the senor 120 may include a LiDAR sensor.
  • the processor 130 combines the point cloud based on the first point cloud data included in the first sensing data and the second point cloud data included in the second sensing data (or , registration, alignment) can be performed.
  • the processor 130 may combine first point cloud data and second point cloud data using LiDAR Odometry (e.g., Iterative closest point (ICP) algorithm, Normal Distributions Transform (NDT), etc.) there is. Subsequently, the processor 130 may estimate the location (or movement trajectory) of the robot device 100' based on the result of combining the first point cloud data and the second point cloud data.
  • LiDAR Odometry e.g., Iterative closest point (ICP) algorithm, Normal Distributions Transform (NDT), etc.
  • the senor 120 may include a camera.
  • the processor 130 processes the robot device 100 from time t to time t+1 based on the first image data included in the first sensing data and the second image data included in the second sensing data received from the camera. Movement information can be obtained.
  • the processor 130 analyzes the first image data to identify features of at least one object included in the first image data (e.g., geometric features of the at least one object), By analyzing the second image data, characteristics of at least one object included in the second image data may be identified.
  • the processor 130 compares the characteristics of at least one object included in the first image data with the characteristics of at least one object included in the second image data to determine the robot device 100 from time t to time t+1. ) movement information can be obtained.
  • the processor 130 may estimate the location (or movement trajectory) of the robot device 100' based on the movement information.
  • the senor 120 may include at least one of a LiDAR sensor or a camera.
  • the processor 130 displays the robot device 100 in the map based on a plurality of sensing data received in real time or sequentially from the sensor 120 while the robot device 100 moves in space. Real-time location can be estimated.
  • the processor 130 may identify the probability that the estimated location within the map matches the actual location of the robot device 100 within space.
  • the processor 130 may identify whether the estimated location can be trusted as the actual location of the robotic device 100, that is, the probability that the estimated location matches the actual location (hereinafter referred to as a reliability value).
  • the reliability value represents the reliability of the location estimated based on movement information, and may be inversely proportional to the localization failure value (LFV).
  • LBV localization failure value
  • the reliability value is high, there is a high probability that the location estimated based on the movement information matches the actual location of the robot device 100, and the location measurement failure value may be low. Conversely, if the reliability value is low, the probability that the location estimated based on the movement information matches the actual location of the robotic device 100 is low, and the location measurement failure value may be high.
  • the processor 130 may divide the map into a plurality of areas and obtain and store a reliability value corresponding to each of the plurality of areas.
  • FIG. 5 is a diagram for explaining a plurality of areas included in a map according to an embodiment of the present disclosure.
  • the map may be divided into a plurality of areas.
  • Each of the plurality of areas may be called a cell, but hereinafter, for convenience of explanation, they will be collectively referred to as areas. Meanwhile, of course, the sizes of the plurality of areas shown in FIG. 5 are examples and are not limited thereto.
  • the processor 130 may estimate the real-time location of the robot device 100 based on a plurality of sensing data received in real time or sequentially from the sensor 120 while the robot device 100 is moving. there is.
  • the processor 130 identifies the probability that the estimated location matches the actual location of the robotic device 100, that is, a reliability value, and maps the identified reliability value with an area corresponding to the estimated location among the plurality of areas. You can.
  • the processor 130 identifies a reliability value corresponding to each of the plurality of areas, and creates a reliability value map (or, localization failure value (LFV) map (hereinafter, LFV Map)) corresponding to the map. It can be obtained.
  • LFV Map localization failure value
  • the processor 130 calculates the probability that the estimated position matches the actual position of the robotic device 100 using a confidence value map. It can be obtained from.
  • the processor 130 identifies an appropriate movement path in space, and in order to accurately move the robotic device 100 according to the identified movement path, it is necessary to accurately (or with high reliability) estimate the position within the map. .
  • the processor 130 may identify at least one area corresponding to a reliability value greater than or equal to a threshold value based on the reliability value corresponding to each of the plurality of areas included in the reliability value map. Subsequently, the processor 130 may identify the movement path of the robotic device 100 in space based on the at least one identified area.
  • the processor 130 selects one of the plurality of movement paths with the same start point and end point based on the reliability value map, which preferentially moves to an area where the reliability value is greater than a threshold value. can be identified.
  • the processor 130 selects one of the plurality of movement paths with the same start point and end point based on the reliability value map, bypassing an area where the reliability value is less than a threshold value. can be identified.
  • the processor 130 may move the robotic device 100 based on the identified movement path.
  • Figure 6 is a diagram for explaining a method of estimating the position of a robot device according to an embodiment of the present disclosure.
  • the processor 130 based on first point cloud data included in the first sensing data received from the LiDAR sensor and second point cloud data included in the second sensing data. Point clouds can be combined (or registered, aligned).
  • the processor 130 combines point clouds based on first point cloud data and second point cloud data corresponding to objects (e.g., sofas, etc.) adjacent to the robotic device 100. You can.
  • the processor 130 may obtain movement information based on the combination result and estimate the location within the map of the robotic device 100 based on the obtained movement information.
  • the processor 130 determines commonalities/similarities between the geometric features of the object obtained from each of the first image data included in the first sensing data received from the camera and the second image data included in the second sensing data. By identifying , movement information of the robot device 100 from time t to time t+1 can be obtained. Additionally, the processor 130 may estimate the location based on movement information.
  • the processor 130 may identify a reliability value of an area corresponding to an estimated location among a plurality of areas as being equal to or greater than a threshold value.
  • the processor 130 may obtain first point cloud data and second point cloud data. There is no, and point clouds may not be combined. In this case, the processor 130 may not obtain movement information based on the combination result and may fail to estimate the location within the map of the robot device 100. A detailed description of this will be made with reference to FIG. 7 .
  • Figure 7 is a diagram for explaining point cloud data according to an embodiment of the present disclosure.
  • the processor 130 may reduce the number of points included in the point cloud data. Accordingly, if the number of points included in the point cloud data is small, the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold value.
  • the processor 130 acquires movement information by combining the point cloud of the first point cloud data and the second point cloud data, and estimates the location of the robot device 100 based on the obtained movement information. You can. If the number of points included in each of the first point cloud data and the second point cloud data is small, the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold value.
  • the processor 130 may not obtain movement information and may fail to estimate the position within the map of the robotic device 100 if each of the first point cloud data and the second point cloud data does not include a point. Of course.
  • the processor 130 Based on the reliability value map, the processor 130 identifies which one of the plurality of movement paths with the same start point and end point preferentially moves to an area where the reliability value is greater than or equal to a threshold value. You can.
  • the processor 130 moves the movement path indicated by a solid line in FIG. 6, that is, the reliability value is below the threshold.
  • a movement path can be identified to include abnormal areas.
  • FIG. 8 is a diagram for explaining a dynamic object according to an embodiment of the present disclosure.
  • the processor 130 estimates the location based on point cloud data corresponding to the dynamic object, and the reliability value of the area corresponding to the estimated location. can be identified as being below the threshold.
  • the processor 130 may obtain movement information by combining the point cloud of the first point cloud data and the second point cloud data, and estimate the location of the robotic device 100 based on the obtained movement information. there is. If each of the first point cloud data and the second point cloud data includes a point cloud corresponding to a dynamic object, the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold value.
  • the movement information of the robotic device 100 from time t to time t+1 may include movement of the dynamic object in addition to the movement of the robotic device 100.
  • the processor 130 estimates the position of the robotic device 100 based on movement information
  • the position of the robotic device 100 is estimated by considering the movement of dynamic objects in addition to the movement of the robotic device 100, An error may occur between the estimated position and the actual position of the robot device 100. Therefore, if each of the first point cloud data and the second point cloud data includes a point cloud corresponding to a dynamic object, the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold value. .
  • the sensor 120 includes a camera, and the processor 130 identifies a dynamic object based on first image data included in first sensing data and second image data included in second sensing data received from the camera. , if a dynamic object is identified (or if the number of identified dynamic objects is greater than or equal to a threshold), the reliability value of the area corresponding to the estimated location may be identified as less than the threshold value.
  • FIG. 9 is a diagram for explaining a viewing angle according to an embodiment of the present disclosure.
  • the processor 130 may identify the viewing angle based on sensing data received from the sensor.
  • the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold.
  • the processor 130 is located adjacent to the left direction and the right direction based on the moving direction (e.g., traveling direction) of the robot device 100 based on the image data received from the camera.
  • An object eg, obstacle 10 can be identified.
  • the processor 130 may identify the viewing angle of the robotic device 100 based on the identified object. If the identified viewing angle is less than the threshold angle, the processor 130 according to one embodiment may identify the reliability value of the area corresponding to the location estimated from the received image data as less than the threshold.
  • the processor 130 receives information from the camera. It may be difficult to identify geometric characteristics of an object, photometric characteristics of an object, etc. from the image data.
  • the processor 130 determines if the geometric characteristics of the object are not identified from each of the first image data included in the first sensing data and the second image data included in the second sensing data (or, identification (if it is difficult to do so), movement information of the robot device 100 from time t to time t+1 may not be obtained. Accordingly, the processor 130 may fail to estimate the location within the map of the robotic device 100.
  • the processor 130 determines whether common points/similarities are identified between the geometric features of the object obtained from each of the first image data included in the first sensing data and the second image data included in the second sensing data. (or if it is difficult to identify), there is a low probability that the position estimated from the movement information of the robot device 100 from time t to time t+1 matches the actual position of the robot device 100. Accordingly, the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold value.
  • the processor 130 acquires movement information based on the number of rotations of the wheel included in the driving unit, the rotation speed of the wheel, etc., in addition to the sensing data received from the sensor 120. Of course it is possible.
  • the processor 130 acquires movement information of the robot device 100 from time t to time t+1, and includes the movement direction, movement distance, and movement of the robot device 100 included in the identified movement information. If at least one of the speeds is identified as being impossible to perform by the driving unit provided in the robot device 100, the reliability value of the area corresponding to the estimated position may be identified as less than the threshold value.
  • the driving unit provided in the robot device 100 can only move forward or backward, and the robot device 100 moves left or right depending on the movement direction of the robot device 100 included in the identified movement information.
  • the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold value.
  • the maximum speed of the driving unit provided in the robot device 100 is 5 m/s, and the robot device moves at 10 m/s according to the movement distance and movement speed of the robot device 100 included in the identified movement information. If identified, the processor 130 may identify the reliability value of the area corresponding to the estimated location as less than the threshold value.
  • the processor 130 may identify the movement path based on the map and the reliability value map. Specifically, the processor 130 may identify the movement path to include at least one area corresponding to a reliability value greater than or equal to a threshold value based on the reliability value corresponding to each of the plurality of areas included in the map.
  • the processor 130 may identify a movement path to bypass at least one area corresponding to a reliability value less than a threshold based on the reliability value corresponding to each of the plurality of areas included in the map.
  • the processor 130 acquires a reliability value while the robot device 100 moves along a movement path, and of course, may update the reliability value map based on the obtained reliability value.
  • the sensor 120 includes a LiDAR sensor, and the processor 130 determines the orientation of the LiDAR sensor in any one of a plurality of areas based on sensing data received from the LiDAR sensor. Error values can be identified.
  • the processor 130 may adjust the direction of the LIDAR sensor based on the error value while the robot device 100 moves through one area along the movement path.
  • the covariance and error values of the sensing data of the LiDAR sensor may be different depending on the direction in which the LiDAR sensor emits a laser beam at the same location.
  • the processor 130 determines the orientation of the LiDAR sensor in which the Covariance value and Error value decrease when moving a specific area based on the sensing data received from the LiDAR sensor. can be identified.
  • the processor 130 does not match the movement direction of the robot device 100 and the direction of the LiDAR sensor (i.e., the direction of emitting the laser beam), but rather uses the covariance (The direction of the LiDAR sensor can be adjusted to emit the laser beam in a direction that reduces covariance and error values.
  • the direction in which the robot device 100 moves and the direction in which the LIDAR sensor emits the laser beam may be the same or different.
  • the probability that the estimated location matches the actual location increases, and is included in the point cloud data. As the number of points increases, the probability that the estimated location matches the actual location increases. Additionally, as the object adjacent to the robot device 100 is a static object rather than a dynamic object, the probability that the estimated position matches the actual position increases.
  • the probability that the estimated position matches the actual position increases, and the probability of the object included in the image data is increased.
  • the probability that the estimated location matches the actual location increases.
  • the probability that the estimated position matches the actual position increases.
  • the robot device 100 moves adjacent to a static object (e.g., wall, furniture, home appliance, etc.) in space. You can do this, and you can move dynamic objects by bypassing them.
  • a static object e.g., wall, furniture, home appliance, etc.
  • the robot device 100 is moved in a space by bypassing a narrow passage (Path) or the sensor 120 is used when moving through a narrow passage.
  • the detection direction eg, orientation of the lidar sensor
  • the detection direction may not match the movement direction of the robot device 100.
  • the robot device 100 includes a communication interface.
  • the communication interface receives various data as input.
  • communication interfaces include AP-based Wi-Fi (Wireless LAN network), Bluetooth, Zigbee, wired/wireless LAN (Local Area Network), WAN (Wide Area Network), and Ethernet ( Ethernet), IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/European Broadcasting Union), Optical, Input various data from at least one external device installed in the home, an external storage medium (e.g., USB memory), an external server (e.g., web hard drive, streaming server), etc. through a communication method such as Coaxial. You can receive it.
  • an external storage medium e.g., USB memory
  • an external server e.g., web hard drive, streaming server
  • a communication method such as Coaxial. You can receive it.
  • Figure 10 is a flowchart for explaining a control method of a robot device according to an embodiment of the present disclosure.
  • a method for controlling a robot device including a map corresponding to the space where the robot device is located and a reliability value corresponding to each of a plurality of areas included in the map includes, first, a plurality of areas. Based on the reliability values corresponding to each, at least one area corresponding to a reliability value greater than or equal to a threshold value is identified (S1010).
  • the movement path of the robot device in space is identified based on the at least one identified area (S1020).
  • a control method includes estimating one of a plurality of areas as the location of the robot device based on sensing data from a sensor of the robot device, and determining the probability that the estimated location matches the actual location of the robot device.
  • a step of obtaining a reliability value may be further included.
  • the estimating step includes, when first sensing data and second sensing data are continuously received from the sensor, obtaining movement information of the robot device based on the first sensing data and second sensing data and based on the movement information. This may include estimating the location of the robot device corresponding to the second sensing data.
  • the step of obtaining the probability includes combining the point cloud based on the first point cloud data included in the first sensing data received from the lidar sensor and the second point cloud data included in the second sensing data, and If the combination fails, it may include obtaining a reliability value less than a threshold value.
  • Obtaining a probability includes identifying a dynamic object based on first image data included in first sensing data and second image data included in second sensing data received from a camera, and identifying the dynamic object. If the number of dynamic objects is greater than or equal to the threshold, the method may include obtaining a reliability value that is less than the threshold.
  • Obtaining the probability includes identifying the viewing angle of the camera based on image data included in sensing data received from the camera, and if the identified viewing angle is less than the threshold angle, obtaining a reliability value less than the threshold value. It may include steps.
  • Obtaining the probability includes obtaining a reliability value less than a threshold when at least one of the movement direction, movement distance, and movement speed of the robot device included in the movement information is identified as being impossible to perform in the robot device. may include.
  • the control method according to an example may further include updating a reliability value corresponding to one of the plurality of areas based on the obtained reliability value.
  • a control method includes identifying an error value according to the pose of a LiDAR sensor in one of a plurality of areas based on sensing data received from a LiDAR sensor and a movement path. Accordingly, the step of adjusting the posture of the lidar sensor based on the error value while the robot device moves in one area may be further included.
  • Step S1020 of identifying a movement path includes, when an area corresponding to a reliability value less than a threshold value is identified based on the reliability value corresponding to each of the plurality of areas, identifying a movement route to bypass the identified area. May include steps.
  • embodiments described above may be implemented in a recording medium that can be read by a computer or similar device using software, hardware, or a combination thereof.
  • embodiments described herein may be implemented with a processor itself.
  • embodiments such as procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • computer instructions for performing processing operations of the robot device according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • the computer instructions stored in such a non-transitory computer-readable medium when executed by a processor of a specific device, cause the specific device to perform processing operations in the audio output device 100 according to the various embodiments described above.
  • a non-transitory computer-readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories.
  • Specific examples of non-transitory computer-readable media may include CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Electromagnetism (AREA)

Abstract

로봇 장치가 개시된다. 로봇 장치는 메모리, 센서 및 센서로부터 수신된 센싱 데이터에 기초하여 로봇 장치가 위치하는 공간에 대응되는 맵(Map) 및 맵에 포함된 복수의 영역 각각에 대응되는 신뢰도 값을 획득하며, 맵 및 복수의 신뢰도 값을 메모리에 저장하는 하나 이상의 프로세서를 포함하며, 하나 이상의 프로세서는, 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는 적어도 하나의 영역을 식별하며, 식별된 적어도 하나의 영역에 기초하여 공간에 대한 로봇 장치의 이동 경로를 식별한다.

Description

신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법
본 발명은 로봇 장치 및 그 제어 방법에 관한 것으로, 더욱 상세하게는, 신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법에 관한 것이다.
매장, 카페, 레스토랑 등에서는 사람을 대체하는 서빙 로봇, 사용자의 별도 조작 없이도, 스스로 주행하면서 이물질을 흡입함으로써, 청소하고자 하는 영역을 자동으로 청소하는 로봇 청소기 등과 같이 공간 내에서 주행하며 특정 동작을 수행하는 다양한 형태의 로봇 장치가 보급되고 있다.
종래 기술에는, 로봇 장치가 맵을 획득하고, 맵 내에서 위치를 추정하여 이동 경로에 따라 이동하였다. 다만, 로봇 장치가 이동할수록 추정된 위치와 실제 위치 사이의 오차가 누적되어 상당한 편차가 발생하는 문제가 있다.
예를 들어, 이동 경로의 종료점에서는, 로봇 장치 스스로가 맵 내에서 종료점에 위치하는 것으로 추정하나, 로봇 장치의 실제 위치는 이동 경로의 종료점이 아닌, 전혀 다른 곳에 위치하는 문제가 있다.
즉, 로봇 장치가 이동 경로에 따라 이동하는 동안에 스스로가 추정한 위치가 실제 위치와 어느 정도 오차가 있는지 식별하고, 또한 오차를 고려하여 이동 경로를 설정(또는, 재설정)하는 방법에 대한 요구가 있었다.
본 개시의 일 실시 예에 따른 로봇 장치는, 적어도 하나의 인스트럭션을 저장하는 적어도 하나의 메모리, 상기 로봇 장치의 환경을 센싱하고, 센싱 데이터를 출력하는 센서 및 상기 적어도 하나의 인스트럭션을 실행함으로써, 상기 센서로부터 수신된 상기 센싱 데이터에 기초하여 상기 로봇 장치가 위치하는 공간에 대응되는 맵(Map) 및 상기 맵의 복수의 영역 각각의 신뢰도 값을 획득하며, 상기 맵 및 상기 복수의 영역 각각의 신뢰도 값을 상기 적어도 하나의 메모리에 저장하며, 상기 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는 적어도 하나의 영역을 식별하며, 상기 식별된 적어도 하나의 영역에 기초하여 상기 공간에 대한 상기 로봇 장치의 이동 경로를 식별한다.
상기 하나 이상의 프로세서는, 상기 센싱 데이터에 기초하여, 상기 복수의 영역 중 일 영역을 상기 로봇 장치의 위치로 추정하고, 상기 추정된 위치와 상기 로봇 장치의 실제 위치가 일치할 확률을 판단하여 상기 로봇 장치의 상기 추정된 위치에 대응되는 추정된 신뢰도 값을 획득할 수 있다.
상기 하나 이상의 프로세서는, 상기 센서로부터 연속적으로 수신된 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 상기 로봇 장치의 이동 정보를 획득하며, 상기 이동 정보에 기초하여 상기 제2 센싱 데이터에 대응되는 상기 로봇 장치의 새로운 위치를 추정할 수 있다.
상기 센서는, 라이다(LiDAR) 센서를 포함하며, 상기 제1 센싱 데이터는, 상기 라이다 센서로부터 수신된 제1 포인트 클라우드 데이터를 포함하며, 상기 제2 센싱 데이터는, 상기 라이다 센서로부터 수신된 제2 포인트 클라우드 데이터를 포함하며, 상기 하나 이상의 프로세서는, 상기 제1 포인트 클라우드 데이터와 상기 제2 포인트 클라우드 데이터에 기초하여 복수의 포인트 클라우드를 결합하는 동작을 수행하며, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
상기 센서는, 카메라를 포함하며, 상기 카메라로부터 수신된 상기 제1 센싱 데이터는 제1 이미지 데이터를 포함하고, 상기 카메라로부터 수신된 상기 제2 센싱 데이터는 제2 이미지 데이터를 포함하고, 상기 하나 이상의 프로세서는, 상기 제1 이미지 데이터 및 상기 제2 이미지 데이터에 기초하여 동적 오브젝트를 식별하고, 상기 동적 오브젝트의 개수가 임계 개수 이상이면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
상기 센서는, 카메라를 포함하며, 상기 카메라로부터 수신된 센싱 데이터는, 이미지 데이터를 포함하고, 상기 하나 이상의 프로세서는, 상기 이미지 데이터에 기초하여 상기 카메라의 시야각을 식별하고, 상기 시야각이 임계 각 미만이면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
상기 이동 정보는, 상기 로봇 장치의 이동 방향, 상기 로봇 장치의 이동 거리, 또는 상기 로봇 장치의 이동 속도를 포함하며, 상기 하나 이상의 프로세서는, 상기 이동 정보에 포함된 상기 로봇 장치의 상기 이동 방향, 상기 이동 거리, 및 상기 이동 속도 중 적어도 하나를 유지하기 불가능한 것으로 식별되면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
상기 하나 이상의 프로세서는, 상기 획득된 신뢰도 값에 기초하여 상기 복수의 영역 중 일 영역에 대응되는 상기 신뢰도 값을 업데이트할 수 있다.
상기 센서는, 라이다(LiDAR) 센서를 포함하며, 상기 하나 이상의 프로세서는, 상기 라이다 센서로부터 수신된 센싱 데이터에 기초하여 상기 복수의 영역 중 일 영역에서 상기 라이다 센서의 방향(Orientation)에 따른 에러(Error) 값을 식별하고, 상기 복수의 영역 중 상기 일 영역 내를 상기 이동 경로에 따라 상기 로봇 장치가 이동하는 동안에 상기 에러 값에 기초하여 상기 라이다 센서의 방향을 조정할 수 있다.
상기 하나 이상의 프로세서는, 상기 복수의 영역 중 일 영역이 상기 임계 값 미만의 신뢰도 값을 가지는 것으로 식별되면, 상기 식별된 영역을 우회하도록 상기 이동 경로를 수정(modify)할 수 있다.
본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법은, 복수의 영역을 포함하며, 상기 복수의 영역 각각은 대응되는 신뢰도 값을 포함하는, 상기 로봇 장치가 위치한 공간의 맵을 획득하는 단계, 상기 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는, 상기 복수의 영역 중 적어도 하나의 영역을 식별하는 단계 및, 상기 적어도 하나의 영역에 기초하여 상기 공간에 대한 상기 로봇 장치의 이동 경로를 식별하는 단계를 포함한다.
상기 제어 방법은, 상기 로봇 장치의 센서의 센싱 데이터에 기초하여 상기 복수의 영역 중 일 영역을 상기 로봇 장치의 위치로 추정하는 단계 및 상기 추정된 위치와 상기 로봇 장치의 실제 위치가 일치할 확률을 판단하여 상기 로봇 장치의 상기 추정된 위치에 대응되는 추정된 신뢰도 값을 획득하는 단계를 더 포함할 수 있다.
상기 추정하는 단계는, 상기 센서로부터 연속적으로 수신된 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 상기 로봇 장치의 이동 정보를 획득하는 단계 및 상기 이동 정보에 기초하여 상기 제2 센싱 데이터에 대응되는 상기 로봇 장치의 새로운 위치를 추정하는 단계를 포함할 수 있다.
상기 센서는, 라이다(LiDAR) 센서를 포함하며, 상기 제1 센싱 데이터는, 상기 라이다 센서로부터 수신된 제1 포인트 클라우드 데이터를 포함하며, 상기 제2 센싱 데이터는, 상기 라이다 센서로부터 수신된 제2 포인트 클라우드 데이터를 포함하며, 상기 추정된 신뢰도 값을 획득하는 단계는, 상기 제1 포인트 클라우드 데이터와 상기 제2 포인트 클라우드 데이터에 기초하여 복수의 포인트 클라우드를 결합하는 동작을 수행하는 단계 및 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하는 단계를 포함하며, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
상기 센서는, 상기 카메라를 포함하며, 상기 카메라로부터 수신된 상기 제1 센싱 데이터는, 제1 이미지 데이터를 포함하고, 상기 카메라로부터 수신된 상기 제2 센싱 데이터는, 제2 이미지 데이터를 포함하고, 상기 추정된 신뢰도 값을 획득하는 단계는, 상기 제1 이미지 데이터 및 상기 제2 이미지 데이터에 기초하여 동적 오브젝트를 식별하는 단계 및 상기 동적 오브젝트의 개수가 임계 개수 이상이면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하는 단계를 포함하고, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
로봇 장치의 제어 방법을 실행하는 프로그램을 포함하는 컴퓨터 판독 가능 기록매체에 있어서, 상기 로봇 장치의 제어 방법은, 복수의 영역을 포함하며, 상기 복수의 영역 각각은 대응되는 신뢰도 값을 포함하는, 상기 로봇 장치가 위치한 공간의 맵을 획득하는 단계, 상기 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는, 상기 복수의 영역 중 적어도 하나의 영역을 식별하는 단계 및, 상기 적어도 하나의 영역에 기초하여 상기 공간에 대한 상기 로봇 장치의 이동 경로를 식별하는 단계를 포함한다.
상기 제어 방법은, 상기 로봇 장치의 센서의 센싱 데이터에 기초하여 상기 복수의 영역 중 일 영역을 상기 로봇 장치의 위치로 추정하는 단계 및 상기 추정된 위치와 상기 로봇 장치의 실제 위치가 일치할 확률을 판단하여 상기 로봇 장치의 상기 추정된 위치에 대응되는 추정된 신뢰도 값을 획득하는 단계를 더 포함할 수 있다.
상기 추정하는 단계는, 상기 센서로부터 연속적으로 수신된 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 상기 로봇 장치의 이동 정보를 획득하는 단계 및 상기 이동 정보에 기초하여 상기 제2 센싱 데이터에 대응되는 상기 로봇 장치의 새로운 위치를 추정하는 단계를 포함할 수 있다.
상기 센서는, 라이다(LiDAR) 센서를 포함하며, 상기 제1 센싱 데이터는, 상기 라이다 센서로부터 수신된 제1 포인트 클라우드 데이터를 포함하며, 상기 제2 센싱 데이터는, 상기 라이다 센서로부터 수신된 제2 포인트 클라우드 데이터를 포함하며, 상기 추정된 신뢰도 값을 획득하는 단계는, 상기 제1 포인트 클라우드 데이터와 상기 제2 포인트 클라우드 데이터에 기초하여 복수의 포인트 클라우드를 결합하는 동작을 수행하는 단계 및 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하는 단계를 포함하며, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
상기 센서는, 상기 카메라를 포함하며, 상기 카메라로부터 수신된 상기 제1 센싱 데이터는, 제1 이미지 데이터를 포함하고, 상기 카메라로부터 수신된 상기 제2 센싱 데이터는, 제2 이미지 데이터를 포함하고, 상기 추정된 신뢰도 값을 획득하는 단계는, 상기 제1 이미지 데이터 및 상기 제2 이미지 데이터에 기초하여 동적 오브젝트를 식별하는 단계 및 상기 동적 오브젝트의 개수가 임계 개수 이상이면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하는 단계를 포함하고, 상기 업데이트된 신뢰도 값은, 상기 임계 값 미만일 수 있다.
본 발명의 일부 구체적인 실시 예에 대한 상기와 같은 측면, 특징 및 이점은 다음 설명과 함께 첨부된 도면과 함께 더욱 명확하게 나타난다.
도 1은 본 개시의 일 실시 예에 따른 로봇 장치를 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 로봇 장치의 구성을 나타내는 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 로봇 장치가 위치하는 공간에 대응되는 맵(Map)을 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 로봇 장치의 이동 정보를 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 맵에 포함된 복수의 영역을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 로봇 장치의 위치를 추정하는 방법을 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 포인트 클라우드 데이터를 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 동적 오브젝트를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 시야각(Field of view)을 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 본 개시의 일 실시 예에 따른 로봇 장치를 설명하기 위한 도면이다.
도 1에 도시된 바에 따르면, 로봇 장치(100)는 스스로 일 기능을 수행하는 능력을 가진 다양한 형태의 장치를 의미할 수 있다. 일 예로, 로봇 장치(100)는 단순 반복 기능 외에도, 센서(예를 들어, LiDAR(Light Detection And Ranging) 센서, 카메라 등)의 센싱 데이터에 기초하여 실시간으로 로봇 장치(100)의 주변 환경을 감지하고, 정보를 수집하여 자율적으로 동작하는 스마트 장치를 의미할 수도 있다.
본 개시의 일 실시 예에 따른 로봇 장치(100)는 액추에이터(Actuator) 또는 모터를 포함하는 구동부를 구비할 수 있다. 일 실시 예에 따른 구동부는 휠, 브레이크 등을 포함할 수 있고, 로봇 장치(100)는 구동부에 포함된 휠, 브레이크 등을 이용하여 특정 공간 내를 스스로 이동할 수 있다.
일 실시 예에 따른 로봇 장치(100)는 구동부를 이용하여 로봇 관절(Articulated)의 움직임을 제어할 수 있다. 여기서, 로봇 관절은 인간의 팔이나 손의 기능을 대신하기 위한 로봇 장치(100)의 일 구성 요소를 의미할 수 있다.
본 개시의 일 실시 예에 따른 로봇 장치(100)는 센서의 센싱 데이터에 기초하여 실시간으로 로봇 장치(100)의 주변 환경을 감지할 수 있다. 이어서, 로봇 장치(100)는 감지된 주변 환경에 기초하여 구동부를 제어할 수 있다. 예를 들어, 로봇 장치(100)는 센서의 센싱 데이터에 기초하여 로봇 장치(100)의 이동 경로를 식별할 수 있다.
일 예로, 로봇 장치(100)는 센싱 데이터에 기초하여 로봇 장치(100)가 위치하는 공간에 대응되는 맵을 획득하고, 맵 내에서 로봇 장치(100)의 위치를 식별할 수 있다. 일 예로, 로봇 장치(100)는 실시간으로 위치를 식별하여 이동 경로에 따라 공간 내를 이동할 수 있다. 따라서, 로봇 장치(100)가 이동 경로에 따라 공간 내를 이동하기 위해서는 위치를 정확하게(또는, 높은 신뢰도로) 식별할 필요가 있다.
이하에서는, 로봇 장치(100)가 맵 내에서 위치를 식별하며, 식별된 위치가 로봇 장치(100)의 공간 내에서 현재 위치(또는, 실제 위치)와 일치하는지 여부를 고려하여 이동 경로를 식별하는 다양한 실시 예에 대해 설명하도록 한다.
로봇 장치(100)는 분야 또는 수행 가능한 기능에 따라서 산업용, 의료용, 가정용, 군사용 및 탐사용 등으로 구분될 수 있다. 일 실시 예에 따라 산업용 로봇 장치는 공장의 제품 제조 과정에서 이용되는 로봇 장치, 매장 또는 식당 등에서 손님 응대, 주문 접수 및 서빙 등을 수행하는 로봇 장치 등으로 세분화될 수도 있다. 예를 들어, 도 1에 도시된 바와 같이, 로봇 장치(100)는 식당, 호텔, 마트, 병원, 의류 매장 등 다양한 장소에서 서비스 물품을 사용자가 원하는 위치, 특정 위치까지 운반할 수 있는 서빙 로봇 장치로 구현될 수 있다.
다만, 이는 일 예에 불과할 뿐, 로봇 장치(100)는 활용 분야, 기능 및 사용 목적에 따라 다양하게 분류될 수 있고, 상술한 예에 한정되지 않음은 물론이다.
예를 들어, 도 6에 도시된 바와 같이 로봇 장치(100)는 댁 내에 위치하는 로봇 청소기로 구현될 수도 있다. 여기서, 로봇 청소기는 전력에 의해 구동되어 자동으로 이물질을 흡입하기 위한 장치를 의미한다. 이하에서는 설명의 편의를 위해 로봇 장치(100)를 로봇 청소기로 상정하고, 로봇 청소기가 바닥 이물질을 흡입하기 위하여 바닥에 밀착되는 납작한 형태로 구현되는 경우를 상정하여 도시하였으나 이는 일 실시 예에 불과할 뿐이며, 로봇 장치(100)는 상술한 바와 같이 다양한 형태로 구현될 수 있음은 물론이다.
도 2는 본 개시의 일 실시 예에 따른 로봇 장치의 구성을 나타내는 블록도이다.
일 실시 예에 따른 로봇 장치(100)는 메모리(110), 센서(120) 및 하나 이상의 프로세서(130)(이하, 프로세서로 지칭)를 포함한다.
일 예에 따른 메모리(110)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(110)는 데이터 저장 용도에 따라 로봇 장치(100)에 임베디드된 메모리 형태로 구현되거나, 로봇 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇 장치(100)의 구동을 위한 데이터의 경우 로봇 장치(100)에 임베디드된 메모리에 저장되고, 로봇 장치(100)의 확장 기능을 위한 데이터의 경우 로봇 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다.
로봇 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 로봇 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따라 메모리(110)는 로봇 장치(100)를 제어하기 위한 적어도 하나의 인스트럭션(instruction) 또는 인스트럭션들을 포함하는 컴퓨터 프로그램을 저장할 수 있다.
본 개시의 일 실시 예에 따라 다양한 데이터가 프로세서(130)의 외부 메모리에 저장될 수도 있고, 데이터 중 일부는 프로세서(130)의 내부 메모리에 저장되고 나머지는 외부 메모리에 저장될 수도 있다.
특히, 메모리(110)는 프로세서(130)의 제어에 따라 로봇 장치(100)가 위치하는 공간에 대응되는 맵(Map)을 저장할 수 있다.
일 예로, 프로세서(130)는 센서(120)로부터 수신된 센싱 데이터에 기초하여 로봇 장치(100)가 위치하는 공간에 대응되는 맵을 획득하며, 맵을 메모리(110)에 저장할 수 있다.
여기서, 센서(120)는 라이다(Lidar) 센서, 카메라 등을 포함할 수 있다.
일 예로, 프로세서(130)는 로봇 장치(100)의 주변 환경을 감지하기 위해 라이다 센서를 제어하여 레이저 빔을 방출하고, 라이다 센서는 로봇 장치(100)에 인접하는 오브젝트까지의 거리, 로봇 장치(100)를 기준으로 오브젝트가 위치하는 방향, 오브젝트의 특성을 센싱 데이터로 획득할 수 있다. 이어서, 프로세서(130)는 센싱 데이터에 기초하여 로봇 장치(100)의 주변 환경을 2D/3D 영상 정보(예를 들어, 맵(Map))로 획득할 수 있다.
일 예로, 프로세서(130)는 로봇 장치(100)의 주변 환경을 감지하기 위해 카메라를 제어하여 이미지 데이터를 획득할 수 있다. 여기서, 카메라는 프로세서(130)의 제어에 따라 로봇 장치(100)의 주변 환경을 캡처(capture)하여 이미지 데이터를 획득하고, 프로세서(130)로 전송할 수 있다. 이어서, 프로세서(130)는 이미지 데이터를 분석하여 로봇 장치(100)에 인접하는 오브젝트까지의 거리, 로봇 장치(100)를 기준으로 오브젝트가 위치하는 방향, 오브젝트의 특성을 획득할 수 있으며, 로봇 장치(100)의 주변 환경을 2D/3D 영상 정보(예를 들어, 맵(Map))로 획득할 수 있다.
상술한 예시에 한정되지 않으며, 센서(120)는 라이다 센서, 카메라 외에도 로봇 장치(100)의 주변 환경을 감지할 수 있는 다양한 형태의 센서를 포함할 수 있음은 물론이다.
본 개시의 일 실시 예에 따른 하나 이상의 프로세서(130)는 로봇 장치(100)의 전반적인 동작을 제어한다.
본 개시의 일 실시 예에 따라, 프로세서(130)는 디지털 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서, AI(Artificial Intelligence) 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(130)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(130)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
도 3은 본 개시의 일 실시 예에 따른 로봇 장치가 위치하는 공간에 대응되는 맵(Map)을 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 프로세서(130)는 SLAM(simultaneous Localization and Mapping) 동작을 수행하여 로봇 장치(100)가 위치하는 공간에 대응되는 맵을 획득할 수 있다.
여기서, SLAM 동작은, 센서(120)로부터 수신된 센싱 데이터를 이용하여 로봇 장치(100)가 위치하는 공간에 대응되는 맵을 획득하며, 맵 내에서 로봇 장치(100)의 위치를 식별하는 동작을 의미할 수 있다.
일 예로, 프로세서(130)는 센서(120)로부터 수신된 센싱 데이터에 기초하여 맵 내에서 로봇 장치(100)의 위치를 추정할 수 있다.
일 예로, 프로세서(130)는 제1 센싱 데이터 및 제2 센싱 데이터가 순차적으로(또는, 연속적으로) 수신되면, 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 로봇 장치(100)의 이동 정보를 획득할 수 있다.
이어서, 프로세서(130)는 이동 정보에 기초하여 제2 센싱 데이터가 수신된 시점에 맵 내에서 로봇 장치(100)의 위치를 추정할 수 있다.
도 4는 본 개시의 일 실시 예에 따른 로봇 장치의 이동 정보를 설명하기 위한 도면이다.
도 4를 참조하면, t 시점에서, 로봇 장치(100)에 구비된 센서(120)는 제1 센싱 데이터를 획득하고, 제1 센싱 데이터를 프로세서(130)로 전송할 수 있다.
이어서, t+1 시점에서, 로봇 장치(100’)(로봇 장치(100’)는 로봇 장치(100)와 동일하나, 시간상 앞으로 이동한 것임)에 구비된 센서(120)는 제2 센싱 데이터를 획득하고, 제2 센싱 데이터를 프로세서(130)로 전송할 수 있다.
이어서, 프로세서(130)는 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보를 획득할 수 있다. 일 예에 따른 프로세서(130)는 이동 정보에 기초하여 t+1 시점에 맵 내에서 로봇 장치(100’)의 위치를 추정할 수 있다.
일 예로, 센서(120)는 라이다 센서를 포함할 수 있다. 프로세서(130)는 라이다 센서로부터 수신된 제1 센싱 데이터에 포함된 제1 포인트 클라우드 데이터(point cloud data)와 제2 센싱 데이터에 포함된 제2 포인트 클라우드 데이터에 기초하여 포인트 클라우드를 결합(또는, 정합(registration), 정렬)할 수 있다.
예를 들어, 프로세서(130)는 LiDAR Odometry(예를 들어, ICP(Iterative closest point) algorithm, NDT(Normal Distributions Transform) 등)를 이용하여 제1 포인트 클라우드 데이터와 제2 포인트 클라우드 데이터를 결합할 수 있다. 이어서, 프로세서(130)는 제1 포인트 클라우드 데이터와 제2 포인트 클라우드 데이터의 결합 결과에 기초하여 로봇 장치(100’)의 위치(또는, 이동 궤적)를 추정할 수 있다.
일 예로, 센서(120)는 카메라를 포함할 수 있다. 프로세서(130)는 카메라로부터 수신된 제1 센싱 데이터에 포함된 제1 이미지 데이터 및 제2 센싱 데이터에 포함된 제2 이미지 데이터에 기초하여 t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보를 획득할 수 있다.
예를 들어, 프로세서(130)는 제1 이미지 데이터를 분석하여 제1 이미지 데이터에 포함된 적어도 하나의 오브젝트의 특징(예를 들어, 적어도 하나의 오브젝트의 기하학적인(geometric) 특징)을 식별하고, 제2 이미지 데이터를 분석하여 제2 이미지 데이터에 포함된 적어도 하나의 오브젝트의 특징을 식별할 수 있다.
이어서, 프로세서(130)는 제1 이미지 데이터에 포함된 적어도 하나의 오브젝트의 특징과 제2 이미지 데이터에 포함된 적어도 하나의 오브젝트의 특징을 비교하여 t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보를 획득할 수 있다.
이어서, 프로세서(130)는 이동 정보에 기초하여 로봇 장치(100’)의 위치(또는, 이동 궤적)를 추정할 수 있다.
여기서, 센서(120)는 라이다 센서 또는 카메라 중 적어도 하나를 포함할 수 있음은 물론이다.
일 예에 따른 프로세서(130)는 로봇 장치(100)가 공간 내를 이동하는 동안에, 센서(120)로부터 실시간으로 또는 순차적으로 수신되는 복수의 센싱 데이터에 기초하여 맵 내에서 로봇 장치(100)의 실시간 위치를 추정할 수 있다.
한편, 일 예에 따른 프로세서(130)는 맵 내에서 추정된 위치와 공간 내에서 로봇 장치(100)의 실제 위치가 일치할 확률을 식별할 수 있다.
일 예로, 프로세서(130)는 추정된 위치를 로봇 장치(100)의 실제 위치로 신뢰할 수 있는지 즉, 추정된 위치가 실제 위치와 일치할 확률(이하, 신뢰도 값)을 식별할 수 있다.
여기서, 신뢰도 값은, 이동 정보에 기초하여 추정된 위치에 대한 신뢰도(reliability)를 나타내므로, 위치 측정 실패 값(Localization Failure Value, LFV)과 반비례 관계일 수 있다.
일 예로, 신뢰도 값이 높으면, 이동 정보에 기초하여 추정된 위치가 로봇 장치(100)의 실제 위치와 일치할 확률이 높으며, 위치 측정 실패 값은 낮을 수 있다. 반대로, 신뢰도 값이 낮으면, 이동 정보에 기초하여 추정된 위치가 로봇 장치(100)의 실제 위치와 일치할 확률이 낮으며, 위치 측정 실패 값은 높을 수 있다.
일 예에 따른 프로세서(130)는 맵을 복수의 영역으로 구분하며, 복수의 영역 각각에 대응되는 신뢰도 값을 획득 및 저장할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 맵에 포함된 복수의 영역을 설명하기 위한 도면이다.
도 5를 참조하면, 맵은 복수의 영역으로 구분될 수 있다. 복수의 영역 각각은 셀(cell)로 불릴 수도 있으나, 이하에서는 설명의 편의를 위해 영역으로 통칭하도록 한다. 한편, 도 5에 도시된 복수의 영역의 크기는 일 예시이며 이에 한정되지 않음은 물론이다.
일 예에 따른 프로세서(130)는 로봇 장치(100)가 이동하는 동안에, 센서(120)로부터 실시간으로 또는 순차적으로 수신되는 복수의 센싱 데이터에 기초하여 로봇 장치(100)의 실시간 위치를 추정할 수 있다.
이어서, 프로세서(130)는 추정된 위치가 로봇 장치(100)의 실제 위치와 일치할 확률 즉, 신뢰도 값을 식별하고, 복수의 영역 중 추정된 위치에 대응되는 영역과 식별된 신뢰도 값을 매핑할 수 있다.
따라서, 프로세서(130)는 복수의 영역 각각에 대응되는 신뢰도 값을 식별하고, 맵에 대응되는 신뢰도 값 맵(또는, 위치 측정 실패 값(Localization Failure Value, LFV) 맵(이하, LFV Map))을 획득할 수 있다.
일 예로, 프로세서(130)는 추정된 위치가 로봇 장치(100)가 복수의 영역 중 어느 하나의 영역에 대응되면, 추정된 위치가 로봇 장치(100)의 실제 위치와 일치할 확률을 신뢰도 값 맵으로부터 획득할 수 있다.
프로세서(130)는 공간 내에서 적절한 이동 경로를 식별하며, 로봇 장치(100)를 식별된 이동 경로에 따라 정확하게 이동시키기 위해서는 맵 내에서의 위치를 정확하게(또는, 높은 신뢰도로) 추정할 필요가 있다.
일 실시 예에 따른 프로세서(130)는 신뢰도 값 맵에 포함된 복수이 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는 적어도 하나의 영역을 식별할 수 있다. 이어서, 프로세서(130)는 식별된 적어도 하나의 영역에 기초하여 공간에 대한 로봇 장치(100)의 이동 경로를 식별할 수 있다.
일 예로, 프로세서(130)는 신뢰도 값 맵에 기초하여 시작점(Start point)과 종료점(End point)가 동일한 복수의 이동 경로 중, 신뢰도 값이 임계 값 이상인 영역을 우선적으로 이동하는 어느 하나의 이동 경로를 식별할 수 있다.
일 예로, 프로세서(130)는 신뢰도 값 맵에 기초하여 시작점(Start point)과 종료점(End point)가 동일한 복수의 이동 경로 중, 신뢰도 값이 임계 값 미만인 영역을 우회하여 이동하는 어느 하나의 이동 경로를 식별할 수 있다.
이어서, 프로세서(130)는 식별된 이동 경로에 기초하여 로봇 장치(100)를 이동시킬 수 있다.
이하에서는, 프로세서(130)가 신뢰도 값을 식별하는 다양한 실시 예에 대해 설명하도록 한다.
도 6은 본 개시의 일 실시 예에 따른 로봇 장치의 위치를 추정하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 프로세서(130)는 라이다 센서로부터 수신된 제1 센싱 데이터에 포함된 제1 포인트 클라우드 데이터(point cloud data)와 제2 센싱 데이터에 포함된 제2 포인트 클라우드 데이터에 기초하여 포인트 클라우드를 결합(또는, 정합(registration), 정렬)할 수 있다.
도 6에 도시된 바와 같이 프로세서(130)는 로봇 장치(100)에 인접한 오브젝트(예를 들어, 쇼파 등)에 대응되는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터에 기초하여 포인트 클라우드를 결합할 수 있다.
이어서, 프로세서(130)는 결합 결과에 기초하여 이동 정보를 획득하고, 획득된 이동 정보에 기초하여 로봇 장치(100)의 맵 내에서 위치를 추정할 수 있다.
또한, 프로세서(130)는 카메라로부터 수신된 제1 센싱 데이터에 포함된 제1 이미지 데이터 및 제2 센싱 데이터에 포함된 제2 이미지 데이터 각각으로부터 획득된 오브젝트의 기하학적인(geometric) 특징 간에 공통점/유사점을 식별하여 t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보를 획득할 수 있다. 또한, 프로세서(130)는 이동 정보에 기초하여 위치를 추정할 수 있다.
일 예로, 프로세서(130)는 복수의 영역 중 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 이상으로 식별할 수 있다.
특정 상황에서, 로봇 장치(100)에 인접한 오브젝트가 없으면(또는, 로봇 장치(100)에 인접한 오브젝트가 적으면), 프로세서(130)는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터를 획득할 수 없고, 포인트 클라우드를 결합하지 못할 수 있다. 이 경우, 프로세서(130)는 결합 결과에 기초하여 이동 정보를 획득하지 못하며, 로봇 장치(100)의 맵 내에서 위치를 추정하는데 실패할 수 있다. 이에 대한 구체적인 설명은 도 7을 참조하여 하도록 한다.
도 7은 본 개시의 일 실시 예에 따른 포인트 클라우드 데이터를 설명하기 위한 도면이다.
도 7에 도시된 바와 같이, 로봇 장치(100)에 인접한 오브젝트가 적으면, 프로세서(130)는 포인트 클라우드 데이터에 포함된 포인트의 숫자가 적을 수 있다. 따라서, 프로세서(130)는 포인트 클라우드 데이터에 포함된 포인트의 숫자가 적으면, 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
일 실시 예에 따른 프로세서(130)는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터의 포인트 클라우드를 결합하여 이동 정보를 획득하고, 획득된 이동 정보에 기초하여 로봇 장치(100)의 위치를 추정할 수 있다. 프로세서(130)는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터 각각에 포함된 포인트의 숫자가 적으면, 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
또한, 프로세서(130)는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터 각각이 포인트를 포함하지 않으면, 이동 정보를 획득하지 못하며, 로봇 장치(100)의 맵 내에서 위치를 추정하는데 실패할 수도 있음은 물론이다.
프로세서(130)는 신뢰도 값 맵에 기초하여 시작점(Start point)과 종료점(End point)가 동일한 복수의 이동 경로 중, 신뢰도 값이 임계 값 이상인 영역을 우선적으로 이동하는 어느 하나의 이동 경로를 식별할 수 있다.
예를 들어, 도 6에 점선으로 표시된 이동 경로를 참조하면, 이동 경로가 신뢰도 값이 임계 값 미만인 영역을 포함하므로, 프로세서(130)는 도 6에 실선으로 표시된 이동 경로 즉, 신뢰도 값이 임계 값 이상인 영역을 포함하도록 이동 경로를 식별할 수 있다.
도 8은 본 개시의 일 실시 예에 따른 동적 오브젝트를 설명하기 위한 도면이다.
도 8을 참조하면, 로봇 장치(100)에 인접한 오브젝트가 동적 오브젝트이면, 프로세서(130)는 동적 오브젝트에 대응되는 포인트 클라우드 데이터에 기초하여 위치를 추정하며, 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
예를 들어, 프로세서(130)는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터의 포인트 클라우드를 결합하여 이동 정보를 획득하고, 획득된 이동 정보에 기초하여 로봇 장치(100)의 위치를 추정할 수 있다. 프로세서(130)는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터 각각이 동적 오브젝트에 대응되는 포인트 클라우드를 포함하면, 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
예를 들어, 동적 오브젝트는 정적 오브젝트와 달리, 움직일 수 있으므로, t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보가 로봇 장치(100)의 이동 외에도 동적 오브젝트의 이동을 포함할 수 있다.
일 예로, 프로세서(130)가 이동 정보에 기초하여 로봇 장치(100)의 위치를 추정하면, 로봇 장치(100)의 이동 외에도 동적 오브젝트의 이동을 고려하여 로봇 장치(100)의 위치를 추정하므로, 추정된 위치와 로봇 장치(100)의 실제 위치에 오차가 발생할 수 있다. 따라서, 프로세서(130)는 제1 포인트 클라우드 데이터 및 제2 포인트 클라우드 데이터 각각이 동적 오브젝트에 대응되는 포인트 클라우드를 포함하면, 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
센서(120)는 카메라를 포함하며, 프로세서(130)는 카메라로부터 수신된 제1 센싱 데이터에 포함된 제1 이미지 데이터와 제2 센싱 데이터에 포함된 제2 이미지 데이터에 기초하여 동적 오브젝트를 식별하며, 동적 오브젝트가 식별되면(또는, 식별된 동적 오브젝트가 임계 개수 이상이면), 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 시야각을 설명하기 위한 도면이다.
도 9를 참조하면, 프로세서(130)는 센서로부터 수신된 센싱 데이터에 기초하여 시야각을 식별할 수 있다.
이어서, 프로세서(130)는 식별된 시야각이 임계 값 미만이면, 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
도 9에 도시된 바와 같이, 프로세서(130)는 카메라로부터 수신된 이미지 데이터에 기초하여 로봇 장치(100)의 이동 방향(예를 들어, 주행 방향)을 기준으로 좌측 방향 및 우측 방향에 인접하게 위치하는 오브젝트(예를 들어, 장애물(10))을 식별할 수 있다.
이어서, 프로세서(130)는 식별된 오브젝트에 기초하여 로봇 장치(100)의 시야각을 식별할 수 있다. 일 실시 예에 따른 프로세서(130)는 식별된 시야각이 임계 각 미만이면, 수신된 이미지 데이터로부터 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
예를 들어. 로봇 장치(100)의 이동 방향을 기준으로 좌측 방향 및 우측 방향에 인접하게 위치하는 오브젝트가 식별되거나, 로봇 장치(100)가 좁은 통로(path)를 이동 중이면, 프로세서(130)는 카메라로부터 수신된 이미지 데이터로부터 오브젝트의 기하학적인(geometric) 특징, 오브젝트의 광학적인(photometric) 특징 등을 식별하기 어려울 수 있다.
예를 들어, 프로세서(130)는 제1 센싱 데이터에 포함된 제1 이미지 데이터 및 제2 센싱 데이터에 포함된 제2 이미지 데이터 각각으로부터 오브젝트의 기하학적인(geometric) 특징이 식별되지 않으면(또는, 식별하기 어려우면), t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보를 획득하지 못할 수 있다. 따라서, 프로세서(130)는 로봇 장치(100)의 맵 내에서 위치를 추정하는데 실패할 수도 있다.
또한, 프로세서(130)는 제1 센싱 데이터에 포함된 제1 이미지 데이터 및 제2 센싱 데이터에 포함된 제2 이미지 데이터 각각으로부터 획득된 오브젝트의 기하학적인(geometric) 특징 간에 공통점/유사점이 식별되지 않으면(또는, 식별하기 어려우면), t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보로부터 추정된 위치가 로봇 장치(100)의 실제 위치와 일치할 확률이 낮다. 따라서, 프로세서(130)는 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
도 2로 돌아와서, 본 개시의 일 실시 예에 따른 프로세서(130)는 센서(120)로부터 수신된 센싱 데이터 외에도, 구동부에 포함된 휠의 회전수, 휠의 회전 속도 등에 기초하여 이동 정보를 획득할 수도 있음은 물론이다.
일 예에 따른 프로세서(130)는 t 시점에서 t+1 시점까지의 로봇 장치(100)의 이동 정보를 획득하고, 식별된 이동 정보에 포함된 로봇 장치(100)의 이동 방향, 이동 거리, 이동 속도 중 적어도 하나가 로봇 장치(100)에 구비된 구동부에서 수행 불가능한 것으로 식별되면, 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
예를 들어, 로봇 장치(100)에 구비된 구동부가 전진 또는 후진만 가능하며, 식별된 이동 정보에 포함된 로봇 장치(100)의 이동 방향에 따라 로봇 장치(100)가 좌측 또는 우측으로 이동한 것으로 식별되면, 프로세서(130)는 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
예를 들어, 로봇 장치(100)에 구비된 구동부의 최대 속도가 5m/s이며, 식별된 이동 정보에 포함된 로봇 장치(100)의 이동 거리, 이동 속도에 따라 로봇 장치가 10m/s로 이동한 것으로 식별되면, 프로세서(130)는 추정된 위치에 대응되는 영역의 신뢰도 값을 임계 값 미만으로 식별할 수 있다.
일 실시 예에 따라 프로세서(130)는 맵 및 신뢰도 값 맵에 기초하여 이동 경로를 식별할 수 있다. 구체적으로 프로세서(130)는 맵에 포함된 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는 적어도 하나의 영역이 포함되도록 이동 경로를 식별할 수 있다.
또한, 프로세서(130)는 맵에 포함된 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 미만의 신뢰도 값에 대응되는 적어도 하나의 영역을 우회하도록 이동 경로를 식별할 수 있다.
프로세서(130)는 로봇 장치(100)가 이동 경로에 따라 이동하는 동안에 신뢰도 값을 획득하며, 획득된 신뢰도 값에 기초하여 신뢰도 값 맵을 업데이트할 수도 있음은 물론이다.
일 예에 따른 센서(120)는 라이다 센서를 포함하며, 프로세서(130)는 라이다 센서로부터 수신된 센싱 데이터에 기초하여 복수의 영역 중 어느 하나의 영역에서 라이다 센서의 방향(Orientation)에 따른 에러(Error) 값을 식별할 수 있다.
이어서, 프로세서(130)는 이동 경로에 따라 로봇 장치(100)가 어느 하나의 영역을 이동하는 동안에 에러 값에 기초하여 라이다 센서의 방향을 조정할 수 있다.
예를 들어, 동일한 위치에서 라이다 센서가 레이저 빔을 방출하는 방향에 따라 라이다 센서의 센싱 데이터의 공분산(Covariance) 값, 에러(Error) 값이 상이할 수 있다.
일 실시 예에 따라 프로세서(130)는 라이다 센서로부터 수신된 센싱 데이터에 기초하여 특정 영역을 이동할 때, 공분산(Covariance) 값, 에러(Error) 값이 낮아지는 라이다 센서의 방향(Orientation)을 식별할 수 있다.
이어서, 프로세서(130)는 이동 경로에 따라 특정 영역을 이동하는 동안에, 로봇 장치(100)의 이동 방향과 라이다 센서의 방향(즉, 레이저 빔을 방출하는 방향)을 일치시키는 것이 아니라, 공분산(Covariance) 값, 에러(Error) 값이 낮아지는 방향으로 레이저 빔을 방출하도록 라이다 센서의 방향을 조정할 수 있다.
따라서, 로봇 장치(100)의 이동 방향과 라이다 센서가 레이저 빔을 방출하는 방향은 동일할 수도 있고, 상이할 수도 있다.
본 개시의 다양한 실시 예에 따라, 라이다 센서의 센싱 데이터에 따라 공분산(Covariance) 값, 에러(Error) 값이 낮아질수록 추정된 위치와 실제 위치가 일치할 확률이 증가하며, 포인트 클라우드 데이터에 포함된 포인트의 숫자가 클수록 추정된 위치와 실제 위치가 일치할 확률이 증가한다. 또한, 로봇 장치(100)에 인접한 오브젝트가 동적 오브젝트가 아닌, 정적 오브젝트일수록 추정된 위치와 실제 위치가 일치할 확률이 증가한다.
본 개시의 다양한 실시 예에 따라, 카메라의 센싱 데이터에 따라 공분산(Covariance) 값, 에러(Error) 값이 낮아질수록 추정된 위치와 실제 위치가 일치할 확률이 증가하며, 이미지 데이터에 포함된 오브젝트의 기하학적인(geometric) 특징, 오브젝트의 광학적인(photometric) 특징이 식별되면 추정된 위치와 실제 위치가 일치할 확률이 증가한다. 또한, 로봇 장치(100)에 인접한 오브젝트가 동적 오브젝트가 아닌, 정적 오브젝트일수록 추정된 위치와 실제 위치가 일치할 확률이 증가한다.
본 개시의 일 실시 따른 프로세서(130)는 신뢰도 값 맵에 기초하여 이동 경로를 식별하므로, 로봇 장치(100)를 공간 내에서 정적 오브젝트(예를 들어, 벽, 가구, 가전 등)에 인접하게 이동시킬 수 있고, 동적 오브젝트를 우회하여 이동시킬 수 있다.
또한, 프로세서(130)는 신뢰도 값 맵에 기초하여 이동 경로를 식별하므로, 로봇 장치(100)를 공간 내에서 좁은 통로(Path)를 우회하여 이동시키거나, 좁은 통로를 이동할 때에는 센서(120)의 감지 방향(예를 들어, 라이다 센서의 방향(Orientation))를 로봇 장치(100)의 이동 방향과 일치시키지 않을 수 있다.
본 개시의 일 실시 예에 따른 로봇 장치(100)는 통신 인터페이스를 포함한다. 통신 인터페이스는 다양한 데이터를 입력받는다. 예를 들어, 통신 인터페이스는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 댁 내에 구비된 적어도 하나의 외부 장치, 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드, Streaming Server) 등으로부터 다양한 데이터를 입력받을 수 있다.
도 10은 본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 로봇 장치가 위치하는 공간에 대응되는 맵(Map) 및 맵에 포함된 복수의 영역 각각에 대응되는 신뢰도 값을 포함하는 로봇 장치의 제어 방법은, 우선, 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는 적어도 하나의 영역을 식별한다(S1010).
이어서, 식별된 적어도 하나의 영역에 기초하여 공간에 대한 로봇 장치의 이동 경로를 식별한다(S1020).
일 예에 따른 제어 방법은, 로봇 장치의 센서의 센싱 데이터에 기초하여 복수의 영역 중 어느 하나의 영역을 로봇 장치의 위치로 추정하는 단계 및 추정된 위치와 로봇 장치의 실제 위치가 일치할 확률을 신뢰도 값으로 획득하는 단계를 더 포함할 수 있다.
여기서, 추정하는 단계는, 센서로부터 제1 센싱 데이터 및 제2 센싱 데이터가 연속적으로 수신되면, 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 로봇 장치의 이동 정보를 획득하는 단계 및 이동 정보에 기초하여 제2 센싱 데이터에 대응되는 로봇 장치의 위치를 추정하는 단계를 포함할 수 있다.
여기서, 확률을 획득하는 단계는, 라이다 센서로부터 수신된 제1 센싱 데이터에 포함된 제1 포인트 클라우드 데이터와 제2 센싱 데이터에 포함된 제2 포인트 클라우드 데이터에 기초하여 포인트 클라우드를 결합하는 단계 및 결합에 실패하면, 임계 값 미만의 신뢰도 값을 획득하는 단계를 포함할 수 있다.
일 예에 따른 확률을 획득하는 단계는, 카메라로부터 수신된 제1 센싱 데이터에 포함된 제1 이미지 데이터와 제2 센싱 데이터에 포함된 제2 이미지 데이터에 기초하여 동적 오브젝트를 식별하는 단계 및 식별된 동적 오브젝트가 임계 개수 이상이면, 임계 값 미만의 신뢰도 값을 획득하는 단계를 포함할 수 있다.
일 예에 따른 확률을 획득하는 단계는, 카메라로부터 수신된 센싱 데이터에 포함된 이미지 데이터에 기초하여 카메라의 시야각을 식별하는 단계 및 식별된 시야각이 임계 각 미만이면, 임계 값 미만의 신뢰도 값을 획득하는 단계를 포함할 수 있다.
일 예에 따른 확률을 획득하는 단계는, 이동 정보에 포함된 로봇 장치의 이동 방향, 이동 거리, 이동 속도 중 적어도 하나가 로봇 장치에서 수행 불가능한 것으로 식별되면, 임계 값 미만의 신뢰도 값을 획득하는 단계를 포함할 수 있다.
일 예에 따른 제어 방법은, 획득된 신뢰도 값에 기초하여 복수의 영역 중 어느 하나의 영역에 대응되는 신뢰도 값을 업데이트하는 단계를 더 포함할 수 있다.
일 예에 따른 제어 방법은, 라이다 센서로부터 수신된 센싱 데이터에 기초하여 복수의 영역 중 어느 하나의 영역에서 라이다 센서의 자세(Pose)에 따른 에러(Error) 값을 식별하는 단계 및 이동 경로에 따라 로봇 장치가 어느 하나의 영역을 이동하는 동안에 에러 값에 기초하여 라이다 센서의 자세를 조정하는 단계를 더 포함할 수 있다.
일 예에 따른 이동 경로를 식별하는 S1020 단계는, 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 미만의 신뢰도 값에 대응되는 영역이 식별되면, 식별된 영역을 우회하도록 이동 경로를 식별하는 단계를 포함할 수 있다.
다만, 본 개시의 다양한 실시 예들은 로봇 장치 뿐 아니라, 이동이 가능한 모든 전자 장치에 적용될 수 있음은 물론이다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇 장치의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 음향 출력 장치(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 로봇 장치에 있어서,
    적어도 하나의 인스트럭션을 저장하는 적어도 하나의 메모리;
    상기 로봇 장치의 환경을 센싱하고, 센싱 데이터를 출력하는 센서; 및
    상기 적어도 하나의 인스트럭션을 실행함으로써,
    상기 센서로부터 수신된 상기 센싱 데이터에 기초하여 상기 로봇 장치가 위치하는 공간에 대응되는 맵(Map) 및 상기 맵의 복수의 영역 각각의 신뢰도 값을 획득하며,
    상기 맵 및 상기 복수의 영역 각각의 신뢰도 값을 상기 적어도 하나의 메모리에 저장하며,
    상기 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는 적어도 하나의 영역을 식별하며,
    상기 식별된 적어도 하나의 영역에 기초하여 상기 공간에 대한 상기 로봇 장치의 이동 경로를 식별하는, 로봇 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 센싱 데이터에 기초하여, 상기 복수의 영역 중 일 영역을 상기 로봇 장치의 위치로 추정하고,
    상기 추정된 위치와 상기 로봇 장치의 실제 위치가 일치할 확률을 판단하여 상기 로봇 장치의 상기 추정된 위치에 대응되는 추정된 신뢰도 값을 획득하는, 로봇 장치.
  3. 제2항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 센서로부터 연속적으로 수신된 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 상기 로봇 장치의 이동 정보를 획득하며,
    상기 이동 정보에 기초하여 상기 제2 센싱 데이터에 대응되는 상기 로봇 장치의 새로운 위치를 추정하는, 로봇 장치.
  4. 제3항에 있어서,
    상기 센서는,
    라이다(LiDAR) 센서를 포함하며,
    상기 제1 센싱 데이터는, 상기 라이다 센서로부터 수신된 제1 포인트 클라우드 데이터를 포함하며,
    상기 제2 센싱 데이터는, 상기 라이다 센서로부터 수신된 제2 포인트 클라우드 데이터를 포함하며,
    상기 하나 이상의 프로세서는,
    상기 제1 포인트 클라우드 데이터와 상기 제2 포인트 클라우드 데이터에 기초하여 복수의 포인트 클라우드를 결합하는 동작을 수행하며,
    상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고,
    상기 업데이트된 신뢰도 값은, 상기 임계 값 미만인, 로봇 장치.
  5. 제3항에 있어서,
    상기 센서는,
    카메라;를 포함하며,
    상기 카메라로부터 수신된 상기 제1 센싱 데이터는 제1 이미지 데이터를 포함하고,
    상기 카메라로부터 수신된 상기 제2 센싱 데이터는 제2 이미지 데이터를 포함하고,
    상기 하나 이상의 프로세서는,
    상기 제1 이미지 데이터 및 상기 제2 이미지 데이터에 기초하여 동적 오브젝트를 식별하고,
    상기 동적 오브젝트의 개수가 임계 개수 이상이면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고,
    상기 업데이트된 신뢰도 값은, 상기 임계 값 미만인, 로봇 장치.
  6. 제3항에 있어서,
    상기 센서는,
    카메라;를 포함하며,
    상기 카메라로부터 수신된 센싱 데이터는, 이미지 데이터를 포함하고,
    상기 하나 이상의 프로세서는,
    상기 이미지 데이터에 기초하여 상기 카메라의 시야각을 식별하고,상기 시야각이 임계 각 미만이면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고,
    상기 업데이트된 신뢰도 값은, 상기 임계 값 미만인, 로봇 장치.
  7. 제3항에 있어서,
    상기 이동 정보는,
    상기 로봇 장치의 이동 방향, 상기 로봇 장치의 이동 거리, 또는 상기 로봇 장치의 이동 속도를 포함하며,
    상기 하나 이상의 프로세서는,상기 이동 정보에 포함된 상기 로봇 장치의 상기 이동 방향, 상기 이동 거리, 및 상기 이동 속도 중 적어도 하나를 유지하기 불가능한 것으로 식별되면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하고,
    상기 업데이트된 신뢰도 값은, 상기 임계 값 미만인, 로봇 장치.
  8. 제2항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 획득된 신뢰도 값에 기초하여 상기 복수의 영역 중 일 영역에 대응되는 상기 신뢰도 값을 업데이트하는, 로봇 장치.
  9. 제2항에 있어서,
    상기 센서는,
    라이다(LiDAR) 센서를 포함하며,
    상기 하나 이상의 프로세서는,
    상기 라이다 센서로부터 수신된 센싱 데이터에 기초하여 상기 복수의 영역 중 일 영역에서 상기 라이다 센서의 방향(Orientation)에 따른 에러(Error) 값을 식별하고,
    상기 복수의 영역 중 상기 일 영역 내를 상기 이동 경로에 따라 상기 로봇 장치가 이동하는 동안에 상기 에러 값에 기초하여 상기 라이다 센서의 방향을 조정하는, 로봇 장치.
  10. 제1항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 복수의 영역 중 일 영역이 상기 임계 값 미만의 신뢰도 값을 가지는 것으로 식별되면, 상기 식별된 영역을 우회하도록 상기 이동 경로를 수정(modify)하는, 로봇 장치.
  11. 로봇 장치의 제어 방법에 있어서,
    복수의 영역을 포함하며, 상기 복수의 영역 각각은 대응되는 신뢰도 값을 포함하는, 상기 로봇 장치가 위치한 공간의 맵을 획득하는 단계;
    상기 복수의 영역 각각에 대응되는 신뢰도 값에 기초하여 임계 값 이상의 신뢰도 값에 대응되는, 상기 복수의 영역 중 적어도 하나의 영역을 식별하는 단계; 및,
    상기 적어도 하나의 영역에 기초하여 상기 공간에 대한 상기 로봇 장치의 이동 경로를 식별하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 로봇 장치의 센서의 센싱 데이터에 기초하여 상기 복수의 영역 중 일 영역을 상기 로봇 장치의 위치로 추정하는 단계; 및
    상기 추정된 위치와 상기 로봇 장치의 실제 위치가 일치할 확률을 판단하여 상기 로봇 장치의 상기 추정된 위치에 대응되는 추정된 신뢰도 값을 획득하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 추정하는 단계는,
    상기 센서로부터 연속적으로 수신된 제1 센싱 데이터 및 제2 센싱 데이터에 기초하여 상기 로봇 장치의 이동 정보를 획득하는 단계; 및
    상기 이동 정보에 기초하여 상기 제2 센싱 데이터에 대응되는 상기 로봇 장치의 새로운 위치를 추정하는 단계;를 포함하는, 제어 방법.
  14. 제13항에 있어서,
    상기 센서는, 라이다(LiDAR) 센서를 포함하며,
    상기 제1 센싱 데이터는, 상기 라이다 센서로부터 수신된 제1 포인트 클라우드 데이터를 포함하며,
    상기 제2 센싱 데이터는, 상기 라이다 센서로부터 수신된 제2 포인트 클라우드 데이터를 포함하며,
    상기 추정된 신뢰도 값을 획득하는 단계는,
    상기 제1 포인트 클라우드 데이터와 상기 제2 포인트 클라우드 데이터에 기초하여 복수의 포인트 클라우드를 결합하는 동작을 수행하는 단계; 및
    상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하는 단계;를 포함하며,
    상기 업데이트된 신뢰도 값은, 상기 임계 값 미만인, 제어 방법.
  15. 제13항에 있어서,
    상기 센서는, 상기 카메라를 포함하며,
    상기 카메라로부터 수신된 상기 제1 센싱 데이터는, 제1 이미지 데이터를 포함하고,
    상기 카메라로부터 수신된 상기 제2 센싱 데이터는, 제2 이미지 데이터를 포함하고,
    상기 추정된 신뢰도 값을 획득하는 단계는,
    상기 제1 이미지 데이터 및 상기 제2 이미지 데이터에 기초하여 동적 오브젝트를 식별하는 단계; 및
    상기 동적 오브젝트의 개수가 임계 개수 이상이면, 상기 로봇 장치의 상기 새로운 위치에 대응되는 업데이트된 신뢰도 값을 획득하는 단계;를 포함하고,
    상기 업데이트된 신뢰도 값은, 상기 임계 값 미만인, 제어 방법.
PCT/KR2023/011579 2022-08-23 2023-08-07 신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법 Ceased WO2024043575A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP23857609.4A EP4512580B1 (en) 2022-08-23 2023-08-07 Robotic device for identifying movement path using reliability values, and method for controlling same
CN202380053799.8A CN119562883A (zh) 2022-08-23 2023-08-07 使用可靠性值识别移动路径的机器人装置及其控制方法
US18/238,902 US20240069563A1 (en) 2022-08-23 2023-08-28 Robot device for identifying movement path using reliability value and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0105742 2022-08-23
KR1020220105742A KR20240027473A (ko) 2022-08-23 2022-08-23 신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/238,902 Continuation US20240069563A1 (en) 2022-08-23 2023-08-28 Robot device for identifying movement path using reliability value and control method thereof

Publications (1)

Publication Number Publication Date
WO2024043575A1 true WO2024043575A1 (ko) 2024-02-29

Family

ID=90013516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/011579 Ceased WO2024043575A1 (ko) 2022-08-23 2023-08-07 신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20240027473A (ko)
WO (1) WO2024043575A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110038962A (ko) * 2009-10-09 2011-04-15 한양대학교 산학협력단 물체의 공간적 의미정보를 이용한 로봇의 능동적 자기위치 추정 방법
JP2014203144A (ja) * 2013-04-02 2014-10-27 パナソニック株式会社 自律移動装置
JPWO2013002067A1 (ja) * 2011-06-29 2015-02-23 株式会社日立産機システム 移動ロボット、及び移動体に搭載される自己位置姿勢推定システム
JP2017188066A (ja) * 2016-04-01 2017-10-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 自律移動体システム
JP2020166702A (ja) * 2019-03-29 2020-10-08 日本電産シンポ株式会社 移動体システム、地図作成システム、経路作成プログラムおよび地図作成プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110038962A (ko) * 2009-10-09 2011-04-15 한양대학교 산학협력단 물체의 공간적 의미정보를 이용한 로봇의 능동적 자기위치 추정 방법
JPWO2013002067A1 (ja) * 2011-06-29 2015-02-23 株式会社日立産機システム 移動ロボット、及び移動体に搭載される自己位置姿勢推定システム
JP2014203144A (ja) * 2013-04-02 2014-10-27 パナソニック株式会社 自律移動装置
JP2017188066A (ja) * 2016-04-01 2017-10-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 自律移動体システム
JP2020166702A (ja) * 2019-03-29 2020-10-08 日本電産シンポ株式会社 移動体システム、地図作成システム、経路作成プログラムおよび地図作成プログラム

Also Published As

Publication number Publication date
KR20240027473A (ko) 2024-03-04

Similar Documents

Publication Publication Date Title
AU2014297039B2 (en) Auto-cleaning system, cleaning robot and method of controlling the cleaning robot
WO2018135870A1 (en) Mobile robot system and control method thereof
WO2018043957A1 (en) Robot cleaner
WO2018128353A1 (en) Robot cleaner and method for controlling thereof
WO2017091008A1 (ko) 이동 로봇 및 그 제어 방법
WO2011013862A1 (ko) 이동 로봇의 위치 인식 및 주행 제어 방법과 이를 이용한 이동 로봇
WO2017008224A1 (zh) 一种移动物体的距离检测方法、装置及飞行器
WO2020046038A1 (ko) 로봇 및 그의 제어 방법
WO2019098631A1 (en) Moving apparatus for cleaning and control method thereof
WO2016200098A1 (ko) 이동 로봇 및 그 제어방법
WO2022186598A1 (ko) 로봇 청소기 및 이의 제어 방법
WO2020141900A1 (ko) 이동 로봇 및 그 구동 방법
WO2022154242A1 (ko) 로봇 및 그 제어 방법
WO2020196948A1 (ko) 인공 지능 청소기 및 그의 동작 방법
WO2024090942A1 (ko) 다수의 카메라들에 의해 촬영된 객체를 나타내는 영상을 증강하여 신경망 모델을 학습시키는 방법 및 전자 장치
WO2024043575A1 (ko) 신뢰도 값을 이용하여 이동 경로를 식별하는 로봇 장치 및 그 제어 방법
EP3562369A2 (en) Robot cleaner and method of controlling the same
WO2020138954A1 (ko) 이동 로봇 및 이동 로봇의 제어방법
WO2021215668A1 (ko) 로봇 장치 및 그 제어 방법
WO2025029111A1 (ko) 발광부를 포함하는 로봇 청소기 및 그 제어 방법
WO2021149874A1 (en) Robot cleaner and method for controlling the same
WO2025089842A1 (ko) 대상 영역에 대한 촬영 이미지를 이용하여 공간 맵을 생성하는 방법 및 이를 수행하기 위한 전자 장치
WO2024034855A1 (ko) 마스크 맵을 이용하여 주행을 수행하는 로봇 및 그의 주행 방법
WO2023027341A1 (ko) 로봇 및 로봇의 제어 방법
WO2023219253A1 (ko) 로봇 및 그 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23857609

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023857609

Country of ref document: EP

Ref document number: 23 857 609.4

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2023857609

Country of ref document: EP

Effective date: 20241120

WWE Wipo information: entry into national phase

Ref document number: 202380053799.8

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 202380053799.8

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

WWG Wipo information: grant in national office

Ref document number: 2023857609

Country of ref document: EP