WO2024058574A1 - 서빙 로봇 및 그 제어 방법 - Google Patents

서빙 로봇 및 그 제어 방법 Download PDF

Info

Publication number
WO2024058574A1
WO2024058574A1 PCT/KR2023/013833 KR2023013833W WO2024058574A1 WO 2024058574 A1 WO2024058574 A1 WO 2024058574A1 KR 2023013833 W KR2023013833 W KR 2023013833W WO 2024058574 A1 WO2024058574 A1 WO 2024058574A1
Authority
WO
WIPO (PCT)
Prior art keywords
serving robot
arm
loading unit
main body
serving
Prior art date
Application number
PCT/KR2023/013833
Other languages
English (en)
French (fr)
Inventor
구동한
강상현
곽현석
이민희
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220123306A external-priority patent/KR20240037781A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/529,557 priority Critical patent/US20240100711A1/en
Publication of WO2024058574A1 publication Critical patent/WO2024058574A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40298Manipulator on vehicle, wheels, mobile
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45111Meal, food assistance

Definitions

  • Embodiments of the present disclosure relate to a method of controlling a robot and a serving robot.
  • factories use robots to produce products.
  • food ordered by a customer in a restaurant is cooked by a robot and delivered to the customer by the robot.
  • the robot can receive food orders from the user by touch or voice and cook the food according to the set recipe.
  • the robot can identify the user's location and surrounding environment, and serve ordered food to the user's location by considering the identified surrounding environment.
  • a serving robot includes a main body, a loading unit for loading food, an arm with one end rotatably connected to the main body and the other end rotatably connected to the loading unit, a driving unit, and at least one processor. and the at least one processor may control the driving unit to keep the loading unit horizontal when the arm rotates forward or backward.
  • a method of controlling a serving robot includes moving an arm, one end of which is rotatably connected to the main body, and the other end of which is rotatably connected to the loading unit, to forward rotation or It may include rotating backward and maintaining the loading part horizontal.
  • FIG. 1 is a perspective view of a serving robot according to an embodiment.
  • Figure 2 is a block diagram explaining the configuration of a serving robot according to an embodiment.
  • Figure 3 is a block diagram explaining the configuration of a driving unit according to an embodiment.
  • Figure 4 is a block diagram explaining the specific configuration of a serving robot according to an embodiment.
  • FIGS. 5A, 5B, and 5C are diagrams explaining the driving principle of a serving robot according to an embodiment.
  • Figure 6 is a diagram explaining a serving robot with constant speed according to an embodiment.
  • Figure 7 is a diagram explaining an accelerating serving robot according to an embodiment.
  • Figure 8 is a diagram explaining a slowing down serving robot according to an embodiment.
  • FIGS. 9A and 9B are diagrams explaining a serving robot located on a ramp according to an embodiment.
  • Figure 10 is a diagram explaining a serving robot that receives orders according to an embodiment.
  • Figure 11 is a diagram explaining a serving robot that serves ordered food according to an embodiment.
  • Figure 12 is a flowchart explaining a control method of a serving robot according to an embodiment.
  • a “module” or “unit” for a component used in this specification performs at least one function or operation. And, the “module” or “unit” may perform a function or operation by hardware, software, or a combination of hardware and software. Additionally, a plurality of “modules” or a plurality of “units” excluding a “module” or “unit” that must be performed on specific hardware or performed on at least one processor may be integrated into at least one module. Singular expressions include plural expressions unless the context clearly dictates otherwise.
  • each step should be understood as non-limiting unless the preceding step must be performed logically and temporally prior to the subsequent step. In other words, except for the above exceptional cases, even if the process described as a subsequent step is performed before the process described as a preceding step, the nature of disclosure is not affected, and the scope of rights must also be defined regardless of the order of the steps.
  • the term “A or B” is defined not only to selectively indicate either A or B, but also to include both A and B.
  • the term "included” in this specification has the meaning of including additional components in addition to the elements listed as included.
  • each embodiment may be implemented or operated independently, but each embodiment may be implemented or operated in combination.
  • FIG. 1 is a perspective view of a serving robot according to an embodiment.
  • the serving robot 100 may include a main body 1, an arm 10, a loading unit 20, and a wheel 30.
  • the main body 1 may include various components for performing various operations of the serving robot 100, such as driving the serving robot 100.
  • the main body 1 may include components such as a processor, communication interface, sensor, camera, microphone, speaker, and memory.
  • An arm 10 may be connected to the side of the main body 1.
  • the present invention is not limited to this, and according to another embodiment, some of these components may be omitted from the main body 1, or other components may be further included in the main body 1.
  • the arm 10 may be connected to the main body 1.
  • one end (e.g., first end) of the arm 10 is rotatably connected to the main body 1
  • the other end (e.g., second end) of the arm 10 is rotatably connected to the loading unit 20.
  • the longitudinal direction of the arm 10 may be positioned upward with respect to the bottom surface of the main body 1.
  • the longitudinal direction of the arm 10 may be arranged perpendicular to the bottom surface of the main body 1.
  • the arm 10 may rotate forward or backward based on a connection axis connected to the main body 1 according to the movement of the serving robot 100.
  • the arm 10 may rotate within a range of 30 degrees forward to 30 degrees backward relative to the bottom surface of the main body 1 and the vertical axis.
  • the above-described rotation angle is an example, and according to another embodiment, the rotation angle is not limited thereto. Accordingly, the arm 10 can rotate forward or backward in a range other than 30 degrees relative to the vertical axis with respect to the bottom surface of the main body 1.
  • the arm 10 may not rotate more than 90 degrees forward or more than 90 degrees backward.
  • one arm 10 may be connected to one side, or a plurality of arms 10 may be attached to the main body. Additionally, the arm 10 may be attached at a position different from the side of the main body 1.
  • the arm 10 may be connected to the main body 1 at the front or top surface of the main body 1.
  • the arm 10 may be a stretchable telescopic arm.
  • the loading unit 20 may be rotatably connected to the arm 10.
  • the side center area of the loading unit 20 may be connected to the arm 10 .
  • the loading unit 20 may rotate to remain horizontal as the arm 10 rotates.
  • the loading unit 20 may rotate forward or backward based on a connection axis connected to the arm 10.
  • the loading unit 20 can rotate 360 degrees forward or backward.
  • FIG. 1 shows a case where food is loaded on the loading unit 20, the present invention is not limited to this, and other objects may be loaded on the loading unit 20 in other embodiments.
  • the loading unit 20 may be referred to as a platform or a loading platform.
  • one side (eg, first side) of the loading unit 20 may include a tray, and the other side (eg, second side) may include a display.
  • the serving robot 100 may rotate the loading unit 20 so that the display faces upward. Through this, the customer or user can view the menu displayed on the display. Directing the display upward may mean that the display surface is oriented upward of the vertical axis of the bottom surface of the main body 10 or that the display surface is oriented upward with respect to the bottom surface of the main body 10.
  • the serving robot 100 can display food-related information on the display.
  • the serving robot 100 may rotate the loading unit 20 so that the tray surface faces upward in order to load and serve food. When food is loaded on the loading unit 20, the serving robot 100 can maintain the loading unit 20 horizontally to ensure stable food delivery.
  • the wheel 30 may be located at the lower end of the main body 1.
  • the wheel 30 can move the serving robot 100.
  • a plurality of individual wheels 30 are shown in FIG. 1, the present invention is not limited thereto, and the serving robot 100 may include various numbers of wheels 30.
  • the serving robot 100 may include one to eight wheels 30.
  • the wheel 30 may be implemented in the form of a caterpillar.
  • Figure 2 is a block diagram explaining the configuration of a serving robot according to an embodiment.
  • the serving robot 100 may include a processor 110 and a driving unit 120.
  • the processor 110 can control each component of the serving robot 100.
  • the serving robot 100 may include one or more processors 110. However, it is not limited to this, and the serving robot 100 may include a plurality of processors 110.
  • the processor 110 may control the overall operation of the serving robot 100.
  • the processor 110 may include one or more cores (eg, homogeneous multi-core or heterogeneous multi-core).
  • the processor 110 may include, for example, at least one of a central processing unit (CPU), an image signal processing unit (ISP), a digital signal processing unit (DSP), a graphics processing unit (GPU), and a computer processor. . Vision Processing Unit (VPU) and Neural Processing Unit (NPU).
  • the processor 111 may execute various application programs loaded in memory (eg, on-chip memory).
  • the processor 110 may control the driving unit 120 so that the serving robot 100 moves or operates.
  • the driving unit 120 may be a driver.
  • the processor 110 may control the driving unit 120 to rotate the arm 10 forward or backward according to the acceleration/deceleration of the serving robot 100.
  • the processor 110 may control the driving unit 120 to keep the loading unit 20 horizontal according to the forward or backward rotation of the arm 10.
  • the processor 110 may control the driving unit 120 so that the serving robot 100 moves.
  • the processor 110 may control the driving unit 120 to rotate the arm 10 so that the loading unit 20 accelerates and decelerates in order to offset the acceleration and deceleration of the main body 1.
  • the processor 110 controls the driving unit 120 to rotate one axis of the arm 10 connected to the main body 1 by a first angle corresponding to the acceleration information of the main body 1.
  • the arm 10 can be rotated backward around the connection axis connected to the main body.
  • the processor 110 may rotate the loading unit 20 based on the first angle and control the driving unit 120 to maintain the loading unit 20 horizontally.
  • the first angle may be a preset angle.
  • the processor 110 controls the driving unit 120 based on the speed change information of the main body 1 to move the arm 10 to the initial position.
  • the arm 10 can be rotated forward around one end of the axis (10). Accordingly, the processor 110 may rotate the loading unit 20 based on the forward rotation of the arm 10 and control the driving unit 120 to maintain the loading unit 20 horizontally.
  • the processor 110 controls the driving unit 120 to center one axis of the arm 10 connected to the main body 1 by a second angle corresponding to the deceleration information of the main body 1.
  • the arm 10 can be rotated forward. Accordingly, the processor 110 may rotate the loading unit 20 based on the second angle and control the driving unit 120 to maintain the loading unit 20 horizontally.
  • the second angle may be a preset angle.
  • the processor 110 controls the driving unit 120 based on the speed change information of the main body 1 to move the arm 10 to the initial position.
  • the arm 10 can be rotated backward around one end of the axis (10). Accordingly, the processor 110 may rotate the loading unit 20 based on the rearward rotation of the arm 10 and control the driving unit 120 to maintain the loading unit 20 horizontally.
  • the serving robot 100 can move up a ramp.
  • the processor 110 controls the driving unit 120 based on the inclination of the main body 1 according to the inclination of the incline to keep the loading unit 20 horizontal. 10) and/or the loading unit 20 can be rotated.
  • the driving unit 120 may rotate the arm 10 and/or the loading unit 20. According to one embodiment, the driving unit 120 may move the serving robot 100.
  • Figure 3 is a block diagram explaining the configuration of a driving unit according to an embodiment.
  • the driving unit 120 may include a first motor 121, a second motor 122, a third motor 123, an arm 10, a loading unit 20, and a wheel 30. You can. However, the present invention is not limited to this, and according to another embodiment, some of these components may be omitted from the driving unit 120, or other components may be further included in the driving unit 120.
  • the first motor 121 may rotate the arm 10 forward or backward under the control of the processor 110.
  • the second motor 122 may rotate forward or backward to maintain the level of the loading unit 20 under the control of the processor 110.
  • the second motor 122 may rotate the loading unit 20 so that the tray surface or the display surface of the loading unit 20 faces upward.
  • the third motor 123 may drive the wheel 30 so that the serving robot 100 moves under the control of the processor 110.
  • the driving unit 120 connects the first motor 121 to the arm 10, connects the second motor 122 to the loading unit 20, and connects the third motor 123 to the wheel. It may further include a connection part such as a gear connected to (30).
  • Figure 4 is a block diagram explaining the specific configuration of a serving robot according to an embodiment.
  • the serving robot 100 includes a processor 110, a driver 120, an input interface 130, a communication interface 135, a sensor 140, a camera 145, a microphone 150, and a display. It may include 155, speaker 160, and memory 165.
  • the driving unit 120 may be the same as described in FIGS. 2 and 3.
  • the input interface 130 can receive control commands from the user.
  • the input interface 130 may receive an input command from the user.
  • the input command may include, but is not limited to, a power on/off command, a setting command (eg, a setting value for setting the operation characteristics of the serving robot 100), a menu selection command, etc.
  • the input interface 130 may include a keyboard, buttons, key pad, touch pad, and touch screen.
  • the input interface 130 may also be called an input device, input unit, input module, etc.
  • the communication interface 135 can communicate with an external device.
  • the communication interface 135 uses at least one of the following communication methods: Wi-Fi, Wi-Fi Direct, Bluetooth, ZigBee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), and LTE (Long Term Evolution). You can communicate with external devices using this communication method.
  • the communication interface 135 can receive a driving map, menu information, serving-related information, etc. from an external device, and can transmit menu information selected by the user, status information of the serving robot 100, etc. to the external device.
  • the communication interface 135 may be referred to as a communication device, communication unit, communication module, transceiver, etc.
  • the sensor 140 can detect acceleration/deceleration information of the main body 1 and acceleration/deceleration information of the loading unit 20 according to the movement of the serving robot 100.
  • the sensor 140 may include a first sensor that detects acceleration and deceleration of the main body 1 and a second sensor that detects acceleration and deceleration of the loading unit 20.
  • the sensor 140 may detect tilt information of the floor or tilt information of the serving robot 100.
  • the sensor 140 may include a third sensor that detects the inclination of the floor or the inclination of the serving robot 100.
  • the sensed information may be transmitted to the processor 110.
  • the processor 110 may control the rotation of the arm 10 and/or the loading unit 20 based on information transmitted from the sensor 140.
  • the sensor 140 may detect the surrounding environment.
  • the processor 110 may perform a control operation including movement of the serving robot 100 based on the sensed information.
  • the sensor 140 processes data about the transmitted signal and the received signal.
  • the data is transmitted to 110, and the processor can identify the road surface condition, whether the floor is uneven, whether there are obstacles, etc., based on the transmitted and received data.
  • the sensor 140 includes a motion recognition sensor, a heat detection sensor, etc.
  • the sensor 140 transmits the sensed information to the processor 110, and the processor 110 responds to the received information. Based on this, it is possible to identify obstacles, etc.
  • the senor 140 may include an angle sensor, an acceleration sensor, a gravity sensor, a gyro sensor, a geomagnetic sensor, a direction sensor, an infrared sensor, an ultrasonic sensor, a time-of-flight (ToF) sensor, a lidar sensor, a laser sensor, and a motion recognition sensor. It may include a sensor, a heat sensor, an image sensor, a tracking sensor, a proximity sensor, an illumination sensor, a voltmeter, an ammeter, a barometer, a hygrometer, a thermometer, a touch sensor, etc.
  • the camera 145 can capture the surrounding environment of the serving robot 100.
  • the captured image may be a still image (e.g. a photo) or a moving image (e.g. a video or multiple frames).
  • the processor 110 may obtain information about the surrounding environment based on the image captured by the camera 145.
  • the processor 110 may obtain information related to the user and information about obstacles based on the captured image.
  • the processor 110 may perform control operations based on the obtained information.
  • the serving robot 100 may include various types of cameras that perform different functions.
  • the serving robot 100 may include a plurality of cameras of the same type.
  • the camera 145 may include a CCD sensor or a CMOS sensor.
  • the camera 145 may include an RGB camera, a depth camera, a wide-angle camera, a telephoto camera, etc.
  • the microphone 150 can receive the user's voice.
  • the microphone 150 may receive a voice ordering food from a user.
  • the processor 110 may recognize the food ordered by the user based on the input of the user's voice and perform control operations related to serving the ordered food.
  • the serving robot 100 may include one or more microphones 150.
  • the microphone 150 may include a general microphone, a surround microphone, a directional microphone, etc.
  • the display 155 may output data processed by the processor 110 as an image.
  • the display 155 can display information and output a screen corresponding to a recognized user's command.
  • the display 155 may be placed on the loading unit 20. That is, one side of the loading unit 20 may include a tray, and the other side may include the display 155.
  • the display 155 may display food-related information (eg, menu) under the control of the processor 110.
  • the display 155 may be implemented as a liquid crystal display (LCD), organic light emitting diode (OLED), flexible display, touch screen, etc.
  • the serving robot 100 may receive control commands through the touch screen.
  • the speaker 160 can output a sound signal.
  • the speaker 160 provides voice or notification information about the user's input command, information related to the food ordered by the user, serving information, warning related information, status related information of the serving robot 100, motion related information, etc. It can be output as sound.
  • the memory 165 stores data and algorithms that perform the functions of the serving robot 100, and may store programs and commands run by the serving robot 100. According to one embodiment, the memory 165 may store food-related data, serving-related data, acceleration/deceleration data of the serving robot 100, driving-related data including a driving map, etc. The algorithm or data stored in the memory 165 may be loaded into the processor 110 under the control of the processor 110 to perform serving-related functions.
  • the memory 165 may be implemented in the form of ROM, RAM, HDD, SSD, memory card, etc.
  • the memory 165 may be an on-chip memory that can store various application programs executable on the processor 110. The on-chip memory may operate as a cache memory adjacent to the processor 110.
  • the on-chip memory may store instructions, addresses, and data to be processed by the processor 110, and may also store processing results of the processor 110.
  • On-chip memory includes, for example, latches, registers, Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Thyristor Random Access Memory (TRAM), Tightly Coupled Memory (TCM), etc. It can be a storage medium or operational memory.
  • the serving robot 100 may include all of the above-described configurations or may include some of the configurations. So far, the configuration of the serving robot 100 has been described. Below, the control operation of the serving robot 100 according to the movement of the serving robot 100 will be described.
  • FIGS. 5A, 5B, and 5C are diagrams explaining the driving principle of a serving robot according to an embodiment.
  • a liquid object 71 is shown.
  • the liquid object 71 may be water, a beverage, or food containing liquid in a cup or bowl.
  • the liquid object 71 can maintain a stable state as shown in Figure 5a.
  • the serving robot 100 can load a liquid object 71 and move for serving.
  • FIG. 5B the state of the liquid object 71 loaded on the accelerating serving robot 100 is shown.
  • the serving robot 100 in a stationary state moves, acceleration is applied from the rear to the liquid object 71 loaded on the serving robot 100.
  • acceleration is applied to the liquid object 71 loaded on the serving robot 100 from the rear.
  • the liquid object 71 in a stationary state (or in a constant velocity state) may exhibit the property of maintaining its existing state.
  • the liquid object 71 has fluidity, it can exhibit the state shown in FIG. 5B. If the serving robot 100 continues to accelerate, the liquid object 71 may continue to exhibit the state shown in FIG. 5B. In this case, when the liquid object 71 flows beyond the end of the container, the liquid object 71 overflows and pours out.
  • the serving robot 100 can maintain a constant speed again when it accelerates above a certain speed.
  • the fact that the accelerating serving robot 100 maintains a constant speed means that the acceleration is 0, and negative acceleration is applied to the serving robot 100 until the acceleration becomes 0.
  • the serving robot 100 may decelerate depending on the surrounding situation, and a negative acceleration is applied to the serving robot 100.
  • the liquid object 71 loaded on the serving robot 100 may exhibit a state opposite to that shown in FIG. 5B. That is, acceleration may be applied to the liquid object 71 from the front, and the water surface of the liquid object 71 in the direction in which the acceleration is applied may increase.
  • the liquid object 71 may vibrate according to a change in speed of the serving robot 100.
  • the water surface of the liquid object 71 can be raised alternately in the left and right directions of the container.
  • the liquid object 71 may overflow. Therefore, there is a need for a serving robot 100 that can stably serve the liquid object 71 even when the serving robot 100 moves (or changes speed).
  • a liquid object 71 that maintains a stable state even when acceleration is applied to the serving robot 100 is shown.
  • the serving robot 100 of the present disclosure may detect the acceleration (or speed change) of the serving robot 100 and rotate the arm 10 and/or the loading unit 20 based on the detected acceleration information.
  • the rotation of the arm 10 and/or the loading unit 20 applies an acceleration in the opposite direction similar to the acceleration applied to the serving robot 100 to the liquid object 71, as shown in FIG. 5C.
  • the liquid object 71 can be maintained in a stable state.
  • the serving robot ( 100) controls the arm 10 and/or the loading unit 20 to apply vibration 75 that is in phase with the vibration 73 of the liquid object 71 (as shown by line 75 in the graph) Likewise), it is possible to cancel out the vibration applied to the liquid object 71. That is, the serving robot 100 of the present disclosure can control the arm 10 and the loading unit 20 so that the acceleration and deceleration information of the loading unit 20 is offset based on the acceleration and deceleration information applied to the main body 1. . Through the above-described process, the serving robot 100 of the present disclosure can stably serve the liquid object 71 to the user.
  • Figure 6 is a diagram explaining a serving robot with constant speed according to an embodiment.
  • the serving robot 100 with constant speed can maintain the positions of the arm 10 and the loading unit 20 in their initial state.
  • the initial state may be a state in which the arm 10 is positioned upward from the main body 1 and the loading unit 20 is maintained horizontally.
  • constant speed may include not only moving at a constant speed but also a stationary state.
  • Figure 7 is a diagram explaining an accelerating serving robot according to an embodiment.
  • a serving robot 100 is shown being accelerated.
  • Food may be loaded on the loading unit 20 of the serving robot 100.
  • the serving robot 100 can move.
  • acceleration may be applied to the serving robot 100 from the rear.
  • the acceleration applied to the serving robot 100 is applied not only to the main body 1 but also to the loading unit 20, and may also be applied to the food loaded on the loading unit 20.
  • the serving robot 100 can detect acceleration information of the main body 1 and acceleration information of the loading unit 20.
  • the serving robot 100 may rotate the arm 10 and the loading unit 20 so that the acceleration information of the loading unit 20 is offset based on the detected acceleration information of the main body 1.
  • the serving robot 100 may store acceleration information in the memory 165.
  • the serving robot 100 may rotate the arm 10 and the loading unit 20 based on the stored acceleration information. For example, when an acceleration of a is applied to the main body 1 according to the movement or acceleration of the serving robot 100, the serving robot 100 causes the acceleration of the loading unit 20 to become 0 (or to 0).
  • the arm 10 can be rotated rearward so that it gets closer.
  • the serving robot 100 may rotate the arm 1 backward by a preset angle around one axis of the arm 10 connected to the main body 1 based on the detected acceleration information of the main body 1.
  • the arm 10 and the loading unit 20 may initially be at right angles. Accordingly, when the arm 10 rotates backward by a preset angle, the loading unit 20 may also be tilted by the preset angle. In this case, the food loaded on the loading unit 20 may be in an unstable state where it may be pushed to one side or fall to the floor. Accordingly, when the arm 10 rotates backward by a preset angle, the serving robot 100 rotates the loading unit 20 to maintain the horizontal position of the loading unit 20.
  • the serving robot 100 When the serving robot 100 accelerates to a certain speed, it can maintain a constant speed.
  • the fact that the accelerating serving robot 100 maintains a constant speed means that an acceleration of -a is applied to the serving robot 100 until it reaches a constant speed.
  • the serving robot 100 can control the arm 10 and the loading unit 20 based on the detected speed change information of the main body 1. That is, the serving robot 100 can rotate the arm 10 forward around one axis of the arm 10 and move it to the initial position. Accordingly, the serving robot 100 may rotate the loading unit 20 based on the forward rotation of the arm 10 so that the loading unit 20 remains horizontal.
  • the serving robot 100 can stably serve food. there is.
  • Figure 8 is a diagram explaining a slowing down serving robot according to an embodiment.
  • a serving robot 100 is shown being slowed down.
  • the moving serving robot 100 may slow down.
  • the serving robot 100 may slow down when it finds an obstacle, moves to a corner area, or arrives at the serving destination.
  • acceleration may be applied to the serving robot 100 from the front.
  • the acceleration applied to the serving robot 100 is applied not only to the main body 1 but also to the loading unit 20, and may also be applied to the food loaded on the loading unit 20.
  • the serving robot 100 can detect deceleration information of the main body 1 and deceleration information of the loading unit 20.
  • the serving robot 100 may rotate the arm 10 and the loading unit 20 based on the detected deceleration information of the main body 1 so that the deceleration information of the loading unit 20 is offset.
  • the serving robot 100 may store deceleration information in the memory 165.
  • the serving robot 100 may rotate the arm 10 and the loading unit 20 based on the stored deceleration information. For example, when an acceleration of a is applied to the main body 1 according to the deceleration of the serving robot 100, the serving robot 100 moves the arm so that the acceleration of the loading unit 20 becomes 0 (or close to 0). (10) can be rotated forward.
  • the serving robot 100 may rotate the arm 1 forward by a preset angle around one axis of the arm 10 connected to the main body 1 based on the detected deceleration information of the main body 1.
  • the loading unit 20 When the arm 10 rotates forward by a preset angle, the loading unit 20 may also be tilted by the preset angle. In this case, the food loaded on the loading unit 20 may be in an unstable state. Accordingly, when the arm 10 rotates forward by a preset angle, the serving robot 100 can rotate the loading unit 20 to maintain the loading unit 20 horizontally.
  • the serving robot 100 When the serving robot 100 slows down to a certain speed, it can maintain a constant speed (including 0).
  • the fact that the decelerating serving robot 100 maintains a constant speed means that an acceleration of -a is applied to the serving robot 100 until it reaches a constant speed.
  • the serving robot 100 can control the arm 10 and the loading unit 20 based on the detected speed change information of the main body 1. That is, the serving robot 100 can rotate the arm 10 backward around one axis of the arm 10 and move it to the initial position. Accordingly, the serving robot 100 may rotate the loading unit 20 based on the rearward rotation of the arm 10 so that the loading unit 20 remains horizontal.
  • the serving robot 100 can stably serve food.
  • the serving robot 100 may repeat acceleration and deceleration while serving food.
  • the liquid food loaded on the loading unit 20 may vibrate, as illustrated in FIG. 5C.
  • the serving robot 100 of the present disclosure detects the acceleration/deceleration information of the main body 1 and the acceleration/deceleration information of the loading unit 20, and controls the arm 10 and the loading unit 20 in the above-described manner to control the loading unit 20. It is possible to cancel out the vibration of liquid food loaded in (20). Therefore, the serving robot 100 of the present disclosure can stably serve liquid food even if acceleration and deceleration are repeated.
  • FIGS. 9A and 9B are diagrams explaining a serving robot located on a ramp according to an embodiment.
  • FIG. 9A and 9B show a serving robot 100 moving on slopes at different angles.
  • the serving robot 100 may move up a ramp depending on the condition of the floor.
  • the angle of the ramp can vary. As an example, as shown in FIG. 9A, the angle of the ramp may be x, and as shown in FIG. 9B, the angle of the ramp may be y. Angle x may be an angle smaller than angle y.
  • the serving robot 100 may detect the inclination of the main body 1. Additionally, the serving robot 100 may rotate the arm 10 and/or the loading unit 20 based on the sensed inclination of the main body 1 to maintain the loading unit 20 horizontally.
  • the angle of the ramp may be x, which is smaller than the reference angle.
  • the reference angle may be a preset angle.
  • the serving robot 100 can keep the loading unit 20 horizontal by rotating only the loading unit 20 without rotating the arm 10. That is, the serving robot 100 can maintain the horizontal position of the loading unit 20 by rotating only the loading unit 20 based on the detected inclination x angle of the main body 1.
  • the angle of the ramp may be larger than the angle preset as y.
  • the serving robot 100 can rotate the arm 10 and the loading unit 20 to keep the loading unit 20 horizontal. That is, the serving robot 100 can rotate the arm 10 and the loading unit 20 based on the detected inclination y angle of the main body 1 to maintain the horizontal position of the loading unit 20.
  • the serving robot 100 can stably serve food regardless of the inclination angle at which the serving robot 100 moves.
  • the serving robot 100 may consider the inclination angle and, based on the inclination angle, rotate the loading unit 20, rotate the arm 10, or rotate both the loading unit 20 and the arm 10. It can be adjusted. .
  • Figure 10 is a diagram explaining a serving robot that receives orders according to an embodiment.
  • a serving robot 100 that receives an order from a user is shown.
  • one side of the loading unit 20 of the serving robot 100 may include a tray on which food is loaded, and the other side may include the display 155.
  • the serving robot 100 may rotate the loading unit 20 so that the tray or display 155 faces upward.
  • the serving robot 100 may capture images of the surrounding environment using the camera 145.
  • the serving robot 100 can identify the users 81 and 82 from the captured images.
  • the serving robot 100 moves the loading unit 20 so that the display 155 faces upward. can be rotated.
  • the serving robot 100 can display food-related information on the display 155.
  • the serving robot 100 may rotate the loading unit 20 including the arm 10 and the display 155 at an appropriate angle in order to receive orders from the users 81 and 82.
  • the serving robot 100 can recognize the facial area (e.g., facial area) of the users 81 and 82 from the captured image, and the location of the display 155 of the loading unit 20 and the recognized
  • the loading unit 20 including the arm 10 and the display 155 may be rotated based on the angle determined from the position of the face area of the user 81 or 82. That is, the serving robot 100 may rotate the arm 10 and the loading unit 20 based on the captured image (for example, based on the position of the user's face identified in the captured image).
  • the serving robot 100 may rotate the arm 10 and the loading unit 20 according to other standards that are satisfied within the captured image.
  • the serving robot 100 moves the arm 10 forward 10 degrees. and the loading unit 20 including the display 155 can be rotated forward by 5 degrees.
  • the second user 82 is a child, and if the face area of the second user 82 is similar to the position of the display 155, the serving robot 100 rotates the arm 10 forward by 30 degrees and displays the display 155.
  • the loading part 20 including (155) can be rotated forward by 20 degrees.
  • the serving robot 100 only orients the display 155 toward the first user 81 or the second user 82. You can change it.
  • the serving robot 100 when the first user 81 and the second user 82 are located apart from each other, the serving robot 100 receives the order from the second user 81 when the order input from the first user 81 is completed. You can go to (82) and receive an order from the second user (82).
  • the serving robot 100 can receive orders through touch input through the display 155 implemented as a touch screen, and can receive orders through voice through the microphone 150. Therefore, the serving robot 100 can help the user conveniently select food.
  • the serving robot 100 may identify the user who selected the food and the selected food. The serving robot 100 can use information about the identified user and food when serving food. Additionally, the serving robot 100 may transmit information about the selected food to an external device through the communication interface 135.
  • the external device may be an electronic device located in the kitchen. The cook can cook food based on information about the food received from an electronic device located in the kitchen.
  • Figure 11 is a diagram explaining a serving robot that serves ordered food according to an embodiment.
  • a serving robot 100 serving food is shown.
  • the serving robot 100 may rotate the loading unit 20 so that the tray faces upward to load food.
  • the serving robot 100 may move to serve the food loaded on the tray to the users 81 and 82.
  • the serving robot 100 may control the arm 10 and the loading unit 20 based on acceleration/deceleration information in the manner described above in order to stably deliver food.
  • the serving robot 100 can serve food by rotating the arm 10 and the loading unit 20 based on the identified user and the identified food.
  • the first user 81 may order food A
  • the second user 82 may order food B.
  • the serving robot 100 may rotate the arm 10 forward by 15 degrees to serve food A to the first user 81 .
  • the serving robot 100 may rotate the loading unit 20 loaded with food so that the loading unit 20 remains horizontal.
  • the serving robot 100 may output a guidance message such as “The food you ordered has arrived” to the first user 81 through the speaker 160.
  • serving robot 100 may serve food B to the second user 82.
  • the serving robot 100 may rotate the arm 10 forward by 30 degrees to serve food B to the second user 82 . Additionally, the serving robot 100 may rotate the loading unit 20 loaded with food so that the loading unit 20 remains horizontal. Additionally, the serving robot 100 may output a guidance message such as “The food B you ordered has arrived” to the second user 82 through the speaker 160. As described in FIG. 10 , the serving robot 100 can serve food by only changing direction depending on the positions of the first user 81 and the second user 82, and can serve food by moving.
  • Figure 12 is a flowchart explaining a control method of a serving robot according to an embodiment.
  • step S1210 when food is loaded on the loading unit, the serving robot can move.
  • step S1220 while moving, the serving robot 100 may rotate the arm connected to the main body of the serving robot.
  • the serving robot 100 may rotate the arm forward or backward according to acceleration/deceleration (S1220).
  • step S1230 the serving robot 100 can maintain the loading portion horizontal.
  • the serving robot 100 may maintain the loading unit horizontally by rotating the loading unit based on the forward or backward rotation of the arm.
  • the serving robot can detect acceleration/deceleration information of the main body and acceleration/deceleration information of the loading unit.
  • the serving robot may rotate the arm forward or backward based on the detected acceleration/deceleration information of the main body so that the acceleration/deceleration information of the loading part is offset.
  • the serving robot may rotate the arm backward by a preset first angle around one axis of the arm connected to the main body based on the detected acceleration information of the main body. Additionally, the serving robot may rotate the loading unit based on the preset first angle to maintain the loading unit horizontal. If the serving robot maintains a constant speed after acceleration, the serving robot can rotate the arm forward around one axis of the arm and move it to the initial position based on the detected speed change information of the main body. Additionally, the serving robot can rotate the loading unit based on the forward rotation of the arm to keep the loading unit horizontal.
  • the serving robot may rotate the arm forward by a preset second angle around one axis of the arm connected to the main body based on the detected deceleration information of the main body. Additionally, the serving robot may rotate the loading unit based on the preset second angle to maintain the loading unit horizontal. If the serving robot maintains a constant speed after being decelerated, the serving robot can rotate the arm backwards around one axis of the arm and move it to the initial position based on the detected speed change information of the main body. Also, the serving robot can rotate the loading unit based on the rear rotation of the arm to maintain the loading unit horizontal.
  • the serving robot when the serving robot moves on an incline, the serving robot can detect the inclination of the main body.
  • the serving robot may rotate at least one of the arm and the loading unit to keep the loading unit horizontal based on the sensed inclination of the main body.
  • One side of the loading part of the serving robot may include a tray, and the other side may include a display.
  • the serving robot can rotate the loading unit so that the tray or display faces upward.
  • the serving robot can display food-related information when the display faces upward.
  • Serving robots can take images of their surroundings.
  • the serving robot can identify customers from images taken when no food is loaded on the loading area.
  • the loading unit can be rotated so that the display faces upward.
  • the serving robot can receive orders from customers.
  • the serving robot can receive orders through touch input through a display implemented as a touch screen or voice input through a speaker.
  • the serving robot can identify the food selected by the customer.
  • the serving robot may rotate the loading unit so that the tray faces upward to load food. Additionally, the serving robot can control the arm and loading unit using acceleration/deceleration information to safely deliver food to customers. When the serving robot arrives at the customer, the serving robot may rotate the arm and loading portion to serve food to the customer based on the identified customer and the identified food.
  • the serving robot of the present disclosure can safely move items such as food so that users can conveniently order and receive items such as food. Additionally, the serving robot of the present disclosure can enhance interaction with the user.
  • a computer program product may include the S/W program itself or a non-transitory computer readable medium in which the S/W program is stored.
  • a non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories.
  • the various applications or programs described above may be stored and provided on non-transitory readable media such as CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

서빙 로봇 및 그 제어 방법이 개시된다. 서빙 로봇은 본체, 음식을 적재하는 적재부, 일단이 본체에 회전 가능하게 연결되고, 타단이 적재부에 회전 가능하게 연결된 암, 구동부 및 적어도 하나의 프로세서를 포함하고, 적어도 하나의 프로세서는 암의 전방 회전 또는 후방 회전 시 적재부가 수평을 유지하도록 구동부를 제어한다.

Description

서빙 로봇 및 그 제어 방법
본 개시의 실시 예는 로봇 및 서빙 로봇을 제어하는 방법에 관한 것이다.
최근 다양한 분야에서 로봇을 이용한 자동화 기술이 제공되고 있다. 예를 들어, 공장에서는 로봇을 이용하여 제품을 생산하고 있다. 게다가, 레스토랑에서 고객에 의해 주문된 음식이 로봇에 의해 조리 되고, 로봇에 의해 고객에게 배달된다.
로봇은 사용자로부터 터치 방식 또는 음성 방식으로 음식 주문을 입력받고, 설정된 레시피에 따라 음식을 조리할 수 있다. 로봇은 사용자의 위치 및 주변 환경을 식별하고, 식별된 주변 환경을 고려하여 사용자의 위치로 주문된 음식을 서빙할 수 있다.
본 개시의 일 실시 예에 따른 서빙 로봇은 본체, 음식을 적재하는 적재부, 일단이 상기 본체에 회전 가능하게 연결되고, 타단이 상기 적재부에 회전 가능하게 연결된 암, 구동부 및 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 암의 전방 회전 또는 후방 회전 시 상기 적재부가 수평을 유지하도록 상기 구동부를 제어할 수 있다.
본 개시의 일 실시 예에 따른 서빙 로봇의 제어 방법은 적재부에 음식이 적재되면 이동하는 단계, 일단이 본체에 회전 가능하게 연결되고, 타단이 상기 적재부에 회전 가능하게 연결된 암을 전방 회전 또는 후방 회전시키는 단계 및 상기 적재부의 수평을 유지시키는 단계를 포함할 수 있다.
도 1은 일 실시 예에 따른 서빙 로봇의 사시도이다.
도 2는 일 실시 예에 따른 서빙 로봇의 구성을 설명하는 블록도이다.
도 3은 일 실시 예에 따른 구동부의 구성을 설명하는 블록도이다.
도 4는 일 실시 예에 따른 서빙 로봇의 구체적인 구성을 설명하는 블록도이다.
도 5a, 5b및 도 5c는 일 실시 예에 따른 서빙 로봇의 구동 원리를 설명하는 도면이다.
도 6은 일 실시 예에 따른 등속도의 서빙 로봇을 설명하는 도면이다.
도 7은 일 실시 예에 따른 가속되는 서빙 로봇을 설명하는 도면이다.
도 8은 일 실시 예에 따른 감속되는 서빙 로봇을 설명하는 도면이다.
도 9a 및 도 9b는 일 실시 예에 따른 경사로에 위치하는 서빙 로봇을 설명하는 도면이다.
도 10은 일 실시 예에 따른 주문을 받는 서빙 로봇을 설명하는 도면이다.
도 11은 일 실시 예에 따른 주문 음식을 서빙하는 서빙 로봇을 설명하는 도면이다.
도 12는 일 실시 예에 따른 서빙 로봇의 제어 방법을 설명하는 흐름도이다.
이하에서는 첨부된 도면을 참조하여 다양한 실시 예를 보다 상세하게 설명한다. 본 명세서에 기재된 실시 예는 다양하게 변형될 수 있다. 특정한 실시 예가 도면에서 묘사되고 상세한 설명에서 자세하게 설명될 수 있다. 그러나, 첨부된 도면에 개시된 특정한 실시 예는 다양한 실시 예를 쉽게 이해하도록 하기 위한 것일 뿐이다. 따라서, 첨부된 도면에 개시된 특정 실시 예에 의해 기술적 사상이 제한되는 것은 아니며, 개시의 사상 및 기술 범위에 포함되는 모든 균등물 또는 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이러한 구성요소들은 상술한 용어에 의해 한정되지는 않는다. 상술한 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
한편, 본 명세서에서 사용되는 구성요소에 대한 "모듈" 또는 "부"는 적어도 하나의 기능 또는 동작을 수행한다. 그리고, "모듈" 또는 "부"는 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합에 의해 기능 또는 동작을 수행할 수 있다. 또한, 특정 하드웨어에서 수행되어야 하거나 적어도 하나의 프로세서에서 수행되는 "모듈" 또는 "부"를 제외한 복수의 "모듈들" 또는 복수의 "부들"은 적어도 하나의 모듈로 통합될 수도 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉, 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행단계로 설명된 과정보다 앞서서 수행되더라도 개시의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 "A 또는 B"라고 기재한 것은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 개시의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 개시의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
그 밖에도, 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그에 대한 상세한 설명은 축약하거나 생략한다. 한편, 각 실시 예는 독립적으로 구현되거나 동작될 수도 있지만, 각 실시 예는 조합되어 구현되거나 동작될 수도 있다.
도 1은 일 실시 예에 따른 서빙 로봇의 사시도이다.
도 1을 참조하면, 서빙 로봇(100)은 본체(1), 암(arm)(10), 적재부(20) 및 휠(30)을 포함할 수 있다.
본체(1)는 서빙 로봇(100)을 구동하는 것과 같이 서빙 로보(100)의 다양한 동작을 수행하기 위한 다양한 구성을 포함할 수 있다. 예를 들어, 본체(1)는 프로세서, 통신 인터페이스, 센서, 카메라, 마이크, 스피커, 메모리 등의 구성을 포함할 수 있다. 본체(1)의 측면에는 암(10)이 연결될 수 있다. 다만, 본 발명이 이에 한정되는 것은 아니며, 다른 실시예에 따르면 이들 구성요소 중 일부가 본체(1)에서 생략되거나, 다른 구성요소가 본체(1)에 더 포함될 수도 있다.
본 개시의 일 실시 예에 따라, 암(10)은 본체(1)에 연결될 수 있다. 예를 들어, 암(10)의 일단(예: 제1 단)은 본체(1)에 회전 가능하게 연결되고, 암(10)의 타단(예: 제2 단)은 적재부(20)에 회전 가능하게 연결될 수 있다. 암(10)의 길이 방향은 본체(1)의 바닥 면에 대하여 상측 방향으로 위치할 수 있다. 예를 들어, 암(10)의 길이 방향은 본체(1) 의 바닥 면과 수직하게 배치될 수 있다. 암(10)은 서빙 로봇(100)의 이동에 따라 본체(1)와 연결된 연결 축을 기준으로 전방 회전 또는 후방 회전할 수 있다. 일 예로서, 암(10)은 본체(1) 의 바닥 면과 수직 축을 기준으로 전방 30도 내지 후방 30도 범위 내에서 회전할 수 있다. 상술한 회전 각도는 일 예이며, 또 다른 실시 예에 따라 회전 각도는 이에 제한되는 것은 아니다. 따라서, 암(10)은 본체(1)의 바닥 면에 대한 수직 축을 기준으로 전방 또는 후방으로 30도가 아닌 다른 범위로 회전할 수 있다. 그러나, 또 다른 실시 예에 따라 암(10)은 전방 90도 이상, 후방 90도 이상 회전하지 않을 수 있다. 다만, 본 개시는 이에 제한되는 것은 아니며, 경우에 따라서는 하나의 암(10)이 일측 면에 연결될 수도 있고, 복수 개의 암(10)이 본체에 부착될 수도 있다. 또한, 암(10)은 본체(1)의 측면과 다른 위치에 부착될 수도 있다. 예를 들어, 암(10)은 본체(1)의 전면 또는 상면에서 본체(1)와 연결될 수 있다. 일 실시 예에 따르면, 암(10)은 신축 가능한 텔레스코픽(Telescopic) 암일 수 있다.
적재부(20)는 암(10)에 회전 가능하게 연결될 수 있다. 예를 들어, 적재부(20)는 측면 중앙 영역이 암(10)에 연결될 수 있다. 적재부(20)에 음식이 적재된 경우, 적재부(20)는 암(10)의 회전에 따라 수평을 유지하도록 회전할 수 있다. 적재부(20)는 암(10)과 연결된 연결 축을 기준으로 전방 회전 또는 후방 회전할 수 있다. 일 예로서, 적재부(20)는 전방 또는 후방으로 360도 회전할 수 있다. 도 1에서는 적재부(20)에 음식을 적재하는 경우를 도시하였으나, 이에 한정되지 않고, 다른 실시 예에서는 적재부(20)에 다른 물체가 로딩될 수도 있다. 실시 예에 따라, 적재부(20)는 플랫폼 또는 적재 플랫폼으로 지칭될 수 있다.
일 실시 예에 따라, 적재부(20)의 일면(예: 제1 면)은 트레이를 포함하고, 타면(예: 제2 면)은 디스플레이를 포함할 수 있다. 예를 들어, 음식이 적재되지 않은 상태에서 서빙 로봇(100)이 사용자 또는 고객을 식별하면, 서빙 로봇(100)은 디스플레이가 상측 방향을 향하도록 적재부(20)를 회전시킬 수 있다. 이를 통해, 고객 또는 사용자는 디스플레이에 표시된 메뉴를 볼 수 있다. 디스플레이가 상측 방향으로 향한다는 것은 본체(10)의 바닥면의 수직 축의 상 방향으로 디스플레이 면이 향하거나 디스플레이 면이 본체 바닥 면에 대해 상측 방향을 향하는 것을 의미할 수 있다. 디스플레이가 상측 방향을 향하면, 서빙 로봇(100)은 디스플레이에 음식과 관련된 정보를 표시할 수 있다. 또한, 서빙 로봇(100)은 음식을 적재하고, 서빙하기 위해 트레이 면이 상측 방향을 향하도록 적재부(20)를 회전시킬 수 있다. 적재부(20)에 음식이 적재되면, 서빙 로봇(100)은 안정적인 음식 전달을 위해 적재부(20)를 수평으로 유지할 수 있다.
휠(30)은 본체(1)의 하단부에 위치할 수 있다. 휠(30)은 서빙 로봇(100)을 이동시킬 수 있다. 도 1에서는 개별적인 복수의 휠(30)이 도시되어 있으나, 이에 제한되는 것은 아니며, 서빙 로봇(100)은 다양한 개수의 휠(30)을 포함할 수 있다. 예를 들어, 서빙 로봇(100)은 1개 내지 8개의 휠(30)을 포함할 수 있다. 일 실시 예에 따라, 휠(30)은 캐터필러 형태로 구현될 수 있다.
지금까지 서빙 로봇(100)의 구조를 설명하였다. 아래에서는 서빙 로봇(100)에 포함된 구성을 상세하게 설명한다.
도 2는 일 실시 예에 따른 서빙 로봇의 구성을 설명하는 블록도이다.
도 2를 참조하면, 서빙 로봇(100)은 프로세서(110), 구동부(120)를 포함할 수 있다.
프로세서(110)는 서빙 로봇(100)의 각 구성을 제어할 수 있다. 서빙 로봇(100)은 하나 또는 복수의 의 프로세서(110)를 포함할 수 있다. 다만, 이에 제한되는 것은 아니며, 서빙 로봇(100)은 복수의 프로세서(110)를 포함할 수도 있다. 프로세서(110)는 서빙 로봇(100)의 전반적인 동작을 제어할 수 있다. 프로세서(110)는 하나 이상의 코어(예: 동종 멀티 코어 또는 이종 멀티 코어)를 포함할 수 있다. 프로세서(110)는, 예를 들어, 중앙 처리 장치(CPU), 이미지 신호 처리 장치(ISP), 디지털 신호 처리 장치(DSP), 그래픽 처리 장치(GPU), 컴퓨터 프로세서 중 적어도 하나를 포함할 수 있다. 비전 처리 장치(VPU) 및 신경 처리 장치(NPU). 프로세서(111)는 메모리(예: 온칩 메모리)에 로딩된 다양한 응용 프로그램을 실행할 수 있다.
프로세서(110)는 서빙 로봇(100)이 이동 또는 동작하도록 구동부(120)를 제어할 수 있다. 구동부(120)는 드라이버(Driver)가 될 수 있다. 프로세서(110)는 서빙 로봇(100)의 가감속에 따라 암(10)을 전방 회전 또는 후방 회전하도록 구동부(120)를 제어할 수 있다. 예를 들어, 프로세서(110)는 암(10)의 전방 회전 또는 후방 회전에 따라 적재부(20)가 수평을 유지하도록 구동부(120)를 제어할 수 있다. 또한, 프로세서(110)는 서빙 로봇(100)이 이동하도록 구동부(120)를 제어할 수 있다.
일 실시 예에 따라, 프로세서(110)는 본체(1)의 가감속을 상쇄시키기 위하여, 적재부(20)가 가감속 되도록 암(10)을 회전시키도록 구동부(120)를 제어할 수 있다. 서빙 로봇(100)이 가속되면, 프로세서(110)는 구동부(120)를 제어하여 본체(1)의 가속 정보에 대응되는 제1 각도만큼 본체(1)와 연결된 암(10)의 일단의 축(본체와 연결된 연결 축)을 중심으로 암(10)을 후방 회전시킬 수 있다. 그리고, 프로세서(110)는 제1 각도에 기초하여 적재부(20)를 회전시켜 적재부(20)가 수평을 유지하도록 구동부(120)를 제어할 수 있다. 제1 각도는 기 설정된 각도일 수 있다.
서빙 로봇(100)이 가속된 이후 등속도를 유지하면, 프로세서(110)는 본체(1)의 속도 변화 정보를 기초로 구동부(120)를 제어하여 암(10)을 최초 위치로 이동시키도록 암(10)의 일단의 축을 중심으로 암(10)을 전방 회전시킬 수 있다. 따라서, 프로세서(110)는 암(10)의 전방 회전에 기초하여 적재부(20)를 회전시켜 적재부(20)가 수평을 유지하도록 구동부(120)를 제어할 수 있다.
서빙 로봇(100)이 감속되면, 프로세서(110)는 구동부(120)를 제어하여 본체(1)의 감속 정보에 대응되는 제2 각도만큼 본체(1)와 연결된 암(10)의 일단의 축을 중심으로 암(10)을 전방 회전시킬 수 있다. 따라서, 프로세서(110)는 제2 각도에 기초하여 적재부(20)를 회전시켜 적재부(20)가 수평을 유지하도록 구동부(120)를 제어할 수 있다. 제2 각도는 기 설정된 각도일 수 있다.
서빙 로봇(100)이 감속된 이후 등속도를 유지하면, 프로세서(110)는 본체(1)의 속도 변화 정보를 기초로 구동부(120)를 제어하여 암(10)을 최초 위치로 이동시키도록 암(10)의 일단의 축을 중심으로 암(10)을 후방 회전시킬 수 있다. 따라서, 프로세서(110)는 암(10)의 후방 회전에 기초하여 적재부(20)를 회전시켜 적재부(20)가 수평을 유지하도록 구동부(120)를 제어할 수 있다.
서빙 로봇(100)은 경사로를 이동할 수 있다. 서빙 로봇(100)이 경사면을 이동하는 경우, 프로세서(110)는 경사로의 기울기에 따른 본체(1)의 기울기를 기초로 구동부(120)를 제어하여 적재부(20)가 수평을 유지하도록 암(10) 및/또는 적재부(20)를 회전시킬 수 있다.
구동부(120)는 암(10) 및/또는 적재부(20)를 회전시킬 수 있다. 일 실시 예에 따라, 구동부(120)는 서빙 로봇(100)을 이동시킬 수 있다.
도 3은 일 실시 예에 따른 구동부의 구성을 설명하는 블록도이다.
도 3을 참조하면, 구동부(120)는 제1 모터(121), 제2 모터(122), 제3 모터(123), 암(10), 적재부(20), 휠(30)을 포함할 수 있다. 다만, 본 발명은 이에 한정되는 것은 아니며, 다른 실시예에 따르면 이들 구성 요소 중 일부가 구동부(120)에서 생략되거나, 다른 구성 요소가 구동부(120)에 더 포함될 수도 있다.
예를 들어, 제1 모터(121)는 프로세서(110)의 제어에 의해 암(10)을 전방 또는 후방으로 회전시킬 수 있다. 제2 모터(122)는 프로세서(110)의 제어에 의해 적재부(20)의 수평을 유지하도록 전방 또는 후방으로 회전시킬 수 있다. 일 실시 예에 따라, 제2 모터(122)는 적재부(20)의 트레이 면 또는 디스플레이 면이 상측 방향을 향하도록 적재부(20)를 회전시킬 수 있다. 제3 모터(123)는 프로세서(110)의 제어에 의해 서빙 로봇(100)이 이동하도록 휠(30)을 구동시킬 수 있다. 일 실시예에 따라, 구동부(120)는 제1 모터(121)를 암(10)에 연결하고, 제2 모터(122)를 로딩부(20)에 연결하며, 제3 모터(123)를 휠(30)에 연결하는 기어 등의 연결부를 더 포함할 수 있다.
도 4는 일 실시 예에 따른 서빙 로봇의 구체적인 구성을 설명하는 블록도이다.
도 4를 참조하면, 서빙 로봇(100)은 프로세서(110), 구동부(120), 입력 인터페이스(130), 통신 인터페이스(135), 센서(140), 카메라(145), 마이크(150), 디스플레이(155), 스피커(160), 메모리(165)를 포함할 수 있다. 구동부(120)는 도 2 및 3에서 설명한 바와 동일할 수 있다.
입력 인터페이스(130)는 사용자로부터 제어 명령을 입력받을 수 있다. 예를 들어, 입력 인터페이스(130)는 사용자로부터 입력 명령을 입력 받을 수 있다. 입력 명령에는 전원 온/오프 명령, 설정 명령(예를 들어, 서빙 로봇(100)의 동작 특성을 설정하기 위한 설정 값), 메뉴 선택 명령 등이 포함될 수 있으나, 이에 제한되는 것은 아니다. 입력 인터페이스(130)는 키보드, 버튼, 키 패드, 터치 패드, 터치 스크린을 포함할 수 있다. 입력 인터페이스(130)는 입력 장치, 입력부, 입력 모듈 등으로 불릴 수도 있다.
통신 인터페이스(135)는 외부 장치와 통신을 수행할 수 있다. 예를 들어, 통신 인터페이스(135)는 Wi-Fi, Wi-Fi 다이렉트, 블루투스, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project) 및 LTE(Long Term Evoloution)의 통신 방식 중 적어도 하나 이상의 통신 방식으로 외부 장치와 통신을 수행할 수 있다. 통신 인터페이스(135)는 외부 장치로부터 주행 맵, 메뉴 정보, 서빙 관련 정보 등을 수신할 수 있고, 사용자가 선택한 메뉴 정보, 서빙 로봇(100)의 상태 정보 등을 외부 장치로 전송할 수 있다. 통신 인터페이스(135)는 통신 장치, 통신부, 통신 모듈, 송수신부 등으로 지칭될 수 있다.
센서(140)는 서빙 로봇(100)의 이동에 따라 본체(1)의 가감속 정보, 적재부(20)의 가감속 정보를 감지할 수 있다. 예를 들어, 센서(140)는 본체(1)의 가속 및 감속을 감지하는 제1 센서와, 적재부(20)의 가속 및 감속을 감지하는 제2 센서를 포함할 수 있다. 게다가, 센서(140)는 바닥면의 기울기 정보 또는 서빙 로봇(100)의 기울기 정보를 감지할 수 있다. 예를 들어, 센서(140)는 바닥면의 기울기 또는 서빙 로봇(100)의 기울기를 감지하는 제3 센서를 포함할 수 있다. 감지된 정보는 프로세서(110)로 전달될 수 있다. 프로세서(110)는 센서(140)로부터 전달된 정보에 기초하여 암(10) 및/또는 적재부(20)의 회전을 제어할 수 있다. 일 실시 예에 따라, 센서(140)는 주변 환경을 감지할 수 있다. 프로세서(110)는 감지된 정보에 기초하여 서빙 로봇(100)의 이동을 포함하는 제어 동작을 수행할 수 있다.
예를 들어, 센서(140)가 적외선 센서, 초음파 센서, ToF(Time-of-Flight), 라이다, 레이저 센서 등을 포함하는 경우, 센서(140)는 발신 신호와 수신 신호에 대한 데이터를 프로세서(110)로 전달하고, 프로세서는 전달받은 발신 데이터와 수신 데이터에 기초하여 노면 상태, 바닥의 요철 여부, 장애물 여부 등을 식별할 수 있다. 일 실시 예에 따라, 센서(140)가 모션 인식 센서, 열 감지 센서 등을 포함하는 경우, 센서(140)는 감지된 정보를 프로세서(110)로 전달하고, 프로세서(110)는 전달받은 정보에 기초하여 장애물 여부 등을 식별할 수 있다. 예를 들어, 센서(140)는 각도 센서, 가속도 센서, 중력 센서, 자이로 센서, 지자기 센서, 방향 센서, 적외선 센서, 초음파 센서, ToF(Time-of-Flight), 라이다, 레이저 센서, 모션 인식 센서, 열 감지 센서, 이미지 센서, 트래킹 센서, 근접 센서, 조도 센서, 전압계, 전류계, 기압계, 습도계, 온도계, 터치 센서 등을 포함할 수 있다.
카메라(145)는 서빙 로봇(100)의 주변 환경을 촬영할 수 있다. 촬영된 이미지는 정지 이미지(예: 사진) 또는 동영상(예: 비디오 또는 여러 프레임)일 수 있다. 프로세서(110)는 카메라(145)에서 촬영된 이미지에 기초하여 주변 환경에 대한 정보를 획득할 수 있다. 예를 들어, 프로세서(110)는 촬영된 이미지에 기초하여 사용자와 관련된 정보, 장애물에 대한 정보를 획득할 수 있다. 프로세서(110)는 획득된 정보에 기초하여 제어 동작을 수행할 수 있다. 일 예로서, 서빙 로봇(100)은 서로 다른 기능을 수행하는 다양한 종류의 카메라를 포함할 수 있다. 예를 들어, 서빙 로봇(100)은 복수 개의 동일한 종류의 카메라를 포함할 수 있다. 예를 들어, 카메라(145)는 CCD 센서, CMOS 센서를 포함할 수 있다. 또한, 카메라(145)는 RGB 카메라, 뎁스 카메라, 광각 카메라, 망원 카메라 등을 포함할 수 있다.
마이크(150)는 사용자의 음성을 입력받을 수 있다. 예를 들어, 마이크(150)는 사용자로부터 음식을 주문하는 음성을 입력받을 수 있다. 프로세서(110)는 입력된 사용자의 음성에 기초하여 사용자가 주문한 음식을 인식하고, 주문된 음식의 서빙과 관련된 제어 동작을 수행할 수 있다. 예를 들어, 서빙 로봇(100)은 하나 이상의 마이크(150)를 포함할 수 있다. 마이크(150)는 일반 마이크, 서라운드 마이크, 지향성 마이크 등을 포함할 수 있다.
디스플레이(155)는 프로세서(110)에서 처리된 데이터를 영상으로 출력할 수 있다. 디스플레이(155)는 정보를 표시할 수 있고, 인식된 사용자의 명령에 대응되는 화면을 출력할 수 있다. 일 예로서, 디스플레이(155)는 적재부(20)에 배치될 수 있다. 즉, 적재부(20)의 일면은 트레이를 포함하고, 타면은 디스플레이(155)를 포함할 수 있다. 적재부(20)의 디스플레이 면이 상측 방향을 향하면, 디스플레이(155)는 프로세서(110)의 제어에 의해 음식과 관련된 정보(예, 메뉴)를 표시할 수 있다. 디스플레이(155)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode), 플렉서블 디스플레이, 터치 스크린 등으로 구현될 수 있다. 디스플레이(155)가 터치 스크린으로 구현되는 경우, 서빙 로봇(100)은 터치 스크린을 통해 제어 명령을 입력받을 수도 있다.
스피커(160)는 사운드 신호를 출력할 수 있다. 예를 들어, 스피커(160)는 사용자의 입력 명령에 대한 정보, 사용자가 주문한 음식과 관련된 정보, 서빙 정보, 경고 관련 정보, 서빙 로봇(100)의 상태 관련 정보, 동작 관련 정보 등을 음성이나 알림음으로 출력할 수 있다.
메모리(165)는 서빙 로봇(100)의 기능을 수행하는 데이터, 알고리즘 등을 저장하고, 서빙 로봇(100)에서 구동되는 프로그램, 명령어 등을 저장할 수 있다. 일 실시 예에 따라, 메모리(165)는 음식 관련 데이터, 서빙 관련 데이터, 서빙 로봇(100)의 가감속 데이터, 주행 맵을 포함하는 주행 관련 데이터 등을 저장할 수 있다. 메모리(165)에 저장된 알고리즘 또는 데이터는 프로세서(110)의 제어에 의해 프로세서(110)에 로딩되어 서빙 관련 기능을 수행할 수 있다. 예를 들어, 메모리(165)는 롬, 램, HDD, SSD, 메모리 카드 등의 타입으로 구현될 수 있다. 일 실시 예에 따르면, 메모리(165)는 프로세서(110)에서 실행 가능한 다양한 응용 프로그램을 저장할 수 있는 온 칩 메모리일 수 있다. 온 칩 메모리는 프로세서(110)에 인접한 캐시 메모리로 동작할 수 있다. 온 칩 메모리는 프로세서(110)에서 처리될 명령, 주소, 데이터를 저장할 수도 있고, 프로세서(110)의 처리 결과를 저장할 수도 있다. 온 칩 메모리는, 예를 들어, 래치(Latch), 레지스터, SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory), TRAM(Thyristor Random Access Memory), TCM(Tightly Coupled Memory) 등을 포함하는 저장 매체 또는 동작 메모리가 될 수 있다.
서빙 로봇(100)은 상술한 구성을 모두 포함할 수 있고, 일부 구성을 포함할 수 있다. 지금까지 서빙 로봇(100)의 구성을 설명하였다. 아래에서는 서빙 로봇(100)의 이동에 따른 서빙 로봇(100)의 제어 동작을 설명한다.
도 5a, 5b 및 도 5c는 일 실시 예에 따른 서빙 로봇의 구동 원리를 설명하는 도면이다.
도 5a를 참조하면, 액체류의 물체(71)가 도시되어 있다. 예를 들어, 액체류의 물체(71)는 물, 음료수 또는 컵 또는 그릇에 담긴 액체를 포함하는 음식일 수 있다. 예를 들어, 액체류의 물체(71)를 포함하는 용기가 서빙 로봇(100)의 적재부(20)의 트레이에 적재되면, 서빙 로봇(100)이 이동하지 않으면, 액체류의 물체(71)는 도 5a에 도시된 바와 같이 안정적인 상태를 유지할 수 있다. 서빙 로봇(100)은 액체류의 물체(71)을 적재하고, 서빙을 위해 이동할 수 있다.
도 5b를 참조하면, 가속되는 서빙 로봇(100)에 적재된 액체류의 물체(71)의 상태가 도시되어 있다.
정지 상태의 서빙 로봇(100)이 이동하면, 서빙 로봇(100)에 적재된 액체류의 물체(71)에 후방으로부터 가속도가 가해지게 된다. 일 실시 예에 따라, 등속도로 이동하는 서빙 로봇(100)이 가속하면, 서빙 로봇(100)에 적재된 액체류의 물체(71)에 후방으로부터 가속도가 가해지게 된다. 관성의 법칙에 의해 정지 상태(또는, 등속도 상태)의 액체류의 물체(71)는 계속 기존 상태를 유지하려는 성질을 나타낼 수 있다. 그러나, 액체류의 물체(71)는 유동성을 가지기 때문에 도 5b에 도시된 상태를 나타낼 수 있다. 서빙 로봇(100)이 계속 가속되면, 액체류의 물체(71)는 계속 도 5b에 도시된 상태를 나타낼 수 있다. 이 경우, 액체류의 물체(71)가 용기의 끝단을 넘어 흐르게 되면, 이로 인하여, 액체류의 물체(71)는 넘치게 되어 쏟아지게 된다.
일 실시 예에 따라, 서빙 로봇(100)은 일정 속도 이상 가속하면 다시 일정한 속도를 유지할 수 있다. 가속하는 서빙 로봇(100)이 일정한 속도를 유지한다는 것은 가속도가 0인 것을 의미하며, 가속도가 0이 될 때까지 서빙 로봇(100)에는 (-) 가속도가 가해지는 것을 의미한다. 일 실시 예에 따라, 서빙 로봇(100)은 주변 상황에 따라 감속할 수 있고, 서빙 로봇(100)에는 (-) 가속도가 가해진다. 이 경우, 서빙 로봇(100)에 적재된 액체류의 물체(71)는 도 5b에 도시된 상태와 반대 상태를 나타낼 수 있다. 즉, 가속도는 액체류의 물체(71)에 전방으로부터 가해질 수 있고, 가속도가 가해지는 방향의 액체류의 물체(71)의 수면이 높아질 수 있다.
일 실시 예에 따라, 서빙 로봇(100)의 속도 변화에 따라 액체류의 물체(71)는 진동할 수 있다. 즉, 액체류의 물체(71)의 수면은 용기의 좌측 방향과 우측 방향을 번갈아가며 높아질 수 있다. 상술한 바와 같이, 액체류의 물체(71)의 한쪽 방향의 수면이 높아지거나 진동하면, 액체류의 물체(71)는 넘칠 수 있다. 따라서, 서빙 로봇(100)의 이동(또는, 속도 변화)을 하더라도 액체류의 물체(71)를 안정적으로 서빙할 수 있는 서빙 로봇(100)이 필요하다.
일 실시 예에 따라, 서빙 로봇(100)에 가속도가 가해지더라도 안정적인 상태를 유지하는 액체류의 물체(71)가 도시되어 있다. 본 개시의 서빙 로봇(100)은 서빙 로봇(100)의 가속도(또는, 속도 변화)를 감지하고 감지된 가속도 정보에 기초하여 암(10) 및/또는 적재부(20)를 회전시킬 수 있다. 암(10) 및/또는 적재부(20)의 회전은 서빙 로봇(100)에 가해지는 가속도와 유사한 크기의 반대 방향의 가속도를 액체류의 물체(71)에 가함으로써 도 5c에 도시된 바와 같이, 액체류의 물체(71)가 안정적인 상태를 유지시킬 수 있다.
실시 예에 따라, 도 5c에 도시된 바와 같이, 서빙 로봇(100)의 속도 변화에 따라 액체류의 물체(71)가 진동(73)하면 (그래프의 선 73으로 나타낸 바와 같이), 서빙 로봇(100)은 암(10) 및/또는 적재부(20)를 제어하여 액체류의 물체(71)의 진동(73)과 위상이 반대인 진동(75)을 가함으로써 (그래프의 선 75로 나타낸 바와 같이) 액체류의 물체(71)에 가해지는 진동을 상쇄시킬 수 있다. 즉, 본 개시의 서빙 로봇(100)은 본체(1)에 가해진 가감속 정보에 기초하여 적재부(20)의 가감속 정보가 상쇄되도록 암(10) 및 적재부(20)를 제어할 수 있다. 상술한 과정을 통해 본 개시의 서빙 로봇(100)은 액체류의 물체(71)를 사용자에게 안정적으로 서빙할 수 있다.
도 6은 일 실시 예에 따른 등속도의 서빙 로봇을 설명하는 도면이다.
도 6에 도시된 바와 같이, 등속도의 서빙 로봇(100)은 암(10) 및 적재부(20)의 위치를 초기 상태로 유지할 수 있다. 예를 들어, 초기 상태는 암(10)이 본체(1)로부터 상측 방향으로 위치하고, 적재부(20)가 수평을 유지한 상태일 수 있다. 여기서, 등속도는 일정한 속도로 이동하는 경우 뿐만 아니라 정지한 상태를 포함할 수 있다.
도 7은 일 실시 예에 따른 가속되는 서빙 로봇을 설명하는 도면이다.
도 7을 참조하면, 가속되는 서빙 로봇(100)이 도시되어 있다. 서빙 로봇(100)의 적재부(20)에는 음식이 적재될 수 있다. 그리고, 서빙 로봇(100)은 이동할 수 있다. 정지 상태의 서빙 로봇(100)이 이동하면, 서빙 로봇(100)에는 후방으로부터 가속도가 가해질 수 있다. 서빙 로봇(100)에 가해지는 가속도는 본체(1) 뿐만 아니라 적재부(20)에도 가해지며, 적재부(20)에 적재된 음식에도 가해질 수 있다.
서빙 로봇(100)은 본체(1)의 가속 정보 및 적재부(20)의 가속 정보를 감지할 수 있다. 서빙 로봇(100)은 감지된 본체(1)의 가속 정보에 기초하여 적재부(20)의 가속 정보가 상쇄되도록 암(10) 및 적재부(20)를 회전시킬 수 있다. 일 실시 예에 따라, 서빙 로봇(100)은 메모리(165)에 가속 정보를 저장할 수 있다. 서빙 로봇(100)은 저장된 가속 정보에 기초하여 암(10) 및 적재부(20)를 회전시킬 수 있다. 예를 들어, 서빙 로봇(100)의 이동에 따라 또는 가속에 따라 본체(1)에 a의 가속도가 가해지면 서빙 로봇(100)은 적재부(20)의 가속도가 0이 되도록(또는, 0에 가까워지도록) 암(10)을 후방으로 회전시킬 수 있다. 서빙 로봇(100)은 감지된 본체(1)의 가속 정보에 기초하여 본체(1)와 연결된 암(10)의 일단의 축을 중심으로 암(1)을 기 설정된 각도만큼 후방으로 회전시킬 수 있다.
도 6에 도시된 바와 같이, 최초에 암(10)과 적재부(20)는 직각 상태일 수 있다. 따라서, 암(10)이 기 설정된 각도만큼 후방으로 회전하면 적재부(20)도 기 설정된 각도만큼 기울어질 수 있다. 이 경우, 적재부(20)에 적재된 음식은 한쪽으로 밀리거나 바닥으로 떨어질 수 있는 불안한 상태일 수 있다. 따라서, 암(10)이 기 설정된 각도만큼 후방으로 회전하면, 서빙 로봇(100)은 적재부(20)를 회전시켜 적재부(20)의 수평을 유지시켜 줄 수 있다.
서빙 로봇(100)은 일정 속도까지 가속되면, 등속도를 유지할 수 있다. 가속하는 서빙 로봇(100)이 등속도를 유지한다는 것은 등속도가 될 때까지 서빙 로봇(100)에 -a의 가속도가 가해진다는 것을 의미한다. 서빙 로봇(100)이 가속된 이후 등속도를 유지하면, 서빙 로봇(100)은 감지된 본체(1)의 속도 변화 정보에 기초하여 암(10) 및 적재부(20)를 제어할 수 있다. 즉, 서빙 로봇(100)은 암(10)의 일단의 축을 중심으로 암(10)을 전방 회전시켜 최초 위치로 이동시킬 수 있다. 따라서, 서빙 로봇(100)은 암(10)의 전방 회전에 기초하여 적재부(20)가 수평을 유지하도록 적재부(20)를 회전시킬 수 있다.
따라서, 서빙 로봇(100)이 이동 또는 가속되더라도 적재부(20)에 적재된 음식에 가해지는 가속도는 0이 되므로(또는, 0에 가까워지므로) 서빙 로봇(100)은 안정적으로 음식을 서빙할 수 있다.
도 8은 일 실시 예에 따른 감속되는 서빙 로봇을 설명하는 도면이다.
도 8을 참조하면, 감속되는 서빙 로봇(100)이 도시되어 있다. 이동하는 서빙 로봇(100)은 감속할 수 있다. 예를 들어, 서빙 로봇(100)은 장애물 발견, 코너 영역 이동, 서빙 목적지 도착한 경우 감속할 수 있다. 서빙 로봇(100)이 감속하면, 서빙 로봇(100)에는 전방으로부터 가속도가 가해질 수 있다. 서빙 로봇(100)에 가해지는 가속도는 본체(1) 뿐만 아니라 적재부(20)에도 가해지며, 적재부(20)에 적재된 음식에도 가해질 수 있다.
서빙 로봇(100)은 본체(1)의 감속 정보 및 적재부(20)의 감속 정보를 감지할 수 있다. 서빙 로봇(100)은 감지된 본체(1)의 감속 정보에 기초하여 적재부(20)의 감속 정보가 상쇄되도록 암(10) 및 적재부(20)를 회전시킬 수 있다. 일 실시 예에 따라, 서빙 로봇(100)은 메모리(165)에 감속 정보를 저장할 수 있다. 서빙 로봇(100)은 저장된 감속 정보에 기초하여 암(10) 및 적재부(20)를 회전시킬 수 있다. 예를 들어, 서빙 로봇(100)의 감속에 따라 본체(1)에 a의 가속도가 가해지면 서빙 로봇(100)은 적재부(20)의 가속도가 0이 되도록(또는, 0에 가까워지도록) 암(10)을 전방으로 회전시킬 수 있다. 서빙 로봇(100)은 감지된 본체(1)의 감속 정보에 기초하여 본체(1)와 연결된 암(10)의 일단의 축을 중심으로 암(1)을 기 설정된 각도만큼 전방으로 회전시킬 수 있다.
암(10)이 기 설정된 각도만큼 전방으로 회전하면 적재부(20)도 기 설정된 각도만큼 기울어질 수 있다. 이 경우, 적재부(20)에 적재된 음식은 불안한 상태일 수 있다. 따라서, 암(10)이 기 설정된 각도만큼 전방으로 회전하면, 서빙 로봇(100)은 적재부(20)를 회전시켜 적재부(20)의 수평을 유지시켜 줄 수 있다.
서빙 로봇(100)은 일정 속도까지 감속되면, 등속도(0인 경우 포함)를 유지할 수 있다. 감속하는 서빙 로봇(100)이 등속도를 유지한다는 것은 등속도가 될 때까지 서빙 로봇(100)에 -a의 가속도가 가해진다는 것을 의미한다. 서빙 로봇(100)이 감속된 이후 등속도를 유지하면, 서빙 로봇(100)은 감지된 본체(1)의 속도 변화 정보에 기초하여 암(10) 및 적재부(20)를 제어할 수 있다. 즉, 서빙 로봇(100)은 암(10)의 일단의 축을 중심으로 암(10)을 후방 회전시켜 최초 위치로 이동시킬 수 있다. 따라서, 서빙 로봇(100)은 암(10)의 후방 회전에 기초하여 적재부(20)가 수평을 유지하도록 적재부(20)를 회전시킬 수 있다.
따라서, 서빙 로봇(100)이 감속되더라도 서빙 로봇(100)은 안정적으로 음식을 서빙할 수 있다.
예를 들어, 다양한 시나리오에 따라, 서빙 로봇(100)은 음식을 서빙 중에 가감속을 반복할 수 있다. 서빙 로봇(100)이 가감속을 반복하는 경우, 도 5c에 설명한 바와 같이 적재부(20)에 적재된 액체류의 음식은 진동할 수 있다. 본 개시의 서빙 로봇(100)은 본체(1)의 가감속 정보 및 적재부(20)의 가감속 정보를 감지하고, 상술한 방식으로 암(10) 및 적재부(20)를 제어함으로써 적재부(20)에 적재된 액체류의 음식의 진동을 상쇄시킬 수 있다. 따라서, 본 개시의 서빙 로봇(100)은 가감속을 반복하더라도 안정적으로 액체류의 음식을 서빙할 수 있다.
도 9a 및 도 9b는 일 실시 예에 따른 경사로에 위치하는 서빙 로봇을 설명하는 도면이다.
도 9a 및 도 9b에는 서로 다른 각도의 경사로를 이동하는 서빙 로봇(100)이 도시되어 있다. 서빙 로봇(100)이 음식을 서빙할 때, 바닥의 상태에 따라 경사로를 이동할 수 있다. 경사로의 각도는 다양할 수 있다. 일 예로서, 도 9a에 도시된 바와 같이, 경사로의 각도는 x일 수 있고, 도 9b에 도시된 바와 같이, 경사로의 각도는 y일 수 있다. 각도 x는 각도 y보다 작은 각도일 수 있다.
서빙 로봇(100)이 경사로를 이동할 때, 서빙 로봇(100)은 본체(1)의 기울기를 감지할 수 있다. 그리고, 서빙 로봇(100)은 감지된 본체(1)의 기울기에 기초하여 암(10) 및/또는 적재부(20)를 회전시켜 적재부(20)를 수평으로 유지시킬 수 있다.
도 9a에 도시된 바와 같이, 경사로의 각도는 x 로 기준 각도보다 작은 각도일 수 있다. 기준 각도는 기 설정된 각도일 수 있다. 이 경우, 서빙 로봇(100)은 암(10)을 회전시키지 않고 적재부(20)만 회전시켜 적재부(20)의 수평을 유지시킬 수 있다. 즉, 서빙 로봇(100)은 감지된 본체(1)의 기울기 x 각도에 기초하여 적재부(20)만 회전시켜 적재부(20)의 수평을 유지시킬 수 있다.
도 9b에 도시된 바와 같이, 경사로의 각도는 y로 기 설정된 각도보다 큰 각도일 수 있다. 이 경우, 서빙 로봇(100)은 적재부(20)만 회전시켜 적재부(20)의 수평을 유지시키기 어려울 수 있다. 서빙 로봇(100)은 암(10) 및 적재부(20)를 회전시켜 적재부(20)의 수평을 유지시킬 수 있다. 즉, 서빙 로봇(100)은 감지된 본체(1)의 기울기 y 각도에 기초하여 암(10) 및 적재부(20)를 회전시켜 적재부(20)의 수평을 유지시킬 수 있다.
따라서, 서빙 로봇(100)은 서빙 로봇(100)이 이동하는 경사각에 관계없이 안정적으로 음식을 서빙할 수 있다. 예를 들어, 서빙 로봇(100)은 경사 각도를 고려할 수 있으며, 경사각에 기초하여 적재부(20)의 회전, 암(10)의 회전 또는 적재부(20) 및 암(10) 모두의 회전을 조절할 수 있다. .
도 10은 일 실시 예에 따른 주문을 받는 서빙 로봇을 설명하는 도면이다.
도 10을 참조하면, 사용자로부터 주문을 받는 서빙 로봇(100)이 도시되어 있다. 상술한 바와 같이, 서빙 로봇(100)의 적재부(20)의 일면은 음식을 적재하는 트레이를 포함하고, 타면은 디스플레이(155)를 포함할 수 있다. 서빙 로봇(100)은 트레이 또는 디스플레이(155)가 상측 방향을 향하도록 적재부(20)를 회전시킬 수 있다.
예를 들어, 서빙 로봇(100)은 카메라(145)를 이용하여 주변 환경에 대한 이미지를 촬영할 수 있다. 서빙 로봇(100)는 촬영된 이미지에서 사용자(81, 82)를 식별할 수 있다. 서빙 로봇(100)이 적재부(20)에 음식이 적재되지 않은 상태에서 사용자(81, 82)를 식별하면, 서빙 로봇(100)은 디스플레이(155)가 상측 방향을 향하도록 적재부(20)를 회전시킬 수 있다. 디스플레이(155)가 상측 방향을 향하면, 서빙 로봇(100)은 디스플레이(155)에 음식과 관련된 정보를 표시할 수 있다. 서빙 로봇(100)은 사용자(81, 82)로부터 주문을 받기 위해 암(10) 및 디스플레이(155)를 포함하는 적재부(20)를 적절한 각도로 회전시킬 수 있다. 예를 들어, 서빙 로봇(100)은 촬영된 이미지에서 사용자(81, 82)의 얼굴 영역(예: 얼굴 부위)을 인식할 수 있고, 적재부(20)의 디스플레이(155)의 위치와 인식된 사용자(81, 82)의 얼굴 영역의 위치로부터 판단된 각도에 기초하여 암(10) 및 디스플레이(155)를 포함하는 적재부(20)를 회전시킬 수 있다. 즉, 서빙 로봇(100)은 촬영된 이미지에 기초하여(예를 들어, 촬영된 이미지에서 식별된 사용자의 얼굴 위치를 기준으로) 암(10) 및 적재부(20)를 회전시킬 수 있다. 다만, 이에 한정되는 것은 아니며, 다른 실시 예에 따르면 서빙 로봇(100)은 촬영 이미지 내에서 만족되는 다른 기준에 따라 암(10)과 적재부(20)를 회전시킬 수도 있다.
일 예로서, 제1 사용자(81)는 성인이고, 제1 사용자(81)의 얼굴 영역이 디스플레이(155)의 위치보다 높은 위치이면, 서빙 로봇(100)은 암(10)을 전방으로 10도 회전시키고, 디스플레이(155)를 포함하는 적재부(20)를 전방으로 5도 회전시킬 수 있다. 제2 사용자(82)는 어린이이고, 제2 사용자(82)의 얼굴 영역이 디스플레이(155)의 위치와 비슷한 위치이면, 서빙 로봇(100)은 암(10)을 전방으로 30도 회전시키고, 디스플레이(155)를 포함하는 적재부(20)를 전방으로 20도 회전시킬 수 있다. 또한, 제1 사용자(81)와 제2 사용자(82)가 인접하게 위치한 경우, 서빙 로봇(100)은 디스플레이(155)가 제1 사용자(81) 또는 제2 사용자(82)를 향하도록 방향만 변경할 수 있다. 본 개시의 일 실시 예에 따라, 제1 사용자(81)와 제2 사용자(82)가 이격하여 위치한 경우, 서빙 로봇(100)은 제1 사용자(81)로부터 주문 입력이 완료되면, 제2 사용자(82)에게 이동하여 제2 사용자(82)로부터 주문을 입력받을 수 있다.
서빙 로봇(100)은 터치 스크린으로 구현된 디스플레이(155)를 통한 터치 입력으로 주문을 입력받을 수 있고, 마이크(150)를 통해 음성으로 주문을 입력받을 수 있다. 따라서, 서빙 로봇(100)은 사용자가 편리하게 음식을 선택할 수 있도록 도움을 줄 수 있다.
사용자가 음식을 선택하면, 서빙 로봇(100)은 음식을 선택한 사용자 및 선택된 음식을 식별할 수 있다. 서빙 로봇(100)은 식별된 사용자 및 음식에 대한 정보를 음식을 서빙할 때 이용할 수 있다. 그리고, 서빙 로봇(100)은 통신 인터페이스(135)를 통해 선택된 음식에 대한 정보를 외부 장치로 전송할 수 있다. 예를 들어, 외부 장치는 주방에 위치한 전자 장치일 수 있다. 조리자는 주방에 위치한 전자 장치에서 수신한 음식에 대한 정보에 기초하여 음식을 조리할 수 있다.
도 11은 일 실시 예에 따른 주문 음식을 서빙하는 서빙 로봇을 설명하는 도면이다.
도 11을 참조하면, 음식을 서빙하는 서빙 로봇(100)이 도시되어 있다. 서빙 로봇(100)은 음식을 적재하기 위해 트레이가 상측 방향을 향하도록 적재부(20)를 회전시킬 수 있다. 서빙 로봇(100)은 트레이에 적재된 음식을 사용자(81, 82)에게 서빙하기 위해 이동할 수 있다. 서빙 로봇(100)이 이동할 때, 서빙 로봇(100)은 안정적으로 음식을 전달하기 위해서 상술한 방식으로 가감속 정보에 기초하여 암(10) 및 적재부(20)를 제어할 수 있다.
서빙 로봇(100)이 사용자(81, 82)에게 도착하면, 서빙 로봇(100)은 식별된 사용자 및 식별된 음식에 기초하여 암(10) 및 적재부(20)를 회전시켜 음식을 서빙할 수 있다. 일 예로서, 제1 사용자(81)는 A 음식을 주문하고, 제2 사용자(82)는 B 음식을 주문할 수 있다. 서빙 로봇(100)은 제1 사용자(81)에게 A 음식을 서빙하기 위해 암(10)을 15도 전방으로 회전시킬 수 있다. 그리고, 서빙 로봇(100)은 음식이 적재된 적재부(20)가 수평을 유지하도록 적재부(20)를 함께 회전시킬 수 있다. 또한, 서빙 로봇(100)은 스피커(160)를 통해 제1 사용자(81)에게 “주문하신 A 음식 나왔습니다.”와 같은 안내 메시지를 출력할 수 있다. 제1 사용자(81)에게 A 음식 서빙이 완료된 경우, 서빙 로봇(100)은 제2 사용자(82)에게 B 음식을 서빙할 수 있다. 서빙 로봇(100)은 제2 사용자(82)에게 B 음식을 서빙하기 위해 암(10)을 30도 전방으로 회전시킬 수 있다. 그리고, 서빙 로봇(100)은 음식이 적재된 적재부(20)가 수평을 유지하도록 적재부(20)를 함께 회전시킬 수 있다. 또한, 서빙 로봇(100)은 스피커(160)를 통해 제2 사용자(82)에게 “주문하신 B 음식 나왔습니다.”와 같은 안내 메시지를 출력할 수 있다. 도 10에서 설명한 바와 같이, 서빙 로봇(100)은 제1 사용자(81) 및 제2 사용자(82)의 위치에 따라 방향만 전환하여 음식을 서빙할 수 있고, 이동하여 음식을 서빙할 수 있다.
지금까지, 서빙 로봇(100)의 다양한 실시 예를 설명하였다. 아래에서는 서빙 로봇(100)의 제어 방법을 설명한다.
도 12는 일 실시 예에 따른 서빙 로봇의 제어 방법을 설명하는 흐름도이다.
도 12를 참조하면, S1210 단계에서, 적재부에 음식이 적재되면, 서빙 로봇은 이동할 수 있다. S1220 단계에서, 이동하는 동안, 서빙 로봇(100)은 서빙 로봇의 본체에 연결된 암을 회전 시킬 수 있다. 예를 들어, 암은 일 단이 본체에 연결되고, 타단이 적재부에 연결될 수 있다. 본 개시의 일 실시 예에 따라, S1220 단계에서 서빙 로봇(100)은 가감속에 따라 암을 전방으로 또는 후방으로 회전시킬 수 있다(S1220). S1230 단계에서 서빙 로봇(100)은 적재부의 수평을 유지시킬 수 있다. 예를 들어, 서빙 로봇(100)은 암의 정방 또는 후방 회전에 기초하여, 적재부를 회전시켜 적재부를 수평으로 유지시킬 수 있다
예를 들어, 서빙 로봇은 본체의 가감속 정보 및 적재부의 가감속 정보를 감지할 수 있다. 서빙 로봇은 감지된 본체의 가감속 정보에 기초하여 적재부의 가감속 정보가 상쇄되도록 암을 전방 회전 또는 후방 회전시킬 수 있다.
만일, 서빙 로봇이 가속되면, 서빙 로봇은 감지된 본체의 가속 정보에 기초하여 본체와 연결된 암의 일단의 축을 중심으로 암을 기 설정된 제1 각도만큼 후방 회전시킬 수 있다. 그리고, 서빙 로봇은 기 설정된 제1 각도에 기초하여 적재부를 회전시켜 적재부의 수평을 유지시킬 수 있다. 서빙 로봇이 가속된 이후 등속도를 유지하면, 서빙 로봇은 감지된 본체의 속도 변화 정보에 기초하여 암의 일단의 축을 중심으로 암을 전방 회전시켜 최초 위치로 이동시킬 수 있다. 그리고, 서빙 로봇은 암의 전방 회전에 기초하여 적재부를 회전시켜 적재부의 수평을 유지시킬 수 있다.
만일, 서빙 로봇이 감속되면, 서빙 로봇은 감지된 본체의 감속 정보에 기초하여 본체와 연결된 암의 일단의 축을 중심으로 암을 기 설정된 제2 각도만큼 전방으로 회전시킬 수 있다. 그리고, 서빙 로봇은 기 설정된 제2 각도에 기초하여 적재부를 회전시켜 적재부의 수평을 유지시킬 수 있다. 서빙 로봇이 감속된 이후 등속도를 유지하면, 서빙 로봇은 감지된 본체의 속도 변화 정보에 기초하여 암의 일단의 축을 중심으로 암을 후방 회전시켜 최초 위치로 이동시킬 수 있다. 그리고, 서빙 로봇은 암의 후방 회전에 기초하여 적재부를 회전시켜 적재부의 수평을 유지시킬 수 있다.
또한, 서빙 로봇이 경사로를 이동하는 경우, 서빙 로봇은 본체의 기울기를 감지할 수 있다. 서빙 로봇은 감지된 본체의 기울기에 기초하여 적재부가 수평을 유지하도록 암 및 적재부 중 적어도 하나를 회전시킬 수 있다.
서빙 로봇의 적재부의 일면은 트레이를 포함하고, 타면은 디스플레이를 포함할 수 있다. 서빙 로봇은 트레이 또는 디스플레이가 상측 방향을 향하도록 적재부를 회전시킬 수 있다. 서빙 로봇은 디스플레이가 상측 방향을 향하면, 음식과 관련된 정보를 표시할 수 있다.
서빙 로봇은 주변 환경에 대한 이미지를 촬영할 수 있다. 서빙 로봇은 적재부에 음식이 적재되지 않은 상태에서 촬영된 이미지로부터 고객을 식별할 수 있다. 서빙 로봇이 고객을 식별하면, 디스플레이가 상측 방향을 향하도록 적재부를 회전시킬 수 있다. 서빙 로봇은 고객으로부터 주문을 입력받을 수 있다. 예를 들어, 서빙 로봇은 터치 스크린으로 구현된 디스플레이를 통한 터치 입력 또는 스피커를 통한 음성 입력으로 주문을 입력받을 수 있다. 서빙 로봇은 고객이 선택한 음식을 식별할 수 있다.
서빙 로봇은 음식을 적재하기 위해 트레이가 상측 방향을 향하도록 적재부를 회전시킬 수 있다. 그리고, 서빙 로봇은 음식을 고객에게 안전하게 전달하기 위해 가감속 정보를 이용하여 암 및 적재부를 제어할 수 있다. 서빙 로봇이 고객에게 도착하면, 서빙 로봇은 식별된 고객 및 식별된 음식에 기초하여 음식을 고객에게 서빙하기 위해 암 및 적재부를 회전시킬 수 있다.
따라서, 사용자가 편리하게 음식과 같은 아이템을 주문하고, 받을 수 있도록 본 개시의 서빙 로봇은 안전하게 음식과 같은 아이템을 이동시킬 수 있다. 또한, 본 개시의 서빙 로봇은 사용자와 인터랙션을 강화할 수 있다.
본 개시의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상술한 다양한 실시 예에 따른 서빙 로봇의 제어 방법은 컴퓨터 프로그램 제품으로 제공될 수도 있다. 컴퓨터 프로그램 제품은 S/W 프로그램 자체 또는 S/W 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)를 포함할 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (15)

  1. 서빙 로봇에 있어서,
    본체;
    객체를 적재하는 적재부;
    상기 본체에 회전 가능하게 연결된 제1 단 및상기 적재부에 회전 가능하게 연결된 제2 단을 포함하는 암(arm);
    구동부; 및
    상기 암이 제1 방향으로 회전 또는 제1 방향과 반대인 제2 방향으로 회전 시 상기 적재부가 수평을 유지하도록 상기 구동부를 제어하는 적어도 하나의 프로세서를 포함하는, 서빙 로봇.
  2. 제1항에 있어서,
    상기 본체의 가속 또는 감속을 감지하는 센서;를 더 포함하고,
    상기 객체는 음식을 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 적재부에 음식이 적재되고 상기 서빙 로봇이 이동하면, 상기 감지된 상기 본체의 가속 또는 감속에 기초하여, 제1 정보를 획득하고, 상기 제1 정보에 기초하여, 상기 적재부에서 상기 본체의 가속 또는 감속 효과가 상쇄되도록 상기 암을 상기 제1 방향 또는 상기 제2 방향으로 회전하도록 상기 구동부를 제어하는, 서빙 로봇.
  3. 제2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 서빙 로봇이 상기 제1 방향으로 가속하면, 상기 본체의 제1 정보에 기초하여 상기 본체와 연결된 상기 암의 제1 단의 축을 중심으로 최초 위치에서 상기 제2 방향으로 제1 각도만큼 상기 암을 회전시키도록 상기 구동부를 제어하고,
    상기 제1 각도에 기초하여 상기 적재부를 회전시켜 상기 적재부가 수평을 유지하도록 상기 구동부를 제어하는, 서빙 로봇.
  4. 제3항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 서빙 로봇이 가속 후 등속도를 유지하면, 상기 암의 제1 단의 축을 중심으로 상기 암을 상기 제1 방향으로 회전시켜 최초 위치로 이동시키도록 상기 구동부를 제어하고,
    상기 암의 상기 제1 방향으로의 회전에 기초하여 상기 적재부를 회전시켜 상기 적재부가 수평을 유지하도록 상기 구동부를 제어하는, 서빙 로봇.
  5. 제2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 서빙 로봇이 상기 제1 방향으로 감속하면, 상기 본체의 제1 정보에 기초하여 상기 본체와 연결된 상기 암의 제1 단의 축을 중심으로 최초 위치에서 상기 제1 방향으로 제2 각도만큼 상기 암을 회전시키도록 상기 구동부를 제어하고,
    상기 제2 각도에 기초하여 상기 적재부를 회전시켜 상기 적재부가 수평을 유지하도록 상기 구동부를 제어하는, 서빙 로봇.
  6. 제5항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 서빙 로봇이 감속 후 등속도를 유지하면, 상기 암의 제1 단의 축을 중심으로 상기 암을 상기 제1 방향으로 회전시켜 최초 위치로 이동시키도록 상기 구동부를 제어하고,
    상기 암의 상기 제2 방향으로의 회전에 기초하여 상기 적재부를 회전시켜 상기 적재부가 수평을 유지하도록 상기 구동부를 제어하는, 서빙 로봇.
  7. 제2항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 센서로부터 상기 본체의 기울기 정보를 획득하고, 상기 본체의 기울기 정보에 기초하여 상기 적재부가 수평을 유지하도록 상기 암 및 상기 적재부 중 적어도 하나를 회전시키도록 상기 구동부를 제어하는, 서빙 로봇.
  8. 제2항에 있어서,
    상기 적재부의 트레이를 포함하는 제1 면 및 디스플레이를 포함하는 제2 면을 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 적재부를 회전시켜 상기 트레이 또는 상기 디스플레이가 상측 방향을 향하도록 상기 구동부를 제어하고,
    상기 디스플레이가 상측 방향을 향하면, 상기 음식과 관련된 정보를 표시하도록 상기 디스플레이를 제어하는, 서빙 로봇.
  9. 제8항에 있어서,
    카메라;를 더 포함하고,
    상기 적어도 하나의 프로세서는,
    이미지를 촬영하도록 상기 카메라를 제어하고, 상기 적재부에 음식이 적재되지 않은 상태에서 상기 촬영된 이미지로부터 고객을 식별하면, 상기 적재부를 회전시켜 상기 디스플레이가 상측 방향을 향하도록 상기 구동부를 제어하는, 서빙 로봇.
  10. 제9항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 고객이 선택한 음식을 식별하는, 서빙 로봇.
  11. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 음식을 적재하기 위해 상기 적재부를 회전시켜 상기 트레이가 상측 방향을 향하도록 상기 구동부를 제어하고, 상기 식별된 고객 및 상기 고객이 선택한 음식에 기초하여 상기 음식을 상기 고객에게 서빙하기 위해 상기 암 및 상기 적재부를 회전시키도록 상기 구동부를 제어하는, 서빙 로봇.
  12. 서빙 로봇의 제어 방법에 있어서,
    상기 서빙 로봇의 적재부에 객체가 적재되면 상기 서빙 로보을 이동시키는 단계;
    상기 본체에 회전 가능하게 연결된 제1 단 및 상기 적재부에 회전 가능하게 연결된 제2 단을 포함하는 암(arm)을 회전시키는 단계; 및
    상기 암이 제1 방향 또는 상기 제1 방향과 반대인 제2 방향으로 회전 시 상기 적재부의 수평을 유지시키는 단계;를 포함하는 서빙 로봇의 제어 방법.
  13. 제12항에 있어서,
    상기 본체의 가속 또는 감속을 나타내는 제1 정보를 획득하는 단계;
    상기 암을 상기 제1 방향 또는 상기 제2 방향으로 회전 시키는 단계는,
    상기 제1 정보에 기초하여, 상기 적재부에서 상기 본체의 가속 또는 감속 효과가 상쇄되도록 상기 암을 상기 제1 방향 또는 상기 제2 방향으로 회전시키는 단계를 포함하는, 서빙 로봇의 제어 방법.
  14. 제13항에 있어서,
    상기 암을 상기 제1 방향 또는 상기 제1 방향으로 회전시키는 단계는,
    상기 서빙 로봇이 상기 제1 방향으로 가속하면, 상기 본체의 제1 정보에 기초하여 상기 본체와 연결된 상기 암의 제1 단의 축을 중심으로 최초 위치에서 상기 제2 방향으로 제1 각도만큼 상기 암을 회전시키는 단계를 포함하고,,
    상기 적재부의 수평을 유지시키는 단계는,
    상기 제1 각도에 기초하여 상기 적재부를 회전시켜 상기 적재부의 수평을 유지시키는, 서빙 로봇의 제어 방법.
  15. 제14항에 있어서,
    상기 암을 상기 제1 방향 또는 상기 제1 방향으로 회전시키는 단계는,
    상기 서빙 로봇이 가속 후 등속도를 유지하면, 상기 암의 제1 단의 축을 중심으로 상기 암을 상기 제1 방향으로 회전시켜 최초 위치로 이동시키고,
    상기 적재부의 수평을 유지시키는 단계는,
    상기 암의 상기 제1 방향으로의 회전에 기초하여 상기 적재부를 회전시켜 상기 적재부의 수평을 유지시키는, 서빙 로봇의 제어 방법.
PCT/KR2023/013833 2022-09-15 2023-09-14 서빙 로봇 및 그 제어 방법 WO2024058574A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/529,557 US20240100711A1 (en) 2022-09-15 2023-12-05 Serving robot and control method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20220116619 2022-09-15
KR10-2022-0116619 2022-09-15
KR10-2022-0123306 2022-09-28
KR1020220123306A KR20240037781A (ko) 2022-09-15 2022-09-28 서빙 로봇 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/529,557 Continuation US20240100711A1 (en) 2022-09-15 2023-12-05 Serving robot and control method thereof

Publications (1)

Publication Number Publication Date
WO2024058574A1 true WO2024058574A1 (ko) 2024-03-21

Family

ID=90275511

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/013833 WO2024058574A1 (ko) 2022-09-15 2023-09-14 서빙 로봇 및 그 제어 방법

Country Status (2)

Country Link
US (1) US20240100711A1 (ko)
WO (1) WO2024058574A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100026768A (ko) * 2008-09-01 2010-03-10 주식회사 유진로봇 각도 유지 로봇 팔 시스템
KR20100030408A (ko) * 2008-09-10 2010-03-18 주식회사 유진로봇 서빙용 로봇의 양팔을 동시 구동하는 시스템
JP6665450B2 (ja) * 2015-08-31 2020-03-13 セイコーエプソン株式会社 ロボット、制御装置、及びロボットシステム
CN212044751U (zh) * 2020-03-17 2020-12-01 深圳车泰斗科技有限公司 基于激光和视觉定位导航的送餐服务机器人
KR102333675B1 (ko) * 2021-04-22 2021-12-02 주식회사 라운지랩 아이스크림 제조를 위한 로봇 팔 시스템 및 이를 위한 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100026768A (ko) * 2008-09-01 2010-03-10 주식회사 유진로봇 각도 유지 로봇 팔 시스템
KR20100030408A (ko) * 2008-09-10 2010-03-18 주식회사 유진로봇 서빙용 로봇의 양팔을 동시 구동하는 시스템
JP6665450B2 (ja) * 2015-08-31 2020-03-13 セイコーエプソン株式会社 ロボット、制御装置、及びロボットシステム
CN212044751U (zh) * 2020-03-17 2020-12-01 深圳车泰斗科技有限公司 基于激光和视觉定位导航的送餐服务机器人
KR102333675B1 (ko) * 2021-04-22 2021-12-02 주식회사 라운지랩 아이스크림 제조를 위한 로봇 팔 시스템 및 이를 위한 제어 방법

Also Published As

Publication number Publication date
US20240100711A1 (en) 2024-03-28

Similar Documents

Publication Publication Date Title
JPS6029833A (ja) 画像表示装置
WO2021157904A1 (en) Electronic apparatus and controlling method thereof
WO2020017890A1 (en) System and method for 3d association of detected objects
WO2021132812A1 (en) Display apparatus and control method thereof
JP2021064067A (ja) 機器、情報処理方法、プログラム、情報処理システムおよび情報処理システムの方法
WO2011040710A2 (ko) 단말기의 움직임 또는 자세에 기초하여 비주얼 서치를 수행하기 위한 방법, 단말기 및 컴퓨터 판독 가능한 기록 매체
WO2024058574A1 (ko) 서빙 로봇 및 그 제어 방법
JP2017106671A (ja) 冷蔵庫、冷蔵庫内画像管理システムおよびプログラム
KR20210015577A (ko) 전자 장치 및 그 제어 방법
EP4232882A1 (en) Power control based at least in part on user eye movement
WO2014092272A1 (ko) 프로젝션 기능을 갖는 로봇 및 로봇의 프로젝터 제어 방법
JP2011186636A (ja) 情報処理装置および方法、並びにプログラム
US20060158521A1 (en) Mechanical and thermal aspects of an enclosure for interactive system components and the like
KR20240037781A (ko) 서빙 로봇 및 그 제어 방법
WO2024058402A1 (ko) 주행 맵을 생성하는 주행 로봇 및 그 제어 방법
WO2023003450A1 (ko) 주행 로봇 및 그 제어 방법
WO2021225231A1 (ko) 이동장치, 이동장치의 제어 방법 및 운송관리 시스템
AL-TAMEEMI RMSRS: Rover Multi-purpose Surveillance Robotic System
KR20200094831A (ko) 로봇 및 그 제어 방법
WO2024025093A1 (ko) 라이다 센서가 탑재된 로봇 및 그의 제어 방법
WO2024063328A1 (ko) 질량부를 이용하여 무게 중심을 이동시키는 로봇 및 그의 무게 중심 이동 방법
WO2024080592A1 (ko) 맵을 공유하는 로봇 및 그의 맵 공유 방법
WO2023043075A1 (ko) 전자 장치 및 이의 제어 방법
WO2022086029A1 (ko) 전자 장치 및 그 제어 방법
WO2022163998A1 (ko) 이동 로봇 장치 및 이의 제어 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23865870

Country of ref document: EP

Kind code of ref document: A1