Robot for leaving escalator and control method thereof
By using sensors and processors in the robot to identify the position of the escalator and object and control the direction of movement when leaving the escalator, the collision accident problem when traveling up and down is solved, and safety is improved.
Patent Information
- Application Number
- CN202380045175.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-08-24
- Filing Date
- 2023-08-24
- Publication Date
- 2025-01-14
AI Technical Summary
When using escalators, the robot is prone to collision with passengers when leaving the escalators, resulting in accidents. It is difficult for the prior art to effectively avoid such collisions.
By installing sensors and processors in the robot, identifying the step height difference and object position of the escalator, the control drive allows the robot to move in the opposite direction of the escalator when leaving the escalator, avoiding entering the downhill area, or entering when ensuring safety Downhill area.
It effectively avoids collision accidents between robots and passengers, and improves safety when traveling up and down the escalator.
Smart Images

Figure CN119317522A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a robot and a control method thereof, and more particularly, to a robot operable to disembark from an escalator and a control method thereof. Background Art
[0002] Recently, with the development of electronic technology, robots are used in various industrial fields. With the development of object recognition technology, robots can accurately distinguish various objects, and with the development of autonomous driving technology, robots can travel safely without interfering with human traffic in the travel space. It can be seen that robots such as service robots that serve food ordered by users in restaurants and guide robots that guide users on the road in airports, large markets, etc. are used in various fields and ways.
[0003] As robots are used in various fields, the types and sizes of spaces that robots travel in have also diversified. In the past, robots could only travel in narrow and confined spaces, but now they can travel in wider and more open spaces.
[0004] In the case of a large building consisting of multiple floors, such as a large market and an airport, the robot may use an escalator to move between floors of the large building. However, when the robot uses an escalator, an accident in which the robot accidentally collides with a passenger may occur due to the automatically moving escalator. For example, when the robot leaves the escalator and a passenger stops at the exit of the escalator, an accident in which the robot getting off the escalator collides with a passenger may occur.
[0005] In particular, such collision accidents occur more frequently when the robot leaves the escalator. Therefore, a method for allowing the robot to get off the escalator more safely is needed. Summary of the invention
[0006] Technical Solution
[0007] The present disclosure provides a robot operable to get off an escalator and a control method thereof.
[0008] According to one aspect of the present disclosure, a robot includes: at least one sensor; a drive; at least one memory storing at least one instruction; and at least one processor configured to execute the at least one instruction to perform the following operations: identifying a height difference between a first step and a second step of an escalator through the at least one sensor, identifying whether the robot is adjacent to a descending area of the escalator based on the identified height difference, identifying whether an object is located within a first distance of the robot in a moving direction of the escalator through the at least one sensor based on the identification that the robot is adjacent to the descending area, and controlling the drive to cause the robot to move on the escalator in a direction opposite to the moving direction of the escalator based on the identification that the object is located within the first distance of the robot in the moving direction of the escalator.
[0009] The second step may be a step adjacent to the first step in the moving direction of the escalator, and the at least one processor may also be configured to execute the at least one instruction to perform the following operations: identifying that the robot is adjacent to the descending area of the escalator based on identifying that the identified height difference is less than a predetermined value.
[0010] The robot may also include: a communication interface, and the at least one processor may also be configured to execute the at least one instruction to perform the following operations: based on the driver causing the robot to move in a direction opposite to the moving direction of the escalator, identifying through the at least one sensor whether a second object is located within a second distance of the robot in the direction opposite to the moving direction of the escalator, and based on identifying that the second object is located within the second distance of the robot in the direction opposite to the moving direction of the escalator, sending a control signal for stopping the escalator through the communication interface.
[0011] The at least one processor may be further configured to execute the at least one instruction to control the driver to cause the robot to move in a direction opposite to a moving direction of the escalator at a moving speed of the escalator.
[0012] The robot may further include: a camera, and the at least one processor may further be configured to execute the at least one instruction to perform the following operations: acquiring multiple images of the escalator through the camera, identifying that the robot is adjacent to the downstairs area of the escalator, identifying a boundary line between the first step and the second step based on the acquired multiple images, and identifying a moving speed of the escalator based on the moving speed of the identified boundary line.
[0013] The at least one processor may also be configured to execute at least one instruction to perform the following operations: identifying the third step based on the robot being located on the third step of the escalator, identifying the fourth step based on the fourth step of the escalator being adjacent to the third step in the moving direction of the escalator, and identifying the moving speed of the escalator based on the elapsed time between a first time corresponding to identifying an initial height difference between the third step and the fourth step and a second time corresponding to identifying a maximum height difference between the third step and the fourth step.
[0014] The at least one processor may also be configured to execute the at least one instruction to perform the following operations: while the robot moves in a direction opposite to the moving direction of the escalator, based on identifying through the at least one sensor that the object located in the moving direction of the escalator is no longer within the first distance of the robot, controlling the drive to cause the robot to move in the moving direction of the escalator and enter the descending area.
[0015] The drive includes multiple wheels, and wherein the at least one processor is further configured to execute the at least one instruction to perform the following operations: while the robot moves in a direction opposite to the moving direction of the escalator, control the drive to cause at least one of the multiple wheels to be located in the step-down area and cause the remaining wheels of the multiple wheels to be located on the escalator, and control the drive to cause the remaining wheels of the multiple wheels to rotate in a direction opposite to the moving direction of the escalator.
[0016] According to one aspect of the present disclosure, a method for controlling a robot includes: identifying a height difference between a first step and a second step of an escalator through at least one sensor of the robot; identifying whether the robot is adjacent to a descending area of the escalator based on the identified height difference; based on identifying that the robot is adjacent to the descending area, identifying whether an object is located within a first distance of the robot in a moving direction of the escalator; and based on identifying that the object is located within the first distance of the robot in the moving direction of the escalator, controlling a driver of the robot to cause the robot to move on the escalator in a direction opposite to the moving direction of the escalator.
[0017] The second step may be a step adjacent to the first step in the moving direction of the escalator, and the step of identifying whether the robot is adjacent to the descending area may further include identifying that the robot is adjacent to the descending area based on identifying that the identified height difference is less than a predetermined value.
[0018] The method may also include: based on the driver causing the robot to move in a direction opposite to the moving direction of the escalator, identifying through the at least one sensor whether a second object is located within a second distance of the robot in the direction opposite to the moving direction of the escalator; and based on identifying that the second object is located within the second distance of the robot in the direction opposite to the moving direction of the escalator, sending a control signal for stopping the escalator through the communication interface of the robot.
[0019] The step of controlling the driver may further include controlling the driver to cause the robot to move in a direction opposite to a moving direction of the escalator at a moving speed of the escalator.
[0020] The method may also include: acquiring multiple images of the escalator through the camera of the robot; based on identifying that the robot is adjacent to the downstairs area of the escalator, identifying a boundary line between the first step and the second step based on the acquired multiple images; and identifying a moving speed of the escalator based on the moving speed of the identified boundary line.
[0021] The method may also include: identifying the third step based on the robot being located on the third step of the escalator; identifying the fourth step adjacent to the third step in the moving direction of the escalator; and identifying the moving speed of the escalator based on the elapsed time between a first time corresponding to identifying an initial height difference between the third step and the fourth step and a second time corresponding to identifying a maximum height difference between the third step and the fourth step.
[0022] The method may further include: while the robot is moving in a direction opposite to the moving direction of the escalator, based on identifying through the at least one sensor that the object located in the moving direction of the escalator is no longer within the first distance of the robot, controlling the drive to cause the robot to move along the moving direction of the escalator and enter the descending area.
[0023] According to one aspect of the present disclosure, a non-transitory computer-readable medium having instructions stored therein, wherein the instructions, when executed by at least one processor, cause the at least one processor to execute a method for controlling a robot, wherein the method includes: identifying a height difference between a first step and a second step of an escalator through at least one sensor of the robot; identifying whether the robot is adjacent to a step-down area of the escalator based on the identified height difference; identifying whether an object is located within a first distance of the robot in a moving direction of the escalator based on the identification that the robot is adjacent to the step-down area; and controlling a drive of the robot to cause the robot to move on the escalator in a direction opposite to the moving direction of the escalator based on the identification that the object is located within the first distance of the robot in the moving direction of the escalator.
[0024] The second step may be a step adjacent to the first step in the moving direction of the escalator, and the step of identifying whether the robot is adjacent to the descending area may further include identifying that the robot is adjacent to the descending area based on identifying that the identified height difference is less than a predetermined value.
[0025] The non-transitory computer-readable medium, wherein the method may further include: based on the drive causing the robot to move in a direction opposite to the moving direction of the escalator, identifying through the at least one sensor whether a second object is located within a second distance of the robot in the direction opposite to the moving direction of the escalator; and based on identifying that the second object is located within the second distance of the robot in the direction opposite to the moving direction of the escalator, sending a control signal for stopping the escalator through the communication interface of the robot.
[0026] The step of controlling the driver may further include controlling the driver to cause the robot to move in a direction opposite to a moving direction of the escalator at a moving speed of the escalator.
[0027] The non-transitory computer-readable medium, wherein the method may further include: acquiring multiple images of the escalator through the camera of the robot; based on identifying that the robot is adjacent to the downstairs area of the escalator, identifying a boundary line between the first step and the second step based on the acquired multiple images; and identifying a moving speed of the escalator based on the moving speed of the identified boundary line. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] 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:
[0029] Figure 1 is an exemplary view of a robot descending an escalator;
[0030] Figure 2 is a schematic configuration diagram of a robot according to one or more embodiments of the present disclosure;
[0031] Figure 3 is an exemplary diagram illustrating identifying a height difference between a plurality of steps constituting an escalator and identifying a disembarkment area based on the identified height difference according to one or more embodiments of the present disclosure;
[0032] Figure 4 is an exemplary diagram illustrating identifying a height difference between a plurality of steps of an ascending escalator according to one or more embodiments of the present disclosure;
[0033] Figure 5 is an exemplary diagram illustrating identifying a height difference between a plurality of steps of a descending escalator according to one or more embodiments of the present disclosure;
[0034] Figure 6 is an exemplary diagram illustrating a method of controlling a robot based on a distance to an object in a stair-dropping area according to one or more embodiments of the present disclosure;
[0035] Figure 7 is an exemplary diagram illustrating a method of controlling a robot when objects exist in front of and behind the robot according to one or more embodiments of the present disclosure;
[0036] Figure 8 is an exemplary diagram illustrating a method of controlling a plurality of wheels of a robot based on a distance to an object in a step-down area according to one or more embodiments of the present disclosure;
[0037] Fig. 9 is an exemplary diagram illustrating a method of identifying a speed of an escalator based on a height difference between a plurality of steps of the escalator according to one or more embodiments of the present disclosure;
[0038] Fig.10 is an exemplary diagram illustrating a method of identifying a speed of an escalator based on an acquired image of the escalator according to one or more embodiments of the present disclosure;
[0039] Fig.11 is an exemplary diagram illustrating a method of controlling a robot to face a descending direction determined based on a direction of an escalator according to one or more embodiments of the present disclosure;
[0040] Fig.12 is a detailed configuration diagram of a robot according to one or more embodiments of the present disclosure;
[0041] Fig.13 is a flowchart schematically illustrating a method for controlling a robot to go down a ladder according to one or more embodiments of the present disclosure; and
[0042] Fig.14 is a flowchart schematically illustrating a method of controlling a robot when objects exist in front of and behind the robot according to one or more embodiments of the present disclosure. DETAILED DESCRIPTION
[0043] Because the present disclosure can be variously modified and has several embodiments, the specific embodiments of the present disclosure will be shown in the drawings and described in detail in the specific embodiments. However, it should be understood that the present disclosure is not limited to specific embodiments, but includes all modifications, equivalents and replacements according to the embodiments of the present disclosure. Throughout the drawings, similar components will be represented by similar reference numerals.
[0044] In describing the present disclosure, when it is determined that a detailed description of known functions or configurations related to the present disclosure may unnecessarily obscure the gist of the present disclosure, such a detailed description will be omitted.
[0045] In addition, the following embodiments may be modified in several different forms, and the scope and spirit of the present disclosure are not limited to the following exemplary embodiments. On the contrary, these exemplary embodiments make the present disclosure thorough and complete, and are provided to fully transfer the spirit of the present disclosure to those skilled in the art.
[0046] The terms used in the present disclosure are only used to describe specific exemplary embodiments rather than to limit the scope of the present disclosure. Unless the context clearly indicates otherwise, the singular form is intended to include the plural form.
[0047] In the present disclosure, the expressions “having”, “may have”, “including”, “may include”, “contains”, “may include”, etc. indicate the existence of corresponding features (for example, values, functions, operations, components (such as parts), etc.), and do not exclude the existence of additional features.
[0048] In the present disclosure, the expressions "A or B", "at least one of A or / and B", "one or more of A or / and B", etc. may include all possible combinations of the items listed together. For example, "A or B", "at least one of A and B", and "at least one of A or B" may indicate all of the following: 1) the case of including at least one A, 2) the case of including at least one B, or 3) the case of including both at least one A and at least one B.
[0049] The expressions "first", "second", "1st", "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 and will not limit the corresponding components.
[0050] When referring to any component (e.g., a first component) being (operably or communicatively) coupled to / (operably or communicatively) coupled to another component (e.g., a second component), or being connected to another component (e.g., a second component), it should be understood that any component is directly coupled to another component or can be coupled to another component through another component (e.g., a third component).
[0051] On the other hand, when it is mentioned that any component (e.g., a first component) is “directly coupled” or “directly connected” to another component (e.g., a second component), it should be understood that there is no other component (e.g., a third component) between any component and the other component.
[0052] The expression “~configured (or set) to” used in the present disclosure may be replaced by the expression “suitable for”, “having the ability to…”, “~designed to”, “~adapted to”, “~made to” or “~capable of” as appropriate. The term “~configured (or set) to” may not necessarily mean “specially designed to” in hardware.
[0053] On the contrary, the expression “a device configured to…” may mean that the device, together with other devices or components, “is capable of…” For example, “a processor configured (or set) to perform A, B, and C” may mean a dedicated processor (e.g., an embedded processor) for performing the corresponding operations or a general-purpose processor (e.g., a central processing unit (CPU) or an application processor) that can perform the corresponding operations by executing one or more software programs stored in a memory device.
[0054] In an exemplary embodiment, a "module" or "unit" can perform at least one function or operation and is implemented by hardware or software or a combination of hardware and software. In addition, in addition to the "module" or "~ / device" that needs to be implemented by specific hardware, multiple "modules" or multiple "~ / devices" can be integrated in at least one module and implemented by at least one processor.
[0055] In addition, various elements and regions in the drawings are schematically shown. Therefore, the spirit of the present disclosure is not limited by the relative sizes or relative intervals shown in the drawings.
[0056] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present disclosure pertains can easily practice the present disclosure.
[0057] Figure 1 is an illustrative view of a robot descending an escalator.
[0058] An escalator is a step-like structure or mechanical device designed to allow people, goods, robots, etc. to move automatically between travel spaces on different floors. Escalators can be divided into down escalators and up escalators according to the direction of movement.
[0059] The steps of the escalator may be referred to as steps, etc. In this case, each step of the escalator may be implemented as a plurality of plates. Specifically, in this case, each step may include a plate that performs the function of providing a space where a person or robot 100 can stand (or a space where an object, etc. can be placed) and a plate that performs the function of a frame that supports the steps. In this case, the plate that performs the function of providing the space may be referred to as a step tread, a footrest, a stepping plate, etc., and the plate that performs the function of the frame may be referred to as a step riser, etc.
[0060] The robot 100 according to one or more embodiments of the present disclosure may be implemented as various electronic devices, such as a robot capable of performing air purification operations while traveling in a building space, a housekeeping support robot capable of performing operations such as tidying clothes and washing dishes while traveling in a home space, or a safety robot capable of performing safety operations while traveling in a building space.
[0061] However, the robot 100 is not limited thereto and may be implemented as various movable robots. For example, the robot 100 may be implemented as a robot vacuum cleaner capable of performing a cleaning operation while traveling in a home space, an autonomous driving vehicle capable of performing driving instead of a person, an automatic guided vehicle capable of moving an object to a destination, etc.
[0062] like Figure 1 As shown, with the development of driving technology in recent years, the travel path of the robot 100 can be set for the travel space 1 and the travel space 2 of different floors. In this case, the robot 100 can also move between floors using stairs, escalators, etc. For example, the robot 100 used in large markets, department stores, etc. can also correspond to this.
[0063] However, in the case of the escalator 200, accidents in which the robot 100 collides with objects (e.g., passengers, pedestrians, etc.) around the robot 100 frequently occur. In the case where the steps are fixed to the ground, when there is a risk of a collision accident, the robot 100 may change the travel path or stop traveling. However, in the case of the escalator 200, since the steps constituting the escalator 200 move, accidents in which the robot 100 collides with passengers around the robot 100 may occur even if the robot 100 is stationary.
[0064] In particular, such accidents occur more frequently when the robot 100 leaves the escalator 200. In order to leave the escalator 200, it is necessary to control the driver 120 of the robot 100 so that the robot 100 enters the descending area 3 (e.g., the waiting space) of the escalator 200. Figure 1 As shown, when passengers who left earlier than the robot 100 are waiting at the exit or pedestrians are passing through the door, if the robot 100 leaves the escalator 200 and continues to enter the descending area 3, the robot 100 may have no choice but to collide with the passengers or pedestrians present in the descending area 3.
[0065] On the other hand, the robot 100 may also determine to wait on the escalator 200 until the passengers or pedestrians existing at the exit disappear. However, as the step on the escalator 200 where the robot 100 is located moves to the inside of the escalator 200 through the drive chain, the time the robot 100 waits on the escalator 200 may inevitably be short. Therefore, the robot 100 may have no choice but to inevitably enter the descending area 3, and as a result, a collision accident may occur.
[0066] In order to solve these problems, the present disclosure accurately identifies whether the robot 100 is approaching the descending area 3 of the escalator 200, and when the robot 100 is approaching the descending area 3 of the escalator 200, identifies whether there is an object (e.g., a person, another robot 100, an object, etc.) in the descending area 3.
[0067] If an object is identified in the step-down area 3, the robot 100 identifies whether there is a risk of a collision accident between the identified object in the step-down area 3 and the robot 100, and when there is a risk of such a collision accident, the control driver 120 causes the robot to wait on the escalator 200. In this case, when the robot 100 moves in a direction opposite to the moving direction of the escalator 200 at the same speed as the moving speed of the escalator 200, the robot 100 may continue to wait on the escalator 200. For this purpose, the robot 100 of the present disclosure also identifies the moving direction and moving speed of the robot 100 on the escalator 200. Hereinafter, the disclosed embodiments related to this are described.
[0068] Figure 2 is a schematic configuration diagram of a robot 100 according to one or more embodiments of the present disclosure.
[0069] according to Figure 2 , a robot 100 according to one or more embodiments of the present disclosure includes at least one sensor 110 , a driver 120 , and a processor 130 .
[0070] According to one or more embodiments of the present disclosure, the robot 100 may be divided into a head and a body. For example, the head of the robot 100 may include a sensor 110 or a camera to perform a function of identifying an object around the robot 100 or acquiring an image of an object. The body of the robot 100 may be connected to a driver 120 to move the robot 100 or perform a function of supporting a frame of the robot 100. The head may be connected to a rotatable motor, etc. and attached to the body. Therefore, the robot 100 can acquire an image of an object around the robot 100 by rotating the head 360° without controlling the driver 120.
[0071] However, the head and body of the robot 100 may be defined as terms used to describe each function. That is, the robot 100 may be implemented as an integrated body without distinguishing the head and body, and in this case, the body and head may be distinguished for the robot 100 according to the function performed.
[0072] The at least one sensor 110 detects an object around the robot 100. Specifically, the at least one sensor 110 may identify a distance between an object around the robot 100 and the robot 100. To this end, the at least one sensor 110 may be implemented as a light detection and ranging (Lidar) sensor, a time of flight sensor (ToF sensor), a complementary metal oxide semiconductor image sensor (CMOS image sensor), and the like.
[0073] In this case, the robot 100 may identify the object around the robot 100 based on the distance information between the robot 100 and the object around the robot 100 acquired by the at least one sensor 110. For example, when the at least one sensor 110 is implemented as a Lidar sensor, the Lidar sensor may rotate 360° to irradiate light, and identify the distance between the robot 100 and the object based on the time when the light is reflected and received by the object. In addition, the robot 100 identifies the point of reflected light as a point based on the intensity, time, etc. of the reflected and received light. In this case, the robot 100 may identify a plurality of clustered points among the plurality of identified points as a point cloud for the object. In addition, the robot 100 may identify the type, size, position, etc. of the object based on the identified point cloud.
[0074] In addition, according to one or more embodiments of the present disclosure, the robot 100 may include a plurality of sensors 110. The plurality of sensors 110 may be respectively provided on the head of the robot 100 and the body of the robot 100. In this case, the sensor 110 provided on the head of the robot 100 may be used to identify an object in front of the robot 100, and the sensor 110 provided on the body of the robot 100 may be used to identify an object below the robot 100. For example, the robot 100 may identify the distance to an object located in front of the robot 100 based on a sensing value obtained by the sensor 110 provided on the head of the robot 100. The robot 100 may also obtain information about the steps of the escalator 200 while the robot 100 gets on the escalator 200 through the sensor 110 provided on the body of the robot 100. Here, the information about the steps may include the position of the steps of the escalator 200, the height difference between a plurality of adjacent steps, and the like.
[0075] The driver 120 is a device capable of moving the robot 100. The driver 120 may adjust the travel direction and travel speed under the control of the processor 130. The driver 120 according to the example may include a power generation device that generates power for the robot 100 to travel (e.g., a gasoline engine, a diesel engine, a liquefied petroleum gas (LPG) engine, an electric motor, etc. depending on the fuel (or energy source) used) and a steering device for controlling the travel direction (e.g., manual steering, hydraulic steering, electronically controlled power steering (EPS)), etc.).
[0076] In addition, according to one or more embodiments of the present disclosure, the driver 120 may include a plurality of wheels. In this case, the plurality of wheels may perform a function of moving the robot 100 by rotating based on the control of the processor 130. Specifically, when an electrical signal corresponding to control information (e.g., moving direction, moving speed, etc.) generated by the processor 130 is received, the driver 120 may drive the power generation device and rotate the plurality of wheels based on the received electrical signal. Therefore, the robot 100 may move in a specific direction.
[0077] Alternatively, based on the control of the processor 130, the robot 100 may be rotated by rotating at least one of the plurality of wheels or by changing the rotation speed of the plurality of wheels. Specifically, when receiving an electrical signal corresponding to the control information (e.g., rotation direction, rotation speed, etc.) generated by the processor 130, the driver 120 may drive the power generation device and rotate at least one of the plurality of wheels based on the received electrical signal. Alternatively, the driver 120 may receive electrical signals of different amplitudes for each wheel and rotate each wheel at a different speed. Therefore, the robot 100 may rotate or move in a specific direction.
[0078] In addition, according to one or more embodiments of the present disclosure, the robot 100 may further include a camera. The camera captures objects around the robot 100 and acquires multiple images of the objects. Specifically, the camera may acquire images of multiple steps of the escalator 200 or images of objects located in front of the robot 100 while the robot 100 is riding the escalator 200. To this end, the camera may be implemented as an imaging device, such as a CMOS image sensor (CIS) having a CMOS structure, a charge coupled device (CCD) having a CCD structure, and the like. However, the camera is not limited thereto, and the camera may be implemented as a camera module capable of capturing various resolutions of an object.
[0079] In addition, the camera may be implemented as a depth camera, a stereo camera, an RGB camera, etc. Therefore, the camera may acquire depth information of an object as well as an image of the object.
[0080] The processor 130 may control general operations of the robot 100. To this end, the processor 130 may include a random access memory (RAM), a read-only memory (ROM), a central processing unit (CPU), a graphics processing unit (GPU), a system bus, etc., and may perform calculations or data processing related to control of one or more components included in the robot 100.
[0081] The processor 130 may control one or more components included in the robot 100 by executing one or more instructions stored in a memory, controlling one or more components as hardware circuits or chips, or controlling one or more components as a combination of software and hardware.
[0082] The processor 130 may be electrically connected to various components in the robot 100 including at least one sensor 110 , a driver 120 , a camera, a communication unit, and a memory, and control the components.
[0083] Figure 3 is an exemplary diagram illustrating identifying a height difference between a plurality of steps constituting an escalator and identifying a step-down area based on the identified height difference according to one or more embodiments of the present disclosure.
[0084] According to one or more embodiments of the present disclosure, while the robot 100 is riding the escalator 200, the processor 130 identifies the height difference between the first step and the second step of the escalator 200 through the at least one sensor 110. In this case, the second step may be a step adjacent to the first step in the escalator 200 in the moving direction of the escalator 200.
[0085] Specifically, the processor 130 may identify a height difference between a plurality of steps of the escalator 200 through the at least one sensor 110 after the robot 100 is on the escalator 200 .
[0086] Reference Figure 3 , the processor 130 can obtain sensing information about multiple steps of the escalator 200 through at least one sensor 110 while the robot 100 is riding the escalator 200 .
[0087] More specifically, the processor 130 may acquire a plurality of data 11 and 12 about the escalator 200 through at least one sensor 110. Specifically, the processor 130 may acquire first sensing data 11 for the escalator 200 at time t1, and acquire second sensing data 12 for the escalator 200 at time t2.
[0088] In this case, the processor 130 may identify the height difference between the plurality of steps based on the first data 11 and the second data 12. Specifically, the processor 130 may identify the height difference between the step 210 where the robot 100 is located and another step 220 adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 as h1 based on the first data 11. The processor 130 may identify the height difference between the step 210 where the robot 100 is located and another step 220 adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 as h3 based on the second data 12.
[0089] In addition, the processor 130 may identify the height difference between the step 220 adjacent to the step 210 where the robot 100 is located and the step 230 located in front of the step 220 as h2 based on the first data 11. The processor 130 may identify the height difference between the step 220 adjacent to the step 210 where the robot 100 is located and the step 230 located in front of the step 220 as h4 based on the second data 12. In this way, the processor 130 may identify the height difference between a plurality of adjacent steps of the escalator 200 in real time based on the sensing data acquired for the steps of the escalator 200.
[0090] In addition, the processor 130 may recognize that the robot 100 is riding the escalator 200 when it is detected that the position of the robot 100 changes without the control of the driver 120. Alternatively, the processor 130 may recognize whether the robot 100 is riding the escalator 200 based on map data stored in a memory of the robot 100. The processor 130 may recognize the real-time position of the robot 100 and the position of the escalator 200 based on the map data. When it is recognized that the robot 100 is located on the escalator 200 based on the map data, the processor 130 may recognize that the robot 100 is riding the escalator 200.
[0091] In addition, the map data is map data including information about a travel space set for the robot 100 to travel. The information about the travel space includes a travel path of the robot 100 set in the travel space, position information in the travel space (such as a building (e.g., escalator 200), terrain, obstacles, etc.), and the like.
[0092] Figure 3 It is shown that the sensing information is acquired in the form of an image, but this is for convenience in describing the present disclosure, and the sensing information may be acquired in various forms (eg, values, images, point clouds, etc.) according to the type of the at least one sensor 110 .
[0093] According to one or more embodiments of the present disclosure, the processor 130 may identify whether the robot 100 is adjacent to the descending area 3 of the escalator 200 based on the identified height difference between the first step and the second step.
[0094] Specifically, the processor 130 may recognize that the robot 100 is adjacent to the descending area 3 of the escalator 200 when the height difference between the identified first step and the second step is less than a predetermined value.
[0095] Here, the descending area 3 represents an area where passengers (e.g., people, robots 100, etc.) riding the escalator 200 land or wait after leaving the steps of the escalator 200. For example, the descending area 3 may include a platform step installed at the exit of the escalator 200.
[0096] The descending area 3 may further include the ground around the exit of the escalator 200. For example, the descending area 3 may include a platform step installed at the exit of the escalator 200, and may further include the ground within a predetermined range around the platform step.
[0097] The processor 130 may identify whether the robot 100 is adjacent to the step-down area 3 based on the height difference between the identified first step and the second step. Specifically, since the robot 100 moves through the travel spaces 1 and 2 of different floors by the escalator 200, an error may occur in the map data used by the processor 130 to identify the position of the robot 100.
[0098] For example, when map data for travel spaces 1 and travel spaces 2 of different floors are stored in the robot 100, the processor 130 may use different map data according to the floor of the travel space where the robot 100 is located. In this case, when the time when the position of the robot 100 is changed (e.g., the time when the floor of the travel space where the robot 100 is located is changed) is unclear, the processor 130 may use map data different from the travel space where the robot 100 is located (e.g., map data of the travel space on the floor other than the travel space where the robot 100 is located). Therefore, the processor 130 may also fail to accurately identify the position of the descending area 3 of the escalator 200 and the position of the robot 100.
[0099] Therefore, according to one or more embodiments of the present disclosure, while the robot 100 is riding the escalator 200, the processor 130 identifies that the robot 100 is adjacent to the descending area 3 of the escalator 200 based on the height difference between multiple adjacent steps of the escalator 200 rather than map data.
[0100] Return to reference Figure 3 , the processor 130 may recognize that the height difference between the step 210 where the robot 100 is located and another step 220 adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 decreases. Specifically, the processor 130 may recognize that the height difference between the step 210 where the robot 100 is located and another step 220 adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 decreases from h1 to h3 as time passes (i.e., as time passes from t1 to t2). In this case, when it is assumed that the predetermined value is h3, the processor 130 may recognize that the robot 100 is adjacent to the downstairs area 3 at time t2. In addition, according to one or more embodiments of the present disclosure, the predetermined value may be set to "0".
[0101] According to one or more embodiments of the present disclosure, while the robot 100 is riding the escalator 200, the processor 130 may select a plurality of target steps for identifying the height difference between the steps among the plurality of steps of the escalator 200. That is, the processor 130 may select a plurality of target steps as a reference for determining whether the robot 100 is adjacent to the descending area 3.
[0102] Specifically, return to reference Figure 3 , the processor 130 may identify whether the robot 100 is adjacent to the stair lowering area 3 based on the height difference (e.g., h1 and h3) between the step 210 where the robot 100 is located and the step 220 adjacent to the step where the robot 100 is located. That is, the processor 130 may select the step where the robot 100 is located and the step adjacent to the step where the robot 100 is located as the target steps.
[0103] Alternatively, the processor 130 may identify whether the robot 100 is adjacent to the stair lowering area 3 based on the height difference (e.g., h2 and h4) between the step 220 adjacent to the step where the robot 100 is located and the step 230 located in front of the step 220. That is, the processor 130 may select the step adjacent to the step where the robot 100 is located and the step located in front of the step adjacent to the step where the robot 100 is located as the target step.
[0104] In this way, the processor 130 can select a target step among a plurality of steps of the escalator 200 and identify only the height difference between the selected target steps, thereby more quickly and accurately determining whether the robot 100 is adjacent to the descending area 3 .
[0105] In this case, the processor 130 may select a target step based on the moving speed of the escalator 200. When the moving speed of the escalator 200 is less than a predetermined speed, the processor 130 may select the step where the robot 100 is located and the step adjacent to the step where the robot 100 is located as the target step. In addition, when the moving speed of the escalator 200 is equal to or greater than a predetermined speed, the processor 130 may select the step adjacent to the step where the robot 100 is located and the step in front of the adjacent step as the target step.
[0106] The height of the first step and the height of the second step can be identified in the predetermined 3D coordinate space 300. This will be Figure 4 and Figure 5 Described in detail in.
[0107] Figure 4 is an exemplary diagram illustrating identifying a height difference between a plurality of steps of an ascending escalator according to one or more embodiments of the present disclosure. Figure 5 is an exemplary diagram illustrating identifying a height difference between a plurality of steps of a descending escalator according to one or more embodiments of the present disclosure.
[0108] The processor 130 may identify the relative heights of the plurality of steps of the escalator 200 based on the robot 100 or the step where the robot 100 is located. Specifically, the processor 130 may identify each of the plurality of steps identified by the at least one sensor 110 within a predetermined 3D coordinate space 300. In this case, the position of each step may be relatively identified based on the position of the at least one sensor 110 of the robot 100 or the position of each step may be relatively identified based on the position of the step where the robot 100 is located. The processor 130 may compare the relative position of each identified step within the predetermined 3D coordinate space 300. As a result, the processor 130 may identify the height difference between each step.
[0109] In this case, processor 130 may identify the step tread of each step within predetermined 3D coordinate space 300 based on the sensing data of the step tread of each step. Processor 130 may identify the height difference between a plurality of adjacent steps based on the z coordinate value of the 3D coordinate of the step tread of each step.
[0110] In addition, the processor 130 may identify the step riser of each step within the predetermined 3D coordinate space 300 based on the sensing data of the step riser of each step. The processor 130 may identify the height difference between the plurality of adjacent steps based on the height information of the step riser of each step. In this case, the height information of the step riser may be the length information of the step riser identified in the 3D coordinate space 300 in the z-axis direction.
[0111] However, the present disclosure is not limited thereto, and the processor 130 may identify the height difference between a plurality of adjacent steps by combining the position information of the step tread and the height information of the step riser of each step in the 3D coordinate space 300 .
[0112] As an example, the processor 130 may acquire cloud data for a plurality of steps of the escalator 200 through a Lidar sensor. In this case, the plurality of steps are steps included in the sensing range of the Lidar sensor. In addition, the processor 130 may identify a group of cluster points corresponding to each step based on the cloud data. In this case, the processor 130 may identify a group of cluster points corresponding to each step based on a random sampling consensus (RANSAC) technique, a principal component analysis technique, or the like. The processor 130 may also acquire only the data of the step tread for each step (e.g., point cloud data corresponding to the step tread) in order to compare the position of each step.
[0113] Reference Figure 4, while the robot 100 is riding the ascending escalator 200, the processor 130 may identify a plurality of steps 210, 220, and 230 based on the sensing data 20 acquired by the at least one sensor 110. The processor 130 identifies each of the plurality of steps 210, 220, and 230 identified by the sensing data 20 in a predetermined 3D spatial coordinate space. The processor 130 identifies the position of each of the steps 210', 220', and 230' identified in the 3D spatial coordinate space, and identifies the height difference between each of the steps. Figure 4 , the processor 130 may identify the height difference between the step where the robot 100 is located and the step adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 as h1. In addition, the processor 130 may identify the height difference between the step adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 and the step located in front of the step (e.g., in the moving direction of the escalator 200) as h2.
[0114] Similarly, even while the robot 100 is riding the down escalator 200, the processor 130 can identify the height difference between a plurality of adjacent steps. Figure 5 , while the robot 100 is riding on the down escalator 200, the processor 130 may identify a plurality of steps 210, 220, 230 based on the sensing data 20 acquired by the at least one sensor 110. The processor 130 may identify each of the plurality of steps 210, 220, and 230 identified by the sensing data 20 on a predetermined 3D space coordinate space. The processor 130 may identify the position of each of the steps 210', 220', and 230' identified on the 3D space coordinate space. In this case, when it is assumed that the step 210 among the plurality of steps is the step where the robot 100 is located, the z coordinate values representing the positions of the remaining steps 220 and 230 on the 3D coordinate space 300 may be negative numbers. In this case, the processor 130 may identify the height difference between the plurality of adjacent steps by comparing the absolute value of the coordinate value of each step.
[0115] Figure 6 is an exemplary diagram illustrating a method of controlling a robot based on a distance to an object in a stair-dropping area according to one or more embodiments of the present disclosure.
[0116] According to one or more embodiments of the present disclosure, when recognizing that the robot 100 is adjacent to the descending area 3 of the escalator 200 , the processor 130 may recognize an object located in front of the robot 100 through the at least one sensor 110 .
[0117] Specifically, when the robot 100 is identified to be adjacent to the descending area 3 of the escalator 200 based on the height difference between the plurality of adjacent steps, the processor 130 may identify the object 10 located in front of the robot 100 through the at least one sensor 110 .
[0118] For example, when the height difference between multiple adjacent steps of the escalator 200 is identified based on the sensing data obtained by the sensor 110 set on the body of the robot 100, and when the robot 100 is identified as being adjacent to the downstairs area 3 of the escalator 200 based on the identified height difference, the processor 130 can identify the object 10 located in front of the robot 100 through the sensor 110 set on the head.
[0119] In this case, the front of the robot 100 may include a predetermined range based on the moving direction of the escalator 200. That is, the front of the robot 100 may also include a predetermined range where the robot 100 may collide with an object when the robot 100 leaves in a direction consistent with the moving direction of the escalator 200.
[0120] As a result, the processor 130 can identify whether the object 10 exists in the descending area 3 of the escalator 200 or in a position adjacent to the descending area 3 immediately before the robot 100 leaves. Specifically, the processor 130 can identify whether the robot 100 is adjacent to the descending area 3 of the escalator 200 through the height difference between a plurality of adjacent steps of the escalator 200, and therefore, even if a communication failure occurs with an external server that transmits the position information of the robot 100 or an error occurs in the map data used to identify the position of the robot 100, the processor can accurately identify the communication failure or error.
[0121] According to one or more embodiments of the present disclosure, when the distance between an object 10 identified as being located in front of the robot 100 and the robot 100 is less than a predetermined first distance, the processor 130 controls the driver 120 so that the robot 100 moves on the escalator 200 in a direction opposite to the moving direction of the escalator 200.
[0122] Specifically, the processor 130 may identify the distance between the robot 100 and the object 10 identified as being located in front of the robot 100 in real time through the at least one sensor 110. According to one or more embodiments of the present disclosure, when the distance between the object 10 located in front of the robot 100 and the robot 100 is less than a predetermined first distance, the processor 130 may control the driver 120 so that the robot 100 moves on the escalator 200 in a direction opposite to the moving direction of the escalator 200. For example, the processor 130 may control a plurality of wheels of the driver 120 to rotate in a direction opposite to the moving direction of the escalator 200. Accordingly, when there is an object 10 that may collide with the robot 100, the processor 130 may control the robot 100 not to leave the escalator 200.
[0123] The predetermined first distance may be set based on the moving speed of the escalator 200. For example, when the moving speed is greater than or equal to the predetermined speed, the first distance may be set to a first value, and when the moving speed is less than the predetermined speed, the first distance may be set to a second value less than the first value. That is, in the case where the moving speed of the escalator 200 is fast, the moving speed of the robot 100 entering the step-down area 3 after leaving the escalator 200 may also be fast, and thus collision accidents between the object 10 and the robot 100 may occur more frequently. Therefore, in the case where the moving speed of the escalator 200 is fast, by setting the predetermined first distance to a longer distance, collision accidents can be prevented.
[0124] Reference Figure 6 , when it is identified that the robot 100 is adjacent to the step-down area 3, the processor 130 identifies the distance d between the robot 100 and the object 10 located in front of the robot 100. In this case, when the distance d between the robot 100 and the object 10 located in front of the robot 100 is identified as d1 (e.g., less than a predetermined distance), the processor 130 may control the driver 120 so that the robot 100 moves on the escalator 200 in a direction opposite to the moving direction of the escalator 200. Accordingly, when there is a risk of collision with an object, the robot 100 may wait on the escalator 200.
[0125] In this case, according to a predetermined disclosed embodiment, the processor 130 may control the driver 120 so that the robot 100 moves in a direction opposite to the moving direction of the escalator 200 at a moving speed of the escalator 200 .
[0126] Specifically, the processor 130 may control the driver 120 so that the robot 100 moves in the identified descending area 3 at the same speed as the moving speed of the escalator 200 in the direction opposite to the descending direction. Therefore, the robot 100 may maintain a constant position on the escalator 200. This may exert the same effect as a person walking in place on the escalator 200.
[0127] Return to reference Figure 6 , the processor 130 may control the driver 120 so that the robot 100 moves in a direction opposite to the moving direction of the escalator 200 at the same speed as the moving speed v1 of the escalator 200. Therefore, the robot 100 may maintain a constant position on the escalator 200.
[0128] According to one or more embodiments of the present disclosure, while the robot 100 is moving in a direction opposite to the moving direction of the escalator 200, when at least one sensor 110 identifies that there is no object 10 in front of the robot 100, the processor 130 may control the driver 120 to move the robot 100 according to the moving direction of the escalator 200, and control the robot 100 to leave the escalator 200 and enter the descending area 3.
[0129] Specifically, the processor 130 continuously identifies whether there is an object 10 located in front of the robot 100 while the robot 100 moves in a direction opposite to the moving direction of the escalator 200. When it is identified that there is no object 10 in front of the robot 100, the plurality of wheels of the driver 120 may be controlled according to the moving direction of the escalator 200 so that the robot 100 leaves the escalator 200. In this case, the rotation direction of the plurality of wheels may be consistent with the moving direction of the escalator 200. As a result, the robot 100 may enter the descending area 3 of the escalator 200 after leaving the escalator 200.
[0130] In addition, the processor 130 may continue to identify the distance between the robot 100 and the object 10 located at a distance less than the first distance. In this case, when the object 10 located at a distance less than the first distance disappears from the front of the robot 100 or moves away from the robot 100, the processor 130 may control the plurality of wheels of the driver 120 so that the robot 100 leaves the escalator 200 along the moving direction of the escalator 200.
[0131] The processor 130 may identify whether an object exists in the step-down area 3 based on the image acquired through the camera. That is, when the robot 100 is identified to be adjacent to the step-down area 3 of the escalator 200 based on the height difference of a plurality of adjacent steps of the escalator 200, the processor may acquire an image of an object located in front of the robot 100 through a camera provided at the head of the robot 100. In this case, depth information of the object may be included in the acquired image. Therefore, the processor 130 may identify the distance between the robot 100 and the object based on the depth information.
[0132] Figure 7 is an exemplary diagram illustrating a method of controlling a robot when objects exist in front of and behind the robot according to one or more embodiments of the present disclosure.
[0133] In addition, according to one or more embodiments of the present disclosure, while the robot 100 moves in a direction opposite to the moving direction of the escalator 200, the processor 130 may identify whether there is an object 15 located behind the robot 100 through at least one sensor 110, and when the distance between the object 15 identified behind the robot 100 and the robot 100 is less than a predetermined distance, the processor 130 may send a control signal for stopping the escalator 200 to the server 400 through the communication interface of the robot 100. To this end, the robot 100 according to one or more embodiments of the present disclosure may further include a communication interface.
[0134] Reference Figure 7 , when the distance between the object 10 existing in front of the robot 100 and the robot 100 is identified as being less than a predetermined first distance, while the robot 100 moves in a direction opposite to the moving direction of the escalator 200, the processor 130 identifies whether there is an object 15 located behind the robot 100 through at least one sensor 110. In this case, the object 15 located behind the robot 100 includes passengers riding the escalator 200 (e.g., people, animals, the robot 100, etc.) and objects carried on the escalator 200 (e.g., objects, food, etc.).
[0135] As an example, the processor 130 may identify whether there is an object 15 located behind the robot 100 through the sensor 110 provided at the head of the robot 100. For example, while the robot 100 moves in a direction opposite to the moving direction of the escalator 200, the processor 130 may rotate the head of the robot 100 by 180° to identify the object 15 located behind the robot 100 through the sensor 110 provided on the head of the robot 100. However, the present disclosure is not limited thereto, and another sensor 110 may be provided at the front and rear sides of the head or body of the robot 100, respectively.
[0136] The processor 130 may identify the distance between another (second) object 15 located behind the robot 100 and the robot 100. When the distance between another object 15 located behind the robot 100 and the robot 100 is within d2 which is a predetermined distance (e.g., a predetermined second distance), the processor 130 may transmit a signal requesting to stop the escalator 200 to the external server 400 that controls the escalator 200 through the communication interface of the robot 100. Alternatively, the processor 130 may directly transmit a control signal for stopping the operation of the escalator 200 to the escalator 200 through the communication interface.
[0137] While the processor 130 controls the robot 100 to wait on the escalator 200 in order to avoid a collision with the object 10 located in front of the robot 100, the processor identifies the passenger 15 moving toward the robot 100 from behind the robot 100 according to the driving of the escalator 200. In order to prevent the robot 100 from colliding again with the passenger 15 moving from behind the robot 100, the processor 130 may request the external server 400 (e.g., a control management server of the escalator) to stop the escalator 200 when it is identified that the distance between the passenger located behind the robot 100 and the robot 100 is less than a predetermined distance.
[0138] Figure 8 is an exemplary diagram illustrating a method of controlling a plurality of wheels of a robot based on a distance to an object in a stair-dropping area according to one or more embodiments of the present disclosure.
[0139] According to one or more embodiments of the present disclosure, while the robot 100 moves in a direction opposite to the moving direction of the escalator 200, when as the object identified as being located in front of the robot 100 moves, the distance between the object and the robot 100 is equal to or greater than a predetermined first distance and less than a predetermined third distance, the processor 130 may control the driver 120 so that at least one of the plurality of wheels is located in the descending area 3 and the remaining wheels are located on the escalator 200. The processor 130 may control the driver 120 so that while the remaining wheels are located on the escalator 200, the remaining wheels rotate in a direction opposite to the moving direction of the escalator 200.
[0140] First, while the robot 100 moves in a direction opposite to the moving direction of the escalator 200, the processor 130 may continuously identify the distance between the object identified as being located in front of the robot 100 and the robot 100. When the distance between the object and the robot 100 is equal to or greater than a predetermined first distance and less than a predetermined third distance as the object located in front of the robot 100 moves, the processor 130 may control the driver 120 so that the robot 100 enters the descending area 3 of the escalator 200 according to the moving direction of the escalator 200. That is, the processor 130 may control the robot 100 to enter the descending area 3 by rotating a plurality of wheels of the driver 120 in the moving direction of the escalator 200.
[0141] In this case, as the robot 100 enters the descending area 3, the processor 130 causes at least one wheel of the plurality of wheels of the driver 120 to be located within the descending area 3, and causes the remaining wheels of the plurality of wheels except for the at least one wheel located within the descending area 3 to be on the escalator 200. To this end, the processor 130 may recognize that the at least one wheel is located in the descending area 3 based on the amount of impact transmitted to the suspension connecting the at least one wheel and the at least one wheel of the robot 100 (e.g., the amount of shock absorbed by the suspension of the at least one wheel when the at least one wheel enters the descending area 3).
[0142] To this end, the processor 130 may identify the moving speed of the robot 100 based on the moving speed of the escalator 200, at which at least one of the plurality of wheels may be located in the step-down area 3, and the processor 130 may identify the moving distance of the robot 100 that causes the at least one wheel to be located in the step-down area 3 based on the distance between the step-down area 3 and the robot 100. In this case, the distance between the step-down area 3 and the robot 100 may be acquired by at least one sensor 110.
[0143] The at least one wheel located in the step-down area 3 may be at least one wheel located in the moving direction of the escalator 200 among the plurality of wheels. For example, the at least one wheel located in the step-down area 3 may be a wheel located in front of the robot 100 or in the moving direction of the escalator 200 among the plurality of wheels attached to the body of the robot 100.
[0144] The processor 130 may control the driver 120 such that the remaining wheels rotate in a direction opposite to the moving direction of the escalator 200 while the remaining wheels are located on the escalator 200 .
[0145] That is, the processor 130 controls the driver 120 so that the multiple wheels rotate in the same direction as the moving direction of the escalator 200. Therefore, when at least one of the multiple wheels is located in the descending area 3, the driver 120 can be controlled so that the remaining wheels of the multiple wheels except for the at least one wheel located in the descending area 3 move in the direction opposite to the moving direction of the escalator 200.
[0146] For example, refer to Figure 8 When the distance between the robot 100 and the object recognized as existing in front of the robot 100 is equal to or greater than a predetermined first distance d1 and less than a predetermined third distance d3, the processor 130 controls the driver 120 to rotate the four wheels 121-1 to 121-4 included in the driver 120 in the moving direction of the escalator 200. When two wheels 121-1 and 121-2 located in the moving direction or in front of the escalator 200 among the four wheels are recognized as being located in the descending area 3, the processor controls the driver 120 to rotate the remaining two wheels 121-3 and 121-4 located on the escalator 200 in the direction opposite to the moving direction of the escalator 200.
[0147] Accordingly, while only a portion of the robot 100 is located in the escalator 200, the robot 100 may wait until an object located in front of the robot 100 disappears or a distance between the robot 100 and the object becomes greater than a predetermined third distance.
[0148] Although Figure 8 It is illustrated that the robot 100 of the present disclosure includes four wheels 121 - 1 to 121 - 4 , but this is for convenience of explaining the present disclosure, and the robot 100 of the present disclosure may include various numbers of wheels according to embodiments.
[0149] Hereinafter, a method for identifying the moving speed and moving direction of the escalator 200 according to one or more embodiments of the present disclosure will be described. In addition, the embodiments of identifying the moving speed and moving direction of the escalator 200 described below can also be applied to the above-mentioned embodiments of the present disclosure.
[0150] Fig. 9 is an exemplary diagram illustrating a method of identifying a speed of an escalator based on a height difference between a plurality of steps of the escalator according to one or more embodiments of the present disclosure.
[0151] According to one or more embodiments of the present disclosure, when the robot 100 rides on the escalator 200, the processor 130 can identify the third step in the escalator 200 and the fourth step adjacent to the moving direction of the escalator 200, and identify the moving speed of the escalator 200 based on the time from when the height difference between the third step and the fourth step appears according to the movement of the escalator 200 to the time when the height difference between the third step and the fourth step is the largest.
[0152] Specifically, the processor 130 may identify the third step and the fourth step of the escalator 200 through the at least one sensor 110 when the robot 100 is riding the escalator 200. For example, when the robot 100 is riding the escalator 200, the processor 130 may identify the step where the robot 100 is located as the third step, and identify the step adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 as the fourth step.
[0153] In this case, the processor 130 identifies the third step and the fourth step on the 3D coordinate space 300 based on the sensing information acquired by the at least one sensor 110. The processor 130 identifies the position of the third step and the position of the fourth step on the three-dimensional coordinate space 300, and identifies the time when the height difference between the third step and the fourth step occurs. Fig. 9 , at time t3 when the robot 100 takes the escalator 200, there may be no height difference between the step where the robot 100 is located and the step adjacent to the step in the moving direction of the escalator 200. That is, the third step and the fourth step have the same z-coordinate value and thus may be located at the same height. The processor 130 may identify the time when the height difference between the third step and the fourth step becomes the largest. When the robot 100 moves on the escalator 200, the processor 130 may identify the time t4 when the increased height difference between the third step and the fourth step becomes the largest. In this case, when the height difference between the third step and the fourth step no longer increases, the processor 130 may identify that the height difference between the third step and the fourth step is the largest.
[0154] In this case, the robot 100 can identify the moving speed of the escalator 200 based on the time Δt that has passed from the time t3 when the height difference between the third step and the fourth step appears to the time t4 when the height difference between the third step and the fourth step becomes maximum. For example, the robot 100 can also identify the moving speed of the escalator 200 based on the maximum value of the height difference between the third step and the fourth step and the identified required time.
[0155] Fig.10is an exemplary diagram illustrating a method of recognizing a speed of an escalator based on an acquired image of the escalator according to one or more embodiments of the present disclosure.
[0156] According to one or more embodiments of the present disclosure, the processor 130 may acquire multiple images of the escalator 200 through the camera of the robot 100, and when recognizing that the robot 100 is adjacent to the step-down area 3 of the escalator 200, recognize the boundary line 30 between the first step and the second step based on the acquired images, and recognize the moving speed of the escalator 200 based on the moving speed of the recognized boundary line 30. To this end, the robot 100 according to one or more embodiments of the present disclosure may further include a camera.
[0157] Specifically, when recognizing that the robot 100 is adjacent to the step-down area 3 , the processor 130 may acquire multiple images of the steps of the escalator 200 through a camera, and recognize the boundary line 30 between the multiple steps of the escalator 200 based on the acquired multiple images.
[0158] In this case, the processor 130 can extract the linear components in each image by applying a linear detection algorithm to each of the multiple images. For example, the processor 130 can extract the linear components included in each image by Hough transform. The extracted linear components may include boundary lines 31, 32, and 33 between multiple steps of the escalator 200, safety lines marked on the steps, handrails of the escalator 200, etc.
[0159] Thus, among the linear components extracted from each image, the processor 130 may identify the boundary lines 31, 32, 33 corresponding to the boundaries between the plurality of adjacent steps of the escalator 200. For example, the processor 130 may identify the feature information of each linear component, and select the boundary lines between the plurality of adjacent steps of the escalator 200 from among the plurality of linear components based on the identified feature information. Alternatively, the processor 130 may compare the plurality of images, detect the linear components whose positions are changed in each image, and use the detected linear components as the boundary lines 31, 32, 33 between the plurality of adjacent steps of the escalator 200. In addition, the processor 130 may use a neural network model trained to identify the linear components between the plurality of adjacent steps of the escalator 200 from among the plurality of linear components. In this case, the processor 130 may obtain result data for selecting the boundary lines 31, 32, 33 between the plurality of adjacent steps of the escalator 200 by inputting the image in which the linear components are detected into the neural network model.
[0160] Then, the processor 130 may select the boundary line between the first step and the second step from the boundary lines 31, 32, and 33 between the plurality of steps detected in each image, track the selected boundary line, and identify the moving direction and moving speed of the boundary line. Specifically, the processor 130 may track the boundary line 30 between the first step and the second step, identify the change in the position of the boundary line 30 in each image, and identify the moving speed of the boundary line 30 based on the change in the position of the identified boundary line and the frame rate of each image. The processor 130 may identify the moving speed of the identified boundary line 30 as the moving speed of the escalator 200.
[0161] Reference Fig.10 , the processor 130 may detect the linear components included in each of the image 13 and the image 14 in the first image 13 acquired at time t5 and the second image 14 acquired at time t6. Specifically, the processor 130 may cause the step where the robot 100 is located and the steps adjacent to the step where the robot 100 is located in the moving direction of the escalator 200 to be included in the plurality of linear components detected in the first image and the second image. A boundary line may exist between the step adjacent to the step where the robot 100 is located and the step adjacent to the front of the step in the moving direction of the escalator 200. The processor 130 may identify the moving speed of the escalator 200 based on the change in the position of each linear component detected in the first image and the second image.
[0162] The processor 130 may extract the normal vector 40 and the normal vector 41 relative to the boundary line between the plurality of adjacent steps of the escalator 200, and identify the moving direction of the escalator 200 based on the extracted normal vector 40 and the normal vector 41. Specifically, the processor 130 may identify the normal vector 40 and the normal vector 41 perpendicular to the boundary line between the plurality of adjacent steps. The processor 130 may identify the direction of the identified normal vector 40 and the normal vector 41 as the direction in which the position of the linear component of the plurality of adjacent steps changes. For example, the processor 130 may identify the coordinate value of the boundary line in the 2D coordinate space based on the position of the boundary line between the plurality of adjacent steps in the image, and identify the normal vector 40 and the normal vector 41 relative to the boundary line in the 2D coordinate space based on the identified coordinate value.
[0163] Return to reference Fig.10, the processor 130 may extract the normal vector 40 and the normal vector 41 relative to the boundary line from the first image acquired at time t5 and the second image acquired at time t6. This may be identified based on the change in the position of the boundary line identified in the first image and the boundary line identified in the second image. In addition, the processor 130 may identify the direction of the extracted normal vectors 40, 41 as the moving direction of the escalator 200. In this case, the processor 130 may identify the moving direction of the escalator 200 as north based on the extracted normal vectors 40 and 41.
[0164] Fig.11 is an exemplary diagram illustrating a method of controlling a robot to face a descending direction determined based on a direction of an escalator according to one or more embodiments of the present disclosure.
[0165] The processor 130 may identify the descending direction of the robot 100 based on the identified moving direction of the escalator 200. For example, the processor 130 may identify the direction of the normal vector relative to the boundary line of the plurality of steps as the descending direction of the robot 100. That is, the processor 130 may identify the moving direction of the escalator 200 as the descending direction of the robot 100.
[0166] The processor 130 may control the driver 120 so that the robot 100 faces the identified downstairs direction. That is, the processor 130 may control the driver 120 of the robot 100 so that the direction of the body vector of the robot 100 is consistent with the extracted normal vector. To this end, the processor 130 may generate control information based on the moving direction of the escalator 200, and rotate the wheels included in the driver 120 based on the generated control information to control the robot 100 to face the downstairs direction consistent with the moving direction of the escalator 200. That is, the processor 130 may control the driver 120 so that the robot 100 is aligned with the moving direction of the escalator 200.
[0167] Reference Fig.11 , the processor 130 recognizes that the moving direction of the escalator 200 is north. In this case, the processor 130 may recognize the descending direction of the robot 100 as north according to the moving direction of the escalator 200. The processor 130 may rotate the wheels so that the robot 100 faces north as the descending direction. Accordingly, the robot 100 may rotate in the north direction consistent with the moving direction of the escalator 200. As a result, the robot 100 may leave the escalator 200 more safely.
[0168] Furthermore, the processor 130 may accurately identify the moving direction of the escalator 200 , and thus, control the driver 120 so that the robot 100 accurately moves on the escalator 200 in a direction opposite to the moving direction of the escalator 200 .
[0169] Fig.12 is a detailed configuration diagram of a robot according to one or more embodiments of the present disclosure.
[0170] Reference Fig.12 The robot 100 includes at least one sensor 110, a driver 120, a display 140, a memory 150, a camera 160, a speaker 170, a user interface 180, and a communication interface 190. Fig.12 The components shown in Figure 2 The components shown in the figure overlap with the components described in detail.
[0171] According to one or more embodiments of the present disclosure, in addition to at least one sensor (e.g., a Lidar sensor, a ToF sensor, etc.) for detecting objects around the robot 100 as described above, the sensor 110 may also include one or more of a gesture sensor, a gyroscope sensor, a pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor (e.g., a red, green, and blue (RGB) sensor), a biosensor, a temperature / humidity sensor, an illumination sensor, or an ultraviolet (UV) sensor.
[0172] The display 140 may display various types of visual information. For example, the display 140 may display information about map data, a travel path of the robot 100, a moving direction and a moving speed of the escalator 200, and the like.
[0173] To this end, the display 140 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 140 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 (PDP), a quantum dot (QD) display, and a quantum dot light emitting diode (QLED).
[0174] A driving circuit, a backlight unit, etc. may be included in the display 140, wherein the driving circuit, the backlight unit, etc. may be implemented in the form of amorphous silicon (a-si) TFT, low temperature polycrystalline silicon (LTPS) TFT, organic TFT (OTFT), etc. In addition, the display 140 may be implemented as a touch screen combined with a touch sensor, a flexible display, a rollable display, a 3D display, a display to which a plurality of display modules are physically connected, etc.
[0175] In addition, the display 140 may be implemented as a touch screen together with the touch panel. Accordingly, the display unit 140 may be used as an output unit for outputting information between the robot 100 and the user, and at the same time, as an input unit for providing an input interface between the robot 100 and the user.
[0176] The memory 150 may store data necessary for various embodiments of the present disclosure. For example, map data about a travel space in which the robot 100 is located may be stored in the memory 150 .
[0177] The memory 150 may be implemented in the form of a memory embedded in the robot 100 or in the form of a memory attachable to and detachable from the robot 100, depending on the data storage purpose. For example, data for driving the robot 100 may be stored in the memory embedded in the robot 100, and data for extended functions of the robot 100 may be stored in the memory attachable to and detachable from the robot 100.
[0178] The memory embedded in the robot 100 may include, for example, volatile memory (e.g., dynamic random access memory (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (e.g., one-time programmable read-only memory (OTPROM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), mask ROM, flash ROM), flash memory (e.g., NAND flash memory, NOR flash memory, etc.), hard disk drive or solid state drive (SSD)).
[0179] In addition, the memory that can be attached to and detached from the robot 100 can 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 that can be connected to a USB port (e.g., USB memory), etc.
[0180] According to an example, the memory 150 may store information about a plurality of neural network (or artificial intelligence) models. For example, the memory 150 may store a neural network model trained to identify an upper staircase region on an image acquired through the camera 110 and a neural network model trained to identify a lower staircase region 3 on an image acquired through the camera 110.
[0181] Here, storing information about the neural network model may mean storing various types of information related to the operation of the neural network model, for example, information about at least one layer included in the neural network model, information about parameters used in each of the at least one layer, bias, etc., etc. However, it goes without saying that, depending on the implementation form of the processor 130, the information about the neural network model may be stored in the internal memory of the processor 130. For example, when the processor 130 is implemented as dedicated hardware, the information about the neural network model may be stored in the internal memory of the processor 130.
[0182] The speaker 170 may output a sound signal to the outside of the robot 100. The speaker 170 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 170), or may include an output device (such as an audio output terminal). Specifically, the speaker 170 may provide acquired information, information processed / generated based on the acquired information, response results to user voice, operation results, etc. in the form of voice. For example, the processor 130 may output a warning sound through the speaker 170 when recognizing that the robot 100 is located in the descending area 3 of the escalator 200 and an object exists in the descending area 3 within a predetermined distance.
[0183] The user interface 180 is a component for the robot 100 to interact with the user, and the processor 130 may receive various types of information through the user interface 180, such as control information of the robot 100, information of a travel space where the robot 100 is located (e.g., map data for the travel space, etc.), and information about the escalator 200. In addition, the user interface 180 may include at least one of a touch sensor 110, a motion sensor 110, a button, a jog dial, a switch, or a microphone, but is not limited thereto.
[0184] The communication interface 190 can send and receive various types of content. For example, the communication interface 190 can receive signals from or send signals to an external device (e.g., a user terminal), an external storage medium (e.g., a USB memory), an external server (e.g., a network hard disk), etc. in a streaming or downloading method through the following 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.
[0185] In addition, according to one or more embodiments of the present disclosure, the processor 130 may send a signal requesting to stop driving the escalator 200 to the control server 400 of the escalator 200 through the communication interface 190. Alternatively, the processor 130 may send a control signal for stopping driving the escalator 200 to the escalator 200 through the communication interface 190.
[0186] In addition, the processor 130 may communicate with the user terminal through the communication interface 190. In this case, the processor 130 may receive location information of the user terminal communicated through the communication interface 190 and control the driver 120 so that the robot 100 tracks the user terminal.
[0187] Fig.13 is a flowchart schematically illustrating a method for controlling a robot to go down a ladder according to one or more embodiments of the present disclosure.
[0188] Reference Fig.13 , while the robot 100 rides the escalator 200, in operation S1310, the processor 130 may identify a height difference between a first step and a second step of the escalator 200 through at least one sensor 110 of the robot 100. In this case, the second step may be a step adjacent to the first step in the escalator 200 in the moving direction of the escalator 200.
[0189] In operation S1320, the processor 130 may identify whether the robot 100 is adjacent to the descending area 3 of the escalator 200 based on the height difference between the identified first step and the second step. Specifically, when the height difference between the identified first step and the second step is less than a predetermined height, the processor 130 may identify that the robot 100 is adjacent to the descending area 3 of the escalator 200.
[0190] In operation S1330 , when it is recognized that the robot 100 is adjacent to the descending area 3 of the escalator 200 , the processor 130 may recognize an object located in front of the robot 100 through the at least one sensor 110 .
[0191] In operation S1340, when the distance between the recognized object and the robot 100 is less than a predetermined first distance, the processor 130 may control the driver 120 so that the robot 100 moves on the escalator 200 in a direction opposite to the moving direction of the escalator 200. In this case, the processor 130 may control the driver 120 so that the robot 100 moves in a direction opposite to the moving direction of the escalator 200 at a moving speed of the escalator 200. As a result, the robot 100 may wait while maintaining a constant position on the escalator 200 until the possibility that the object existing in front of the robot 100 collides with the robot 100 disappears.
[0192] While the robot 100 moves in a direction opposite to the moving direction of the escalator 200, when it is recognized through the at least one sensor 110 that there is no object in the stair-down area 3, the processor 130 may control the driver 120 to move the robot 100 according to the moving direction of the escalator 200, and control the robot 100 to leave the escalator 200 and enter the stair-down area 3. That is, in the case of recognizing that the object existing in front of the robot 100 disappears, the driver 120 may be controlled so that the robot 100 waiting on the escalator 200 enters the stair-down area 3.
[0193] Furthermore, while the robot 100 moves in a direction opposite to the moving direction of the escalator 200, as the identified object moves in the stair-falling area 3, when the distance between the identified object and the robot 100 is equal to or greater than a predetermined first distance and less than a predetermined second distance, the processor 130 may control the driver 120 so that at least one of the plurality of wheels is located in the stair-falling area 3 and the remaining wheels are located on the escalator 200. The processor 130 may control the driver 120 so that while the remaining wheels are located on the escalator 200, the remaining wheels rotate in a direction opposite to the moving direction of the escalator 200.
[0194] Fig.14 is a flowchart schematically illustrating a method of controlling a robot when objects exist in front of and behind the robot according to one or more embodiments of the present disclosure.
[0195] Fig.14 Operations S1410, S1420, S1430, and S1440 shown in FIG. Fig.13 Operation S1310, operation S1320, operation S1330, and operation S1340 described in the drawings. Therefore, a detailed description thereof will be omitted.
[0196] according to Fig.14 According to one or more embodiments of the present disclosure, in operation S1450, while the robot 100 moves in a direction opposite to the moving direction of the escalator 200, the processor 130 may identify whether there is an object located behind the robot 100 through at least one sensor 110.
[0197] In operation S1460, when the distance between the robot 100 and the object identified behind the robot 100 is less than a predetermined distance, the processor 130 may transmit a control signal for stopping the escalator 200 to the server 400 through a communication interface (e.g., the communication interface 190) of the robot 100. Here, the control signal for stopping the escalator 200 may be a signal requesting to stop the escalator 200. In addition, the processor 130 may directly transmit the control signal for stopping the escalator 200 to the escalator 200 through the communication interface (e.g., the communication interface 190).
[0198] In the above description, according to one or more embodiments of the present disclosure, operations S1310 to S1340 and operations S1410 to S1460 may be further divided into additional operations or combined into fewer operations. In addition, if necessary, some operations may be omitted and the order between operations may be changed.
[0199] The above methods according to various embodiments of the present disclosure can be implemented in the form of an application that can be installed in an existing robot. Optionally, a neural network based on deep learning (or a neural network of deep learning) (i.e., a learning network model) can be used to perform the above methods according to various embodiments of the present disclosure. In addition, the above methods according to various embodiments of the present disclosure can be implemented only by software upgrades or hardware upgrades of existing robots. In addition, the various embodiments disclosed above can be executed by an embedded server set in the robot or a server outside the robot.
[0200] In addition, according to one or more embodiments 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). A machine is a device that can call stored instructions from a storage medium and operate according to the called instructions, and may include an electronic device of the disclosed embodiments. In the case where a command is executed by a processor, the processor may directly execute a function corresponding to the command, or other components may execute a 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.
[0201] In addition, according to one or more embodiments, the above-mentioned methods 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 released 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 downloaded through an application store (e.g., PlayStore). TM ) is read online. In the case of online publishing, 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 temporarily generated.
[0202] 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 also be included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into one entity and perform the same or similar functions performed by each corresponding component before integration. The operations performed by the modules, programs or other components according to 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.
[0203] 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: at least one sensor; Driver; at least one memory storing at least one instruction; as well as At least one processor is configured to execute the at least one instruction to perform the following operations: detecting a height difference between a first step and a second step of the escalator by means of the at least one sensor, identifying whether the robot is adjacent to a descending area of the escalator based on the identified height difference, Based on recognizing that the robot is adjacent to the escalator descending area, identifying by the at least one sensor whether an object is located within a first distance of the robot in a moving direction of the escalator, and Based on recognizing that the object is within a first distance of the robot in the moving direction of the escalator, the drive is controlled to cause the robot to move on the escalator in a direction opposite to the moving direction of the escalator.
2. The robot according to claim 1, in, The second step is the step adjacent to the first step in the direction of movement of the escalator, and The at least one processor is further configured to execute the at least one instruction to perform the following operation: identifying that the robot is adjacent to the descending area of the escalator based on identifying that the identified height difference is less than a predetermined value.
3. The robot according to claim 1, further comprising: Communication interface, The at least one processor is further configured to execute the at least one instruction to perform the following operations: Based on the driver causing the robot to move in a direction opposite to the moving direction of the escalator, identifying by the at least one sensor whether a second object is located within a second distance of the robot in the direction opposite to the moving direction of the escalator, and Based on recognizing that the second object is located within a second distance of the robot in a direction opposite to the moving direction of the escalator, a control signal for stopping the escalator is sent through the communication interface.
4. The robot according to claim 1, wherein: The at least one processor is further configured to execute the at least one instruction to control the driver to cause the robot to move in a direction opposite to a moving direction of the escalator at a moving speed of the escalator.
5. The robot according to claim 4, further comprising: camera, The at least one processor is further configured to execute the at least one instruction to perform the following operations: acquiring a plurality of images of the escalator by the camera, Based on recognizing that the robot is adjacent to the descending area of the escalator, recognizing a boundary line between a first step and a second step based on the acquired multiple images, and The moving speed of the escalator is identified based on the identified moving speed of the boundary line.
6. The robot according to claim 4, in, The at least one processor is further configured to execute the at least one instruction to perform the following operations: Based on the robot being located on the third step of the escalator, identifying the third step, identifying the fourth step of the escalator based on the fourth step being adjacent to the third step in a moving direction of the escalator, and The moving speed of the escalator is identified based on an elapsed time between a first time corresponding to identifying an initial height difference between the third step and the fourth step and a second time corresponding to identifying a maximum height difference between the third step and the fourth step.
7. The robot according to claim 1, wherein: The at least one processor is further configured to execute the at least one instruction to perform the following operations: While the robot moves in a direction opposite to the moving direction of the escalator, based on the recognition by the at least one sensor that the object located in the moving direction of the escalator is no longer within the first distance of the robot, the drive is controlled to cause the robot to move in the moving direction of the escalator and enter the descending area.
8. The robot according to claim 1, in, The drive includes a plurality of wheels, and The at least one processor is further configured to execute the at least one instruction to perform the following operations: While the robot moves in a direction opposite to the moving direction of the escalator, the driver is controlled to cause at least one of the multiple wheels to be located in the step-down area and the remaining wheels of the multiple wheels to be located on the escalator, and the driver is controlled to cause the remaining wheels of the multiple wheels to rotate in a direction opposite to the moving direction of the escalator.
9. A method for controlling a robot, the method comprising: identifying, by at least one sensor of the robot, a height difference between a first step and a second step of the escalator; identifying whether the robot is adjacent to a descending area of the escalator based on the identified height difference; Based on recognizing that the robot is adjacent to the escalator descending area, identifying whether an object is located within a first distance of the robot in a moving direction of the escalator; as well as A drive controlling the robot causes the robot to move on the escalator in a direction opposite to the moving direction of the escalator based on recognizing that the object is within a first distance of the robot in the moving direction of the escalator.
10. The method according to claim 9, in, The second step is the step adjacent to the first step in the direction of movement of the escalator, and The step of identifying whether the robot is adjacent to the stair-descending area further includes: identifying that the robot is adjacent to the stair-descending area based on identifying that the identified height difference is less than a predetermined value.
11. The method according to claim 9, further comprising: Based on the driver causing the robot to move in a direction opposite to the moving direction of the escalator, identifying by the at least one sensor whether a second object is located within a second distance of the robot in the direction opposite to the moving direction of the escalator; as well as Based on recognizing that the second object is located within a second distance of the robot in a direction opposite to the moving direction of the escalator, a control signal for stopping the escalator is sent through the communication interface of the robot.
12. The method according to claim 9, wherein: The step of controlling the driver further includes: controlling the driver to cause the robot to move in a direction opposite to the moving direction of the escalator at a moving speed of the escalator.
13. The method according to claim 12, further comprising: acquiring a plurality of images of the escalator by a camera of the robot; Based on recognizing that the robot is adjacent to the descending area of the escalator, recognizing a boundary line between a first step and a second step based on the acquired multiple images; as well as The moving speed of the escalator is identified based on the identified moving speed of the boundary line.
14. The method according to claim 12, further comprising: identifying the third step based on the robot being located on the third step of the escalator; identifying a fourth step adjacent to the third step in a direction of movement of the escalator; as well as The moving speed of the escalator is identified based on an elapsed time between a first time corresponding to identifying an initial height difference between the third step and the fourth step and a second time corresponding to identifying a maximum height difference between the third step and the fourth step.
15. The method according to claim 9, further comprising: While the robot moves in a direction opposite to the moving direction of the escalator, based on the recognition by the at least one sensor that the object located in the moving direction of the escalator is no longer within the first distance of the robot, the drive is controlled to cause the robot to move in the moving direction of the escalator and enter the descending area.