IMPROVED NAVIGATION FOR A ROBOT WORK TOOL SYSTEM
Patent Information
- Application Number
- DE112022006133
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-23
- Filing Date
- 2022-12-08
- Publication Date
- 2025-03-06
AI Technical Summary
The increasing use of multiple robotic work tools in the same operational area leads to a higher risk of collisions and deadlocks, which reduces efficiency and safety in robotic work tool systems.
A system and method that establish a single machine zone (SMZ) around transport paths, where only one robotic work tool can enter at a time, using a server to determine occupancy and manage access to prevent collisions and deadlocks by defining SMZs during planning and operation.
The solution effectively reduces the risk of collisions and deadlocks, enhancing the efficiency and safety of robotic work tool systems by ensuring only one tool can access the SMZ at a time, thereby optimizing operation and reducing waiting times.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] IMPROVED NAVIGATION FOR A ROBOTIC WORK TOOL SYSTEM
[0002] TECHNICAL FIELD
[0003] This application relates to a robotic work tool and in particular to a system and a method for providing an improved navigation for robotic work tools, such as lawnmowers, in such a system.
[0004] BACKGROUND
[0005] Automated or robotic work tools such as robotic lawnmowers are becoming increasingly more popular and so is the use of the more than one robotic working tool(s) in the same operational area. The risk of collision between different robots has thus increased. There is also a risk of dead-locks occurring as two or more robotic working tools may end up in a situation where they hinder one another from continued operation. As can be understood, dead-locks are of course detrimental to the efficiency of the robotic working tool system.
[0006] Thus, there is a need for an improved manner of avoiding dead-locks.
[0007] SUMMARY
[0008] It is therefore an object of the teachings of this application to overcome or at least reduce those problems by providing by providing a robotic working tool system for controlling operation of a first robotic working tool and a second robotic working tool in an operating area, the system comprising the first robotic working tool which is arranged to operate in a first sub area and the second robotic working tool which is arranged to operate in a second sub area, and a server, wherein the server is arranged to establish a single machine zone and wherein the first robotic working tool is arranged to determine that the first robotic working tool is approaching the single machine zone, determine whether the single machine zone is occupied or not, and if not occupied, enter the single machine zone, and if occupied, halt outside the single machine zone and determine that the single machine zone is no longer occupied, and in response thereto enter the single machine zone. In some embodiments the robotic working tool is configured to determine that the first robotic working tool is approaching the single machine zone by receiving information defining a border of the single machine zone and detecting that the position of the robotic working tool is approaching the border of the single machine zone.
[0009] In some embodiments the robotic working tool is configured to determine that the first robotic working tool is approaching the single machine zone by receiving an indication thereof from the server.
[0010] In some embodiments the robotic working tool is configured to determine that the first robotic working tool is approaching the single machine zone and to determine whether the single machine zone is occupied or not by receiving the indication from the server.
[0011] In some embodiments the robotic working tool is configured to determine that the first robotic working tool is approaching the single machine zone and to determine that the single machine zone is occupied by receiving the indication from the server.
[0012] In some embodiments the system is configured to define a single machine zone over a transport path for the second robotic working tool.
[0013] In some embodiments the system is further configured to determine that the transport path crosses a sub area assigned to the first robotic working tool and if so define the single machine zone over the transport path for the second robotic working tool.
[0014] In some embodiments the system is further configured to determine that the transport path crosses a first and a second sub area and if so define one single machine zone over the transport path for each of the sub areas.
[0015] In some embodiments the system is further configured to determine that the transport path crosses a second transport path if so define more than one single machine zone over the transport path so as to avoid overlapping single machine zones.
[0016] In some embodiments the single machine zone is for an active transport path.
[0017] In some embodiments the server is configured to define the single machine zone.
[0018] In some embodiments the server is configured to define the single machine zone during planning work sessions. In some embodiments the server is configured to define the single machine zone during operation.
[0019] In some embodiments the server is comprised in the first robotic working tool.
[0020] In some embodiments the first robotic working tool is an autonomous robotic working tool.
[0021] In some embodiments the first robotic working tool is a robotic lawnmower.
[0022] In some embodiments the operational area is a domestic area.
[0023] In some embodiments the operational area is a sports-field.
[0024] In some embodiments the first robotic working tool is a robotic floor grinder.
[0025] In some embodiments the first robotic working tool is a remote-controlled robotic working tool.
[0026] In some embodiments the first robotic working tool is configured to receive commands from a remote control and wherein the first robotic working tool is configured to halt by the commands being inactivated.
[0027] In some embodiments the first robotic working tool is a demolition robot.
[0028] In some embodiments the operational area is a construction site.
[0029] It is also an object of the teachings of this application to overcome the problems by providing a method for controlling operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area and the second robotic working tool which is arranged to operate in a second sub area, wherein the method comprises determining that the first robotic working tool is approaching a single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, entering the single machine zone, and if occupied, halting outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto entering the single machine zone.
[0030] It is also an object of the teachings of this application to overcome the problems by providing a robotic working tool system for controlling operation of a first robotic working tool and a second robotic working tool in an operating area, the system comprising the first robotic working tool which is arranged to operate in a first sub area and the second robotic working tool which is arranged to operate in a second sub area, and a server, wherein the server is arranged to establish a single machine zone and wherein the first robotic working tool is arranged to determine that the first robotic working tool is approaching the single machine zone, determine whether the single machine zone is occupied or not, and if not occupied, enter the single machine zone, and if occupied, halt outside the single machine zone and determine that the single machine zone is no longer occupied, and in response thereto enter the single machine zone.
[0031] In some embodiments either of the first robotic working tool and the second robotic working tool is arranged for proactive collision avoidance.
[0032] In some embodiments the server is further configured to establish a single machine zone by determining that a portion of a border of the first sub area is within a collision detection distance (D) of a portion of a border of the second sub area.
[0033] In some embodiments the portion of a border of the first sub area is within a collision detection distance (D) of a portion of a border of the second sub area if the portions of borders are overlapping.
[0034] In some embodiments the first sub area is defined by an intended path and the border of the first sub area is defined by the path.
[0035] In some embodiments the server is further configured to establish a second single machine zone and to determine that the single machine zone and the second single machine zone overlaps or are within the collision detection distance of one another, and in response thereto partition the single machine zone and / or the second single machine zone into further single machine zones.
[0036] In some embodiments the single machine zone is for a work session.
[0037] In some embodiments the server is configured to establish the single machine zone during planning work sessions.
[0038] It is also an object of the teachings of this application to overcome the problems by providing a method for controlling operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area and the second robotic working tool which is arranged to operate in a second sub area, wherein the method comprises determining that the first robotic working tool is approaching a single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, entering the single machine zone, and if occupied, halting outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto entering the single machine zone.
[0039] It is also an object of the teachings of this application to overcome the problems by providing a robotic working tool for operating in an operating area, wherein robotic working tool is arranged to operate in a first sub area and wherein the first robotic working tool is arranged to determine that the first robotic working tool is approaching a single machine zone, determine whether the single machine zone is occupied or not, and if not occupied, enter the single machine zone, and if occupied, halt outside the single machine zone and determine that the single machine zone is no longer occupied, and in response thereto enter the single machine zone.
[0040] It is also an object of the teachings of this application to overcome the problems by providing a method for a robotic working tool for operating in an operating area, wherein robotic working tool is arranged to operate in a first sub area and wherein the method comprises determining that the first robotic working tool is approaching a single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, entering the single machine zone, and if occupied, halting outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto entering the single machine zone.
[0041] It is also an object of the teachings of this application to overcome the problems by providing a server for supervising operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area and the second robotic working tool which is arranged to operate in a second sub area, wherein the server is arranged to establish a single machine zone and wherein the server is further configured to determine that the first robotic working tool is approaching the single machine zone, determine whether the single machine zone is occupied or not, and if not occupied, enable the robotic working tool to enter the single machine zone, and if occupied, halt the robotic working tool outside the single machine zone and determine that the single machine zone is no longer occupied, and in response thereto enable the robotic working tool to enter the single machine zone. It is also an object of the teachings of this application to overcome the problems by providing a method for a server for supervising operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area and the second robotic working tool which is arranged to operate in a second sub area, wherein the method comprises establishing a single machine zone, determining that the first robotic working tool is approaching the single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, enabling the robotic working tool to enter the single machine zone, and if occupied, halting the robotic working tool outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto enabling the robotic working tool to enter the single machine zone.
[0042] In some embodiments the robotic work tool is a robotic lawnmower.
[0043] Further embodiments and aspects are as in the attached patent claims and as discussed in the detailed description.
[0044] Other features and advantages of the disclosed embodiments will appear from the following detailed disclosure, from the attached dependent claims as well as from the drawings. Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless explicitly defined otherwise herein. All references to "a / an / the [element, device, component, means, step, etc.]" are to be interpreted openly as referring to at least one instance of the element, device, component, means, step, etc., unless explicitly stated otherwise. The steps of any method disclosed herein do not have to be performed in the exact order disclosed, unless explicitly stated.
[0045] BRIEF DESCRIPTION OF THE DRAWINGS
[0046] The invention will be described in further detail under reference to the accompanying drawings in which:
[0047] Figure 1 A shows an example of a robotic lawnmower according to some embodiments of the teachings herein; Figure IB shows a schematic view of the components of an example of a robotic work tool being a robotic lawnmower according to some example embodiments of the teachings herein;
[0048] Figure 1C shows a schematic view of the components of an example of a robotic work tool according to some example embodiments of the teachings herein;
[0049] Figure 2 shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0050] Figure 3 A shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0051] Figure 3B shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0052] Figure 3C shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0053] Figure 3D shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0054] Figure 3E shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0055] Figure 3F shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0056] Figure 3G shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0057] Figure 4A shows a corresponding flowchart for a method according to some example embodiments of the teachings herein;
[0058] Figure 4B shows a corresponding flowchart for a method according to some example embodiments of the teachings herein;
[0059] Figure 4C shows a corresponding flowchart for a method according to some example embodiments of the teachings herein,
[0060] Figure 5A shows a schematic view of a robotic work tool according to some example embodiments of the teachings herein;
[0061] Figure 5B shows a schematic view of a robotic work tool according to some example embodiments of the teachings herein; Figure 5C shows a schematic view of a robotic work tool according to some example embodiments of the teachings herein;
[0062] Figure 6A shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0063] Figure 6B shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0064] Figure 6C shows a schematic view of a robotic work tool system according to some example embodiments of the teachings herein;
[0065] Figure 7A shows a corresponding flowchart for a method according to some example embodiments of the teachings herein;
[0066] Figure 7B shows a corresponding flowchart for a method according to some example embodiments of the teachings herein; and
[0067] Figure 7C shows a corresponding flowchart for a method according to some example embodiments of the teachings herein.
[0068] DETAILED DESCRIPTION
[0069] The disclosed embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Like reference numbers refer to like elements throughout.
[0070] It should be noted that even though the description given herein will be focused on robotic lawnmowers, the teachings herein may also be applied to, robotic ball collectors, robotic mine sweepers, robotic farming equipment, or other robotic work tools where a work tool is to be safeguarded against from accidentally extending beyond or too close to the edge of the robotic work tool.
[0071] Figure 1 A shows a perspective view of a robotic work tool 100, here exemplified by a robotic lawnmower 100, having a body 140 and a plurality of wheels 130 (only one side is shown). The robotic work tool 100 may be a multi-chassis type or a mono-chassis type (as in figure 1 A). A multi-chassis type comprises more than one main body parts that are movable with respect to one another. A mono-chassis type comprises only one main body part.
[0072] It should be noted that robotic lawnmower may be of different sizes, where the size ranges from merely a few decimetres for small garden robots, to more than 1, 1.5 5 or even over 2 meters for large robots arranged to service for example sports fields.
[0073] It should be noted that even though the description herein is focussed on the example of a robotic lawnmower, the teachings may equally be applied to other types of robotic work tools, such as robotic watering tools, robotic golfball collectors, and robotic mulchers to mention a few examples. It should also be noted that more than one robotic working tool may be set to operate in a same operational area, and that all of these robotic working tools need not be of the same type.
[0074] It should also be noted that the robotic work tool is a self-propelled robotic work tool, capable of autonomous navigation within a work area, where the robotic work tool propels itself across or around the work area in a pattern (random or predetermined) without user control (except, of course, possibly for a start and / or stop command).
[0075] Figure IB shows a schematic overview of the robotic work tool 100, also exemplified here by a robotic lawnmower 100. In this example embodiment the robotic lawnmower 100 is of a mono-chassis type, having a main body part 140. The main body part 140 substantially houses all components of the robotic lawnmower 100. The robotic lawnmower 100 has a plurality of wheels 130. In the exemplary embodiment of figure IB the robotic lawnmower 100 has four wheels 130, two front wheels and two rear wheels. At least some of the wheels 130 are drivably connected to at least one electric motor 150. It should be noted that even if the description herein is focused on electric motors, combustion engines may alternatively be used, possibly in combination with an electric motor. In the example of figure IB, each of the wheels 130 is connected to a respective electric motor 155, but it would also be possible with two or more wheels being connected to a common electric motor 155, for driving the wheels 130 to navigate the robotic lawnmower 100 in different manners. The wheels, the motor 155 and possibly the battery 150 are thus examples of components making up a propulsion device. By controlling the motors 150, the propulsion device may be controlled to propel the robotic lawnmower 100 in a desired manner, and the propulsion device will therefore be seen as synonymous with the motor(s) 150.
[0076] It should be noted that wheels 130 driven by electric motors is only one example of a propulsion system and other variants are possible such as caterpillar tracks.
[0077] The robotic lawnmower 100 also comprises a controller 110 and a computer readable storage medium or memory 120. The controller 110 may be implemented using instructions that enable hardware functionality, for example, by using executable computer program instructions in a general -purpose or special-purpose processor that may be stored on the memory 120 to be executed by such a processor. The controller 110 is configured to read instructions from the memory 120 and execute these instructions to control the operation of the robotic lawnmower 100 including, but not being limited to, the propulsion and navigation of the robotic lawnmower.
[0078] The controller 110 in combination with the electric motor 155 and the wheels 130 forms the base of a navigation system (possibly comprising further components) for the robotic lawnmower, enabling it to be self-propelled as discussed under figure 1 A,
[0079] The controller 110 may be implemented using any suitable, available processor or Programmable Logic Circuit (PLC). The memory 120 may be implemented using any commonly known technology for computer-readable memories such as ROM, FLASH, DDR, or some other memory technology.
[0080] The robotic lawnmower 100 is further arranged with a wireless communication interface 115 for communicating with a server, and in some embodiments, also with other devices, such as a personal computer, a smartphone, the charging station, and / or other robotic work tools. Examples of such wireless communication devices are Bluetooth®, WiFi® (IEEE802.1 lb), Global System Mobile (GSM) and LTE (Long Term Evolution), to name a few. The robotic lawnmower 100 is thus arranged to communicate with a server (referenced 240 in figure 2) for providing information regarding status, location, and / or progress of operation as well as receiving commands or settings from the server.
[0081] The robotic lawnmower 100 also comprises a grass cutting device 160, such as a rotating blade 160 driven by a cutter motor 165. The grass cutting device being one example of a work tool 160 for a robotic work tool 100. The robotic lawnmower 100 may further comprise at least one navigation sensor, such as an optical navigation sensor, an ultrasound sensor, a beacon navigation sensor and / or a satellite navigation sensor 185. The optical navigation sensor may be a camera-based sensor and / or a laser-based sensor. The beacon navigation sensor may be a Radio Frequency receiver, such as an Ultra Wide Band (UWB) receiver or sensor, configured to receive signals from a Radio Frequency beacon, such as a UWB beacon. Alternatively or additionally, the beacon navigation sensor may be an optical receiver configured to receive signals from an optical beacon. The satellite navigation sensor may be a GPS (Global Positioning System) device or other Global Navigation Satellite System (GNSS) device. In embodiments, where the robotic lawnmower 100 is arranged with a navigation sensor, the magnetic sensors 170 as will be discussed below are optional. In embodiments relying (at least partially) on a navigation sensor, the work area may be specified as a virtual work area in a map application stored in the memory 120 of the robotic lawnmower 100. The virtual work area may be defined by a virtual boundary. As will be discussed in the below, virtual borders may be used to define a work area and / or a single machine zone (which will be discussed in relation to figures 3A - 3G and 6A - 6C). A physical border may be used to define a work area 205.
[0082] The robotic lawnmower 100 may also or alternatively comprise deduced reckoning sensors 180. The deduced reckoning sensors may be odometers, accelerometer or other deduced reckoning sensors. In some embodiments, the deduced reckoning sensors are comprised in the propulsion device, wherein a deduced reckoning navigation may be provided by knowing the current supplied to a motor and the time the current is supplied, which will give an indication of the speed and thereby distance for the corresponding wheel.
[0083] For enabling the robotic lawnmower 100 to navigate with reference to a boundary wire emitting a magnetic field caused by a control signal transmitted through the boundary wire, the robotic lawnmower 100 is, in some embodiments, further configured to have at least one magnetic field sensor 170 arranged to detect the magnetic field and for detecting the boundary wire and / or for receiving (and possibly also sending) information to / from a signal generator (will be discussed with reference to figure 1). In some embodiments, the sensors 170 may be connected to the controller 110, possibly via filters and an amplifier, and the controller 110 may be configured to process and evaluate any signals received from the sensors 170. The sensor signals are caused by the magnetic field being generated by the control signal being transmitted through the boundary wire. This enables the controller 110 to determine whether the robotic lawnmower 100 is close to or crossing the boundary wire, or inside or outside an area enclosed by the boundary wire.
[0084] As mentioned above, in some embodiments, the robotic lawnmower 100 is in some embodiments arranged to operate according to a map application representing one or more work areas (and possibly the surroundings of the work area(s)) stored in the memory 120 of the robotic lawnmower 100. The map application may be generated or supplemented as the robotic lawnmower 100 operates or otherwise moves around in the work area 205. In some embodiments, the map application includes one or more start regions and one or more goal regions for each work area. In some embodiments, the map application also includes one or more transport areas.
[0085] As discussed in the above, the map application is in some embodiments stored in the memory 120 of the robotic working tool(s) 100. In some embodiments the map application is stored in the server (referenced 240 in figure 2). In some embodiments maps are stored both in the memory 120 of the robotic working tool(s) 100 and in the server, wherein the maps may be the same maps or show subsets of features of the area.
[0086] As discussed in the above, the robotic work tool is exemplified mainly as a robotic lawnmower. However, the teachings herein may also be applied to other robotic work tools, and in particular a robotic floor grinder in some embodiments. In such embodiments the work tool 160 is a floor grinder. As discussed in the above, the robotic work tool is exemplified as being an autonomous robotic work tool, however, the teachings herein may also be applied to other types of robotic work tools, such as remote-controlled robotic work tools. Figure 1C shows a schematic view of a remote- controlled robotic work tool 100. as is noted the remote-controlled robotic work tool comprises all, most or some of the components discussed in relation to figures 1 A and figure IB, however, the communication interface 115 of the remote-controlled robotic work tool is further configured to receive commands from (and possibly to provide status indications or other information to) a remote control 116 through a remotecontrol module 115a of the communication interface 115.
[0087] The remote control 116 comprises one or more controls 116a, 116b which - when activated - enables an operator to remotely control the remote-controlled robotic work tool 100. The remote-controlled robotic work tool is thus configured to operate mainly based on received operating commands from an operator via the remote control. The remote control may be a standalone device, such as a dedicated remote control or a user device, such as a smartphone or laptop computer. As remote controls are commonly known, the disclosure herein will not provide more details on the actual remote control.
[0088] A remote-controlled robotic work tool 100 is beneficially used in operational areas or for work tasks that include a higher risk and therefore benefits from a closer supervision. One example of such a remote-controlled robotic work tool is a demolition robot.
[0089] It should be noted that a robotic lawnmower may be remote-controlled.
[0090] It should be noted that a robotic floor grinder may be remote-controlled.
[0091] It should also be noted that a robotic work tool can be configured to operate in an operating mode, wherein in a first operating mode, the robotic work tool is configured to operate autonomously, and in a second operating mode, the robotic work tool is set to operate by remote-control.
[0092] As will be discussed in reference to figures 5A, 5B and 5C, the robotic working tool 100 may also comprise sensors 190 for enabling sensing of an object which sensing may be utilized to avoid a collision with the sensed object.
[0093] Figure 2 shows a robotic work tool system 200 in some embodiments. The schematic view is not to scale. The robotic work tool system 200 comprises one or more robotic work tools 100 according to the teachings herein. It should be noted that the operational area 205 shown in figure 2 is simplified for illustrative purposes. The robotic work tool system comprises a boundary 220 that may be virtual and / or electro mechanical. An example of an electro mechanical border is one generated by a magnetic field generated by a control signal being transmitted through a boundary wire, and which magnetic field is sensed by sensors 170 in the robotic work tool 100. An example of a virtual border is one defined by coordinates and navigated using a location-based navigation system, such as a GPS (or RTK) system.
[0094] The robotic work tool system 200 further comprises a station 210 possibly at a station location. A station location may alternatively or additionally indicate a service station, a parking area, a charging station or a safe area where the robotic work tool may remain for a time period between or during operation session.
[0095] As with figures 1 A and IB, the robotic work tool(s) is exemplified by a robotic lawnmower, whereby the robotic work tool system may be a robotic lawnmower system or a system comprising a combinations of robotic work tools, one being a robotic lawnmower, but the teachings herein may also be applied to other robotic work tools adapted to operate within a work area, such as the remote-controlled robotic working tool of figure 1C and / or a robotic floor grinder..
[0096] The one or more robotic working tools 100 of the robotic work tool system 200 are arranged to operate in an operational area 205, which in this example comprises a first work area 205A and a second work area 205B connected by a transport area TA. However, it should be noted that an operational area may comprise a single work area or one or more work areas, possibly arranged adjacent for easy transition between the work areas, or connected by one or more transport paths or areas, also referred to as corridors. In the following work areas and operational areas will be referred to interchangeably, unless specifically indicated.
[0097] The operational area 205 is in this application exemplified as a garden, but can also be other work areas as would be understood, such as a (part of a) neighbourhood, or a sports field to mention a few examples. A garden and a (part of a) neighbourhood are both examples of domestic areas.
[0098] With regards to the remote-controlled robotic work tool 100 of figure 1C, the operational area may be a construction site. A construction site is taken to possibly include demolition area(s).
[0099] It should also be noted that the one or more robotic work tools may, in some embodiments, include one or more remote-controlled robotic work tools. For the example of a construction site, one of the one or more robotic work tools may be an autonomous robotic work tool, such as a floor grinder, and one may be a remote- controlled robotic work tool, such as a demolition robot. In some embodiments, the work tool 160 may be operated through a pneumatic power system, possibly driven by an electrical system, and such pneumatic power system will thus replace or supplement the electric motor 265.
[0100] As discussed above, the garden may contain a number of obstacles and / or objects, for example a number of trees, stones, slopes and houses or other structures.
[0101] In some embodiments the robotic work tool is arranged or configured to traverse and operate in work areas that are not essentially flat, but contain terrain that is of varying altitude, such as undulating, comprising hills or slopes or such. The ground of such terrain is not flat and it is not straightforward how to determine an angle between a sensor mounted on the robotic work tool and the ground. The robotic work tool is also or alternatively arranged or configured to traverse and operate in a work area that contains obstacles that are not easily discerned from the ground. Examples of such are grass or moss covered rocks, roots or other obstacles that are close to ground and of a similar colour or texture as the ground. The robotic work tool is also or alternatively arranged or configured to traverse and operate in a work area that contains obstacles that are overhanging, i.e. obstacles that may not be detectable from the ground up, such as low hanging branches of trees or bushes. Such a garden is thus not simply a flat lawn to be mowed or similar, but a work area of unpredictable structure and characteristics. The operational area or any of its work areas 205 exemplified with referenced to figure 2, may thus be such a non-uniform area as disclosed in this paragraph that the robotic work tool is arranged to traverse and / or operate in.
[0102] As shown in figure 2, the robotic working tool(s) 100 is arranged to navigate in one or more work areas 205A, 205B, possibly connected by a transport area TA.
[0103] The robotic working tool system 200 may alternatively or additionally comprise or be arranged to be connected to a server 240, such as a cloud service, a cloud server application or a dedicated server 240. The connection to the server 240 may be direct from the robotic working tool 100, indirect from the robotic working tool 100 via the service station 210, and / or indirect from the robotic working tool 100 via user equipment (not shown). As a skilled person would understand a server, a cloud server or a cloud service may be implemented in a number of ways utilizing one or more controllers 240A and one or more memories 240B that may be grouped in the same server or over a plurality of servers.
[0104] In the below several embodiments of how the robotic work tool 100 may be adapted will be disclosed. It should be noted that all embodiments may be combined in any combination providing a combined adaptation of the robotic work tool.
[0105] Figure 3 A shows a schematic view of an example operating area 205, possibly one such as discussed in relation to figure 2, for use with a robotic work tool system 200 as discussed in relation to figure 2. The operating area 205 is illustrated in this example as having three sub areas 205A-C. As can be seen, a sub area may be defined by specific borders (physical or virtual) and / or may be defined as an area covering an intended work pattern for a robotic working tool. In the example of figure 4 A, the sub areas referenced 205A and 205C are defined by specific borders and the sub area referenced 205B is defined as the area covering an intended work pattern referenced P. The border for such an area is indicated or defined as the pattern, such as by the outermost segments of the pattern or by the pattern itself. A pattern may in some embodiments be defined by an intended, estimated or calculated path for travelling to execute the pattern.
[0106] In this example, each work area 205A-C is assigned to a robotic working tool 100: 1-3. As would be understood each of the robotic working tools 100: 1-3 may be a first robotic working tool 100, whereby the other robotic working tools are second robotic working tools, and each of the robotic working tools 100: 1-3 may be a second robotic working tool, depending on the perspective chosen.
[0107] As is also shown, a service station (such as a charging station) 210 may also be comprised in the robotic working tool system.
[0108] In order for a robotic working tool to travel or be transported from one location to another location, such as from the uppermost sub area to the charging station 210, it is common to arrange a transport area or path from the sub area to the charging station. This is also discussed in relation to figure 2. It should be noted that the figures herein are not to scale, however, figure 4A has been drawn so as to illustrate that for the upper-most robotic working tool 100: 1 to be able to reach the charging station 210, it will need to cross the other sub areas 205B,C. It may be beneficial for other reasons, such as for efficiency reason, for a robotic working tool to cross sub areas assigned to other robotic working tools. There are thus various reasons why a transport path will cross other robotic working tool’s sub areas.
[0109] In figure 3B, showing a schematic view of the operational area of figure 3 A, there is illustrated how a transport path (TP) extends from the intended start location for the transport, in this example from the uppermost robotic working tool 100: 1 to the intended target location, in this example the service station 210.
[0110] As the inventors have realized, during transport of the upper-most robotic working tool 100: 1 through any of the sub areas 205B and C it will cross the other robotic working tools’ sub areas 205, C and depending on the different robotic working tools’ various positions a risk of collision or deadlock will occur. Such collisions or deadlocks can of course seriously affect and reduce the efficiency of the robotic working tool system, as well as the safety aspects of the robotic working tool system 200.
[0111] It should also be noted that a transport path need not always be from a same location, as for example the need to recharge (or other needs) may occur at any position during operation. It should also be noted that a transport path need not always be to a same location, as for example, different needs may occur during operation, whereby the robotic working tool needs to be transported to a suitable location according to the need.
[0112] The inventors are therefore proposing to establish a safety zone around the transport path (or in embodiments using a transport area, to define the transport area to be a safety zone. Such a safety zone is defined by that only one machine at a time is allowed access into the zone. The safety zone is therefore also referred to herein as a Single Machine Zone, SMZ. In figure 3C, an SMZ is indicated as surrounding the transport path TP.
[0113] In some embodiments, the single machine zone is defined during planning of the work sessions, whereby fixed transport paths are used and a robotic working tool need to travel to the start of a transport path when the robotic working tool is to transport. In such a scenario the robotic working tool is confined to its sub-area and thus transport to the start of the transport path does not pose a risk of deadlock.
[0114] In some embodiments, the single machine zone is defined during operation, whereby temporary transport paths are used. Such transport paths may originate at a robotic working tool’s current position or the robotic working tool need to travel to the start of a transport path when the robotic working tool is to transport.
[0115] In some embodiments, a single machine zone is defined during planning and another single machine zone is defined during operation (possibly a redefinition of the single machine zone).
[0116] In some embodiments, the single machine zone is defined by a server.
[0117] In some embodiments, the single machine zone is defined by the robotic working tool. In some such embodiments, the server may be seen as comprised in the robotic working tool.
[0118] In some embodiments, the single machine zone is defined regardless of other sub areas. This allows for a simpler determination as no analysis of other sub areas is necessary, while still enabling for the same level of safety. In some such embodiments, the SMZ is defined to cover the transport path from start to target, or at least to cover the majority (more than 90 %) of the transport path’s extension from start to target. This is the case indicated in figure 3C.
[0119] The robotic working tool system may this be configured to determine that as a transport path is to be established or utilized, which in both cases will be referred to as being activated, and in response thereto define a SMZ around the transport path.
[0120] In some embodiments, the single machine zone is defined based on whether the transport path crosses other sub areas. This allows for avoiding establishing of SMZs for no reason.
[0121] In some such embodiments, the SMZ is defined to cover the transport path from start to target, or at least to cover the majority (more than 90 %) of the transport path’s extension from start to target. This is the case indicated in figure 3C.
[0122] In some alternative such embodiments, the SMZ is defined to cover the transport path where it crosses (crosses completely or partially) a sub area in which a second robotic working tool is assigned to operate. The sub area being crossed may thus be the same sub area as the transport path starts in, as more than one robotic working tool may be assigned to a same sub area, or sub areas may overlap. This is the case indicated in figure 3D. This allows for a more accurate establishing of SMZs and will also reduce the risk further of dead-locks, and also to increase the efficiency as, for example, the lower-most robotic working tool is free to continue operating while the upper-most robotic working tool travels along the transport path to the start of the SMZ for the sub area 205C.
[0123] The robotic working tool system may be configured to determine that as a transport path is to be established or utilized, which in both cases will be referred to as being activated, and in response thereto so determine whether the transport path crosses or overlaps (at least partially) one or more sub areas assigned to another robotic working tool, and if so define a SMZ around the transport path. In some such embodiments, the robotic working tool system is further configured to define the SMZ to cover the transport path where the transport path crosses or overlaps (at least partially) the one or more sub areas.
[0124] The inventors have further realized that in some cases, more than one robotic working tool needs to be transported and that this may result in more than one single Machine Zone to be defined in a same area, which may lead to dead locks. The same applies if SMZ are defined for other reasons. To avoid or at least mitigate the risk for such situations leading to dead-locks or reduced efficiency in general, the inventors are proposing to determine whether a SMZ is (at least partially) overlapping another SMZ and if so partition at least one of the overlapping SMZs and define several partitioned SMZs to replace the at least one partitioned SMZ. It should be noted that the partitioned SMZs may be defined straight away and that there is not always a need to define a first SMZ and later partition it. This is only the case, if one SMZ is defined before another SMZ is defined unknowingly of the other SMZ.
[0125] Figure 3E shows an operation area 205, such as in figure 2, where a one robotic working tool 100: 1 is operating in a sub area 205 A, and another robotic working tool 100:2 is operating in another sub area 205B. As can be seen the transport path TP1 for the left-most robotic working tool 100: 1 crosses the transport path TP2 of the right-most robotic working tool 100:2, and so does the SMZs covering (or to be defined to cover) the transport paths. The first SMZ (referenced SMZ1) thus overlaps (or will overlap) the second SMZ (referenced SMZ2).
[0126] Figure 3F shows how more than one SMZs are defined to avoid overlapping SMZs. Note that in figure 3F only the second SMZ (referenced SMZ2) has been partitioned into more than one SMZs. This enables for not affecting the operation of an robotic working tool and an already defined and activated SMZ.
[0127] Figure 3G also shows how more than one SMZs are defined to avoid overlapping SMZs. Note that in figure 3F both the first SMZ (referenced SMZ1) and second SMZ (referenced SMZ2) have been partitioned into more than one SMZs. This enables for an increased efficiency as neither robotic working tool risks having to wait for the other robotic working tool to clear the full transport path.
[0128] It should be noted that the SMZs of any of figures 3E to 3G may be further partitioned into more SMZs to avoid overlapping any SMZ that may be active in the sub area 205C assigned to the lower-most robotic working tool 100:3
[0129] The robotic working tool system is thus further configured to define more than one SMZ to cover a transport path to avoid SMZ from overlapping one another.
[0130] In some such embodiments, the robotic working tool system is further configured to determine the position of an robotic working tool in a SMZ, and to determine if the robotic working tool is at a position after (in the direction of travel of the robotic working tool, the overlapping section prior to partitioning the SMZ(s). This in order to avoid defining and communicating several SMZs in vain as the robotic working tool has already passed the overlap and the risk for a dead-lock is thus already very low.
[0131] In some embodiments, if a robotic working tool follows a pre-planned path, the robotic working tool determines the next intersection of the path and the single machine zone to determine whether it can be accessed (and halt, if needed) before entering. No checks or stops are made when leaving the zone.
[0132] Figures 3E-G show a system where all SMZs correspond to a large portion (at least 90%) of the transport path (optionally split into sections). It should not be understood as this is the only or the preferred option, regardless of the length of the transport, and that the teachings herein are beneficial regardless of the distances covered. As discussed herein, two (or more) transport paths that cross or intersect could be buffered and a SMZ between them could be created the same way as the regular SMZ between two areas. This way the SMZs in the scenario from the figures do not overlap to begin with and don't have to be split.
[0133] The single machine zone, as the name implies, is a zone where only a single machine is allowed entry at any given time. As a robotic working tool approaches a single machine zone, the robotic working tool determines whether the single machine zone is currently occupied by another robotic working tool, and if so the robotic working tool halts and does not enter the single machine zone.
[0134] For embodiments where the robotic working tool is autonomous, the controller simply causes the robotic working tool to halt.
[0135] For embodiments where the robotic working tool is remote-controlled, the robotic working tool is caused to halt through that the commands of the remote control 116 are, in some embodiments, replaced by a stop command and further commands are inactivated as long as the robotic working tool is halting. The commands may be inactivated at the remote control 116 or as they are received by the robotic working tool. In some embodiments, the robotic working tool is caused to halt through that the operator is informed, possibly through the remote control that the robotic working tool is at a single machine zone and must wait for clearance, whereby the operator is trusted to operate the robotic working tool accordingly. In some embodiments, such embodiments are combined, for example so that the remote control is initially inactivated, and then reactivated as the operator has been made aware of the situation.
[0136] As the robotic working tool determines that the single machine zone is no longer occupied the robotic working tool enters the single machine zone. This determination is, in some embodiments, made by polling the server. Alternatively or additionally, The determination is, in some embodiments, made by the server informing the robotic working tool 100.
[0137] In some instances, there may be more than one robotic working tool waiting to enter the single machine zone. In one embodiment, the server informs (either by pushing information or by being polled by the robotic working tool) which robotic working tool enters next. In some alternative or additional embodiments, the robotic working tool receives a queue number indicating its position in a queue. As a robotic working tool leaves the single machine zone the server updates the queue numbers of the waiting robotic working tool(s) and when a queue number indicates a go-ahead, for example by reaching 0 or by given express allowance, the robotic working tool enters the single machine zone.
[0138] In some embodiments, the server updates the queue number by informing one or more of the waiting robotic working tool(s) to decrease their queue number. This allows for a simplified communication for example through a broadcast indicating that the robotic working tool occupying the single machine zone has exited the robotic working tool.
[0139] In some embodiments, the server updates the queue number by informing one or more of the waiting robotic working tool(s) of a new queue number. This allows for a prioritization enabling a robotic working tool to jump the queue.
[0140] As there may be more than one single machine zone, the single machine zones are in some embodiments assigned an identifier, which is used during determination of whether an single machine zone is occupied or not.
[0141] These embodiments with regards to updating queue numbers may be combined.
[0142] In some embodiment, the robotic working tool determines that the single machine zone is approached when the robotic working tool is at a distance (temporal or spatial distance) from the single machine zone. In some such embodiments, the robotic working tool is configured to slow down while approaching the single machine zone allowing for more time for determining whether the single machine zone is occupied or not.
[0143] In some embodiments, the robotic working tool determines that the single machine zone is approached when the robotic working tool is at the single machine zone. In some such embodiments, the robotic working tool is configured to halt while determining whether the single machine zone is occupied or not. Halting allows for ensuring that all communication between the server and robotic working tools have concluded so as to ensure a correct current occupancy of the single machine zone, taking communication delays into account. In some embodiments, the robotic working tool is aware of the borders of the single machine zone and makes the determination of approaching the single machine zone locally.
[0144] In some embodiments, the server holds data defining the borders of the single machine zone and makes the determination of the robotic working tool approaching the single machine zone by tracking the movements of the robotic working tool and informing the robotic working tool that a single machine zone is being approached. In some such embodiments, the server may inform the robotic working tool that the single machine zone is being approached only when the single machine zone is occupied. This allows for a more efficient operation as the robotic working tool will not slow down or halt in case of an empty single machine zone. The server is in some such embodiments arranged to determine possible conflicts of more than one robotic working tool approaching the single machine zone. IN such embodiments the server will inform one of the robotic working tools that the single machine zone is not occupied (possibly nby issuing no notification which will enable the robotic working tool to continue unhindered) and the others that the single machine zone is occupied.
[0145] These embodiments with regards to approaching the single machine zone may be combined. As disclosed in the above the determination that an single machine zone is being approached and the determination whether the single machine zone is occupied may be made as the same determination.
[0146] The teaching herein thus provide for to avoid deadlock scenarios by establishing single machine zones covering a transport path where only one robotic working tool is allowed to operate at a time. In some embodiments a planning module manages which robotic working tools are allowed to enter the zones such that no deadlock situations occur. In some embodiments the planning module resides and is executed by the controller of a robotic working tool 100. In some embodiments the planning module resides and is executed by the controller of a server 240. And in some embodiments the planning module resides and is executed by the controller of a robotic working tool 100 in combination with a controller of a server 240. In embodiments where the controller of the robotic working tool executes (at least a part of) the planning module, the server may be seen as comprised in the robotic working tool. The planning module receives, as inputs, the initial site plan (showing individual work areas for each machine and planned operating paths for the robotic working tools) and any activated transport path.
[0147] Based on these inputs or parts of such inputs, the planning module identifies overlapping areas of the transport path(s) and the sub areas and single machine zones are created as discussed above.
[0148] As the transport path is no longer active, the SMZ may be removed (or undefined) in some embodiments as it is no longer needed. In such embodiments, the SMZ is temporary.
[0149] Figure 4A shows a general flowchart according to a method of the teachings herein for use in a robotic working tool system, where wherein the method comprises defining 400 an SMZ over a transport path) and determining 410 that the first robotic working tool is approaching a single machine zone and determining 420 whether the single machine zone is occupied or not. If the single machine zone is not occupied, the robotic working tool 430 enters the single machine zone, and if the single machine zone is occupied, the robotic working tool 440 halts outside the single machine zone. The method further comprises determining 450 that the single machine zone is no longer occupied, and in response thereto the robotic working tool enters 460 the single machine zone.
[0150] A robotic work tool system may thus in some embodiments be configured to perform the method according to figure 4A as discussed above for example in relation to figures 3A, 3B, 3C, 3D, 3E, 3F and 3G.
[0151] Figure 4B shows a general flowchart according to a method of the teachings herein for use in a robotic working tool, where wherein the method comprises optionally defining 400 an SMZ over a transport path (depending on which entity defines the SMZ(s)) and determining 410 that the first robotic working tool is approaching a single machine zone and determining 420 whether the single machine zone is occupied or not. If the single machine zone is not occupied, the robotic working tool 430 enters the single machine zone, and if the single machine zone is occupied, the robotic working tool 440 halts outside the single machine zone. The method further comprises determining 450 that the single machine zone is no longer occupied, and in response thereto the robotic working tool enters 460 the single machine zone.
[0152] A robotic work tool may thus in some embodiments be configured to perform the method according to figure 4B as discussed above for example in relation to figures 3 A, 3B, 3C, 3D, 3E, 3F and 3G.
[0153] Figure 4C shows a general flowchart according to a method of the teachings herein for use in a server, where wherein the method comprises optionally defining 400 an SMZ over a transport path (depending on which entity defines the SMZ(s)) and determining 410 that the first robotic working tool is approaching a single machine zone and determining 420 whether the single machine zone is occupied or not. If the single machine zone is not occupied, enabling the robotic working tool 430 to enter the single machine zone, and if the single machine zone is occupied, cause the robotic working tool 440 to halt outside the single machine zone. The method further comprises determining 450 that the single machine zone is no longer occupied, and in response thereto enabling the robotic working tool to enter 460 the single machine zone.
[0154] A server may thus in some embodiments be configured to perform the method according to figure 4C as discussed above for example in relation to figures 3A, 3B, 3C, 3D, 3E, 3F and 3G.
[0155] Figure 5 A shows a schematic view of a robotic working tool 100, such as one disclosed in relation to figures 1 A and IB, which is configured to operate in a robotic working tool system 200 as disclosed in relation to figure 2. As mentioned in relation to figure IB, the robotic working tool is in some embodiments configured for proactive collision avoidance and comprises an object sensor 190. In some embodiments the object sensor 190 is arranged to operate utilizing the controller 110 and in some embodiments the object sensor 190 comprises its own processor, in which embodiments, the controller 110 is considered to comprise the processor.
[0156] As is shown in figure 5 A, the object sensor 190 is arranged to sense an object at a distance d away from the robotic working tool. The object sensor may be radar-based, vision-based (such as image sensor or camera), or laser-based. The object sensor 190 provides data on an object at a distance d from the robotic working tool, such as distance to and possibly shape of the object. The robotic working tool is configured to classify the object as stationary or moving, which may be done based on the distance. If the distance changes more than as expected based on the robotic working tool’s speed, the object is moving, and if the distance changes as expected based on the robotic working tool’s speed, the object is stationary. In embodiments where shape data is provided, the robotic working tool may further classify the type of object, such as a robotic working tool. In some embodiments, the robotic working tool may classify the object based on a recognized identifier.
[0157] Based on the classification, the robotic working tool is configured to determine an action for avoiding a collision. In the case of a classified stationary object, the action is, in some embodiments, to move around the object as is shown in figure 5B. In the case of a classified moving object, the action is, in some embodiments, to slow down or to stop as is shown in figure 5C. Stopping allows for enabling the moving object to move away from the robotic working tool. Slowing down allows for more time to determine whether a collision is eminent and whether an evasive action should be executed. Slowing down also, or alternatively, allows more time for the object to move away before the robotic working tool reaches the object. As is also shown in figure 5C, the moving object may be another robotic working tool.
[0158] In some embodiments, where the object is further classified, different actions may be taken based on the type of object.
[0159] As a skilled person would understand there are many options and variations possible, and as the exact function of the proactive collision avoidance is not at the heart of the teachings herein, no further details will be given except that there is a range R for the proactive collision avoidance within which range R the robotic working tool is arranged to perform Preventive Collision Avoidance.
[0160] The range R depends on a number of factors such as size of robotic working tool, speed of robotic working tool, size of operating area, and so on. Some examples of ranges are 1, 2, 3, 4,5 or any range R within 1 to 5 meters. Some examples may even be longer than 5 meters.
[0161] Figure 6A shows a schematic view of an example operating area 205, possibly one such as discussed in relation to figure 2. The operating area 205 is illustrated in this example as having four sub areas 205 A-D. As can be seen, a sub area may be defined by specific borders (physical or virtual) and / or may be defined as an area covering an intended work pattern for a robotic working tool. In the example of figure 6 A, the sub areas referenced 205A, 205B and 205C are defined by specific borders and the sub area referenced 205D is defined as the area covering an intended work pattern referenced P. The border for such an area is indicated or defined as the pattern, such as by the outermost segments of the pattern or by the pattern itself. A pattern may in some embodiments be defined by an intended, estimated or calculated path for travelling to execute the pattern.
[0162] As is also shown, a robotic working tool 100 is arranged or placed to operate in sub areas 205 A, 205B and 205D, but not in sub area 205C. As a skilled person would understand a robotic working tool may be present or planned to be present in a sub area 205 A-D when it is time for that sub area 205 A-D to be serviced by the robotic working tool 100. This may be according to a schedule or according to a physical allocation (placing) of the robotic working tool to the sub area 205A-D.
[0163] In figure 6A it is illustrated that one border of the sub area referenced 205 A is overlapping - at least partially - with a border of the sub area referenced 205B. Also illustrated is that - at least a portion of - one border of the sub area referenced 205C is within a distance dl of- at least a portion of - a border of the sub area referenced 205B. And, also illustrated is that - at least a portion of - an intended pattern for work in the sub area referenced 205D is within a distance d2 of - at least a portion of - a border of the sub area referenced 205B.
[0164] As the inventors have realized, during operation of a robotic working tool 100 in any of the sub areas 205 A, B and D there is a risk that the proactive collision avoidance will detect a robotic working tool operating in the sub area 205B and react accordingly. The opposite is also true, that the proactive collision avoidance of the robotic working tool operating in the sub area 205B will detect a robotic working tool operating in any of sub areas 205A, B and D and react accordingly. As such proactive collision avoidance may cause the robotic working tool(s) to slow down or stop until the risk of collision has been mitigated or removed, this will lead to a reduced efficiency, and may also result in deadlocks, as both robotic working tools may be waiting for the other to move away. An obvious solution would be to take evasive action for all detected potential collisions, but such an approach will result in uneven operating patterns, which will result in an uneven end-result. For a lawnmower, as an example, the end-result will be uneven and / or unwanted tracks in the cut grass.
[0165] The inventors are therefore proposing to proactively identify areas or zones where robotic working tools from different (or from the same) sub areas 205A-D are at a risk of detecting each other through proactive collision avoidance (or similar techniques) and to establish a single-machine-zone, for such zones during operation.
[0166] In some embodiments, the single machine zones are defined during planning of the work sessions, and later established during the work session(s) as will be discussed in greater detail in the below.
[0167] A zone is defined to be a risk zone if the borders of the two (sub) areas are overlapping or adjacent to one another. However, the inventors have further realized that there is also a risk for separate subareas, and a zone is thus also (or alternatively) defined as a risk zone if the borders of the two (or more areas) are at a distance d of each other (at least along a portion of either of the two borders) and that distance is within (as in smaller or equal to) the collision detection distance D.
[0168] In some embodiments the collision detection distance D is at least the range R of the distance sensor 190. In some such embodiments the collision detection distance D is at least the range R of the distance sensor 190 having the longest range R. In some embodiments the collision detection distance D is at least a factor multiplied with the range R of the distance sensor 190. The value of the factor depends on the robotic working tool and the proactive collision avoidance used. In some examples the factor is 1.2, 1.5, 2 or 2.5 or in any range in between. This allows for avoiding the proactive collision avoidance to be activated or triggered as the robotic working tools are not allowed to be close enough to one another.
[0169] In some embodiments, the risk zone is thus determined based on the borders of the sub area(s). In some such embodiments the risk zone is further determined based on a timing of when the sub areas will be serviced by a robotic working tool. If for example sub area 205C is not to be serviced at the same time as the sub area referenced 205B, there is also no risk for deadlocks. A single machine zone is defined to cover the risk zone and to have an extension e, which should be larger or equal to the extension of the risk zone. In the following the risk zone is regarded as a temporary definition, possibly part of defining or determining the single machine zone and will from now on be considered to be the same or included in the single machine zone.
[0170] The single machine zone, as the name implies, is a zone where only a single machine is allowed entry at any given time. As a robotic working tool approaches a single machine zone, the robotic working tool determines whether the single machine zone is currently occupied by another robotic working tool, and if so the robotic working tool halts and does not enter the single machine zone.
[0171] For embodiments where the robotic working tool is autonomous, the controller simply causes the robotic working tool to halt.
[0172] For embodiments where the robotic working tool is remote-controlled, the robotic working tool is caused to halt through that the commands of the remote control 116 are, in some embodiments, replaced by a stop command and further commands are inactivated as long as the robotic working tool is halting. The commands may be inactivated at the remote control 116 or as they are received by the robotic working tool. In some embodiments, the robotic working tool is caused to halt through that the operator is informed, possibly through the remote control that the robotic working tool is at a single machine zone and must wait for clearance, whereby the operator is trusted to operate the robotic working tool accordingly. In some embodiments, such embodiments are combined, for example so that the remote control is initially inactivated, and then reactivated as the operator has been made aware of the situation.
[0173] As the robotic working tool determines that the single machine zone is no longer occupied the robotic working tool enters the single machine zone. This determination is, in some embodiments, made by polling the server. Alternatively or additionally, The determination is, in some embodiments, made by the server informing the robotic working tool 100.
[0174] In some instances, there may be more than one robotic working tool waiting to enter the single machine zone. In one embodiment, the server informs (either by pushing information or by being polled by the robotic working tool) which robotic working tool enters next. In some alternative or additional embodiments, the robotic working tool receives a queue number indicating its position in a queue. As a robotic working tool leaves the single machine zone the server updates the queue numbers of the waiting robotic working tool(s) and when a queue number indicates a go-ahead, for example by reaching 0 or by given express allowance, the robotic working tool enters the single machine zone.
[0175] In some embodiments, the server updates the queue number by informing one or more of the waiting robotic working tool(s) to decrease their queue number. This allows for a simplified communication for example through a broadcast indicating that the robotic working tool occupying the single machine zone has exited the robotic working tool.
[0176] In some embodiments, the server updates the queue number by informing one or more of the waiting robotic working tool(s) of a new queue number. This allows for a prioritization enabling a robotic working tool to jump the queue.
[0177] As there may be more than one single machine zone, the single machine zones are in some embodiments assigned an identifier, which is used during determination of whether an single machine zone is occupied or not.
[0178] These embodiments with regards to updating queue numbers may be combined.
[0179] In some embodiment, the robotic working tool determines that the single machine zone is approached when the robotic working tool is at a distance (temporal or spatial distance) from the single machine zone. In some such embodiments, the robotic working tool is configured to slow down while approaching the single machine zone allowing for more time for determining whether the single machine zone is occupied or not.
[0180] In some embodiments, the robotic working tool determines that the single machine zone is approached when the robotic working tool is at the single machine zone. In some such embodiments, the robotic working tool is configured to halt while determining whether the single machine zone is occupied or not. Halting allows for ensuring that all communication between the server and robotic working tools have concluded so as to ensure a correct current occupancy of the single machine zone, taking communication delays into account. In some embodiments, the robotic work tool is configured to determine intersections of its work path with the single machine zone and to query the server to determine whether the single machine zone is occupied or not before reaching the intersection.
[0181] In some embodiments, the robotic working tool is aware of the borders of the single machine zone and makes the determination of approaching the single machine zone locally.
[0182] In some embodiments, the server holds data defining the borders of the single machine zone and makes the determination of the robotic working tool approaching the single machine zone by tracking the movements of the robotic working tool and informing the robotic working tool that a single machine zone is being approached. In some such embodiments, the server may inform the robotic working tool that the single machine zone is being approached only when the single machine zone is occupied. This allows for a more efficient operation as the robotic working tool will not slow down or halt in case of an empty single machine zone. The server is in some such embodiments arranged to determine possible conflicts of more than one robotic working tool approaching the single machine zone. IN such embodiments the server will inform one of the robotic working tools that the single machine zone is not occupied (possibly by issuing no notification which will enable the robotic working tool to continue unhindered) and the others that the single machine zone is occupied.
[0183] These embodiments with regards to approaching the single machine zone may be combined. As disclosed in the above the determination that a single machine zone is being approached and the determination whether the single machine zone is occupied may be made as the same determination.
[0184] Figure 6B shows a situation where work patterns (defining sub areas) are within a distance of one another and where there may be an overlap of single machine zones. Such overlap may cause a risk of deadlock. To reduce or mitigate the risk for deadlock in such situations, overlapping single machine zones may be divided into partial single machine zones which will enable robotic working tools to progress gradually. It should be noted that the example of figure 6B is for illustrative purposes and may not represent a situation that may occur in real-life. The single machine zone referenced 206-1 may represent a transport path for the upper robotic working tool. The single machine zone
[0185] In the example of figure 6B the upper robotic working tool 100 has entered the single machine zone referenced 206-1 and the left robotic working tool has entered the single machine zone referenced 206-2. This will result in that the left robotic working tool will not be able to continue on its path as the single machine zone referenced 206-2 is occupied and the upper robotic working tool must wait for the left robotic working tool to exit. However, the left robotic working tool is forced to halt as it is not allowed to enter the single machine zone referenced 206-1, as it is occupied by the upper robotic working tool. A deadlock has occurred. Similarly, the right robotic working tool is not allowed to continue either as the single machine zone referenced 206-2 is occupied, even though under the current situation there would be no risk of collision or slow down due to proactive collision avoidance.
[0186] In one embodiment, assuming that area 205C is being processed in entirety, there are three single machine zones: between 205A and 205B, between 205A and 205C and between 205B and 205C. They all overlap by a small section similar to 206-5 from Fig. 6C. I see that the figure "may not represent a situation that may occur in real life", but I am worried that it implies there is a (ever-moving?) zone around the robotic working tool in 205C.
[0187] The inventors have realized two manners, which may be supplementary, for resolving such situation. One manner is to give a robotic working tool clearance to continue when one or more robotic working tools are determined to be dead locked. A dead lock may be determined through analysis of single machine zone. Alternatively or additionally a dead lock may be determined when a first robotic working tool is waiting to enter a first single machine zone contingent on (such as occupied by) a second robotic working tool and the second robotic working tool waiting to enter an single machine zone contingent on (such as occupied by) the first robotic working tool. A contingency may also be present when there is a chain of event for several robotic working tools being contingent in turn on one another.
[0188] Another manner is to partition one or more of the (overlapping) single machine zones into partial single machine zones. In some embodiments two overlapping single machine zones are partitioned where they are overlapping. Figure 6C shows an example of how the single machine zones of figure 6B may be partitioned.
[0189] Here there are five (partial) single machine zones referenced 206-1 - 206-5. As can be seen, there will be no (or at least a significantly reduced) risk of deadlock.
[0190] In some embodiments, one or more single machine zones may be regarded as overlapping of they are within a collision detection distance D of one another, in the same manner as discussed with relation to defining risk zones for sub areas, where risk zones for single machine zones are determined and utilized for determining and establishing partial single machine zones.
[0191] As a partial single machine zone has been defined and established, they are operated as any single machine zone and there is no difference made in some embodiments. In such embodiments, the naming is mainly for explanatory purposes.
[0192] The teaching herein thus provide for to avoid deadlock scenarios by establishing single machine zones at these overlapping areas where only one robotic working tool is allowed to operate at a time. In some embodiments a planning module manages which robotic working tools are allowed to enter the zones such that no deadlock situations occur. In some embodiments the planning module resides and is executed by the controller of a robotic working tool 100. In some embodiments the planning module resides and is executed by the controller of a server 240. And in some embodiments the planning module resides and is executed by the controller of a robotic working tool 100 in combination with a controller of a server 240. In embodiments where the controller of the robotic working tool executes (at least a part of) the planning module, the server may be seen as comprised in the robotic working tool.
[0193] The planning module receives, as inputs, the initial site plan (showing individual work areas for each machine) and planned paths for the robotic working tools (possibly for a single work session or time interval during which the single machine zone will be valid).
[0194] Based on these inputs or parts of such inputs, the planning module identifies overlapping areas of the robotic working tools from the initial site plan. In some embodiments, areas where a proactive collision avoidance system may be activated are also identified. It should be noted that many robotic working tools that are arranged without a proactive collision avoidance system, may also benefit from the teachings herein as many such robotic working tools are arranged to cross a border before turning back, and during such excursions beyond a border, collisions or other situations that may lead to a deadlock scenario may occur. In such situations the safe collision distance D is the combined distances that the robotic working tools of two neighbouring areas may travel beyond the borders of the respective work areas.
[0195] Based on these risk areas single machine zones are created as discussed above.
[0196] Figure 7A shows a general flowchart according to a method of the teachings herein for use in a robotic working tool system, where wherein the method comprises determining 710 that the first robotic working tool is approaching a single machine zone and determining 720 whether the single machine zone is occupied or not. If the single machine zone is not occupied, the robotic working tool 730 enters the single machine zone, and if the single machine zone is occupied, the robotic working tool 740 halts outside the single machine zone. The method further comprises determining 750 that the single machine zone is no longer occupied, and in response thereto the robotic working tool enters 760 the single machine zone.
[0197] A robotic work tool system may thus in some embodiments be configured to perform the method according to figure 7A as discussed above for example in relation to figures 6 A, 6B and 6C.
[0198] Figure 7B shows a general flowchart according to a method of the teachings herein for use in a robotic working tool, where wherein the method comprises determining 710 that the first robotic working tool is approaching a single machine zone and determining 720 whether the single machine zone is occupied or not. If the single machine zone is not occupied, the robotic working tool 730 enters the single machine zone, and if the single machine zone is occupied, the robotic working tool 740 halts outside the single machine zone. The method further comprises determining 750 that the single machine zone is no longer occupied, and in response thereto the robotic working tool enters 760 the single machine zone.
[0199] A robotic work tool may thus in some embodiments be configured to perform the method according to figure 7B as discussed above for example in relation to figures 6 A, 6B and 6C. Figure 7C shows a general flowchart according to a method of the teachings herein for use in a server, where wherein the method comprises determining 710 that the first robotic working tool is approaching a single machine zone and determining 720 whether the single machine zone is occupied or not. If the single machine zone is not occupied, enabling the robotic working tool 730 to enter the single machine zone, and if the single machine zone is occupied, cause the robotic working tool 740 to halt outside the single machine zone. The method further comprises determining 750 that the single machine zone is no longer occupied, and in response thereto enabling the robotic working tool to enter 760 the single machine zone. A server may thus in some embodiments be configured to perform the method according to figure 7C as discussed above for example in relation to figures 6A, 6B and 6C.
Claims
CLAIMS1. A robotic working tool system for controlling operation of a first robotic working tool and a second robotic working tool in an operating area, the system comprising the first robotic working tool which is arranged to operate in a first sub area (205A-D) and the second robotic working tool which is arranged to operate in a second sub area (205A-d), and a server, wherein the server is arranged to establish a single machine zone and wherein the first robotic working tool is arranged to determine that the first robotic working tool is approaching the single machine zone, determine whether the single machine zone is occupied or not, and if not occupied, enter the single machine zone, and if occupied, halt outside the single machine zone and determine that the single machine zone is no longer occupied, and in response thereto enter the single machine zone.
2. The system according to claim 1, wherein either of the first robotic working tool and the second robotic working tool is arranged for proactive collision avoidance.
3. The system according to claim 1 or 2, wherein the robotic working tool is configured to determine that the first robotic working tool is approaching the single machine zone by receiving information defining a border of the single machine zone and detecting that the position of the robotic working tool is approaching the border of the single machine zone.
4. The system according to claim 1 or 2, wherein the robotic working tool is configured to determine that the first robotic working tool is approaching the single machine zone by receiving an indication thereof from the server.
5. The system according to claim 3, wherein the robotic working tool is configured to determine that the first robotic working tool is approaching the single machine zone and to determine whether the single machine zone is occupied or not by receiving the indication from the server.
6. The system according to any preceding claim, wherein the system is configured to define a single machine zone over a transport path for the second robotic working tool.
7. The system according to claim 6, wherein the system is further configured to determine that the transport path crosses a sub area assigned to the first robotic working tool and if so define the single machine zone over the transport path for the second robotic working tool.
8. The system according to claim 7, wherein the system is further configured to determine that the transport path crosses a first and a second sub area and if so define one single machine zone over the transport path for each of the sub areas.
9. The system according to any of claims 6 to 8, wherein the system is further configured to determine that the transport path crosses a second transport path if so define more than one single machine zone over the transport path so as to avoid overlapping single machine zones.
10. The system according to any previous claim, wherein the single machine zone is for an active transport path.
11. The system according to any previous claim, wherein the server (240) is configured to define the single machine zone12. The system according to claim 11, wherein the server (240) is configured to define the single machine zone during planning work sessions.
13. The system according to claim 11 or 12, wherein the server (240) is configured to define the single machine zone during operation.
14. The system according to any preceding claim, wherein the server is further configured to establish a single machine zone by determining that a portion of a border of the first sub area is within a collision detection distance (D) of a portion of a border of the second sub area.
15. The system according to claim 14, wherein the portion of a border of the first sub area is within a collision detection distance (D) of a portion of a border of the second sub area if the portions of borders are overlapping.
16. The system according to any of claims 14 or 15, wherein the first sub area is defined by an intended path and the border of the first sub area is defined by the path.
17. The system according to any of claims 14 to 16, wherein the server is further configured to establish a second single machine zone and to determine that the single machine zone and the second single machine zone overlaps or are within the collision detection distance of one another, and in response thereto partition the single machine zone and / or the second single machine zone into further single machine zones.
18. The system according to any previous claim, wherein the single machine zone is for a work session.
19. The system according to any previous claim, wherein the server (240) is configured to establish the single machine zone during planning work sessions.
20. The system according to any of preceding claim, wherein the server (240) is comprised in the first robotic working tool (100).
21. The system according to any previous claim, wherein the first robotic working tool is an autonomous robotic working tool.
22. The system according to any previous claim, wherein the first robotic working tool is a robotic lawnmower.
23. The system according to any previous claim, wherein the operational area is a domestic area.
24. The system according to any previous claim, wherein the operational area is a sports-field.
25. The system according to any of claims 1 to 21, wherein the first robotic working tool is a robotic floor grinder.
26. The system according to any of claims 1 to 20, wherein the first robotic working tool is a remote-controlled robotic working tool.
27. The system according to claim 26, wherein the first robotic working tool is configured to receive commands from a remote control (116) and wherein the first robotic working tool is configured to halt by the commands being inactivated.
28. The system according to claims 26 or 27, wherein the first robotic working tool is a demolition robot.
29. The system according to any of claims 26 to 28, wherein the operational area is a construction site.
30. A method for controlling operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area (205A-D) and the second roboticworking tool which is arranged to operate in a second sub area (205 A-D), wherein the method comprises determining that the first robotic working tool is approaching a single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, entering the single machine zone, and if occupied, halting outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto entering the single machine zone.
31. A robotic working tool for operating in an operating area, wherein robotic working tool is arranged to operate in a first sub area and wherein the first robotic working tool is arranged to determine that the first robotic working tool is approaching a single machine zone, determine whether the single machine zone is occupied or not, and if not occupied, enter the single machine zone, and if occupied, halt outside the single machine zone and determine that the single machine zone is no longer occupied, and in response thereto enter the single machine zone.
32. A method for a robotic working tool for operating in an operating area, wherein robotic working tool is arranged to operate in a first sub area and wherein the method comprises determining that the first robotic working tool is approaching a single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, entering the single machine zone, and if occupied,halting outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto entering the single machine zone.
33. A method for controlling operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area (205A-D) and the second robotic working tool which is arranged to operate in a second sub area (205 A-d), wherein the method comprises determining that the first robotic working tool is approaching a single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, entering the single machine zone, and if occupied, halting outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto entering the single machine zone.
34. A server for supervising operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area (205A-D) and the second robotic working tool which is arranged to operate in a second sub area (205 A-D), wherein the server is arranged to establish a single machine zone and wherein the server is further configured to determine that the first robotic working tool is approaching the single machine zone, determine whether the single machine zone is occupied or not, and if not occupied, enable the robotic working tool to enter the single machine zone, and if occupied,halt the robotic working tool outside the single machine zone and determine that the single machine zone is no longer occupied, and in response thereto enable the robotic working tool to enter the single machine zone.
35. A method for a server for supervising operation of a first robotic working tool and a second robotic working tool in an operating area, wherein the first robotic working tool which is arranged to operate in a first sub area (205 A-D) and the second robotic working tool which is arranged to operate in a second sub area (205A-D), wherein the method comprises establishing a single machine zone, determining that the first robotic working tool is approaching the single machine zone, determining whether the single machine zone is occupied or not, and if not occupied, enabling the robotic working tool to enter the single machine zone, and if occupied, halting the robotic working tool outside the single machine zone and determining that the single machine zone is no longer occupied, and in response thereto enabling the robotic working tool to enter the single machine zone.