Mobile robot for food delivery and its operating method
The mobile robot uses load cells to detect food position and adjust speed and route, addressing spillage and instability issues in food delivery.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- BEAR ROBOTICS KOREA INC
- Filing Date
- 2023-06-12
- Publication Date
- 2026-07-24
AI Technical Summary
Existing food delivery robots struggle with preventing spills and instability when delivering food, especially liquids, due to inadequate detection and adjustment of tray placement and center of gravity.
A mobile robot equipped with load cells on trays to detect food position, weight, and center of gravity, adjusting movement speed and route to stabilize delivery.
Stable food delivery is ensured by detecting tray placement and adjusting speed and route, preventing spills and ensuring efficient service.
Smart Images

Figure 2026524792000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a mobile robot for food delivery and an operation method thereof, and more specifically, to a mobile robot for food delivery that can stably deliver an object ordered by a customer and an operation method thereof.
Background Art
[0002] In recent years, in stores that provide person-to-person services such as restaurants, cafes, and bakeries, the provision of services using food delivery robots has been increasing. The food delivery robot transports the food ordered by the customer to the table and collects the empty dishes on the table instead of the store employees.
[0003] Various studies have been conducted to provide more stable and convenient services using such food delivery robots.
[0004] For example, Korean Registered Patent No. 10-2446843 (hereinafter referred to as "Prior Art 1") discloses that the height of the horizontal support base of the tray of the food delivery robot can be adjusted and has a pull-out structure.
[0005] Also, for example, Korean Registered Patent No. 10-2465049 (hereinafter referred to as "Prior Art 2") discloses a technique for facilitating food delivery and clearing by enabling the food delivery robot to recognize the height of the table and move the tray in or out.
[0006] However, Prior Art 1 and Prior Art 2 are aimed at eliminating the inconvenience of the customer moving the tray with the food to the table by themselves, and when the food delivery robot moves to deliver food including liquids such as soup, it cannot solve the problems such as the object falling or the soup spilling.
Summary of the Invention
Problems to be Solved by the Invention
[0007] The present invention aims to solve the aforementioned problems and other problems.
[0008] According to some embodiments of this disclosure, the objective is to provide a mobile robot for serving food and a method of operating the same, which can detect the position of the food to be served on a tray and serve the food in a way that prevents the contents of the food from spilling or leaking out.
[0009] Furthermore, according to some embodiments of this disclosure, the objective is to provide a mobile robot for serving food and a method for operating it that can detect when the food to be served is unevenly placed and serve the food while taking into account the direction in which the center of gravity is unevenly distributed.
[0010] Furthermore, according to some embodiments of the present invention, the objective is to provide a mobile robot for serving food and a method for operating the same, which efficiently applies an algorithm according to the purpose of moving the food to be served. [Means for solving the problem]
[0011] Therefore, the mobile robot for serving food according to the present invention can independently detect whether or not the food to be served has been placed on its tray.
[0012] Furthermore, the mobile robot used for serving food can accurately recognize the position of the food to be served on one of several trays of different heights and adjust its movement speed accordingly, thereby enabling more stable serving.
[0013] Furthermore, the mobile robot for serving food can determine the weight of the food to be served and whether the food is not placed in the center of the tray but is biased to one side. If it is determined that the food is biased to one side, the robot can take into account the direction in which the center of gravity is shifted when serving the food.
[0014] Specifically, the mobile robot for serving food according to an embodiment of the present invention includes: at least one tray on which food to be served is placed, arranged in the housing space of the mobile robot's body; a plurality of load cells arranged on the at least one tray; a running unit arranged at the bottom of the body for moving the mobile robot; and a control unit that is communicatively connected to the plurality of load cells and the running unit. The control unit can determine whether food to be served is placed on the at least one tray based on sensing values detected by the plurality of load cells, and can control the running unit to change the speed of movement of the mobile robot based on that determination.
[0015] According to the embodiment, the control unit reduces the movement speed of the mobile robot from a reference speed based on the determination that an object to be served has been placed on the at least one tray, and the degree of reduction in the movement speed may vary depending on the height at which the at least one tray is provided.
[0016] According to the embodiment, the at least one tray includes a plurality of trays having different heights from each other from the bottom frame of the body, and the plurality of load cells are arranged on the left and right sides of each of the plurality of trays. In this case, the control unit can determine the position of the tray on which the food to be served is placed based on the sensing values of the plurality of load cells arranged in each of the plurality of trays, and can change the degree of reduction of the moving speed based on the determined position of the tray.
[0017] According to the embodiment, the control unit calculates the weight of an object placed on a tray based on the sum of the sensing values of first and second load cells located on the left and right sides of each of the plurality of trays, and can set different degrees of reduction in the movement speed of the mobile robot based on the calculated weight and the determined position of the tray.
[0018] According to the embodiment, the control unit can increase the degree to which the mobile robot's movement speed is reduced as the position of the tray, which is determined to have a calculated weight exceeding a reference value, becomes higher.
[0019] According to the embodiment, the control unit can determine whether there is any bias in the serving items placed on the trays based on the difference in sensing values of the first and second load cells located on the left and right sides of each of the plurality of trays, and set a serving route based on the determination.
[0020] According to the embodiment, the control unit can set a serving path that prioritizes left rotation based on the determination that the serving items placed on the tray are biased to the left, based on the difference in sensing values of the first and second load cells. Alternatively, it can set a serving path that prioritizes right rotation based on the determination that the serving items placed on the tray are biased to the right, based on the difference in sensing values of the first and second load cells.
[0021] According to the embodiment, the mobile robot may further include IMU sensors positioned on its body, and the control unit may, while serving food at a modified speed according to the decision that food to be served has been placed on a tray, detect fault elements by combining the sensing values of the IMU sensors based on the detection of a change in sensing values detected by the plurality of load cells that exceeds a reference value, and update the map to display the location of the detected fault elements.
[0022] According to the embodiment, the mobile robot may further include an input unit into which the purpose of moving the serving object is input, and the control unit may determine whether or not the serving object has been placed on the at least one tray based on the input purpose of movement and the sensing values detected by the plurality of load cells.
[0023] According to an embodiment, in response to a movement purpose for serving being input through the input unit, the control unit determines whether a meal service object is placed on the at least one tray based on sensing values detected by the plurality of load cells. Further, in response to a movement purpose for clearing the table being input through the input unit, the control unit can determine that no meal service object is placed on the at least one tray.
[0024] Furthermore, the operation method of the mobile robot for meal service according to an embodiment of the present invention can include the following steps. That is, the operation method includes receiving sensing values detected by a plurality of load cells arranged on at least one tray disposed in the accommodation space of the body of the mobile robot and on which a meal service object is placed; determining whether a meal service object is placed on the at least one tray based on the received sensing values; and changing the moving speed of the mobile robot based on the determination.
Advantages of the Invention
[0025] The effects of the mobile robot for meal service and its operation method according to the present invention will be described as follows.
[0026] According to the mobile robot for meal service and its operation method according to some embodiments of the present invention, the mobile robot for meal service can detect the position of the meal service object placed on the tray by itself, and by changing the moving speed or the meal service route so that the contents of the meal service object do not flow out or spill, the meal service object can be provided to the ordered customer more stably.
[0027] Also, according to the mobile robot for meal service and its operation method according to some embodiments of the present invention, even when the meal service object is placed biased to one side, it can detect this by itself, and by changing the meal service route so as to rotate in the direction in which the center of gravity is biased, it is possible to prevent a state deformation of the meal service object in advance.
[0028] Also, according to the mobile robot for meal delivery and its operation method according to some embodiments of the present invention, in the case of food, etc., by distinguishing between the input for meal delivery and the input for clearing the table and determining whether the algorithm can be executed, it is configured to enable high-speed movement when clearing the table. As a result, efficient operation is possible.
Brief Description of the Drawings
[0029] [Figure 1] It is an exemplary diagram of a mobile robot for meal delivery according to an embodiment of the present invention. [Figure 2] It is an exemplary block diagram for explaining the detailed configuration of a mobile robot for meal delivery according to an embodiment of the present invention and the state in which the mobile robot communicates with a server and a customer tablet. [Figure 3] It is an exemplary diagram for explaining the stability of each tray during traveling for meal delivery according to an embodiment of the present invention. [Figure 4] It is a typical flowchart for explaining the operation method of a mobile robot for meal delivery according to an embodiment of the present invention. [Figure 5a] It is an exemplary diagram for explaining that the traveling speed is changed so as to be different for each tray on which a meal delivery object is placed according to an embodiment of the present invention. [Figure 5b] It is an exemplary diagram for explaining that the traveling speed is changed so as to be different for each tray on which a meal delivery object is placed according to an embodiment of the present invention. [Figure 5c] It is an exemplary diagram for explaining that the traveling speed is changed so as to be different for each tray on which a meal delivery object is placed according to an embodiment of the present invention. [Figure 6a] It is an exemplary diagram for explaining detecting the bias of a meal delivery object using a load cell and changing the meal delivery route based on this according to an embodiment of the present invention. [Figure 6b] It is an exemplary diagram for explaining detecting the bias of a meal delivery object using a load cell and changing the meal delivery route based on this according to an embodiment of the present invention. [Figure 7]This is an illustrative diagram illustrating how, according to an embodiment of the present invention, a load cell is used to detect the bias of the food to be served, and the serving route is changed based on this. [Figure 8a] This is an illustrative diagram illustrating how, according to an embodiment of the present invention, a load cell is used to detect the bias of the food to be served, and the serving route is changed based on this. [Figure 8b] This is an illustrative diagram illustrating how, according to an embodiment of the present invention, a load cell is used to detect the bias of the food to be served, and the serving route is changed based on this. [Figure 9] This is an operation flowchart illustrating a method for applying obstacle elements detected using a load cell while traveling along a delivery route to a map, according to an embodiment of the present invention. [Figure 10] This is another operation flowchart for a method of determining whether the travel speed and delivery route for food delivery can be changed, according to an embodiment of the present invention. [Modes for carrying out the invention]
[0030] The embodiments disclosed herein will be described in detail below with reference to the drawings, but regardless of the reference numerals used in the drawings, identical or similar components will be given the same reference numerals and redundant descriptions will be omitted. The suffixes “module” and “part” used for components in the following description are added or used interchangeably solely for the ease of writing this specification and do not have any distinguishing meaning or role in themselves. Furthermore, in describing the embodiments disclosed herein, if it is determined that a specific description of the relevant prior art may obscure the gist of the embodiments disclosed herein, the detailed description will be omitted. In addition, the accompanying drawings are provided to facilitate an understanding of the embodiments disclosed herein and should be understood that the technical ideas disclosed herein are not limited by the accompanying drawings and include all modifications, equivalents or substitutes that fall within the concept and technical scope of the present invention.
[0031] Terms such as "First," "Second," etc., are used to describe the various components of the embodiment. However, the interpretation of these components should not be limited by these terms. Such terms are merely used to distinguish one component from another.
[0032] When it is mentioned that one component is “linked” or “connected” to another component, it should be understood that this means it is directly linked or connected to that other component, but also includes cases where another component is interposed between them. On the other hand, when it is mentioned that one component is “directly linked” or “directly connected” to another component, it should be understood that there is no other component interposed between them.
[0033] A singular expression includes plural forms unless the context clearly indicates otherwise.
[0034] Furthermore, in this specification, terms such as “includes” or “having” merely specify the presence of features, figures, stages, operations, components, parts, or combinations thereof as described in the specification, and should be understood not to preemptively exclude the possibility of the presence or addition of one or more other features, figures, stages, operations, components, parts, or combinations thereof.
[0035] In this specification, "mobile robot for serving food" means a machine that can autonomously navigate within a predetermined map space and serve or clear food. The mobile robot for serving food can perform one or more tasks from among picking food to be served, delivering food to its destination, and setting food on the order table. Furthermore, in this specification, "serving robot" is used with the same concept as the mobile robot for serving food described above.
[0036] In this specification, "objects to be served" are described using examples of food that may or may not include soup, taking into account serving and clearing the table, but are not necessarily limited to these examples. For example, objects to be served can include not only food, but also various goods, plants, animals, etc.
[0037] Figure 1 is an illustrative diagram of a mobile robot 100 for serving food according to an embodiment of the present invention, for example, a serving robot for serving and clearing food.
[0038] Referring to Figure 1, the mobile robot 100 for serving food comprises a head unit and a body unit 101. The head unit may include a touchable display unit 150. The body unit 101 may include a storage unit that houses a tray 115 on which the food to be served is placed, and a travel unit 140 for moving the mobile robot.
[0039] Although not shown in the figures, the head unit or body unit 101 may further include one or more camera sensors (e.g., a 3D stereo camera, a SLAM camera) for determining its own position, a microphone for receiving sound, acoustic output means (e.g., a speaker) for outputting sound, one or more obstacle sensors related to driving, and so on.
[0040] Although not shown in the diagram, a rechargeable battery and terminals for supplying power to the mobile robot 100 may be provided at the lower part of the body 101, for example, behind the running section 140.
[0041] The upper module of the body section 101 has one or more trays 115a, 115b, and 115c arranged in the storage area at different heights. The lower module of the body section 101 has a drive unit 140 that is detachable from each other and provides a driving function.
[0042] The running unit 140 can move the mobile robot 100 by having multiple drive wheels and casters in uniform contact with the floor surface, and by having the multiple drive wheels rotate as rotational force is supplied from the drive motors.
[0043] The tray 115 can be configured to include multiple trays. Each of the trays 115a, 115b, and 115c can be used to place food to be served.
[0044] The top of each of the trays 115a, 115b, and 115c may be coated with a material that can prevent the food being served from tipping over or sliding, or a cover may be placed on top of each tray.
[0045] Each of the trays 115a, 115b, and 115c can be retracted and pulled out along guide rails provided on both the left and right sides.
[0046] Each of the trays 115a, 115b, and 115c may be equipped with multiple load cells or other weight sensors to sense the load of the object placed on it. Specifically, the multiple load cells may be installed on the left and right bottom surfaces of each of the trays 115a, 115b, and 115c, or adjacent to each guide rail.
[0047] When the mobile robot 100 receives sensing values corresponding to loads from the weight sensors, it can identify the position of the tray that matches each of the weight sensors. Here, the position of the tray that matches the received sensing value refers to the position in which the tray is lifted relative to the bottom frame of the running section 140 or the bottom of the upper module of the body section 101, i.e., its height.
[0048] Each of the trays 115a, 115b, and 115c can be arranged to have different heights from each other. For example, as shown in Figure 1, the first tray 115a may be located at a first height, the second tray 115b at a second height lower than the first height, and the third tray 115c at a third height even lower than the first and second heights.
[0049] The vertical spacing between trays 115a, 115b, and 115c may be the same as shown in Figure 1, but is not limited to this. For example, trays 115a, 115b, and 115c can be arranged to have different vertical spacings from each other to accommodate serving items of various heights.
[0050] The mobile robot 100 can detect when an object is placed on each of the trays 115a, 115b, and 115c, and can output guidance information (for example, a voice guidance message) to guide the object to the center.
[0051] Additional monitoring means, such as a camera, may be provided on the body 101 for visually confirming the objects placed on trays 115a, 115b, and 115c.
[0052] The mobile robot 100 can control its travel unit 140 and perform travel operations in accordance with serving / removal commands. For example, when an item to be served is placed on one of the trays 115a, 115b, or 115c and a serving / removal input is received, the mobile robot 100 can start traveling according to a set serving route.
[0053] The mobile robot 100 can determine the position, weight, and distribution of the food to be served on trays 115a, 115b, and 115c according to the embodiments of this disclosure, and can change the moving speed for serving or change the serving route in accordance with that determination.
[0054] Figure 2 is an illustrative block diagram illustrating the detailed configuration of a mobile robot for food delivery according to an embodiment of the present invention, and how the mobile robot communicates with a server and a customer tablet.
[0055] Referring to Figure 2, the mobile robot 100 for serving food can be connected to a server 200 and communicate with a customer tablet 300 via the server 200.
[0056] The mobile robot 100 may be configured to include a communication module 110, a sensor 120, a control unit 130, a driving unit 140, a display unit 150, and a memory 160. However, in some embodiments, the mobile robot 100 may include more or fewer components than those described herein.
[0057] The server 200 can receive order information input via customer tablets 300 placed at each table in the store. Here, the customer tablets 300 can be replaced with kiosks or the like installed at predetermined locations in the store. The order information input may include information about the customer's table number and ordered dishes (for example, table number #2, ordered dishes: A, B, C, etc.).
[0058] The mobile robot 100 can communicate with the server 200 via the communication module 110 and be provided with order information input.
[0059] The communication module 110 may include one or more modules that enable wireless communication between the mobile robot 100 and an external server 200, such as a control server or an external terminal. The communication module 110 may also include one or more modules that connect the mobile robot 100 to one or more networks.
[0060] The communication module 110 can communicate with artificial intelligence servers and the like using wireless internet communication technologies such as WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), WiBro (Wireless Broadband), WiMAX (World Interoperability for Microwave Access), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), and LTE-A (Long Term Evolution-Advanced). Furthermore, the communication module 110 can communicate with external terminals and the like using short-range communication technologies such as Bluetooth (registered trademark), RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, and NFC (Near Field Communication).
[0061] One or more order information input data received from server 200 can be stored in memory 160. In this case, the order information input data may be in a data format in which table numbers and ordered dishes are matched as pairs.
[0062] In this case, after the ordered dishes are cooked and placed on the tray of the mobile robot 100 for serving, the table number is entered, and information about the ordered dishes matching that number can be recognized. At this time, the recognized information about the ordered dishes can be compared with the information about items requiring special attention during serving stored in memory 160.
[0063] If, as a result of the comparison, it is determined that the information regarding the recognized ordered dish is included in the serving-time attention-requiring information stored in memory 160, the embodiment according to this disclosure can be configured to be executed.
[0064] If the comparison determines that the information regarding the recognized ordered dish is not included in the serving-time attention-requiring information stored in memory 160, the embodiment of this disclosure may be operated to not be performed, or to perform only some of the operations.
[0065] The sensor 120 is positioned close to the tray and may include a weight sensor, such as multiple load cells, to detect the load on the tray.
[0066] In addition to the aforementioned weight sensor, sensor 120 may include one or more sensors for sensing at least one of the following: information within the mobile robot, information about the surrounding environment of the mobile robot, and user information. For example, sensor 120 may include at least one of the following: proximity sensor, illumination sensor, touch sensor, acceleration sensor, magnetic sensor, gravity sensor (G-sensor), gyroscope sensor, motion sensor, RGB sensor, infrared sensor (IR sensor), fingerprint recognition sensor, ultrasonic sensor, optical sensor (e.g., camera, microphone, battery gauge), environmental sensor (e.g., barometer, hygrometer, thermometer, radiation detection sensor, heat detection sensor, gas detection sensor, etc.), and chemical sensor (e.g., electronic nose, healthcare sensor, biorecognition sensor, etc.).
[0067] The control unit 130 of the mobile robot 100 can receive sensing values from a sensor 120, such as a load cell, and determine whether or not an object to be served has been placed on the corresponding tray.
[0068] Based on the above decision, the control unit 130 can control the travel unit 140 to adjust the travel speed during meal delivery or to change the meal delivery route.
[0069] The driving unit 140 moves and rotates the mobile robot 100 body. Therefore, the driving unit 140 can be composed of multiple drive wheels, drive motors, and multiple casters. The driving of the driving unit 140 is controlled according to control commands received by the control unit 130, and notifications can be provided before and after driving using light output means such as LEDs.
[0070] Based on the determination and the sensing values of the load cell 120, the control unit 130 can recognize the placement, placement position (e.g., tray number), weight, and bias of the serving items, and display visual information related to at least one of these on the display unit 150.
[0071] Memory 160 can store map data corresponding to the space in which the mobile robot 100 travels. Memory 160 can also store identification information for the load cell 120 and corresponding tray identification information / position information. Furthermore, memory 160 can store information, matched for each tray, regarding the degree of reduction in travel speed relative to the reference travel speed, based on the aforementioned determination.
[0072] The display unit 150 can be realized in the form of a touchscreen by forming a layered structure with the touch sensor or by being formed as an integrated unit. Such a touchscreen can function as a user input unit that provides an input interface between the mobile robot 100 and the user, and at the same time provide an output interface.
[0073] The control unit 130 may include a learning processor (not shown) to perform actions related to the artificial intelligence technology of the mobile robot 100.
[0074] A learning processor can train one or more models composed of artificial neural networks using training data. A learning processor can be configured to receive, classify, store, and output information used for data mining, data analysis, intelligent decision-making, and machine learning algorithms and techniques. A learning processor can be integrated into a mobile robot or include memory.
[0075] The memory 160 may include, for example, at least one type of storage medium, such as flash memory type, hard disk type, SSD type (Solid State Disk type), SDD type (Silicon Disk Drive type), multimedia card micro type, card type memory (e.g., SD or XD memory), RAM (random access memory), SRAM (static random access memory), ROM (read-only memory), EEPROM (electrically erasable programmable read-only memory), PROM (programmable read-only memory), magnetic memory, magnetic disk, and optical disk.
[0076] In addition to operations related to the aforementioned application, the control unit 130 typically controls the overall operation of the mobile robot 100. The control unit 130 can provide or process appropriate information or functions to the user by processing signals, data, information, etc. that are input or output via the aforementioned components, by launching applications stored in the memory 160, or by controlling the travel unit 140.
[0077] At least some of the aforementioned components can work in cooperation with each other to realize the operation, control, or control method of the mobile robot 100 for serving food according to the various embodiments described below. Furthermore, the operation, control, or control method of the mobile robot 100 can be realized on the mobile robot by activating at least one application stored in the memory 160.
[0078] Furthermore, the various embodiments disclosed below can be implemented, for example, using software, hardware, or a combination thereof, on a recording medium readable by a computer or similar device.
[0079] A mobile robot 100 for serving food according to an embodiment of the present invention can determine whether or not food to be served has been placed on at least one tray based on sensing values detected by a plurality of load cells placed on at least one tray on which food to be served is placed. The mobile robot 100 can control its travel unit 140 to change its travel speed based on this determination.
[0080] Based on the determination that at least one tray has food to be served, the control unit 130 can control the travel unit 140 to reduce the travel speed of the mobile robot 100 from the reference speed.
[0081] In this case, the degree to which the movement speed is reduced can vary depending on the height at which the at least one tray is installed.
[0082] For example, when food is placed on the first tray 115a, which is positioned at the highest point from the bottom frame, the moving speed can be reduced to a first level (e.g., 70%) from the standard value. When food is placed on the second tray 115b, which is located between the third tray 115c, which is positioned at the lowest point from the bottom frame, and the first tray 115a, the moving speed can be reduced to a second level (e.g., 80%), which is lower than the first level. In this case, the first level represents a larger reduction than the second level. Furthermore, when food is placed on the third tray 115c, which is positioned at the lowest point from the bottom frame, the moving speed can be reduced to a third level (e.g., 90%), which is lower than the second level. Here, the third level represents a smaller reduction than the first and second levels, and can be said to represent the smallest reduction in moving speed.
[0083] Figure 3 is an illustrative diagram illustrating the stability of each tray during transport for serving, according to an embodiment of the present invention.
[0084] As shown in the figure, the body of the mobile robot 100 can be fitted with a plurality of trays 115a, 115b, and 115c arranged at different heights from each other. The mobile robot 100 starts moving M for serving / removing food with food to be served placed on at least one of the trays 115a, 115b, and 115c.
[0085] When the mobile robot 100 moves M, different centrifugal forces are generated in each of the multiple trays 115a, 115b, and 115c, which are positioned at different heights from one another.
[0086] Specifically, the largest left-right centrifugal forces CF1(L) and CF1(R) are generated in the first tray 115a, which is positioned at the highest point. Then, the left-right centrifugal forces CF2(L) and CF2(R) of the second tray 115b and the left-right centrifugal forces CF3(L) and CF3(R) of the third tray 115c are generated in magnitudes corresponding to the height of each tray.
[0087] In other words, the higher the tray is positioned, the greater the centrifugal force acting on it. This means that when food is placed on a tray positioned at a high position (apart from the ease of placing the food for serving / removing), the stability of movement M decreases even further.
[0088] This means that, especially when the food to be served on the tray includes soup, care must be taken to prevent spills or other liquids from occurring when the mobile robot 100 moves M.
[0089] Figure 4 is a typical flowchart illustrating the operation method of a mobile robot for serving food according to an embodiment of the present invention. Unless otherwise stated, each step of the operation method shown in Figure 4 is performed by the control unit 130 (or controller / processor) of the mobile robot 100.
[0090] Referring to Figure 4, the mobile robot 100 for serving food according to an embodiment of the present invention is configured to receive sensing values detected by a plurality of load cells arranged on at least one tray on which the food to be served is placed (410).
[0091] Therefore, the storage space in the body of the mobile robot 100 accommodates at least one tray on which the food to be served is placed. Load cells capable of sensing the load are positioned on both sides of at least one tray.
[0092] A load cell is a transducer used to measure force or load, and when subjected to a load, it undergoes deformation such as compression or extension. This deformation of the load cell is detected as an electrical signal and transmitted to the control unit 130. The control unit 130 of the mobile robot 100 converts this detected electrical signal into a digital signal to recognize the load of the object to be served, and can output this as a numerical value if necessary.
[0093] In the embodiments disclosed herein, it is assumed that the load cells are arranged on both sides (i.e., left and right) of the tray, but this is not limited to this arrangement. For example, three or more load cells may be arranged on the tray to sense the load, or other weight sensors may be used instead of load cells.
[0094] The mobile robot 100 can receive sensing values from load cells for each of the multiple trays and can distinguish and recognize the left-side sensing value and the right-side sensing value of each tray. As a result, the mobile robot 100 can recognize the position of the tray that matches the received sensing value, more specifically, the position of the load cell placed in that tray.
[0095] Next, the mobile robot 100 can determine whether or not an item to be served has been placed on the tray based on the sensing values of the multiple load cells received (420). In the embodiment, if the mobile robot 100 is configured to include multiple trays and a load cell is placed on each of the multiple trays, it is possible to determine whether or not an item to be served has been placed on each tray.
[0096] For example, when food is placed on a tray, load cells positioned on both sides of the tray receive the load and receive a sensing value corresponding to the amount of deformation. On the other hand, when no food is placed on the tray, the amount of deformation is received as "0" or a similar sensing value. Therefore, the control unit of the mobile robot 100 can determine whether or not food has been placed on the tray based on the sensing value and can recognize the position of the tray on which food has been placed.
[0097] According to the embodiment, when it is detected that an item to be served has been placed on the tray of the mobile robot 100, the control unit 130 of the mobile robot 100 can generate a serving start signal and execute an operation. For example, if an employee in the store simply places the food ordered by a customer on the tray of the mobile robot 100, the mobile robot 100 can automatically perform an operation to inquire whether to start serving.
[0098] Next, the mobile robot 100 can adjust its movement speed based on the determination of whether or not an object to be served has been placed on at least one tray (430).
[0099] Specifically, once it is determined, based on the load cell sensing values, that at least one tray has been placed with food to be served, the mobile robot's movement speed can be reduced based on the position of the tray on which the food to be served is placed.
[0100] In some embodiments, the mobile robot 100 can increase the degree of reduction in its movement speed as the position of the tray rises higher from the bottom frame of the mobile robot 100.
[0101] For example, suppose the mobile robot 100 includes multiple trays set at different heights, and the food to be served can be placed on any of these trays. In this case, the higher the tray on which the food to be served is placed, the greater the degree to which the movement speed can be reduced in order to ensure stability.
[0102] Furthermore, in some embodiments, the heavier the serving items placed on the tray, the greater the reduction in movement speed. Therefore, the weight of the items placed on the tray can be calculated based on the sum of the sensing values of the first and second load cells located on the left and right sides of each of the one or more trays of the mobile robot 100.
[0103] For example, comparing the case where a 1000g load of food is placed on a tray at the same position with the case where a 2000g load of food is placed on the tray, the latter can be adjusted to move at a reduced speed.
[0104] Furthermore, in some embodiments, the degree to which the mobile robot 100's movement speed is reduced can be set differently based on the combination of the calculated weight and the position of the tray.
[0105] Furthermore, in some embodiments, the degree of reduction in movement speed can be increased based on the specific characteristics of the serving items placed on the tray. Here, the specific characteristics of the serving items refer to items that include pre-defined stability-inducing elements, such as the serving items containing liquids or having shapes that are easily tipped over (e.g., tall, slender bottles, containers with narrow bases, etc.). Such specific characteristics of the serving items can be monitored, for example, by sensors that can visually confirm the serving items placed on the tray (e.g., camera sensors, lidar sensors, distance sensors, etc.) or by tagging.
[0106] The mobile robot 100 according to this embodiment can change the degree of reduction in its movement speed depending on the height at which the tray is installed, based on the determination that at least one tray has an object to be served on it. This will be explained in more detail below with reference to Figures 5a to 5c.
[0107] Figures 5a, 5b, and 5c are illustrative diagrams illustrating how, according to an embodiment of the present invention, the travel speed is changed to be different for each tray on which the food to be served is placed.
[0108] The storage space in the body of the mobile robot 100 accommodates one or more trays. Load cells are placed on both sides of each of the one or more trays. The control unit 130 can monitor the load on each tray based on the sensing values of the multiple load cells placed on each of the multiple trays.
[0109] The higher the tray is positioned relative to the bottom frame of the mobile robot, the higher the center of gravity becomes, reducing stability during movement. In this embodiment of the present invention, in order to ensure the stability of the mobile robot during movement and to prevent problems such as spills of liquids, the system is configured to set different movement speeds for each tray.
[0110] Referring to Figure 5a, a storage space for accommodating multiple trays 115 is provided between the head section (the part where the display section 150 is located) and the running section 140 of the body of the mobile robot 100.
[0111] Multiple trays 115 can be configured as the first tray 115a, the second tray 115b, and the third tray 115c, in order of increasing height from the bottom frame of the running section 140. The illustrated first to third trays 115a, 115b, and 115c are arranged at the same interval, but this is not the only option. For example, the intervals between the first to third trays 115a, 115b, and 115c can be configured to be different in order to stably accommodate serving items of various heights.
[0112] Multiple load cells 120a, 120b, and 120c can be placed at the left and right bottom of each of the first to third trays 115a, 115b, and 115c.
[0113] For example, using a left-side reference, it could include a first load cell 120a(L) located at the bottom left of the first tray 115a, a second load cell 120b(L) located at the bottom left of the second tray 115b, and a third load cell 120c(L) located at the bottom left of the third tray 115c. Alternatively, using a right-side reference, it could include a fourth load cell 120a(R) located at the bottom right of the first tray 115a, a fifth load cell 120b(R) located at the bottom right of the second tray 115b, and a sixth load cell 120c(R) located at the bottom right of the third tray 115c.
[0114] In some embodiments, the number of load cells may be greater or less than those described above. In the former case, the additional load cells may be located at the center bottom of the tray. In the latter case, a single load cell may be located at the center bottom of each tray, but in this case, additional means may be required to calculate the left-right bias of the serving items, as described later.
[0115] Referring to Figures 5a to 5c, the degree to which the mobile robot's movement speed is reduced is applied differently depending on the position (i.e., height) of the tray on which the serving object (e.g., food) 50 is placed.
[0116] In the example above, when food 50 is placed on the first tray 115a, the load change amount is detected by the first and fourth load cells 120a to determine that food 50 has been placed on the first tray 115a. In this case, the food is served at a reduced travel speed of approximately 70% of the standard travel speed.
[0117] When food 50 is placed on the second tray 115b, the load change amount is detected by the second and fifth load cells 120b to determine that food 50 has been placed on the second tray 115b. In this case, the food is served at a reduced travel speed of approximately 80% of the standard travel speed.
[0118] When food 50 is placed on the third tray 115c, the load change amount is detected by the third and sixth load cells 120c to determine that food 50 has been placed on the third tray 115c. In this case, the food is served at a reduced travel speed of approximately 90% of the standard travel speed.
[0119] For example, if the standard travel speed set for the mobile robot 100 is 1 m / s, when food to be served is placed on the first tray 115a, the robot will decelerate to travel at 0.7 m / s. Then, when food to be served is placed on the second tray 115b and the third tray 115c, the robot will decelerate to travel at 0.8 m / s and 0.9 m / s, respectively, to serve the food.
[0120] Thus, the reason why the degree of reduction in movement speed increases with increasing height of the tray on which the food 50 is placed is that the centrifugal force increases and stability decreases as the height from the bottom frame of the running unit 140 increases. However, the aforementioned values for the standard movement speed and the degree of reduction in movement speed relative to the standard movement speed can be changed according to the environment of the store where the mobile robot serves food, the specifications of the mobile robot, user settings, etc.
[0121] The mobile robot 100 can determine whether or not a serving item has been placed on the matching tray, and calculate the weight of the serving item if it has been placed, based on the sensing values of multiple load cells 120.
[0122] Specifically, in the above embodiment, the weight of the food to be served placed on the tray can be calculated based on the sum of the sensing values of multiple load cells arranged on the left and right sides of each tray. For example, if load change amounts are received from each of the multiple load cells 120a arranged on both sides of the first tray 115a, and these correspond to 450g and 550g respectively, the weight of the food to be served placed on the first tray 115a is calculated as (450 + 550)g = 1000g. In some embodiments, the calculated weight of the food to be served and the identification information of the tray on which the food to be served is placed (e.g., tray number) can be displayed via the display unit 150 of the mobile robot 100.
[0123] In some embodiments, the degree of reduction in movement speed can be varied by considering both the calculated load of the serving object and the position (i.e., height) of the tray on which it is placed.
[0124] In some embodiments, the control unit 130 of the mobile robot 100 can adjust the degree to which the movement speed is changed based on the weight of the food being served.
[0125] Specifically, when it is determined that the serving food is placed on the second tray 115b and the moving speed is reduced to approximately 80% of the standard speed, the moving speed can be further reduced in proportion to the weight of the serving food. For example, if the weight of the food placed on the second tray 115b is 1000g, the moving speed is reduced to 80% of the standard value, and if it exceeds this (e.g., 1500g), the moving speed can be reduced to (80 - constant value)% of the standard value. In this case, the constant value increases in proportion to the weight of the serving food, but can be determined by considering the level at which the serving food is placed on the first tray (e.g., constant value <= 5).
[0126] In some embodiments, the control unit 130 of the mobile robot 100 can increase the degree to which the mobile robot 100's movement speed is reduced as the position of the tray where the weight of the food to be served, calculated based on the sum of the load cell sensing values, is determined to exceed a reference value, increases.
[0127] Figures 6a, 6b, 7, 8a, and 8b are illustrative diagrams illustrating how, according to an embodiment of the present invention, a load cell is used to detect the bias of the food to be served, and the serving route is changed based on this.
[0128] In the mobile robot for serving food according to an embodiment of the present invention, load cells are arranged on both sides of each of the multiple trays. In this case, the weight on the tray on which the food to be served is placed is determined by the sum of the sensing values of the load cells arranged on both sides of the tray, i.e., the first and second load cells (for example, the left load cell and the right load cell).
[0129] On the other hand, although the serving items are guided to be placed in the center of the tray, they may sometimes be placed unevenly on either the left or right side of the tray. If the serving items are placed unevenly on one side during serving, the center of gravity of the mobile robot 100 will shift to one side, which may cause the contents to deform, such as spills of liquids, during movement.
[0130] In some embodiments of the present invention, the control unit 130 of the mobile robot 100 for serving food can determine whether the food to be served is biased to one side based on the difference between the sensing values of a plurality of load cells arranged on both sides of the tray on which the food to be served is placed.
[0131] The control unit 130 can determine the left-right bias based on the difference in sensing values between the load cells located on the left and right sides of the tray. For example, if the difference in sensing values between the left and right load cells of the second tray is 100g, it can be determined that there is a left-right bias.
[0132] Furthermore, the control unit 130 can determine the direction in which the food is biased (or tilted) by comparing the magnitudes of the sensing values of multiple load cells arranged on both sides of the tray on which the food is placed.
[0133] Specifically, the control unit 130 can calculate the direction and degree of bias based on the magnitude of the sensing values of each load cell located on the left and right sides of the tray. For example, if the sensing value of the left load cell of the second tray is 500g and the sensing value of the right load cell is 400g, it can be calculated that there is a bias to the left, with a bias of about 100g occurring.
[0134] In this case, the control unit 130 can set different serving routes based on the direction in which the serving items are biased, in order to serve the items more stably.
[0135] Specifically, the control unit 130 can determine that the food items on the tray are biased to the left based on the difference in sensing values of multiple load cells placed on both sides of the tray on which the food items are placed, and can set a serving path that prioritizes left rotation.
[0136] Alternatively, the control unit 130 can determine that the food placed on the tray is biased to the right based on the difference in sensing values of multiple load cells arranged on both sides of the tray on which the food to be served is placed, and set a serving path that prioritizes right rotation.
[0137] This prevents problems such as food rolling off or liquids spilling, even when the mobile robot 100 is moving with the food being served unevenly placed on the tray.
[0138] Referring to Figures 6a and 6b, if the serving object, such as food 50R, placed on the first tray 115a of the mobile robot 100 is biased to the right, the right-hand load cell will bear a greater load than the other load cells 120a located on either side of the first tray 115a. For example, as shown in Figure 6b, the load 604 corresponding to the sensing value of the left-hand load cell (i.e., the first load cell 120a(L)) of the first tray 115a is "547g", and the load 605 corresponding to the sensing value of the right-hand load cell (i.e., the fourth load cell 120a(R)) is "579g". The sum of these loads 604 and 605 is shown as the serving object load 603, "1126g", and the difference indicates that the load of the serving object is biased to one side, particularly to the right.
[0139] In this case, a difference will occur in the centrifugal forces CF1(L) and CF1(R) generated in the first tray 115a when the mobile robot 100 is moving. Specifically, the right-side centrifugal force CF1(R) will be larger as the center of gravity shifts to the right. Here, the mobile robot 100 sets the serving path to execute the right-side rotation priority 602.
[0140] Right-hand rotation priority 602 means that if there are multiple directions the mobile robot can choose to move toward the serving table, the mobile robot 100 will prioritize selecting a path that rotates to the right. However, if there are no multiple directions to choose from and the robot must rotate to the right due to the shift in its center of gravity, it may operate to rotate to the right at a speed slower than the reference rotation speed at the point of rotation.
[0141] On the other hand, although not shown in the diagram, if the serving items placed on the first tray 115a of the mobile robot 100 are biased to the left, the left load cell among the multiple load cells 120a arranged on both sides of the first tray 115a will receive more load.
[0142] In this case, a difference will occur in the centrifugal forces CF1(L) and CF1(R) generated on the first tray 115a when the mobile robot 100 is moving. That is, the center of gravity will be shifted to the left, and the left-side centrifugal force CF1(L) will become larger. Here, the mobile robot 100 sets the serving path to prioritize leftward rotation.
[0143] A left-turn priority path means that, when there are multiple directions the mobile robot can choose to move towards the serving table, the mobile robot 100 will prioritize selecting a path that rotates to the left. However, if there are no other directions to choose from and the robot must rotate to the left due to the shift in its center of gravity, it can operate to rotate to the left at a speed slower than the reference rotation speed at the point of rotation.
[0144] Figure 7 shows an example where the center of gravity of the mobile robot 100 is determined to be biased to the left, and a left-rotation-prioritizing path is generated. For example, let's assume there are multiple paths from the starting position 710 to the destination 720, which is the order table. In this case, when there is no load, the robot moves along the shortest path 701, and when there is a load on the left side, the setting can be changed to a left-rotation-prioritizing path 702. The serving path in Figure 7 is simplified for illustrative purposes, but the actual map of the space in which the mobile robot 100 serves food may be more complex.
[0145] In accordance with the embodiment, Figures 8a and 8b illustrate how both the movement speed and movement path are adjusted considering both the position of the food to be served on the tray and the position (i.e., height) of the tray.
[0146] First, referring to Figure 8a, if the serving object 50R is placed on the third tray 115c with an imbalance to the right, a rightward shift in the center of gravity 801 is detected through the difference in sensing values of multiple load cells 120c located on both sides of the third tray 115c. This rightward shift in the center of gravity 801 causes a difference in the left and right centrifugal forces CF3(L) and CF3(R). In some cases, the display unit 150 can display visual information to inform the user of the imbalance in the serving object and guide them to reposition it.
[0147] In this case, the mobile robot 100 can generate a path with right-facing priority rotation 811 based on the detected rightward bias and control the travel unit 140 to travel along the modified path. At this time, the travel speed is reduced to a degree corresponding to the position of the third tray 115c, for example, to about 90% of the reference travel speed, to travel along the modified path.
[0148] Furthermore, referring to Figure 8b, if the serving object 50R is placed biased to the left side of the third tray 115c, the leftward bias 802 of the center of gravity is recognized through the difference in sensing values of multiple load cells 120c located on both sides of the third tray 115c. The leftward bias 802 of the center of gravity causes a difference in the left and right centrifugal forces CF3(L) and CF3(R). In some cases, the display unit 150 can display visual information to inform the user of the bias of the serving object and guide them to reposition it.
[0149] In this case, the mobile robot 100 can generate a path with left-facing priority rotation 812 based on the recognized leftward bias and control the travel unit 140 to travel along the modified path. At this time, the travel speed is reduced to a level corresponding to the position of the third tray 115c, for example, to about 90% of the reference travel speed, to travel along the modified path. This makes it possible to simultaneously achieve optimization of travel speed and optimization of the serving path.
[0150] Furthermore, although not shown in the diagram, depending on the difficulty of the serving route, the items may be placed in the center at the start of serving, but may become biased to one side during serving. For example, if there are large bumps or steps on the bottom surface, the items to be served may move as they pass over these, potentially causing a bias during serving.
[0151] The mobile robot 100 can receive changes in the sensing values of multiple load cells placed on each tray while it is moving during food delivery. If the amount of change exceeds a reference value and the difference between the multiple sensing values is maintained for a certain period of time or longer, it can recognize the corresponding center of gravity deviation and the direction of the deviation.
[0152] If a shift in the center of gravity occurs during travel, and it is possible to change the route by prioritizing rotation in the direction of the shift, the delivery route will be changed again to ensure stable delivery.
[0153] On the other hand, at stages where it is difficult to change the serving route (for example, within a certain distance from the serving table), the current speed of movement can be reduced to a certain level to ensure stable serving. For example, if the items to be served are placed on the first table and become uneven while moving at a speed of 70% of the standard speed, the system could be designed to travel at a further reduced speed, for example, 60% of the standard speed.
[0154] Figure 9 is an operation flowchart illustrating a method for applying obstacle elements detected using a load cell while traveling along a delivery route to a map, according to an embodiment of the present invention.
[0155] Each step in the operation flowchart of Figure 9 may be executed by the control unit (or controller / processor) of the mobile robot 100 for serving food, or by the controller / processor of the server 200. Also, although it has been described that the map of the space in which the mobile robot 100 travels is provided and updated via the server 200, as shown in Figure 9, it is not limited to this. For example, the map may be learned by the control unit 130 of the mobile robot 100 and stored in the memory 160.
[0156] In this embodiment, the sensor 120 of the mobile robot 100 may include an IMU sensor located on one side of the body.
[0157] An IMU (Inerial Measurement Unit) sensor is a sensor that accurately measures the angle at which an object is tilted, and can be composed of, for example, a gyroscope, an accelerometer, and / or a geomagnetic sensor. If it consists only of a gyroscope, it is called a 6-axis sensor, and if it consists of a gyroscope, an accelerometer, and a geomagnetic sensor, it is called a 9-axis sensor. An IMU sensor can sense pitch, roll, and yaw rotations that rotate with respect to the x, y, and z axes, respectively. Here, the IMU sensor of the mobile robot 100 can sense the change in the z-axis rotation value that occurs when passing over uneven surfaces, steps, etc. on the bottom surface.
[0158] While the mobile robot 100 is moving, the control unit 130 can detect rotational changes in the x, y, and z axes via the IMU sensor, and recognize unevenness and steps on the floor.
[0159] The control unit 130 of the mobile robot 100 can detect changes in sensing values detected by multiple load cells that exceed a reference value, even while the robot is traveling at a modified speed based on the determination that at least one tray has been filled with food. In addition, the control unit 130 can detect changes in rotation that exceed a reference value, at least in the z-axis, via the sensing values of the IMU sensor.
[0160] In this case, the control unit 130 can detect new obstacle elements on the travel path based on the fact that the sensing values of multiple load cells (hereinafter referred to as "first sensing values") and the sensing values of the IMU sensor (hereinafter referred to as "second sensing values") have changed to or above a reference value.
[0161] In this context, detecting a fault element means detecting the position of the mobile robot 100 when changes exceeding the reference values of the first and second sensing values are detected.
[0162] The first and second sensing values refer to multiple sensing values collected in real time while the mobile robot 100 is moving. Therefore, the first sensing value can refer to a set of first sensing values, and the second sensing value can refer to a set of second sensing values.
[0163] In some embodiments, a set of sensing values from other sensors (e.g., a geomagnetic sensor) among the sensors 120 of the mobile robot 100, such as a third sensing value, can be further combined to detect new obstacle elements along the travel path.
[0164] The control unit 130 can update the map to display the locations of fault elements detected by the first and second sensing values (or a further combination of third sensing values). Such map updates can be performed in real time.
[0165] In this case, the control unit 130 can generate a detour route to the location while traveling for serving, or it can change the instantaneous speed of travel at the location (or a nearby location) (decelerate to the minimum speed).
[0166] For example, suppose the control unit 130 applies weight in the direction in which the tray's weight is applied and modifies the serving path to prioritize that direction (i.e., the direction in which the serving items are biased). In this case, if any obstacle elements such as bumps or steps are detected while the mobile robot 100 is traveling along the modified serving path that takes into account the biased direction of the serving items, these can also be modified and applied to the serving path in real time.
[0167] Thus, according to some embodiments of the present invention, the instantaneous change values of multiple load cells arranged on a tray and the sensing values of an IMU sensor can be used to mark the locations of steps and uneven surfaces in real time while serving food.
[0168] Referring to Figure 9, the mobile robot for serving food (hereinafter referred to as the "serving robot") 100 can receive map data relating to the space for serving food within the store from the server 200 (901). Here, the map data may be, for example, map data created by SLAM, but is not limited to this.
[0169] The serving robot 100 can determine its current location using the received map data and its own sensors.
[0170] The serving robot 100 determines whether or not food to be served has been placed on each tray 115a, 115b, 115c based on sensing values from multiple load cells placed on one or more trays 115a, 115b, 115c provided on its body (902). Specifically, the serving robot 100 can receive sensing values from load cells placed on both sides of each tray 115a, 115b, 115c to determine the position of the tray on which food to be served has been placed, the weight of the food to be served, the bias of the food to be served, and the direction of the bias.
[0171] Based on the above decision, the serving robot 100 changes and applies its movement speed when moving for serving (903). At this time, the degree to which the movement speed is changed differs depending on the position of the tray on which the food to be served is placed.
[0172] For example, when the food to be served is placed on the first tray, which is positioned highest from the bottom frame of the serving robot 100, the travel speed can be reduced to about 70% of the standard travel speed. On the other hand, when the food to be served is placed on the third tray, which is positioned closer to the bottom frame of the serving robot 100, the travel speed can be reduced to about 90% of the standard travel speed.
[0173] Furthermore, the serving robot 100 can set the serving path using a rotation path that prioritizes the direction of bias, taking into account the bias of the object to be served. For example, if it is determined that the object to be served is biased to the left based on the difference in left and right sensing values of multiple load cells, the serving path can be changed and applied to a left-priority rotation path.
[0174] The serving robot 100 can simultaneously apply changes to its movement speed in response to the placement of the serving items and changes to its path in response to the uneven distribution of the serving items. For example, if the serving items are placed on the first tray based on sensing values from multiple load cells and are biased to the right, the robot can reduce its movement speed to approximately 70% of the standard movement speed and travel along a right-side-priority turning path.
[0175] During travel for serving, the serving robot 100 monitors the sensing values of the sensor 120 in real time. When the serving robot 100 detects a change in the load cell sensing value that exceeds a reference value, it further combines this with the sensing values of the IMU sensor to detect a new fault element (904).
[0176] In other words, the serving robot 100 can detect new fault elements that were not previously displayed by combining the instantaneous change values of multiple load cells with the sensing values of the IMU sensor. The serving robot 100 can mark the locations corresponding to the detected fault elements on a map.
[0177] Next, the serving robot 100 can transmit location information corresponding to the detected fault element to the server 200 via the communication module 110, so that the map can be updated (905). For example, the server 200 can update the SLAM (simultaneously localization and mapping) map so that the location information corresponding to the received fault element is displayed.
[0178] The server 200 can update the map based on the location information corresponding to the received fault element and provide the updated map to the serving robot 100, for example, another serving robot (906). As a result, the serving robot 100 can then generate a route that avoids the relevant location.
[0179] In some embodiments, if it is difficult to set a serving route that avoids the marked location (i.e., if the serving route is set to include the marked location), the mobile robot can be controlled to travel at a speed slower than the reference speed when passing through that location. As a result, it can safely pass through the location without causing problems such as spills of liquids, at least at the marked location.
[0180] Figure 10 is another operation flowchart of a method for determining whether the travel speed and delivery route for food delivery can be changed, according to an embodiment of the present invention.
[0181] Each step of the operation shown in Figure 10 can be performed by the control unit (or controller / processor) of the mobile robot unless otherwise specified. Furthermore, some of the steps in Figure 10 can be selectively performed or omitted.
[0182] A mobile robot for serving food according to an embodiment of the present invention may include an input unit into which the purpose of moving the food to be served is input. The input unit is not limited to a specific input means and can be implemented in the form of various input means such as voice input means, touch input means (e.g., software buttons), push input means (e.g., hardware buttons).
[0183] For example, if the display unit 150 of the mobile robot 100 is implemented as a touchscreen, the mobile robot 100 can receive input regarding the purpose of moving the serving object via the display unit 150. Alternatively, for example, the mobile robot 100 can receive input regarding the purpose of moving the serving object by recognizing user voice received via its microphone (not shown).
[0184] In some embodiments, the control unit 130 of the mobile robot 100 can determine whether or not an object to be served has been placed on at least one tray 115a, 115b, or 115c based on the purpose of movement input via the input unit and sensing values detected by a plurality of load cells 120.
[0185] Specifically, in response to the input unit indicating that the purpose of movement is "serving" to the order table, the control unit 130 can determine whether or not the serving items (e.g., food) have been placed on trays 115a, 115b, and 115c based on sensing values detected by the multiple load cells 120.
[0186] The control unit 130 can determine that there are no serving items (e.g., food) on trays 115a, 115b, and 115c, in response to the input unit indicating that the purpose of movement is for "removing trays". In other words, it can choose not to execute the aforementioned algorithm regardless of (ignoring) the sensing values detected by the multiple load cells 120.
[0187] In some embodiments, if the control unit 130 determines that there are no serving items (e.g., food) on trays 115a, 115b, and 115c, a tray clearing algorithm can be applied for faster tray clearing.
[0188] Here, the tray-clearing algorithm may include an algorithm / command to increase the mobile robot 100's movement speed for tray clearance to a baseline value (i.e., the baseline travel speed when no food is placed on it) or higher. Alternatively, the tray-clearing algorithm may include an algorithm / command to change the mobile robot 100's movement path for tray clearance to the shortest path.
[0189] Referring to Figure 10, customers 350 in the store can enter order information via a tablet at their table (1001). The order information entered via the tablet is transmitted to a server 200 (e.g., a control server) that manages the order information. The order information may include the table number where the customer 350 is located and information about the ordered dishes.
[0190] The server 200 provides the received order information to the mobile robot 100 for serving food (hereinafter referred to as the "serving robot") (1002).
[0191] Here, providing order information to the serving robot 100 includes the serving robot 100 communicating with the server 200 via the communication module 110 and directly receiving information regarding the table number and ordered dishes. Furthermore, providing order information to the serving robot 100 also includes a mechanism that receives table number input from a store employee or the like and recognizes the order information that matches that input.
[0192] Next, the serving robot 100 can detect that an object to be served (for example, food) has been placed on the serving robot 100 and that a serving input has been received (1003).
[0193] Here, as mentioned above, the serving input can be generated by explicit input (for example, serving start input / customer 350 table number input). Alternatively, the serving input can be generated based on the current position of the serving robot 100 when the serving items are placed on the tray. In the latter case, for example, when the serving robot 100 is positioned where the serving items will be delivered, the placement is detected based on the sensing values of multiple load cells placed on the tray, and after a predetermined time has elapsed, the serving input can be generated automatically.
[0194] In response to receiving a serving input, the serving robot 100 performs an action according to the algorithm described above (1004).
[0195] Specifically, the serving robot 100 can determine whether food has been placed on at least one tray based on the sensing values of multiple load cells 120, and can calculate the position and weight of the food. Furthermore, the serving robot 100 can detect whether the food is biased to the left or right side of the tray based on the sensing values of the multiple load cells 120. For example, the serving robot 100 can detect that food has been placed on the second tray (i.e., the tray of intermediate height), and further recognize that the food is biased to the left based on the difference in sensing values of multiple load cells 120b located on the left and right sides of the second tray. In this case, the serving robot 100 can change (reduce) its movement speed by an amount corresponding to the position of the second tray on which the food is placed, according to the algorithm, and perform serving. Additionally, the serving robot 100 can set a left-rotation-priority path with a biased center of gravity as the serving path, according to the algorithm.
[0196] On the other hand, the serving robot 100 can detect when a customer 350 or an employee in the store places an item to be served (hereinafter referred to as "items to be returned") (for example, leftover food) on the serving robot 100 and when a return input has been received (1005).
[0197] Here, the dish return input can be generated by explicit input (for example, an input to start moving for dish return). Alternatively, the dish return input can be generated based on the current position of the serving robot 100 when the dishes to be returned are placed on the tray. In the latter case, for example, if the serving robot 100 moves to the customer 350's table without any dishes to be returned on it, and the placement of dishes to be returned is detected at that position based on the sensing values of multiple load cells placed on the tray, the dish return input can be generated automatically after a predetermined time has elapsed.
[0198] In response to receiving a tray return input, the serving robot 100 may decide not to apply the aforementioned algorithm (1006). This prevents the serving robot 100 from changing its movement speed or travel path even if it detects that the serving items are placed incorrectly or unevenly.
[0199] In some embodiments, the movement for clearing the tray can be performed at a faster speed than when there is no food to be served on it. In other embodiments, the movement for clearing the tray can be performed along the shortest path than when there is no food to be served on it.
[0200] From the above, according to the mobile robot for serving food and its operating method according to the embodiment of the present invention, the mobile robot for serving food can detect the position of the food to be served placed on the tray, and by changing the movement speed or serving path to prevent the contents of the food from spilling or leaking out, it is possible to deliver the food to the customer more stably. Furthermore, even if the food to be served is placed unevenly to one side, the robot can detect this and change the serving path to rotate in the direction of the uneven center of gravity, thereby preventing deformation of the food to be served. In addition, in the case of food, by distinguishing between input for serving and input for clearing the tray and deciding whether or not to execute the algorithm, rapid movement is possible when clearing the tray. This enables efficient operation.
[0201] The present invention described above can be realized as computer-readable code (or application or software) on a medium on which a program is recorded. The control method for autonomous vehicles described above can be realized by code stored in memory or the like.
[0202] Computer-readable media include all types of recording devices on which data readable by a computer system is stored. Examples of computer-readable media include HDDs (Hard Disk Drives), SSDs (Solid State Disks), SDDs (Silicon Disk Drives), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, optical data recording devices, and also include cases where data is implemented in the form of carrier waves (e.g., transmission over the Internet). The computer may also include a processor or a control unit. Therefore, the above detailed description should not be interpreted restrictively in any way, but should be considered illustratively. The scope of the invention is determined by a reasonable interpretation of the appended claims, and all modifications within the equivalent scope of the invention are included within the scope of the invention.
Claims
1. In a mobile robot for serving food, At least one tray placed in the housing space of the mobile robot's body on which the food to be served is placed; and Multiple load cells arranged in at least one of the trays; A running unit positioned below the body for moving the mobile robot; and The control unit includes the plurality of load cells and the travel unit, and the control unit is communicated with the travel unit, Based on the sensing values detected by the plurality of load cells, it is determined whether or not an object to be served has been placed on at least one tray, and the travel unit is controlled to change the travel speed of the mobile robot based on the determination. A mobile robot for serving food.
2. The control unit, Based on the determination that the food to be served has been placed on at least one of the trays, the mobile robot's movement speed is reduced from the reference speed. The degree to which the movement speed is reduced varies depending on the height at which the at least one tray is provided. A mobile robot for serving food according to claim 1.
3. The at least one tray includes a plurality of trays that are at different heights from each other from the bottom frame of the body. The plurality of load cells are arranged on the left and right sides of each of the plurality of trays. The control unit, Based on the sensing values of multiple load cells placed on each of the multiple trays, the position of the tray on which the food to be served is placed is determined, and the degree of reduction in the moving speed is changed based on the determined position of the tray. A mobile robot for serving food according to claim 2.
4. The control unit, The weight of the object placed on the tray is calculated based on the sum of the sensing values of the first and second load cells located on the left and right sides of each of the aforementioned trays. Based on the calculated weight and the determined tray position, the degree to which the mobile robot's movement speed is reduced is set to vary. A mobile robot for serving food according to claim 3.
5. The control unit, The higher the position of the tray where the calculated weight is determined to exceed the standard value, the greater the degree to which the mobile robot's movement speed is reduced. A mobile robot for serving food according to claim 4.
6. The control unit, Based on the difference in sensing values of the first and second load cells positioned on the left and right sides of each of the aforementioned multiple trays, it is determined whether or not there is any bias in the serving items placed on the trays. Based on the above decision, set the serving route. A mobile robot for serving food according to claim 3.
7. The control unit, Based on the difference in sensing values between the first and second load cells, a determination is made that the serving items placed on the tray are biased to the left, and a serving path prioritizing leftward rotation is set. Based on the difference in sensing values between the first and second load cells, a determination is made that the serving items placed on the tray are biased to the right, and a serving path prioritizing rightward rotation is set. A mobile robot for serving food according to claim 6.
8. The aforementioned mobile robot further includes an IMU sensor positioned on its body, The control unit, While serving food in the map space at the modified movement speed based on the aforementioned decision, if a change exceeding a reference value is detected in the sensing values detected by the multiple load cells, the sensing values of the IMU sensor are combined to detect fault elements, and the map is updated to display the location corresponding to the detected fault element. A mobile robot for serving food according to claim 1.
9. It further includes an input section where the purpose of moving the items to be served is entered, The control unit, Based on the input purpose of movement and the sensing values detected by the plurality of load cells, it is determined whether or not the food to be served has been placed on at least one tray. A mobile robot for serving food according to claim 1.
10. The control unit, In response to the input of the purpose of movement for serving food through the input unit, it is determined whether or not the food to be served has been placed on at least one tray based on the sensing values detected by the plurality of load cells. In response to the input of the purpose of moving the tray for return via the input unit, it is determined that no serving items are placed on at least one of the trays. A mobile robot for serving food according to claim 9.
11. A method for operating a mobile robot for serving food, A step of receiving sensing values detected by a plurality of load cells placed in the housing space of the mobile robot body and on at least one tray on which the food to be served is placed; A step of determining whether or not an object to be served has been placed on the at least one tray based on the received sensing value; and The step of changing the moving speed of the mobile robot based on the aforementioned decision, How a mobile robot for serving food operates.
12. The step of changing the movement speed of the aforementioned mobile robot is: Based on the determination that the serving items have been placed on at least one of the trays, the mobile robot's movement speed is reduced to a reference speed. The degree to which the movement speed is reduced varies depending on the height at which the at least one tray is provided. A method for operating a mobile robot for serving food according to claim 11.
13. The at least one tray includes a plurality of trays that are at different heights from each other from the bottom frame of the body, and the plurality of load cells are arranged on the left and right sides of each of the plurality of trays. The aforementioned decision-making stage is, The step includes determining the position of the tray on which the food to be served is placed based on sensing values from a plurality of load cells arranged in each of the plurality of trays, The step of changing the movement speed of the aforementioned mobile robot is: The step includes changing the degree of reduction in the moving speed based on the determined position of the tray, A method for operating a mobile robot for serving food according to claim 12.
14. The aforementioned decision-making stage is, The process includes the step of calculating the weight of an object placed on a tray based on the sum of the sensing values of first and second load cells located on the left and right sides of each of the plurality of trays, The step of changing the movement speed of the aforementioned mobile robot is: The step includes setting different degrees of reduction in the mobile robot's movement speed based on the position of the tray determined based on the calculated weight, A method for operating a mobile robot for serving food according to claim 13.
15. The step of changing the movement speed of the aforementioned mobile robot is: The step includes increasing the degree to which the mobile robot's movement speed is reduced, the higher the position of the tray where the calculated weight is determined to exceed a standard value. A method for operating a mobile robot for serving food according to claim 14.