Autonomous systems rely on sensors for performing autonomy. Hybrid systems (e.g., those that allow manual, semi-autonomous, and autonomous control) may suffer from various constraints, limiting the functionality and/or safety of the system. For example, designs optimized for manual control may be made at the cost of sensor coverage and vice versa, thereby impacting the convenience of a manual operator or the ability for the system to detect and operate safely while operating autonomously. Further, such systems may not have adequate means for alerting a user proximate the device regarding the state of the system or to have adequate emergency stop capabilities to protect persons and property from inadvertent damage.
The invention will now be described, by way of example, with reference to the accompanying drawings, where like numerals denote like elements, a leftmost numeral indicates the original figure in which the element is found, and in which:
The following detailed description describes techniques (e.g., methods, processes, and systems) that may be used by a lawn mower capable of autonomously mowing grass. In those examples described in detail herein in which one or more autonomous mowers may be used for mowing. If a plurality of autonomous lawn mowers are used in the mowing process, their activity is choreographed such that the mowers work together to complete a mowing task. Each mower comprises a suite of sensors and displays to enable the mower to understand its environment as well as communicate to human operators, technicians, managers, customers, and bystanders.
Generally speaking, a mower fleet comprises a plurality of individual mowers, which may be combinations of autonomous, semi-autonomous, and/or manually controlled mowers. Depending on the size of the mowing job, one or more mowers are allocated to a given site. On a given job site, the mowing may be performed using a mix of some autonomous mowers, some semi-autonomous mowers (e.g., those mowers which may have some capabilities which are autonomous and/or which are capable of operating autonomously for at least a portion of the time) and some mowers being driven by humans (i.e., manual mowers). Each autonomous or semi-autonomous mower has a suite of sensors to primarily facilitate autonomous or semi-autonomous mowing. Such sensors may comprise, for example, one or more of cameras, radar, pose (position and/or orientation) systems (including Global Positioning System (GPS) receiver and or a Global Navigation Satellite System (GLONASS) receiver), diagnostic sensors, Inertial Measurement Units (IMUs) (which in turn may comprise accelerometers, gyroscopes, magnetometers, etc.), torque sensors, wheel rotation sensors (e.g., rotary encoders, Hall sensors, etc.) or the like. This suite of sensors provides a view of the environment in which the autonomous mower is operating such that the mower can explore the environment to identify obstacles and generate mow patterns.
In one example, the sensor suite is mounted atop a podium that serves to position the sensor suite high above the ground to provide the sensors an optimal view of the mower surroundings. The podium also forms a control center behind which an operator may stand on a platform and manually control the mower, when necessary. The manual mower controls are positioned atop the podium for easy access by an operator standing on a platform located behind the podium. In additional or alternate examples, such a podium may comprise one or more features to improve both the access by the operator as well as function of the sensors. As a non-limiting example of such, portions of such a podium may be inclined (or raked) to promote a restful position of a user while simultaneously optimizing a field of view of one or more sensors attached thereto. Further, one or more portions of such a podium may extend out over one or more of the sensors (without impinging on a field of view) to eliminate or reduce glare or other interferences. As such, designs discussed in detail herein may improve the comfort of an operator while operating manually (or semi-autonomously) while optimizing sensor coverage and minimizing environmental impacts to sensor operation (whether in manual, semi-autonomous, or autonomous operation).
In addition, the mower communicates with operators, technicians, managers, customers, and bystanders through a number of communications channels. WiFi and cellular communication channels are used to communicate to local operators and technicians as well as communicate with remote data collection and analysis servers such that technicians, managers and customers may be informed of the mower status and activity. Various personnel may access mower status via mobile and/or desktop applications which connect through wireless communications channels directly to the mower and/or via one or more servers.
In one example, the mower itself may communicate to local personnel as well as bystanders via a visual communication channel. For example, the mower may comprise illuminating devices that change color and/or display graphics/text to indicate the status of the mower. In one particular example, the mower comprises an LED ribbon that circumscribes a portion of the mower such that the indicator ribbon is viewable from all positions surrounding the mower, i.e., a 360 degree indicator. As described below, the indicator displays various colors, text and/or graphics depending upon mower status.
The techniques described herein may provide a technical solution to a technical problem of determining a situational environment in which an autonomous mower is operating or has operated to optimize the behavior of the mower and/or a related mower fleet as well as communicate mower status through various channels to mower operations personnel and/or bystanders. The techniques described herein may improve the functioning of a computer through function optimization, improved processing efficiencies, improved and optimized autonomous behavior of mower(s), improved communications, etc. Such techniques may further improve the safe operation of such a mower when used such that users and others proximate the device may instantaneously recognize a state of the device (e.g., acting autonomously, experiencing a fault, undergoing a loss of communication, update status, etc.) and react accordingly. It would be appreciated that the techniques described herein would be equally applicable to any other service robotics platform and/or fleets thereof such as, but not limited to, other agricultural tasks—harvesting, planting, etc., naval tasks (whether submarine, surface vessel or otherwise), and the like.
As shown in
The mower deck control mechanism 114 couples the chassis 102 to the mower deck 112 may comprises actuator(s) to raise and lower the mower deck 112 relative to the chassis 102 and ground as well as an actuator (e.g., motor(s) 120A, 120B, 120C) to drive one or more blades (e.g., blades 400A, 400B, and 400C in
In an example, each rear wheel 106 may be coupled to a drive mechanism, e.g., at least one motor (e.g., motors 402A and 402B in
The podium 116 may comprise a front access panel 124 and side access panels 126 to facilitate access to an energy source (e.g., batteries or fuel tank) as well as drive mechanism(s), control electronics, communications electronics, sensor electronics or the like. The electronics and processes utilized to operate such an autonomous mower 100 are described in detail in U.S. patent application Ser. No. 16/985,495, filed 5 Aug. 2020 entitled “Autonomous Lawn Mower” (the '495 application) which is hereby incorporated herein by reference in its entirety.
The exterior of the podium 116 supports various sensors including but not limited to forward viewing camera(s) 126, rear viewing camera(s) 128, side viewing camera(s) 130A and 130B, and various radomes 132A, 132B, 132C and 132D which cover various antennas and sensors. The sensor elements used by the autonomous mower 100 and described in detail in the '495 application may include one or more of cameras (whether stereo, RGB, monochromatic, infrared, ultraviolet, hyperspectral, etc.), radar(s), lidar(s), acoustic sensors, accelerometer(s), gyroscope(s), torque sensor(s), magnetometer(s), location system(s), battery management systems, wheel encoder(s), motor sensor(s), orientation sensor(s), and/or the like. These sensors may be located within the radomes 132A, 132B, 132C and 132D or located elsewhere on the mower 100.
The sensors gather information regarding the environment surrounding the autonomous lawn mower 100 such that the mower 100 is able to autonomously mow a region of lawn within a specified boundary as well as identify obstacles to be avoided, ignored, or cause the mower to cease operation and request human assistance.
The mower 100 may also comprise an instrument panel 134 for enabling manual control of the mower 100. The instrument panel 134 may be removable. A description of an embodiment of the instrument panel and its operation is contained in commonly assigned U.S. patent application Ser. No. 16/891,281, filed 3 Jun. 2020, entitled “Control Interface For Autonomy,” which is hereby incorporated herein by reference in its entirety.
The podium 116 comprises four sidewalls 136A, 136B, 136C, 136D and a top portion 138. The sidewalls 136B and 136D may contain identical access panels 126. The front sidewall 136A may contain the access panel 124. The rear sidewall 136C supports a resilient pad 140 (typically, a foam pad) upon which an operator may position their knees or thighs while standing upon the platform (200 in
As depicted in the side view of
In one example, the top portion 138 of the podium 116, which supports many of the sensors that detect the environment surrounding the mower 100 and supports the communications antennas, is modular, i.e., the top portion 138 is removable from the podium 116. The top portion 138 comprises a substantially planar plate 150 that supports a plurality of radomes, for example, radomes 132A, 132B, 132C, 132D that protect various sensors and antennas. The four sides 152 of the top portion 138 also support a plurality of cameras 126, 128, 130A and 130B. By placing the sensors at the highest point on the mower 100, the sensors have an optimal view of the surrounding environment and the sky. In at least some examples, one or more portions of the podium may extend over one or more of the sensors (e.g., as illustrated in
In one example, the radomes 132A and 132D may contain a plurality of antennas for communication transceivers and position location receivers. For example, each radome 132A and 132D may contain two WiFi antennas, two cellular telephone (e.g., LTE antennas) and one GPS antenna. The radomes 132A and 132D are spaced apart from one another to reduce interference from objects and mitigate multipath interference.
In one example, the radome 132B comprises a GNSS antenna and is mounted along a centerline of the mower at a front edge 700 of the podium top portion 138. Such positioning provides an optimal view of the sky for GNSS functionality and provides spacing between the operator (when one is onboard) and the GNSS antenna to reduce interference. In another example, the radome 132B protects an antenna for GNSS receiver (both GPS and GLONASS), an antenna for a cellular communications transceiver (e.g., LTE) and an antenna for a WiFi transceiver. The antennas respectively operate in the 1575.2-1610 MHz band, 1710-2690 MHz band and 4900-5825 MHz band. One exemplary antenna combination is available as a MIMO Combo Outdoor IP67 3m Roof Antenna, Model JCE604LMWM, available from Teltonika.
Positioned behind the radome 132B and between the radomes 132A and 132D is a radome 132C for a radio antenna. In one example, the radio antenna radome 132C protects an antenna for a 900-950 MHz radio receiver. This receiver is used to receive a remote broadcast of an emergency stop signal and cause an immediate shutdown. Details of the emergency control system are described with reference to
Mounted to the four sides 152 of the podium top portion 138 are a plurality of stereo cameras 126, 128, 130A and 130B. Each stereo camera 126, 128, 130A and 130B may comprise a pair of camera elements 800A and 800B mounted to each side 152 of the top portion 138. In one example, the camera elements 800A and 800B are spaced apart by about 88.9 mm to facilitate adequate stereo imaging of the environment. In one example, each side and rear camera 128, 130A and 130B has a 130 degree diagonal field of view angle, while the front camera 126 may have a narrower viewing angle, such as, a 100 degree field of view angle. The front camera 126 has a slightly narrower field of view to improve forward depth perception. With such a field of view from each camera, the cameras provide 360 degree imaging of the surrounding environment. To reduce image distortion, the field of view may be narrowed for each camera, but to maintain a 360 degree view of the surrounding area, the diagonal field of view should not be less than 90 degrees, e.g., 90 degree diagonal field of view may be used. In at least some examples, various combinations of cameras may be used (e.g., wide angle, narrow angle, fish-eye, etc.) to provide for various factors. For example, a wide-angle camera may be better suited for use in determining an obstacle proximate the system as opposed to a narrow field of view lens which may be preferred for determining objects further away. Of course, image data from any such camera may be undistorted, rectified, or otherwise manipulated to provide optimal data for sensing, planning, and control. Each camera element 800A and 800B comprises a bezel 802A and 802B that retains a lens 804A and 804B. Although a rectangular shaped bezel and lens is depicted, other shapes may be used. For example, the bezel and lens may be circular. A charge-coupled device (CCD) sensor (not shown) is mounted behind each lens 804A and 804B. In one example, the camera elements 800A and 800B have a 130 degree diagonal field of view and are available from D3 Manufacturing as Model 10650 (part number 1001149-27). In one example, the individual cameras in a camera pair are spaced apart by about 88.9 mm, though any spacing is contemplated for a desired depth resolution. As above, in at least some examples, such stereo pairs may be scan line rectified. Each bezel 802A and 802B is raked forward by about 20 degrees to provide shading to the CCD sensor and to enable the camera to optimally image the surrounding environment. Such an angle reduces glare on the CCD sensor. The bezzle may comprise an inner circumferential surface and may also include at least one ridge on the inner circumferential surface proximate the lens to reduce reflection. The lens is sealed to the bezzle and the bezzle is sealed to the podium to facilitate waterproofing.
The top plate 150 overhangs, for example, the front and side cameras to provide shade to the cameras and reduce glare. In another example, the top plate 150 may also overhang the rear cameras as well.
In various examples, the lens 1312 may be planar and thin such that distortions are minimized when a commercially available camera is placed behind. In alternative examples, the lens 1312 may be formed as part of the total optical system of an imaging unit. In such examples, the lens may be warped to achieve the desired field of view (among other lens parameters). Regardless, various filters may also be used in any one or more examples. Such filters may be bandpass filters, or otherwise, to optimize for various bands of light impingent upon the final imaging surface.
In other examples, additional sensors and/or antennas may be included within the radomes or elsewhere on the top portion 138 or podium 116. Such sensors include, for example, but not limited to one or more of additional cameras in any combination including stereo, RGB, monochromatic, infrared, ultraviolet, hyperspectral, etc., RADAR antennas, pose (position and/or orientation) systems, diagnostic sensors, Inertial Measurement Units (IMUs) (which in turn may comprise accelerometers, gyroscopes, magnetometers, etc.), LIDAR receptors, ultrasonic sensors, or the like.
In one example, as mentioned previously the top portion 138 of the podium 116 shown in
The top portion 138 may contain one or more mower processors and memory (as shown as 1032 and 1034 in
Once the calibrated top portion 138 is positioned on the lower portion 1502, the one or more mower processors (which may be distributed across one or more of the top portion 138 and/or lower portion 1502) may execute the mower control software to control the mower motion and mowing operation. In one example, upon coupling the top portion 138 to the lower portion 1502 of the podium 116, execution of the mower control software causes the mower processor to: receive, upon coupling the upper portion to the lower portion, the signal indicative of calibration; receive sensor data from the plurality of cameras, GNSS, and inertial measurement unit; and control the autonomous lawn mower based at least in part on the sensor data and the signal. A detailed description of the mower control software is described in U.S. patent application Ser. No. 16/985,495, filed 5 Aug. 2020 entitled “Autonomous Lawn Mower” and U.S. patent application Ser. No. 16/894,379, filed 5 Jun. 2020 entitled “Autonomous Lawn Mowing System” which are hereby incorporated herein by reference in their entireties.
In one example, at least one ultrasonic sensor 152 may be used to generate a fail-safe signal. In one example, the ultrasonic sensor is mounted near the front of the mower, e.g., on the front of the hood 118. In other examples, the sensor 152 or sensors may be mounted elsewhere such as on the podium 116. The ultrasonic sensor monitors the space in front of the mower such that the sensor may detect objects or persons that are missed by the video imaging system or operates as a backup to the video system in case of a camera failure. If the ultrasonic sensor detects an object or person proximate the mower, the sensor generates the fail-safe signal that may be used to command the mower to halt and await operator intervention. Of course, in other examples, such a sensor may be used in combination with the cameras (or any other sensor) in any algorithm which relies on sensor fusion. As non-limiting examples, ultrasonic sensor data may be combined with one or more of camera data, radar data, lidar data, etc. to reduce an amount of uncertainty in detections within the environment.
In another example, a physical pressure sensor may replace the ultrasonic sensor or be used in conjunction with the ultrasonic sensor. The pressure sensor, when encountering an object, causes an emergency stop (as described below) procedure to be activated.
In one example, the top portion 138 of the podium 116 provides a means to communicate mower status information to people viewing the mower 100. For example, one or more illuminating devices 806 may be attached to the mower 100 and illuminated in colors or patterns to indicate mower status. In one example, the illuminating device 806 is a light emitting diode (LED) ribbon that circumscribes the entire podium 116 to provide a 360 degree indicator.
The LED ribbon may present one or more of various colors, graphics, text, and the like to indicate mower status. For example, the ribbon may display different colors for differing status, e.g., operating status such as display green when the mower is operating normally, red when the mower has stopped, and flash yellow as a warning to bystanders that may form an obstacle to the mower. In addition, a specific color, color combination, animation, or other graphic may be displayed to indicate when the mower is charging, e.g., a striped color display, or has discharged to a level that requires a charge. The LED ribbon may also be used to indicate error status (e.g., of the entire unit, a component, a subcomponent, etc.), operating status such as autonomous state or manual state, functional status such as uploading data or software, etc. In other examples, the LED ribbon may comprise an array of LEDs, where each LED may be illuminated separately to facilitate display of graphical icons, text, patterns, animation and the like. Such a display may be used for communicating diagnostic information to operators or technicians, e.g., a text display of “CHARGE REQUIRED,” as well as communicating warnings to bystanders, e.g., a text display of “PLEASE STAND BACK.” One example of an LED ribbon and drive circuitry is a 2 meter length of ribbon comprising 288 LEDs available from BTF-Lighting. In an example, the drive integrated circuit for the LED ribbon is model SK9822 also available from BTF-Lighting. In various examples, such visual communications may be displayed around the entirety of the system such that any user proximate the device may be able to quickly glean the system state to enhance the safe operation of the system. Also, the LED ribbon may have the graphics segmented such that different colors, text, or graphics may be displayed on different sides of the mower such that the display is directional. Thus, the mower may display an indicator intended to be seen by a person standing at a particular location relative to the mower on a portion of the ribbon facing the person. Further, the mower may utilize dynamic obstacle notification wherein, if the mower detects a person in a particular direction (e.g., 20 degrees off center), a certain color (e.g., red) or graphic may be displayed in that direction. As such, when the mower detects certain objects (e.g., people, animals, and the like) in the environment proximate the mower, specific messages, graphics, colors and the like can be directed in the direction of the object to warn or chase away the object.
At times, the autonomous lawn mower is driven by an operator. The presence of an operator is detected when the operator stands on the operator platform 200 in
In the example where the sensor is an inductive proximity sensor, the platform is generally metallic or has a metallic component that is located proximate the sensor 906 when an operator is present. Conversely, when the operator 908 steps off the platform 200, the biased hinge 904 moves the platform away from the sensor 906 causing the detection circuit 912 to detect that the operator has departed and then stop the mower. When stopped, the mower may automatically apply the brakes. In this way, the operator detector 950 operates as a “dead man's switch.”
In an example, when an operator steps upon the platform 200, the detection circuit 912 may also deactivate at least one camera (e.g., the rear facing camera 128). Since the operator will be blocking the view of the rear facing camera 128 while operating the mower, imagery from that camera is not useful and computational resources can be minimized (e.g., processors, memory, storage, etc.). As an alternative to deactivating the camera, the one or more mower processers that process the camera data may disregard the camera data from the rear facing camera 128.
The emergency control system 1000 enables an operator to control one or more mowers. Control is facilitated using a remote controller 1002 that transmits information to one or more mowers to cause the mower(s) to pause or stop. When paused, the mower comes to a controlled stop that will not harm any of the components of the mower. When stopped in an emergency manner, the mower is immediately halted, the blades may be stopped and power may be disconnected from the electronics without regard for possible damage or data loss that may occur. As described below, the procedure used to stop the mower depends upon the situation causing the stop.
In one example, the system 1000 may comprise two portions: (1) a remote controller 1002 and (2) a mower controller 1004. The remote controller 1002 continuously transmits packets of data to the mower controller 1004 as a “heartbeat” signal, i.e., packets are transmitted periodically. If the heartbeat signal (i.e., packet reception) is interrupted, delayed, or corrupted, the mower controller 1004 causes the mower to invoke an emergency stop procedure as described with reference to
Additionally, the mower itself may include an emergency stop button located in a prominent (e.g., button 702 of
The remote controller 1002 comprises various data sources 1006, a packet generator 1016, a modulator 1020, a transmitter 1022 and an antenna 1024. The data 1006 is derived from various sources and comprises a pause button state 1008 generated by the pause button, an emergency button state 1010 generated by an emergency button, a battery state 1012 generated by a battery charge monitor, a group ID 1014 stored in memory, and a sequence number 1016 generated by a sequence number generator. If neither the pause or emergency buttons are depressed, the packet generator periodically produces a packet. In one example, a packet is generated about every 250 ms. In one example, the payload in a packet may be approximately 40 bits comprising, for example, pause button state, emergency stop button state, group ID, a sequence number, and a battery state. The button status expresses whether a button is depressed or not, the group ID identifies a group in which a particular mower is a member, the battery status states whether the battery in the remote controller requires charging, and the sequence number is used by the mower controller 1004 to determine if a packet is dropped during transmission e.g., each packet is sequentially numbered for tracking purposes.
The packet generator 1018 sends the packet to the modulator 1020 and the modulated packet is sent to the transmitter 1022 for transmission via the antenna 1024 to the mower controller 1004. In those examples in which a 40 bit packet is used, the bandwidth utilized is about 500 kHz, though any other bandwidth is contemplated. As mentioned above, the remote controller sends a packet, for example, about every 250 ms. Other transmission rates, packet sizes and bandwidths may be used. Between packet transmissions the controller 1002 may enter a sleep mode to conserve battery power. If either the pause or emergency buttons are depressed during the sleep mode, the controller 1002 immediately awakes and sends a packet containing the current button state. To enhance security, the packet generator 1016 or modulator 1020 may use encryption and/or frequency hopping techniques. The transmitter 1022 transmits the packet in, for example, the 900 to 950 MHz band using antenna 1024. The specific frequency used may be selected to communicate with a specific mower. Antenna 1024 may be a dipole antenna. The transmission is generally capable of being received up to approximately 300 meters away from the remote controller 1002 using a line-of-sight transmission path. The transmission distance depends on transmission interference, transmission power level, antenna type, and the like.
The mower controller 1004 for the emergency control system 1000 comprises an antenna 1026, a receiver 1028, and a signal processor 1030. The antenna 1026 receives the signal transmitted by the remote controller 1002 and couples the signal to the receiver 1028. The receiver 1028 processes the received signal to remove data packets from the signal. The data packets are coupled to the signal processor 1030 where they are processed to remove the data. The signal processor 1030 check the sequence number to ensure no packets have been dropped and, if packets are dropped, how many have been dropped. If 3 seconds worth of packets (e.g., about 12 packets) are missing, the signal processor 1030 deems the heartbeat signal to have ceased and will generate an emergency stop command. In addition, the signal processor 1030 checks the group ID to ensure the received packet is meant to be received by the particular mower that has received the packet. The group ID may be assigned to a single mower for one-to-one emergency control or may be assigned to a number of mowers in a fleet for one-to-many emergency control. Also, if the signal processor 1030 detects a pause or emergency stop state in the data packet, the signal processor 1030 generates an appropriate command. Lastly, the signal processor 1030 checks the battery state to determine if the battery in the remote controller 1002 requires charge. If a low charge state is detected, the signal processor 1030 generates a low battery command.
The signal processor 1030 is coupled to at least one mower processor 1032 and at least one safety controller 1038. The mower processor and its general function is described in detail in U.S. patent application Ser. No. 16/985,495, filed 5 Aug. 2020 entitled “Autonomous Lawn Mower” (the '495 application) which is hereby incorporated herein by reference in its entirety. As described in the '495 application, the at least one mower processor 1032 is coupled to a memory 1034 (e.g., non-transitory computer readable media such as random access memory or read only memory) that stores various software and data that is used by the mower processor to operate the mower. In one example, the memory 1034 may further store emergency control system software 1036 that, when executed by the at least one mower processor, performs emergency and pause control functions as described below with respect to
In one example, the signal processor 1030 is separate from the mower processor 1032. In other examples, the functionality of the signal processor 1030 described above may be completely or partially performed by the mower processor 1032.
The safety controller 1038 is a simple controller that performs immediate emergency stop functions when a stop request occurs from the emergency stop button on the mower or on the remote controller 1002. In an emergency stop situation, the safety controller 1038 generates emergency control signals that override any control signals being produced by the mower processer 1032. As described herein, such an emergency stop may comprise any one or more of immediately stopping motion of the mower and immediately stopping the blades of the mower. For other situations (non-emergency) where the mower pauses (i.e., obstacle avoidance), the mower processor performs a controlled stop of the mower. Such a controlled stop may comprise causing the mower to quickly (i.e., less than a full amount of stopping power) stop motion of the mower while allowing the blades to freely spin without applying additional torque. Such a stopping maneuver may preserve energy with respect to the emergency stop, as well as prevent damage to one or more systems of the mower by the large decelerations involved.
In an alternative embodiment, the transmitter 1022 and receiver 1028 may be transceivers such that information may be sent bidirectionally between the remote controller 1002 and mower controller 1030 (a solid arrow 1042 indicates a transmission path from remote controller 1002 to mower controller 1004 and dashed arrow 1040 indicates an optional transmission path from the mower controller 1004 to the remote controller 1002. In this bidirectional configuration, the remote controller 1002 may contain at least one processor 1050 for generating data for transmission and processing received data. As such, mower information (e.g., status) may be transmitted from the mower to the remote controller 1002 for display to the operator. The mower controller 1004 may transmit, for example, but not limited to, mower status (e.g., mowing, stopped, etc.), motor status (e.g., motor overload), terrain information (e.g., ground slope is too great to be traversed), battery charge status, unauthorized user has interfered with the mower or attempted to operate the mower, obstacle reporting, error messages, and the like.
In another embodiment, a single remote controller 1002 may communicate with multiple mower controllers 1004 located on a plurality of mowers. As such, a single operator could control and/or monitor a plurality of mowers.
At 1112, the packets are received by the mower controller 1004. At 1114, the method 1100 extracts the group ID from the received packet. If the group ID is correct for the particular mower, the packet is further processed and counts toward fulfilling the heartbeat signal. At 1116, the method 1100 queries if the “heartbeat signal” has been received, i.e., for example, a plurality of packets with the correct group ID have not been received in a predefined period (e.g., 3 seconds). If a packet arrives at any time during the predefined period, the period is restarted. If packets do not arrive in the designated period (i.e., the heartbeat has been lost), the method 1100 proceeds to 1118 and generates an emergency stop command. If, however, the heartbeat is not lost, the method 1100 proceeds to 1120 to extract other data from the packet. Of course, any other data checks may be implemented including, for example, cyclic redundancy checks (CRCs), bit flip checks, and any other form to determine that the packet data is correct (e.g., from the correct device) or otherwise not corrupted.
At 1120, the packet is further processed to extract the battery state, the pause state and the emergency stop state. If the battery state indicates the battery charge is low, the method 1100 generates, at 1122, a battery low command. In various examples, such a battery low command may comprise placing the mower in a pause state, stop state, or emergency stop state as a safety system (e.g., the user's ability to induce an emergency stop) may be imminently impacted. If the pause state indicates the pause button has been depressed on the remote controller 1002, the method 1100 generates, at 1124, a pause command. If the emergency stop state indicates the emergency stop button has been depressed on the remote controller 1002, the method 1100 generates, at 1118, an emergency stop command. If all states are normal (e.g., no buttons depressed and the battery charge above a low level), the method 1100 proceeds to 1112 to receive and process the next packet. Similarly, once the states are processed and commands generated, the method 1100 proceeds to 1112 to receive and process the next packet.
Stop for Dynamic Obstacle:
Stop Because an Operator Manually Paused Autonomy:
Stop for Auto Detected Error:
From 1206, the method ends at 1212.
If the command is an emergency stop command, the method 1200 proceeds to 1208 where an emergency stop procedure is invoked. The emergency stop procedure immediately stops the mower. The manner in which the mower is stopped in an emergency depends on the emergency situation. The emergency stop (also referred to as an e-stop) procedure may comprise one or more of the steps in the following exemplary procedures:
Category 0 E-Stop:
Category 0 E-Stop (alternative):
Category 1 E-Stop:
From 1208, the method ends at 1212.
If the command is a battery low command, the method 1200 proceeds to 1208 where the battery state is communicated to an operator or manager to inform them that the mower controller battery requires charging. Such communication may occur, for example, through the LED ribbon described with reference to
A. An autonomous lawn mower comprising: a chassis; a blade; and a podium having an upper portion and a lower portion, the upper portion being removably coupled to the lower portion and comprising: a plurality of cameras, an inertial measurement unit (IMU), a Global Navigation Satellite System (GNSS) receiver, and an antenna for wireless communication, wherein the upper portion is calibrated prior to the upper portion being coupled to the lower portion.
B. The autonomous lawn mower of clause A, wherein the plurality of cameras are disposed about at least two sides of the upper portion as stereo pairs.
C. The autonomous lawn mower of clauses A or B, wherein calibrating the upper portion comprises: determining relative positions and orientations between the plurality of cameras, the IMU, and the GNSS receiver; determining intrinsic parameters of the plurality of cameras; and generating a signal indicative of the calibration.
D. The autonomous lawn mower of clauses A through C, wherein the autonomous lawn mower further comprises one or more non-transitory computer readable media which, when executed by one or more processors, cause the one or more processors to perform the operations comprising: receiving, upon coupling the upper portion to the lower portion, the signal; receiving sensor data from the plurality of cameras, GNSS, and IMU; and controlling the autonomous lawn mower based at least in part on the sensor data and the signal.
E. The autonomous lawn mower of clauses A through D further comprising: an operator position switch configured to generate a signal in response to an operator standing on an operator platform wherein, in response to the signal, one or more of a camera associated with a side of the upper portion proximate the operator is deactivated or image data from the camera associated with the side is disregarded.
F. The autonomous lawn mower of clause A through E, wherein a camera of the plurality of cameras comprises: a baffle mounted to the upper portion defining an aperture within which a camera sensor array is positioned; and a bezzle coupled to the baffle configured to retain a lens.
G. The autonomous lawn mower of clause A through F, wherein a camera of the plurality of cameras further comprises a first o ring between the bezzle and the lens and a second o ring between the lens and the baffle, wherein an outer surface of a portion of the baffle is threaded and an inner surface of at least a portion of the bezzle is threaded such that an inner surface threads onto the outer surface.
H. The autonomous lawn mower of clauses A through G, wherein the bezzle and lens are raked forward.
I. A method of preparing a lawn mower for operation, the lawn mower comprising a chassis, a blade, and a podium having an upper portion and a lower portion, the upper portion being removably coupled to the lower portion and comprising a plurality of sensors comprising one or more of cameras, an inertial measurement unit (IMU), a Global Navigation Satellite System (GNSS) receiver, and an antenna for wireless communication, the method comprising: determining calibration data associated with the plurality of sensors; and coupling, subsequent to determining the calibration data, the upper portion to the lower portion; and transmitting the calibration data to one or more processors associated with the lower portion.
J. The method of clause I, wherein the plurality of cameras are disposed about at least two sides of the upper portion as stereo pairs.
K. The method of clauses I or J, wherein determining the calibration data comprises one or more of: determining one or more of relative positions or orientations between the plurality of sensors, determining intrinsic parameters of the plurality of sensors.
L. The method of clauses I through K, further comprising: receiving sensor data from the plurality of cameras, GNSS, and IMU; and controlling the autonomous lawn mower based at least in part on the sensor data and the signal.
M. The method of clauses I through L, wherein the plurality of sensors comprises one or more cameras, the method further comprising: generating a signal in response to an operator standing on an operator platform, deactivating one or more of the cameras associated with a side of the upper portion proximate the operator or disregarding image data from the camera associated with the side.
N. A lawn mower comprising: a chassis; a blade; and a podium having an upper portion and a lower portion, the upper portion being removably coupled to the lower portion and comprising: a plurality of cameras, an inertial measurement unit (IMU), a Global Navigation Satellite System (GNSS) receiver, and an antenna for wireless communication, the lawn mower further comprises one or more non-transitory computer readable media which, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving, upon coupling the upper portion to the lawn mower, calibration data; and controlling the lawn mower based at least in part on the calibration data.
O. The autonomous lawn mower of clause N, wherein the plurality of cameras are disposed about at least two sides of the upper portion as stereo pairs.
P. The autonomous lawn mower of clauses N or O, wherein the calibration data defines: one or more of a relative position or orientation between at least two of the plurality of cameras, the IMU, or the GNSS receiver, or an intrinsic parameter of one the plurality of cameras.
Q. The autonomous lawn mower of clauses N through P, wherein the operations further comprise: receiving sensor data from the plurality of cameras, GNSS, and IMU, wherein controlling the lawn mower is further based at least in part on the sensor data.
R. The autonomous lawn mower of clauses N through Q, wherein the operations further comprise: generating a signal in response to an operator standing on an operator platform; and deactivating a camera associated with a side of the upper portion proximate the operator or disregarding image data from the camera associated with the side.
S. The autonomous lawn mower of clauses N through R, wherein the operations further comprise: generating a signal in response to an operator standing on an operator platform; and deactivating a camera associated with a side of the upper portion proximate the operator or disregarding image data from the camera associated with the side.
T. The autonomous lawn mower of clauses N through S, wherein a camera of the plurality of cameras comprises: a baffle mounted to the upper portion defining an aperture within which a camera sensor array is positioned; and a bezzle coupled to the baffle configured to retain a lens.
Here multiple examples have been given to illustrate various features and are not intended to be so limiting. Any one or more of the features may not be limited to the particular examples presented herein, regardless of any order, combination, or connections described. In fact, it should be understood that any combination of the features and/or elements described by way of example above are contemplated, including any variation or modification which is not enumerated, but capable of achieving the same. Unless otherwise stated, any one or more of the features may be combined in any order.
As above, figures are presented herein for illustrative purposes and are not meant to impose any structural limitations, unless otherwise specified. Various modifications to any of the structures shown in the figures are contemplated to be within the scope of the invention presented herein. The invention is not intended to be limited to any scope of claim language.
Where “coupling” or “connection” is used, unless otherwise specified, no limitation is implied that the coupling or connection be restricted to a physical coupling or connection and, instead, should be read to include communicative couplings, including wireless transmissions and protocols.
Any block, step, module, or otherwise described herein may represent one or more instructions which can be stored on a non-transitory computer readable media as software and/or performed by hardware. Any such block, module, step, or otherwise can be performed by various software and/or hardware combinations in a manner which may be automated, including the use of specialized hardware designed to achieve such a purpose. As above, any number of blocks, steps, or modules may be performed in any order or not at all, including substantially simultaneously, i.e. within tolerances of the systems executing the block, step, or module.
Where conditional language is used, including, but not limited to, “can,” “could,” “may” or “might,” it should be understood that the associated features or elements are not required. As such, where conditional language is used, the elements and/or features should be understood as being optionally present in at least some examples, and not necessarily conditioned upon anything, unless otherwise specified.
Where lists are enumerated in the alternative or conjunctive (e.g. one or more of A, B, and/or C), unless stated otherwise, it is understood to include one or more of each element, including any one or more combinations of any number of the enumerated elements (e.g. A, AB, AC, ABC, ABB, etc.). When “and/or” is used, it should be understood that the elements may be joined in the alternative or conjunctive.
This application claims benefit to U.S. Provisional Patent Application Ser. No. 63/121,515, filed 4 Dec. 2020 and entitled “Autonomous Lawn Mower,” which is hereby incorporated herein in its entirety by reference.
Number | Date | Country | |
---|---|---|---|
63121515 | Dec 2020 | US |