WO2024025244A1 - 로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법 - Google Patents

로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법 Download PDF

Info

Publication number
WO2024025244A1
WO2024025244A1 PCT/KR2023/010410 KR2023010410W WO2024025244A1 WO 2024025244 A1 WO2024025244 A1 WO 2024025244A1 KR 2023010410 W KR2023010410 W KR 2023010410W WO 2024025244 A1 WO2024025244 A1 WO 2024025244A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot device
space
sensor
location
event
Prior art date
Application number
PCT/KR2023/010410
Other languages
English (en)
French (fr)
Inventor
김효묵
김우정
류제웅
백아론
최믿음
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220165834A external-priority patent/KR20240015551A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/236,064 priority Critical patent/US20240036585A1/en
Publication of WO2024025244A1 publication Critical patent/WO2024025244A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • 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
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Definitions

  • the present invention relates to a robot device and a control method thereof, and more specifically, to a robot device operating in a mode corresponding to the position of the robot device and a control method thereof.
  • IoT Internet of Things
  • These small robots sense the surrounding environment and, based on this, interact with Internet of Things devices installed in the home.
  • Small robots have a wide range of movement and are also called pet robots that behave similarly to pets in that they can interact with users. According to the characteristics of these small robots, there has been a demand for a method for small robots to provide diverse and detailed reactions or perform functions by considering their current location.
  • a robot device includes at least one sensor, at least one memory storing at least one instruction, and executing the at least one instruction, so that the robot device When located in a first position, the robot device is controlled in a first mode corresponding to the first position, and the robot device is picked up by the user based on sensing data acquired by the at least one sensor ( pick up) Identifying a first event and a second event of placing the robot device, based on new sensing data acquired by the at least one sensor after the first event and the second event sequentially occur When it is identified that the position of the robot device has changed from the first position to the second position, it includes at least one processor that controls the robot device in a second mode corresponding to the second position.
  • the at least one processor may output feedback indicating the occurrence of the first event.
  • the first position is included in the floor space of the space where the robot device is located, and the second position is included in the planar space on the object located in the space, and the planar space is larger than the floor space. It can be located in a relatively high place.
  • the at least one memory stores map information corresponding to the space where the robot device is located, the second mode includes a plurality of functions, and the at least one processor stores map information included in the map information. Based on the information about the plane space, it is identified whether the robot device can move within the plane space, and if the robot device can move within the plane space, among the plurality of functions of the second mode, At least one function that requires movement of the robot device is performed, and if movement of the robot device is impossible within the plane space, at least one function that does not require movement of the robot device among the plurality of functions in the second mode can perform the function.
  • the at least one memory stores map information corresponding to the space in which the robot device is located, and the at least one processor stores SLAM (Simultaneous Localization) if information about the plane space is not identified in the map information. and Mapping) function, the at least one sensor can be controlled to obtain information about the planar space.
  • SLAM Simultaneous Localization
  • the at least one sensor further includes a voice recognition sensor, the at least one memory stores map information corresponding to the space where the robot device is located, and the at least one processor includes the voice recognition sensor.
  • the location at which the signal was received is identified, whether it is possible to move from the second location to the identified location based on the map information, and from the second location to the identified location. If movement is impossible, feedback requesting the occurrence of an event to pick up the robot device and then place it down at the first location may be output.
  • the at least one processor may identify a movement path for moving to the identified location based on the map information.
  • the robot device may travel at a relatively faster speed in the second mode than in the first mode.
  • the at least one sensor may include at least one of a gyro sensor, a camera sensor, a cliff sensor, a pressure sensor, an infrared sensor, or an ultrasonic sensor.
  • a robotic device when the robotic device is located in a first position, controlling the robotic device in a first mode corresponding to the first position, at least one sensor Identifying a first event of picking up the robot device and a second event of placing the robot device by the user based on the acquired sensing data, and the first event and the first event 2 If the location of the robot device is identified as having changed from the first location to the second location based on new sensing data acquired by the at least one sensor after events sequentially occur, a second location corresponding to the second location and controlling the robotic device in one mode.
  • the control method may further include outputting feedback indicating occurrence of the first event when the first event occurs.
  • the first position is included in the floor space of the space where the robot device is located, and the second position is included in the planar space on the object located in the space, and the planar space is larger than the floor space. It can be located in a relatively high place.
  • the robot device includes at least one memory that stores map information corresponding to the space in which the robot device is located, and the second mode includes a plurality of functions, and the robot device in the second mode
  • the controlling step includes identifying whether the robot device can move within the plane space based on information about the plane space included in the map information, and movement of the robot device within the plane space is possible. If so, performing at least one function that requires movement of the robot device among the plurality of functions in the second mode, and if movement of the robot device within the plane space is impossible, the plurality of functions in the second mode are performed.
  • the functions it may include performing at least one function that does not require movement of the robot device.
  • the robot device includes at least one memory that stores map information corresponding to the space in which the robot device is located, and controlling the robot device in the second mode includes the planar space in the map information. If information about is not identified, the method may include obtaining information about the plane space by controlling the at least one sensor to perform a Simultaneous Localization and Mapping (SLAM) function.
  • SLAM Simultaneous Localization and Mapping
  • the robot device includes at least one memory that stores map information corresponding to the space in which the robot device is located, and when a signal is received through a voice recognition sensor of the robot device, the location at which the signal was received is determined. Identifying, identifying whether it is possible to move from the second location to the identified location based on the map information, and if moving from the second location to the identified location is impossible, picking up the robot device. It may further include outputting feedback requesting the occurrence of an event of putting the item down at the first location.
  • the method for controlling the robot device includes: when the robot device is located in a first position, the first Controlling the robotic device in a first mode corresponding to a location, a first event of picking up the robotic device by the user based on sensing data acquired by at least one sensor, and the robotic device identifying a second event of placing, and determining the location of the robot device based on new sensing data acquired by the at least one sensor after the first event and the second event sequentially occur. and controlling the robotic device in a second mode corresponding to the second position when it is identified that the position has changed from the second position.
  • the first position is included in the floor space of the space where the robot device is located, and the second position is included in the planar space on the object located in the space, and the planar space is larger than the floor space. It can be located in a relatively high place.
  • the robot device includes at least one memory that stores map information corresponding to the space in which the robot device is located, and the second mode includes a plurality of functions, and the robot device in the second mode
  • the controlling step includes identifying whether the robot device can move within the plane space based on information about the plane space included in the map information, and movement of the robot device within the plane space is possible. If so, performing at least one function that requires movement of the robot device among the plurality of functions in the second mode, and if movement of the robot device within the plane space is impossible, the plurality of functions in the second mode are performed.
  • the functions it may include performing at least one function that does not require movement of the robot device.
  • the robot device includes at least one memory that stores map information corresponding to the space in which the robot device is located, and controlling the robot device in the second mode includes the planar space in the map information. If information about is not identified, the method may include obtaining information about the plane space by controlling the at least one sensor to perform a Simultaneous Localization and Mapping (SLAM) function.
  • SLAM Simultaneous Localization and Mapping
  • the robot device includes at least one memory that stores map information corresponding to the space in which the robot device is located, and when a signal is received through a voice recognition sensor of the robot device, the location at which the signal was received is determined. Identifying, identifying whether it is possible to move from the second location to the identified location based on the map information, and if moving from the second location to the identified location is impossible, picking up the robot device. It may further include outputting feedback requesting the occurrence of an event of putting the item down at the first location.
  • 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.
  • Figure 3 is a diagram for explaining an event for a robot device according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram illustrating sensing data corresponding to movement from floor space to flat space according to an embodiment of the present disclosure.
  • FIG. 5 is a diagram for explaining a planar space on an object according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for explaining a mode corresponding to a plane space according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram for explaining a mode corresponding to a plane space according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram for explaining a mode corresponding to a plane space according to an embodiment of the present disclosure.
  • FIG. 9 is a diagram illustrating a robot device that requests movement from a flat space to a floor space according to an embodiment of the present disclosure.
  • FIG. 10 is a diagram for explaining a mode corresponding to a floor space according to an embodiment of the present disclosure.
  • FIG. 11 is a diagram for explaining map information corresponding to a plane space according to an embodiment of the present disclosure.
  • FIG. 12 is a diagram for explaining sensing data corresponding to movement from a flat space to a floor space according to an embodiment of the present disclosure.
  • FIG. 13 is a diagram for explaining map information corresponding to floor space according to an embodiment of the present disclosure.
  • Figure 14 is a diagram for explaining the function of the first mode according to an embodiment of the present disclosure.
  • Figure 15 is a diagram for explaining the function of the second mode according to an embodiment of the present disclosure.
  • Figure 16 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. As an example, in addition to simple repetitive functions, the robotic device 100 senses 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 include robot joints (articulation or joints).
  • 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 includes a sensor, and a map corresponding to the space in which the robot device 100 is located (for example, a preset space in your home) based on the sensing data of the sensor. Information can be obtained.
  • the robotic device 100 is equipped with a LiDAR sensor and can generate a 2D or 3D map corresponding to space using sensing data from the LiDAR sensor and various mapping algorithms.
  • LiDAR (Light Detection And Ranging) sensor is a sensor that measures the distance of a specific object. Specifically, it uses a light source to emit light to a target object and the reflected light can be detected by a sensor around the light source.
  • the LiDAR sensor measures the time it takes for the light to return, and by always using the constant speed of light, the distance to the target can be calculated with high accuracy and reliability.
  • a 3D (or 2D) map of the specific space can be created.
  • the map includes the location, size, and shape of each of a plurality of sub-spaces (e.g., rooms) included in the space, and each of a plurality of obstacles (e.g., furniture, home appliances, etc.) included in the space. It can include location, size, shape, etc.
  • the robotic device 100 may identify its location within the map based on the sensing data.
  • the robot device 100 identifies a movement path based on map information, and identifies the location of the robot device 100 within the map information while the robot device 100 moves in space according to the movement path. You can.
  • the robotic device 100 performs a SLAM (simultaneous localization and mapping) operation to obtain map information corresponding to the space in which the robotic device 100 is located, and the current location of the robotic device 100 within the map information. can be identified.
  • SLAM simultaneous localization and mapping
  • 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 may be implemented as a serving robot device that can transport service items from various places such as restaurants, hotels, supermarkets, hospitals, and clothing stores to a specific location desired by the user.
  • 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 robotic device 100 may be implemented as a small robot located within a home.
  • the small robot interacts with various types of electronic devices located within the home (e.g., Internet of things devices) or recognizes users located within the home (e.g., recognizes the user's voice, It can recognize the user's face, etc.), move within space, or provide content.
  • electronic devices located within the home e.g., Internet of things devices
  • recognizes users located within the home e.g., recognizes the user's voice, It can recognize the user's face, etc.
  • move within space e.g., or provide content.
  • a small robot moves around the house to be adjacent to the user, recognizes the user, and then provides music content, video content, etc. corresponding to the recognized user's history.
  • small robots can perform a variety of functions.
  • a small robot can move around a house, detect the level of pollution, and interact with the robot vacuum cleaner so that the robot cleaner performs cleaning based on the detected level of pollution.
  • the small robot is only an example of the electronic device 100, and of course, it is not limited thereto.
  • the robot device 100 when the robot device 100 is located on the floor space in a house, the robot device 100 can move while avoiding obstacles such as walls, furniture, and home appliances located in the floor space.
  • the driving part of the robot device 100 can overcome obstacles with a height of about 2-3 cm, such as doorsills, thresholds, and carpets, but cannot overcome obstacles with a height exceeding 2-3 cm. It may not be possible.
  • the robotic device 100 when the robotic device 100 is located in the floor space, the robotic device 100 can only move within the floor space (including obstacles with a height of approximately 2-3 cm), and can move only within the floor space (including obstacles with a height of approximately 2-3 cm). It is impossible to move in a flat space on an object (for example, furniture, home appliances, etc.).
  • 2-3 cm is an example of a certain height at which the robot device 100 can climb over and run over an obstacle of a certain height, and is of course not limited to a specific number.
  • the robot device 100 may output feedback (eg, voice feedback, etc.) requesting movement from the floor space to the flat space on the object. Conversely, of course, the robot device 100 may output feedback requesting movement from the flat space on the object to the floor space.
  • feedback eg, voice feedback, etc.
  • the robotic device 100 may operate in a first mode when the robotic device 100 is located in a floor space, and may operate in a second mode when the robotic device 100 is located in a flat space on an object. there is. A detailed explanation of this will be provided later.
  • 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 driving unit 110, at least one sensor 120, a memory 130, and one or more processors 140.
  • the driving unit 110 may include a motor, wheel, or brake.
  • the robot device 100 can move on its own within a specific space using a motor and wheels included in the driving unit 110, and can stop within a specific space or control the moving speed using a brake.
  • At least one sensor 120 may be an inertial measurement unit (IMU), a Lidar sensor, a camera (e.g., RGB-D), a cliff sensor, a pressure sensor, and an infrared sensor. It may include sensors, ultrasonic sensors, etc.
  • IMU inertial measurement unit
  • Lidar Lidar
  • camera e.g., RGB-D
  • cliff sensor e.g., a cliff sensor
  • pressure sensor e.g., a pressure sensor
  • infrared sensor e.g., ultrasonic sensors, etc.
  • the inertial measurement unit may include at least one of a gyroscope sensor, an acceleration sensor, or a magnetometer or compass sensor.
  • the gyroscope sensor can sense angular velocity (rad/s)
  • the acceleration sensor can sense acceleration (m/s 2 )
  • the geomagnetic sensor can sense the degree of tilt based on magnetic north.
  • the IMU includes a 3-axis gyroscope sensor and a 3-axis acceleration sensor, and the IMU senses roll, pitch, and yaw, which represent the pose of the robot device 100, respectively. It can be obtained through data.
  • roll may represent a left-right inclination of the robot device 100
  • pitch may represent a front-back (front-back) inclination of the robot device 100
  • yaw may represent a tilt of the robot device 100 in the z-axis direction.
  • the LIDAR sensor can sense the surrounding environment by emitting a laser beam under the control of the processor 140.
  • the LIDAR sensor measures the distance to an object adjacent to the robotic device 100, the direction in which the object is located, and the characteristics of the object (e.g., geometric characteristics of the object, photometric characteristics of the object). characteristics, etc.) can be obtained as sensing data.
  • the processor 140 may obtain 2D/3D image information (eg, a map) of the space where the robot device 100 is located based on the sensing data.
  • the processor 140 may acquire 3D image information based on sensing data from the LiDAR sensor.
  • the camera may sense the surrounding environment by capturing the surrounding environment of the robot device 100 under the control of the processor 140.
  • a camera can acquire image data including adjacent objects.
  • the processor 140 analyzes the image data to determine the distance to the object adjacent to the robotic device 100, the direction in which the object is located, and the characteristics of the object (e.g., geometric features, photometric). characteristics, etc.) can be obtained as sensing data, and based on the sensing data, the space where the robot device 100 is located can be obtained as 2D/3D image information (eg, a map).
  • objects may include dynamic objects and static objects.
  • dynamic objects may include people, pets, etc.
  • static objects may include walls, furniture (eg, tables, chairs, beds, closets, etc.), home appliances, etc.
  • the fall prevention sensor is located in the front based on the center of the main body of the robot device 100 (e.g., the center of gravity of the robot device 100) and outputs infrared rays to the lower space of the robot device 100.
  • the height between the robot device 100 and the lower space can be calculated using the time when the output infrared rays are reflected by the lower space and return.
  • the processor 140 may fall from a high place such as a staircase, threshold, or furniture to a low place such as a floor space if the robot device 100 continues to travel in the current driving direction. It can be judged to be dangerous.
  • the robot device 100 may include various types of sensors capable of sensing the surrounding environment.
  • the memory 130 may store data necessary for various embodiments of the present disclosure.
  • the memory 130 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 Examples: one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (e.g. NAND flash or NOR flash, etc.) ), a hard drive, or a solid state drive (SSD).
  • OTPROM one time programmable ROM
  • PROM programmable ROM
  • EPROM erasable and programmable ROM
  • EEPROM electrically erasable and programmable ROM
  • mask ROM mask ROM
  • flash ROM e.g. NAND flash or NOR flash, etc.
  • hard drive e.g. NAND flash or NOR flash, etc.
  • SSD solid state drive
  • a memory card for example, a compact flash (CF) ), SD (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.
  • SD secure digital
  • Micro-SD micro secure digital
  • Mini-SD mini secure digital
  • xD extreme digital
  • MMC multi-media card
  • the memory 130 may store a computer program including at least one instruction for controlling the robot device 100.
  • various data may be stored in the external memory of the processor 140, and some of the data may be stored in the internal memory of the processor 140 and the rest may be stored in the external memory.
  • the memory 130 may store map information corresponding to a preset space (eg, within the home) where the robot device 100 is located under the control of the processor 140.
  • map information may include multiple areas.
  • the processor 140 identifies an area defined (or set) according to a user command within the map as a subspace, and divides the space within the map into a plurality of areas (i.e., subspaces) according to the user command. can be distinguished. For example, if a start point and an end point are defined within a map according to a user command, the processor 140 may identify a rectangular area as a subspace based on the start point and end point.
  • the square is an example of a subspace shape, and is not limited thereto.
  • the subspace may be polygonal (or circular).
  • the processor 140 may identify an independent area surrounded by a wall based on the sensing data and divide the map information into a plurality of areas.
  • the processor 140 may identify an object that separates one area from another area based on the sensing data and divide the map information into a plurality of areas.
  • objects that separate one area from another area may include a door frame, window, fence, stairs, etc.
  • map information may include location information, size information, etc. of objects (e.g., walls, furniture (e.g., tables, chairs, beds, closets, etc.), stairs, home appliances, etc.) located in a preset space.
  • objects e.g., walls, furniture (e.g., tables, chairs, beds, closets, etc.), stairs, home appliances, etc.
  • the object may include an obstacle that prevents the robot device 100 from traveling, an obstacle that prevents the robot device 100 from traveling (for example, an obstacle that the robot device 100 cannot pass), etc.
  • One or more processors 140 controls the overall operation of the robot device 100.
  • the processor 140 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
  • the processor 140 may be implemented as a System on Chip (SoC) or large scale integration (LSI) with a built-in processing algorithm, or may be implemented in the form of a Field Programmable Gate Array (FPGA).
  • SoC System on Chip
  • LSI large scale integration
  • FPGA Field Programmable Gate Array
  • the processor 140 can perform various functions by executing computer executable instructions stored in memory.
  • One or more processors 140 include a CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), MIC (Many Integrated Core), DSP (Digital Signal Processor), NPU (Neural Processing Unit), and hardware. It may include one or more of an accelerator or machine learning accelerator. One or more processors 140 may control one or any combination of other components of the electronic device and may perform operations related to communication or data processing. One or more processors 140 may execute one or more programs or instructions stored in memory. For example, one or more processors 140 may perform a method according to an embodiment of the present disclosure by executing one or more instructions stored in memory.
  • the plurality of operations may be performed by one processor or by a plurality of processors.
  • the first operation, the second operation, and the third operation may all be performed by the first processor.
  • the first operation and the second operation may be performed by a first processor (e.g., a general-purpose processor) and the third operation may be performed by a second processor (e.g., an artificial intelligence-specific processor).
  • the one or more processors 140 may be implemented as a single core processor including one core, or one or more multi-cores including a plurality of cores (e.g., homogeneous multi-core or heterogeneous multi-core). It may also be implemented as a processor (multicore processor). When one or more processors 140 are implemented as multi-core processors, each of the plurality of cores included in the multi-core processor may include processor internal memory such as cache memory and on-chip memory, and may include a plurality of processor internal memories such as cache memory and on-chip memory. A common cache shared by cores may be included in multi-core processors.
  • each of the plurality of cores (or some of the plurality of cores) included in the multi-core processor may independently read and perform program instructions for implementing the method according to an embodiment of the present disclosure, and all of the plurality of cores may (or part of it) may be linked to read and perform program instructions for implementing the method according to an embodiment of the present disclosure.
  • the plurality of operations may be performed by one core among a plurality of cores included in a multi-core processor, or may be performed by a plurality of cores.
  • the first operation, the second operation, and the third operation are all performed by the first operation included in the multi-core processor. It may be performed by a core, and the first operation and the second operation may be performed by the first core included in the multi-core processor, and the third operation may be performed by the second core included in the multi-core processor.
  • the processor 140 may be a system-on-chip (SoC), a single-core processor, a multi-core processor, or a core included in a single-core processor or multi-core processor in which one or more processors and other electronic components are integrated.
  • SoC system-on-chip
  • the core may be implemented as a CPU, GPU, APU, MIC, DSP, NPU, hardware accelerator, or machine learning accelerator, but embodiments of the present disclosure are not limited thereto.
  • one or more processors 140 may identify the location of the robot device 100 based on sensing data acquired by at least one sensor 120.
  • the processor 140 may identify the location of the robot device 100 within map information based on sensing data acquired by the LiDAR sensor.
  • the location may mean the current location of the robot device 100 within map information obtained by the processor 140 performing a simultaneous localization and mapping (SLAM) operation in space.
  • SLAM simultaneous localization and mapping
  • the positions of the robot device 100 will be described by dividing them into two types.
  • the location may be divided into a first location and a second location.
  • the first location includes the floor space of the space where the robot device 100 is located
  • the second location may refer to a flat space on at least one object located in the space.
  • the processor 140 may identify the location of the robotic device 100 based on sensing data acquired by at least one sensor 120. Processor 140 may then identify whether the identified location is included in the first location or the second location.
  • the processor 140 moves the robotic device 100 to the first location. It can be operated in the first mode corresponding to .
  • the first mode is a mode in which the robot device 100 can freely travel on the floor space.
  • the floor space is a relatively large space, and it is easy to drive while avoiding obstacles, so the processor 140 can drive the robot device 100 at high speed.
  • the processor 140 can control the robotic device 100 to interact with various types of electronic devices located within the home, and recognize users located within the home (e.g., remotely
  • the robot device 100 can perform voice recognition of a user located at a location, face recognition of a user located at a distance, etc.) and is adjacent to a user located at home (for example, a user who called the robot device 100).
  • the processor 140 may perform a driving function that follows the user, that is, a user-following driving function.
  • content can be output at a relatively high volume in order to provide content to a plurality of users located in the home.
  • a patrol driving function can be performed.
  • the processor 140 may perform a reconnaissance driving function to move the robot device 100 at a constant speed according to a movement path having a certain pattern or a random movement path within the floor space on the object.
  • the processor 140 may identify a change in the position of the robot device 100 based on sensing data acquired by at least one sensor 120.
  • the position of the robot device 100 may change according to the operation of the driving unit provided in the robot device 100, and the position of the robot device 100 may be changed by the user arbitrarily moving the robot device 100.
  • the position of the robot device 100 may change according to the operation of the driving unit provided in the robot device 100, and the position of the robot device 100 may be changed by the user arbitrarily moving the robot device 100.
  • the position of the robot device 100 may be changed by the user arbitrarily moving the robot device 100.
  • FIG. 3 A detailed description of this will be made with reference to FIG. 3 .
  • Figure 3 is a diagram for explaining an event for a robot device according to an embodiment of the present disclosure.
  • the processor 140 processes an event in which the position of the robot device 100 changes from a first position to a second position based on sensing data acquired by at least one sensor. can be identified.
  • the processor 140 may identify a first event in which the user picks up the robot device 100 and a second event in which the user places the robot device 100 down.
  • the processor 140 may change the position of the robot device 100 based on the sensing data received from the at least one sensor 120 (for example, if the z-axis value of the robot device 100 changes rapidly). If the ascending travel is rapidly changed beyond a certain height, or at least one of the It can be identified that the first event of picking has occurred.
  • the fall prevention sensor is located at the bottom of the robot device 100 and may output infrared rays.
  • the fall prevention sensor receives infrared rays after they are reflected in the lower direction (e.g., floor space or flat space, etc.), the robot device 100 and the robot device 100 based on the time taken from output to reception of infrared rays. The distance between the lower spaces can be detected.
  • the processor 140 is based on the sensing data (e.g., detected distance) of the fall prevention sensor, and when the distance changes suddenly (e.g., the driving unit 110 of the robot device 100 If the height is changed to exceed a certain height range capable of climbing), it can be identified that a first event of picking up the robot device 100 by the user has occurred.
  • the sensing data e.g., detected distance
  • the distance changes suddenly e.g., the driving unit 110 of the robot device 100 If the height is changed to exceed a certain height range capable of climbing
  • the processor 140 has at least one sensor 120 implemented as a pressure sensor, and when a pressure greater than a threshold value is detected from the pressure sensor, the processor 140 generates a first event for picking up the robot device 100 by the user. can be identified as having occurred.
  • the processor 140 has at least one sensor 120 implemented as a wheel lifting sensor, and determines the pressure applied to the wheels of the robot device 100 (or the weight applied to the wheels) based on the sensing data of the wheel lifting sensor. ) does not correspond to the weight of the main body of the robot device 100 (or if pressure is not applied to the wheels), it can be identified that the first event of picking up the robot device 100 by the user has occurred. there is.
  • the processor 140 determines whether the position of the robot device 100 remains constant based on the sensing data received from the at least one sensor 120 or changes within a critical range (for example, the z-axis value changes When the robot device 100 changes within a certain height at which the robot device 100 can climb or when at least one of the ) can be identified as having occurred.
  • a critical range for example, the z-axis value changes When the robot device 100 changes within a certain height at which the robot device 100 can climb or when at least one of the ) can be identified as having occurred.
  • the processor 140 based on the sensing data (e.g., detected distance) of the fall prevention sensor, if the distance remains constant after the distance changes suddenly (i.e., after the first event occurs), It can be identified that a second event of putting down the robot device 100 has occurred.
  • the sensing data e.g., detected distance
  • the processor 140 based on the sensing data (e.g., detected distance) of the fall prevention sensor, if the distance remains constant after the distance changes suddenly (i.e., after the first event occurs), It can be identified that a second event of putting down the robot device 100 has occurred.
  • the processor 140 determines that at least one sensor 120 is implemented as a pressure sensor, and if a pressure below the threshold is detected after a pressure above the threshold is detected from the pressure sensor (i.e., after the first event occurs), (Or, if no pressure is detected), it may be identified that a second event of placing the robot device 100 has occurred.
  • the processor 140 determines that the pressure applied to the wheels of the robot device 100 is less than a threshold value (for example, a value corresponding to the weight of the main body of the robot device 100) based on the sensing data of the wheel lifting sensor. If the pressure applied to the wheel corresponds to the weight of the main body of the robot device 100 after it decreases (i.e., after the first event occurs), it can be identified that the second event of placing the robot device 100 has occurred. there is.
  • a threshold value for example, a value corresponding to the weight of the main body of the robot device 100
  • the processor 140 may identify whether the first event and the second event occur based on the operations of components provided in the robot device 100 in addition to the sensing data of at least one sensor 120.
  • the processor 140 may identify whether the first event and the second event occur based on a change in the rotational force (motor torque) of the driving unit, a change in friction force generated from the driving unit, etc.
  • the friction force generated in the driving unit approaches 0 (i.e., the first event occurs), and the friction force generated in the driving unit increases. It can be identified that a second event of placing the robot device 100 has occurred.
  • the processor 140 may identify the current location of the robot device 100 again after the first event and the second event occur sequentially. For example, if the user arbitrarily picks up the robot device 100 (first event) and puts it down (second event), the location of the robot device 100 before the first event occurs and the second event occurs. Since there is a large difference between the positions of the robot device 100, the current location of the robot device 100 can be identified again.
  • the processor 140 identifies the z-axis displacement of the robot device 100 according to the sensing data of the acceleration sensor included in the sensing data of the IMU, and if the identified z-axis displacement remains constant after being rapidly changed ( Since the first event and the second event occur sequentially), the location of the robotic device 100 may have changed, the processor 140 performs a SLAM (Simultaneous Localization and Mapping) function to change the location of the robotic device 100 can be re-identified.
  • the processor 140 performs a SLAM (Simultaneous Localization and Mapping) function to acquire sensing data to re-identify the location of the robot device 100, and determines the location of the robot device 100 based on the new sensing data obtained. It is possible to identify whether the first location has changed from the second location.
  • the processor 140 may identify the location of the robot device 100 based on sensing data from at least one sensor 120 after the second event occurs. For example, as shown in FIG. 3, the position of the robotic device 100 before the first event occurs is the floor space (hereinafter referred to as the first position), and the position of the robotic device 100 after the second event occurs is the floor space (hereinafter referred to as the first position). May be a flat space (hereinafter referred to as second location) on the object.
  • the user randomly performs a first event of picking up the robot device 100, and then performs a second event of putting down the robot device 100, so that the robot device 100 A case where the position is changed from the first position to the second position has been assumed, but it is of course not limited to this.
  • the processor 140 operates the driving part to climb over an obstacle of a certain height to set the position of the robot device 100 to the first position. It can change from one position to the second position on its own.
  • the processor 140 operates the driving unit to Of course, the position of (100) can be changed from the first position to the second position on its own.
  • 2-3cm is an example of a certain height and is of course not limited to a specific number.
  • the processor 140 may output feedback indicating the occurrence of the first event.
  • the processor 140 when the first event of the user picking up the robot device 100 occurs, the processor 140 provides feedback indicating the occurrence of the first event (e.g., 'Where am I going? Voice feedback such as ‘Are you moving it?’ or ‘Please put me down,’ or vibration feedback, etc.) can be output.
  • the first event e.g., 'Where am I going? Voice feedback such as ‘Are you moving it?’ or ‘Please put me down,’ or vibration feedback, etc.
  • the processor 140 may stop the operation of the driving unit when the first event occurs.
  • FIG. 4 is a diagram illustrating sensing data corresponding to movement from floor space to flat space according to an embodiment of the present disclosure.
  • the processor 140 may identify whether the position of the robot device 100 has changed from the first position to the second position based on the sensing data acquired by the at least one sensor 120.
  • at least one sensor 120 may include an IMU.
  • the processor 140 determines that the z-axis displacement of the robotic device 100 included in the sensing data of the IMU is within a critical range (e.g., the robotic device 100 ), the driving unit 110 is changed beyond a certain height range capable of climbing, and in particular, the z-axis displacement increases, the processor 140 changes the position of the robot device 100 from the first position to the second position. It can be identified as something that has changed.
  • a critical range e.g., the robotic device 100
  • the driving unit 110 is changed beyond a certain height range capable of climbing, and in particular, the z-axis displacement increases
  • the processor 140 changes the position of the robot device 100 from the first position to the second position. It can be identified as something that has changed.
  • At least one sensor 120 may include a fall prevention sensor (Cliff sensor), a wheel lifting sensor, etc.
  • the fall prevention sensor is located at the bottom of the main body of the robot device 100 and can output a signal (e.g., near-infrared rays, ultrasonic waves, laser, etc.) in a downward direction (i.e., (-) direction of the z-axis). there is.
  • the fall prevention sensor when the output signal is received after being reflected in the lower space (for example, floor space or flat space, etc.), identifies the time taken from output to reception of the signal, and robot device ( The distance between 100) and the space below the robot device 100 (eg, floor space or flat space, etc.) may be detected. Meanwhile, if the detected distance increases while the first event and the second event sequentially occur, the processor 140 determines that the position of the robot device 100 has changed from the first position to the second position. can be identified.
  • a signal e.g., near-infrared rays, ultrasonic waves, laser, etc.
  • At least one sensor 120 may include a camera (eg, RGB-D). If the distance from the robot device 100 to the ceiling decreases while the first event and the second event sequentially occur based on the sensing data (or image data) of the camera, the processor 140 It can be identified that the position of 100 has changed from the first position to the second position.
  • a camera eg, RGB-D
  • the processor 140 may state that the camera is a ToF camera, and while the first event and the second event occur sequentially, a signal (e.g., near-infrared ray, ultrasound, laser, etc.) output from the ToF camera reaches the ceiling. If the time taken to return after doing so decreases, it can be identified that the position of the robot device 100 has changed from the first position to the second position.
  • a signal e.g., near-infrared ray, ultrasound, laser, etc.
  • the processor 140 may identify whether the position of the robot device 100 has changed from the first position to the second position based on the sensing data of each of the plurality of sensors.
  • FIG. 5 is a diagram for explaining a planar space on an object according to an embodiment of the present disclosure.
  • map information may include location information, size information, etc. about the flat space on objects (e.g., tables, chairs, beds, dining tables, etc.), home appliances, etc.) located in a preset space.
  • objects e.g., tables, chairs, beds, dining tables, etc.
  • home appliances etc.
  • the processor 140 may identify the location of the robot device 100 based on sensing data acquired by at least one sensor 120. Processor 140 may then identify whether the identified location is included in the first location or the second location.
  • the processor 140 when the position of the robot device 100 is identified as having changed from the first position to the second position after the first event and the second event sequentially occur, the processor 140 operates the robot device ( 100) may be identified as being located in a plane space on one of the plurality of objects, rather than in a floor space. For example, the processor 140 does not need to identify which of a plurality of objects located in the home is located in a plane space on one of the objects, but may identify the processor 140 as being located in a plane space on one of the plurality of objects. .
  • the processor 140 may identify which of a plurality of objects located in the home is located in a plane space based on sensing data acquired by at least one sensor 120.
  • the robotic device 100 includes 3D map information corresponding to space
  • the processor 140 includes the z-axis displacement detected by the IMU sensor, the distance to the floor space detected by the fall prevention sensor, or the camera ( For example, based on the distance to the ceiling detected by ToF, a flat space on an object corresponding to a specific height can be identified in 3D map information.
  • 3D map information may represent map information that expresses space in three dimensions and implements a plurality of subspaces, a plurality of objects, etc. included in the space in three dimensions.
  • 3D map information may include object information for each height in the 3D shape of the object included in the space (i.e., object width, object height, etc.).
  • 3D map information may include location information, size information, shape information, etc. in a plane space on an object corresponding to a specific height.
  • one or more processors 140 may operate the robot device 100 in a second mode corresponding to the second position.
  • the second mode is a mode in which the robot device 100 can travel within a plane space on an object.
  • the flat space on the object is a relatively narrow space compared to the floor space, and it is not easy to drive while avoiding obstacles, so the processor 140 drives the robot device 100 at a relatively low speed compared to the first mode. It is possible to do so, and the robot device 100 can also be stopped from running.
  • the processor 140 may control the robotic device 100 to interact with an electronic device located within a flat space on the object and recognize a user located adjacent to the object (e.g., voice recognition of a user located nearby, facial recognition of a user located nearby, etc.), and the robot device 100 can be moved to be adjacent to a user located adjacent to an object among a plurality of users located in the home. You can.
  • a user located adjacent to the object e.g., voice recognition of a user located nearby, facial recognition of a user located nearby, etc.
  • the content may be output at a relatively low volume in order to provide the content to a user located adjacent to the object among a plurality of users located in the home.
  • FIG. 6 is a diagram for explaining a mode corresponding to a plane space according to an embodiment of the present disclosure.
  • the processor 140 uses information about the plane space on the object included in map information (e.g., 3D map information). Thus, it is possible to identify whether the robot device 100 can move in a plane space on the object.
  • map information e.g., 3D map information
  • the information about the plane space included in the map information may include location information, size information, and shape information of the plane space on the object where the robot device 100 is located.
  • the processor 140 may control at least one sensor 120 to perform the SLAM function.
  • the processor 140 uses the sensing data of the LiDAR sensor and various mapping algorithms to collect information about the surrounding environment of the robot device 100 and information related to surrounding objects. It is possible to obtain and use this to generate information about the plane space on the object.
  • the processor 140 may update the map information stored in the memory 130 based on information about the plane space.
  • the location, size, and shape of the plane space can be added to the map information based on information about the plane space on the object where the robot device 100 is located.
  • the robot device 100 displays 3D map information indicating that a plane space according to the position, size, and shape detected by at least one sensor 120 is located at a height corresponding to the current position of the robot device 100. It can be displayed in .
  • the processor 140 operates in the second mode.
  • at least one function that requires movement of the robot device may be performed.
  • the flat space on the object is relatively narrow compared to the floor space, so the processor 140 can operate the robot device 100 in the second mode.
  • the robot device 100 operating in the second mode may travel at a relatively lower speed than the robot device 100 operating in the first mode.
  • FIG. 7 is a diagram for explaining a mode corresponding to a plane space according to an embodiment of the present disclosure.
  • the function that requires movement of the robot device 100 is a low-speed driving function as shown in FIG. 6 and a function that interacts with the user as shown in FIG. 7. It may include functions, etc.
  • the processor 140 recognizes a user located in the home (e.g., user's voice recognition, user's face recognition, etc.), and displays the front of the robot device 100 where the recognized user is located. After rotating in the direction, it can perform the function of carrying out a conversation with the user.
  • the function of carrying out a conversation with the user and the function of interacting with the user may include a virtual assistant function, a voice recognition assistant function, etc.
  • the virtual assistant function uses a neural network model to perform various tasks (e.g., schedule management, peripheral device control (turn-on, turn-off, etc.)) corresponding to user commands (e.g., voice commands). Includes features.
  • FIG. 8 is a diagram for explaining a mode corresponding to a plane space according to an embodiment of the present disclosure.
  • the processor 140 may perform at least one function that does not require movement of the robot device 100 among the plurality of functions included in the second mode. Can perform one function.
  • functions that do not require movement of the robot device 100 include AI speaker function, projector function, music playback function, current time display function (or alarm function), etc. can do.
  • the AI Speaker function may include an AI assistant function and a virtual assistant function that interact with the user, as shown in the embodiment shown in FIG. 6.
  • the projector function may include a function to output content by controlling a projector provided in the robot device 100.
  • the music playback function may include a function of controlling speakers provided in the robot device 100 to output various types of content, such as music.
  • the current time display function may include a function of displaying the current time using a projector or display provided in the robot device 100. Meanwhile, the above-described function is an example and is not limited thereto.
  • the processor 140 may perform the robot device 100 among a plurality of functions included in the second mode. ) Of course, it is possible to perform functions that do not require movement. Additionally, of course, the processor 140 may simultaneously perform at least two of the plurality of functions included in the second mode, or may perform only one function.
  • FIG. 9 is a diagram illustrating a robot device that requests movement from a flat space to a floor space according to an embodiment of the present disclosure.
  • the description was made assuming that the robot device 100 requested to move from the floor space to the flat space on the object, or the robot device 100 whose position was changed from the floor space to the flat space on the object by the user, but FIG. 9 And in FIG. 10 , the description will be made assuming that the robot device 100 requests to move from the flat space on the object to the floor space, or the robot device 100 whose position has been changed from the flat space on the object to the floor space by the user.
  • At least one sensor according to an embodiment of the present disclosure may further include a voice recognition sensor (eg, microphone).
  • a voice recognition sensor eg, microphone
  • the processor 140 may perform voice recognition based on the user's voice received through a voice recognition sensor.
  • the processor 140 determines the user's voice based on the user's voice. The location of the user 10 who uttered the voice can be identified.
  • the processor 140 can perform a function corresponding to the voice recognition result. there is.
  • the processor 140 may perform the music playback function in a flat space on the object.
  • the processor 140 may perform a music playback function after moving adjacent to the user 10 within a flat space on the object.
  • the processor 140 moves to be adjacent to the user 10.
  • Feedback requesting to change the position of the robot device 100 from a flat space on the object to a floor space may be output.
  • the processor 140 calls the robot device 100 based on map information according to the voice recognition result. It is possible to identify whether it is possible to move adjacent to the user 10 at the current location (eg, flat space on the object).
  • the processor 140 moves the robot device 100 Feedback requesting the occurrence of an event that changes the position from the second position to the first position (changes from flat space on the object to floor space) may be output.
  • FIG. 10 is a diagram for explaining a mode corresponding to a floor space according to an embodiment of the present disclosure.
  • the first event and the second event occur sequentially, but unlike the embodiment shown in FIG. 3, when the position of the robot device 100 changes from the second position to the first position This is an example to explain.
  • the user randomly picks up the robot device 100 and then performs an event in which the robot device 100 is placed down in the first position, so that the position of the robot device 100 changes from the second position to the first position.
  • the case where the location is changed is assumed, it is of course not limited to this.
  • the processor 140 deactivates the fall prevention sensor (cliff sensor) and then operates the driving unit to control the robot device 100.
  • the position of (100) can be changed from the second position to the first position by itself.
  • the processor 140 determines a movement path to move adjacent to the user 10 based on the map information when the position of the robot device 100 changes from the second position to the first position. can be identified.
  • the processor 140 identifies a function corresponding to the user's voice or user command, and if the identified function corresponds to one of a plurality of functions included in the first mode, the processor 140 It can be identified whether the location of the robot device 100 corresponds to the first location.
  • the processor 140 may operate the robot device 100 in the first mode to perform a function corresponding to the user's voice or user command.
  • the processor 140 changes the position of the robot device 100 from the second position to the first position (change from a plane space on the object to a floor space). Feedback requesting the occurrence of an event can be output. Subsequently, when the position of the robot device 100 changes from the second position to the first position, the processor 140 operates the robot device 100 in the first mode to perform a function corresponding to the user's voice or user command. You can.
  • the processor 140 identifies a function corresponding to a user voice or user command, and if the identified function corresponds to one of a plurality of functions included in the second mode, the processor 140 uses the robot device 100 ) can be identified whether the location corresponds to the second location.
  • the processor 140 may operate the robot device 100 in the second mode to perform a function corresponding to the user's voice or user command.
  • the processor 140 changes the position of the robot device 100 from the first position to the second position (change from floor space to flat space on the object). Feedback requesting the occurrence of an event can be output. Subsequently, when the position of the robot device 100 changes from the first position to the second position, the processor 140 operates the robot device 100 in the second mode to perform a function corresponding to the user's voice or user command. You can.
  • FIG. 11 is a diagram for explaining map information corresponding to a plane space according to an embodiment of the present disclosure.
  • the processor 140 may identify whether the current location of the robot device 100 corresponds to a plane space on the object based on map information.
  • the processor 140 may identify the current location of the robot device 100 based on sensing data. For example, the processor 140 may identify the current location on map information corresponding to the displacement of each of the x-axis and y-axis of the robot device 100.
  • the processor 140 may identify that the robot device 100 is located in a flat space on the object, not a floor space.
  • the processor 140 may operate the robot device 100 in the second mode.
  • FIG. 12 is a diagram illustrating sensing data corresponding to movement from floor space to planar space according to an embodiment of the present disclosure.
  • the processor 140 may identify whether the position of the robot device 100 has changed from the second position to the first position based on the sensing data acquired by the at least one sensor 120.
  • at least one sensor 120 may include an IMU.
  • the processor 140 determines that the z-axis displacement of the robotic device 100 included in the sensing data of the IMU is within a critical range (e.g., the robotic device 100 ), the driving unit 110 is changed beyond a certain height range capable of climbing, and in particular, the z-axis displacement is reduced, the processor 140 changes the position of the robot device 100 from the second position to the first position. It can be identified as something that has changed.
  • a critical range e.g., the robotic device 100
  • the driving unit 110 is changed beyond a certain height range capable of climbing, and in particular, the z-axis displacement is reduced
  • the processor 140 changes the position of the robot device 100 from the second position to the first position. It can be identified as something that has changed.
  • At least one sensor 120 may include a fall prevention sensor (Cliff sensor), a wheel lifting sensor, etc.
  • the fall prevention sensor is located at the bottom of the main body of the robot device 100 and can output a signal (e.g., near-infrared rays, ultrasonic waves, laser, etc.) in a downward direction (i.e., (-) direction of the z-axis). there is.
  • the fall prevention sensor when the output signal is received after being reflected in the lower space (for example, floor space or flat space, etc.), identifies the time taken from output to reception of the signal, and robot device ( The distance between 100) and the space below the robot device 100 (eg, floor space or flat space, etc.) may be detected. Meanwhile, if the detected distance decreases while the first event and the second event occur sequentially, the processor 140 determines that the position of the robot device 100 has changed from the first position to the second position. can be identified.
  • a signal e.g., near-infrared rays, ultrasonic waves, laser, etc.
  • At least one sensor 120 may include a camera (eg, RGB-D). If the distance from the robot device 100 to the ceiling increases while the first event and the second event sequentially occur based on the sensing data (or image data) of the camera, the processor 140 It can be identified that the position of (100) has changed from the second position to the first position.
  • a camera eg, RGB-D
  • the processor 140 may state that the camera is a ToF camera, and while the first event and the second event occur sequentially, a signal (e.g., near-infrared ray, ultrasound, laser, etc.) output from the ToF camera reaches the ceiling. If the time taken to return increases, it can be identified that the position of the robot device 100 has changed from the second position to the first position.
  • a signal e.g., near-infrared ray, ultrasound, laser, etc.
  • the processor 140 may identify whether the position of the robot device 100 has changed from the second position to the first position based on the sensing data of each of the plurality of sensors.
  • FIG. 13 is a diagram for explaining map information corresponding to floor space according to an embodiment of the present disclosure.
  • the processor 140 may identify the current location of the robot device 100 based on sensing data. For example, the processor 140 may identify the current location on the map information corresponding to the displacement of each of the robot teeth's x-axis and y-axis.
  • the processor 140 may identify that the robot device 100 is located in the floor space rather than the flat space on the object.
  • the processor 140 may operate the robot device 100 in the first mode.
  • Figure 14 is a diagram for explaining the function of the first mode according to an embodiment of the present disclosure.
  • the processor 140 identifies the location of the robotic device 100, and if the identified location of the robotic device 100 is included in the first location, that is, the current location of the robotic device 100 is When identified as a floor space, the robot device 100 can be operated in a first mode corresponding to the first position.
  • the first mode may include a plurality of functions.
  • the processor 140 detects a first event and a second event, and when the first event and the second event occur sequentially, the location of the robotic device 100 can be re-identified. . Subsequently, if the position of the robot device changes to the first position according to the re-identification result, the processor 140 may change to the first mode.
  • the processor 140 can detect whether a first event and a second event occur sequentially based on sensing data from at least one sensor 120, where the at least one sensor 120 is Gyro It may include a sensor, LiDAR Sensor, Cliff Sensor, Camera, IMU, Tactile sensor, Pressure sensor, Shock Sensor, IR Sensor, etc.
  • the processor 140 may operate in a driving mode corresponding to the first position according to one of the plurality of functions included in the first mode.
  • the driving mode corresponding to the first position may include a high-speed driving mode, impact detection, and driving recovery functions.
  • the processor 140 performs a driving mode corresponding to the first location based on sensing data from at least one sensor 120, where the at least one sensor 120 includes a LiDAR Sensor, a Camera, It may include a tactile sensor, shock sensor, IR sensor, etc.
  • one of the plurality of functions included in the first mode may include a task execution function.
  • Task performance functions corresponding to the first mode may include user tracking driving, pet play functions (for example, pet following driving, preset sound playback, etc.), interaction functions, etc.
  • the processor 140 performs a task performance function corresponding to the first mode based on the sensing data of at least one sensor 120, where the at least one sensor 120 is a LiDAR Sensor, a Camera , Tactile sensor, Shock Sensor, IR Sensor, etc.
  • one of the plurality of functions included in the first mode may include increasing speaker volume, recognizing a user's face at a distance, and recognizing a user's voice.
  • the processor 140 performs a function for recognizing a distant user's face and user's voice based on sensing data from at least one sensor 120, where the at least one sensor 120 is LiDAR. It may include sensors, cameras, pressure sensors, shock sensors, IR sensors, etc.
  • Figure 15 is a diagram for explaining the function of the second mode according to an embodiment of the present disclosure.
  • the processor 140 identifies the location of the robotic device 100, and if the identified location of the robotic device 100 is included in the second location, that is, the current location of the robotic device 100 is If the object is identified as a flat space, the robot device 100 may be operated in a second mode corresponding to the second position.
  • the second mode may include multiple functions.
  • the processor 140 detects a first event and a second event, and when the first event and the second event occur sequentially, the location of the robot device 100 can be re-identified. . Subsequently, if the position of the robot device changes to the second position according to the re-identification result, the processor 140 may change to the second mode.
  • the processor 140 can detect whether a first event and a second event occur sequentially based on sensing data from at least one sensor 120, where the at least one sensor 120 is Gyro It may include a sensor, LiDAR Sensor, Cliff Sensor, Camera, IMU, Tactile sensor, Pressure sensor, Shock Sensor, IR Sensor, etc.
  • the processor 140 may operate in a driving mode corresponding to the second position according to one of the plurality of functions included in the second mode.
  • the driving mode corresponding to the second position may include a low-speed driving mode, impact detection, and driving recovery functions.
  • the processor 140 performs a driving mode corresponding to the first location based on sensing data from at least one sensor 120, where the at least one sensor 120 includes a LiDAR Sensor, a Camera, It may include a tactile sensor, shock sensor, IR sensor, etc.
  • one of the plurality of functions included in the second mode may include a task execution function.
  • Task performance functions corresponding to the second mode include patrol driving, pet playing functions (e.g., pet following driving, preset sound playback, etc.), and interaction functions (e.g., It may include a virtual assistant function, voice recognition assistant function, etc.), AI Speaker function, projector function (image output function using the projector unit), music playback function, current time display function, etc.
  • the processor 140 performs a task performance function corresponding to the second mode based on the sensing data of at least one sensor 120, where the at least one sensor 120 is a LiDAR Sensor, Camera , Tactile sensor, Shock Sensor, IR Sensor, etc.
  • one of the plurality of functions included in the second mode may include a speaker volume reduction function, a short-distance user face, and a user voice recognition function.
  • the processor 140 performs a function for recognizing a user's face and a user's voice at a short distance based on sensing data from at least one sensor 120, where the at least one sensor 120 uses LiDAR. It may include sensors, cameras, pressure sensors, shock sensors, IR sensors, etc.
  • Figure 16 is a flowchart for explaining a control method of a robot device according to an embodiment of the present disclosure.
  • the robot device In the control method of a robot device according to an embodiment of the present disclosure, first, when the robot device is located at a first position, the robot device is controlled in a first mode corresponding to the first position (S1610).
  • a first event in which the user picks up the robot device and a second event in which the user puts the robot device down are identified based on the sensing data acquired by at least one sensor (S1620).
  • the position of the robot device is identified as having changed from the first position to the second position based on new sensing data acquired by at least one sensor after the first event and the second event occur sequentially, it corresponds to the second position. Control the robot device in the second mode (S1630).
  • control method may further include, when the first event occurs, outputting feedback indicating the occurrence of the first event.
  • the first location is included in the floor space of the space where the robotic device is located
  • the second location is included in the planar space on the object located in the space, and the planar space is relative to the floor space. It can be located high up.
  • the robot device includes map information corresponding to the space in which the robot device is located, and the step of controlling the robot device in the second mode is based on information about the plane space included in the map information. identifying whether the robot device can be moved; if the robot device can be moved within a plane space, performing at least one function that requires movement of the robot device among a plurality of functions included in the second mode; If it is impossible to move the robot device within the flat space, the method may include performing at least one function that does not require movement of the robot device among a plurality of functions included in the second mode.
  • the robot device includes map information corresponding to the space in which the robot device is located, and the step of controlling the robot device in the second mode is performed when information about the plane space is not identified in the map information. , It may include obtaining information about the flat space by controlling at least one sensor to perform a Simultaneous Localization and Mapping (SLAM) function.
  • SLAM Simultaneous Localization and Mapping
  • the robot device includes map information corresponding to the space in which the robot device is located, and the control method according to an example includes, when a signal calling the robot device is received through a voice recognition sensor, the signal identifying the received location, identifying whether it is possible to move from the second location to the identified location based on the map information, and if moving from the second location to the identified location is impossible, picking up the robotic device and then
  • the step of outputting feedback requesting the occurrence of an event for putting down at position 1 may be further included.
  • the control method is, after outputting the feedback, when an event occurs in which the robot device is picked up and placed down in the first position and the position of the robot device changes from the second position to the first position, the map It may further include identifying a movement path to move to the identified location based on the information.
  • the first mode may be a mode in which the robot device travels at a relatively higher speed than the second mode.
  • At least one sensor includes at least one of a gyro sensor, a camera sensor, a cliff sensor, a pressure sensor, an infrared sensor, or an ultrasonic sensor, according to an example. Identifying the event may include identifying each of a first event of picking up the robotic device and a second event of placing the robotic device based on the sensing data.
  • 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 a robot device may be stored in a non-transitory computer-readable medium.
  • 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 robot 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)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

로봇 장치가 개시된다. 로봇 장치는 적어도 하나의 센서, 적어도 하나의 인스트럭션을 저장하는 적어도 하나의 메모리 및 상기 적어도 하나의 인스트럭션을 실행하여, 상기 로봇 장치가 제1 위치에 위치하면, 상기 제1 위치에 대응되는 제1 모드로 상기 로봇 장치를 제어하며, 상기 적어도 하나의 센서가 획득한 센싱 데이터에 기초하여, 상기 사용자에 의해 상기 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 상기 로봇 장치를 내려놓는(place) 제2 이벤트를 식별하고, 상기 제1 이벤트 및 상기 제2 이벤트가 순차적으로 발생한 후에 상기 적어도 하나의 센서가 획득한 새로운 센싱 데이터에 기초하여 상기 로봇 장치의 위치가 상기 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 상기 제2 위치에 대응되는 제2 모드로 상기 로봇 장치를 제어하는 적어도 하나 이상의 프로세서를 포함한다.

Description

로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법
본 발명은 로봇 장치 및 그 제어 방법에 관한 것으로, 더욱 상세하게는, 로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법에 관한 것이다.
최근 전자 기술의 발전에 따라 다양한 유형의 전자 장치가 개발 및 보급되고 있는 실정이다.
특히, 매장, 카페, 레스토랑 등에서는 사람을 대체하는 서빙 로봇, 사용자의 별도 조작 없이도, 스스로 주행하면서 이물질을 흡입함으로써, 청소하고자 하는 영역을 자동으로 청소하는 로봇 청소기 등과 같이 공간 내에서 주행하며 특정 동작을 수행하는 다양한 형태의 로봇 장치가 보급되고 있다.
또한, 댁 내에 구비된 다양한 유형의 사물 인터넷 장치(IoT)와 상호 작용하며, 사용자와 상호 작용하는 다양한 형태의 소형 로봇도 보급되고 있는 실정이다.
이러한 소형 로봇은 주변 환경을 센싱하며, 이에 기초하여 댁 내에 구비된 사물 인터넷 장치와 상호 작용한다.
소형 로봇은 이동 범위가 넓으며, 사용자와 상호 작용이 가능하다는 점에서 애완 동물과 유사하게 행동하는 애완 로봇으로도 불리고 있다. 이러한 소형 로봇의 특성에 따라 소형 로봇이 현재 위치를 고려하여 다양하고 세분화된 리액션(reaction)을 제공하거나, 기능을 수행하는 방법에 대한 요구가 있었다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 로봇 장치는, 적어도 하나의 센서, 적어도 하나의 인스트럭션을 저장하는 적어도 하나의 메모리 및 상기 적어도 하나의 인스트럭션을 실행하여, 상기 로봇 장치가 제1 위치에 위치하면, 상기 제1 위치에 대응되는 제1 모드로 상기 로봇 장치를 제어하며, 상기 적어도 하나의 센서가 획득한 센싱 데이터에 기초하여, 상기 사용자에 의해 상기 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 상기 로봇 장치를 내려놓는(place) 제2 이벤트를 식별하고, 상기 제1 이벤트 및 상기 제2 이벤트가 순차적으로 발생한 후에 상기 적어도 하나의 센서가 획득한 새로운 센싱 데이터에 기초하여 상기 로봇 장치의 위치가 상기 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 상기 제2 위치에 대응되는 제2 모드로 상기 로봇 장치를 제어하는 적어도 하나 이상의 프로세서를 포함한다.
상기 적어도 하나 이상의 프로세서는, 상기 제1 이벤트가 발생하면, 상기 제1 이벤트의 발생을 나타내는 피드백을 출력할 수 있다.
상기 제1 위치는, 상기 로봇 장치가 위치하는 공간의 바닥(floor) 공간에 포함되고, 상기 제2 위치는, 상기 공간 내에 위치하는 오브젝트 상의 평면 공간에 포함되며, 상기 평면 공간은 상기 바닥 공간 보다 상대적으로 높은 곳에 위치할 수 있다.
상기 적어도 하나의 메모리는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하며, 상기 제2 모드는, 복수의 기능을 포함하며, 상기 적어도 하나 이상의 프로세서는, 상기 맵 정보에 포함된 상기 평면 공간에 대한 정보에 기초하여 상기 로봇 장치가 상기 평면 공간 내에서 이동 가능한지 여부를 식별하고, 상기 평면 공간 내에서 상기 로봇 장치의 이동이 가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되는 적어도 하나의 기능을 수행하며, 상기 평면 공간 내에서 상기 로봇 장치의 이동이 불가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되지 않는 적어도 하나의 기능을 수행할 수 있다.
상기 적어도 하나의 메모리는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하며, 상기 적어도 하나 이상의 프로세서는, 상기 맵 정보에서 상기 평면 공간에 대한 정보가 식별되지 않으면, SLAM(Simultaneous Localization and Mapping) 기능을 수행하도록 상기 적어도 하나의 센서를 제어하여 상기 평면 공간에 대한 정보를 획득할 수 있다.
상기 적어도 하나의 센서는, 음성 인식 센서를 더 포함하며, 상기 적어도 하나의 메모리는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하며, 상기 적어도 하나 이상의 프로세서는, 상기 음성 인식 센서를 통해 신호가 수신되면, 상기 신호가 수신된 위치를 식별하고, 상기 맵 정보에 기초하여 상기 제2 위치에서 상기 식별된 위치로 이동 가능 여부를 식별하고, 상기 제2 위치에서 상기 식별된 위치로 이동이 불가능하면, 상기 로봇 장치를 집어 올린 후 상기 제1 위치에 내려놓는 이벤트의 발생을 요청하는 피드백을 출력할 수 있다.
상기 적어도 하나 이상의 프로세서는, 상기 로봇 장치의 위치가 상기 제2 위치에서 상기 제1 위치로 변경되면, 상기 맵 정보에 기초하여 상기 식별된 위치로 이동하기 위한 이동 경로를 식별할 수 있다.
상기 로봇 장치는, 상기 제2 모드에서 상기 제1 모드보다 상대적으로 빠른 속도로 주행할 수 있다.
상기 적어도 하나의 센서는, 자이로 센서(gyro sensor), 카메라 센서, 추락 방지 센서(cliff sensor), 압력 센서, 적외선 센서 또는 초음파 센서 중 적어도 하나를 포함할 수 있다.
본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법에 있어서, 상기 로봇 장치가 제1 위치에 위치하면, 상기 제1 위치에 대응되는 제1 모드로 상기 로봇 장치를 제어하는 단계, 적어도 하나의 센서가 획득한 센싱 데이터에 기초하여 상기 사용자에 의해 상기 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 상기 로봇 장치를 내려놓는(place) 제2 이벤트를 식별하는 단계 및 상기 제1 이벤트 및 상기 제2 이벤트가 순차적으로 발생한 후에 상기 적어도 하나의 센서가 획득한 새로운 센싱 데이터에 기초하여 상기 로봇 장치의 위치가 상기 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 상기 제2 위치에 대응되는 제2 모드로 상기 로봇 장치를 제어하는 단계를 포함한다.
상기 제어 방법은, 상기 제1 이벤트가 발생하면, 상기 제1 이벤트의 발생을 나타내는 피드백을 출력하는 단계를 더 포함할 수 있다.
상기 제1 위치는, 상기 로봇 장치가 위치하는 공간의 바닥(floor) 공간에 포함되고, 상기 제2 위치는, 상기 공간 내에 위치하는 오브젝트 상의 평면 공간에 포함되며, 상기 평면 공간은 상기 바닥 공간 보다 상대적으로 높은 곳에 위치할 수 있다.
상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며, 상기 제2 모드는, 복수의 기능을 포함하며, 상기 제2 모드로 상기 로봇 장치를 제어하는 단계는, 상기 맵 정보에 포함된 상기 평면 공간에 대한 정보에 기초하여 상기 로봇 장치가 상기 평면 공간 내에서 이동 가능한지 여부를 식별하는 단계, 상기 평면 공간 내에서 상기 로봇 장치의 이동이 가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되는 적어도 하나의 기능을 수행하는 단계 및 상기 평면 공간 내에서 상기 로봇 장치의 이동이 불가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되지 않는 적어도 하나의 기능을 수행하는 단계를 포함할 수 있다.
상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며, 상기 제2 모드로 상기 로봇 장치를 제어하는 단계는, 상기 맵 정보에서 상기 평면 공간에 대한 정보가 식별되지 않으면, SLAM(Simultaneous Localization and Mapping) 기능을 수행하도록 상기 적어도 하나의 센서를 제어하여 상기 평면 공간에 대한 정보를 획득하는 단계를 포함할 수 있다.
상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며, 상기 로봇 장치의 음성 인식 센서를 통해 신호가 수신되면, 상기 신호가 수신된 위치를 식별하는 단계, 상기 맵 정보에 기초하여 상기 제2 위치에서 상기 식별된 위치로 이동 가능 여부를 식별하는 단계 및 상기 제2 위치에서 상기 식별된 위치로 이동이 불가능하면, 상기 로봇 장치를 집어 올린 후 상기 제1 위치에 내려놓는 이벤트의 발생을 요청하는 피드백을 출력하는 단계를 더 포함할 수 있다.
본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법을 실행하는 프로그램을 포함하는 컴퓨터 판독 가능 기록매체에 있어서, 상기 로봇 장치의 제어 방법은, 상기 로봇 장치가 제1 위치에 위치하면, 상기 제1 위치에 대응되는 제1 모드로 상기 로봇 장치를 제어하는 단계, 적어도 하나의 센서가 획득한 센싱 데이터에 기초하여 상기 사용자에 의해 상기 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 상기 로봇 장치를 내려놓는(place) 제2 이벤트를 식별하는 단계 및 상기 제1 이벤트 및 상기 제2 이벤트가 순차적으로 발생한 후에 상기 적어도 하나의 센서가 획득한 새로운 센싱 데이터에 기초하여 상기 로봇 장치의 위치가 상기 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 상기 제2 위치에 대응되는 제2 모드로 상기 로봇 장치를 제어하는 단계를 포함한다.
상기 제1 위치는, 상기 로봇 장치가 위치하는 공간의 바닥(floor) 공간에 포함되고, 상기 제2 위치는, 상기 공간 내에 위치하는 오브젝트 상의 평면 공간에 포함되며, 상기 평면 공간은 상기 바닥 공간 보다 상대적으로 높은 곳에 위치할 수 있다.
상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며, 상기 제2 모드는, 복수의 기능을 포함하며, 상기 제2 모드로 상기 로봇 장치를 제어하는 단계는, 상기 맵 정보에 포함된 상기 평면 공간에 대한 정보에 기초하여 상기 로봇 장치가 상기 평면 공간 내에서 이동 가능한지 여부를 식별하는 단계, 상기 평면 공간 내에서 상기 로봇 장치의 이동이 가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되는 적어도 하나의 기능을 수행하는 단계 및 상기 평면 공간 내에서 상기 로봇 장치의 이동이 불가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되지 않는 적어도 하나의 기능을 수행하는 단계를 포함할 수 있다.
상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며, 상기 제2 모드로 상기 로봇 장치를 제어하는 단계는, 상기 맵 정보에서 상기 평면 공간에 대한 정보가 식별되지 않으면, SLAM(Simultaneous Localization and Mapping) 기능을 수행하도록 상기 적어도 하나의 센서를 제어하여 상기 평면 공간에 대한 정보를 획득하는 단계를 포함할 수 있다.
상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며, 상기 로봇 장치의 음성 인식 센서를 통해 신호가 수신되면, 상기 신호가 수신된 위치를 식별하는 단계, 상기 맵 정보에 기초하여 상기 제2 위치에서 상기 식별된 위치로 이동 가능 여부를 식별하는 단계 및 상기 제2 위치에서 상기 식별된 위치로 이동이 불가능하면, 상기 로봇 장치를 집어 올린 후 상기 제1 위치에 내려놓는 이벤트의 발생을 요청하는 피드백을 출력하는 단계를 더 포함할 수 있다.
본 개시의 특정 구현 예에 대한 위와 그 외의 측면, 특징 및 이점은 다음의 설명과 함께 첨부된 도면들을 통해 더욱 명확하게 나타난다.
도 1은 본 개시의 일 실시 예에 따른 로봇 장치를 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 로봇 장치의 구성을 나타내는 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 로봇 장치에 대한 이벤트를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 바닥 공간에서 평면 공간으로 이동에 대응되는 센싱 데이터를 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 오브젝트 상의 평면 공간을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 모드를 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 모드를 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 모드를 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 평면 공간에서 바닥 공간으로 이동을 요청하는 로봇 장치를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 바닥 공간에 대응되는 모드를 설명하기 위한 도면이다.
도 11은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 맵 정보를 설명하기 위한 도면이다.
도 12는 본 개시의 일 실시 예에 따른 평면 공간에서 바닥 공간으로 이동에 대응되는 센싱 데이터를 설명하기 위한 도면이다.
도 13은 본 개시의 일 실시 예에 따른 바닥 공간에 대응되는 맵 정보를 설명하기 위한 도면이다.
도 14는 본 개시의 일 실시 예에 따른 제1 모드의 기능을 설명하기 위한 도면이다.
도 15는 본 개시의 일 실시 예에 따른 제2 모드의 기능을 설명하기 위한 도면이다.
도 16은 본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
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)는 로봇 관절(Articulation 또는 Joint)을 포함할 수도 있다. 여기서, 로봇 관절은 인간의 팔이나 손의 기능을 대신하기 위한 로봇 장치(100)의 일 구성 요소를 의미할 수 있다.
본 개시의 일 실시 예에 따른 로봇 장치(100)는 센서를 구비하며, 센서의 센싱 데이터에 기초하여 로봇 장치(100)가 위치하는 공간(예를 들어, 댁 내의 기 설정된 공간)에 대응되는 맵 정보를 획득할 수 있다. 예를 들어, 로봇 장치(100)는 LiDAR 센서를 구비하며, LiDAR 센서의 센싱 데이터 및 다양한 매핑 알고리즘을 이용하여 공간에 대응되는 2D 또는 3D 맵을 생성할 수 있다. 라이다(LiDAR)(Light Detection And Ranging) 센서는 특정 물체의 거리를 측정하는 센서이며, 구체적으로 광원을 이용하여 빛을 목표 물체로 발사하여 반사되는 빛을 광원 주위의 센서로 검출할 수 있다. 이어서, 라이다 센서는 빛이 되돌아오기까지 걸린 시간을 측정하고, 언제나 일정한 빛의 속도를 이용하여, 목표물까지의 거리를 높은 정확도, 신뢰도로 산출할 수 있다. 이렇게 특정 공간에서 주기적으로 측정을 반복하여 특정 공간에 대한 3D(또는, 2D) 맵을 생성할 수 있다. 여기서 맵은, 공간에 포함된 복수의 서브 공간(예를 들어, 방) 각각의 위치, 크기, 형태 등을 포함하며, 공간에 포함된 복수의 장애물(예를 들어, 가구, 가전 등) 각각의 위치, 크기, 형태 등을 포함할 수 있다.
또한, 로봇 장치(100)는 센싱 데이터에 기초하여 맵 내에서 로봇 장치(100)의 위치를 식별할 수 있다.
일 예로, 로봇 장치(100)는 맵 정보에 기초하여 이동 경로를 식별하며, 로봇 장치(100)가 이동 경로에 따라 공간 내를 이동하는 동안에 맵 정보 내에서 로봇 장치(100)의 위치를 식별할 수 있다.
일 예로, 로봇 장치(100)는 SLAM(simultaneous Localization and Mapping) 동작을 수행하여 로봇 장치(100)가 위치하는 공간에 대응되는 맵 정보를 획득하며, 맵 정보 내에서 로봇 장치(100)의 현재 위치를 식별할 수 있다.
한편, 로봇 장치(100)는 분야 또는 수행 가능한 기능에 따라서 산업용, 의료용, 가정용, 군사용 및 탐사용 등으로 구분될 수 있다. 일 실시 예에 따라 산업용 로봇 장치는 공장의 제품 제조 과정에서 이용되는 로봇 장치, 매장 또는 식당 등에서 손님 응대, 주문 접수 및 서빙 등을 수행하는 로봇 장치 등으로 세분화될 수도 있다. 예를 들어, 로봇 장치(100)는 식당, 호텔, 마트, 병원, 의류 매장 등 다양한 장소에서 서비스 물품을 사용자가 원하는 위치, 특정 위치까지 운반할 수 있는 서빙 로봇 장치로 구현될 수 있다.
다만, 이는 일 예에 불과할 뿐, 로봇 장치(100)는 활용 분야, 기능 및 사용 목적에 따라 다양하게 분류될 수 있고, 상술한 예에 한정되지 않음은 물론이다.
예를 들어, 도 1에 도시된 바와 같이, 로봇 장치(100)는 댁 내에 위치하는 소형 로봇으로 구현될 수 있다.
여기서, 소형 로봇은 댁 내에 위치하는 다양한 유형의 전자 장치(예를 들어, 사물 인터넷 장치(internet of things))와 상호 작용하거나, 댁 내에 위치하는 사용자를 인식(예를 들어, 사용자의 음성 인식, 사용자의 안면 인식 등)하거나, 공간 내를 이동하거나, 컨텐츠를 제공할 수 있다.
예를 들어, 소형 로봇은 사용자에 인접하게 위치하기 위해 댁 내를 이동하며, 사용자를 인식한 후에 인식된 사용자의 이력에 대응되는 음악 컨텐츠, 영상 컨텐츠 등을 제공할 수 있다.
다만, 이는 일 예시이며, 소형 로봇은 다양한 기능을 수행할 수 있음은 물론이다. 예를 들어, 소형 로봇은 댁 내를 이동하며 오염도를 감지하고, 감지된 오염도에 기초하여 로봇 청소기가 청소를 수행하도록 로봇 청소기와 상호 작용할 수 있다. 소형 로봇은 전자 장치(100)의 일 예시에 불과하며, 이에 한정되지 않음은 물론이다.
도 1을 참조하면, 로봇 장치(100)가 댁 내의 바닥(floor) 공간에 위치하면, 로봇 장치(100)는 바닥 공간 내에 위치하는 벽, 가구, 가전 등 장애물을 회피하여 이동할 수 있다.
일 예에 따라 로봇 장치(100)의 구동부는 문턱(doorsill, threshold), 카펫(carpet) 등 약 2-3 cm 내외 높이의 장애물은 넘을 수 있으나, 2-3 cm 를 초과하는 높이의 장애물은 넘지 못할 수 있다.
따라서, 로봇 장치(100)가 바닥 공간에 위치하면, 로봇 장치(100)는 바닥 공간 내에서만(2-3 cm 내외 높이의 장애물을 포함) 이동할 수 있으며, 2-3 cm 를 초과하는 높이의 댁 내의 오브젝트(예를 들어, 가구, 가전 등) 상의 평면 공간으로는 이동이 불가능하다. 여기서, 2-3cm는 로봇 장치(100)가 일정 높이의 장애물을 승월하여 주행 가능하도록 구현될 때, 승월 주행 가능한 일정 높이의 일 예시이며 구체적인 숫자에 한정되지 않음은 물론이다.
본 개시의 다양한 실시 예에 따라 로봇 장치(100)는 바닥 공간에서 오브젝트 상의 평면 공간으로 이동을 요청하는 피드백(예를 들어, 음성 피드백 등)을 출력할 수 있다. 반대로, 로봇 장치(100)는 오브젝트 상의 평면 공간에서 바닥 공간으로 이동을 요청하는 피드백을 출력할 수도 있음은 물론이다.
일 예에 따라 로봇 장치(100)는 로봇 장치(100)가 바닥 공간에 위치하면, 제1 모드로 동작하며, 로봇 장치(100)가 오브젝트 상의 평면 공간에 위치하면, 제2 모드로 동작할 수 있다. 이에 대한 구체적인 설명은 후술하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 로봇 장치의 구성을 나타내는 블록도이다.
일 실시 예에 따른 로봇 장치(100)는 구동부(110), 적어도 하나의 센서(120), 메모리(130) 및 하나 이상의 프로세서(140)를 포함한다.
구동부(110)는 모터, 휠, 또는 브레이크 등을 포함할 수 있다. 일 예로, 로봇 장치(100)는 구동부(110)에 포함된 모터 및 휠을 이용하여 특정 공간 내를 스스로 이동할 수 있고, 브레이크를 이용하여 특정 공간 내에서 정지하거나, 이동 속도를 제어할 수 있다.
적어도 하나의 센서(120)는 관성 측정 장치(IMU(Inertial Measurement Unit)), 라이다(Lidar) 센서, 카메라(예를 들어, RGB-D), 추락 방지 센서(Cliff sensor), 압력 센서, 적외선 센서, 초음파 센서 등을 포함할 수 있다.
여기서, 관성 측정 장치(이하, IMU)는, 자이로스코프(Gyroscope) 센서, 가속도(Accelerometer) 센서 또는 지자기(Magnetometer or compass) 센서 중 적어도 하나를 포함할 수 있다. 여기서, 자이로스코프 센서는 각속도(rad/s)를 센싱하고, 가속도 센서는 가속도(m/s2)를 센싱하고, 지자기 센서는 자북을 기준으로 기울어진 정도를 센싱할 수 있다.
일 예로, IMU는 3축 자이로스코프 센서 및 3축 가속도 센서를 포함하며, IMU는 로봇 장치(100)의 자세(pose)를 나타내는 롤(roll), 피치(pitch) 및 요(yaw) 각각을 센싱 데이터로 획득할 수 있다. 여기서, 롤은 로봇 장치(100)의 좌우 기울어짐, 피치는 로봇 장치(100)의 전후(앞뒤) 기울어짐, 요는 로봇 장치(100)의 z축 방향 기울어짐을 나타낼 수 있다.
일 예로, 라이다 센서는 프로세서(140)의 제어에 따라 레이저 빔을 방출하여 주변 환경을 센싱할 수 있다.
예를 들어, 라이다 센서는 로봇 장치(100)에 인접한 오브젝트까지의 거리, 오브젝트가 위치하는 방향, 오브젝트의 특성(예를 들어, 오브젝트의 기하학적인(geometric) 특징, 오브젝트의 광학적인(photometric) 특징 등)을 센싱 데이터로 획득할 수 있다. 이어서, 프로세서(140)는 센싱 데이터에 기초하여 로봇 장치(100)가 위치하는 공간을 2D/3D 영상 정보(예를 들어, 맵(Map))로 획득할 수 있다.
예를 들어, 프로세서(140)는 로봇 장치(100)가 바닥 공간에 위치하면, 라이다 센서의 센싱 데이터에 기초하여 3D 영상 정보를 획득할 수 있다.
일 예로, 카메라는 프로세서(140)의 제어에 따라 로봇 장치(100)의 주변 환경을 촬영(capture)하여 주변 환경을 센싱할 수 있다. 예를 들어, 카메라는 인접한 오브젝트를 포함하는 이미지 데이터를 획득할 수 있다. 이어서, 프로세서(140)는 이미지 데이터를 분석하여 로봇 장치(100)에 인접한 오브젝트까지의 거리, 오브젝트가 위치하는 방향, 오브젝트의 특성(예를 들어, 기하학적인(geometric) 특징, 광학적인(photometric) 특징 등)을 센싱 데이터로 획득하고, 센싱 데이터에 기초하여 로봇 장치(100)가 위치하는 공간을 2D/3D 영상 정보(예를 들어, 맵(Map))로 획득할 수 있다.
여기서, 오브젝트는, 동적 오브젝트 및 정적 오브젝트를 포함할 수 있다. 일 예로, 동적 오브젝트는, 사람, 애완 동물(pet) 등을 포함하며, 정적 오브젝트는, 벽, 가구(예를 들어, 테이블, 의자, 침대, 옷장 등), 가전 등을 포함할 수 있다.
일 예로, 추락 방지 센서는, 로봇 장치(100)의 본체 중앙(예를 들어, 로봇 장치(100)의 무게 중심)을 기준으로 전면에 위치하며, 적외선을 로봇 장치(100)의 하측 공간으로 출력하고, 출력된 적외선이 하측 공간에 의해 반사되어 돌아오는 시간을 이용하여 로봇 장치(100)와 하측 공간 간의 높이를 계산할 수 있다. 일 예에 따라 프로세서(140)는 계산된 높이가 임계 값을 초과하면 로봇 장치(100)가 현재의 주행 방향으로 지속적으로 주행한다면 계단, 문턱, 가구 등 높은 곳에서 바닥 공간 등 낮은 곳으로 추락할 위험이 있는 것으로 판단할 수 있다.
한편, 상술한 예시에 한정되지 않으며, 로봇 장치(100)는 주변 환경을 센싱할 수 있는 다양한 형태의 센서를 포함할 수 있음은 물론이다.
일 예에 따른 메모리(130)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(130)는 데이터 저장 용도에 따라 로봇 장치(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 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따라 메모리(130)는 로봇 장치(100)를 제어하기 위한 적어도 하나의 인스트럭션(instruction) 을 포함하는 컴퓨터 프로그램을 저장할 수 있다.
본 개시의 일 실시 예에 따라 다양한 데이터가 프로세서(140)의 외부 메모리에 저장될 수도 있고, 데이터 중 일부는 프로세서(140)의 내부 메모리에 저장되고 나머지는 외부 메모리에 저장될 수도 있다.
특히, 메모리(130)는 프로세서(140)의 제어에 따라 로봇 장치(100)가 위치하는 기 설정된 공간(예를 들어, 댁 내)에 대응되는 맵(Map) 정보를 저장할 수 있다.
여기서, 맵 정보는 복수의 영역을 포함할 수 있다. 일 예로, 프로세서(140)는 맵 내에서 사용자 명령에 따라 정의된(또는, 설정된) 일 영역을 서브 공간으로 식별하며, 사용자 명령에 따라 맵 내 공간을 복수의 영역(즉, 서브 공간들)으로 구분할 수 있다. 예를 들어, 프로세서(140)는 맵 내에서 사용자 명령에 따라 시작점과 종료점이 정의되면, 시작점과 종료점을 기준으로 사각형의 일 영역을 서브 공간으로 식별할 수 있다. 다만, 사각형은 서브 공간 형태의 일 예시이며, 이에 한정되지 않는다. 예를 들어, 서브 공간은 다각형(또는, 원형)일 될 수도 있음은 물론이다.
또한, 프로세서(140)는 센싱 데이터에 기초하여 벽으로 둘러싸인 독립된 영역을 식별하여 맵 정보를 복수의 영역으로 구분할 수도 있다.
또한, 프로세서(140)는 센싱 데이터에 기초하여 일 영역을 타 영역과 구분하는 오브젝트를 식별하여 맵 정보를 복수의 영역으로 구분할 수도 있다. 여기서, 일 영역을 타 영역과 구분하는 오브젝트는 도어 프레임(Door Frame), 창문(Window), 울타리(Fence), 계단(Stair) 등을 포함할 수 있다.
또한, 맵 정보는 기 설정된 공간에 위치하는 오브젝트(예를 들어, 벽, 가구(예를 들어, 테이블, 의자, 침대, 옷장 등), 계단, 가전 등)의 위치 정보, 크기 정보 등을 포함할 수도 있음은 물론이다. 여기서, 오브젝트는 로봇 장치(100)의 주행을 방해하는 장애물, 주행이 불가능한 장애물(예를 들어, 로봇 장치(100)가 통과할 수 없는 장애물) 등을 포함할 수 있다.
본 개시의 일 실시 예에 따른 하나 이상의 프로세서(140)는 로봇 장치(100)의 전반적인 동작을 제어한다.
본 개시의 일 실시 예에 따라, 프로세서(140)는 디지털 신호를 처리하는 디지털 시그널 프로세서(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) 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(140)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(140)는 메모리에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다.
하나 이상의 프로세서(140)는 CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), MIC (Many Integrated Core), DSP (Digital Signal Processor), NPU (Neural Processing Unit), 하드웨어 가속기 또는 머신 러닝 가속기 중 하나 이상을 포함할 수 있다. 하나 이상의 프로세서(140)는 전자 장치의 다른 구성요소 중 하나 또는 임의의 조합을 제어할 수 있으며, 통신에 관한 동작 또는 데이터 처리를 수행할 수 있다. 하나 이상의 프로세서(140)는 메모리에 저장된 하나 이상의 프로그램 또는 명령어(instruction)을 실행할 수 있다. 예를 들어, 하나 이상의 프로세서(140)는 메모리에 저장된 하나 이상의 명령어를 실행함으로써, 본 개시의 일 실시 예에 따른 방법을 수행할 수 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 하나의 프로세서에 의해 수행될 수도 있고, 복수의 프로세서에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제 1 동작, 제 2 동작, 제 3 동작이 수행될 때, 제 1 동작, 제 2 동작, 및 제 3 동작 모두 제 1 프로세서에 의해 수행될 수도 있고, 제 1 동작 및 제 2 동작은 제 1 프로세서(예를 들어, 범용 프로세서)에 의해 수행되고 제 3 동작은 제 2 프로세서(예를 들어, 인공지능 전용 프로세서)에 의해 수행될 수도 있다.
하나 이상의 프로세서(140)는 하나의 코어를 포함하는 단일 코어 프로세서(single core processor)로 구현될 수도 있고, 복수의 코어(예를 들어, 동종 멀티 코어 또는 이종 멀티 코어)를 포함하는 하나 이상의 멀티 코어 프로세서(multicore processor)로 구현될 수도 있다. 하나 이상의 프로세서(140)가 멀티 코어 프로세서로 구현되는 경우, 멀티 코어 프로세서에 포함된 복수의 코어 각각은 캐시 메모리, 온 칩(On-chip) 메모리와 같은 프로세서 내부 메모리를 포함할 수 있으며, 복수의 코어에 의해 공유되는 공통 캐시가 멀티 코어 프로세서에 포함될 수 있다. 또한, 멀티 코어 프로세서에 포함된 복수의 코어 각각(또는 복수의 코어 중 일부)은 독립적으로 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있고, 복수의 코어 전체(또는 일부)가 연계되어 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 멀티 코어 프로세서에 포함된 복수의 코어 중 하나의 코어에 의해 수행될 수도 있고, 복수의 코어에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제 1 동작, 제 2 동작, 및 제 3 동작이 수행될 때, 제 1 동작, 제2 동작, 및 제3 동작 모두 멀티 코어 프로세서에 포함된 제 1 코어에 의해 수행될 수도 있고, 제 1 동작 및 제 2 동작은 멀티 코어 프로세서에 포함된 제 1 코어에 의해 수행되고 제 3 동작은 멀티 코어 프로세서에 포함된 제 2 코어에 의해 수행될 수도 있다.
본 개시의 실시 예들에서, 프로세서(140)는 하나 이상의 프로세서 및 기타 전자 부품들이 집적된 시스템 온 칩(SoC), 단일 코어 프로세서, 멀티 코어 프로세서, 또는 단일 코어 프로세서 또는 멀티 코어 프로세서에 포함된 코어를 의미할 수 있으며, 여기서 코어는 CPU, GPU, APU, MIC, DSP, NPU, 하드웨어 가속기 또는 기계 학습 가속기 등으로 구현될 수 있으나, 본 개시의 실시 예들이 이에 한정되는 것은 아니다.
특히, 일 예에 따른 하나 이상의 프로세서(140)는 적어도 하나의 센서(120)가 획득한 센싱 데이터에 기초하여 로봇 장치(100)의 위치를 식별할 수 있다.
예를 들어, 프로세서(140)는 라이다 센서가 획득한 센싱 데이터에 기초하여 맵 정보 내에서 로봇 장치(100)의 위치를 식별할 수 있다. 여기서, 위치는 프로세서(140)가 공간 내에서 SLAM(simultaneous Localization and Mapping) 동작을 수행하여 획득한 맵 정보내에서 로봇 장치(100)의 현재 위치를 의미할 수 있다.
본 개시에서는 설명의 편의를 위해 로봇 장치(100)의 위치를 두 가지 종류로 구분하여 설명하도록 한다. 일 예로, 위치는 제1 위치와 제2 위치로 구분될 수 있다. 여기서, 제1 위치는 로봇 장치(100)가 위치하는 공간의 바닥(Floor) 공간을 포함하며, 제2 위치는 공간 내에 위치하는 적어도 하나의 오브젝트 상의 평면 공간을 의미할 수 있다.
도 1을 참조하면, 프로세서(140)는 적어도 하나의 센서(120)가 획득한 센싱 데이터에 기초하여 로봇 장치(100)의 위치를 식별할 수 있다. 이어서, 프로세서(140)는 식별된 위치가 제1 위치 또는 제2 위치에 포함되는지 식별할 수 있다.
도 1에 도시된 바와 같이, 프로세서(140)는 식별된 위치가 제1 위치에 포함되면, 즉, 로봇 장치(100)의 현재 위치가 바닥 공간으로 식별되면, 로봇 장치(100)를 제1 위치에 대응되는 제1 모드로 동작시킬 수 있다.
여기서, 제1 모드는, 로봇 장치(100)가 바닥 공간을 자유롭게 주행 가능한 모드이다.
일 예에 따라 바닥 공간은 상대적으로 넓은 공간이며, 장애물을 회피하여 주행하기에 용이하므로 프로세서(140)는 로봇 장치(100)를 고속 주행시킬 수 있다.
또한, 제1 모드에서, 프로세서(140)는 댁 내에 위치하는 다양한 유형의 전자 장치와 상호 작용하도록 로봇 장치(100)를 제어할 수 있고, 댁 내에 위치하는 사용자를 인식(예를 들어, 원거리에 위치하는 사용자의 음성 인식 또는, 원거리에 위치하는 사용자의 안면 인식 등)할 수 있고, 댁 내에 위치하는 사용자(예를 들어, 로봇 장치(100)를 호출한 사용자)에 인접하도록 로봇 장치(100)를 이동시킬 수 있다. 예를 들어, 프로세서(140)는 사용자를 추종(Follow)하는 주행 즉, 사용자 추종 주행 기능을 수행할 수 있다.
또한, 로봇 장치(100)의 위치가 제1 위치에 포함되면, 댁 내에 위치하는 복수의 사용자에게 컨텐츠를 제공하기 위해 상대적으로 고 음량으로 컨텐츠를 출력할 수 있다.
또한, 로봇 장치(100)의 위치가 제1 위치에 포함되면 정찰(Patrol) 주행 기능을 수행할 수 있다. 예를 들어, 프로세서(140)는 오브젝트 상의 바닥 공간 내에서 일정한 패턴을 가지는 이동 경로 또는 임의의 이동 경로에 따라 일정한 속도로 로봇 장치(100)를 이동시키는 정찰 주행 기능을 수행할 수 있다. 본 개시의 일 실시 예에 따른 프로세서(140)는 적어도 하나의 센서(120)가 획득한 센싱 데이터에 기초하여 로봇 장치(100)의 위치 변경을 식별할 수 있다.
일 예로, 로봇 장치(100)에 구비된 구동부의 동작에 따라 로봇 장치(100)의 위치가 변경될 수도 있으며, 사용자가 임의로 로봇 장치(100)를 이동시켜 로봇 장치(100)의 위치가 변경될 수도 있음은 물론이다. 이에 대한 구체적인 설명은 도 3을 참조하여 하도록 한다.
도 3은 본 개시의 일 실시 예에 따른 로봇 장치에 대한 이벤트를 설명하기 위한 도면이다.
도 3을 참조하면, 본 개시의 일 실시 예에 따른 프로세서(140)는 적어도 하나의 센서가 획득한 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경되는 이벤트를 식별할 수 있다.
우선, 프로세서(140)는 사용자에 의해 로봇 장치(100)를 집어 올리는(Pick up) 제1 이벤트와 로봇 장치(100)를 내려놓는(Place) 제2 이벤트를 식별할 수 있다.
예를 들어, 프로세서(140)는 적어도 하나의 센서(120)로부터 수신된 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 급격히 변경되면(예를 들어, z 축 값이 로봇 장치(100)의 승월 주행 가능한 일정 높이를 초과하여 급격히 변경되거나 또는, x 축 값 또는 y 축의 값 중 적어도 하나가 로봇 장치(100)의 주행 가능 속도를 초과하여 급격히 변경되면), 사용자에 의해 로봇 장치(100)를 집어 올리는 제1 이벤트가 발생한 것으로 식별할 수 있다.
예를 들어, 추락 방지 센서는 로봇 장치(100)의 하부에 위치하며 적외선을 출력할 수 있다. 추락 방지 센서는 적외선이 하측 방향(예를 들어, 바닥 공간 또는 평면 공간 등)에 반사된 후 수신되면, 적외선의 출력부터 수신까지 소요된 시간에 기초하여 로봇 장치(100)와 로봇 장치(100)의 하측 공간 간의 거리를 감지할 수 있다. 일 예에 따라, 프로세서(140)는 추락 방지 센서의 센싱 데이터(예를 들어, 감지된 거리)에 기초하여, 거리가 급격히 변경되면(예를 들어, 로봇 장치(100)의 구동부(110)가 승월 주행 가능한 일정 높이 범위를 초과하여 변경되면) 사용자에 의해 로봇 장치(100)를 집어 올리는 제1 이벤트가 발생한 것으로 식별할 수 있다.
또한, 프로세서(140)는 적어도 하나의 센서(120)가 압력 센서로 구현되고, 압력 센서로부터 임계 값 이상의 압력이 감지되면, 사용자에 의해 로봇 장치(100)를 집어 올리는(Pick up) 제1 이벤트가 발생한 것으로 식별할 수 있다.
또한, 프로세서(140)는 적어도 하나의 센서(120)가 바퀴 들림 센서로 구현되고, 바퀴 들림 센서의 센싱 데이터에 기초하여 로봇 장치(100)의 바퀴에 가해지는 압력(또는, 바퀴에 가중되는 무게)이 로봇 장치(100)의 본체 무게에 대응되지 않으면(또는, 바퀴에 압력이 가해지지 않으면), 사용자에 의해 로봇 장치(100)를 집어 올리는(Pick up) 제1 이벤트가 발생한 것으로 식별할 수 있다.
이어서, 프로세서(140)는 적어도 하나의 센서(120)로부터 수신된 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 일정하게 유지되거나, 임계 범위 내에서 변경되면(예를 들어, z 축 값이 로봇 장치(100)의 승월 주행 가능한 일정 높이 내에서 변경되거나 또는, x 축 값 또는 y 축의 값 중 적어도 하나가 로봇 장치(100)의 주행 가능 속도 내에서 변경되면), 사용자에 의해 로봇 장치(100)를 내려놓는(Place) 제2 이벤트가 발생한 것으로 식별할 수 있다.
예를 들어, 프로세서(140)는 추락 방지 센서의 센싱 데이터(예를 들어, 감지된 거리)에 기초하여, 거리가 급격히 변경된 후에(즉, 제1 이벤트가 발생한 후에) 거리가 일정하게 유지되면, 로봇 장치(100)를 내려놓는 제2 이벤트가 발생한 것으로 식별할 수 있다
또한, 프로세서(140)는 적어도 하나의 센서(120)가 압력 센서로 구현되고, 압력 센서로부터 임계 값 이상의 압력이 감지된 후에(즉, 제1 이벤트가 발생한 후에) 임계 값 이하의 압력이 감지되면(또는, 압력이 감지되지 않으면), 로봇 장치(100)를 내려놓는(Place) 제2 이벤트가 발생한 것으로 식별할 수 있다.
또한, 프로세서(140)는 바퀴 들림 센서의 센싱 데이터에 기초하여 로봇 장치(100)의 바퀴에 가해지는 압력이 임계 값(예를 들어, 로봇 장치(100)의 본체 무게에 대응되는 값) 미만으로 감소한 후에(즉, 제1 이벤트가 발생한 후에) 바퀴에 가해지는 압력이 로봇 장치(100)의 본체 무게에 대응되면, 로봇 장치(100)를 내려놓는(Place) 제2 이벤트가 발생한 것으로 식별할 수 있다.
또한, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터 외에 로봇 장치(100)에 구비된 구성 요소들의 동작에 기초하여 제1 이벤트 및 제2 이벤트의 발생 여부를 식별할 수 있다.
예를 들어, 프로세서(140)는 구동부의 회전력(Motor Torque)의 변화, 구동부에서 발생하는 마찰력이 변화 등에 기초하여 제1 이벤트 및 제2 이벤트의 발생 여부를 식별할 수 있다.
예를 들어, 사용자(10)에 의해 로봇 장치(100)가 공중에 위치하면, 구동부에 발생하는 마찰력이 0에 근접하고(즉, 제1 이벤트가 발생하고), 구동부에 발생하는 마찰력이 증가하면 로봇 장치(100)를 내려놓는(Place) 제2 이벤트가 발생한 것으로 식별할 수 있다.
이어서, 프로세서(140)는 제1 이벤트 및 제2 이벤트가 순차적으로 발생한 후, 로봇 장치(100)의 현 위치를 다시 식별할 수 있다. 예를 들어, 사용자가 임의로 로봇 장치(100)를 집어 올리고(제1 이벤트), 내려 놓았다면(제2 이벤트), 제1 이벤트가 발생하기 전 로봇 장치(100)의 위치와 제2 이벤트가 발생한 후 로봇 장치(100)의 위치 간에는 큰 차이가 있으므로, 로봇 장치(100)의 현 위치를 다시 식별할 수 있다.
예를 들어, 프로세서(140)는 IMU의 센싱 데이터에 포함된 가속도 센서의 센싱 데이터에 따른 로봇 장치(100)의 z축 변위를 식별하며, 식별된 z축 변위가 급격히 변경된 후에 일정하게 유지되면(제1 이벤트 및 제2 이벤트가 순차적으로 발생), 로봇 장치(100)의 위치가 변경되었을 수 있으므로, 프로세서(140)는 SLAM(Simultaneous Localization and Mapping) 기능을 수행하여 로봇 장치(100)의 변경된 위치를 재식별할 수 있다. 프로세서(140)는 SLAM(Simultaneous Localization and Mapping) 기능을 수행하여 로봇 장치(100)의 위치를 재식별하기 위한 센싱 데이터를 획득하고, 획득된 새로운 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경되었는지 식별할 수 있다.
일 예로, 프로세서(140)는 제2 이벤트가 발생한 후 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 로봇 장치(100)의 위치를 식별할 수 있다. 예를 들어, 도 3에 도시된 바와 같이 제1 이벤트가 발생하기 전 로봇 장치(100)의 위치는 바닥 공간(이하, 제1 위치)이고, 제2 이벤트가 발생한 후 로봇 장치(100)의 위치는 오브젝트 상의 평면 공간(이하, 제2 위치)일 수 있다.
이하에서는, 다양한 실시 예에 따라 제1 이벤트 및 제2 이벤트가 순차적으로 발생한 후 로봇 장치(100)의 위치가 제1 위치에 제2 위치로 변경되었음을 식별하는 방법, 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경됨에 따른 로봇 장치(100)의 모드 변경을 설명하도록 한다.
한편, 도 3에서는 설명의 편의를 위해 사용자가 임의로 로봇 장치(100)를 집어 올리는 제1 이벤트를 수행하고, 이어서, 로봇 장치(100)를 내려놓는 제2 이벤트를 수행하여 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경되는 경우를 상정하였으나, 이에 한정되지 않음은 물론이다.
예를 들어, 로봇 장치(100)의 구동부가 일정 높이의 장애물을 승월 주행 가능하도록 구현되면, 프로세서(140)는 구동부를 동작시켜 일정 높이의 장애물을 승월하여 로봇 장치(100)의 위치를 제1 위치에서 제2 위치로 자체적으로 변경시킬 수 있다. 예를 들어, 로봇 장치(100)의 구동부가 2-3 cm 를 초과하는 높이의 장애물(예를 들어, 테이블 상의 평면 공간)을 넘을 수 있도록 구현되면, 프로세서(140)는 구동부를 동작시켜 로봇 장치(100)의 위치를 제1 위치에서 제2 위치로 자체적으로 변경시킬 수 있음은 물론이다. 여기서, 2-3cm는 일정 높이의 일 예시이며 구체적인 숫자에 한정되지 않음은 물론이다.
한편, 도 3에 도시된 바와 같이 프로세서(140)는 제1 이벤트가 발생하면, 제1 이벤트의 발생을 나타내는 피드백을 출력할 수 있다.
도 3을 참조하면, 프로세서(140)는 사용자에 의해 로봇 장치(100)를 집어 올리는(pick up) 제1 이벤트가 발생하면, 제1 이벤트의 발생을 나타내는 피드백(예를 들어, '저를 어디로 옮기는 거에요?' 또는 '저를 내려주세요' 등 음성 피드백 또는, 진동 피드백 등)을 출력할 수 있다.
또한, 프로세서(140)는 제1 이벤트가 발생하면 구동부의 동작을 중단시킬 수 있다.
이하에서는, 다양한 실시 예에 따라 제1 이벤트 및 제2 이벤트가 순차적으로 발생한 후 프로세서(140)가 로봇 장치(100)의 위치가 제1 위치에 제2 위치로 변경되었음을 식별하는 방법을 설명하도록 한다.
도 4는 본 개시의 일 실시 예에 따른 바닥 공간에서 평면 공간으로 이동에 대응되는 센싱 데이터를 설명하기 위한 도면이다.
도 4를 참조하면, 프로세서(140)는 적어도 하나의 센서(120)가 획득한 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경되었는지 여부를 식별할 수 있다. 예를 들어, 적어도 하나의 센서(120)는 IMU를 포함할 수 있다.
예를 들어, 프로세서(140)는 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 IMU의 센싱 데이터에 포함된 로봇 장치(100)의 z축 변위가 임계 범위(예를 들어, 로봇 장치(100)의 구동부(110)가 승월 주행 가능한 일정 높이 범위)를 초과하여 변경되고, 특히, z축 변위가 증가하였다면, 프로세서(140)는 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경된 것으로 식별할 수 있다.
또한, 적어도 하나의 센서(120)는 추락 방지 센서(Cliff sensor), 바퀴 들림 센서 등을 포함할 수 있다.
일 예에 따른 추락 방지 센서는 로봇 장치(100)의 본체 하부에 위치하며, 아래 방향(즉, z축의 (-) 방향)으로 신호(예를 들어, 근적외선, 초음파, 레이저 등)를 출력할 수 있다. 일 예에 따른 추락 방지 센서는, 출력한 신호가 하측 공간(예를 들어, 바닥 공간 또는 평면 공간 등)에 반사된 후 수신되면, 신호의 출력부터 수신까지 소요된 시간을 식별하고, 로봇 장치(100)와 로봇 장치(100)의 하측 공간(예를 들어, 바닥 공간 또는 평면 공간 등) 간의 거리를 감지할 수 있다. 한편, 프로세서(140)는 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 감지된 거리가 증가하였다면, 프로세서(140)는 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경된 것으로 식별할 수 있다.
또한, 적어도 하나의 센서(120)는 카메라(예를 들어, RGB-D)를 포함할 수 있다. 프로세서(140)는 카메라의 센싱 데이터(또는, 이미지 데이터)에 기초하여 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 로봇 장치(100)로부터 천장(Ceiling)까지의 거리가 감소하면, 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경된 것으로 식별할 수 있다.
예를 들어, 프로세서(140)는 카메라는 ToF 카메라이며, 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 ToF 카메라가 출력한 신호(예를 들어, 근적외선, 초음파, 레이저 등)가 천장에 도달한 후 돌아오는데 걸린 시간이 감소하면, 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경된 것으로 식별할 수 있다.
다만, 상술한 예시에 한정되지 않으며, 프로세서(140)는 복수의 센서 각각의 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경되었는지 여부를 식별할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 오브젝트 상의 평면 공간을 설명하기 위한 도면이다.
도 5를 참조하면, 맵 정보는 기 설정된 공간에 위치하는 오브젝트(예를 들어, 테이블, 의자, 침대, 식탁 등), 가전 등) 상의 평면 공간에 대한 위치 정보, 크기 정보 등을 포함할 수도 있음은 물론이다.
본 개시의 일 실시 예에 따라 프로세서(140)는 적어도 하나의 센서(120)가 획득한 센싱 데이터에 기초하여 로봇 장치(100)의 위치를 식별할 수 있다. 이어서, 프로세서(140)는 식별된 위치가 제1 위치 또는 제2 위치에 포함되는지 식별할 수 있다.
일 예로 도 4에서 설명한 바와 같이, 제1 이벤트 및 제2 이벤트가 순차적으로 발생한 후에 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 프로세서(140)는 로봇 장치(100)가 바닥 공간이 아닌, 복수의 오브젝트 중 어느 하나의 오브젝트 상의 평면 공간에 위치하는 것으로 식별할 수 있다. 예를 들어, 프로세서(140)는 댁 내에 위치하는 복수의 오브젝트 중 어느 오브젝트 상의 평면 공간에 위치하는지 식별할 필요는 없으며, 복수의 오브젝트 중 어느 하나의 오브젝트 상의 평면 공간에 위치하는 것으로 식별할 수 있다.
다만, 이는 일 예시이며, 프로세서(140)는 적어도 하나의 센서(120)가 획득한 센싱 데이터에 기초하여 댁 내에 위치하는 복수의 오브젝트 중 어느 오브젝트 상의 평면 공간에 위치하는지 식별할 수도 있다. 예를 들어, 로봇 장치(100)는 공간에 대응되는 3D 맵 정보를 포함하며, 프로세서(140)는 IMU 센서가 감지한 z축 변위, 추락 방지 센서가 감지한 바닥 공간까지의 거리, 또는 카메라(예를 들어, ToF)가 감지한 천장까지의 거리 등에 기초하여 3D 맵 정보에서 특정 높이에 대응되는 오브젝트 상의 평면 공간을 식별할 수 있다.
여기서, 3D 맵 정보는 공간을 3차원으로 표현하여, 공간에 포함된 복수의 서브 공간, 복수의 오브젝트 등을 3차원으로 구현한 맵 정보를 의미할 수 있다. 특히, 3D 맵 정보는 2D 맵 정보와는 달리, 공간에 포함된 오브젝트의 3차원 형태(즉, 오브젝트의 너비, 오브젝트의 높이 등)에서 높이 별 오브젝트 정보를 포함할 수 있다. 예를 들어, 3D 맵 정보는 특정 높이에 대응되는 오브젝트 상의 평면 공간의 위치 정보, 크기 정보, 형태 정보 등을 포함할 수 있다.
이어서, 하나 이상의 프로세서(140)는 로봇 장치(100)를 제2 위치에 대응되는 제2 모드로 동작시킬 수 있다.
여기서, 제2 모드는, 로봇 장치(100)가 오브젝트 상의 평면 공간 내에서 주행 가능한 모드이다.
일 예에 따라 오브젝트 상의 평면 공간은 바닥(Floor) 공간 대비 상대적으로 좁은 공간이며, 장애물을 회피하여 주행하기에 용이하지 않으므로 프로세서(140)는 로봇 장치(100)를 제1 모드 대비 상대적으로 저속 주행시킬 수 있고, 로봇 장치(100)를 주행 정지시킬 수도 있다.
또한, 제2 모드에서, 프로세서(140)는 오브젝트 상의 평면 공간 내에 위치하는 전자 장치와 상호 작용하도록 로봇 장치(100)를 제어할 수 있고, 오브젝트에 인접하게 위치하는 사용자를 인식(예를 들어, 근거리에 위치하는 사용자의 음성 인식 또는, 근거리에 위치하는 사용자의 안면 인식 등)할 수 있고, 댁 내에 위치하는 복수의 사용자 중에 오브젝트에 인접하게 위치하는 사용자에 인접하도록 로봇 장치(100)를 이동시킬 수 있다.
또한, 로봇 장치(100)의 위치가 제2 위치에 포함되면, 댁 내에 위치하는 복수의 사용자 중 오브젝트에 인접하게 위치하는 사용자에게 컨텐츠를 제공하기 위해 상대적으로 저 음량으로 컨텐츠를 출력할 수 있다.
이에 대한 구체적인 설명은 도 6 내지 도 8을 참조하여 하도록 한다.
도 6은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 모드를 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 프로세서(140)는 로봇 장치(100)가 오브젝트 상의 평면 공간에 위치하면, 맵 정보(예를 들어, 3D 맵 정보)에 포함된 오브젝트 상의 평면 공간에 대한 정보에 기초하여 로봇 장치(100)가 오브젝트 상의 평면 공간을 이동 가능한지 여부를 식별할 수 있다.
여기서, 맵 정보에 포함된 평면 공간에 대한 정보는, 로봇 장치(100)가 위치하는 오브젝트 상의 평면 공간의 위치 정보, 크기 정보, 형태 정보를 포함할 수 있다.
한편, 프로세서(140)는 맵 정보에서 로봇 장치(100)가 위치하는 오브젝트 상의 평면 공간에 대한 정보가 식별되지 않으면, SLAM 기능을 수행하도록 적어도 하나의 센서(120)를 제어할 수 있다. 예를 들어, 프로세서(140)는 적어도 하나의 센서(120)가 LiDAR 센서로 구현되면, LiDAR 센서의 센싱 데이터와 다양한 매핑 알고리즘을 이용하여 로봇 장치(100)의 주변 환경 정보, 주변 오브젝트 관련 정보를 획득하고, 이를 이용하여 오브젝트 상의 평면 공간에 대한 정보를 생성할 수 있다.
이어서, 프로세서(140)는 평면 공간에 대한 정보에 기초하여 메모리(130)에 저장된 맵 정보를 업데이트할 수 있다. 예를 들어, 로봇 장치(100)가 위치하는 오브젝트 상의 평면 공간에 대한 정보에 기초하여 맵 정보에서 평면 공간의 위치, 크기, 형태를 추가할 수 있다. 예를 들어, 로봇 장치(100)는 로봇 장치(100)의 현 위치에 대응되는 높이에 적어도 하나의 센서(120)가 감지한 위치, 크기, 형태에 따른 평면 공간이 위치함을 3D 맵 정보 상에 표시할 수 있다.
이어서, 프로세서(140)는 평면 공간 내에서 로봇 장치(100)의 이동이 가능하면, 예를 들어, 로봇 장치(100)가 위치하는 오브젝트 상의 평면 공간의 크기가 임계 크기 이상이면, 제2 모드에 포함된 복수의 기능 중 로봇 장치의 이동이 요구되는 적어도 하나의 기능을 수행할 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 오브젝트 상의 평면 공간은, 바닥 공간 대비 상대적으로 좁은 공간이므로, 프로세서(140)는 로봇 장치(100)를 제2 모드로 동작시킬 수 있다. 일 예로, 제2 모드로 동작하는 로봇 장치(100)는, 제1 모드로 동작하는 로봇 장치(100)보다 상대적으로 저속으로 주행할 수 있다.
도 7은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 모드를 설명하기 위한 도면이다.
여기서, 제2 모드에 포함된 복수의 기능 중 로봇 장치(100)의 이동이 요구되는 기능은, 도 6에 도시된 바와 같이 저속 주행 기능, 도 7에 도시된 바와 같이 사용자와 인터렉션(interaction)하는 기능 등을 포함할 수 있다.
도 7을 참조하면, 프로세서(140)는 댁 내에 위치하는 사용자를 인식(예를 들어, 사용자의 음성 인식, 사용자의 안면 인식 등)하고, 로봇 장치(100)의 전면을 인식된 사용자가 위치하는 방향으로 회전시킨 후에 사용자와 대화를 수행하는 기능을 수행할 수 있다. 여기서, 사용자와 대화를 수행하는 기능, 사용자와 인터렉션하는 기능은, 가상 비서(Virtual assistant) 기능, 음성 인식 비서 기능 등을 포함할 수 있다. 가상 비서 기능은, 신경망 모델을 이용하여 사용자 명령(예를 들어, 음성 명령)에 대응되는 다양한 작업(예를 들어, 일정 관리, 주변 기기 제어(턴-온, 턴-오프 등))을 수행하는 기능을 포함한다. 도 8은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 모드를 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 프로세서(140)는 평면 공간 내에서 로봇 장치(100)의 이동이 불가능하면, 제2 모드에 포함된 복수의 기능 중 로봇 장치(100)의 이동이 요구되지 않는 적어도 하나의 기능을 수행할 수 있다.
여기서, 제2 모드에 포함된 복수의 기능 중 로봇 장치(100)의 이동이 요구되지 않는 기능은, AI Speaker 기능, 프로젝터 기능, 음악 재생 기능, 현재 시각 디스플레이 기능(또는, Alarm 기능) 등을 포함할 수 있다.
여기서, AI Speaker 기능은 도 6에 도시된 실시 예처럼 사용자와 상호 작용하는 AI 비서 기능, Virtual assistant 기능을 포함할 수 있다. 프로젝터 기능은, 로봇 장치(100)에 구비된 프로젝터를 제어하여 컨텐츠를 출력하는 기능을 포함할 수 있다. 음악 재생 기능은, 로봇 장치(100)에 구비된 스피커를 제어하여 음악 등 다양한 형태의 컨텐츠를 출력하는 기능을 포함할 수 있다. 현재 시각 디스플레이 기능은 로봇 장치(100)에 구비된 프로젝터 또는 디스플레이 등을 이용하여 현재 시각을 디스플레이하는 기능을 포함할 수 있다. 한편, 상술한 기능은 일 예시이며 이에 한정되지 않는다.
도 8에서는 설명의 편의를 위해, 평면 공간 내에서 로봇 장치(100)의 이동이 불가능한 경우에 한하여(예를 들어, 평면 공간의 크기가 임계 크기 미만), 제2 모드에 포함된 복수의 기능 중 로봇 장치(100)의 이동이 요구되지 않는 기능을 수행하는 경우를 상정하였으나, 이는 일 예시이며 이에 한정되지 않음은 물론이다.
예를 들어, 도 6 및 도 7에 도시된 바와 같이, 평면 공간 내에서 로봇 장치(100)의 이동이 가능한 경우에도, 프로세서(140)는 제2 모드에 포함된 복수의 기능 중 로봇 장치(100)의 이동이 요구되지 않는 기능을 수행할 수 있음은 물론이다. 또한, 프로세서(140)는 제2 모드에 포함된 복수의 기능 중 적어도 두 개 이상의 기능을 동시에 수행할 수도 있고, 어느 하나의 기능만을 수행할 수도 있음은 물론이다.
도 9는 본 개시의 일 실시 예에 따른 평면 공간에서 바닥 공간으로 이동을 요청하는 로봇 장치를 설명하기 위한 도면이다.
상술한 예시에서는 바닥 공간에서 오브젝트 상의 평면 공간으로 이동을 요청하는 로봇 장치(100) 또는, 사용자에 의해 바닥 공간에서 오브젝트 상의 평면 공간으로 위치가 변경된 로봇 장치(100)를 상정하여 설명하였으나, 도 9 및 도 10에서는 오브젝트 상의 평면 공간에서 바닥 공간으로 이동을 요청하는 로봇 장치(100) 또는, 사용자에 의해 오브젝트 상의 평면 공간에서 바닥 공간으로 위치가 변경된 로봇 장치(100)를 상정하여 설명하도록 한다.
본 개시의 일 실시 예에 따른 적어도 하나의 센서는 음성 인식 센서(예를 들어, 마이크)를 더 포함할 수 있다.
일 예로, 프로세서(140)는 음성 인식 센서를 통해 수신된 사용자 음성에 기초하여 음성 인식을 수행할 수 있다.
일 실시 예에 따른 프로세서(140)는 음성 인식의 결과에 따라 로봇 장치(100)가 사용자 음성을 발화한 사용자(10)에 인접하게 이동이 요구되면, 프로세서(140)는 사용자 음성에 기초하여 사용자 음성을 발화한 사용자(10)의 위치를 식별할 수 있다.
일 예로, 로봇 장치(100)가 오브젝트 상의 평면 공간에 위치하며, 사용자 음성을 발화한 사용자(10)가 오브젝트에 인접하게 위치하면, 프로세서(140)는 음성 인식 결과에 대응되는 기능을 수행할 수 있다.
예를 들어, 음성 인식 결과에 대응되는 기능이 사용자(10) 주변에서 음악 재생 기능이면, 프로세서(140)는 오브젝트 상의 평면 공간에서 음악 재생 기능을 수행할 수 있다. 또는, 프로세서(140)는 오브젝트 상의 평면 공간 내에서 사용자(10)에 인접하게 이동한 후에 음악 재생 기능을 수행할 수 있다.
일 예로, 로봇 장치(100)가 오브젝트 상의 평면 공간에 위치하며, 사용자 음성을 발화한 사용자(10)가 오브젝트에 인접하게 위치하지 않으면, 프로세서(140)는 사용자(10)에 인접하게 이동하기 위해 로봇 장치(100)의 위치를 오브젝트 상의 평면 공간에서 바닥 공간으로 변경을 요청하는 피드백을 출력할 수 있다.
예를 들어, 사용자의 음성이 로봇 장치(100)를 호출하는 음성(예를 들어, '나한테 가까이 와줘')이면, 프로세서(140)는 음성 인식 결과에 따라 맵 정보에 기초하여 로봇 장치(100)의 현재 위치(예를 들어, 오브젝트 상의 평면 공간)에서 사용자(10)에 인접하게 이동 가능한지 식별할 수 있다.
이어서, 프로세서(140)는 맵 정보에 기초하여 로봇 장치(100)의 현재 위치(예를 들어, 오브젝트 상의 평면 공간)에서 사용자(10)의 현재 위치로 이동이 불가능하면, 로봇 장치(100)의 위치를 제2 위치에서 제1 위치로 변경시키는(오브젝트 상의 평면 공간에서 바닥 공간으로 변경시키는) 이벤트의 발생을 요청하는 피드백을 출력할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 바닥 공간에 대응되는 모드를 설명하기 위한 도면이다.
도 10에 도시한 실시 예는 제1 이벤트와 제2 이벤트가 순차적으로 발생하나, 도 3에 도시된 실시 예와 달리, 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경되는 경우를 설명하기 위한 실시 예이다.
도 10에서는 설명의 편의를 위해 사용자가 임의로 로봇 장치(100)를 집어 올린 후 로봇 장치(100)를 제1 위치에 내려놓는 이벤트를 수행하여 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경되는 경우를 상정하였으나, 이에 한정되지 않음은 물론이다.
예를 들어, 로봇 장치(100)의 추락 시에도 로봇 장치(100)가 파손되거나, 고장나지 않도록 구현되면, 프로세서(140)는 추락 방지 센서(cliff sensor)를 비활성화시킨 후에 구동부를 동작시켜 로봇 장치(100)의 위치를 제2 위치에서 제1 위치로 자체적으로 변경시킬 수 있음은 물론이다.
이어서, 프로세서(140)는 피드백을 출력한 후, 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경되면, 맵 정보에 기초하여 사용자(10)에 인접하게 이동하기 위한 이동 경로를 식별할 수 있다.
한편, 상술한 예시 외에도, 프로세서(140)는 사용자 음성 또는 사용자 명령에 대응되는 기능을 식별하고, 식별된 기능이 제1 모드에 포함된 복수의 기능 중 어느 하나에 대응되면, 프로세서(140)는 로봇 장치(100)의 위치가 제1 위치에 대응되는지 식별할 수 있다.
이어서, 프로세서(140)는 로봇 장치(100)의 위치가 제1 위치에 대응되면, 로봇 장치(100)를 제1 모드로 동작시켜 사용자 음성 또는 사용자 명령에 대응되는 기능을 수행할 수 있다.
또한, 프로세서(140)는 로봇 장치(100)의 위치가 제2 위치에 대응되면, 로봇 장치(100)의 위치를 제2 위치에서 제1 위치로 변경시키는(오브젝트 상의 평면 공간에서 바닥 공간으로 변경시키는) 이벤트의 발생을 요청하는 피드백을 출력할 수 있다. 이어서, 프로세서(140)는 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경되면, 로봇 장치(100)를 제1 모드로 동작시켜 사용자 음성 또는 사용자 명령에 대응되는 기능을 수행할 수 있다.
다른 예로, 프로세서(140)는 사용자 음성 또는 사용자 명령에 대응되는 기능을 식별하고, 식별된 기능이 제2 모드에 포함된 복수의 기능 중 어느 하나에 대응되면, 프로세서(140)는 로봇 장치(100)의 위치가 제2 위치에 대응되는지 식별할 수 있다.
이어서, 프로세서(140)는 로봇 장치(100)의 위치가 제2 위치에 대응되면, 로봇 장치(100)를 제2 모드로 동작시켜 사용자 음성 또는 사용자 명령에 대응되는 기능을 수행할 수 있다.
또한, 프로세서(140)는 로봇 장치(100)의 위치가 제1 위치에 대응되면, 로봇 장치(100)의 위치를 제1 위치에서 제2 위치로 변경시키는(바닥 공간에서 오브젝트 상의 평면 공간으로 변경시키는) 이벤트의 발생을 요청하는 피드백을 출력할 수 있다. 이어서, 프로세서(140)는 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경되면, 로봇 장치(100)를 제2 모드로 동작시켜 사용자 음성 또는 사용자 명령에 대응되는 기능을 수행할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 평면 공간에 대응되는 맵 정보를 설명하기 위한 도면이다.
도 11을 참조하면, 프로세서(140)는 맵 정보에 기초하여 로봇 장치(100)의 현재 위치가 오브젝트 상의 평면 공간에 대응되는지 식별할 수 있다.
예를 들어, 프로세서(140)는 센싱 데이터에 기초하여 로봇 장치(100)의 현재 위치를 식별할 수 있다. 예를 들어, 프로세서(140)는 로봇 장치(100)의 x축, y축 각각의 변위에 대응되는 맵 정보 상의 현재 위치로 식별할 수 있다.
한편, 프로세서(140)는 2D 맵 정보에 기초하여 식별된 현재 위치에 오브젝트가 위치하는 것으로 식별되면, 로봇 장치(100)가 바닥 공간이 아닌, 오브젝트 상의 평면 공간에 위치하는 것으로 식별할 수 있다.
이어서, 프로세서(140)는 로봇 장치(100)를 제2 모드로 동작시킬 수 있다.
이하에서는, 다양한 실시 예에 따라 제1 이벤트 및 제2 이벤트가 순차적으로 발생한 후 프로세서(140)가 로봇 장치(100)의 위치가 제2 위치에 제1 위치로 변경되었음을 식별하는 방법을 설명하도록 한다.
도 12는 본 개시의 일 실시 예에 따른 바닥 공간에서 평면 공간으로 이동에 대응되는 센싱 데이터를 설명하기 위한 도면이다.
도 12를 참조하면, 프로세서(140)는 적어도 하나의 센서(120)가 획득한 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경되었는지 여부를 식별할 수 있다. 예를 들어, 적어도 하나의 센서(120)는 IMU를 포함할 수 있다.
예를 들어, 프로세서(140)는 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 IMU의 센싱 데이터에 포함된 로봇 장치(100)의 z축 변위가 임계 범위(예를 들어, 로봇 장치(100)의 구동부(110)가 승월 주행 가능한 일정 높이 범위)를 초과하여 변경되고, 특히, z축 변위가 감소하였다면, 프로세서(140)는 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경된 것으로 식별할 수 있다.
또한, 적어도 하나의 센서(120)는 추락 방지 센서(Cliff sensor), 바퀴 들림 센서 등을 포함할 수 있다.
일 예에 따른 추락 방지 센서는 로봇 장치(100)의 본체 하부에 위치하며, 아래 방향(즉, z축의 (-) 방향)으로 신호(예를 들어, 근적외선, 초음파, 레이저 등)를 출력할 수 있다. 일 예에 따른 추락 방지 센서는, 출력한 신호가 하측 공간(예를 들어, 바닥 공간 또는 평면 공간 등)에 반사된 후 수신되면, 신호의 출력부터 수신까지 소요된 시간을 식별하고, 로봇 장치(100)와 로봇 장치(100)의 하측 공간(예를 들어, 바닥 공간 또는 평면 공간 등) 간의 거리를 감지할 수 있다. 한편, 프로세서(140)는 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 감지된 거리가 감소하였다면, 프로세서(140)는 로봇 장치(100)의 위치가 제1 위치에서 제2 위치로 변경된 것으로 식별할 수 있다.
또한, 적어도 하나의 센서(120)는 카메라(예를 들어, RGB-D)를 포함할 수 있다. 프로세서(140)는 카메라의 센싱 데이터(또는, 이미지 데이터)에 기초하여 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 로봇 장치(100)로부터 천장(Ceiling)까지의 거리가 증가하면, 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경된 것으로 식별할 수 있다.
예를 들어, 프로세서(140)는 카메라는 ToF 카메라이며, 제1 이벤트와 제2 이벤트가 순차적으로 발생하는 동안에 ToF 카메라가 출력한 신호(예를 들어, 근적외선, 초음파, 레이저 등)가 천장에 도달한 후 돌아오는데 걸린 시간이 증가하면, 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경된 것으로 식별할 수 있다.
다만, 상술한 예시에 한정되지 않으며, 프로세서(140)는 복수의 센서 각각의 센싱 데이터에 기초하여 로봇 장치(100)의 위치가 제2 위치에서 제1 위치로 변경되었는지 여부를 식별할 수 있다.
도 13은 본 개시의 일 실시 예에 따른 바닥 공간에 대응되는 맵 정보를 설명하기 위한 도면이다.
예를 들어, 프로세서(140)는 센싱 데이터에 기초하여 로봇 장치(100)의 현재 위치를 식별할 수 있다. 예를 들어, 프로세서(140)는 로봇 치의 x축, y축 각각의 변위에 대응되는 맵 정보 상의 현재 위치로 식별할 수 있다.
한편, 프로세서(140)는 맵 정보에 기초하여 식별된 현재 위치에 오브젝트가 위치하지 않는 것으로 식별되면, 로봇 장치(100)가 오브젝트 상의 평면 공간이 아닌 바닥 공간에 위치하는 것으로 식별할 수 있다.
이어서, 프로세서(140)는 로봇 장치(100)를 제1 모드로 동작시킬 수 있다.
도 14는 본 개시의 일 실시 예에 따른 제1 모드의 기능을 설명하기 위한 도면이다.
도 14를 참조하면, 프로세서(140)는 로봇 장치(100)의 위치를 식별하며, 식별된 로봇 장치(100)의 위치가 제1 위치에 포함되면, 즉, 로봇 장치(100)의 현재 위치가 바닥 공간으로 식별되면, 로봇 장치(100)를 제1 위치에 대응되는 제1 모드로 동작시킬 수 있다.
일 예에 따라, 제1 모드는 복수의 기능을 포함할 수 있다. 일 예로, 제1 모드에 따라, 프로세서(140)는 제1 이벤트 및 제2 이벤트를 감지하며, 제1 이벤트와 제2 이벤트가 순차적으로 발생하면 로봇 장치(100)의 위치를 재식별할 수 있다. 이어서, 프로세서(140)는 재식별 결과에 따라 로봇 장치의 위치가 제1 위치로 변경되면, 제1 모드로 변경할 수 있다.
일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 제1 이벤트 및 제2 이벤트가 순차적으로 발생하는지 감지 가능하며, 여기서, 적어도 하나의 센서(120)는 Gyro Sensor, LiDAR Sensor, Cliff Sensor, Camera, IMU, Tactile sensor, Pressure sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
한편, 제1 모드에 포함된 복수의 기능 중 일 기능에 따라 프로세서(140)는 제1 위치에 대응되는 주행 모드로 동작할 수 있다. 일 예에 따라 제1 위치에 대응되는 주행 모드는 고속 주행 모드, 충격 감지 및 주행 복구 기능을 포함할 수 있다. 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 제1 위치에 대응되는 주행 모드를 수행하며, 여기서, 적어도 하나의 센서(120)는 LiDAR Sensor, Camera, Tactile sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
일 예에 따라 제1 모드에 포함된 복수의 기능 중 일 기능은, Task 수행 기능을 포함할 수 있다. 제1 모드에 대응되는 Task 수행 기능은, 사용자 추종 주행, 펫(Pet) 놀아주기 기능(예를 들어, 펫 추종 주행, 기 설정된 사운드 재생 등), 인터렉션(Interaction) 기능 등을 포함할 수 있다. 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 제1 모드에 대응되는 Task 수행 기능을 수행하며, 여기서, 적어도 하나의 센서(120)는 LiDAR Sensor, Camera, Tactile sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
일 예에 따라 제1 모드에 포함된 복수의 기능 중 일 기능은, 스피커 음량 증가, 원거리의 사용자 얼굴 및 사용자 음성 인식 기능을 포함할 수 있다.
예를 들어, 로봇 장치(100)가 바닥 공간에 위치하면, 로봇 장치(100)와 사용자 간의 거리가 증가하므로, 원거리에 위치하는 사용자를 위해 스피커의 음량을 증가시키며, 원거리의 사용자 얼굴 및 사용자 음성을 인식하기 위한 기능을 수행할 수 있다. 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 원거리의 사용자 얼굴 및 사용자 음성을 인식하기 위한 기능을 수행하며, 여기서, 적어도 하나의 센서(120)는 LiDAR Sensor, Camera, Pressure Sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
도 15는 본 개시의 일 실시 예에 따른 제2 모드의 기능을 설명하기 위한 도면이다.
도 15를 참조하면, 프로세서(140)는 로봇 장치(100)의 위치를 식별하며, 식별된 로봇 장치(100)의 위치가 제2 위치에 포함되면, 즉, 로봇 장치(100)의 현재 위치가 오브젝트 상의 평면 공간으로 식별되면, 로봇 장치(100)를 제2 위치에 대응되는 제2 모드로 동작시킬 수 있다.
일 예에 따라, 제2 모드는 복수의 기능을 포함할 수 있다. 일 예로, 제2 모드에 따라, 프로세서(140)는 제1 이벤트 및 제2 이벤트를 감지하며, 제1 이벤트와 제2 이벤트가 순차적으로 발생하면 로봇 장치(100)의 위치를 재식별할 수 있다. 이어서, 프로세서(140)는 재식별 결과에 따라 로봇 장치의 위치가 제2 위치로 변경되면, 제2 모드로 변경할 수 있다.
일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 제1 이벤트 및 제2 이벤트가 순차적으로 발생하는지 감지 가능하며, 여기서, 적어도 하나의 센서(120)는 Gyro Sensor, LiDAR Sensor, Cliff Sensor, Camera, IMU, Tactile sensor, Pressure sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
한편, 제2 모드에 포함된 복수의 기능 중 일 기능에 따라 프로세서(140)는 제2 위치에 대응되는 주행 모드로 동작할 수 있다. 일 예에 따라 제2 위치에 대응되는 주행 모드는 저속 주행 모드, 충격 감지 및 주행 복구 기능을 포함할 수 있다. 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 제1 위치에 대응되는 주행 모드를 수행하며, 여기서, 적어도 하나의 센서(120)는 LiDAR Sensor, Camera, Tactile sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
일 예에 따라 제2 모드에 포함된 복수의 기능 중 일 기능은, Task 수행 기능을 포함할 수 있다. 제2 모드에 대응되는 Task 수행 기능은, 순찰(Patrol) 주행, 펫(Pet) 놀아주기 기능(예를 들어, 펫 추종 주행, 기 설정된 사운드 재생 등), 인터렉션(Interaction) 기능(예를 들어, 가상 비서(Virtual assistant) 기능, 음성 인식 비서 기능 등), AI Speaker 기능, 프로젝터 기능(프로젝터부를 이용하여 영상 출력 기능), 음악 재생 기능, 현재 시각 디스플레이 기능 등을 포함할 수 있다. 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 제2 모드에 대응되는 Task 수행 기능을 수행하며, 여기서, 적어도 하나의 센서(120)는 LiDAR Sensor, Camera, Tactile sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
일 예에 따라 제2 모드에 포함된 복수의 기능 중 일 기능은, 스피커 음량 감소, 근거리의 사용자 얼굴 및 사용자 음성 인식 기능을 포함할 수 있다.
예를 들어, 로봇 장치(100)가 오브젝트 상의 평면 공간에 위치하면, 로봇 장치(100)와 사용자 간의 거리가 감소하므로, 근거리에 위치하는 사용자를 위해 스피커의 음량을 감소시키며, 근거리의 사용자 얼굴 및 사용자 음성을 인식하기 위한 기능을 수행할 수 있다. 일 예에 따라, 프로세서(140)는 적어도 하나의 센서(120)의 센싱 데이터에 기초하여 근거리의 사용자 얼굴 및 사용자 음성을 인식하기 위한 기능을 수행하며, 여기서, 적어도 하나의 센서(120)는 LiDAR Sensor, Camera, Pressure Sensor, Shock Sensor, IR Sensor 등을 포함할 수 있다.
도 16은 본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 로봇 장치의 제어 방법은, 우선, 로봇 장치가 제1 위치에 위치하면, 제1 위치에 대응되는 제1 모드로 로봇 장치를 제어한다(S1610).
이어서, 적어도 하나의 센서가 획득한 센싱 데이터에 기초하여 사용자에 의해 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 로봇 장치를 내려놓는(place) 제2 이벤트를 식별한다(S1620).
이어서, 제1 이벤트 및 제2 이벤트가 순차적으로 발생한 후에 적어도 하나의 센서가 획득한 새로운 센싱 데이터에 기초하여 로봇 장치의 위치가 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 제2 위치에 대응되는 제2 모드로 로봇 장치를 제어한다(S1630).
여기서, 제어 방법은, 제1 이벤트가 발생하면, 제1 이벤트의 발생을 나타내는 피드백을 출력하는 단계를 더 포함할 수 있다.
일 예에 따라 제1 위치는, 로봇 장치가 위치하는 공간의 바닥(floor) 공간에 포함되고, 제2 위치는, 공간 내에 위치하는 오브젝트 상의 평면 공간에 포함되며, 평면 공간은 바닥 공간 보다 상대적으로 높은 곳에 위치할 수 있다.
본 개시의 일 예에 따른 로봇 장치는, 로봇 장치가 위치하는 공간에 대응되는 맵 정보를 포함하며, 제2 모드로 로봇 장치를 제어하는 단계는, 맵 정보에 포함된 평면 공간에 대한 정보에 기초하여 로봇 장치의 이동 가능 여부를 식별하는 단계, 평면 공간 내에서 로봇 장치의 이동이 가능하면, 제2 모드에 포함된 복수의 기능 중 로봇 장치의 이동이 요구되는 적어도 하나의 기능을 수행하는 단계 및 평면 공간 내에서 로봇 장치의 이동이 불가능하면, 제2 모드에 포함된 복수의 기능 중 로봇 장치의 이동이 요구되지 않는 적어도 하나의 기능을 수행하는 단계를 포함할 수 있다.
본 개시의 일 예에 따른 로봇 장치는, 로봇 장치가 위치하는 공간에 대응되는 맵 정보를 포함하며, 제2 모드로 로봇 장치를 제어하는 단계는, 맵 정보에서 평면 공간에 대한 정보가 식별되지 않으면, SLAM(Simultaneous Localization and Mapping) 기능을 수행하도록 적어도 하나의 센서를 제어하여 평면 공간에 대한 정보를 획득하는 단계를 포함할 수 있다.
본 개시의 일 예에 따른 로봇 장치는, 로봇 장치가 위치하는 공간에 대응되는 맵 정보를 포함하며, 일 예에 따른 제어 방법은, 음성 인식 센서를 통해 로봇 장치를 호출하는 신호가 수신되면, 신호가 수신된 위치를 식별하는 단계, 맵 정보에 기초하여 제2 위치에서 식별된 위치로 이동 가능 여부를 식별하는 단계 및 제2 위치에서 식별된 위치로 이동이 불가능하면, 로봇 장치를 집어 올린 후 제1 위치에 내려놓는 이벤트의 발생을 요청하는 피드백을 출력하는 단계를 더 포함할 수 있다.
본 개시의 일 예에 따른 제어 방법은, 피드백을 출력한 후, 로봇 장치를 집어 올린 후 제1 위치에 내려놓는 이벤트가 발생하여 로봇 장치의 위치가 제2 위치에서 제1 위치로 변경되면, 맵 정보에 기초하여 식별된 위치로 이동하기 위한 이동 경로를 식별하는 단계를 더 포함할 수 있다.
일 예에 따른 제1 모드는, 제2 모드보다 로봇 장치를 상대적으로 고속 주행시키는 모드일 수 있다.
본 개시의 일 예에 따른 적어도 하나의 센서는, 자이로 센서(gyro sensor), 카메라 센서, 추락 방지 센서(cliff sensor), 압력 센서, 적외선 센서 또는 초음파 센서 중 적어도 하나를 포함하며, 일 예에 따른 이벤트를 식별하는 단계는, 센싱 데이터에 기초하여 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 로봇 장치를 내려놓는(place) 제2 이벤트 각각을 식별하는 단계를 포함할 수 있다.
다만, 본 개시의 다양한 실시 예들은 로봇 장치 뿐 아니라, 이동이 가능한 모든 전자 장치에 적용될 수 있음은 물론이다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇 장치의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 로봇 장치(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (15)

  1. 로봇 장치에 있어서,
    적어도 하나의 센서;
    적어도 하나의 인스트럭션을 저장하는 적어도 하나의 메모리; 및
    상기 적어도 하나의 인스트럭션을 실행하여,
    상기 로봇 장치가 제1 위치에 위치하면, 상기 제1 위치에 대응되는 제1 모드로 상기 로봇 장치를 제어하며,
    상기 적어도 하나의 센서가 획득한 센싱 데이터에 기초하여, 상기 사용자에 의해 상기 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 상기 로봇 장치를 내려놓는(place) 제2 이벤트를 식별하고,
    상기 제1 이벤트 및 상기 제2 이벤트가 순차적으로 발생한 후에 상기 적어도 하나의 센서가 획득한 새로운 센싱 데이터에 기초하여 상기 로봇 장치의 위치가 상기 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 상기 제2 위치에 대응되는 제2 모드로 상기 로봇 장치를 제어하는 적어도 하나 이상의 프로세서;를 포함하는 로봇 장치.
  2. 제1항에 있어서,
    상기 적어도 하나 이상의 프로세서는,
    상기 제1 이벤트가 발생하면, 상기 제1 이벤트의 발생을 나타내는 피드백을 출력하는, 로봇 장치.
  3. 제1항에 있어서,
    상기 제1 위치는,
    상기 로봇 장치가 위치하는 공간의 바닥(floor) 공간에 포함되고,
    상기 제2 위치는,
    상기 공간 내에 위치하는 오브젝트 상의 평면 공간에 포함되며,
    상기 평면 공간은 상기 바닥 공간 보다 상대적으로 높은 곳에 위치하는, 로봇 장치.
  4. 제3항에 있어서,
    상기 적어도 하나의 메모리는,
    상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하며,
    상기 제2 모드는, 복수의 기능을 포함하며,
    상기 적어도 하나 이상의 프로세서는,
    상기 맵 정보에 포함된 상기 평면 공간에 대한 정보에 기초하여 상기 로봇 장치가 상기 평면 공간 내에서 이동 가능한지 여부를 식별하고,
    상기 평면 공간 내에서 상기 로봇 장치의 이동이 가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되는 적어도 하나의 기능을 수행하며,
    상기 평면 공간 내에서 상기 로봇 장치의 이동이 불가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되지 않는 적어도 하나의 기능을 수행하는, 로봇 장치.
  5. 제1항에 있어서,
    상기 적어도 하나의 메모리는,
    상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하며,
    상기 적어도 하나 이상의 프로세서는,
    상기 맵 정보에서 상기 평면 공간에 대한 정보가 식별되지 않으면, SLAM(Simultaneous Localization and Mapping) 기능을 수행하도록 상기 적어도 하나의 센서를 제어하여 상기 평면 공간에 대한 정보를 획득하는, 로봇 장치.
  6. 제1항에 있어서,
    상기 적어도 하나의 센서는,
    음성 인식 센서;를 더 포함하며,
    상기 적어도 하나의 메모리는,
    상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하며,
    상기 적어도 하나 이상의 프로세서는,
    상기 음성 인식 센서를 통해 신호가 수신되면, 상기 신호가 수신된 위치를 식별하고,
    상기 맵 정보에 기초하여 상기 제2 위치에서 상기 식별된 위치로 이동 가능 여부를 식별하고,
    상기 제2 위치에서 상기 식별된 위치로 이동이 불가능하면, 상기 로봇 장치를 집어 올린 후 상기 제1 위치에 내려놓는 이벤트의 발생을 요청하는 피드백을 출력하는, 로봇 장치.
  7. 제6항에 있어서,
    상기 적어도 하나 이상의 프로세서는,
    상기 로봇 장치의 위치가 상기 제2 위치에서 상기 제1 위치로 변경되면, 상기 맵 정보에 기초하여 상기 식별된 위치로 이동하기 위한 이동 경로를 식별하는, 로봇 장치.
  8. 제1항에 있어서,
    상기 로봇 장치는,
    상기 제2 모드에서 상기 제1 모드보다 상대적으로 빠른 속도로 주행하는, 로봇 장치.
  9. 제1항에 있어서,
    상기 적어도 하나의 센서는,
    자이로 센서(gyro sensor), 카메라 센서, 추락 방지 센서(cliff sensor), 압력 센서, 적외선 센서 또는 초음파 센서 중 적어도 하나를 포함하는, 로봇 장치.
  10. 로봇 장치의 제어 방법에 있어서,
    상기 로봇 장치가 제1 위치에 위치하면, 상기 제1 위치에 대응되는 제1 모드로 상기 로봇 장치를 제어하는 단계;
    적어도 하나의 센서가 획득한 센싱 데이터에 기초하여 상기 사용자에 의해 상기 로봇 장치를 집어 올리는(pick up) 제1 이벤트 및 상기 로봇 장치를 내려놓는(place) 제2 이벤트를 식별하는 단계; 및
    상기 제1 이벤트 및 상기 제2 이벤트가 순차적으로 발생한 후에 상기 적어도 하나의 센서가 획득한 새로운 센싱 데이터에 기초하여 상기 로봇 장치의 위치가 상기 제1 위치에서 제2 위치로 변경된 것으로 식별되면, 상기 제2 위치에 대응되는 제2 모드로 상기 로봇 장치를 제어하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 제어 방법은,
    상기 제1 이벤트가 발생하면, 상기 제1 이벤트의 발생을 나타내는 피드백을 출력하는 단계;를 더 포함하는, 제어 방법.
  12. 제10항에 있어서,
    상기 제1 위치는,
    상기 로봇 장치가 위치하는 공간의 바닥(floor) 공간에 포함되고,
    상기 제2 위치는,
    상기 공간 내에 위치하는 오브젝트 상의 평면 공간에 포함되며,
    상기 평면 공간은 상기 바닥 공간 보다 상대적으로 높은 곳에 위치하는, 제어 방법.
  13. 제12항에 있어서,
    상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며,
    상기 제2 모드는, 복수의 기능을 포함하며,
    상기 제2 모드로 상기 로봇 장치를 제어하는 단계는,
    상기 맵 정보에 포함된 상기 평면 공간에 대한 정보에 기초하여 상기 로봇 장치가 상기 평면 공간 내에서 이동 가능한지 여부를 식별하는 단계;
    상기 평면 공간 내에서 상기 로봇 장치의 이동이 가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되는 적어도 하나의 기능을 수행하는 단계; 및
    상기 평면 공간 내에서 상기 로봇 장치의 이동이 불가능하면, 상기 제2 모드의 상기 복수의 기능 중 상기 로봇 장치의 이동이 요구되지 않는 적어도 하나의 기능을 수행하는 단계;를 포함하는, 제어 방법.
  14. 제10항에 있어서,
    상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며,
    상기 제2 모드로 상기 로봇 장치를 제어하는 단계는,
    상기 맵 정보에서 상기 평면 공간에 대한 정보가 식별되지 않으면, SLAM(Simultaneous Localization and Mapping) 기능을 수행하도록 상기 적어도 하나의 센서를 제어하여 상기 평면 공간에 대한 정보를 획득하는 단계;를 포함하는, 제어 방법.
  15. 제10항에 있어서,
    상기 로봇 장치는, 상기 로봇 장치가 위치하는 상기 공간에 대응되는 맵 정보를 저장하는 적어도 하나의 메모리를 포함하며,
    상기 로봇 장치의 음성 인식 센서를 통해 신호가 수신되면, 상기 신호가 수신된 위치를 식별하는 단계;
    상기 맵 정보에 기초하여 상기 제2 위치에서 상기 식별된 위치로 이동 가능 여부를 식별하는 단계; 및
    상기 제2 위치에서 상기 식별된 위치로 이동이 불가능하면, 상기 로봇 장치를 집어 올린 후 상기 제1 위치에 내려놓는 이벤트의 발생을 요청하는 피드백을 출력하는 단계;를 더 포함하는, 제어 방법.
PCT/KR2023/010410 2022-07-27 2023-07-19 로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법 WO2024025244A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/236,064 US20240036585A1 (en) 2022-07-27 2023-08-21 Robot device operating in mode corresponding to position of robot device and control method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0093540 2022-07-27
KR20220093540 2022-07-27
KR10-2022-0165834 2022-12-01
KR1020220165834A KR20240015551A (ko) 2022-07-27 2022-12-01 로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/236,064 Continuation US20240036585A1 (en) 2022-07-27 2023-08-21 Robot device operating in mode corresponding to position of robot device and control method thereof

Publications (1)

Publication Number Publication Date
WO2024025244A1 true WO2024025244A1 (ko) 2024-02-01

Family

ID=89706852

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/010410 WO2024025244A1 (ko) 2022-07-27 2023-07-19 로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법

Country Status (1)

Country Link
WO (1) WO2024025244A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010025103A (ko) * 1998-11-30 2001-03-26 이데이 노부유끼 로봇 장치 및 그 제어 방법
JP2017102538A (ja) * 2015-11-30 2017-06-08 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム
JP2022051982A (ja) * 2019-02-15 2022-04-04 ソニーグループ株式会社 情報処理装置および情報処理方法
US20220157305A1 (en) * 2019-03-29 2022-05-19 Sony Group Corporation Information processing apparatus, information processing method, and program
EP4024154A1 (en) * 2019-08-27 2022-07-06 Sony Group Corporation Information processing device, method for controlling same, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010025103A (ko) * 1998-11-30 2001-03-26 이데이 노부유끼 로봇 장치 및 그 제어 방법
JP2017102538A (ja) * 2015-11-30 2017-06-08 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム
JP2022051982A (ja) * 2019-02-15 2022-04-04 ソニーグループ株式会社 情報処理装置および情報処理方法
US20220157305A1 (en) * 2019-03-29 2022-05-19 Sony Group Corporation Information processing apparatus, information processing method, and program
EP4024154A1 (en) * 2019-08-27 2022-07-06 Sony Group Corporation Information processing device, method for controlling same, and program

Similar Documents

Publication Publication Date Title
WO2018135870A1 (en) Mobile robot system and control method thereof
WO2018131884A1 (en) Moving robot and control method thereof
WO2020060267A1 (en) Cleaning robot and method for performing task thereof
WO2018226048A1 (en) Cleaning robot and controlling method thereof
WO2021006677A2 (en) Mobile robot using artificial intelligence and controlling method thereof
AU2014297039B2 (en) Auto-cleaning system, cleaning robot and method of controlling the cleaning robot
WO2021006556A1 (en) Moving robot and control method thereof
WO2019066444A1 (en) MOBILE ROBOT AND CONTROL METHOD
EP3774202A1 (en) Cleaning robot and method for performing task thereof
WO2022045808A1 (ko) 청소 로봇 및 그 제어 방법
WO2018110963A1 (en) Movable object and method for controlling the same
AU2018216517B2 (en) Cleaner
WO2022092571A1 (ko) 로봇 청소기 및 그의 주행 방법
WO2018117616A1 (ko) 이동 로봇
WO2020004824A1 (en) Plurality of autonomous cleaner and controlling method for the same
WO2020256370A1 (en) Moving robot and method of controlling the same
WO2021230503A1 (en) Electronic apparatus and controlling method thereof
WO2022035150A1 (ko) 청소 로봇 및 그 제어 방법
WO2024025244A1 (ko) 로봇 장치의 위치에 대응되는 모드로 동작하는 로봇 장치 및 그 제어 방법
WO2020101244A1 (ko) 청소 장치 및 그 제어 방법
AU2020253014B2 (en) Robot cleaner using artificial intelligence and control method thereof
WO2020204355A1 (ko) 전자 장치 및 그 제어 방법
WO2023287105A1 (ko) 이동 로봇
WO2020060091A1 (ko) 청소 로봇 및 그의 태스크 수행 방법
WO2023214684A1 (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: 23846903

Country of ref document: EP

Kind code of ref document: A1