Patent Description:
With development of autonomous driving and robot technology, research is being actively conducted to serve food in stores such as restaurants with a serving robot. The serving robot travels along a predetermined path in a store on behalf of a person, or recognizes obstacles on the traveling path, loads cooked food, and serves customers. Such a serving robot is mainly provided in a food service establishment (hereinafter referred to as a "store") to perform predetermined functions. To this end, the serving robot creates a map including a moving route within the store, and the stop position and direction of the serving robot are specified in advance.

However, if the layout is changed or the position of tables is moved depending on circumstances of the store, a route along which the serving robot moves for serving or a position where the serving robot will stop is also changed, and there is a risk of causing a malfunction of the serving robot. Conventionally, in order to change the movement path or stop position of the serving robot, there has been only a way to re-designate it using a dedicated program or change it remotely through a service server. Accordingly, there is an issue in that it is difficult to quickly respond to the needs of the store, resulting in service disruption.

In addition, when a customer finishes eating and moves dishes to a tray return station or when a store clerk cleans the table after meals, loading empty dishes on the serving robot may improve convenience and safety compared to the conventional case where a person directly transports the dishes by hand. To this end, it is necessary to call the serving robot at a time desired by the customer or the clerk. According to a related art, there is an issue in that utilization of the serving robot is lowered due to insufficiency of such a call function.

<CIT> discloses a driving support control system that includes a steering device and a control device. The control device performs a target value calculating process of calculating a target value; a first steering angle calculating process of calculating, as a first steering angle, a steering angle for causing a vehicle motion parameter to coincide with the target value; an actual value calculating process of calculating an actual value of the vehicle motion parameter; a second steering angle calculating process of calculating, as a second steering angle, a steering angle for cancelling out an external force based on a difference value between the actual value and the target value; a target steering angle calculating process of calculating, as a target steering angle, a summed value of the first and second steering angles; and a control process of controlling the steering device so that the steering angle coincides with the target steering angle.

There is a need for a technical idea that allows a simple and easy change of a movement path or a stop position of the serving robot in the store.

Further, a technical idea is required to easily call a serving robot when necessary in addition to serving food.

An object to be solved by the present disclosure is to provide a technical idea that allows a simple and easy change of an autonomous traveling path or a stop position of a serving robot in a store.

In addition, an object of the present disclosure is to provide a technical idea that makes it easy to call the serving robot when the serving robot is needed, including serving of food.

According to an aspect, there is provided a robot control system installed in a robot to control the robot, including: a control module configured to control the robot to move along a preconfigured autonomous traveling path in an autonomous traveling mode; a mode switching module configured to switch the robot from the autonomous traveling mode to a movement path reconfiguration mode when a predetermined switching condition is satisfied while the robot is in the autonomous traveling mode; and a configuration module configured to, when the robot is moved by an external force in the movement path reconfiguration mode, track a movement path while the robot is moved by the external force, and to reconfigure the autonomous traveling path based on the tracked movement path.

In an example embodiment, the mode switching module may be configured to switch the robot to the movement path reconfiguration mode when a movement path reconfiguration command is input through a predetermined input device installed in the robot while the robot is in the autonomous traveling mode.

In an example embodiment, the mode switching module may be configured to switch the robot to the movement path reconfiguration mode when the robot deviates from the autonomous traveling path by an external force a predetermined number of times or more or for a predetermined period of time or more while the robot is in the autonomous traveling mode.

In an example embodiment, the mode switching module may be configured to switch the robot to the movement path reconfiguration mode when the robot detects an obstacle that prevents movement while moving along the autonomous traveling path in the autonomous traveling mode.

In an example embodiment, the control module may be configured to control the robot to move to a preconfigured stop position when the robot is called in the autonomous traveling mode.

In an example embodiment, the control module may be configured to control the robot to move along the autonomous traveling path when a predetermined stop period of time elapses after the robot moves to the stop position, and extend the stop period of time when it is detected that the robot is loaded with an object.

According to another aspect, there is provided a robot control system installed in a robot to control the robot including: a control module configured to control the robot to move to a preconfigured stop position when the robot is called in an autonomous traveling mode; a mode switching module configured to switch the robot from the autonomous traveling mode to a stop position reconfiguration mode when a predetermined switching condition is satisfied while the robot is in the autonomous traveling mode; and a configuration module configured to, when the robot is moved by an external force in the stop position reconfiguration mode, determine a movement position to which the robot is moved by an external force, and reconfigure the stop position to the movement position.

In an example embodiment, the mode switching module may be configured to, when a stop position reconfiguration command is input through a predetermined input device installed in the robot while the robot is in the autonomous traveling mode, switch the robot to the stop position reconfiguration mode.

In an example embodiment, the mode switching module may be configured to switch the robot to the stop position reconfiguration mode when the robot deviates from the stop position by an external force a predetermined number of times or more or for a predetermined period of time or more after moving to the stop position.

In an example embodiment, the robot control system may switch the robot to the stop position reconfiguration mode when the robot detects an obstacle that prevents movement while moving to the stop position in the autonomous traveling mode.

In an example embodiment, the robot may be a serving robot for transporting food and beverage containers in a restaurant.

According to another aspect, there is provided a wireless call device for calling a robot equipped with the robot control system including: a call button; and a call module configured to transmit a call command including identification information corresponding to the wireless call device to the robot when the call button is pressed to control the robot to move to a stop position corresponding to the identification information.

In an example embodiment, the call module may be configured to transmit the call command to the robot when the call button is pressed a plurality of times long or short and a predetermined pattern is formed by a length of each press or a length of a time interval between presses.

According to another aspect, there is provided a wireless call device for calling a robot equipped with the robot control system including: a tag reader configured to recognize a tag located outside the wireless call device; and a call module configured to, when a tag is recognized by the tag reader, transmit a call command including identification information corresponding to the recognized tag to the robot to control the robot to move to a stop position corresponding to the identification information.

According to another aspect, there is provided a robot control method performed by a robot control system installed in a robot which controls the robot including: controlling the robot to move along a preconfigured autonomous traveling path in an autonomous traveling mode; switching the robot from the autonomous traveling mode to a movement path reconfiguration mode when a predetermined switching condition is satisfied while the robot is in the autonomous traveling mode; and when the robot is moved by an external force in the movement path reconfiguration mode, tracking a movement path while the robot is moved by the external force, and reconfiguring the autonomous traveling path based on the tracked movement path.

In an example embodiment, the switching of the robot from the autonomous traveling mode to the movement path reconfiguration mode when the predetermined switching condition is satisfied while the robot is in the autonomous traveling mode may include switching the robot to the movement path reconfiguration mode when a movement path reconfiguration command is input through a predetermined input device installed in the robot while the robot is in the autonomous traveling mode.

In an example embodiment, the switching of the robot from the autonomous traveling mode to the movement path reconfiguration mode when the predetermined switching condition is satisfied while the robot is in the autonomous traveling mode may include switching the robot to the movement path reconfiguration mode when the robot detects an obstacle that prevents movement while moving along the autonomous traveling path in the autonomous traveling mode.

In an example embodiment, the switching of the robot from the autonomous traveling mode to the movement path reconfiguration mode when the predetermined switching condition is satisfied while the robot is in the autonomous traveling mode may include switching the robot to the movement path reconfiguration mode when the robot deviates from the autonomous traveling path by an external force a predetermined number of times or more or for a predetermined period of time or more while the robot is in the autonomous traveling mode.

According to another aspect, there is provided a robot control method performed by a robot control system installed in a robot which controls the robot, including: controlling the robot to move to a preconfigured stop position when the robot is called in an autonomous traveling mode; switching the robot from the autonomous traveling mode to a stop position reconfiguration mode when a predetermined switching condition is satisfied while the robot is in the autonomous traveling mode; and when the robot is moved by an external force in the stop position reconfiguration mode, determining a movement position to which the robot is moved by an external force and reconfiguring the stop position to the movement position. According to another aspect, there is provided a computer program installed in a data processing apparatus and stored in a non-transitory recording medium to perform the method.

According to another aspect, there is provided a non-transitory computer-readable recording medium in which a computer program for performing the method.

According to an example embodiment of the present disclosure, it is possible to simply and easily change the movement path or stop position of the serving robot in the store, and to easily call the serving robot if necessary in addition to serving food, thereby greatly improving the user's convenience.

In order to more fully understand drawings recited in the detailed description of the Invention, a brief description of each drawing is provided.

Since the present invention may be implemented in various forms and may have various example embodiments, specific example embodiments are illustrated in the drawings and described in detail.

Terms such as first, second, and the like may be used to explain various components, but the components should not be limited to the terms. The terms are used only to distinguishing one component from another component.

Terms used in the present application are only used to describe specific example embodiments, and are not intended to limit the present disclosure. The singular forms are intended to include the plural forms unless the context clearly dictates otherwise.

The terms such as "comprise" or "have," when used in this specification, are intended to specify the presence of stated features, integers, steps, operations, elements, components, or a combination thereof, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

In addition, in this specification, when any one component 'transmits' data to another component, this means that the component may transmit the data to the other component directly or through at least one other component. Conversely, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through still other component.

Hereinafter, the present disclosure will be described in detail focusing on example embodiments with reference to the accompanying drawings. Like reference numerals in each drawing refer to like components.

<FIG> is a diagram illustrating a schematic configuration of a robot on which a robot control system according to an example embodiment is mounted, and <FIG> is a diagram for explaining a relationship between the robot and a wireless call device according to an example embodiment.

The robot may be a serving robot for transporting food and beverage containers in a restaurant. The following description assumes that the robot is a serving robot, but the robot to which a robot control system or a robot control method according to the technical idea of the present disclosure is applied is not limited to the serving robot. The technical idea of the present disclosure as described below may be applied to various robots operated in various fields.

First, referring to <FIG>, a robot <NUM> may include a robot control system <NUM>, a housing <NUM>, an indicator <NUM>, a sensor <NUM>, a display <NUM>, an input device <NUM>, a moving means <NUM>, and a loader <NUM>.

The robot control system <NUM> performs the robot control method according to the technical idea of the present disclosure to control the robot <NUM> to change an autonomous traveling path, a stop position, and the like, of the robot <NUM> or to move the robot <NUM> to a calling place in response to a command of calling the robot.

The housing <NUM> forms a body of the robot <NUM> with a material such as metal, synthetic resin, and/or glass, and may protect a structure located inside the robot <NUM>. The robot control system <NUM> may be installed inside the housing <NUM>.

The indicator <NUM> may output information indicating a state (mode) of the robot <NUM>. The robot <NUM> may be switched to various modes such as an autonomous traveling mode in which the robot <NUM> autonomously travels along a preconfigured autonomous traveling path and when there is a call, autonomously moves to a stop position corresponding to the call, a movement path reconfiguration mode in which the autonomous traveling path is reconfigured, a stop position reconfiguration mode in which the stop position is reconfigured, and a standby mode in which the robot <NUM> is stopped at a predetermined standby position in a standby state, and the indicator <NUM> may output information indicating a current mode of the robot <NUM>. For example, the indicator <NUM> may be an LED indicator that outputs different colors according to the modes of the robot <NUM>. Alternatively, the indicator <NUM> may be a device for displaying information for identifying the mode of the robot.

The sensor <NUM> may sense a specific physical quantity or a specific type of energy. For example, the sensor <NUM> may include a position detection sensor that detects a current position of the robot <NUM>, a motion state detection that detects a motion state (e.g., speed, acceleration, posture, etc.) of the robot <NUM>, an external force detection sensor that detects an external force applied to the robot <NUM>, an image sensor that receives an optical signal and converts it into an electrical signal, and a weight detection sensor that detects a weight of a load loaded in the loader <NUM> as well as at least some of an illuminance sensor, a proximity sensor, a pressure sensor, an optical sensor, a magnetic sensor, an acceleration sensor, and a gyro sensor.

The display <NUM> may be a device for visually outputting information to be output by the robot control system <NUM> to the outside. The display <NUM> may include a liquid crystal display (LCD), a light emitting diode display (LED), a plasma display (PDP), an organic light emitting diode display (OLED), and a surface conduction electron emission display (SED).

The input device <NUM> is a device capable of receiving a user's input, and may include a touch panel, a keyboard, and a keypad. The touch panel may include a pressure-sensitive touch panel, a resistive touch panel, or a capacitive touch panel, and may be in the form of a touch screen combined with the display device <NUM>.

The moving means <NUM> is a means for imparting mobility to the robot <NUM>, and may include a wheel driven by a motor for rotational motion and a leg-shaped walking means capable of walking.

The loader <NUM> is a means for loading objects such as dishes, and may include a tray.

Referring to <FIG>, the robot <NUM> may receive a call command from a wireless call device <NUM>, and the robot <NUM> called by the wireless call device <NUM> may respond to the call command to move to a predetermined stop position. If the technical idea of the present disclosure is applied to the serving robot operated in the restaurant, the wireless call device <NUM> may be attached to each table in the store, and serving robot receiving the call command according to operation of the wireless call device <NUM> may move to a stop position near the corresponding table.

In one example embodiment, the robot <NUM> and the wireless call device <NUM> are connected to each other through wireless communication to transmit and receive various information, signals, data, and the like necessary to implement the technical idea of the present disclosure. The robot and the wireless calling device <NUM> may communicate by a long-distance wireless communication method such as <NUM>, LTE, LTE-A, Wi-Fi, WiGig, or Ultra Wide Band (UWB), or by a short-range wireless communication method such as MST, Bluetooth, NFC, RFID, ZigBee, Z-Wave, or IR.

In another example embodiment, the robot <NUM> and the wireless call device <NUM> may communicate with each other via a predetermined relay server <NUM>. In this case, the robot <NUM> and the relay server <NUM>, and the wireless call device <NUM> and the relay server <NUM> may communicate using the above-described wireless communication method.

<FIG> is a block diagram illustrating a schematic configuration of the robot control system <NUM> according to an example embodiment.

Referring to <FIG>, the robot control system <NUM> includes a communication module <NUM>, a storage module <NUM>, a position determination module <NUM>, a control module <NUM>, a mode switching module <NUM>, and a configuration module <NUM>. According to an example embodiment, some of the above-described components may not necessarily correspond to components essential for implementation of the present disclosure. Of course, according to an example embodiment, the robot control system <NUM> may include more components.

The robot control system <NUM> may include hardware resources and/or software necessary to implement the technical idea of the present disclosure, and does not necessarily mean a single physical component or a single device. In other words, the robot control system <NUM> may mean a logical combination of hardware and/or software provided to implement the technical idea of the present disclosure. The robot control system <NUM> may, if necessary, be implemented as a set of logical configurations for implementing the technical idea of the present disclosure installed in devices spaced apart from each other to perform respective functions. In addition, the robot control system <NUM> may mean a set of components separately implemented for each function or role for implementing the technical idea of the present disclosure.

In addition, in the present specification, a module may mean a functional and structural combination of hardware for carrying out the technical idea of the present disclosure and software for driving the hardware. For example, it may be easily inferred by an average expert in the art of the present disclosure that the module may mean a logical unit of a predetermined code and a hardware resource for executing the predetermined code, and does not necessarily mean physically connected codes or one type of hardware.

The control module <NUM> control functions and/or resources of the robot control system <NUM> and other components included in the robot <NUM> (e.g., the communication module <NUM>, the storage module <NUM>, the position determination module <NUM>, the mode switching module <NUM>, and the configuration module <NUM>).

The communication module <NUM> may communicate with an external device and transmit/receive various signals, information, and data. The communication module <NUM> is a <NUM> module, an LTE module, an LTE-A module, a Wi-Fi module, a WiGig module, an Ultra Wide Band (UWB) module, a long-distance communication module such as a LAN card or an MST module, a Bluetooth module, an NFC module, an RFID module, a ZigBee module, a Z-Wave module, and a short-range communication module such as an IR module.

The storage module <NUM> may store various data and computer programs, such as data received/input from an external device and data generated by the robot control system <NUM>. The storage module <NUM> may include a volatile memory and a non-volatile memory. The storage module <NUM> may include, for example, an SSD, a flash memory, a ROM, a RAM, an EEROM, an EPROM, an EEPROM, a hard disk, and a register. Alternatively, the storage module <NUM> may include a file system, a database, and an embedded database.

The storage module <NUM> may store in advance information on a path along which the robot <NUM> is to autonomously travel in the autonomous traveling mode, in other words, the autonomous traveling path, and information about a destination to which the robot <NUM> should move, when the robot <NUM> is called, in response to the call, in other words, the stop position.

The position determination module <NUM> may determine the position of the robot <NUM>. The position determination module <NUM> may determine the position of the robot <NUM> based on various signals detected by the sensor <NUM> installed in the robot <NUM>. For example, the position determination module <NUM> may determine the position of the robot <NUM> through GPS (Global Positioning System) information or IPS (Indoor Positioning System) information, or detect a motion of the robot <NUM> by a speed sensor, an acceleration sensor, a gyro sensor, or the like included in the sensor <NUM> to determine the position of the robot <NUM> based thereon. In addition to this, the position determination module <NUM> may determine the position of the robot <NUM> through various known methods.

Further, the position determination module <NUM> may periodically determine the position of the robot <NUM> for a predetermined period, thereby tracking a movement path along which the robot moves during the predetermined period.

The control module <NUM> may control the robot <NUM> to move along the preconfigured autonomous traveling path in the autonomous traveling mode.

<FIG> is a diagram illustrating a preconfigured path along which the robot <NUM> autonomously travels in a store equipped with a plurality of tables/chairs (i.e., the preconfigured autonomous traveling path). Referring to <FIG>, in the autonomous traveling mode, the control module <NUM> may control the robot <NUM> to move along the autonomous traveling path indicated by arrows.

Information on the autonomous traveling path may be predefined and stored in the storage module <NUM>. In an example embodiment, the information on the autonomous traveling path may be configured as coordinates for a plurality of intermediate points on the autonomous traveling path.

Although <FIG> illustrates an example in which the autonomous traveling path circulates one path, the autonomous traveling path may be in the form of reciprocating between two points separated from each other, and may be configured in the form in which a plurality of movement paths are combined. In the case of the form in which the plurality of movement paths are combined, the control module <NUM> may select one of the movement paths and control the robot <NUM> to autonomously travel along the selected movement path.

Referring back to <FIG>, the mode switching module <NUM> may switch the robot <NUM> from the autonomous traveling mode to the movement path reconfiguration mode when a predetermined movement path switching condition is satisfied while the robot <NUM> is in the autonomous traveling mode.

In one example embodiment, the mode switching module <NUM> may switch the robot <NUM> to the movement path reconfiguration mode when the robot detects an obstacle that prevents movement while moving along the autonomous traveling path in the autonomous traveling mode.

This will be described with reference to <FIG> as an example. When arrangement of the tables installed in the store is changed from that shown in <FIG> to that shown in <FIG>, the robot <NUM> autonomously traveling is blocked by the tables as shown in <FIG> and may no longer move along the autonomous traveling path. The mode switching module <NUM> may switch the robot <NUM> to the movement path reconfiguration mode. In other words, when the robot <NUM> collides with an obstacle while moving along the autonomous traveling path or is unable to move due to the obstacle in a situation where the previously configured autonomous traveling path is blocked due to a change in the location of an object installed in the store, the mode switching module <NUM> may detect this and switch the robot <NUM> to the movement path reconfiguration mode.

In addition, movement path switching conditions for switching the robot <NUM> from the autonomous traveling mode to the movement path reconfiguration mode may vary.

In another example embodiment, when the mode switching module <NUM> receives a movement path reconfiguration command through the predetermined input device <NUM> installed in the robot <NUM> while the robot is in the autonomous traveling mode, the mode switching module <NUM> may switch the robot to the movement path reconfiguration mode. In other words, when the user (e.g., a store employee) determines that it is necessary to change the autonomous traveling path, the user may select a movement path reconfiguration menu or the like through the input device <NUM> of the robot <NUM> to input the movement path reconfiguration command, and in response to this, the mode switching module <NUM> may switch to the movement path reconfiguration mode.

Alternatively, in another example embodiment, when the robot <NUM> deviates from the autonomous traveling path by an external force a predetermined number of times or more or for a predetermined period of time or more while being in the autonomous traveling mode, the mode switching module <NUM> may switch the robot <NUM> to the movement path reconfiguration mode. More specifically, when the user applies the external force to the robot in the autonomous traveling mode to push or pull the robot, the mode switching module <NUM> may detect this. For example, when detecting the external force through the sensor <NUM> provided in the robot <NUM> or that the position of the robot <NUM> is changed in a situation where the robot <NUM> is not controlled by the control module <NUM> or deviates from the preconfigured autonomous traveling path, the mode conversion module <NUM> may determines that the robot <NUM> deviates from the autonomous traveling path due to the external force. When it is determined that the robot <NUM> deviates from the autonomous traveling path by the external force the predetermined number of times or more or for the predetermined period of time or more, the mode switching module <NUM> may switch the robot <NUM> to the movement path reconfiguration mode.

Alternatively, when the robot deviates from the autonomous traveling path by the external force a predetermined number of times or more or for a predetermined period of time or more after the robot detects an obstacle that prevents movement while moving along the autonomous traveling path in the autonomous traveling mode, the mode switching module <NUM> may switch the robot <NUM> to the movement path reconfiguration mode.

Alternatively, when detecting the situation where the obstacle that prevents movement is detected while the robot moves along the autonomous traveling path in the autonomous traveling mode and/or the robot deviates from the autonomous traveling path by the external force the predetermined number of times or more or for the predetermined period of time or more, the mode switching module <NUM> may output alarm information informing the user of the situation and may receive the user's movement path reconfiguration command to switch the robot <NUM> to the movement path reconfiguration mode.

Further, referring back to <FIG>, when the robot <NUM> is moved by the external force, the configuration module <NUM> may track the movement path while the robot <NUM> is moved by the external force in the movement path reconfiguration mode. In addition, the configuration module <NUM> may reconfigure the autonomous traveling path based on the tracked movement path.

An example in which the autonomous traveling path is reconfigured will be described with reference to <FIG> and <FIG>.

Referring to <FIG>, the user may move the robot <NUM> by thee external force by pushing or pulling the robot <NUM> switched to the movement path reconfiguration mode. As shown in <FIG>, the user may move the robot <NUM> along a path shown by the dashed-dotted line. Then, the configuration module <NUM> may track the movement path while the robot <NUM> is moved by the external force.

Thereafter, the configuration module <NUM> may reconfigure the autonomous traveling path based on the tracked movement path. The reconfigured movement path is shown in <FIG>. When the movement path caused by the external force such as the dashed-dotted line in <FIG> is tracked, the configuration module <NUM> may reflect this to the previously configured autonomous traveling path and reconfigure the autonomous traveling path as shown in <FIG>.

On the other hand, the mode switching module <NUM> may switch the robot <NUM> to the autonomous traveling mode after the autonomous traveling path is reconfigured by the configuration module <NUM>, and the control module <NUM> may control the robot <NUM> to autonomously travel along the reconfigured autonomous traveling path.

As described above, the robot control system <NUM> according to an example embodiment may change the autonomous traveling path of the robot <NUM>. In addition, the robot control system <NUM> according to another example embodiment may change the preconfigured stop position of the robot <NUM>, which will be described below.

The robot <NUM> may be called by the wireless call device <NUM> in the autonomous traveling mode, and the control module <NUM> may control the robot <NUM> to move to the preconfigured stop position when the robot <NUM> is called.

The mode switching module <NUM> may switch the robot <NUM> from the autonomous traveling mode to the stop position reconfiguration mode when a predetermined stop position switching condition is satisfied while the robot <NUM> is in the autonomous traveling mode.

In one example embodiment, the mode switching module <NUM> may switch the robot to the stop position reconfiguration mode when a stop position reconfiguration command is input through the predetermined input device <NUM> installed in the robot while the robot <NUM> is in the autonomous traveling mode. In other words, when the user (e.g., the store employee) determines that it is necessary to change the stop position, the user selects a device position reconfiguration menu or the like through the input device <NUM> of the robot <NUM> to input the stop position reconfiguration command, and in response to this, the mode switching module <NUM> may switch the robot <NUM> to the stop position reconfiguration mode.

In another example embodiment, when the robot <NUM> deviates from the stop position by an external force a predetermined number of times or more or for a predetermined period of time or more after the robot <NUM> moves to the stop position, the mode switching module <NUM> may switch the robot <NUM> to the stop position reconfiguration mode. More specifically, when the user applies the external force to the robot moved to the stop position by the call to push or pull it, the mode switching module <NUM> may detect this. For example, when detecting the external force through the sensor <NUM> provided in the robot <NUM> or that the position of the robot <NUM> is changed in a situation where the robot <NUM> is not controlled by the control module <NUM> or deviates from the stop position, the mode conversion module <NUM> may determines that the robot <NUM> deviates from the stop position due to the external force. When it is determined that the robot <NUM> deviates from the stop position by the external force the predetermined number of times or more or for the predetermined period of time or more, the mode switching module <NUM> may switch the robot <NUM> to the stop position reconfiguration mode.

In another example embodiment, when the robot detects an obstacle that prevents movement while moving to the stop position in the autonomous traveling mode, the robot may be switched to the stop position reconfiguration mode.

In another example embodiment, when the robot <NUM> detects an obstacle that prevents movement while moving to the stop position by the call of the wireless call device <NUM> in the autonomous traveling mode, the robot may be moved to the stop position reconfiguration mode. In other words, when the robot <NUM> collides with the obstacle while moving along a path to the stop position or is unable to move due to the obstacle in a situation where the path to the previously configured stop position is blocked due to a change in the location of an object installed in the store, the mode switching module <NUM> may detect this and switch the robot <NUM> to the stop position reconfiguration mode.

Further, when the robot <NUM> is moved by the external force in the stop position reconfiguration mode, the configuration module <NUM> may determine a movement position to which the robot <NUM> is moved by the external force, and reconfigure the stop position to the movement position.

An example in which the stop position of the robot <NUM> is reconfigured will be described with reference to <FIG>.

<FIG> is a diagram illustrating the robot <NUM> that moves to a preconfigured previous stop position. Before the stop position is reconfigured, the robot <NUM> may move to a stop position <NUM> preconfigured by calling of the wireless call device <NUM>.

<FIG> is a diagram illustrating that the stop position should be changed as tables/chairs arrangement near the stop position is changed. In the case that the tables/chairs has been previously placed in position (<NUM>) and the arrangement is changed to position (<NUM>), the robot <NUM> should arrive at the stop position (<NUM>) when the robot <NUM> is called, but the robot <NUM> moves to the preconfigured stop position (<NUM>).

At this time, when the above-described stop position switching condition is satisfied, the robot <NUM> is switched to the stop position switching mode, the user changes the position of the robot from the position (<NUM>) to the position (<NUM>) by an external force as shown in <FIG>, and the configuration module <NUM> may reconfigure the stop position from the position (<NUM>) to the position (<NUM>).

After the stop position is reconfigured by the configuration module <NUM>, the mode switching module <NUM> may switch the robot <NUM> to the autonomous traveling mode. In the case that there is a call from the wireless call device <NUM> after the stop position is reconfigured, the control module <NUM> may move the robot <NUM> to the position (<NUM>) instead of the position (<NUM>).

In addition, the control module <NUM> may control the robot to move along the autonomous traveling path again when a predetermined stop period of time elapses after the robot is called and moves to the stop position. In the case that the robot <NUM> is required to stay a little longer at the stop position, the control module <NUM> may extend the stop period of time and control the robot <NUM> to move along the autonomous traveling path again after the extended period of time elapses. In particular, when the robot <NUM> is the serving robot, it is necessary to load the serving robot with dishes to be removed from the table. Accordingly, the control module <NUM> may extend the stop period of time when it is detected that the robot <NUM> is loaded with an object.

<FIG> is a flowchart illustrating a robot control method according to an example embodiment.

Referring to <FIG>, the robot <NUM> may be in the autonomous traveling mode or the autonomous traveling path (or the stop position reconfiguration mode).

When the robot <NUM> is in the autonomous traveling mode, the robot control system <NUM> may control the robot <NUM> to move along the preconfigured autonomous traveling path or move to the preconfigured stop position by calling of the wireless call device <NUM> (S10).

Further, the robot control system <NUM> may determine whether a predetermined autonomous traveling path reconfiguration mode switching condition (or a stop position reconfiguration mode switching condition) is satisfied (S20). When it is determined that the condition is satisfied, the robot control system <NUM> may switch to the movement path reconfiguration mode (or the stop position reconfiguration mode).

In the movement path reconfiguration mode (or the stop position reconfiguration mode), the robot control system <NUM> may determine the movement path of the robot moved by an external force (or the movement position of the robot moved by the external force) (S30), and may reconfigure the autonomous traveling path (or the stop position) (S40). When the reconfiguration is completed, the robot control system <NUM> may switch the robot <NUM> back to the autonomous traveling mode.

Each of <FIG> is a diagram illustrating an example of a wireless call device according to an example embodiment.

First, referring to <FIG>, in one example embodiment, the wireless call device <NUM> may include a call button <NUM> and a call module <NUM>.

The call button <NUM> is a button that receives the user's input, and may be a physical button or a virtual button implemented as a touch screen provided in the wireless call device <NUM>.

When the call button <NUM> is pressed, the call module <NUM> may transmit a call command including identification information corresponding to the wireless call device <NUM> to the robot <NUM>, and control the robot <NUM> to move to the stop position corresponding to the identification information.

The store may be equipped with a plurality of the wireless call devices <NUM>. For example, the wireless call device may be attached to each table arranged in the store. In this case, since the robot <NUM> should move to the stop position near the table where the wireless call device that calls it is installed, the stop position corresponding to each wireless call device may be preconfigured. In particular, the identification information of each wireless call device and the stop position corresponding to the wireless call device may be mapped. Further, when there is a call from the wireless call device <NUM>, the robot <NUM> may move to the stop position corresponding to the wireless call device <NUM> that calls it among several preconfigured stop positions.

The call button <NUM> may be pressed short or long, and a pattern such as a Morse code may be formed by the length of each pressing. The call module <NUM> may recognize a Morse code-like pattern formed by a button press or a time interval between presses, and transmit the call command to the robot <NUM> only when the pattern matches a predefined pattern. In other words, in one example embodiment, when the call button <NUM> is pressed long or short multiple times and a predetermined pattern is formed by the length of each press or the length of the time interval between presses, the call module <NUM> may transmit the call command to the robot <NUM>. In this way, it is possible to prevent a customer seated at the table in the store from arbitrarily calling the robot <NUM>, and allow only the employee who knows the predetermined pattern to call the robot <NUM>.

Referring to <FIG>, the wireless call device <NUM> may include a tag reader <NUM> and the call module <NUM>.

The tag reader <NUM> may recognize a tag located outside of the wireless call device <NUM>. The tag may be attached to a fixed location such as the table in the store, and the tag reader <NUM> may recognize identification information corresponding to the tag. The tag may include an NFC tag, a barcode tag, and a QR code tag.

When the tag is recognized by the tag reader <NUM>, the call module <NUM> may transmit a call command including the identification information corresponding to the recognized tag to the robot <NUM> to control the robot <NUM> to move to the stop position corresponding to the identification information.

The example embodiment shown in <FIG> may be used in a form in which the employee recognizes the tag attached to the table while carrying the wireless call device <NUM>.

According to an example embodiment, the robot control system <NUM> may include a processor and a memory for storing a program executed by the processor. The processor may include a CPU, GPU, MCU, APU, microprocessor, single-core CPU, or multi-core CPU. The memory may include high-speed random access memory and may include non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to the memory by the processor and other components may be controlled by a memory controller. Here, when the program is executed by the processor, the robot control system <NUM> according to the present example embodiment may perform the above-described method.

In addition, the method according to an example embodiment may be implemented in the form of computer-readable program instructions and stored in a non-transitory computer-readable recording medium, and a control program and a target program according to an example embodiment may also be stored in a non-transitory computer-readable recording medium. The non-transitory computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored.

The program instructions recorded on the recording medium may be specially designed and configured for the present disclosure, or may be known and available to those skilled in the software field.

Examples of the non-transitory computer-readable recording medium include hardware devices specially configured to store and execute program instructions, such as magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, ROM, RAM, and flash memory. In addition, the non-transitory computer-readable recording medium is distributed in a computer system connected through a network, so that computer-readable codes may be stored and executed in a distributed manner.

Examples of the program instruction include not only machine codes such as generated by a compiler, but also high-level language codes that can be executed by a device for electronically processing information using an interpreter or the like, for example, a computer.

The hardware devices described above may be configured to operate as one or more software modules to perform operations of the present disclosure, and vice versa.

The foregoing description of the present disclosure is for illustration, and those skilled in the art to which the present disclosure pertains can understand that modifications into other specific forms may be easily made without changing essential features of the present disclosure. Therefore, it should be understood that the example embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and components described as distributed may be implemented in a combined form.

Claim 1:
A robot control system (<NUM>) installed in a robot (<NUM>) to control the robot (<NUM>), comprising:
a control module (<NUM>) configured to control the robot (<NUM>) to move along a preconfigured autonomous traveling path in an autonomous traveling mode;
a mode switching module (<NUM>) configured to switch the robot (<NUM>) from the autonomous traveling mode to a movement path reconfiguration mode when a predetermined switching condition is satisfied while the robot (<NUM>) is in the autonomous traveling mode; and characterised by
a configuration module (<NUM>) configured to, when the robot (<NUM>) is moved by an external force in the movement path reconfiguration mode, track a movement path while the robot (<NUM>) is moved by the external force, and to reconfigure the autonomous traveling path based on the tracked movement path;
wherein the control module (<NUM>) is further configured to control the robot (<NUM>) to autonomously travel along the reconfigured autonomous traveling path.