Patent Description:
Grounds maintenance tasks are commonly performed using various tools and/or machines that are configured for the performance of corresponding specific tasks. Certain tasks, like snow or ice removal, are typically performed using manually operated tools or vehicles. More recently, robotic devices and/or remote controlled devices have also become options for consumers to consider. In a de-icing context, the robotic device would typically spread rock salt over a surface that is intended to be cleared. However, salt can damage vegetation and other surfaces or objects that come into contact with the rock salt. Moreover, spreading rock salt is not easy to control, so the potential for undesirable or unforeseeable damage is further expanded.

<CIT> describes a robotic orchard spraying system having an autonomous delivery vehicle, autonomously delivering an amount of a premixed solution over path, the path identified by a forward-looking sensor. The vehicle comprises a dispersal fan, attached to the vehicle, and coupled to the motive engine; and a solution pump attached to the vehicle chassis and coupled to the motive engine, wherein the solution pump pumps a premixed solution onto the dispersal fan.

<CIT> describes a smart nozzle assembly including a nozzle, a nozzle control mechanism, and camera rigidly attached to the nozzle for use with a mobile robot in an autonomous spray painting system. The nozzle control mechanism is configured to control flowrate, control the shape of the spray pattern, mix two or more colors, and clean dried paint at the nozzle tip. The nozzle assembly further includes a process for running software to manage or initiate the nozzle control mechanism's functionality and to provide the nozzle calibration. The calibration method for the nozzle uses an algorithm that measures the spray pattern, the distribution of paint within the spray pattern, and the relative position of the nozzle and camera. The distribution of paint within the spray pattern is measured in terms of physical quantity of delivered paint per unit area.

<CIT> describes a controller configured for data communication with a robot comprising a spray gun. The controller can receive data from the robot including camera data for a video feed, laser rangefinder data and data from the spray gun. The controller can also generate on a display a spray pattern based on the data for example range finder data overlaid on video.

<CIT> describes a robotic vehicle for operating in a confined space, such as under a floor of a building, for example a house. The vehicle comprises a chassis, a spray gun mounted to the chassis and arranged to spray a material on a surface of the confined space. A sensor is mounted to the chassis, the sensor being a directional sensor responsive to an environment of the sensor and for outputting sensor data. The sensor is mounted for motorised movement between a first position for capturing data indicative of a property of the spray gun, a second position for capturing further data indicative of a property of the robotic vehicle, and a third position where the sensor is protected by a cover portion of the robotic vehicle.

Accordingly, it may be desirable to provide additional options for servicing or maintaining grounds that overcome some of the difficulties described above.

Some example embodiments now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all example embodiments are shown. Indeed, the examples described and pictured herein should not be construed as being limiting as to the scope, applicability or configuration of the present disclosure. Rather, these example embodiments are provided so that this disclosure will satisfy applicable legal requirements. Furthermore, as used herein, the term "or" is to be interpreted as a logical operator that results in true whenever one or more of its operands are true. As used herein, operable coupling should be understood to relate to direct or indirect connection that, in either case, enables functional interconnection of components that are operably coupled to each other.

A robotic deicer, may be an example of a robotic vehicle capable of performing deicing functions over an area that is defined by a boundary or other means. The robotic deicer may be configured to apply a deicing solution (i.e., not rock salt) within the boundary to ensure that the entire bounded area is relatively free of ice or snow. A boundary wire may be one way to define the boundary. However, since a boundary wire can be difficult to install in some areas, other strategies may be employed in some cases. For example, global positioning system (GPS), dead reckoning, local positioning beacons, physical boundaries or even visual fixing relative to various structural markers may alternatively be employed to locate and retain the robotic vehicle within the boundary. A robotic vehicle (e.g., a robotic deicer) may therefore be provided that can operate and stay within boundaries that can be defined by any of a number of different ways. Moreover, the robotic vehicle may be intelligent enough to avoid (and possibly even classify) objects it encounters by employing contactless sensors. Yet further, in some cases, the robotic vehicle may be configured to learn boundary locations, or sub-locations, based on temporary or permanent indicia. The robotic vehicle may then also be cognizant of its position within the boundary, including areas already covered (or treated) and areas still left to be covered (or treated). By enabling the robotic vehicle to accurately determine its position and experience its surroundings in a more advanced way, the robotic vehicle may experience greatly expanded capabilities with respect to the performance of functions of the robotic vehicle inside the bounded area. For example, the robotic vehicle may accurately apply deicing solution with greater precision both in terms of the rate or density of coverage, and with respect to matching application of deicing solution more accurately to the boundaries of the area being treated.

<FIG> illustrates an example operating environment for a robotic vehicle <NUM> that may be employed as a deicing robot in connection with an example embodiment. However, it should be appreciated that example embodiments may be employed on numerous other robotic vehicles, so the robotic vehicle <NUM> should be recognized as merely one example of such a vehicle. The robotic vehicle <NUM> may operate to apply a deicing solution on a service area <NUM> (i.e., a parking lot, walkway or other surface) enclosed by a boundary <NUM>. The boundary <NUM> may be defined using one or more physical boundaries (e.g., a fence, wall, curb, boundary wire and/or the like), or programmed location based boundaries or combinations thereof. When the boundary <NUM> is detected, by any suitable means, the robotic vehicle <NUM> may be informed so that the robotic vehicle <NUM> can operate in a manner that prevents the robotic vehicle <NUM> from leaving or moving outside the boundary <NUM>.

In the example of <FIG>, the service area <NUM> includes a main portion, which may be a parking lot and a walkway <NUM>. The walkway <NUM> is separated from the main portion of the service area <NUM> by a transition region <NUM>, which in this case happens to be stairs. The stairs may not be traversable by the robotic vehicle <NUM> and may define an impassible region between the driving surface of the main portion, and the walking surface of the walkway <NUM>. However, in other cases, the transition region <NUM> could be passable (e.g., forming a ramp or other surface). Notably, the walkway <NUM> has a limited (or much smaller) width relative to the main portion of the service area <NUM>. Thus, the main portion of the service area <NUM> may be treated or covered via a plurality of overlapping passes made by the robotic vehicle <NUM>, whereas the walkway <NUM> may be treated or covered with a single pass or two passes dependent upon the width of the coverage area defined by the robotic vehicle <NUM>. In this regard, the robotic vehicle <NUM> may have a lateral coverage area (e.g., spray width) that is defined by the characteristics of the spray nozzle (or nozzles) used by the robotic vehicle <NUM>. By knowing the lateral coverage area of the robotic vehicle <NUM>, the number of passes needed to cover the main portion of the service area <NUM> and/or the walkway <NUM> may be determined.

The robotic vehicle <NUM> may be controlled, at least in part, via control circuitry <NUM> located onboard relative to the application of deicing fluid from a storage tank <NUM>. The control circuitry <NUM> may include, among other things, a positioning module and a sensor module, which will be described in greater detail below. Accordingly, the robotic vehicle <NUM> may utilize the control circuitry <NUM> to define a path (or series of paths) for coverage of the service area <NUM> in terms of performing a task over specified portions or the entire service area <NUM>. In this regard, the positioning module may be used to guide the robotic vehicle <NUM> over the service area <NUM> and to ensure that full coverage (of at least predetermined portions of the service area <NUM>) is obtained, while the sensor module may detect objects and/or gather data regarding the surroundings of the robotic vehicle <NUM> while the service area <NUM> is traversed.

If a sensor module is employed, the sensor module may include a sensors related to positional determination (e.g., a GPS receiver, an accelerometer, a camera, a radar transmitter/detector, an ultrasonic sensor, a laser scanner and/or the like). Thus, for example, positional determinations may be made using GPS, inertial navigation, optical flow, radio navigation, laser or light detection and ranging (LIDAR) visual location (e.g., VSLAM) and/or other positioning techniques or combinations thereof. Accordingly, the sensors may be used, at least in part, for determining the location of the robotic vehicle <NUM> relative to boundaries or other points of interest (e.g., a starting point or other key features) of the service area <NUM>, or determining a position history or track of the robotic vehicle <NUM> over time. The sensors may also detect collision, tipping over, or various fault conditions. In some cases, the sensors may also or alternatively collect data regarding various measurable parameters (e.g., moisture, humidity, temperature, surface conditions, etc.) associated with particular locations on the service area <NUM>.

In an example embodiment, the robotic vehicle <NUM> may be battery powered via one or more rechargeable batteries. Accordingly, the robotic vehicle <NUM> may be configured to return to a charging station <NUM> that may be located at some position on or adjacent to the service area <NUM> in order to recharge the batteries. The batteries may power a drive system and a spray control system of the robotic vehicle <NUM>. However, the control circuitry <NUM> of the robotic vehicle <NUM> may selectively control the application of power or other control signals to the drive system and/or the spray control system to direct the operation of the drive system and/or spray control system. Accordingly, movement of the robotic vehicle <NUM> over the service area <NUM> may be controlled by the control circuitry <NUM> in a manner that enables the robotic vehicle <NUM> to systematically traverse the service area <NUM> while operating the spray control system to apply deicing fluid stored in the robotic vehicle <NUM> over the service area <NUM>. In cases where the robotic vehicle <NUM> is not a deicer, the control circuitry <NUM> may be configured to control another functional or working assembly that may replace the spray control system.

In some embodiments, the control circuitry <NUM> and/or a communication node at the charging station <NUM> may be configured to communicate wirelessly with an electronic device <NUM> (e.g., a personal computer, a cloud based computer, server, mobile telephone, PDA, tablet, smart phone, and/or the like) of a remote operator <NUM> (or user) via wireless links <NUM> associated with a wireless communication network <NUM>. The wireless communication network <NUM> may provide operable coupling between the remote operator <NUM> and the robotic vehicle <NUM> via the electronic device <NUM>, which may act as a remote control device for the robotic vehicle <NUM> or may receive data indicative or related to the operation of the robotic vehicle <NUM> to enable consumption of information or provision of instructions for the robotic vehicle <NUM> or charging station <NUM> at the electronic device <NUM>. However, it should be appreciated that the wireless communication network <NUM> may include additional or internal components that facilitate the communication links and protocols employed. Thus, some portions of the wireless communication network <NUM> may employ additional components and connections that may be wired and/or wireless. For example, the charging station <NUM> may have a wired connection to a computer or server that is connected to the wireless communication network <NUM>, which may then wirelessly connect to the electronic device <NUM>. As another example, the robotic vehicle <NUM> may wirelessly connect to the wireless communication network <NUM> (directly or indirectly) and a wired connection may be established between one or more servers of the wireless communication network <NUM> and a PC of the remote operator <NUM>. In some embodiments, the wireless communication network <NUM> may be a data network, such as a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) (e.g., the Internet), and/or the like, which may couple the robotic vehicle <NUM> to devices such as processing elements (e.g., personal computers, server computers or the like) or databases. Accordingly, communication between the wireless communication network <NUM> and the devices or databases (e.g., servers, electronic device <NUM>, control circuitry <NUM>) may be accomplished by either wireline or wireless communication mechanisms and corresponding protocols.

<FIG> illustrates a block diagram of various components of the control circuitry <NUM> to illustrate some of the components that enable or enhance the functional performance of the robotic vehicle <NUM> and to facilitate description of an example embodiment. In some example embodiments, the control circuitry <NUM> may include or otherwise be in communication with a vehicle positioning module <NUM>, and a detection module <NUM> (e.g., for detecting objects, borders and/or the like). The vehicle positioning module <NUM> and the detection module <NUM> may work together to give the robotic vehicle <NUM> a comprehensive understanding of its environment, and enable it to be operated autonomously with or without boundary wires.

In an example embodiment, the vehicle positioning module <NUM> and the detection module <NUM> may be part of a sensor network <NUM> of the robotic vehicle <NUM>. However, in some cases, the vehicle positioning module <NUM> and the detection module <NUM> may be separate from, but in communication with, the sensor network <NUM> to facilitate operation of each respective module. The control circuitry <NUM> may further include or otherwise be in communication with a measuring manager <NUM>, a flow controller <NUM> and a calibration module <NUM>, as described in greater detail below.

In some examples, the sensor network <NUM> may include a camera other imaging device, a moisture detector, humidity detector, and/or a thermometer or other ambient or surface temperature sensor. The camera may capture or record image data in the visible light spectrum or in other portions of the electromagnetic spectrum (e.g., IR camera). The robotic vehicle <NUM> may also include one or more functional components of a spray assembly <NUM> (described in greater detail below), which may be controlled by the control circuitry <NUM> or otherwise be operated in connection with the operation of the robotic vehicle <NUM>. Although not shown in <FIG>, other functional components of the robotic vehicle <NUM> may include a wheel assembly (or other mobility assembly components), a fluid tank (which may be part of the spray assembly), and/or other such devices.

The control circuitry <NUM> may include processing circuitry <NUM> that may be configured to perform data processing or control function execution and/or other processing and management services according to an example embodiment of the present invention. In some embodiments, the processing circuitry <NUM> may be embodied as a chip or chip set. In other words, the processing circuitry <NUM> may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The processing circuitry <NUM> may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single "system on a chip. " As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.

In an example embodiment, the processing circuitry <NUM> may include one or more instances of a processor <NUM> and memory <NUM> that may be in communication with or otherwise control a device interface <NUM> and, in some cases, a user interface <NUM>. As such, the processing circuitry <NUM> may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., with hardware, software or a combination of hardware and software) to perform operations described herein. However, in some embodiments, the processing circuitry <NUM> may be embodied as a portion of an on-board computer. In some embodiments, the processing circuitry <NUM> may communicate with electronic components and/or sensors of the robotic vehicle <NUM> via a single data bus. As such, the data bus may connect to a plurality or all of the switching components, sensory components and/or other electrically controlled components of the robotic vehicle <NUM>. However, it should be noted that the processing circuitry <NUM> may be located at other locations in the system, or may even be distributed in some cases. Thus, for example, in some cases, the processing circuitry <NUM> and corresponding functions described herein may be located at a remote server (or the electronic device <NUM>), and some of the calculations or determinations described herein may be performed thereat. Communication via the wireless communication network <NUM> may then enable functions involving remote calculations or determinations to be performed locally at the charging station <NUM> or the robotic vehicle <NUM>.

The processor <NUM> may be embodied in a number of different ways. For example, the processor <NUM> may be embodied as various processing means such as one or more of a microprocessor or other processing element, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or the like. In an example embodiment, the processor <NUM> may be configured to execute instructions stored in the memory <NUM> or otherwise accessible to the processor <NUM>. As such, whether configured by hardware or by a combination of hardware and software, the processor <NUM> may represent an entity (e.g., physically embodied in circuitry - in the form of processing circuitry <NUM>) capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor <NUM> is embodied as an ASIC, FPGA or the like, the processor <NUM> may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor <NUM> is embodied as an executor of software instructions, the instructions may specifically configure the processor <NUM> to perform the operations described herein.

In an example embodiment, the processor <NUM> (or the processing circuitry <NUM>) may be embodied as, include or otherwise control the vehicle positioning module <NUM>, the detection module <NUM>, the measuring manager <NUM>, the flow controller <NUM>, the calibration module <NUM> and/or the spray assembly <NUM>. As such, in some embodiments, the processor <NUM> (or the processing circuitry <NUM>) may be said to cause each of the operations described in connection with the vehicle positioning module <NUM>, the detection module <NUM>, the measuring manager <NUM>, the flow controller <NUM>, the calibration module <NUM> and/or the spray assembly <NUM> by directing the vehicle positioning module <NUM>, the detection module <NUM>, the measuring manager <NUM>, the flow controller <NUM>, the calibration module <NUM> and/or the spray assembly <NUM>, respectively, to undertake the corresponding functionalities responsive to execution of instructions or algorithms configuring the processor <NUM> (or processing circuitry <NUM>) accordingly. These instructions or algorithms may configure the processing circuitry <NUM>, and thereby also the robotic vehicle <NUM>, into a tool for driving the corresponding physical components for performing corresponding functions in the physical world in accordance with the instructions provided.

In an exemplary embodiment, the memory <NUM> may include one or more nontransitory memory devices such as, for example, volatile and/or non-volatile memory that may be either fixed or removable. The memory <NUM> may be configured to store information, data, applications, instructions or the like for enabling the vehicle positioning module <NUM>, the detection module <NUM>, the measuring manager <NUM>, the flow controller <NUM>, the calibration module <NUM> and/or the spray assembly <NUM> to carry out various functions in accordance with exemplary embodiments of the present invention. For example, the memory <NUM> could be configured to buffer input data for processing by the processor <NUM>. Additionally or alternatively, the memory <NUM> could be configured to store instructions for execution by the processor <NUM>. As yet another alternative, the memory <NUM> may include one or more databases that may store a variety of data sets responsive to input from various sensors or components of the robotic vehicle <NUM>. Among the contents of the memory <NUM>, applications may be stored for execution by the processor <NUM> in order to carry out the functionality associated with each respective application.

The applications may include applications for controlling the robotic vehicle <NUM> relative to various operations including determining an accurate position of the robotic vehicle <NUM> (e.g., using one or more sensors of the vehicle positioning module <NUM>). Alternatively or additionally, the applications may include applications for controlling the robotic vehicle <NUM> relative to various operations including determining the existence and/or position of obstacles (e.g., static or dynamic) and borders relative to which the robotic vehicle <NUM> must navigate (e.g., using one or more sensors of the detection module <NUM>). Alternatively or additionally, the applications may include applications for controlling the robotic vehicle <NUM> relative to various operations including application of deicing fluid over the service area <NUM> during operation of the robotic vehicle <NUM> relative to the service area <NUM>.

The user interface <NUM> (if implemented) may be in communication with the processing circuitry <NUM> to receive an indication of a user input at the user interface <NUM> and/or to provide an audible, visual, mechanical or other output to the user. As such, the user interface <NUM> may include, for example, a display, one or more buttons or keys (e.g., function buttons), and/or other input/output mechanisms (e.g., microphone, speakers, cursor, joystick, lights and/or the like).

The device interface <NUM> may include one or more interface mechanisms for enabling communication with other devices either locally or remotely. In some cases, the device interface <NUM> may be any means such as a device or circuitry embodied in either hardware, or a combination of hardware and software that is configured to receive and/or transmit data from/to sensors or other components in communication with the processing circuitry <NUM>. In some example embodiments, the device interface <NUM> may provide interfaces for communication of data to/from the control circuitry <NUM>, the vehicle positioning module <NUM>, the detection module <NUM>, the measuring manager <NUM>, the flow controller <NUM>, the nozzle classifier <NUM>, the sensor network <NUM>, the spray assembly <NUM> and/or other functional components via wired or wireless communication interfaces in a real-time manner, as a data package downloaded after data gathering or in one or more burst transmission of any kind.

Each of the vehicle positioning module <NUM>, the detection module <NUM>, the measuring manager <NUM>, the flow controller <NUM>, and the calibration module <NUM> may be any means such as a device or circuitry embodied in either hardware, or a combination of hardware and software that is configured to perform the corresponding functions described herein. Thus, the modules may include hardware and/or instructions for execution on hardware (e.g., embedded processing circuitry) that is part of the control circuitry <NUM> of the robotic vehicle <NUM>. The modules may share some parts of the hardware and/or instructions that form each module, or they may be distinctly formed. As such, the modules and components thereof are not necessarily intended to be mutually exclusive relative to each other from a compositional perspective.

The vehicle positioning module <NUM> (or "positioning module") may be configured to utilize one or more sensors (e.g., of the sensor network <NUM>) to determine a location of the robotic vehicle <NUM> and direct continued motion of the robotic vehicle <NUM> to achieve appropriate coverage of the service area <NUM>. As such, the robotic vehicle <NUM> (or more specifically, the control circuitry <NUM>) may use the location information to determine a vehicle track and/or provide full coverage of the service area <NUM> to ensure the entire parcel is deiced (or otherwise serviced). The vehicle positioning module <NUM> may therefore be configured to direct movement of the robotic vehicle <NUM>, including the speed and direction of the robotic vehicle <NUM>. The vehicle positioning module <NUM> may also employ such sensors to attempt to determine an accurate current location of the robotic vehicle <NUM> on the service area <NUM>. The vehicle positioning module <NUM> may further enable the control circuitry <NUM> to determine an amount of deicing fluid applied to each portion of the service area <NUM> as described in greater detail below.

Various sensors of sensor network <NUM> of the robotic vehicle <NUM> may be included as a portion of, or otherwise communicate with, the vehicle positioning module <NUM> to, for example, determine vehicle speed/direction, vehicle location, vehicle orientation and/or the like. Sensors may also be used to determine motor run time, machine work time, and other operational parameters. In some embodiments, positioning and/or orientation sensors (e.g., GPS receiver, real time kinematic (RTK) - GPS receiver, GLONASS, Galileo, GNSS, and/or the like and/or an accelerometer) may be included to monitor, display and/or record data regarding vehicle position and/or orientation as part of the vehicle positioning module <NUM>. The sensor network <NUM> may also include devices for measuring ambient temperature, surface temperature, moisture, humidity, nozzle differential pressure, pump pressure, flow rate, and other values pertinent to the operation of the robotic vehicle <NUM>.

In an example embodiment, the detection module <NUM> may be configured to utilize one or more sensors (e.g., of the sensor network <NUM>) to detect objects and/or boundaries that are located in the area around the robotic vehicle <NUM> to enable the robotic vehicle <NUM> to identify the objects or boundaries with or without physically contacting them. Thus, the detection module <NUM> may enable object avoidance as well as allow the robotic vehicle <NUM> to avoid contact with boundaries, buildings, fences, and/or the like while covering the service area <NUM>. As such, the robotic vehicle <NUM> (or more specifically, the control circuitry <NUM>) may object/boundary detection information to alter a track of the robotic vehicle <NUM> and/or report impediments to providing full coverage of the service area <NUM>. The detection module <NUM> may therefore be configured to detect static (i.e., fixed or permanent) and/or dynamic (i.e., temporary or moving) objects in the vicinity of the robotic vehicle <NUM>. In some cases, the detection module <NUM> may be further configured to classify or identify the objects detected (e.g., by type, as known or unknown, as static or dynamic objects, as specific objects, and/or the like). Moreover, in some cases, the detection module <NUM> may interact with the vehicle positioning module <NUM> to utilize one or more objects to facilitate positioning or boundary definition for the robotic vehicle <NUM>.

Various sensors of sensor network <NUM> of the robotic vehicle <NUM> may be included as a portion of, or otherwise communicate with, the detection module <NUM> to, for example, determine the existence of objects, determine range to objects, determine direction to objects, classify objects, and/or the like. The detection module <NUM> may also or alternatively enable the robotic vehicle <NUM> to determine precipitation conditions such as the existence of rain, snow, sleet or ice based on temperature, humidity and/or moisture detection sensors.

The measuring manager <NUM> may be configured to receive, process and/or communicate various values measured by the sensor network <NUM> such as, for example, vehicle speed/direction, vehicle location, vehicle orientation, ambient temperature, surface temperature, humidity, moisture, differential pressure, flow and/or other measurements made by the robotic vehicle <NUM>. Moreover, in some example embodiments, the measuring manager <NUM> may store measurements made (e.g., in the memory <NUM>) in order to enable historical analysis of information stored and/or to enable trends to be determined and calibration to be performed by the calibration module <NUM>. In this regard, for example, the measuring manager <NUM> may be configured to store information on flow rates (directly or indirectly measured) to determine when flow rates are changing or have changed by predetermined amounts. The aging of components, clogging of components or wearing of components over time may impact the operation of such components. Thus, for example, flow rates may change over time as a function of the impacts of the changes mentioned above thereby rendering flow rate measurements inaccurate, and consequently also rendering estimates as to how much deicing solution has been applied to be inaccurate. This can lead to too much or too little deicing solution being applied to the service area <NUM>.

The flow controller <NUM> may be configured to determine the flow rate of application of deicing solution so that the density of application of the deicing solution can be known and/or controlled. In this regard, in some cases, the flow controller <NUM> may be used to calculate a rate of application of the deicing solution or solution density that is desirable based on weather conditions and/or weather forecasts. The application rate or solution density could be consistent over the entire service area <NUM>, or may change for different parts of the service area <NUM> (e.g., the walkway <NUM> or the transition region <NUM>). Start and end times for the application of deicing solution may also be determined by the flow controller <NUM> based on current conditions (e.g., measured at the sensor network <NUM> of the robotic vehicle <NUM> itself during transit of the service area <NUM> or while docked at the charging station <NUM>) or forecasted conditions. In some cases, the flow controller <NUM> may be a part of the spray assembly <NUM>. However, in other examples, the spray assembly <NUM> and flow controller <NUM> may be separate components, and may be capable of communication with each other.

In an example embodiment, the flow controller <NUM> may include executable applications, tables or equations that configure the flow controller <NUM> to determine, for provided weather forecasts or estimates of temperature, precipitation and corresponding time periods for which the temperature and precipitation will be applicable, the density of deicing solution that should be applied and/or timing of such application. The flow controller <NUM> may also be configured to interface with various components of the robotic vehicle <NUM> as discussed in greater detail below in order to control the flow rate or density of application of the deicing solution while the robotic vehicle <NUM> traverses the service area <NUM>.

The calibration module <NUM> may be configured to calibrate the spray assembly <NUM> (e.g., the nozzle or nozzles thereof) to ensure that deicing solution waste does not occur, and that underspraying also does not occur. In this regard, with accurate flow measurement by the measuring manager <NUM>, as discussed in greater detail below, the calibration module <NUM> may be configured to automatically and periodically conduct calibration of flow rate on the fly in order to maximize spraying accuracy at all times. The calibration module <NUM> may also or alternatively utilize activities that involve interaction with the user to conduct calibration activities. For example, the user may fill the deicing solution to a calibrated fill line in the storage tank <NUM>. The time it takes to empty the storage tank <NUM> (e.g., to a predefined level or completely) may then be measured (e.g., by the measuring manager <NUM>) to determine the flow rate. The determined flow rate may then be compared to the measured flow rate in order to calibrate the measuring devices involved in measuring the flow rate (e.g., of the measuring manager <NUM> and sensor network <NUM>).

<FIG> is a block diagram of the charging station <NUM> of an example embodiment. The charging station <NUM> may include a charge interface <NUM>, which includes structures and electronic components to interface with a power source <NUM> and a battery <NUM> of the robotic vehicle <NUM> in order to charge the battery <NUM> from the power source <NUM>. The charging station <NUM> and the charge interface <NUM> may be arranged to enable the robotic vehicle <NUM> to drive into or proximate to the charging station <NUM> and engage with the charge interface <NUM> when parked in or at the charging station <NUM>. For example, the robotic vehicle <NUM> may be guided or otherwise enter into proximity with the charging station <NUM> in a manner that engages charging contacts on the charge interface <NUM> and the robotic vehicle <NUM> to enable power from the power source <NUM> to be used to charge the battery <NUM> of the robotic vehicle <NUM>. However, wireless charging of the battery <NUM> is also possible in some example embodiments where the charge interface <NUM> is configured to wireless charging.

In some cases, the charging station <NUM> may also be capable of communication (wired or wireless) with the robotic vehicle <NUM> to exchange information with and/or provide instructions to the robotic vehicle <NUM>. In this regard, for example, the charging station <NUM> may include a communication interface <NUM> that is capable of wireless or wired communication with the control circuitry <NUM>. The communication may include the provision of instructions to the robotic vehicle <NUM> and/or extraction of data from the robotic vehicle <NUM>. In some cases, the data extracted may include sensor data obtained by the sensor network <NUM>, and such data may be communicated to the electronic device <NUM> via the wireless communication network <NUM> (via wireless links <NUM>).

In an example embodiment, the charging station <NUM> may include a controller <NUM>. The controller <NUM> may include processing circuitry, which may be similar in form or structure (or at least functional capability) to the processing circuitry <NUM> described above in connection with the description of <FIG>. Thus, the details of the structure and function of the controller <NUM> will not be repeated. The controller <NUM> may be configured to control communications associated with the communication interface <NUM> and/or control operations of the charge interface <NUM>. However, in some cases, the charging station <NUM> may not include the communication interface <NUM> and/or the controller <NUM>. In such examples, the corresponding components of the charging station <NUM> may be operated manually or locally by the operator.

In an example embodiment, the charging station <NUM> may also be configured to provide the deicing solution to the robotic vehicle <NUM>. Thus, for example, the deicing solution may be transferred to the storage tank <NUM> of the robotic vehicle <NUM> while the robotic vehicle <NUM> is charging (or at least while the robotic vehicle <NUM> is operably coupled to the charging station <NUM>). The transfer of deicing solution to the storage tank <NUM> may therefore happen simultaneous with charging, or sequentially before or after charging of the battery <NUM>. A mixing assembly <NUM> may be included at the charging station <NUM> to enable mixing and creation of the deicing solution prior to provision of the deicing solution to the storage tank <NUM>.

The mixing assembly <NUM> may include a mixing powder store <NUM>, which may be a tank, container, or other holding apparatus in which a mixing powder (or simply "powder") or other dry mixing material that mixes with water (or another liquid medium) to form the deicing solution in a mix tank <NUM>. In an example embodiment water provision to the mix tank <NUM> may be controlled by a valve assembly <NUM> of the mixing assembly <NUM>. The valve assembly <NUM> may include electronically (or manually) controlled valves that direct flow from a water source <NUM> into the mix tank <NUM>. Alternatively or additionally, the valve assembly <NUM> may be used to control flow from the mix tank <NUM> to the storage tank <NUM> and/or within the mix tank <NUM>.

In some examples, the water source <NUM> may be attached to the mix tank <NUM> or the valve assembly <NUM> via a hose connection <NUM>. The hose connection <NUM> may be a common water hose, or may be heated to prevent freezing in cold temperatures. If not heated, the hose connection <NUM> may be manually attached for filling from the water source <NUM> and then disconnected thereafter in order to avoid freezing of water in the hose connection <NUM>. The valve assembly <NUM> may include a fill alignment in which the valves of the valve assembly <NUM> are positioned to enable water to flow from the water source <NUM> (e.g., a spigot attached to a pressurized water supply) to the mix tank <NUM>. In some cases, such flow may transition through the mixing powder store <NUM> to transfer the mixing powder therein into the mix tank <NUM>. However, in other cases, the valve assembly <NUM> may include one or more valves that can be aligned to allow the mixing powder to fall into the mix tank <NUM> (e.g., via gravity). In still other cases, the operator may simply pour or add the mixing powder directly into the mix tank <NUM> so that no mixing powder store <NUM> is needed at all.

Alternatively or additionally, the valve assembly <NUM> may have a transfer alignment in which the valves of the valve assembly <NUM> are positioned to enable deicing solution to flow from the mix tank <NUM> to the storage tank <NUM>. Flow may be driven by a pump <NUM> of the mixing assembly <NUM>. As yet another alternative or addition, the valve assembly <NUM> may have a freshening or mixing alignment in which valves of the valve assembly <NUM> are positioned to enable deicing solution to flow internally in the mix tank <NUM>. The mixing alignment may, in some cases, rely on the pump <NUM> of the mixing assembly <NUM> to provide motive force for moving deicing solution within the mix tank <NUM>. The movement of deicing solution in the mixing alignment may ensure proper mixing of the mixing powder with water to form the deicing solution. The movement of deicing solution may also prevent settling of the mixing powder, or otherwise prevent the mixing powder from coming out of solution, to keep the deicing solution properly mixed and ready for use. Yet another potential advantage of the movement of the deicing solution in the mixing alignment may be to prevent freezing of the deicing solution in very low temperatures. However, in some examples, a heater <NUM> may be provided at the mix tank <NUM> in order to heat the solution therein and prevent freezing.

As can be appreciated from the description above, the deicing solution may be prepared at the charging station <NUM> for transfer to the robotic vehicle <NUM> during charging of the battery <NUM> of the robotic vehicle <NUM>. However, it may also be possible to arrange the charging station <NUM> to interface directly with the storage tank <NUM> while the robotic vehicle <NUM> is docked at the charging station <NUM>. In such an example, the storage tank <NUM> may, while docked, be operably coupled to the valve assembly <NUM>, pump <NUM>, and/or mixing powder store <NUM> instead of the mix tank <NUM>. Thus, for example, the storage tank <NUM> and mix tank <NUM> may effectively be the same component when the robotic vehicle <NUM> is docked.

<FIG> illustrates a block diagram of components of the spray assembly <NUM> in greater detail, and <FIG> illustrates a schematic view of portions of the spray assembly <NUM> in greater detail. In this regard, the spray assembly <NUM> may include a nozzle receiver <NUM> having a slot <NUM> inside which a nozzle <NUM> may be retained or received. The slot <NUM> may also include a nozzle interface <NUM> including contacts, components and/or the like for enabling electrical interface with the nozzle <NUM> for flow rate determinations. The spray assembly <NUM> may also include a pump <NUM> configured to pump deicing solution from the storage tank <NUM> through the pump <NUM> and out the nozzle <NUM> to be applied to the service area <NUM>.

Although flow rate of the nozzle <NUM> could be determined with a single sensor (e.g., a pressure sensor), the accuracy of the sensor may decrease as components wear or become damaged or clogged. The nozzle interface <NUM> may therefore include a differential pressure sensor <NUM> that may be disposed on either side of an orifice having a known diameter. Using Bernoulli's principal along with known user selected fluid properties, it may be possible to calculate the flow rate more accurately, and in such a way that component wear, damage or clogging does not reduce the accuracy of the measurement. In the example of <FIG>, the differential pressure sensor <NUM> may measure a difference in pressure across a restriction (e.g., a venturi contraction) formed in the nozzle <NUM>, and having a known diameter. The differential pressure sensor <NUM> may therefore also be a portion of the sensor network <NUM>, and may communicate measurements to the measuring manager <NUM>. The measuring manager <NUM> may take the raw data and calculate a flow rate for sharing with the flow controller <NUM> and/or the calibration module <NUM>.

In an example embodiment, the flow controller <NUM> may be configured to control the pump <NUM> and/or the speed of the robotic vehicle <NUM> in order to control the application rate of the deicing solution and therefore the density of the deicing solution applied to the service area <NUM>. Although not required, the nozzle interface <NUM> may also include an in-line component to measure the flow out of the nozzle <NUM>. Accordingly, for example, a microswitch or reed switch <NUM> may be placed in the outgoing stream from the nozzle <NUM>. The reed switch <NUM> may be enabled to detect when spray is exiting the nozzle <NUM> about a threshold amount, the reed switch <NUM> may be activated to provide feedback to the measuring manager <NUM> to indicate that the nozzle <NUM> is properly working to eject spray therefrom. The reed switch <NUM> may be mounted outside the flow path, but may include an extension portion that be spring loaded, or otherwise be a flexible component, and extended into the flow path so that the extension portion is only activated in the presence of sufficient flow to deflect the extension portion and overcome biasing that otherwise maintains the reed switch <NUM> in a rest (deactivated) position. Given that pressure sensors or flow detectors may become unreliable as the deicing material (which may be slightly corrosive) passes therethrough for a long period of time, the reed switch <NUM> may provide a cost effective way to provide accurate feedback regarding the operability of the nozzle <NUM>.

<FIG> illustrates a perspective view of the robotic vehicle <NUM> in accordance with an example embodiment. <FIG>, which is defined by <FIG>, illustrates side views of the robotic vehicle <NUM>. As shown in <FIG> and <FIG>, the robotic vehicle <NUM> may include a chassis <NUM> supported by a mobility assembly <NUM>. In this example, the mobility assembly <NUM> includes continuous tracks. However, other means of propulsion may be employed in alternative embodiments (e.g., wheels). The robotic vehicle <NUM> may include a charging interface <NUM> disposed at one end thereof (e.g., a front end) and the nozzle <NUM> may be disposed at another end thereof (e.g., a rear end). The charging interface <NUM> may include one or more contacts that come into slidable contact with the charge interface <NUM> of the charging station <NUM> when the robotic vehicle <NUM> docks in the charging station <NUM>.

<FIG> and <FIG> illustrate a spray pattern <NUM> that may result from expelling the deicing solution from the nozzle <NUM>. The spray pattern <NUM> may have a width (W) that is measured transversely with respect to the longitudinal centerline of the robotic vehicle <NUM> and a thickness (T) that is measured in the same direction as the longitudinal centerline of the robotic vehicle <NUM>. As shown in <FIG> and <FIG>, the width (W) is substantially larger than the thickness (T). The spray pattern <NUM> may have a general shape determined by the nozzle <NUM> and the amount of pressure generated by the pump <NUM>. As can be appreciated from the descriptions above, by knowing the flow rate of deicing solution through the nozzle <NUM>, and further knowing the speed of the robotic vehicle <NUM> over the service area <NUM>, a density or amount of deicing solution applied to the overall surface of the service area <NUM> may likewise be known. Moreover, the density or amount of deicing solution applied can also be controlled by controlling one or both of the pressure of the pump <NUM> and the speed of movement of the robotic vehicle <NUM>.

As noted above, the pressure generated by the pump <NUM> may dictate the shape (and therefore the width (W) and/or the thickness (T) of the spray pattern <NUM>. Accordingly, the flow controller <NUM> may be configured to select a pump pressure based on location within the service area <NUM> to achieve desired spray pattern characteristics. As an example, to minimize the number of passes it takes to cover the main portion of the service area <NUM>, a high pump pressure may be selected. However, for the walkway <NUM>, a pump pressure may be selected to achieve the most efficient and/or accurate coverage of the walkway <NUM>. Thus, for example, if the width (W) of the spray pattern <NUM> can range from <NUM> feet to <NUM> feet, and the walkway <NUM> has a width of <NUM> feet, the flow controller <NUM> may select a maximum pump pressure to achieve a <NUM> foot width (W) for the spray pattern <NUM> to cover the walkway accurately with a single pass. However, if the walkway <NUM> has a width of <NUM> feet, the flow controller <NUM> may strategically select a medium pump pressure to achieve a <NUM> foot width (W) for the spray pattern <NUM> to cover the walkway accurately with exactly two passes.

The measuring manager <NUM> may gather information associated with (and therefore also determine) the flow rate. The measuring manager <NUM> may also gather information associated with the speed of the robotic vehicle <NUM>. The measuring manager <NUM> may provide such information to the flow controller <NUM> to enable the flow controller <NUM> to determine instructions to either the pump <NUM> or the positioning module <NUM> (or both) to provide control over the density of the application of the deicing solution.

In an example embodiment, the nozzle <NUM> may have a fixed orientation similar to the orientation shown in <FIG>. Thus, the spray pattern <NUM> may extend behind the robotic vehicle <NUM> as the robotic vehicle <NUM> moves about the service area <NUM>. However, it may also be possible to place the nozzle <NUM> in the front of the robotic vehicle <NUM> and/or to have the orientation of the nozzle <NUM> be variable or movable. <FIG> illustrates an example in which the nozzle <NUM> can be rotated (e.g., via the nozzle interface <NUM>) in orientation to direct the spray pattern <NUM> not just downward (as shown in <FIG> and <FIG>). In this regard, as shown in <FIG>, the nozzle <NUM> may rotate to form an angle (A1) with respect to a line normal to the ground over which the robotic vehicle <NUM> operates. The nozzle <NUM> may even be rotated to form angle (A2), which may be nearly horizontal (i.e., nearly perpendicular to the line normal to the ground). The nozzle interface <NUM> may include a small motor to automatically rotate the nozzle <NUM>, or may include different rotational positions that the operator can manually adjust to achieve the desired angle for spraying. For example, the operator may loosen a retaining nut to free the nozzle <NUM> to be rotated about an axis parallel to the ground, and then tighten the retaining nut when the desired angle is achieved.

By adjusting the nozzle <NUM> to or beyond the angles (A1) and (A2), areas beyond the immediate vicinity of the robotic vehicle <NUM> can be sprayed. Thus, for example, the robotic vehicle <NUM> may reach areas like the transition region <NUM> of <FIG>. Thus, for example, the robotic vehicle <NUM> may back up to the edge of the transition region <NUM> (which cannot be traversed by the robotic vehicle <NUM>). The robotic vehicle <NUM> may then rotate the nozzle <NUM> as shown in <FIG> to reach the entirety of the stairs that form the transition region <NUM>. In some cases, the pressure of the pump <NUM> may be increased as the angle increases (e.g., with max pressure for the situation shown in <FIG>) in order to increase the distance that the spray pattern <NUM> can be projected to fully cover stairs or other non-traversable transition regions.

<FIG> illustrates a block diagram of information processing that may occur at the flow controller <NUM> in accordance with an example embodiment. In this regard, the flow controller <NUM> may receive speed information in the form of either or both of odometer speed <NUM> and GPS data <NUM> from the measuring manager <NUM>. The GPS data <NUM> may also or alternatively include location information, so the flow controller <NUM> may have information indicative of the specific locations already covered by the robotic vehicle <NUM>. The flow controller <NUM> may further be provided with spray flow rate <NUM> as determined by the measuring manager <NUM>. By knowing the spray flow rate <NUM>, the speed and location of the robotic vehicle <NUM> and the spray pattern <NUM>, the flow controller <NUM> can determine which portions of the service area <NUM> have already been covered with deicing solution, and by how much. Moreover, if programmed or instructed to apply a specific amount of deicing solution to certain locations or areas, the flow controller <NUM> may instruct the pump <NUM> and/or positioning module <NUM> to change speed or pump pressure to achieve the desired spray flow rate <NUM> and corresponding time spent at each location to achieve the corresponding specific amount of deicing solution at each location or area.

In this regard, as shown in <FIG>, region A <NUM> may have a first prescribed solution density and region B <NUM> may have a second prescribed solution density that is lower than the first prescribed solution density. If the speed of the robotic vehicle <NUM> is constant while traversing regions A <NUM> and B <NUM>, the flow controller <NUM> may direct the pump <NUM> to increase pump pressure (e.g., by increasing operating speed of the pump <NUM>) while traversing region A <NUM> to correspondingly increase the application rate of the deicing solution in region A <NUM>. In region B <NUM>, a lower pump pressure may cause a lower application rate of the deicing solution. Meanwhile, if the pump <NUM> has a fixed speed or output pressure, the flow controller <NUM> may direct the positioning module <NUM> to slow the speed of the robotic vehicle <NUM> in region A so that region A <NUM> receives a higher amount of the deicing solution than region B <NUM>. As noted above, combinations of controlling the pump <NUM> and the positioning module <NUM> may also be employed in some cases.

<FIG> illustrates a block diagram of operation of a robotic vehicle in a system according to an example embodiment. Thus, for example, <FIG> shows various operations that may be executed by the control circuitry <NUM> of the robotic vehicle <NUM>. However, in some cases, the controller <NUM> of the charging station <NUM> or even a remote server or computer may perform the actions of <FIG> and then send operational instructions to the robotic vehicle <NUM> accordingly, to drive operations of the robotic vehicle <NUM>. Moreover, in some examples, the flow controller <NUM> may perform the calculations and determinations discussed in reference to <FIG>. In any case, the operations may constitute an application including executable instructions that are executed by processing circuitry (e.g., processing circuitry <NUM> of <FIG>) either at the charging station <NUM> or at the robotic vehicle <NUM>.

The operations (or application) may include the initial receipt of a weather report associated with a location (e.g., based on GPS) of the service area <NUM> at operation <NUM>. A determination may then be made as to whether or not a freeze is in the forecast at operation <NUM>. If no freeze is forecast, the robotic vehicle <NUM> may park or remain parked at the charging station <NUM> at operation <NUM>. However, if a freeze is forecast, then a determination may be made of solution application estimates at operation <NUM>. The solution application estimates may be generated based on the freeze forecast including an estimated time at which the freezing temperatures will start, a projected change in temperature over a range of applicable times, and precipitation forecast in terms of when, how much, and what type of precipitation to expect. The solution application estimates may then include, based on the weather data described above, corresponding amounts and timing for application of deicing solution.

In some cases, the processing circuitry may further be provided with historical information <NUM> and temperature sensor information <NUM> for showing current temperatures. The historical information <NUM> may be used to weight likely outcomes based on historical performance, and the temperature sensor information <NUM> may be used to ensure that real temperatures track with those projected since microclimates may exist in certain locations that cause changes relative to forecasts for the general area. If historical information <NUM> and/or temperature sensor information <NUM> track with the weather report received, more confidence may be placed in the weather report for calculation of the solution application estimates. However, if historical information <NUM> and/or temperature sensor information <NUM> do not track with the weather report received, less confidence may be placed in the weather report for calculation of the solution application estimates and, for example, modifications upward or downward may be made to adjust the solution application estimates.

The solution application estimates may include an estimated start time of application of deicing solution, a density for each region of the service area <NUM>, and/or a periodicity for repeated application of layers of the deicing solution (if applicable). Thus, the processing circuitry may determine when and how much deicing solution to apply to the service area <NUM>. After the start time is determined, the robotic vehicle <NUM> may wait for the start time to occur. Filling of the deicing solution (if not already done) may be accomplished at this time. At operation <NUM>, a determination may be made as to whether a start time (either for initial application or a periodic application) is reached. If not, the robotic vehicle <NUM> may wait (e.g., docked at the charging station <NUM>) at operation <NUM> until the start time is reached. If the start time is reached, then application of the deicing solution <NUM> may be commenced by the robotic vehicle <NUM> commencing the spraying of the deicing solution while traversing the service area <NUM> under control of the positioning module <NUM> and flow controller <NUM>.

While traversing the service area <NUM>, the sensor network <NUM> may measure data at operation <NUM>. The data measured may include precipitation amounts, ambient temperature, surface temperature, etc. A determination may then be made at operation <NUM> as to whether a change (e.g., larger than a threshold amount of change) from the initial solution application estimates is appropriate. In this regard, for example, if the measured ambient temperature is much higher or lower than initially forecast or measured, or if much more or no moisture is detected contrary to initial forecast or measurement, then a change to the solution application estimates may be appropriate and flow may cycle back to operation <NUM> for recalculation of the solution application estimates. Otherwise, if no change (at least within a threshold) is detected, then a determination may be made at operation <NUM> as to whether coverage of the service area <NUM> is complete. If not, then flow may cycle back to operation <NUM> for continued application of the deicing solution. Otherwise, if coverage is complete, then flow may cycle to operation <NUM> and the robotic vehicle <NUM> may park to wait for the next cycle of operation.

Notably, instead of deicing solution, the same strategies and considerations discussed above could alternatively be employed for the spreading of other liquid solutions. Thus, for example, fertilizer, weed killer, pre-emergent, insecticide, water or other solutions could be sprayed using example embodiments. A simple substitution of the corresponding solution for the deicing solution described above may be employed to utilize the robotic vehicle <NUM> in each of various different useful solution spreading contexts.

In an example embodiment, a robotic vehicle may be provided. The robotic vehicle may include a chassis supporting a storage tank in which an aqueous solution is contained, a mobility assembly operably coupled to the chassis to provide mobility for the robotic vehicle about a service area, a positioning module configured to provide guidance for the robotic vehicle during transit of the robotic vehicle over the service area, a spray assembly and control circuitry. The spray assembly may be operably coupled to the storage tank to spray the aqueous solution during the transit of the robotic vehicle over the service area. The control circuitry may be operably coupled to the spray assembly and positioning module. The control circuitry may also be configured to adjust characteristics of the spray assembly or speed of the mobility assembly to control an amount of the aqueous solution applied to the service area.

Claim 1:
A robotic vehicle (<NUM>) configured for spreading an aqueous solution such as deicing solution (<NUM>), fertilizer, weed killer, pre-emergent, insecticide, or water over a service area (<NUM>), the robotic vehicle (<NUM>) comprising:
a chassis (<NUM>) supporting a storage tank (<NUM>) in which the aqueous solution is contained;
a mobility assembly (<NUM>) operably coupled to the chassis (<NUM>) to provide mobility for the robotic vehicle (<NUM>) about a service area (<NUM>);
a positioning module (<NUM>) configured to provide guidance for the robotic vehicle (<NUM>) during transit of the robotic vehicle (<NUM>) over the service area (<NUM>);
a spray assembly (<NUM>) operably coupled to the storage tank (<NUM>) to spray the aqueous solution during the transit of the robotic vehicle (<NUM>) over the service area (<NUM>); and
control circuitry (<NUM>) operably coupled to the spray assembly (<NUM>) and positioning module (<NUM>), the control circuitry (<NUM>) being configured to adjust characteristics of the spray assembly (<NUM>) or speed of the mobility assembly (<NUM>) to control an amount of the aqueous solution applied to the service area (<NUM>,)
the spray assembly (<NUM>) comprising a pump (<NUM>) operably coupled to the storage tank (<NUM>), a nozzle (<NUM>) operably coupled to the storage tank (<NUM>) via the pump (<NUM>) to generate a spray pattern (<NUM>) for spraying the aqueous solution responsive to operation of the pump (<NUM>) as the robotic vehicle (<NUM>) transits the service area (<NUM>), and a flow controller (<NUM>), wherein the flow controller (<NUM>) includes processing circuitry (<NUM>), and is configured to adjust the characteristics of the pump (<NUM>) or speed of the robotic vehicle (<NUM>) to control the amount of the aqueous solution applied to the service area (<NUM>);
characterised in that
the spray assembly (<NUM>) comprises a nozzle interface (<NUM>) that is configured to measure a differential pressure across an orifice of a known diameter of the nozzle (<NUM>) of the spray assembly (<NUM>) to determine a flow rate of the aqueous solution; and
the nozzle interface (<NUM>) comprising a reed switch or micro-switch (<NUM>) operably coupled to a component in a flow path of the aqueous solution exiting the nozzle (<NUM>) to positively confirm flow of the aqueous solution from the nozzle (<NUM>) via a feedback signal provided to the control circuitry (<NUM>).