Lawn mower
By using inertial measurement devices and controllers in lawn mowers to monitor and adjust the three-dimensional position of the shell in real time, the problem of difficulty in monitoring and adjusting the orientation of existing lawn mowers is solved, and the mowing efficiency and safety is improved.
Patent Information
- Application Number
- CN202290000606.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Utility models(China)
- Current Assignee / Owner
- Priority Date
- 2021-08-10
- Filing Date
- 2022-08-10
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2032-08-10
AI Technical Summary
Existing lawn mowers are difficult to monitor and adjust the orientation of their shells in real time, resulting in undesirable inclinations during operation, affecting mowing efficiency and safety.
By receiving data provided by the IMU, the three-dimensional position of the lawn mower housing is determined in real time, and the operating state of the motor is controlled according to the predetermined inclination threshold and time period to avoid undesired inclination angle.
Real-time monitoring and adjustment of lawn mower housing orientation is realized, mowing efficiency and safety is improved, and motor blocking or stopping due to undesired inclination is avoided.
Smart Images

Figure CN222548056U_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 231,402, filed on August 10, 2021, the entire contents of which are hereby incorporated by reference. Technical Field
[0003] The present disclosure relates to orientation sensing for a lawn mower. Utility Model Content
[0004] The lawn mower described herein includes a housing, one or more cutting blades; and a motor configured to rotate the one or more cutting blades. The lawn mower may also include a handle extending from the housing and configured to be manipulated by a user during operation of the lawn mower. The lawn mower may also include an inertial measurement device configured to generate data indicating the orientation of the housing. The lawn mower may also include a controller connected to the motor and to the inertial measurement device. The controller may be configured to receive data indicating the orientation of the housing from the inertial measurement device. The controller may be further configured to determine the three-dimensional position of the housing based on the data. The three-dimensional position of the housing may indicate whether the orientation of the housing is desired for the operation of the lawn mower. The controller may be further configured to control the motor based on the three-dimensional position of the housing.
[0005] In some embodiments, the controller can be configured to control the motor based on the three-dimensional position of the shell by determining that the three-dimensional position of the shell indicates that the shell is experiencing an inclination angle greater than a predetermined inclination threshold, and preventing or stopping operation of the motor in response to determining that the three-dimensional position of the shell indicates that the shell is experiencing an inclination angle greater than the predetermined inclination threshold.
[0006] In some embodiments, the controller can be configured to control the motor based on the three-dimensional position of the shell by determining that the three-dimensional position of the shell indicates that the inclination angle has been greater than a predetermined inclination angle threshold for longer than a predetermined time period, and preventing or stopping operation of the motor in response to determining that the inclination angle has been greater than the predetermined inclination angle threshold for longer than a predetermined time period.
[0007] In some embodiments, the predetermined tilt angle threshold may include a tilt threshold and a roll threshold, each of which is associated with a corresponding predetermined time period. In some embodiments, (i) a first angle value of the tilt threshold is higher than a second angle value of the roll threshold. In some embodiments, (ii) a first time value of a first predetermined time period associated with the tilt threshold is greater than a second time value of a second predetermined time period associated with the roll threshold. In some embodiments, both (i) and (ii) are true.
[0008] In some embodiments, the predetermined tilt angle threshold may include a first tilt angle threshold and a second tilt angle threshold, each of which is associated with a corresponding predetermined time period. In some embodiments, (i) a first angle value of the first tilt angle threshold is lower than a second angle value of the second tilt angle threshold, and (ii) a first time value of the first predetermined time period associated with the first tilt angle threshold is higher than a second time value of the second predetermined time period associated with the second tilt angle threshold.
[0009] In some embodiments, the controller can be configured to control the motor based on the three-dimensional position of the housing by determining that the three-dimensional position of the housing indicates an inclination angle less than a second predetermined inclination angle threshold, and allowing operation of the motor in response to (i) determining that the three-dimensional position of the housing indicates an inclination angle less than the second predetermined inclination angle threshold, and (ii) receiving a user input indicating that the motor should be operated. In some embodiments, the second predetermined inclination angle threshold is less than the predetermined inclination angle threshold.
[0010] In some embodiments, the controller may be configured to determine the three-dimensional position of the housing based on the data by executing a filtering scheme that includes averaging a plurality of data samples included in the data over a predetermined period of time or for a predetermined number of consecutive data samples.
[0011] In some embodiments, the controller can be configured to determine that the lawn mower is in the storage position based on the three-dimensional position of the housing. The controller can be further configured to enter the sleep mode in response to determining that the lawn mower is in the storage position until (i) the controller detects a user input, or (ii) the controller detects a change in the three-dimensional position of the housing. The controller can receive data from the inertial measurement device less frequently in the sleep mode than when the controller is not operating in the sleep mode.
[0012] The method for controlling a lawn mower described herein includes receiving data indicating the orientation of a housing of the lawn mower from an inertial measurement device of the lawn mower using a controller of the lawn mower. The lawn mower may include one or more cutting blades, a motor configured to rotate the one or more cutting blades, and a handle extending from the housing and configured to be manipulated by a user during operation of the lawn mower. The method may further include determining a three-dimensional position of the housing based on the data using the controller. The three-dimensional position of the housing may indicate whether the orientation of the housing is desired for operation of the lawn mower. The method may further include controlling the motor based on the three-dimensional position of the housing using the controller.
[0013] In some embodiments, controlling a motor based on the three-dimensional position of a shell may include determining, using a controller, that the three-dimensional position of the shell indicates that the shell is experiencing an inclination angle greater than a predetermined inclination threshold, and preventing or stopping operation of the motor in response to determining that the three-dimensional position of the shell indicates that the shell is experiencing an inclination angle greater than a predetermined inclination threshold using the controller.
[0014] In some embodiments, controlling a motor based on the three-dimensional position of a shell may include: using a controller to determine that the three-dimensional position of the shell indicates that the inclination angle has been greater than a predetermined inclination angle threshold for longer than a predetermined time period; and using the controller to prevent or stop the operation of the motor in response to determining that the inclination angle has been greater than a predetermined inclination angle threshold for longer than a predetermined time period.
[0015] In some embodiments, the predetermined tilt angle threshold may include a tilt threshold and a roll threshold, each of which is associated with a corresponding predetermined time period. In some embodiments, (i) a first angle value of the tilt threshold is higher than a second angle value of the roll threshold. In some embodiments, (ii) a first time value of a first predetermined time period associated with the tilt threshold is greater than a second time value of a second predetermined time period associated with the roll threshold. In some embodiments, both (i) and (ii) are true.
[0016] In some embodiments, the predetermined tilt angle threshold includes a first tilt angle threshold and a second tilt angle threshold, and the first tilt angle threshold and the second tilt angle threshold are each associated with a corresponding predetermined time period. In some embodiments, (i) a first angle value of the first tilt angle threshold is lower than a second angle value of the second tilt angle threshold, and (ii) a first time value of the first predetermined time period associated with the first tilt angle threshold is higher than a second time value of the second predetermined time period associated with the second tilt angle threshold.
[0017] In some embodiments, controlling a motor based on a three-dimensional position of a shell includes: using a controller to determine that the three-dimensional position of the shell indicates an inclination angle that is less than a second predetermined inclination angle threshold, and using the controller to allow operation of the motor in response to (i) determining that the three-dimensional position of the shell indicates an inclination angle that is less than the second predetermined inclination angle threshold, and (ii) receiving user input indicating that the motor should operate.
[0018] The lawn mower described herein includes a housing, one or more cutting blades, and a motor configured to rotate the one or more cutting blades. The lawn mower may also include a handle extending from the housing and configured to be manipulated by a user during operation of the lawn mower. The lawn mower may also include an inertial measurement device configured to generate data indicating the orientation of the housing. The lawn mower may also include a controller connected to the motor and to the inertial measurement device. The controller may be configured to receive data indicating the orientation of the housing from the inertial measurement device. The controller may also be configured to determine the orientation of the housing based on the data. The orientation of the housing indicates whether the orientation of the housing is desired for the operation of the lawn mower. The controller may also be configured to control the lawn mower to be in one of a plurality of states based on the orientation of the housing.
[0019] In some embodiments, the plurality of states may include a ready state, an operating state, and a stopped state, in which the motor is not operating but is permitted to operate in response to a user input indicating that the motor should operate, an operating state, in which the motor is operating, and a stopped state in which the motor is disabled and configured not to operate regardless of whether the user input indicates that the motor should operate. In some embodiments, the controller may be configured to: determine that the orientation position of the housing indicates that the housing is experiencing an inclination greater than a predetermined inclination threshold, and in response to determining that the orientation position of the housing indicates that the housing is experiencing an inclination greater than the predetermined inclination threshold, transition the mower to a stopped state to prevent or stop operation of the motor.
[0020] In some embodiments, the controller may be configured to implement a hysteresis analysis for transitioning between at least two of the plurality of states by changing from a first state to a second state in response to (i) receiving a predetermined amount of data samples indicating a consistent orientation of the mower, or (ii) receiving data samples indicating a consistent orientation of the mower within a predetermined time period. In some embodiments, the first predetermined amount of data samples or the first predetermined time period during which data samples indicating a consistent orientation of the mower are received to transition from the first state to the second state may be different from the second predetermined amount of data samples or the second predetermined time period during which data samples indicating a consistent orientation of the mower are received to transition (i) from the second state to the first state, (ii) from the first state to the third state, (iii) from the third state to the first state, or between other states.
[0021] Before explaining any embodiment in detail, it should be understood that the embodiment does not limit its application to the configuration details and component arrangements set forth in the following description or shown in the accompanying drawings. The embodiments can be practiced or implemented in various ways. In addition, it is to be understood that the words and terms used herein are for illustrative purposes and should not be considered restrictive. The use of "including", "comprising" or "having" and variations thereof is intended to cover the items listed thereafter and their equivalents, as well as additional items. Unless otherwise specified or limited, the terms "mount", "connect", "support" and "couple" and variations thereof are used broadly, and these terms cover both direct mounting, connection, support and coupling and indirect mounting, connection, support and coupling.
[0022] In addition, it should be understood that embodiments may include hardware, software, and electronic components or modules, which, for the purpose of discussion, may be shown and described as if most components are implemented only in hardware. However, those of ordinary skill in the art will recognize, based on reading this detailed description, that in at least one embodiment, electronic-based aspects may be implemented in software (e.g., stored on a non-transient computer-readable medium) that may be executed by one or more processing units (e.g., microprocessors and / or application-specific integrated circuits ("ASICs")). Thus, it should be noted that embodiments may be implemented using a plurality of hardware- and software-based devices and a plurality of different structural components. For example, the "server," "computing device," "controller," "processor," etc. described in the specification may include one or more processing units, one or more computer-readable medium modules, one or more input / output interfaces, and different connectors (e.g., a system bus) connecting components.
[0023] Relative terms used in conjunction with quantities or conditions, such as "about", "approximately", "substantially", etc., will be understood by those of ordinary skill in the art to include the stated value and have the meaning dictated by the context (e.g., the term includes at least the degree of error associated with measurement accuracy, the tolerance associated with a particular value [e.g., manufacturing, assembly, use, etc.], etc.). Such terms should also be considered to disclose a range defined by the absolute values of the two endpoints. For example, the expression "from about 2 to about 4" also discloses a range "from 2 to 4". Relative terms can refer to plus or minus a percentage of the indicated value (e.g., 1%, 5%, 10%, or more).
[0024] It should be understood that although some drawings show the hardware and software in a particular device, these depictions are for illustrative purposes only. The function described herein as being performed by a component can be performed in a distributed manner by multiple components. Likewise, the function performed by multiple components can be merged and performed by a single component. In some embodiments, the components shown can be combined or divided into separate software, firmware and / or hardware. For example, logic and processing can be distributed between multiple electronic processors, rather than being located in a single electronic processor and performed by it. Regardless of how hardware components and software components are combined or divided, hardware components and software components can be located on the same computing device or can be distributed between different computing devices connected by one or more networks or other suitable communication links. Similarly, components described as performing specific functions can also perform additional functions not described herein. For example, a device or structure "configured" in a certain way is configured at least in this way, but can also be configured in a way that is not explicitly listed. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 is a lawn mower according to some embodiments.
[0026] FIG. 2A to FIG. 2B According to some embodiments Figure 1 A perspective view of the handle of a lawn mower.
[0027] Figure 3A is a perspective view of the handle of FIG. 2 with a portion of the housing removed to illustrate the contactless switch assembly, according to some embodiments.
[0028] Figure 3B According to some embodiments Figure 3A A perspective view of a contactless switch assembly.
[0029] Figure 4 According to some embodiments Figure 3B A perspective view of a contactless switch assembly with the lower housing removed.
[0030] Figure 5 According to some embodiments Figure 3B Exploded view of the contactless switch assembly.
[0031] FIG. 6A to FIG. 6C According to some embodiments Figure 3B A perspective view of a contactless switch assembly.
[0032] FIG. 7A to FIG. 7B According to some embodiments Figure 3B A perspective view of a contactless switch assembly with the lower housing removed.
[0033] Figure 8is a perspective view of another embodiment of a contactless switch assembly according to some embodiments.
[0034] Fig. 9 According to some embodiments Figure 8 Exploded view of the contactless switch assembly.
[0035] Fig.10 According to some embodiments Figure 8 A perspective view of a contactless switch assembly with the lower housing removed.
[0036] Fig.11 According to some embodiments Figure 8 A perspective view of a contactless switch assembly.
[0037] Fig.12 is a perspective view of a battery pack according to another embodiment.
[0038] Fig.13 According to some embodiments Figure 1 Block diagram of the control system of a lawn mower.
[0039] Fig.14 According to some embodiments Fig.12 Block diagram of the control system of the battery pack.
[0040] Fig.15 According to some embodiments, Fig.13 A block diagram of a method performed by a controller.
[0041] Fig.16 The device is shown in a storage position and in an upright position according to some embodiments. Figure 1 lawn mower.
[0042] Fig.17 Shows a side inclined relative to the ground according to some embodiments Figure 1 and Fig.16 lawn mower.
[0043] Fig.18 According to some embodiments, Fig.13 State diagram of the control system implementation.
[0044] Fig.19 According to some embodiments, Fig.13 A block diagram of another method performed by a controller. DETAILED DESCRIPTION
[0045] Figure 1A lawn mower 10 (e.g., a walk-behind / push lawn mower 10) is shown according to one embodiment. The lawn mower 10 includes a housing 12 and a handle 16 coupled to the housing 12 via a support beam 14. A motor housing 18 is coupled to an upper portion of the housing 12 and houses a motor configured to drive a cutting blade 20. The blade 20 is coupled to a lower portion of the housing 12. The lawn mower 10 includes a plurality of wheels 22 driven by the motor. In some embodiments, the plurality of wheels 22 are driven by an auxiliary motor within the motor housing 18.
[0046] FIG. 2A to FIG. 2B The handle 16 according to some embodiments is shown. The handle 16 includes a handle housing 24. A first paddle 26a and a second paddle 26b (e.g., paddles 26) extend from the handle housing 24 and function as switches or triggers. Accordingly, as described in more detail below, operation of the first paddle 26a and the second paddle 26b can drive the motor and / or assist the motor. Figure 3A As shown, the contactless switch assembly 29 is located within the handle housing 24 .
[0047] Figure 3B A contactless switch assembly 29 including a contactless switch 30, an upper housing 32 and a lower housing 34 is shown. The contactless switch 30 is located outside the upper housing 32 and the lower housing 34. Placing the contactless switch 30 outside the housing (i.e., the upper housing 32 and the lower housing 34 combination) helps prevent dust, water and other particles from entering the housing. Since there are fewer components in the housing, the contactless switch assembly 29 can also become smaller. When the paddle 26 is operated, the contactless switch 30 rotates around the pivot point 35. In some embodiments, the contactless switch 30 includes an upper portion 31 that contacts the paddle 26. The movement of the contactless switch 30 is limited by the first protrusion 36a and the second protrusion 36b. Figure 4 A perspective view of the back of the contactless switch assembly 29 with the lower housing 34 removed is provided. A printed circuit board (PCB) 40 is coupled to the upper housing 32. A magnet 42 is positioned in the center of the PCB 40 and coupled to the contactless switch 30 such that rotation of the contactless switch 30 causes rotation of the magnet 42. The PCB 40 includes, for example, one or more Hall effect sensors 50 (see FIG. 1 ) proximate the magnet 42. Figure 7B ) for sensing changes in magnetic flux as magnet 42 rotates. In some embodiments, components of PCB 40 are covered with room temperature vulcanizing ("RTV") silicone or ultraviolet ("UV") glue to protect the components from dust, water, and other particles.
[0048] Figure 5An exploded view of the contactless switch assembly 29 is shown. The contactless switch 30 is coupled to the upper housing 32. The magnet 42 is placed within a rotator 44, which is coupled to the contactless switch 30 through the upper housing 32. The PCB 40 is located adjacent to the magnet 42, the rotator 44, and the upper housing 32. In some embodiments, the magnet 42 includes a locating feature for insert molding or press fit. The lower housing 34 is located above the PCB 40 and is selectively coupled to the upper housing 32. Fig. 6A As shown, lower housing 34 is coupled to upper housing 32 via clamps 45 . Figure 6B An alternative view of the contactless switch assembly 29 is shown. As shown, the PCB 40 can be extruded from the upper housing 32 and the lower housing 34 to make electrical connections with the PCB 40. Figure 6C Additional perspective views of the contactless switch assembly 29 are provided.
[0049] FIG. 7A to FIG. 7B A perspective view of the contactless switch assembly 29 is shown with the lower housing 34 removed. The PCB 40 may be coupled to the upper housing 32 via the first pin 48a, the second pin 48b, and the snap assembly 49. In addition, the PCB 40 may include a first corner 47a and a second corner 47b that are rounded corners.
[0050] Figures 8 to 11 Several views of a contactless switch assembly 29 according to another embodiment are shown. For example, Fig. 9 A PCB 40 is provided that is coupled to a lower housing 34. A magnet 42 is coupled between the PCB 40 and the contactless switch 30 such that rotation of the contactless switch 30 causes rotation of the magnet 42. The upper housing 32 is in turn coupled to the lower housing 34. The lower housing 34 includes a rod 60 configured to hold the PCB 40, the magnet 42, and the contactless switch 30 in place. Figures 8 to 11 In the embodiment of FIG. 1 , the contactless switch 30 is located inside the combined upper housing 32 and lower housing 34 .
[0051] In some embodiments, lawn mower 10 is a battery powered lawn mower. Fig.12 A battery pack 100 is shown including a housing 105 and an interface portion 110 for connecting the battery pack 100 to a device such as a lawn mower 10 .
[0052] Fig.13A controller 200 is shown for the lawn mower 10. The controller 200 is electrically and / or communicatively connected to a plurality of modules or components of the lawn mower 10. For example, the controller 200 shown is connected to an indicator 245, auxiliary sensors 272 (e.g., speed sensors, voltage sensors, temperature sensors, current sensors, etc.), a paddle 26 (via a contactless switch 30 and a rotation sensor 159), a power switch network 255, and a power input unit 260. In some embodiments, the auxiliary sensors 272 include, among other things, an inertial measurement unit (IMU) 290 (e.g., an inertial measurement device 290) configured to detect an orientation of the housing 12 of the lawn mower 10. In some embodiments, the IMU 290 is configured to communicate with the controller 200 using a particular protocol (e.g., an inter-integrated circuit [I2C], a serial peripheral interface [SPI], etc.).
[0053] In some embodiments, the IMU 290 includes at least one of a gyroscope 292, an accelerometer 294, and another orientation sensing device (e.g., a magnetometer). The gyroscope 292 can be configured to measure the angular velocity of the housing 12 of the mower 10. The accelerometer 294 can be configured to measure the acceleration of the housing 12 of the mower 10. In some embodiments, the controller 200 uses data from the IMU 290 to determine whether to prevent, allow, and / or stop the operation of the mower 10 (e.g., the operation of the motor 280 that drives the blade 20 and / or the operation of the auxiliary motor that drives one or more wheels 22) based on the determined orientation of the housing 12 of the mower 10, as explained in more detail below.
[0054] The controller 200 includes a plurality of electrical and electronic components that provide power, operational control, and protection for the components and modules within the controller 200 and / or the lawn mower 10. For example, the controller 200 includes, among other things, a processing unit 205 (e.g., a microprocessor, an electronic processor, an electronic controller, a microcontroller, or other suitable programmable device), a memory 225, an input unit 230, and an output unit 235. In some cases, the controller 200 may be referred to as an electronic processor, and / or the actions performed by the controller 200 may be referred to as being performed by the electronic processor. The processing unit 205 includes, among other things, a control unit 210, an arithmetic logic unit ("ALU") 215, and a plurality of registers 220 (in the example of FIG. 1 ). Fig.13200 is shown as a set of registers) and is implemented using a computer architecture (e.g., a modified Harvard architecture, a von Neumann architecture, etc.). The processing unit 205, the memory 225, the input unit 230, the output unit 235, and the multiple modules connected to the controller 200 are connected via one or more control buses and / or data buses (e.g., a common bus 240). For the purpose of illustration, the control bus and / or data bus are generally Fig.13 In view of the embodiments described herein, it is known to those skilled in the art to use one or more control buses and / or data buses for interconnection and communication between multiple modules and components.
[0055] The memory 225 is a non-transient computer readable medium and includes, for example, a program storage area and a data storage area. The program storage area and the data storage area may include a combination of different types of memory, such as ROM, RAM (e.g., DRAM, SDRAM, etc.), EEPROM, flash memory, hard disk, SD card or other suitable magnetic storage device, optical storage device, physical storage device or electronic storage device. The processing unit 205 is connected to the memory 225 and executes software instructions, which can be stored in the RAM of the memory 225 (e.g., during execution), the ROM of the memory 225 (e.g., on a generally permanent basis) or another non-transient computer readable medium such as another memory or disk. The software included in the embodiment of the lawn mower 10 can be stored in the memory 225 of the controller 200. The software includes, for example, firmware, one or more application programs, program data, filters, rules, one or more program modules and other executable instructions. The controller 200 is configured to obtain from the memory 225 and execute instructions related to the control process and method described herein in particular. In other embodiments, the controller 200 includes additional components, fewer components or different components.
[0056] The controller 200 drives the motor 280 to rotate the blade 20 and / or the plurality of wheels 22 in response to the user's actuation of the paddle 26. The paddle 26 is pressed to actuate the contactless switch 30. The magnet 42 connected to the contactless switch 30 rotates with the actuation of the contactless switch 30. The rotation of the magnet 42 is sensed by the rotation sensor 159, which outputs a signal to the controller 200 to drive the motor 280, thereby driving the blade 20 and / or the plurality of wheels 22. In some embodiments, the controller 200 controls the power switch network 255 (e.g., a FET switch bridge) to drive the motor 280. For example, the power switch network 255 may include a plurality of high-side switch elements (e.g., FETs) and a plurality of low-side switch elements. The controller 200 may control each of the plurality of high-side switch elements and the plurality of low-side switch elements to drive each phase of the motor 280. When the paddle 26 is released, the controller 200 may apply a braking force to the motor 280. For example, the power switch network 255 may be controlled to decelerate the motor 280 more quickly. In some embodiments, the controller 200 drives one or more auxiliary motors to drive the plurality of wheels 22. For example, the motor 280 is controlled to drive the blade 20, and the auxiliary motor is controlled to drive the plurality of wheels 22. The auxiliary motor may be controlled by a second power switch network.
[0057] Indicator 245 is also connected to controller 200 and receives control signals from controller 200 to turn on and off or otherwise communicate information based on different states of lawn mower 10. Indicator 245 includes, for example, one or more light emitting diodes (LEDs) or a display screen. Indicator 245 can be configured to display the condition of lawn mower 10 or information associated with the lawn mower.
[0058] The battery pack interface 250 is connected to the controller 200 and is configured to couple with the battery pack 100. The battery pack interface 250 includes a combination of mechanical components (e.g., a battery pack receiving portion) and electrical components that are configured and operable to interface (e.g., mechanically, electrically, and communicatively connect) the lawn mower 10 with the battery pack 100. The battery pack interface 250 is coupled to a power input unit 260. The battery pack interface 250 transmits power received from the battery pack 100 to the power input unit 260. The power input unit 260 includes active components and / or passive components (e.g., a buck controller, a voltage converter, a rectifier, a filter, etc.) to regulate or control the power received through the battery pack interface 250 and provided to the controller 200. In some embodiments, the battery pack interface 250 is also coupled to a power switch network 255. The operation of the power switch network 255 controlled by the controller 200 determines how power is supplied to the motor 280.
[0059] Fig.14A control system for a battery pack 100 is shown. The control system includes a controller 300. The controller 300 is electrically and / or communicatively connected to a plurality of modules or components of the battery pack 100. For example, the controller 300 is shown connected to one or more battery cells 305 and an interface 310 (e.g., Fig.12 100). The controller 300 is also connected to one or more voltage sensors or voltage sensing circuits 315, one or more current sensors or current sensing circuits 320, and one or more temperature sensors or temperature sensing circuits 325. The controller 300 includes a combination of hardware and software that are operable to, among other things, control the operation of the battery pack 100, monitor the condition of the battery pack 100, enable or disable charging of the battery pack 100, enable or disable discharging of the battery pack 100, etc.
[0060] The controller 300 includes a plurality of electrical and electronic components that provide power, operational control, and protection for the components and modules within the controller 300 and / or the battery pack 100. For example, the controller 200 includes, among other things, a processing unit 335 (e.g., a microprocessor, a microcontroller, or another suitable programmable device), a memory 340, an input unit 345, and an output unit 350. The processing unit 335 includes, among other things, a control unit 355, an arithmetic logic unit ("ALU") 360, and a plurality of registers 365 (in Fig.14 The processing unit 335, the memory 340, the input unit 345, the output unit 350, and the multiple modules or circuits connected to the controller 200 are connected through one or more control buses and / or data buses (e.g., the common bus 370). For the purpose of illustration, the control bus and / or data bus are generally Fig.14 In view of the invention described herein, it is known to those skilled in the art to use one or more control buses and / or data buses for interconnection and communication between multiple modules, circuits and components.
[0061] The memory 340 is a non-transient computer-readable medium and includes, for example, a program storage area and a data storage area. The program storage area and the data storage area may include a combination of different types of memory, such as ROM, RAM (e.g., DRAM, SDRAM, etc.), EEPROM, flash memory, hard disk, SD card or other suitable magnetic storage device, optical storage device, physical storage device or electronic storage device. The processing unit 335 is connected to the memory 340 and executes software instructions, which can be stored in the RAM of the memory 340 (e.g., during execution), the ROM of the memory 340 (e.g., on a generally permanent basis), or another non-transient computer-readable medium such as another memory or disk. The software included in the embodiment of the battery pack 100 can be stored in the memory 340 of the controller 200. The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. The controller 300 is configured to obtain from the memory 340 and execute instructions related to the control process and method described herein, in particular. In other configurations, the controller 300 includes additional components, fewer components, or different components.
[0062] The interface 310 includes a combination of mechanical components (e.g., tracks, grooves, latches, etc.) and electrical components (e.g., one or more terminals) that are configured and operable to interface (e.g., mechanically, electrically, and communicatively connect) the battery pack 100 with another device (e.g., a power tool, a battery pack charger, a lawn mower 10, etc.). For example, the interface 310 is configured to receive power via a power line between one or more battery cells 305 and the interface 310. The interface 310 is also configured to be communicatively connected to the controller 300.
[0063] Fig.15 A method 400 for controlling the output of a lawn mower 10 according to some embodiments is provided. At box 405, an input switch of the lawn mower is actuated. For example, the paddle 26 is actuated, thereby rotating the contactless switch 30. At box 410, the magnet 42 is rotated. For example, the rotation of the contactless switch 30 causes the rotation of the magnet 42.
[0064] At box 415, the rotation sensor 159 sensor detects the change of the magnetic field generated by the rotating magnet. In one embodiment, the rotation sensor 159 is a rotary Hall effect magnetic sensor. The rotation sensor 159 can be configured to detect the change of the magnetic flux density component caused by the rotation of the magnet. At box 420, the rotation sensor 159 converts the sensed magnetic field into an output signal, which can be provided to a controller, such as the controller 200 described above. In some embodiments, the rotation sensor 159 is an analog sensor. In some embodiments, the output of the rotation sensor 159 is a voltage that changes linearly with the rotation of the magnet 42. However, in other examples, the output can be a nonlinear output, such as a step output, a logarithmic output, etc.
[0065] At block 425, the controller 300 controls the motor 280 based on the received sensor output when receiving the output of the rotation sensor 159. For example, as described above, the controller 300 receives the output from the rotation sensor 159 and drives the motor 280 by controlling the power switch network 255 based on the output from the rotation sensor 159. In some embodiments, the controller 300 controls the output of the auxiliary motor based on the received sensor output.
[0066] In some embodiments, the rotation sensor 159 is a digital magnetic sensor that senses changes in a magnetic field in addition to or in place of an analog sensor in block 415. In these embodiments, the digital magnetic sensor converts the sensed magnetic field into a digital output.
[0067] As mentioned above, in some embodiments, the controller 200 utilizes data from the IMU 290 to determine whether to prevent, allow, and / or stop operation of the mower 10 (e.g., operation of the motor 280 that drives the blade 20 and / or operation of the auxiliary motor that drives one or more wheels 22) based on the determined orientation of the housing 12 of the mower 10. In other words, the data from the IMU 290 allows the controller 200 to prevent and / or stop operation of the mower 10 in response to determining that the mower 10 is in a storage position or in an orientation that is not desirable for operation.
[0068] For example, Fig.16 The lawn mower 10 is shown in a storage position and in an upright position on the ground 1605, with the handle 16 and support beam 14 folded toward the housing 12. Because the housing 12 of the lawn mower 10 is in an upright position (e.g., at a rearward angle of approximately ninety degrees relative to the ground 1605) and the blade 20 is exposed, the storage position is an undesirable position for operation. As another example, Fig.17The lawn mower 10 is shown with its side tilted relative to the ground 1605 (e.g., the side tilt angle relative to the ground 1605 is about ninety degrees). Similarly, because the blade 20 within the housing 12 is exposed, Fig.17 The tilted position shown is an undesirable position for operation.
[0069] In some embodiments, the controller 200 is configured to use data from the gyroscope 292, the accelerometer 294, or both the gyroscope and the accelerometer to determine the three-dimensional orientation of the housing 12 of the mower 10. For example, data from the IMU 290 allows the controller 200 to detect changes in motion, changes in force, or both changes in motion and force experienced by the housing 12 of the mower 10. By maintaining a reference to the ground 1605, the IMU 290 can be configured to output differences caused by the changes in motion, changes in force, or both changes in motion and force relative to the reference to the ground 1605. The controller 200 can be configured to compare the values from the IMU 290 to one or more thresholds to determine whether the mower 10 is in a stored position and / or in another position that is not desired for operation.
[0070] In some embodiments, the IMU 290 provides data corresponding to the tilt / orientation of the housing 12 in multiple directions (e.g., front, back, sides, etc.). For example, the type of gyroscope 292 and / or accelerometer can be 3-axis, 6-axis, or 9-axis. In some embodiments, the controller 200 can use different thresholds (i.e., set points) of tilt angle and / or time to determine the undesirable operating position for each direction and / or direction combination. For example, the tilt-off threshold can be higher than the roll-off threshold because it can be expected that during operation, the user pushes down on the handle 16 to slightly raise the front wheel 22 (i.e., tilt back) when turning the mower 10. In some embodiments, depending on whether the three-dimensional orientation of the mower 10 is within one or more thresholds or ranges and / or depending on whether the paddle 26 is actuated, the controller 200 will control the mower 10 to be in one of three different states: a "ready" state 1805, an "operating" state 1810, and a "stopped" state 1815.
[0071] In some embodiments, the operational state is a state in which the mower 10 operates normally and both the motor 280 and the auxiliary motor are permitted to operate, assuming a user input is received that instructs the mower 10 to operate (e.g., by actuating the paddle 26). In some embodiments, the stopped state indicates that the mower 10 has exceeded at least one of the thresholds for an undesirable orientation, and the motor 280 and the auxiliary motor will not be permitted to operate even if the paddle 26 is actuated. Upon wakeup or reset, the controller 200 may be configured to enter the ready state and begin polling the IMU 290 to determine the orientation of the mower 10 to determine whether a change in orientation should prompt a change in the control state of the mower 10. In some cases, in the ready state, the mower 10 may be configured to operate (e.g., enable the motor 280 and / or the auxiliary motor) in response to receiving a user input that instructs the mower 10 to operate (e.g., by actuating the paddle 26). In response to receiving a user input that instructs the mower 10 to operate, the controller 200 may enter the operational state. While in the ready state, if the controller 200 determines that the lawn mower 10 has exceeded at least one of the thresholds for an undesirable orientation, the controller 200 may enter a stopped state to prevent the motor 280 and the auxiliary motor from operating even if the paddle 26 is actuated.
[0072] Fig.18 A state diagram 1800 implemented by the controller 200 of the lawn mower 10 is shown according to some exemplary embodiments. The state diagram 1800 shows how the controller 200 transitions between the ready state, the operating state, and the stopped state as explained above. In some cases, the controller 200 may not directly or immediately transition from the stopped state 1815 to the operating state 1810. In other words, in some cases, the state change arrow from the stopped state 1815 to the operating state 1810 may not exist. In contrast, if the controller 200 is in the stopped state 1815 when the paddle 26 is actuated, and the controller 200 determines that the operating position of the lawn mower 10 has changed from an undesirable operating position to a desired operating position, the controller 200 may transition to the ready state 1805 until the paddle 26 is released and re-actuated when the lawn mower 10 is in the desired operating position. As another example, if the controller 200 is in the stopped state 1815 when the paddle 26 is actuated, and the controller 200 determines that the operating position of the lawn mower 10 has changed from an undesirable operating position to a desired operating position, the controller 200 may wait for a predetermined period of time (e.g., one second, three seconds, etc.) before entering the operating state 1810 and enabling the motor 280 and / or the auxiliary motor.
[0073] In some embodiments, the controller 200 or the IMU 290 performs internal calculations to convert raw data from the IMU 290 (e.g., from the gyroscope 292, the accelerometer 294, or both) into a three-dimensional position indicative of the orientation of the housing 12. In some embodiments, the internal calculations include at least one of (i) a filtering scheme to prevent nuisance indication / detection of an undesired orientation, and (ii) a hysteresis analysis for transitioning between states 1805, 1810, 1815 (e.g., between an operating state 1810 and a stopped state 1815, which can be referred to as an "on" state and an "off" state, respectively, relative to the motor 280 and the auxiliary motor).
[0074] For example, the filtering scheme may average multiple data samples from the IMU 290 over a predetermined period of time or for a predetermined number of consecutive data samples. Such averaging / filtering may prevent abnormal data samples (e.g., caused by the lawn mower 10 colliding with an object in the lawn) from falsely indicating that the lawn mower 10 is in an undesired orientation. In other words, due to the filtering scheme, data samples that are outliers relative to the surrounding data samples may be eliminated to prevent the controller 200 from detecting an undesired orientation, thereby almost immediately detecting the desired orientation.
[0075] As an example of a hysteresis analysis for transitioning between two of the states 1805, 1810, 1815, the controller 200 may refrain from changing states (particularly from the stopped state 1815 to the operating state 1810) until a predetermined number of consecutive data samples or a consecutive averaged set of data samples indicate that the mower 10 has changed orientation. In some cases, the controller 200 may refrain from changing states until a data sample or set of data samples indicating that the mower 10 has changed orientation is received from the IMU 290 within a predetermined time period. For example, the controller 200 may refrain from changing states when a single data sample or a single averaged set of data samples indicates that the orientation of the mower 10 has changed from undesirable to desired, because such data sample information may be caused by a user bumping the mower 10 rather than an actual change in the orientation of the mower 10. Accordingly, switching states in response to a certain number of data samples or a predetermined time period of consistent data samples avoids frequent switching (e.g., harmful switching) of operating states when the orientation of the mower 10 has not actually changed. For example, when the controller 200 switches to the stop state 1815, the controller 200 may not be able to switch back to the operating state 1810 within a predetermined time period (e.g., one second, three seconds, etc.) to receive data samples indicating that the lawn mower 10 has changed orientation to return to the orientation desired for operation.
[0076] In some cases, the average number of data samples and / or the predetermined time period used in the above filtering scheme and / or hysteresis analysis may be different depending on the current state of the controller 200 and / or depending on the state that the data samples indicate the controller 200 should be switched to. As explained in the above example, when the controller 200 switches to the stop state 1815, the controller 200 may not be able to switch back to the operating state 1810 within a first predetermined time period (e.g., three seconds, etc.). However, when the controller 200 switches from the stop state 1815 or the ready state 1805 to the operating state 1810, if one or more data samples from the IMU 290 indicate an undesirable orientation of the lawn mower 10, the controller 200 may be able to switch to the stop state 1815 immediately. Alternatively, when the controller 200 switches from the stop state 1815 or the ready state 1805 to the operating state 1810, the controller 200 may not be able to switch to the stop state 1815 within a second predetermined time period (e.g., 100 milliseconds, etc.) that is less than the first predetermined time period. The controller 200 may operate in a manner that prevents frequent switching between states (ie, nuisance switching) while still allowing the lawn mower 10 to shut down quickly in response to an undesired orientation detected based on one or more data samples from the IMU 290 .
[0077] In some embodiments, the thresholds that cause the controller 200 to determine whether the mower 10 is in a desired orientation or an undesired orientation may be different depending on the current state of the controller 200 and / or depending on the state to which the data samples indicate the controller 200 should switch. For example, a first threshold (e.g., a first tilt-off threshold) that causes the controller 200 to leave the operating state 1810 and enter the stop state 1815 to stop the operation of the motor 280 and / or the auxiliary motor may include an inclination of thirty degrees or more. Continuing with this example, a second threshold (e.g., a first restart threshold) that causes the controller 200 to enter the operating state 1810 to start or restart the operation of the motor 280 and / or the auxiliary motor may include an inclination angle that is less than the inclination angle of the first threshold (e.g., an inclination angle of ten degrees or less). Such different thresholds can prevent inadvertent shutdown of the mower 10 during operation (e.g., when a user pushes down on the handle 16 to raise the front wheels 22 to between zero and 29.99 degrees of rearward tilt), and can prevent the mower 10 from starting or restarting unless the mower 10 is in an orientation with little or no rearward tilt (e.g., less than ten degrees of rearward tilt).
[0078] In some cases, the controller 200 may operate according to a plurality of different timing thresholds and inclination thresholds that are associated with each other so that the controller 200 changes states. For example, a first inclination threshold of twenty degrees may allow the mower 10 to remain in operation (e.g., in the operating state 1810) as long as the first inclination threshold is not exceeded within a first predetermined time period (e.g., two seconds, three seconds, etc.). However, if the first inclination threshold is exceeded for longer than the first predetermined time period, the controller 200 may switch from the operating state 1810 to the stop state 1815 to stop the operation of the mower 10. As another example, a second inclination threshold (e.g., fifty degrees) that is higher than the first inclination threshold may allow the mower 10 to remain in operation for a second shorter predetermined time period (e.g., 100 milliseconds, 500 milliseconds, etc.), or may stop the operation of the mower 10 immediately (e.g., a second predetermined time period of zero seconds) in response to exceeding the second inclination threshold. Such different timing thresholds and inclination thresholds allow the controller 200 to react more quickly to situations where the blade 20 is more exposed due to a greater inclination angle. In each of the above examples, the timer monitoring the corresponding predetermined period of time may be reset to zero in response to one or more data samples from the IMU 290 indicating that the inclination angle of the lawn mower 10 no longer exceeds the corresponding inclination threshold value.
[0079] Fig.19 Is Fig.13 1900 is a block diagram of a method 1900 performed by the controller 200 of the control device 200 to control the lawn mower 10 according to the orientation of the lawn mower 10 determined based on data received from the IMU 290. At box 1905, data is received from the IMU 290 (e.g., from the gyroscope 292, the accelerometer 294, or both the gyroscope 292 and the accelerometer 294).
[0080] At block 1910, the data is converted into three-dimensional position data indicative of the orientation of the mower 10 (and / or a change in orientation of the mower 10 relative to previously received data). In some cases, the data from the gyroscope 292 is used in conjunction with the data from the accelerometer 294 to determine the three-dimensional position data indicative of the orientation of the mower 10. In some cases, the data from each of the gyroscope 292 and the accelerometer is independently converted / processed to determine the three-dimensional position data indicative of the orientation of the mower 10. For example, where data from only one of the gyroscope 292 and the accelerometer 294 is received (at block 1905), such data may be processed alone to determine the three-dimensional position data indicative of the orientation of the mower 10. In some cases, block 1910 is performed by the IMU 290 such that the controller 200 receives the converted / processed three-dimensional position data indicative of the orientation of the mower 10 (at block 1905). As previously explained herein, data from the IMU 290 allows the controller 200 (and / or the IMU itself) to detect changes in motion, changes in force, or both motion and force experienced by the housing 12 of the lawn mower 10 .
[0081] At block 1915, the controller 200 determines whether the lawn mower 10 is in a Fig.16 The controller 200 may determine whether the lawn mower 10 is in the storage position based on the three-dimensional position data calculated based on one or more data samples from the IMU 290. For example, the controller 200 may compare the three-dimensional position data with a first threshold value (e.g., an inclination threshold value) to determine whether the lawn mower 10 is in the storage position. For example, the inclination threshold value may include a third inclination threshold value close to ninety degrees (e.g., 70 degrees, 75 degrees, etc.).
[0082] In response to determining that the lawn mower 10 is in the storage position (at block 1915), at block 1920, the controller 200 turns off the lawn mower 10 or prevents the lawn mower 10 from turning on. In other words, in response to determining that the lawn mower 10 is in the storage position, the controller 200 enters or remains in the storage position. Fig.18 The stopped state 1815. Turning off the lawn mower 10 or preventing the lawn mower 10 from turning on (at block 1920) may include the controller 200 disabling the motor 280 and / or the auxiliary motor or preventing activation / operation of the motor 280 and / or the auxiliary motor.
[0083] On the other hand, in response to determining that the mower 10 is not in the stored position (at box 1915), at box 1925, the controller 200 determines whether the mower 10 is in an orientation desired for operation (e.g., a desired operating position / orientation). As previously explained herein, to determine whether the mower 10 is in the desired orientation, the controller 200 may compare the three-dimensional position data with one or more thresholds (e.g., tilt thresholds) to determine whether one or more tilt angles (e.g., rear / forward tilt angles, left / right tilt angles, etc.) are above a predetermined threshold (and in some cases, whether one or more tilt angles are above the predetermined threshold for a corresponding predetermined time period). In some cases, in response to determining that one or more tilt angles of the current orientation of the mower 10 are greater than the corresponding tilt angle thresholds, the controller 200 may determine that the mower 10 is not in an orientation desired for operation (i.e., the mower 10 is in an undesired orientation). As previously explained herein, the tilt angle thresholds used by the controller 200 for comparison at box 1925 may be different depending on the current state of the controller 200 and / or depending on the state to which the data sample indicates that the controller 200 should switch. As also explained previously herein, for different inclination angle thresholds, the predetermined time period for exceeding the respective inclination angle threshold in order to cause a change in the operating state of the lawn mower 10 / controller 200 may be different.
[0084] In response to determining that the lawn mower 10 is not in the desired orientation for operation (at block 1925), the controller 200, at block 1920, turns off the lawn mower 10 or prevents the lawn mower 10 from turning on. In other words, in response to determining that the lawn mower 10 is not in the desired orientation for operation (at block 1925), the controller 200 enters or remains in the Fig.18 The stop state is 1815.
[0085] On the other hand, in response to determining that the lawn mower 10 is in an orientation desired for operation (at block 1925), at block 1930, the controller 200 turns the lawn mower 10 on (if the paddle 26 is actuated) or allows the lawn mower 10 to continue to operate or turn on (again, if / when the paddle 26 is actuated). In other words, in response to determining that the lawn mower 10 is in an orientation desired for operation (at block 1925), the controller 200 enters or remains in the desired orientation. Fig.18 The operational state 1810 (if the paddle 26 is actuated) or the ready state 1805 (if the paddle 26 is not actuated).
[0086] Despite Fig.191815 , but in some cases, the controller 200 may enter a sleep mode (at block 1915) in response to determining that the lawn mower 10 is in a storage position. For example, in the sleep mode, the controller 200 may poll the IMU 290 less frequently to obtain data, or may stop receiving data from the IMU 290 until a user input (e.g., actuation of the paddle 26) or a detected orientation change causes the controller 200 to wake up from the sleep mode. In some such instances, when waking up from the sleep mode, the controller 200 may enter the stop state 1815 by default and poll the IMU 290 (e.g., for a predetermined period of time or a predetermined amount of data samples) to determine the orientation of the lawn mower 10.
[0087] Despite Fig.19 1915 and 1925 are shown separately, but in some cases, because the storage position is an undesirable orientation for operation of the lawn mower 10, the blocks 1915 and 1925 are combined together.
[0088] like Fig.19 As indicated, after executing blocks 1920 and / or 1930, the method 1900 returns to block 1905 to repeat so that the controller 200 repeatedly determines the orientation of the mower 10 and which operating state to remain in or enter based on the orientation of the mower 10 and the state of the paddle 26. As explained above, in some cases, the controller 200 may slow down or stop the repetition of the method 1900 when the controller 200 is in a sleep mode (e.g., in response to determining that the mower 10 is in a storage position).
[0089] As previously explained herein, in some cases, a filtering scheme and / or hysteresis analysis is implemented by the controller 200 during execution of the method 1900. For example, a debounce timer may be implemented by the controller 200 (e.g., at blocks 1915 and / or 1925) to ensure that the detected orientation of the mower 10 is consistent for the duration of the debounce time period and is not erroneously indicated based on, for example, the mower 10 very briefly contacting an object that alters data samples from the IMU 290. The debounce timer may be used to compare the value of the debounce timer to a predetermined time period that is associated with a corresponding inclination threshold value.
[0090] Thus, embodiments described herein provide, among other things, a lawn mower including an inertial measurement unit (IMU) and / or an accelerometer for orientation sensing.
Claims
1. A lawn mower, comprising: case; one or more cutting blades; a motor configured to rotate the one or more cutting blades; a handle extending from the housing and configured to be manipulated by a user during operation of the lawn mower; an inertial measurement device configured to generate data indicative of an orientation of the housing; as well as a controller coupled to the motor and to the inertial measurement device, the controller being configured to: receiving the data indicative of the orientation of the housing from the inertial measurement unit, determining a three-dimensional position of the housing based on the data, wherein the three-dimensional position of the housing indicates whether the orientation of the housing is desired for operation of the lawn mower, Based on the three-dimensional position of the housing, determining that the lawn mower is in a storage position, and The motor is controlled based on the three-dimensional position of the housing.
2. The lawn mower according to claim 1, wherein: The controller is configured to control the motor based on the three-dimensional position of the housing by: determining that the three-dimensional position of the housing indicates that the housing is experiencing an inclination angle greater than a predetermined inclination threshold; as well as In response to determining that the three-dimensional position of the housing indicates that the housing is experiencing an angle of inclination greater than the predetermined inclination threshold, operation of the motor is prevented or stopped.
3. The lawn mower according to claim 2, wherein: The controller is configured to control the motor based on the three-dimensional position of the housing by: determining that the three-dimensional position of the housing indicates that the inclination has been greater than the predetermined inclination threshold for longer than a predetermined period of time; and In response to determining that the inclination angle has been greater than the predetermined inclination angle threshold for longer than the predetermined period of time, operation of the motor is prevented or stopped.
4. The lawn mower according to claim 3, wherein: The predetermined tilt angle threshold includes a rear tilt threshold and a side tilt threshold, the rear tilt threshold and the side tilt threshold are each associated with a corresponding predetermined time period; and Wherein: (i) a first angle value of the tilt threshold is higher than a second angle value of the roll threshold, (ii) a first time value of a first predetermined time period associated with the tilt threshold is greater than a second time value of a second predetermined time period associated with the roll threshold, or both (i) and (ii).
5. The lawn mower according to claim 3, wherein: The predetermined tilt angle threshold comprises a first tilt angle threshold and a second tilt angle threshold, the first tilt angle threshold and the second tilt angle threshold are each associated with a corresponding predetermined time period; and wherein (i) a first angle value of the first tilt threshold is lower than a second angle value of the second tilt threshold, and (ii) a first time value of a first predetermined time period associated with the first tilt threshold is higher than a second time value of a second predetermined time period associated with the second tilt threshold.
6. The lawn mower according to claim 2, wherein: The controller is configured to control the motor based on the three-dimensional position of the housing by: Determining that the three-dimensional position of the housing indicates that the inclination angle is less than a second predetermined inclination angle threshold; as well as Operation of the motor is permitted in response to (i) determining that the three-dimensional position of the housing indicates that the inclination is less than the second predetermined inclination threshold, and (ii) receiving user input indicating that the motor should be operated.
7. The lawn mower according to claim 6, wherein: The second predetermined inclination angle threshold is smaller than the predetermined inclination angle threshold.
8. The lawn mower according to claim 1, wherein: The controller is configured to determine a three-dimensional position of the housing based on the data by executing a filtering scheme that includes averaging a plurality of data samples included in the data over a predetermined period of time or for a predetermined number of consecutive data samples.
9. The lawn mower according to claim 1, wherein: The controller is configured to: In response to determining that the lawn mower is in the storage position, entering a sleep mode until (i) the controller detects a user input, or (ii) the controller detects a change in the three-dimensional position of the housing, wherein the controller receives data from the inertial measurement device less frequently in the sleep mode than when the controller is not operating in the sleep mode.
10. A lawn mower comprising: case; one or more cutting blades; a motor configured to rotate the one or more cutting blades; a handle extending from the housing and configured to be manipulated by a user during operation of the lawn mower; an inertial measurement device configured to generate data indicative of an orientation of the housing; as well as a controller coupled to the motor and to the inertial measurement device, the controller being configured to: receiving the data indicative of the orientation of the housing from the inertial measurement unit, determining an orientation of the housing based on the data, wherein the orientation of the housing indicates whether the orientation of the housing is desired for operation of the lawn mower and whether the lawn mower is in a storage position; and The lawn mower is controlled to be in one of a plurality of states based on the orientation of the housing.
11. The lawn mower according to claim 10, wherein: The various states include: a ready state in which the motor is not operating but is enabled to operate in response to a user input indicating that the motor should operate; an operating state in which the motor is operating; and A stop state in which the motor is disabled and configured not to operate regardless of whether the user input indicates that the motor should operate.
12. The lawn mower according to claim 10, wherein: The controller is configured to: determining that the orientation of the housing indicates that the housing is experiencing an inclination angle greater than a predetermined inclination threshold; and In response to determining that the orientation of the housing indicates that the housing is experiencing an inclination angle greater than the predetermined inclination threshold, the lawn mower is transitioned to a stopped state to inhibit or stop operation of the motor.
13. The lawn mower of claim 10, wherein: The controller is configured to implement a hysteresis analysis for transitioning between at least two of the plurality of states by changing from a first state to a second state in response to (i) receiving a predetermined amount of data samples indicating a consistent orientation of the mower, or (ii) receiving data samples indicating a consistent orientation of the mower within a predetermined time period.
14. The lawn mower of claim 13, wherein: A first predetermined amount of data samples or a first predetermined time period during which data samples indicating a consistent orientation of the lawn mower are received so as to transition from the first state to the second state is different from a second predetermined amount of data samples or a second predetermined time period during which data samples indicating a consistent orientation of the lawn mower are received so as to (i) transition from the second state to the first state, (ii) transition from the first state to a third state, (iii) transition from the third state to the first state, or transition between other states.