Robot and method for controlling a robot

By integrating multiple wheels, motors and sensors in the robot, and using the processor to identify the step size and position of the escalator, the stability of the robot riding and leaving the escalator is solved, and driving efficiency and convenience are improved.

CN119730996APending Publication Date: 2025-03-28SAMSUNG ELECTRONICS CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380060307.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-08-26
Filing Date
2023-06-07
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

Boardability and stability issues may arise when a robot rides or leaves the escalator, especially when the robot is insufficient in width or wheelbase, or when the center of gravity is unstable.

Method used

By equipping the robot with multiple wheels, motors, sensors, memory and processors, the processor can obtain image data of the escalator, identify the size and position of the steps, and control the motor to allow the robot to ride the escalator in an appropriate posture and position.

Benefits of technology

The robot is able to ride and leave on the escalator stably, improve driving efficiency, and avoid inconvenience when sharing elevators with people.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119730996A_ABST
    Figure CN119730996A_ABST
Patent Text Reader

Abstract

A robot and a method for controlling the robot are disclosed. In particular, the robot according to the present disclosure comprises: a plurality of wheels; the plurality of motors are used for driving the plurality of wheels; at least one sensor; a memory in which first information on a size of the robot is stored; and a processor that obtains image data about the escalator from the at least one sensor, obtains second information about a size of a plurality of steps included in the escalator based on the image data, and determines a size of the plurality of steps included in the escalator based on the first information and the second information. Identifying a taking position where the robot can take the escalator among the plurality of steps and a posture of the robot for allowing the robot to take the escalator at the taking position, when the taking position and the posture are identified, obtaining control information for controlling the robot to take the escalator at the taking position and in the identified posture, and when the taking position and the posture are identified, obtaining control information for controlling the robot to take the escalator at the taking position and in the identified posture, and controlling the plurality of motors based on the control information. Various other embodiments are also possible.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a robot and a control method of the robot, and more particularly, to a robot capable of stably boarding or unboarding an escalator and a control method of the robot. Background Art

[0002] In recent years, the development of technology for robots has been accelerated. In particular, recently, various types of robots such as cleaning robots, service robots, and industrial robots have been used in real life, and in order to increase the possibility of using these robots, it is important for the robot to move to a destination efficiently to perform a task.

[0003] However, there may be situations where the robot needs to move between floors when moving to a destination, and in these situations, it may be desirable for the robot to move between floors using stairs, elevators, or escalators. However, movement between floors via stairs may only be suitable for robots with a form factor that can achieve movement between floors via stairs.

[0004] Although moving between floors via an elevator may be an option, the travel time to the destination may increase the time required to move to the elevator and the time waiting for the elevator to arrive, and in the event that the robot should enter the limited interior space of an elevator with a large group of people, the robot may be restricted from riding the elevator or may cause inconvenience to a large group of people (if any).

[0005] Therefore, moving between floors by escalator can be a method for improving travel efficiency. However, when the robot takes or leaves the escalator, boardability and stability issues may arise. Specifically, if the width of the robot or the distance between the left wheel and the right wheel of the robot is shorter than the width of the escalator step, the robot may be restricted from taking the escalator. In addition, even in the case where the robot can take the escalator, if the center of gravity of the robot is in a position to generate downward torque, the robot may fall from the escalator when the escalator is ascending or descending. Summary of the invention

[0006] Technical Solution The present disclosure relates to a robot capable of stably getting on and off an escalator and a control method of the robot.

[0007] A robot may include: a plurality of wheels; a plurality of motors configured to drive the plurality of wheels; at least one sensor; a memory configured to store first information about the size of the robot; and a processor. The processor may be configured to: acquire image data of an escalator from the at least one sensor, acquire second information about the size of a plurality of steps included in the escalator based on the image data, identify both a boarding position in the plurality of steps that can be used for the robot to board the escalator and a posture of the robot configured to allow the robot to board at the boarding position based on the first information and the second information, acquire control information for controlling the robot to board at the boarding position in the posture when the boarding position and the posture have been identified, and control the plurality of motors based on the control information.

[0008] The first information may include information about a first length corresponding to a first width of the robot, information about a second length corresponding to a second width of the robot, and information about height adjustment of the plurality of wheels, wherein the second length is shorter than the first length.

[0009] The second information may include information about a lateral length of each of the plurality of steps perpendicular to a non-lifting component of a moving direction of the plurality of steps, information about a longitudinal length of each of the plurality of steps parallel to the non-lifting component of the moving direction, and information about the heights of the plurality of steps, wherein the lateral length is longer than at least one of the first length or the second length, and the longitudinal length is shorter than the lateral length. The information about the heights of the plurality of steps may include information about a height difference between adjacent steps of the plurality of steps and information about a rate of change of the height difference.

[0010] The processor may be further configured to identify a first position on a first step of the plurality of steps as the boarding position when at least one of the first length or the second length is shorter than the longitudinal length.

[0011] When the first length is shorter than the longitudinal length, the processor may be configured to control the plurality of motors so that the robot rides in the first position in a posture such that the first length is parallel to the longitudinal length. When the first length is longer than the longitudinal length and the second length is shorter than the longitudinal length, the processor may be configured to control the plurality of motors so that the robot rides in the first position in a posture such that the first length is parallel to the lateral length.

[0012] When the first length and the second length are longer than the longitudinal length, the processor may be configured to identify a second position overlapping between a first step of the plurality of steps and a second step of the plurality of steps as the boarding position, wherein the second step is adjacent to the first step.

[0013] When the first length is longer than the longitudinal length but shorter than twice the longitudinal length, the processor may be configured to: control the multiple motors so that the robot rides in the second position in a posture such that the first length is parallel to the longitudinal length, and control the multiple motors so that while the height difference between the first step and the second step changes, the height difference between the multiple wheels corresponds to the height difference between the first step and the second step.

[0014] When the first length is longer than twice the longitudinal length, the second length is longer than the longitudinal length, and the second length is shorter than twice the longitudinal length, the processor may be configured to: control the multiple motors so that the robot rides in the second position with the first length parallel to the lateral length, and control the multiple motors so that while the height difference between the first step and the second step changes, the height difference between the multiple wheels corresponds to the height difference between the first step and the second step.

[0015] The at least one sensor may include a balance sensor. The processor may also be configured to: obtain a sensing value indicating whether the robot is balanced through the balance sensor, and control the plurality of motors based on the sensing value so that the height difference between the plurality of wheels corresponds to the height difference between the first step and the second step.

[0016] The processor may also be configured to obtain information about an object near the escalator through the at least one sensor, and identify both the boarding position and the moving path based on the first information, the second information and the information about the object, wherein the moving path is from the current position of the robot to the boarding position.

[0017] A method for controlling a robot, wherein the robot includes multiple wheels, multiple motors for driving the multiple wheels, and at least one sensor, and the control method may include: obtaining first information about the size of the robot; obtaining image data of an escalator from the at least one sensor; obtaining second information about the size of multiple steps included in the escalator based on the image data; based on the first information and the second information, identifying both a boarding position among the multiple steps that can be used for the robot to board the escalator, and a posture of the robot configured to allow the robot to board at the boarding position; when the boarding position and the posture have been identified, obtaining control information for controlling the robot to board at the boarding position with the posture; and controlling the multiple motors based on the control information.

[0018] The first information may include information about a first length corresponding to a first width of the robot, information about a second length corresponding to a second width of the robot, and information about height adjustment of the plurality of wheels, wherein the second length is shorter than the first length.

[0019] The second information may include information about a lateral length of each of the plurality of steps perpendicular to a non-lifting component of a moving direction of the plurality of steps, information about a longitudinal length of each of the plurality of steps parallel to the non-lifting component of the moving direction, and information about the heights of the plurality of steps, wherein the lateral length is longer than at least one of the first length or the second length, and the longitudinal length is shorter than the lateral length. The information about the heights of the plurality of steps may include information about a height difference between adjacent steps of the plurality of steps and information about a rate of change of the height difference.

[0020] The identifying the arrangement of the seating position may include identifying a first position on a first step of the plurality of steps as the seating position when at least one of the first length or the second length is shorter than the longitudinal length.

[0021] The step of controlling the multiple motors based on the control information may include: when the first length is shorter than the longitudinal length, controlling the multiple motors so that the robot rides in the first position in a posture that makes the first length parallel to the longitudinal length, and when the first length is longer than the longitudinal length and the second length is shorter than the longitudinal length, controlling the multiple motors so that the robot rides in the first position in a posture that makes the first length parallel to the lateral length. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The above and / or other aspects of the present disclosure will become more apparent by describing certain embodiments of the present disclosure with reference to the accompanying drawings, in which: Figure 1 is a diagram briefly showing a configuration of a robot according to one or more embodiments of the present disclosure; Figure 2 is a diagram showing the shape of a robot according to one or more embodiments of the present disclosure; Figure 3 is a diagram showing the shape of a robot according to one or more embodiments of the present disclosure; Figure 4 is a diagram specifically illustrating an escalator riding process of a robot according to one or more embodiments of the present disclosure, and Figure 5 is a diagram specifically illustrating an escalator riding process of a robot according to one or more embodiments of the present disclosure; Figure 6is a diagram specifically illustrating an escalator riding process of a robot according to one or more embodiments of the present disclosure, and Figure 7 is a diagram specifically illustrating an escalator riding process of a robot according to one or more embodiments of the present disclosure; Figure 8 is a diagram specifically illustrating a configuration of a robot according to one or more embodiments of the present disclosure; Fig. 9 is a flowchart illustrating a method for controlling a robot according to one or more embodiments of the present disclosure. DETAILED DESCRIPTION

[0023] In the following, various embodiments of the present disclosure are described with reference to the accompanying drawings. However, it should be understood that the present disclosure is not limited to specific embodiments, and all modifications, equivalents and / or substitutions thereof also belong to the scope of the present disclosure. The same reference numerals are used throughout the drawings to refer to the same or similar parts.

[0024] In describing the present disclosure, if a detailed description on a related known function or configuration is considered to unnecessarily divert the gist of the present disclosure, such explanation is omitted but will be understood by those skilled in the art.

[0025] The present disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the disclosure to those skilled in the art.

[0026] The terms used in this specification are only used to describe specific exemplary embodiments rather than to limit the present disclosure. Unless the context clearly indicates otherwise, the singular form is intended to include the plural form.

[0027] In the disclosure disclosed herein, the expressions “having”, “may have”, “including” and “comprising” or “may include” and “may include” used herein indicate the presence of corresponding features (e.g., elements such as values, functions, operations or components), but do not exclude the presence of additional features.

[0028] In the disclosure disclosed herein, the expressions "A or B", "at least one of A or / and B", or "one or more of A or / and B", etc. used herein may include any and all combinations of one or more of the relevant listed items. For example, the term "A or B", "at least one of A and B", or "at least one of A or B" may refer to all of the following cases: (1) including at least one A, (2) including at least one B, or (3) including both at least one A and at least one B.

[0029] Expressions such as “first,” “second,” “primary,” or “secondary” used herein may denote various elements regardless of order and / or importance, and do not limit the corresponding elements.

[0030] When an element (such as a first element) is described as being “operably or communicatively coupled with” / “operably or communicatively coupled with” another element (such as a second element), or is “connected to” another element (such as the second element), the element may be directly connected to the other element or may be connected to the other element via another element (for example, a third element).

[0031] However, when it is described that an element (such as a first element) is “directly connected” or “directly coupled” to another element (such as a second element), this means that there are no intervening elements (such as a third element) between the element and the other element.

[0032] The expression "configured to (or set to)" used in the present disclosure may be replaced with, for example, "suitable for", "capable of ...", "designed to", "suitable for", "manufactured to" or "capable of", as appropriate. The term "configured to (or set to)" does not always mean only that the hardware is "specially designed to".

[0033] In contrast, the expression "a device configured to..." may mean that the device is "capable" of operating together with another device or other components. For example, "a processor configured 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.

[0034] In the description, the word "module" or "component" refers to a software component, a hardware component, or a combination thereof that can perform at least one function or operation. In addition to those modules or components that need to be implemented in specific hardware, multiple modules or components can be integrated into at least one module and implemented using at least one processor.

[0035] Various elements and regions in the drawings are schematically drawn. Therefore, the technical concept of the present disclosure is not limited by the relative sizes or intervals drawn in the drawings.

[0036] Embodiments of the present disclosure will now be described more fully hereinafter with reference to the accompanying drawings so that those having ordinary skill in the art can easily implement them.

[0037] Figure 1 is a diagram briefly showing the configuration of the robot 100 according to one or more embodiments of the present disclosure. In addition, Figure 2is a diagram showing a shape of a robot 100 according to one or more embodiments of the present disclosure, and Figure 3 is a diagram illustrating a shape of a robot 100 according to one or more embodiments of the present disclosure.

[0038] The robot 100 may be a device that can move to a destination. For example, the robot 100 may be a service robot 100 (such as a guide robot 100, a cleaning robot 100, a retail service robot 100, etc.), and may also be a manufacturing robot 100 for performing work at a manufacturing site of a product. In addition, any device that can move to a destination may correspond to the robot 100.

[0039] like Figure 1 As shown, the robot 100 may include a plurality of wheels 110 , a plurality of motors 120 , at least one sensor 130 , a memory 140 , and a processor 150 .

[0040] The plurality of wheels 110 may enable the robot 100 to move to a destination. In particular, the plurality of wheels 110 may enable the robot 100 to move from a current position to a boarding position of an escalator (i.e., a position where the robot boards the escalator). For example, the robot 100 may include two wheels arranged on the left and right sides of the lower end of the body of the robot 100, and may include four wheels in which two wheels are respectively arranged on the left and right sides of the lower end of the body of the robot 100. The robot 100 may include a plurality of wheels 110, but some embodiments may be implemented even when the robot 100 includes one wheel.

[0041] The plurality of wheels 110 may be implemented to be adjustable in height. Specifically, the plurality of wheels 110 may be connected to the body of the robot 100 through a height adjustment frame, and when a coupling distance between the plurality of wheels 110 and the height adjustment frame is changed, a distance between the plurality of wheels 110 and the body of the robot 100 may be adjusted. Of course, various other techniques for adjusting the height may be applied.

[0042] The plurality of motors 120 may drive the plurality of wheels 110. Specifically, some of the plurality of motors 120 may be connected to the wheels through axles so that the power generated by the plurality of motors 120 may be transferred to the wheels and the wheels may roll. When the height of the plurality of wheels 110 is implemented to be adjustable, some of the plurality of motors 120 change the coupling distance between the plurality of wheels 110 and the height adjustment frame to change the distance between the plurality of wheels 110 and the body of the robot 100. In addition, the plurality of motors 120 may also be used to implement various actions of the robot 100.

[0043] At least one sensor 130 may acquire various data about the robot 100 or the escalator. Specifically, the at least one sensor 130 may include an optical sensor, a 3D distance sensor, a 2D distance sensor, a balance sensor, and the like. For example, the at least one sensor 130 may include a charge coupled device (CCD) image sensor, a complementary metal oxide semiconductor (CMOS) image sensor, a laser radar (lidar) sensor, an inertial measurement unit (IMU), a gyroscope sensor (or gyroscope), an acceleration sensor (accelerometer), a global positioning system (GPS) sensor, a visual sensor, a motion sensor, and the like. In addition to the aforementioned examples, any sensor capable of acquiring data about the robot 100 or the escalator may be included in the sensor without limiting the type of the sensor.

[0044] At least one instruction for the robot 100 may be stored in the memory 140. In addition, an operating system (O / S) for driving the robot 100 may be stored in the memory 140. In addition, various software programs or applications for operating the robot 100 may be stored in the memory 140. In addition, the memory 140 may include a semiconductor memory such as a flash memory or a magnetic storage medium such as a hard disk.

[0045] Specifically, various software modules for operating the robot 100 may be stored in the memory 140, and the processor 150 may control the operation of the robot 100 by executing the various software modules stored in the memory 140. That is, the memory 140 is accessed by the processor 150, and data may be read / written / modified / deleted / updated by the processor 150.

[0046] The term of the memory 140 may be used to refer to the memory 140 , a ROM (not shown), a RAM (not shown) in the processor 150 , or a memory card (not shown) (eg, a micro SD card, a memory stick) installed in the robot 100 .

[0047] In particular, the memory 140 may store image data, first information, second information, information about a riding position, information about a posture of the robot 100, and control information about the robot 100, etc. In addition, various other information may be stored in the memory 140, and the information stored in the memory 140 may be received from an external device or input by a user to be updated.

[0048] The processor 150 controls the overall operation of the robot 100. Specifically, as described above, the processor 150 may be connected to the configuration of the robot 100 including the plurality of wheels 110, the plurality of motors 120, the at least one sensor 130, and the memory 140, and may generally control the operation of the robot 100 by executing at least one instruction stored in the memory 140.

[0049] The processor 150 may be implemented in various ways. For example, the processor 150 may be implemented as at least one of an application specific integrated circuit (ASIC), an embedded processor, a microprocessor, hardware control logic, a hardware finite state machine (FSM), and a digital signal processor (DSP). The term processor 150 may be used to include a central processing unit (CPU), a graphics processing unit (GPU), and a main processing unit (MPU).

[0050] In particular, the processor 150 can control the robot 100 to stably ride the escalator. Figure 2 and Figure 3 The meanings of the first information and the second information are described, and then various embodiments according to the control of the processor 150 will be described.

[0051] The term “first information” is used as a general term for information about the size of the robot 100. Specifically, the first information may include information about the first length, information about the second length, and information about height adjustment of the plurality of wheels 110. First, the information about the height adjustment of the plurality of wheels 110 may include information about whether the plurality of wheels 110 is adjustable in height, information about a maximum value of the height adjustment, and information about a maximum speed of the height adjustment.

[0052] The first length refers to a length representing a first width of the robot 100, and the second length refers to a second width of the robot 100 and refers to a length shorter than the first length. That is, it is assumed that the first length is greater than the second length, which is only for the purpose of clearly describing the exemplary embodiment, however, the first length and the second length may be equal.

[0053] Reference Figure 2 In the example of, the robot 100 may include a rectangular parallelepiped body and two wheels. In this case, the length of the side with the largest width in the body of the robot 100 may be determined as the first length, and the length of the side with the smallest width in the body of the robot 100 may be determined as the second length.

[0054] Reference Figure 3 For example, the robot 100 may include an elliptical cylinder-shaped body and two wheels. In this case, the length of the major axis of the ellipse with the largest width in the body of the robot 100 may be determined as the first length, and the length of the minor axis of the ellipse with the smallest width in the body of the robot 100 may be determined as the second length.

[0055] However, Figure 2 and Figure 3 It is only an example, and the shape of the robot 100 and the number of wheels can be implemented in various ways. Figure 2 and Figure 3 Components (eg, manipulators, etc.) different from those shown in FIG. 1 and FIG. 2 are added to the robot 100, and therefore, the first length of the robot 100 and the second length of the robot 100 may be determined to be the same as those shown in FIG. Figure 2 or Figure 3 The first length of the robot 100 and the second length of the robot 100 shown in FIG. 1 are different.

[0056] exist Figure 2 and Figure 3 , a case where the rotation axis as the rotation center is parallel to the direction of the second length when the two wheels rotate for the movement of the robot 100 (i.e., a case where the movement direction of the robot according to the rotation of the two wheels is parallel to the direction of the first length) is shown, but the embodiment is not limited thereto. That is, the rotation axis of the two wheels may be implemented to be parallel to the direction of the first length, or may be implemented to be parallel to other directions. The rotation axis refers to an axis that is the rotation center of the plurality of wheels when the plurality of wheels rotate for the movement of the robot 100, and when the robot 100 rotates as Figure 2 and Figure 3 In the illustrated implementation, the axes of rotation of the two wheels may be the same.

[0057] Figure 2 and Figure 3 The case where the rotation axes of the plurality of wheels 110 are fixed in a direction parallel to the second length direction is shown, but the embodiment is not limited thereto. That is, the robot 100 may be implemented to rotate the body around an axis perpendicular to the ground while the plurality of wheels 110 are in contact with the ground, and in this case, the rotation axes of the plurality of wheels 110 may rotate in a 360-degree direction based on the axis perpendicular to the ground.

[0058] The first information may be stored in the memory 140 by a developer when manufacturing the robot 100, or may be received from an external device and stored in the memory 140. Hereinafter, it is assumed that the first information is pre-stored in the memory 140.

[0059] The term "second information" is used as a general term for information about the size of a plurality of steps included in the escalator. Specifically, the second information may include information about the lateral length of the steps, information about the longitudinal length of the steps, and information about the height of the steps.

[0060] The lateral length of the step refers to the length perpendicular to the moving direction of the step of the escalator, and the longitudinal length of the step refers to the length parallel to the moving direction of the step of the escalator, and is shorter than the lateral length. That is, the step of the escalator is implemented in a rectangular shape, and the lateral length of the step refers to the length of the longer side of the longer side and the shorter side of the rectangle forming the step, and the longitudinal length of the step is the length of the shorter side of the longer side and the shorter side of the rectangle forming the step. Assuming that the lateral length and the longitudinal length of the step are all the same, it refers to the lateral length and the longitudinal length of the step in a state where the step is exposed to the outside of the escalator.

[0061] It is assumed that the lateral length of the step is longer than at least one of the first length and the second length of the robot 100. This is because it may be difficult to ride the escalator when both the first length and the second length of the robot 100 are longer than the lateral length of the step.

[0062] The information about the height of the steps may include information about a height difference between adjacent steps among the steps of the escalator and information about a rate of change of the height difference.

[0063] The processor 150 may acquire image data of the escalator through at least one sensor 130. The term image data is used as a general term for data about the structure of the escalator and the size of the steps. For example, the image data may include image data of the escalator acquired through an image sensor and point cloud information acquired through a 3D laser radar sensor, and any other information about the structure of the escalator and the size of the steps may be included in the image data. According to an embodiment, various types of data other than image data may also be used.

[0064] The processor 150 may acquire second information about the size of a plurality of steps included in the escalator based on the image data. The processor 150 may acquire the second information not only by performing processing and calculation processing according to a predefined algorithm on the image data, but also by a neural network model trained to acquire the second information when the image data is input.

[0065] Based on the first information and the second information, the processor 150 may recognize a riding position where the robot 100 may ride among the plurality of steps and a posture of the robot 100 for riding at the riding position.

[0066] Specifically, if at least one of the first length and the second length of the robot 100 is shorter than the longitudinal length of the step, the processor 150 may identify the first position on the first step among the plurality of steps as the boarding position. That is, when at least one of the first length and the second length of the robot 100 is shorter than the longitudinal length of the step, this may be a case where the robot 100 can board one step, and thus the processor 150 may identify the first position on the first step among the plurality of steps as the boarding position.

[0067] The first step may be a step that first appears based on the approach of the escalator when the robot 100 rides the escalator, or may be a second step. The process of identifying the first step among the plurality of steps may be performed based on the distance between the robot 100 and the escalator, the moving speed of the robot 100, etc. In addition, the first position on the first step may be determined as a specific area of ​​the center of gravity of the plane (rectangle) including the first step, or as will be described later, the first position on the first step may be determined based on the position of the object when the object exists on the first step.

[0068] When the first length of the robot 100 is shorter than the longitudinal length of the step, the second length of the robot 100 defined as shorter than the first length is also shorter than the longitudinal length of the step, and thus the posture of the robot 100 does not matter. However, when the first length of the robot 100 is longer than the longitudinal length of the step and the second length of the robot 100 is shorter than the longitudinal length of the step, it is necessary to recognize the posture of the robot 100 for stably riding on the first step.

[0069] Specifically, when the first length of the robot 100 is shorter than the longitudinal length of the step, the processor 150 may control the plurality of motors 120 so that the robot 100 rides in the first position with a posture in which a direction corresponding to the first length of the robot 100 is parallel to a direction corresponding to the longitudinal length of the step. When the first length of the robot 100 is longer than the longitudinal length of the step and the second length of the robot 100 is shorter than the longitudinal length of the step, the processor 150 may control the plurality of motors 120 so that the robot 100 rides in the first position with a posture in which a direction corresponding to the first length of the robot 100 is parallel to a direction corresponding to the lateral length of the step. The method of riding while changing the posture of the robot 100 may vary according to the structure and shape of the robot 100, and will be referred to. Figure 4 and Figure 5 An embodiment thereof is described in detail.

[0070] When the first length and the second length of the robot 100 are longer than the longitudinal length of the step, the processor 150 may identify the second position on the first step and the second step adjacent to the first step among the multiple steps as the boarding position. That is, when the first length and the second length of the robot 100 are longer than the longitudinal length of the step, it may be a case where the robot 100 cannot board one step, and therefore, the processor 150 may control the robot 100 to use the second step adjacent to the first step and the first step among the multiple steps to board.

[0071] When the first step is the step that first appears based on the proximity of the escalator when the robot 100 is to ride the escalator, the second step may be a step that appears after the first step or may be a step that appears before the first step. In addition, the position on the first step and the position on the second step may be determined as a specific area including the center of gravity of an area including a plane of the first step and a plane of the second step, and the position on the first step and the position on the second step may be determined based on the position of the object when the object exists on the first step and / or the second step.

[0072] When the first length of the robot 100 is shorter than twice the longitudinal length of the step, the posture of the robot 100 for riding at the second position on the first step and the second step is insignificant. However, when the first length of the robot 100 is longer than twice the longitudinal length of the step and the second length of the robot 100 is shorter than twice the longitudinal length of the step, it is necessary to recognize the posture of the robot 100 for stably riding at the second position on the first step and the second step.

[0073] Specifically, if the first length of the robot 100 is shorter than twice the longitudinal length of the step, the processor 150 may control the plurality of motors 120 so that the robot 100 rides on the second position in a posture in which a direction corresponding to the first length of the robot 100 is parallel to a direction corresponding to the longitudinal length of the step. If the first length of the robot 100 is longer than twice the longitudinal length of the step and the second length of the robot 100 is shorter than twice the longitudinal length of the step, the processor 150 may control the plurality of motors 120 so that the robot can ride on the second position in a posture in which a direction corresponding to the first length of the robot 100 is parallel to a direction corresponding to the lateral length of the step.

[0074] As described above, the method of changing the posture of the robot 100 by rotating the direction corresponding to the first length of the robot 100 when the robot 100 rides on the first step and the second position on the second step is described, and this is based on the assumption that the heights of the plurality of wheels 110 can be adjusted in the changed posture of the robot 100 as will be described later. That is, the above method of changing the posture of the robot 100 when the robot 100 rides on the first step and the second position on the second step can be based on the assumption that the height of the wheels arranged on the first step and the height of the wheels arranged on the second step can be adjusted to be different when the robot 100 rides on the first step and the second position on the second step.

[0075] While the height difference between the first step and the second step changes, the processor 150 may control the plurality of motors 120 so that the height difference between the plurality of wheels 110 corresponds to the height difference between the first step and the second step. Specifically, the processor 150 may cause the robot to perform the following operations: based on information about the height difference between adjacent steps of the escalator and the rate of change of the height difference, the height difference between the plurality of wheels 110 is adaptively adjusted to correspond to the height difference between the first step and the second step, thereby providing stable riding.

[0076] Adjusting the height difference between the multiple wheels 110 to correspond to the height difference between the first step and the second step may include the meaning that the height difference between the first step and the second step and the height difference between the multiple wheels 110 are maintained within a range that the robot 100 does not fall from the escalator, and the situation where the height difference between the first step and the second step and the height difference between the multiple wheels 110 are exactly the same.

[0077] When at least one sensor 130 includes a balance sensor (such as a gyro sensor or an acceleration sensor), the processor 150 can obtain a sensing value indicating whether the robot 100 is balanced through the balance sensor, and control the multiple motors 120 based on the obtained sensing value so that the height difference between the multiple wheels 110 corresponds to the height difference between the first step and the second step.

[0078] In the above, the robot 100 has been described on the premise that the robot 100 can ride on the first step and the second position on the second step, but the robot 100 rides using the third step adjacent to the first step or the second step and the first step and the second step. Specifically, when the first length or the second length of the robot 100 is shorter than twice the longitudinal length of the step, the processor 150 may identify the second position on the first step and the second step as the riding position, but when the first length or the second length of the robot is longer than twice the longitudinal length of the step, the processor 150 may identify the third position on the first step, the second step, and the third step as the riding position. As described above, the number of steps for riding may be determined based on the first length and the second length of the robot 100, or may be determined based on the distance between the left wheel and the right wheel among the plurality of wheels 110 of the robot 100.

[0079] When the riding position and posture of the robot 100 are recognized, the processor 150 may acquire control information for controlling the robot 100 to ride at the recognized riding position with the recognized posture. In addition, the processor 150 may control the plurality of motors 120 based on the acquired control information.

[0080] Specifically, the processor 150 may identify a moving path for moving the robot 100 from the current position of the robot 100 to the identified riding position, and acquire control information for moving the robot 100 to the moving path. In addition, the processor 150 may acquire control information for controlling the robot 100 to take the identified posture at the riding position. In particular, the control information for changing the posture of the robot 100 may include information for changing the direction in which the front of the robot 100 faces, information for adjusting the height of at least one of the plurality of wheels 110, and the like. The processor 150 may cause the robot 100 to perform the following operation: by controlling the plurality of motors 120 based on the above control information, the robot 100 rides at the identified riding position with the identified posture.

[0081] When there is an object (e.g., a person, an animal, another robot 100, etc.) at the identified boarding position or the moving path to the boarding position, it is necessary to obtain control information in consideration of the existence of the object. Therefore, the processor 150 may obtain information about the object around the escalator through at least one sensor 130, and identify the boarding position and the moving path from the current position of the robot 100 to the boarding position based on the first information, the second information, and the object.

[0082] In addition, when an object around the escalator is identified, the processor 150 may control the robot 100 to wait at the current position until it is identified that there is no object within a predetermined critical distance around the escalator. For example, when there is another object on the escalator that has gotten on before the robot 100, the processor 150 may control the robot 100 to take the escalator after the distance between the object and the robot 100 is equal to or greater than the critical distance (i.e., after ensuring a safe distance).

[0083] In the above, an embodiment in which the robot 100 rides two or more of the plurality of steps has been described, but this is based on the assumption that the robot 100 rides stably by adjusting the height of the plurality of wheels 110. That is, when the maximum height adjustment value of the wheels is smaller than the height difference between adjacent steps, or when the maximum rate of height adjustment of the wheels is slower than the rate of change of the height difference between the steps based on the first information and the second information, it may be difficult for the robot 100 to stably ride the escalator, and therefore, the processor 150 may determine that the robot 100 should not ride the escalator. When the robot 100 is determined not to ride the escalator, the processor 150 may identify another moving path that does not pass through the escalator, and control the robot 100 to reach the destination through the identified another path.

[0084] Only the case where the robot 100 takes the escalator will be described as an example, but various embodiments can be similarly applied not only to the case of taking but also to the case of getting off. When performing the operation of getting off, rotation in the direction opposite to the rotation direction when taking and height adjustment in the direction opposite to the height adjustment direction when taking can be performed.

[0085] Specifically, when the height difference between the upper step and the previous step observed by the ground sensor is less than a predetermined threshold, the processor 150 can control the plurality of motors 120 so that the robot 100 can perform a downstairs operation. The execution of the downstairs operation is not limited to executing the downstairs operation of the robot 100 once the height difference between the upper step and the previous step is less than a predetermined threshold, and may include the meaning of executing the downstairs operation after a predetermined time. In addition, the processor 150 can execute the downstairs operation of the robot 100 based on detecting the ground extension at the same height as the height of the upper surface of the upper step, and can execute the downstairs operation of the robot 100 based on recognizing the reduction of the height difference between the plurality of wheels 110.

[0086] When the object is recognized as existing within the critical distance while the robot 100 is performing the operation of descending the stairs, the processor 150 may output the object to the output device 180 (in Figure 8When the object is identified as existing within the critical distance while the robot 100 performs the operation of going down the escalator, the processor 150 may control the plurality of motors 120 so that the robot 100 may move backward at the same speed as the moving speed of the escalator and in the opposite direction to the moving direction of the escalator to maintain its position.

[0087] When a predetermined emergency situation is recognized when the robot 100 gets on or off, the processor 150 may control the communicator 160 to send an emergency stop request to the escalator management server so that the escalator may be stopped urgently.

[0088] According to the various embodiments described above, the robot 100 can recognize a preferred boarding position on an escalator and the posture of the robot 100 , and based on this, control the robot 100 to stably board / leave the escalator.

[0089] In particular, when the robot 100 cannot ride in front, the robot 100 can rotate its body to ride the escalator, and can stably ride using two or more steps of the escalator by adaptively controlling the height of the plurality of wheels 110 according to the rate of change of the height difference between adjacent steps. As a result, the robot 100 can adopt a path using the escalator as a moving path instead of another path, thereby significantly improving the travel efficiency of the robot 100.

[0090] Figure 4 and Figure 5 is a diagram specifically illustrating an escalator riding process of the robot 100 according to one or more embodiments of the present disclosure.

[0091] exist Figure 4 and Figure 5 In the diagram, the x-axis corresponds to the moving direction of the escalator, the y-axis corresponds to the direction parallel to the ground and perpendicular to the moving direction of the escalator, and the z-axis corresponds to the direction perpendicular to the ground. That is, Figure 4 is a diagram showing the robot 100 on the escalator when viewed from the side of the escalator, Figure 5 1 is a diagram showing the operation of the robot 100 until the robot rides the escalator when viewed from the top of the escalator.

[0092] exist Figure 4 and Figure 5 In the description, as the robot 100 Figure 2In the case where the shape shown in and including two wheels is implemented, the case will be described on the premise that the robot 100 includes two wheels, and the rotation axis as the rotation center when the two wheels rotate for movement of the robot 100 is parallel to the direction of the second length. In addition, the description will be made hereinafter on the premise that the length of the side with the largest width in the body of the robot 100 is the first length, and the length of the side with the smallest width in the body of the robot 100 is the second length.

[0093] like Figure 5 As shown, the robot 100 may be located at an origin, which is a location suitable for acquiring image data of an escalator through at least one sensor 130. The processor 150 may identify the origin based on image data of the escalator acquired before the robot 100 reaches the origin, wherein the origin is a location suitable for acquiring image data on the escalator. In addition, the origin may be determined according to settings of a developer or a user.

[0094] Figure 5 A boarding process of the robot 100 is shown when the first length of the robot 100 is longer than the longitudinal length of the step and the second length of the robot 100 is shorter than the longitudinal length of the step.

[0095] As described above, when at least one of the first length and the second length of the robot 100 is shorter than the longitudinal length of the step, the processor 150 may identify the first position on the first step among the multiple steps as the boarding position. That is, when at least one of the first length and the second length of the robot 100 is shorter than the longitudinal length of the step, it may be a case where the robot 100 can board one step, so the processor 150 may identify the first position on the first step among the multiple steps as the boarding position. For example, according to Figure 4 and Figure 5 In the example, Figure 5 The area 50 can be identified as the first location.

[0096] As described above, when the first length of the robot 100 is longer than the longitudinal length of the step and the second length of the robot 100 is shorter than the longitudinal length of the step, it is necessary to identify the posture of the robot 100 for stably riding the first step. Therefore, the processor 150 may identify a posture in which a direction corresponding to the first length of the robot 100 is parallel to a direction corresponding to the lateral length of the step as a posture of the robot 100 for riding the first position. Figure 4 and Figure 5 In the example of Figure 4 and Figure 5 In the example of FIG. 1 , a posture rotated 90 degrees counterclockwise (a direction corresponding to the front face of the robot 100 ) is recognized as the posture at the first position.

[0097] In the above, the process of identifying the riding position of the robot 100 and the process of identifying the posture of the robot 100 have been described, but there is no limitation on the order between the processes, and the processor 150 can identify the riding position of the robot 100 and the posture of the robot 100 by jointly considering the first information and the second information.

[0098] The processor 150 may identify a method for moving the robot 100 from the current position of the robot 100 (ie, Figure 5 The robot 100 is moved to the boarding position by a moving path (from the origin of the robot 100) and the control information for moving the robot 100 to the moving path is obtained. For example, the first position may be determined as Figure 5 The robot 100 is rotated 90 degrees counterclockwise in the direction corresponding to the first length to determine Figure 5 That is, when the robot 100 rotates counterclockwise to ride Figure 5 When the area 50 of the escalator is detected, the moving path of the robot 100 can be determined to pass through the right side instead of the center of the escalator. In other words, when the riding position and posture of the robot 100 are identified, the processor 150 can determine the moving path of the robot 100 by jointly considering the riding position and posture of the robot 100.

[0099] Figure 6 and Figure 7 is a diagram specifically illustrating an escalator riding process of the robot 100 according to one or more embodiments of the present disclosure.

[0100] As in Figure 4 and Figure 5 In the case of Figure 6 and Figure 7 In the diagram, the x-axis corresponds to the moving direction of the escalator, the y-axis is parallel to the ground and corresponds to the direction perpendicular to the moving direction of the escalator, and the z-axis corresponds to the direction perpendicular to the ground. That is, Figure 6 is a diagram showing the robot 100 boarding the escalator when viewed from the side of the escalator, Figure 7 1 is a diagram showing the operation of the robot 100 until the robot 100 gets on at the boarding position when viewed from the top of the escalator.

[0101] As in Figure 4 and Figure 5 In the case of Figure 6 and Figure 7 In the description, as the robot 100 Figure 2In the case where the shape shown in and including two wheels is implemented, the case will be described on the premise that the robot 100 includes two wheels, and the rotation axis as the rotation center when the two wheels rotate for movement of the robot 100 is parallel to the direction of the second length. In addition, the description will be made hereinafter on the premise that the length of the side with the largest width in the body of the robot 100 is the first length, and the length of the side with the smallest width in the body of the robot 100 is the second length.

[0102] Figure 7 The process of the robot 100 riding is shown when the first length and the second length of the robot 100 are longer than the longitudinal length of the steps, the first length of the robot 100 is longer than twice the longitudinal length of the steps, and the second length of the robot 100 is shorter than twice the longitudinal length of the steps.

[0103] As described above, when the first length and the second length of the robot 100 are longer than the longitudinal length of the step, the processor 150 may identify the second position on the first step of the plurality of steps and the second step adjacent to the first step as the boarding position. That is, when the first length and the second length of the robot 100 are longer than the longitudinal length of the step, it may be a situation where the robot 100 cannot board one step, and therefore, the processor 150 may prompt the robot 100 to use the first step of the plurality of steps and the second step adjacent to the first step to board. For example, according to Figure 6 and Figure 7 In the example, Figure 7 The area 70 may be identified as the second location.

[0104] As described above, when the first length of the robot 100 is longer than twice the longitudinal length of the step and the second length of the robot 100 is shorter than twice the longitudinal length of the step, it may be necessary to identify the posture of the robot 100 for stably riding the first step and the second position on the second step. Therefore, the processor 150 may identify a posture in which a direction corresponding to the first length of the robot 100 is parallel to a direction corresponding to the lateral length of the step as the posture of the robot 100 for riding the second position. For example, in Figure 6 and Figure 7 In the example of FIG. 1 , a posture in which a direction corresponding to the first length of the robot 100 is rotated 90 degrees in the counterclockwise direction may be recognized as the posture in the second position.

[0105] When the riding position and posture are identified, the processor 150 may control the robot 100 to ride the identified riding position in the identified posture, and the corresponding control process may include the following steps: Figure 7 1) movement processing, 2) rotation processing, and 3) height adjustment processing shown in FIG. Figure 7The robot 100 at the origin, the robot 10 performing the rotation processing, and the robot 20 performing the height adjustment are not different from each other, but are the positions and postures of the same robot 100 at different times. Figure 4 and Figure 5 The movement process and the rotation process of the robot 100 are described in detail in the embodiment of FIG. 1 , and therefore, the height adjustment process will be described below.

[0106] Robot 100 along Figure 7 Move along the path to take the first step of the escalator ( Figure 7 The first step on the left side of the diagram) and the second step ( Figure 7 When the direction corresponding to the first length of the robot 100 is rotated 90 degrees in the counterclockwise direction, the first step and the second step move to the second position corresponding to the first length of the robot 100. Figure 7 Therefore, a height difference is generated between the first step and the second step. In this case, if the height difference between the left wheel of the robot 100 located on the first step and the right wheel of the robot 100 located on the second step is not adjusted, the robot 100 may fall backwards based on the moving direction of the escalator.

[0107] Therefore, while the height difference between the first step and the second step changes, the processor 150 can control the plurality of motors 120 so that the height difference between the plurality of wheels 110 corresponds to the height difference between the first step and the second step. Specifically, the processor 150 can adaptively adjust the height of at least one of the plurality of wheels 110 based on information about the height difference between adjacent steps in the steps of the escalator and the rate of change of the height difference so that the height difference between the plurality of wheels 110 corresponds to the height difference between the first step and the second step, thereby allowing the robot 100 to ride stably.

[0108] For example, according to Figure 4 and Figure 5 In the example, the processor 150 may control the plurality of motors 120 so that a height difference between a left wheel of the robot 100 on the first step and a right wheel of the robot 100 on the second step matches a height difference between the first step and the second step.

[0109] When the movement process, the rotation process, and the height adjustment process of the robot 100 as described above are continuously performed, it is desirable to consider the movement speed of the plurality of steps included in the escalator. For example, the processor 150 may control the operation of the robot 100 so that when the height difference between the first step and the second step of the escalator is small and the first step and the second step are flat or close to a plane, the robot 100 moves to the step.

[0110] In the above, the description is given on the premise that the direction corresponding to the first length and the direction corresponding to the second length of the robot 100 are perpendicular to each other, but in the case where the direction corresponding to the first length and the direction corresponding to the second length are not perpendicular to each other depending on the shape of the robot 100, the rotation operation may be performed in a manner different from the aforementioned embodiment depending on the shape of the robot 100.

[0111] exist Figures 4 to 7 In the description of FIG. 1 , an operation of rotating the robot 100 by 90 degrees in a counterclockwise direction while the robot 100 rides the steps of the escalator has been described, and the processor 150 may identify the maximum width of the robot 100 (e.g., Figure 7 The control processing according to the above embodiment is performed only when the maximum width of the robot 100 is shorter than the lateral length of the steps of the escalator, and whether the diagonal length of the rectangle representing the shape of the robot 100 observed from above in the figure is shorter than the lateral length of the steps of the escalator.

[0112] Above, in Figures 4 to 7 In the embodiment, the description is made on the premise that the robot 100 takes an upward escalator and moves to an upper floor, but the above embodiment can also be applied to the case where the robot 100 takes a downward escalator.

[0113] Figure 8 1 is a diagram specifically illustrating a configuration of the robot 100 according to one or more embodiments of the present disclosure.

[0114] like Figure 8 As shown, the robot 100 may further include a communicator 160, an input device 170 and an output device 180, as well as a plurality of wheels 110, a plurality of motors 120, at least one sensor 130, a memory 140 and a processor 150. However, Figure 1 and Figure 8 The components shown in the figure are examples only and Figure 1 and Figure 8 New components may be added or some components may be omitted besides the components shown in FIG.

[0115] The communicator 160 may include a circuit and may communicate with an external device. Specifically, the processor 150 may receive various data or information from an external device connected through the communicator 160, and may transmit various data or information to the external device.

[0116] The communicator 160 may include at least one of a Wi-Fi module, a Bluetooth module, a wireless communication module, an NFC module, and an ultra-wideband (UWB) module. Specifically, each of the Wi-Fi module and the Bluetooth module may perform communication using a Wi-Fi method or a Bluetooth method. In the case of using the Wi-Fi module or the Bluetooth module, various connection information (such as SSID) may be first sent and received, communication may be connected using the connection information, and then various information may be sent and received.

[0117] In addition, the wireless communication module can perform communication according to various communication standards such as IEEE, Zigbee, third generation (3G), third generation partnership project (3GPP), long term evolution (LTE), and fifth generation (5G). In addition, the NFC module can perform communication using an NFC (near field communication) method that uses a 13.56 MHz band among various RF-ID frequency bands such as 135 kHz, 13.56 MHz, 433 MHz, 860 MHz to 960 MHz, and 2.45 GHz. In addition, the UWB module can accurately measure the time of arrival (ToA) and angle of arrival (AoA) through communication between UWB antennas, where the time of arrival (ToA) is the time when a pulse reaches a target, and the angle of arrival (AoA) is the angle of arrival of a pulse in a transmitting device, and therefore, the accurate distance and position within an error range of tens of centimeters in an indoor area can be identified.

[0118] In particular, the processor 150 may receive a user command for controlling the operation of the robot 100 from an external device through the communicator 160. The processor 150 may receive information about the position of the escalator from the external device through the communicator 160. The processor 150 may receive first information about the size of the robot 100, image data about the escalator, or second information about the size of a plurality of steps from the external device through the communicator 160. In addition, the processor 150 may control the communicator 160 to transmit the first information and the second information to the external device.

[0119] If a predetermined emergency situation is recognized when the robot 100 rides on or leaves, the processor 150 may control the communicator 160 to send a request for an emergency stop to the escalator management server so that the escalator may be stopped urgently.

[0120] The inputter 170 may include a circuit, and the processor 150 may receive a user command for controlling the operation of the robot 100 through the inputter 170. Specifically, the inputter 170 may include components such as a microphone, a camera (not shown), and a remote control signal receiver (not shown). In addition, the inputter 170 may be implemented as a touch screen included in a display. In particular, the microphone may receive a voice signal and convert the received voice signal into an electrical signal.

[0121] In particular, the processor 150 may acquire a user command for controlling the operation of the robot 100 through the inputter 170. The user command may be a user command for the robot 100 to ride the escalator, a user command for the robot 100 to move to a specific destination, or a user command for causing the robot 100 to perform a specific task. That is, the escalator riding process may be performed based on a user command for causing the robot 100 to move to a specific destination or a user command for causing the robot 100 to perform a specific task.

[0122] The outputter 180 may include a circuit, and the processor 150 may output various functions that the robot 100 may perform through the outputter 180. In addition, the outputter 180 may include at least one of a display, a speaker, and an indicator.

[0123] The display may output image data under the control of the processor 150. Specifically, the display may output an image pre-stored in the memory 140 under the control of the processor 150. In particular, the display may display a user interface stored in the memory 140. Depending on the situation, the display may be implemented as a liquid crystal display (LCD) panel, an organic light emitting diode (OLED), etc., and the display may also be implemented as a flexible display, a transparent display, etc. However, the display is not limited to a specific type. The speaker may output audio data under the control of the processor 150, and the indicator may be turned on under the control of the processor 150.

[0124] In particular, the processor 150 may output a guidance message indicating that the robot 100 has completed riding the escalator through the outputter 180. In addition, the processor 150 may output a guidance message indicating that the robot 100 cannot ride the escalator through the outputter 180. The guidance message indicating that the robot 100 cannot ride the escalator may include information about a new path that does not use the escalator.

[0125] Fig. 9 is a flowchart illustrating a control method of the robot 100 according to one or more embodiments of the present disclosure.

[0126] like Fig. 9 As shown, the robot 100 may acquire first information about the size of the robot 100 (S910). Specifically, the first information may be stored in a memory by a developer when manufacturing the robot 100, or may be received from an external device and stored in the memory.

[0127] The robot 100 may acquire image data of the escalator through at least one sensor (S920). Any information related to the structure of the escalator and the size of the steps may be included in the image data, and various data other than the form of image data may also be used.

[0128] The robot 100 may acquire second information about the size of a plurality of steps included in the escalator based on the image data (S930). In addition, the robot 100 may identify a boarding position where the robot 100 can board among the plurality of steps and a posture of the robot 100 for boarding at the boarding position based on the first information and the second information (S940).

[0129] When at least one of the first length and the second length of the robot 100 is shorter than the longitudinal length of the step, the robot 100 may recognize a first position on a first step among the plurality of steps as a boarding position.

[0130] If the first length of the robot 100 is shorter than the longitudinal length of the step, the robot 100 may control the plurality of motors so that the robot 100 may ride the first position in a posture in which the direction corresponding to the first length of the robot 100 is parallel to the direction corresponding to the longitudinal length of the step. When the first length of the robot 100 is longer than the longitudinal length of the step and the second length of the robot 100 is shorter than the longitudinal length of the step, the robot 100 may control the plurality of motors so that the robot 100 may ride the first position in a posture in which the direction corresponding to the first length of the robot 100 is parallel to the direction corresponding to the lateral length of the step.

[0131] When the first length and the second length of the robot 100 are longer than the longitudinal length of the step, the processor may identify a second position on a first step and a second step adjacent to the first step among the plurality of steps as the boarding position.

[0132] If the first length of the robot 100 is shorter than twice the longitudinal length of the step, the robot 100 may control the plurality of motors so that the robot 100 rides on the second position in a posture in which the direction corresponding to the first length of the robot 100 is parallel to the direction corresponding to the longitudinal length of the step. If the first length of the robot 100 is longer than twice the longitudinal length of the step and the second length of the robot 100 is shorter than twice the longitudinal length of the step, the robot 100 may control the plurality of motors so that the robot may ride on the second position in a posture in which the direction corresponding to the first length of the robot 100 is parallel to the direction corresponding to the lateral length of the step.

[0133] While changing the height difference between the first step and the second step, the robot 100 may control the plurality of motors so that the height difference between the plurality of wheels corresponds to the height difference between the first step and the second step. Specifically, the robot 100 may cause the robot to stably ride by adaptively adjusting the height of at least one of the plurality of wheels so that the height difference between the plurality of wheels corresponds to the height difference between the first step and the second step based on information about the height difference between adjacent steps in the escalator and the rate of change of the height difference.

[0134] When the riding position and posture of the robot 100 are identified, the robot 100 may acquire control information for controlling the robot 100 to ride at the identified riding position with the identified posture (S950). In addition, the robot 100 may control a plurality of motors based on the acquired control information (S960).

[0135] Specifically, the robot 100 may identify a moving path for moving the robot 100 from the current position of the robot 100 to the recognized riding position, and acquire control information for moving the robot 100 to the moving path. In addition, the robot 100 may acquire control information for controlling the robot 100 to take the recognized posture at the riding position. In particular, the control information for changing the posture of the robot 100 may include information for changing the direction in which the front of the robot 100 faces, information for adjusting the height of at least one of the plurality of wheels, and the like. The robot 100 may control the plurality of motors based on the above control information to enable the robot 100 to ride at the recognized riding position in the recognized posture.

[0136] The control method of the robot 100 according to the above-described embodiment may be implemented as a program and provided to the robot 100. In particular, the program including the control method of the robot 100 may be stored and provided in a non-transitory computer-readable medium.

[0137] Specifically, in a non-temporary computer-readable recording medium including a program for executing a control method for the robot 100, the control method for the robot 100 may include: acquiring first information about the size of the robot 100, acquiring image data of an escalator through at least one sensor, acquiring second information about the size of a plurality of steps included in the escalator based on the image data, identifying a boarding position where the robot 100 can board among the plurality of steps and a posture of the robot 100 boarding at the boarding position based on the first information and the second information, and when the boarding position and posture are identified, acquiring control information for controlling the robot 100 to board to the identified position with the identified posture, and controlling a plurality of motors based on the control information.

[0138] In the above, the control method of the robot 100 and the computer-readable recording medium including a program for executing the control method of the robot 100 have been briefly described, but this is only to omit redundant description, and various embodiments of the robot 100 can be applied to the control method of the robot 100 and the computer-readable recording medium including a program for executing the control method of the robot 100.

[0139] According to the various embodiments described above, the robot 100 can recognize a desired boarding position on an escalator and a posture of the robot 100 , and based thereon, control the robot 100 to stably board.

[0140] In particular, when the robot 100 cannot ride forward, the robot 100 can rotate its body to ride the escalator, and can stably ride using two or more steps of the escalator by adaptively controlling the height of the plurality of wheels according to the rate of change of the height difference between adjacent steps. As a result, the robot 100 can adopt a path using the escalator as a moving path instead of another path, thereby significantly improving the travel efficiency of the robot 100.

[0141] Functions related to the above may be performed by the memory and the processor.

[0142] The processor may be configured as one or more processors. In this case, the one or more processors may be general-purpose processors (such as CPU and AP), graphics-only processors (such as GPU and VPU), or AI-only processors (such as NPU).

[0143] One or more processors control the processing of input data according to predefined operating rules or AI models stored in non-volatile memory or volatile memory. The predefined operating rules or AI models are made through learning (training).

[0144] Producing by learning may refer to, for example, a predefined operating rule or AI model with desired characteristics produced by applying a learning algorithm to a plurality of learning data. Such learning may be performed in the device executing the AI ​​itself, or may be performed by a separate server / system.

[0145] The AI ​​model can be configured with multiple neural network layers. Each layer has multiple weight values, and the layer operation is performed by the calculation result of the previous layer and the operation between multiple weights. Examples of neural networks include convolutional neural networks (CNN), deep neural networks (DNN), recurrent neural networks (RNN), restricted Boltzmann machines (RBM), deep belief networks (DBN), bidirectional recurrent deep neural networks (BRDNN), generative adversarial networks (GAN), and deep Q networks, unless otherwise specified, but are not limited to the above examples.

[0146] The learning algorithm may refer to, for example, a method of training a predetermined target device (e.g., robot 100) using a plurality of learning data so that the predetermined target device can make a decision or make a prediction by itself. Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm is not limited to the above examples except for the specified cases.

[0147] The device-readable storage medium may be provided in the form of a non-transitory storage medium. "Non-transitory storage medium" simply means that it is a tangible device and does not contain signals (e.g., electromagnetic waves). The term does not distinguish between a case where data is semi-permanently stored in a storage medium and a case where data is temporarily stored. For example, a "non-transitory storage medium" may include a buffer that temporarily stores data.

[0148] According to one or more embodiments, a method may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), or distributed online (e.g., downloaded or uploaded) via an application store (e.g., PlayStore™), or distributed directly between two user devices (e.g., smart phones). If distributed online, at least a portion of the computer program product (e.g., a downloadable application) may be temporarily generated or at least temporarily stored in a machine-readable storage medium (such as a memory of a manufacturer's server, an application store's server, or a relay server).

[0149] According to various embodiments, each of the aforementioned components (e.g., a module or a program) may include a single entity or multiple entities. According to various embodiments, one or more of the aforementioned components may be omitted, or one or more other components may be added. Alternatively or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform one or more functions of each of the multiple components in the same or similar manner as performed by the corresponding component of the multiple components before integration.

[0150] According to various embodiments, operations performed by a module, a program or another component may be performed sequentially, in parallel, repeatedly or heuristically, or one or more operations may be performed in a different order or omitted, or one or more other operations may be added.

[0151] The term "component" or "module" used herein may refer to a unit including, for example, one or more combinations of hardware, software, and firmware, and may be used interchangeably with the terms "logic", "logic block", "component", and "circuit". A "component" or "module" may be the smallest unit of an integrated component, or may be a part thereof. A "module" may be the smallest unit for performing one or more functions or a part thereof. For example, a "module" may include an application specific integrated circuit (ASIC).

[0152] Various embodiments may be implemented by software including instructions stored in a machine-readable storage medium readable by a machine (e.g., a computer). The machine may be a device that calls instructions from the machine-readable storage medium and operates according to the called instructions, and may include an electronic device (e.g., the robot 100).

[0153] When the instruction is executed by the processor, the processor may directly or use other components to perform the function corresponding to the instruction under the control of the processor. The instruction may include a code generated or executed by a compiler or an interpreter.

[0154] In the above, preferred embodiments have been shown and described, but without departing from the subject matter of the claims, the present disclosure is not limited to the above specific embodiments, and those skilled in the art belong to the present disclosure. Of course, various modifications can be made through the present disclosure, and these modifications should not be understood separately from the technical spirit or perspective of the present disclosure.

Claims

1. A robot comprising: Multiple wheels; a plurality of motors configured to drive the plurality of wheels; at least one sensor; a memory configured to store first information about a size of the robot; as well as The processor is configured as: acquiring image data of the escalator from the at least one sensor, acquiring second information about the size of a plurality of steps included in the escalator based on the image data, Based on the first information and the second information, identifying both a boarding position in the plurality of steps that can be used for the robot to board the escalator and a posture of the robot configured to allow the robot to board at the boarding position, When the riding position and the posture have been identified, control information for controlling the robot to ride at the riding position in the posture is acquired, and The plurality of motors are controlled based on the control information.

2. The robot according to claim 1, wherein: The first information includes information about a first length corresponding to a first width of the robot, information about a second length corresponding to a second width of the robot, and information about height adjustment of the plurality of wheels, wherein the second length is shorter than the first length.

3. The robot according to claim 2, in, The second information includes information about a lateral length of each of the plurality of steps perpendicular to a non-lifting component of a moving direction of the plurality of steps, information about a longitudinal length of each of the plurality of steps parallel to the non-lifting component of the moving direction, and information about the heights of the plurality of steps, the lateral length being longer than at least one of the first length or the second length, and the longitudinal length being shorter than the lateral length, The information about the heights of the plurality of steps includes information about the height difference between adjacent steps in the plurality of steps and information about the rate of change of the height difference.

4. The robot according to claim 3, wherein: The processor is further configured to identify a first position on a first step of the plurality of steps as the boarding position when at least one of the first length or the second length is shorter than the longitudinal length.

5. The robot according to claim 4, in, When the first length is shorter than the longitudinal length, the processor is configured to control the plurality of motors so that the robot rides in a first position in a posture such that the first length is parallel to the longitudinal length, and Wherein, when the first length is longer than the longitudinal length and the second length is shorter than the longitudinal length, the processor is configured to control the plurality of motors so that the robot rides in the first position in a posture such that the first length is parallel to the lateral length.

6. The robot according to claim 3, wherein: When the first length and the second length are longer than the longitudinal length, the processor is configured to identify a second position overlapping between a first step of the plurality of steps and a second step of the plurality of steps as the boarding position, wherein the second step is adjacent to the first step.

7. The robot according to claim 6, wherein: When the first length is longer than the longitudinal length but shorter than twice the longitudinal length, the processor is configured to: controlling the plurality of motors so that the robot is mounted at a second position in a posture such that the first length is parallel to the longitudinal length, and The plurality of motors are controlled so that, while the height difference between the first step and the second step changes, the height difference between the plurality of wheels corresponds to the height difference between the first step and the second step.

8. The robot according to claim 6, wherein: When the first length is longer than twice the longitudinal length, the second length is longer than the longitudinal length, and the second length is shorter than twice the longitudinal length, the processor is configured to: controlling the plurality of motors so that the robot is mounted at a second position in a posture such that the first length is parallel to the lateral length, and The plurality of motors are controlled so that, while the height difference between the first step and the second step changes, the height difference between the plurality of wheels corresponds to the height difference between the first step and the second step.

9. The robot according to claim 8, in, The at least one sensor comprises a balance sensor, and Wherein, the processor is further configured to: acquiring a sensing value indicating whether the robot is balanced through the balance sensor, and Based on the sensing value, the plurality of motors are controlled so that a height difference between the plurality of wheels corresponds to a height difference between a first step and a second step.

10. The robot according to claim 1, wherein: The processor is further configured to: acquiring information about objects near the escalator by means of the at least one sensor, and Based on the first information, the second information, and the information about the object, both the boarding position and a moving path are identified, wherein the moving path is from the current position of the robot to the boarding position.

11. A method for controlling a robot, wherein: The robot includes a plurality of wheels, a plurality of motors for driving the plurality of wheels, and at least one sensor, and the control method includes: Obtaining first information about the size of the robot; acquiring image data of the escalator from the at least one sensor; acquiring second information about the size of a plurality of steps included in the escalator based on the image data; identifying both a boarding position available for the robot to board the escalator among the plurality of steps and a posture of the robot configured to allow the robot to board at the boarding position based on the first information and the second information; When the riding position and the posture have been identified, acquiring control information for controlling the robot to ride at the riding position in the posture; and The plurality of motors are controlled based on the control information.

12. The control method according to claim 11, wherein: The first information includes information about a first length corresponding to a first width of the robot, information about a second length corresponding to a second width of the robot, and information about height adjustment of the plurality of wheels, wherein the second length is shorter than the first length.

13. The control method according to claim 12, in, The second information includes information about a transverse length of each of the plurality of steps perpendicular to a non-lifting component of a moving direction of the plurality of steps, information about a longitudinal length of each of the plurality of steps parallel to the non-lifting component of the moving direction, and information about the heights of the plurality of steps, wherein the transverse length is longer than at least one of the first length or the second length, and the longitudinal length is shorter than the transverse length, The information about the heights of the plurality of steps includes information about the height difference between adjacent steps in the plurality of steps and information about the rate of change of the height difference.

14. The control method according to claim 13, wherein: The step of identifying the seating position includes identifying a first position on a first step of the plurality of steps as the seating position when at least one of the first length or the second length is shorter than the longitudinal length.

15. The control method according to claim 14, wherein: The step of controlling the plurality of motors based on the control information comprises: When the first length is shorter than the longitudinal length, controlling the plurality of motors so that the robot rides in the first position in a posture such that the first length is parallel to the longitudinal length, and When the first length is longer than the longitudinal length and the second length is shorter than the longitudinal length, the plurality of motors are controlled so that the robot rides at a first position in a posture in which the first length is parallel to the lateral length.