Method of cleaning surface, and cleaning system
The method and system optimize surface cleaning by controlling liquid jet projections with an electronic system and mobile robot, addressing inefficiencies in manual cleaning methods, enhancing flexibility and reducing environmental impact.
Patent Information
- Application Number
- PCT/EP2024/069231
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-08
- Publication Date
- 2026-01-15
AI Technical Summary
Manual cleaning methods in industries like food and beverage are time-consuming, costly, and environmentally impactful, with difficulty in recruiting personnel and inefficient cleaning processes due to the need for high-pressure water and chemicals.
A method and system that use a nozzle device with an electronic system to control the projection of a liquid jet onto a surface based on target values and projection parameters, allowing for flexible cleaning with different nozzle types and pressures, and a mobile robot for automated cleaning.
Enables efficient and flexible surface cleaning with high performance, reducing manual effort and environmental impact by optimizing nozzle positioning and pressure, and allowing for automated cleaning protocols.
Smart Images

Figure EP2024069231_15012026_PF_FP_ABST
Abstract
Description
[0001] METHOD OF CLEANING SURFACE, AND CLEANING SYSTEM
[0002] Technical Field
[0003] The present disclosure generally relates to cleaning of surfaces. In particular, a method of cleaning a surface and a cleaning system, are provided.
[0004] Background
[0005] Cleanliness is a key concern in various industries, especially in the food and beverage industry. Any sanitary problem in a plant where foods or beverages are handled might result in severe consequences. For this reason, comprehensive cleaning measures are often taken in such plants. The cleaning is often performed manually where trained personnel apply high- pressure water and different washdown chemicals. The manual cleaning instructions are typically extremely comprehensive, resulting in long cleaning times, high costs and a high environmental impact. The personnel performing the cleaning and validation of the cleaning is often difficult to recruit due to the difficulty of the tasks and the conditions of the work environment. In addition, the cleaning is often done during night time when production is stopped.
[0006] Summary
[0007] One object of the invention is to provide an improved method of cleaning a surface.
[0008] A further object of the invention is to provide an improved cleaning system.
[0009] These objects are achieved by the method according to appended claim 1 and by the cleaning system according to appended claim 7.
[0010] The invention is based on the realization that by specifying a distance between a surface, and a nozzle for providing a projection of a jet of a liquid onto the surface to clean the surface, based on a target value indicative of a force with which the jet should impact on the surface and based on one or more projection parameters associated with the projection, generic surface cleaning instructions including respective target values can be used to control nozzles associated with different sets of projection parameters.
[0011] According to a first aspect, there is provided a method of cleaning a surface, the method comprising providing a nozzle device including a nozzle arranged to provide a projection of a jet of a liquid; providing, in an electronic system, at least one projection value, each projection value being a value indicative of a projection parameter associated with the projection; providing, in the electronic system, a target value indicative of a force with which the jet should impact on a surface; determining, by the electronic system, a distance between the nozzle and the surface based on the target value and the at least one projection value; and controlling, by the electronic system, the nozzle device to clean the surface by controlling the nozzle device to provide the projection of the jet of the liquid onto the surface at the distance from the surface.
[0012] By determining the distance in this manner, the method can efficiently adapt the control of nozzle devices to different projections, such as projections that differ by being provided by nozzles of different sizes or projections that differ by being provided by different internal pressures of the liquid. For example, by determining a first distance based on the target value and a projection value of a projection parameter in the form of a first internal pressure associated with a first type of nozzle device, and by determining a second distance, larger than the first distance, based on the target value and a second internal pressure, larger than the first internal pressure and associated with a second type of nozzle device, the force can efficiently be met with different types of projection parameter settings. The method thus provides a high flexibility in that a high cleaning performance can be ensured, by the projection providing the force corresponding to the target value on the surface, with different types of projection parameter settings. The target value may be specified in a cleaning recipe, such as in a surface cleaning instruction as described herein. Once the target value has been specified, the distance required for a particular projection to obtain this target value is calculated. This enables a much higher flexibility with respect to projections with different projection parameters in comparison with, for example, specifying a target internal pressure in a cleaning recipe, since the impact forces by the jets on the surface can differ with constant internal pressures and distances, e.g., due to different nozzle areas.
[0013] Each surface may be a continuous surface. Each surface may be either two- dimensional or three-dimensional. In addition to the nozzle, the nozzle device may for example include one or more of a tank, a pump and a pressure chamber. Together with a nozzle device controller, the nozzle device may form a nozzle system. The jet may for example be cylindrical, conical or fanshaped. The liquid may for example be water, chemicals, disinfectants, and combinations thereof. The target value may for example be the force or a target pressure.
[0014] The electronic system may comprise at least one data processing device and at least one memory having at least one computer program stored therein. The at least one computer program may comprise program code which, when executed by the at least one data processing device, causes the at least one data processing device to perform, or command performance of, various operations as described herein. The electronic system does not necessarily have to be constituted by a single controller. For example, some operations of the electronic system may be performed by a first controller, and some operations of the electronic system may be performed by a second controller which may be spatially separated from the first controller.
[0015] The cleaning of the surface may be performed using a mobile robot carrying the nozzle. The mobile robot may comprise a base and a traction arrangement, such as one or more wheels, for moving the base on a ground surface. The mobile robot may comprise a manipulator connected to the base. In these cases, the nozzle may be carried by the manipulator. The mobile robot may be supplied with the liquid either from a tank in the mobile robot or from a stationary tank. In the latter case, a fluid line may be provided between the mobile robot and the stationary tank.
[0016] According to some examples, the electronic system comprises a database, a configuration system and a robot controller. For example, the database and the configuration system may be arranged remote from the mobile robot, and the robot controller may be arranged onboard the mobile robot. The robot controller may be used to control the nozzle device. In cases where the nozzle is carried by the mobile robot, the robot controller may replace or complement the nozzle device controller.
[0017] The method may further comprise providing, in the electronic system, a plurality of surface classes; providing, in the electronic system, a plurality of surface cleaning instructions for the mobile robot, each surface cleaning instruction including a target value; assigning, in the electronic system, each surface class to one of the surface cleaning instructions; assigning, in the electronic system, a plurality of surface representations to respective surface classes, each surface representation representing a surface of an object; wherein the cleaning of the surface comprises cleaning one of the surfaces represented by a surface representation; and wherein the providing of the target value comprises providing the target value of the surface cleaning instruction associated with the surface to be cleaned. By assigning a surface class to a surface cleaning instruction including a target value, the surface cleaning instruction can be made generic and the target value can efficiently be met with different sets of projection parameters, without having to alter the assignment. Each cleaning instruction for the mobile robot may comprise an instruction associated with a position and an orientation of the nozzle with respect to the surface. A thorough example of assignments of surface classes to surface cleaning instructions are given in international patent application PCT / EP2024 / 057256, the contents of which are incorporated herein by reference in their entirety. Two surfaces of a common surface class may or may not be of the same size. Examples of objects include walls, ceilings, floors, tables, conveyor belts, mixers, cutters, sorting machines and packaging machines.
[0018] The surface classes, the surface cleaning instructions including the target values, and the assignments between the surface classes and the surface cleaning instructions may be provided in the database, and retrieved from the database by the configuration system. Moreover, in these cases, the surface representations may be provided and assigned to the respective surface classes in the configuration system. The robot controller may control operations of the mobile robot, such as by using the respective cleaning instructions. Different types of hierarchies of the electronic system are however conceivable to carry out the method.
[0019] According to some further examples, the electronic system additionally comprises a master controller. The master controller may be associated with a specific plant. The master controller may receive the respective cleaning instructions, e.g., as a part of an overall program for the plant, from the configuration system and send at least a part of these to the mobile robot. The master controller may optionally control and / or receive information from, devices in the plant other than the mobile robot, such as sensors.
[0020] Each surface class may contain one or more surface parameters indicative of one or more among a surface material of the surface; an ingress protection level of the surface; a type of product exposed to the surface; a level of dirtiness of the surface; an occurrence of a direct contact between a product and the surface; and an orientation of the surface. In these cases, the assigning of each surface class to one of the surface cleaning instructions may be made based on the one or more surface parameters. The electronic system may be configured to perform this assigning automatically.
[0021] The method may further comprise, for at least one of the surface representations, receiving, by the electronic system, a surface parameter user input indicative of a value of at least one of the one or more surface parameters. A human user may thus provide the surface parameter user input to the electronic system, for example via a human-machine interface, HMI, device to the configuration system.
[0022] The method may further comprise, receiving, by the electronic system, a projection parameter user input indicative of a value of at least one of the one or more projection parameters. The human user may thus provide the projection parameter user input to the electronic system, for example via the HMI device to the configuration system.
[0023] The surface classes, the surface cleaning instructions including the target values, and the assignments of the surface classes to the surface cleaning instructions may be provided in a database universally accessible with respect to a plurality of users. For example, two different electronic systems, such as configuration systems thereof, associated with different plants may each access the database, e.g., wirelessly.
[0024] The method may further comprise providing, in the electronic system, a plurality of object classes each comprising one or more surface classes; assigning, in the electronic system, a plurality of object representations to respective object classes, each object representation representing an object including one or more surfaces; for each object class, providing, in the electronic system, an object cleaning instruction for the mobile robot, each object cleaning instruction comprising the surface cleaning instruction assigned to each surface class of the object class; and controlling, by the electronic system, the mobile robot to clean each object using the respective object cleaning instruction. Since each object class comprises one or more surface classes, an object cleaning instruction for a new object can efficiently be provided by specifying the surface classes of that object, rather than by creating a new object cleaning instructions that is not based on any surface cleaning instructions already existing in the electronic system. The method of this variant enables automatic generation of a complete cleaning program for the mobile robot after instantiation of the object classes, e.g., by a human user. Optionally, the human user may also select a desired sequence of cleaning of the objects.
[0025] The providing of at least one projection value may comprise providing a spread angle of the jet. In these cases, the method may further comprise determining, by the electronic system and based on the distance and the spread angle, an impact area of the jet on the surface; and providing, in the electronic system and based on the impact area, a path for the nozzle with respect to the surface. A knowledge of the spread angle and the distance thus enables automatic generation of the path of the nozzle such that the jet efficiently covers the surface, e.g., with minimum overlap and full coverage.
[0026] Each object class may contain object data indicative of a nominal path associated with the object for a nozzle of the mobile robot and optionally also indicative of a geometry of the object. In these cases, the providing of the object cleaning instructions may be made based on the object data and each object cleaning instruction may include the path, optionally modified with respect to the nominal path, for the nozzle with respect to the surface, e.g., determined based on the distance and the impact area. The object cleaning instructions may thereby for example contain movement instructions for a manipulator of the mobile robot carrying the nozzle, and / or for a traction arrangement of the mobile robot, in relation to the object.
[0027] The at least one projection value may be value indicative of one or more of the projection parameters exit flow of the jet out of the nozzle, internal pressure of the liquid in the nozzle device, nozzle area of the nozzle, spread angle of the jet, density of the liquid and impact angle between the jet and the surface.
[0028] The method may further comprise providing, in the electronic system, an impact angle between the jet and the surface. In these cases, the determining of the distance may be made based on the impact angle.
[0029] According to a second aspect, there is provided a cleaning system comprising a nozzle device including a nozzle arranged to provide a projection of a jet of a liquid; and an electronic system comprising at least one data processing device and at least one memory having at least one computer program stored therein, the at least one computer program comprising program code which, when executed by the at least one data processing device, causes the at least one data processing device to provide at least one projection value, each projection value being a value indicative of a projection parameter associated with the projection; provide a target value indicative of a force with which the jet should impact on a surface; determine a distance between the nozzle and the surface based on the target value and the at least one projection value; and control the nozzle device to clean the surface by controlling the nozzle device to provide the projection of the jet of the liquid onto the surface at the distance from the surface. The nozzle device and the electronic system according to the second aspect may be of any type described in connection with the first aspect.
[0030] The cleaning system may further comprise a mobile robot carrying the nozzle.
[0031] The at least one computer program may comprise program code which, when executed by the at least one data processing device, causes the at least one data processing device to provide a plurality of surface classes; provide a plurality of surface cleaning instructions for the mobile robot, each surface cleaning instruction including a target value; assign each surface class to one of the surface cleaning instructions; assign a plurality of surface representations to respective surface classes, each surface representation representing a surface of an object. In these cases, the cleaning of the surface may comprise cleaning one of the surfaces represented by a surface representation; and the providing of the target value may comprise providing the target value of the surface cleaning instruction associated with the surface to be cleaned.
[0032] The providing of at least one projection value may comprise providing a spread angle of the jet. In these cases, the at least one computer program may comprise program code which, when executed by the at least one data processing device, causes the at least one data processing device to determine, based on the distance and the spread angle, an impact area of the jet on the surface; and provide, based on the impact area, a path for the nozzle with respect to the surface.
[0033] The at least one projection value may be value indicative of one or more of the projection parameters exit flow of the jet out of the nozzle, internal pressure of the liquid in the nozzle device, nozzle area of the nozzle, spread angle of the jet, density of the liquid and impact angle between the jet and the surface.
[0034] The at least one computer program may comprise program code which, when executed by the at least one data processing device, causes the at least one data processing device to provide an impact angle between the jet and the surface. In these cases, the determining of the distance may be made based on the impact angle.
[0035] Brief Description of the Drawings
[0036] Further details, advantages and aspects of the present disclosure will become apparent from the following description taken in conjunction with the drawings, wherein:
[0037] Fig. 1: schematically represents a nozzle system including a nozzle providing a projection of a jet of a liquid;
[0038] Fig. 2: schematically represents a plant comprising a plurality of objects and a mobile robot carrying the nozzle;
[0039] Fig. 3: schematically represents a side view of the projection onto a surface;
[0040] Fig. 4: schematically represents a side view of the projection onto the surface according to a further example;
[0041] Fig. 5: is a block diagram schematically representing a cleaning system;
[0042] Fig. 6: schematically represents a path for the projection with an impact area on the surface;
[0043] Fig. 7: schematically represents a path for the projection with a further example of an impact area on the surface;
[0044] Fig. 8: schematically represents a mobile robot according to a further example; and
[0045] Fig. 9: is a flowchart outlining general steps of a method.
[0046] Detailed Description
[0047] In the following, a method of cleaning a surface and a cleaning system, will be described. The same or similar reference numerals will be used to denote the same or similar structural features.
[0048] Fig. 1 schematically represents a nozzle system 10. The nozzle system 10 comprises a nozzle device controller 12a and a nozzle device 14 including a nozzle 16a. In Fig. 1, the nozzle 16a provides a projection 18 of a jet 20 of a liquid 22, such as a combination of water and chemicals.
[0049] The nozzle device controller 12a comprises a nozzle device data processing device 24a and a nozzle device memory 26a. The nozzle device memory 26a has a computer program stored therein. The computer program comprises program code which, when executed by the nozzle device data processing device 24a, causes the nozzle device data processing device 24a to perform, or command performance of, various operations associated with the nozzle device 14.
[0050] The nozzle device 14 of this specific and non-limiting example comprises a tank 28 containing the liquid 22, a pressure chamber 30, a pump 32 for pumping the liquid 22 from the tank 28 to the pressure chamber 30, a pressure sensor 34, a valve 36 downstream of the pressure chamber 30 and a flow meter 38 downstream of the valve 36.
[0051] The flow meter 38 is configured to measure an exit flow 40a of the liquid 22 out of the nozzle 16a and forward this measurement to the nozzle device controller 12a. The pressure sensor 34 is configured to measure an internal pressure 40b of the liquid 22 between the pump 32 and the nozzle 16a, such as in the pressure chamber 30, and forward this measurement to the nozzle device controller 12a. The nozzle device controller 12a is configured to control operation of the pump 32 by a pump control signal 42 and to control the valve 36 by a valve control signal 44. For example, by controlling the valve 36, the nozzle 16a can be controlled to provide the projection 18.
[0052] The nozzle 16a of this example has a nozzle diameter 40c. The nozzle diameter 40c is indicative of the nozzle area of the nozzle 16a. The jet 20 of this example is conical and has a spread angle 4od with respect to a center line 46 of the jet 20. Fig. 1 further illustrates that the liquid 22 has a density 4oe.
[0053] Fig. 2 schematically represents a plant 48 according to one example. A mobile robot 50a is located in the plant 48. The mobile robot 50a of this specific and non-limiting example comprises a base 52, a traction arrangement 54, a manipulator 56, a robot controller 12b and the nozzle device 14. In this example, the robot controller 12b replaces the nozzle device controller 12a. The mobile robot 50a may however alternatively comprise both the nozzle device controller 12a and the robot controller 12b. The mobile robot 50a of this example carries the tank 28 for the liquid 22.
[0054] The traction arrangement 54 is configured to move the base 52 over a floor 58. To this end, the traction arrangement 54 here comprises a plurality of wheels 60. The manipulator 56 is connected to the base 52 and is movable relative to the base 52. The manipulator 56 may for example be programmable in at least three axes, such as in six or seven axes. The nozzle 16a is carried by the manipulator 56.
[0055] The robot controller 12b comprises a robot data processing device 24b and a robot memory 26b. The robot memory 26b has a computer program stored therein. The computer program comprises program code which, when executed by the robot data processing device 24b, causes the robot data processing device 24b to perform, or command performance of, various operations as described herein. The robot controller 12b is configured to control operations of the traction arrangement 54, the manipulator 56 and the nozzle device 14 to spray the liquid 22 to clean the plant 48.
[0056] The plant 48 in Fig. 2 comprises a primary object 62a and a secondary object 62b. One or both of the primary and secondary objects 62a, 62b may also be referred to with reference numeral "62".
[0057] The primary object 62a is here exemplified as a machine for handling edible products, such as a machine for cutting meat. The primary object 62a comprises a first primary surface 64a! and a second primary surface 6432. The first primary surface 64a! is here a horizontal surface. The second primary surface 6432 is here vertical and extends from the first primary surface 6431 to the floor 58. Fig. 2 further illustrates a first product 66a on the first primary surface 6431. The first product 66a may for example be meat residue from the meat handled at the primary object 62a.
[0058] The secondary object 62b is here exemplified as a table where edible products are handled, such as a table for manual handling of meat. The secondary object 62b comprises a first secondary surface 64b!, a second secondary surface 64b2 and a third secondary surface 64b3. The first secondary surface 64b! is here a horizontal surface. The second secondary surface 64b2 is here a vertical surface extending down from the first secondary surface 64b!. The third secondary surface 64b3 is here exemplified as a cylindrical leg. Fig. 2 further illustrates a second product 66b on the first secondary surface 64b!. The second product 66b may for example be blood from the meat. One, several or all of the first and second primary surfaces 6431, 6432 and the first to third secondary surfaces 64bi-64b3 may also be referred to with reference numeral "64". One or both of the first and second products 66a, 66b may also be referred to with reference numeral "66".
[0059] When cleaning the plant 48, it is intended that all surfaces 64 are cleaned. With reference to Fig. 2, it is for example intended that the first product 66a is removed from the first primary surface 6431 and that the second product 66b is removed from the first secondary surface 64b!. Fig. 2 further shows a human user 68 in the plant 48. The human user 68 is illustrated as carrying a human-machine interface, HMI, device 70. The HMI device 70 can be brought in signal communication with the robot controller 12b. Although only one human user 68 is shown in Fig. 2, a plurality of human users 68 having different roles may interact with the plant 48. The human user 68 may for example represent one or more of a cleaning expert, a system configurator and a cleaner.
[0060] Fig. 3 schematically represents a side view of the projection 18 transverse onto a flat surface 64. Fig. 3 shows a first distance 72a between the nozzle 16a and the surface 64, a first force 74a with which the jet 20 impacts on the surface 64 and a circular first impact area 76a of the jet 20 at the surface 64. When cleaning the surface 64, the pressure of the jet 20 obtained at the surface 64 is deciding the efficiency of the cleaning.
[0061] Equation (1) is based on Bernoulli's equation for incompressible flow and can be used to determine an exit velocity of the liquid 22 out of the nozzle 16a. where v is the exit velocity [m / s], P is the internal pressure 40b [Pa] and p is the density 4Oe [kg / m3]. Alternatively, the exit velocity v can be determined based on the exit flow 40a and the nozzle diameter 40c.
[0062] Equation (2) can be used to determine the area of the jet 20 at the nozzle 16a. where A is the area of the jet 20 at the nozzle 16a [m2] and d is the nozzle diameter 40c [m].
[0063] The first impact area 76a can be determined using equations (3) and (4). where D is the diameter of the first impact area 76a [m], L is the first distance 72a [m] and 0 is the spread angle 4od [degrees]. The first impact area 76a can then be determined using equation (4). where Ai is the first impact area 76a [m2].
[0064] The impact pressure of the jet 20 on the surface 64 can be determined using equation (5) assuming uniform spread of the jet 20 and no significant loss in velocity. where Pi is the impact pressure of the jet 20 on the surface 64 [Pa].
[0065] The first force 74a can be determined using equation (6).
[0066] Ft = PiAi (6) where Fi is the first force 74a [N].
[0067] Using equations (i)-(6), the first distance 72a can correspondingly be calculated using the given parameters internal pressure 40b, nozzle diameter 40c, spread angle 4od, density 4oe and first force 74a.
[0068] Fig. 4 schematically represents a side view of the projection 18 at an impact angle 4of between the center line 46 and a normal 78 to the surface 64. The impact angle 4of is here exemplified as 10 degrees (a corresponding impact angle 4of in Fig. 3 would be o degrees). Fig. 4 shows a second distance 72b, different from the first distance 72a, between the nozzle 16a and the surface 64, a second force 74b, different from the first force 74a, with which the jet 20 impacts on the surface 64 and an elliptical second impact area 76b of the jet 20 at the surface 64. The projection 18 in Fig. 4 has the same spread angle 40d as in Fig. 3.
[0069] The second impact area 76b can be approximated using equations (7), (8) and (9). where r is the radius [m] of the jet 20 at the surface 64 transverse to the center line 46, L is the second distance 72b [m] and 0 is the spread angle 4od [degrees] (see Fig. 3). where Aeff is the effective impact area (assuming a circular pattern) [m2]. where v*cos (a) is the normal component of the exit velocity v, a is the impact angle 4of [degrees] and Ai is the second impact area 76b [m2].
[0070] Thus, using equations (i)-(9), the second distance 72b can be calculated using the given parameters internal pressure 40b, nozzle diameter 40c, spread angle 4od, density 4oe, the impact angle 4of and second force 74b.
[0071] The exit flow 40a, the internal pressure 40b, the nozzle diameter 40c, the spread angle 4od, the density 4oe and the impact angle 4of are examples of projection parameters 40. One or both of the first and second forces 74a, 74b, one or both of the first and second distances 72a, 72b, and one or both of the first and second impact areas 76a, 76b may also be referred to with reference numerals "74", "72" and "76", respectively. Fig. 5 is a block diagram schematically representing a cleaning system 8o according to one example. The cleaning system 8o of this example comprises the mobile robot 50a and an electronic system 12. The electronic system 12 of this example comprises a database 82, a configuration system 12c, a master controller I2d and the robot controller 12b. The configuration system 12c comprises a configuration data processing device 24c and a configuration memory 26c. The configuration memory 26c comprises a computer program which, when executed by the configuration data processing device 24c, causes the configuration data processing device 24c to perform, or command performance of, various operations described herein. The configuration system 12c may for example comprise a computer. The configuration system 12c may comprise both local and cloud-based components.
[0072] The master controller i2d comprises a master data processing device 24d and a master memory 26d. The master memory 26d comprises a computer program which, when executed by the master data processing device 24d, causes the master data processing device 24d to perform, or command performance of, various operations described herein. The master controller i2d may be provided in the plant 48 but may be physically separated from the mobile robot 50a. One, several or all of the electronic system 12, the nozzle device controller 12a, the robot controller 12b, the configuration system 12c and the master controller i2d may also be referred to with reference numeral "12". One, several or all of the nozzle device data processing device 24a, the robot data processing device 24b, the configuration data processing device 24c, the master data processing device 24d may also be referred to with reference numeral "24". One, several or all of the nozzle device memory 26a, the robot memory 26b, the configuration memory 26c and the master memory 26d may also be referred to with reference numeral "26".
[0073] The configuration system 12c is in this example in signal communication with the database 82 and the master controller i2d. The master controller i2d can for example download a runtime application from the configuration system 12c. The runtime application may for example include a robot program for execution by the robot controller 12b. The runtime application may optionally include further programs for execution by the master data processing device 24d or by other devices in the plant 48, for example a program for controlling the pump 32 and a program for controlling a communication interface, e.g., on a display device (not shown). The master controller I2d may for example also be in signal connection with one or more sensors (not shown) in the plant 48.
[0074] Once the runtime application has been downloaded by the master controller i2d, the master controller i2d does not have to be in signal communication with the configuration system 12c. That is, the master controller I2d and the robot controller 12b may operate in an offline mode. Should the runtime application be updated in the configuration system 12c, the master controller I2d may again connect to the configuration system 12c and download the updated runtime application including an updated robot program for execution by the robot controller 12b.
[0075] In this example, the database 82 and the configuration system 12c are located outside of the mobile robot 50a and may even be located outside of the plant 48. Although some operations of the method will be described as being performed by the configuration system 12c, some operations described as being performed by the configuration system 12c may alternatively be performed by the master controller i2d or the robot controller 12b, or by a further system other than the configuration system 12c, the master controller i2d and the robot controller 12b.
[0076] Fig. 5 shows a plurality of surface classes 843-840, here including first to seventh surface classes 84a-84g, in the electronic system 12. Fig. 5 further shows first and second object classes 86a, 86b in the electronic system 12. One, several or all of the surface classes 84 -840, and one or both of the object classes 86a, 86b may also be referred to with reference numerals "84" and "86", respectively. The surface classes 84 are here provided in the database 82 and are collected by the configuration system 12c therefrom. The object classes 86 are here provided in the configuration system 12c. Each object class 86 includes one or more surface classes 84. Fig. 5 further shows a primary object representation 88a representing the primary object 62a and being an instantiation of the first object class 86a, and a secondary object representation 88b representing the secondary object 62b and being an instantiation of the second object class 86b. One or both of the object representations 88a-88c may also be referred to with reference numeral "88". Each object representation 88 is thus assigned to one object class 86.
[0077] The primary object representation 88a of this example comprises a first primary surface representation goal representing the first primary surface 64a! and being an instantiation of the first surface class 84a, and a second primary surface representation 9032 representing the second primary surface 6432 and being an instantiation of the second surface class 84b.
[0078] The secondary object representation 88b of this example comprises a first secondary surface representation 9obi representing the first secondary surface 64b! and being an instantiation of the first surface class 84a, a second secondary surface representation 9ob2 representing the second secondary surface 64b2 and being an instantiation of the second surface class 84b, and a third secondary surface representation 90b3 representing the third secondary surface 64b3 and being an instantiation of the third surface class 84c. One, several or all of the first and second primary surface representations goal, 9032 and the first to third secondary surface representations 9obi-9ob3 may also be referred to with reference numeral "90". Each surface representation 90 is thus assigned to one of the surface classes 84.
[0079] A single large object 62, such as a ceiling, a wall or a floor, may instead of being represented by a plurality of surface representations 90, be represented by a plurality of object representations 88. Such object representations 88 of a single physical object 62 maybe referred to as sub-object representations. Thus, regardless of whether different sections of a physical object 62 are visually distinguishable, each such section may be represented by a unique object representation 88. Fig. 5 further shows that the electronic system 12 comprises a plurality of surface cleaning instructions 92a-92n, including first to fourth surface cleaning instructions 92a-92d. One, several or all of the surface cleaning instructions 92a-92n may also be referred to with reference numeral "92".
[0080] The surface cleaning instructions 92 are here provided in the database 82. Each surface cleaning instruction 92 includes instructions interpretable by the robot controller 12b, optionally after modification by the configuration system 12c and / or the master controller I2d, to perform a cleaning operation by the mobile robot 50a with respect to a surface 64. As exemplified in Fig. 5, each of the first and third surface cleaning instructions 92a, 92c includes a first target value 94a indicative of the first force 74a with which the jet 20 should impact on the surface 64, and each of the second and fourth surface cleaning instructions 92b, 92d includes a second target value 94b indicative of the second force 74b with which the jet 20 should impact on the surface 64. One or both of the first and second target values 94a, 94b may also be referred to with reference numeral "94".
[0081] By specifying the target value 94 for each surface cleaning instruction 92, rather than for example the internal pressure 40b, programming is greatly facilitated. The surface cleaning instructions 92 can be communicated from the database 82 to the configuration system 12c for handling by the configuration system 12c. The surface cleaning instructions 92 can also be sent from the configuration system 12c to the master controller I2d, e.g., as a runtime application, for execution by the robot controller 12b.
[0082] As shown in Fig. 5, each surface class 84 is assigned to one of the surface cleaning instructions 92. Some surface classes 84 are assigned to a common surface cleaning instruction 92 in this example. The assignments are here provided in the database 82. The database 82 thus provides a library of surface classes 84, surface cleaning instructions 92 each including a target value 94, and assignments between the surface classes 84 and the surface cleaning instructions 92. Some of the assignments of the surface classes 84 to the surface cleaning instructions 92, and the provision of target values 94, may be made by a human user 68, such as by a cleaning expert.
[0083] Fig. 5 further shows a plurality of surface parameters 96a-96n, including first to sixth surface parameters 96a-96f provided in the configuration system 12c. One, several or all of the surface parameters 96a-96n may also be referred to with reference numeral "96". In this specific and non-limiting example, for each surface representation 90, the first surface parameter 96a is a parameter indicative of a surface material of the surface 64, the second surface parameter 96b is a parameter indicative of an ingress protection level of the surface 64, the third surface parameter 96c is a parameter indicative of a type of product 66 exposed to the surface 64, the fourth surface parameter 96d is a parameter indicative of a level of dirtiness of the surface 64, the fifth surface parameter 96c is a parameter indicative of an occurrence of a direct contact between the product 66 and the surface 64, and the sixth surface parameter 96f is a parameter indicative of an orientation of the surface 64.
[0084] Values for a set of surface parameters 96 are provided for each surface representation 90. The values of the surface parameters 96 may be specified in the electronic system 12, such as in the configuration system 12c. This specification governs to which surface class 84 the respective surface representations 90 will be assigned. Thus, the electronic system 12 is here configured to assign a surface representation 90 to a surface class 84 based on values of the surface parameters 96.
[0085] Thus, any surface 64 can be automatically assigned to a surface class 84, and thereby also to a surface cleaning instruction 92, including a specific target value 94, by the electronic system 12 after values of the surface parameters 96 have been specified. Values of some or all surface parameters 96 may be discrete and limited. For example, the level of dirtiness may be set with an integer from one to five, where five indicates the highest level of dirtiness. By using discrete values and limiting the possible values that the surface parameters 96 can adopt, a number of surface classes 84 will be made finite. For each surface representation 90, values of one or more of the surface parameters 96 may be provided by a surface parameter user input 98, e.g., from the HMI device 70. For example, a human user 68, such as a system configurator, may specify values of the third to fifth surface parameters 96c- 96e (type of product 66 exposed to the surface 64, level of dirtiness of the surface 64 and occurrence of a direct contact between the product 66 and the surface 64) by the surface parameter user input 98. Alternatively, or in addition, default values of the surface parameters 96 may be set in the configuration system 12c when instantiating a surface class 84.
[0086] As mentioned above and as shown in Fig. 5, the second primary surface representation 9032 and the second secondary surface representation 9ob2 are assigned to the second surface class 84b. This means that both of the second primary surface 6432 and the second secondary surface 64b2 will be cleaned by the mobile robot 50a using the second surface cleaning instruction 92b, e.g., with a common parameterization for the control of the mobile robot 50a to provide the second force 74b by the jet 20 on the second primary surface 6432 and the second secondary surface 64b2.
[0087] Fig. 5 further shows a first object cleaning instruction 100a to be used by the mobile robot 50a when cleaning each object 62 represented by an object representation 88 of the first object class 86a, and a second object cleaning instruction 100b to be used by the mobile robot 50a when cleaning each object 62 represented by an object representation 88 of the second object class 86b. One or both of the first and second object cleaning instructions 100a, 100b may also be referred to with reference numeral "100". As shown in Fig. 5, an object cleaning instruction 100 is provided for each object class 86.
[0088] Each object cleaning instruction 100 comprises the one or more surface cleaning instructions 92 associated with the one or more surface classes 84 of the object class 86 associated with the object cleaning instruction 100. Each object cleaning instruction 100 may contain instructions to the mobile robot 50a on how to control the manipulator 56 and the traction arrangement 54 to move the nozzle 16 in relation to a surface 64 of an object 62.
[0089] In case a plurality of objects 62 are assigned to a common object class 86, all these objects 62 will be cleaned by the mobile robot 50a using an object cleaning instruction 100 associated with the object class 86. Two object cleaning instructions 100 associated with a common object class 86 may however be different. For example, if the surface parameters 96 are different, the one or more surface cleaning instructions 92 may be different. If a surface cleaning instruction 92 is changed, each object cleaning instruction 100 containing the surface cleaning instruction 92 will also automatically be changed after recompiling.
[0090] If it is detected, either by manual or automated inspection, that one particular surface 64 of a particular surface class 84 has been insufficiently cleaned by the surface cleaning instruction 92 associated with that surface 64, the value of the surface parameter 96d (indicative of a level of dirtiness) of the surfaces 64 may be changed, e.g., by the surface parameter user input 98. This will result in that the particular surface 64 becomes assigned to a different surface class 84, and hence subjected to a different surface cleaning instruction 92 once the so modified object cleaning instruction 100 is executed by the robot controller 12b.
[0091] Alternatively, or in addition, should it be detected that one particular surface 64 of a particular surface class 84 has been insufficiently cleaned by the surface cleaning instruction 92 associated with that surface 64, it can be concluded that there is a risk that also other surfaces 64 of the same surface class 84 may have been insufficiently cleaned. By modifying the surface cleaning instruction 92 based on one such detection, for example by modifying the target value 94, this risk is efficiently addressed for all surfaces 64 of the same surface class 84 in the plant 48. This is a much more efficient way to address insufficient cleaning in comparison with independent cleaning evaluations and subsequent cleaning process corrections for a plurality of surfaces 64. As a further alternative, the particular surface 64 may be redefined as a plurality of surfaces 64, e.g., by defining one or more surface parameters 96 therefor, and to each of which a surface cleaning instruction 92 becomes assigned.
[0092] In case a new type of object 62 is added to the plant 48, the human user 68 may provide, e.g., a system configurator via the HMI device 70, an object representation 88 of the new object 62. The object representation 88 may for example be provided by instantiating any of the existing object classes 86, or by instantiating a particular set of one or more surface classes 84 to define a new object class 86. Alternatively, or in addition, the human user 68 may optionally provide the surface parameter user input 98 for one or more surface representations 90 to cause the assignment of each surface representation 90 to respective surface classes 84, and thereby also to respective surface cleaning instructions 92. An object cleaning instruction 100 for the new object 62 will thereby be created.
[0093] Fig. 5 further shows a plurality of projection parameters 40a-40n, including the exit flow 40a, the internal pressure 40b, the nozzle diameter 40c, the spread angle 4od, the density 4oe and the impact angle 4of provided in the configuration system 12c. One, several or all of the projection parameters 4oa-4on may also be referred to with reference numeral "40".
[0094] Projection values for a set of projection parameters 40 associated with the projection 18 from the nozzle 16 are specified in the electronic system 12, such as in the configuration system 12c. To this end, one, several or all of the projection parameters 40 maybe predefined in the electronic system 12, such as in the configuration system 12c, or may be provided by a projection parameter user input 102, e.g., from the HMI device 70. For example, a human user 68, such as a system configurator, may specify values of one or more of the projection parameters 40.
[0095] For each surface cleaning instruction 92, the electronic system 12 calculates the distance 72 required for the projection 18 to obtain the respective target value 94 based on one or more of the projection parameters 40. For example, for the first surface cleaning instructions 92a, the configuration system 12c may calculate the distance 72 required to obtain the first target value 94a, i.e., the first distance 72a, as described in connection with Fig. 3. Each surface cleaning instruction 92 of each object cleaning instruction 100 thereby also includes the distance 72 of the projection 18. The electronic system 12 can thereby, in a flexible and efficient manner, be used to control different types of mobile robots, e.g., whose provided projections 18 differ by one or more of the projection parameters 40, without having to change the object classes 86, the surface classes 84 or any of the assignments of the surface classes 84 to the surface cleaning instructions 92.
[0096] Fig. 5 further shows that in this example, each object class 86 comprises first object data 104a and second object data 104b. One or both of the first and second object data 104a, 104b may also be referred to with reference numeral "104". In this specific and non-limiting example, the first object data 104a is data indicative of a geometry of the associated object 62, and the second object data 104b includes data indicative of a nominal path 106a for the nozzle 16 to follow when cleaning the object 62. Thus, each instantiation of an object class 86 may comprise common object data 104 and may thus each represent an object 62 of the same size and shape. In order to make the nozzle 16 follow the nominal path 106a, one or both of the traction arrangement 54 and the manipulator 56 may be controlled. The nominal path 106a may be provided by programming, such as by using the HMI device 70. For each surface cleaning instruction 92, the configuration system 12c adjusts the nominal path 106a, if needed, based on the associated distance 72. The object cleaning instructions 100 may not only include the respective one or more surface cleaning instructions 92, but may also include the object data 104.
[0097] In this example, the configuration system 12c determines, for each surface cleaning instruction 92, the impact area 76 based on the distance 72 associated with the surface cleaning instruction 92 and based on the spread angle 40d. Moreover, for each object cleaning instruction 100, the configuration system 12c is configured to provide and / or modify the nominal path 106a based on the impact area 76, for example as described in connection with Figs. 6 and 7.
[0098] Fig. 5 further shows that in this example, each object class 86 comprises human-robot interaction, HRI, information 108. When cleaning an object 62 by the mobile robot 50a, the robot controller 12b may command presentation of the HRI information 108 associated with the cleaning, e.g., by displaying the HRI information 108 on a display on the mobile robot 50a or on the HMI device 70. If HRI information 108 is provided for an object class 86, the associated object cleaning instruction 100 may also contain instructions as to how and when the HRI information 108 should be presented to a human user 68, such as a cleaner. In case two object cleaning instructions 100 associated with a common object class 86 are different, e.g., by different surface parameters 96, the object data 104 and / or the HRI information 108 maybe the same for these two object cleaning instructions 100.
[0099] One example of HRI information 108 comprises an instruction to a human user 68, such as a cleaner, to confirm a status of the mobile robot 50a. A further example of HRI information 108 comprises an instruction to the human user 68 to cover a part of the object 62, e.g., a part that is sensitive to chemicals. A further example of HRI information 108 comprises an instruction to the human user 68 to move a part of the object 62, e.g., by opening or closing a lid of the object 62.
[0100] The mobile robot 50a may for example stop execution of an object cleaning instruction 100, issue the HRI information 108 associated with the object cleaning instruction 100, inform the human user 68 of a task to be carried out by the human user 68, and await confirmation from the human user 68 that the task has been carried out before continuing with executing the object cleaning instruction 100.
[0101] Fig. 6 schematically represents a first path 106b for the projection 18 with the first impact area 76a on the surface 64. The configuration system 12c may for example be configured to provide the first path 106b based on the nominal path 106a, the distance 72, the first impact area 76a and a surface area of the surface 64 such that the entire surface 64 will be subjected to the projection 18 with minimum overlap and while providing the force 74 corresponding to the associated target value 94.
[0102] Fig. 7 schematically represents a second path 106c for the projection 18 with the second impact area 76b on the surface 64. The second path 106c has been provided in a corresponding manner as in Fig. 6, i.e., based on the nominal path 106a, the distance 72, the second impact area 76b and the surface area of the surface 64 such that the entire surface 64 will be subjected to the projection 18 with minimum overlap and while providing the force 74 corresponding to the associated target value 94. Since the second impact area 76b is larger than the first impact area 76a, the second path 106c becomes shorter than the first path 106b. One, several or all of the nominal, the first and the second paths io6a-io6c may also be referred to with reference numeral "106".
[0103] Fig. 8 schematically represents a mobile robot 50b according to a further example. The mobile robot 50b differs from the mobile robot 50a by comprising a nozzle 16b having a nozzle diameter 40c that is larger than the nozzle diameter 40c of the nozzle 16a. Moreover, the mobile robot 50b differs from the mobile robot 50a in that the mobile robot 50b does not carry the pump 32 and the tank 28 of the nozzle system 10. Instead, the pump 32 and the tank 28 are stationary. The liquid 22 is supplied to the nozzle 16b via an elongated fluid line 110, such as a hose, for example as described in international patent application PCT / EP2024 / 055067, the contents of which are incorporated herein by reference in their entirety. One or both of the first and second mobile robots 50a, 50b may also be referred to with reference numeral "50".
[0104] Fig. 9 is a flowchart outlining general steps of a method of cleaning a surface 64. The method comprises providing S10 a nozzle device 14 including a nozzle 16 arranged to provide a projection 18 of a jet 20 of a liquid 22. The providing Sio of the nozzle device 14 may additionally include providing S12 a mobile robot 50 carrying the nozzle 16.
[0105] The method further comprises providing S14, in an electronic system 12, at least one projection value, each projection value being a value indicative of a projection parameter 40 associated with the projection 18. The at least one projection value may be a value indicative of one or more of the projection parameters 40 exit flow 40a of the jet 20 out of the nozzle 16, internal pressure 40b of the liquid 22 in the nozzle device 14, nozzle area 40c of the nozzle 16, spread angle 4od of the jet 20, density 4oe of the liquid 22 and impact angle 4of between the jet 20 and the surface 64. In some examples, the providing S14 of at least one projection value comprises providing S16 a spread angle 4od of the jet 20. In some examples, the providing S14 of at least one projection value comprises providing S18 an impact angle 4of between the jet 20 and the surface 64.
[0106] The method further comprises providing S20, in the electronic system 12, a target value 94 indicative of a force 74 with which the jet 20 should impact on a surface 64. The providing S20 of the target value 94 may include providing S22, in the electronic system 12, a plurality of surface cleaning instructions 92 for the mobile robot 50, each surface cleaning instruction 92 including a target value 94.
[0107] The method may further comprise providing S24, in the electronic system 12, a plurality of surface classes 84. The method may further comprise assigning S26, in the electronic system 12, each surface class 84 to one of the surface cleaning instructions 92. The method may further comprise assigning S28, in the electronic system 12, a plurality of surface representations 90 to respective surface classes 84, each surface representation 90 representing a surface 64 of an object 62.
[0108] The method further comprises determining S30, by the electronic system 12, a distance 72 between the nozzle 16 and the surface 64 based on the target value 94 and the at least one projection value. The determination S30 of the distance 72 may be made based on the impact angle 4of.
[0109] The method may further comprise determining S32, by the electronic system 12 and based on the distance 72 and the spread angle 4od, an impact area 76 of the jet 20 on the surface 64. The method may further comprise providing S34, in the electronic system 12 and based on the impact area 76, a path 106 for the nozzle 16 with respect to the surface 64.
[0110] The method further comprises controlling S36, by the electronic system 12, the nozzle device 14 to clean the surface 64 by controlling the nozzle device 14 to provide the projection 18 of the jet 20 of the liquid 22 onto the surface 64 at the distance 72 from the surface 64. The cleaning S36 of the surface 64 may comprise cleaning one of the surfaces 64 represented by a surface representation 90.
[0111] While the present disclosure has been described with reference to exemplary embodiments, it will be appreciated that the present invention is not limited to what has been described above. For example, it will be appreciated that the dimensions of the parts may be varied as needed. Accordingly, it is intended that the present invention may be limited only by the scope of the claims appended hereto.
Claims
CLAIMS1. A method of cleaning a surface (64), the method comprising:- providing (S10) a nozzle device (14) including a nozzle (16) arranged to provide a projection (18) of a jet (20) of a liquid (22);- providing (S14), in an electronic system (12), at least one projection value, each projection value being a value indicative of a projection parameter (40) associated with the projection (18);- providing (S20), in the electronic system (12), a target value (94) indicative of a force (74) with which the jet (20) should impact on a surface (64);- determining (S30), by the electronic system (12), a distance (72) between the nozzle (16) and the surface (64) based on the target value (94) and the at least one projection value; and- controlling (S36), by the electronic system (12), the nozzle device (14) to clean the surface (64) by controlling the nozzle device (14) to provide the projection (18) of the jet (20) of the liquid (22) onto the surface (64) at the distance (72) from the surface (64).
2. The method according to claim 1, wherein the cleaning of the surface (64) is performed using a mobile robot (50) carrying the nozzle (16).
3. The method according to claim 2, further comprising:- providing (S24), in the electronic system (12), a plurality of surface classes (84);- providing (S22), in the electronic system (12), a plurality of surface cleaning instructions (92) for the mobile robot (50), each surface cleaning instruction (92) including a target value (94);- assigning (S26), in the electronic system (12), each surface class (84) to one of the surface cleaning instructions (92);- assigning (S28), in the electronic system (12), a plurality of surface representations (90) to respective surface classes (84), each surface representation (90) representing a surface (64) of an object (62); wherein the cleaning (S36) of the surface (64) comprises cleaning one ofthe surfaces (64) represented by a surface representation (90); and wherein the providing (S20) of the target value (94) comprises providing the target value (94) of the surface cleaning instruction (92) associated with the surface (64) to be cleaned.
4. The method according to claim 2 or 3, wherein the providing (S14) of at least one projection value comprises providing (S16) a spread angle (4od) of the jet (20), and wherein the method further comprises:- determining (S32), by the electronic system (12) and based on the distance (72) and the spread angle (4od), an impact area (76) of the jet (20) on the surface (64); and- providing (S34), in the electronic system (12) and based on the impact area (76), a path (106) for the nozzle (16) with respect to the surface (64).
5. The method according to any of the preceding claims, wherein the at least one projection value is a value indicative of one or more of the projection parameters (40) exit flow (40a) of the jet (20) out of the nozzle (16), internal pressure (40b) of the liquid (22) in the nozzle device (14), nozzle area (40c) of the nozzle (16), spread angle (4od) of the jet (20), density (4oe) of the liquid (22) and impact angle (4of) between the jet (20) and the surface (64).
6. The method according to any of the preceding claims, further comprising:- providing (S18), in the electronic system (12), an impact angle (4of) between the jet (20) and the surface (64); wherein the determining (S30) of the distance (72) is made based on the impact angle (4of).
7. A cleaning system (80) comprising:- a nozzle device (14) including a nozzle (16) arranged to provide a projection (18) of a jet (20) of a liquid (22); and- an electronic system (12) comprising at least one data processingdevice (24) and at least one memory (26) having at least one computer program stored therein, the at least one computer program comprising program code which, when executed by the at least one data processing device (24), causes the at least one data processing device (24) to:- provide (S20) at least one projection value, each projection value being a value indicative of a projection parameter (40) associated with the projection (18);- provide (S20) a target value (94) indicative of a force (74) with which the jet (20) should impact on a surface (64);- determine (S30) a distance (72) between the nozzle (16) and the surface (64) based on the target value (94) and the at least one projection value; and- control (S36) the nozzle device (14) to clean the surface (64) by controlling the nozzle device (14) to provide the projection (18) of the jet (20) of the liquid (22) onto the surface (64) at the distance (72) from the surface (64).
8. The cleaning system (80) according to claim 7, further comprising a mobile robot (50) carrying the nozzle (16).
9. The cleaning system (80) according to claim 8, wherein the at least one computer program comprises program code which, when executed by the at least one data processing device (24), causes the at least one data processing device (24) to:- provide (S24) a plurality of surface classes (84);- provide (S22) a plurality of surface cleaning instructions (92) for the mobile robot (50), each surface cleaning instruction (92) including a target value (94);- assign (S26) each surface class (84) to one of the surface cleaning instructions (92);- assign (S28) a plurality of surface representations (90) to respective surface classes (84), each surface representation (90) representing a surface (64) of an object (62); wherein the cleaning (S36) of the surface (64) comprises cleaning one ofthe surfaces (64) represented by a surface representation (90); and wherein the providing (S20) of the target value (94) comprises providing the target value (94) of the surface cleaning instruction (92) associated with the surface (64) to be cleaned.
10. The cleaning system (80) according to claim 8 or 9, wherein the providing (S14) of at least one projection value comprises providing (S16) a spread angle (4od) of the jet (20), and wherein the at least one computer program comprises program code which, when executed by the at least one data processing device (24), causes the at least one data processing device (24) to:- determine (S32), based on the distance (72) and the spread angle (4od), an impact area (76) of the jet (20) on the surface (64); and- provide (S34), based on the impact area (76), a path (106) for the nozzle (16) with respect to the surface (64).
11. The cleaning system (80) according to any of claims 7 to 10, wherein the at least one projection value is a value indicative of one or more of the projection parameters (40) exit flow (40a) of the jet (20) out of the nozzle (16), internal pressure (40b) of the liquid (22) in the nozzle device (14), nozzle area (40c) of the nozzle (16), spread angle (4od) of the jet (20), density (4oe) of the liquid (22) and impact angle (4of) between the jet (20) and the surface (64).
12. The cleaning system (80) according to any of claims 7 to 11, wherein the at least one computer program comprises program code which, when executed by the at least one data processing device (24), causes the at least one data processing device (24) to:- provide (S18) an impact angle (4of) between the jet (20) and the surface (64); wherein the determining (S30) of the distance (72) is made based on the impact angle (4of).