Robot traveling in specific space and control method thereof
By integrating map information and sensor systems in the robot, identifying object locations and updating priority information, the efficiency problem of the robot when traveling in a specific space is solved, and efficient service provision is achieved.
Patent Information
- Application Number
- CN202380058131.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-29
- Filing Date
- 2023-07-27
- Publication Date
- 2025-03-11
AI Technical Summary
In a particular space, such as an elevator, it is difficult for robots to travel effectively to provide services, especially when multiple object locations and routes are required to be considered.
Control the robot's route in a specific space by storing map information, using sensors to identify object locations and priority information, and updating priority information based on the predicted departure time.
It realizes that robots can travel efficiently in a specific space, reduces interference to users, and improves service efficiency.
Smart Images

Figure CN119604392A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to a robot and a method of controlling the robot, and more particularly, to a robot that travels in a specific space based on a priority identified in each of a plurality of subspaces included in the specific space and a method of controlling the robot. Background Art
[0002] With the development of electronic technology, various types of electronic devices are being developed and widely used. Recently, the technical development of robots that provide services to users and the like has been actively developed. In the case where a robot travels in a specific space to provide services to users, only when the robot travels in consideration of various types of information about the travel route can the service be quickly provided to the user.
[0003] When a robot travels through a specific space such as an elevator, a method is needed in which the robot can provide an efficient service by traveling in consideration of the robot's travel information and information about objects in the specific space. Summary of the invention
[0004] According to one aspect of the present disclosure, a robot is provided, comprising: a memory storing map information; a sensor; a driver configured to move the robot to a destination along a route based on the map information, the route comprising a first area, the first area being a stopover location in the route; and a processor configured to: identify a plurality of second areas within the first area, identify priority information corresponding to each of the plurality of second areas, identify positions of one or more objects within the first area based on sensing data acquired by the sensor, update the priority information corresponding to each of the plurality of second areas based on at least one of the positions of the identified one or more objects or a predicted departure time to a next stopover location within the route, and control the driver to move the robot based on the updated priority information.
[0005] According to one aspect of the present disclosure, a method for controlling a robot is provided, the method comprising: identifying a plurality of second areas within a first area, the first area being a stopover location on a travel route identified based on map information; identifying priority information corresponding to each of the plurality of second areas based on sensing data acquired by a sensor, the second area identifying the location of one or more objects within the first area; updating the priority information corresponding to each of the plurality of second areas based on at least one of the identified locations of the one or more objects or a predicted departure time to the next stopover location within the travel route; and controlling a driver to move the robot based on the updated priority information.
[0006] According to one aspect of the present disclosure, a non-transitory computer-readable recording medium storing computer instructions is provided, wherein the computer instructions, when executed by a processor, allow a robot to perform operations, wherein the operations include: identifying multiple second areas within a first area, the first area being a stopover location on a travel route identified based on map information; identifying priority information corresponding to each of the multiple second areas; identifying the location of one or more objects within the first area based on sensing data acquired by a sensor; updating the priority information corresponding to each of the multiple second areas based on at least one of the identified locations of the one or more objects or a predicted departure time to the next stopover location within the travel route; and controlling a driver to move the robot based on the updated priority information. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The above and / or other aspects of the present disclosure will become more apparent by describing certain embodiments of the present disclosure with reference to the accompanying drawings, in which: Figure 1a and Figure 1b is a diagram illustrating a method of controlling a robot according to an embodiment; Figure 2 is a block diagram showing a configuration of a robot according to an embodiment; Figure 3a is a flowchart for describing a method of controlling a robot according to an embodiment; Figure 3b is a diagram for describing a method of controlling a robot according to an embodiment; Figure 4a and Figure 4b is a diagram for describing priorities of subspaces according to an embodiment; Figure 5 is a diagram for describing a relationship between a weight value and a priority according to an embodiment; Figure 6a and Figure 6b is a diagram for describing a method of updating a weight value or a priority according to an embodiment; Figure 7a is a flowchart for describing a method of controlling a robot according to an embodiment; Figure 7b and Figure 7c is a diagram for describing a method of driving a robot according to an embodiment; Figure 8 is a diagram for describing a method of controlling a robot based on a position of an object according to an embodiment; Fig. 9 is a diagram for describing a method of controlling a robot based on the number of objects according to an embodiment; Fig.10is a flowchart for describing a method of outputting a notification of a robot according to an embodiment; Fig.11a is a flowchart for describing a method of controlling a robot according to an embodiment; Fig.11b and Fig.11c is a diagram for describing a method of controlling a robot based on the number of objects according to an embodiment; Fig.12 is a flowchart for describing a method of updating priority according to an embodiment; and Fig.13 is a block diagram showing a detailed configuration of a robot according to an embodiment. DETAILED DESCRIPTION
[0008] Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings.
[0009] After briefly describing the terms used in the specification, the present disclosure will be described in detail.
[0010] Considering the functions in the present disclosure, currently widely used general terms are selected as the terms used in the embodiments of the present disclosure, but they may be changed according to the intention of those skilled in the art or the emergence of judicial precedents, new technologies, etc. In addition, in certain cases, there may be terms arbitrarily selected by the applicant. In this case, the meanings of these terms will be mentioned in detail in the corresponding description parts of the present disclosure. Therefore, the terms used in the present disclosure should be defined based on the meanings of the terms and the content throughout the present disclosure rather than the simple names of the terms.
[0011] In the present disclosure, the expressions “having”, “may have”, “including”, “may include”, etc. indicate the existence of corresponding features (eg, values, functions, operations, components such as parts, etc.), and do not exclude the existence of additional features.
[0012] The expression “at least one of A and / or B” should be understood to mean “A” or “B” or “any one of A and B”.
[0013] The expressions "first", "second", "1st" or "2nd" etc. used in the present disclosure may indicate various components regardless of the order and / or importance of the components and will only be used to distinguish one component from other components without limiting the corresponding components.
[0014] When it is mentioned that any component (e.g., a first component) is (operably or communicatively) coupled / coupled to another component or connected to another component (e.g., a second component), it should be understood that any component is directly coupled to another component or may be coupled to another component through another component (e.g., a third component).
[0015] Unless the context clearly indicates otherwise, the singular form is intended to include the plural form. It will be further understood that the terms "comprising" or "formed by" used in this specification specify the presence of features, numbers, steps, operations, components, parts or combinations thereof mentioned in this specification, but do not exclude the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.
[0016] In the present disclosure, a "unit", "module", "interface" or a term having a "device" may perform at least one function or operation and be implemented by hardware or software or by a combination of hardware and software. In addition, multiple "modules" or multiple "devices / devices" may be integrated in at least one module and implemented by at least one processor except for the "modules" or "devices / devices" that need to be implemented by specific hardware.
[0017] Figure 1a and Figure 1b is a diagram illustrating a method of controlling a robot according to an embodiment.
[0018] Reference Figure 1a and Figure 1b , the robot 100 can reach the destination by traveling in the travel space. For example, the robot 100 can provide a service of delivering an object to a specific location or supplying food. However, the present disclosure is not limited thereto, and therefore, according to another embodiment, the robot 100 can be configured to provide other types of services. The robot 100 can pre-store map information corresponding to the travel space in order to travel in the travel space, and can travel in the space by creating a route based on the map information. According to an embodiment, the travel space may refer to an area or environment in which the robot can move.
[0019] According to an embodiment, the robot 100 may reach the destination via at least one stopover point included in the travel route. When the stopover point included in the travel route is a specific space (e.g., an elevator), the robot 100 needs to move to the destination via the specific space. However, the present disclosure is not limited to elevators, and therefore, according to another embodiment, the specific space may include other areas, environments, or surroundings through which the robot 100 may reach its destination.
[0020] Reference Figure 1a According to an example, the robot 100 may enter a specific space 10 as a stopover on a travel route to reach a destination. In this case, the robot 100 may identify a space in the specific space where the robot 100 may be located, and may be located in one area 20 of the specific space (e.g., an elevator). According to an embodiment, the robot may also identify a direction to face in the specific space (given by Figure 1a ).
[0021] In addition, if Figure 1b As shown, when a plurality of objects 30, 31, 32, and 33 exist in a specific space 10, the robot 100 needs to consider the objects 30 to 33 in the specific space to create a travel route. For example, the plurality of objects 30 to 33 may be people on an elevator, respectively.
[0022] According to an example, the robot 100 may recognize the positions of the objects 30 to 33 in a specific space, and recognize an area within the specific space where the robot 100 may be located based on the recognized positions. In this case, in order not to interfere with the passage of the objects 30 to 33 existing in the same specific space as the robot 100, the robot 100 may recognize an area within the specific space where the robot 100 may be located based on the positions of the objects 30 to 33.
[0023] Alternatively, according to an example, the robot 100 may identify an area in a specific space where the robot 100 will be located based on travel information, for example, information on the time when the robot 100 descends from the specific space 10 and moves to the next stopover point. For example, the robot 100 may identify an area in a specific space where it is easy for the robot 100 to descend.
[0024] Hereinafter, various embodiments of the movement of a robot in a specific space will be described, taking into account the movement information of an object such as an elevator or a robot existing in the specific space.
[0025] Figure 2 is a block diagram showing the configuration of a robot according to the embodiment.
[0026] according to Figure 2 The robot 100 may include a memory 110 , at least one sensor 120 , a driver 130 , and one or more processors 140 .
[0027] The memory 110 may store data required for various embodiments. The memory 110 may be implemented in the form of a memory embedded in the robot 100 or in the form of a memory detachable from the robot 100 according to the data storage purpose. For example, data for driving the robot 100 may be stored in a memory embedded in the robot 100, and data for extended functions of the robot 100 may be stored in a memory attachable to and detachable from the robot 100.
[0028] In addition, the memory embedded in the robot 100 may be implemented in the form of, for example, at least one of a volatile memory (e.g., dynamic random access memory (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), etc.), a non-volatile memory (e.g., one-time programmable read-only memory (OTPROM), a programmable ROM (PROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a mask ROM, a flash ROM, a flash memory (e.g., NAND flash, NOR flash, etc.), a hard disk drive, and a solid-state drive (SSD), etc. In addition, the memory removable from the robot 100 may be implemented in the form of a memory card (e.g., compact flash (CF), secure digital (SD), micro secure digital (Micro-SD), mini secure digital (Mini-SD), extreme digital (xD), multimedia card (MMC), etc.), an external memory connectable to a USB port (e.g., USB memory), etc.
[0029] According to an embodiment, the memory 110 may store map information about a travel space. Here, the travel space means a space in which the robot 100 is currently traveling or is scheduled to travel.
[0030] At least one sensor 120 (hereinafter referred to as a sensor) may include a plurality of sensors of various types. The sensor 120 may measure a physical quantity or detect an operating state of the robot 100, and convert the measured or sensed information into an electrical signal. The sensor 120 may include a camera, and the camera may include a lens for focusing visible light and other optical signals received after being reflected by an object to an image sensor, and an image sensor capable of detecting visible light and other optical signals. Here, the image sensor may include a 2D pixel array divided into a plurality of pixels.
[0031] In addition, the camera according to an example may be implemented as a depth camera. In addition, according to an example, the sensor 120 may include a thermal imaging sensor that reads a shape and a distance sensor such as a light detection and ranging (LiDAR) sensor and a time of flight (TOF) sensor.
[0032] However, the sensor 120 is not limited thereto, and according to an embodiment, the robot 100 may also acquire the above-mentioned sensing data from an external device through a communication interface.
[0033] The driver 130 is a device that enables the robot 100 to travel. The driver 130 can adjust the travel direction and driving speed under the control of the processor 140. The driver 130 according to the example may include a power generation device that generates power for driving the robot 100 (for example, a gasoline engine, a diesel engine, a liquefied petroleum gas (LPG) engine, an electric motor, etc. depending on the fuel (or energy) used), a steering device for controlling the travel direction (for example, manual steering, hydraulic steering, electronically controlled power steering (EPS)), etc.), a travel device for driving the robot 100 according to the power (for example, wheels, propellers, etc.), etc. Here, the driver 130 can be modified according to the travel type of the robot 100 (for example, wheel type, walking type, flying type, etc.).
[0034] According to an embodiment, one or more processors 140 (hereinafter referred to as processors) are electrically connected to the memory 110, at least one sensor 120, and the driver 130 to control the overall operation of the robot 100. The processor 140 may include one or more processors. Specifically, the processor 140 may perform the operation of the robot 100 according to various embodiments of the present disclosure by executing at least one instruction stored in the memory.
[0035] According to an embodiment, the processor 140 may be implemented by a digital signal processor (DSP) that processes a digital image signal, a microprocessor, a graphics processing unit (GPU), an artificial intelligence (AI) processor, a neural processing unit (NPU), or a time controller (TCON). However, the processor 140 is not limited thereto, but may include one or more of a central processing unit (CPU), a microcontroller unit (MCU), a microprocessing unit (MPU), a controller, an application processor (AP), a communication processor (CP), and an ARM processor, or may be defined by these terms. In addition, the processor 140 may be implemented by a system on chip (SoC) or a large-scale integration (LSI) embedded with a processing algorithm, or may be implemented in the form of an application-specific integrated circuit (ASIC) and a field-programmable gate array (FPGA).
[0036] According to an embodiment, the processor 140 may be implemented by a digital signal processor (DSP), a microprocessor, or a time controller (TCON). However, the processor 140 is not limited thereto, but may include one or more of a central processing unit (CPU), a microcontroller unit (MCU), a microprocessing unit (MPU), a controller, an application processor (AP), a communication processor (CP), and an ARM processor, or may be defined by these terms. In addition, the processor 140 may be implemented by a system on chip (SoC) or a large-scale integration (LSI) embedded with a processing algorithm, or may be implemented in the form of a field programmable gate array (FPGA).
[0037] According to an embodiment, the one or more processors 140 may identify a specific space as a plurality of subspaces.
[0038] According to one example, the processor 140 may first identify whether a specific space is included as a stopover point on the identified travel route based on the map information about the travel space stored in the memory 110. That is, the processor 140 may identify whether the robot 100 will move through a specific space when moving to the destination.
[0039] Here, the specific space is a part of the travel space of the robot 100, and may be, for example, a closed space (e.g., an elevator) where objects (e.g., people) frequently enter and exit. That is, the specific space may be a closed space where at least one object (e.g., a person) is sensed. However, the specific space is not limited thereto, and therefore, according to another embodiment, even if the specific space is not a closed space, the specific space may be a space where there is a possibility that it is difficult to move the robot 100, such as a space where the movement of an object within the travel space is detected more than a predetermined number of times. For example, the specific space may be an area where multiple objects can move in and out of the area, making it difficult to manipulate the robot within the area. According to the example, the object may be at least one of a dynamic object and a static object.
[0040] In addition, according to an example, the memory 110 may include information about a specific space and map information about the travel space. The information about the specific space including information about the location or area of the specific space in the travel map may be pre-stored in the memory 110 at the time of initial setting. However, the present disclosure is not limited thereto, and therefore, the information about the specific space may be acquired based on user input.
[0041] According to one example, when a specific space is included as a stopover point, the processor 140 may identify the specific space as a plurality of subspaces. For example, when it is identified that the specific space is included in the identified travel route based on map information about the travel space, the processor 140 may identify the specific space as a plurality of subspaces.
[0042] Here, the subspace may be classified according to a preset standard. For example, the subspace may be a space classified according to the physical structure of a specific space, but is not limited thereto, and may be classified according to various standards. According to an example, the processor 140 may identify a plurality of subspaces based on at least one of the user input data, and the size (or area) of the subspace may have different values for each subspace.
[0043] According to an embodiment, the processor 140 may identify a priority of each of the plurality of subspaces. Here, the priority represents a relative order of each of the plurality of subspaces. The robot 100 may set a travel route within a specific space based on information of a priority corresponding to each of the plurality of subspaces.
[0044] In addition, according to an example, the priority of each of the plurality of subspaces may be identified based on at least one of a location of an object within a specific space, a predicted departure time to a next stopover point of the robot 100, or a user input. This is described in detail with reference to FIGS.
[0045] According to an embodiment, the processor 140 may recognize a position of an object within a specific space based on sensing data acquired by at least one sensor 120 .
[0046] According to an example, when the at least one sensor 120 is implemented as a LiDAR or a depth camera, the processor 140 may recognize an object (e.g., a person) located within a specific space based on sensing data acquired by the sensor 120. In addition, the at least one sensor 120 may include an RGB camera, and the processor 140 may recognize position movement information of the object and information about the relative position of the object located within the specific space.
[0047] According to an embodiment, the processor 140 may update the priority of each of the plurality of subspaces based on at least one of the position of the recognized object or the predicted departure time to the next stopover point within the travel route.
[0048] Here, according to an example, when the specific space is an elevator, the processor 140 can predict the departure time when the robot is scheduled to move to the next stopover point via the elevator based on the travel route, and identify the predicted departure time to the next stopover point within the travel route based on the predicted departure time.
[0049] For example, the processor 140 may identify the height of the floor where the robot 100 currently enters the elevator and the height of the floor where the robot 100 is scheduled to get off the elevator based on the travel route, and predict the time when the robot 100 gets off the elevator according to the number of floors to be moved identified based on the height of the floor. According to an embodiment, the floor where the robot 100 is scheduled to get off the elevator may be the next stopover point. In this case, the processor 140 may predict the time when the robot 100 gets off the elevator based on the information about the number of stops of the elevator and the time when the elevator stops when the robot 100 gets on the elevator. The above-mentioned information about the number of stops and the stop time of the elevator may be acquired based on, for example, audio information indicating the current floor of the elevator.
[0050] However, the above information is not limited thereto, and for example, the processor 140 may identify information about the floor on which the elevator is currently located based on image information acquired through the camera. The processor 140 may identify the current floor on which the elevator currently riding the robot 100 is located, and predict the scheduled time to get off the elevator of the robot 100 based on the identified current floor.
[0051] Next, according to an example, when at least one of the position of the object in a specific space or the predicted departure time to the next stopover point in the travel route is identified, the processor 140 may update the priority for the subspace based on the identification.
[0052] For example, the processor 140 may identify the position of an object in a specific space, and set the priority of a subspace existing at a position separated from the position of the identified object by a predetermined distance to be higher than the priority of other subspaces. Alternatively, the processor 140 may set the priority of a subspace closest to the position of the identified object to be lower than the priority of other subspaces.
[0053] In addition, for example, when a predicted departure time of the next stopover point within the outbound travel route is identified, the processor 140 can identify the remaining travel time within the specific space of the robot 100 based on the identified predicted departure time, and when it is identified that the remaining travel time is less than a threshold time, the processor 140 can set the priority of a subspace corresponding to a specific position within the specific space (e.g., the position closest to the elevator door) to be higher than the priority of other subspaces.
[0054] According to an embodiment, the processor 140 may control the driver 130 to move the robot 100 based on the updated priority. According to an example, the processor 140 may identify a subspace with the highest priority based on the updated priority information and control the driver 130 to move the robot 100 to the subspace with the highest priority.
[0055] According to an example, the processor 140 may identify a subspace having a highest priority, that is, a subspace having the highest priority, based on the updated priority, and control the driver 130 to move the robot 100 to the identified subspace having the highest priority.
[0056] Figure 3a is a flowchart for describing a method of controlling a robot according to an embodiment, and Figure 3b is a diagram for describing a method of controlling a robot according to an embodiment.
[0057] according to Figure 3aIn the embodiment illustrated in FIG. 3 , when a specific space is included as a stopover point on a travel route, the control method may identify the specific space as a plurality of subspaces (S310). According to an example, when it is identified that the specific space 300 is included as a stopover point on a travel route, as shown in FIG. Figure 3b As shown, the processor 140 may identify the specific space 300 as a plurality of subspaces. For example, the processor 140 may identify or obtain a plurality of subspaces within the specific space. Figure 3b The plurality of subspaces illustrated are obtained by dividing an area corresponding to a specific space in the map of the travel space into a plurality of areas.
[0058] In this case, according to an example, coordinate information corresponding to each of the plurality of subspaces may be identified. Figure 3b , each subspace may have an x-axis value and a y-axis value based on the subspace below and to the left. For example, the subspace below and to the left may have a coordinate value (1,1).
[0059] Subsequently, according to an embodiment, the control method may identify a priority of each of the plurality of subspaces (S320). According to an example, when the position of an object is not identified within a specific space or the predicted departure time to the next stopover point is not identified, the processor 140 may identify a priority based on a relative position of each of the plurality of subspaces.
[0060] For example, refer to Figure 3b , the processor 140 may identify the priority of the subspaces (subspaces corresponding to the coordinate values (2,2), (3,2), (2,3), and (3,3)) existing near the center of the specific space among the identified multiple subspaces as having a higher priority than the other subspaces. In the case of an elevator, since the position where the robot 100 can easily get on and off the elevator is the center of the elevator, the center of the elevator may be set to a high priority in consideration of the position.
[0061] Next, according to an embodiment, the control method may recognize a location of an object within a specific space based on the sensing data ( S330 ).
[0062] According to an example, refer to Figure 3b , when the robot 100 has not entered the specific space (310), the processor 140 can identify the relative position of the object 30 in the specific space based on the sensing data acquired by the laser radar.
[0063] For example, when the robot 100 has not entered the specific space (310), the processor 140 may recognize that the object 30 is located in a specific subspace (a subspace corresponding to the coordinate values (1, 4) and (4, 4)).
[0064] In this case, according to an example, the processor 140 may identify at least one subspace in which the object is located based on the position of the object 30 within the recognized specific space.
[0065] Then, according to an embodiment, the control method may update the priority based on at least one of the position of the recognized object or the predicted departure time to the next stopover within the travel route ( S340 ), and control the driver 130 to move the robot 100 based on the updated priority.
[0066] According to an example, when the position of the object 30 is first recognized (310), the processor 140 may update the priority of the subspace-based relative position information recognition based on the position of the object 30. In this case, the processor 140 may recognize the position of the object 30 in real time through at least one sensor 120.
[0067] For example, the processor 140 may identify a subspace (a subspace corresponding to coordinate values (2,2) and (3,2)) whose distance from the object is greater than or equal to a preset distance among subspaces (subspaces corresponding to coordinate values (2,2), (3,2), (2,3), and (3,3)) located at the center of a specific space, and identify the identified subspace as a subspace having the highest priority. As in the above example, by setting the distance between the object (e.g., a person) and the robot 100 to be greater than or equal to the preset distance, inconvenience to people riding together in the elevator can be prevented.
[0068] In addition, according to an example, there may be a plurality of subspaces having the same priority. In this case, the processor 140 may randomly identify any one of the plurality of subspaces having the same priority, and may control the driver 130 to move the robot 100 to any one of the identified subspaces. Figure 3b In the case of, when a plurality of subspaces (subspaces corresponding to coordinate values (2,2) and (3,2)) located at the center of a specific space and having a distance from the object greater than a predetermined distance are identified, the processor 140 may arbitrarily identify any one of the subspaces and control the driver 130 to move the robot 100 to any one of the identified subspaces. However, the processor 140 is not limited thereto, and therefore, according to another embodiment, the processor 140 may apply another method to any one of the subspaces having the same priority, and control the driver 130 to move the robot 100 to any one of the identified subspaces.
[0069] Next, according to an example, the processor 140 may control the driver 130 based on the updated priority. For example, when any one of the subspaces 302 is identified as the highest priority according to the updated priority, the processor 140 may control the driver 130 to move the robot 100 to the subspace 302 corresponding to the identified highest priority.
[0070] Alternatively, according to an example, the processor 140 may identify a predicted departure time to the next stopover point within the travel route based on the travel route, and update the priority based on the identified predicted departure time. Figure 7a and Figure 7b Detailed description.
[0071] According to the example described above, when the robot 100 travels in a specific space such as an elevator, the robot 100 can travel in the specific space in consideration of the scheduled time to get off the elevator or the position of an object in the specific space. Therefore, the robot 100 can not only efficiently move to the next stopover point, but also reduce the discomfort that people in the specific space may feel.
[0072] Figure 4a and Figure 4b is a diagram for describing priorities of subspaces according to an embodiment.
[0073] According to an embodiment, the processor 140 may identify a weight value corresponding to each of the plurality of subspaces, and identify a priority corresponding to each of the plurality of subspaces based on the size of the identified weight value. The weight value corresponding to each of the plurality of subspaces has a relative value for each subspace, and may have a value between 0 and 1 according to an example, but is not limited thereto.
[0074] According to an example, the processor 140 can identify a weight value corresponding to each of the multiple subspaces based on at least one of the position of the identified object, the predicted departure time to the next stopover point within the route, or information about the relative positions of the multiple subspaces within a specific space, and identify the priority of each of the multiple subspaces based on the size of the identified weight value.
[0075] In this case, according to an example, a weight value corresponding to each of the plurality of subspaces may be included in area of interest (AOI) information, and the AOI information may be pre-stored in the memory 110. Here, the AOI is an area set as an area of interest, and is different from a point of interest (POI) in which a specific point is set as the area of interest. Therefore, the POI information may include only information about the specific point, and the AOI may include information about the specific area (or information about at least one specific point included in the specific area).
[0076] According to an example, when a specific space is identified as an AOI, the processor 140 may acquire AOI information about the specific space by mapping a weight value corresponding to each of a plurality of subspaces within the specific space. For example, the AOI information may be at least one of a grid type or a graphic type.
[0077] According to an embodiment, the AOI information may be as follows: Figure 4a According to an example, when a weight value corresponding to the priority of each of the plurality of subspaces is identified, the processor 140 may map the identified weight value to each of the grids corresponding to the plurality of subspaces to obtain AOI information.
[0078] For example, when the weight value of the subspace 401 corresponding to the coordinate value (2, 2) is identified as 1.0, the processor 140 may acquire the AOI information by mapping the identified weight value to the corresponding subspace.
[0079] In addition, according to an embodiment, the AOI information may be Figure 4b The graph type information shown. Here, the data structure that groups nodes and edges connecting nodes together is called a graph model, and the graph model is usually used to represent the relationship between connected objects.
[0080] According to an example, the processor 140 can obtain AOI information by mapping the identified weight value to each node corresponding to the plurality of subspaces. For example, when the weight value of the subspace 411 corresponding to the coordinate value (2, 2) is identified as 1.0, the processor 140 can obtain AOI information by mapping the identified weight value to the corresponding subspace.
[0081] According to an embodiment, the processor 140 may update the weight value included in the AOI information based on at least one of the position of the recognized object or the predicted departure time to the next stopover point within the travel route. According to another embodiment, the processor 140 may update the weight value based on the position information of each subspace included in the specific space.
[0082] In addition, according to an embodiment, when the weight value corresponding to each subspace is updated, the processor 140 may update the priority of the subspace based on the size of the weight value corresponding to each subspace.
[0083] According to an embodiment, the processor 140 may first update the weight value included in the AOI information based on at least one of the position of the recognized object or the predicted departure time to the next stopover point within the travel route, and further, the processor 140 may acquire the updated AOI information.
[0084] Subsequently, according to an example, the processor 140 may identify whether there is a subspace with an updated weight value greater than or equal to the threshold. For example, the processor 140 may identify whether a subspace with an updated weight value of 0.9 or greater is newly identified. However, the threshold is not limited thereto, and therefore, according to another embodiment, the threshold may have different values according to user input.
[0085] Subsequently, according to an example, when a subspace having an updated weight value greater than or equal to a threshold value is identified, the processor 140 may update the priority of each of the plurality of subspaces based on the updated weight value. For example, when a subspace having an updated weight value of 0.9 or greater is newly identified, the processor 140 may update the priority of each of the plurality of subspaces based on the updated weight value.
[0086] That is, when a subspace with an updated weight value greater than or equal to a threshold is newly identified, since the possibility that the priority of the subspace will change increases, the processor 140 can update the priority based on the newly identified subspace with an updated weight value greater than or equal to the threshold.
[0087] Alternatively, according to an example, the processor 140 may identify a subspace having a maximum weight value among a plurality of subspaces based on an updated weight value, and update the priority of the subspace based on the updated weight value when the identified subspace having the maximum weight value is changed.
[0088] For example, assuming that an object is newly identified in a specific space, the processor 140 may update the weight value included in the AOI information based on the position of the newly identified object, and when a subspace with a maximum weight value is identified to be changed based on the updated weight value, update the priority of the subspace based on the updated weight value.
[0089] Next, according to an example, the processor 140 may control the driver 130 based on the updated priority. According to an embodiment, when the subspace with the highest priority changes with the update of the priority, the processor 140 may control the driver 130 to move the robot 100 to the subspace with the highest priority.
[0090] However, the processor 140 is not limited thereto, and according to an embodiment, the processor 140 may control the driver 130 based on the updated weight value. According to an example, the processor 140 may identify a subspace having a maximum weight value based on the updated AOI information, and may control the driver 130 to move the robot 100 to the identified subspace.
[0091] Figure 5 is a diagram for describing the relationship between weight values and priorities according to an embodiment.
[0092] Reference Figure 5 According to an embodiment, the processor 140 may identify the priorities of the plurality of subspaces based on a weight value corresponding to each of the plurality of subspaces.
[0093] According to an example, when a weight value of each of a plurality of subspaces is identified based on at least one of a position of an identified object or a predicted departure time for a next stopover within a travel route, the processor 140 may acquire AOI information 500 including the identified weight value.
[0094] According to an example, the processor 140 may identify whether there is a subspace having a weight value greater than or equal to a threshold value based on the acquired AOI information 500. For example, the processor 140 may identify subspaces 501 to 503 having a weight value greater than or equal to 0.9.
[0095] According to an example, when it is identified that there is a subspace whose weight value is greater than or equal to the threshold, the processor 140 may identify the priorities of the plurality of subspaces based on the weight value. For example, the processor 140 may identify the information 510 about the priority of each subspace based on the identified weight value and the order of the weight value. Meanwhile, the present disclosure is not limited thereto, and therefore, according to another embodiment, the information 510 about the priority of each subspace may also be included in the AOI information.
[0096] The processor 140 may identify priorities of a plurality of subspaces including the subspace 511 having the highest priority, and control the driver 130 to move the robot 100 to the subspace 511 having the highest priority based on the identified priorities.
[0097] Figure 6a and Figure 6b is a diagram for describing a method of updating a weight value or a priority according to an embodiment.
[0098] refer to Figure 6a According to an embodiment, the processor 140 may update the weight value included in the AOI information based on at least one of the position of the recognized object or the predicted departure time to the next stopover point within the travel route.
[0099] First, according to an example, AOI information 600 including a weight value corresponding to each of a plurality of subspaces may be stored in the memory 110. In this case, the robot 100 may be located in the subspace 601 having the maximum weight value.
[0100] Next, according to an example, when it is identified that the remaining time is less than a threshold value based on the predicted departure time, the processor 140 may acquire updated AOI information 610 by updating the weight value included in the AOI information 600 .
[0101] For example, assume that the specific space is an elevator. When it is identified that the remaining time is less than the threshold time of 10 seconds, the processor 140 may update the weight value of the subspace based on the identification so that the weight value of the subspace close to the entrance of the elevator (the subspace corresponding to the coordinate values (2, 1) and (3, 1)) is the largest. In addition, the processor 140 may update the weight value so that the size of the weight value of the subspace 611 having the maximum distance from the entrance of the elevator is minimized.
[0102] According to an embodiment, when the weight value is updated, the processor 140 may identify whether there is a subspace having an updated weight value greater than or equal to a threshold value.
[0103] According to an example, the processor 140 may identify whether there is a subspace having a weight value greater than or equal to a threshold value (eg, 0.9) based on the AOI information 610 including the updated weight value. Figure 6a In the case of , a subspace 612 close to the elevator entrance (a subspace corresponding to coordinate values (2, 1) and (3, 1)) can be identified as having a weight value greater than or equal to the threshold.
[0104] According to an embodiment, when it is identified that there is a subspace having an updated weight value greater than or equal to a threshold value, the processor 140 may update the priority of each of the plurality of subspaces based on the updated weight value.
[0105] According to an example, the processor 140 may update the information 620 about the priorities corresponding to the plurality of subspaces upon identifying that there is a subspace having an updated weight value greater than or equal to a threshold, and thus acquire the information 630 about the updated priorities. Figure 6b As shown, the priority of the subspace 621 having the highest priority before the weight value is updated may change based on the updated weight value, and the subspace 632 having the highest priority after the weight value is updated may be different from the subspace 621 having the highest priority before being updated.
[0106] According to an embodiment, the processor 140 may control the driver 130 to move the robot 100 based on the updated priority.
[0107] According to an example, since the subspace 632 having the highest priority according to the updated priority is different from the subspace 621 having the highest priority before being updated, the processor 140 may control the driver 130 to move the robot 100 to the subspace 632 having the highest priority according to the updated priority.
[0108] Figure 7a is a flowchart for describing a method of controlling a robot according to an embodiment and Figure 7band Figure 7c is a diagram for describing a method of driving a robot according to an embodiment.
[0109] according to Figure 7a In the embodiment of FIG. 1 , the control method can identify whether the robot 100 enters a specific space and is located in any one of a plurality of subspaces (S710). According to one example, referring to Figure 7b , the processor 140 may identify whether the robot 100 enters a specific space 700 and is located in any one of a plurality of subspaces 701 based on the sensing data acquired by the sensor 120 .
[0110] According to an embodiment, when it is recognized that the robot 100 enters a specific space and is located in any one of a plurality of subspaces (Yes), the control method may identify a predicted departure time of the next stopover in the travel route to the specific space (S720). According to an example, when the specific space is an elevator, if it is recognized that the robot 100 is located in any one of the plurality of subspaces 701, the processor 140 may identify the height of the floor where the robot 100 has entered the elevator and the height of the floor where the robot 100 is scheduled to get off the elevator based on the travel route, and identify the predicted departure time of the robot 100 to the next stopover (or the scheduled time for the robot 100 to get off the elevator) based on the recognized height.
[0111] According to an embodiment, the control method may identify the remaining travel time within a specific space based on the predicted departure time (S730).According to an example, the processor 140 may compare the current time and the predicted departure time to identify the remaining travel time within the specific space.
[0112] Then, according to an embodiment, the control method may identify whether the remaining travel time is less than a threshold time (S740). According to an example, the processor 140 may identify whether the remaining travel time is less than the threshold time by comparing the remaining travel time with the threshold time. In addition, the threshold time may be a value stored in the memory 110 at the time of initial setting, but is not limited thereto, and the size of the threshold time may be changed based on user input thereafter.
[0113] Then, according to an embodiment, if it is identified that the remaining travel time is less than the threshold time (Yes), the control method may update the priority based on the position of each of the plurality of subspaces ( S750 ).
[0114] According to one example, when it is identified that the remaining travel time is less than the threshold time, the processor 140 may update the priority of the subspace close to the elevator entrance (the subspace corresponding to the coordinate values (2, 1) and (3, 1)) among the multiple subspaces to the subspace with the highest priority. That is, Figure 7bThe information 720 about the priorities of the plurality of subspaces illustrated in FIG. 7 may be updated to information 730 about the priorities in which the position of each of the plurality of subspaces and the predicted departure time to the next stopover point are reflected.
[0115] In this case, the subspace 701 corresponding to the highest priority before being updated may be changed after being updated. Figure 7b In the case of , multiple subspaces corresponding to the highest priority (subspaces corresponding to coordinate values (2,1) and (3,1)) can be identified.
[0116] According to an embodiment, when a subspace corresponding to a highest priority identified based on the updated priorities is identified, the processor 140 may control the driver 130 to move the robot 100 to the identified subspace.
[0117] According to an example, the processor 140 may identify any one 711 of the plurality of identified subspaces, and control the driver 130 to move the robot 100 to any one of the identified subspaces. Thus, the robot 100 moves to any one subspace 711 of the identified subspaces.
[0118] In addition, according to an embodiment, the processor 140 may update the priority based on user preference information.
[0119] According to an example, the robot 100 may further include a user interface, and when preference information for each of the plurality of subspaces is received through the user interface, the processor 140 may update the priority of each of the plurality of subspaces based on the preference information. Figure 7c When the subspaces corresponding to multiple highest priorities are identified, the processor 140 can identify any one of the subspaces corresponding to the multiple highest priorities (the subspaces corresponding to the coordinate values (2, 1) and (3, 1)) as the subspace corresponding to the highest priority based on the user preference information.
[0120] Subsequently, according to an example, the processor 140 may control the driver 130 to move the robot 100 based on the updated priority based on the user preference information. In the case of FIG. 7 , when any one of the subspaces 711 corresponding to the highest priority is identified based on the user preference information, the processor 140 may control the driver 130 to move the robot 100 to the identified subspace 711.
[0121] Figure 8 is a diagram for describing a method of controlling a robot based on a position of an object according to an embodiment.
[0122] according to Figure 8According to an embodiment, the processor 140 may control the driver 130 to move the robot 100 based on at least one of the number or the position of the subspace where the object is located.
[0123] According to an example, the processor 140 may first identify whether the robot 100 enters a specific space and is located in any one of the plurality of subspaces. For example, the processor 140 may identify whether the robot 100 enters a specific space and is located in any one of the subspaces based on the sensing data acquired by the sensor 120.
[0124] Then, according to an example, the processor 140 may identify a subspace spaced apart from the at least one object by a threshold distance or more based on the position of the subspace where the at least one object is located within the specific space.
[0125] For example, assuming that the robot 100 is located in a specific space 800 where no object is recognized, but recognizes that an object enters the specific space and at least one object is located in the specific space. The processor 140 can recognize the positions of objects 811, 812, and 813 in the specific space 810 based on the sensing data acquired by the sensor 120, and recognize the position of the subspace where the objects 811, 812, and 813 are located based on the recognized position.
[0126] When the positions of the subspaces where the objects 811 to 813 are located (the positions of the subspaces corresponding to the coordinate values (1,1), (4,1), and (1,4)) are identified, the processor 140 may identify the subspace 821 corresponding to the coordinate value (4,4) as a subspace that is separated from each of the identified subspaces by a threshold distance (e.g., a distance corresponding to two subspaces) or more. However, the threshold distance is not limited thereto, and therefore, according to another embodiment, the threshold distance may be changed according to user input.
[0127] Then, according to an example, the processor 140 may control the driver 130 to move the robot 100 to the identified subspace 821 .
[0128] In addition, Figure 8 In the case of, the processor 140 has been described as an embodiment of controlling the driver 130 so that the robot 100 moves to a subspace spaced apart from the position of the subspace where the recognized object is located by a threshold distance, but is not limited thereto. According to another embodiment, the processor 140 may control the driver 130 to move the robot 100 according to an updated priority based on the position of the object.
[0129] According to the above-described example, the robot 100 may be located at a distance spaced from an object existing in a specific space, and thus the robot moves so as not to inconvenience the passage of an object such as a person located in the specific space.
[0130] Fig. 9 is a diagram for describing a method of controlling a robot based on the number of objects according to an embodiment.
[0131] according to Fig. 9 In the embodiment, the processor 140 may control the driver 130 to move the robot 100 based on at least one of the number or position of the subspace where the object is located.
[0132] According to an example, the processor 140 may first identify whether the robot 100 enters a specific space and is located in any one of the plurality of subspaces. For example, the processor 140 may identify whether the robot 100 enters a specific space and is located in any one of the subspaces based on the sensing data acquired by the sensor 120.
[0133] According to an example, the processor 140 may identify the number of subspaces in which at least one object is located within a specific space, and when the number of identified subspaces is greater than or equal to a threshold number, a subspace separated from at least one object by a threshold distance or more may be identified.
[0134] For example, assuming that the robot 100 is located in a specific space 900 where no object is recognized, but recognizes that an object enters the specific space and at least one object is located in the specific space. The processor 140 may recognize objects 911 and 912 within the specific space 910 based on the sensing data acquired by the sensor 120, and recognize that the number of subspaces in which objects are located within the specific space 910 is two based on the recognized objects 911 and 912.
[0135] Since the number of subspaces where objects 911 and 912 are located in the specific space 910 is a threshold number of 2 or more, the processor 140 can identify the subspace corresponding to the coordinate value (4,4) and the subspace corresponding to the coordinate value (1,4) as subspaces that are separated from each of the identified multiple subspaces by a threshold distance (e.g., a distance corresponding to 2 subspaces) or more. However, the threshold number is not limited thereto, and therefore, according to another embodiment, the threshold number may be changed according to user input.
[0136] Then, according to an example, the processor 140 may control the driver 130 to move the robot 100 to the identified subspace. For example, the processor 140 may identify any one of the identified subspaces (the subspaces corresponding to the coordinate value (4, 4) and the coordinate value (1, 4)), and control the driver 130 to move the robot 100 to any one of the identified subspaces 921. However, the processor 140 is not limited thereto, and for example, the processor 140 may identify any one of the identified subspaces based on a user preference.
[0137] According to the above example, in the case of a congestion situation where the number of objects in a specific space exceeds a threshold number, the robot 100 can be located at a distance away from the objects and thus travel so as not to inconvenience the passage of objects such as people located in the specific space.
[0138] Fig.10 is a flowchart for describing a method of outputting a notification of a robot according to an embodiment.
[0139] According to an embodiment, the robot 100 may further include an output unit, and the processor 140 may control the output unit to output a notification guiding the robot 100 to be scheduled to move to a specific subspace based on the priority of each subspace in the plurality of subspaces. According to an example embodiment, the output interface may include a hardware component, a software component, or a combination of hardware and software components. According to an embodiment, the output interface may include one or more electronic components and / or circuits.
[0140] Reference Fig.10 According to an embodiment, the control method may first identify whether the remaining travel time is less than a threshold time (S1010). For example, the processor 140 may identify a predicted departure time to a next stopover point within a travel route in a specific space, and compare the identified predicted departure time with the current time to identify the remaining travel time of the robot 100. Subsequently, the processor 140 may identify whether the identified remaining travel time is less than a threshold time.
[0141] Then, according to the example, when the remaining travel time is less than the threshold time (yes), the control method can update the priority based on the position of each subspace in the plurality of subspaces (S1020). For example, when the specific space is an elevator, if it is identified that the remaining travel time is less than the threshold time, the processor 140 can update the priority so that the subspace close to the elevator entrance among the plurality of subspaces becomes the subspace with the highest priority.
[0142] Subsequently, according to an example, the control method may identify a specific subspace within the specific space based on the priority (S1030). For example, the processor 140 may identify a subspace with the highest identified priority as a specific subspace within the specific space. In addition, when multiple subspaces with the highest priorities are identified, the processor 140 may identify any one of the subspaces or any one of the subspaces based on user preference, and identify the identified subspace as the subspace with the highest priority.
[0143] Subsequently, according to an example, the control method may output a notification guiding the robot to be scheduled to move to a specific subspace ( S1040 ).
[0144] For example, when the identified subspace with the highest priority is different from the subspace where the robot 100 is currently located, the processor 140 may output a notification through the output unit to guide the robot 100 to be scheduled to move to the subspace with the highest priority. In this case, the processor 140 may control the driver 130 to move the robot 100 to the subspace with the highest priority while the notification is output, or control the driver 130 to move the robot 100 to the subspace with the highest priority after the output of the notification ends.
[0145] Fig.11a is a flowchart for describing a method of controlling a robot according to an embodiment and Fig.11b and Fig.11c is a diagram for describing a method of controlling a robot based on the number of objects according to an embodiment.
[0146] according to Fig.11a In the embodiment, the control method may identify the number of subspaces where the object of at least one subspace among the plurality of subspaces is located (S1110).
[0147] According to an example, the processor 140 may identify an object existing in a specific space based on the sensing data acquired by the sensor 120, and identify a subspace where the identified object is located. Based on this, the processor 140 may also identify the number of identified subspaces. In this case, the number of objects and the number of subspaces where the objects are located may be different.
[0148] According to an embodiment, the control method may identify whether the number of identified subspaces is less than a threshold number (S1120). Here, the threshold number may be a value stored at the time of initial setting, but is not limited thereto, and the size of the threshold number may be changed based on user input, etc.
[0149] According to an embodiment, when the number of identified subspaces is less than the threshold number (Yes), the control method may control the driver 130 so that the robot 100 enters a specific space (S1130).
[0150] According to an example, Fig.11b As shown in the left figure 1110 of , when the robot 100 does not enter the specific space 1111 , the processor 140 may identify the object 1100 existing in the specific space 1111 based on the sensing data acquired by the sensor 120 .
[0151] According to an embodiment, the processor 140 may identify the number of subspaces where the object 1100 existing in the specific space 1111 is located as two. When it is identified that the number of identified subspaces is less than a threshold number (eg, 5), as Fig.11bAs shown in the right figure 1120 , the processor 140 can control the driver 130 so that the robot 100 enters a specific space 1111 .
[0152] In this case, the processor 140 may control the driver 130 so that the robot 100 is located in any one subspace 1122 among the plurality of subspaces based on the position of the object.
[0153] In addition, according to an embodiment, when the number of identified subspaces is greater than or equal to the threshold number (No), the control method may update the traveling route to travel while avoiding a specific space (S1140).
[0154] According to an example, Fig.11c As shown in the left figure 1130 of , when the robot 100 does not enter the specific space 1131 , the processor 140 may identify the object 1100 existing in the specific space 1131 based on the sensing data acquired by the sensor 120 .
[0155] According to an embodiment, the processor 140 may identify the number of subspaces where the object 1100 existing in the specific space 1131 is located as 12. When identifying that the number of identified subspaces is greater than or equal to a threshold number (eg, 5), the processor 140 may update the travel route to travel while avoiding the specific space.
[0156] For example, assuming that the specific space is an elevator, when the number of identified subspaces is greater than or equal to the threshold number, the processor 140 may control the driver 130 so that the robot 100 stops traveling until the next elevator arrives without entering the current elevator.
[0157] Then, if Fig.11c As shown in the right figure 1140 of , the processor 140 can identify the number of objects and the number of subspaces corresponding thereto in the next elevator 1141. Because it is identified that the number of identified subspaces is less than the threshold number two, the processor 140 can control the driver 130 to make the robot 100 enter the elevator 1141.
[0158] In addition, according to the example, assuming that there are a plurality of elevators, that is, a plurality of specific spaces are identified, when it is identified that the number of subspaces identified in a first specific space among the plurality of specific spaces is greater than or equal to a threshold number, the processor 140 may control the driver 130 so that the robot 100 enters a second specific space instead of the first specific space.
[0159] For example, when it is identified that the number of subspaces of a first specific space among multiple specific spaces is a threshold number of 5 or greater, the processor 140 can identify the position of a second specific space based on the map information stored in the memory 110, and control the driver 130 to move the robot 100 to the second specific space.
[0160] Subsequently, the processor 140 may identify the number of subspaces in which the object is located in the second specific space, and when identifying that the identified number is less than a threshold number, control the driver 130 to allow the robot 100 to enter the second specific space.
[0161] According to the above example, the robot 100 can enter and travel in a specific space only when the congestion degree in the specific space is not high, thereby reducing the discomfort of people in the specific space.
[0162] Fig.12 is a flowchart for describing a method of updating priorities according to an embodiment.
[0163] Reference Fig.12 According to an embodiment, the control method may identify whether a plurality of subspaces are free spaces or occupied spaces while at least one object enters or leaves a specific space (S1210).
[0164] Here, free space means a subspace that is not occupied by an object including a dynamic object or a static object. Occupied space means a subspace currently occupied by an object. However, the subspace is not limited thereto, and whether the subspace is a free space or an occupied space may be identified based on user input. According to an example, when receiving a user input for setting a specific subspace as an occupied space, the processor 140 may identify the specific subspace as an occupied space.
[0165] According to an example, the specific space may be a movable closed space. The processor 140 may identify whether a plurality of subspaces in the closed space are free spaces or occupied spaces based on sensing data acquired by the sensor 120 while the object enters and exits the closed space.
[0166] Then, according to an embodiment, the control method may update the priority of each of the plurality of subspaces based on the identified characteristics of the subspace (S1220). Here, the characteristics of the subspace means whether the subspace is a free space or an occupied space.
[0167] According to an example, when the priority of each of the plurality of subspaces is identified based on at least one of the location of the object or the predicted departure time to the next stopover in the travel route, the processor 140 may update the priority of each of the subspaces based on characteristics of the subspace.
[0168] For example, when the first subspace identified as the highest priority is identified as an occupied space based on the user input, the processor 140 may identify any one of the remaining subspaces as the subspace having the highest priority.
[0169] Fig.13 is a block diagram showing a detailed configuration of a robot according to an embodiment.
[0170] refer to Fig.13 The robot 100' may include a memory 110, at least one sensor 120, a driver 130, one or more processors 140, an output unit 150, a user interface 160, a microphone 170, and a communication interface 180. Fig.13 The components shown in Figure 2 The components shown in the figure overlap with the detailed description of the components.
[0171] The output unit 150 may include a speaker 150 - 1 , a display 150 - 2 , etc., but is not limited thereto, and may be formed of various embodiments that deliver information in a form perceptible by the five senses of a user.
[0172] The speaker 150-1 may include a tweeter for high-pitch sound reproduction, a mid-range speaker for mid-pitch sound reproduction, a woofer for low-pitch sound reproduction, a subwoofer for extremely low-pitch sound reproduction, an enclosure for controlling resonance, a crossover network for dividing the frequency of an electrical signal input to the speaker by frequency band, and the like.
[0173] The speaker 150-1 may output a sound signal to the outside of the robot 100'. The speaker 150-1 may output multimedia reproduction, recording reproduction, various notification sounds, voice messages, etc. The robot 100' may include an audio output device such as the speaker 150-1, or may include an output device such as an audio output terminal. In particular, the speaker 150-1 may provide acquired information, information processed / generated based on the acquired information, a response result to a user's voice, an operation result, etc. in the form of voice.
[0174] The display 150-2 may be implemented as a display including a self-luminous element or a display including a non-luminous element and a backlight. For example, the display may be implemented as various types of displays, such as a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a light emitting diode (LED), a micro LED, a mini LED, a plasma display panel (PD), a quantum dot (QD) display, and a quantum dot light emitting diode (QLED). A driving circuit, a backlight unit, and the like that may be implemented in the form of a-si TFT, a low temperature polycrystalline silicon (LTPS) TFT, an organic TFT (OTFT), etc. may be included in the display 150-2. In addition, the display 150-2 may be implemented as a touch screen coupled to a touch sensor, a flexible display, a rollable display, a 3D display, a display to which multiple display modules are physically connected, and the like. The processor 140 may control the display 150-2 to output an output image obtained according to the various embodiments described above. Here, the output image may be a high-resolution image of 4K or 8K or higher.
[0175] The user interface 160 is a component for the robot 100' to perform interaction with a user. For example, the user interface 160 may include at least one of a touch sensor, a motion sensor, a button, a jog dial, a switch, a microphone, or a speaker, but is not limited thereto.
[0176] Microphone 170 may refer to a module that acquires sound and converts the acquired sound into an electrical signal, and may be a condenser microphone, a ribbon microphone, a dynamic microphone, a piezoelectric element microphone, a carbon microphone, or a micro-electromechanical system (MEMS) microphone. In addition, the microphone may be implemented in a non-directional, bidirectional, unidirectional, sub-cardioid, super-cardioid, and super-cardioid method.
[0177] The communication interface 180 can input and output various types of data. For example, the communication interface 180 can send and receive various types of data to an external device (e.g., a source device), an external storage medium (e.g., a USB memory), an external server (e.g., a network hard disk), etc. through communication methods such as AP-based Wi-Fi (wireless LAN network), Bluetooth, Zigbee, wired / wireless local area network (LAN), wide area network (WAN), Ethernet, IEEE 1394, High Definition Multimedia Interface (HDMI), Universal Serial Bus (UBS), Mobile High Definition Link (MHL), Audio Engineering Society / European Broadcasting Union (AES / EBU), optical and coaxial communication methods to an external device (e.g., a source device), an external storage medium (e.g., a USB memory), an external server (e.g., a network hard disk), etc.
[0178] According to the various embodiments described above, when the robot 100' travels in a specific space such as an elevator, the robot 100' can travel in the specific space in consideration of the scheduled time to get off the elevator or the location of an object in the specific space. Therefore, the robot 100' can not only efficiently move to the next stopover point, but also reduce the discomfort that people in the specific space may feel.
[0179] In addition, the above-mentioned methods according to various embodiments of the present disclosure may be implemented in the form of an application that can be installed in an existing robot. Alternatively, a learned neural network based on deep learning (or a neural network after deep learning) (i.e., a learning network model) may be used to perform the above-mentioned methods according to various embodiments of the present disclosure. In addition, the above-mentioned methods according to various embodiments of the present disclosure may be implemented only by software upgrades or hardware upgrades of existing robots. In addition, the various embodiments disclosed above may be executed by an embedded server set in a robot or a server outside the robot.
[0180] In addition, according to an embodiment of the present disclosure, the various embodiments described above may be implemented by software including instructions stored in a machine-readable storage medium (e.g., a computer-readable storage medium). The machine may be a device that calls stored instructions from a storage medium and can operate according to the called instructions, and may include a display device (e.g., display device A) according to the disclosed embodiment. In the case where the processor executes a command, the processor may directly execute the function corresponding to the command, or other components may execute the function corresponding to the command under the control of the processor. The command may include a code created or executed by a compiler or an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, the term "non-transitory" means that the storage medium is tangible without including a signal, and does not distinguish whether the data is stored semi-permanently or temporarily in the storage medium.
[0181] In addition, according to an embodiment, the above-mentioned method according to various embodiments may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a storage medium (e.g., a compact disc read-only memory (CD-ROM)), which may be read by a machine or online through an application store (e.g., PlayStoreTM). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored in a storage medium (such as a memory of a manufacturer's server, an application store's server, or a relay server), or may be temporarily generated.
[0182] In addition, each of the components (e.g., modules or programs) according to the various embodiments described above may include a single entity or multiple entities, and some of the corresponding subcomponents described above may be omitted, or other subcomponents may be further included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into one entity, and the same or similar functions performed by each corresponding component are performed before integration. The operations performed by the modules, programs or other components according to the various embodiments may be performed in a sequential manner, in a parallel manner, in an iterative manner or in a heuristic manner, and at least some operations may be performed in a different order or omitted, or other operations may be added.
[0183] Although exemplary embodiments of the present disclosure have been shown and described above, the present disclosure is not limited to the above-mentioned specific exemplary embodiments, but various modifications may be made by those skilled in the art to which the present disclosure belongs without departing from the gist of the present disclosure disclosed in the appended claims. These modifications should also be understood to fall within the scope and spirit of the present disclosure.
Claims
1. A robot comprising: A memory for storing map information; at least one sensor; a driver configured to move the robot to a destination according to a travel route based on the map information, the travel route including a first area, the first area being a stopover location in the travel route; as well as The processor is configured as: identifying a plurality of second regions within the first region, identifying priority information corresponding to each of the plurality of second areas, identifying locations of one or more objects within the first area based on sensing data acquired by the at least one sensor, updating priority information corresponding to each of the plurality of second areas based on at least one of the identified locations of the one or more objects or a predicted departure time to a next stopover location within the travel route, and The driver is controlled to move the robot based on the updated priority information.
2. The robot according to claim 1, wherein: The processor is configured to identify a predicted departure time from the first area to a next stopover location within the travel route when the robot enters a specific space or when the robot is located in one of the plurality of second areas, identifying a remaining travel time within the first area based on the predicted departure time, updating priority information based on a location of each of the plurality of second areas based on identifying that the remaining travel time is less than a threshold time, and The driver is controlled to move the robot based on the updated priority information.
3. The robot according to claim 2, further comprising: User interface, Wherein, the processor is further configured to: updating priority information corresponding to the plurality of second areas based on preference information corresponding to each of the plurality of second areas received through the user interface, and The driver is controlled to move the robot based on the updated priority information.
4. The robot according to claim 2, further comprising: Output unit, Wherein, the processor is further configured to: identifying one of the plurality of second regions as a candidate region based on the priority information, and The output unit is controlled to output a notification indicating that the robot is scheduled to move to the candidate area.
5. The robot according to claim 1, wherein: The processor is further configured to: identifying, in the plurality of second areas, a candidate area spaced apart from the one or more objects by a threshold distance or more based on at least one of the number of the plurality of second areas or the locations of the plurality of second areas, wherein the one or more objects are located in the first area when the robot enters the first area or when the robot is located in one of the plurality of second areas, and The actuator is controlled to move to the identified candidate area.
6. The robot according to claim 1, wherein: The processor is further configured to: Based on the positions of the one or more objects in the first area, identifying the number of second areas where the one or more objects are located in the plurality of second areas, When the number of identified second areas is less than a threshold number, controlling the driver to enter the first area, and When the number of identified second areas is greater than or equal to the threshold number, the travel route is updated to avoid the first area.
7. The robot according to claim 1, wherein: The processor is further configured to: identifying a weight value corresponding to the priority information, the priority information corresponding to each of the plurality of second areas, Mapping the identified weight value to each grid corresponding to the plurality of second regions to obtain AOI information, or mapping the identified weight value to each node corresponding to the plurality of second regions to obtain AOI information, and One or more weight values included in the AOI information are updated based on at least one of the identified locations of the one or more objects or the predicted departure time to the next stopover location within the travel route.
8. The robot according to claim 7, wherein: When the weight value included in the AOI information is updated based on at least one of the identified locations of the one or more objects or the predicted departure time to the next stopover location in the travel route, the processor is further configured to: identifying whether there is a second region having an updated weight value greater than or equal to a threshold value among the plurality of second regions, and The priority information corresponding to each of the plurality of second areas is updated based on the updated weight value.
9. The robot according to claim 1, wherein: The first area is a movable enclosed space, Wherein, the processor is further configured to: identifying whether each of the plurality of second areas is a free space or an occupied space based on the one or more objects entering and leaving the first area, and The priority information corresponding to each of the plurality of second regions is updated based on whether each of the plurality of second regions is a free space or an occupied space.
10. A method for controlling a robot, the method comprising: identifying a plurality of second areas within a first area, the first areas being stopover locations on a travel route identified based on map information; identifying priority information corresponding to each of the plurality of second areas; identifying locations of one or more objects within the first area based on sensed data acquired by at least one sensor; updating priority information corresponding to each of the plurality of second areas based on at least one of the identified locations of the one or more objects or a predicted departure time to a next stopover location within the travel route; as well as The driver is controlled to move the robot based on the updated priority information.
11. The method according to claim 10, wherein: Update priority information also includes: identifying a predicted departure time from the first area to a next stopover location within the travel route when the robot enters the first area or when the robot is located in one of the plurality of second areas, identifying a remaining travel time within the first area based on the predicted departure time, When it is identified that the remaining travel time is less than a threshold time, priority information is updated based on a location of each of the plurality of second areas.
12. The method according to claim 11, wherein: Updating the priority information includes updating the priority information corresponding to the plurality of second areas based on preference information corresponding to each of the plurality of second areas received through a user interface.
13. The method according to claim 11, further comprising: identifying one of the plurality of second regions as a candidate region based on the priority information, and The control output unit outputs a notification indicating that the robot is scheduled to move to the candidate area.
14. The method according to claim 10, wherein: Controlling the driver further comprises: identifying, based on at least one of the number of the plurality of second areas or the locations of the plurality of second areas, a candidate area spaced apart from one or more objects by a threshold distance or more in the plurality of second areas, wherein the one or more objects are located in the first area when the robot enters the first area or when the robot is located in one of the plurality of second areas, and The actuator is controlled to move to the identified candidate area.
15. A non-transitory computer-readable recording medium storing computer instructions that, when executed by a processor, allow a robot to perform operations, wherein: The operations include: identifying a plurality of second areas within a first area, the first areas being stopover locations on a travel route identified based on map information; identifying priority information corresponding to each of the plurality of second areas; identifying locations of one or more objects within the first area based on sensed data acquired by at least one sensor; updating priority information corresponding to each of the plurality of second areas based on at least one of the identified locations of the one or more objects or a predicted departure time to a next stopover location within the travel route; and The actuator is controlled to move the robot based on the updated priority information.