A CONFIGURABLE ROBOTIC PROCESSING SYSTEM
20220161417 · 2022-05-26
Inventors
- Simon WATT (London, GB)
- Barnaby William WRAGG (London, GB)
- Joe MULLER (London, GB)
- Samuel BROWN (London, GB)
Cpc classification
B25J9/08
PERFORMING OPERATIONS; TRANSPORTING
B25J11/0045
PERFORMING OPERATIONS; TRANSPORTING
B25J9/0084
PERFORMING OPERATIONS; TRANSPORTING
G06Q10/08
PHYSICS
International classification
B25J9/00
PERFORMING OPERATIONS; TRANSPORTING
B25J11/00
PERFORMING OPERATIONS; TRANSPORTING
B25J9/02
PERFORMING OPERATIONS; TRANSPORTING
Abstract
Broadly speaking, embodiments of the present techniques provide a configurable robotic processing system in which the sequence of operations performed by the system may vary (in contrast to a conveyor-based system) and may be dynamically-scheduled.
Claims
1. A configurable robotic processing system comprising: a plurality of stations operable in parallel, each station performing an operation; at least one robot capable of selectively engaging, disengaging and moving containers to and from the plurality of stations; a communication module to receive a plurality of user requests, each user request indicating at least one operation to be performed, where the user requests are the same or different; a controller comprising at least one processor, coupled to the communication module and the at least one robot, to control the at least one robot to: determine a process schedule for the at least one robot to process the received plurality of user requests; and control, using the determined process schedule, the at least one robot to: collect a first container from at least one container collection area for a first user request; move the first container to a first station of the plurality of stations for a first operation to be performed; and move the first container, responsive to the determined process schedule, to one or more further stations until the first user request is complete.
2. The system as claimed in claim 1 wherein multiple user requests are processable simultaneously, and wherein the controller is further configured to: collect, while the first operation or a subsequent operation is being performed for the first user request, another container from the container collection area for at least a second user request; move the container to another station of the plurality of stations; and continue moving the first container, second container and any further containers, responsive to the determined process schedule, to one or more further stations until each user request is complete.
3. The system as claimed in claim 1 wherein the step to determine a process schedule for the at least one robot comprises applying a pre-determined process schedule.
4. The system as claimed in claim 1 wherein the step to determine a process schedule for the at least one robot comprises dynamically determining the process schedule based on the received plurality of user requests.
5. The system as claimed in claim 4 wherein dynamically determining the process schedule comprises using at least one of the following: the operations required to complete each of the received user requests, a time taken to complete each of the received user requests, a time taken to complete each operation, an order in which the user requests are received, a number of user requests received in a time period, a status of each station, information on which operations need to be performed before or after other operations for each request, and a delivery time for each received user request.
6. The system as claimed in claim 1 wherein a time taken to complete the operation at each station is the same or different.
7. The system as claimed in claim 1 wherein a container remains at a station until the operation performed by the station is complete and until the determined process schedule causes the at least one robot to collect the container.
8. The system as claimed in claim 1 wherein a time taken to complete the operation at each station is non-deterministic.
9. The system as claimed claim 1 wherein the at least one robot is any one of: a robotic arm, a cartesian coordinate robot, and a collaborative robot or cobot.
10. The system as claimed in claim 1 wherein the at least one robot comprises two or more robots.
11. The system as claimed in claim 10 wherein each robot is assigned to a subset of the plurality of stations.
12. The system as claimed in claim 1 wherein the plurality of stations, the container collection area and a request collection area are arranged in a cylindrical, part-cylindrical, curved or partly-curved array structure having at least one tier.
13. The system as claimed in claim 12 wherein the at least one robot is a robotic arm located along, and rotatable about, the cylindrical axis.
14. The system as claimed in claim 13 wherein the at least one robot comprises a first robotic arm located at a top of the cylindrical array structure that is assigned to a first subset of the plurality of stations, and a second robotic arm located at a bottom of the cylindrical array structure that is assigned to a second subset of the plurality of stations.
15. The system as claimed in claim 1 wherein the plurality of stations, the container collection area and a request collection area are arranged in a two-dimensional plane.
16. The system as claimed in claim 15 further comprising: at least one track provided over the plurality of stations, the container collection area and the request collection area; wherein the at least one robot is a cartesian coordinate robot coupled to and arranged to move along the at least one track.
17. The system as claimed in claim 15 wherein the at least one robot comprises a first cartesian coordinate robot assigned to a first subset of the plurality of stations, and a second cartesian coordinate robot assigned to a second subset of the plurality of stations.
18. The system as claimed in claim 1 wherein when the robot moves a container to a station, the controller instructs the station to perform the operation based on the received user request.
19. The system as claimed in claim 1 wherein the step to determine a process schedule for the at least one robot comprises: determining, using the received user request, an order in which a container needs to be moved to the at least one station.
20. The system as claimed in claim 1 further comprising at least one request collection area, and wherein the controller controls the at least one robot to deposit the first container in the at least one request collection area when the first user request is complete.
21. The system as claimed in claim 20 wherein the controller controls the communication module to output a message indicating that the first user request is complete.
22. The system as claimed in claim 1 wherein the system is a food preparation system, or a mechanical parts selection and packaging system.
23. A method of controlling a configurable robotic processing system comprising a plurality of stations operable in parallel, each station performing an operation, and at least one robot capable of selectively engaging, disengaging and moving containers to and from the plurality of stations, the method comprising: receiving a plurality of user requests, each user request indicating at least one operation to be performed, where the user requests are the same or different; determining a process schedule for the at least one robot to process the received plurality of user requests; and controlling, using the determined process schedule, the at least one robot to: collect a first container from at least one container collection area for a first user request; move the first container to a first station of the plurality of stations for a first operation to be performed; and move the first container, responsive to the determined process schedule, to one or more further stations until the first user request is complete.
24. The method as claimed in claim 23 wherein the step to determine a process schedule comprises dynamically determining the process schedule based on one or both of: the received plurality of user requests, and the time taken for each operation.
25. The method as claimed in claim 23 further comprising: determining, using the received user request, an order in which a container needs to be moved to the at least one station, and controlling the at least one robot to move the container to the at least one station in the determined order.
26. The method as claimed in claim 24 further comprising: determining, for each received user request, the operation to be performed by a station; determining a required position in the container where the operation is to be performed; and controlling the at least one robot to position the container at the station to enable the operation to be performed in the required position in the container.
27. (canceled)
Description
[0043] Implementations of the present techniques will now be described, by way of example only, with reference to the accompanying drawings, in which:
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053] Broadly speaking, embodiments of the present techniques provide a configurable robotic processing system in which the sequence of operations performed by the system and the timing of those operations may vary (in contrast to a conveyor-based system) and may be dynamically-scheduled.
[0054] The structure and features/components of the robotic processing system may vary depending on the type of processing being conducted by the system, and where the system may be used/installed. For example, the robotic processing system may need to fit into a restaurant, and therefore the dimensions may be chosen to suit the restaurant and the components may be chosen in accordance with the food that the restaurant produces and the number of orders which may need to be processed during a busy time in the restaurant.
[0055] To aid understanding of the configurable robotic processing system, two example configurations are shown in
[0056]
[0057] The system 100 comprises a plurality of stations which may be operable in parallel, where each station performs a particular operation. The station types may depend on the processing performed by the system 100. For example, a station 100 which is arranged to prepare food (e.g. in a restaurant, for a food delivery service, for airplane meals, etc.) may have stations which perform a food dispensing operation. In this case, a station may be, for example, a: [0058] Weigher/weighing scale/linear weigher—for weighing and dispensing specific quantities of solid food products (e.g. 50 g of shredded lettuce); [0059] Linear counter; [0060] Conveyor; [0061] Retractable conveyor; and [0062] Pick-and-place mechanism—for picking up items (e.g. boiled eggs, slices of beef, pre-packed containers of sauce, etc.) and placing them onto a receptacle (e.g. a plate or food container).
[0063] A system 100 which is arranged to prepare food may comprise stations which perform a food preparation operation, such as: [0064] Grilling; [0065] Cooking; [0066] Mixing; [0067] Tossing (e.g. tossing salad ingredients); and [0068] Inspection.
[0069] In a system 100 which is arranged to prepare food, some stations may be used to temporarily hold or store food. Such stations may be temperature controlled. For example, if the system has prepared a hot meal, the completed meal may be placed in a temporary storage station which comprises a heating mechanism to keep the meal hot until it is collected.
[0070] In another example, the system 100 may be a mechanical parts selection and packaging system. A user may request specific mechanical parts (e.g. nuts, bolts, screws, washers, etc.) for something they are constructing, and the system 100 may provide them with a package containing the requested mechanical parts. The package may comprise multiple compartments into which each type of mechanical part may be placed by the system 100. In this system 100, each station may be arranged to dispense a particular part in a required quantity. The system 100 may comprise additional stations which perform other types of operation, such as: [0071] Inspection; [0072] Sealing the package/tray to enable it to be shipped to or collected by the user; and [0073] Printing and applying a label to the package to indicate the order number, contents, etc.
It will be understood that these inspection, sealing, collection and label printing and applying stations may be provided in other systems 100, such as food preparation or food delivery systems.
[0074] Merely to aid understanding of the present techniques,
[0075] Turning back to
[0076] The containers 106 may be provided by an operator/owner of the system, or may be input into the system by a user making a request. For example, the containers 106 may be: [0077] provided in the system by an owner/operator of the system, and when they have been used to fulfil a user request, the containers can be taken out of the system by the user. For example, if the system is used within a particular restaurant, the restaurant owner may have their own containers that are used to fulfil user requests. The containers which are moved through the system may be takeaway containers that can be given to the users once their requests are fulfilled. This may be useful because a single container is used to collect the items for a user request and to deliver the collected items to the user. In some cases, the containers may be returned to the owner/operator of the system for reuse. For example, if the system is used in a restaurant or is used to provide food for airplane passengers, the containers may be plates, trays or other receptacles that can be collected after a user/passenger has had their meal, and washed and reused. [0078] provided in the system by an owner/operator of the system, and used to fulfil a user request, but the containers cannot be taken out of the system by the user. For example, the containers may be containers that are kept within the system but are used to collect items to fulfil user requests. When a container contains all the items of a particular user request, the contents of the container may be deposited into a further container that can be removed from the system by the user. The further container may be provided by the owner/operator of the system, or may be provided by a user themselves—the latter may be advantageous because it enables and encourages recycling/reuse of containers. In some cases, the further containers may be returned to the owner/operator of the system for reuse, as explained above. [0079] trays provided in the system by any owner/operator of the system, on which further containers that can be taken out of the system are provided. The further containers may be provided by the owner/operator of the system, or may be provided by a user themselves—the latter may be advantageous because it enables and encourages recycling/reuse of containers. In some cases, the further containers may be returned to the owner/operator of the system for reuse, as explained above.
[0080] Each system 100 may be configured depending on which type of container is moved through the system and which container is provided to the user. Thus, the container collection area 104 may be used to collect containers that remain within the system, and/or may be used to collect containers which have been provided by a user, and/or may be used to collect containers which have been returned and washed for reuse. When a user inputs their own container into the container collection area 104, the system may use a mechanism to associate the user request with the user's container. For example, the user may specify, in their user request, the location of their container within the container collection area 104 to associate the container with their user request.
[0081] As noted below, each system comprises a request collection area. This is the area in the system 100 from where an operator of the system can collect a completed order/request and provide it to a user, or from where a user can collect their completed order/request themselves.
[0082] A system 100 may comprise one or more container collection areas 104, and one or more request collection areas.
[0083] The array structure may have one or more tiers. In
[0084] The system 100 comprises at least one robot 102 capable of selectively engaging, disengaging and moving containers to and from the plurality of stations. In
[0085] The robotic arm 102 may be instructed to begin the processing for a particular received request and may collect a container 106 from the container collection area 104. The collected container 106 is now associated with that particular received request. The system 100 may comprise a request collection area, where containers 106 may be placed once all the required processes for the request associated with the container have been completed. For example, if a received request is for a salad comprising particular components, the container 106 associated with that received request may be placed into the request collection area when all the components of the salad have been added to the container, such that the request has been completed. The request collection area may be located adjacent to, in the vicinity of, or co-located with the container collection area 104. This may make it easier for a human user 108 to add clean containers 106 to the system 100 and to collect completed containers 106 from the system 100. In embodiments, when the robotic arm 102 adds a completed container 106 to the request collection area, an alert may be transmitted to the human user 108, the customer/user who made the request, or some other operator of the system 100, to indicate that the container 106 is ready to be collected. The alert may be for example a visual alert on the system 100 or may be a visual alert or other communication sent via the system 100 to an external device (e.g. to a user's phone or to a display screen).
[0086] As mentioned above, system 100 may comprise one or more pick-and-place stations 118. A pick-and-place station 118 may, in embodiments, comprise a heated container which is able to keep food items at a required temperature. The system 100 may comprise one or more robot arms 112, 114 that are arranged to perform the pick-and-place operation. Each pick-and-place station 118 may have a dedicated robot arm 112, 114, or a group of pick-and-place stations 118 may share a robot arm 112, 114. In
[0087] As mentioned above, the system 100 may comprise one or more linear weighers 122 which are arranged to deposit fixed or variable amounts of particular items. Each linear weigher 122 may be coupled to a hopper, i.e. a storage container used to dispense items via a chute or funnel. The system 100 may comprise one or more computers 124 which may be coupled to and control the linear weighers 122. In embodiments, each linear weigher 122 may be coupled to a dedicated computer 124. In the depicted embodiment, one computer 124 is coupled to and controls four linear weighers 122. The computer 124 may control the amount to be dispensed by the hopper and the dispensing operation itself. The display screen of the computer 124 may be used to communicate data to a human user 110, such as whether the hopper needs to be refilled. It will be understood that display screens and computers 124 may be provided for each station to communicate information to a human user 110. Such information for each station may be used by the system 100 to schedule the processing of received user requests. For example, if a hopper has run out of items to dispense, then the system 100 may schedule the processing of received user requests that don't require those items. Similarly, the information for each station may be used to indicate to human users/operators of the system that more items need to be added to the stations. In a food processing system, this may prompt chefs to cook or prepare items for adding to the stations.
[0088] The system 100 may comprise, in some cases, temperature controlled areas or stations. For example, the system 100 may comprise stations which are used to dispense hot food items (e.g. cooked meat) or cold food items (e.g. yoghurt), and therefore, the stations dispensing these items may be temperature controlled. For food safety and hygiene purposes, the temperature controlled areas or stations may comprise temperature sensors to routinely, regularly or continuously monitor the temperature of the station. The temperature controlled areas may comprise other sensors to monitor the environmental conditions around the station. For example, a station may be a fridge or fridge-like station that is used to contain cold/chilled food items such as pots of yoghurt or cartons of milk—a temperature sensor may be used to monitor the temperature within the fridge, but an additional sensor may be used to monitor, for example, how long a door of the fridge was open when a food item was being dispensed. This combination of sensors could be useful because it provides context for why a sudden and sharp increase in the internal temperature of the fridge may be detected, and appropriate action can be taken by the system (e.g. to close the door or to dispose of any food items in the station if the temperature has been above a certain safe temperature for too long).
[0089] The system may monitor the stations at all times while the system is operational, using sensors provided within the stations or within the vicinity of the stations. For food safety and hygiene purposes, food quality purposes, and food waste reduction purposes, the system may monitor how long food items have been within a station. For example, some food items may be kept within a station for no more than 1 hour for quality and/or safety/hygiene purposes, while other food items may be kept within a station for up to 4 hours. Thus, food items may have a ‘use by time’ which specifies the maximum amount of time associated with the food items can be within a station before they have to be discarded. A station may be filled with food items at a certain time, and the system monitors whether any food items remain in the station after the associated maximum amount associated with the food items. If food items still remain at this point in time, then the system may determine that fewer food items are required in the station when the station is next replenished, in order to avoid food waste. Furthermore, if food items still remain at this point in time, the food items are discarded and the station and associated dispensers, containers, etc. may be completely cleaned before the station is replenished with new food items. The stations may be cleaned and replenished/refilled while the system is operational, so that the system can continue to complete user requests. Thus, it may be useful to have multiple stations dispensing the same items, and for the stations to be filled with food items and different times, so that there is always at least one station dispensing a particular food item at any given time.
[0090] The sensor data and/or the monitoring of each station may be used to determine a status of each station, which may be used to dynamically determine the process schedule to process the plurality of received user requests. The monitoring may be performed using sensors that for example, can sense the quantity or volume of items within a station (e.g. a weight sensor or similar), or using machine vision to visually inspect a station, or using a human operator who manually inspects a station.
[0091]
[0092]
[0093]
[0094]
[0095] Thus far, a curved arrangement of a robotic processing system has been described. Turning now to
[0096]
[0097] In embodiments, the system 200 may comprise a first cartesian coordinate robot 206 assigned to a first subset of the plurality of stations, and a second cartesian coordinate robot 206 assigned to a second subset of the plurality of stations. For example, the first cartesian coordinate robot 206 may be assigned to at least area A′ of the system, and the second cartesian coordinate robot 206 may be assigned to at least area B′ of the system, to avoid collisions between the robots 206. The first subset and second subset of the plurality of stations may at least partly overlap.
[0098]
[0099]
[0100] The method may comprise checking if there are any further requests in the process schedule to be processed (step S214). If yes, the method returns to step S206 to determine if another container can be collected. If at step S214 it is determined that all the user requests in the process schedule have been completed, the method returns to step S200 to determine a new process schedule for newly received user requests. This may require waiting for new user requests to be received by the system.
[0101] At step S206, if another container is not to be collected (e.g. because no new containers are required or because there is no capacity in the system for a new container), then the method may comprise instructing the at least one robot to move one or more containers in the system to the next station or request collection area according to the determined process schedule and requirements for each container/user request (step S212). After performing one or more moves of existing containers, the method may comprise rechecking if another container is to be collected (step S206). In other words, the method shown in
[0102] Those skilled in the art will appreciate that while the foregoing has described what is considered to be the best mode and where appropriate other modes of performing present techniques, the present techniques should not be limited to the specific configurations and methods disclosed in this description of the preferred embodiment. Those skilled in the art will recognise that present techniques have a broad range of applications, and that the embodiments may take a wide range of modifications without departing from any inventive concept as defined in the appended claims.