1. Field of the Invention
The claimed invention relates generally to electrical data processing of hybrid drive system communications communicated over a vehicle communication bus to solve a diagnostic problem with the vehicle. In particular, the claimed invention relates to systems and methods for recording hybrid drive data in a manner that facilitates subsequent review.
2. Related Art
Vehicle telematics is a term used to define communicatively connected vehicles interchanging electronic data. These systems are used for a number of purposes, including collecting road tolls, managing road usage (intelligent transportation systems), pricing auto insurance, tracking fleet vehicle locations (fleet telematics), cold store logistics, recovering stolen vehicles, providing automatic collision notification, location-based driver information services. For example, General Motors' OnStar is an in-vehicle safety and security system created to help protect drivers on the road. OnStar touts an innovative three-button system that offers: 24-hour access to trained advisors, a connection to emergency assistance, and access to OnStar Hands-Free Calling.
While there are many applications for vehicle telematics, fleet telematics are of particular interest here. Fleet operators commonly use vehicle telematics systems and vehicle tracking for fleet management functions such as routing, dispatch, and on-board information and security. In tracking the vehicle or its cargo, communication is enabled between the vehicle and central station that has applications such as vehicle tracking software, programmed to monitor such aspects of travel as location, speed, and driver behavior.
A Fleet Telematics System (FTS) allows the information exchange between a commercial vehicle fleet and their central station, (e.g., the dispatching office or a transit authority). A FTS consists of mobile Vehicle Systems (VS) and a stationary Fleet Communication System (FCS). The FCS is a stand alone application maintained by the vehicle manufacturer or an internet service running by the supplier of the system. The communication with the FCS is realized by trunked radio, cellular, or satellite communication. Positioning of vehicles is also realized by satellite positioning systems and/or dead reckoning using gyroscope and odometer. Fleet Operators benefit from commercial vehicle telematics as they provide a useful, cost-saving, and liability limiting, logistics management tool for commercial fleets that transport goods or people.
Also of particular interest are remote diagnostics. Vehicle telematics systems have also be used in a limited fashion to diagnose or report a problem of the vehicle. In particular, a vehicle's built-in system will identify a mechanical or electronic problem, and, in response, the telematics package can report the problem. The telematics monitored system is also capable of notifying any problems to the owner of the vehicle via e-mail.
With the emergence of more complex vehicular systems such as over-the-road heavy-duty hybrid vehicles, there is a need for a more comprehensive, yet efficient telemetry system. This is particularly true for common carriers, which have an increased need for real-time information. However, with vehicle fleets having many vehicles, real-time solutions involve costly consumption of wireless radio bandwidth. It is therefore an object of the presently claimed invention to provide a system and method for efficient remote diagnostic and monitoring fleet communications of many related vehicles (e.g., a vehicle fleet).
In addition, while heavy duty hybrid drive systems may provide greater fuel efficiency than conventional vehicles, they include multiple subsystems and components having a higher interdependence. As such, a hybrid electric drive system may be less tolerant of subsystem or component failures that their conventional counterparts. Also, given that hybrid drives are predominately electrical, as opposed to mechanical, transient faults and/or failures occurring during operation are often less detectable at the end of the vehicle's drive cycle.
Additionally, an increasing number of modern vehicles include a data logger for recording information related to the vehicle. The data logger will record vehicle communications communicated over a vehicle communication bus. In troubleshooting problems with hybrid drive system and/or the vehicle, the troubleshooter will often have to rely on a driver's recollection of what happened and/or when it happened. While machines have no problem associating an event with a precise time, humans typically do not. Currently, a troubleshooter may obtain very broad/vague descriptions of the problem and a general time frame of when the problem occurred from the driver. For example, the driver may report that the event or fault happened at around 9:00 am when the event actually happened precisely at 09:37:43 am. Likewise a driver may vaguely remember and later report that the event occurred in sometime in the morning when the event actually occurred later in the day. Sometimes this reporting method is acceptable, for example, when an easily verifiable, specific event—like the engine light coming on—occurs. Other times, the method may be unsatisfactory, for example, when the only indication to the troubleshooter is that the driver heard the engine make a strange noise during the route.
Intra-vehicle communications are typically bus communications. Currently, most vehicle bus communications are made over a controller area network (CAN). A controller area network is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other within a vehicle without a host computer. With a bit rate of 1 Mbit/s, approx. 10,000 CAN messages per second can be transmitted with an average data length of 4 bytes and up to approx. 7,200 CAN messages per second with 8 bytes data length (standard format). While this provides for rich vehicle communications, here, a troubleshooter may have to sift through an immense quantity of data to find when an event actually occurred.
The current troubleshooting techniques or methods are inadequate because they can be very time consuming, and also may not uncover the cause of a vehicle event if the driver remembers the time frame incorrectly. It would therefore be desirable to develop a system and method that makes trouble shooting techniques to determine vehicle related faults easier.
Generally people remember the location(s) of an event better than time(s) of an event. That is also true of a driver of a heavy duty hybrid electric vehicle such as a transit bus during the occurrence of an event related to the heavy duty hybrid electric vehicle drive system. An “event” may include precise events such as an overvoltage condition on string 3 of ultracapacitor pack 2, or imprecise events such as hearing an unfamiliar noise from the drive system during an otherwise uneventful portion of a drive cycle, which are difficult to locate in vehicle data logs. As such, the present invention relates to a system for recording hybrid drive data using the vehicle's location as a reference. In particular, the system and method allow a user, for example a troubleshooter, to search for vehicle data (e.g., associated with a drive system event) based on the location of occurrence of an event, in addition to the time the event happened. In order to implement the invention, the logged data or vehicle operation information in the system is correlated with location information or data (e.g. location data received from a Global Position System (GPS)).
Embodiments described herein provide a data logger system in which both global positioning system (GPS) data and vehicle data received via a vehicle's controller area network (CAN) bus are recorded together, along with time stamps, so that the location of the vehicle at any time along with the vehicle data recorded at that time can be readily determined, and a diagnostic system which uses the time stamped GPS and vehicle data log to identify and display the logged vehicle data corresponding to a vehicle event location reported by a driver, to assist in identifying potential vehicle faults.
According to one aspect, a vehicle data logging and diagnostic system is provided, which comprises at least one data logging system configured for installation in a vehicle and at least one user device configured to receive data from the data logging system and to display selected portions of the data to a troubleshooter or user to allow them to identify potential vehicle faults associated with vehicle events reported by the vehicle's driver. The user device may be installed in the vehicle or located remote from the vehicle for communication with the data logging system over one or more communication networks. In one embodiment, both the data logging system and user device are associated with a remote server or central station which communicates over one or more networks with one or more vehicles and with one or more user devices which monitor vehicle operation.
In one embodiment, the data logging system includes a communication module which communicates with engine and other vehicle components over a communication channel or bus to receive data from the vehicle components, a vehicle position sensor which detects vehicle location and provides a current vehicle location output, a timer module, and a data log processing module which receives vehicle data from the communication module, vehicle location data from the vehicle position sensor, and time information from the timer module, correlates vehicle location data with the corresponding vehicle data based on time, and creates a chronological log of vehicle data and associated vehicle location information, and a data storage module associated with the processing module which stores the chronological log of vehicle data and vehicle location data. In one embodiment, the user or troubleshooter device has a display unit which is configured to display a graphical user interface to the user, a communication module which communicates with the data logging system to receive a chronological vehicle data log, a selection module which selects a portion of the logged data for display based on vehicle event location information received from a user, and a vehicle event or user interface processing module which controls the user interface to display the selected portion of logged data.
In one embodiment, the user interface processing module receives a location input from a user, associates the location input with the same location in the chronological vehicle data log, reads a time stamp associated with the identified location in the log, creates an event window of a predetermined time interval about the time stamp, and selects a portion of the logged data falling within the predetermined time interval for display on the user interface. This enables a user or troubleshooter to easily identify vehicle data associated with a vehicle event reported by a driver, and to use the identified vehicle data to identify any potential vehicle fault or failure associated with the event.
According to another aspect, a method of associating a vehicle event with corresponding stored vehicle data in a data log is provided, which comprises receiving vehicle data from vehicle components over a vehicle communication channel or bus and associating the vehicle data with timer information received from a clock, receiving vehicle location information from a vehicle location sensor and associating each vehicle location with a time, correlating each received vehicle location with vehicle data received at the same time as the location data and recording the location data and vehicle data chronologically in a vehicle data log with periodic time stamps. The method further comprises identifying a time associated with a vehicle event by looking up a location of the vehicle event in the vehicle data log, determining the time associated with that location from the time stamp in the log, selecting an event window of predetermined duration about the determined time, looking up all vehicle data within the window, and displaying the vehicle data associated with the event window to a user on a graphical user interface.
Other features and advantages of the present invention will become more readily apparent to those of ordinary skill in the art after reviewing the following detailed description and accompanying drawings.
The details of the present invention, both as to its structure and operation, may be gleaned in part by study of the accompanying drawings, in which like reference numerals refer to like parts, and in which:
Certain embodiments as disclosed herein provide for a vehicle data logging and fault identification system and method in which a vehicle data logger receives both vehicle location data from a location sensor and vehicle data from various vehicle components, and creates a chronological log of vehicle data and location data with associated time stamps, which is then used to create a user interface displaying vehicle data which correlates with a selected location in the log or which correlates with an event window covering a selected time span about the time stamp associated with the selected location in the log.
After reading this description it will become apparent to one skilled in the art how to implement the invention in various alternative embodiments and alternative applications. However, although various embodiments of the present invention are described herein, it is understood that these embodiments are presented by way of example only, and not limitation. As such, this detailed description of various alternative embodiments should not be construed to limit the scope or breadth of the present invention as set forth in the appended claims.
In embodiments of the disclosure, the systems and methods described below are for recording hybrid drive system data, and diagnosing and remotely monitoring a plurality of electric drive systems in electric or hybrid electric drive vehicles (e.g., HEVs, EVs), especially in heavy-duty electric drive vehicles (e.g., heavy-duty HEVs, heavy-duty EVs) and heavy-duty electric drive vocational vehicles. While the claimed invention is directed toward EVs and HEVs (hereinafter “HEVs”), the present disclosure may be extended to other vehicles or groups of vehicles. As used herein, a heavy-duty electric drive vehicle is an electric drive vehicle having a gross weight of over 8,500 lbs. A heavy-duty HEV will typically have a gross weight of over 10,000 lbs. and may include vehicles such as a metropolitan transit bus, a refuse collection truck, a semi tractor trailer, a tractor or other farm vehicle, a tram, or the like. Vocational vehicles may include heavy-duty single and tandem drive axles be used in vocational applications such as construction, heavy hauling, farming, mining, logging, oil fields and refuse.
Unique to a HEV, the vehicle will typically have both a high voltage electrical system and a low voltage electrical system. Hybrid drive system 101 provides the vehicle's high voltage system, which is partially illustrated in
In addition to the high voltage power supply, the HEV also has a low voltage or auxiliary power supply which is used as the power supply of the starter that starts ICE engine 112, various low power vehicle devices such as a radio and lights, and various system controllers. The low voltage system is defined herein and being below 50VDC, but will typically comprise a 12VDC, 24VDC, or 48VDC power supply. The low voltage system is akin to the electrical system of a conventional (non-hybrid) vehicle.
Power from the propulsion energy storage 120 may solely power the one or more electric propulsion motor(s) 134 or may augment power provided by the engine genset 110. To appreciate the power level involved, heavy-duty HEVs may operate off a high voltage electrical power system rated at, for example, over 500 VDC. Similarly, propulsion motor(s) 134 for heavy-duty vehicles (here, having a gross weight of over 10,000) may include, for example, two AC induction motors that produce 85 kW of power (×2) and having a rated DC voltage of 650 VDC.
Unlike lower-rated electrical systems, heavy-duty high power HEV drive system components may also generate substantial amounts of heat. Due to the high temperatures generated, high power electronic components such as the generator 114 and electric propulsion motor(s) 134, for example, are typically cooled (e.g., water-glycol cooled), and may also be included in the same cooling loop as the ICE 112.
As a key added feature of HEV efficiency, many HEVs recapture the kinetic energy of the vehicle via regenerative braking rather than dissipating kinetic energy via friction braking. In particular, regenerative braking (“regen”) is where the electric propulsion motor(s) 134 are switched to operate as generators, and a reverse torque is applied to the drive wheel assembly 132. In this process, the vehicle is slowed down by the main drive motor(s) 134, which converts the vehicle's kinetic energy to electrical energy. As the vehicle transfers its kinetic energy to the motor(s) 134, now operating as a generator(s), the vehicle slows and electricity is generated and stored by the energy storage 120. When the vehicle needs this stored energy for acceleration or other power needs, it is released from energy storage 120. This is particularly valuable for vehicles whose drive cycles include a significant amount of stopping and accelerating (e.g., metropolitan transit buses). Regenerative braking may also be incorporated into an all-electric vehicle (EV) thereby providing an onboard source of electricity generation (recapture).
When the propulsion energy storage 120 reaches a predetermined capacity (e.g., fully charged), the drive wheel propulsion assembly 130 may continue to operate in regen for efficient braking. However, instead of storing the energy generated, any additional regenerated electricity may be dissipated through a resistive braking resistor 140. Typically, the braking resistor 140 is included in the cooling loop of the ICE 112, and dissipates the excess energy as heat.
Throughout a drive cycle, any of the above primary hybrid drive system components or subsystems may communicate over one or more communication networks. In addition, ancillary components and sub-systems not mentioned above may also communicate across the one or more networks, as well as components, accessories, and sub-systems associated with the vehicle. Given the importance of the proper interaction of all the hybrid drive system components and control of propulsion power, there are significant benefits to recording status information and the various communications for subsequent analysis and troubleshooting. Such communications and status information may be stored onboard the vehicle in a data logger or may be transmitted remotely to another location.
The sophistication of recording status information (datalogging) for a HEV drive system is very different than for a conventional vehicle. First, conventional vehicle drive systems are generally much simpler and require less communications. For example, the drive system is basically defined by a power source and multiple mechanical couplings ending at the wheels. Moreover, conventional vehicles only have a single low voltage common DC bus (thus there are no high voltage isolation issues). Second, conventional vehicles typically fail “slower”. In particular, being mechanically based, failures will typically have a longer lead up time before the actual failure, which will usually be accompanied by non-electronic indications. For example, failures in a mechanical system will typically be preceded by a period of perceivable indicators such as vibrations/oscillations, noises (e.g., squealing), overheating, etc. As such, conventional vehicles typically only record a few fault codes (e.g., OBD II codes) when a component or sensor detects a triggering condition. Diagnostics on conventional vehicles typically consists of reading one or more fault code and verifying whether or not the associate component is faulty.
In contrast, hybrid-electric vehicles are much more complex and heavily rely on drive system communications for operation. In a HEV, drive system components are in constant electronic communication with each other during normal operation, not just on the occurrence of a fault or failure. As such, there is a continuum of necessary, ongoing information transmittal available, which has no analog in a conventional vehicle. Moreover, electrical drive systems rarely break “slowly” or with a perceivable advance warning. Rather, drive system electrical failures are typically only preceded by a brief, nearly instantaneous electrical spike, or perhaps a short period of intense temperature. In addition, as discussed above, HEVs are characterized by an electrical, high voltage propulsion energy system and storage. The nature of, and hazards associated with, a HV system and its storage make it highly desirable to continually isolate it from the rest of the vehicle and monitor its performance. Also, HEVs drive systems are typically less familiar to a driver than conventional drive systems. For example a driver will easily recognize a fluid leak or a “rattling” in the transmission of a conventional vehicle, whereas he may not recognize or even understand a faulty IGBT in a second phase of the electric motor's inverter 136. As such, there is a heightened need for nearly continuous status information to prevent and/or diagnose HEV drive system failures, which has no analog in a conventional vehicle.
In the illustrated embodiment, the system 100 has a “vehicle side” comprising a plurality of vehicles 2, 3, and a user or “backend side” comprising a remote monitoring and diagnostic system (RDS) server or computer (“central monitoring station”) 30 and one or more user devices 40 having RDS client modules or RDS software 41, which communicates with the RDS server 30. The central monitoring station 30 and user device(s) 40 may be combined or separate. Fleet vehicles 2, 3 are all in wireless communication with the central monitoring station 30, however “selected” vehicle 3 is in a higher priority of communication than “non-selected” vehicles 2 (discussed below).
The system 100 further includes one or more communication networks 99, having one or more wireless links 29 for communications with vehicles 2, 3. The user devices 40 may be mobile or at remote locations, or may be a part of a computer system at a fleet management office. Each user device 40 is installed with software and/or hardware 41 for implementing the monitoring and diagnostic system and communicating with server 30 and vehicles 2, 3. RDS server 30 comprises one or more web servers 31 and associated data storage module or modules 35.
The one or more vehicles 2, 3, the server 30, and the one or more user devices 40 are all communicatively coupled via one or more networks 99. The network 99 includes a wireless network, which may include one or more wireless base stations (not illustrated). The network 99 is configured for communications over a wide geographical area and can be communicatively coupled with one or more public or private networks (not shown), which may include the aggregation of networks commonly known as the Internet.
The vehicles 2, 3, the server 30, and the user devices 40 may be configured with data storage areas or storage devices 25, 35, 45, respectively (see also,
The one or more user devices 40 can be implemented using a conventional computer system or other communication devices with the ability to communicate over a network, and may be mobile or stationary units. The user devices 40 may include one or more of mobile stations, wireless communication devices, mobile units, personal digital assistants (“PDA”), personal computers (“PC”), laptop computers, wired or wireless telephones, wired or wireless email devices, PC cards, special purpose equipment, subscriber stations, wireless terminals, personal media players, handheld devices or the like. In some embodiments, one or more of the user devices 40 may be, for example, a wireless handheld device, a vehicle mounted device, a portable device, client premise equipment, a fixed location device, wireless plug-in accessory or the like or any combination of these and other devices capable of establishing a communication link over network 99 with the server 30 and vehicles 2, 3. In some implementations, RDS client modules or software 41 installed on the one or more user devices 40 may be configured to implement a user interface or graphical user interface (GUI) 50 on a user's browser (
Referring to the vehicle-side's functional components, RDU 20 comprises a vehicle communication bus receiver 22 (e.g., CAN bus interface), a location determination module 21 (e.g., global positioning system (GPS)), a processor or control module 24, a temporary file storage 23 (e.g., flash memory), a file autopush module 26, and a remote diagnostic system (RDS) communication module 28, which may include a cellular transceiver and/or a point-to-point (PPP) communication protocol module. Module 28 may wirelessly communicate with RDS server 30 via cellular base stations (not illustrated) over one or more cellular and/or other communication networks. In one embodiment, RDU 20 may also include a failure/fault diagnostic module (not illustrated). Bus receiver 22 is communicably coupled to vehicle communication bus 18 and is configured to receive bus messages communicated between the various hybrid drive system components and subsystems of interest, as well as other communications of interest. Bus receiver 22 and processor 24 are illustrated separately, but may be integrated to form a single device or software application. Similarly, although the abovementioned functional units are illustrated separately, one or more may be combined together.
Here, bus 18 is illustrated as a single communication bus, however, it is understood that, especially with HEVs, bus 18 may represent multiple communication buses. In contrast to conventional vehicles, having for example a single bus (e.g., conforming to an OBD II standard), HEV's will often require multiple vehicle communication buses (e.g., controller area network (CAN) buses). For example, a HEV may retain the vehicle's traditional communication bus, but also require separate communication buses for the electric propulsion system, the propulsion energy storage, the power plant (e.g., engine), and a hybrid drive system integrating or master controller.
Returning to
According to one embodiment, the RDU 20 may serve two primary functions. First, RDU 20 transmits hybrid drive system data communicated on the vehicle's communication bus 18, over the air, to the backend server 30, and ultimately to the user device 40. Generally, this vehicle data is streamed to the user device. It is understood that certain delays will be inherent in any communication scheme, but the transmissions intend to provide real time data reporting to a user. Second, the RDU 20 logs vehicle data. In particular, the RDU 20 sends data to be logged on RDS server 30 and/or user device 40. Generally, bus messages are packed as files, which are then transmitted to a remote storage 35, 45 when it is convenient to do so. According to an alternate embodiment, the RDU may log vehicle data locally in its own data storage (see e.g.,
With regard to the system's first primary function (i.e., real time data), given the volume of typical hybrid drive system communication bus messaging, the data received is preferably reduced prior to transmission. In particular, the data may be filtered by message source and/or sampled in advance of transmission. For example, according to one embodiment, the bus receiver 22 and/or processor 24 may receive all messages communicated over bus 18, determine a set of message sources of interest, and only pass on messages from a predetermined set of message sources. Only messages from those predetermined sources will then be transmitted.
According to one embodiment, the message sources may be further filtered according to the anticipated usage. In particular, the message sources may be limited to the subsystems and/or components of interest to a particular type user, for example an engineer may require different information that a transit operator. Message source/data filtering may be preprogrammed and/or selectably determined by a user. As will be discussed below, the message source/data filtering may also be dependent on whether the vehicle is “selected” or “non-selected”.
In addition to filtering the message sources, the processor 24 may sample or otherwise limit the number of messages passed on or streamed to the server 30. For example, rather than transmitting multiple instances of nearly identical data (e.g., a constant energy storage state of charge (SOC)), processor 24 may only use data when it varies by a threshold amount (e.g., the SOC as it varies by >5%). Also for example, rather than transmitting every message communicated over the bus 18 (e.g., a “generator output setting” reported every 20 ms), processor 24 may only transmit data at a reduced rate (e.g., the “generator output setting” every 1 sec). In addition, it is understood that sampling may be further varied according to bandwidth or other communication link limitations. In addition, it is understood that sampling may also be dependent on whether the vehicle is “selected” or “non-selected”, as will be discussed below.
With regard to the system's second primary function (i.e., logged data), as mentioned above, massive amounts of information are communicated across vehicle communication bus 18 during HEV operation. While a more limited “snap shot” of filtered, sampled, and/or otherwise limited vehicle data may be sufficient for the real time reporting purposes, it is desirable to have a more in-depth data record logged. However, excessive resources would be required to deliver all the data over-the-air to the backend in real time, thus, it may be impractical to do so. Advantageously, the RDU's logging function becomes less time-sensitive when combined with its sampled/filtered real time reporting function. Accordingly, in this embodiment, RDU 20 may convert vehicle communication bus communications into compact files, and buffer them in the temporary file storage 23. Later, the files may be automatically transmitted via file autopush module 26 at convenient times and/or during favorable transmission conditions (e.g., during lulls in real time transmissions). Also, being packaged as files, the messages are more amenable to being temporarily stored and then forwarded to a remote data storage 35, 45. Furthermore, as discrete files, the data may be transmitted in recoverable groups, the wireless communication device 28 may transmit the data file directly to the remote location without post processing, and the received data may be easier to interpret and manipulate by a user on the backend.
The various vehicle subsystems and components 13, 15, 16, 17, 19 may communicate with each other and provide status data to the RDU 20 via CAN bus 18. As discussed above, vehicle communication bus 18 may include multiple buses associated with the various vehicle subsystems and components 13, 15, 16, 17, 19. The vehicle components 13, 15, 16, 17 may include, for example, propulsion components (e.g., generator, electric motor, power inverter), energy storage and/or sensor components, engine operation sensors and/or components, vehicle air conditioning sensors or units, onboard computers, timers, and the like. Optionally, RDU 20 may communicate with both HEV components and non-vehicle components resident on the vehicle. For example, where the vehicles being monitored are passenger carrying vehicles such as transit buses, trolleys, trams, subways, and the like, one of the non-vehicle resident components which communicates with the RDU over CAN bus 18 may be a virtual turnstile unit (VTU) 19 that provides passenger and fare receipt data, and which is described in more detail below in connection with
A variety of information may be received via the vehicle communication bus 18. Here, CAN bus 18 is in compliance with a standardized vehicle bus standard designed to allow microcontrollers and devices to communicate with each other throughout the HEV, and without a host computer. As such, messages may be received, processed, and stored by RDU 20 without directly connecting with the message's source. Moreover, RDU 20 may simply pass on messages without understanding or evaluating its content. Accordingly, RDU 20 may be in direct communication with a message source, may passively receive messages sent between a message source and a message recipient, or any combination thereof. Hybrid drive system messages may include information associated with any of the HEVs components and subsystems, including the electric propulsion system, power control, and electrical accessories. Also included are communications associated with the propulsion energy storage, the engine, and other vehicle systems. For example, with regard to the energy storage 15, RDU 20 may receive status information such as voltage values, current values, charge value, charge rate, cell charge over time, time to reach maximum voltage, rate of change of voltage, capacitance, lower charge voltage, upper charge voltage, set time out for charging each energy storage cell of the plurality of energy storage cells, capacitance, lower charge voltage, upper charge voltage, set time out for charging each energy storage cell of the plurality of energy storage cells, applied charge, cell voltage, charge time, temperature values, and the like. In one embodiment, other types of vehicle data received, processed, and/or stored by the RDU 20 include speed, fuel usage/economy, mileage, location information received from a positioning system such as the Global Position System (GPS) at GPS module 21, timing information generated or received by a timing module such as a clock device of the vehicle, passenger and/or fare collection information generated by VTU 19, and the like. The number of vehicle status information items collected and stored by the RDU may comprise up to 200 items or more.
In addition to collecting raw data from the various vehicle sensors and operational components 13, 15, 16, 17, 19, the location module 21, and the like, the RDU 20 may also be configured to process the received data in central processor 24 and/or an optional failure/fault processing module (not shown) in order to produce other useful information such as total number of passengers, fuel economy or efficiency, and actual or potential component failures or faults. Passenger and fare data may alternatively be processed by the VTU and communicated to the RDU, as described in more detail below.
Continuing with
Also, according to one preferred embodiment, the central processor 24 may be configured to receive, process, and/or log real time vehicle operation data from many different vehicle components 13, 15, 16, 17, as well as real time location data and turnstile data from VTU 19, and buffer the received data separately in data storage unit 25 for subsequent transmission to the RDS server 30 in designated status messages at predetermined time intervals. In addition, central processor 24 may integrate both a CAN bus receiver and an autopush function. Also, processor 24 may perform certain control functions on the RDU 20.
In operation, central processor 24 may access messages communicated over the vehicle communication bus 18. In particular, processor 24 may receive, filter, and/or sample messages transmitted by one or more sources over the vehicle communication channel 18. In addition, processor may receive messages or data that is communicated directly to it (e.g., GPS or clock data). Generally, only a subset of the total messages will be logged, and an even smaller subset of the total messages will be reported real time to a user. As such, processor 24 may filter and/or sample received messages twice, one for messages to be logged, and another for messages to be streamed. Moreover, the subset of messages to be streamed may vary, as will be discussed below.
Also, in operation, processor 24 interacts with the received messages. In particular, processor 24 may re-construct or otherwise process the received messages and their data. For example, processor 24 may re-construct the received messages by combining multiple messages into a single file. Likewise, processor 24 may segregate messages and/or files according to their final usage. For example, messages and/or files may be segregated based on whether they are destined for a local datalogger, to be autopushed to remote storage, to be streamed to a user device 40, etc. According to one embodiment, processor 24 may process received messages by accessing the data contained within the messages for further analysis such as comparison to predetermined thresholds or prioritize transmission. Additionally, where processor 24 has a fault/failure determination module (not shown), a fault/failure flag may be appended to the data and or to a file. In this embodiment, messages or files having fault/failure flags may be prioritized in their transmission.
With regard to logged data, and where processor 24 includes an autopush function, processor 24 may synch files stored on the local storage module 25 with a remote storage 35, 45. Synching of locally logged data at storage module 25 with a remote backend storage 35, on the RDS server 30 for example, may be controlled by the autopush application in processing module 24. During the autopush sequence, processor 24 may then retrieve logged vehicle data files or messages (“DL1”) from local storage 25 (or partition thereof) and transmit them to the backend storage 35. The RDS server communication module 28 controls the process of sending of the vehicle data file DL1 over the cell phone link 29. The web server 31 at the RDS 30 controls recording the data file on the server data storage 35 and/or forwarding it to user devices 40. As discussed above, recorded data or messages DL1 may be advantageously delayed until convenient times.
With regard to real time data, processor 24 may vary the RDU 20 configuration, depending on what messaging is required, for example, whether it is on a “selected” vehicle 3 or “non-selected” vehicle 2. In particular, processor 24 may cause RDU 20 to transmit at a first setting that reflects a user directly monitoring the HEV (i.e. “selected” vehicle 3), and a second setting that reflects the HEV being online, but not selected. For example, according to one embodiment, the RDU central processor 24 is configured transmit one or more predetermined status messages or vehicle data to the backend or server side of the system at predetermined intervals, with each message containing selected vehicle data or status items. For example, the predetermined time interval for messages may be every 60 seconds, although different intervals may be used in alternative embodiments. During these intervals, in addition to any communications associated with keeping the wireless link up, the processor 24 may send additional real time vehicle data, especially adding key status information (i.e., partial HEV messaging) to the RDU transmission of the “non-selected” vehicle 2.
Continuing with
Alternately, both selected and non-selected vehicles 3, 2 may transmit the same messages at different rates or different messages at the same rates. In particular, according to one embodiment, first status message M1 may be transmitted for the one or more “selected” vehicles 3 at time interval T1, however, rather than creating a subset M2 of the M1 messages, the “non-selected” active vehicles 2 may be configured to transmit full M1 messages, but only at time interval T2, for display on the user interface or GUI 50. According to another embodiment, first status message M1 may still be transmitted for the one or more “selected” vehicles 3 at time interval T1, and a “partial” information status message M2 may be sent, however, at the same time interval as the “full” vehicle information status message M1 (i.e. T2=T1). In this way the non-selected vehicles 2 will have a quicker refresh rate. This may be particularly useful where M2 includes location or fault information.
According to another alternate embodiment, for the “non-selected” vehicles, a current first status message M1 may still be buffered in data storage 25 on the RDU 20, though not transmitted, so that current full information is readily available if one of the “non-selected” HEVs is subsequently selected for full or increased information display. As discussed above, partial information status message M2 preferably includes only a selected subset of information items for the vehicle. Any desired subset of the collected information items may be included in this message. Also, message M2 will preferably include a fault/failure flag.
Regarding message content, the first and second real time status messages M1 and M2 may contain vehicle information items drawing from substantially all available vehicle information received over the CAN bus, including status information on all vehicle components, along with the GPS information identifying vehicle position. Preferably, first real time status messages M1 may comprise substantially all available vehicle information received or information from substantially all vehicle message sources. This first message may be sampled down to accommodate any limitations of the wireless interface.
The second real time status message M2 may then contain a second group of vehicle information items or partial vehicle information (“key status information”), which may be a significantly smaller subset of the first status message. Typical status information reported in a partial status message M2 containing only partial or selected vehicle data may include one or more of:
a. Hybrid drive system fault/failure flag,
b. Propulsion Energy Storage Overvoltage,
c. Propulsion Energy Storage State of Health (SOH) or State of Charge (SOC),
d. Electrical System Isolation Resistance,
e. Vehicle Location, Speed, or Fuel Economy or average miles per gallon (mpg),
f. Number of Passengers or Vehicle Revenue,
g. Vehicle sensor output,
h. Status of particular vehicle components of interest such as generators, inverters, energy storage modules, electric motors, fuel cell, engine, and the like.
According to one embodiment, the partial vehicle status message sent by each RDU 20 may be a “fixed” or preset message having a predetermined subset of CAN and/or GPS data. For example the second message M2 may only include four data or key status information items such as vehicle location, speed, energy storage SOH, and high voltage system isolation.
Alternately, the partial status or second status messages M2 may include a user selectable subset of data items from a larger “menu” of CAN and GPS data (e.g., select subset of four from menu of twenty items). This is particularly advantageous where different type of users will be accessing the information. Accordingly, any other group of vehicle status information items may be selected by users and/or system controllers for reporting in the partial status messages M2, and different groups of information may be sent in message M2 to different user devices. To illustrate, in this embodiment each non-selected vehicle 2 may transmit a of 20 available message sources/data items to the RDS server 30, which are listed on a user device menu (e.g., numbered #1-#20). Using the menu on the user device 40, a first user may select items #1, #2, #3, and #18 to be reported via the GUI 50, while a second user may select #1, #7, #8, and #12. In response, the RDS server 30 then filters and reports the requested items in modified messages M2* to each respective user which each contain only the information items requested by that user. Another way would be for RDS server 30 to initially identify the requested items of the first and second users to the RDUs 20 of each non-selected, active vehicle. Then each non-selected vehicle 2 may transmit a reduced set of data items. For example, using the selected items above (i.e., #1, #2, #3, and #18 for first user, and #1, #7, #8, and #12 for second user), the RDS server 30 may request the non-selected, active vehicles to transmit items #: 1, 2, 3, 7, 8, 12, 18 in messages M2, which are forwarded to client devices 40. The client devices in turn may filter the information items to report or display items #1, 2, 3, 18 in the first user's GUI and items #1, 7, 8, 12 in the second user's GUI.
As discussed above, according to one embodiment, the partial or second status message M2 transmitted by the RDUs of active, non-selected vehicles may preferably include a system failure/fault flag in one data slot, but any remaining data slots may be modified by the user. In different implementations, the fault conditions could be determined by an onboard vehicle controller, the RDU 20, the RDS server 30, or even the RDS client device 41 or PC GUI. The RDU 20 or another on-board vehicle controller could also implement algorithms that predict a fault/failure based on historic information. Independent of the device that determines faults, once an out of tolerance condition is detected, remedial action may begin. For example, in the event the flag indicates a failure/fault, the system may provide an additional alert to the user. One such additional alert may include directing a request to the user asking whether he would like to select the failed/faulty vehicle for full RDS reporting. According to another embodiment, the system may automatically switch to the failed/faulty vehicle as the selected vehicle.
In addition to the ongoing reported messages, an initial status message, which may be a full or partial message (M1 or M2), is transmitted for all active vehicles upon start up. The initial message may be transmitted at the slow data rate, for example at time interval T2 (e.g., every 60 seconds). Alternately, this initial message may automatically, under certain specified conditions, be transmitted for one or more selected vehicles at a high data rate T1 (e.g., every 200 milliseconds). For example, when the vehicle is selected by a user at the backend, or when a fault or failure condition is recognized for that vehicle, the RDU 20 may automatically begin transmitting at the high rate T1. Thus, for such vehicles, the initial status message may be a first status message M1 that is transmitted at a high data rate T1. In either case, receipt of either message M1 or M2 indicates that the vehicle is currently online or otherwise operating. Thus, upon receiving either message, the RDS server 30 or RDS client device 41 may use it to generate a list of currently active vehicles in the user devices 40 currently registered to receive information for those vehicles, as described in more detail below in connection with
Non-vehicle components and subsystems may reside on, be powered by, and even communicate with the vehicles 2, 3. In embodiments where the vehicles 2, 3 are passenger carrying vehicles, each vehicle may include an optional virtual turnstile unit or VTU 19 which communicates current passenger and/or fare information to the RDU, as illustrated in
In alternative embodiments, simpler versions of the VTU may be arranged just to count passengers or just to count revenue generated by the vehicle. The VTU may communicate detection of a passenger entering (and optionally also a passenger leaving the vehicle or bus) over the CAN network. The VTU processing module 4 may also add each counted passenger to a total number and communicate the total number over the CAN network for transmission by the RDU 20 to the backend or server side of the remote monitoring and diagnostic system 100. Additional analysis and reports may be generated and provided by the RDU processor 24, the VTU processor, or a combination of both, such as:
1. Number of passengers entering per period of time (e.g. every thirty minutes).
2. Number of passengers entering per location (e.g. bus stop).
3. Number of passengers entering per time of day (e.g. at lunch time).
In embodiments where the VTU includes sensors both for detecting passengers entering 5 the bus or other passenger vehicle and for detecting passengers leaving 7 the bus, either the RDU 20 or the VTU 19 may use this information to calculate other statistics, including the number of passengers leaving per location, per time period, and per time of day, as well as the total number of passengers on the bus at any one time. This is valuable for system operators to determine the most popular routes and possibly to add or reduce service, based on passenger and revenue levels. The VTU generated information may also be useful for additional reasons such as safety and information gathering in the event of an accident.
The revenue meter or fare collection module 6 may be connected to a bus fare collection box 9 adjacent the bus driver and may be used in conjunction with the passenger detection sensors or in isolation. The revenue meter 6 may communicatively couple the bus fare collection box 9 to the CAN network, and thus to the RDU 20, and report fares collected by the bus 2, 3. In one embodiment, the passenger sensors 5, 7 may be omitted and the VTU 19 may alternatively use the revenue meter 6 to count passengers entering the bus. In this embodiment, the VTU 19 sends a message that a passenger has entered the bus upon detection of a fare received in the fare collection box. The backend server 30 or the onboard VTU 19 or RDU 20 may use this information to calculate passenger statistics such as those listed above in connection with the passenger sensors, e.g. passengers entering per hour, per bus stop, or per time of day, and to generate passenger and revenue status reports for all vehicles and routes.
According to another embodiment, the VTU 19 may determine a passenger count through passenger sensors 5, 7, and determine revenue through the revenue meter 6. With this information, the VTU 19, RDU 20, and/or RDS 30 may determine and report various additional vehicle statistics. For example, the VTU 19 may also report the dollar amount received when a passenger enters the bus. Further, the VTU 19 may correlate the fare with a class of passenger (e.g., handicapped, student, regular, etc.), and report that information as well. This information can be used by the end-user to make decisions related to bus usage.
In addition, this information may be presented along with the vehicle conditions on a GUI 50 at one or more user devices to help transit authorities evaluate the efficiency of a route, or to help fleet managers understand whether a vehicle's performance, or lack thereof, is related to an external condition such as the passenger load being carried.
In another embodiment, the VTU processing module or computer 4 may determine when a passenger enters the bus but does not pay a fare, e.g. when the passenger sensor detects a passenger entry but no fare collection is detected by the revenue meter or fare collection box. This comparison may result in an additional reported parameter such as number of revenue generating passengers. This information may be used to reconcile with end-of-day revenue information reported by the driver. Additionally, certain information may be fed back to a user on the backend and the bus driver. For example, when it is determined that a passenger has not paid, this information may be fed back to the passenger, the driver, and/or a manager in the form of an alert via driver alert module 8. An alert such as an audible alert may deter passengers from attempting to enter the bus without paying the fare, or may give them cause to return to the driver to pay the fare. The driver may also be provided with a reset button acknowledging, and thus approving, the passenger. The reset button is connected to the VTU processing module 4 and the input from this button may be used to add another fare-paying passenger to the total passenger count.
Feedback may be provided to a backend office in the form of a priority message. This message may be sent via the RDU 20 or through an independent communication. The system may trigger a command to be issued on receipt of certain messages or under certain conditions. In particular, upon detecting a passenger has entered the bus without paying a fare, this may trigger an onboard camera to record an image of the passenger entering. The processing module 4 may then process the image to determine whether a passenger did in fact enter the vehicle, thus providing a more reliable turnstile. Alternately, the recorded image may be saved for other purposes such as driver safety and/or fraud detection purposes. Upon payment of a fare, the camera may then delete the saved picture.
According to an alternate embodiment, the RDU may include information on “paying passengers” and/or alerts of non-paying passengers when continuously reporting basic/partial information of a fleet. This and other information may be presented to a user in a graphical format, as described in more detail below. The system may also incorporate “static” information such as the name of the bus driver or route.
One embodiment of the backend or user/controller side of the system is illustrated in more detail in
As illustrated in
The one or more displays or user devices 40A, 40B are configured with an RDS client 41 which may be software configured to display currently on-line vehicle information in a GUI 50 on, for example, a web browser, the vehicle information as generated by the backend server or computer 30 based on data received from the vehicles 2, 3, with the data being updated each time a new status message of any type for any of the listed vehicles is received. The partial and/or increased vehicle communication may be displayed on a web page supported by the remote server 30. The web page can be displayed on a remote user device 40A, 40B such as a computer system with a monitor, for example. In some embodiments, partial and/or increased vehicle communication may also be displayed in a GUI 50 on a computer screen associated with the server 30.
According to one preferred embodiment multiple user devices 40A, 40B may select different vehicles 3 via the central monitoring station 30. In particular, the selected vehicle 3 of user device 40A may be different from the selected vehicle 3 of user device 40B. Thus each vehicle be simultaneously a “selected” and “non-selected” vehicle 3, 2 and may communicate with the server so as to display different active vehicle information to multiple users in different locations. Here, both vehicles may transmit full messages M1 to the server 30, and the server 30 pass on the full message to one user device and only a subset of the full message to the other user device. Alternately, each RDU 20 may transmit both a full and partial message M1, M2 to the backend server 30.
In the case where there are multiple user devices 40A, 40B, it is preferable that access is managed by server 30. In particular, where not all users are authorized the same access, security measures may be included to limit/filter vehicle data that is not authorized to be used by a particular user. Access may be determined by comparing a user device's information against a library of authorized users and given the appropriate access.
In one embodiment, the user device 40 can also detect a fault or failure condition on the vehicle based on data contained in transmitted messages. The parameters needed to determine such a condition would stem from vehicle components that are nodes (or message sources) on the vehicle network(s) that the RDU 20 is connected to via CAN bus 18. The data processing module 44 may monitor and compare data against thresholds and take remedial action such as reporting and/or modifying RDU communications.
In one embodiment, where non-selected vehicles transmit a menu of selectable data, the RDS client 41 may be configured to control the GUI 50 to display only part of the information in each second status message M2 for a vehicle 2, 3, or all of the information, or may allow the user to select how much of the information in the second status message M2 is displayed. Similarly, where all vehicles only transmit first status messages M1 to all client devices 40, and the individual client devices 40 may be configured to control which information items are displayed. In particular, data processing module 44 may strip off all but the second message M2 information.
In
In the screen shot of
In the screen shot of
In one embodiment, the RDS server 30 or RDS client 41 may integrate the RDU reported information with non-vehicle data and/or third party data obtained off board the vehicle. Likewise, the additional status message data M2 of non-selected vehicles 2 may be simultaneously displayed or superimposed with the data of the selected vehicle. For example, in one embodiment, if “location” is included in the status message, the GUI map displaying the location of the selected vehicle may also display the location of non-selected vehicles where they are in the range of the map. Furthermore, the GUI 50 may display the following integrated information: a map of the city, all bus routes superimposed on the map, and an icon of each bus location along its respective route. The bus icon may also include some or all of the following data: the route number, the name of the driver, an image of the driver, the current number of passengers, and the like.
As discussed above, in one embodiment the RDUs of on-line or active vehicles transmit a partial data status message M2 containing selected CAN and GPS information items to the RDS, independent of the low rate, full CAN and GPS transmission of all vehicle data. Since the “presence data” (whether the vehicle is online) is only reported to the user interface at a longer time interval T2 such as every 60 seconds, the partial data status message need only be sent at time intervals T2 as well. The partial vehicle data may be displayed in the side bar or currently active vehicle list of
Meanwhile, the “non-selected” vehicles will receive a second subset (“M2”) of the real time hybrid drive system messages that are communicated over the vehicle communication bus (S-12). As with the selected vehicle(s), this will include a sampling of communicated messages. However, in contrast, the second subset M2 will be substantially smaller than M1, and may only be associated with a predetermined subset of message sources, representing key status information. Key status information may be predetermined by the system and/or dynamically defined by the user and/or the system. The non-selected vehicles will then transmit the second subset of the hybrid drive system messages M1 to the central monitoring station for further processing (S-14). M2 transmissions may take place periodically at time intervals (“T2”), which may be less frequent that time intervals T1.
In both the selected and non-selected vehicles, the system will preferably record certain vehicle bus communications (S-15). The recorded messages (“DL1”) may include substantially all communicated messages, and may be recorded on the vehicle, on the backend, or both. Moreover, the recorded messages with be determined independent of whether the vehicle is selected or not. Recorded communications DL1 may be the same messages as transmitted real time as the first subset of messages M1, or may be the full, unsampled, M1 message group. Recorded messages DL1 may be combined into compact data files. Recorded messages DL1 may be recorded on the vehicle, on the backend, or both. However, where recorded messages DL1 are recorded on the backend, they will preferably be transmitted separately from the real time messages M1 and M2 and may be scheduled via an autopush algorithm.
At the backend, all messages transmitted will be associated with their respective source vehicle and further processed (S-16). Backend processing may include data logging (as in S-15), data analysis (e.g., failure/fault detection), forwarding to a user device (S-18), responding with control signals and or supplemental data. Where the messages are forwarded to a user device, both M1 and M2 messages may be displayed to the user simultaneously (S-20). Upon a request by a user and/or a determination by the system, a command may be issued to one or more vehicles (S-22). Preferably, the command will include selecting a new vehicle of interest and de-selecting a prior vehicle of interest responsive to vehicle data or key status information transmitted in M2 of the previously non-selected vehicle.
When a user selects a vehicle from the current active list for full data display (S-82), the most recent stored full data for that vehicle (obtained from the previously received complete CAN and GPS data messages DL1 sent by each active vehicle at during an autopush) may be retrieved from the data base either at the RDS server 35 or the user device 45 and displayed in the GUI (S-84) in a user selected mode or configuration, for example as illustrated in
According to one embodiment, different user devices may select different vehicles as their respective “selected vehicle” for full display. This is particularly useful where multiple users are accessing a fleet and have different vehicles of interest. This is also useful when the central monitoring station 30 serves multiple users that are not authorized to monitor each other's fleets. Accordingly, the RDS server 30 filters incoming full data messages M1 from each user-selected vehicle and directs them to the appropriate user devices (S-87). In the latter case, where not all users are authorized the same access, security measures may be included to limit/filter vehicle data that is not authorized to be used by a particular user. Security measures may include user authentication (e.g., username and password) for example.
The GUI interface controller 48 at the respective user devices 40 then controls the GUIs to display selected or all vehicle information from messages M1 for the selected vehicle on the GUI (S-88), updating the display on receipt of each full data message (S-89). The full vehicle information continues to be updated on receipt of each full data message M1 while the vehicle is still selected and active. Vehicle information from active and selected vehicles may also be stored in the data storage module 45 in place of or in combination with any recorded messages or files DL1.
The RDS server 30 also receives updated partial or second messages M2 (key status information) for all currently active vehicles at a slower rate T2 (S-90). Each time a status message M2 is received, the currently active vehicle list is updated to add any newly active vehicles which have just started sending status messages M2 (S-92), or to remove any vehicles which have stopped sending status messages M2 (S-94), i.e. vehicles which have completed a trip or finished a duty cycle, are currently shut down, and/or are no longer transmitting. The list update of steps 92 and 94 may be carried out at the respective client devices 41 or at the RDS server 30. In the latter case, the RDS server 30 filters the data to provide a currently active vehicle list 51 to each user device which includes only the vehicles which the respective user device is authorized to monitor. This controls updating of the list of currently active vehicles displayed at step 80.
Continuing on to
In addition to controlling the display of vehicle status information on the user device 40 of each participating user, such as fleet operators, maintenance personnel, and the like, the RDS server 30 may also perform other tasks, such as processing or analyzing incoming information for any vehicle failures or faults, processing the data to provide other useful information for display on the GUI 50 or in reports, such as route profitability and passenger capacities, and providing commands or alert messages to both users and vehicle drivers.
As discussed above, each RDU 20 or a separate vehicle controller may also be configured to detect any failures/faults or failure/fault messages, and the RDU 20 may be configured to automatically exit its default settings in the event of a detected failure or fault, and reconfigure itself to take one or more of the following actions:
1. Increase the transmit rate of the partial data status messages M2;
2. Transmit all available data, i.e. complete data messages M1, instead of partial data messages M2;
3. Send an independent Alert to the user with the status messages;
4. Send an independent Alert to one or more independent entities such as maintenance personnel over the RDU wireless link 29, e.g. to cell phones, emails or the like;
5. Increase the transmit rate for transmitted status messages;
6. Increase the sampling rate of the failed/faulty component or unit in the vehicle reporting the failure/fault condition;
7. Actively request specific predefined information from the failed unit over the CAN.
Alternatively, the RDS Server 30 or a user may detect a predefined failure/fault message, and command the RDU 20 to exit its default settings and perform any of the above actions. In addition, the RDS Server 30 may send a message to the user asking if he wants to expand the status message from the failed/faulty vehicle to include additional items from a list of all available items of interest. For example, if the status data indicates a coolant over-temperature condition, the backend system may offer to include coolant level, engine speed, and any other items that may be causing the over-temperature in the status message. Alternatively, the system may automatically reconfigure the RDU status message to include the information of interest.
In one embodiment, either the RDS server 30 or the vehicle RDUs 20, or both, are equipped with a diagnostic toolkit or failure/fault detection module, such as module 36 of
With the arrangement described above, the remote diagnostic system is more accurate during fault conditions and provides for a quicker response time by users and maintenance personnel. This especially beneficial for hybrid electric vehicles having highly integrated electric drive system that may be more susceptible to transient faults than conventional vehicles and that and may include high voltage onboard energy and power control systems. Additionally, the RDU in combination with a VTU in the above embodiment provides revenue and route efficiency information useful for transit authorities and other fleet managers. The combined display of both hybrid drive system data, vehicle operational information, and passenger information allows easy access by users to all data of interest and allows them to easily monitor fleet performance and to identify faults and failures or potential faults and failures early, reducing maintenance response time. For example, where fuel economy data indicates that a particular vehicle is not performing at its expected economy level, the system may be reconfigured to send new performance parameters to adjust the engine or even configure the vehicle control software. In one embodiment, this may be done the next time the vehicle or bus is inoperative or shut down, i.e. outside normal operating hours.
This system also allows the remote diagnostic system to be tailored to suit the end-user's application, by allowing end users to select which information items are sent in periodic partial status messages M2 from RDUs or which information items from messages M2 are displayed in the GUI, and also allowing different users to receive different sets of information. For example, maintenance personnel may need operating information on various vehicle components, while fleet managers may want passenger and revenue information for route review purposes.
The hybrid drive components and sub-systems 213 may include an engine, generator, rooftop cooling, high voltage DC-DC inductor, remote diagnostic unit, vehicle energy storage, voltage protection module, drive motor, control system, electrically driven accessories, inverters, solid state alternators, etc., as partially illustrated in
In operation, the hybrid vehicle data logging device 200 may record vehicle communications communicated over a vehicle communication bus or network 318 (described in
In some embodiments, the hybrid drive system data may be transmitted directly to the data logger 200 or over a vehicle communication bus to the data logging device 200. Alternately, the hybrid drive data may be transmitted wirelessly to the data logging device 200. Likewise, the vehicle location data may be transmitted via a direct link to the data logger 200 or indirectly, over a vehicle communication bus to the recording device 200. Also, alternately, the vehicle location data may be transmitted wirelessly to the data logging device 200. Where the hybrid vehicle data logging device 200 is not onboard the vehicle, an onboard device (e.g., RDU 20 of
According to one embodiment and as described immediately above, the location finder 221 may include a transmitter configured to transmit location information over a vehicle communication bus, as opposed to sending it directly to the system 200. Since a vehicle communication bus will typically adhere to a standardized communication protocol (e.g., CAN, SAE J1939, LIN, FlexRay, etc.), the transmitter may include a processor configured to convert vehicle location information (e.g., GPS data) into standard-compliant messages. In this way, location information may be placed directly in the hybrid drive communication bus data stream. In this embodiment, location messages may also serve as breaks or markers in a resultant data log file of communication bus data.
Correlating messages (S-210) may turn on the manner in which the messages are recorded (S-215). In particular, message correlation may depend on whether the status messages and location messages are recorded together or separately. For example, where both messages are recorded together (e.g., in a single file), the location messages may be interspersed chronologically between the vehicle/drive messages. This may be done manually using processor 224, wherein the processor 224 may re-write the vehicle/drive data to include the location information. Or alternately, as discussed above, this may be done conveniently by transmitting the location messages over the communication bus 318 such that location messages are automatically recorded based on when they are transmitted.
Somewhat similarly, where both messages are recorded together, but retain their respective identity, (i.e., a single file characterized by, for example, CAN messages and GPS location data), the location data may still be interspersed between the vehicle/drive data. However, here the location data may strategically delimit the file. For example, being separate, location data may only be written at the beginning of each file or data packet. In the alternate, location data may be advantageously only recorded at predetermined time intervals so as to represent both a location and time marker.
In the alternate, where both messages are recorded separately, they may require more direct correlation. In particular, in this case, a third file or index may be created to provide pointers or other indicia of what location corresponds to certain recorded vehicle/drive data. According to one embodiment, processor 324 may record clock information (see
Referring to
The timing module 323 receives or provides timing information to the vehicle communication network 300. In some embodiments, the timing module 323 is a clock or a computer device configured to receive or generate timing information. The location based system 200 receives timing information from the timing module 323. The timing module may be integrated in the system 200 or a component thereof. The timing information may be used to time stamp the vehicle communication or information to indicate the time the vehicle information was received and/or sent to the system 200. Thus, the vehicle communication may include multiple position locations of the vehicle, timing information associated with the multiple position locations and vehicle operation information. The vehicle operation information is associated with the timing information and the multiple position locations such that the location of the vehicle at the time the vehicle operation information is received can be later determined. According to an embodiment, GPS data may be received on a 1 sec update rate, and a time marker or timing information is incorporated into the GPS data. Accordingly, as a default, for example, the system 200, stores GPS data or positioning information at that time marker.
As discussed above, where CAN data and GPS data are recorded together, the GPS data can be interspersed between the CAN data. In one embodiment, the GPS data is downsampled every 2 sec, 4 sec, etc. to reduce the size of the recorded data log (vehicle communication such as time stamp, communication address, message, etc.).
According to another embodiment, the data log or vehicle communication log may include a static GPS marker. The static GPS marker is a reference position such that after a given change in a parameter from the reference position the GPS information or data is updated. Accordingly, the hybrid drive data might only be correlated, for example, with a received vehicle location data, upon the condition that vehicle location data has changed by more than a predetermined threshold. For example, in some embodiments, the parameter is distance travelled, and the GPS marker is updated based on predetermined change of distance (e.g., every 300 feet). In other embodiments, GPS information or data may be updated and/or correlated based on a time out implementation as well (e.g., even if the vehicle hasn't moved, GPS still updated after 10 sec).
Similar to the processor 24 of
As discussed earlier, when a user or troubleshooter receives a report of a potential vehicle fault from a driver, they usually try to find out when and in which component/subsystem the fault arose. In troubleshooting problems with a vehicle, the troubleshooter often relies on the driver's recollection of what happened and/or when it happened. Up to now, troubleshooters often had to sift through a lot of data recorded over an extended time period to find an actual event or combination of irregular conditions. This may be less laborious in some cases, for example when the troubleshooter is looking for the occurrence of a specific event, for example the first occurrence of a persistent fault light coming on. Other times it is not so easy, for example if the driver simply reports that “the engine made a weird noise”. This may be caused by any number of vehicle components, making it hard to identify which component may be faulty from the extensive logged data. Thus, previous trouble shooting techniques were often inadequate and very time consuming. However, employing the location based data logging system 200 described above provides for more efficient troubleshooting and location based diagnostics. This is highly beneficial for complex, communication dominant electric drive systems found in modern hybrid-electric vehicles.
Additionally, one or more of the components of user device 400 may be physically separated from the device 400 and reside in a portable second device (not shown) that is used to perform the manual download. For example, a wireless, volatile memory device may be configured to communicably link with the vehicle, download the drive system and location data, and then communicably link directly to the processor 424. Thus, this portable second device may either download to the user device's memory 425, or function as the user device's memory 425.
When user device 400 is configured as a remote diagnostic system, the analysis module or processor 424 will need to acquire both the hybrid drive system data and location data from the vehicle. Accordingly, user device 400 may include a communication port/module (“receiver”) 422 that is configured to receive hybrid drive data and vehicle location data from the hybrid vehicle. According to one embodiment, the hybrid drive data and vehicle location data may be manually downloaded from the location based data logging system 200. For example, in this case receiver 422 may include a manual download port such as an USB flash drive interface, a wireless (e.g., WiFi link), or the like.
Also, when user device 400 is configured as a remote diagnostic system, while manual download is possible, electronic data acquisition is preferred. As illustrated, communication module or receiver 422 may communicate over a communication link 409 with the vehicle and/or an intermediate server at a central control station, as discussed above. Communication link 409 may include a wireless portion as well. To illustrate, according to one embodiment, user device 400 may include a communications link analogous to remote diagnostic user device 40 (
Preferably, user device 400 will include a graphical user interface (“GUI”) 450 configured to report or display both the drive system data to be reviewed and geographical information associated with the vehicle location data. The GUI 450 may also display multiple position locations of the vehicle in conjunction with time information of when the vehicle was there. The GUI 450 may be any suitable display device such as a LCD, CRT, or other monitor. Moreover, U/I 455 may be integrated into GUI 450 using, for example, a capacitive touch screen.
With regard to with the vehicle location data, the GUI 450 may be configured to provide a selection range of geographical information for the user's geographical request. In particular, GUI 450 may identify and display a selection range encompassing all or part of the locations recorded by the vehicle location data. For example, referring to
Where time information is available, it may be included in the display of the vehicle location data as well. In particular, the U/I 455 may be further configured to receive a time request from the user. In response to the time request, the GUI 450 may then display a subset of the vehicle location data, and/or drive system data. This may be particularly useful in making an “initial cut” of the vehicle location data and/or drive system data. Likewise, if the vehicle has passed the same location more than once, a time selection option may be provided with each time that vehicle was at the same location. The time selection option may afford selection of one set of times among the plurality of sets of times the vehicle was at the same location.
Once the vehicle location data is provided to the user, the GUI 450 may interact with the U/I 455 such that the user can make the geographical request from the displayed geographical information. For example, referring to
According to another embodiment, if the location data requested (e.g., from an erroneous driver report) falls outside actual vehicle-reported GPS data, the user device 400 may assign a closest match (or correlation) in the data logger data (e.g., by correlating the selection to a time, and outputting a desired range of recorded data based on that estimated time). To illustrate, if a user selects a point on a GUI map that does not coincide GPS data of the vehicle, the processor 424 may determine the nearest actual GPS point or extrapolated GPS point and reassign the geographic request accordingly. However, there still may be a range that the request has to fall within, in order not to be rejected altogether. Whether the user operated the U/I 455 to select a single point of interest, several points, or an estimated point, the user device 400 may associate this geographical request with an event window, as discussed below.
Alternately, rather than focusing on discrete points/locations, the GUI 450 and U/I 455 may operate to allow user to select a range of vehicle location data. In particular, referring to
According to one embodiment, the geographical information associated with the vehicle location data may also include then current environmental conditions proximate the hybrid-electric vehicle. For example, in addition to vehicle location data, GUI 450 could also display landmark data and/or be integrated with third party specialized maps such as Google Street View, of Google Incorporated, to improve the correlation between one or more reported events with the one or more position locations of the vehicle. For example, if the driver reports that that a noise was heard first while the vehicle was in front of a Home Depot on Scripps/Poway Parkway East and that the noise stopped when the vehicle was in front of Carl's Jr. fast food restaurant, this information would normally have very limited value for troubleshooting. However, in combination with “Google Street View,” for example, this information can be correlated with actual physical locations, and in turn with actual vehicle location data. Moreover, this information, which would otherwise have no or limited use, with may now provide a 30 second window for review or analysis (this calculation is based on the assumption that the vehicle was traveling approximately at the 30 mph speed limit, and the distance between both locations is approximately 1300 feet).
Also, for example, UI 450 may incorporate specialized maps including terrain topography and/or traffic conditions. This may be valuable when troubleshooting an energy storage event that is associated with the environment of the vehicle. For example, downhill sections or intersections may be associated with regenerative braking, and uphill sections may be associated with generator demands, both implicating energy storage charge or discharge. Thus, with this additional environmental information, a trouble shooter investigating a failure or overtemp condition on a drive motor inverter, for example, could further limit the geographical request to a portion of the vehicle's route that corresponded with vehicle braking (e.g., downhill or approaching traffic).
As discussed above, in some embodiments an event window may be created. In particular, the processor or controller 424 of user device 400 may respond to a user input and set a first time of the first geographical request location, based on a GPS reading that is selected or that begins a selection range, and, where applicable, a second time of a second location selected or ending a selection range. These first and the second times can then be used to define an event window based on time and or location. In particular, the event window defines the geographical request as those vehicle location data occurring within a predetermined time before and after the vehicle location point request, and/or as all those vehicle location data occurring within a predetermined distance before and after the vehicle location point request.
Furthermore, whether one or more locations of interest are indicated, the event window may be extended beyond the limits of the geographical request fault. For example, when the driver or user makes the geographical request for the vehicle data, the location based data logging system 200 may provide time stamp information for the location(s), and processor 424 may then determine an extended range for the requested data (e.g., 15 sec and/or 300 feet before and after time stamp(s) of the reported location(s) of the geographical request). Even though it extends the range of the data to be provided, the event window is typically much smaller than if the driver was asked to provide a time range in the first instance. Preferably, an extended time range of the event window would be determined based on the type of fault that occurred and/or the speed of the vehicle. In particular, if the subsystem that triggered the fault has a relatively short response time, the event window may be only extended by a short amount whereas longer response times of the subsystem would lead to a broader extended time range. Similarly, where the vehicle is traveling faster at a border of the event window, the predetermined distance may be greater than if the vehicle had been going slower.
According to one alternate embodiment, location based vehicle diagnostic system 400 may configure its GUI 450 to provide key status information associated with one or more vehicle location points. In doing so, the user may better refine the geographical request. “Key status information” may be defined broadly, as above (i.e., any partial HEV messaging), however, it will preferably be limited to just a few items, in order to facilitate presentation of the vehicle's location data on the GUI 450. In particular, where multiple discrete location points are used, each point may report one or two additional pieces of information such as a fault flag, a time, a speed, an energy storage status, a high voltage isolation status, etc. According to one embodiment, rather than listing out the additional data as text, the means for identifying the HEV's location may be modified to provide the information pictorially. For example, vehicle location may be displayed using icons that, when used with a legend, identify the additional information.
As illustrated in
According to one preferred embodiment, the user may select which key status information is provided. In particular, GUI 450 may display to a user key status information that is available and the U/I 455 is further configured to receive a key status information request. Accordingly, the key status information would then be selected responsive to the key status information request. In this way, the location based vehicle diagnostic system 400 becomes highly interactive with the user, and a troubleshooter may rapidly reduce an event window by strategically selecting key status information sources that are closely linked to a reported condition or the initial stages of the reported condition.
As with the interactive selection of key status information above, the location based vehicle diagnostic system 400 may also provide for selection of available data sources associated with the hybrid drive system data. In particular, GUI 450 may display available data sources to a user, where the U/I 455 is further configured to receive a data source request. Processor 424 will then filter the hybrid drive data according to the data source request. Accordingly, the reported subset of hybrid drive system data would then not only be limited by vehicle locations, but also would be by data source. In this way, the location based vehicle diagnostic system 400 becomes highly interactive with the user, and a troubleshooter may rapidly reduce an event window and a data log report by strategically selecting only data sources that are closely linked to a reported condition or the initial stages of the reported condition.
According to one embodiment, the data sources may be grouped by subsystem. For example, a user may limit reporting to a single subsystem such as Energy Storage, Generator, Drive Motors, Electrical Accessories, Inverters, etc. Given the large number of data sources onboard a typical hybrid vehicle, this embodiment advantageously allows the user to quickly eliminate multiple data sources that are not likely to be associated with the reported problem.
At block (S-305), the vehicle operation information, the timing information and the multiple position locations are stored in a storage device. The process then continues to block (S-310) where one or more identifiable event position locations are correlated with the one or more position locations of the multiple position locations and the vehicle operation information associated with the correlated one or more position locations are retrieved. The one or more identifiable event position locations are associated with the occurrence of one or more identifiable indications related to one or more vehicle related events. Finally in block (S-315) the vehicle operation information associated with the correlated one or more position locations are analyzed to determine the one or more vehicle related events.
As discussed above, a troubleshooter responding to a vehicle event may begin by obtaining additional information from the driver, which may be helpful in pinning down a more exact time when the reported event occurred. Specifically, the troubleshooter may ask the driver where the vehicle was located when the event occurred. As above, often, a driver remembers where they were when something happened more accurately than they remember the time of the event. For example, they may remember that they had just passed a certain freeway off ramp or were between two off ramps, or that they were near to a certain landmark such as a hospital, school, mall, or the like. With this information, the troubleshooter or user requests the stored data log for the vehicle of interest using user device 400 (
A decision is then made whether the user-entered location corresponds to actual recorded vehicle location data (S-414). If the user selected location is found in the recorded GPS data, the time associated with the entered location, or the times associated with the two end locations when the user entered more than one location, may be determined from the data log (S-415). However, if the location or locations entered by a user in (S-410) are determined to fall outside the recorded GPS data in (S-412) and (S-414), the GPS data is searched in (S-416) for a GPS data point that is the closest match to the entered location (or the closest matches where two locations outside the recorded data are entered). Likewise, the time or times associated with the closest match GPS point(s) are then identified (S-418).
Independent of whether the user entered location matches actual recorded location data, the system is programmed to create an event window using the selected start time and end time associated with the time(s) associated with the entered location or location information (S-420). For example, where a single location is entered, the system is configured to select a predetermined time range around the time corresponding to the entered location (or around the time stamp associated to the closest match to that location when the entered location is outside the stored GPS data), and to create an event window corresponding to the selected time range. This allows an investigation to be made of what was happening to the vehicle before and after the reported event. In one embodiment, a five minute (or any other appropriate time period) event window around the time of the entered location may be created. Where two different locations about an event are entered by the user (i.e., a start and end location), the times associated with these locations may be used to determine the event window, or an extended time range may be determined, for example fifteen seconds before and after the time stamps of the user entered start and finish event locations.
Once an event window has been created, vehicle data within that time or event window may be reported or displayed using GUI 450 in any suitable manner (S-422). For example, in place of or alongside the map 157 in
The computer system 750 preferably includes one or more processors, such as processor 752. Additional processors may be provided, such as an auxiliary processor to manage input/output, an auxiliary processor to perform floating point mathematical operations, a special-purpose microprocessor having an architecture suitable for fast execution of signal processing algorithms (e.g., digital signal processor), a slave processor subordinate to the main processing system (e.g., back-end processor), an additional microprocessor or controller for dual or multiple processor systems, or a coprocessor. Such auxiliary processors may be discrete processors or may be integrated with the processor 752.
The processor 752 is preferably connected to a communication bus 754. The communication bus 754 may include a data channel for facilitating information transfer between storage and other peripheral components of the computer system 750. The communication bus 754 further may provide a set of signals used for communication with the processor 752, including a data bus, address bus, and control bus (not shown). The communication bus 754 may comprise any standard or non-standard bus architecture such as, for example, bus architectures compliant with industry standard architecture (“ISA”), extended industry standard architecture (“EISA”), Micro Channel Architecture (“MCA”), peripheral component interconnect (“PCI”) local bus, or standards promulgated by the Institute of Electrical and Electronics Engineers (“IEEE”) including IEEE 488 general-purpose interface bus (“GPIB”), IEEE 696/S-100, and the like.
Computer system 750 preferably includes a main memory 756 and may also include a secondary memory 758. The main memory 756 provides storage of instructions and data for programs executing on the processor 752. The main memory 756 is typically semiconductor-based memory such as dynamic random access memory (“DRAM”) and/or static random access memory (“SRAM”). Other semiconductor-based memory types include, for example, synchronous dynamic random access memory (“SDRAM”), Rambus dynamic random access memory (“RDRAM”), ferroelectric random access memory (“FRAM”), and the like, including read only memory (“ROM”).
The secondary memory 758 may optionally include a hard disk drive 760 and/or a removable storage drive 762, for example a floppy disk drive, a magnetic tape drive, a compact disc (“CD”) drive, a digital versatile disc (“DVD”) drive, etc. The removable storage drive 762 reads from and/or writes to a removable storage medium 764 in a well-known manner. Removable storage medium 764 may be, for example, a floppy disk, magnetic tape, CD, DVD, etc.
The removable storage medium 764 is preferably a computer readable medium having stored thereon computer executable code (i.e., software) and/or data. The computer software or data stored on the removable storage medium 764 is read into the computer system 750 as electrical communication signals 778.
In alternative embodiments, secondary memory 758 may include other similar means for allowing computer programs or other data or instructions to be loaded into the computer system 750. Such means may include, for example, an external storage medium 772 and an interface 770. Examples of external storage medium 772 may include an external hard disk drive or an external optical drive, or and external magneto-optical drive.
Other examples of secondary memory 758 may include semiconductor-based memory such as programmable read-only memory (“PROM”), erasable programmable read-only memory (“EPROM”), electrically erasable read-only memory (“EEPROM”), or flash memory (block oriented memory similar to EEPROM). Also included are any other removable storage units 772 and interfaces 770, which allow software and data to be transferred from the removable storage unit 772 to the computer system 750.
Computer system 750 may also include a communication interface 774. The communication interface 774 allows software and data to be transferred between computer system 750 and external devices (e.g. printers), networks, or information sources. For example, computer software or executable code may be transferred to computer system 750 from a network server via communication interface 774. Examples of communication interface 774 include a modem, a network interface card (“NIC”), a communications port, a PCMCIA slot and card, an infrared interface, and an IEEE 1394 fire-wire, just to name a few.
Communication interface 774 preferably implements industry promulgated protocol standards, such as Ethernet IEEE 802 standards, Fiber Channel, digital subscriber line (“DSL”), asynchronous digital subscriber line (“ADSL”), frame relay, asynchronous transfer mode (“ATM”), integrated digital services network (“ISDN”), personal communications services (“PCS”), transmission control protocol/Internet protocol (“TCP/IP”), serial line Internet protocol/point to point protocol (“SLIP/PPP”), and so on, but may also implement customized or non-standard interface protocols as well.
Software and data transferred via communication interface 774 are generally in the form of electrical communication signals 778. These signals 778 are preferably provided to communication interface 774 via a communication channel 776. Communication channel 776 carries signals 778 and can be implemented using a variety of wired or wireless communication means including wire or cable, fiber optics, conventional phone line, cellular phone link, wireless data communication link, radio frequency (RF) link, or infrared link, just to name a few.
Computer executable code (i.e., computer programs or software) is stored in the main memory 756 and/or the secondary memory 758. Computer programs can also be received via communication interface 774 and stored in the main memory 756 and/or the secondary memory 758. Such computer programs, when executed, enable the computer system 750 to perform the various functions of the present invention as previously described.
In this description, the term “computer readable medium” is used to refer to any media used to provide computer executable code (e.g., software and computer programs) to the computer system 750. Examples of these media include main memory 756, secondary memory 758 (including hard disk drive 760, removable storage medium 764, and external storage medium 772), and any peripheral device communicatively coupled with communication interface 774 (including a network information server or other network device). These computer readable mediums are means for providing executable code, programming instructions, and software to the computer system 750.
In an embodiment that is implemented using software, the software may be stored on a computer readable medium and loaded into computer system 750 by way of removable storage drive 762, interface 770, or communication interface 774. In such an embodiment, the software is loaded into the computer system 750 in the form of electrical communication signals 778. The software, when executed by the processor 752, preferably causes the processor 752 to perform the inventive features and functions previously described herein.
Those of skill will appreciate that the various illustrative logical blocks, units, modules, and algorithm steps described in connection with the embodiments disclosed herein can often be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, units, blocks, modules, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a module, unit, block or step is for ease of description. Specific functions or steps can be moved from one module, block, or unit without departing from the invention.
Various illustrative logical blocks, units and modules described in connection with the embodiments disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor (DSP), application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be any processor, controller, microcontroller, or state machine. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium. An exemplary storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can reside in an ASIC.
The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other embodiments without departing from the spirit or scope of the invention. Thus, it is to be understood that the description and drawings presented herein represent a presently preferred embodiment of the invention and are therefore representative of the subject matter which is broadly contemplated by the present invention. It is further understood that the scope of the present invention fully encompasses other embodiments that may become obvious to those skilled in the art and that the scope of the present invention is accordingly limited by nothing other than the appended claims.
The system and methods of the above embodiments reduce troubleshooting time by allowing a time frame when a reported vehicle event occurred to be identified more accurately, based on the driver's recollection of the general location of the vehicle at the time of the event, rather than recollection of the actual time when the event occurred. Since less data has to be reviewed when the time frame can be more accurately isolated, this can significantly reduce the time for a troubleshooter to identify a potential source or fault which resulted in the event noticed by the driver, and thus to determine which part of the vehicle requires maintenance or replacement. The system is relatively inexpensive to implement, and allows for more accurate fault reporting.
Number | Date | Country | |
---|---|---|---|
Parent | 12628776 | Dec 2009 | US |
Child | 12650304 | US |