U.S. patent application number 14/550486 was filed with the patent office on 2015-06-18 for state machine controlled driver compliance application.
The applicant listed for this patent is J. J. Keller & Associates, Inc.. Invention is credited to Tom C. Harter, Michael K. Kuphal, Bruce D. Lightner, Randel J. Thome.
Application Number | 20150170434 14/550486 |
Document ID | / |
Family ID | 53369131 |
Filed Date | 2015-06-18 |
United States Patent
Application |
20150170434 |
Kind Code |
A1 |
Harter; Tom C. ; et
al. |
June 18, 2015 |
State Machine Controlled Driver Compliance Application
Abstract
A base unit installed in a vehicle including a vehicle
communication module for communicating with a controller, the
controller monitoring at least one operating parameter of the
vehicle. The base unit also includes a transceiver and a processor
configured to receive the at least one operating parameter of the
vehicle from the vehicle communication module. The processor is
further configured to process the at least one operating parameter
to detect an event using a state machine including a plurality of
states, wherein the event is used for driver compliance logging.
The transceiver is configured to transmit the event to at least one
external device.
Inventors: |
Harter; Tom C.; (Neenah,
WI) ; Kuphal; Michael K.; (Greenville, WI) ;
Thome; Randel J.; (Oshkosh, WI) ; Lightner; Bruce
D.; (La Jolla, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
J. J. Keller & Associates, Inc. |
Neenah |
WI |
US |
|
|
Family ID: |
53369131 |
Appl. No.: |
14/550486 |
Filed: |
November 21, 2014 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14108795 |
Dec 17, 2013 |
|
|
|
14550486 |
|
|
|
|
Current U.S.
Class: |
701/1 |
Current CPC
Class: |
B60W 2520/04 20130101;
B60W 2520/10 20130101; G07C 5/008 20130101; B60W 40/09 20130101;
G07C 5/02 20130101; B60W 2510/18 20130101; B60W 2540/30 20130101;
G07C 5/085 20130101; G01S 19/52 20130101; G07C 5/0841 20130101 |
International
Class: |
G07C 5/00 20060101
G07C005/00 |
Claims
1. A base unit installed in a vehicle comprising: a vehicle
communication module for communicating with a controller, the
controller monitoring at least one operating parameter of the
vehicle, a transceiver; a processor configured to receive the at
least one operating parameter of the vehicle from the vehicle
communication module, and process the at least one operating
parameter to detect an event using a state machine including a
plurality of states, wherein the event is used for driver
compliance logging; and wherein the transceiver is configured to
transmit the event to at least one external device.
2. The base unit of claim 1, wherein the at least one external
device includes a mobile communication device.
3. The base unit of claim 1, wherein the at least one external
device includes a server.
4. The base unit of claim 1, wherein the plurality of states
includes a) an "ignition on" state, b) an "ignition off" state, c)
a "stop" state, d) a "move" state, e) a "drive on" state, and f) a
"drive off" state.
5. The base unit of claim 1, wherein the processor is configured to
detect the event based on a transition between each of the
plurality of states.
6. The base unit of claim 1, wherein driver compliance logging
includes an hour-of-service log.
7. The base unit of claim 1, wherein the processor detects a
transition between each of the plurality of states by comparing the
at least one operating parameter to a predetermined threshold.
8. The base unit of claim 7, wherein the predetermined threshold
includes at least one of the group of a "drive-on" threshold and a
"drive-off" threshold.
9. The base unit of claim 8, wherein the "drive-on" threshold is
based on an odometer value and wherein the "drive-off" threshold is
based on a time period.
10. A method of determining compliance data based, at least in
part, on at least one operating parameter of a vehicle and
identification information associated with a driver of the vehicle,
the method comprising: receiving, by a processor, at least one
operating parameter of the vehicle, detecting, by the processor, at
least one event based on the at least one operating parameter of
the vehicle using a state machine including a plurality of states;
receiving identifying information for the driver associated with
the vehicle; determining, by the processor, compliance logging
based, at least in part, on the detected event and the identifying
information; transmitting information based on the detected event
to an external device.
11. The method of claim 10, wherein transmitting the information
includes transmitting the information to a mobile communication
device.
12. The method of claim 10, wherein transmitting the information
includes transmitting the information to a remote server.
13. The method of claim 10, wherein the plurality of states
includes at least one of the group of an "ignition off" state, an
"ignition on" state, a "stop" state, a "move" state, a "drive on"
state, and a "drive off" state.
14. The method of claim 10, wherein detecting, by the processor, at
least one event based on the at least one operating parameter of
the vehicle includes detecting, by the processor, a transition from
a first of the plurality of states to a second of the plurality of
states.
15. The method of claim 14, wherein detecting, by the processor, a
transition from a first of the plurality of states to a second of
the plurality of states includes comparing, by the processor, the
at least one operating parameter to at least one of the group of a
"drive-on" threshold and a "drive-off" threshold.
16. The method of claim 15, wherein the "drive-on" threshold and
the "drive-off" threshold are based on at least one of the group of
an odometer value and a time period.
17. The method of claim 10, wherein determining, by the processor,
compliance logging based, at least in part, on the detected event
and the identifying information includes determining, by the
processor, an hour-of-service log associated with the driver.
18. The method of claim 17, wherein determining, by the processor,
an hour-of-service log associated with the driver includes
detecting, by the processor, a sequence of events.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 14/108,795, filed on Dec. 17, 2013, the entire
contents of which are hereby incorporated by reference.
BACKGROUND
[0002] The present invention relates to systems and methods for
monitoring and managing vehicle drivers. More particularly,
embodiments of the invention relate to determining compliance with
requirements governing the operation of commercial motor
vehicles.
SUMMARY
[0003] Operators of commercial motor vehicles ("CMVs") are required
to comply with certain regulations for operating such vehicles. For
example, some operators of the CMV's are required to comply with
hours-of-service regulations.
[0004] The U.S. Department of Transportation, Federal Motor Carrier
Safety Administration ("FMCSA") has established a comprehensive
list of regulations that professional operators of CMVs must comply
with. These regulations govern operators, CMVs, and the trucking
companies (sometimes called "carriers") owning the carriers.
Professional operators must comply with the obligations imposed
under federal and state requirements, and these requirements
include not only physical and age requirements but also define the
ways an operator can lose his commercial driving privileges.
Trucking companies and companies having trucking operations that
support their core business are typically required to evaluate and
track many aspects of CMV operators and their abilities to perform
job tasks such as operator qualifications (for example, operator
licensing and renewal); alcohol and drug testing; accident
reporting; operator training; and hiring and screening of
applicants
[0005] Many CMVs are equipped with electronic-on-board-recorders to
record information relating to the CMVs. Some existing systems use
a mobile communication device, such as a smart phone, tablet
computer, or laptop computer equipped with a radio transceiver.
Such a radio-transceiver equipped device provides a mechanism to
send information from the vehicle to a remote location. The systems
are generally designed in a "bring-your-own-device" or "BYOD"
architecture such that each driver may, in general, use his or her
own, off-the-shelf mobile communication device (as opposed to a
particular device provided by an employer or operator/administrator
of the system). Of course, the driver's mobile communication device
must meet certain minimum technical requirements, such as the
ability to run a particular operating system.
[0006] The mobile communication device is connected to a
vehicle-installed base unit. Broadly, speaking the base unit
provides information that has been read or received from the
vehicle to the mobile communication device. For example, the base
unit may receive data from a vehicle information bus. The mobile
communication device processes the information, such as formatting
it for transmission (a conditioning purpose) to a remote device,
for example, via a cellular connection. In other cases, the mobile
communication device may process the information for functional
purposes, such as determining compliance with driver regulations.
The mobile communication device also sends information to a remote
location. In some instances, information processing is performed at
the remote location.
[0007] The amount of vehicle data provided to a mobile device can
be relatively large and, in some cases, over burden the memory
and/or processing resources of the mobile device. Similarly, the
relatively large amount of data transmitted from the base unit to
the mobile communication device requires a relatively high
bandwidth connection between the base unit and the mobile device.
Meeting these memory and bandwidth requirements is difficult
because, among other things, drivers may use a variety of mobile
communication devices as permitted in a BYOD architecture. Even
when a device meets minimum requirements, performance of the system
may be unsatisfactory, particularly when compared to performance
that may be achieved with mobile communication devices that possess
higher performance memory, processing, and connection capabilities.
Of course, even though distinctions between device types may blur,
performance capabilities may also vary in view of whether a driver
decides to use a mobile phone, tablet, or laptop computer.
[0008] Accordingly, in one embodiment, the invention provides a
mechanism to address at least in part, some of the deficiencies in
currently available BYOD driver logging and compliance systems.
[0009] In one embodiment, the invention provides a base unit
installed in a vehicle wherein the base unit includes a vehicle
communication module for communicating with a controller, the
controller monitoring at least one operating parameter of the
vehicle. The base unit also includes a transceiver and a processor
configured to receive the at least one operating parameter of the
vehicle from the vehicle communication module and process the at
least one operating parameter to detect an event, wherein the event
is used for driver compliance logging. The transceiver is
configured to transmit the event to at least one external
device.
[0010] In another embodiment the invention provides a method of
determining compliance data based, at least in part, on at least
one operating parameter of a vehicle and identification information
associated with a driver of the vehicle. The method includes
receiving, by a processor, at least one operating parameter of the
vehicle detecting, by the processor, at least one event based on
the at least one operating parameter of the vehicle and receiving
identifying information for the driver associated with the vehicle.
The method also includes determining, by the processor, compliance
logging based, at least in part, on the detected event and the
identifying information, transmitting, using a transceiver,
information based on the detected event to a mobile communication
device, and transmitting compliance logging to a remote server.
[0011] Other aspects of the invention will become apparent by
consideration of the detailed description and accompanying
drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG. 1 schematically illustrates a driver performance
monitoring system according to one embodiment of the invention.
[0013] FIG. 2 schematically illustrates a base unit of the system
of FIG. 1.
[0014] FIG. 3 schematically illustrates a vehicle communication
module of the base unit of FIG. 2.
[0015] FIG. 4 is a flowchart illustrating a bus search mode
implemented by the base unit of FIG. 2.
[0016] FIG. 5 schematically illustrates a state machine implemented
by the base unit of FIG. 2.
DETAILED DESCRIPTION
[0017] Before any embodiments of the invention are explained in
detail, it is to be understood that the invention is not limited in
its application to the details of construction and the arrangement
of components set forth in the following description or illustrated
in the following drawings. The invention is capable of other
embodiments and of being practiced or of being carried out in
various ways.
[0018] FIG. 1 illustrates a performance monitoring system 100 for
use with a vehicle 104. Although the vehicle 104 is illustrated as
a commercial vehicle in the form of a tractor configured to tow a
trailer (not shown), the performance monitoring system 100 can also
be implemented in other types of vehicles, such as construction
vehicles, agricultural equipment, and personal vehicles. The
vehicle 104 includes an engine 108 that drives the vehicle 104 and
is controlled by an electronic control unit ("ECU") 112. The ECU
112 monitors operating parameters of the vehicle 104 and controls
the engine 108 and other parts of the vehicle 104 based on the
monitored parameters. Operating parameters monitored by the ECU 112
include speed, hours of vehicle or engine operation, operating
status, ignition state, trip distance, total vehicle distance, and
the like.
[0019] In one embodiment, the performance monitoring system 100
includes an electronic on-board recorder ("EOBR") base unit 116,
one or more external devices 120 (i.e., external to the base unit
116), and a remote server 123 running a remote host application
124. As illustrated in FIG. 1, the base unit 116 communicates with
the ECU 112 through an information bus 118. The information bus 118
can conform to communication standards such as SAE J1939, SAE
J1708, or other standards. The base unit 116 also communicates with
the external devices 120 through a wired or wireless link 122. For
example, in some embodiments, the base unit 116 communicates with
the external devices 120 using short-wave radio transmissions in
the ISM band from 2400 to 24800 MHz (commonly referred to as
Bluetooth or IEEE 802.15.1 standard).
[0020] In some embodiments, an external device 120 is a mobile
communication device, such as smart phone, a tablet computer, a
laptop computer, a smart watch, or another computing device upon
which software may be readily installed, that possesses the
capability of wirelessly connecting to other devices, and that can
be carried and moved by a user. As illustrated in FIG. 1, when the
external device 120 includes a mobile communication device, the
external device 120 wirelessly communicates with the remote server
123 over a communication network 126, such as a cellular network
connection or the Internet (e.g., using a Wi-Fi connection).
[0021] The base unit 116 performs a plurality of functions
including, for example, time keeping and data logging. In one
implementation, the base unit 116 records and stores vehicle
information or data for complying with Federal Motor Carrier Safety
Administration ("FMCSA") regulations, such as those mentioned above
from the ECU 112. Information logged by the base unit 116 is
transmitted to an external device 120.
[0022] The base unit 116 is powered via a connection to a battery
(e.g., a 12 volt or 24 volt vehicle battery). In some embodiments,
the base unit 116 is configured to operate in a fully operational
mode and a sleep mode to conserve power. When the base unit 116 is
in the fully operational mode, the base unit 116 obtains vehicle
information from the ECU 112. For example, information may be
obtained by the base unit from the ECU 112 substantially in real
time or at a predefined frequency or interval. If the base unit 116
is coupled with an external device 120 (e.g., a mobile
communication device), the base unit 116 can send information
regarding the vehicle 104 to the device 120.
[0023] When the base unit 116 operates in the sleep mode, the base
unit 116 does not communicate with the ECU 112 and the base unit
116 operates in a manner to reduce power consumption. In some
embodiments, the base unit 116 consumes no more than approximately
10 milliamps at 12 volts when operating in the sleep mode. The
sleep mode allows the base unit 116 to remain operational for a
longer period of time because the battery powering the base unit is
not depleted as quickly as when the base unit 116 is in the fully
operational mode. The base unit 116 enters sleep mode when the base
unit 116 detects that the vehicle ignition state is "off" In some
embodiments, the base unit 116 remains in the fully operational
mode for a predetermined period of time after detecting that the
vehicle ignition state is "off" before automatically switching to
the sleep mode. The base unit 116 exits the sleep mode and enters
into a fully operational mode when the base unit 116 detects that
the vehicle's engine 108 is "on" or detects receipt of vehicle
information from the ECU 112 (e.g., a communication module 250 of
the base unit 116 is activated).
[0024] As shown in FIG. 2, the base unit 116 includes a processing
unit (such as a microprocessor, controller, or
application-specific-integrated circuit ("ASIC")) 204 and at least
one memory module 205. The memory module 205 includes
non-transitory computer readable medium, such as a non-volatile
serial flash memory and volatile memory. As described in more
detail below, the memory module 205 stores instructions that, when
executed by the processing unit 204, logs vehicle data, logs data
retrieval history, and processes data received from the ECU 112 and
other devices and systems external to the base unit 116.
Accordingly, as described herein, the base unit 116 performs
particular functionality by executing instructions with the
processing unit 204.
[0025] The base unit 116 also includes a real-time clock 210, a GPS
module 211, an accelerometer 212, and a display unit 213. The
real-time clock 210 provides a real-time clock function to allow
the base unit 116 to accurately determine a time with a
predetermined resolution (e.g., approximately one second). The
real-time clock 210 is powered by a battery that provides power to
the clock 210 even when the vehicle 104 does not provide power to
the base unit 116. The base unit 116 is also configured to report
that the real-time clock value is invalid if the time from the
real-time clock 210 is earlier than the last firmware release
timestamp for the base unit 116. If the real-time clock value is
invalid, the base unit 116 can be configured to stop recording
vehicle information as described above. In some embodiments, the
real-time clock 210 is configured to obtain an updated time from
the GPS module 211.
[0026] The GPS module 211 included in the base unit 116 includes a
GPS antenna 215, which can be internal to the base unit 116.
Positioning the antenna internal to the base unit 116 makes it more
tamper-proof than an antenna external to the base unit 116. Based
on data received by the GPS antenna 215 from one or more external
satellites 216 (see FIG. 1), the GPS module 211 provides location
information to the processing unit 204 regarding latitude,
longitude, speed, heading, time, and a GPS information quality
value. In some embodiments, the GPS module 211 updates the location
information periodically in a predetermined frequency (e.g.,
approximately once per second). The GPS module 211 remains active
when the vehicle 104 is in motion and whenever the vehicle ignition
is "on." When the base unit 116 is in sleep mode, the GPS module
211 is activated periodically after a predetermined period of time
to ensure that the vehicle ignition is not "on" (e.g., the vehicle
104 is not moving).
[0027] The base unit 116 uses the GPS information quality value to
determine the reliability of the location information generated by
the GPS module 211. Depending on the method used by the GPS module
211 to obtain the location information, the degree of reliability
of the location information changes. For example, GPS modules
typically provide a GPS fix quality value that designates how the
location information was obtained. In general, the lower the GPS
fix quality value, the lower the quality of the associated location
information. For example, if the GPS module 211 receives an invalid
location information or receives no information, the GPS fix
quality value can be set to zero, but if the GPS module 211 uses a
GPS or a standard positioning service ("SPS") to obtain location
information, the GPS fix value can be set to one. Similarly, if the
GPS module 211 uses differential GPS ("DGPS"), the fix value can be
set to two, and if the GPS module 211 uses a precise positioning
service ("PPS"), the fix value can be set to three. In some
embodiments, if the GPS module 211 is unable to provide updated
location information, the GPS module 211 and/or the base unit 116
uses and maintains the last known location information that is
associated with a "good" GPS fix value (e.g., a fix value of one or
greater). In some embodiments, when the base unit 116 transmits the
last known "good" location data to an external device 120, the base
unit 116 also transmits information (e.g., the GPS fix value) to
the device indicating the "uncertainty" associated with the
provided location data.
[0028] As noted above, the base unit 116 can receive vehicle speed
information from the ECU 112. However, in some embodiments, the
base unit 116 can also be configured to calculate vehicle speed
information based on information received from the GPS module 211.
As described in more detail below, in some embodiments, the base
unit 116 can operate in a GPS-mode, where the base unit 116
accumulates information only based on information from the GPS
module 211 and the accelerometer 212 and does not obtain
information from the ECU 112. When the base unit 116 communicates
vehicle speed information to an external device 120, the base unit
116 can be configured to indicate the source of the vehicle speed
information (e.g., the ECU 112 or the GPS module 211).
[0029] The accelerometer 212 detects vehicle motion. For example,
in some embodiments, the accelerometer 212 includes a three-axis
accelerometer. The accelerometer 212 detects vehicle motion without
the use of the GPS module 211 or other information provided by the
ECU 112. Accordingly, the accelerometer 212 allows the base unit
116 to exit a sleep mode quickly and begin recording vehicle
information with minimal delay. The accelerometer 212 remains
operational even when the base unit 116 is in sleep mode such that
the accelerometer 212 detects motion accurately and timely. Also,
in some embodiments, when the accelerometer 212 senses vehicle
vibration, the base unit 116 collects information from other
components to confirm that the vehicle state has changed. For
example, the base unit 116 checks engine revolutions per minute
("RPM"), wheel speed, and/or battery voltage using information
provided by the ECU 112. The base unit 116 can also receive
confirming information from the GPS module 211 that the vehicle
state has changed. Once the base unit 116 has received confirming
information, the base unit 116 exits sleep mode and operates in the
fully operational mode.
[0030] The display unit 213 communicates information to a user of
the base unit 116. For example, the display unit 213 can include
one or more LEDs 216. The LEDs 216 indicate a status of the base
unit 116. For example the LEDs 216 can be used to indicate whether
an external device 120 connected to the base unit 116 is properly
functioning (e.g., a connection status), whether signals are being
communicated between the base unit 116 and the ECU 112 (e.g., a
communication status), and whether signals are being communicated
between the base unit 116 and an external device 120 (e.g., a
mobile communication device communication status). In some
embodiments, the LEDs 216 include a dimming functionality to adjust
a brightness of each LED according to environmental lighting
conditions. For example, the LEDs 216 can include at least one
light sensing LED that determines the environmental light
conditions, which is used to control the brightness of the other
LEDs. The LEDs 216 can include different colored LEDs and can be
configured to flash at different frequencies to signal different
statuses of the base unit 116. As an alternative to or in addition
to the LEDs 216, the display unit 214 can be configured to provide
information to a user through other output mechanisms, such as
displaying a textual message, playing an audio sound or message,
providing tactile feedback (e.g., vibration), etc.
[0031] The base unit 116 also includes a communication module 250.
As illustrated in FIG. 2, the communication module 250 includes a
transceiver 252 for communicating data between the base unit 116
and an external device 120. The transceiver 252 can communicate
with an external device 120 using a wired or wireless connection.
For example, as noted above, the base unit 116 can communicate with
an external device 120 using a Bluetooth connection. Accordingly,
the wireless transceiver 252 can include a Bluetooth transceiver.
In some embodiments, the transceiver 252 operates simultaneously
with the GPS module 211.
[0032] A Bluetooth-enabled device can be configured to
automatically search and discover other Bluetooth-enabled devices.
The base unit 116 can include connection actuator 253 that allows a
user to control when the base unit 116 becomes discoverable or
searchable. For example, in some embodiments, pressing the
connection actuator 253 for a predetermined period of time (e.g.,
three seconds) makes the base unit 116 discoverable or searchable
by a Bluetooth-enabled external device 120. Also, if the base unit
116 is operating in a sleep mode, pressing the connection actuator
253 wakes up the processing unit 204 and enables communication
between the base unit 116 and the external device 120. In some
embodiments, the base unit 116 is also configured to automatically
become discoverable or searchable for a predefined period of time
after the base unit 116 is powered or reset and for a predefined
period of time after the base unit 116 enters a sleep mode.
[0033] When the base unit 116 is discoverable, an external device
120 can search for, discover, and couple to the base unit 116. In
some embodiments, the base unit 116 couples to the external device
120 as a slave unit. Once the base unit 116 and the external device
120 are properly coupled, the base unit 116 is no longer
discoverable or searchable. Once the external device 120 is coupled
to the base unit, the display unit 213 of the base unit 116 can
indicate a status of the connection or coupling. For example, when
the base unit 116 is discoverable or searchable, one or more of the
LEDs 216 can flash, and, when the base unit 116 is coupled to the
external device 120, the one or more LEDs 216 can provide a solid
light. After the external device 120 and the base unit 116 are
coupled, the device 120 and the unit 116 can exchange information.
For example, as noted above, the base unit 116 can transmit vehicle
information to the external device 120. It should be understood
that even when the transceiver 264 is transmitting vehicle
information to the external device 120, the base unit 116 continues
to monitor and record new vehicle information from the ECU 112 and
other devices and systems (e.g., the GPS module 211, the
accelerometer 212, etc.).
[0034] In some embodiments, the communication module 250 also
includes one or more encryption chips, modems, or both for
communicating with different types of external devices. For
example, the communication module 250 can include an Apple.RTM.
encryption chip and a supported modem, which allows the base unit
116 to communicate with Apple devices. When the base unit 116 is
coupled with an Apple.RTM. device 120 (e.g., an iPhone.RTM., an
iPad.RTM., etc.), the communication module 250 executes a
communication process (as designated by Apple.RTM.) that transmits
a "live" message to the device 120 in accordance with a
predetermined timing (e.g., every fifteen seconds) to keep the
wireless communication (e.g., Bluetooth) established between the
devices 116 and 120. The device 120 can be configured to control
when the "live" message is transmitted. The base unit 116 can
similarly include encryption chips and modems for other types of
external devices, such as Microsoft.RTM. devices, Android.RTM.
devices, Linus.RTM. devices, etc.
[0035] As illustrated in FIG. 2, the communication module 250 also
includes a port 254 for physically coupling the external device 120
to the base unit 116. The port 254 allows diagnostic data to be
transmitted between the external device 120 and the base unit 116.
In some embodiments, the port 254 includes one or more universal
serial port ("USB") connections. For example, the port 254 can
include a first USB connection 254a and a second USB connection
254b. The first connection 254a is used to transmit diagnostic data
regarding the base unit 116 to the external device 120 but does not
provide a charging current to the external device 120. Therefore,
the second connection 254b is used to provide a charging current to
the external device 120. By proving two separate connections, one
for charging and one for data transmission 364, the base unit 116
does not need to include an isolated DC power supply.
[0036] In some embodiments, when an external device 120 is
connected to the second connection 254b, the external device 120
receives a reference voltage over the second connection 254b. The
reference voltage allows the external device 120 to recognize the
second connection 254b as an acceptable charging port. The second
connection 254b provides power to the external device 120 when the
vehicle's engine is on or operating or when the base unit 116 is
reset. Also, in some embodiments, the second connection 254b
continues charging the external device 120 for a predetermined
period of time (e.g., approximately 10 minutes) after the vehicle's
ignition is turned "off" or the base unit 116 is reset. The
predetermined period of time can be manually adjusted by the user
if desired. If the battery voltage provided to the base unit 116
drops below a predetermined value (e.g., approximately 11 volts),
the second connection 254b can also be configured to stop supplying
power. If the battery voltage increases above the predetermined
value again, the second connection 254b resumes supplying power.
Also, in some embodiments, when the base unit 116 enters the sleep
mode, the second connection 254b stops providing power to the
external device 120.
[0037] The diagnostic data transmitted through the port 254 can
pertain to the base unit 116 (as compared to the ECU 112 or other
components of the vehicle 104). Therefore, a user can couple their
external device 120 to the port 254 to diagnose a malfunction
occurring with the base unit 116. Similarly, the port 254 allows
the base unit 116 to be field-programmable, that is, the base unit
116 can be reconfigured, modified, or upgraded using an external
device 120.
[0038] The communication module 250 also includes a vehicle
communication module 260 for communicating with the ECU 112. As
illustrated in FIG. 3, the vehicle communication module 260
includes a processing unit (such as a microprocessor, controller,
or application-specific-integrated circuit ("ASIC")) 276 configured
to manage communication between the base unit 116 and the ECU 112.
For example, the processing unit 276 decodes and buffers data
transmitted between the base unit 116 and the ECU 112 and
communicates with the processing unit 204.
[0039] To connect with the ECU 112, the vehicle communication
module 260 includes a plurality of communication interfaces 272 to
accommodate various types of vehicles. For example, as noted above,
the ECU 112 communicates over the information bus 118, which can
conform to communication standards such as SAE J1939, SAE J1708, or
other standards. In some embodiments, diagnostic information is
transmitted over the information bus 118. Therefore, the bus 118
can be considered an on-board diagnostic ("OBD") bus that includes
a diagnostic connector 280 that allows external devices to connect
to and exchange data with the bus 18. Different types of vehicles
can include different types of connectors 280 for connecting to the
bus 118. For example, a standard passenger vehicle may include a
SAE J1939 interface connector, but a commercial motor vehicle may
include a SAE J1708 interface connector. Therefore, as illustrated
in FIG. 3, the base unit 116 can include a first communication
interface 272a for coupling the unit 116 to a first type of
information bus (e.g., a SAE J1939 bus) and a second communication
interface 272b for coupling the unit 116 to a second type of
communication bus (e.g., a SAE J1708 bus). Also, in some
embodiments, the base unit 116 includes more than two communication
interfaces 272. For example, the base unit 116 can include a SJ1708
interface, a SAE J1939 interface, a SAE J1850 PWM interface, a SAE
J1850 VP interface, an ISO 9141-2 interface, and a SAE J2284
interface. The plurality of communication interfaces 272 allows the
base unit 116 to communicate with a variety of different vehicles
and makes the base unit 116 portable in that it can be removed from
a first vehicle and used in second vehicle even if the second
vehicle does not include the same type of diagnostic bus or
connector.
[0040] The vehicle communication module 260 also includes at least
one transceiver 282 for managing communication via the
communication interfaces 272. In some embodiments, the module 260
includes a transceiver 282 for each interface 272. For example, as
illustrated in FIG. 3, the module 260 can include a first
transceiver 282a and a second transceiver 284b. The first
transceiver 282a can conform to the standard associated with the
first communication interface 272a (e.g., SAE J1708) and transmits
and receives data through the first communication interface 272a.
Similarly, the second transceiver 282b conforms to the standard
associated with the second communication interface 272b (e.g., SAE
J1939) and transmits and receives data through the second
communication interface 272b. The two transceivers 282 and 284 can
be configured to obtain data from the vehicle diagnostic connector
280 individually or simultaneously. It should be understood that in
other embodiments, the module 260 includes a transceiver 282 that
conforms to more than one standard and, therefore, and communicate
through more than one of the communication interfaces 272.
[0041] The vehicle communication module 260 can also include one or
more protection and filtering modules 286 that filters received
data to reduce or eliminate data noise. The protection and
filtering modules 286 can also be configured to ensure that
received data has a predetermined amplitude range that is
acceptable to the processing unit 276. Thus, amplitude surges in
data can be detected and the processing unit 276 can be protected.
In some embodiments, as illustrated in FIG. 3, the module 260
includes a protection and filtering module 286 for each transceiver
282 (e.g., a first protection and filtering module 286a and a
second protection and filtering module 286b).
[0042] FIG. 4 illustrates a method 400 for coupling the base unit
116 to the ECU 112 using the vehicle communication module 260. The
information bus type (i.e., the particular communication interface
272) used to communicate with the ECU 112 can be manually specified
by a user. For example, the user can access a drop-down menu
provided by the external device 120 to select a particular bus
type. If a user does not specify a bus type, the specified bus type
can default to "UNKNOWN" or a similar default setting. Accordingly,
if the user specifies a particular bus type (at block 402), the
vehicle communication module 260 attempts to communicate with the
ECU 112 using the specified bus type (at block 402). If the
communication attempt is successful (at block 404), the module 260
uses the bus to exchange information with the ECU 112 and sets the
specified bus type as the "ACTIVE" type (e.g., by saving an
identifier of the specified type to an "ACTIVE" data field or
variable) (at block 405). Otherwise, if the communication attempt
fails (at block 404), the module 260 can issue an error signal on
the display 214. Alternatively, the module 260 can be configured to
reset the specified bus type to "UNKNOWN" (at block 406), which as
described below causes the module 260 to enter an automatic bus
search mode.
[0043] As illustrated in FIG. 4, if a specific bus type is not
defined by the user (e.g., if the bus type is defined as "UNKNOWN")
(at block 401), the vehicle communication module 260 enters a bus
search mode that automatically determines the bus type to use for
communicating with the ECU 112. In particular, the module 260
attempts to communicate with the ECU 112 using one of the standards
associated with the plurality of the communication interfaces 272
(at block 410). For example, in some embodiments, the module 260
maintains a list of standards and an order of using or testing each
standard. In particular, the module 260 can be configured to
initially attempt communication using the first communication
interface 272a (e.g., the J1708 communication interface and
associated transceiver). In other embodiments, the module 260 can
be configured to initially attempt communication using the last bus
type recorded as "ACTIVE" (see block 405 above). If the module 260
successfully establishes communication with the initially-selected
bus type (at block 412), the vehicle communication module 260 uses
the selected bus to exchange information with the ECU 112 and sets
the specified bus type as the "ACTIVE" type (at block 414).
[0044] Alternatively, if the communication attempt fails (at block
412), the module 260 determines whether there are additional bus
types to try (at block 416). If there are no additional types to
attempt, the base unit 116 displays an error signal on the display
unit 213 (at block 418). In some embodiments, the module 260 can be
configured to re-try connections with one or more of the available
bus types before generating an error signal (e.g., try connecting
with each bus type at least twice before generating the error
signal). Otherwise, while there are additional bus types to try (at
block 416), the module continues to attempt a connection with the
ECU 112 over one of the communication interfaces 272 (at block
410).
[0045] As illustrated in FIG. 4, if the base unit 116 is reset (at
block 420), the module 260 can be configured to automatically enter
the bus search mode as described above. For example, in some
embodiments, when the base unit 116 is reset, the specified bus
type can default to "UNKNOWN." Also, any time a user specifies a
bus type different than the currently-set bus type, the base unit
116 can attempt to communicate using the specified bus type and,
optionally, can enter the bus search mode if communication with the
specified bus type fails (see blocks 404 and 406). In addition, to
manually initiate the bus search mode, a user can set the bus type
to "UNKNOWN" or a similar default setting. Furthermore, in some
embodiments, when the voltage of the battery powering the base unit
116 drops below a predetermined threshold (e.g., approximately 11
volts), the vehicle communication module 260 changes the number or
order of bus types used for communication attempts. For example,
when the battery voltage drops below the predetermined threshold,
the base unit 116 can be configured to only attempt to communicate
through a J1939 information bus or a J1708 information bus even if
other bus types are available.
[0046] During operation, the base unit 116 collects information
from the ECU 112 (e.g., over the vehicle communication module 260)
and transmits the information from the ECU 112 to at least one
external device 120 (e.g., using the transceiver 252). In
particular, the base unit 116 can be configured to obtain vehicle
data from the ECU 112 at a predetermined frequency. Obtained
information is stored to the memory module 205. When an external
120 sends a request for data from the base unit 116, the base unit
116 logs the request, retrieves the data from the memory module
205, and communicates the retrieved data to the external device
120. The base unit 116 also logs other information related to the
request to the memory module 205, such as the time span over which
data was retrieved, the time the data was retrieved or
time-stamped, and the size of the data that was delivered. Once the
data is transmitted to the external 120, the data remains in the
memory module 205 for a predetermined time period to prevent any
loss of data. In some embodiments, once the data is transferred to
the external device 120, the data is marked extracted, transmitted,
downloaded, or expired. Therefore, the memory module 205 stores a
log of vehicle data and a log of data retrieval history. In some
embodiments, the memory module 205 also stores a unique identifier
to identify a particular base unit 116. The unique base unit
identifier can be modified by an external device 120 that
communicates with the base unit 116 (e.g., a user operating the
external device). In other embodiments, the unique base unit
identifier is assigned to the base unit 116 during the
manufacturing process and cannot be changed.
[0047] If at any time during operation of the base unit 116, the
memory module 205 is full, the display unit 213 signals that the
memory is full and the base unit 116 stops recording vehicle data
until the stored vehicle data is retrieved by the external device
120. Once the vehicle data is transferred to the external device
120, the transferred data can be marked extracted, transmitted,
downloaded, or expired and the memory containing this data can be
overridden with new data.
[0048] In some embodiments, the base unit 116 is configured to
operate in a GPS-only mode. When the base unit 116 operates in a
GPS-only mode, the vehicle communication module 260 does not need
to be connected to the diagnostic connector 220 of the vehicle 104.
When the base unit 116 operates in the GPS-only mode, the vehicle
speed is obtained exclusively from the GPS module 211 and the
accelerometer 212. The base unit 116 also generates a synthetic
odometer reading based on information from the GPS module 211 and
the accelerometer 212. Similarly, the ignition switch state is
derived using information from the accelerometer 212 and the GPS
module 211. In some embodiments, when the base unit 116 operates in
the GPS-only mode, vehicle information generated by the base unit
116 is transmitted to an external device 120 only when specifically
requested from the external device 120 (e.g., upon a request for
vehicle information collected during the GPS-only mode.
[0049] As noted above, the base unit 116 stores or accumulates
information and provides the accumulated information to an external
device 120. In particular, the base unit 116 can be configured to
detect certain types of events based on the accumulated
information. For example, the base unit 116 can be configured to
detect events such as vehicle stop, ignition on and off state
changes, base unit 116 resets, when the base unit 116 enters and
exits sleep mode, faults, if the vehicle communication module 260
receives any information about active diagnostic trouble codes, if
the vehicle communication module 260 receives information about a
malfunction indicator lamp, if there is a change in operator
identification, or if the vehicle 104 is moving. The base unit 116
can also be configured to store information regarding operation of
the base unit 16, such as the number of times the base unit 116 has
been reset, the total time the base unit 116 has been operating,
the total number of trips the base unit 116 has monitored, the
total time the ignition has been detected to be on, the total time
the ignition has been detected to be off, total number of data
packets transmitted and received from the external device 120, and
the like.
[0050] For example, FIG. 5 schematically illustrates how the base
unit 116 detects different events using a state machine. The state
machine allows the processing unit 204 to determine when the
vehicle 104 starts and stops moving, when an operator is heading to
a destination, when an operator arrives at a destination, and
similar information. This information is then used to determine
compliance data, specifically, hours-of-service associated with a
particular operator or driver of the vehicle. As illustrated in
FIG. 5, in some embodiments, the state machine tracks six different
states associated with different vehicle events: an "ignition-off"
state 500, an "ignition-on" state 502, a "stop" state 504, a "move"
state 506, a "drive-on" state 508, and a "drive-off" state 510.
[0051] When a base unit 116 is first coupled with the vehicle 104,
the base unit 116 sets the vehicle state to the "ignition off"
state 500. In some embodiments, whenever the base unit 116 sets the
vehicle state to a new state, the base unit 116 logs information
regarding the event that caused the state change (e.g., a
time/date, a detected event causing the change, etc.). If, while in
the "ignition off" state 500, the base unit 116 detects that the
vehicle's ignition has been turned "on," the base unit 116 changes
the vehicle state to the "ignition on" state 502 and stores
associated information. In some embodiments, detecting that the
vehicle's ignition is "on" includes detecting an engine RPM greater
than zero, which indicates that the vehicle is moving.
[0052] While in the "ignition on" state 502, the base unit 116
changes the vehicle state to the "stop" state 504 when the vehicle
speed is zero. As illustrated in FIG. 5, from the "stop" state 504,
the vehicle state can transition to the "drive-off" state 510 or
the "move" state 506. The base unit 116 transitions to the
"drive-off" state 510 when the base unit 116 detects that the
vehicle 104 has been in a "stop" state for a period of time that
exceeds a predetermined drive-stop threshold (e.g., approximately
10 minutes). The base unit 116 can also transition to the
"drive-off" state 510 from the "stop" state 504 when the base unit
116 the engine RPM changes to zero or when the operator associated
with the vehicle 104 changes. As described above, an operator can
use a connected external device 120 to signal when he or she is
starting a driving session with the vehicle 104. The base unit 116
transitions from the "stop" state 504 to the "move" state 506 when
the vehicle speed becomes non-zero or when an odometer reading
changes by more than a predetermined "drive start" threshold (e.g.,
approximately one mile).
[0053] From the "drive off" state 510, the base unit 116 can
transition to the "stop" state 504, the "move" state 506, or the
"ignition-off" state 500. The base unit 116 transitions to the
"ignition-off" state 500 when the engine RPM remains at zero for a
predetermined amount of time. Similarly, the base unit transitions
to the "stop" state 504 when a new operator is associated with the
vehicle 104. Conversely, from the "drive off" state 510, the base
unit 116 transitions to the "move" state 506 when the base unit 116
detects that the vehicle speed becomes non-zero or when the
odometer reading changes by more than the predetermined
"drive-start" threshold (e.g., approximately one mile).
[0054] From the "move" (block 392) state, the base unit 116 can
transition to the "stop" state 504, the "drive-off" state 510, or
the "drive-on" state 508. In particular, the base unit 116
transitions to "drive-off" state 510 when a new operator is
associated with the vehicle 104. Alternatively, the base unit 116
transitions from the "move" state 506 to the "stop" state 504 when
the vehicle speed is zero or when the engine RPM is zero. From the
"move" state 506, the base unit 116 can also transition to the
"drive-on" state 508 when the odometer reading changes by more than
the predetermined "drive-start" threshold (e.g., approximately one
mile).
[0055] From the "drive-on" state 508, the base unit 116 can
transition to the "stop" state 504 or the "drive-off" state 510. In
particular, the base unit 116 transition to the "stop" state 504
when the vehicle speed is zero or when the engine RPM is zero.
Similarly, the base unit transitions to "drive-off" state 510 from
the "drive-on" state 508 when a new operator is associated with the
vehicle 104.
[0056] In addition to the events tracked by the state machine, the
base unit 116 can also be configured to detect driving events such
as engine over-speed, vehicle over-speed, hard-breaking, and start
driving and end driving events. The base unit 116 includes
predetermined thresholds to monitor and detects these events. For
example, the base unit 116 can detect an engine over-speed event
when the engine speed value is greater than a predetermined
"engine-over-speed" threshold. Similarly, the base unit 116 can
detect a vehicle over-speed event when the vehicle speed exceeds a
predetermined "vehicle-over-speed" threshold. These events are
stored in the base unit 116 like other events tracked by the state
machine and can be transmitted to the external device 120. Also, in
some embodiments, when the base unit 116 detects these events, the
base unit 116 also stores corresponding information, such as an
operator associated with the vehicle 104 during the event, time the
event occurred, date the event occurred, location where the event
occurred, and the like.
[0057] As noted above, the base unit 116 detects some of the events
by comparing received vehicle information to a threshold. In some
embodiments, the base unit 116 includes multiple sets of
thresholds. For example, the base unit 116 can maintain (e.g., in
the memory modules 205) different thresholds for different
operators. In particular, the base unit 116 can store a first set
of thresholds associated with a particular operator and a second
set of thresholds associated with all other operators. Accordingly,
different events can be detected and tracked by the base unit 116
depending on the particular operator performing a particular
vehicle operation. In some embodiments, the different thresholds
can also be used to effectively disable particular vehicle checks.
For example, by setting certain thresholds to values that typically
will never be reached, the associated events are never recorded.
Therefore, in some embodiments, only particular events (e.g.,
vehicle over-speed events, hard-braking events, etc.) are only
detected and stored when a particular driver is operating the
vehicle 104.
[0058] By using the state machine, the base unit 116 processes the
data received from the ECU 112 prior to transmitting the data to
the external device 120. In particular, rather than sending
discrete operating parameters of the vehicle 104, the base unit 116
detects events based on the discrete operating parameters. This
reduces the overall amount of data sent to the external device 120.
As described above, in one embodiment, the base unit 116 uses a
state machine that transitions between states based on the discrete
operating parameters. Accordingly, by processing the discrete
operating parameters into events, the base unit 116 also reduces
some of the processing required by the external device 120.
Furthermore, because the processing performed by the base unit 116
reduces the amount of data transmitted to the external device 120,
the bandwidth requirements between the base unit 116 and external
device 120 are reduced. The storage requirements of the external
device are also reduced. In addition, the customizable thresholds
described above for the state machine can be used to further
process discrete operating parameters to reduce the amount of data
transmitted to and stored by the external device 120.
[0059] As described above, the external device 120 receives data
from the base unit 116. The external device 120 can include a
software application configured to receive the data from the base
unit 116 and transmit the data to the remote host application 124.
The software application can also be configured to generate one or
more graphical user interfaces ("GUIs") that allow a user of the
external device 120 to view and manage data processed by the system
100. The software can also be configured to display histograms or
specialized trip reports for specific operators or for specific
trips.
[0060] The remote host application 124 receives information from
the base unit 116 through the external device 120. The remote host
may be configured to store logs of the events detected by the base
unit 116, and calculate driving parameters based on the logs. For
example, the remote host application 124 can calculate
hours-of-service information for a particular operator and can
alert the operator (or the operator's manager, supervisor, etc.)
any violations (e.g., violations of FMCSA rules). For example, the
remote host application 124 can be configured to provide a
graphical user interface that users can access using a computing
device (e.g., a desktop computer, a laptop computer, a tablet
computer, a smart phone, a smart watch, etc.). For example, a user
can access the remote host application 124 using a standard browser
application or a dedicated special-purpose application executed by
the computing device. The GUI provided by the remote host
application 124 allows users to view logs collected by the
application 124, parameters calculated by the remote host
application 124, and alerts generated by the remote host
application 124.
[0061] Thus, the invention provides, among other things, a base
unit configured to determine vehicle events and to transmit the
vehicle events to an external device. The external device is
configured to transmit driver and vehicle information to a remote
server. It should be understood that although the external device
is described as a mobile communication device, in some embodiments,
the external device is the remote server and the base unit is
configured to communicate, as described above, with the remote
server without using a mobile communication device as an
intermediary.
[0062] Various features and advantages of the invention are set
forth in the following claims.
* * * * *