U.S. patent application number 11/332573 was filed with the patent office on 2006-08-31 for method and system for preventing automatic re-engagement of automatic vehicle control.
Invention is credited to Mark Gibson, Arthur F. Lange, Charles Manning.
Application Number | 20060195238 11/332573 |
Document ID | / |
Family ID | 35266819 |
Filed Date | 2006-08-31 |
United States Patent
Application |
20060195238 |
Kind Code |
A1 |
Gibson; Mark ; et
al. |
August 31, 2006 |
Method and system for preventing automatic re-engagement of
automatic vehicle control
Abstract
Embodiments of the present invention recite a method and system
for implementing automatic vehicle control with parameter-driven
disengagement. In one embodiment, a course for a vehicle is
determined along which the vehicle is to be automatically guided.
An indication is received that a pre-defined parameter has been
exceeded. In response to receiving the indication, the generation
of steering commands is then suspended. Furthermore, the generation
of steering commands is suspended until an engagement signal is
received.
Inventors: |
Gibson; Mark; (Portland,
OR) ; Manning; Charles; (Whitecliffs, NZ) ;
Lange; Arthur F.; (Sunnyvale, CA) |
Correspondence
Address: |
WAGNER, MURABITO & HAO, LLP
TWO NORTH MARKET STREET, THIRD FLOOR
SAN JOSE
CA
95113
US
|
Family ID: |
35266819 |
Appl. No.: |
11/332573 |
Filed: |
January 13, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11000738 |
Nov 30, 2004 |
|
|
|
11332573 |
Jan 13, 2006 |
|
|
|
Current U.S.
Class: |
701/23 |
Current CPC
Class: |
G05D 1/0272 20130101;
G05D 1/0061 20130101; G05D 1/0278 20130101; A01B 69/008 20130101;
G05D 2201/0201 20130101 |
Class at
Publication: |
701/023 |
International
Class: |
G05D 1/00 20060101
G05D001/00 |
Claims
1. A method for preventing automatic re-engagement of automatic
vehicle control, said method comprising: determining a course for a
vehicle wherein said vehicle is to be automatically guided along
said course between a first geographic position and a second
geographic position using an automatic vehicle control system;
receiving an indication that a pre-defined parameter of said
automatic vehicle control system has been exceeded; suspending the
generation of steering commands via said automatic vehicle control
system in response to said receiving of said indication; and
preventing said automatic re-engagement of said automatic vehicle
control system wherein the suspension of the generation of steering
commands is continued until an engagement signal is received.
2. The method as recited in claim 1 wherein said engagement signal
indicates that said vehicle is being controlled by an operator.
3. The method as recited in claim 2 wherein said engagement signal
indicates that said operator is seated in said vehicle.
4. The method as recited in claim 1 wherein said engagement signal
indicates that said vehicle is within a defined work area.
5. The method as recited in claim 1 wherein said engagement signal
indicates excessive vehicle movement with respect to at least one
axis selected from the group consisting essentially of a roll axis,
a pitch axis, and a yaw axis.
6. The method as recited in claim 1 further comprising: receiving
an indication of excessive vehicle acceleration from said automatic
vehicle control system.
7. The method as recited in claim 6 wherein receiving said
indication of excessive vehicle acceleration comprises receiving
said indication from a position determining system coupled with
said automatic vehicle control system.
8. A computer usable medium having computer readable program code
embodied therein for causing a computer system to perform a method
for preventing automatic re-engagement of automatic vehicle
control, said method comprising: determining a course for a vehicle
wherein said vehicle is to be automatically guided along said
course between a first geographic position and a second geographic
position using an automatic vehicle control system; receiving an
indication that a pre-defined parameter of said automatic vehicle
control system has been exceeded; suspending the generation of
steering commands via said automatic vehicle control system in
response to said receiving of said indication; and preventing said
automatic re-engagement of said automatic vehicle control system
wherein the suspension of the generation of steering commands is
continued until an engagement signal is received.
9. The computer usable medium of claim 8 wherein said engagement
signal indicates that said vehicle is being controlled by an
operator.
10. The computer usable medium of claim 9 wherein said engagement
signal indicates that said operator is seated in said vehicle.
11. The computer usable medium of claim 8 wherein said engagement
signal indicates that said vehicle is within a defined work
area.
12. The computer usable medium of claim 8 wherein said engagement
signal indicates excessive vehicle movement with respect to at
least one axis selected from the group consisting essentially of a
roll axis, a pitch axis, and a yaw axis.
13. The computer usable medium of claim 8 further comprising:
receiving an indication of excessive vehicle acceleration from said
automatic vehicle control system.
14. The computer usable medium of claim 13 wherein receiving said
indication of excessive vehicle acceleration comprises receiving
said indication from a position determining system coupled with
said automatic vehicle control system.
15. A system for implementing automatic vehicle control, said
system comprising: a position determining component for determining
the geographic position of said vehicle; a steering component for
controlling the steering mechanism of said vehicle; and a control
component coupled with said position determining component and with
said steering component, said control component for generating a
course correction in response to receiving position data from said
position determining component, said control component further for
suspending the generation of said course correction in response to
said receiving an indication that a pre-defined parameter has been
exceeded until an engagement signal is received.
16. The system of claim 15 further comprising: a seat switch for
indicating that an operator is seated in said vehicle.
17. The system of claim 15 further comprising: a time out sensor
for indicating that said vehicle is being controlled by an
operator.
18. The system of claim 15 further comprising: a brake sensor
switch for indicating when the braking mechanism of said vehicle is
engaged.
19. The system of claim 15 further comprising: a component for
indicating when said vehicle has exceeded a parameter with respect
to at least one axis selected from the group consisting essentially
of a roll axis, a pitch axis, and a yaw axis.
20. The system of claim 15 further comprising: a component for
indicating when said vehicle has exceeded an acceleration
parameter.
Description
RELATED APPLICATIONS
[0001] The present invention benefits from U.S. patent application
Ser. No. 11/000,738 filed Nov. 30, 2004 titled "A Method and System
for Implementing Automatic Vehicle Control with Parameter-Driven
Disengagement," by Mark Gibson, Charles Manning, and Arthur Lange,
assigned to the assignee of the present invention, and which is
hereby incorporated by reference in its entirety herein.
FIELD OF THE INVENTION
[0002] Embodiments of the present invention are directed to
controlling a mobile machine. More specifically, embodiments of the
present invention relate to a method and system for preventing
automatic re-engagement of an automatic vehicle control system.
BACKGROUND OF THE INVENTION
[0003] Operating agricultural vehicles such as tractors and
harvesters often requires highly repetitive operations. For
example, when plowing or planting a field, an operator must make
repeated passes across a field. Due to the repetitive nature of the
work and irregularities in the terrain, gaps and overlaps in the
rows of crops can occur. This can result in damaged crops,
overplanting, or reduced yield per acre. As the size of
agricultural vehicles and farming implements continues to increase,
precisely controlling their motion becomes more important.
[0004] Guidance systems are increasingly used for controlling
agricultural and environmental management equipment and operations
such as road side spraying, road salting, and snow plowing where
following a previously defined route is desirable. This allows more
precise control of the vehicles than is typically realized than if
the vehicle is steered by a human. Many agricultural vehicles rely
upon furrow followers which mechanically detect whether the vehicle
is moving parallel to a previously plowed plant furrow. However,
these guidance systems are most effective in flat terrain and when
detecting furrows plowed in a straight line. Additionally, many of
these systems require factory installation and are too expensive or
inconvenient to facilitate after market installation.
[0005] A component for controlling the steering mechanism of the
vehicle is used to control the movement of the vehicle in a desired
direction. Thus, the guidance system generates a steering command
which is implemented by the component which controls the steering
mechanism. Often, the controlling component is directly coupled
with and manipulates hydraulic pumps which comprise the power
steering system of the vehicle. Other controlling components
manipulate the steering wheel of the vehicle.
[0006] Prior art guidance systems are problematic in that there
typically is no provision made for logically disengaging the
guidance system. Thus, if a vehicle operator attempts to manually
steer the vehicle (e.g., to pass to the side of a rock) the
guidance system will continue trying to steer the vehicle in the
original direction. This can be unsafe for the operator, or others
in the vicinity, and may result in damage to the vehicle, or injury
to the operator.
[0007] Additionally, prior art guidance systems are problematic
because there is typically no provision for preventing them from
automatically re-engaging. Thus, even if the guidance system is
logically disengaged, it may automatically re-engage if one or more
parameters for engagement is met. Again, this can be unsafe for the
operator, or others in the vicinity, and may result in damage to
the vehicle, or injury to the operator.
SUMMARY OF THE INVENTION
[0008] Accordingly, a need exists for a method and system for
implementing automatic vehicle control which facilitates logically
disengaging the guidance system from a steering control apparatus
without requiring that the steering control apparatus be physically
disengaged from the steering mechanism of the vehicle.
[0009] Embodiments of the present invention recite a method and
system for implementing automatic vehicle control with
parameter-driven disengagement. In one embodiment, a course for a
vehicle is determined along which the vehicle is to be
automatically guided. An indication is received that a pre-defined
parameter has been exceeded. In response to receiving the
indication, the generation of steering commands is then suspended.
Furthermore, the generation of steering commands is suspended until
an engagement signal is received.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The accompanying drawings, which are incorporated in and
form a part of this specification, illustrate embodiments of the
present invention and, together with the description, serve to
explain the principles of the invention. Unless specifically noted,
the drawings referred to in this description should be understood
as not being drawn to scale.
[0011] FIGS. 1A and 1B show an exemplary system for controlling a
mobile machine with parameter-driven disengagement in accordance
with embodiments of the present invention.
[0012] FIG. 2 shows an exemplary system architecture in accordance
with embodiments of the present invention.
[0013] FIGS. 3A and 3B show side and axial views respectively of a
system for controlling a mobile machine with parameter-driven
disengagement in accordance with embodiments of the present
invention.
[0014] FIGS. 4A and 4B show side and axial views respectively of a
system for controlling a mobile machine with parameter-driven
disengagement in accordance with embodiments of the present
invention.
[0015] FIGS. 5A and 5B show side and axial views respectively of a
system for controlling a mobile machine with parameter-driven
disengagement in accordance with embodiments of the present
invention.
[0016] FIG. 6 is a flowchart of a method for implementing automatic
vehicle control with parameter-driven disengagement in accordance
with embodiments of the present invention.
[0017] FIGS. 7A, 7B, 7C, 7D, and 7E are a flowchart of a method for
implementing automatic vehicle control with parameter-driven
disengagement in accordance with embodiments of the present
invention.
[0018] FIG. 8 shows a vehicle implementing automatic vehicle
control with parameter-driven disengagement in accordance with
embodiments of the present invention.
[0019] FIG. 9 is a block diagram of an exemplary vehicle guidance
system used in accordance with embodiments of the present
invention.
[0020] FIG. 10 is a flowchart of a method for preventing automatic
re-engagement of automatic vehicle control in accordance with
embodiments of the present invention.
[0021] FIG. 11 shows an exemplary work area and the establishing of
a headlands area in accordance with embodiments of the present
invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0022] Reference will now be made in detail to embodiments of the
present invention, examples of which are illustrated in the
accompanying drawings. While the present invention will be
described in conjunction with the following embodiments, it will be
understood that they are not intended to limit the present
invention to these embodiments alone. On the contrary, the present
invention is intended to cover alternatives, modifications, and
equivalents which may be included within the spirit and scope of
the present invention as defined by the appended claims.
Furthermore, in the following detailed description of the present
invention, numerous specific details are set forth-in order to
provide a thorough understanding of the present invention. However,
embodiments of the present invention may be practiced without these
specific details. In other instances, well-known methods,
procedures, components, and circuits have not been described in
detail so as not to unnecessarily obscure aspects of the present
invention.
[0023] Notation and Nomenclature
[0024] Some portions of the detailed descriptions which follow are
presented in terms of procedures, logic blocks, processing and
other symbolic representations of operations on data bits within a
computer memory. These descriptions and representations are the
means used by those skilled in the data processing arts to most
effectively convey the substance of their work to others skilled in
the art. In the present application, a procedure, logic block,
process, or the like, is conceived to be a self-consistent sequence
of steps or instructions leading to a desired result. The steps are
those requiring physical manipulations of physical quantities.
Usually, although not necessarily, these quantities take the form
of electrical or magnetic signal capable of being stored,
transferred, combined, compared, and otherwise manipulated in a
computer system.
[0025] It should be borne in mind, however, that all of these and
similar terms are to be associated with the appropriate physical
quantities and are merely convenient labels applied to these
quantities. Unless specifically stated otherwise as apparent from
the following discussions, it is appreciated that throughout the
present invention, discussions utilizing terms such as
"determining," "receiving," "suspending," "using," or the like,
refer to the action and processes of a computer system, or similar
electronic computing device, that manipulates and transforms data
represented as physical (electronic) quantities within the computer
system's registers and memories into other data similarly
represented as physical quantities within the computer system
memories or registers or other such information storage,
transmission or display devices.
[0026] FIG. 1A is a block diagram of an exemplary system 100 for
controlling a mobile machine 105 in accordance with embodiments of
the present invention. In embodiments of the present invention,
system 100 is a vehicle guidance system used to generate and
implement steering commands to facilitate controlling a vehicle
automatically. In FIG. 1A, a position determining system 110 is
coupled with a control component 120 and a steering component 130
via a communication network or coupling 115. Additionally, system
100 may comprise an optional keypad 140 and/or a terrain
compensation module (TCM) component (e.g., TCM 150) which are also
coupled with coupling 115.
[0027] In embodiments of the present invention, coupling 115 is a
serial communications bus. In one embodiment, coupling 115 is
compliant with, but not limited to, the controller area network
(CAN) protocol. CAN is a serial bus system which was developed for
automotive use in the early 1980s. The Society of Automotive
Engineers (SAE) has developed a standard CAN protocol, SAE J1939,
based upon CAN specification 2.0. The SAE J1939 specification
provides plug-and-play capabilities and allows components from
various suppliers to be easily integrated in an open architecture.
However, embodiments of the present invention may be
communicatively coupled using other communication systems such as a
wireless network.
[0028] Position determining system 110 determines the geographic
position of mobile machine 105. For the purposes of the present
invention, the term "geographic position" means the determining in
at least two dimensions (e.g., latitude and longitude), the
location of mobile machine 105. In one embodiment of the present
invention, position determining system 110 is a satellite based
position determining system and receives navigation data from
satellites via antenna 107 of FIG. 1B. Examples of satellite based
position determining systems include the global positioning system
(GPS) navigation system, a differential GPS system, a real-time
kinematics (RTK) system, a networked RTK system, etc. While the
present embodiment recites these position determining systems
specifically, it is appreciated that embodiments of the present
invention are well suited for using other position determining
systems as well such as ground-based position determining systems,
or other satellite-based position determining systems such as the
GLONASS system, or the Galileo system currently under
development.
[0029] In embodiments of the present invention, control component
120 receives position data from position determining system 110 and
generates commands for controlling mobile machine 105. In
embodiments of the present invention, mobile machine 105 is an
agricultural vehicle such as a tractor, a harvester, etc. However,
embodiments of the present invention are well suited for
controlling other vehicles such as snow plows, construction
equipment, road salting, or roadside spraying equipment as well. In
one embodiment, in response to position data received from position
determining system 110, control component 120 generates a message
(e.g., a steering command) to steering component 130 which then
controls the steering mechanism of mobile machine 105. In
embodiments of the present invention, control component 120 is
operable for generating steering commands to an electrical steering
component and a hydraulic steering component depending upon the
configuration of system 100.
[0030] In embodiments of the present invention, keypad 140 provides
additional input/output capabilities to system 100. In embodiments
of the present invention, keypad 140 may also comprise a device
drive which allows reading a media storage device such as a compact
disk (CD), a digital versatile disk (DVD), a memory stick, or the
like. This allows, for example, integrating data from various
software applications such as mapping software in order to
facilitate controlling the movement of mobile machine 105. For
example, field boundaries can be easily input into system 100 to
facilitate controlling the movement of mobile machine 105.
[0031] TCM 150, also known as an "inertial measurement unit" or
"IMU," provides the ability to compensate for terrain variations
which can reduce the precision of position determining system 110
in determining the geographic position of mobile machine 105. For
example, when traversing a hillside, the antenna 107 of the
position determining system 110 can be displaced to one side or the
other with respect to the center line of mobile machine 105, thus
causing errors in determining the geographic position of mobile
machine 105. As a result, gaps or overlaps can occur when plowing
across contoured terrain is being performed. In one embodiment, TCM
150 can detect the magnitude of displacement of antenna 107 with
respect to the center line of mobile machine 105 due to roll and
yaw, and send signals which allow control component 120 to generate
steering commands which compensate for the errors in determining
the geographic position and heading of mobile machine 105.
[0032] In another embodiment, TCM 150 can also detect the magnitude
of displacement of antenna 107 with respect to the center line of
mobile machine 105 due to pitch, and send signals which allow
control component 120 to generate steering commands which
compensate for the errors in determining the geographic position of
mobile machine 105.
[0033] In embodiments of the present invention, TCM 150 may also
comprise acceleration sensors that determine whether excessive
acceleration of vehicle 105 is occurring. This may include
excessive lateral acceleration of vehicle 105 due to an excessively
sharp turn radius, and excessive vertical acceleration of vehicle
105 due to rough terrain, or running into/over an obstacle (e.g., a
ditch, or log). It is noted that in embodiments of the present
invention, the determination of excessive acceleration, including
lateral acceleration, of vehicle 105 may be determined using
successive position fixes provided by position determining system
110. For example, position determining system 110 may determine the
geographic location of mobile machine every 100 milliseconds. Thus,
it is possible to derive the turn rate (e.g., degrees or radians
per second) of vehicle 105 using successive position fixes along
with the present velocity of vehicle 105. As a result, the lateral
forces associated with the turn currently being performed by
vehicle 105 can be determined. This is important because vehicle
105 may be carrying heavy loads, or towing implements which could
affect the stability of the vehicle during sharp turns. However, in
embodiments of the present invention, this information can be
accessed by system 100 in order to determine the maximum safe
lateral acceleration to prevent an accident.
[0034] It is appreciated that the components described with
reference to FIG. 1 may be implemented as separate components.
However, in embodiments of the present invention, these components
may be integrated as various combinations of discreet components,
or as a single device.
[0035] Also shown in FIG. 1A is a seat switch 160 which is coupled
with coupling 115. In embodiments of the present invention, seat
switch 160 can detect when an operator is seated at the controls of
vehicle 105. In embodiments of the present invention, seat switch
160 may comprise a pressure sensitive switch, or a pressure
sensitive pad which is placed on top of the seat. When vehicle 105
is being operated and the operator leaves the seat, seat switch 160
generates a signal which may cause control component 120 to suspend
generating steering commands until the operator is again seated.
Thus, if the operator leaves vehicle 105 (e.g., to remove an
obstacle), control component will stop generating steering
commands, thus preventing the actuation of the steering mechanism
of vehicle 105, until the operator is again seated in vehicle 105.
In embodiments of the present invention, the operator may be
required to manually re-engage system 100 again after sifting in
vehicle 105.
[0036] In FIG. 1A, system 100 further comprises a time out sensor
170. In embodiments of the present invention, the operator of
vehicle 105 may be required to manually actuate a switch, or other
sensor, periodically in order to confirm that the operator is still
conscious and/or alert. This is sometimes referred to as a
"deadman's switch." In embodiments of the present invention, if an
operator fails to actuate time out sensor 170 within a given time
period, a signal is generated which will prevent the generation of
steering commands until the user manually actuates time out sensor
170 again. In embodiments of the present invention, the time
interval between actuations may be user defined, or a pre-set
parameter. Additionally, each actuation of time out sensor 170 may
re-set the interval counter. For example, each time the operator
actuates time out sensor 170 he/she may have up to 2 minutes in
which to actuate time out sensor 170 again without interrupting the
generation of steering commands by control component 120.
[0037] Continuing with FIG. 1A, system 100 may also comprise a
brake switch sensor 180 which is coupled with coupling 115. In
embodiments of the present invention, if an operator actuates the
brake pedal of vehicle 105, a signal from brake switch sensor 180
will cause control component 120 to stop generating steering
commands. Thus, if the operator is trying to stop vehicle 105,
system 100 will cease trying to control the steering mechanism of
the vehicle.
[0038] FIG. 2 shows an exemplary system architecture 200 in
accordance with embodiments of the present invention. In the
embodiment of FIG. 2, control component 120 comprises a vehicle
guidance system 210 which is coupled with a steering controller
220. It is appreciated that in embodiments of the present
invention, vehicle guidance system 210 and steering controller 220
may be implemented as a single unit, or separately. Implementing
steering controller 220 separately is advantageous in that it
facilitates implementing the present invention as an after market
kit which can be easily added to an existing vehicle navigation
system. As a result, the costs for components and for installation
of the control system of the present invention are reduced.
However, embodiments of the present invention are well suited to be
factory installed as original equipment for mobile machine 105 as
well.
[0039] In embodiments of the present invention, vehicle guidance
system 210 uses position data from position determining system 110,
user input such as a desired pattern or direction, as well as
vector data such as desired direction and distance to determine
course corrections which are used for guiding mobile machine 105.
Roll, pitch, and yaw data from TCM 150 may also be used to
determine course corrections for mobile machine 105. For purposes
of the present invention, the term "course" means a direction
between at least two geographic positions. For purposes of the
present invention, the term "course correction" means a change in
the direction traveled by mobile machine 105 such that mobile
machine 105 is guided from a current direction of travel to a
desired direction of travel and/or a current geographic position to
a desired geographic position. In embodiments of the present
invention, vehicle guidance system 210 is a commercially available
guidance system such as the AgGPS.RTM. guidance system manufactured
by Trimble Navigation Ltd. of Sunnyvale Calif.
[0040] Additional data used to determine course corrections may
also comprise swath calculation which takes into account the width
of various implements which may be coupled with mobile machine 105.
For example, if a harvester can clear a swath of 15 feet in each
pass, vehicle guidance system 210 may generate steering commands
which cause mobile machine 105 to move 15 feet to one side in the
next pass. Vehicle guidance system 210 may also be programmed to
follow straight or curved paths which is useful when operating in
irregularly shaped or contoured fields or in fields disposed around
a center pivot. This is also useful in situations in which the path
being followed by mobile machine 105 is obscured. For example, an
operator of a snowplow may not be able to see the road being
cleared due to the accumulation of snow on the road. Additionally,
visibility may be obscured by snow, rain, or fog. Thus, it would be
advantageous to utilize embodiments of the present invention to
guide mobile machine 105 in these conditions. In embodiments of the
present invention, position determining component 110 may be
integrated into vehicle guidance system 210 or may be a separate
unit. Additionally, as stated above with reference to FIG. 1,
position determining component 110, control component 120 and
steering component 130 may be integrated into a single unit in
embodiments of the present invention.
[0041] In embodiments of the present invention, the course
correction calculated by vehicle guidance system 210 is sent from
vehicle guidance system 210 to steering controller 220.
[0042] Steering controller 220 translates the course correction
generated by guidance system 210 into a steering command for
manipulating the steering mechanism of mobile machine 105. Steering
controller 220 generates a message conveying the steering command
to steering component 130. In embodiments of the present invention,
the communicative coupling between vehicle guidance system 210,
steering controller 220 and steering component 130 may be
accomplished using coupling 115 (e.g., a serial bus, or CAN
bus).
[0043] In embodiments of the present invention, steering component
130 may comprise an electric steering component 131, or a hydraulic
steering component 132. Thus, as shown in FIG. 2, steering
controller 220 comprises a first output 221 for coupling steering
controller 220 with electric steering component 131, and a second
output 222 for coupling steering controller 220 with hydraulic
steering component 132. Because coupling 115 may be compliant with
the CAN protocol, plug and play functionality is facilitated in
system 200. Therefore, in embodiments of the present invention,
steering controller can determine which steering component it is
coupled with depending upon which output of steering controller 220
is used.
[0044] Steering controller 220 then generates a message, based upon
the steering component with which it is coupled, which causes the
steering component to actuate the steering mechanism of mobile
machine 105. For example, if steering controller 220 determines
that output 221 is being used, it generates a steering command
which is formatted for controlling electric steering component 131.
If steering controller 220 determines that output 222 is being
used, it generates a steering command which is formatted for
controlling hydraulic steering component 132. In embodiments of the
present invention, the message sent by steering controller 220 may
comprise a control voltage, control current, or a data message.
[0045] FIGS. 3A and 3B show side and axial views respectively of a
system 300 for controlling a mobile machine in accordance with
embodiments of the present invention. In the embodiment of FIG. 3A,
a steering component (e.g., electric steering component 131 of FIG.
2) comprises an electric motor 310 which is coupled with an
actuator device via a shaft 312. In the embodiment of FIG. 3A,
actuator device comprises a drive wheel 311 which is in contact
with steering wheel 330 of mobile machine 105. In embodiments of
the present invention, electric motor 310 may be directly coupled
with drive wheel 311, or may be coupled via a low ratio gear (not
shown). Using these methods to couple electric motor 313 and drive
wheel 311 are advantageous in that a smaller electric motor can be
used while still generating sufficient torque to control steering
wheel 330. Thus, if a user wants to manually steer mobile machine
105, the user will encounter less resistance from electric motor
310 when the motor is disengaged.
[0046] In embodiments of the present invention, the electric motor
coupled with drive wheel 311 is a non-geared motor and the
performance parameters of the electric motor coupled are selected
so that, for example, electric motor 310 may be installed in a
variety of vehicle types and/or manufacturers. For example, a
certain amount of torque is desired in order to be able to turn
steering wheel 330. It is also important to determine a desired
ratio between the torque generated by the motor and the electrical
current driving the motor. Because there is a power loss across the
transistors comprising control component 120 that are proportional
to the square (X2) of the current passing through the circuit, it
is desirable to utilize a lower amount of current. However, if too
little current is used, the motor turns too slowly to provide a
desired level of responsiveness to steering commands. Additionally,
if the torque constant (e.g., ounce/inches per amp) is too high,
excessive "back-EMF," which is an electromagnetic field, is
generated by the motor and interferes with the current flowing into
the motor. While a higher voltage can overcome the back-EMF issue,
most vehicles utilize 12 volt batteries, thus indicating that a
higher amount of current is desired. In embodiments of the present
invention, a non-geared electric motor which generates
approximately nineteen ounce/inches of torque per amp of current is
utilized. In other embodiments of the present invention, the
performance parameters of the electric motor are selected to more
specifically match the motor with a particular vehicle type, model,
or manufacturer.
[0047] Electric steering component 131 further comprises a motor
control unit 313 is coupled with electric motor 310 and with a
control component 120 of FIG. 2 via coupling 115. In FIG. 3A,
electric motor 310 is coupled with the steering column 340 via a
bracket 320. It is appreciated that in embodiments of the present
invention, electric motor 310 may be coupled with steering column
340 using another apparatus than bracket 320. For example, in one
embodiment, electric motor 310 may be coupled with a bracket which
is attached via suction cups with the windshield or dashboard of
mobile machine 105. In another embodiment, electric motor 310 may
be coupled with a pole which is extended between the floor and roof
of mobile machine 105. Furthermore, while the present embodiment
shows motor control unit 313 directly coupled with electric motor
310, embodiments of the present invention are well suited to
utilize other configurations. For example, in one embodiment motor
control unit 313 may be implemented as a sub-component of control
unit 120 and may only send a control voltage to electric motor 310
via an electrical coupling (not shown). In another embodiment,
motor control unit 313 may be implemented as a separate unit which
is communicatively coupled with control unit 120 via coupling 115
and with electric motor 310 via an electrical coupling (not
shown).
[0048] In embodiments of the present invention, drive wheel 311 is
coupled with steering wheel 330 with sufficient friction such that
rotation of drive 311 causes rotation of steering wheel 330. In
embodiments of the present invention, a spring (not shown)
maintains sufficient pressure for coupling drive wheel 311 with
steering wheel 330. However, the spring does not maintain
sufficient pressure between drive wheel 311 and steering wheel 330
to pinch a user's fingers if, for example, the user is manually
steering mobile machine 105 and the user's fingers pass between
drive wheel 311 and steering wheel 330. While the embodiment of
FIGS. 3A and 3B show drive wheel 311 contacting the outside portion
of steering wheel 330, in other embodiments of the present
invention, drive wheel 311 contact the inside portion of steering
wheel 330.
[0049] In embodiments of the present invention, electric motor 310
is reversable, thus, depending upon the steering command sent from
control component 120, motor control unit 313 controls the current
to electric motor 310 such that it rotates in a clockwise or
counter-clockwise direction. As a result, steering wheel 330 is
turned in a clockwise or counter-clockwise direction as well.
Typically, the current running through electric motor 310 is
calibrated so that drive wheel 311 is turning steering wheel 330
without generating excessive torque. This facilitates allowing a
user to override electric steering component 131. In embodiments of
the present invention, electric motor 310 may be a permanent magnet
brush direct current (DC) motor, a brushless DC motor, a stepper
motor, or an alternating current (AC) motor.
[0050] In embodiments of the present invention, motor control unit
313 can detect when a user is turning steering wheel 330 in a
direction counter to the direction electric steering component 131
is turning. For example, a shaft encoder (not shown) may be used to
determine which direction shaft 312 is turning. Thus, when a user
turns steering wheel 330 in a direction which counters the
direction electric motor 310 is turning, the shaft encoder detects
that the user is turning steering wheel 330 and generates a signal
to motor control unit 313. In response to determining that a user
is turning steering wheel 330, motor control unit 313 can disengage
the power supplied to electric motor 310. As a result, electric
motor 310 is now freewheeling and can be more easily operated by
the user. In another embodiment, motor control unit 313 when
steering wheel 330 is turned counter to the direction electric
motor is turning, a circuit in motor control unit 313 detects that
electric motor 310 is stalling and disengages the power supplied to
electric motor 310. In another embodiment, a switch detects the
rotation of steering wheel 330 and sends a signal to motor control
unit 313. Motor control unit 313 can then determine that the user
is manually steering mobile machine 105 and disengage electric
motor 310. As a result, when a user turns steering wheel 330, their
fingers will not be pinched if they pass between drive wheel 311
and steering wheel 330 because electric motor 310 is freewheeling
when the power is disengaged.
[0051] Embodiments of the present invention are advantageous over
conventional vehicle control systems in that they can be easily and
quickly installed as an after market kit. For example, conventional
control systems typically control a vehicle using solenoids and
hydraulic flow valves which are coupled with the power steering
mechanism of the vehicle. These systems are more difficult to
install and more expensive than the above described system due to
the higher cost of the solenoids and hydraulic flow valves as well
as the additional labor involved in installing the system. The
embodiment of FIG. 3 can be easily bolted onto steering column 340
and coupled with steering controller 220. Additionally, electric
motor 310 can be fitted to a variety of vehicles by simply
exchanging bracket 320 for one configured for a particular vehicle
model. Furthermore, embodiments of the present invention do not
rely upon furrow feelers which typically must be raised from and
lowered into a furrow when the end of the furrow is reached. As a
result, less time is lost in raising or lowering the furrow
feeler.
[0052] FIGS. 4A and 4B show side and axial views respectively of a
system 400 for controlling a mobile machine in accordance with
embodiments of the present invention. In FIG. 4A, the steering
component (e.g., electric steering component 131 of FIG. 2)
comprises an electric motor 410 which is coupled with drive wheel
411 via shaft 412 and a motor control unit 413. Motor control unit
413 couples electric motor 410 with steering controller 220 of FIG.
2. In FIG. 4A, electric motor 410 is connected with steering column
440 via bracket 420. In the embodiment of FIGS. 4A and 4B, drive
wheel 411 is coupled with a sub wheel 431 which is coupled with
steering wheel 330 via brackets 432.
[0053] In the embodiment of FIGS. 4A and 4B, electric motor 410
turns in a clockwise or counter-clockwise direction depending upon
the steering command received by motor control unit 413. As a
result, drive wheel 411 causes sub wheel 431 to turn in clockwise
or counter clockwise direction as well. Utilizing sub wheel 431
prevents a user's fingers from being pinched between steering wheel
430 and drive wheel 411 if the user chooses to manually steer the
vehicle. In embodiments of the present invention, sub wheel 431 can
be easily and quickly coupled with steering wheel 430 by, for
example, attaching brackets 432 to the spokes of steering wheel
430.
[0054] FIGS. 5A and 5B are side and axial views respectively of a
system 500 for controlling a mobile machine in accordance with
embodiments of the present invention. In FIG. 5A, the steering
component (e.g., electric steering component 131 of FIG. 2)
comprises an electric motor 510 which is coupled with gear 511 via
shaft 512 and with a motor control unit 513. Motor control unit 413
couples electric motor 510 with steering controller 220 of FIG. 2.
In FIG. 5A, electric motor 510 is coupled with steering column
540.
[0055] FIG. 5B is a section view of system 500 and shows steering
shaft 550 disposed within steering column 540. A gear 551 couples
steering shaft 550 with gear 511 of electric steering component
131. In the present embodiment, electric motor 510 turns in a
clockwise or counter clockwise direction depending upon the
steering command received by motor control unit 513. As a result,
gear 511 also turns in a clockwise or counter clockwise direction,
thus causing steering shaft 550 to turn due to the force conveyed
by gear 551. While the present embodiment recites coupling electric
steering component 131 with steering shaft 550 using gears,
embodiments of the present invention are well suited for using
other mechanical couplings such as a gear and chain, a belt and
pulleys, etc.
[0056] FIG. 6 is a flowchart of a method 600 for implementing
automatic vehicle control in accordance with embodiments of the
present invention. In embodiments of the present invention, method
600 is implemented by, for example, control component 120 of system
100 to facilitate implementing automatic vehicle control in a safe
manner. It is noted that while the following discussions will cite
using method 600 in conjunction with agricultural vehicles,
embodiments of the present invention may be used in other
applications such as construction equipment and/or road servicing
equipment such as snowplows or salt spreading trucks.
[0057] In step 610 of FIG. 6, a course is determined for a vehicle
along which the vehicle is to be automatically guided. In
embodiments of the present invention, a user of system 100 can
enter coordinates which define a course for vehicle 105. In one
embodiment, the user utilizes keypad 140 to manually enter the
coordinates which define the course for the vehicle. In embodiments
of the present invention, the coordinates for more than one vehicle
course may be entered by a user. For example, a user can program
system 100 to follow a path (e.g., a road) comprising a series of
curves which may be defined as a series of short straight segments.
Thus, a series of vehicle courses may define a road which vehicle
105 is guided along using system 100. Additionally, in embodiments
of the present invention, other information such as the width of
vehicle 105 or an implement coupled therewith (e.g., a plow
attachment) may be entered into system 105. This facilitates
determining a vector for steering vehicle 105 to avoid overplanting
or creating gaps in coverage.
[0058] In another embodiment, the coordinates may be stored in a
memory device coupled with system 100. For example, the coordinates
of a previously stored vehicle course may be stored in a
non-volatile memory or data storage device. Alternatively, the
coordinates of the vehicle course may be determined by another
computer system and transferred to system 100 using, for example, a
portable memory storage device such as a SmartCard memory device, a
universal serial bus (USB) memory device, or the like. In another
embodiment, a wireless communication system may communicatively
couple vehicle 105 with a communication network (e.g., the
Internet) from which the vehicle course coordinates are accessed.
In another embodiment, a user can drive vehicle 105 and set system
100 to continue the current direction for a designated distance. In
another embodiment, vehicle 105 can be driven around the periphery
of a field to define the outer edge of the work area. In so doing,
position determining system 110 can determine the geographic
position of vehicle 105 and thus determine the edges of the field
or work area.
[0059] In step 620 of FIG. 6, an indication is received that a
pre-defined parameter has been exceeded. Embodiments of the present
invention utilize a variety of pre-defined parameters which are
used to define operating parameters for system 100. For example, in
embodiments of the present invention, when a system fault error is
received (e.g., loss or degradation of a GPS signal, or other
sensor), the generation of steering commands is suspended until the
fault is corrected.
[0060] In embodiments of the present invention, other pre-defined
parameters for system 100 comprise, but are not limited to, a
minimum vehicle speed, a maximum vehicle speed, an approach angle
between vehicle 105 and the course vector, a cross-track error
limit (e.g., the distance between vehicle 105 and the course
vector), braking of vehicle 105, a signal from seat switch 180 or
time out sensor 170, excessive tilt/roll of vehicle 105, excessive
roughness of terrain, excessive acceleration (including lateral
acceleration) of vehicle 105, and/or a manual override by a user
(e.g., manually steering vehicle 105).
[0061] In step 630 of FIG. 6, the generation of a steering command
is suspended in response to receiving the indication of step 620.
In embodiments of the present invention, if one of the pre-defined
parameters discussed above with reference to step 620 is exceeded,
steering commands for automatically guiding vehicle 105 are
automatically suspended. In embodiments of the present invention,
generating steering commands may not be resumed until vehicle 105
is again operating within the pre-defined parameters and/or until a
user of vehicle 105 makes an indication that automatic vehicle
control is to be resumed, thereby initiating a new vehicle guidance
session.
[0062] Embodiments of the present invention facilitate safe
operation of an automatic vehicle guidance system because the
automatic vehicle guidance system is logically disengaged when
pre-defined parameters are exceeded. In the prior art, mechanical
sensors (e.g., furrow feelers) were used to determine whether a
tractor was accurately tracking a plowed furrow and the only way to
disengage the guidance system was to manually disengage the
steering motor from the steering wheel of the vehicle or to
manually disengage the furrow feelers from the furrow.
[0063] Embodiments of the present invention, logically determine
whether the vehicle is operating within a set of pre-defined
parameters which may indicate that automatic vehicle control is
desired by the user. For example, if system 100 detects that the
user is manually steering vehicle 100, it is likely that the user
does not want system 100 to be generating steering commands. If
these commands were implemented by a drive motor coupled with the
steering wheel (e.g., electric motor 310 of FIG. 3), if may
interfere with the user's control of the vehicle and lead to an
unsafe operating condition. Additionally, if the vehicle is
operated below a minimum vehicle speed, it may indicate that the
user is attempting to stop the vehicle and thus may not want the
automatic vehicle guidance system to take over operating the
vehicle. Additionally, if the user is attempting, for example, a
three-point turn, the stop/slow down action performed while
transitioning to reverse causes system to be logically disengaged
from controlling vehicle 105. The user can press an engage button
to re-engage the current course vector if desired.
[0064] If the vehicle is operated above a maximum vehicle speed, it
may indicate that the user has driven off of a field and therefore
does not want the automatic vehicle guidance system to take over
operating the vehicle. Additionally, if the vehicle has exceeded a
distance parameter from a portion of the course vector, it may
indicate, for example, that the user has driven vehicle 105 off of
a field and no longer desired automatic vehicle control to be
implemented. Furthermore, if the user has driven vehicle 105 off of
a field, but is now driving parallel to the field (e.g., on a road
parallel to the field), the maximum speed parameter disengages the
system 100 to prevent system 100 from attempting to control the
vehicle while the user is operating vehicle 105 on the road.
[0065] Thus, embodiments of the present invention facilitate a
logical disengagement of vehicle guidance system 100 while still
allowing it to be physically coupled with the steering mechanism of
the vehicle being controlled. This is much more convenient for
users who previously had to manually disengage the drive motor from
the steering wheel of the vehicle. For many users, this was
especially tedious when performing repetitive operations, such as
plowing a field, where manually disengaging the drive wheel was
repeatedly performed.
[0066] FIGS. 7A, 7B, 7C, 7D, and 7E are a flowchart of a method 700
for implementing automatic vehicle control in accordance with
embodiments of the present invention. It is noted that in addition
to the steps shown in FIGS. 7A-7E, a user can suspend or terminate
the operation of system 100 at any time by, for example, pressing a
designated button. In step 701 of FIG. 7A, power is supplied to
system 100 by a user pressing the power button of system 100.
[0067] In step 702 of FIG. 7A, a new guidance session is initiated.
In embodiments of the present invention, the user indicates that a
new guidance session is being initiated. In embodiments of the
present invention, a sensor integrity check may be automatically
performed when power is initiated to ensure that the sensors are
providing valid information. For example, a GPS sensor (e.g.,
position determining system 110) can be operating properly (e.g.,
no system fault), but can be providing useless information when the
system is under trees, or experiencing bad position quality. It is
noted that integrity checks for sensors other than position
determining system may be performed at this time.
[0068] In step 703 of FIG. 7A, course parameters for the new
guidance session are received. As described above with reference to
step 610 of FIG. 6, system 100 accesses coordinates which define a
vehicle course for vehicle 105. For example, a start point and end
point of a swath, also known as the "A-B line," are entered into
system 100.
[0069] In step 704 of FIG. 7A, the control system is engaged. Once
the user has entered the coordinates defining a vehicle course, the
user manually indicates that system 100 is to be engaged. This
prevents system 100 from automatically engaging as soon as the
vehicle course coordinates are entered into system 100 and
automatically guiding vehicle 105.
[0070] In step 705 of FIG. 7A, velocity data is received. In
embodiments of the present invention, data is received from a
variety of monitoring devices to determine the operating parameters
of vehicle 105. In step 705, data indicating the current operating
speed or velocity of vehicle 105 is received by control component
120.
[0071] In step 706 of FIG. 7A, a logical operation is performed to
determine if the current velocity of vehicle 105 is above a minimum
velocity parameter. In embodiments of the present invention,
control component 120 compares the current velocity of vehicle 105
received in step 705 with a pre-defined minimum velocity parameter.
If vehicle 105 is not exceeding the minimum velocity parameter
(e.g., 5 miles per hour), method 700 continues at step 725 and the
generation of steering commands is suspended. If vehicle 105 is
traveling above the minimum velocity parameter, method 700 proceeds
to step 707. In one embodiment, the current velocity of vehicle 105
must be above the minimum velocity parameter for five consecutive
readings taken every 200 milliseconds (200 ms).
[0072] In step 707 of FIG. 7B, a logical operation is performed to
determine if the current velocity of vehicle 105 is below a maximum
velocity parameter. In embodiments of the present invention,
control component 120 compares the current velocity of vehicle 105
received in step 705 with a pre-defined maximum velocity parameter.
If vehicle 105 is exceeding the maximum velocity parameter (e.g.,
15 miles per hour), method 700 continues at step 725 and the
generation of steering commands is suspended. If vehicle 105 is
traveling below the maximum velocity parameter, method 700 proceeds
to step 708. In one embodiment, the current velocity of vehicle 105
must be below the maximum velocity parameter for five consecutive
readings taken every 200 milliseconds (200 ms).
[0073] In step 708 of FIG. 7B, the current position data of vehicle
105 is accessed. In embodiments of the present invention, the
current position data of vehicle 105 is obtained from position
determining system 110. In embodiments of the present invention, a
series of positions of vehicle 105 may be accessed to determine the
direction in which vehicle 105 is traveling.
[0074] In step 709 of FIG. 7B, the course parameters received in
step 703 are accessed.
[0075] In step 710 of FIG. 7B, a course vector is determined. In
embodiments of the present invention, the course parameters
received in step 703 define a first point, a second point, and a
direction and distance between these two points. This information
may be used in embodiments of the present invention to determine a
vector of the course which is to be followed by vehicle 105.
[0076] In step 711 of FIG. 7B, the angle from the current position
of vehicle 105 to the course vector of step 710 is determined. In
embodiments of the present invention, the current direction being
traveled by vehicle 105, as determined in step 708 above, are
compared with the direction of the course vector determined in step
710 above.
[0077] In step 712 of FIG. 7B, a logical operation is performed to
determine whether the angle from the current position of vehicle
105 to the course vector of step 710 is within a pre-defined
parameter. In embodiments of the present invention, if the angle
between these two directions exceeds a pre-defined entry angle
parameter (e.g., 300 from the course vector direction), method 700
proceeds to step 725 and the generation of steering commands is
suspended. If the angle between these two directions does not
exceed the pre-defined entry angle parameter, method 700 proceeds
to step 713. In one embodiment, the angle from the current position
of vehicle 105 to the course vector of step 710 must be within the
pre-defined approach angle parameter for five consecutive readings
taken every 200 milliseconds (200 ms).
[0078] In step 713 of FIG. 7C, the distance from the current
position of vehicle 105 to a point on the course vector is
determined. In embodiments of the present invention, system 100
utilizes data from position determining system 110 to determine the
current location of vehicle 105.
[0079] In step 714 of FIG. 7C, a logical operation is performed to
determine whether the distance from the current position of vehicle
105 to a point on the course vector is within a pre-defined
parameter. In embodiments of the present invention, the course
vector is defined as a series of geographic positions. Thus, system
100 may be used to determine the distance of vehicle 105 to a point
comprising the course vector.
[0080] In one embodiment of the present invention, a user can enter
additional information into system 100 such as the width of an
implement coupled with vehicle 105. For example, if vehicle 105 is
pulling a plow with a width of 30 feet, this information can be
used to determine if the distance between vehicle 105 and a point
of the course vector, also known as the "cross-track error,"
exceeds a pre-defined parameter. For example, the pre-defined
distance parameter may define the maximum distance between vehicle
105 and a point on the course vector as being no farther than 3
feet," of the implement coupled with vehicle 105. Thus, if vehicle
is more than 3 feet from a point of the designated course vector,
method 700 proceeds to step 725 and the generation of steering
commands is suspended. While the present embodiment recites a
cross-track error of no more than 3 feet, this can be a greater or
lesser number in embodiments of the present invention.
[0081] In embodiments of the present invention, if the distance
between vehicle 105 and a point of the course vector exceeds the
pre-defined cross-track error parameter, method 700 proceeds to
step 725 and the generation of steering commands is suspended. If
the distance between vehicle 105 and a point of the course vector
does not exceed the pre-defined cross-track error parameter, method
700 proceeds to step 715. In one embodiment, the distance from the
current position of vehicle 105 to a point on the course vector
must be within the pre-defined cross-track error parameter for five
consecutive readings taken every 200 milliseconds (200 ms).
[0082] In step 715 of FIG. 7C, the current flow data from a current
sensor is accessed. In embodiments of the present invention, motor
control unit 313 is operable for determining the amount of current
flowing into electric motor 310 and/or determining whether a user
is manually operating steering wheel 330 of vehicle 105. In another
embodiment, only current flow data is accessed by motor control
unit 313 and is sent via coupling 115 to control component 120.
[0083] In step 716 of FIG. 7C, a logical operation is performed to
determine if a manual disengagement of system 100 disqualifies
automatic re-engagement. For example, based upon the data accessed
in step 715, system 100 can determine if a user is attempting to
manually operate vehicle 105. If the disengagement of system 100 is
interpreted as an attempt by the operator of vehicle 105 to avoid a
possible safety risk, re-engagement of automatic vehicle control is
prevented and method 700 proceeds to step 725 wherein the
generation of steering commands is suspended. If it is determined
that there was not a disqualifying disengagement, method 700
proceeds to step 717.
[0084] In step 717 of FIG. 7C, a logical operation is performed to
determine whether a system fault error has been received. In
embodiments of the present invention, device polling may be
performed to determine if a system error condition exists with a
component of system 100. In other embodiments, each component may
independently generate a message to control component 120 conveying
that a system error has occurred. It is noted that reception of a
system fault error message may be received at any time in method
700 and cause an immediate suspension of steering commands. In
embodiments of the present invention, if a system fault error
conditions exists, method 700 proceeds to step 725 and the
generation of steering commands is suspended. If no system fault
error condition exists, method 700 proceeds to step 718.
[0085] In step 718 of FIG. 7D, a logical operation is performed to
determine whether the seat switch is engaged. As described above
with reference to FIG. 1A, embodiments of the present invention may
utilize a seat switch (e.g., 160) to determine whether an operator
is seated in vehicle 105. If it is determined that an operator is
seated in vehicle 105, method 700 proceeds to step 719. If it is
determined that no operator is seated in vehicle 105, method 700
proceeds to step 725.
[0086] In step 719 of FIG. 7D, a logical operation is performed to
determine whether the time out period is within limits. As
described above, in embodiments of the present invention system 100
may also comprise an optional time out sensor 170. Typically, an
operator or vehicle 105 periodically actuates time out sensor 170
to confirm that the operator is still conscious and/or alert. If
the operator does not actuate time out sensor 170 within a
pre-determined time out parameter, method 700 proceeds to step 725.
If the operator has actuated time out sensor 170 within the
pre-determined time out parameter, method 700 proceeds to step
720.
[0087] In step 720 of FIG. 7D, a logical operation is performed to
determine whether vehicle 105 is within an defined work area. If
vehicle 105 is within an defined work area, method 700 proceeds to
step 721. If vehicle 105 is outside of an defined work area, method
700 proceeds to step 725. Referring now to FIG. 11, vehicle 105 has
been driven once around the periphery of field 1101. While driving
around the periphery of field 1101, system 100 determines the
geographic position of vehicle at various points around the
periphery. In embodiments of the present invention, system 100 may
define a border (e.g., 1105) relative to the location of the
antenna of system 100. In the example of FIG. 11, the border is
defined at the inner edge of implement 801. However, it is noted
that the border may be defined at a greater or lesser distance
relative to the location of antenna 107 in embodiments of the
present invention. The area (e.g., 1150) between border 1105 and
the outer edge of field 1101 is referred to as the "headlands."
Typically, no planting or spraying is performed in the headlands
area. The area within border 1105 is defined as the work area
(e.g., 1160) for vehicle 105.
[0088] In operation, when the operator begins swath 1110, vehicle
105 is driven to point 1111. Because vehicle 105 is outside of the
work area when driving within headlands 1150, system 100 is
automatically disengaged. Furthermore, while vehicle is outside of
work area 1160, system 100 will not automatically re-engage. In
other words, unless a manually activated engagement signal is
received, system 100 does not generate steering commands. After
completing swath 1110, vehicle 105 is outside of work area 1160 and
system 100 is automatically disengaged. As a result, vehicle 105
has to be manually turned through turn 1115. Upon reaching point
1121 of swath 1120, the operator can manually re-engage system 100.
In one embodiment, the operator also enters data which defines
point 1122 of swath 1120 and system 100 determines a vector which
comprises points 1121 and 1122. In another embodiment, upon
reaching point 1121, the swath calculation is performed by system
100. In other word, system 100 will guide vehicle 105 on a course
that is essentially parallel with swath 1110 and displaced by a
distance which approximates the width of implement 801. It is noted
that when vehicle 105 is driven to a different field or work area,
system 100 disengages to permit the operator to manually steer the
vehicle. It is noted that the method for establishing a work area
discussed above is one of a variety of methods for doing so. In
other embodiments, the work area may be defined by accessing
previously stored data via, for example, a media storage device, or
via a wireless data connection.
[0089] Referring again to FIG. 7D, In step 721 a logical operation
is performed to determine whether the brake of vehicle 105 has been
activated. As described above, embodiments of the present invention
may optionally comprise a brake switch sensor (e.g., 180) which
indicates whether an operator of vehicle 105 has activated the
braking system. If it is determined that the operator has actuated
the braking system, method 700 proceeds to step 725. If it is
determined that the operator has not yet actuated the braking
system, method 700 proceeds to step 722.
[0090] In step 722 of FIG. 7E, a logical operation is performed to
determine whether the motion of vehicle 105 is within roll, pitch,
or yaw limits, or a combination thereof. This can be determined by
accessing data from TCM 150 which may utilize motion sensors to
determine whether excessive motion of vehicle 105 is exhibited in
one or more of these planes of motion. Alternatively, this
information can be determined by accessing position data from
position determining system 110. If it is determined that excessive
motion in one or more of these planes of motion is within
pre-determined limits, method 700 proceeds to step 723. If it is
determined that excessive motion in one or more of these planes of
motion is not within pre-determined limits, method 700 proceeds to
step 725.
[0091] In step 723 of FIG. 7E, a logical operation is performed to
determine whether acceleration of vehicle 105 is within
pre-determined limits. Again, TCM 150 can be used to determine
whether vehicle 105 has been accelerated beyond pre-determined
limits. This may indicate whether vehicle 105 has struck an object,
or run into a ditch, rolled over, etc. In embodiments of the
present invention, if it is determined that acceleration of vehicle
105 is within pre-determined limits, method 700 proceeds to step
724. If it is determined that acceleration of vehicle 105 exceeds
the pre-determined limits, method 700 proceeds to step 725.
[0092] In step 724 of FIG. 7E, a logical operation is performed to
determine whether valid GPS information is being received. This
step is similar to the sensor integrity check performed as
described above with reference to step 702. It is noted that the
sensor integrity check may be performed on a position determining
system other than GPS in embodiments of the present invention. If
the GPS system (e.g., position determining system 110 of FIG. 1) is
receiving valid information, method 700 returns to step 705. If it
is determined that the GPS system is not receiving valid
information, method 700 proceeds to step 725.
[0093] In step 725 of FIG. 7C, the generation of a steering command
is suspended. In embodiments of the present invention, steering
commands from steering controller are suspended. In one embodiment,
the steering commands are simply not conveyed to steering component
130. In another embodiment, the steering commands are not generated
at all. In another embodiment, course commands from vehicle
guidance system 210 may be interrupted to prevent steering
controller 220 from generating the steering commands.
[0094] FIG. 8 shows a vehicle implementing automatic vehicle
control in accordance with embodiments of the present invention. In
FIG. 8, a user is operating a tractor (e.g., vehicle 105) pulling a
plow 801 in a field 810. The user initiates vehicle guidance system
100 and indicates that a new guidance session is being initiated.
The user then enters the coordinates (e.g., first coordinate 821
and second coordinate 822) of first swath 820. In embodiments of
the present invention, system 100 determines the geographic
position of first coordinate 821 and second coordinate 822, and a
direction and distance of the vector between these two points. In
so doing, system 100 has determined a course (e.g., first swath
820) for vehicle 105. Vehicle operation commences when the user
engages system 100 by pressing an engage button.
[0095] Vehicle 105 then proceeds down swath 820 based upon steering
commands generated by control component 120. In embodiments of the
present invention, the user controls the speed of vehicle 105 while
guidance system 100 automatically controls the steering of vehicle
105 to guide it along the course defined by first swath 820. Thus,
in embodiments of the present invention, as long as the user
maintains the velocity of vehicle 105 between the upper and lower
speed limits, steering commands continue to be generated by system
100.
[0096] When vehicle 105 reaches the end of first swath 820, the
user manually turns the steering wheel of vehicle 105 to initiate a
turn indicated by arrow 830. Vehicle guidance system 100 detects
that the user is manually controlling vehicle 105 (e.g., step 716
of FIG. 7) and automatically suspends generating steering commands.
This prevents system 100 from generating steering commands in an
attempt to direct vehicle 105 back onto first swath 820 and thus
conflicting with the manual operation of vehicle 105. In one
embodiment, vehicle guidance system 210 continues to generate
vehicle course commands to steering controller 220, however,
steering controller 220 does not generate steering commands in
response to those course commands. In another embodiment, vehicle
course commands from vehicle guidance system 210 are suspended as
well.
[0097] As long as the user maintains the minimum speed throughout
turn 830, the user can enter the coordinates for a new swath (e.g.,
840) by entering a first coordinate 841 and a second coordinate
842. At some point of turn 830, the user can re-engage system 100
by pressing a button. System 100 will then determine the direction
and distance of the course vector (e.g., 840) as well as the
current geographic position and course of vehicle 105. Because the
width of plow 801 is known to system 100, first coordinate 841 can
be determined by system 100 to position the edge of plow 801 so
that gaps or overplowing is minimized. If vehicle 105 is within the
pre-defined distance parameter and the entry angle between vehicle
105 and swath 840 is within parameters, system 100 will again
initiate automatically controlling the steering of vehicle 105 as
it is guided along the course of swath 840. Additionally, system
100 can indicate to the user that control of the steering can be
relinquished by the user at some point on turn 830. System 100 will
then control the steering of vehicle 105 so that it is guided to
first point 841 automatically and continue to steer the vehicle
along that course.
[0098] At the end of swath 840, the user again manually steers
vehicle 105 through the turn defined by arrow 850. As described
above, as long as the user maintains the speed of vehicle 105 above
the minimum speed parameter, the user can enter the coordinates of
swath 860 (e.g., first coordinate 861 and second coordinate 862),
press the engage button, and system 100 will generate steering
commands to guide vehicle 105 along swath 860.
[0099] At the end of swath 860, the user finishes plowing field 810
steers vehicle 105 to road 870. As the user drives vehicle 105 in
the direction shown by arrow 880, system 100 determines that
vehicle 105 has exceeded the distance parameter. For example, the
distance between vehicle 105 and swath 860 now exceeds the maximum
cross-track error distance of 3 swaths based upon the width of plow
801.
[0100] With reference to FIG. 9, portions of the present invention
are comprised of computer-readable and computer-executable
instructions that reside, for example, in vehicle guidance system
210. It is appreciated that vehicle guidance system 210 of FIG. 9
is exemplary only and that the present invention can be implemented
by other computer systems as well.
[0101] In the present embodiment, vehicle guidance system 210
includes an address/data bus 901 for conveying digital information
between the various components, a central processor unit (CPU) 902
for processing the digital information and instructions, a volatile
main memory 903 comprised of volatile random access memory (RAM)
for storing the digital information and instructions, and a
non-volatile read only memory (ROM) 904 for storing information and
instructions of a more permanent nature. In addition, vehicle
guidance system 210 may also include a data storage device 905
(e.g., a magnetic, optical, floppy, or tape drive or the like) for
storing vast amounts of data. It should be noted that the software
program of the present invention for implementing automatic vehicle
control can be stored either in volatile memory 903, data storage
device 905, or in an external storage device (not shown). Vehicle
guidance system 210 further comprises a first communication
interface 906 coupled with bus 901 for receiving geographic
position data from position determining system 110. Vehicle
guidance system 210 also comprises a second communication interface
907 coupled with bus 901 for conveying course correction commands
to steering controller 220. In embodiments of the present
invention, first communication interface 906 and second
communication interface 907 are serial communication
interfaces.
Method of the Present Invention for Preventing Automatic
Re-Engagement of Automatic Vehicle Control
[0102] FIG. 10 is a flowchart of a method 1000 for preventing
automatic re-engagement of automatic vehicle control in accordance
with embodiments of the present invention. It is noted that method
1000 may be implemented by system 100 described above with
reference to FIG. 1A. In step 1010, a course for guiding a vehicle
between a first geographic position and a second geographic
position using an automatic vehicle control system is determined.
As described above with reference to step 610 of FIG. 6, system 100
can receive manually input coordinates from a user, a media storage
device (e.g., a memory device), via a wireless data communication
link, derived from current course data, or a combination
thereof.
[0103] In step 1020 of FIG. 10, an indication is received that a
pre-defined parameter of the automatic vehicle control system has
been exceeded. As described above with reference to step 620 of
FIG. 6, there are a variety of parameters which are monitored by
system 100 which indicate when it may be advantageous to logically
disengage system 100. For example, when a user is manually driving
vehicle 105 it may create an unsafe driving condition if system 100
determines that the parameters for generating steering commands are
still met. In such a situation, system 100 may attempt to guide
vehicle 105 toward an obstacle or object which the operator of
vehicle 105 is actively trying to avoid. As another example, if the
operator has finished working in a particular field and is moving
to another field, system 100 may attempt to steer vehicle 105 back
to the field that vehicle 105 has just left. Again, this may cause
an unsafe situation for the operator and others in the vicinity.
Thus, it may be desirable to establish parameters for disengaging
system 100 automatically.
[0104] In step 1030 of FIG. 10, the generation of steering commands
via the automatic vehicle control system is suspended in response
to receiving the indication as described above with reference to
step 1020. As described above with reference to step 630 of FIG. 6,
if one of the pre-defined parameters is exceeded, the generation of
steering commands for vehicle 105 is suspended. This prevents
system 100 from controlling the direction of vehicle 105. As stated
above, this can be dangerous when the operator of vehicle 105 is
attempting to manually control the vehicle. As another example, if
vehicle 105 has run into a ditch, or is about to, continued control
of the vehicle by system 100 may further exacerbate an already
dangerous situation.
[0105] In step 1040 of FIG. 10, the automatic re-engagement of the
automatic vehicle control system is prevented until an engagement
signal is received. In embodiments of the present invention, until
an engagement signal is received by control component 120, the
generation of steering commands continues to be suspended. In
embodiments of the present invention, course corrections may
continue to be calculated by vehicle guidance system 210. However,
they may not be sent to steering controller 220 in order to
generate a steering command. In embodiments of the present
invention, the engagement signal is manually input by the operator
of vehicle 105. As a result, embodiments of the present invention
prevent unintentional engagement of the automatic vehicle control
system. As described above, this is advantageous in situations in
which the operator has initiated manual control of the vehicle such
as to avoid an obstacle or to drive between separate work
areas.
[0106] The preferred embodiment of the present invention, a method
and system for preventing automatic re-engagement of automatic
vehicle control, is thus described. While the present invention has
been described in particular embodiments, it should be appreciated
that the present invention should not be construed as limited by
such embodiments, but rather construed according to the following
claims.
* * * * *