WO2024101678A1 - 청소기 및 그 제어 방법 - Google Patents
청소기 및 그 제어 방법 Download PDFInfo
- Publication number
- WO2024101678A1 WO2024101678A1 PCT/KR2023/015673 KR2023015673W WO2024101678A1 WO 2024101678 A1 WO2024101678 A1 WO 2024101678A1 KR 2023015673 W KR2023015673 W KR 2023015673W WO 2024101678 A1 WO2024101678 A1 WO 2024101678A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- main body
- posture
- vacuum cleaner
- gravity
- supporter
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000005484 gravity Effects 0.000 claims description 71
- 238000003062 neural network model Methods 0.000 claims description 51
- 230000001133 acceleration Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 8
- 230000014509 gene expression Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000428 dust Substances 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 210000000707 wrist Anatomy 0.000 description 2
- 239000004677 Nylon Substances 0.000 description 1
- 239000004952 Polyamide Substances 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 229920001778 nylon Polymers 0.000 description 1
- 229920002647 polyamide Polymers 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L5/00—Structural features of suction cleaners
- A47L5/12—Structural features of suction cleaners with power-driven air-pumps or air-compressors, e.g. driven by motor vehicle engine vacuum
- A47L5/22—Structural features of suction cleaners with power-driven air-pumps or air-compressors, e.g. driven by motor vehicle engine vacuum with rotary fans
- A47L5/24—Hand-supported suction cleaners
- A47L5/26—Hand-supported suction cleaners with driven dust-loosening tools
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/009—Carrying-vehicles; Arrangements of trollies or wheels; Means for avoiding mechanical obstacles
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2805—Parameters or conditions being sensed
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Definitions
- This disclosure relates to a vacuum cleaner and a method of controlling the same. More specifically, it relates to a vacuum cleaner that predicts changes in the vacuum cleaner's posture using a sensor and a control method thereof.
- a vacuum cleaner includes one or more sensors, a main body, a supporter body rotatably connected to a first area of the main body, a driving unit for rotating the supporter body, and one or more processors.
- the one or more processors identify a first posture of the main body based on first sensing data acquired through the one or more sensors, and determine a first angle between the main body and the supporter body based on the first posture. and controls the drive unit to rotate the supporter body so that the determined first angle is formed.
- the one or more processors identify a first length of the supporter body corresponding to the first angle and adjust the length of the supporter body to form the first length.
- the one or more processors identify the location of a first center of gravity set in the main body, and the location of a second center of gravity of the main body corresponding to the first posture based on the location of the first center of gravity. and determine the first angle based on the location of the second center of gravity.
- the one or more processors acquire second sensing data from the first posture of the main body through the one or more sensors, and predict a second posture of the main body based on the obtained second sensing data. , a second angle between the main body and the supporter body is determined based on the second posture, and the supporter body is rotated so that the determined second angle is formed.
- the one or more processors identify the model of the vacuum cleaner, obtain a neural network model corresponding to the model of the identified vacuum cleaner among the plurality of neural network models, and determine the location of the second center of gravity in the obtained neural network model. And inputting the second sensing data into a previously learned neural network model stored in the memory to predict the second posture of the main body.
- the position of the first center of gravity set in the main body is set differently depending on the model of the vacuum cleaner.
- a method of controlling a vacuum cleaner includes acquiring first sensing data through one or more sensors of the vacuum cleaner. Additionally, the method includes identifying a first posture of the main body based on the obtained first sensing data. The method also includes determining a first angle between the main body and a supporter body rotatably connected to a first region of the main body based on the first posture. Additionally, the method includes controlling a driving unit that rotates the supporter body so that the determined first angle is formed.
- a computer command for performing the method of controlling the vacuum cleaner may be stored in a non-transitory computer-readable recording medium.
- the method includes acquiring first sensing data through one or more sensors of the vacuum cleaner. Additionally, the method includes identifying a first posture of the main body based on the obtained first sensing data. The method also includes determining a first angle between the main body and a supporter body rotatably connected to a first region of the main body based on the first posture. Additionally, the method includes controlling a driving unit that rotates the supporter body so that the determined first angle is formed.
- FIG. 1 is an exemplary diagram showing a vacuum cleaner according to an embodiment of the present disclosure.
- Figure 2 is a schematic block diagram of a vacuum cleaner according to an embodiment of the present disclosure.
- Figure 3 is an example diagram showing adjusting the main body and the support body by identifying the posture of the vacuum cleaner according to an embodiment of the present disclosure.
- Figure 4 is an example diagram illustrating identifying the posture of the vacuum cleaner by identifying the center of gravity of the vacuum cleaner according to an embodiment of the present disclosure.
- Figure 5 is an example diagram illustrating adjusting the length of a support body by identifying the posture of a vacuum cleaner according to an embodiment of the present disclosure.
- Figure 6 is an example diagram showing predicting the posture of a vacuum cleaner based on sensing data acquired through a sensor according to an embodiment of the present disclosure.
- Figure 7 is an example diagram showing predicting the posture of a vacuum cleaner using a neural network model according to an embodiment of the present disclosure.
- FIG. 8 is a detailed block diagram of a vacuum cleaner according to an embodiment of the present disclosure.
- Figure 9 is a flowchart schematically showing a control method of a vacuum cleaner 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.
- expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
- “A or B,” “at least one of A and B,” or “at least one of A or B” (1) includes at least one A, (2) includes at least one B, or (3) it may refer to all cases including both at least one A and at least one B.
- a component e.g., a first component
- another component e.g., a second component
- any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
- a component e.g., a first component
- another component e.g., a second component
- no other component e.g., a third component
- the expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ,” can be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
- the term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware.
- the expression “a device configured to” may mean that the device is “capable of” working with other devices or components.
- the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device.
- 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' may be integrated into at least one module and implemented with at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
- Figure 1 is an exemplary diagram showing a vacuum cleaner 100 according to an embodiment of the present disclosure.
- the vacuum cleaner 100 includes a main body 120 and a supporter body 130.
- the main body 120 may be a component that forms the main body of the vacuum cleaner
- the supporter body 130 may be a component that supports the main body 120.
- the vacuum cleaner 100 according to an embodiment of the present disclosure includes a variety of vacuum cleaners in which the user performs cleaning using a handle provided on the vacuum cleaner, such as a stick vacuum cleaner, a canister vacuum cleaner, etc.
- the vacuum cleaner 100 further includes a supporter body 130 in addition to the main body 120, that is, the main body of the cleaner, and is provided with a handle, which allows the user to grip and move the handle. .
- the supporter body 130 serves to distribute the load (or weight) of the main body 120 of the vacuum cleaner. Through this, the load (or weight) of the main body 120 may not be completely transmitted to the user.
- the vacuum cleaner 100 identifies the posture of the main body 120 and distributes the load of the main body 120 appropriately based on the posture of the main body 120. Identify the possible position of the supporter body 130. Then, the supporter body 130 is rotated or moved to the identified position of the supporter body 130 so that the weight (or load) of the main body 120 is distributed, and the load of the main body 120 is reduced to the user. (or weight) is transmitted.
- the supporter body 130 is rotated or moved to the identified position of the supporter body 130 so that the weight (or load) of the main body 120 is distributed, and the load of the main body 120 is reduced to the user. (or weight) is transmitted.
- Figure 2 is a schematic block diagram of a vacuum cleaner according to an embodiment of the present disclosure.
- Figure 3 is an example diagram illustrating adjusting the main body 120 and the support body by identifying the posture of the vacuum cleaner according to an embodiment of the present disclosure.
- the vacuum cleaner 100 includes one or more sensors 110, a main body 120, a supporter body 130, a driving unit 140, and one or more processors.
- One or more sensors 110 detect the movement of the vacuum cleaner and obtain data about the movement of the vacuum cleaner. Specifically, one or more sensors 110 may detect movements such as movement and rotation of the vacuum cleaner, and obtain data related to the movement and rotation of the vacuum cleaner. Meanwhile, one or more sensors 110 are provided on one side of the main body 120 to detect movement of the main body 120 and obtain data about the movement of the main body 120.
- the movement of the vacuum cleaner may be the movement of the main body 120 of the vacuum cleaner.
- one or more sensors 110 move according to the user's manipulation (or control). It is possible to detect the movement of the main body 120 and obtain sensing data about the movement of the main body 120.
- one or more sensors 110 may include a gyro sensor.
- the gyro sensor can detect the rotation of the main body 120 of the vacuum cleaner and obtain data about the rotation of the main body 120.
- the gyro sensor may detect the rotation direction and rotation angle of the main body 120, measure the angular velocity for the detected rotation direction and rotation angle, and obtain angular velocity data of the main body 120.
- one or more sensors 110 may include an acceleration sensor.
- the acceleration sensor can detect the movement of the main body 120 and obtain data about the movement of the main body 120.
- the acceleration sensor may detect the direction of movement of the main body 120, measure the acceleration of the main body 120 with respect to the detected direction of movement, and obtain acceleration data of the main body 120.
- the gyro sensor and the acceleration sensor are described as separate components, the gyro sensor and the acceleration sensor may be implemented as a single IMU (Inertial Measurement Unit) sensor 110.
- IMU Inertial Measurement Unit
- sensor 110 one sensor 110 is referred to as sensor 110.
- the main body 120 is the main body of the vacuum cleaner and serves to support the vacuum cleaner 100. Although not clearly shown in the drawing, one side of the main body 120 may be provided with a handle that the user can hold, and the other side of the main body 120 may be provided with a suction section to suck in dust, etc. Additionally, the inside of the main body 120 may include a fan (or drum), motor, etc. to suck dust from the suction part.
- the supporter body 130 is connected to the main body 120 and serves to distribute the load of the vacuum cleaner. Specifically, the supporter body 130 serves to distribute the load (or weight) due to gravity acting on the vacuum cleaner 100 when the user moves the vacuum cleaner 100 while holding the handle of the main body 120. do. To this end, the supporter body 130 is rotatably connected to the main body 120.
- the supporter body 130 may include a plurality of frames.
- a plurality of frames may be implemented in a cylindrical shape.
- a plurality of frames may be connected in a telescoping structure.
- the length of the supporter body 130 including a plurality of frames may be extended or reduced.
- the plurality of frames includes a first frame and a second frame in a cylindrical shape
- the diameter of the first frame may be larger than the diameter of the second frame.
- the length of the supporter body 130 may be reduced as the second frame moves inside the first frame.
- the length of the supporter body 130 may increase.
- a motor, pinion, rack, etc. may be included inside the supporter body 130 in order to adjust the positions of a plurality of frames connected in a telescoping structure.
- a rack is formed in one direction inside the first frame (or second frame), and a pinion is formed in the second frame and then formed inside the first frame. It is located on a rack, and a motor can be connected to the center of the pinion. At this time, as the motor rotates, the second frame may move within the first frame.
- the supporter body 130 may further include a damper, a shock server, etc. that allow the plurality of frames to move flexibly.
- the driving unit 140 is configured to rotate the supporter body 130.
- the driving unit 140 may further include a motor.
- the driving unit 140 may be formed in the first area of the main body 120.
- the first area may be the center of the main body 120.
- the supporter body 130 may be connected to the main body 120 through the driving unit 140 formed in the first area.
- one side of the supporter body 130 may be coupled to a motor included in the driving unit 140. Accordingly, the vacuum cleaner 100 can rotate the motor to rotate the supporter body 130 around the motor as the rotation axis.
- a wheel may be formed on the other side located in the opposite direction to one side of the supporter coupled with the motor. Accordingly, when the supporter body 130 rotates as the motor rotates, the wheel formed on the other side of the supporter body 130 grounded on the ground may move.
- One or more processors 150 may control the overall operation of the vacuum cleaner. Specifically, one or more processors 150 are electrically connected to various components in the vacuum cleaner 100, such as the sensor 110, main body 120, supporter body 130, and drive unit 140, to operate the overall operation of the vacuum cleaner. can be controlled. To this end, one or more processors 150 include random access memory (RAM) (not shown), read only memory (ROM) (not shown), central processing unit (CPU) (not shown), and graphic processing (GPU). unit) (not shown) and a system bus (not shown), etc., and may perform operations or data processing related to the control of one or more components included in the vacuum cleaner.
- RAM random access memory
- ROM read only memory
- CPU central processing unit
- GPU graphic processing unit
- unit not shown
- system bus not shown
- One or more processors 150 control one or more components included in the vacuum cleaner by executing one or more instructions stored in storage (not shown), control one or more components as a hardware circuit or chip, or software and As a combination of hardware, one or more components can be controlled.
- One or more processors 150 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 150 may control one or any combination of the different components of the vacuum cleaner and may perform operations related to communication or data processing. One or more processors 150 may execute one or more programs or instructions stored in memory. For example, one or more processors 150 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 may be implemented as a single core processor including one core, or as one or more multi-core processors including a plurality of cores (e.g., homogeneous multi-core or heterogeneous multi-core). It can also be implemented as a processor.
- each of the plurality of cores included in the multi-core processor may include internal memory of the processor 150, such as cache memory and on-chip memory, and may include a plurality of cores.
- 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) 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 150 may be a system-on-chip (SoC) in which one or more processors and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or multi-core processor.
- 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.
- processor 150 one or more processors 150 will be referred to as processor 150.
- the processor 150 identifies the first posture of the main body 120 based on sensing data acquired through one or more sensors 110.
- the processor 150 may identify the first posture of the main body 120 based on the angular velocity data and acceleration data of the main body 120 obtained through the sensor 110.
- the first posture of the main body 120 can identify the tilt of the main body 120, etc.
- the posture of the main body 120 corresponding to the identified angle can be identified.
- the processor 150 can detect the tilt of the main body 120 through a gyro sensor, identify the rotation direction of the main body 120, and obtain angular velocity data for the main body 120. there is. Additionally, the processor 150 may identify the posture of the main body 120 based on the acquired angular velocity sensor 110.
- the processor 150 may identify the angle between the main body 120 and the ground based on angular velocity data. Additionally, the processor 150 may identify the posture of the main body 120 corresponding to the identified angle.
- the above-described operation can be performed as the vacuum cleaner 100 is turned on. That is, when the vacuum cleaner 100 is turned off, the main body 120 and the body of the vacuum cleaner 100 may be parallel.
- the processor 150 can identify the posture of the main body 120 while the vacuum cleaner is turned on. As described above, the posture of the main body 120 can be identified based on the sensing data acquired through the sensor 110.
- the processor 150 determines the angle between the main body 120 and the supporter body 130 based on the posture.
- the processor 150 may identify the position of the supporter body 130 to distribute the load of the main body 120 in the identified posture of the main body 120.
- the position of the supporter body 130 is a position that moves as the supporter body 130 connected to the main body 120 rotates. Accordingly, the processor 150 identifies an angle at which to rotate the supporter body 130 connected to the main body 120.
- the processor 150 when a command to turn on the vacuum cleaner 100 is input to the processor 150 through an interface provided in the vacuum cleaner 100, the processor 150 turns the vacuum cleaner 100 in an off state. ) is switched to the on state, and the posture of the main body 120 of the vacuum cleaner can be identified.
- the processor 150 may identify the rotation angle of the supporter body 130 corresponding to the posture of the main body 120.
- the rotation angle of the supporter body 130 can be identified based on a table containing angle information between the main body 120 and the supporter body 130 corresponding to the posture of the main body 120 stored in the memory of the vacuum cleaner. . That is, the processor 150 can identify the posture of the main body 120 within the table and obtain angle information corresponding to the identified posture.
- the processor 150 uses a neural network model previously learned to identify an angle for appropriately distributing the load (or weight) of the main body 120 according to the posture of the main body 120. ) and the supporter body 130 can be determined.
- the processor 150 inputs the posture information of the main body 120 (or the sensing data obtained for the main body 120) into a previously learned neural network model, so that the main body 120 and the supporter body 130 ) can be obtained as an output value.
- the previously learned neural network model may be trained in advance based on learning data including posture information of the plurality of main bodies 120 (or sensing data acquired for the plurality of main bodies 120).
- a neural network model previously learned to identify an angle for appropriately distributing the load (or weight) of the main body 120 according to the posture of the main body 120 is referred to as a first neural network model.
- Figure 4 is an example diagram illustrating identifying the posture of the vacuum cleaner by identifying the center of gravity of the vacuum cleaner according to an embodiment of the present disclosure.
- the processor 150 identifies the location of the first center of gravity 10 set in the main body 120 and sets the first posture based on the location of the first center of gravity 10.
- the position of the second center of gravity 20 of the main body 120 corresponding to can be identified, and the first angle can be determined based on the position of the second center of gravity 20.
- the first center of gravity 10 may be a center of gravity preset in the main body 120 of the vacuum cleaner.
- the first center of gravity 10 may be a center of gravity that acts on the main body 120 of the vacuum cleaner 100 when the vacuum cleaner 100 is mounted or stopped.
- the position of the first center of gravity 10 set in the main body 120 may be set differently depending on the model of the vacuum cleaner.
- the center of gravity may be set differently within the main body 120 of the vacuum cleaner depending on the shape, weight, etc. of the vacuum cleaner.
- the processor 150 may identify the type (or model) of the vacuum cleaner and then identify the preset first center of gravity 10 corresponding to the identified type (or model) of the vacuum cleaner.
- the processor 150 may identify the second center of gravity 20 in the posture of the main body 120 identified based on the sensing data.
- the second center of gravity 20 may be a center of gravity identified in the main body 120 according to the posture of the main body 120.
- the first center of gravity 10 and the second center of gravity 20 can be identified by coordinate values in three-dimensional space.
- the processor 150 may identify the first center of gravity 10 preset for the vacuum cleaner 100 in a preset three-dimensional coordinate space.
- the processor 150 may identify a coordinate value for the first center of gravity 10' in a preset three-dimensional coordinate space.
- the processor 150 may identify the second center of gravity 20, which is the center of gravity of the posture of the main body 120 identified based on the sensing data, in a preset three-dimensional coordinate space.
- the coordinate value of the second center of gravity 20' in the preset three-dimensional coordinate space can be identified based on the sensing data.
- the processor 150 is based on at least one of the angular velocity value acquired through the gyro sensor or the acceleration value obtained through the acceleration sensor and the coordinate value of the first center of gravity 10' in a preset three-dimensional coordinate space. , the coordinate value of the second center of gravity 20' in a preset three-dimensional coordinate space can be identified. At this time, the processor 150 may identify the posture of the main body 120 based on the coordinate value of the second center of gravity.
- the processor 150 controls the drive unit 140 to rotate the supporter body 130 so that the determined angle is formed.
- the processor 150 may control the driving unit 140 so that the angle between the main body 120 and the supporter, which is determined based on the posture of the body, is the angle determined based on the posture of the main body 120.
- the processor 150 may transmit an electrical signal corresponding to the angle determined based on the posture of the main body 120 to the motor of the driving unit 140. Accordingly, as the motor rotates, the supporter body 130 connected to the motor may also rotate. At this time, the supporter body 130 may rotate clockwise or counterclockwise by a determined angle relative to the main body 120.
- the processor 150 determined the angle between the main body 120 and the supporter body 130 as ⁇ 2 based on the posture of the main body 120. That is, the processor 150 determines that when the angle between the main body 120 and the supporter body 130 forms ⁇ 2 , the load (or weight) of the main body 120 is appropriately distributed to the supporter body 130. identified. Accordingly, the processor 150 uses the drive unit 140 to rotate the supporter body 130 in equilibrium with the main body 120 so that the angle between the main body 120 and the supporter body 130 forms ⁇ 2. You can control it. That is, by rotating the motor included in the driving unit 140, the supporter body 130 connected to the motor can be rotated by an angle of ⁇ 2 with the motor as the rotation axis.
- Figure 5 is an example diagram illustrating adjusting the length of a support body by identifying the posture of a vacuum cleaner according to an embodiment of the present disclosure.
- the processor 150 identifies the first length of the supporter body 130 corresponding to the first angle and adjusts the length of the supporter body 130 to form the first length. You can.
- the processor 150 controls the driving unit 140 to rotate the supporter body 130 and then adjusts the length of the supporter body 130 so that the load (weight) of the main body 120 is more appropriately distributed. You can control it. For example, when the other side of the supporter body 130 or a wheel formed on the other side touches the ground, the load (weight) of the main body 120 may be distributed to the supporter body 130.
- the processor 150 may identify the length of the supporter body 130 in response to the angle between the main body 120 and the supporter body 130. That is, when the main body 120 and the supporter body 130 form a specific angle, the processor 150 is configured to allow the other side of the supporter body 130 or the wheels formed on the other side to contact the ground at the specific angle. The length of the supporter body 130 can be identified. The processor 150 may determine the length of the supporter body 130 using a table containing length information of the supporter body 130 corresponding to the angle between the main body 120 and the supporter body 130 stored in memory. .
- the length of the supporter body 130 according to the angle between the main body 120 and the supporter body 130 depends on the position at which the supporter body 130 is coupled to the main body 120, the length of the main body 120, etc. Even the same angle may have different values. Accordingly, the processor 150 may identify the model of the cleaner and determine the length of the supporter body 130 corresponding to the angle between the main body 120 and the supporter body 130 based on the identified model of the cleaner.
- the processor 150 controls the driving unit 140 to rotate the supporter body 130, so that when the angle between the main body 120 and the supporter body 130 forms ⁇ 2 , the supporter body ( 130) can be adjusted.
- the processor 150 may adjust the length of the supporter body 130 while the supporter body 130 rotates. At this time, the acceleration adjusted by the length of the supporter body 130 may correspond to the angular speed at which the supporter body 130 rotates. That is, the processor 150 may adjust the length of the supporter body 130 in proportion to the angular speed at which the supporter body 130 rotates.
- the processor 150 determines the length of the supporter body 130 as L2, and sets the supporter body to the determined length.
- the length of (130) can be adjusted.
- the length of the supporter can be adjusted by controlling the motor within the supporter body 130.
- a motor formed at the connection portion of the first frame 132 and the second frame 133 By rotating, the second frame 133 can be moved into the first frame 132. Accordingly, the supporter body 130, which had a length of L1, can be reduced to a length of L2.
- Figure 6 is an example diagram showing predicting the posture of a vacuum cleaner based on sensing data acquired through the sensor 110 according to an embodiment of the present disclosure.
- the processor 150 can predict the next posture of the main body 120 based on the sensing data acquired through the sensor 110 and the current posture of the main body 120.
- the current posture of the main body 120 is referred to as the first posture
- the posture of the main body 120 predicted based on the sensing data obtained from the current posture of the main body 120 is referred to as the second posture. It is referred to as.
- the processor 150 may acquire sensing data through one or more sensors 110 in the first posture of the main body 120. Specifically, the processor 150 controls the driving unit 140 to rotate the supporter body 130, and when the angle between the main body 120 and the supporter body 130 is formed as a first angle, the processor 150 Sensing data can be continuously acquired through the sensor 110. As an example, the processor 150 may periodically obtain angular velocity data and acceleration data about the movement of the main body 120 through the sensor 110.
- the supporter body 130 is rotated. Sensing data acquired after this is referred to as second sensing data.
- the processor 150 may predict the posture of the main body 120 based on the acquired second sensing data. Specifically, the processor 150 may predict the posture of the main body 120 after the first posture based on the second sensing data obtained from the first posture of the main body 120.
- the posture after the first posture of the main body 120 predicted based on the second sensing data will be referred to as the second posture of the main body 120.
- the processor 150 may identify the rotation direction, rotation angle, and rotation speed of the main body 120 based on the angular velocity data included in the second sensing data acquired in the first posture of the main body 120. Accordingly, the processor 150 may predict the next posture, that is, the second posture, of the main body 120 based on the rotation direction, rotation angle, and rotation speed identified in the first posture of the main body 120. For example, if the main body 120 is identified as rotating toward the ground based on the angular velocity data obtained in the first posture of the main body 120, the processor 150 determines the posture of the main body 120 as the main body 120. It can be predicted that the angle between the body 120 and the ground decreases.
- the processor 150 may identify the movement direction and movement speed of the main body 120 based on acceleration data included in the second sensing data obtained in the first posture of the main body 120. Accordingly, the processor 150 may predict the next posture, that is, the second posture, of the main body 120 based on the movement direction and movement speed identified in the first posture of the main body 120.
- the processor 150 may predict the second posture of the main body 120 by considering the angular velocity data and acceleration data included in the second sensing data together.
- the processor 150 may use a neural network model learned to predict the posture of the main body 120 in order to predict the second posture of the main body 120 based on the second sensing data.
- a neural network model learned to predict the posture of the main body 120 in order to predict the second posture of the main body 120 based on the second sensing data.
- Figure 7 is an example diagram showing predicting the posture of a vacuum cleaner using a neural network model according to an embodiment of the present disclosure.
- the vacuum cleaner 100 may further include a memory.
- a neural network model previously learned to predict the main posture may be stored in the memory.
- the processor 150 may predict the posture of the main body 120 by inputting the position of the center of gravity of the main body 120 and the sensing data into a previously learned neural network model stored in the memory.
- the processor 150 determines the position of the center of gravity of the main body 120 in the first posture, that is, the coordinate value of the second center of gravity, and the sensing data acquired in the first posture, that is, the first posture. 2 Sensing data can be input into the previously learned neural network model 30.
- the processor 150 may obtain the coordinate value of the center of gravity corresponding to the second posture of the main body 120 using the output value of the previously learned neural network model 30.
- the center of gravity corresponding to the second posture is referred to as the third center of gravity. That is, the processor 150 may obtain the coordinate value of the third center of gravity by inputting the coordinate value of the second center of gravity and the sensing data acquired in the first posture to the previously learned neural network model 30. Meanwhile, the processor 150 may predict the second posture of the main body 120 based on the obtained coordinate values of the third center of gravity.
- the processor 150 determines the main body corresponding to the coordinate value of the third center of gravity based on the coordinate value of the third center of gravity.
- the second posture of (120) can be predicted.
- a neural network model previously trained to predict the posture of the main posture may be trained based on learning data that includes a plurality of data sets including coordinate values of the center of gravity and sensing data values.
- the processor 150 obtains the coordinate value of the center of gravity of the main body 120 within a preset space just before the main body 120 moves, and the moment it detects the movement of the main body 120.
- a neural network model using the angular velocity data and acceleration data included in the sensing data as input values, and the coordinate values of the center of gravity of the main body 120 within a preset space after the main body 120 moves as output values. can be learned. Accordingly, the processor 150 may obtain the weight value of the hidden layer of the neural network model adjusted to predict the second posture of the main body 120.
- the neural network model learned to predict the second posture of the main body 120 is referred to as a second neural network model.
- the memory may store a plurality of second neural network models learned to identify the posture of the main body 120 according to the model of the vacuum cleaner.
- the shape and weight of the vacuum cleaner may vary depending on the type and model of the vacuum cleaner. Accordingly, even if the change in movement of the vacuum cleaner is the same, that is, even if the sensing data (e.g., angular velocity value, acceleration value, etc.) acquired by the sensor 110 is the same, the vacuum cleaner 100 is different from each other depending on the model of the vacuum cleaner. You can take different positions. Accordingly, the memory may store a plurality of second neural network models according to the model of the vacuum cleaner.
- the processor 150 identifies the model of the vacuum cleaner, obtains a second neural network model corresponding to the model of the identified vacuum cleaner among the plurality of second neural network models, and includes the location of the second center of gravity and the obtained neural network model.
- the second posture of the main body 120 may be predicted by inputting the second sensing data into a previously learned second neural network model stored in the memory. That is, the processor 150 may select a vacuum cleaner model, that is, a second neural network model learned by considering the characteristics of the vacuum cleaner, from among the plurality of second neural network models.
- the processor 150 acquires a second neural network model corresponding to the model of the vacuum cleaner among a plurality of second neural network models based on the identification information of the vacuum cleaner, and uses the obtained second neural network model to generate the main body 120.
- the second posture can be predicted.
- the processor 150 predicts the second posture of the main body 120 and then determines a second angle between the main body 120 and the supporter body 130 based on the second posture of the main body 120, , the supporter body 130 can be rotated so that the determined second angle is formed.
- the processor 150 determines the posture (i.e., the second posture) of the main body 120 after t1. ) may be predicted, and the second angle between the main body 120 and the supporter body 130 may be determined based on the predicted posture.
- the second angle is an angle corresponding to the position of the supporter body 130 that can properly distribute the load (or weight) of the main body 120 when the main body 120 is in the second posture after t1. (Specifically, it may be the angle between the main body 120 and the supporter body 130).
- the processor 150 first rotates the supporter body 130 before the main body 120 assumes the second posture, so that when the main body 120 assumes the second posture (or the main body 120 (while in the second posture), the load (or weight) of the main body 120 in the second posture is not completely transmitted to the user.
- the user can move or control the vacuum cleaner 100 more conveniently by receiving distributed load (or weight).
- the processor 150 identifies that the angle corresponding to the predicted second posture of the main body 120 (i.e., the angle between the main body 120 and the supporter body 130) is ⁇ 3.
- the supporter body 130 can be rotated by controlling the drive unit 140. That is, the supporter body 130 can be rotated by controlling the motor of the driving unit 140 so that the angle between the main body 120 and the supporter body 130 increases from ⁇ 2 to ⁇ 3 .
- the main body 120 assumes the second posture as predicted by the processor 150 at t2
- the user receives the distributed load (or weight) of the main body 120 in the second posture. You can. This is because the load (or weight) of the main body 120 in the second posture has already been distributed to the supporter body 130.
- the processor 150 determines the second angle between the main body 120 and the supporter body 130 based on the predicted second posture. And, the supporter body 130 may be rotated so that the determined second angle is formed. Specifically, the supporter body 130 may be rotated by controlling the drive unit 140 so that the angle between the main body 120 and the supporter body 130 forms a second angle.
- the above-described embodiments of the present disclosure can be applied in the same manner, detailed description will be omitted.
- the processor 150 may identify the moving speed of the main body 120 based on the second sensing data and rotate the supporter body 130 at a speed corresponding to the moving speed. Specifically, the processor 150 identifies the acceleration and angular velocity of the main body 120 based on the sensing data acquired through the sensing data, and determines the rotation speed of the supporter body 130 based on the identified acceleration and acceleration. can be decided. In particular, the processor 150 may determine the rotation speed of the supporter body 130 in response to the movement speed of the main body 120.
- FIG. 8 is a detailed block diagram of a vacuum cleaner according to an embodiment of the present disclosure.
- the vacuum cleaner 100 includes one or more sensors 110, a main body 120, a supporter body 130, a driving unit 140, a communication interface 160, a memory 170, and one or more Includes a processor 150. Detailed description of the overlapping components shown in FIG. 2 will be omitted.
- One or more sensors 110 may include a gyro sensor 111 and an acceleration sensor 112.
- the main body 120 may include a handle portion 121, a suction portion 122, and an interface 123.
- the handle portion may be provided on one side of the main body 120 so that the user can hold it. At this time, the handle part can be implemented in various forms that can be grasped by the user's hand.
- the suction unit 122 is a component that suctions dust and may include a brush, motor, fan (or drum), etc. At this time, the suction unit 122 rotates a fan (or drum) as the motor rotates to suck dust on the surface to be cleaned into the interior of the cleaner 100 (i.e., the interior of the main body 120).
- Brushes can be made of materials with low friction coefficient and good wear resistance, such as natural bristles or PA (Polyamide: Nylon).
- An interface is formed on one side of the main body 120 to receive user commands.
- the interface can be implemented with buttons, keys, touch panels, etc.
- the supporter body 130 may include a wheel 131, a first frame 132, a second frame 133, a driving unit 140, and a second motor 135.
- the driving unit 140 moves the first frame 132 and the second frame 133 to adjust the length of the supporter body 130.
- the first frame 132 and the second frame 133 can be moved by rotating the second motor 135 formed on the first frame 132 and the second frame 133.
- the driving unit 140 may include a first motor 141.
- the first motor 141 rotates the second frame 133, and the first motor 141 may be connected to one side of the supporter body 130.
- the communication interface 160 can communicate with external devices and external servers through various communication methods. Communication connection of the communication interface 160 with an external device and an external server may include communication through a third device (eg, repeater, hub, access point, gateway, etc.).
- a third device eg, repeater, hub, access point, gateway, etc.
- external devices can be implemented as other vacuum cleaners, servers, cloud storage, networks, etc.
- the communication interface 160 may include various communication modules to communicate with the cleaner 100 and an external device.
- the communication interface 160 may include a wireless communication module, such as 3RD Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), and LTE Advance (LTE-A).
- a wireless communication module such as 3RD Generation (3G), 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), and LTE Advance (LTE-A).
- LTE Long Term Evolution
- LTE-A LTE Advance
- CDMA code division multiple access
- WCDMA wideband CDMA
- UMTS universal mobile telecommunications system
- WiBro wireless broadband
- GSM global system for mobile communications
- the wireless communication module may include at least one of, for example, WiFi (wireless fidelity), Bluetooth, Bluetooth low energy (BLE), and Zigbee.
- the memory 170 can store an O/S (Operating System) for operating the vacuum cleaner 100. Additionally, the memory 170 may store various software programs or applications for operating the vacuum cleaner 100 according to various embodiments of the present disclosure. The memory 170 may store various information, such as various data that is input, set, or created during the execution of a program or application. In addition, the memory 170 may include various software modules for operating the vacuum cleaner 100 according to various embodiments of the present disclosure, and the processor 150 executes the various software modules stored in the memory 170. The operation of the vacuum cleaner according to various embodiments of the disclosure may be performed. To this end, the memory 170 may include a semiconductor memory such as flash memory or a magnetic storage medium such as a hard disk.
- O/S Operating System
- a first neural network model and a second neural network model may be stored in the memory 170.
- Figure 9 is a flowchart schematically showing a control method of a vacuum cleaner according to an embodiment of the present disclosure.
- the processor 150 acquires first sensing data through one or more sensors 110 of the vacuum cleaner (S910).
- the processor 150 identifies the first posture of the main body 120 based on the acquired first sensing data (S920).
- the processor 150 determines a first angle between the main body 120 and the supporter body 130 rotatably connected to the first area of the main body 120 based on the first posture (S930).
- the processor 150 identifies the position of the first center of gravity 10 set in the main body 120, and sets the main body 120 corresponding to the first posture based on the position of the first center of gravity 10.
- the location of the second center of gravity 20 may be identified, and the first angle may be determined based on the location of the second center of gravity 20 .
- the position of the first center of gravity 10 set in the main body 120 may be set differently depending on the model of the vacuum cleaner.
- the processor 150 controls the driving unit 140 to rotate the supporter body 130 so that the determined first angle is formed (S940).
- the processor 150 may identify the first length of the supporter body 130 corresponding to the first angle and adjust the length of the supporter body 130 to form the first length.
- the method of controlling the vacuum cleaner 100 described above includes acquiring second sensing data through one or more sensors 110 in the first posture of the main body 120, and based on the acquired second sensing data, Predicting a second posture of the body 120, determining a second angle between the main body 120 and the supporter body 130 based on the second posture, and driving the drive unit 140 to form the determined second angle. It may further include a step of controlling.
- the processor 150 identifies the moving speed of the main body 120 based on the second sensing data and moves the supporter body 130 at a speed corresponding to the moving speed. can be rotated.
- steps S910 to S940 may be further divided into additional steps or combined into fewer steps, depending on the implementation of the present invention. Additionally, some steps may be omitted or the order between steps may be changed as needed.
- the methods according to various embodiments of the present disclosure described above may be implemented in the form of an application that can be installed on an existing vacuum cleaner.
- the methods according to various embodiments of the present disclosure described above may be performed using a deep learning-based learned neural network (or deep learned neural network), that is, a learning network model.
- the methods according to various embodiments of the present disclosure described above may be implemented only by upgrading software or hardware for an existing vacuum cleaner.
- the various embodiments of the present disclosure described above can also be performed through an embedded server provided in the machine or device, or an external server of the vacuum cleaner.
- the various embodiments described above may be implemented as software including instructions stored in a machine-readable storage media (e.g., a computer).
- the device is a device capable of calling instructions stored from a storage medium and operating according to the called instructions, and may include a display device (eg, display device A) according to the disclosed embodiments.
- the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor.
- Instructions may contain code generated or executed by a compiler or interpreter.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium does not contain signals and is tangible, and does not distinguish whether the data is stored semi-permanently or temporarily in the storage medium.
- the methods according to various embodiments described above may be provided and included in a computer program product.
- Computer program products are commodities and can be traded between sellers and buyers.
- the computer program product may be distributed on a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or online through an application store (e.g. Play StoreTM).
- an application store e.g. Play StoreTM
- at least a portion of the computer program product may be at least temporarily stored or created temporarily in a storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server.
- each component e.g., module or program
- each component may be composed of a single or multiple entities, and some of the sub-components described above may be omitted, or other sub-components may be omitted. Additional components may be included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity and perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added. You can.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Mechanical Engineering (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
본 개시는 청소기 및 그 제어 방법을 제공한다. 본 개시의 일 실시 예에 따른 청소기는 하나 이상의 센서, 메인 바디, 상기 메인 바디의 제1 영역에 회전 가능하도록 연결된 서포터 바디, 상기 서포터 바디를 회전시키는 구동부, 하나 이상의 프로세서를 포함한다. 하나 이상의 프로세서는 하나 이상의 센서를 통해 획득된 제1 센싱 데이터에 기초하여 상기 메인 바디의 제1 자세를 식별하고, 상기 제1 자세에 기초하여 상기 메인 바디와 상기 서포터 바디 간의 제1 각도를 결정하고, 상기 결정된 제1 각도가 형성되도록 상기 구동부를 제어하여 서포터 바디를 회전 시킨다.
Description
본 개시는 청소기 및 그 제어 방법에 관한 것이다. 보다 구체적으로, 센서를 이용하여 청소기 자세 변화를 예측하는 청소기 및 그 제어 방법에 관한 것이다.
최근 전자 기술의 발달로 다양한 형태의 청소기가 출시 되었지만, 여전히 대다수의 사용자는 핸드 스택 형, 또는 캐니스터 청소기 등과 같이 사용자가 직접 조작이 가능한 형태의 청소기를 이용하고 있다. 사용자가 청소기를 직접 이동시키면서 청소를 수행할 수 있으므로, 보다 깨끗이 청소를 수행할 수 있는 장점이 있기 때문이다.
다만, 이러한 사용자가 직접 조작하는 청소기의 경우, 청소기의 무게로 인하여 사용자가 오랜 시간 청소기를 조작하는 경우 손목, 허리 등에 무리가 가는 문제가 있다. 특히, 청소기를 낮은 자세(즉, 청소기와 지면이 형성하는 각도가 작을수록)로 조작하는 경우에 이러한 문제는 빈번하게 발생한다.
본 개시의 일 실시 예에 따른 청소기는 하나 이상의 센서, 메인 바디, 상기 메인 바디의 제1 영역에 회전 가능하도록 연결된 서포터 바디, 상기 서포터 바디를 회전시키는 구동부 및 하나 이상의 프로세서를 포함한다. 상기 하나 이상의 프로세서는 상기 하나 이상의 센서를 통해 획득된 제1 센싱 데이터에 기초하여 상기 메인 바디의 제1 자세를 식별하고, 상기 제1 자세에 기초하여 상기 메인 바디와 상기 서포터 바디 간의 제1 각도를 결정하고, 상기 결정된 제1 각도가 형성되도록 상기 구동부를 제어하여 서포터 바디를 회전 시킨다.
여기서, 상기 하나 이상의 프로세서는, 상기 제1 각도에 대응하는 상기 서포터 바디의 제1 길이를 식별하고, 상기 제1 길이를 형성하도록 상기 서포터 바디의 길이를 조정한다.
또한, 상기 하나 이상의 프로세서는, 상기 메인 바디에 설정된 제1 무게 중심의 위치를 식별하고, 상기 제1 무게 중심의 위치에 기초하여 상기 제1 자세에 대응하는 상기 메인 바디의 제2 무게 중심의 위치를 식별하고, 상기 제2 무게 중심의 위치에 기초하여 상기 제1 각도를 결정한다.
여기서, 상기 하나 이상의 프로세서는, 상기 메인 바디의 제1 자세에서 상기 하나 이상의 센서를 통해 제2 센싱 데이터에 획득하고, 상기 획득된 제2 센싱 데이터에 기초하여 상기 메인 바디의 제2 자세를 예측하고, 상기 제2 자세에 기초하여 상기 메인 바디와 상기 서포터 바디 간의 제2 각도를 결정하고, 상기 결정된 제2 각도가 형성되도록 상기 서포터 바디를 회전 시킨다.
여기서, 상기 하나 이상의 프로세서는, 상기 청소기의 모델을 식별하고, 상기 복수의 신경망 모델 중 상기 식별된 청소기의 모델에 대응하는 신경망 모델을 획득하고, 상기 획득된 신경망 모델에 상기 제2 무게 중심의 위치 및 상기 제2 센싱 데이터를 상기 메모리에 저장된 기 학습된 신경망 모델에 입력하여 상기 메인 바디의 제2 자세를 예측한다.
한편, 상기 메인 바디에 설정된 제1 무게 중심의 위치는 상기 청소기의 모델에 따라 다르게 설정된다.
본 개시의 일 실시 예에 따른 청소기를 제어 하는 방법은 상기 청소기의 하나 이상의 센서를 통해 제1 센싱 데이터를 획득하는 단계를 포함한다. 또한 상기 방법은 상기 획득된 제1 센싱 데이터에 기초하여 메인 바디의 제1 자세를 식별하는 단계를 포함한다. 또한 상기 방법은 상기 제1 자세에 기초하여 상기 메인 바디와 상기 메인 바디의 제1 영역에 회전 가능하도록 연결된 서포터 바디 간의 제1 각도를 결정하는 단계를 포함한다. 또한 상기 방법은 상기 결정된 제1 각도가 형성되도록 상기 서포터 바디를 회전시키는 구동부를 제어하는 단계를 포함한다.
한편, 본 개시의 일 실시 예에 따라 청소기의 제어 방법이 청소기의 하나 이상의 프로세서에 의해 실행되는 경우 상기 청소기의 제어 방법을 수행하도록 하는 컴퓨터 명령이 비일시적 컴퓨터 판독 가능 기록 매체에 저장될 수 있다. 이때, 상기 방법은 상기 청소기의 하나 이상의 센서를 통해 제1 센싱 데이터를 획득하는 단계를 포함한다. 또한 상기 방법은 상기 획득된 제1 센싱 데이터에 기초하여 메인 바디의 제1 자세를 식별하는 단계를 포함한다. 또한 상기 방법은 상기 제1 자세에 기초하여 상기 메인 바디와 상기 메인 바디의 제1 영역에 회전 가능하도록 연결된 서포터 바디 간의 제1 각도를 결정하는 단계를 포함한다. 또한 상기 방법은 상기 결정된 제1 각도가 형성되도록 상기 서포터 바디를 회전시키는 구동부를 제어하는 단계를 포함한다.
도 1은 본 개시의 일 실시 예에 따른 청소기를 나타낸 예시도이다.
도 2는 본 개시의 일 실시 예에 따른 청소기의 개략적인 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 청소기의 자세를 식별하여 메인 바디와 서포트 바디를 조정하는 것을 나타낸 예시도이다.
도 4는 본 개시의 일 실시 예에 따른 청소기의 무게 중심을 식별하여 청소기의 자세를 식별하는 것을 나타낸 예시도이다.
도 5는 본 개시의 일 실시 예에 따른 청소기의 자세를 식별하여 서포트 바디의 길이를 조정하는 것을 나타낸 예시도이다.
도 6은 본 개시의 일 실시 예에 따른 센서를 통해 획득된 센싱 데이터에 기초하여 청소기의 자세를 예측하는 것을 나타낸 예시도이다.
도 7은 본 개시의 일 실시 예에 따른 신경망 모델을 이용하여 청소기의 자세를 예측하는 것을 나타낸 예시도이다.
도 8는 본 개시의 일 실시 예에 따른 청소기의 상세한 블록도이다.
도 9는 본 개시의 일 실시 예에 따른 청소기의 제어 방법을 개략적으로 나타낸 순서도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 청소기(100)를 나타낸 예시도이다.
도 1을 참조하면, 본 개시의 일 실시 예에 청소기(100)는 메인 바디(120)와 서포터 바디(130)를 포함한다. 메인 바디(120)는 청소기의 본체를 형성하는 구성이고, 서포터 바디(130)는 메인 바디(120)를 지지하는 역할 형성하는 구성일 수 있다. 한편, 본 개시의 일 실시 예에 따른 청소기(100)는, 스틱형 청소기, 캐니스터 청소기 등과 같이 사용자가 청소기에 구비된 손잡이을 이용하여 청소를 수행하는 형태의 다양한 청소기를 포함한다.
기존의 청소기의 경우(예를 들어, 사용자가 청소기의 손잡이를 잡고 청소기를 조작하는 형태의 청소기의 경우)에는 사용자가 온전히 청소기의 무게를 전달 받는 문제점이 있었다. 특히, 청소기와 지면이 이루는 각도가 작을수록 사용자에게 전달되는 청소기의 하중(또는 무게)는 더 증가한다. 이로 인하여, 청소기를 오래 사용하는 경우, 사용자의 손목, 허리 등에 통증이 발생할 수 있다.
본 개시의 일 실시 예에 따른 청소기(100)는 메인 바디(120), 즉 청소기의 본체를 형성하고 손잡이가 구비됨에 따라 사용자가 손잡이를 파지하여 이동시키는 구성 이외에도 서포터 바디(130)를 더 포함한다. 상술하 바와 같이, 서포터 바디(130)는 청소기의 메인 바디(120)의 하중(또는 무게)를 분산시키는 역할을 수행한다. 이를 통해, 사용자에게 메인 바디(120)의 하중(또는 무게)가 온전히 전달되지 않을 수 있다.
특히, 이를 위해, 본 개시의 일 실시 예에 따른 청소기(100)는 메인 바디(120)의 자세를 식별하고, 메인 바디(120)의 자세에 기초하여 메인 바디(120)의 하중이 적절하게 분산될 수 있는 서포터 바디(130)의 위치를 식별한다. 그리고, 식별된 서포터 바디(130)의 위치로 서포터 바디(130)를 회전시키거나 이동시켜 메인 바디(120)의 무게(또는 하중)이 분산되도록 하고, 사용자에게 보다 적은 메인 바디(120)의 하중(또는 무게)가 전달되도록 한다. 이하, 이와 관련한 본 개시의 일 실시 예에 대하여 자세히 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 청소기의 개략적인 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 청소기의 자세를 식별하여 메인 바디(120)와 서포트 바디를 조정하는 것을 나타낸 예시도이다.
도 2를 참조하면, 본 개시의 일 실시 예에 따른 청소기(100)는 하나 이상의 센서(110), 메인 바디(120), 서포터 바디(130), 구동부(140) 및 하나 이상의 프로세서를 포함한다.
하나 이상의 센서(110)는 청소기의 움직임을 감지하고, 청소기의 움직임에 관한 데이터를 획득한다. 구체적으로, 하나 이상의 센서(110)는 청소기의 이동, 회전 등의 움직임을 감지하고, 청소기의 이동, 회전과 관련된 데이터를 획득할 수 있다. 한편, 하나 이상의 센서(110)는 메인 바디(120)의 일 측면에 구비되어, 메인 바디(120)의 움직임을 감지하고 메인 바디(120)의 움직임에 대한 데이터를 획득할 수 있다.
이에 따라, 청소기의 움직임은 청소기의 메인 바디(120)의 움직임이 될 수 있다. 구체적으로, 사용자가 청소기의 메인 바디(120)의 일 측에 구비된 손잡이 부를 잡고 청소기(100)를 이동시키면서 청소를 수행하면, 하나 이상의 센서(110)는 사용자의 조작(또는 제어)에 따라 움직이는 메인 바디(120)의 움직임을 감지하고, 메인 바디(120)의 움직임에 대한 센싱 데이터를 획득할 수 있다.
한편, 하나 이상의 센서(110)는, 자이로 센서를 포함할 수 있다. 자이로 센서는 청소기의 메인 바디(120)의 회전을 감지하고, 메인 바디(120)의 회전에 관한 데이터를 획득할 수 있다. 구체적으로, 자이로 센서는 메인 바디(120)의 회전 방향 및 회전 각도를 감지하고, 감지된 회전 방향 및 회전 각도에 대한 각속도를 측정하여 메인 바디(120)의 각속도 데이터를 획득할 수 있다.
또한, 하나 이상의 센서(110)는, 가속도 센서를 포함할 수 있다. 가속도 센서는 메인 바디(120)의 움직임을 감지하고, 메인 바디(120)의 움직임에 대한 데이터를 획득할 수 있다. 구체적으로, 가속도 센서는 메인 바디(120)의 이동 방향을 감지하고, 감지된 이동 방향에 대한 메인 바디(120)의 가속도를 측정하여 메인 바디(120)의 가속도 데이터를 획득할 수 있다.
한편, 자이로 센서와 가속도 센서는 각각 별도의 구성으로 설명되었으나, 자이로 센서와 가속도 센서는 하나의 IMU(Inertial Measurement Unit) 센서(110)로 구현될 수도 있다.
이하에서는, 설명의 편의를 위해 하나의 센서(110)를 센서(110)로 지칭한다.
메인 바디(120)는 청소기의 본체로 청소기(100)를 지지하는 역할을 수행한다. 도면에 명확히 도시되지는 않았으나, 메인 바디(120)의 일 측에는 사용자가 파지할 수 있는 손잡이 부가 구비되고, 메인 바디(120)의 타 측에는 먼지 등을 흡입하는 흡입 부가 구비될 수 있다. 또한, 메인 바디(120)의 내부에는 흡입 부에서 먼지를 흡입할 수 있도록 팬(또는 드럼), 모터 등이 포함될 수 있다.
서포터 바디(130)는 메인 바디(120)와 연결되며, 청소기의 하중을 분산하는 역할을 수행한다. 구체적으로, 서포터 바디(130)는 사용자가 메인 바디(120)의 손잡이를 잡고 청소기(100)를 이동시킬 때, 청소기(100)에 작용하는 중력에 의한 하중(또는 무게)을 분산시키는 역할을 수행한다. 이를 위해, 서포터 바디(130)는 메인 바디(120)에 회전 가능하게 연결된다.
한편, 서포터 바디(130)는 복수의 프레임을 포함할 수 있다. 일 예로, 복수의 프레임은 원통 형태로 구현될 수 있다. 이때, 복수의 프레임은 텔레스픽 구조로 연결될 수 있다. 이에 따라, 복수의 프레임을 포함하는 서포터 바디(130)의 길이가 신장되거나 축소될 수 있다. 일 예로, 복수의 프레임이 원통 형태의 제1 프레임과 제2 프레임을 포함하는 경우, 제1 프레임의 직경은 제2 프레임의 직경보다 크게 형성될 수 있다. 이때, 제2 프레임의 일 측과 제1 프레임의 일 측이 텔레스픽 구조로 연결된 경우, 제2 프레임이 제1 프레임의 내부로 이동함에 따라 서포터 바디(130)의 길이는 축소될 수 있다. 또는, 제2 프레임이 제1 프레임의 내부에서 외부로 이동함에 따라 서포터 바디(130)의 길이는 늘어날 수 있다.
한편, 서포터 바디(130)의 경우 텔레스픽 구조로 연결된 복수의 프레임의 위치를 조정하기 위하여, 서포터 바디(130)의 내부에 모터, 피니언, 래크 등이 포함될 수 있다. 일 예로, 상술한 제1 프레임과 제2 프레임이 연결된 경우, 제1 프레임(또는 제2 프레임) 내부에 일 측 방향으로 래크가 형성되고, 제2 프레임에 피니언이 형성된 후 제1 프레임 내부에 형성된 래크 상에 위치하고, 피니언의 중심 부에 모터가 연결될 수 있다. 이때, 모터가 회점함에 따라 제2 프레임은 제1 프레임 내에서 이동할 수 있다.
한편, 서포터 바디(130)는 댐퍼 복수의 프레임이 탄력적으로 이동할 수 있도록 하는 댐퍼, 쇽옵 서버 등을 더 포함할 수 있다.
구동부(140)는 서포터 바디(130)를 회전시키는 구성이다. 이를 위해, 구동부(140)는 모터를 더 포함할 수 있다. 구동부(140)는 메인 바디(120)의 제1 영역에 형성될 수 있다. 일 예로, 제1 영역은 메인 바디(120)의 중앙일 수 있다. 다만, 이에 제한되는 것은 아니다. 서포터 바디(130)는 제1 영역에 형성된 구동부(140)를 통해 메인 바디(120)와 연결될 수 있다. 일 예로, 서포터 바디(130)의 일 측면은 구동부(140)에 포함된 모터와 결합될 수 있다. 이에 따라, 청소기(100)는 모터를 회전시켜 모터를 회전 축으로 서포터 바디(130)를 회전시킬 수 있다.
이때, 모터와 결합된 서포터의 일 측면의 반대 방향에 위치한 타 측면에는 바퀴가 형성될 수 있다. 이에 따라, 모터가 회전함에 따라 서포터 바디(130)가 회전하면, 지면에 접지한 서포터 바디(130)의 타 측면에 형성된 바퀴가 이동할 수 있다.
하나 이상의 프로세서(150)는 청소기의 전반적인 동작을 제어할 수 있다. 구체적으로, 하나 이상의 프로세서(150)는 센서(110), 메인 바디(120), 서포터 바디(130) 및 구동부(140) 등 청소기(100) 내 다양한 구성 요소들과 전기적으로 연결되어 청소기의 전반적인 동작을 제어할 수 있다. 이를 위해, 하나 이상의 프로세서(150)는 RAM(Random Access Memory)(도시되지 않음), ROM(Read Only Memory)(도시되지 않음), CPU(central processing unit)(도시되지 않음), GPU(Graphic processing unit)(도시되지 않음) 및 시스템 버스(도시되지 않음) 등을 포함할 수 있으며, 청소기에 포함된 하나 이상의 구성요소들의 제어에 관한 연산이나 데이터 처리를 실행할 수 있다.
하나 이상의 프로세서(150)는 스토리지(도시되지 않음)에 저장된 하나 이상의 명령어를 실행시켜 청소기에 포함된 하나 이상의 구성요소들을 제어하거나, 하드웨어적인 회로 내지는 칩으로서 하나 이상의 구성요소들을 제어하거나, 또는 소프트웨어 및 하드웨어의 결합으로서 하나 이상의 구성요소들을 제어할 수 있다.
하나 이상의 프로세서(150)는 CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), MIC (Many Integrated Core), DSP (Digital Signal Processor), NPU (Neural Processing Unit), 하드웨어 가속기 또는 머신 러닝 가속기 중 하나 이상을 포함할 수 있다. 하나 이상의 프로세서(150)는 청소기의 다른 구성요소 중 하나 또는 임의의 조합을 제어할 수 있으며, 통신에 관한 동작 또는 데이터 처리를 수행할 수 있다. 하나 이상의 프로세서(150)는 메모리에 저장된 하나 이상의 프로그램 또는 명령어(instruction)을 실행할 수 있다. 예를 들어, 하나 이상의 프로세서(150)는 메모리에 저장된 하나 이상의 명령어를 실행함으로써, 본 개시의 일 실시 예에 따른 방법을 수행할 수 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 하나의 프로세서에 의해 수행될 수도 있고, 복수의 프로세서에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제 1 동작, 제 2 동작, 제 3 동작이 수행될 때, 제 1 동작, 제 2 동작, 및 제 3 동작 모두 제 1 프로세서에 의해 수행될 수도 있고, 제 1 동작 및 제 2 동작은 제 1 프로세서(예를 들어, 범용 프로세서에 의해 수행되고 제 3 동작은 제 2 프로세서(예를 들어, 인공지능 전용 프로세서)에 의해 수행될 수도 있다.
하나 이상의 프로세서는 하나의 코어를 포함하는 단일 코어 프로세서(single core processor)로 구현될 수도 있고, 복수의 코어(예를 들어, 동종 멀티 코어 또는 이종 멀티 코어)를 포함하는 하나 이상의 멀티 코어 프로세서(multicore processor)로 구현될 수도 있다. 하나 이상의 프로세서가 멀티 코어 프로세서로 구현되는 경우, 멀티 코어 프로세서에 포함된 복수의 코어 각각은 캐시 메모리, 온 칩(On-chip) 메모리와 같은 프로세서(150) 내부 메모리를 포함할 수 있으며, 복수의 코어에 의해 공유되는 공통 캐시가 멀티 코어 프로세서에 포함될 수 있다. 또한, 멀티 코어 프로세서에 포함된 복수의 코어 각각(또는 복수의 코어 중 일부)은 독립적으로 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있고, 복수의 코어 전체(또는 일부)가 연계되어 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 멀티 코어 프로세서에 포함된 복수의 코어 중 하나의 코어에 의해 수행될 수도 있고, 복수의 코어에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제 1 동작, 제 2 동작, 및 제 3 동작이 수행될 때, 제 1 동작, 제2 동작, 및 제3 동작 모두 멀티 코어 프로세서에 포함된 제 1 코어에 의해 수행될 수도 있고, 제 1 동작 및 제 2 동작은 멀티 코어 프로세서에 포함된 제 1 코어에 의해 수행되고 제 3 동작은 멀티 코어 프로세서에 포함된 제 2 코어에 의해 수행될 수도 있다.
본 개시의 실시 예들에서, 프로세서(150)는 하나 이상의 프로세서 및 기타 전자 부품들이 집적된 시스템 온 칩(SoC), 단일 코어 프로세서, 멀티 코어 프로세서, 또는 단일 코어 프로세서 또는 멀티 코어 프로세서에 포함된 코어를 의미할 수 있으며, 여기서 코어는 CPU, GPU, APU, MIC, DSP, NPU, 하드웨어 가속기 또는 기계 학습 가속기 등으로 구현될 수 있으나, 본 개시의 실시 예들이 이에 한정되는 것은 아니다.
이하에서는, 설명의 편의를 위해 하나 이상의 프로세서(150)를 프로세서(150)로 지칭하도록 한다.
프로세서(150)는 하나 이상의 센서(110)를 통해 획득된 센싱 데이터에 기초하여 메인 바디(120)의 제1 자세를 식별한다.
구체적으로, 프로세서(150)는 센서(110)를 통해 획득된 메인 바디(120)의 각속도 데이터 및 가속도 데이터에 기초하여, 메인 바디(120)의 제1 자세를 식별할 수 있다. 여기서 메인 바디(120)의 제1 자세는 메인 바디(120)의 기울어짐 등을 식별할 수 있다. 그리고, 식별된 각도에 대응하는 메인 바디(120)의 자세를 식별할 수 있다. 구체적으로, 프로세서(150)는 자이로 센서를 통해 메인 바디(120)의 기울어짐 등을 감지하고, 메인 바디(120)의 회전 방향 등을 식별하여 메인 바디(120)에 대한 각속도 데이터를 획득할 수 있다. 그리고, 프로세서(150)는 획득된 각속도 센서(110)에 기초하여 메인 바디(120)의 자세를 식별할 수 있다.
일 예로, 프로세서(150)는 각속도 데이터를 바탕으로 메인 바디(120)와 지면 간의 각도를 식별할 수 있다. 그리고, 프로세서(150)는 식별된 각도에 대응하는 메인 바디(120)의 자세를 식별할 수 있다.
한편, 상술한 동작은, 청소기(100) 온 됨에 따라 수행될 수 있다. 즉, 청소기(100)가 오프 된 상태에서는 메인 바디(120)와 청소기(100) 바디가 평행을 이룰 수 있다. 이때, 청소기(100)가 온 되면, 프로세서(150)는 청소기의 온 된 상태에서 메인 바디(120)의 자세를 식별할 수 있다. 상술한 바와 같이 센서(110)를 통해 획득된 센싱 데이터를 바탕으로 메인 바디(120)의 자세를 식별할 수 있다.
그리고, 프로세서(150)는 자세에 기초하여 메인 바디(120)와 서포터 바디(130) 간의 각도를 결정한다.
구체적으로, 프로세서(150)는 식별된 메인 바디(120)의 자세에서 메인 바디(120)의 하중을 분산시키기 위한 서포터 바디(130)의 위치를 식별할 수 있다. 여기서, 서포터 바디(130)의 위치는 메인 바디(120)에 연결된 서포터 바디(130)가 회전함에 따라 이동하는 위치이다. 따라서, 프로세서(150)는 메인 바디(120)에 연결된 서포터 바디(130)를 회전시킬 각도를 식별한다.
구체적으로, 도 3을 참조하면, 일 예로, 프로세서(150)는 청소기(100)에 구비된 인터페이스를 통해 청소기(100)를 온 시키는 명령어가 입력되면, 프로세서(150)는 오프 상태였던 청소기(100)를 온 상태로 전환하고, 청소기의 메인 바디(120)의 자세를 식별할 수 있다.
그리고, 프로세서(150)는 메인 바디(120)의 자세에 대응하는 서포터 바디(130)의 회전 각도를 식별할 수 있다. 여기서, 서포터 바디(130)의 회전 각도는 청소기의 메모리에 저장된 메인 바디(120)의 자세에 대응하는 메인 바디(120)와 서포터 바디(130) 간의 각도 정보를 포함한 테이블을 바탕으로 식별할 수 있다. 즉, 프로세서(150)는 테이블 내에서 메인 바디(120)의 자세를 식별하고, 식별된 자세에 대응하는 각도 정보를 획득할 수 있다.
뿐만 아니라, 메인 바디(120)의 자세에 따라 메인 바디(120)의 하중(또는 무게)를 적절하게 분산시키기 위한 각도를 식별하도록 기 학습된 신경망 모델을 이용하여 프로세서(150)는 메인 바디(120)와 서포터 바디(130) 간의 각도를 결정할 수 있다. 일 예로, 프로세서(150)는 기 학습된 신경망 모델에 메인 바디(120)의 자세 정보(또는 메인 바디(120)에 대하여 획득된 센싱 데이터)를 입력하여, 메인 바디(120)와 서포터 바디(130) 간의 각도 값을 출력 값으로 획득할 수 있다. 이를 위해, 기 학습된 신경망 모델은 복수의 메인 바디(120)의 자세 정보(또는 복수의 메인 바디(120)에 대하여 획득된 센싱 데이터)를 포함하는 학습 데이터에 기초하여 사전에 학습될 수 있다. 이하에서는, 메인 바디(120)의 자세에 따라 메인 바디(120)의 하중(또는 무게)를 적절하게 분산시키기 위한 각도를 식별하도록 기 학습된 신경망 모델을 제1 신경망 모델로 지칭한다.
도 4는 본 개시의 일 실시 예에 따른 청소기의 무게 중심을 식별하여 청소기의 자세를 식별하는 것을 나타낸 예시도이다.
한편, 본 개시의 일 실시 예에 따라 프로세서(150)는 메인 바디(120)에 설정된 제1 무게 중심(10)의 위치를 식별하고, 제1 무게 중심(10)의 위치에 기초하여 제1 자세에 대응하는 메인 바디(120)의 제2 무게 중심(20)의 위치를 식별하고, 제2 무게 중심(20)의 위치에 기초하여 제1 각도를 결정할 수 있다.
여기서 제1 무게 중심(10)은 청소기의 메인 바디(120)에 기 설정된 무게 중심일 수 있다. 구체적으로, 제1 무게 중심(10)은 청소기(100)가 거치 되거나 또는 정지된 상태에서 청소기의 메인 바디(120)에 작용하는 무게 중심일 수 있다.
한편, 메인 바디(120)에 설정된 제1 무게 중심(10)의 위치는 청소기의 모델에 따라 다르게 설정될 수 있다. 구체적으로 청소기의 형태, 무게 등에 따라 무게 중심을 청소기의 메인 바디(120) 내에서 다르게 설정될 수 있다. 이에 따라 프로세서(150)는 청소기의 유형(또는 모델)을 식별한 후 식별된 청소기의 유형(또는 모델)에 대응하는 기 설정된 제1 무게 중심(10)을 식별할 수 있다.
그리고, 프로세서(150)는, 센싱 데이터를 바탕으로 식별된 메인 바디(120)의 자세에서의 제2 무게 중심(20)을 식별할 수 있다. 여기서, 제2 무게 중심(20)은 메인 바디(120)의 자세의 따라 메인 바디(120)에서 식별되는 무게 중심일 수 있다.
이때, 제1 무게 중심(10)과 제2 무게 중심(20)은 3차원 공간의 좌표 값으로 식별할 수 있다. 구체적으로, 프로세서(150)는 청소기(100)에 대하여 기 설정된 제1 무게 중심(10)을 기 설정된 3차원 좌표 공간에서 식별할 수 있다. 구체적으로, 도 4를 참조하면 프로세서(150)는 기 설정된 3차원 좌표 공간에서의 제1 무게 중심(10')에 대한 좌표 값을 식별할 수 있다. 그리고, 프로세서(150)는 센싱 데이터를 바탕으로 식별된 메인 바디(120)에의 자세에서의 무게 중심인 제2 무게 중심(20)을 기 설정된 3차원 좌표 공간에서 식별할 수 있다. 여기서, 기 설정된 3차원 좌표 공간에서의 제2 무게 중심(20')의 좌표 값은 센싱 데이터를 바탕으로 식별될 수 있다. 즉, 프로세서(150)는 자이로 센서를 통해 획득된 각속도 값 또는 가속도 센서를 통해 획득된 가속도 값 중 적어도 하나와 기 설정된 3차원 좌표 공간에서의 제1 무게 중심(10')의 좌표 값에 기초하여, 기 설정된 3차원 좌표 공간에서의 제2 무게 중심(20')의 좌표 값을 식별할 수 있다. 이때, 프로세서(150)는 제2 무게 중심의 좌표 값에 기초하여 메인 바디(120)의 자세를 식별할 수 있다.
그리고, 프로세서(150)는 결정된 각도가 형성되도록 구동부(140)를 제어하여 서포터 바디(130)를 회전 킨다. 구체적으로, 프로세서(150)는 바디의 자세에 기초하여 결정된 메인 바디(120)와 서포터 간의 각도가 메인 바디(120)의 자세에 기초하여 결정된 각도가 되도록 구동부(140)를 제어할 수 있다. 이때, 프로세서(150)는 메인 바디(120)의 자세에 기초하여 결정된 각도에 대응하는 전기적 신호를 구동부(140)의 모터로 전달할 수 있다. 이에 따라, 모터가 회전함으로써, 모터에 연결된 서포터 바디(130) 또한 회전할 수 있다. 이때, 서포터 바디(130)는 메인 바디(120)를 기준으로 시계 방향 또는 반 시계 방향으로 결정된 각도 만큼 회전할 수 있다.
다시 도 3을 참조하면, 프로세서(150)는 메인 바디(120)의 자세에 기초하여 메인 바디(120)와 서포터 바디(130) 간의 각도를 θ2로 결정하였다. 즉, 프로세서(150)는 메인 바디(120)와 서포터 바디(130) 간의 각도가 θ2를 형성하면, 메인 바디(120)의 하중(또는 무게)가 적절하게 서포터 바디(130)로 분산되는 것으로 식별하였다. 이에 따라, 프로세서(150)는 메인 바디(120)와 서포터 바디(130) 간의 각도가 θ2를 형성하도록 메인 바디(120)와 평형을 이루는 서포터 바디(130)를 회전 시키기 위하여 구동부(140)를 제어할 수 있다. 즉, 구동부(140)에 포함된 모터를 회전시켜, 모터를 회전 축으로 모터와 연결된 서포터 바디(130)를 θ2의 각도 만큼 회전 시킬 수 있다.
도 5는 본 개시의 일 실시 예에 따른 청소기의 자세를 식별하여 서포트 바디의 길이를 조정하는 것을 나타낸 예시도이다.
한편, 본 개시의 일 실시 예에 따라 프로세서(150)는, 제1 각도에 대응하는 서포터 바디(130)의 제1 길이를 식별하고, 제1 길이를 형성하도록 서포터 바디(130)의 길이를 조정할 수 있다.
구체적으로, 프로세서(150)는 구동부(140)를 제어하여 서포터 바디(130)를 회전시킨 후 서포터 바디(130)의 길이를 조정하여, 메인 바디(120)의 하중(무게)가 보다 적절히 분산되도록 제어할 수 있다. 일 예로, 서포터 바디(130)의 타 측면이 또는 타 측면에 형성된 바퀴가 지면에 닿는 경우에, 비로소 메인 바디(120)의 하중(무게)가 서포터 바디(130)로 분산될 수 있다.
특히, 프로세서(150)는 서포터 바디(130)의 길이는 메인 바디(120)와 서포터 바디(130) 간의 각도에 대응하여 식별할 수 있다. 즉, 프로세서(150)는 메인 바디(120)와 서포터 바디(130)가 특정 각도를 형성하였을 때, 특정 각도에서 서포터 바디(130)의 타 측면이 또는 타 측면에 형성된 바퀴가 지면에 닿을 수 있는 서포터 바디(130)의 길이를 식별할 수 있다. 프로세서(150)는 메모리에 저장된 메인 바디(120)와 서포터 바디(130) 간의 각도에 대응하는 서포터 바디(130)의 길이 정보를 포함하는 테이블을 이용하여 서포터 바디(130)의 길이를 결정할 수 있다.
특히, 메인 바디(120)와 서포터 바디(130) 간의 각도에 따른 서포터 바디(130)의 길이는 서포터 바디(130)가 메인 바디(120)에 결합된 위치, 메인 바디(120)의 길이 등에 따라 동일한 각도의 경우에도 상이한 값을 가질 수 있다. 따라서, 프로세서(150)는 청소기의 모델을 식별하고, 식별된 청소기의 모델을 바탕으로 메인 바디(120)와 서포터 바디(130) 간의 각도에 대응하는 서포터 바디(130)의 길이를 결정할 수 있다.
도 5를 참조하면, 프로세서(150)는 구동부(140)를 제어하여 서포터 바디(130)를 회전시킴으로써, 메인 바디(120)와 서포터 바디(130) 간의 각도가 θ2를 형성하면, 서포터 바디(130)의 길이를 조정할 수 있다.
또는, 프로세서(150)는 서포터 바디(130)가 회전하는 동안 서포터 바디(130)의 길이를 함께 조정할 수도 있다. 이때, 서포터 바디(130)의 길이가 조정하는 가속도는 서포터 바디(130)가 회전하는 각속도에 대응할 수 있다. 즉, 프로세서(150)는 서포터 바디(130)가 회전하는 각속도와 비례하여 서포터 바디(130)의 길이를 조정할 수 있다.
한편, 도 5를 참조하면, 프로세서(150)는 메인 바디(120)와 서포터 바디(130) 간의 각도가 θ2인 경우, 서포터 바디(130)의 길이를 L2로 결정하고, 결정된 길이로 서포터 바디(130)의 길이를 조정할 수 있다. 일 예로, 서포터 바디(130) 내 모터를 제어하여 서포터 길이를 조정할 수 있다. 예를 들어, 서포터 바디(130)가 제1 프레임(132)과 제2 프레임(133)이 텔레스픽 구조로 연결된 경우, 제1 프레임(132)과 제2 프레임(133)에 연결 부에 형성된 모터를 회전시켜, 제2 프레임(133)이 제1 프레임(132) 내로 이동시킬 수 있다. 이에 따라, L1의 길이를 갖던 서포터 바디(130)는 L2 길이로 축소될 수 있다.
도 6은 본 개시의 일 실시 예에 따른 센서(110)를 통해 획득된 센싱 데이터에 기초하여 청소기의 자세를 예측하는 것을 나타낸 예시도이다.
한편, 본 개시의 일 실시 예에 따라, 프로세서(150)는 센서(110)를 통해 획득된 센싱 데이터와 메인 바디(120)의 현재 자세를 바탕으로, 메인 바디(120)의 다음 자세를 예측할 수 있다. 이하, 이와 관련된 본 개시의 실시 예에 대하여 설명한다. 설명의 편의를 위해 현재 메인 바디(120)의 자세를 제1 자세로 지칭하고, 현재 메인 바디(120)의 자세에서 획득된 센싱 데이터를 바탕으로 예측된 메인 바디(120)의 자세를 제2 자세로 지칭한다.
본 개시의 일 실시 예에 따라 프로세서(150)는, 메인 바디(120)의 제1 자세에서 하나 이상의 센서(110)를 통해 센싱 데이터에 획득할 수 있다. 구체적으로, 프로세서(150)가 구동부(140)를 제어하여 서포터 바디(130)를 회전시키고, 메인 바디(120)와 서포터 바디(130) 간의 각도가 제1 각도가 형성되면, 프로세서(150)는 센서(110)를 통해 계속하여 센싱 데이터를 획득할 수 있다. 일 예로, 프로세서(150)는 주기적으로 센서(110)를 통해 메인 바디(120)의 움직임에 대한 각속도 데이터와 가속도 데이터를 획득할 수 있다. 이하에서는, 서포터 바디(130)를 회전시키는데 이용된 센싱 데이터(즉, 제1 센싱 데이터)와 서포터 바디(130)가 회전된 후 획득된 센싱 데이터를 구별하기 위하여, 이하 서포터 바디(130)가 회전된 후 획득된 센싱 데이터를 제2 센싱 데이터로 지칭한다.
프로세서(150)는 획득된 제2 센싱 데이터에 기초하여 메인 바디(120)의 자세를 예측할 수 있다. 구체적으로, 프로세서(150)는 메인 바디(120)의 제1 자세에서 획득된 제2 센싱 데이터에 기초하여, 메인 바디(120)의 제1 자세 이후의 자세를 예측할 수 있다. 이하, 제2 센싱 데이터에 기초하여 예측된 메인 바디(120)의 제1 자세 이후의 자세를 메인 바디(120)의 제2 자세로 지칭한다.
프로세서(150)는, 메인 바디(120)의 제1 자세에서 획득된 제2 센싱 데이터에 포함된 각속도 데이터에 기초하여 메인 바디(120)의 회전 방향, 회전 각도, 회전 속도를 식별할 수 있다. 이에 따라, 프로세서(150)는 메인 바디(120)의 제1 자세에서 식별된 회전 방향, 회전 각도, 회전 속도에 기초하여 메인 바디(120)의 다음 자세, 즉 제2 자세를 예측할 수 있다. 예를 들어, 메인 바디(120)의 제1 자세에서 획득된 각속도 데이터에 기초하여 메인 바디(120)가 지면 방향으로 회전하는 것으로 식별되면, 프로세서(150)는 메인 바디(120)의 자세가 메인 바디(120)와 지면과 이루는 각도가 감소하는 것으로 예측할 수 있다.
또한 프로세서(150)는, 메인 바디(120)의 제1 자세에서 획득된 제2 센싱 데이터에 포함된 가속도 데이터에 기초하여 메인 바디(120)의 이동 방향, 이동 속도를 식별할 수 있다. 이에 따라, 프로세서(150)는 메인 바디(120)의 제1 자세에서 식별된 이동 방향, 이동 속도에 기초하여 메인 바디(120)의 다음 자세, 즉 제2 자세를 예측할 수 있다.
또한, 프로세서(150)는 제2 센싱 데이터에 포함된 각속도 데이터와 가속도 데이터를 함께 고려하여 메인 바디(120)의 제2 자세를 예측할 수도 있다.
한편, 프로세서(150)는 제2 센싱 데이터에 기초하여 메인 바디(120)의 제2 자세를 예측하기 위하여, 메인 바디(120)의 자세를 예측하도록 학습된 신경망 모델을 이용할 수도 있다. 이하, 이와 관련된 본 개시의 실시 예에 대하여 설명한다.
도 7은 본 개시의 일 실시 예에 따른 신경망 모델을 이용하여 청소기의 자세를 예측하는 것을 나타낸 예시도이다.
본 개시의 일 실시 예에 따라 청소기(100)는, 메모리를 더 포함할 수 있다. 이때, 메모리에는 메인 자세의 자세를 예측하도록 기 학습된 신경망 모델이 저장될 수 있다.
일 예로, 프로세서(150)는, 메인 바디(120)의 무게 중심의 위치와 센싱 데이터를 메모리에 저장된 기 학습된 신경망 모델에 입력하여 메인 바디(120)의 자세를 예측할 수 있다.
구체적으로, 도 7을 참조하면, 프로세서(150)는 제1 자세에서의 메인 바디(120)의 무게 중심의 위치, 즉 제2 무게 중심의 좌표 값과 제1 자세에서 획득된 센싱 데이터, 즉 제2 센싱 데이터를 기 학습된 신경망 모델(30)에 입력할 수 있다. 그리고, 프로세서(150)는 기 학습된 신경망 모델(30)의 출력 값으로, 메인 바디(120)의 제2 자세에 대응하는 무게 중심의 좌표 값을 획득할 수 있다. 이하, 제2 자세에 대응하는 무게 중심을 제3 무게 중심으로 지칭한다. 즉, 프로세서(150)는 제2 무게 중심의 좌표 값과 제1 자세에서 획득된 센싱 데이터를 기 학습된 신경망 모델(30)에 입력하여 제3 무게 중심의 좌표 값을 획득할 수 있다. 한편, 프로세서(150)는 획득된 제3 무게 중심의 좌표 값에 기초하여, 메인 바디(120)의 제2 자세를 예측할 수 있다.
메인 바디(120)의 자세에 따라 메인 바디(120)의 무게 중심의 위치 또한 변하기 때문에, 프로세서(150)는 제3 무게 중심의 좌표 값에 기초하여 제3 무게 중심의 좌표 값에 대응하는 메인 바디(120)의 제2 자세를 예측할 수 있다.
이를 위해, 메인 자세의 자세를 예측하도록 기 학습된 신경망 모델은, 무게 중심의 좌표 값 및 센싱 데이터 값을 포함하는 데이터 셋이 복수 개 포함된 학습 데이터에 기초하여 학습될 수 있다. 일 예로, 프로세서(150)는 메인 바디(120)가 움직이기 직전의 기 설정된 공간 내에서의 메인 바디(120)의 무게 중심의 좌표 값과, 메인 바디(120)의 움직임을 감지하는 순간 획득된 센싱 데이터에 포함된 각속도 데이터 및 가속도 데이터를 입력 값으로, 그리고 메인 바디(120)가 움직인 이후의 기 설정된 공간 내에서의 메인 바디(120)의 무게 중심의 좌표 값을 출력 값으로 하여 신경망 모델을 학습시킬 수 있다. 이에 따라, 프로세서(150)는 메인 바디(120)의 제2 자세를 예측하도록 조정된 신경망 모델의 은닉 층의 가중 치 값을 획득할 수 있다. 이하에서는, 메인 바디(120)의 제2 자세를 예측하도록 학습된 신경망 모델을 제2 신경망 모델로 지칭한다.
한편, 본 개시의 일 실시 예에 따라 메모리는, 청소기의 모델에 따라 메인 바디(120)의 자세를 식별하도록 학습된 복수의 제2 신경망 모델을 저장할 수 있다.
즉, 청소기의 유형, 모델 등에 따라 청소기의 형상, 무게 등이 상이할 수 있음은 상술하여 설명한 바 있다. 이에 따라, 청소기의 움직임의 변화가 동일하더라도, 즉, 센서(110)에 의해 획득된 센싱 데이터(예를 들어, 각속도 값, 가속도 값 등)이 동일하더라도 청소기의 모델에 따라서 청소기(100)가 서로 다른 자세를 취할 수 있다. 따라서, 메모리는 청소기의 모델에 따른 복수의 제2 신경망 모델을 저장할 수 있다.
따라서, 프로세서(150)는, 청소기의 모델을 식별하고, 복수의 제2 신경망 모델 중 식별된 청소기의 모델에 대응하는 제2 신경망 모델을 획득하고, 획득된 신경망 모델에 제2 무게 중심의 위치 및 제2 센싱 데이터를 메모리에 저장된 기 학습된 제2 신경망 모델에 입력하여 메인 바디(120)의 제2 자세를 예측할 수 있다. 즉, 프로세서(150)는 복수의 제2 신경망 모델 중 청소기의 모델, 즉 청소기의 특성을 고려하여 학습된 제2 신경망 모델을 선별할 수 있다. 이를 위해, 프로세서(150)는 청소기의 식별 정보를 바탕으로 복수의 제2 신경망 모델 중 청소기의 모델에 대응하는 제2 신경망 모델을 획득하고, 획득된 제2 신경망 모델을 이용하여 메인 바디(120)의 제2 자세를 예측할 수 있다.
한편, 프로세서(150)는 메인 바디(120)의 제2 자세를 예측한 후 메인 바디(120)의 제2 자세에 기초하여 메인 바디(120)와 서포터 바디(130) 간의 제2 각도를 결정하고, 결정된 제2 각도가 형성되도록 서포터 바디(130)를 회전 시킬 수 있다.
다시 도 6을 참조하면, t1에서 센서(110)를 이용하여 획득된 메인 바디(120)의 센싱 데이터에 기초하여 프로세서(150)는 메인 바디(120)의 t1 이후의 자세(즉, 제2 자세)를 예측하고, 예측된 자세에 기초하여 메인 바디(120)와 서포터 바디(130) 간의 제2 각도를 결정할 수 있다. 여기서, 제2 각도는 메인 바디(120)가 t1 이후 제2 자세를 갖는 경우에 메인 바디(120)의 하중(또는 무게)를 적절하게 분산시킬 수 있는 서포터 바디(130)의 위치에 대응하는 각도(구체적으로, 메인 바디(120)와 서포터 바디(130) 간의 각도)일 수 있다. 이에 따라, 프로세서(150)는 메인 바디(120)가 제2 자세를 갖기 전에 먼저 서포터 바디(130)를 회전시킴으로써, 메인 바디(120)가 제2 자세를 갖을 때(또는 메인 바디(120)가 제2 자세를 갖는 동안), 메인 바디(120)의 제2 자세에서 갖는 하중(또는 무게)이 온전히 사용자에게 전달되지 않도록 한다. 즉, 사용자가 분산된 하중(또는 무게)을 전달 받음으로써, 보다 편리하게 청소기(100)를 이동시키거나 제어할 수 있도록 한다.
다시 도 6을 참조하면, 프로세서(150)는 예측된 메인 바디(120)의 제2 자세에 대응하는 각도(즉, 메인 바디(120)와 서포터 바디(130) 간의 각도)가 θ3인 것으로 식별되면, 구동부(140)를 제어하여 서포터 바디(130)를 회전시킬 수 있다. 즉, 메인 바디(120)와 서포터 바디(130) 간의 각도가 θ2에서 θ3로 증가하도록 구동부(140)의 모터를 제어하여 서포터 바디(130)를 회전시킬 수 있다. 이에 따라, t2에서 프로세서(150)가 예측했던 것과 같이 메인 바디(120)가 제2 자세를 갖으면, 사용자는 제2 자세에의 분산된 메인 바디(120)의 하중(또는 무게)를 전달 받을 수 있다. 이미 제2 자세에서의 메인 바디(120)의 하중(또는 무게)가 서포터 바디(130)로 분산되었기 때문이다.
한편, 프로세서(150)는 메인 바디(120)의 자세가 예측했던 제2 자세인 것으로 식별되면, 예측된 제2 자세에 기초하여 메인 바디(120)와 서포터 바디(130) 간의 제2 각도를 결정하고, 결정된 제2 각도가 형성되도록 서포터 바디(130)를 회전시킬 수 있다. 구체적으로, 메인 바디(120)와 서포터 바디(130) 간의 각도가 제2 각도를 형성하도록 구동부(140)를 제어하여 서포터 바디(130)를 회전시킬 수 있다. 이와 관련해서는 상술한 본 개시의 실시 예가 동일하게 적용될 수 있으므로 상세한 설명은 생략하도록 한다.
한편, 프로세서(150)는, 제2 센싱 데이터에 기초하여 메인 바디(120)의 이동 속도를 식별하고, 이동 속도에 대응하는 속도로 서포터 바디(130)를 회전 시킬 수 있다. 구체적으로, 프로세서(150)는 센싱 데이터를 통해 획득된 센싱 데이터를 바탕으로, 메인 바디(120)의 가속도, 각속도 등을 식별하고, 식별된 가속도, 가속도를 기초로 서포터 바디(130)의 회전 속도를 결정할 수 있다. 특히, 프로세서(150)는 서포터 바디(130)의 회전 속도는 메인 바디(120)의 이동 속도에 대응하여 결정할 수 있다.
도 8는 본 개시의 일 실시 예에 따른 청소기의 상세한 블록도이다.
본 개시의 일 실시 예에 따른 청소기(100)는 하나 이상의 센서(110), 메인 바디(120), 서포터 바디(130), 구동부(140), 통신 인터페이스(160), 메모리(170) 및 하나 이상의 프로세서(150)를 포함한다. 도 2에서 도시된 중복된 구성 요소에 대해서는 자세한 설명은 생략하도록 한다.
하나 이상의 센서(110)는 자이로 센서(111)와 가속도 센서(112)를 포함할 수 있다.
그리고, 메인 바디(120)는 손잡이 부(121), 흡입 부(122), 및 인터페이스(123)를 포함할 수 있다.
손잡이 부는 메인 바디(120)의 일 측에 사용자가 파지할 수 있도록 구비될 수 있다. 이때, 손잡이 부는 사용자의 손에 의하여 파지될 수 있는 다양한 형태로 구현될 수 있다.
흡입 부(122)는 먼지를 흡입하는 구성으로, 브러시, 모터, 팬(또는 드럼) 등을 포함할 수 있다. 이때, 흡입 부(122)는 모터가 회전함에 따라 팬(또는 드럼)을 회전 시켜 피 청소 면 상의 먼지를 청소기(100) 내부(즉, 메인 바디(120)의 내부)로 흡입한다. 브러쉬는 천연모 또는 PA(Polyamide: 나일론) 등의 마찰계수가 적고 내마모성이 좋은 재질로 구현될 수 있다.
인터페이스는 메인 바디(120)의 일 측면에 형성되어 사용자 명령을 입력 받는다. 이를 위해, 인터페이스는 버튼, 키, 터치 패널 등으로 구현될 수 있다.
한편, 서포터 바디(130)는 휠(131), 제1 프레임(132), 제2 프레임(133), 구동부(140) 및 제2 모터(135)를 포함할 수 있다. 여기서, 구동부(140)는 제1 프레임(132)과 제2 프레임(133)을 이동시켜 서포터 바디(130)의 길이를 조정하는 구성이다. 이때, 제1 프레임(132)과 제2 프레임(133)에 형성된 제2 모터(135)를 회전시켜 제1 프레임(132)과 제2 프레임(133)을 이동시킬 수 있다.
구동부(140)는 제1 모터(141)를 포함할 수 있다. 여기서, 제1 모터(141)는 제2 프레임(133)을 회전시키는 구성으로, 제1 모터(141)는 서포터 바디(130)의 일 측면과 연결될 수 있다.
통신 인터페이스(160)는 다양한 통신 방식을 통해 외부 장치 및 외부 서버와 통신을 수행할 수 있다. 통신 인터페이스(160)가 외부 장치 및 외부 서버와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 게이트웨이 등)를 거쳐서 통신 하는 것을 포함할 수 있다. 예를 들어, 외부 장치 는 다른 청소기, 서버, 클라우드 저장소, 네트워크 등으로 구현될 수 있다.
통신 인터페이스(160)는 청소기(100)와 외부 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신 인터페이스(160)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, 3G(3RD Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. 또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), 중 적어도 하나를 포함할 수 있다.
메모리(170)는 청소기(100)를 구동시키기 위한 O/S(Operating System)가 저장할 수 있다. 또한, 메모리(170)에는 본 개시의 다양한 실시 예들에 따라 청소기(100)가 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 메모리(170)에는 프로그램 또는 애플리케이션의 실행 중에 입력되거나 설정 또는 생성되는 각종 데이터 등과 같은 다양한 정보가 저장될 수 있다. 또한, 메모리(170)에는 본 개시의 다양한 실시 예들에 따라 청소기(100)가 동작하기 위한 각종 소프트웨어 모듈을 포함할 수 있으며, 프로세서(150)는 메모리(170)에 저장된 각종 소프트웨어 모듈을 실행하여 본 개시의 다양한 실시 예들에 따른 청소기의 동작을 수행할 수 있다. 이를 위해, 메모리(170)는 플래시 메모리(Flash Memory) 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
특히, 메모리(170)에는 제1 신경망 모델 및 제2 신경망 모델이 저장될 수 있다.
도 9는 본 개시의 일 실시 예에 따른 청소기의 제어 방법을 개략적으로 나타낸 순서도이다.
도 9를 참조하면, 본 개시의 일 실시 예에 따른 청소기의 제어 방법을 수행하기 위하여, 프로세서(150)는 청소기의 하나 이상의 센서(110)를 통해 제1 센싱 데이터를 획득한다(S910).
그리고, 프로세서(150)는 획득된 제1 센싱 데이터에 기초하여 메인 바디(120)의 제1 자세를 식별한다(S920).
그리고, 프로세서(150)는 제1 자세에 기초하여 메인 바디(120)와 메인 바디(120)의 제1 영역에 회전 가능하도록 연결된 서포터 바디(130) 간의 제1 각도를 결정한다(S930).
이때, 프로세서(150)는 메인 바디(120)에 설정된 제1 무게 중심(10)의 위치를 식별하고, 제1 무게 중심(10)의 위치에 기초하여 제1 자세에 대응하는 메인 바디(120)의 제2 무게 중심(20)의 위치를 식별하고, 제2 무게 중심(20)의 위치에 기초하여 제1 각도를 결정할 수 있다.
한편, 메인 바디(120)에 설정된 제1 무게 중심(10)의 위치는 청소기의 모델에 따라 다르게 설정될 수 있다.
제1 각도를 결정(S930)한 후 프로세서(150)는 결정된 제1 각도가 형성되도록 서포터 바디(130)를 회전시키는 구동부(140)를 제어 한다(S940).
이때, 프로세서(150)는 제1 각도에 대응하는 서포터 바디(130)의 제1 길이를 식별하고, 제1 길이를 형성하도록 서포터 바디(130)의 길이를 조정할 수 있다.
한편, 상술한 청소기(100)를 제어하는 방법은 메인 바디(120)의 제1 자세에서 하나 이상의 센서(110)를 통해 제2 센싱 데이터에 획득하는 단계, 획득된 제2 센싱 데이터에 기초하여 메인 바디(120)의 제2 자세를 예측하는 단계, 제2 자세에 기초하여 메인 바디(120)와 서포터 바디(130) 간의 제2 각도를 결정하는 단계 및 결정된 제2 각도가 형성되도록 구동부(140)를 제어하는 단계를 더 포함할 수 있다.
이때, 제2 각도가 형성되도록 구동부를 제어함에 있어, 프로세서(150)는 제2 센싱 데이터에 기초하여 메인 바디(120)의 이동 속도를 식별하고, 이동 속도에 대응하는 속도로 서포터 바디(130)를 회전 시킬 수 있다.
또한, 상술한 설명에서, 단계 S910 내지 S940 은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 청소기에 설치 가능한 어플리케이션 형태로 구현될 수 있다. 또는 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 딥 러닝 기반의 학습된 신경망(또는 심층 학습된 신경망) 즉, 학습 네트워크 모델을 이용하여 수행될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 청소기에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들은 저나 장치에 구비된 임베디드 서버, 또는 청소기의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 디스플레이 장치(예: 디스플레이 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
Claims (15)
- 청소기에 있어서;하나 이상의 센서;메인 바디;상기 메인 바디의 제1 영역에 회전 가능하도록 연결된 서포터 바디;상기 서포터 바디를 회전시키는 구동부;하나 이상의 센서를 통해 획득된 제1 센싱 데이터에 기초하여 상기 메인 바디의 제1 자세를 식별하고, 상기 제1 자세에 기초하여 상기 메인 바디와 상기 서포터 바디 간의 제1 각도를 결정하고, 상기 결정된 제1 각도가 형성되도록 상기 구동부를 제어하여 서포터 바디를 회전 시키는, 하나 이상의 프로세서를 포함하는, 청소기.
- 제1항에 있어서,상기 하나 이상의 프로세서는,상기 제1 각도에 대응하는 상기 서포터 바디의 제1 길이를 식별하고, 상기 제1 길이를 형성하도록 상기 서포터 바디의 길이를 조정하는, 청소기.
- 제1항에 있어서,상기 하나 이상의 프로세서는,상기 메인 바디에 설정된 제1 무게 중심의 위치를 식별하고, 상기 제1 무게 중심의 위치에 기초하여 상기 제1 자세에 대응하는 상기 메인 바디의 제2 무게 중심의 위치를 식별하고, 상기 제2 무게 중심의 위치에 기초하여 상기 제1 각도를 결정하는, 청소기.
- 제3항에 있어서,상기 하나 이상의 프로세서는,상기 메인 바디의 제1 자세에서 상기 하나 이상의 센서를 통해 제2 센싱 데이터에 획득하고, 상기 획득된 제2 센싱 데이터에 기초하여 상기 메인 바디의 제2 자세를 예측하고, 상기 제2 자세에 기초하여 상기 메인 바디와 상기 서포터 바디 간의 제2 각도를 결정하고, 상기 결정된 제2 각도가 형성되도록 상기 서포터 바디를 회전 시키는, 청소기.
- 제4항에 있어서,상기 하나 이상의 프로세서는,제2 센싱 데이터에 기초하여 상기 메인 바디의 이동 속도를 식별하고, 상기 이동 속도에 대응하는 속도로 상기 서포터 바디를 회전 시키는, 청소기.
- 제4항에 있어서,상기 청소기는, 메모리를 더 포함하고,상기 하나 이상의 프로세서는,상기 제2 무게 중심의 위치 및 상기 제2 센싱 데이터를 상기 메모리에 저장된 기 학습된 신경망 모델에 입력하여 상기 메인 바디의 제2 자세를 예측하고,상기 기 학습된 신경망 모델은 상기 바디의 무게 중심의 위치와 센싱 데이터에 기초하여 상기 메인 바디의 자세를 식별하도록 학습된 신경망 모델인, 청소기.
- 제6항에 있어서,상기 메모리는, 상기 청소기의 모델에 따라 상기 메인 바디의 자세를 식별하도록 학습된 복수의 신경망 모델을 저장하고,상기 하나 이상의 프로세서는, 상기 청소기의 모델을 식별하고, 상기 복수의 신경망 모델 중 상기 식별된 청소기의 모델에 대응하는 신경망 모델을 획득하고, 상기 획득된 신경망 모델에 상기 제2 무게 중심의 위치 및 상기 제2 센싱 데이터를 상기 메모리에 저장된 기 학습된 신경망 모델에 입력하여 상기 메인 바디의 제2 자세를 예측하는, 청소기
- 제3항에 있어서,상기 메인 바디에 설정된 제1 무게 중심의 위치는 상기 청소기의 모델에 따라 다르게 설정된, 청소기.
- 청소기를 제어 하는 방법에 있어서;상기 청소기의 하나 이상의 센서를 통해 제1 센싱 데이터를 획득하는 단계;상기 획득된 제1 센싱 데이터에 기초하여 메인 바디의 제1 자세를 식별하는 단계;상기 제1 자세에 기초하여 상기 메인 바디와 상기 메인 바디의 제1 영역에 회전 가능하도록 연결된 서포터 바디 간의 제1 각도를 결정하는 단계; 및상기 결정된 제1 각도가 형성되도록 상기 서포터 바디를 회전시키는 구동부를 제어하는 단계;를 포함하는 제어 방법.
- 제9항에 있어서,상기 제1 각도에 대응하는 상기 서포터 바디의 제1 길이를 식별하고, 상기 제1 길이를 형성하도록 상기 서포터 바디의 길이를 조정하는 단계를 더 포함하는, 제어 방법.
- 제9항에 있어서,제1 각도를 결정하는 단계는,상기 메인 바디에 설정된 제1 무게 중심의 위치를 식별하고, 상기 제1 무게 중심의 위치에 기초하여 상기 제1 자세에 대응하는 상기 메인 바디의 제2 무게 중심의 위치를 식별하고, 상기 제2 무게 중심의 위치에 기초하여 상기 제1 각도를 결정하는, 제어 방법.
- 제11항에 있어서,상기 메인 바디의 제1 자세에서 상기 하나 이상의 센서를 통해 제2 센싱 데이터에 획득하는 단계;상기 획득된 제2 센싱 데이터에 기초하여 상기 메인 바디의 제2 자세를 예측하는 단계;상기 제2 자세에 기초하여 상기 메인 바디와 상기 서포터 바디 간의 제2 각도를 결정하는 단계; 및상기 결정된 제2 각도가 형성되도록 상기 구동부를 제어하는 단계를 포함하는, 제어 방법.
- 제12항에 있어서,상기 제2 각도가 형성되도록 구동부를 제어하는 단계는,제2 센싱 데이터에 기초하여 상기 메인 바디의 이동 속도를 식별하고, 상기 이동 속도에 대응하는 속도로 상기 서포터 바디가 회전하도록 상기 구동부를 제어하는, 제어 방법.
- 제12항에 있어서,상기 예측하는 단계는,상기 제2 무게 중심의 위치 및 상기 제2 센싱 데이터를 상기 청소기의 메모리에 저장된 기 학습된 신경망 모델에 입력하여 상기 메인 바디의 제2 자세를 예측하고,상기 기 학습된 신경망 모델은 상기 바디의 무게 중심의 위치와 센싱 데이터에 기초하여 상기 메인 바디의 자세를 식별하도록 학습된 신경망 모델인, 제어 방법.
- 제14항에 있어서,상기 메모리는,상기 청소기의 모델에 따라 상기 메인 바디의 자세를 식별하도록 학습된 복수의 신경망 모델을 저장하고,상기 예측하는 단계는,상기 청소기의 모델을 식별하고, 상기 복수의 신경망 모델 중 상기 식별된 청소기의 모델에 대응하는 신경망 모델을 획득하고, 상기 획득된 신경망 모델에 상기 제2 무게 중심의 위치 및 상기 제2 센싱 데이터를 상기 메모리에 저장된 기 학습된 신경망 모델에 입력하여 상기 메인 바디의 제2 자세를 예측하는, 제어 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0149953 | 2022-11-10 | ||
KR1020220149953A KR20240068467A (ko) | 2022-11-10 | 2022-11-10 | 청소기 및 그 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024101678A1 true WO2024101678A1 (ko) | 2024-05-16 |
Family
ID=91032694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/015673 WO2024101678A1 (ko) | 2022-11-10 | 2023-10-12 | 청소기 및 그 제어 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240068467A (ko) |
WO (1) | WO2024101678A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003102663A (ja) * | 2001-09-28 | 2003-04-08 | Amano Corp | 床面洗浄清掃機 |
JP2006326186A (ja) * | 2005-05-30 | 2006-12-07 | Mitsubishi Electric Corp | 電気掃除機 |
KR20120004103A (ko) * | 2010-07-06 | 2012-01-12 | 엘지전자 주식회사 | 업라이트형 진공청소기 |
JP2017164022A (ja) * | 2016-03-14 | 2017-09-21 | 三菱電機株式会社 | 掃除具及び電気掃除機 |
KR101898372B1 (ko) * | 2017-01-04 | 2018-09-12 | 엘지전자 주식회사 | 진공 청소기 |
-
2022
- 2022-11-10 KR KR1020220149953A patent/KR20240068467A/ko unknown
-
2023
- 2023-10-12 WO PCT/KR2023/015673 patent/WO2024101678A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003102663A (ja) * | 2001-09-28 | 2003-04-08 | Amano Corp | 床面洗浄清掃機 |
JP2006326186A (ja) * | 2005-05-30 | 2006-12-07 | Mitsubishi Electric Corp | 電気掃除機 |
KR20120004103A (ko) * | 2010-07-06 | 2012-01-12 | 엘지전자 주식회사 | 업라이트형 진공청소기 |
JP2017164022A (ja) * | 2016-03-14 | 2017-09-21 | 三菱電機株式会社 | 掃除具及び電気掃除機 |
KR101898372B1 (ko) * | 2017-01-04 | 2018-09-12 | 엘지전자 주식회사 | 진공 청소기 |
Also Published As
Publication number | Publication date |
---|---|
KR20240068467A (ko) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018124707A1 (ko) | 신경망 연산을 이용한 입력 처리 방법 및 이를 위한 장치 | |
WO2019156518A1 (en) | Method for tracking hand pose and electronic device thereof | |
WO2017052350A2 (ko) | 로봇 제어 방법 및 장치 | |
WO2017034345A1 (en) | Wireless terminal communicable with external device and server and software updating method thereof | |
WO2021101047A1 (en) | Mobile robot device and method for controlling mobile robot device | |
WO2014133246A1 (en) | Mini integrated control device | |
WO2016202119A1 (zh) | 控制与虚拟目标进行交互的方法、终端和存储介质 | |
WO2015152628A1 (en) | Input device, method, and system for electronic device | |
WO2020189947A1 (ko) | 커버 부재 제조 방법 및 커버 부재 구조 | |
EP3143485A1 (en) | Method of controlling mobile terminal using fingerprint recognition and mobile terminal using the same | |
WO2020153628A1 (ko) | 로봇 및 그 제어 방법 | |
WO2024101678A1 (ko) | 청소기 및 그 제어 방법 | |
WO2020032345A1 (ko) | 데이터 패킷을 처리하기 위한 장치 및 방법 | |
WO2022085958A1 (ko) | 전자 장치 및 그 동작방법 | |
WO2021157913A1 (en) | Electronic device for controlling process and method thereof | |
CN110209434A (zh) | 一种内存管理方法、装置及计算机可读存储介质 | |
WO2021101014A1 (ko) | 패킷 전달을 제어하는 전자 장치 및 그의 동작 방법 | |
WO2018124624A1 (en) | Method, device, and system for processing multimedia signal | |
WO2020197245A1 (ko) | 입력 장치 및 입력 장치와 상호 작용하는 전자 장치 | |
WO2021158066A1 (en) | Electronic apparatus and control method thereof | |
WO2023054929A1 (ko) | 센서 구성과 로봇 형태에 적응 가능한 강화학습 기반 자율주행 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램 | |
WO2019164238A1 (ko) | 전자장치 및 전자장치의 사용상태에 기반한 외부 전자장치의 제어방법 | |
WO2021246586A1 (ko) | 하드웨어 가속기를 위한 파라미터를 메모리로부터 액세스하는 방법 및 이를 이용한 장치 | |
WO2021133105A1 (ko) | 이동 로봇 장치 및 이의 제어 방법 | |
WO2018153269A1 (zh) | 基于移动终端自动确定动态照片焦点的方法及系统、移动终端 |
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: 23888942 Country of ref document: EP Kind code of ref document: A1 |