WO2020184942A1 - 음식 및/또는 음료의 서빙을 위한 로봇 - Google Patents

음식 및/또는 음료의 서빙을 위한 로봇 Download PDF

Info

Publication number
WO2020184942A1
WO2020184942A1 PCT/KR2020/003278 KR2020003278W WO2020184942A1 WO 2020184942 A1 WO2020184942 A1 WO 2020184942A1 KR 2020003278 W KR2020003278 W KR 2020003278W WO 2020184942 A1 WO2020184942 A1 WO 2020184942A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
processing unit
camera
motor system
support
Prior art date
Application number
PCT/KR2020/003278
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
Application filed by 주식회사 베어로보틱스코리아 filed Critical 주식회사 베어로보틱스코리아
Publication of WO2020184942A1 publication Critical patent/WO2020184942A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0045Manipulators used in the food industry
    • 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
    • B25J13/00Controls for manipulators
    • B25J13/003Controls for manipulators by means of an audio-responsive input
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/081Touching devices, e.g. pressure-sensitive
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/087Controls for manipulators by means of sensing devices, e.g. viewing or touching devices for sensing other physical parameters, e.g. electrical or chemical properties
    • 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/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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
    • 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

Definitions

  • This application relates generally to robots, and more specifically to robots configured to serve food and/or beverages.
  • the robot includes a base having a plurality of wheels; A body having a lower end coupled to the base and an upper end disposed on the lower end and configured to support food and/or beverages; A first camera disposed at the lower end and oriented to look upward; And a second camera disposed on the upper end and configured to look downward.
  • the first camera is oriented so that its detection range covers a first area not covered by the second camera, and the second camera is a second camera whose detection range is not covered by the first camera. Oriented to cover the area.
  • the robot further includes a third camera disposed on the upper end, and the third camera is configured to look in a substantially horizontal direction.
  • the robot a processing unit configured to obtain a first point cloud from the first camera and a second point cloud from the second camera, and process the first and second point clouds It includes more.
  • the processing unit is configured to obtain first and second 2D point clouds by removing height components from the first and second point clouds, and the processing unit combines the first and second 2D point clouds It is configured to determine the obstacle boundary.
  • the processing unit is configured to manipulate the robot based on the obstacle boundary.
  • the robot further includes a processing unit configured to obtain a map of the facility and determine a traveling route within the facility based on the map.
  • the robot further comprises a laser device configured to detect the surroundings (eg, at least behind the robot).
  • a laser device configured to detect the surroundings (eg, at least behind the robot).
  • the upper end includes a support detachably coupled to the rest of the upper end, and the support is configured to support the food and/or beverage.
  • the robot further comprises a weight sensor coupled to the support.
  • the robot further comprises a processing unit configured to receive input from a weight sensor or camera, and to process the input to determine whether an article has been placed on or removed from the support.
  • a processing unit configured to receive input from a weight sensor or camera, and to process the input to determine whether an article has been placed on or removed from the support.
  • the support meets the National Sanitation Foundation (NSF) requirements, the National Standards Institute (ANSI) requirements, the Food and Drug Administration (FDA) requirements, or any combination of the above requirements.
  • NSF National Sanitation Foundation
  • ANSI National Standards Institute
  • FDA Food and Drug Administration
  • the support is configured to withstand temperatures above 135 degrees Fahrenheit.
  • the support is polyethylene terephthalate (PET), polypropylene (PP), polycarbonate (PC), synthetic fluoropolymer of tetrafluoroethylene, polychlorotrifluoroethylene (PCTFE), polyvinylidene fluoride ( PVDF), a copolymer of ethylene and chlorotrifluoroethylene, or chlorinated polyvinyl chloride (CPVC).
  • PET polyethylene terephthalate
  • PP polypropylene
  • PC polycarbonate
  • synthetic fluoropolymer of tetrafluoroethylene polychlorotrifluoroethylene
  • PCTFE polychlorotrifluoroethylene
  • PVDF polyvinylidene fluoride
  • CPVC chlorinated polyvinyl chloride
  • the robot generates a first control signal for causing the robot to stop and provide a service to a first table in the facility, and based on the one or more criteria being met, the robot is the next destination in the facility. Further comprising a processing unit configured to generate a second control signal for moving toward.
  • the one or more criteria include the passage of a period of time.
  • the one or more criteria include a change in weight supported by the robot.
  • the processing unit is configured to determine whether the one or more criteria are satisfied based on an optical image or based on a parameter determined based on the optical image.
  • the next destination comprises a second table, or a home position, to which the service is to be provided.
  • the robot further comprises an optical camera configured to look at a spatial region above the food support surface associated with the upper end.
  • the first camera comprises a first depth detection camera
  • the second camera comprises a second depth detection camera
  • the robot further comprises a third depth sensing camera.
  • the lower end has a first cross-sectional dimension and the upper end has a second cross-sectional dimension that is greater than the first cross-sectional dimension.
  • the robot further includes a speaker disposed at the upper end or the lower end, and a processing unit configured to control the speaker to provide audio information.
  • the robot further includes a microphone disposed at the upper end or the lower end.
  • the robot further comprises one or more programmable buttons disposed on the upper end.
  • the lower end includes a slot configured to receive a container, the container sized to hold a tableware and/or food menu.
  • the upper end portion has a frame movable from a first position to a second position in a vertical direction.
  • the robot further includes a touch screen device detachably coupled to the upper portion or the lower portion.
  • the robot further includes a first motor coupled to a first wheel among the plurality of wheels, and a second motor coupled to a second wheel among the plurality of wheels.
  • the robot includes a base having a plurality of wheels; A body having a lower end coupled to the base and an upper end disposed over the lower end; And a support disposed at the upper end, wherein the support is configured to withstand a temperature higher than 135 degrees Fahrenheit.
  • the support meets the National Sanitation Foundation (NSF) requirements, the National Standards Institute (ANSI) requirements, the Food and Drug Administration (FDA) requirements, or any combination of the above requirements.
  • NSF National Sanitation Foundation
  • ANSI National Standards Institute
  • FDA Food and Drug Administration
  • the support is polyethylene terephthalate (PET), polypropylene (PP), polycarbonate (PC), synthetic fluoropolymer of tetrafluoroethylene, polychlorotrifluoroethylene (PCTFE), polyvinylidene fluoride ( PVDF), a copolymer of ethylene and chlorotrifluoroethylene, or chlorinated polyvinyl chloride (CPVC).
  • PET polyethylene terephthalate
  • PP polypropylene
  • PC polycarbonate
  • synthetic fluoropolymer of tetrafluoroethylene polychlorotrifluoroethylene
  • PCTFE polychlorotrifluoroethylene
  • PVDF polyvinylidene fluoride
  • CPVC chlorinated polyvinyl chloride
  • the support is configured to support food and/or beverage.
  • the robot further comprises one or more cameras located under the support.
  • the robot includes a base having a plurality of wheels; A motor system mechanically coupled to one or more of the wheels; A body having a lower end coupled to the base and an upper end disposed over the lower end; A support disposed on the upper end and configured to withstand temperatures higher than 135 degrees Fahrenheit; And a processing unit configured to operate the robot.
  • the upper end includes a support for supporting food and/or beverage
  • the robot further comprises one or more weight sensors coupled to the support, and the processing unit is based on an output from the one or more weight sensors. So as to provide a signal for operating the motor system.
  • the robot further comprises a microphone
  • the processing unit is configured to provide a signal for operating the motor system in response to a voice command received by the microphone.
  • the robot further comprises a user interface
  • the processing unit is configured to provide a signal for operating the motor system in response to an input received by the user interface.
  • the user interface comprises a button and/or a touch screen.
  • the robot further comprises a wireless communication device, and the processing unit is configured to provide a signal for operating the motor system in response to an input received by the wireless communication device.
  • the robot further comprises a first camera configured to detect an object outside the robot.
  • the robot further comprises a second camera, the first camera being oriented such that its detection range covers a first area not covered by the second camera, and the second camera has its detection range Oriented to cover a second area not covered by the first camera.
  • the robot further comprises a third camera configured to look in a substantially horizontal direction.
  • the processing unit is configured to obtain a first point cloud from the first camera and a second point cloud from the second camera, and process the first and second point clouds.
  • the processing unit is configured to obtain first and second 2D point clouds by removing height components from the first and second point clouds, and the processing unit combines the first and second 2D point clouds It is configured to determine the boundaries of the disability.
  • the processing unit is configured to manipulate the robot based on the obstacle boundary.
  • the processing unit is configured to provide a first signal for actuating the motor system to cause the robot to move to a first destination in the facility, and the processing unit further determines whether a criterion for leaving the first destination is met. Determine and provide a second signal to activate the motor system to cause the robot to move away from the first destination if a criterion for leaving the first destination is met.
  • the criterion includes a maximum elapsed time after arrival at the first destination, and the processing unit is configured to operate the motor system when an elapsed time after arrival at the first destination reaches the maximum elapsed time. Configured to provide the second signal.
  • the processing unit is configured to obtain a map of the facility and to determine a traveling route within the facility based on the map.
  • the robot further comprises a laser device configured to detect the surroundings.
  • the robot further comprises a weight sensor coupled to the support.
  • the processing unit is configured to receive input from a weight sensor or camera, and to process the input to determine whether an article has been placed on or removed from the support.
  • the support meets the National Sanitation Foundation (NSF) requirements, the National Standards Institute (ANSI) requirements, the Food and Drug Administration (FDA) requirements, or any combination of the above requirements.
  • NSF National Sanitation Foundation
  • ANSI National Standards Institute
  • FDA Food and Drug Administration
  • the processing unit is configured to move the robot to a first destination to provide a service to a first table in the facility.
  • the lower end has a first cross-sectional dimension and the upper end has a second cross-sectional dimension that is greater than the first cross-sectional dimension.
  • the robot further includes a speaker disposed at the upper end or the lower end, and the processing unit is configured to control the speaker to provide audio information.
  • the robot further includes a microphone disposed at the upper end or the lower end.
  • the robot further comprises one or more programmable buttons disposed on the upper end.
  • the lower end includes a slot configured to receive a container, the container sized to hold a tableware and/or food menu.
  • the upper end portion has a frame movable from a first position to a second position in a vertical direction.
  • the robot further includes a touch screen device detachably coupled to the upper portion or the lower portion.
  • the motor system includes a first motor coupled to a first wheel among the plurality of wheels, and a second motor coupled to a second wheel among the plurality of wheels.
  • 1 to 3 illustrate a robot according to some embodiments.
  • FIG. 4 shows an example of an object detection technique using a unique camera system system.
  • FIG. 6 shows a method performed by a robot.
  • FIG 9 illustrates a processing unit of a robot according to some embodiments.
  • the robot 100 includes a base 102 having a plurality of wheels 104.
  • the robot 100 also includes a fuselage 110 having a lower end 112 coupled over the base 102 and an upper end 114 disposed over the lower end 112, the upper end 114 serving food and/or beverages. It is configured to support.
  • the upper portion 114 and the lower portion 112 may be integrally formed together in some embodiments. In this case, the upper portion 114 and the lower portion 112 refer to different portions of a component. Alternatively, the upper portion 114 and the lower portion 112 may be separate components that are mechanically coupled together.
  • the robot 100 also includes a first camera 120 disposed at the lower end 112, and the first camera 120 is oriented to look upwards.
  • the robot 100 further includes a second camera 122 disposed on the upper portion 114, and the second camera 122 is configured to look downward.
  • the robot 100 also includes a third camera 124 disposed on the upper end 114, and the third camera 124 is configured to look in a substantially horizontal direction.
  • substantially horizontal direction or a term similar thereto refers to a direction that is horizontal (0°) ⁇ 30° or less (eg, 0° ⁇ 15°).
  • the robot 100 may not include a third camera 124 and the third camera 124 is optional.
  • the lower end 112 has a first cross-sectional dimension and the upper end 114 has a second cross-sectional dimension that is greater than the first cross-sectional dimension.
  • the robot 100 should not be limited to the illustrated configuration (eg, form). In other embodiments, the robot 100 may have a different configuration. Further, in the illustrated embodiments, the robot 100 has a maximum cross-sectional dimension of 36 inches or less, more preferably 30 inches or less, or even more preferably 24 inches or less (eg 18 inches ⁇ 2 inches). This allows the robot 100 to travel between people in the dining room and/or closely spaced furniture in the dining room. In other embodiments, the robot 100 may have a maximum cross-sectional dimension different from the examples provided. In the illustrated embodiments, the first and second portions 112 and 114 are separate components that are assembled together. In other embodiments, the first and second portions 112 and 114 may have an integral configuration. For example, they may be parts of the same housing in other embodiments.
  • the first camera 120 includes a first depth detection camera
  • the second camera 122 includes a second depth detection camera
  • the third camera 124 includes a third depth detection camera.
  • the first, second and third cameras 120, 122, 124 may be different types of cameras.
  • the detection range of the first camera 120 is a predetermined range that cannot be covered by the second camera 122. This is because it covers an area, such as area 250.
  • having the second camera 122 facing downward has an advantage, in which the detection range of the second camera 122 cannot be covered by the first camera 120, for example, a predetermined area ( 252).
  • the first camera 120 may detect an object located in front of the upper end 114 of the robot, which is located higher from the ground and cannot be detected by the second camera 122.
  • the second camera 122 may be positioned in front of the lower part 112 and in front of the base 102 to detect an object that cannot be detected by the first camera 120.
  • the cameras 120 and 122 may be oriented to collectively detect an obstacle within 5 meters from the robot 100.
  • the obstacle detection range may be more than 5 meters or less than 5 meters from the robot 100.
  • upward direction refers to any direction within the range defined by the vertical axis ⁇ 45° as a direction pointing upwards in the horizontal plane.
  • the term “downward direction” as used herein refers to any direction within the range defined by the vertical axis ⁇ 45° as a direction pointing downward in the horizontal plane.
  • the camera looks “downward” it means that the camera looks in any direction between 45° (measured from the vertical axis) and -45° (measured from the vertical axis) as a direction pointing down the horizontal plane. I can.
  • the third camera 124 looks forward, and the third camera 124 detects an object located farther than the area covered by the first and second cameras 120 and 122. Because it does.
  • the first and second cameras 120 and 122 together can provide full (i.e., no blind spots) coverage around the robot 100, but such coverage is limited to a short distance from the robot 100. Can be extended.
  • the third camera 124 may extend this coverage to an area farther from the robot 100.
  • the first and second cameras 120, 122 are far enough away from the robot 100 (e.g., 6 inches, 1 foot, 3 feet, 4 feet, 5 feet, 6 feet, 8 feet, 10 feet). Feet, 12 feet, etc.). In this case, the robot 100 may not need the third camera 124.
  • the first and second cameras 120, 122, and optionally the third camera 124 may be oriented to collectively cover all of the blind spots of all cameras.
  • the detection range of the first camera 120 may cover the second camera 122, and the detection range of the second camera 122 may cover the first camera 120.
  • the detection range of the first camera 120 may not cover the second camera 122, and the detection range of the second camera 122 may not cover the first camera 120. have.
  • the robot 100 may include fewer or more than three cameras.
  • the robot 100 may include only these two cameras. This may be possible if one or both of the cameras have a wide viewing angle or detection angle (eg a detection angle of 90° or more).
  • the robot 100 may include only one such camera.
  • the robot 100 also includes a processing unit 130 configured to control various components of the robot 100.
  • the processing unit 130 may be implemented using hardware, software, or a combination thereof.
  • the processing unit 130 may include a printed circuit board (PCB) having various components.
  • the processing unit 130 may be one or more integrated circuits coupled together.
  • the processing unit 130 may include one or more processors such as a general-purpose processor, an ASIC processor, and an FPGA processor.
  • the robot 100 also includes a first motor 140 coupled to a first wheel of the plurality of wheels 104 and a second motor 142 coupled to a second wheel of the plurality of wheels 104.
  • the motors 140 and 142 are operated together to rotate the wheels 104 in the same direction and at the same speed, so that the robot 100 can be moved straight forward or backward.
  • Motors 140 and 142 are also operated together to rotate only one of the two wheels 104, rotate the wheels at different speeds in the same direction, or rotate the wheels 104 in different directions.
  • the robot 100 can be rotated.
  • the robot 100 may have a transport system different from that described.
  • the robot 100 may have a single motor for controlling two wheels 104 and an independent steering mechanism for rotating a third wheel.
  • the robot 100 may have four wheels (eg, four omnidirectional wheels).
  • the robot 100 may include other types of wheels (eg, tractor-type wheels).
  • the robot 100 further includes a laser device 150 (shown in FIG. 2) configured to detect its surroundings (eg, at least behind the robot).
  • the laser device 150 may include a laser source configured to provide a laser beam and a motor configured to rotate the laser beam.
  • the laser device 150 may be a lidar device, which may have a detection range of 10 m or more (eg, 20 m).
  • the laser device 150 may be configured to provide data about the rear periphery of the robot, with a detection range of at least 180°. In other embodiments, the detection range may be greater than 180° (eg 220° or more, 360°, etc.). In still other embodiments, the detection range may be less than 180°.
  • the laser device 150 may be configured to detect the front periphery of the robot.
  • the laser device 150 is configured to provide an input to the processing unit 130, and the processing unit 130 processes the input to determine the position of the robot 100 relative to the surroundings.
  • a three-dimensional map of the restaurant may be obtained and stored in a non-transitory medium 152 within the robot 100.
  • the processing unit 130 may be configured to obtain a signal from the laser device 150 and to generate a real-time 3D model around it. Subsequently, the processing unit 130 may identify the location of the robot 100 by comparing the 3D model with the 3D map.
  • the processing unit 130 of the robot 100 operates the motors 140 and 142 of the robot 100 to allow the robot 100 to travel to different places in the restaurant. It includes a configured driving control unit 160.
  • the driving control unit 160 acquires a map of the restaurant, the current position of the robot 100, and the target position of the robot 100, and uses the motors to move the robot 100 from the current position to the target position based on the map of the restaurant. It is configured to operate (140, 142).
  • the processing unit 130 of the robot 100 may be configured to determine a driving route in the restaurant based on a map.
  • the map of the restaurant may be wirelessly transmitted to the robot 100 and stored on a non-transitory medium 152 within the robot 100.
  • a map can be transmitted from a remote server, mobile phone, tablet, or the like.
  • the map of the restaurant may be stored on a USB drive, and may be transferred from the USB drive to the robot 100 after the USB drive is inserted into the USB port of the robot 100.
  • the robot 100 also includes a tray 200 for supporting various items such as food, beverages, tableware, menus, packing boxes, bills, and the like.
  • the tray 200 is detachably coupled to a part of the upper end 114. This feature allows the tray 200 to be separated from the robot 100 for cleaning, customer entertainment and/or replacement purposes. In some cases, the tray 200 may be considered as part of the top portion 114.
  • the robot 100 also includes a weight sensor 210 for sensing the weight supported by the tray 200.
  • the weight sensor 210 may be implemented using one or more strain gauges (eg, three strain gauges, four strain gauges, etc.). As shown in the figure, the tray 200 has a flat support surface. In other embodiments, the tray 200 may have a different configuration.
  • tray 200 may include glass holder(s) and/or bottle holder(s).
  • the term “tray” should not be limited to a support structure having a flat support surface, and may include any support structure or mechanical component designed to hold different items within a restaurant. have.
  • the weight sensor 210 is coupled to the processing unit 130, which enables the processing unit 130 to control the robot 100 based on the input provided by the weight sensor 210. do.
  • the processing unit 130 of the robot 100 may be configured to determine whether an article has been placed on the tray 200. In this case, the processing unit 130 may determine whether to move the robot 100 to a predetermined location based on the sensed weight.
  • a restaurant employee may place food on the tray 200 for delivery to a predetermined table.
  • the processing unit 130 determines that the article is placed on the tray based on the input from the weight sensor 210
  • the processing unit 130 places the article in a predetermined table (for example, a table input to the robot 100 by an employee).
  • the motors 140 and 142 of the robot 100 may be operated so as to be transmitted to the robot 100.
  • the processing unit 130 of the robot 100 may determine whether or not the article has been removed from the tray 200. In this case, the processing unit 130 may determine whether to move the robot 100 to a predetermined location based on a change in weight detected by the weight sensor 210.
  • the robot 100 may deliver a predetermined item (eg, food) to a predetermined table.
  • a predetermined item eg, food
  • the weight sensor 210 provides an input to the processing unit 130.
  • the processing unit 130 determines that there is a reduction in the weight supported by the tray 200 of the robot 100 (this indicates that the customer has removed the item delivered by the robot 100). Subsequently, the processing unit 130 may operate the motors 140 and 142 of the robot 100 to move the robot to the next destination.
  • the robot 100 may also look at a spatial area above the food support surface associated with the upper end 114 (e.g., a spatial area above the tray 200). It may include an optical camera configured.
  • the processing unit 130 may be configured to determine whether the article has been placed on the tray 200 or removed from the tray 200 based on the optical image obtained from the camera. For example, the camera may acquire an image of a spatial area on the tray 200 (when the tray 200 does not support any articles) as a reference image. This reference image may be stored in the non-transitory medium 152 in the robot 100. When the article is placed on the tray 200, the camera captures the image and transmits the image to the processing unit 130 for processing.
  • the processing unit 130 may compare the corresponding image with a reference image stored in the non-transitory medium 152.
  • the comparison of images by the processing unit 130 may be implemented by determining a correlation value between two images by the processing unit 130. When the two images are different, the processing unit 130 may determine that the article is placed on the tray 200.
  • the camera may acquire an image of the spatial area above the tray 200 after the article is placed on the tray 200.
  • This reference image may be stored in the non-transitory medium 152 in the robot 100.
  • the camera captures the image and transmits the image to the processing unit 130 for processing.
  • the processing unit 130 may compare the corresponding image with a reference image stored in the non-transitory medium 152.
  • the comparison of images by the processing unit 130 may be implemented by determining a correlation value between two images by the processing unit 130. When the two images are different, the processing unit 130 may determine that the article has been removed from the tray 200.
  • capture of the image by the camera may be performed in response to a change in weight supported by the tray 200.
  • the processing unit 130 transmits an input indicating that the corresponding weight has been detected by the weight sensor 210. 210). Subsequently, the processing unit 13 may determine whether there is a change in weight, and in this case, the processing unit 130 may generate a signal for causing the camera to capture an image.
  • the camera may be configured to continuously generate images (eg, moving pictures) of the spatial area above the tray 200. In this case, images are not created based on any perceived weight.
  • the processing unit 130 may be configured to analyze the images in real time to determine whether the article has been placed on the tray 200 or removed from the tray 200.
  • the food and/or beverage support mechanism is not limited to the tray 200 described in the example.
  • the food and/or beverage may be any type of tray or may be supported by any support that may have a different configuration than the tray.
  • the support can be made of a cleanable material, such as a material that does not produce any chemicals and/or discoloration or fading when in contact with a corrosive cleaning agent (such as chlorax).
  • the material of the support may be dishwasher safe.
  • the support material may be heat (e.g., any temperature higher than 100 degrees Fahrenheit (e.g. 100 to 200 degrees Fahrenheit), any temperature higher than 110 degrees Fahrenheit (e.g.
  • the support material may be a food contact safe material, approved by the US Food and Drug Administration (FDA).
  • the support material is an acid-resistant plastic, such as a synthetic fluoropolymer of tetrafluoroethylene, polychlorotrifluoroethylene (PCTFE), polyvinylidene fluoride (PVDF), an aerial of ethylene and chlorotrifluoroethylene. Coalescence, chlorinated polyvinyl chloride (CPVC), and the like.
  • the support is a required specification of the National Sanitation Foundation (NSF), a requirement specification of the National Standards Institute (ANSI) (e.g. NSF/ANSI 2, 4, 36, 59), the US Food and Drug Administration ( FDA) requirements, or any combination of the above requirements.
  • NSF National Sanitation Foundation
  • ANSI National Standards Institute
  • FDA US Food and Drug Administration
  • the support can be manufactured to meet the requirements of other agencies or governmental organizations outside the United States (eg, Korea, China, Europe, Japan, etc.).
  • the robot 100 further includes a speaker 300 disposed on the upper end 114.
  • the speaker 300 may be disposed on the lower end 112.
  • the processing unit 130 may include an audio processing module 162 configured to provide audio information by controlling the speaker 300.
  • the processing unit 130 may operate the speaker 300 to notify the customer that food has arrived, and instruct the customer to take a predetermined food supported on the robot 100. have.
  • the processing unit 130 may operate the speaker 300 to notify the customer that the bill has arrived.
  • the robot 100 may include only one speaker 300, or may include three or more speakers 300.
  • the robot 100 further includes a microphone 138 disposed on the upper end 114.
  • the microphone 138 is configured to receive voice and provide a microphone output signal to be processed by the processing unit 130.
  • the processing unit 130 may include a voice processing module 164 configured to process the microphone output signal to identify commands and/or requests. For example, a customer or user may instruct the robot 100 to return to its original position by saying "go to the original position" into the microphone 138. As another example, a customer or user may make a menu request, food order, drink order, bill request, employee request, packing box request, etc., or any combination thereof.
  • the microphone 138 receives these voice request(s) and stores the microphone output signal corresponding thereto in the non-transitory medium 152 and/or wirelessly to a speaker (a speaker of a device worn by an employee, a speaker in the kitchen, etc.). Can provide for transmission. Alternatively or in addition, the microphone output signal can be converted into a message for storage on a server or external device (e.g. mobile phone, tablet, etc.), and an employee can query these messages at any time they wish. . In other embodiments, the microphone 138 may be implemented to be disposed on the lower end 112 of the robot 100. Further, in other embodiments, the robot 100 may include two or more microphones 138. For example, in other embodiments, the robot 100 may include two microphones 138, which allows the direction of speech to be determined by the processing unit 130. In still other embodiments, the robot 100 may not include a microphone.
  • the robot 100 further includes two programmable buttons 170 disposed on the upper portion 114.
  • Each button 170 can be programmed to achieve a desired function.
  • each button 170 may be programmed to instruct the robot 100 to return to its original position, go to a dedicated position, provide a bill, request an employee, or the like.
  • the robot 100 may include a user interface (eg, a touch screen) for allowing a user of the robot 100 to program the button 170.
  • the user interface may display a list of available functions that may be associated with one or both of the buttons 170.
  • the button 170 When a user selects a function for a given button 170 using the user interface, the selection is stored in a non-transitory medium 152 in the robot 100, and the button 170 is assigned the selected function.
  • the user can access an application on a mobile phone or tablet and program the button(s) 170 using that application.
  • the application may transmit the function selected for the button(s) 170 to the cloud to be transmitted to the robot 100 or may be transmitted directly to the robot 100 by wireless.
  • the button(s) 170 may be programmed by an administrator or manufacturer of the robot 100. In this case, the button(s) 170 is pre-programmed before the robot 100 is delivered to the restaurant.
  • the robot 100 may include three or more programmable buttons 170 or may not include programmable buttons.
  • the button(s) 170 may have a predetermined dedicated function, in which case the button(s) 170 may not be programmable.
  • the processing unit 130 of the robot 100 is a first point cloud from the first camera 120, a second point cloud from the second camera 122, and from the third camera 124. And an obstacle detector 180 configured to acquire a third point cloud of and process the first, second and third point clouds.
  • the obstacle detector 180 determines the obstacle boundary by combining the first, second and third 2D point clouds.
  • the processing unit 130 may control the robot 100 based on the determined obstacle boundary. For example, the processing unit 130 may generate a control signal for preventing a collision by stopping the robot 100 and/or manipulating the robot 100 in different directions based on the determined obstacle boundary.
  • the obstacle detector 180 instead of using point clouds from all three cameras 120, 122, 124, uses only point clouds from the first and second cameras 120, 122. Disability boundaries can be determined.
  • FIG. 4 shows an example of the above-described obstacle detection technique.
  • a table 400 is placed in the restaurant.
  • Table 400 has a table edge 402.
  • the handbag 410 is also partially overlaid on the floor under the table 400.
  • the first camera 120 looking upward may detect the edge of the table 402, but may not detect the handbag 410 on the floor.
  • the second camera 122 looking downward may detect the handbag 410 on the floor, but may not detect the table edge 402.
  • the table edge 402 detected by the first camera 120 is captured as a first point cloud and transmitted to the processing unit 130 by the first camera 120.
  • the handbag 410 detected by the second camera 122 is captured as a second point cloud and transmitted to the processing unit 130 by the second camera 122.
  • Each point in the point cloud has a three-dimensional coordinate representing the position of the point with respect to the camera coordinate system.
  • the obstacle detector 180 of the processing unit 130 performs coordinate transformation on one or both of the first and second point clouds, so that all points captured by the two cameras 120 and 122 are based on the same coordinate system. To be able to be combined.
  • the obstacle detector 180 also removes the height component from the first and second point clouds to obtain first and second two-dimensional point clouds. Removing the height component from the point cloud has the effect of compressing all of the detected surfaces of objects into a single plane.
  • the obstacle detector 180 identifies a boundary formed by the two-dimensional point cloud, and uses the boundary as an obstacle boundary.
  • the obstacle boundary determined in this example is a first boundary portion 420 corresponding to a portion of the outline of the table edge 402, and a second boundary portion corresponding to a portion of the outline of the handbag 410 ( 422) and a third boundary portion 424 corresponding to a portion of the outline of the table corner 402.
  • the processing unit 130 may operate the robot 100 based on the determined obstacle boundary.
  • the processing unit 130 prevents the robot 100 from reaching the obstacle boundary, or the robot 100 prevents the robot 100 from reaching the obstacle boundary by a predetermined margin (eg, 3 inches, 6 inches, 1 foot, etc.). It is possible to operate the robot 100 to prevent reaching the position of.
  • a predetermined margin eg, 3 inches, 6 inches, 1 foot, etc.
  • Forming the obstacle boundary based on objects at different heights using the technique described above has the effect of creating an artificial vertical boundary 430 that captures the boundaries of different objects at different heights. This technique of creating an anti-collision boundary for the robot 100 is easy to implement and does not require significant computational resources.
  • the failure boundary is generated based on the point cloud acquired using the first and second cameras 120 and 122.
  • the point cloud from the third camera 124 may also be used to determine the fault boundary.
  • the obstacle detector 180 of the processing unit 130 combines all of the point clouds from the first, second, and third cameras 120, 122, and 124 to form an obstacle boundary.
  • the robot 100 is capable of detecting an obstacle that does not move.
  • the robot 100 may detect a moving obstacle such as a person in a restaurant or a food cart.
  • Cameras 120, 122 can detect objects in real time, and processing unit 130 can process point clouds from these cameras to determine anti-collision boundaries in real time. .
  • Method 500 may be performed by robot 100.
  • the method 500 includes obtaining a first point cloud from a first camera (item 502), obtaining a second point cloud from a second camera (item 504), and obtaining a third point cloud from a third camera. Step (item 506).
  • items 502, 504, and 506 may be performed simultaneously.
  • the method 500 also includes removing the height component from the first, second and third point clouds to obtain first, second, and third two-dimensional point clouds (item 510).
  • the first, second and third two-dimensional point clouds are combined to determine the failure boundary (item 512).
  • the robot 100 is operated based on the obstacle boundary (item 514).
  • the processing unit 130 may generate a control signal for stopping the robot 100 and/or manipulating the robot 100 in different directions based on the obstacle boundary.
  • the method 500 has been described on the basis of obtaining three point clouds using three cameras to determine the obstacle boundary, in other embodiments, the third camera is optional and is not required. In such a case, method 500 may not include item 506, and in item 512 the fault boundary is determined based on a combination of the first and second two-dimensional point clouds.
  • the processing unit 130 of the robot 100 may be configured to cause the robot 100 to move and travel to different places in the restaurant based on an input from the scheduler 182.
  • the scheduler 182 may be implemented as a part of the processing unit 130.
  • the scheduler of the processing unit 130 may operate the robot 100 to return to the original position after the robot 100 goes to the first table and provides a first service.
  • the scheduler of the processing unit 130 causes the robot 100 to go to the first table and provide the first service, and then go to the second table and provide the second service, and so on. I can.
  • the scheduler of the processing unit 130 may be programmable through a user interface.
  • the robot 100 may include a user interface (eg, a touch screen) that allows a user of the robot 100 to program a schedule for the robot 100.
  • the user interface may allow the user to select a table to arrive and a criterion for leaving the table.
  • the user can program the robot 100 so that the robot 100 goes to the 7th table (for example, for food delivery), and the weight measured by the weight sensor under the food support tray of the robot 100
  • a reduction eg, a change in weight independent of the amount of change, or a change in weight greater than a predetermined specified threshold
  • a reduction may be programmed to become a criterion for the robot 100 to leave the table.
  • the user can start the robot 100 to go to table 7 to deliver food.
  • the robot 100 stops after arriving at the corresponding table and waits for the customer of table 7 to take food.
  • the processing unit 130 receives an input indicating that the article supported on the tray has been removed from the weight sensor, and then determines that the programmed criterion is satisfied. Subsequently, the processing unit 130 operates the robot 100 so that the robot 100 is programmed into the robot 100 and then goes to a destination. For example, when the next destination is the home position, the processing unit 130 operates the robot 100 so that the robot 100 goes to the home position.
  • the processing unit 130 When the next destination is table 4 (for bill delivery), the processing unit 130 operates the robot 100 so that the robot 100 goes to the table 4.
  • the robot 100 arrives at table 4, the robot 100 can print a bill using, for example, a printer installed on the robot 100. Subsequently, the robot 100 waits for the customer of table 4 to take the bill.
  • the processing unit 130 determines that the criterion for leaving table 4 is satisfied, and then operates the robot 100 so that the robot 100 goes to the next destination. I can make it.
  • the generation of a control signal for the movement of the robot 100 (e.g., leaving the table, providing a service to the table, returning to the original position, etc.) (A change in weight that exceeds the amount) was described on the basis of satisfaction.
  • the criteria for operating the robot 100 to move the robot 100 may be based on other criterion(s).
  • the operation of the robot 100 may be based on the elapse of a predetermined period (eg, 30 seconds, 1 minute, etc.). In this case, when the robot 100 arrives at the table, it stays there for that period. If nothing happens, the robot 100 leaves the table after the period has elapsed.
  • the robot 100 may leave the table before the period elapses. Instead, in other cases, regardless of whether or not a predetermined event has occurred, the robot 100 may stay in the table until the corresponding period has elapsed.
  • a predetermined event for example, an item is removed from the tray 200
  • the criteria for operating the robot 100 to move the robot 100 may be satisfied by an image or an image parameter.
  • the robot 100 includes a camera looking at the space area above the tray 200, the camera will determine whether the article has been removed from the tray 200 and/or whether the article has been placed on the tray 200. You can provide an image to represent.
  • the processing unit 130 may be configured to process such an image to determine whether an event has occurred. For example, when the image(s) indicates that the article has been removed from the tray 200, the processing unit 130 may operate the robot to move the robot to the next destination.
  • the processing unit 130 may process the image(s) to determine one or more image parameters (eg, contrast, color, extracted features, image correlation values, etc.), and one or more criteria based on the image parameter(s). Based on this being met, the robot 100 can be activated to move the robot 100 to the next destination.
  • image parameters eg, contrast, color, extracted features, image correlation values, etc.
  • the criteria for operating the robot 100 to move the robot 100 may be based on a command received by a customer or an employee. For example, a customer at the table may press a button 170 or provide a voice command. In response, the robot 100 may move to the next destination in the restaurant (eg, home location, another table, etc.). As another example, a restaurant employee may also press button 170 or provide a voice command. In response to this, the robot 100 may move to the next destination.
  • a customer at the table may press a button 170 or provide a voice command.
  • the robot 100 may move to the next destination in the restaurant (eg, home location, another table, etc.).
  • a restaurant employee may also press button 170 or provide a voice command. In response to this, the robot 100 may move to the next destination.
  • the method 600 comprises actuating the motor(s) in the robot to move the robot to a first table in the restaurant and provide service to the first table (item 602), wherein the robot stops and provides service to the first table in the restaurant.
  • the first control signal for stopping the robot may be generated by the processing unit 130 when the robot reaches a desired position associated with the first table.
  • the desired location may be a designated area next to the first table (eg within a predetermined distance, such as 6 inches, 1 foot, etc. from the first table). Accordingly, the processing unit 130 may determine the actual position of the robot and determine whether the robot has reached a desired position. Otherwise, the processing unit 130 keeps the robot running until the robot reaches the desired position.
  • the one or more criteria are the elapse of a certain period (e.g., the robot leaves the table after a certain period of time, such as 30 seconds, 1 minute, etc.), the weight supported by the robot Changes in, criteria met by an image or image parameter, commands received by a customer or employee (e.g., a customer or employee presses a button 170 or provides a voice command), or any combination thereof. have.
  • the next destination may be a second table, an original location, etc. to be provided by the robot.
  • the robot 100 is not limited to the described configurations, shapes and features, and the robot 100 may have different configurations, shapes, and features in different embodiments.
  • the robot 100 may have the configuration shown in the drawings.
  • the lower end 112 of the robot 100 includes a slot 700 configured to receive a container 702, and the container 702 is sized to hold a tableware and/or food menu.
  • the upper end portion 114 of the robot 100 has a frame 710 that is movable from a first position to a second position in a vertical direction. When the frame 710 is in the first position as shown in Fig.
  • the upper part 114 provides a single space for accommodating different items (e.g. for supporting food, beverages, tableware, menus, etc.) .
  • the top portion 114 provides a two-story space for accommodating different items.
  • the robot 100 further includes a touch screen device 800 detachably coupled to the upper end 114.
  • the touch screen device 800 may be detachably coupled to the lower end 112 of the robot.
  • the touch screen device 800 provides a user interface for enabling the input of commands and/or programming of the robot 100 by a user of the robot 100.
  • the robot 100 of FIGS. 7 and 8 may have any of the features described with reference to the robot 100 of FIGS. 1 to 3.
  • the robot 100 may include a rechargeable battery to provide power to the various components of the robot 100.
  • the battery can be charged using a cable or wireless charging pad.
  • the robot 100 may optionally further include a credit card reader.
  • a credit card reader may be implemented in the upper portion 114 and includes a slot for receiving a credit card. This allows the robot 100 to receive a credit card from a customer at the table and process the credit card in front of the customer.
  • Robot 100 may also optionally include a printer for printing receipts for customers.
  • each robot 100 may include a wireless communication unit configured to communicate with the other robot(s) 100 in the restaurant.
  • the requested service for a given table may be notified to all robots 100 in the restaurant (e.g., an employee may send such a request through a computer or a portable device such as a mobile phone or tablet. ). Subsequently, the robots 100 may collectively determine which of the robots 100 will perform a service based on a predetermined algorithm.
  • the predetermined algorithm may select a robot closest to a table to be provided with a service based on a robot with the least amount of work.
  • the service request is updated in all robots.
  • the robots 100 may not need to communicate with each other.
  • all robots 100 may be configured to wirelessly communicate with one or more employees.
  • an employee may have a portable device such as a mobile phone or a tablet, and may wirelessly transmit requests to different robots 100 in a restaurant.
  • non-transitory medium may refer to one or more storage or memory units. Where multiple storage or memory units are present, they may be part of a single storage device or memory device, or instead may be separate storage devices or memory devices (which may or may not be combined together).
  • the robot 100 is configured to serve food and/or beverages in a restaurant
  • the robot 100 may be configured to serve food and/or beverages in other environments.
  • the robot 100 may be configured to serve food and/or beverages in a nursing home, casino, hotel, airport, airplane, house, cafeteria, and the like.
  • the map described in this specification may be a map of a nursing home, a map of a casino, a map of a hotel, a map of an airport, a map of an airplane cabin, a map of a house, a map of a cafeteria, and the like.
  • the processing unit 1200 may be the processing unit 130 in the robot 100 of FIG. 1 or 7. As shown in FIG. 9, the processing unit 1200 includes a bus 1202 or other communication mechanism for communication of information, and a processor 1204 coupled to the bus 1202 for processing information.
  • the processing unit 1200 also includes a main memory 1206 (eg, a random access memory (RAM) or other dynamic storage device) coupled to the bus 1202 to store instructions or information to be executed by the processor 1204.
  • Main memory 1206 may also be used to store temporary variables or other intermediate information during execution of instructions to be executed by processor 1204.
  • the processing unit 1200 further includes a read only memory (ROM) 1208 or other static storage device coupled to the bus 1202 to store static information and instructions for the processor 1204.
  • ROM read only memory
  • a data storage device 1210 such as a magnetic disk or an optical disk, is provided for storage of information and instructions and coupled to the bus 1202.
  • the processing unit 1200 may be coupled to a display 1212 such as a flat panel through a bus 1202 to display information to a user.
  • An input device 1214 comprising letters, numbers and other keys is coupled to the bus 1202 to inform the processor 1204 of information and command selection.
  • Another type of user input device is a cursor control unit 1216 (such as a mouse, trackball, or cursor direction key) for notifying the processor 1204 of direction information and command selection and controlling cursor movement on the display 1212.
  • Such input devices typically have two degrees of freedom in two axes: a first axis (eg x axis) and a second axis (eg y axis), which allows the input device to specify a position in a plane.
  • the processing unit 1200 may be used to perform various functions (eg, operations) according to the embodiments described herein. According to one embodiment, this use is provided by the processor 1200 in response to the processor 1204 executing one or more sequences of one or more instructions contained in the main memory 1206. These instructions may be read into main memory 1206 from other computer-readable media such as storage device 1210. Executing the sequence of instructions contained in main memory 1206 causes processor 1204 to perform the processing operations described herein.
  • processors with multiple processing arrangements may also be used to execute a sequence of instructions contained in main memory 1206.
  • hard-wired circuitry may be used in the implementation of the present invention instead of or in combination with software instructions. Thus, embodiments of the present invention are not limited to any particular combination of hardware circuitry and software.
  • Non-volatile media include optical or magnetic disks such as storage device 1210, for example.
  • Volatile media includes dynamic memory, such as main memory 1206.
  • Transmission media include coaxial cables, copper wires, and optical fibers, including wirings that make up the bus 1202. Transmission media may also take the form of sound waves or light waves such as those generated during radio wave and infrared data communications.
  • Computer readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes, or any other magnetic media, CD-ROMs, any other optical media, punch cards, paper tapes, any Other physical media, RAM, PROMs and EPROMs, flash EPROMs, any other memory chip or cartridge, carriers described below, or any other computer readable media are included.
  • Various types of computer-readable media may be involved in carrying one or more sequences of one or more instructions to the processor 1204 to be executed.
  • instructions may initially be carried on the magnetic disk of the remote computer.
  • the remote computer can load the command into its own dynamic memory and send the command over the phone line using a modem.
  • a modem directly connected to the processing unit 1200 may receive data on a telephone line and convert the data into an infrared signal using an infrared transmitter.
  • An infrared detector coupled to the bus 1202 may receive data carried as an infrared signal and place the data on the bus 1202.
  • the bus 1202 carries the data to the main memory 1206, and the processor 1204 fetches and executes instructions therefrom. Instructions received by the main memory 1206 may be selectively stored in the storage device 1210 before or after execution by the processor 1204.
  • the processing unit 1200 also includes a communication interface 1218 coupled to the bus 1202.
  • Communication interface 1218 provides a bidirectional data communication coupling for network link 1220 connected to local network 1222.
  • the communication interface 1218 may be an Integrated Services Digital Network (ISDN) card or modem for providing a data communication connection for a corresponding type of telephone line.
  • ISDN Integrated Services Digital Network
  • the communication interface 1218 may be a LAN card for providing a data communication connection to a compatible local area network (LAN).
  • LAN local area network
  • Wireless links can also be implemented.
  • communication interface 1218 transmits and receives electrical, electromagnetic, or optical signals that carry data streams representing various types of information.
  • network link 1220 provides data communication to other devices over one or more networks.
  • network link 1220 may provide connection to host computer 1224 or equipment 1226 (e.g., a radiation beam source or a switch operatively coupled to the radiation beam source) via a local network 1222.
  • the data stream carried over the network link 1220 may include electrical, electromagnetic, or optical signals.
  • Signals passing through various networks and signals passing through communication interface 1218 on network link 1220 are exemplary forms of carriers that carry information.
  • the processing unit 1200 may transmit a message through the network(s), the network link 1220 and the communication interface 1218 and receive data including a program code.

Abstract

로봇은 복수의 바퀴를 갖는 베이스; 상기 바퀴들 중 하나 이상에 기계적으로 결합되는 모터 시스템; 상기 베이스 위에 결합되는 하단부 및 상기 하단부 위에 배치되는 상단부를 갖는 동체; 상기 상단부에 배치되고, 화씨 135도보다 높은 온도를 견디도록 구성되는 지지대; 및 상기 로봇을 작동시키도록 구성되는 처리부를 포함한다.

Description

음식 및/또는 음료의 서빙을 위한 로봇
본 출원은 일반적으로 로봇에 관한 것이고, 보다 구체적으로는 음식 및/또는 음료를 서빙하도록 구성되는 로봇에 관한 것이다.
많은 식당들은 고객에게 서비스를 제공하기 위한 로봇을 사용하지 않는다. 한 가지 이유는 식당의 환경이 로봇의 사용을 곤란 및/또는 불만족스럽게 만들 수 있는 특유의 문제를 안고 있기 때문이다. 예컨대, 식당에는 다양한 장애물과 공간적인 제약이 있을 수 있는데, 이는 로봇의 주행(navigation)을 어렵게 만든다. 또한, 식당에는 테이블, 바 스툴, 의자, 선반, 와인 테이블 등과 같은 상이한 치수와 높이를 갖는 다양한 물체가 있을 수 있는데, 이는 로봇이 충돌을 피하는 것을 어렵게 만든다.
로봇은 복수의 바퀴를 갖는 베이스; 상기 베이스 위에 결합되는 하단부 및 상기 하단부 위에 배치되고, 음식 및/또는 음료를 지지하도록 구성되는 상단부를 갖는 동체; 상기 하단부에 배치되고, 위쪽 방향을 바라보도록 배향되는 제1 카메라; 및 상기 상단부에 배치되고, 아래쪽 방향을 바라보도록 구성되는 제2 카메라를 포함한다.
선택적으로, 상기 제1 카메라는 그 탐지 범위가 상기 제2 카메라에 의해 커버되지 않는 제1 구역을 커버하도록 배향되고, 상기 제2 카메라는 그 탐지 범위가 상기 제1 카메라에 의해 커버되지 않는 제2 구역을 커버하도록 배향된다.
선택적으로, 상기 로봇은 상기 상단부에 배치되는 제3 카메라를 더 포함하고, 상기 제3 카메라는 실질적으로 수평 방향을 바라보도록 구성된다.
선택적으로, 상기 로봇은, 상기 제1 카메라로부터의 제1 포인트 클라우드(point cloud) 및 상기 제2 카메라로부터의 제2 포인트 클라우드를 획득하고, 상기 제1 및 제2 포인트 클라우드를 처리하도록 구성되는 처리부를 더 포함한다.
선택적으로, 상기 처리부는 상기 제1 및 제2 포인트 클라우드에서 높이 성분을 제거하여 제1 및 제2 2차원 포인트 클라우드를 획득하도록 구성되고, 상기 처리부는 상기 제1 및 제2 2차원 포인트 클라우드를 결합하여 장애 경계(obstacle boundary)를 결정하도록 구성된다.
선택적으로, 상기 처리부는 상기 장애 경계에 기초하여 상기 로봇을 조종하도록 구성된다.
선택적으로, 상기 로봇은, 시설의 지도를 획득하고, 상기 지도에 기초하여 상기 시설 내의 주행 경로를 결정하도록 구성되는 처리부를 더 포함한다.
선택적으로, 상기 로봇은 주변(예컨대, 적어도 로봇의 뒤쪽)을 탐지하도록 구성되는 레이저 장치를 더 포함한다.
선택적으로, 상기 상단부는 상기 상단부의 나머지 부분에 탈착 가능하게 결합되는 지지대를 포함하고, 상기 지지대는 상기 음식 및/또는 음료를 지지하도록 구성된다.
선택적으로, 상기 로봇은 상기 지지대에 결합되는 무게 센서를 더 포함한다.
선택적으로, 상기 로봇은, 무게 센서 또는 카메라로부터의 입력을 수신하고, 상기 입력을 처리하여 물품이 상기 지지대 위에 놓였거나 상기 지지대로부터 치워졌는지 여부를 결정하도록 구성되는 처리부를 더 포함한다.
선택적으로, 상기 지지대는 미국 국가위생재단(NSF)의 요구 사양, 미국 국가표준협회(ANSI)의 요구 사양, 미국 식품의약국(FDA)의 요구 사양, 또는 상기 요구 사양들의 임의의 조합을 충족시킨다.
선택적으로, 상기 지지대는 화씨 135도보다 높은 온도를 견디도록 구성된다.
선택적으로, 상기 지지대는 폴리에틸렌 테레프탈레이트(PET), 폴리프로필렌(PP), 폴리카보네이트(PC), 테트라플루오로에틸렌의 합성 불소 중합체, 폴리클로로트리플루오로에틸렌(PCTFE), 폴리비닐리덴 플루오라이드(PVDF), 에틸렌과 클로로트리플루오로에틸렌의 공중합체, 또는 염소화 폴리비닐 클로라이드(CPVC)를 포함한다.
선택적으로, 상기 로봇은, 상기 로봇이 정지하여 시설 내의 제1 테이블에 서비스를 제공하게 하기 위한 제1 제어 신호를 생성하고, 하나 이상의 기준이 충족되는 것에 기초하여, 상기 로봇이 상기 시설 내의 다음 목적지를 향해 이동하게 하기 위한 제2 제어 신호를 생성하도록 구성되는 처리부를 더 포함한다.
선택적으로, 상기 하나 이상의 기준은 소정 기간의 경과를 포함한다.
선택적으로, 상기 하나 이상의 기준은 상기 로봇에 의해 지지되는 무게의 변화를 포함한다.
선택적으로, 상기 처리부는 광학 이미지에 기초하여, 또는 상기 광학 이미지에 기초하여 결정되는 파라미터에 기초하여 상기 하나 이상의 기준이 충족되는지 여부를 결정하도록 구성된다.
선택적으로, 상기 다음 목적지는 서비스가 제공될 제2 테이블, 또는 원위치(home position)를 포함한다.
선택적으로, 상기 로봇은 상기 상단부와 연관된 음식 지지면 위의 공간 영역을 바라보도록 구성되는 광학 카메라를 더 포함한다.
선택적으로, 상기 제1 카메라는 제1 깊이 감지 카메라를 포함하고, 상기 제2 카메라는 제2 깊이 감지 카메라를 포함한다.
선택적으로, 상기 로봇은 제3 깊이 감지 카메라를 더 포함한다.
선택적으로, 상기 하단부는 제1 단면 치수를 갖고, 상기 상단부는 상기 제1 단면 치수보다 큰 제2 단면 치수를 갖는다.
선택적으로, 상기 로봇은, 상기 상단부 또는 상기 하단부에 배치되는 스피커와, 상기 스피커를 제어하여 오디오 정보를 제공하도록 구성되는 처리부를 더 포함한다.
선택적으로, 상기 로봇은 상기 상단부 또는 상기 하단부에 배치되는 마이크를 더 포함한다.
선택적으로, 상기 로봇은 상기 상단부에 배치되는 하나 이상의 프로그래밍 가능한 버튼을 더 포함한다.
선택적으로, 상기 하단부는 용기를 수용하도록 구성되는 슬롯을 포함하고, 상기 용기는 식기류 및/또는 음식 메뉴를 보유하기 위한 크기를 갖는다.
선택적으로, 상기 상단부는 수직 방향으로 제1 위치로부터 제2 위치로 이동 가능한 프레임을 갖는다.
선택적으로, 상기 로봇은 상기 상단부 또는 상기 하단부에 탈착 가능하게 결합되는 터치 스크린 장치를 더 포함한다.
선택적으로, 상기 로봇은, 상기 복수의 바퀴 중 제1 바퀴에 결합되는 제1 모터와, 상기 복수의 바퀴 중 제2 바퀴에 결합되는 제2 모터를 더 포함한다.
로봇은 복수의 바퀴를 갖는 베이스; 상기 베이스 위에 결합되는 하단부 및 상기 하단부 위에 배치되는 상단부를 갖는 동체; 및 상기 상단부에 배치되는 지지대를 포함하고, 상기 지지대는 화씨 135도보다 높은 온도를 견디도록 구성된다.
선택적으로, 상기 지지대는 미국 국가위생재단(NSF)의 요구 사양, 미국 국가표준협회(ANSI)의 요구 사양, 미국 식품의약국(FDA)의 요구 사양, 또는 상기 요구 사양들의 임의의 조합을 충족시킨다.
선택적으로, 상기 지지대는 폴리에틸렌 테레프탈레이트(PET), 폴리프로필렌(PP), 폴리카보네이트(PC), 테트라플루오로에틸렌의 합성 불소 중합체, 폴리클로로트리플루오로에틸렌(PCTFE), 폴리비닐리덴 플루오라이드(PVDF), 에틸렌과 클로로트리플루오로에틸렌의 공중합체, 또는 염소화 폴리비닐 클로라이드(CPVC)를 포함한다.
선택적으로, 상기 지지대는 음식 및/또는 음료를 지지하도록 구성된다.
선택적으로, 상기 로봇은 상기 지지대 아래에 위치하는 하나 이상의 카메라를 더 포함한다.
로봇은 복수의 바퀴를 갖는 베이스; 상기 바퀴들 중 하나 이상에 기계적으로 결합되는 모터 시스템; 상기 베이스 위에 결합되는 하단부 및 상기 하단부 위에 배치되는 상단부를 갖는 동체; 상기 상단부에 배치되고, 화씨 135도보다 높은 온도를 견디도록 구성되는 지지대; 및 상기 로봇을 작동시키도록 구성되는 처리부를 포함한다.
선택적으로, 상기 상단부는 음식 및/또는 음료를 지지하기 위한 지지대를 포함하고, 상기 로봇은 상기 지지대에 결합되는 하나 이상의 무게 센서를 더 포함하며, 상기 처리부는 상기 하나 이상의 무게 센서로부터의 출력에 기초하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성된다.
선택적으로, 상기 로봇은 마이크를 더 포함하고, 상기 처리부는 상기 마이크에 의해 수신되는 음성 명령에 응답하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성된다.
선택적으로, 상기 로봇은 사용자 인터페이스를 더 포함하고, 상기 처리부는 상기 사용자 인터페이스에 의해 수신되는 입력에 응답하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성된다.
선택적으로, 상기 사용자 인터페이스는 버튼 및/또는 터치 스크린을 포함한다.
선택적으로, 상기 로봇은 무선 통신 장치를 더 포함하고, 상기 처리부는 상기 무선 통신 장치에 의해 수신되는 입력에 응답하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성된다.
선택적으로, 상기 로봇은 상기 로봇 바깥쪽의 물체를 감지하도록 구성되는 제1 카메라를 더 포함한다.
선택적으로, 상기 로봇은 제2 카메라를 더 포함하고, 상기 제1 카메라는 그 탐지 범위가 상기 제2 카메라에 의해 커버되지 않는 제1 구역을 커버하도록 배향되며, 상기 제2 카메라는 그 탐지 범위가 상기 제1 카메라에 의해 커버되지 않는 제2 구역을 커버하도록 배향된다.
선택적으로, 상기 로봇은 실질적으로 수평 방향을 바라보도록 구성되는 제3 카메라를 더 포함한다.
선택적으로, 상기 처리부는 상기 제1 카메라로부터의 제1 포인트 클라우드 및 상기 제2 카메라로부터의 제2 포인트 클라우드를 획득하고, 상기 제1 및 제2 포인트 클라우드를 처리하도록 구성된다.
선택적으로, 상기 처리부는 상기 제1 및 제2 포인트 클라우드에서 높이 성분을 제거하여 제1 및 제2 2차원 포인트 클라우드를 획득하도록 구성되고, 상기 처리부는 상기 제1 및 제2 2차원 포인트 클라우드를 결합하여 장애 경계를 결정하도록 구성된다.
선택적으로, 상기 처리부는 상기 장애 경계에 기초하여 상기 로봇을 조종하도록 구성된다.
선택적으로, 상기 처리부는 상기 로봇이 시설 내의 제1 목적지로 이동하도록 상기 모터 시스템을 작동시키기 위한 제1 신호를 제공하도록 구성되고, 상기 처리부는 또한 상기 제1 목적지를 떠나기 위한 기준이 충족되는지 여부를 결정하고, 상기 제1 목적지를 떠나기 위한 기준이 충족되는 경우 상기 로봇이 상기 제1 목적지로부터 떠나 이동하도록 상기 모터 시스템을 작동시키기 위한 제2 신호를 제공하도록 구성된다.
선택적으로, 상기 기준은 상기 제1 목적지에 도착한 이후의 최대 경과 시간을 포함하고, 상기 처리부는 상기 제1 목적지에 도착한 이후의 경과 시간이 상기 최대 경과 시간에 도달한 경우 상기 모터 시스템을 작동시키기 위한 상기 제2 신호를 제공하도록 구성된다.
선택적으로, 상기 처리부는 시설의 지도를 획득하고, 상기 지도에 기초하여 상기 시설 내의 주행 경로를 결정하도록 구성된다.
선택적으로, 상기 로봇은 주변을 탐지하도록 구성되는 레이저 장치를 더 포함한다.
선택적으로, 상기 로봇은 상기 지지대에 결합되는 무게 센서를 더 포함한다.
선택적으로, 상기 처리부는 무게 센서 또는 카메라로부터의 입력을 수신하고, 상기 입력을 처리하여 물품이 상기 지지대 위에 놓였거나 상기 지지대로부터 치워졌는지 여부를 결정하도록 구성된다.
선택적으로, 상기 지지대는 미국 국가위생재단(NSF)의 요구 사양, 미국 국가표준협회(ANSI)의 요구 사양, 미국 식품의약국(FDA)의 요구 사양, 또는 상기 요구 사양들의 임의의 조합을 충족시킨다.
선택적으로, 상기 처리부는 상기 로봇을 제1 목적지로 이동시켜 시설 내의 제1 테이블에 서비스를 제공하게 하도록 구성된다.
선택적으로, 상기 하단부는 제1 단면 치수를 갖고, 상기 상단부는 상기 제1 단면 치수보다 큰 제2 단면 치수를 갖는다.
선택적으로, 상기 로봇은 상기 상단부 또는 상기 하단부에 배치되는 스피커를 더 포함하고, 상기 처리부는 상기 스피커를 제어하여 오디오 정보를 제공하도록 구성된다.
선택적으로, 상기 로봇은 상기 상단부 또는 상기 하단부에 배치되는 마이크를 더 포함한다.
선택적으로, 상기 로봇은 상기 상단부에 배치되는 하나 이상의 프로그래밍 가능한 버튼을 더 포함한다.
선택적으로, 상기 하단부는 용기를 수용하도록 구성되는 슬롯을 포함하고, 상기 용기는 식기류 및/또는 음식 메뉴를 보유하기 위한 크기를 갖는다.
선택적으로, 상기 상단부는 수직 방향으로 제1 위치로부터 제2 위치로 이동 가능한 프레임을 갖는다.
선택적으로, 상기 로봇은 상기 상단부 또는 상기 하단부에 탈착 가능하게 결합되는 터치 스크린 장치를 더 포함한다.
선택적으로, 상기 모터 시스템은 상기 복수의 바퀴 중 제1 바퀴에 결합되는 제1 모터와, 상기 복수의 바퀴 중 제2 바퀴에 결합되는 제2 모터를 포함한다.
다른 추가적인 태양들 및 특징들은 실시예들에 관한 아래의 상세한 설명을 읽음으로써 명백해질 것이다.
도면들은 실시예들의 설계 및 활용을 도시하며, 유사한 요소들은 공통된 참조 번호로 지칭된다. 이러한 도면들은 반드시 비율에 맞게 그려진 것은 아니다. 상술한 장점 및 목적과 그 밖의 장점 및 목적이 어떻게 달성되는지를 더 잘 이해하기 위해, 실시예들에 관한 보다 구체적인 설명이 이루어질 것이며, 이는 첨부된 도면들에 도시된다. 이러한 도면들은 전형적인 실시예들을 도시할 뿐이며, 따라서 그 범위를 한정하는 것으로 간주되지 않아야 한다.
도 1 내지 3은 일부 실시예들에 따른 로봇을 도시한다.
도 4는 특유의 카메라 시스템 체제를 사용하는 물체 탐지 기술의 예를 도시한다.
도 5는 충돌 방지 방법을 도시한다.
도 6은 로봇에 의해 수행되는 방법을 도시한다.
도 7 및 8은 일부 실시예들에 따른 도면을 도시한다.
도 9는 일부 실시예들에 따른 로봇의 처리부를 도시한다.
다양한 실시예들이 도면들을 참조하여 아래에서 설명된다. 도면들은 비율에 맞게 그려지지 않았으며, 유사한 구조 또는 기능의 요소들은 도면들 전체에 걸쳐 같은 도면 부호들에 의해 표시된다는 점에 주의해야 한다. 또한, 도면들은 실시예들에 관한 설명을 돕기 위한 것일 뿐임에 주의해야 한다. 이들은 본 발명을 포괄적으로 설명하거나 본 발명의 범위를 한정하기 위한 것이 아니다. 또한, 도시된 실시예는 도시된 모든 태양이나 장점을 가질 필요가 없다. 특정 실시예와 결부하여 설명되는 태양 또는 장점은 반드시 그 실시예로 한정되지 않으며, 그와 같이 도시되지 않았더라도 임의의 다른 실시예에서 실시될 수 있다.
도 1 내지 3은 일부 실시예들에 따른 로봇(100)을 도시한다. 로봇 (100)은 복수의 바퀴(104)를 갖는 베이스(102)를 포함한다. 로봇(100)은 또한 베이스(102) 위에 결합되는 하단부(112) 및 하단부(112) 위에 배치되는 상단부(114)를 갖는 동체(110)를 포함하고, 상단부(114)는 음식 및/또는 음료를 지지하도록 구성된다. 상단부(114)와 하단부(112)는 일부 실시예들에서 함께 일체로 형성될 수 있다. 이러한 경우에, 상단부(114)와 하단부(112)는 일 구성요소의 다른 부분들을 지칭한다. 그 대신에, 상단부(114)와 하단부(112)는 함께 기계적으로 결합되는 별개의 구성요소들일 수 있다. 로봇(100)은 또한 하단부(112)에 배치되는 제1 카메라(120)를 포함하고, 제1 카메라(120)는 위쪽 방향을 바라보도록 배향된다. 로봇(100)은 상단부(114)에 배치되는 제2 카메라(122)를 더 포함하고, 제2 카메라(122)는 아래쪽 방향을 바라보도록 구성된다. 로봇(100)은 또한 상단부(114)에 배치되는 제3 카메라(124)를 포함하고, 제3 카메라(124)는 실질적으로 수평 방향을 바라보도록 구성된다. 본 명세서에서 사용되는 바처럼, "실질적으로 수평 방향"이라는 용어나 이와 유사한 용어는 수평(0°)±30° 이하(예컨대 0°±15°)인 방향을 지칭한다. 다른 실시예들에서, 로봇(100)은 제3 카메라(124)를 포함하지 않을 수 있고, 제3 카메라(124)는 선택적이다.
도시된 실시예들에서, 하단부(112)는 제1 단면 치수를 갖고, 상단부(114)는 제1 단면 치수보다 큰 제2 단면 치수를 갖는다. 그러나, 로봇(100)은 도시된 구성(예컨대 형태)에 한정되지 않아야 한다. 다른 실시예들에서, 로봇(100)은 다른 구성을 가질 수 있다. 또한, 도시된 실시예들에서, 로봇(100)은 36 인치 이하, 더욱 바람직하게는 30 인치 이하, 또는 더욱더 바람직하게는 24 인치 이하(예컨대 18 인치±2 인치)의 최대 단면 치수를 갖는다. 이는 로봇(100)이 식당 내의 사람들 및/또는 식당 내의 조밀하게 이격된 가구들 사이로 주행할 수 있게 한다. 다른 실시예들에서, 로봇(100)은 제공된 예시들과 상이한 최대 단면 치수를 가질 수 있다. 도시된 실시예들에서, 제1 및 제2 부분(112, 114)은 함께 조립되는 별개의 구성요소들이다. 다른 실시예들에서, 제1 및 제2 부분(112, 114)은 일체형 구성을 가질 수 있다. 예컨대, 이들은 다른 실시예들에서 동일한 하우징(housing)의 부분들일 수 있다.
도시된 실시예들에서, 제1 카메라(120)는 제1 깊이 감지 카메라를 포함하고, 제2 카메라(122)는 제2 깊이 감지 카메라를 포함한다. 또한, 제3 카메라(124)는 제3 깊이 감지 카메라를 포함한다. 다른 실시예들에서, 제1, 제2 및 제3 카메라(120, 122, 124)는 상이한 유형의 카메라일 수 있다.
도 2에 도시된 바처럼, 제1 카메라(120)가 위쪽 방향을 바라보도록 하는 것은 장점이 있는데, 제1 카메라(120)의 탐지 범위가 제2 카메라(122)에 의해 커버될 수 없는 소정의 구역, 예컨대 구역(250)을 커버하기 때문이다. 유사하게, 제2 카메라(122)가 아래 방향을 바라보도록 하는 것은 장점이 있는데, 제2 카메라(122)의 탐지 범위가 제1 카메라(120)에 의해 커버될 수 없는 소정의 구역, 예컨대 구역(252)을 커버하기 때문이다. 따라서, 제1 카메라(120)는, 지면으로부터 더 높게 위치하여 제2 카메라(122)에 의해 탐지될 수 없는, 로봇의 상단부(114) 앞쪽에 위치한 물체를 탐지할 수 있다. 유사하게, 제2 카메라(122)는 하단부(112) 앞쪽과 베이스(102) 앞쪽에 위치하여 제1 카메라(120)에 의해 탐지될 수 없는 물체를 탐지할 수 있다. 또한, 어떤 깊이 감지 카메라의 경우, 카메라로부터 지나치게 가까이에 위치한(예컨대, 카메라로부터 40 cm까지 등과 같은 소정 거리 이내의) 사물을 카메라가 탐지하지 못할 수 있는 지대(사각 지대)가 있을 수 있다. 도 2에 도시된 바처럼 카메라들을 배열하는 것은 이러한 문제에도 대처한다. 일부 실시예들에서, 카메라들(120, 122)은 로봇(100)으로부터 5 미터 이내의 장애물을 집합적으로 탐지할 수 있도록 배향될 수 있다. 다른 실시예들에서, 장애물 탐지 범위는 로봇(100)으로부터 5 미터를 넘어가거나 5 미터 미만일 수 있다. 본 명세서에서 사용되는 "위쪽 방향"이라는 용어는, 수평면 위쪽을 가리키는 방향으로서 수직축±45°에 의해 정의되는 범위 내의 임의의 방향을 지칭함에 주의해야 한다. 따라서, 카메라가 "위쪽 방향"을 바라본다는 것은, 수평면 위쪽을 가리키는 방향으로서 45°(수직축으로부터 측정됨)와 -45°(수직축으로부터 측정됨) 사이의 임의의 방향을 카메라가 바라본다는 것을 지칭할 수 있다. 유사하게, 본 명세서에서 사용되는 "아래쪽 방향"이라는 용어는, 수평면 아래쪽을 가리키는 방향으로서 수직축±45°에 의해 정의되는 범위 내의 임의의 방향을 지칭한다. 따라서, 카메라가 "아래쪽 방향"을 바라본다는 것은, 수평면 아래쪽을 가리키는 방향으로서 45°(수직축으로부터 측정됨)와 -45°(수직축으로부터 측정됨) 사이의 임의의 방향을 카메라가 바라본다는 것을 지칭할 수 있다.
또한, 제3 카메라(124)가 앞쪽 방향을 바라보도록 하는 것은 장점이 있는데, 제3 카메라(124)는 제1 및 제2 카메라(120, 122)에 의해 커버되는 영역보다 더 멀리 위치한 물체를 탐지하기 때문이다. 특히, 제1 및 제2 카메라(120, 122)는 함께 로봇(100) 주변에 완전한(즉, 사각 지대 없는) 커버리지(coverage)를 제공할 수 있지만, 이러한 커버리지는 로봇(100)으로부터 짧은 거리까지만 연장될 수 있다. 제3 카메라(124)는 로봇(100)으로부터 더 먼 영역까지 이러한 커버리지를 연장시킬 수 있다. 다른 실시예들에서, 제1 및 제2 카메라(120, 122)는 로봇(100)으로부터 충분히 먼 곳(예컨대 6 인치, 1 피트, 3 피트, 4 피트, 5 피트, 6 피트, 8 피트, 10 피트, 12 피트 등)에 위치한 물체를 탐지할 수 있다. 이러한 경우에, 로봇(100)은 제3 카메라(124)를 필요로 하지 않을 수 있다.
일부 실시예들에서, 제1 및 제2 카메라(120, 122), 그리고 선택적으로 제3 카메라(124)는 모든 카메라의 사각 지대 전부를 집합적으로 커버하도록 배향될 수 있다. 일부 실시예들에서, 제1 카메라(120)의 탐지 범위는 제2 카메라(122)를 커버할 수 있고, 제2 카메라(122)의 탐지 범위는 제1 카메라(120)를 커버할 수 있다. 다른 실시예들에서, 제1 카메라(120)의 탐지 범위는 제2 카메라(122)를 커버하지 않을 수 있고, 제2 카메라(122)의 탐지 범위는 제1 카메라(120)를 커버하지 않을 수 있다.
다른 실시예들에서, 로봇(100)은 3개보다 적거나 많은 카메라를 포함할 수 있다. 예컨대, 다른 실시예들에서, 두 개의 카메라가 함께 로봇(100) 앞쪽의 모든 탐지 커버리지를 제공할 수 있으면, 로봇(100)은 이들 두 카메라만을 포함할 수 있다. 이는 카메라들 중 하나 또는 둘 다가 넓은 시야 각도 또는 탐지 각도(예컨대 90° 이상의 탐지 각도)를 갖는 경우에 가능할 수 있다. 또 다른 실시예들에서, 하나의 카메라가 넓은 시야 각도 또는 탐지 각도(예컨대 180°의 탐지 각도)를 갖는 경우, 로봇(100)은 이러한 하나의 카메라만을 포함할 수 있다.
로봇(100)은 또한 로봇(100)의 다양한 구성요소들을 제어하도록 구성되는 처리부(130)를 포함한다. 처리부(130)는 하드웨어, 소프트웨어, 또는 이들의 조합을 사용하여 구현될 수 있다. 일 구현예에서, 처리부(130)는 다양한 구성요소들을 갖는 인쇄 회로 기판(PCB)을 포함할 수 있다. 다른 실시예들에서, 처리부(130)는 함께 결합되는 하나 이상의 집적 회로일 수 있다. 또한, 일부 실시예들에서, 처리부(130)는 범용 프로세서, ASIC 프로세서, FPGA 프로세서 등과 같은 하나 이상의 프로세서를 포함할 수 있다.
로봇(100)은 또한 복수의 바퀴(104) 중 제1 바퀴에 결합되는 제1 모터(140)와, 복수의 바퀴(104) 중 제2 바퀴에 결합되는 제2 모터(142)를 포함한다. 모터들(140, 142)은 바퀴들(104)을 동일한 방향으로 동일한 속도로 회전시키도록 함께 작동되어 로봇(100)을 앞쪽 또는 뒤쪽 방향으로 직진 이동시킬 수 있다. 모터들(140, 142)은 또한 두 개의 바퀴(104) 중 하나만을 회전시키거나, 바퀴들을 동일한 방향으로 상이한 속도로 회전시키거나, 또는 바퀴들(104)을 상이한 방향으로 회전시키도록 함께 작동되어 로봇(100)을 회전시킬 수 있다. 다른 실시예들에서, 로봇(100)은 설명된 것과 상이한 운송 시스템을 가질 수 있다. 예컨대, 다른 실시예들에서, 로봇(100)은 두 개의 바퀴(104)를 제어하기 위한 단일 모터와, 제3의 바퀴를 회전시키기 위한 독립 조종 메커니즘을 가질 수 있다. 다른 예로서, 로봇(100)은 4개의 바퀴(예컨대 4개의 전방향 바퀴)를 가질 수 있다. 또 다른 실시예들에서, 로봇(100)은 다른 유형의 바퀴(예컨대 트랙터형 바퀴)를 포함할 수 있다.
도시된 실시예들에서, 로봇(100)은 주변(예컨대, 적어도 로봇의 뒤쪽)을 탐지하도록 구성되는 레이저 장치(150)(도 2에 도시됨)를 더 포함한다. 레이저 장치(150)는 레이저 빔을 제공하도록 구성되는 레이저 소스와, 레이저 빔을 회전시키도록 구성되는 모터를 포함할 수 있다. 일 구현예에서, 레이저 장치(150)는 라이다(lidar) 장치일 수 있고, 이는 10 m 이상(예컨대 20 m)의 탐지 범위를 가질 수 있다. 일부 실시예들에서, 레이저 장치(150)는 로봇의 뒤쪽 주변에 관한 데이터를 제공하도록 구성될 수 있고, 이때 탐지 범위는 적어도 180°이다. 다른 실시예들에서, 탐지 범위는 180°보다 클 수 있다(예컨대 220° 이상, 360° 등). 또 다른 실시예들에서, 탐지 범위는 180°보다 작을 수 있다. 또한, 다른 실시예들에서, 레이저 장치(150)는 로봇의 앞쪽 주변을 탐지하도록 구성될 수 있다. 도시된 실시예들에서, 레이저 장치(150)는 처리부(130)에 입력을 제공하도록 구성되고, 처리부(130)는 이러한 입력을 처리하여 주변에 대한 로봇(100)의 위치를 파악한다. 일부 실시예들에서, 식당의 3차원 지도가 획득되어 로봇(100) 내의 비일시성 매체(152)에 저장될 수 있다. 처리부(130)는 레이저 장치(150)로부터 신호를 획득하고, 주변의 실시간 3차원 모델을 생성하도록 구성될 수 있다. 이어서, 처리부(130)는 3차원 모델을 3차원 지도와 비교하여 로봇(100)의 위치를 식별할 수 있다.
또한, 도시된 실시예들에서, 로봇(100)의 처리부(130)는 로봇(100)이 식당 내의 상이한 장소들로 주행하게 하기 위해 로봇(100)의 모터들(140, 142)을 작동시키도록 구성되는 주행 제어부(160)를 포함한다. 주행 제어부(160)는 식당의 지도, 로봇(100)의 현재 위치 및 로봇(100)의 목표 위치를 획득하고, 식당의 지도에 기초하여 로봇(100)이 현재 위치로부터 목표 위치로 이동하도록 모터들(140, 142)을 작동시키도록 구성된다. 또한, 로봇(100)의 처리부(130)는 지도에 기초하여 식당 내의 주행 경로를 결정하도록 구성될 수 있다. 일부 실시예들에서, 식당의 지도는 로봇(100)에 무선으로 전송될 수 있고, 로봇(100) 내의 비일시성 매체(152)에 저장될 수 있다. 예컨대, 지도는 원격 서버, 휴대 전화, 태블릿 등으로부터 전송될 수 있다. 다른 실시예들에서, 식당의 지도는 USB 드라이브에 저장될 수 있고, USB 드라이브가 로봇(100)의 USB 포트에 삽입된 후에 USB 드라이브로부터 로봇(100)으로 전송될 수 있다.
도시된 실시예들에서, 로봇(100)은 또한 음식, 음료, 식기류, 메뉴, 포장 박스, 계산서 등과 같은 다양한 물품들을 지지하기 위한 트레이(200)를 포함한다. 트레이(200)는 상단부(114)의 일부에 탈착 가능하게 결합된다. 이러한 특징은 청소, 고객 접대 및/또는 교체 목적을 위해 트레이(200)가 로봇(100)으로부터 분리될 수 있도록 한다. 일부 경우에, 트레이(200)는 상단부(114)의 일부로서 간주될 수 있다. 로봇(100)은 또한 트레이(200)에 의해 지지되는 무게를 감지하기 위한 무게 센서(210)를 포함한다. 무게 센서(210)는 하나 이상의 변형률계(strain gauge)(예컨대 3개의 변형률계, 4개의 변형률계 등)를 사용하여 구현될 수 있다. 도면에 도시된 바처럼, 트레이(200)는 편평한 지지면을 갖는다. 다른 실시예들에서, 트레이(200)는 다른 구성을 가질 수 있다. 예컨대, 다른 실시예들에서, 트레이(200)는 유리잔 홀더(들) 및/또는 병 홀더(들)을 포함할 수 있다. 따라서, 본 명세서에서 사용되는 바처럼, "트레이"라는 용어는 편평한 지지면을 갖는 지지 구조물로 한정되지 않아야 하고, 식당 내의 상이한 물품들을 보유하도록 설계되는 임의의 지지 구조물 또는 기계적 구성요소를 포함할 수 있다. 도시된 실시예들에서, 무게 센서(210)는 처리부(130)에 결합되는데, 이는 처리부(130)로 하여금 무게 센서(210)에 의해 제공되는 입력에 기초하여 로봇(100)을 제어할 수 있게 한다. 예컨대, 일부 실시예들에서, 로봇(100)의 처리부(130)는 물품이 트레이(200) 위에 놓였는지 여부를 결정하도록 구성될 수 있다. 이러한 경우, 처리부(130)는 감지된 무게에 기초하여 로봇(100)을 소정의 장소로 이동시킬지 여부를 결정할 수 있다. 일 구현예에서, 식당 종업원은 소정의 테이블로 전달하기 위한 식품을 트레이(200) 위에 놓을 수 있다. 처리부(130)가 무게 센서(210)로부터의 입력에 기초하여 트레이 위에 물품이 놓인 것으로 결정하면, 처리부(130)는 해당 물품을 소정의 테이블(예컨대 종업원에 의해 로봇(100)에 입력된 테이블)로 전달하도록 로봇(100)의 모터들(140, 142)을 작동시킬 수 있다. 그 대신에 또는 그에 더하여, 로봇(100)의 처리부(130)는 물품이 트레이(200)로부터 치워졌는지 여부를 결정할 수 있다. 이러한 경우, 처리부(130)는 무게 센서(210)에 의해 감지된 무게 변화에 기초하여 로봇(100)을 소정의 장소로 이동시킬지 여부를 결정할 수 있다. 일 구현예에서, 로봇(100)은 소정의 물품(예컨대 음식)을 소정의 테이블로 전달할 수 있다. 해당 테이블의 고객이 로봇(100)으로부터 물품을 치우면, 무게 센서(210)는 처리부(130)에 입력을 제공한다. 처리부(130)는 로봇(100)의 트레이(200)에 의해 지지되는 무게의 감소(이는 로봇(100)에 의해 전달되는 물품을 고객이 치웠음을 나타냄)가 있는 것으로 결정한다. 이어서, 처리부(130)는 로봇이 다음 목적지로 이동하도록 로봇(100)의 모터들(140, 142)을 작동시킬 수 있다.
다른 실시예들에서, 무게 센서(210) 대신에 또는 그에 더하여, 로봇(100)은 또한 상단부(114)와 연관된 음식 지지면 위의 공간 영역(예컨대 트레이(200) 위의 공간 영역)을 바라보도록 구성되는 광학 카메라를 포함할 수 있다. 이러한 경우에, 처리부(130)는 카메라로부터 획득된 광학 이미지에 기초하여 물품이 트레이(200) 위에 놓였거나 트레이(200)로부터 치워졌는지 여부를 결정하도록 구성될 수 있다. 예컨대, 카메라는 (트레이(200)가 어떠한 물품도 지지하고 있지 않을 때의) 트레이(200) 위의 공간 영역의 이미지를 기준 이미지로서 획득할 수 있다. 이러한 기준 이미지는 로봇(100) 내의 비일시성 매체(152)에 저장될 수 있다. 물품이 트레이(200) 위에 놓이면 카메라는 이미지를 포착(capture)하고, 처리를 위해 해당 이미지를 처리부(130)에 전송한다. 처리부(130)는 해당 이미지를 비일시성 매체(152)에 저장된 기준 이미지와 비교할 수 있다. 일부 실시예들에서, 처리부(130)에 의한 이미지의 비교는 처리부(130)에 의해 두 이미지 간의 상관값(correlation value)을 결정함으로서 구현될 수 있다. 두 이미지가 상이한 경우, 처리부(130)는 물품이 트레이(200) 위에 놓인 것으로 결정할 수 있다.
유사하게, 카메라는 물품이 트레이(200) 위에 놓인 후에 트레이(200) 위의 공간 영역의 이미지를 획득할 수 있다. 이러한 기준 이미지는 로봇(100) 내의 비일시성 매체(152)에 저장될 수 있다. 해당 물품이 트레이(200)로부터 치워지면 카메라는 이미지를 포착하고, 처리를 위해 해당 이미지를 처리부(130)에 전송한다. 처리부(130)는 해당 이미지를 비일시성 매체(152)에 저장된 기준 이미지와 비교할 수 있다. 일부 실시예들에서, 처리부(130)에 의한 이미지의 비교는 처리부(130)에 의해 두 이미지 간의 상관값을 결정함으로서 구현될 수 있다. 두 이미지가 상이한 경우, 처리부(130)는 물품이 트레이(200)로부터 치워진 것으로 결정할 수 있다.
일부 실시예들에서, 카메라에 의한 이미지의 포착은 트레이(200)에 의해 지지되는 무게의 변화에 응답하여 수행될 수 있다. 예컨대, 물품이 트레이(200) 위에 놓인 경우 및/또는 물품이 트레이(200)로부터 치워진 경우, 처리부(130)는 그에 해당하는 무게가 무게 센서(210)에 의해 감지되었음을 나타내는 입력을 무게 센서(210)로부터 수신한다. 이어서, 처리부(13)는 무게 변화가 있는지 여부를 결정할 수 있고, 이러한 경우에 처리부(130)는 카메라가 이미지를 포착하게 하기 위한 신호를 생성할 수 있다. 그 대신에, 카메라는 트레이(200) 위의 공간 영역의 이미지들(예컨대 동영상)을 연속으로 생성하도록 구성될 수 있다. 이러한 경우에, 이미지들은 어떠한 감지된 무게에 기초하여 생성되는 것이 아니다. 이러한 경우에, 처리부(130)는 이미지들을 실시간으로 분석하여 물품이 트레이(200) 위에 놓였거나 트레이(200)로부터 치워졌는지 여부를 결정하도록 구성될 수 있다.
음식 및/또는 음료 지지 메커니즘은 예시에서 설명된 트레이(200)로 한정되지 않음에 주의해야 한다. 다른 실시예들에서, 음식 및/또는 음료는 임의의 유형의 트레이일 수 있거나 트레이와는 상이한 구성을 가질 수 있는 임의의 지지대에 의해 지지될 수 있다. 지지대는 세정 가능한 재료, 예컨대 부식성 세정제(예컨대 클로락스)와 접촉할 경우 임의의 화학 물질의 생성 및/또는 변색이나 퇴색의 발생이 없는 재료로 만들어질 수 있다. 그 대신에 또는 그에 더하여, 지지대의 재료는 식기 세척기에 대한 안전성이 있을 수 있다. 예컨대, 지지대 재료는 열(예컨대, 화씨 100도보다 높은 임의의 온도(예컨대 화씨 100도 내지 200도), 화씨 110도보다 높은 임의의 온도(예컨대 화씨 110도 내지 140도), 화씨 135도보다 높은 임의의 온도 등) 및 상업용 식기 세척기에서 사용되는 화학 물질을 견디기에 충분히 강한 것일 수 있다. 또한, 일부 실시예들에서, 지지대 재료는 미국 식품의약국(FDA)에 의해 승인된, 식품 접촉시에 안전한 재료일 수 있다. 일부 실시예들에서, 지지대 재료는 내산성 플라스틱, 예컨대 테트라플루오로에틸렌의 합성 불소 중합체, 폴리클로로트리플루오로에틸렌(PCTFE), 폴리비닐리덴 플루오라이드(PVDF), 에틸렌과 클로로트리플루오로에틸렌의 공중합체, 염소화 폴리비닐 클로라이드(CPVC) 등일 수 있다. 지지대에 사용될 수 있는 재료의 다른 예에는 폴리에틸렌 테레프탈레이트(PET), 폴리프로필렌(PP), 폴리카보네이트(PC), 글래스틸(glassteel), 섬유 유리, 플라스틱, 폴리카보네이트 등이 포함된다. 또한, 일부 실시예들에서, 지지대는 미국 국가위생재단(NSF)의 요구 사양, 미국 국가표준협회(ANSI)의 요구 사양(예컨대 NSF/ANSI 2, 4, 36, 59), 미국 식품의약국(FDA)의 요구 사양, 또는 상기 요구 사양들의 임의의 조합을 충족시키도록 제작될 수 있다. 다른 실시예들에서, 지지대는 미국 외부의 다른 기관 또는 정부 기구(예컨대 대한민국, 중국, 유럽, 일본 등)의 요구 사양을 충족시키도록 제작될 수 있다.
도 3에 도시된 바처럼, 로봇(100)은 상단부(114)에 배치되는 스피커(300)를 더 포함한다. 그 대신에, 스피커(300)는 하단부(112)에 배치될 수 있다. 처리부(130)는 스피커(300)를 제어하여 오디오 정보를 제공하도록 구성되는 오디오 처리 모듈(162)을 포함할 수 있다. 예컨대, 일부 실시예들에서, 처리부(130)는 고객에게 음식이 도착했음을 알리도록 스피커(300)를 작동시킬 수 있고, 로봇(100) 위에 지지되고 있는 소정의 식품을 가져가도록 고객에게 지시할 수 있다. 다른 예로서, 처리부(130)는 고객에게 계산서가 도착했음을 알리도록 스피커(300)를 작동시킬 수 있다. 다른 실시예들에서, 로봇(100)은 하나의 스피커(300)만을 포함하거나, 3개 이상의 스피커(300)를 포함할 수 있다.
도시된 실시예들에서, 로봇(100)은 상단부(114)에 배치되는 마이크(138)를 더 포함한다. 마이크(138)는 음성을 수신하고, 처리부(130)에 의해 처리될 마이크 출력 신호를 제공하도록 구성된다. 일부 실시예들에서, 처리부(130)는 마이크 출력 신호를 처리하여 명령 및/또는 요청을 식별하도록 구성되는 음성 처리 모듈(164)을 포함할 수 있다. 예컨대, 고객 또는 사용자는 마이크(138)에 대고 "원위치로 가"라고 말함으로써 로봇(100)에게 원위치로 돌아가도록 지시할 수 있다. 다른 예로서, 고객 또는 사용자는 메뉴 요청, 음식 주문, 음료 주문, 계산서 요청, 종업원 요청, 포장 박스 요청 등이나 이들의 임의의 조합을 행할 수 있다. 마이크(138)는 이러한 음성 요청(들)을 수신하고, 그에 해당하는 마이크 출력 신호를 비일시성 매체(152) 내의 저장 및/또는 스피커(종업원이 착용한 장치의 스피커, 주방 내의 스피커 등)로의 무선 전송을 위해 제공할 수 있다. 그 대신에 또는 그에 더하여, 마이크 출력 신호는 서버 또는 외부 장치(예컨대 휴대 전화, 태블릿 등)에 저장하기 위한 메시지로 변환될 수 있고, 종업원은 자신이 원하는 임의의 시간에 이러한 메시지를 조회할 수 있다. 다른 실시예들에서, 마이크(138)는 로봇(100)의 하단부(112)에 배치되도록 구현될 수 있다. 또한, 다른 실시예들에서, 로봇(100)은 두 개 이상의 마이크(138)를 포함할 수 있다. 예컨대, 다른 실시예들에서, 로봇(100)은 두 개의 마이크(138)를 포함할 수 있고, 이는 처리부(130)에 의해 음성의 방향이 결정될 수 있게 한다. 또 다른 실시예들에서, 로봇(100)은 마이크를 포함하지 않을 수 있다.
도 1에 도시된 바처럼, 로봇(100)은 상단부(114)에 배치되는 두 개의 프로그래밍 가능한 버튼(170)을 더 포함한다. 각 버튼(170)은 원하는 기능을 달성하도록 프로그래밍될 수 있다. 비한정적인 예시로서, 각 버튼(170)은 로봇(100)에게 원위치로 복귀하거나, 전용 위치로 가거나, 계산서를 제공하거나, 종업원을 요청하는 등의 지시를 하도록 프로그래밍될 수 있다. 일부 경우에, 로봇(100)은 로봇(100)의 사용자가 버튼(170)을 프로그래밍할 수 있게 하기 위한 사용자 인터페이스(예컨대 터치 스크린)을 포함할 수 있다. 사용자 인터페이스는 버튼들(170) 중 하나 또는 둘 다와 연관시킬 수 있는 가용 기능의 목록을 디스플레이할 수 있다. 사용자가 사용자 인터페이스를 사용하여 소정의 버튼(170)에 대한 기능을 선택하면, 그러한 선택이 로봇(100) 내의 비일시성 매체(152)에 저장되고, 버튼(170)에는 선택된 기능이 할당된다. 다른 경우에, 사용자는 휴대 전화 또는 태블릿의 애플리케이션에 액세스하고, 해당 애플리케이션을 사용하여 버튼(들)(170)을 프로그래밍할 수 있다. 이러한 경우에, 해당 애플리케이션은 버튼(들)(170)에 대해 선택된 기능을 클라우드로 전송하여 로봇(100)에 전송되도록 하거나, 또는 무선으로 로봇(100)에 직접 전송할 수 있다. 다른 경우에, 버튼(들)(170)은 로봇(100)의 관리자 또는 제작자에 의해 프로그래밍될 수 있다. 이러한 경우, 버튼(들)(170)은 로봇(100)이 식당에 전달되기 전에 미리 프로그래밍된다. 다른 실시예들에서, 로봇(100)은 3개 이상의 프로그래밍 가능한 버튼(170)을 포함하거나, 프로그래밍 가능한 버튼을 포함하지 않을 수 있다. 또한, 다른 실시예들에서, 버튼(들)(170)은 미리 결정된 전용 기능을 가질 수 있고, 이러한 경우에 버튼(들)(170)은 프로그래밍 가능하지 않을 수 있다.
도시된 실시예들에서, 로봇(100)의 처리부(130)는 제1 카메라(120)로부터의 제1 포인트 클라우드, 제2 카메라(122)로부터의 제2 포인트 클라우드 및 제3 카메라(124)로부터의 제3 포인트 클라우드를 획득하고, 제1, 제2 및 제3 포인트 클라우드를 처리하도록 구성되는 장애물 탐지기(180)를 포함한다. 일 구현예에서, 처리부(130)의 장애물 탐지기(180)는 제1, 제2 및 제3 포인트 클라우드에서 높이 성분을 제거하여 제1, 제2 및 제3 2차원 포인트 클라우드를 획득하도록 구성된다. 예컨대, 제1 포인트 클라우드가 (X=23, Y=55, Z=83)의 좌표를 갖는 점을 포함하는 경우, 로봇(100)의 장애물 탐지기(180)는 높이 성분(이 예시에서는 Z=83)을 제거하여 3차원 점을 2차원 좌표(X=23, Y=55)로 변환한다. 2차원 포인트 클라우드가 결정된 후에, 장애물 탐지기(180)는 제1, 제2 및 제3 2차원 포인트 클라우드를 결합하여 장애 경계를 결정한다. 처리부(130)는 결정된 장애 경계에 기초하여 로봇(100)을 제어할 수 있다. 예컨대, 처리부(130)는 결정된 장애 경계에 기초하여 로봇(100)의 정지 및/또는 로봇(100)의 상이한 방향으로의 조종에 의해 충돌을 방지하기 위한 제어 신호를 생성할 수 있다. 다른 실시예들에서, 세 카메라(120, 122, 124) 전부로부터의 포인트 클라우드를 사용하는 대신에, 장애물 탐지기(180)는 제1 및 제2 카메라(120, 122)로부터의 포인트 클라우드만을 사용하여 장애 경계를 결정할 수 있다.
도 4는 상술한 장애물 탐지 기술의 예를 도시한다. 도면에 도시된 바처럼, 식당에는 테이블(400)이 놓여 있다. 테이블(400)은 테이블 모서리(402)를 갖는다. 도시된 예에서, 또한 테이블(400) 아래쪽 바닥에 핸드백(410)이 부분적으로 걸쳐서 놓여 있다. 로봇(100)이 테이블(400)에 접근함에 따라, 위쪽 방향을 바라보는 제1 카메라(120)는 테이블 모서리(402)를 탐지하지만 바닥의 핸드백(410)은 탐지하지 못할 수 있다. 그러나, 아래쪽 방향을 바라보는 제2 카메라(122)는 바닥의 핸드백(410)을 탐지할 수 있지만 테이블 모서리(402)는 탐지하지 못할 수 있다. 제1 카메라(120)에 의해 탐지된 테이블 모서리(402)는 제1 포인트 클라우드로서 포착되어, 제1 카메라(120)에 의해 처리부(130)로 전송된다. 유사하게, 제2 카메라(122)에 의해 탐지된 핸드백(410)은 제2 포인트 클라우드로서 포착되어, 제2 카메라(122)에 의해 처리부(130)로 전송된다. 포인트 클라우드 내의 각 점은 카메라 좌표계에 대한 점의 위치를 나타내는 3차원 좌표를 갖는다. 처리부(130)의 장애물 탐지기(180)는 제1 및 제2 포인트 클라우드 중 하나 또는 둘 다에 대해 좌표 변환을 수행하여, 두 카메라(120, 122)에 의해 포착된 점들 모두가 동일한 좌표계를 기준으로 결합될 수 있도록 한다. 장애물 탐지기(180)는 또한 제1 및 제2 포인트 클라우드에서 높이 성분을 제거하여 제1 및 제2 2차원 포인트 클라우드를 획득한다. 포인트 클라우드에서 높이 성분을 제거하는 것은 물체들의 탐지된 표면들 전부를 단일 평면으로 압축하는 효과를 갖는다. 2차원 포인트 클라우드가 결정된 후에, 장애물 탐지기(180)는 2차원 포인트 클라우드에 의해 형성되는 경계를 식별하고, 해당 경계를 장애 경계로서 사용한다. 도면에 도시된 바처럼, 이 예시에서 결정된 장애 경계는 테이블 모서리(402)의 윤곽 중 일부에 대응되는 제1 경계 부분(420), 핸드백(410)의 윤곽 중 일부에 대응되는 제2 경계 부분(422) 및 테이블 모서리(402)의 윤곽 중 일부에 대응되는 제3 경계 부분(424)을 포함한다. 처리부(130)는 결정된 장애 경계에 기초하여 로봇(100)을 작동시킬 수 있다. 일부 실시예들에서, 처리부(130)는 로봇(100)이 장애 경계에 도달하는 것을 방지하거나 또는 로봇(100)이 장애 경계로부터 일정 마진(예컨대 3 인치, 6 인치, 1 피트 등)만큼 떨어진 소정의 위치에 도달하는 것을 방지하도록 로봇(100)을 작동시킬 수 있다. 상술한 기술을 사용하여 상이한 높이에 있는 물체들에 기초한 장애 경계를 형성하는 것은, 상이한 높이에 있는 상이한 물체들의 경계를 포착하는 인공 수직 경계(430)를 생성하는 효과를 갖는다. 로봇(100)을 위한 충돌 방지 경계를 생성하는 이러한 기술은 구현이 용이하고, 상당한 계산 자원을 요구하지 않는다.
위의 예에서, 제1 및 제2 카메라(120, 122)를 사용하여 획득된 포인트 클라우드에 기초하여 장애 경계가 생성되는 것으로 설명되었다. 다른 실시예들에서, 제3 카메라(124)로부터의 포인트 클라우드가 또한 장애 경계를 결정하는 데 사용될 수 있다. 이러한 경우에, 처리부(130)의 장애물 탐지기(180)는 제1, 제2 및 제3 카메라(120, 122, 124)로부터의 포인트 클라우드를 모두 결합하여 장애 경계를 형성한다.
또한, 위의 예에서, 로봇(100)은 움직이지 않는 장애물을 탐지할 수 있는 것으로 설명되었다. 다른 실시예들에서, 로봇(100)은 식당 내의 사람, 음식 카트 등과 같은 움직이는 장애물을 탐지할 수 있다. 카메라들(120, 122)(그리고 선택적으로 또한 카메라(124))은 물체를 실시간으로 탐지할 수 있고, 처리부(130)는 이들 카메라로부터의 포인트 클라우드를 처리하여 실시간으로 충돌 방지 경계를 결정할 수 있다. 이는 처리부(130)가 예컨대 사람 등의 움직이는 물체를 탐지하여 로봇(100)이 정지하거나 그 사람 주위를 돌아서 가도록 로봇(100)을 작동시키는 것을 가능하게 한다.
도 5는 충돌 방지 방법(500)을 도시한다. 방법(500)은 로봇(100)에 의해 수행될 수 있다. 방법(500)은 제1 카메라로부터 제1 포인트 클라우드를 획득하는 단계(항목 502), 제2 카메라로부터 제2 포인트 클라우드를 획득하는 단계(항목 504) 및 제3 카메라로부터 제3 포인트 클라우드를 획득하는 단계(항목 506)를 포함한다. 일부 실시예들에서, 항목 502, 504 및 506은 동시에 수행될 수 있다. 방법(500)은 또한 제1, 제2 및 제3 포인트 클라우드에서 높이 성분을 제거하여 제1, 제2 및 제3 2차원 포인트 클라우드를 획득하는 단계(항목 510)를 포함한다. 다음으로, 제1, 제2 및 제3 2차원 포인트 클라우드가 결합되어 장애 경계를 결정한다(항목 512). 다음으로, 로봇(100)이 장애 경계에 기초하여 작동된다(항목 514). 예컨대, 처리부(130)는 장애 경계에 기초하여 로봇(100)의 정지 및/또는 로봇(100)의 상이한 방향으로의 조종을 위한 제어 신호를 생성할 수 있다. 장애 경계를 결정하기 위해 3개의 카메라를 활용하여 3개의 포인트 클라우드를 획득하는 것을 기준으로 방법(500)이 설명되었으나, 다른 실시예들에서 제3 카메라는 선택적인 것으로서 필요하지 않다. 이러한 경우에, 방법(500)은 항목 506을 포함하지 않을 수 있고, 항목 512에서 장애 경계는 제1 및 제2 2차원 포인트 클라우드의 결합에 기초하여 결정된다.
일부 실시예들에서, 로봇(100)의 처리부(130)는 스케줄러(182)로부터의 입력에 기초하여 로봇(100)이 식당 내의 상이한 장소들로 이동하여 주행하게 하도록 구성될 수 있다. 스케줄러(182)는 처리부(130)의 일부로서 구현될 수 있다. 예컨대, 처리부(130)의 스케줄러는 로봇(100)이 제1 테이블로 가서 제1 서비스를 제공한 후 원위치로 복귀하도록 로봇(100)을 작동시킬 수 있다. 다른 예로서, 처리부(130)의 스케줄러는 로봇(100)이 제1 테이블로 가서 제1 서비스를 제공한 후 제2 테이블로 가서 제2 서비스를 제공하는 등의 식으로 로봇(100)을 작동시킬 수 있다. 일부 실시예들에서, 처리부(130)의 스케줄러는 사용자 인터페이스를 통해 프로그래밍 가능할 수 있다. 예컨대, 로봇(100)은 로봇(100)의 사용자가 로봇(100)에 대한 스케줄을 프로그래밍할 수 있게 하는 사용자 인터페이스(예컨대 터치 스크린)을 포함할 수 있다. 일 구현예에서, 사용자 인터페이스는 도착할 테이블 및 해당 테이블을 떠나기 위한 기준을 사용자가 선택하게 할 수 있다. 예컨대, 사용자는 로봇(100)이 7번 테이블로 가도록(예컨대 식품의 전달을 위해) 로봇(100)을 프로그래밍할 수 있고, 로봇(100)의 음식 지지 트레이 아래의 무게 센서에 의해 측정되는 무게의 감소(예컨대 변화의 양과 무관한 무게 변화, 또는 소정의 지정된 문턱값보다 큰 무게 변화)가 로봇(100)이 해당 테이블을 떠나기 위한 기준이 되도록 프로그래밍할 수 있다. 이러한 경우에, 로봇(100)이 프로그래밍된 후, 사용자는 로봇(100)을 출발시켜 7번 테이블로 가서 식품을 전달하게 할 수 있다. 로봇(100)은 해당 테이블에 도착한 후 정지하여 7번 테이블의 고객이 식품을 가져가기를 기다린다. 식품이 로봇(100)의 트레이로부터 치워지면, 처리부(130)는 트레이 위에 지지되던 물품이 치워졌음을 나타내는 입력을 무게 센서로부터 수신한 후, 프로그래밍된 기준이 충족된 것으로 결정한다. 이어서, 처리부(130)는 로봇(100)이 로봇(100)에 프로그래밍된 다음 목적지로 가도록 로봇(100)을 작동시킨다. 예컨대, 다음 목적지가 원위치인 경우, 처리부(130)는 로봇(100)이 원위치로 가도록 로봇(100)을 작동시킨다. 다음 목적지가 4번 테이블인 경우(계산서 전달을 위한 것임), 처리부(130)는 로봇(100)이 4번 테이블로 가도록 로봇(100)을 작동시킨다. 로봇(100)이 4번 테이블에 도착하면, 로봇(100)은 예컨대 로봇(100)에 설치된 프린터를 사용하여 계산서를 인쇄할 수 있다. 이어서, 로봇(100)은 4번 테이블의 고객이 계산서를 가져가기를 기다린다. 계산서를 가져간 것을 프린터(또는 로봇(100))가 감지하면, 처리부(130)는 4번 테이블을 떠나기 위한 기준이 충족된 것으로 결정한 후, 로봇(100)이 다음 목적지로 가도록 로봇(100)을 작동시킬 수 있다.
위의 예시에서, 로봇(100)의 이동(예컨대 테이블로부터 떠나거나, 테이블에 서비스를 제공하거나, 원위치로 복귀하는 것 등)을 위한 제어 신호의 생성은 무게 기준(예컨대 무게의 변화, 또는 소정의 양을 초과하는 무게의 변화)의 충족을 기준으로 설명되었다. 그 대신에 또는 그에 더하여, 로봇(100)이 이동하도록 로봇(100)을 작동시키기 위한 기준은 다른 기준(들)에 기초할 수 있다. 예컨대, 일부 경우에, 로봇(100)의 작동은 소정 기간(예컨대 30초, 1분 등)의 경과에 기초할 수 있다. 이러한 경우에, 로봇(100)이 테이블에 도착하면 해당 기간 동안 그 곳에 머무른다. 아무 일도 일어나지 않으면, 로봇(100)은 해당 기간이 경과한 후 그 테이블을 떠난다. 일부 경우에, 해당 기간이 경과하기 전에 소정의 이벤트(예컨대 트레이(200)로부터 물품이 치워짐)가 발생하면, 로봇(100)은 해당 기간이 경과하기 전에 그 테이블을 떠날 수 있다. 그 대신, 다른 경우에, 소정의 이벤트가 발생했는지 여부에 관계없이, 로봇(100)은 해당 기간이 경과할 때까지 그 테이블에 머무를 수 있다.
다른 예로서, 로봇(100)이 이동하도록 로봇(100)을 작동시키기 위한 기준은 이미지 또는 이미지 파라미터에 의해 충족될 수 있다. 예컨대, 로봇(100)이 트레이(200) 위의 공간 영역을 바라보는 카메라를 포함하는 경우, 해당 카메라는 물품이 트레이(200)로부터 치워졌는지 여부 및/또는 물품이 트레이(200) 위에 놓였는지 여부를 나타내기 위한 이미지를 제공할 수 있다. 처리부(130)는 이러한 이미지를 처리하여 이벤트가 발생했는지 여부를 결정하도록 구성될 수 있다. 예컨대, 이미지(들)이 트레이(200)로부터 물품이 치워졌음을 나타내는 경우, 처리부(130)는 로봇이 다음 목적지로 이동하도록 로봇을 작동시킬 수 있다. 일부 경우에, 처리부(130)는 이미지(들)을 처리하여 하나 이상의 이미지 파라미터(예컨대 대비, 색, 추출된 특징, 이미지 상관값 등)를 결정할 수 있고, 이미지 파라미터(들)에 의해 하나 이상의 기준이 충족되는 것에 기초하여 로봇(100)이 다음 목적지로 이동하도록 로봇(100)을 작동시킬 수 있다.
또 다른 예로서, 로봇(100)이 이동하도록 로봇(100)을 작동시키기 위한 기준은 고객 또는 종업원에 의해 수신되는 명령에 기초할 수 있다. 예컨대, 테이블의 고객은 버튼(170)을 누르거나 음성 명령을 제공할 수 있다. 이에 응답하여, 로봇(100)은 식당 내의 다음 목적지(예컨대 원위치, 다른 테이블 등)로 이동할 수 있다. 다른 예로서, 식당의 종업원은 또한 버튼(170)을 누르거나 음성 명령을 제공할 수 있다. 이에 응답하여, 로봇(100)은 다음 목적지로 이동할 수 있다.
도 6은 로봇에 의해 수행되는 방법(600)을 도시한다. 방법(600)은 로봇이 식당 내의 제1 테이블로 이동하여 제1 테이블에 서비스를 제공하도록 로봇 내의 모터(들)을 작동시키는 단계(항목 602), 로봇이 정지하여 식당 내의 제1 테이블에 서비스를 제공하게 하기 위한 제1 제어 신호를 생성하는 단계(항목 604) 및 하나 이상의 기준이 충족되는 것에 기초하여, 로봇이 식당 내의 다음 목적지를 향해 이동하게 하기 위한 제2 제어 신호를 생성하는 단계(항목 606)를 포함한다. 일 구현예에서, 항목 604의 경우, 로봇을 정지시키기 위한 제1 제어 신호는 로봇이 제1 테이블과 연관된 원하는 위치에 도달했을 때에 처리부(130)에 의해 생성될 수 있다. 원하는 위치는 제1 테이블 옆의(예컨대 제1 테이블로부터 6 인치, 1 피트 등과 같은 소정 거리 이내의) 지정된 구역일 수 있다. 따라서, 처리부(130)는 로봇의 실제 위치를 결정하고, 로봇이 원하는 위치에 도달했는지 여부를 결정할 수 있다. 그렇지 않은 경우, 처리부(130)는 원하는 위치에 로봇이 도달할 때까지 계속 로봇이 주행하게 한다. 또한, 항목 606에 대한 비한정적인 예시로서, 상기 하나 이상의 기준은 소정 기간의 경과(예컨대 로봇은 30초, 1분 등과 같은 소정의 기간이 경과한 후에 테이블을 떠남), 로봇에 의해 지지되는 무게의 변화, 이미지 또는 이미지 파라미터에 의해 충족되는 기준, 고객 또는 종업원에 의해 수신되는 명령(예컨대 고객 또는 종업원이 버튼(170)을 누르거나 음성 명령을 제공함), 또는 이들의 임의의 조합을 포함할 수 있다. 다음 목적지는 로봇에 의해 서비스가 제공될 제2 테이블, 원위치 등일 수 있다.
로봇(100)은 설명된 구성, 형태 및 특징으로 한정되지 않으며, 로봇(100)은 다른 실시예들에서 다른 구성, 형태 및 특징을 가질 수 있음에 주의해야 한다. 예컨대, 도 7 및 8에 도시된 바처럼, 다른 실시예들에서, 로봇(100)은 도면에 도시된 구성을 가질 수 있다. 도시된 실시예들에서, 로봇(100)의 하단부(112)는 용기(702)를 수용하도록 구성되는 슬롯(700)을 포함하고, 용기(702)는 식기류 및/또는 음식 메뉴를 보유하기 위한 크기를 갖는다. 또한, 로봇(100)의 상단부(114)는 수직 방향으로 제1 위치로부터 제2 위치로 이동 가능한 프레임(710)을 갖는다. 프레임(710)이 도 8에 도시된 것과 같이 제1 위치에 있는 경우, 상단부(114)는 상이한 물품들을 수용하기 위한(예컨대 음식, 음료, 식기류, 메뉴 등을 지지하기 위한) 단일 공간을 제공한다. 프레임(710)이 도 7에 도시된 것과 같이 제2 위치에 있는 경우, 상단부(114)는 상이한 물품들을 수용하기 위한 2층의 공간을 제공한다.
도시된 실시예들에서, 로봇(100)은 상단부(114)에 탈착 가능하게 결합되는 터치 스크린 장치(800)를 더 포함한다. 그 대신에, 터치 스크린 장치(800)는 로봇의 하단부(112)에 탈착 가능하게 결합될 수 있다. 일부 실시예들에서, 터치 스크린 장치(800)은 로봇(100)의 사용자에 의한 명령의 입력 및/또는 로봇(100)의 프로그래밍을 가능하게 하기 위한 사용자 인터페이스를 제공한다.
도 7 및 8의 로봇(100)은 도 1 내지 3의 로봇(100)을 기준으로 설명한 특징들 중 임의의 것을 가질 수 있다.
일부 실시예들에서, 로봇(100)은 로봇(100)의 다양한 구성요소들에 전력을 제공하기 위한 재충전 가능 배터리를 포함할 수 있다. 배터리는 케이블이나 무선 충전 패드를 사용하여 충전될 수 있다.
본 명세서에서 설명한 로봇(100)의 하나 이상의 실시예에서, 로봇(100)은 신용 카드 판독기를 선택적으로 더 포함할 수 있다. 예컨대, 신용 카드 판독기는 상단부(114)에 구현될 수 있고, 신용 카드를 받기 위한 슬롯을 포함한다. 이는 로봇(100)이 테이블의 고객으로부터 신용 카드를 받고 해당 고객 앞에서 신용 카드를 처리할 수 있게 한다. 로봇(100)은 또한 고객을 위한 영수증을 인쇄하기 위한 프린터를 선택적으로 포함할 수 있다.
또한, 일부 실시예들에서, 식당에서 서비스를 제공하는 단일 로봇(100)만을 구비하는 대신에, 동일 식당에서 서비스를 제공하는 다수의 로봇(100)이 존재할 수 있다. 이러한 경우에, 각 로봇(100)은 식당 내의 다른 로봇(들)(100)과 통신하도록 구성되는 무선 통신부를 포함할 수 있다. 일부 실시예들에서, 소정 테이블에 대해서 요청된 서비스가 식당 내의 모든 로봇들(100)에게 통보될 수 있다(예컨대, 종업원이 휴대 전화, 태블릿 등의 휴대용 장치나 컴퓨터를 통해 이러한 요청을 전송할 수 있다). 이어서, 로봇들(100)은 미리 결정된 알고리즘에 기초하여 로봇들(100) 중 어느 것이 서비스를 수행할지를 집합적으로 결정할 수 있다. 예컨대, 미리 결정된 알고리즘은, 업무량이 가장 적은 로봇 등에 기초하여, 서비스가 제공될 테이블에 가장 가까운 로봇을 선택할 수 있다. 선택된 로봇에 의해 서비스가 완료되면, 모든 로봇들에서 서비스 요청이 갱신된다. 그 대신에, 다른 실시예들에서, 로봇들(100)은 서로 통신할 필요가 없을 수 있다. 대신, 모든 로봇들(100)은 하나 이상의 종업원과 무선으로 통신하도록 구성될 수 있다. 예컨대, 종업원은 휴대 전화, 태블릿 등의 휴대용 장치를 소지할 수 있고, 식당 내의 상이한 로봇들(100)에게 무선으로 요청을 송신할 수 있다.
본 명세서에서 사용되는 "비일시성 매체"라는 용어는 하나 이상의 저장소나 메모리 유닛을 지칭할 수 있음에 주의해야 한다. 다수의 저장소나 메모리 유닛이 존재하는 경우, 이들은 단일 저장 장치 또는 메모리 장치의 일부이거나, 또는 그 대신에 별개의 저장 장치들 또는 메모리 장치들(함께 결합되거나 결합되지 않을 수 있음)일 수 있다.
로봇(100)이 식당에서 음식 및/또는 음료를 서빙하도록 구성되는 것으로 설명되었으나, 다른 실시예들에서, 로봇(100)은 다른 환경에서 음식/및/또는 음료를 서빙하도록 구성될 수 있다. 비한정적인 예시로서, 로봇(100)은 요양원, 카지노, 호텔, 공항, 비행기, 주택, 카페테리아 등에서 음식 및/또는 음료를 서빙하도록 구성될 수 있다. 따라서, 본 명세서에서 설명된 지도는 요양원의 지도, 카지노의 지도, 호텔의 지도, 공항의 지도, 비행기 객실의 지도, 주택의 지도, 카페테리아의 지도 등일 수 있다.
처리부
도 9는 로봇의 처리부(1200)의 실시예를 도시하는 블록도이다. 처리부(1200)는 도 1 또는 도 7의 로봇(100) 내의 처리부(130)일 수 있다. 도 9에 도시된 바처럼, 처리부(1200)는 정보의 통신을 위한 버스(1202) 또는 다른 통신 메커니즘과, 정보의 처리를 위해 버스(1202)에 결합되는 프로세서(1204)를 포함한다. 처리부(1200)는 또한 프로세서(1204)에 의해 실행될 명령어나 정보를 저장하기 위해 버스(1202)에 결합되는 메인 메모리(1206)(예컨대 RAM(Random Access Memory) 또는 다른 동적 저장 장치)를 포함한다. 메인 메모리(1206)는 또한 프로세서(1204)에 의해 실행될 명령어의 실행 중에 임시 변수나 다른 중간 정보를 저장하는 데 사용될 수 있다. 처리부(1200)는 프로세서(1204)를 위한 정적 정보 및 명령어를 저장하기 위해 버스(1202)에 결합되는 ROM(Read Only Memory)(1208) 또는 다른 정적 저장 장치를 더 포함한다. 자기 디스크 또는 광 디스크와 같은 데이터 저장 장치(1210)가 정보 및 명령어의 저장을 위해 제공되어 버스(1202)에 결합된다.
처리부(1200)는 사용자에게 정보를 디스플레이하기 위해 버스(1202)를 통해 평판 패널과 같은 디스플레이(1212)에 결합될 수 있다. 정보 및 명령 선택을 프로세서(1204)에 통보하기 위해, 문자, 숫자 및 다른 키들을 포함하는 입력 장치(1214)가 버스(1202)에 결합된다. 다른 유형의 사용자 입력 장치는, 방향 정보 및 명령 선택을 프로세서(1204)에 통보하고 디스플레이(1212) 상에서 커서 이동을 제어하기 위한 커서 제어부(1216)(예컨대 마우스, 트랙볼, 또는 커서 방향 키)이다. 이러한 입력 장치는 전형적으로 2개의 축, 즉 제1 축(예컨대 x 축) 및 제2 축(예컨대 y 축)에서 2개의 자유도를 가지며, 이를 통해 입력 장치가 평면 내의 위치를 특정할 수 있게 한다.
처리부(1200)는 본 명세서에 설명된 실시예들에 따른 다양한 기능(예컨대 연산)을 수행하는 데 사용될 수 있다. 일 실시예에 따르면, 이러한 용도는 메인 메모리(1206)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 프로세서(1204)가 실행하는 것에 응답하여 처리부(1200)에 의해 제공된다. 이러한 명령어는 저장 장치(1210)와 같은 다른 컴퓨터 판독 가능 매체로부터 메인 메모리(1206)로 판독될 수 있다. 메인 메모리(1206)에 포함된 명령어의 시퀀스를 실행하는 것은 프로세서(1204)로 하여금 본 명세서에 설명된 처리 동작들을 수행하게 한다. 다중 처리 배치를 갖는 하나 이상의 프로세서가 메인 메모리(1206)에 포함된 명령어의 시퀀스를 실행하는 데 또한 이용될 수 있다. 대안적인 실시예들에서, 고정 배선(hard-wired) 회로가 소프트웨어 명령어 대신에 또는 그와 조합하여 본 발명의 구현에 사용될 수 있다. 따라서, 본 발명의 실시예들은 하드웨어 회로 및 소프트웨어의 임의의 특정한 조합으로 한정되지 않는다.
본 명세서에서 사용되는 "컴퓨터 판독 가능 매체"라는 용어는 명령어를 프로세서(1204)에 제공하여 실행되도록 하는 것에 관여하는 임의의 매체를 지칭한다. 이러한 매체는 임의의 형태를 취할 수 있으며, 비휘발성 매체, 휘발성 매체 및 전송 매체를 포함하지만 이에 한정되지 않는다. 비휘발성 매체는 예컨대 저장 장치(1210)와 같은 광 또는 자기 디스크를 포함한다. 휘발성 매체는 메인 메모리(1206)와 같은 동적 메모리를 포함한다. 전송 매체는 버스(1202)를 구성하는 배선을 포함하는, 동축 케이블, 구리선 및 광섬유를 포함한다. 전송 매체는 또한 전파 및 적외선 데이터 통신 중에 생성되는 것과 같은 음파 또는 광파의 형태를 취할 수 있다.
컴퓨터 판독 가능 매체의 일반적인 형태에는 예컨대 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광 매체, 펀치 카드, 종이 테이프, 구멍 패턴을 갖는 임의의 다른 물리적 매체, RAM, PROM 및 EPROM, 플래시 EPROM, 임의의 다른 메모리 칩 또는 카트리지, 아래에서 설명되는 반송파, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체가 포함된다.
하나 이상의 명령어의 하나 이상의 시퀀스를 프로세서(1204)에 반송하여 실행되도록 하는 것에는 다양한 형태의 컴퓨터 판독 가능 매체가 관여될 수 있다. 예컨대, 명령어는 처음에 원격 컴퓨터의 자기 디스크 상에서 반송될 수 있다. 원격 컴퓨터는 자신의 동적 메모리에 명령어를 로딩하고, 모뎀을 사용하여 전화선을 통해 해당 명령어를 송신할 수 있다. 처리부(1200)와 직결된 모뎀은 전화선 상에서 데이터를 수신하고, 적외선 송신기를 사용하여 해당 데이터를 적외선 신호로 변환할 수 있다. 버스(1202)에 결합된 적외선 탐지기는 적외선 신호로 반송되는 데이터를 수신하고, 해당 데이터를 버스(1202)에 둘 수 있다. 버스(1202)는 해당 데이터를 메인 메모리(1206)로 반송하고, 프로세서(1204)는 그로부터 명령어를 인출하여 실행한다. 메인 메모리(1206)에 의해 수신되는 명령어는 프로세서(1204)에 의한 실행 전 또는 실행 후에 선택적으로 저장 장치(1210)에 저장될 수 있다.
처리부(1200)는 또한 버스(1202)에 결합된 통신 인터페이스(1218)를 포함한다. 통신 인터페이스(1218)는 로컬 네트워크(1222)에 연결된 네트워크 링크(1220)에 대한 양방향 데이터 통신 결합을 제공한다. 예컨대, 통신 인터페이스(1218)는 해당 유형의 전화선에 대한 데이터 통신 접속을 제공하기 위한 ISDN(Integrated Services Digital Network) 카드나 모뎀일 수 있다. 다른 예로서, 통신 인터페이스(1218)는 호환 가능한 LAN(Local Area Network)에 대한 데이터 통신 접속을 제공하기 위한 LAN 카드일 수 있다. 무선 링크가 또한 구현될 수 있다. 이러한 임의의 구현예에서, 통신 인터페이스(1218)는 다양한 유형의 정보를 나타내는 데이터 스트림을 반송하는 전기, 전자기, 또는 광 신호를 송신 및 수신한다.
전형적으로 네트워크 링크(1220)는 하나 이상의 네트워크를 통해 다른 장치에 대한 데이터 통신을 제공한다. 예컨대, 네트워크 링크(1220)는 로컬 네트워크(1222)를 통해 호스트 컴퓨터(1224) 또는 장비(1226)(예컨대 방사 빔 광원 또는 방사 빔 광원에 동작적으로 결합된 스위치)에 대한 접속을 제공할 수 있다. 네트워크 링크(1220)를 통해 운송되는 데이터 스트림은 전기, 전자기, 또는 광 신호를 포함할 수 있다. 다양한 네트워크를 통과하는 신호 및 네트워크 링크(1220) 상에서 통신 인터페이스(1218)를 통과하는 신호(이는 데이터를 처리부(1200)로/로부터 반송함)는 정보를 운송하는 반송파의 예시적인 형태이다. 처리부(1200)는 네트워크(들), 네트워크 링크(1220) 및 통신 인터페이스(1218)를 통해 메시지를 송신하고 프로그램 코드를 포함한 데이터를 수신할 수 있다.
특정한 실시예들이 도시 및 설명되었으나, 이는 청구범위에 기재된 발명을 한정하기 위한 것이 아님을 이해해야 하며, 청구범위에 기재된 발명의 사상 및 범위로부터 벗어나지 않고 다양한 변경 및 수정이 이루어질 수 있음은 본 기술 분야의 당업자에게 자명하다. 따라서, 본 명세서 및 도면은 한정적인 것이 아닌 예시적인 것으로 간주되어야 한다. 청구범위에 기재된 발명은 대체 범위, 수정 범위 및 균등 범위를 포괄하기 위한 것이다.

Claims (28)

  1. 로봇으로서,
    복수의 바퀴를 갖는 베이스;
    상기 바퀴들 중 하나 이상에 기계적으로 결합되는 모터 시스템;
    상기 베이스 위에 결합되는 하단부 및 상기 하단부 위에 배치되는 상단부를 갖는 동체;
    상기 상단부에 배치되고, 화씨 135도보다 높은 온도를 견디도록 구성되는 지지대; 및
    상기 로봇을 작동시키도록 구성되는 처리부
    를 포함하는 로봇
  2. 제1항에 있어서,
    상기 상단부는 음식 및/또는 음료를 지지하기 위한 지지대를 포함하고, 상기 로봇은 상기 지지대에 결합되는 하나 이상의 무게 센서를 더 포함하며,
    상기 처리부는 상기 하나 이상의 무게 센서로부터의 출력에 기초하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성되는 로봇.
  3. 제1항에 있어서,
    마이크를 더 포함하고,
    상기 처리부는 상기 마이크에 의해 수신되는 음성 명령에 응답하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성되는 로봇.
  4. 제1항에 있어서,
    사용자 인터페이스를 더 포함하고,
    상기 처리부는 상기 사용자 인터페이스에 의해 수신되는 입력에 응답하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성되는 로봇.
  5. 제4항에 있어서,
    상기 사용자 인터페이스는 버튼 및/또는 터치 스크린을 포함하는 로봇.
  6. 제1항에 있어서,
    무선 통신 장치를 더 포함하고,
    상기 처리부는 상기 무선 통신 장치에 의해 수신되는 입력에 응답하여 상기 모터 시스템을 작동시키기 위한 신호를 제공하도록 구성되는 로봇.
  7. 제1항에 있어서,
    상기 로봇 바깥쪽의 물체를 감지하도록 구성되는 제1 카메라를 더 포함하는 로봇.
  8. 제7항에 있어서,
    제2 카메라를 더 포함하고,
    상기 제1 카메라는 그 탐지 범위가 상기 제2 카메라에 의해 커버되지 않는 제1 구역을 커버하도록 배향되며, 상기 제2 카메라는 그 탐지 범위가 상기 제1 카메라에 의해 커버되지 않는 제2 구역을 커버하도록 배향되는 로봇.
  9. 제8항에 있어서,
    실질적으로 수평 방향을 바라보도록 구성되는 제3 카메라를 더 포함하는 로봇.
  10. 제8항에 있어서,
    상기 처리부는 상기 제1 카메라로부터의 제1 포인트 클라우드(point cloud) 및 상기 제2 카메라로부터의 제2 포인트 클라우드를 획득하고, 상기 제1 및 제2 포인트 클라우드를 처리하도록 구성되는 로봇.
  11. 제10항에 있어서,
    상기 처리부는 상기 제1 및 제2 포인트 클라우드에서 높이 성분을 제거하여 제1 및 제2 2차원 포인트 클라우드를 획득하도록 구성되고,
    상기 처리부는 상기 제1 및 제2 2차원 포인트 클라우드를 결합하여 장애 경계(obstacle boundary)를 결정하도록 구성되는 로봇.
  12. 제11항에 있어서,
    상기 처리부는 상기 장애 경계에 기초하여 상기 로봇을 조종하도록 구성되는 로봇.
  13. 제1항에 있어서,
    상기 처리부는 상기 로봇이 시설 내의 제1 목적지로 이동하도록 상기 모터 시스템을 작동시키기 위한 제1 신호를 제공하도록 구성되고,
    상기 처리부는 또한 상기 제1 목적지를 떠나기 위한 기준이 충족되는지 여부를 결정하고, 상기 제1 목적지를 떠나기 위한 기준이 충족되는 경우 상기 로봇이 상기 제1 목적지로부터 떠나 이동하도록 상기 모터 시스템을 작동시키기 위한 제2 신호를 제공하도록 구성되는 로봇.
  14. 제13항에 있어서,
    상기 기준은 상기 제1 목적지에 도착한 이후의 최대 경과 시간을 포함하고, 상기 처리부는 상기 제1 목적지에 도착한 이후의 경과 시간이 상기 최대 경과 시간에 도달한 경우 상기 모터 시스템을 작동시키기 위한 상기 제2 신호를 제공하도록 구성되는 로봇.
  15. 제1항에 있어서,
    상기 처리부는 시설의 지도를 획득하고, 상기 지도에 기초하여 상기 시설 내의 주행 경로를 결정하도록 구성되는 로봇.
  16. 제1항에 있어서,
    주변을 탐지하도록 구성되는 레이저 장치를 더 포함하는 로봇.
  17. 제1항에 있어서,
    상기 지지대에 결합되는 무게 센서를 더 포함하는 로봇.
  18. 제1항에 있어서,
    상기 처리부는 무게 센서 또는 카메라로부터의 입력을 수신하고, 상기 입력을 처리하여 물품이 상기 지지대 위에 놓였거나 상기 지지대로부터 치워졌는지 여부를 결정하도록 구성되는 로봇.
  19. 제1항에 있어서,
    상기 지지대는 미국 국가위생재단(NSF)의 요구 사양, 미국 국가표준협회(ANSI)의 요구 사양, 미국 식품의약국(FDA)의 요구 사양, 또는 상기 요구 사양들의 임의의 조합을 충족시키는 로봇.
  20. 제1항에 있어서,
    상기 처리부는 상기 로봇을 제1 목적지로 이동시켜 시설 내의 제1 테이블에 서비스를 제공하게 하도록 구성되는 로봇.
  21. 제1항에 있어서,
    상기 하단부는 제1 단면 치수를 갖고, 상기 상단부는 상기 제1 단면 치수보다 큰 제2 단면 치수를 갖는 로봇.
  22. 제1항에 있어서,
    상기 상단부 또는 상기 하단부에 배치되는 스피커를 더 포함하고,
    상기 처리부는 상기 스피커를 제어하여 오디오 정보를 제공하도록 구성되는 로봇.
  23. 제1항에 있어서,
    상기 상단부 또는 상기 하단부에 배치되는 마이크를 더 포함하는 로봇.
  24. 제1항에 있어서,
    상기 상단부에 배치되는 하나 이상의 프로그래밍 가능한 버튼을 더 포함하는 로봇.
  25. 제1항에 있어서,
    상기 하단부는 용기를 수용하도록 구성되는 슬롯을 포함하고, 상기 용기는 식기류 및/또는 음식 메뉴를 보유하기 위한 크기를 갖는 로봇.
  26. 제1항에 있어서,
    상기 상단부는 수직 방향으로 제1 위치로부터 제2 위치로 이동 가능한 프레임을 갖는 로봇.
  27. 제1항에 있어서,
    상기 상단부 또는 상기 하단부에 탈착 가능하게 결합되는 터치 스크린 장치를 더 포함하는 로봇.
  28. 제1항에 있어서,
    상기 모터 시스템은 상기 복수의 바퀴 중 제1 바퀴에 결합되는 제1 모터와, 상기 복수의 바퀴 중 제2 바퀴에 결합되는 제2 모터를 포함하는 로봇.
PCT/KR2020/003278 2019-03-12 2020-03-09 음식 및/또는 음료의 서빙을 위한 로봇 WO2020184942A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/351,412 2019-03-12
US16/351,412 US11279042B2 (en) 2019-03-12 2019-03-12 Robots for serving food and/or drinks

Publications (1)

Publication Number Publication Date
WO2020184942A1 true WO2020184942A1 (ko) 2020-09-17

Family

ID=72424924

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/003278 WO2020184942A1 (ko) 2019-03-12 2020-03-09 음식 및/또는 음료의 서빙을 위한 로봇

Country Status (4)

Country Link
US (1) US11279042B2 (ko)
JP (1) JP6980738B2 (ko)
KR (3) KR102286825B1 (ko)
WO (1) WO2020184942A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210099218A (ko) * 2019-01-03 2021-08-12 엘지전자 주식회사 서버 및 이를 포함하는 로봇 시스템
CN113316501B (zh) * 2019-05-31 2022-02-18 乐恩吉室株式会社 以危险度判断为基础的机器人移动控制方法及利用其的移动机器人装置
US11440199B2 (en) * 2019-06-18 2022-09-13 Gang Hao Robotic service system in restaurants
KR102315615B1 (ko) * 2019-09-18 2021-10-21 주식회사 라운지랩 이미지 인식을 이용한 매장 내 식음료 이송 및 수거 시스템과 이를 이용한 식음료 이송 및 수거 방법
US11472459B2 (en) * 2019-11-12 2022-10-18 Bear Robotics, Inc. Serving apparatus
US11847618B2 (en) * 2020-03-27 2023-12-19 Aristocrat Technologies, Inc. Gaming service automation machine with kiosk services
USD1006884S1 (en) 2020-09-25 2023-12-05 Aristocrat Technologies, Inc. Gaming services robot
WO2022136571A1 (de) * 2020-12-24 2022-06-30 Robotise Ag Serviceroboter
CN112880689A (zh) * 2021-01-29 2021-06-01 北京百度网讯科技有限公司 一种领位方法、装置、电子设备及存储介质
US20220315355A1 (en) * 2021-03-30 2022-10-06 Dexterity, Inc. Autonomous and safe integration of human task in robotic operation
US11897706B2 (en) 2021-03-30 2024-02-13 Dexterity, Inc. Robotic system with zone-based control
US11934203B2 (en) * 2021-05-06 2024-03-19 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a robot
US11911906B2 (en) * 2021-05-21 2024-02-27 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a patrolling robot
US20230030633A1 (en) * 2021-07-28 2023-02-02 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a serving robot
KR102376301B1 (ko) * 2021-08-06 2022-03-18 티오더 주식회사 빅데이터 기반의 음식 추천 및 마케팅 서비스를 제공하는 플랫폼을 위한 시스템
KR102391562B1 (ko) * 2021-08-10 2022-04-29 주식회사세오 음식 쏟아짐 방지를 위한 서빙 로봇
KR102567872B1 (ko) 2021-09-30 2023-08-17 연세대학교 산학협력단 병원에서 환자들에 대한 모니터링 및 의료 자원 관리를 수행하기 위한 로봇 및 그 동작 방법
KR102576646B1 (ko) 2021-09-30 2023-09-08 연세대학교 산학협력단 병원에서 복수의 병실들 내 환자들에 대한 모니터링을 수행하기 위한 로봇 및 그 동작 방법
KR20230075807A (ko) 2021-11-23 2023-05-31 김유진 확장이 가능한 트레이들과 이들의 위치 조절이 가능한 서빙로봇 시스템
KR20240009768A (ko) * 2022-07-14 2024-01-23 삼성전자주식회사 물품을 목표 테이블까지 전달하기 위한 로봇 장치 및 로봇 장치의 동작 방법
CN115979251B (zh) * 2023-03-20 2023-06-27 深圳鹏行智能研究有限公司 地图的生成方法和机器人

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101083700B1 (ko) * 2009-04-02 2011-11-16 주식회사 유진로봇 음식점 서빙을 위한 로봇 시스템
US9037396B2 (en) * 2013-05-23 2015-05-19 Irobot Corporation Simultaneous localization and mapping for a mobile robot
KR20160100149A (ko) * 2015-02-13 2016-08-23 삼성전자주식회사 청소 로봇 및 그 제어방법
US9535421B1 (en) * 2014-02-28 2017-01-03 Savioke, Inc. Mobile delivery robot with interior cargo space
US9902069B2 (en) * 2010-05-20 2018-02-27 Irobot Corporation Mobile robot system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7686232B2 (en) * 2005-09-20 2010-03-30 Novarus Corporation System and method for food safety inspection
US8935006B2 (en) * 2005-09-30 2015-01-13 Irobot Corporation Companion robot for personal interaction
US8918213B2 (en) * 2010-05-20 2014-12-23 Irobot Corporation Mobile human interface robot
CA2720886A1 (en) * 2010-11-12 2012-05-12 Crosswing Inc. Customizable virtual presence system
EP2668008A4 (en) 2011-01-28 2018-01-24 Intouch Technologies, Inc. Interfacing with a mobile telepresence robot
KR101232584B1 (ko) 2011-02-11 2013-02-12 고려대학교 산학협력단 이동 로봇의 제어 장치 및 그 방법
KR101428877B1 (ko) * 2012-12-05 2014-08-14 엘지전자 주식회사 로봇 청소기
US20150202770A1 (en) * 2014-01-17 2015-07-23 Anthony Patron Sidewalk messaging of an autonomous robot
CA2938833A1 (en) * 2014-02-07 2015-08-13 The Coca-Cola Company System and method of selling goods or services, or collecting recycle refuse using mechanized mobile merchantry
WO2015120473A1 (en) 2014-02-10 2015-08-13 Savioke Inc. Entryway based authentication system
US11216153B2 (en) * 2014-05-15 2022-01-04 Sony Corporation Information processing device, display control method, and program
US9796093B2 (en) 2014-10-24 2017-10-24 Fellow, Inc. Customer service robot and related systems and methods
EP3430580A4 (en) * 2016-03-16 2020-04-01 Domino's Pizza Enterprises Limited AUTONOMOUS FOOD DELIVERY VEHICLE
US10071856B2 (en) * 2016-07-28 2018-09-11 X Development Llc Inventory management
US10134205B2 (en) * 2016-08-18 2018-11-20 David Arena Portable electronic wireless lock for efficiently managing and assuring the safety, quality and security of goods stored within a truck, tractor or trailer transported via a roadway
KR101878827B1 (ko) 2016-11-30 2018-07-17 주식회사 유진로봇 다채널 라이더 기반 이동로봇의 장애물 검출 장치 및 방법, 및 이를 구비한 이동로봇
US10005609B1 (en) * 2017-01-20 2018-06-26 Starship Technologies Oü Device and system for insulating items during delivery by a mobile robot
DE102017109219A1 (de) * 2017-04-28 2018-10-31 RobArt GmbH Verfahren für die Roboternavigation
KR20190055582A (ko) * 2017-11-15 2019-05-23 삼성전자주식회사 전자 장치의 이미지 촬영 방법 및 그 전자 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101083700B1 (ko) * 2009-04-02 2011-11-16 주식회사 유진로봇 음식점 서빙을 위한 로봇 시스템
US9902069B2 (en) * 2010-05-20 2018-02-27 Irobot Corporation Mobile robot system
US9037396B2 (en) * 2013-05-23 2015-05-19 Irobot Corporation Simultaneous localization and mapping for a mobile robot
US9535421B1 (en) * 2014-02-28 2017-01-03 Savioke, Inc. Mobile delivery robot with interior cargo space
KR20160100149A (ko) * 2015-02-13 2016-08-23 삼성전자주식회사 청소 로봇 및 그 제어방법

Also Published As

Publication number Publication date
US20200290210A1 (en) 2020-09-17
KR20200110143A (ko) 2020-09-23
KR20210084378A (ko) 2021-07-07
JP6980738B2 (ja) 2021-12-15
US11279042B2 (en) 2022-03-22
KR102473863B1 (ko) 2022-12-02
JP2020149666A (ja) 2020-09-17
KR102286825B1 (ko) 2021-08-11
KR20210104000A (ko) 2021-08-24

Similar Documents

Publication Publication Date Title
WO2020184942A1 (ko) 음식 및/또는 음료의 서빙을 위한 로봇
WO2020184940A1 (ko) 음식 및/또는 음료의 서빙을 위한 로봇
CN106708047B (zh) 智能物品投递机器人装置及其控制方法
WO2020256159A1 (ko) 이동 로봇과 그의 제어 방법
CN105659170B (zh) 用于向远程用户传送视频的方法及视频通信装置
US20200061839A1 (en) Inventory management by mobile robot
US9796093B2 (en) Customer service robot and related systems and methods
US20210048829A1 (en) Surveillance prevention by mobile robot
KR20210125974A (ko) 로봇 청소기 및 이를 구비하는 로봇 청소 시스템
US11433544B2 (en) Latency control in human operated mobile robot
JP6551824B2 (ja) 浮揚移動台
US20210339399A1 (en) Mobile robot for elevator interactions
WO2011059296A2 (ko) 로봇 청소기 및 그의 제어 방법
JP2017515176A (ja) 出入り口における認証システム
CN104077095A (zh) 信息处理设备和存储介质
JP7116504B2 (ja) 浮揚移動台及び浮揚移動台用のプログラム
KR20210099670A (ko) 로봇 시스템의 제어 방
KR20190003118A (ko) 이동 로봇과 이동 단말기를 포함하는 로봇 시스템
WO2018117514A1 (ko) 공항용 로봇 및 그의 동작 방법
WO2020242065A1 (ko) 위험도 판단에 기초한 로봇 움직임 제어 방법 및 이를 이용한 이동 로봇 장치
KR20180038871A (ko) 공항용 로봇 및 그의 동작 방법
Mishra et al. IoT impact and challenges on robotic waiters in automation of restaurants and hotels
WO2020197244A1 (en) Mobile robot and method of controlling the same
KR20190003120A (ko) 복수의 이동 로봇을 포함하는 로봇 시스템 및 이동 단말기
US20220305664A1 (en) Article pickup system, article pickup robot, article pickup method, and article pickup program

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: 20769372

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20769372

Country of ref document: EP

Kind code of ref document: A1