System and method for collecting data of vehicle

A system for collecting vehicle data includes: at least one vehicle controller in a vehicle network configured to control driving of a vehicle; a server configured to monitor a load state of the vehicle network and request a data collection by adjusting a control parameter corresponding to a selected vehicle controller according to an available capacity in the vehicle network when any one of the at least one vehicle controller is selected; and a data collection device configured to request data corresponding to the control parameter according to a request of the server by determining an error range based on the load state of the vehicle network. The at least one vehicle controller detects the data corresponding to the control parameter and arranges and transmits the data corresponding to the control parameter based on the load state of the vehicle network and the error range.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit of and priority to Korean Patent Application No. 10-2014-0176050, filed on Dec. 9, 2014 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.

TECHNICAL FIELD

The present disclosure relates generally to a system and a method for collecting data of vehicle, and more particularly, to a technology for controlling data collection according to load of vehicle network.

BACKGROUND

Data generated by a controller in a vehicle may be collected by connecting to a vehicle network through a wireless network. Since the vehicle network is usually implemented by a wired network, its load amount is restricted. In this regard, the transmission and reception of data between controllers is usually adjusted to the extent of not exceeding a network load amount limit. However, when vehicle data, which is variably selected, is requested to the controller, a significant network load may occur, causing essential vehicle data to not be transmitted between controllers.

Notably, in a normal network situation, an excess load amount may be solved after stopping network service for a while. However, in a vehicle network, if the transmission and reception of data is stopped due to the excess of network load amount, it could lead to a fatal accident or cause unexpected problems for vehicle operation.

SUMMARY

The present disclosure has been made in view of the above problems and provides a system and a method for collecting data of vehicle capable of actively inducing to avoid network load of vehicle when adjusting a policy according to vehicle data collection as a server monitors a vehicle network state periodically.

In accordance with embodiments of the present disclosure, a system for collecting a vehicle data includes: at least one vehicle controller in a vehicle network configured to control driving of a vehicle; a server configured to monitor a load state of the vehicle network and request a data collection by adjusting a control parameter corresponding to a selected vehicle controller according to an available capacity in the vehicle network when any one of the at least one vehicle controller is selected; and a data collection device configured to request data corresponding to the control parameter according to a request of the server by determining an error range based on the load state of the vehicle network. The at least one vehicle controller detects the data corresponding to the control parameter and arranges and transmits the data corresponding to the control parameter based on the load state of the vehicle network and the error range.

The server may include a simulator configured to determine the available capacity in the vehicle network based on a difference between a load amount threshold for the vehicle network and an average network load amount and compare the available capacity with a size of a control parameter selected in response to the selected vehicle controller.

The server may include a script generation unit configured to generate a script including the selected control parameter when the size of the selected control parameter does not exceed the available capacity according to the comparison of the simulator.

The data collection device may include a capacity analysis unit configured to determine the load state of the vehicle network in real-time or at every predetermined period and provide the determined load state to the server.

The data collection device may include an error range determination unit configured to compare a difference between an average network load amount for the vehicle network and an actual network load amount of the vehicle network and determine an error range of the actual network load amount.

The at least one vehicle controller may include: a data detection unit configured to detect data corresponding to the control parameter by determining a control parameter included in the data collection request received from the data collection device; and a data allocation unit configured to separate the data detected by the data detection unit based on a control parameter unit and allocate data based on the error range for each data transmission period.

The data allocation unit allocates sequentially the data separated based on the control parameter unit to a data allocation space of a data stream corresponding to each data transmission period based on a network load amount and an error range, and when a size of data allocated in a certain period exceeds the data allocation space of a corresponding data stream, allocates firstly data corresponding to the remaining allocation space among unallocated data except data allocated secondly in a corresponding period.

Furthermore, according to embodiments of the present disclosure, a method for collecting a vehicle data includes: receiving, by a data collection device, a command script from a server including a control parameter selected according to an available capacity for a vehicle network connected to a vehicle controller for controlling driving of a vehicle; determining, by the data collection device, an error range according to a load state of the vehicle network in response to a request of the server; transmitting, by the data collection device, the command script received from the server and the error range to the vehicle controller; receiving, by the data collection device, data corresponding to the control parameter included in the command script from the vehicle controller according to the error range; and sending, by the data collection device, the data received from the vehicle controller to the server. The data corresponding to control parameters are separated based on the control parameter and arranged for each period according to the load state of the vehicle network and the error range.

The method may further include, before the receiving of the command script from the server: determining, by the server, an available capacity of the vehicle network based on a difference between a load amount threshold for the vehicle network and an average network load amount; and generating, by the server, the command script including the selected control parameter when a size of the selected control parameter does not exceed the available capacity.

The transmitting of the command script and the error range to the vehicle controller may include: comparing a difference between an average network load amount of the vehicle network and an actual network load amount of the vehicle network; and determining an error range of the actual network load amount.

The method may further include, before the receiving of the data corresponding to the control parameter: detecting, by the vehicle controller, data corresponding to the control parameter by determining control parameters included in the command script; separating, by the vehicle controller, the detected data based on a control parameter unit; and sequentially allocating, by the vehicle controller, the data separated based on the control parameter unit to a data allocation space of a data stream corresponding to each data transmission period depending on a network load amount and the error range.

The sequential allocating of the data may include: when a size of data allocated in a certain period exceeds the data allocation space of a corresponding data stream, allocating firstly data corresponding to the remaining allocation space among unallocated data except data allocated secondly in a corresponding period.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Embodiments of the present disclosure are described with reference to the accompanying drawings in detail. The same reference numbers are used throughout the drawings to refer to the same or like parts. Detailed descriptions of well-known functions and structures incorporated herein may be omitted to avoid obscuring the subject matter of the present disclosure.

Prior to a detailed description of the present disclosure, terms and words used in the specification and the claims shall not be interpreted as commonly-used dictionary meanings, but shall be interpreted as to be relevant to the technical scope of the disclosure based on the fact that the inventor may property define the concept of the terms to explain the disclosure in best ways. Therefore, the embodiments and the configurations depicted in the drawings are illustrative purposes only and do not represent all technical scopes of the embodiments, so it should be understood that various equivalents and modifications may exist at the time of filing this application. Some constituent elements shown in the drawings may be exaggerated, omitted or schematically drawn for the purpose of convenience or clarity.

Referring now to the disclosed embodiments,FIG. 1is a diagram illustrating a configuration of a vehicle data collection system according to embodiments of the present disclosure.

As shown inFIG. 1, the vehicle data collection system (hereinafter, referred to as “collection system”) according to the present disclosure may include a server100, a data collection device200, and a vehicle controller300.

The vehicle controller300may be equipped in the vehicle, and may be one of multiple vehicle controllers. The vehicle controller300may correspond to, for example, an electronic control unit (ECU) that controls the operation of each operation unit of vehicle, and may correspond to an ECU that controls a vehicle communication. In addition, it may correspond to any ECU that controls a specific operation in the vehicle.

The server100may collect data for a plurality of vehicle controllers300provided in the vehicle. In this case, the server100may store the collected data in a database (DB)120, and may use information stored in the DB120to analyze the vehicle state.

The server100may receive a selection of vehicle controller300which would collect data before requesting the data to the vehicle controller300. In this case, the server100may select the vehicle controller300randomly or sequentially, and may receive a selection of a specific controller from user.

Furthermore, when the vehicle controller300is selected, the server100may select a parameter corresponding to data item to be collected from the selected vehicle controller300. In this case, the server100may check load state of vehicle network which is connected to the vehicle controller300, and may configure a control parameter based on available capacity of vehicle network. The load state of vehicle network may be provided in real-time or at every predetermined period from the data collection device200which is connected to the vehicle network.

The data collection device200may determine the load amount of vehicle network in real-time or at every predetermined period and provide to the server100. In addition, the data collection device200may be disposed between the vehicle controller300and the server100, and transmit a data collection request from the server100to the vehicle controller300. In this case, the data collection device200may determine an error range for actual network load amount based on an average load amount of vehicle network and provide information on error range to the vehicle controller300.

The vehicle controller300may detect the data of parameter requested from the data collection device200, and classify each requested data according to parameter unit based on the error range and allocate for each period depending on capacity and transmit to the data collection device200. In this case, the data collection device200may provide the data received from the vehicle controller300to the server100in response to the request from the server100.

A detailed configuration and operation of the server100, the data collection device200, and the vehicle controller300will be described below.

FIG. 2is a block diagram illustrating a configuration of a server according to embodiments of the present disclosure.

As shown inFIG. 2, the server100according to the present disclosure may include a signal processing unit110, a DB120, a communication unit130, a screen configuration unit140, a simulator150, and a script generation unit160. The signal processing unit110may process a signal transmitted between respective units of the server100.

The DB120may store vehicle data received through the communication unit130. In addition, the DB120may store a load amount threshold for the vehicle network, and may store the actual load amount of vehicle network received through the communication unit130. In addition, the DB120may store an average network load amount for vehicle network load amount for a period of time. In this case, the average network load amount may be set to a reference value for determining a network available capacity.

The communication unit130may include a communication module supporting a communication interface with the data collection device connected to the vehicle network. In this case, the communication module may support wireless Internet access. Here, the wireless Internet technology may include Wireless LAN (WLAN), Wireless Broadband (Wibro), Wi-Fi, World Interoperability for Microwave Access (Wimax), High Speed Downlink Packet Access (HSDPA), and the like.

The communication unit130may be connected to communicate with the data collection device, transmit a data collection request to the data collection device and, in response, may receive the data of vehicle controller from the data collection device.

The screen configuration unit140may configure and provide a screen requested by a user terminal, at the time of connecting to the user terminal. As an example, the screen configuration unit140may configure and provide a screen to set a condition for data collection. If the server100is provided with a display means, the screen configuration unit140may provide the screen to set a condition for data collection through the display means, when a request is received from administrator.

In this case, a data collection condition setting screen provided by the screen configuration unit140may be illustrated as shown inFIG. 3a.

As shown inFIG. 3a, a data collection condition setting screen410may include a controller list for registered vehicle. In addition, any one controller, that is, a ECU1420is selected from among a plurality of controllers ‘ECU1’, ‘ECU2’, ‘ECU3’, ‘ECU4’, ‘ECU5’ included in the controller list, the screen configuration unit140may display parameter set as in the data collection condition setting screen410by extracting control parameter information corresponding to the ECU1. In this case, the screen configuration unit140may display the parameter set and a check box430simultaneously on the data collection condition setting screen410so that user may select at least one of a plurality of parameters ‘Parameter01’, ‘Parameter02’, ‘ Parameter03’, . . . included in the parameter set.

Meanwhile, as shown inFIG. 3b, the simulator150may generate a data set including each parameter selected from the data collection condition setting screen410. The data set generated by the simulator150may include respective parameter information460and header information450.

In this case, the simulator150may calculate a size of data set including respective parameter and header ofFIG. 3b, and accumulate the size of the data corresponding to the selected parameter. The simulator150may compare the accumulated size for selected parameters with the network available capacity according to the vehicle network load amount stored in the DB120, and, if the accumulated size for the parameters exceeds the network available capacity, parameter setting may be initialized.

As shown inFIG. 4, the simulator150may decide the network available capacity based on the average load amount of network and the load amount threshold of vehicle network stored in the DB120.

As a simulation result of the simulator150, if the accumulated size for the selected parameters does not exceed the available capacity, the script generation unit160may generate a data collection request command by using the selected parameters. In this case, the data collection request command may be generated in a form of script. The data collection request command may be transmitted to the data collection device through the communication unit130.

FIG. 5is a block diagram illustrating a configuration of a data collection device according to embodiments of the present disclosure.

The data collection device200according to the present disclosure may be implemented in the interior of the vehicle. In this case, the data collection device200may be connected to the controllers of vehicle through vehicle network. As an example, the data collection device200may be connected to the vehicle controllers through a CAN communication line. Thus, the data collection device200may be integrally formed in the vehicle, or may be implemented as a separate device to be connected to the vehicle through an external connection means.

As shown inFIG. 5, the data collection device200may include a controller210, a storage unit220, a communication unit230, a capacity analysis unit240, and an error range determination unit250. The controller210may process a signal transmitted between respective units of the data collection device200.

The storage unit220may store temporarily a data set included in the data collection request signal received from the server, and may store the data received from the vehicle controller. Further, the storage unit220may store load state information on the vehicle network that connects the data collection device200to the vehicle controller, and may store information on error range according to the load state of the vehicle network. The storage unit220may include at least one storage media among a flash memory type, a hard disk type, a multimedia card micro type, card type memory (e.g., SD or XD memory and the like), a magnetic memory, a magnetic disk, an optical disk, a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), a programmable read-only memory (PROM), and an electrically erasable programmable read-only memory (EEPROM).

The communication unit230may include a communication module supporting a communication interface with the server connected through a wireless network. The communication module may include a module for supporting a wireless Internet access such as a wireless local area network (WLAN), Wibro, Wi-Fi, Wimax, HSDPA and the like. Further, the communication unit230may include a communication module supporting a communication interface with the vehicle controller connected through the vehicle network. Here, the communication module may include a module supporting a vehicle network communication such as a controller area network (CAN) communication, a local interconnect network (LIN) communication, a Flex-Ray communication and the like. The communication unit230may receive the data collection request signal from the server, and may transmit the received data collection request signal to the vehicle controller connected to the vehicle network. The communication unit230may be connected respectively to communicate with a plurality of vehicle controllers provided in the vehicle. Further, the communication unit230may transmit an error range according to the load state of the vehicle network. Further, the communication unit230may receive data requested from the vehicle controller, and may transmit the received data to the server.

The capacity analysis unit240may check the load state of the vehicle network. As an example, the capacity analysis unit240may check the load amount threshold of vehicle network, and check the average load amount of the network for a certain period of time. In this case, the capacity analysis unit240may analyze the network available capacity from a difference between the load amount threshold of vehicle network and the average network load amount.

An error compensation unit may compare a difference between the average network load amount and the actual network load amount with respect to the vehicle network and determine the error range. The error range for the network available capacity is illustrated inFIG. 6.

Referring toFIG. 6, a network available capacity610may be determined by a difference between the load amount threshold of vehicle network and the average network load amount. However, the actual network load amount measured in real-time may be different from the average network load amount in some area.

That is, in the case of an area corresponding to reference numeral630and reference numeral635, it may be determined that the actual network load amount is greater than the average network load amount. In addition, in the case of an area corresponding to reference numeral650and reference numeral655, it may be determined that the actual network load amount is less than the average network load amount.

Therefore, the error compensation unit load may determine an area where a difference between the average network load amount and the actual network load amount occurs as the error range. Here, the information on error range according to the load state of the vehicle network may be transmitted to the vehicle controller together with the data collection command, when the data collection command received from the server is transmitted to the vehicle controller.

FIG. 7is a block diagram illustrating a configuration of a vehicle controller according to embodiments of the present disclosure.

As shown inFIG. 7, the vehicle controller300according to the present disclosure may include a controller310, a storage unit320, a communication unit330, a data detection unit340, and a data allocation unit350.

The controller310may process a signal transmitted between respective units. In addition, the controller310may control the operation of the unit corresponding to the vehicle controller300, and may also adjust the setting for the operation of corresponding unit.

The storage unit320may store the operation state and result of the unit corresponding to the vehicle controller300, and may store information generated when the vehicle controller300controls the operation of corresponding unit. Further, the storage unit320may store the setting value for the operation of the vehicle controller300. As an example, the storage unit320may store data such as high and low speed CAN data according to main specification of control area network (CAN), CAN Calibration Protocol (CCP) that can read parameter information value of ECU, Xeline Control Protocol (XCP), and the like. Further, the storage unit320may store data in various formats according to the network type, such as a FlexRay, Most, Ethernet, and the like. The storage unit320may include at least one storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a magnetic memory, a magnetic disk, an optical disk, a random access memory (RAM), SRAM, ROM, PROM, and EEPROM.

The communication unit330may include a communication module supporting the communication interface with a data collection terminal connected through the vehicle network. Here, the communication module may include a module supporting the vehicle network communication such as a controller area network (CAN) communication, a local interconnect network (LIN) communication, a flex-ray communication, and the like. In addition, the communication module may include a module supporting the short-range communication such as bluetooth, zigbee, ultra wideband (UWB), radio frequency identification (RFID), infrared data association (IrDA), and the like. The communication unit330may receive the data collection request signal and the error range information depending on the load state of vehicle network from the data collection device. Further, the communication unit330may transmit the data allocated in response to the data collection request to the data collection device.

The data detection unit340may parse the data sets included in the data collection request signal received from the data collection device, and check the parameter information. In this case, the data detection unit340may detect data corresponding to the requested parameter among the data stored in the storage unit320. As an example, when the data set included in the data collection request signal includes ‘Parameter1’, ‘Parameter2’, ‘Parameter3’, ‘Parameter4’, ‘Parameter5’, the data detection unit340may detect data corresponding to ‘Parameter1’, ‘Parameter2’, ‘Parameter3’, ‘Parameter4’, ‘Parameter5’.

The data allocation unit350may allocate the data detected by the data detection unit340to data stream. In this case, the data allocation unit350may allocate the data in consideration of the error range received from the data collection device. As an example, the data allocation unit350may divide respective data according to parameter unit, and allocate the divided data in consideration of the error range for each period. Thus, a detailed embodiment of allocating data is illustrated with reference toFIGS. 8aand8b.

Referring toFIG. 8a, when the data detected by the data detection unit340is ‘Parameter1’, ‘Parameter2’, ‘Parameter3’, ‘Parameter4’, . . . , the data allocation unit350may arrange data in consideration of the load amount and the error range for the vehicle network.

In this case, the data allocation unit350may sequentially allocate a data stream810, which waits to be transmitted, for each period from a first data according to the network load amount and the error range. In other words, ‘Parameter1’, ‘Parameter2’ may be allocated to an allocation space of a data stream820corresponding to period1. When the size of ‘Parameter3’ exceeds the remaining allocation space of the data stream820corresponding to period1, the data allocation unit350may allocate a data having a suitable size, e.g., a ‘Parameter4’, among the remaining data except ‘Parameter3’ to the remaining allocation space.

Then, the data allocation unit350may allocate ‘Parameter3’ to an allocation space of a data stream823corresponding to period2.

The data stream for each period to which data is allocated by the data allocation unit350may be allocated according to the actual network load amount as shown inFIG. 8b, thereby being transmitted to the data collection device through the communication unit330.

Hereinafter, the operation flow of the apparatus according to the present disclosure configured as described above is illustrated in more detail.

FIG. 9is a flowchart illustrating an operation flow of a vehicle data collection method according to embodiments of the present disclosure.

As shown inFIG. 9, first, the server100may select a control parameter for the vehicle controller300which collects data (S100). In this case, the server100may determine whether the accumulated size of control parameters selected at step ‘S100’ exceeds the network available capacity according to the load state of the vehicle network connected to the vehicle controller300(S110).

When the accumulated size of selected control parameters exceeds the network available capacity according to the load state of the vehicle network connected to the vehicle controller300at step ‘S110’, the server100may initialize the selection of parameter and repeat the step ‘S100’.

On the other hand, when the accumulated size of selected control parameters exceeds the network available capacity according to the load state of the vehicle network connected to the vehicle controller300at step ‘S110’, the server100may configure a script which includes the selected control parameters to transmit to the data collection device200(S120).

When the script is received at step ‘S120’, the data collection device200may check the network load amount of the vehicle network for transmitting and receiving the data set included in the script (S130), and may determine the error range according to the network load state (S140). In this case, the data collection device200may determine the error range by comparing a difference between the average network load amount and the actual network load amount.

The data collection device200may transmit the script received at step ‘S120’, and information on the error range determined at step ‘S140’ to the vehicle controller300(S150). Thus, the vehicle controller300may check the control parameter included in the script (S160), and detect the data corresponding to the checked control parameter (S170).

The vehicle controller300may check the error range according to the network load state, before allocating the data detected at step ‘S170’ to the data stream (S180), and allocate the data in consideration of the checked error range (S190).

In this case, the vehicle controller300may allocate the data after rearranging the data to be adjusted to a data allocation range of the data stream for each period in consideration of the size of the data detected at step ‘S170’. The embodiment of allocating data for each period was illustrated in the above description ofFIGS. 8aand8b.

The vehicle controller300may transmit the data stream to which data is allocated to the data collection device200(S200). In this case, the data collection device200may send the data received from the vehicle controller300to the server100(S210).

The above mentioned process may be directly implemented by a hardware, a software module, or a combination of the two executed by a processor. The software module may reside in a storage medium, that is, in a memory and/or a storage such as a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, and CD-ROM. The exemplary storage medium may be coupled to a processor, and the processor may read information from the storage medium and write information to the storage medium. Alternatively, the storage medium may be integrated in the processor. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside in the user terminal as an individual component.

According to the present disclosure, the server monitors the vehicle network state periodically to actively induce to avoid network load of vehicle when adjusting a policy according to vehicle data collection. Further, according to the present disclosure, when adding data which was not existed in existing vehicle network, it may not affect the load amount of vehicle network even if operation is remotely controlled, thereby immediately collecting and applying required control data when storing and analyzing data in the server.