Robot mower
By designing a robot lawn mower equipped with advanced sensors and processing circuits, the existing system has insufficient flexibility in adapting to different lawn environments and operating modes, and efficient and flexible mowing operations are achieved.
Patent Information
- Application Number
- CN202380072948.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-14
- Filing Date
- 2023-09-13
- Publication Date
- 2025-05-27
AI Technical Summary
The existing autonomous lawn mower systems and robot lawn mower systems have shortcomings in adapting to different lawn environments, cannot be adjusted quickly, and the operating mode is not flexible enough.
A robot lawn mower is designed, equipped with a traction motor system, blade motor system, sensors and processing circuits, which can automatically adjust the operating mode according to user input, detect and avoid obstacles in the lawn, and realize the settings of boundary and mowing mode through the user interface.
Improves mowing efficiency, reduces labor costs and wear of lawn mowers, enhances operational flexibility, and improves efficiency in service operations on lawns.
Smart Images

Figure CN120051203A_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority to U.S. Patent Application No. 63 / 406,580, filed on September 14, 2022, the entire disclosure of which is incorporated herein by reference. Background Art
[0003] Powered lawn mowers are provided in several different forms, including push mowers and riding mowers. Push mowers can be manually pushed by an operator or, in some cases, self-propelled based on input from the operator at the handle of the mower. Riding mowers are self-propelled and include a seat or standing platform for carrying the operator during mowing. Recently, autonomous lawn mowers have been introduced. Summary of the Invention
[0004] Autonomous lawn mowers or robotic lawn mowers generally operate without the operator actually touching the mower during operation. For example, the mower can include sensors and control logic to automate various aspects of the mower's operation. However, existing autonomous lawn mower systems and robotic lawn mower systems and their associated functions are either too simple or too complex for various applications. For example, some existing robotic lawn mowers, whether simple or complex, may require strict setup and planning for a specific lawn and may not be able to quickly adapt to another lawn. Additionally, existing robotic lawn mowers are not flexible enough and do not include various manual and autonomous modes. The robotic lawn mowers and associated systems and methods described herein overcome the deficiencies of existing systems and provide improved mowing efficiency (and thus help reduce labor costs and reduce wear on the mower), improved operational flexibility, and improved service operations for mobile professionals (such as landscaping businesses, etc.) and other advantages.
[0005] Some embodiments of the present disclosure provide a robotic lawn mower, which includes a traction motor system, a blade motor system, sensors that generate data related to the operation of the robotic lawn mower, wheels driven by the traction motor system for moving and rotating the robotic lawn mower, blades driven by the blade motor system for mowing the lawn, and a processing circuit. The processing circuit is configured to receive user input from a user device, where the user input is received from the user via a user interface presented on the user device, and the user input indicates a boundary and a mowing mode of the robotic lawn mower; operate the wheels and blades of the robotic lawn mower via control of the traction motor system and the blade motor system according to the user input, such that the robotic lawn mower trims the lawn at the location based on the boundary and the mowing mode; detect obstacles in the lawn based on the data generated by the sensors; and operate the wheels of the robotic lawn mower via control of the traction motor system, such that the robotic lawn mower avoids obstacles in the lawn and continues to trim the lawn based on the boundary and the mowing mode.
[0006] In some examples, the robotic lawn mower further includes a handle that moves between a first position and a second position, where when the handle is in the first position, the user uses the handle to guide the robotic lawn mower, and where when the handle is in the second position, the robotic lawn mower operates without the user's guidance at the handle. In some examples, the processing circuit includes a microcontroller for receiving data from the sensors and operating the wheels and blades of the robotic lawn mower; and a computing device for receiving data from the sensors from the microcontroller, generating commands for operating the wheels and blades of the robotic lawn mower based on the data from the sensors, and providing the commands to the microcontroller. In some examples, the processing circuit is configured to save a map of the lawn at the location in a memory and use the map of the lawn at the location to trim the lawn at the location. In some examples, the processing circuit is further configured to determine the location of the robotic lawn mower by communicating with a beacon. In some examples, the beacon is installed in a vehicle or trailer for transporting the robotic lawn mower, or the beacon is placed in the lawn by the user. In some examples, the processing circuit is further configured to determine the location of the robotic lawn mower by communicating with one or more satellites.
[0007] Some embodiments of the present disclosure provide a method. The method includes identifying, by a controller of a robotic lawn mower, a first location where the robotic lawn mower has been deployed; receiving, by the controller, information about the surrounding environment at the first location; controlling, by the controller based on a first user input received from a user via a user interface, the robotic lawn mower to mow a lawn at the first location, where the first user input indicates a first planned path followed by the robotic lawn mower to mow the lawn at the first location; and identifying, by the controller, a second location where the robotic lawn mower has been deployed.
[0008] In some examples, the method further includes receiving, by the controller, information about the surrounding environment at the second location; and controlling, by the controller based on a second user input received from the user via the user interface, the robotic lawn mower to mow the lawn at the second location, where the second user input indicates a second planned path followed by the robotic lawn mower to mow the lawn at the second location. In some examples, receiving information about the surrounding environment at the first location includes receiving a boundary. In some examples, the method further includes detecting, by the controller based on data generated by sensors on the robotic lawn mower, an obstacle in the lawn at the first location; and operating, by the controller, wheels of the robotic lawn mower such that the robotic lawn mower avoids the obstacle. In some examples, the method further includes moving, by the controller, a handle between a first position and a second position based on whether the user provides guidance to the robotic lawn mower via a handle of the robotic lawn mower or without using the handle. In some examples, identifying the first location where the robotic lawn mower has been deployed includes communicating with a beacon installed in a vehicle or trailer used to transport the robotic lawn mower or placed in the lawn by a user. In some examples, identifying the first location where the robotic lawn mower has been deployed includes communicating with one or more satellites.
[0009] Some embodiments of the present disclosure provide a robotic lawn mower. The robotic lawn mower includes a traction motor system, a blade motor system, sensors configured to generate data associated with the operation of the robotic lawn mower, wheels driven by the traction motor system for moving and turning the robotic lawn mower, blades driven by the blade motor system for mowing the lawn, and a processing circuit. The processing circuit is configured to identify a first location where the robotic lawn mower has been deployed; receive information about the surrounding environment at the first location; control, based on a first user input received from a user via a user interface, the robotic lawn mower to mow the lawn at the first location, where the first user input indicates a first planned path followed by the robotic lawn mower to mow the lawn at the first location; and identify a second location where the robotic lawn mower has been deployed.
[0010] Some embodiments of the present disclosure provide a method. The method includes receiving, by a controller of a robotic lawn mower, user input from a user device, the user input being received from the user via a user interface presented on the user device, the user input indicating a boundary and a mowing pattern of the robotic lawn mower; operating, by the controller based on the user input, wheels and blades of the robotic lawn mower via control of a traction motor system and a blade motor system such that the robotic lawn mower trims a lawn at the location based on the boundary and the mowing pattern; detecting, by the controller, an obstacle in the lawn based on data generated by a sensor coupled to the controller; and operating, by the controller via control of the traction motor system, wheels of the robotic lawn mower such that the robotic lawn mower avoids the obstacle in the lawn and continues to trim the lawn based on the boundary and the mowing pattern. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and, together with the description, explain the principles of the embodiments.
[0012] Figure 1 is an illustration showing an example robotic lawn mower.
[0013] Figure 2 is a block diagram showing example components of a robotic lawn mower Figure 1 thereof.
[0014] Figures 3A - 3B is an illustration showing functions associated with a handle of a robotic lawn mower Figure 1 thereof.
[0015] Figure 4 is an illustration showing a lawn at an example location where a robotic lawn mower Figure 1 thereof can be used.
[0016] Figure 5 is an illustration showing an example global positioning system involving satellite communication with a robotic lawn mower Figure 1 thereof.
[0017] Figure 6 is an illustration showing an example real-time kinematic positioning system that can be used with a robotic lawn mower Figure 1 thereof.
[0018] Figure 7 is an illustration showing another example real-time kinematic positioning system that can be used with a robotic lawn mower Figure 1 thereof.
[0019] Figure 8 is an illustration showing a robotic lawn mower that can be used with Figure 1Illustration of an example ultrasonic / radar sensor system for use with a robotic lawn mower.
[0020] Figure 9 is an illustration showing an example LIDAR scan that can be generated by a Figure 1 robotic lawn mower.
[0021] Figure 10 is an illustration showing an example camera image that can be generated by a Figure 1 robotic lawn mower.
[0022] Figures 11A - 11C is an illustration showing the components of an example beacon system that can be used with a Figure 1 robotic lawn mower.
[0023] Figure 12 is an illustration showing different example mowing patterns that can be implemented using a Figure 1 robotic lawn mower.
[0024] Figure 13 is a flowchart showing the mobile mowing process that can be implemented using a Figure 1 robotic lawn mower. DETAILED DESCRIPTION
[0025] A robotic lawn mower can act as an assistant to a mobile professional and travel between different locations with the mobile professional. The robotic lawn mower includes various sensors for identifying the location of the robotic lawn mower and for detecting obstacles in the path of the robotic lawn mower. A user of the robotic lawn mower can provide user input via a user interface presented on a user device to affect the operation of the robotic lawn mower. For example, the user input can include boundaries, mowing patterns, and / or a planned path for the robotic lawn mower to follow. The robotic lawn mower can operate under the direct (manual) guidance of the user or without the direct guidance of the user, allowing the user to perform various tasks (e.g., other landscaping and lawn care services) while the robotic lawn mower continues to autonomously mow the lawn at the location. The robotic lawn mower can include a handle that moves between positions based on whether the user provides direct guidance to the robotic lawn mower. The robotic lawn mower can provide more dynamic functionality than simple methods such as inductive loop boundary lines and is less expensive and more compact than more complex fixed methods.
[0026] Figure 1FIG. 0 is a diagram showing an example robotic lawn mower 100. The robotic lawn mower 100 generally performs lawn mowing and trimming operations without being directly operated by a person, at least for a period of time during the mowing process. By using the robotic lawn mower 100, mobile professionals such as landscaping businesses, lawn care businesses, and other similar types of businesses, and combinations thereof, can reduce their workforce size and improve service operations. For example, instead of requiring two employees to travel to a location (e.g., a residence, a commercial building) and work at that location, only one employee can travel to that location and work at that location to complete lawn care and other services. Thus, the robotic lawn mower 100 can be used to reduce labor requirements (e.g., fewer employees are needed) and lower labor costs, while also providing more efficient and customizable lawn care services to various customers. In some implementations, the platform size of the robotic lawn mower is between 30 and 33 inches so that it can pass through a standard door. Figure 1 The diagram of the robotic lawn mower provided in FIG. is an example prototype, and various variations of the design shown in FIG. Figure 1 are contemplated within the scope of the present disclosure.
[0027] Figure 2 FIG. 8 is a block diagram illustrating example components of the robotic lawn mower 100. Figure 2 The block diagram in FIG. also shows different systems and devices that can communicate with the robotic lawn mower 100. As Figure 2 shown in FIG., the robotic lawn mower 100 includes various components, including a processing circuit 102, a memory 104, sensors 106, a blade 108, wheels 110, a battery 112, a traction motor system 114, a blade motor system 116, and a communication interface 118. Additionally, as Figure 2 shown in FIG., the robotic lawn mower 100 communicates with a user device 210, one or more positioning devices 220, and a controller 230.
[0028] The processing circuit 102 (also referred to as the controller of the robotic lawn mower 100) can generally include any suitable type of data processing hardware components and combinations thereof. For example, the processing circuit 102 can be implemented using various different types of processing components and circuits and / or combinations thereof, including various types of microprocessors, central processing units (CPUs), graphics processing units (GPUs), and other computing devices. In some implementations, the processing circuit 102 includes both a Teensy 4.0 microcontroller and a mini - PC, which can provide advantages particularly for mobile professional applications due to the combination of processing resources and cost provided. The processing circuit 102 can generally process various different types of data, including user input provided via the user device 210, positioning and location data provided by the positioning device 220, data provided by the controller 230, and data provided by the sensors 106, the traction motor system 114, and the blade motor system 116. The processing circuit can use this data to identify the location where the robotic lawn mower 100 has been deployed, affect the operation of the robotic lawn mower 100 (e.g., mow according to boundaries, mowing patterns, planned paths, avoid obstacles, etc.), and generally operate the robotic lawn mower 100. One or more components of the processing circuit 102, such as the mini - PC, can use the open - source Robot Operating System (ROS) to manage and interpret data. The processing circuit 102 can perform signal processing using signal processing techniques such as the Extended Kalman Filter (EKF), Moving Horizon Estimation (MHE), and other similar components. The processing circuit 102 can also perform different types of obstacle detection and map - building algorithms, as well as path - planning and decision - making algorithms. The processing circuit 102 can also perform a positioning algorithm that can be an independent software module.
[0029] Memory 104 can generally be implemented using any one or more suitable types of memory, including read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, other non-transitory computer-readable media, and / or various combinations thereof. Data stored in memory 104, including instructions for performing various operations using robotic mower 100, can be generated by wireless devices (e.g., smart phones, laptop computers, tablet computers, etc., such as user device 210), one or more servers, sensors 106, traction motor system 114, blade motor system 116, and other systems and devices. Some of the data stored in memory 104 can be loaded onto robotic mower 100 during manufacturing, while other data can be stored in memory 108 during the operating life of robotic mower 100. Memory 104 can store historical data associated with different locations, including information about the surrounding environment of the location (e.g., location of obstacles, elevation, type of grass, and other landscaping), previous paths (routes) taken to complete lawn mowing at the location, preferences associated with the location (e.g., mowing pattern, mowing height, etc.), and other historical data. At least some of this historical data can be stored on one or more servers and downloaded by robotic mower 100 to memory 104 as needed.
[0030] The sensor 106 can include various different types of sensors and combinations thereof used in the operation of the robotic lawn mower 100. It should be appreciated that certain combinations of the sensors 106 as contemplated in the present disclosure can provide advantages to the mobile professional in terms of cost and functionality. The selection of the sensors 106 for implementing the robotic lawn mower 100 can provide the robotic lawn mower with the ability to move between locations and operate as an assistant to the mobile professional. The sensor 106 can, for example, include a Global Positioning System Real Time Kinematic (GPS-RTK) sensor module and components (e.g., including a receiver for receiving signals from a Global Navigation Satellite System (GNSS) and real-time kinematic information to account for errors or interference in the signals generated by the satellites), an Inertial Measurement Unit (IMU), such as a three-degree-of-freedom (DOF) magnetometer or a 9-DOF IMU for generating data indicative of specific forces, angular rates, and orientations, a rotary encoder, a camera (e.g., a Red Green Blue (RGB) camera, a depth camera, a wide-angle camera, etc.), a Light Detection and Ranging (LIDAR) sensor utilizing lasers (e.g., one-dimensional (1D), two-dimensional (2D), three-dimensional (3D), 360-degree, etc.), an ultrasonic sensor and a radar sensor, a temperature sensor, a presence sensor, a pressure sensor, a humidity sensor, and other types of sensing components, devices, and systems. The sensor 106 generates and provides data used by the robotic lawn mower 100 to navigate in its environment, e.g., to avoid obstacles, detect boundaries, and follow a planned path.
[0031] The blade 108 can generally be implemented using various suitable types of blades for mowing grass and performing other types of landscaping functions. For example, depending on the intended application, the blade 108 can be implemented using a straight blade, a low-lift blade, a high-lift blade, a mulching blade, a gator blade, and other types of blades and combinations thereof. The blade 108 can generally be driven by a blade motor system 116 to rotate with a certain force such that the blade 108 can mow grass, trim the lawn, and perform other types of landscaping functions. In some implementations, the sensor 106 can generate data indicative of the operation of the blade 108, and the processing circuit 102 can use the data to ensure the proper operation of the blade 108. Additionally, the height of the blade 108 can be adjusted automatically or based on user input to control, for example, the degree to which the grass in the lawn is cut.
[0032] The wheel 110 can generally be implemented using various different types of wheels and their combinations. For example, in some implementations, the robotic lawn mower 100 includes a pair of matching rear wheels and a pair of matching front wheels, where the rear wheels are larger than the front wheels. The front wheels can be implemented using casters (e.g., a wheel assembly including a wheel and a mounting bracket coupled to the wheel), and the rear wheels can be independently driven. The wheel 110 can generally rotate and revolve to facilitate the movement of the robotic lawn mower 100. The wheel 110 can be driven by a traction motor system 114 to control the movement of the robotic lawn mower 100, such as to avoid obstacles, detect boundaries, and follow a planned path. The sensor 106 can generate data indicative of the operation of the wheel 110, such that the robotic lawn mower 100 can maintain expected operating parameters. Each wheel 110 or each driven wheel 110 can have a dedicated encoder for generating a signal indicative of the position of the wheel or be associated with the dedicated encoder. For example, each motor of the traction motor system 114 can include a rotary encoder or one or more Hall sensors to indicate the position of the rotor of the motor, which can indicate the position of the wheel 110 corresponding to the motor.
[0033] The battery 112 can be implemented using various suitable types of batteries and their combinations. For example, the battery 112 can be a lithium-ion battery, a lithium iron phosphate (LFP) battery, and other similar types of batteries that can serve as a power source for the robotic lawn mower 100 and its various components. In some examples, the battery 112 is a power tool battery pack that can be selectively inserted into or removed from a corresponding battery port (or battery ports) on the robotic lawn mower 100, or two or more power tool battery packs. When removed from the lawn mower 100, the power tool battery pack can be received by and power other power tools (e.g., impact drills, circular saws, drill presses, job site lighting, etc.). Each battery port of the robotic lawn mower 100 can be configured to be electrically and mechanically coupled to a battery pack serving as the battery 112. Since the robotic lawn mower 100 is battery-powered, it can offer advantages in terms of noise reduction and environmental benefits compared to the gasoline internal combustion engines that can be used for other lawn mowers. The battery 112 can also allow for a lighter lawn trimming device, which can reduce the chance of potential damage to the lawn. The robotic lawn mower 100 can include a charging circuit and a power cord for coupling to an external power source (e.g., a standard alternating current (AC) wall outlet), and can charge the battery 112 between uses.
[0034] The traction motor system 114 can be implemented using various suitable components and can provide different functions according to the application. For example, the traction motor system 114 can include an inverter, one or more encoders, a driver (e.g., a brushless motor driver), a stator, a rotor, a shaft, and other suitable components and combinations thereof. The traction motor system 114 can generate power to drive the wheels 110 by rotating and turning the wheels 110, thereby controlling the movement of the robotic lawn mower 100. The traction motor system 114 can receive control signals from the processing circuit 102 and use these control signals to control the motor operation. In some implementations, the traction motor system 114 can send encoder speed readings to the processing circuit 102 and receive configuration and motor control commands from the processing circuit 102 via a Universal Asynchronous Receiver-Transmitter (UART) interface.
[0035] In some examples, the traction motor system 114 includes a left traction motor and a right traction motor, where the left traction motor is configured to drive the left rear wheel 110 of the lawn mower 100, and the right traction motor is configured to drive the right rear wheel 110. The left traction motor and the right traction motor can be independently controlled by the processing circuit 102. For example, the processing circuit 102 can generate corresponding Pulse Width Modulation (PWM) drive signals for the respective inverters for each of the left traction motor and the right traction motor. Generally, for straight driving, the processing circuit 102 can provide PWM drive signals with equal duty cycles to both the left inverter for the left traction motor and the right inverter for the right traction motor; to turn the lawn mower to the left, the processing circuit 102 can provide a PWM drive signal with a lower duty cycle to the left inverter for the left traction motor and a PWM drive signal with a higher duty cycle to the right inverter for the right traction motor (to make the right rear wheel 110 rotate faster than the left rear wheel 110); and to turn the lawn mower to the right, the processing circuit 102 can provide a PWM drive signal with a higher duty cycle to the left inverter for the left traction motor and a PWM drive signal with a lower duty cycle to the right inverter for the right traction motor (to make the right rear wheel 110 rotate slower than the left rear wheel 110). In other examples, the rear wheels 110 can be driven uniformly (e.g., by a single rear traction motor), and additional steering motors can be provided, which are controlled by the processing circuit 102 to turn the front wheels 110, thereby turning the lawn mower 100 in the desired direction.
[0036] The blade motor system 116 can also be implemented using various suitable components and can provide different functions according to the application. For example, the blade motor system 116 can also include an inverter, one or more encoders, a driver (e.g., a brushless motor driver), a shaft, a stator, a rotor, and other suitable components and their combinations. The blade motor system 116 can generate power to drive the blade 108 by rotating the blade 108 at a given torque, thereby controlling the movement of the blade 108 for actions such as mowing. The blade motor system 116 can receive control signals from the processing circuit 102 and use these control signals to control the motor operation. In some implementations, the blade motor system 116 can send encoder speed readings to the processing circuit 102 and receive configuration and motor control commands from the processing circuit 102 via a general UART interface. In some examples, the traction motor system 114 and the blade motor system 116 can share a motor as a drive source, where a gear system is provided to obtain the desired rotational speeds of the blade 108 and the wheels 110, and a clutch system is provided to selectively engage and disengage the drives of the blade 108 and the wheels 110.
[0037] The communication interface 118 can include various different hardware and software for electronic communication according to various communication protocols. For example, the communication interface 118 can include various serial communication interfaces (e.g., buses), including UART communication interfaces, I 2 C (Inter-Integrated Circuit) communication interfaces, Serial Peripheral Interface (SPI), Universal Serial Bus (USB) communication interfaces, etc. The communication interface 118 can also use Pulse Width Modulation (PWM) technology for communication. The communication interface 118 can include a wireless module for wireless communication using protocols such as Bluetooth and Wi-Fi, including a radio transceiver and an antenna. The communication interface 118 can also include circuitry for receiving and processing signals broadcast by devices such as beacons, satellites, and base stations, and other suitable types of components for different types of electronic communication.
[0038] The user device 210 can be implemented as any type of electronic device that can present a user interface to a user and receive user input from the user via the user interface. In some implementations, the user device 210 is a smart telephone carried by a mobile professional who uses the robotic lawn mower 100 to automate at least a portion of the lawn care and other landscaping services performed by the mobile professional. The user device 210 can be, for example, a smart telephone, a tablet computer, a personal computer, a workstation, a laptop computer, a gaming device, a wearable device (e.g., a smart watch, etc.), and other suitable types of devices. The user device 210 can run, for example, a web browser or a mobile application to allow the user to view and manipulate various data associated with the robotic lawn mower 100 via the user interface. The user can view and confirm location data associated with the robotic lawn mower 100 via the user interface, view an estimated time remaining to complete lawn mowing, view alerts generated by the robotic lawn mower 100, identify and map boundaries at a given location, select between different types of mowing modes, and generate a planned path for the robotic lawn mower 100. The user interface can also allow the user to save accounts and take notes. This functionality allows the robotic lawn mower 100 to act as an assistant to the mobile professional, where the robotic lawn mower 100 is less expensive but can still perform high-quality lawn care and landscaping services dynamically and operate with or without the help of the user.
[0039] The positioning device 220 can include various types of devices and systems for determining the position of the robotic lawn mower 100 and combinations thereof. For example, the positioning device 220 can include one or more beacons (e.g., as discussed in more detail below) installed at various locations that can act as reference points for the robotic lawn mower 100 as it travels across the lawn at a given location. The positioning device 220 can also include devices such as satellites and other types of devices for location sensing and identification, such as local base stations used in real-time kinematic systems. The robotic lawn mower 100 can communicate with the positioning device using the communication interface 118. For example, the robotic lawn mower can communicate with the base station of the positioning device 220 (e.g., receive real-time kinematic information) using an antenna and a long-range (LoRa) radio (e.g., 915 MHz) that communicates with a GPS-RTK receiver. The positioning device 220 can use the Radio Technical Commission for Maritime Services (RTCM) to receive and apply RTCM correction data and determine a more accurate position of the robotic lawn mower 100.
[0040] The controller 230 can be implemented using a variety of different hardware and software components and generally acts as an external device for controlling the robotic lawn mower 100. Depending on the application, the controller 230 can be implemented using one or more servers, wireless controller devices, and other types of electronic devices. In some implementations, the controller 230 can be a wireless controller that includes a microcontroller (e.g., Teensy 4.0 microcontroller, etc.), which receives input from a user (e.g., a mobile professional) via a game controller device (e.g., including buttons and one or more joysticks) connected to the microcontroller via USB and sends data (e.g., commands) to the robotic lawn mower 100 via a LoRa radio. The ability to provide input for controlling the robotic lawn mower 100 in this way via a game controller can provide the user with a simple and effective mechanism for guiding the robotic lawn mower 100 during navigation. The controller 230 can read joystick and button inputs from the game controller and repackage and send these inputs via the radio when requested by the robotic lawn mower 100. The processing circuit 102 can receive these inputs and convert them into control signals to drive the traction motor system 114 and / or the blade motor system 116. Figure 2 The specific number, type, and location of the components of the robotic lawn mower 100 are only used as examples for discussion, so additional or different types of components may exist in other implementations.
[0041] Figures 3A - 3B is a diagram showing the functions associated with the handle 120 of the robotic lawn mower 100a, which is another example of a lawn mower 100 and has components and functions similar to those of the lawn mower 100 described herein, except for any differences noted herein. Additionally, the references to the robotic lawn mower 100 below (e.g., the functions of the lawn mower 100, including the process regarding FIG. 15) apply equally to the lawn mower 100a. In other words, unless otherwise specifically stated, the references and descriptions of the robotic lawn mower 100 herein can be considered as general references to both the lawn mower 100 and the lawn mower 100a and descriptions applicable to both. As Figure 3A specifically shown in, when the user 310 operates the robotic lawn mower 100a via the handle 120, the handle 120 is in a first extended position such that the user 310 can use the handle 120 to guide the robotic lawn mower 100a during operation. In other words, in Figure 3A it, the lawn mower 100a is illustrated in a direct (manual) guidance mode (first operating mode). As Figure 3BAs specifically shown, when the user 310 does not operate the robotic lawn mower 100a using the handle 310, but rather the lawn mower 100a is operating autonomously, the handle 120 is in the second retracted position, making it less likely for the handle 120 to collide with any surrounding obstacles. In other words, in Figure 3B the lawn mower 100a is illustrated in an autonomous mode (second operating mode). As shown, when the lawn mower 100a operates autonomously, the user can perform other tasks (e.g., removing weeds, pruning shrubs, etc.) while the lawn mower 100a mows the lawn. This function associated with the handle 120 provides an effective mechanism for mobile professionals to guide the robotic lawn mower 100 when needed and also allows the robotic lawn mower 100 to operate on its own when needed. In some examples, the handle 120 may include collapsible legs, each leg including interconnected slidable segments of different diameters (e.g., hollow tubes or conduits) to enable the legs to retract and extend. The handle 120 can be automatically retracted (e.g., move between the first position in Figure 3A and the second position in Figure 3B ) by the robotic lawn mower 100 (e.g., based on detecting the absence of the user 310 using the sensor 106, under the control of the processing circuit 102 based on user input, etc.) or manually retracted by the user 310. Regarding automatic control, for example, the processing circuit 102 can control a motor or a hydraulic system coupled to the handle 120 to drive the extension or retraction of the handle 120.
[0042] As Figures 3A - 3B shown, in some examples, the lawn mower 100a further includes front lights 315 for illuminating the work area in front of the lawn mower 100a, one above the left front wheel and the other above the right front wheel. In some examples, Figure 1 the lawn mower 100 includes the front lights 315 of the lawn mower 100a, the retractable handle 120 of the lawn mower 100a, or both.
[0043] Figure 4 is an illustration showing the lawn at an example location 400 where the robotic lawn mower 100 can be used. The location 400 is a residential location including a residential lawn 430 defined by a boundary 432. At the location 400, the boundary 432 of the lawn 430 is defined by a road 424, a tree line 416, and an adjacent lawn 418. As Figure 4As shown in the figure, the lawn 430 includes various different obstacles, including a play facility 402, a patio 404, a house 406, a driveway 408, a tree 410, a water source 412, a retaining wall 414, a culvert 420, and a mailbox 422. It should be appreciated that different types of obstacles can exist in different locations where the robotic lawn mower 100 can be used, including residential locations and commercial locations. It should also be appreciated that different locations may have lawns of different sizes and shapes, may be surrounded by different items, and be defined by different boundaries. Via the sensor 106, the robotic lawn mower 100 can detect and avoid the play facility 402, the patio 404, the house 406, the driveway 408, the tree 410, the water source 412, the retaining wall 414, the culvert 420, and the mailbox 422 when mowing the lawn 430, and the robotic lawn mower 100 can also detect and stay within the boundary 432 such that it avoids the road 424, the tree line 416, and the adjacent lawn 418. By providing an input via the user interface on the user device 210, the user can control the operation of the robotic lawn mower at the location 400, for example, by defining the boundary 432, selecting a mowing mode, and / or programming a path for the robotic lawn mower 100 to follow.
[0044] Figure 5 FIG. is an illustration showing an example global positioning system 500 involving satellite communication with the robotic lawn mower 100. As shown, the robotic lawn mower 100 communicates with satellites 502, 504, and 506. The robotic lawn mower 100 can communicate with satellites 502, 504, and 506. For example, the lawn mower 100 can include a GNSS receiver as a location sensor of the sensor 106. In some implementations, the satellites 502, 504, and 506 are GPS satellites that orbit the Earth twice a day in precise orbits and transmit unique signals and orbital parameters. Via the GNSS receiver, the robotic lawn mower 100 can receive and decode these signals and orbital parameters from the satellites 502, 504, and 506 to calculate the precise locations of the satellites 502, 504, and 506, and also use trilateration to calculate its own location. Based on the received signals, the GNSS receiver can output location data indicating the location of the lawn mower 100 to the processing circuit 102. Thus, the processing circuit 102 can determine the location of the lawn mower 100 based on the location data from the GNSS receiver. In other examples, other types of satellite communication are used to determine the location and transmit various parameters associated with the operation of the robotic lawn mower 100.
[0045] Figure 6 FIG. is an illustration showing an example real-time kinematic positioning system 600 that can be used with the robotic lawn mower 100. As Figure 6As shown, the robotic lawn mower 100 communicates with both the satellite 602 and the base station 610. The satellite 602 can be a single satellite, or in other examples, represents multiple satellites (e.g., similar to satellites 502, 504, and 506). The lawn mower 100 can include a GPS-RTK receiver as a location sensor of the sensor 106. When operating at location 400, for example, the base station 610 can be placed somewhere at or near location 400 (e.g., within a few meters or several meters of location 400). For example, the base station 610 can move with the user of the lawn mower 100 from one location to another, and thus, can be positioned by the user at or near location 400 shortly before starting the mowing operation. In some examples, the base station 610 is statically located within a few miles of the lawn mower 100 and is associated with and maintained by a third party or public entity (which may be part of a base station network). The real-time kinematic system 600 generally uses surveys to correct satellite navigation systems, such as common errors in GPS systems using GNSS. The real-time kinematic system 600 uses measurements of the phase of the carrier of the satellite signal and relies on the base station 610 to provide real-time position data correction, thereby providing more precise and accurate (e.g., centimeter-level) location and position data. The base station 610 can communicate with the robotic lawn mower 100 (e.g., the GPS-RTK receiver) via different radio frequencies (e.g., 2.4 GHz, Bluetooth, etc.). In some examples, the GPS-RTK receiver can include a GNSS receiver, as referenced Figure 5 as described, and an RTK receiver for receiving correction data from the base station 610. Based on the signals received from the satellite 602 and the correction data from the base station 610, the GPS-RTK receiver can output location data indicating the location of the lawn mower 100 to the processing circuit 102. Thus, the processing circuit 102 can determine the location of the lawn mower 100 based on the location data from the GNSS receiver. Thus, in contrast to satellite communication without similar correction data, using the example real-time kinematic positioning system 600 can provide better location tracking for the robotic lawn mower 100.
[0046] Figure 7FIG. shows another example real-time kinematic positioning system 700 that can be used with the robotic lawn mower 100. In the real-time kinematic positioning system 700, both the robotic lawn mower 100 and the base station 710 (similar to the base station 610) communicate with multiple different satellites, including satellites 701, 702, 703, 704, and 705. The lawn mower 100 may again include a GPS-RTK receiver. Various different real-time kinematic system configurations can be considered for use with the robotic lawn mower 100. For example, the base station 610 and the base station 710 can be interfaced with a GPS-RTK base station module to obtain RTCM correction data for a specific area where the base station 610 or 710 is located (e.g., via a network connection, such as a connection to the Internet or other network), then cache the correction data and transmit the correction data via radio when requested by the robotic lawn mower 100. In some implementations, the base stations 610 and 710 are not included in the system with the lawn mower 100. For example, instead of the base stations 610 and 710, the lawn mower 100 can include a mobile Internet connection for global RTCM data streaming (e.g., from a third-party source or server that maintains and provides such data). Regardless of the specific configuration, the GPS-RTK receiver can include a GNSS receiver, as described with respect to Figure 5 and an RTK receiver for receiving correction data from the base station 610, the base station 710, or via a connection to the source of the global RTCM data stream. Based on the signals received from the satellites and the correction data, the GPS-RTK receiver can output location data indicating the location of the lawn mower 100 to the processing circuit 102. Thus, the processing circuit 102 can determine the location of the lawn mower 100 based on the location data from the GNSS receiver.
[0047] Figure 8 FIG. shows an example ultrasonic / radar sensor system 810 that can be used with the robotic lawn mower 100 (e.g., as the sensor 106). The system 810 can include an antenna for transmitting signals and receiving signals reflected from an obstacle 820, as Figure 8As shown. The system 810 can be used to detect the presence of an obstacle 820 so that the robotic lawn mower 100 can avoid the obstacle 820 when navigating through the environment. In some examples, the sensor system 810 implements ultrasonic detection by transmitting ultrasonic signals via a transmitter, receiving the reflected ultrasonic signals via a receiver, and processing the received ultrasonic signals to detect the obstacle and its location relative to the lawn mower 100. In some examples, the sensor system 810 implements radar detection by transmitting radio signals via a transmitter, receiving the reflected radio signals via a receiver, and processing the received radio signals to detect the obstacle and its location relative to the lawn mower 100. In both the ultrasonic example and the radar example, the sensor system 810 can provide obstacle data (e.g., including the distance to the obstacle and / or the direction of the obstacle) indicating the presence and / or location of the obstacle to the processing circuit 102. In some examples, the ultrasonic / radar sensor system 810 includes both ultrasonic detection and radar detection. The system 810 can use the echo signal reflected from the obstacle 820 to the antenna, and the chirp signal reflected from the obstacle 820 to the antenna and compressed by the system 810. As Figure 8 shown, the system 810 can be powered by connecting to a power supply voltage and a reference ground voltage. The system 810 provides an example implementation of the sensors included in the sensor 106 on the robotic lawn mower 100. The obstacle data generated by the system 810 can be used by the processing circuit 102 to affect the operation of the robotic lawn mower 100.
[0048] Figure 9FIG. is an illustration showing an example LIDAR scan 910 that can be generated by the robotic lawn mower 100. The example LIDAR scan 910 can be generated by a 3D LIDAR sensor included in the sensor 106 on the robotic lawn mower 100. The LIDAR scan 910 can provide an indication of the distance between surrounding objects and the robotic lawn mower 100, and can be provided by the 3D LIDAR sensor to the processing circuit 102 and used by the processing circuit 102 to correspondingly affect the operation of the robotic lawn mower 100. For example, when operating at location 400, if the processing circuit 102 determines based on the LIDAR scan that the robotic lawn mower is about to collide with the water source 412, the processing circuit 102 can provide a control signal to the traction motor system 114 such that the robotic lawn mower 100 avoids the water source 412. The LIDAR scan 910 can include different colors and / or other visual indications to indicate the proximity of surrounding objects. In some implementations, the user can view the LIDAR scan 910 via a user interface presented on the user device 210. One or more LIDAR sensors that can generate scans such as the LIDAR scan 910 can be installed on the robotic lawn mower 100 in different configurations to provide the robotic lawn mower 100 with appropriate sensing capabilities for different applications.
[0049] Figure 10 FIG. is an illustration showing an example camera image 1010 that can be generated by the robotic lawn mower 100. The example camera image 1010 can be generated by an RGB camera included in the sensor 106 on the robotic lawn mower 100 and received by the processing circuit 102. The camera image 1010 can provide pixelated data indicating the environment around the robotic lawn mower 100, and can be used by the processing circuit 102 to correspondingly affect the operation of the robotic lawn mower 100. For example, the processing circuit 102 can include image processing software that analyzes the images generated by the camera of the sensor 106 to detect obstacles, boundaries, etc. For example, when operating at location 400, if the processing circuit 102 determines based on the analysis of the camera image that the robotic lawn mower is about to collide with the tree 410, the processing circuit 102 can provide a control signal to the traction motor system 114 such that the robotic lawn mower 100 avoids the tree 410. In some implementations, the user can view the camera image 1010 via a user interface presented on the user device 210. One or more cameras that can generate images such as the camera image 1010 can be installed on the robotic lawn mower 100 in different configurations to provide the robotic lawn mower 100 with appropriate sensing capabilities for different applications.
[0050] Figures 11A - 11C FIG. is an illustration showing the components of an example beacon system 1110 that can be used with the robotic lawn mower 100. Figure 11ASpecifically shows the main components of the beacon system 1110, including the robotic mower 100, the user device 210, and the trailer 1130. The trailer 1130 may include a base station (e.g., similar to base station 610 or base station 710) that serves as part of a real-time kinematic positioning system (e.g., similar to real-time kinematic positioning system 600 and real-time kinematic positioning system 700). The trailer 1130 may also more generally include one or more beacon devices, such as Figure 11B the beacons 1141 and 1142 shown in. The beacons 1141 and 1142 may not communicate with satellites like the base stations in a real-time kinematic system, but instead may be implemented as low-energy Bluetooth (BLE) beacons or ultra-wideband (UWB) beacons that serve as an anchor or reference point for the robotic mower 100. Based on the signals broadcast by the beacon 1141 and / or the beacon 1142, the robotic mower 100 can determine its location relative to the beacon 1141 and / or the beacon 1142. For example, the beacon 1141 and / or the beacon 1142 may be placed within a lawn such as the lawn 430, or within a trailer such as the trailer 1130 that is used to transport the robotic mower 100 between different locations. As Figure 11C shown in, a beacon 1152 similar to the beacons 1141 and 1142 may also be placed in a vehicle 1150 (e.g., a pickup truck, etc.) that is used to transport the robotic mower 100 between locations. Various types and configurations of beacon systems 1110 may be envisioned and may be used with the robotic mower 100 to determine location. The data associated with the beacon system 1110 may also be managed and configured by the user via a user interface presented on the user device 210.
[0051] Figure 12 is a diagram showing different example mowing patterns 1210 that can be implemented using the robotic mower 100. For example, the mowing patterns 1210 are shown as including a vertical pattern, a horizontal pattern, a circular pattern, a diagonal pattern, a square pattern, and a curved pattern. Various mowing patterns, including Figure 12 the example mowing patterns 1210 shown in, may be implemented by the robotic mower 100 based on input received from the user via a user interface presented on the user device 210. The ability to customize the mowing pattern in this way can provide an advantage in terms of the user experience and satisfaction with the lawn care services performed by mobile professionals using the robotic mower 100.
[0052] Figure 13FIG. 0 is a flow chart showing a mobile mowing process 1300 that can be implemented using the robotic mower 100. The process 1300 can provide an advantage to mobile professionals in terms of providing excellent lawn care services at a reasonable price while reducing labor costs and requirements. The process 1300 generally involves receiving user input from a user via the user device 210 and operating the robotic mower 100 based on the user input. Thus, the robotic mower 100 can act as an assistant to the user, enabling the user to directly operate the robotic mower 100 when needed, or the user can allow the robotic mower 100 to operate on its own under the guidance provided by the user via the user interface. Consequently, the user can handle other tasks, such as trimming shrubs and other landscaping tasks, while the robotic mower 100 continues to mow the lawn on its own.
[0053] In block 1310, the robotic mower 100 identifies a first location where the robotic mower 100 has been deployed. For example, the robotic mower 100 can determine that it has been deployed at location 400 and identify location 400. The robotic mower 100 can determine that it has been deployed at location 400 and identify location 400 based on data generated by the sensors 106 and / or data received via the communication interface 118 from the user device 210, the positioning device 220, or the controller 230. For example, the robotic mower 100 can use GPS data, RTK data, and / or other types of data to determine that it has been deployed at location 400. In some implementations, via the user interface presented on the user device 210, the user can confirm that the robotic mower 100 has identified the correct location.
[0054] In block 1320, the robotic mower 100 receives information about the surrounding environment at the first location. The robotic mower 100 can receive information about the surrounding environment based on data generated by the sensors 106, historical data associated with the location, and / or information provided by the user via the user interface presented on the user device 210. For some locations, the robotic mower 100 can access historical data associated with the location, which it can rely on. However, for new locations, the robotic mower 100 may not have access to the historical data for that location. For example, the robotic mower 100 can retrieve historical data associated with location 400 and identify the presence of obstacles such as trees 410 and water source 412, as well as identify the boundary 432. The robotic mower 100 can also learn the surrounding environment, for example, by navigating through the lawn 430 and detecting the presence of obstacles such as trees 410 and water source 412 based on data generated by the sensors 106. The robotic mower 100 can also receive information from the user about major obstacles such as the house 406 and the driveway 408.
[0055] At block 1330, the robotic lawn mower 100 receives user input from a user via a user device. For example, the user may provide user input via a user interface presented on the user device 210, and the user input may be sent to and received by the robotic lawn mower 100. The user input may include boundaries, such as boundary 432 at location 400. The user may indicate the boundary 432 via the user interface in various ways, such as by drawing the boundary on a map of location 400 or providing coordinates associated with the boundary. The user input may also include a mowing pattern for the lawn 430, such as any of the mowing patterns 1210 discussed above. For example, the user device 210 may display a plurality of potential mowing patterns for selection, and then receive a user selection of one of the displayed mowing patterns. The desired mowing pattern may be based on the preferences of the owner of the house 406 known to the user. The user input may also include a planned path for the robotic lawn mower 100 to follow while trimming the lawn 430. The user may indicate the planned path in various ways, such as by drawing the planned path on a map of location 400 or selecting a previously followed path from previous times when the robotic lawn mower 100 trimmed the lawn 430. In some implementations, based on the boundary 432 and the locations of known obstacles at location 400, the user interface may present the user with different options for the planned path that are automatically generated. The user may then select between the different options for the automatically generated planned path.
[0056] At block 1340, the robotic lawn mower 100 operates based on the user input to trim the lawn at a first location. For example, the robotic lawn mower 100 may trim the lawn 430 based on the user input received at block 1330. The robotic lawn mower may trim the lawn 430 while staying within the boundary 432 and following the planned path provided by the user. The robotic lawn mower 100 may also trim the lawn 430 according to the mowing pattern selected by the user. The user input received at block 1330 may be stored in the memory 104 and used by the processing circuit 102 to affect the operation of the robotic lawn mower 100, such as by sending control signals to the traction motor system 114 and the blade motor system 116. While the robotic lawn mower 100 is trimming the lawn 430, it may continuously monitor its location based on location data output by one or more sensors 106, such as as described above with respect to GPS, GPS-RTK, and beacon-based systems.
[0057] At block 1350, the robotic mower 100 detects an obstacle in the lawn at the first location based on sensor data. For example, while navigating through the lawn 430, the robotic mower 100 can use the data generated by the sensor 106 to detect whether it is approaching any of the play equipment 402, patio 404, house 406, driveway 408, tree 410, water source 412, retaining wall 414, culvert 420, or mailbox 422 at location 400. The robotic mower 100 can detect the presence of any of these obstacles based on data such as ultrasonic / radar data generated by the system 810, based on one or more LIDAR scans such as the LIDAR scan 910, or based on one or more camera images such as the camera image 1010. The robotic mower 100 can also use presence sensors, proximity sensors, and other types of sensors and combinations thereof to detect obstacles in the lawn 430.
[0058] At block 1360, the robotic mower 100 operates to avoid the obstacle and continues to mow the lawn at the first location. For example, after the robotic mower 100 detects that it is approaching and heading towards any of the play equipment 402, patio 404, house 406, driveway 408, tree 410, water source 412, retaining wall 414, culvert 420, or mailbox 422 at location 400, it can navigate to avoid any of these obstacles. After determining that the robotic mower 100 is indeed approaching and heading towards an obstacle, the processing circuit 102 can provide one or more control signals to the traction motor system 114 to maneuver the robotic mower 100 away from the obstacle so that the robotic mower 100 avoids a potential collision with the obstacle. As a result, any potential damage to the robotic mower 100 or the obstacle can be avoided, and the robotic mower 100 can continue to mow the lawn 430 according to the user input received at block 1330.
[0059] At block 1370, the robotic lawn mower 100 identifies a second location at which the robotic lawn mower 100 has been deployed. For example, the robotic lawn mower 100 may determine that it has been moved to a second residential location separate from location 400 and identify the second residential location. The robotic lawn mower 100 may also determine that it has been moved to a commercial location separate from location 400 and identify the commercial location. The robotic lawn mower 100 may determine that it has been deployed at the second location and identify the second location based on data generated by the sensors 106 and / or data received via the communication interface 118 from the user device 210, the positioning device 220, or the controller 230. For example, the robotic lawn mower 100 may use GPS data, RTK data, and / or other types of data to determine that it has been deployed at the second location. In some examples, the robotic lawn mower 100 may then repeat blocks 1320-1360, but with respect to the second location rather than the first location (e.g., receive information about the surroundings at the second location, receive user input regarding the second location, operate the robotic lawn mower to mow the lawn at the second location based on the user input, detect obstacles at the second location, operate the robotic lawn mower to avoid the obstacles and continue mowing). In some examples, blocks 1310-1360 may be repeated at each new location where the user takes the robotic lawn mower 100 to mow. Unlike a robotic lawn mower that simply stays in one place, the robotic lawn mower 100 can act as an assistant to a mobile professional and travel with the mobile professional to different locations for different services.
[0060] Although the blocks of process 1300 are described as being implemented by the robotic lawn mower 100, in at least some examples, these blocks may be more specifically implemented by the processing circuitry 102.
[0061] Although the blocks of process 1300 are shown in a particular order, in some embodiments, one or more blocks may be performed partially or fully in parallel, may be performed in an order different from that shown in the Figure 13 illustration, or may be bypassed. For example, while the robotic lawn mower 100 is performing one or more of blocks 1340, 1350, and 1360 (e.g., during the process of mowing the lawn at the first location), the robotic lawn mower 100 may receive information about the surroundings at the first location in block 1320. As another example, in some implementations or instances, when performing process 1300, the robotic lawn mower 100 does not perform blocks 1310 and 1370. As another example, in some implementations or instances, when performing process 1300, the robotic lawn mower 100 does not perform blocks 1350 and 1360.
[0062] In some examples, after an initial or previous mowing where the robotic mower 100 receives user input (e.g., indicating a boundary 432, a mowing pattern, and / or a planned path) at a location (e.g., a first location), the robotic mower 100 (or the processing circuitry 102) performs process 1300 or a portion thereof. For example, on the next day or the next week after the initial or previous mowing, the robotic mower 100 may be redeployed at the first location (block 1310) and continue to perform Figure 13 blocks 1320-1360 or 1320-1370. In some examples, in block 1340, the robotic mower 100 may trim the lawn at the first location along a pre-planned path, which may be based on the mowing performed during the initial or previous mowing or may be based on new user input (e.g., in block 1330) indicating a (new) pre-planned path.
[0063] It should be understood that the application of the present disclosure is not limited to the construction details and component arrangements set forth in the following description or illustrated in the following drawings. The present disclosure is capable of other embodiments and of being practiced or carried out in various ways. Further, it should be understood that the language and terminology used herein are for the purpose of description only and should not be regarded as limiting. The use of "including", "comprising", or "having" and their variants herein means covering the items listed hereinafter and their equivalents as well as additional items. Unless otherwise specified or limited, the terms "mounted", "connected", "supported", and "coupled" and their variants are used broadly and cover direct and indirect mounting, connection, support, and coupling. Further, "connected" and "coupled" are not limited to physical or mechanical connection or coupling.
[0064] As used herein, unless otherwise limited or defined, the discussion of a particular orientation is provided only as an example for a particular embodiment or associated illustration. For example, the discussion of "top", "front", or "rear" features generally intends only to describe the orientation of such features relative to a reference frame of a particular example or illustration. Correspondingly, for example, in some arrangements or aspects, "top" features may sometimes be disposed below "bottom" features (and so on). Further, the reference to a particular rotation or other movement (e.g., counterclockwise rotation) generally intends only to describe the movement relative to a reference frame of a particular example of the illustration.
[0065] In some embodiments, including computerized implementations of the methods according to the present disclosure, controlling a processor device (e.g., various combinations of serial or parallel processor chips, single-core or multi-core chips, microprocessors, field programmable gate arrays, control units, arithmetic logic units, and processor registers, etc.), a computer (e.g., a processor device operatively coupled to a memory), or other electronically operated controllers by using standard programming or engineering techniques to generate software, firmware, hardware, or any combination thereof to implement the various aspects described in detail herein can be implemented as a system, method, apparatus, or article of manufacture. Thus, for example, embodiments of the present disclosure can be implemented as a set of instructions tangibly embodied on a non-transitory computer-readable medium such that the processor device can implement the instructions based on reading the instructions from the computer-readable medium. Consistent with the following discussion, some embodiments of the present disclosure may include (or utilize) control devices such as automated devices, computers including various computer hardware, software, firmware, etc. As a specific example, a control device may include a processor, a microcontroller, a field programmable gate array, a programmable logic controller, logic gates, etc., and other typical components known in the art for implementing appropriate functions (e.g., memory, communication systems, power supplies, user interfaces, and other inputs, etc.). Additionally, functions performed by multiple components may be combined and performed by a single component. Similarly, functions described herein as being performed by one component may be performed by multiple components in a distributed manner. Further, a component described as performing a particular function may also perform additional functions not described herein. For example, a device or structure “configured” in a certain way is at least configured in that way, but may also be configured in ways not listed.
[0066] As used herein, the term “article of manufacture” is intended to encompass a computer program accessible from any computer-readable device, carrier (e.g., a non-transitory signal), or medium (e.g., a non-transitory medium). For example, computer-readable media may include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), etc.), smart cards, and flash memory devices (e.g., cards, sticks, etc.). Additionally, it should be appreciated that a carrier wave can be used to carry computer-readable electronic data, such as data used when sending and receiving e-mail or accessing a network such as the Internet or a local area network (LAN). Those skilled in the art will recognize that many modifications can be made to these configurations without departing from the scope or spirit of the claimed subject matter.
[0067] Certain operations of the methods according to the present disclosure or of systems performing these methods may be schematically represented in the drawings or otherwise discussed herein. Unless otherwise specified or limited, the representation of a particular operation in the drawings in a particular spatial order does not necessarily require that the operation be performed in the particular order corresponding to the particular spatial order. Correspondingly, certain operations represented in the drawings or otherwise disclosed herein may be performed in an order different from the order explicitly illustrated or described, suitable for a particular embodiment of the present disclosure. Additionally, in some embodiments, certain operations may be performed in parallel, including by a dedicated parallel processing device or by independent computing devices configured to interoperate as part of a larger system.
[0068] As used herein in the context of computer implementation, unless otherwise specified or limited, the terms "component", "system", "module", etc. are intended to cover parts or all of a computer-related system including hardware, software, a combination of hardware and software, or software in execution. For example, a component may be, but is not limited to, a processor device, a process (or executable) executed by the processor device, an object, an executable file, an execution thread, a computer program, or a computer. As an example, both an application running on a computer and the computer can be components. One or more components (or systems, modules, etc.) may reside in a process or execution thread, may be located on one computer, may be distributed between two or more computers or other processor devices, or may be included in another component (or system, module, etc.).
[0069] In some implementations, the devices or systems disclosed herein may be utilized or installed using methods embodying various aspects of the present disclosure. Correspondingly, the description herein of a particular feature, capability, or intended purpose of a device or system generally intends to inherently include the disclosure of methods of using such features for the intended purpose, methods of implementing such capabilities, and methods of installing the disclosed (or otherwise known) components to support these purposes or capabilities. Similarly, unless otherwise indicated or limited, the discussion herein of manufacturing or using a particular device or system, including any method of installing the device or system, intends to inherently include the disclosure of the features utilized and capabilities implemented by the device or system as embodiments of the present disclosure.
[0070] As used herein, unless otherwise defined or limited, serial numbers are for convenience of reference and are generally used based on the order in which particular components are presented in the relevant part of the present disclosure. In this regard, for example, designations such as "first", "second", etc. generally only indicate the order in which the relevant components are introduced for discussion and generally do not indicate or require a particular spatial arrangement, functional or structural primacy, or order.
[0071] As used herein, unless otherwise defined or limited, directional terms are used for convenience in reference when discussing a particular figure or example. For instance, reference to a downward (or other) direction or a top (or other location) may be used to discuss aspects of a particular example or figure, but similar orientation or geometry is not necessarily required in all installations or configurations.
[0072] As used herein, unless otherwise defined or limited, the phrase “and / or” when used with two or more items is intended to cover those items individually and together. For example, an apparatus having “a and / or b” is intended to cover: an apparatus having a (but not b); an apparatus having b (but not a), and an apparatus having both a and b.
[0073] This discussion is presented to enable a person skilled in the art to make and use embodiments of the present disclosure. Various modifications to the examples illustrated will be readily apparent to those skilled in the art, and the general principles herein may be applied to other examples and applications without departing from the principles disclosed herein. Thus, the embodiments of the present disclosure are not intended to be limited to the embodiments shown, but should be accorded the widest scope consistent with the principles and features disclosed herein and the following claims. The detailed description will be read with reference to the drawings, in which like elements in different drawings have the same reference numerals. The drawings, which are not necessarily to scale, depict selected examples and are not intended to limit the scope of the present disclosure. Those skilled in the art will recognize that the examples provided herein have many useful alternatives and fall within the scope of the present disclosure.
[0074] The various features and advantages of the present disclosure are set forth in the following claims.
Claims
1. A robotic lawn mower, include: Traction motor system; Blade motor system; a sensor configured to generate data associated with operation of the robotic lawn mower; wheels driven by the traction motor system for moving and turning the robotic lawn mower; a blade for mowing grass driven by the blade motor system; and A processing circuit, the processing circuit being configured to: receiving a user input from a user device, the user input being received from a user via a user interface presented on the user device, the user input indicating a boundary and a mowing mode for use by the robotic mower for a location; operating the wheels and blades of the robotic lawn mower via control of the traction motor system and the blade motor system based on user input so that the robotic lawn mower mows the lawn at the location based on the boundary and mowing pattern; detecting obstacles in the lawn based on data generated by the sensor; as well as The wheels of the robotic lawn mower are operated via control of the traction motor system so that the robotic lawn mower avoids obstacles in the lawn and continues to mow the lawn based on the boundary and mowing pattern.
2. The robotic lawn mower of claim 1 , further comprising a handle that moves between a first position and a second position, wherein when the handle is in the first position, a user guides the robotic lawn mower using the handle, and wherein when the handle is in the second position, the robotic lawn mower operates without user guidance at the handle.
3. The robotic lawn mower according to claim 1, wherein the processing circuit include: a microcontroller for receiving data from the sensors and operating the wheels and blades of the robotic lawn mower; and A computing device for receiving data from the sensors from the microcontroller, generating commands for operating the wheels and blades of the robotic lawn mower based on the data from the sensors, and providing the commands to the microcontroller. 4 . The robotic lawn mower of claim 1 , wherein the processing circuit is configured to save a map of the lawn at the location in a memory and use the map of the lawn at the location to mow the lawn at the location. 5 . The robotic lawn mower of claim 1 , wherein the processing circuit is further configured to determine the location of the robotic lawn mower by communicating with a beacon.
6. The robotic lawn mower of claim 5, wherein the beacon is mounted in a vehicle or trailer used to transport the robotic lawn mower, or wherein the beacon is placed in a lawn by a user.
7. The robotic lawn mower of claim 1, wherein the processing circuit is further configured to determine the location of the robotic lawn mower by communicating with one or more satellites.
8. The robotic lawn mower according to claim 1, in, After operating the wheels and blades of the robotic lawn mower so that the robotic lawn mower mows the lawn at the location based on the boundary and the mowing pattern, the processing circuit is further configured to: identifying the location as a first location at which the robotic lawn mower is deployed; receiving information about surroundings at the first location; and Based on a user input indicating a first planned path followed by the robotic lawn mower to mow the lawn at the first location, the robotic lawn mower is controlled to mow the lawn at the first location again.
9. The robotic lawn mower of claim 8, wherein the processing circuit is further configured to: identifying a second location at which the robotic lawn mower is deployed; receiving information about the surrounding environment at the second location; The robotic lawn mower is controlled to mow the lawn at a second location based on a second user input received from a user via the user interface, the second user input indicating a second planned path followed by the robotic lawn mower to mow the lawn at the second location.
10. The robotic lawn mower of claim 8, wherein the information about the surrounding environment at the first location includes the boundary.
11. A method, include: receiving, by a processing circuit of the robotic lawn mower, a user input from a user device, the user input being received from a user via a user interface presented on the user device, the user input indicating a boundary and a mowing mode for use by the robotic lawn mower for a location; operating the wheels and blades of the robotic lawn mower by the processing circuit according to the user input via the control of the traction motor system and the blade motor system so that the robotic lawn mower mows the lawn at the location based on the boundary and the mowing pattern; detecting, by the processing circuit, an obstacle in the lawn based on data generated by a sensor coupled to the processing circuit; as well as The processing circuit operates the wheels of the robotic lawn mower via control of the traction motor system so that the robotic lawn mower avoids obstacles in the lawn and continues to mow the lawn based on the boundary and mowing mode.
12. The method of claim 11, wherein the robotic lawn mower further comprises a handle that moves between a first position and a second position, the method further comprising: include: When the handle is in the first position, the robotic mower is operated in a manual mode in which a user directs the robotic mower using the handle, and When the handle is in the second position, the robotic mower is operated without guidance by a user at the handle.
13. The method according to claim 11, further comprising: include: receiving data from the sensor by a microcontroller of the processing circuit; operating the wheels and blades of the robotic lawn mower by the microcontroller; as well as receiving, by a computing device of the processing circuit, data from the sensor from the microcontroller; generating, by the computing device, commands for operating wheels and blades of the robotic lawn mower based on data from the sensors; The command is provided by the computing device to the microcontroller.
14. The method according to claim 11, further comprising: include: storing, by the processing circuit, a map of the lawn at the location in a memory; The map of the lawn at the location is used by the processing circuit to mow the lawn at the location.
15. The method according to claim 11, further comprising: include: The location of the robotic lawn mower is determined by the processing circuit by communicating with the beacon.
16. The method of claim 15, wherein the beacon is mounted in a vehicle or trailer used to transport the robotic lawn mower, or wherein the beacon is placed in a lawn by a user.
17. The method according to claim 11, further comprising: include: The location of the robotic lawn mower is determined by the processing circuit by communicating with one or more satellites.
18. The method according to claim 11, in, After operating the wheels and blades of the robotic lawn mower so that the robotic lawn mower mows the lawn at the location based on the boundary and the mowing pattern, the method further includes: identifying, by the processing circuitry, the location as a first location at which the robotic lawn mower has been deployed; receiving, by the processing circuit, information about an ambient environment at a first location; and The processing circuit controls the robotic lawn mower to mow the lawn again at the first location based on user input indicating a first planned path to be followed by the robotic lawn mower to mow the lawn at the second location.
19. The method according to claim 18, further comprising: include: identifying, by the processing circuitry, a second location at which the robotic lawn mower is deployed; receiving, by the processing circuit, information about the surrounding environment at a second location; The processing circuit controls the robotic mower to mow the lawn at a second location based on a second user input received from the user via the user interface, the second user input indicating a second planned path followed by the robotic mower to mow the lawn at the second location.
20. The method of claim 18, wherein receiving information about the surrounding environment at the first location comprises receiving the boundary.
21. A method, include: identifying, by processing circuitry of the robotic lawn mower, a first location at which the robotic lawn mower has been deployed; receiving, by the controller, information about an ambient environment at a first location; controlling, by the processing circuit, the robotic lawn mower to mow a lawn at a first location based on a first user input received from a user via a user interface, the first user input indicating a first planned path to be followed by the robotic lawn mower to mow the lawn at the first location; as well as A second location is identified, by the processing circuit, at which the robotic lawn mower is deployed.
22. The method according to claim 21, further comprising: include: receiving, by the processing circuit, information about the surrounding environment at a second location; The processing circuit controls the robotic mower to mow the lawn at a second location based on a second user input received from the user via the user interface, the second user input indicating a second planned path followed by the robotic mower to mow the lawn at the second location.
23. The method of claim 21, wherein receiving information about the surrounding environment at the first location includes receiving a boundary.
24. The method according to claim 21, further comprising: include: detecting, by the processing circuitry based on data generated by sensors on the robotic lawn mower, an obstacle in the lawn at a first location; as well as The processing circuit operates the wheels of the robotic lawn mower so that the robotic lawn mower avoids the obstacle.
25. The method of claim 21, further comprising moving, by the processing circuit, the handle between a first position and a second position based on whether a user provides guidance to the robotic mower via a handle of the robotic mower or does not provide guidance to the robotic mower via the handle.
26. The method of claim 21, wherein identifying a first location at which the robotic lawn mower has been deployed comprises communicating with a beacon mounted in a vehicle or trailer used to transport the robotic lawn mower or placed in a lawn by a user.
27. The method of claim 21, wherein identifying a first location at which the robotic mower has been deployed comprises communicating with one or more satellites.
28. A robotic lawn mower, include: Traction motor system; Blade motor system; a sensor configured to generate data associated with operation of the robotic lawn mower; wheels driven by the traction motor system for moving and turning the robotic lawn mower; a blade for mowing grass driven by the blade motor system; as well as A processing circuit, the processing circuit being configured to: identifying a first location at which the robotic lawn mower is deployed; receiving information about surroundings at a first location; controlling the robotic lawn mower to mow lawn at a first location based on a first user input received from a user via a user interface, the first user input indicating a first planned path to be followed by the robotic lawn mower to mow lawn at the first location; as well as A second location is identified at which the robotic lawn mower is deployed.
29. The robotic lawn mower of claim 28, wherein the processing circuit is further configured to: receiving information about the surrounding environment at the second location; The robotic lawn mower is controlled to mow the lawn at a second location based on a second user input received from a user via the user interface, the second user input indicating a second planned path followed by the robotic lawn mower to mow the lawn at the second location.
30. The robotic lawn mower of claim 28, wherein receiving information about the surrounding environment at the first location includes receiving a boundary.
31. The robotic lawn mower of claim 28, wherein the processing circuit is further configured to: detecting an obstacle in the lawn at a first location based on data generated by sensors on the robotic lawn mower; and The wheels of the robotic lawn mower are operated so that the robotic lawn mower avoids the obstacle.
32. The robotic lawn mower of claim 28, wherein the processing circuit is further configured to move the handle between the first position and the second position based on whether a user provides guidance to the robotic lawn mower via a handle of the robotic lawn mower or does not provide guidance to the robotic lawn mower via the handle.
33. The robotic lawn mower of claim 28, in, To identify a first location at which the robotic lawn mower has been deployed, the processing circuit is further configured to communicate with a beacon mounted in a vehicle or trailer used to transport the robotic lawn mower or placed in a lawn by a user.
34. The robotic lawn mower of claim 28, in, The processing circuit is further configured to communicate with one or more satellites in order to identify a first location at which the robotic lawn mower has been deployed.