Using non-real-time computers for agricultural guidance systems

Information

  • Patent Grant
  • 11800827
  • Patent Number
    11,800,827
  • Date Filed
    Friday, September 13, 2019
    5 years ago
  • Date Issued
    Tuesday, October 31, 2023
    a year ago
Abstract
A precision steering computer installed on a tractor uses waypoints generated by a hand-held smart-device to steer a tractor. The smart-device is the operators primary interface and is a component of the entire precision agriculture guidance system. The batched, time ordered waypoints represent a list of coordinates for steering the tractor. As the tractor is automatically steered in the field, the waypoints are consumed and discarded by the real-time steering computer in the order they are received from the non-real-time smart device. A planned path is generated by the tractor operator on the smart device and the tractors progress and status are displayed on the same smart-device.
Description
BACKGROUND

Precision agriculture uses technologies such as global navigation satellite systems (GNSS), inertial measurement sensors, and computers to guide a tractor through a field following carefully defined paths to improve crop yield, reduce operator fatigue, comply to environmental regulations, and reduce cost. The cost of these systems limits their application to only the largest farms with the economies of large scale required to purchase them.


Reducing the cost of precision agriculture technologies can be accomplished by leveraging common smart devices such as smart-phones and tablet computers. The primary barrier to using these devices is their inherent non-determinism where disruptions to wireless communications, application processor time allocation, and multitasking can block the steering and guidance software. Disruptions to timely operation complicate smart device integration into larger systems.


The disclosure that follows solves this and other problems.


SUMMARY

In one example, a precision steering computer installed on a tractor uses waypoints generated by the operators hand-held smart-device to navigate around a field. The smart-device may be used as the primary interface for the operator and is one component of an entire precision agriculture guidance system. Batched, time ordered waypoints generated by the smart-device represent a list of coordinates for steering the tractor.


The explanation below uses the example of a tractor plowing a field. However, it should be understood that the precision agricultural guidance system may be used with any vehicle to perform any type of agricultural or non-agricultural operation. For example, the precision agricultural guidance system may be used on a combine to harvest a crop in a field or may be used with construction machinery on construction sites, such as when building a road.


As the vehicle moves over the field, the waypoints are consumed and discarded by the real-time steering computer in the order received from the non-real-time smart device. The path planned by the operator is generated by the smart device and the progress and status of the tractor are displayed on the same smart-device.


Waypoints, consisting of time ordered geo-location coordinates along the operator defined path, are generated on the smart-device in advance of a tractor arriving at those locations. These waypoints are created in large batches a minute or more before the precision steering computer on the tractor needs them to stay on the commanded path. Batch waypoint generation conform well with the computing architecture of non-real-time devices such as smart-devices, laptops, and desktop computers and can be sent to the real-time computer within the precision steering system using a wired connection or a wireless technology such as Bluetooth or WiFi.


Batched waypoints are stored in the precision steering computer in the order they are used for steering the vehicle along a predetermined path. In the event of a service interruption with the users smart-device or a communication failure between the smart-device and the steering computer, the steering computer can continue to pull future waypoints from the queued waypoint list ensuring the next waypoint is available. If the waypoint queue is depleted prior to the users smart-device providing the next batch of waypoints, the steering computer can notify the user to stop the tractor.


The division of computing between the real time domain of the steering computer and the non-real-time domain of the smart device is facilitated by way of the queue of waypoints are stored and transmitted as batches representing many minutes of future tractor travel.


While this summary describes a specific instance with a smart device generates an entire planned path of waypoints, it should be apparent that any source of waypoints could be used either onboard the tractor or remotely. Removing the non-real-time planning activities from the real-time steering system enables the use of internet-based control including remote operation as well as fully autonomous control from internet software-as-a-service or cloud computing sources.


Additional aspects and advantages will be apparent from the following detailed description of preferred embodiments, which proceeds with reference to the accompanying drawings.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 illustrates a guidance steering system that steers a tractor with a non-deterministic, non-real-time guidance computer.



FIG. 2 illustrates operations of the precision guidance system shown in FIG. 1.



FIG. 3 shows an example computer system used in the guidance system.





DETAILED DESCRIPTION


FIG. 1 shows a precision guidance system 100 used for steering a tractor 101. A steering computer 103 changes the attitude of tractor 101 by sending commands to a steering actuator 102 to turn a steering wheel of tractor 101 or to regulate a hydraulic steering actuator. Steering controller software 104 operated by steering computer 103 uses inputs from an inertial measurement unit (IMU) 110 and a global navigation satellite system (GNSS) 111 to compute a steering correction based on a computed error in the location of tractor 101 versus a current waypoint command from a waypoint queue 105. Steering computer 103 is known to those skilled in the art and are therefore not described in further detail. One example steering computer is sold by AgJunction, Inc., 9105 E. Del Camino Dr. #115 Scottsdale, Ariz. USA 85258.


A tractor operator 109 uses a smart device 106 to plan a route for tractor 101 through a field. Smart device 106 may be a smart phone, tablet computer, laptop computer, or any other portable or handheld device. The tractor operator 109 uses path planner software 108 operating in smart device 106 when prepare the path for automatically steering tractor 101. Path planning software, such as chart plotters, are known to those skilled in the art and are therefore not described in further detail.


The output of path planner 108 is a time ordered series of waypoints 114 stored in an output waypoint queue 107 of smart device 106. Smart device 106 transmits waypoints 114 in output waypoint queue 107 via wireless or wired communication channel to a receiving input waypoint queue 105 in steering computer 105. For example, waypoints 114 may be transmitted via a WiFi or Bluetooth wireless connection or via a universal serial bus (USB) wired connection.


To facilitate efficient data transfers, smart device 106 may send waypoints 114 in batches to steering computer 103. Steering controller 104 consumes received waypoints 114 from local input waypoint queue 105 as tractor 101 travels over the commanded location within each waypoint 114. For example, steering controller 104 steers from a current location to a next waypoint 114 in waypoint queue 105. After reaching the next waypoint 114, steering controller 104 steers to a next subsequently stored waypoint 114 in waypoint queue 105.



FIG. 2 shows an overall process 200 for computing, communicating, and executing steering operations based on a series of waypoints 114. Referring to FIGS. 1 and 2, tractor operator 109 in operation 201 initiates automatic steering process 200 where smart device 106 generates waypoints 114 and steering computer 103 generates steering commands based on waypoints 114.


In operation 202, path planner 108 in smart device 106 uses a previously defined path through a field defined by tractor operator 109 to generate a time series of waypoints 114. For example, smart device 106 may include a user interface 112 with a display and keyboard or touch screen input. Path planner 108 may display an electronic map of a field on user interface 112. Operator 109 then may select points on the electronic map to create a field path for tractor 101. Path planner 108 may generate a set of waypoints 114 that each include a latitude, longitude, and a time identifier indicating the order waypoints 114 were selected by operator 109.


In operation 203, smart device 106 pushes waypoints 114 into waypoint queue 107 prior to transmission. Smart device 106 then transmits a group or batch of the waypoints 114 for the field path to waypoint queue 105 in steering computer 103.


In operation 204, smart device 106 enters a loop waiting for waypoint queue 107 in smart device 106 to be empty 204 which indicates the last waypoints 114 of the path have been transmitted by smart device 106 to steering computer 103.


Prior to transmitting waypoints 114 to steering computer 103, smart device 106 in operation 205 queries steering computer 103 for the status of waypoint queue 105. If input queue 105 in steering computer 103 is full, or steering computer 103 is busy, smart device 106 will hold-off transmitting additional waypoints 114 and wait before querying steering computer 103 again. This buffering protocol allows use of a low-cost shallow buffer depth for waypoint queue 105 in steering computer 103.


In operation 205, smart device 106 may receive a message back from steering computer 103 indicating steering computer 103 is ready to receive more waypoints. Smart device 106 in operation 206 then bundles a next number of waypoints from output queue 107 into a batch appropriate to the size of memory used as waypoint input queue 105. Smart device 106 in operation 207 then transmits the batch of waypoints 114 to queue 105 in steering computer 103 prior to returning to operation 204.


Smart device 208 starts operation 208 after the last waypoint 114 is transmitted from waypoint queue 107 to waypoint input queue 105 in the steering computer 103. Smart device 106 then continuously queries steering computer 103 in operation 208 waiting for tractor 101 to reach the last waypoint. When smart device 208 receives a message back from steering computer 103 indicating the last waypoint has been reached, smart device 106 in operation 209 may display a message on user interface display 112 indicating tractor 101 has reached the end of the selected path.


As mentioned above, precision steering system 100 includes a first navigation computing device 106 configured to generate a time series of geo-location waypoints 114 for a path. Second steering computing device 103 includes input buffer 105 configured to receive the geo-location waypoints from first navigation computing device 106. Second computing device 103 is configured to generate steering commands for steering vehicle 101 based on waypoints 114 received by input buffer 105.


First navigation computing device 106 may be a non-real-time computer configured to run path planning software on a best-effort schedule and second computer 103 may be a real-time computer running steering control software at a periodic rate. In one example, first navigation computing device 106 may operate on a handheld smart device and the second steering computing device 103 may operate on a dedicated vehicle steering control system coupled to steering actuator 102 that steers vehicle 101 based on the steering commands.


First navigation computing device 106 may transmit geo-location waypoints 114 to input buffer 105 on second computer 103 over a wireless network. In another example, first navigation computing device 106 may transmit geo-location waypoints 114 in batches to input buffer 105 in second computer 103.


In one example, second steering computing device 106 uses input buffer 105 as a First-In-First-Out (FIFO) queue for processing geo-location waypoints 114. In another example, second steering computing device 103 is configured to send status messages to first navigation computing device 106 indicating when the First-In-First-Out queue is ready to accept additional geo-location waypoints 114.


In one example, first navigation computing device 106 includes output buffer 107 for storing the geo-location waypoints 114. First navigation computing device 106 also may operate output buffer 107 as a First-In-First-Out (FIFO) queue first buffering geo-location waypoints 114 and then transmitting the buffered geo-location waypoints 114 to second steering computing device 103.


In one example, path planner 108 repeatedly sends queries to steering controller 104 to check for available space in queue 105. Additional batches of waypoints 114 are sent to queue 105 based on the available space. For example, second steering computing device 103 may send a first message to first navigation computing device 106 indicating input buffer 105 is approaching capacity for storing the geo-location waypoints 114. The message may cause first navigation computing device 106 to stop sending additional geo-location waypoints 114 until receiving a second continue transmitting message from second steering computing device 103.


In another example, second steering computing device 103 is configured to send a message to first navigation computing device 106 indicating a current capacity of input buffer 105. First navigation computing device 106 may decide to send additional geo-location waypoints 114 to second steering computing device 103 based on the current capacity of input buffer 105. In one example, first navigation computing device 106 is configured to encode geo-location waypoints 114 transmitted to second steering computing device 103 to reduce transmission errors. For example, first navigation computing device 106 may use orthogonal frequency-division multiplexing (OFDM) to overcome errors in mobile communication channels.


As also explained above, a first program, such as path planner 108, generates a time series of future geo-location waypoints 114 for a selected vehicle path and transmits waypoints 114 over a communication channel to an asynchronous buffer 105. A second program, such as steering controller 104, generates steering commands for steering vehicle 101 based on the geo-location waypoints 114 in buffer 105.


In another embodiment, a same computing device 106 or 103 runs first program 108 and second program 104. In another example, first computing device 106 runs first program 108 and second computing device 103 operating asynchronously from first computing device 106 runs second program 104. In one example, first program 108 and second program 104 run on separate processor cores in a same physical central processing unit.


In another example, first program 108 and second program 104 run on a same processing device 106 or 103 controlled by a time partitioned operating system. In yet another example, first program 108 and second program 104 may run on a same processing device 106 or 103. An operating system running on the processing device 106 or 103 may asynchronously generate target waypoints 114 with first program 108 and the steering commands with second program 104.


Utilizing smart device 208 in conjunction with steering computer 103 provides many technical computing advantages. For example, a large amount of memory storage can be offloaded onto start device 106. Further, the computational and memory requirements for operating electronic maps, chart plotters/path planners, and display and user input interfaces can all be offloaded to smart device 106 or to cloud based services accessed by smart device 106. In addition, any wireless communication hardware or software needed to communicate with a central server or cloud based services that may provide electronic maps and path planning software can also be offloaded to smart device 106 and/or the cloud based service.


Precision agriculture guidance system 100 lowers the cost of precision agriculture to improve yield, reduce fatigue, and lower ecological impact of farming. It enables a commodity processing platform such as a smart-phone or tablet to act as the user interface and path planning element of an agricultural guidance system. It maintains the safety capabilities of existing systems while adding flexibility to use lower cost, non-proprietary hardware for the user interface, path planning, logging, diagnostics, and connectivity functions. These advantages also include the ability to scale a single guidance system into a larger coordinated fleet without requiring expensive on-premises computing or communications hardware.



FIG. 3 shows a computing device 1000 that may be used for implementing or operating steering computer 103 or smart device 106 used in precision guidance system 100 discussed above. The computing device 1000 may operate in the capacity of a server or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. In other examples, computing device 1000 may be a personal computer (PC), a tablet, a Personal Digital Assistant (PDA), a cellular telephone, a smart phone, a web appliance, central processing unit, programmable logic device, or any other machine or device capable of executing instructions 1006 (sequential or otherwise) that specify actions to be taken by that machine.


While only a single computing device 1000 is shown, the computing device 1000 may include any collection of devices or circuitry that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the operations discussed above. Computing device 1000 may be part of an integrated control system or system manager, or may be provided as a portable electronic device configured to interface with a networked system either locally or remotely via wireless transmission.


Processors 1004 may comprise a central processing unit (CPU), a graphics processing unit (GPU), programmable logic devices, dedicated processor systems, micro controllers, or microprocessors that may perform some or all of the operations described above. Processors 1004 may also include, but may not be limited to, an analog processor, a digital processor, a microprocessor, multi-core processor, processor array, network processor, etc.


Some of the operations described above may be implemented in software and other operations may be implemented in hardware. One or more of the operations, processes, or methods described herein may be performed by an apparatus, device, or system similar to those as described herein and with reference to the illustrated figures.


Processors 1004 may execute instructions or “code” 1006 stored in any one of memories 1008, 1010, or 1020. The memories may store data as well. Instructions 1006 and data can also be transmitted or received over a network 1014 via a network interface device 1012 utilizing any one of a number of well-known transfer protocols.


Memories 1008, 1010, and 1020 may be integrated together with processing device 1000, for example RAM or FLASH memory disposed within an integrated circuit microprocessor or the like. In other examples, the memory may comprise an independent device, such as an external disk drive, storage array, or any other storage devices used in database systems. The memory and processing devices may be operatively coupled together, or in communication with each other, for example by an I/O port, network connection, etc. such that the processing device may read a file stored on the memory.


Some memory may be “read only” by design (ROM) by virtue of permission settings, or not. Other examples of memory may include, but may be not limited to, WORM, EPROM, EEPROM, FLASH, etc. which may be implemented in solid state semiconductor devices. Other memories may comprise moving parts, such a conventional rotating disk drive. All such memories may be “machine-readable” in that they may be readable by a processing device.


“Computer-readable storage medium” (or alternatively, “machine-readable storage medium”) may include all of the foregoing types of memory, as well as new technologies that may arise in the future, as long as they may be capable of storing digital information in the nature of a computer program or other data, at least temporarily, in such a manner that the stored information may be “read” by an appropriate processing device. The term “computer-readable” may not be limited to the historical usage of “computer” to imply a complete mainframe, mini-computer, desktop, wireless device, or even a laptop computer. Rather, “computer-readable” may comprise storage medium that may be readable by a processor, processing device, or any computing system. Such media may be any available media that may be locally and/or remotely accessible by a computer or processor, and may include volatile and non-volatile media, and removable and non-removable media.


Computing device 1000 can further include a video display 1016, such as a liquid crystal display (LCD) or a cathode ray tube (CRT) and a user interface 1018, such as a keyboard, mouse, touch screen, etc. All of the components of computing device 1000 may be connected together via a bus 1002 and/or network.


Computing device 1000 may include any combination of sensors 1022 including, but not limited to, GSP, IMU, video camera, LIDAR, and radar. Computing device 100 also may include a wireless transceiver 1024 for wirelessly transmitting and receiving commands to and from other computing devices.


For the sake of convenience, operations may be described as various interconnected or coupled functional blocks or diagrams. However, there may be cases where these functional blocks or diagrams may be equivalently aggregated into a single logic device, program or operation with unclear boundaries. Having described and illustrated the principles of a preferred embodiment, it should be apparent that the embodiments may be modified in arrangement and detail without departing from such principles.


Having described and illustrated the principles of a preferred embodiment, it should be apparent that the embodiments may be modified in arrangement and detail without departing from such principles. Claim is made to all modifications and variation coming within the spirit and scope of the following claims.

Claims
  • 1. A system, comprising: a first navigation computing device configured to: in a non-real time domain on a best-effort schedule, generate a time series of geo-location waypoints for a path;store the generated geo-location waypoints in an output buffer of the first navigation computing device;identify an available capacity of an input buffer of a second steering computing device; andtransmit a plurality of the stored geo-location waypoints from the output buffer of the first navigation computing device to the input buffer of the second steering computing device, wherein a number of the plurality of geo-location waypoints transmitted is based on the identified available capacity; andthe second steering computing device, wherein the second steering computing device is configured to, at a periodic rate in a real time domain, generate steering commands for steering a vehicle based on the plurality of geo-location waypoints in the input buffer.
  • 2. The system of claim 1, wherein the first navigation computing device is configured to run path planning software on the best-effort schedule.
  • 3. The system of claim 1, wherein the first navigation computing device operates on a handheld smart device and the second steering computing device operates on a dedicated vehicle steering control system coupled to a steering actuator that steers the vehicle based on the steering commands.
  • 4. The system of claim 1, wherein the first navigation computing device transmits the plurality of geo-location waypoints to the input buffer over a wireless network.
  • 5. The system of claim 1, wherein the first navigation computing device transmits the plurality of geo-location waypoints in batches to the input buffer in the second steering computing device, and wherein a size of a batch is based on the identified capacity of the input buffer.
  • 6. The system of claim 1, wherein the second steering computing device uses the input buffer as a First-In-First-Out queue for processing the plurality of geo-location waypoints.
  • 7. The system of claim 6, wherein the second steering computing device is configured to send status messages to the first navigation computing device indicating when the First-In-First-Out queue is ready to accept additional geo-location waypoints.
  • 8. The system of claim 6, wherein the first navigation computing device includes an output buffer for storing the generated geo-location waypoints, wherein the first navigation computing device is configured to operate the output buffer as a First-In-First-Out queue first buffering the geo-location waypoints and then transmitting the buffered generated geo-location waypoints to the second steering computing device.
  • 9. The system of claim 1, wherein the second steering computing device is configured to send a first message to the first navigation computing device indicating the input buffer is approaching capacity for storing the plurality of geo-location waypoints, wherein the first message causes the first navigation computing device to stop sending additional geo-location waypoints until receiving a second continue transmitting message from the second steering computing device.
  • 10. The system of claim 1, wherein the second steering computing device is configured to send a message to the first navigation computing device indicating the available capacity of the input buffer, wherein the first navigation computing device decides to send additional geo-location waypoints to the second steering computing device based on the available capacity of the input buffer.
  • 11. The system of claim 1, wherein the first navigation computing device is configured to encode the plurality of geo-location waypoints transmitted to the second steering computing device to reduce transmission errors.
  • 12. A method for steering a vehicle, comprising: using a first program to: in a non-real time domain on a best-effort schedule, generate a time series of future geo-location waypoints for a selected vehicle path;identify an available capacity of an asynchronous buffer; andtransmit a plurality of the generated future geo-location waypoints to the asynchronous buffer, wherein a number of the plurality of future geo-location waypoints transmitted is based on the identified available capacity; andusing a second program to, at a periodic rate in a real time domain, generate steering commands for steering the vehicle based on theplurality of future geo-location waypoints in the asynchronous buffer.
  • 13. The method of claim 12 wherein a same computing device runs the first program and the second program.
  • 14. The method of claim 12, wherein a first computing device runs the first program to generate the future geo-location waypoints and a second computing device runs the second program to generate the steering commands asynchronously from the generation of the future geo-location waypoints.
  • 15. The method of claim 14, including wirelessly transmitting the plurality of future geo-location waypoints over a communication channel from the first computing device to the asynchronous buffer operating with the second computing device.
  • 16. The method of claim 12, wherein the first and second program run on separate processor cores in a same physical central processing unit.
  • 17. The method of claim 12, wherein the first and second program run on a same processing device controlled by a time partitioned operating system.
  • 18. The method of claim 12, wherein the first and second program run on a same processing device and a time partitioned operating system running on the processing device generates the future geo-location waypoints with the first program and the steering commands with the second program, wherein thefuture geo-location waypoints are generated asynchronously from the generation of the steering commands.
  • 19. A method for operating a vehicle, comprising: using a path planner to, in a non-real time domain on a best-effort schedule, generate waypoints for steering the vehicle;repeatedly sending queries about available space in an input queue of a steering controller from the path planner to the steering controller;identifying, from the steering controller, an indication of available space in the input queue of the steering controller;transmitting, from the path planner, one or more waypoints of the generated waypoints to the input queue, wherein a number of the one or more waypoints transmitted is based on the available space of the input queue of the steering controller; andusing the steering controller to, in a real time domain, generate steering commands for steering the vehicle based on the waypoints in the input queue, wherein the steering commands are generated at a periodic rate.
  • 20. The method of claim 19, further comprising: operating the path planner with a first computing device; andoperating the steering controller with a second computing device that generates the steering commands asynchronously from the generation of the waypoints.
  • 21. The method of claim 20, wherein the first computing device operates in a hand held smart device and the second computing device operates on a dedicated steering computer installed on the vehicle.
Parent Case Info

The present application claims priority to U.S. Provisional Patent Application Ser. No. 62/731,698, filed on Sep. 14, 2018, which is incorporated by reference in its entirety.

US Referenced Citations (106)
Number Name Date Kind
5194851 Kraning et al. Mar 1993 A
5390125 Sennott et al. Feb 1995 A
5663879 Trovato et al. Sep 1997 A
5923270 Sampo et al. Jul 1999 A
6052647 Parkinson et al. Apr 2000 A
6070673 Wendte Jun 2000 A
6212453 Kawagoe et al. Apr 2001 B1
6373432 Rabinowitz et al. Apr 2002 B1
6377889 Soest Apr 2002 B1
6445983 Dickson et al. Sep 2002 B1
6539303 McClure et al. Mar 2003 B2
6611738 Ruffner Aug 2003 B2
6711501 McClure et al. Mar 2004 B2
6789014 Rekow et al. Sep 2004 B1
6819780 Benson et al. Nov 2004 B2
6865465 McClure Mar 2005 B2
6876920 Mailer Apr 2005 B1
7142956 Heiniger et al. Nov 2006 B2
7162348 McClure et al. Jan 2007 B2
7277792 Overschie Oct 2007 B2
7373231 McClure et al. May 2008 B2
7400956 Feller et al. Jul 2008 B1
7437230 McClure Oct 2008 B2
7460942 Mailer Dec 2008 B2
7689354 Heiniger et al. Mar 2010 B2
RE41358 Heiniger et al. May 2010 E
7835832 Macdonald et al. Nov 2010 B2
7885745 McClure et al. Feb 2011 B2
8018376 McClure et al. Sep 2011 B2
8190337 McClure May 2012 B2
8214111 Heiniger et al. Jul 2012 B2
8311696 Reeve Nov 2012 B2
8386129 Collins et al. Feb 2013 B2
8401704 Pollock et al. Mar 2013 B2
8489291 Dearborn et al. Jul 2013 B2
8521372 Hunt et al. Aug 2013 B2
8548649 Guyette et al. Oct 2013 B2
8583315 Whitehead et al. Nov 2013 B2
8583326 Collins et al. Nov 2013 B2
8589013 Pieper et al. Nov 2013 B2
8594879 Roberge et al. Nov 2013 B2
8634993 McClure et al. Jan 2014 B2
8639416 Jones et al. Jan 2014 B2
8649930 Reeve et al. Feb 2014 B2
8676620 Hunt et al. Mar 2014 B2
8718874 McClure et al. May 2014 B2
8768558 Reeve et al. Jul 2014 B2
8781685 McClure Jul 2014 B2
8803735 McClure Aug 2014 B2
8897973 Hunt et al. Nov 2014 B2
8924152 Hunt et al. Dec 2014 B2
9002565 Jones et al. Apr 2015 B2
9002566 McClure et al. Apr 2015 B2
9141111 Webber et al. Sep 2015 B2
9162703 Miller et al. Oct 2015 B2
9173337 Guyette et al. Nov 2015 B2
9223314 McClure et al. Dec 2015 B2
9255992 McClure Feb 2016 B2
9389615 Webber et al. Jul 2016 B2
10832347 Westhues Nov 2020 B1
20020072850 McClure et al. Jun 2002 A1
20040186644 McClure et al. Sep 2004 A1
20060167600 Nelson, Jr. et al. Jul 2006 A1
20070156286 Yamauchi Jul 2007 A1
20070242684 Hayakawa Oct 2007 A1
20080170553 Montemurro Jul 2008 A1
20090251366 McClure Oct 2009 A1
20100067598 Sampath Mar 2010 A1
20100268449 Feng Oct 2010 A1
20100274452 Ringwald et al. Oct 2010 A1
20120253744 Schmidt Oct 2012 A1
20140266877 McClure Sep 2014 A1
20140277676 Gattis Sep 2014 A1
20150175194 Gattis Jun 2015 A1
20160039454 Mortimer Feb 2016 A1
20160073573 Ethington Mar 2016 A1
20160091898 Booher Mar 2016 A1
20160154108 McClure et al. Jun 2016 A1
20160205864 Gattis et al. Jul 2016 A1
20160214643 Joughin et al. Jul 2016 A1
20160252909 Webber et al. Sep 2016 A1
20160334804 Webber et al. Nov 2016 A1
20160380914 Tuukkanen Dec 2016 A1
20170248946 Ogura et al. Aug 2017 A1
20180146612 Sauder May 2018 A1
20180237039 Mong Aug 2018 A1
20180321682 Matsumoto et al. Nov 2018 A1
20190071093 Ma et al. Mar 2019 A1
20190258251 Ditty Aug 2019 A1
20190332105 Sant Oct 2019 A1
20190385057 Litichever Dec 2019 A1
20200051035 Rossetti Feb 2020 A1
20200062365 Anderson Feb 2020 A1
20200084955 Kreider Mar 2020 A1
20200110403 Antich Apr 2020 A1
20200294401 Kerecsen Sep 2020 A1
20200326711 Rimmer Oct 2020 A1
20200352083 Ramachandran Nov 2020 A1
20200363796 Muro Nov 2020 A1
20210003416 Wilson Jan 2021 A1
20210026362 Wilson Jan 2021 A1
20210029877 Vandike Feb 2021 A1
20210029878 Vandike Feb 2021 A1
20210034057 Flajolet Feb 2021 A1
20210136515 Zhang May 2021 A1
20210278834 Kendoul Sep 2021 A1
Foreign Referenced Citations (4)
Number Date Country
2006 177792 Jul 2006 JP
2011032205 Mar 2011 WO
2012112205 Aug 2012 WO
2015073844 May 2015 WO
Non-Patent Literature Citations (8)
Entry
Noh, Kwang-Mo, Self-tuning controller for farm tractor guidance, Iowa State University Retrospective Theses and Dissertations, Paper 9874, (1990).
Van Zuydam,. R.P., Centimeter-Precision Guidance of Agricultural Implements in the Open Field by Means of Real Tim Kinematic DGPS, ASA-CSSA-SSSA, pp. 1023-1034 (1999).
USPTO, International Search Report and Written Opinion of the International Searching Authority for International Application No. PCT/US2020/043605, dated Nov. 23, 2020, pp. 1-14.
Van Dyke et al., GNSS Real Time Performance Monitoring and CNS/ATM Implementation, IEEE, p. 1137-1144 (2006).
Wahlstrom et al., Smartphone-Based Vehicle Telematics: A Ten-Year Anniversary, IEEE, p. 2802-2825 (2017).
Murakami et al., iFarm: Development of Cloud-based System of Cultivation Management for Precision Agriculture, IEEE, p. 233-234 (2013).
Fahmi et al, A Prototype of Monitoring Precision Agriculture System Based on WSN, IEEE, p. 323-328 (2017).
International Search Report and Written Opinion; PCT/US2019/051044; dated Jan. 8, 2020; pp. 1-10.
Related Publications (1)
Number Date Country
20200084955 A1 Mar 2020 US
Provisional Applications (1)
Number Date Country
62731698 Sep 2018 US