WO2024086973A1 - 数据处理方法、装置以及智能驾驶设备 - Google Patents
数据处理方法、装置以及智能驾驶设备 Download PDFInfo
- Publication number
- WO2024086973A1 WO2024086973A1 PCT/CN2022/127044 CN2022127044W WO2024086973A1 WO 2024086973 A1 WO2024086973 A1 WO 2024086973A1 CN 2022127044 W CN2022127044 W CN 2022127044W WO 2024086973 A1 WO2024086973 A1 WO 2024086973A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information
- data
- description
- sensor
- memory space
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 120
- 238000012545 processing Methods 0.000 claims abstract description 61
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 36
- 230000008447 perception Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 6
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000007499 fusion processing Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 2
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/12—Protocol engines
Definitions
- the present application relates to the field of intelligent driving, and more specifically, to a data processing method, apparatus and intelligent driving equipment.
- autonomous driving technology has become a new development direction for future vehicles and is increasingly favored by people.
- the electronic control unit such as sensors and actuators of vehicles plays an important role.
- the rapid access of sensor and actuator data to the vehicle's autonomous driving system and the functioning of the data are the basis for the realization of autonomous driving technology.
- the present application provides a data processing method, apparatus, and intelligent driving device, so that the intelligent driving device can quickly acquire sensor data and perform data processing.
- a data processing method which is applied in a computing platform, and the method includes: obtaining an information format protocol file of a sensor; automatically generating a metamodel of the sensor according to the information format protocol file of the sensor, wherein the metamodel indicates information that needs to be extracted when parsing data from the sensor; and storing the metamodel.
- the computing platform may be a device equipped with a sensor, or a computing unit of the device.
- the device equipped with a sensor may be an industrial robot, a smart watch, or a smart driving device, etc.
- the computing platform can be a mobile data center (MDC).
- MDC mobile data center
- the information format protocol file of the sensor can be converted into a metamodel, and the metamodel can be stored in the computing platform.
- the computing platform can quickly extract the corresponding information from the acquired sensor data through the metamodel, thereby performing data processing.
- the method can also convert the information format protocol files of different sensors into a unified metamodel, avoiding the manual translation of the information format protocol files of the sensor, and saving a lot of manpower costs.
- the method further includes: acquiring first data from the sensor; processing the first data using the metamodel to obtain second data, and the second data is used for the computing platform to perform intelligent computing.
- the first data may be raw data collected by the sensor. Since the computing platform cannot directly use the first data, it is necessary to convert the first data into second data through a meta-model for use by the computing platform.
- the second data may be data used to perform autonomous driving operations.
- the first data collected by the sensor can be converted into the second data for use by the computing platform through the metamodel.
- the computing platform can quickly obtain the sensor data and extract the corresponding information through the metamodel, so as to perform data processing.
- the information format protocol file includes a message description, the message description includes a message identifier and at least one information description, each information description in the at least one information description is used to identify a type of information corresponding to the message identifier; each information description in the at least one information description includes at least one of the following information: information identifier, information name, information length, information start bit, byte order, data type mark, precision factor or value range.
- the message identifier may also include a message name, and the byte order may also be referred to as big endian and little endian or information big endian in this application.
- the data type tag may be used to indicate whether the data is positive or negative in binary.
- a type of information corresponding to the message identifier may include one or more of the following: longitude, latitude, altitude, roll angle valid bit, roll angle, pitch angle, azimuth angle, linear speed and number of satellites.
- the use of the metamodel to process the first data to obtain the second data includes: obtaining a message identifier in the first data; obtaining the metamodel based on the message identifier; and using the metamodel to process the first data to obtain the second data.
- the corresponding meta-model can be determined by the message identifier in the first data, so that the first data can be processed using the meta-model to obtain the second data.
- the automatically generating a metamodel of the sensor according to the information format protocol file of the sensor includes: reading the message description from the information format protocol file to obtain the at least one information description; for each information description in the at least one information description, determining a first memory space of the first information corresponding to the information description according to the information start bit in the information description; determining a bit offset of the first information according to the first byte of the first information, the bit offset being used to determine the start bit of the first information in the first memory space; determining a content mask of the first information according to the placeholder length of the first information in the first memory space and the bit offset; obtaining a storage model corresponding to the information description according to the first memory space, the placeholder length and the content mask; determining the metamodel according to the storage model corresponding to each information description in the at least one information description.
- the computing platform can determine the storage model of the information description corresponding to the first information through the first memory space, placeholder length and content mask of the first information. Based on the same method, the computing platform can determine the storage model corresponding to each information description in at least one information description, and determine the meta-model according to the storage model corresponding to each information description, so that the computing platform can quickly extract the corresponding information from the acquired sensor data through the meta-model.
- the first memory space may be referred to as a first memory address, that is, the address covered by the information in the message.
- the method also includes: generating an information registration result based on a user's request, the information registration result including an information name; before determining the first memory space of the first information corresponding to the information description based on the information start bit in the information description, the method also includes: determining that the information name corresponding to the first information has been registered.
- the computing platform when the information name corresponding to the first information has been registered, the computing platform can determine the first memory space of the first information according to the information name, and thus determine the meta-model according to the first memory space. That is, the computing platform only determines the memory space of the registered information, and does not process the unregistered information, which can save the storage resources of the computing platform.
- the method further includes: storing the second data in a shared memory pool, and the data in the shared memory pool is used for the computing platform to perform intelligent computing.
- the second data can be stored in a shared memory pool for easy access at any time when the computing platform performs intelligent computing.
- a data processing device which includes: an acquisition unit and a processing unit; the acquisition unit is used to acquire an information format protocol file of a sensor; the processing unit is used to: automatically generate a metamodel of the sensor according to the information format protocol file of the sensor, the metamodel indicating information that needs to be extracted when parsing data from the sensor; and store the metamodel.
- the acquisition unit is further used to acquire first data from the sensor; the processing unit is further used to process the first data using the metamodel to obtain second data, and the second data is used for the computing platform to perform intelligent computing.
- the information format protocol file includes a message description, the message description includes a message identifier and at least one information description, each information description in the at least one information description is used to identify a type of information corresponding to the message identifier; each information description in the at least one information description includes at least one of the following information: information identifier, information name, information length, information start bit, byte order, data type mark, precision factor or value range.
- the processing unit is used to: obtain a message identifier in the first data; obtain the metamodel based on the message identifier; and use the metamodel to process the first data to obtain the second data.
- the processing unit is used to: read the message description from the information format protocol file to obtain the at least one information description; for each information description in the at least one information description, determine the first memory space of the first information corresponding to the information description according to the information start bit in the information description; determine the bit offset of the first information according to the first byte of the first information, and the bit offset is used to determine the starting bit of the first information in the first memory space; determine the content mask of the first information according to the placeholder length of the first information in the first memory space and the bit offset; obtain the storage model corresponding to the information description according to the first memory space, the placeholder length and the content mask; determine the meta model according to the storage model corresponding to each information description in the at least one information description.
- the processing unit is further used to: generate an information registration result according to a user's request, the information registration result including an information name; and determine that the information name corresponding to the first information has been registered.
- the processing unit is further used to store the second data in a shared memory pool, and the data in the shared memory pool is used by the computing platform to perform intelligent computing.
- a data processing device comprising: at least one processor and a memory, wherein the at least one processor is coupled to the memory and is used to read and execute instructions in the memory, so that the device implements any one of the implementation methods in the first aspect above.
- a computer-readable medium stores a program code, and when the computer program code is run on a computer, the computer executes a method according to any one of the implementation modes in the first aspect.
- a chip which includes a circuit for executing a method according to any one of the implementation modes in the first aspect.
- an intelligent driving device comprising: a data processing device in any one of the implementations of the second aspect above and one or more sensors.
- the intelligent driving device is a vehicle.
- FIG1 is a schematic diagram of a sensor signal access process provided in an embodiment of the present application.
- FIG2 is a functional schematic diagram of an intelligent driving device provided in an embodiment of the present application.
- FIG3 is a system architecture applicable to the data processing method provided in an embodiment of the present application.
- FIG4 is a schematic flow chart of a data processing method provided in an embodiment of the present application.
- FIG5 is a schematic flow chart of a data processing method provided in an embodiment of the present application.
- FIG6 is a schematic diagram of the information format protocol of the sensor provided in an embodiment of the present application.
- FIG7 is a schematic diagram of a sensor metamodel provided in an embodiment of the present application.
- FIG8 is a flowchart of converting a sensor information format protocol file into a meta-model according to an embodiment of the present application
- FIG. 9 is a flow chart of a method for completing data processing by a sensor data access metamodel provided in an embodiment of the present application.
- FIG. 10 is a flow chart of a method for a computing platform provided in an embodiment of the present application to obtain sensor data processed by a meta-model;
- FIG11 is a schematic diagram of a data processing device provided in an embodiment of the present application.
- FIG. 12 is a schematic diagram of a data processing device provided in an embodiment of the present application.
- At least one of a, b, or c can mean: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple.
- prefixes such as "first" and “second” used in the embodiments of the present application are only used to distinguish different description objects, and have no limiting effect on the position, order, priority, quantity or content of the described objects.
- the use of prefixes such as ordinal numbers used to distinguish description objects in the embodiments of the present application does not constitute a limitation on the described objects. For the statement of the described objects, please refer to the description in the context of the claims or embodiments, and the use of such prefixes should not constitute an unnecessary limitation.
- autonomous driving technology has become a new development direction for future vehicles and is gaining more and more favor among people.
- vehicle sensors, actuators and other ECUs play an important role.
- the rapid access of sensor and actuator data to the vehicle's autonomous driving system and their functions are the basis for the realization of autonomous driving technology.
- the current sensor signal format has not yet formed a unified standard in the industry, which makes it difficult for vehicles to quickly obtain sensor data.
- the sensor signal access process mainly includes S101 to S103.
- the programmer translates the sensor information format protocol.
- the programmer determines the location of various information in the information format protocol, then writes the code, and writes the code into the hardware.
- the programmer associates the code with the upper-layer algorithm for the upper-layer algorithm to call.
- the programmer After parsing the code, the programmer outputs the obtained data to the upper-level algorithm for use to complete sensor data fusion, enabling the vehicle to achieve autonomous driving functions.
- this method mainly solves the sensor access problem by manually translating different sensor information format protocols and then using artificial hard coding technology.
- This method has the following main disadvantages:
- the embodiments of the present application provide a data processing method, device and intelligent driving device, so that the intelligent driving device can quickly obtain sensor data and perform data processing.
- FIG2 is a functional schematic diagram of an intelligent driving device 200 provided in an embodiment of the present application. It should be understood that FIG2 and related descriptions are only examples and do not limit the intelligent driving device in the embodiment of the present application.
- the intelligent driving device 200 can be configured in a full or partial autonomous driving mode, or can be manually driven by a user.
- the intelligent driving device 200 can obtain environmental information around it through the perception system 220, and obtain an autonomous driving strategy based on the analysis of the environmental information to achieve full autonomous driving, or present the analysis results to the user to achieve partial autonomous driving.
- the intelligent driving device 200 may include a variety of subsystems, such as a perception system 220, a computing platform 230, and a display device 240.
- the intelligent driving device 200 may include more or fewer subsystems, and each subsystem may include one or more components.
- each subsystem and component of the intelligent driving device 200 may be interconnected by wire or wirelessly.
- the perception system 220 may include several sensors for sensing information about the environment around the intelligent driving device 200.
- the perception system 220 may include a positioning system, which may be a global positioning system (GPS), a Beidou system, or other positioning systems.
- the perception system 220 may include one or more of an inertial measurement unit (IMU), a laser radar, a millimeter wave radar, an ultrasonic radar, and a camera device.
- IMU inertial measurement unit
- the computing platform 230 may include processors 231 to 23n (n is a positive integer), and the processor is a circuit with signal processing capability.
- the processor may be a circuit with instruction reading and execution capability, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which can be understood as a microprocessor), or a digital signal processor (DSP); in another implementation, the processor may implement certain functions through the logical relationship of a hardware circuit, and the logical relationship of the hardware circuit is fixed or reconfigurable, such as a hardware circuit implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as a field programmable gate array (FPGA).
- ASIC application-specific integrated circuit
- PLD programmable logic device
- the process of the processor loading a configuration document to implement the hardware circuit configuration can be understood as the process of the processor loading instructions to implement the functions of some or all of the above units.
- the processor can also be a hardware circuit designed for artificial intelligence, which can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), a deep learning processing unit (DPU), etc.
- the computing platform 230 can also include a memory, which is used to store instructions, and some or all of the processors 232 to 23n can call instructions in the memory to implement corresponding functions.
- the computing platform 230 can control the functions of the intelligent driving device 200 based on inputs received from various subsystems (eg, the perception system 220). In some embodiments, the computing platform 230 can be used to provide control over many aspects of the intelligent driving device 200 and its subsystems.
- FIG. 2 should not be understood as a limitation on the embodiments of the present application.
- the intelligent driving device 200 traveling on the road can identify objects in its surrounding environment to determine the adjustment of the current speed.
- the object can be another vehicle, a traffic control device, or another type of object.
- each identified object can be considered independently, and based on the respective characteristics of the object, such as the current speed, acceleration, and distance from the intelligent driving device 200 of the object, the speed to be adjusted by the intelligent driving device 200 can be determined.
- the intelligent driving device 200 or a perception and computing device (e.g., computing platform 230) associated with the intelligent driving device 200 can predict the behavior of the identified object based on the characteristics of the identified object and the state of the surrounding environment (e.g., traffic, rain, ice on the road, etc.).
- each identified object depends on the behavior of each other, so all the identified objects can also be considered together to predict the behavior of a single identified object.
- the intelligent driving device 200 in this application may include: road vehicles, water vehicles, air vehicles, industrial equipment, agricultural equipment, or entertainment equipment, etc.
- the intelligent driving device 200 may be a vehicle, which is a vehicle in a broad sense, and may be a vehicle (such as a commercial vehicle, a passenger car, a motorcycle, a flying car, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), agricultural equipment (such as a mower, a harvester, etc.), amusement equipment, a toy vehicle, etc.
- the embodiment of this application does not specifically limit the type of vehicle.
- the intelligent driving device 200 may be a vehicle such as an airplane or a ship.
- the following uses a vehicle as an example of an intelligent driving device to illustrate the technical problems to be solved by the present application and the technical solutions adopted.
- the vehicle includes the system architecture shown in FIG3 .
- Figure 3 is a system architecture applicable to the data processing method provided in an embodiment of the present application.
- the system architecture 300 can be applied to an intelligent driving device 200.
- the system architecture 300 includes an MDC, multiple sensors and actuators.
- the MDC shown in Figure 3 can be a computing platform 230 in the intelligent driving device 200, and the multiple sensors can belong to the perception system 220 shown in Figure 2.
- MDC may include: a sensor driver abstraction layer 310 and a perception regulation and control algorithm layer 320.
- the sensor driver abstraction layer 310 obtains the data collected by the sensor, generates corresponding sensor signals according to the collected data, and sends the generated sensor signals to the perception regulation and control algorithm layer 320.
- the perception regulation and control algorithm layer 320 performs sensor data fusion processing according to the sensor signals to realize autonomous driving functions such as perception, planning and control.
- the sensor may include: one or more of an ultrasonic sensor, an inertial measurement unit, a global navigation positioning system, a radar, and a lidar.
- the data processing method provided in the embodiment of the present application enables the MDC to quickly obtain the information obtained by the above sensors, thereby quickly performing multi-sensor data fusion processing to obtain an execution strategy, and sending the execution strategy to the actuator so that the actuator executes the strategy and enables the intelligent vehicle to achieve the automatic driving function.
- FIG3 includes a variety of sensors.
- the present application provides a data processing method.
- FIG4 is a schematic flow chart of a data processing method provided in an embodiment of the present application.
- the method 400 may be executed by the intelligent driving device 200 in FIG2 , or by the computing platform 230 in the intelligent driving device 200, or by a system-on-chip (SoC) in the computing platform 230, or by a processor in the computing platform 230, or by the MDC in FIG3 .
- SoC system-on-chip
- the method 400 is introduced below with the computing platform as the execution subject, and the method 400 may include steps S401-S403.
- the computing platform obtains the information format protocol file of the sensor.
- the computing platform may be a device equipped with a sensor or a computing unit of the device.
- the device may be, for example, an industrial robot, a smart watch, or a smart driving device.
- the computing platform may be the MDC in FIG. 3 .
- the information format protocol file includes a message description, the message description includes a message identifier and at least one information description, each of the at least one information description is used to identify a type of information corresponding to the message identifier; each of the at least one information description includes at least one of the following information: information identifier, information name, information length, information start bit, byte order, data type mark, precision factor or value range.
- the message identifier may also include the message name, and the byte order may also be referred to as big endian and little endian or information big endian in this application.
- the data type mark can be used to indicate whether the data is positive or negative in binary.
- a type of information corresponding to the message identifier may include one or more of the following: longitude, latitude, altitude, roll angle valid bit, roll angle, pitch angle, azimuth angle, linear speed and number of satellites.
- the computing platform automatically generates a metamodel of the sensor according to the information format protocol file of the sensor, where the metamodel indicates information that needs to be extracted when parsing data from the sensor.
- a computing platform automatically generates a metamodel of a sensor according to an information format protocol file of the sensor, including: reading a message description from an information format protocol file to obtain at least one information description; for each information description in at least one information description, determining a first memory space of first information corresponding to the information description according to the information start bit in the information description; determining a bit offset of the first information according to the first byte of the first information, the bit offset being used to determine the start bit of the first information in the first memory space; determining a content mask of the first information according to the placeholder length and the bit offset of the first information in the first memory space; obtaining a storage model corresponding to the information description according to the first memory space, the placeholder length and the content mask; determining a metamodel according to the storage model corresponding to each information description in at least one information description.
- the computing platform can determine a storage model corresponding to each information description in at least one information description, and determine a metamodel according to the storage model corresponding to each information description, so that the computing platform can quickly extract corresponding information from the acquired sensor data through the metamodel.
- the first memory space may be referred to as a first memory address, that is, the address covered by the information in the message.
- the method 400 further includes: the computing platform generates an information registration result according to a user's request, and the information registration result includes an information name; before the computing platform determines the first memory space of the first information corresponding to the information description according to the information start bit in the information description, the method 400 further includes: the computing platform determines that the information name corresponding to the first information has been registered. In this way, when the information name corresponding to the first information has been registered, the computing platform can determine the first memory space of the first information according to the information name, and thus determine the metamodel according to the first memory space. That is, the computing platform only determines the memory space of the registered information, and does not process the unregistered information, which can save the storage resources of the computing platform.
- the information format protocol file of the sensor can be converted into a metamodel, and the metamodel can be stored in the computing platform. In this way, it is convenient for the computing platform to quickly extract corresponding information from the acquired sensor data through the metamodel, so as to perform data processing.
- the method can also convert the information format protocol files of different sensors into a unified metamodel, avoiding the manual translation of the information format protocol files of the sensor, and saving a lot of manpower costs.
- the method further includes: acquiring first data from a sensor; processing the first data using a meta-model to obtain second data, and the second data is used for intelligent computing on a computing platform.
- the first data may be raw data collected by the sensor. Since the computing platform cannot directly use the first data, it is necessary to convert the first data into second data through a meta-model for use by the computing platform.
- the second data may be data used for performing autonomous driving operations.
- Intelligent driving includes assisted driving, autonomous driving, unmanned driving, etc.
- the first data collected by the sensor can be converted into the second data for use by the computing platform through the metamodel.
- the computing platform can quickly obtain the sensor data and extract the corresponding information through the metamodel, so as to perform data processing.
- the computing platform uses a metamodel to process the first data to obtain the second data, including: the computing platform obtains a message identifier in the first data; obtains a metamodel based on the message identifier; and uses the metamodel to process the first data to obtain the second data.
- the corresponding meta-model can be determined by the message identifier in the first data, so that the first data can be processed using the meta-model to obtain the second data.
- the method 400 further includes: the computing platform stores the second data in a shared memory pool, and the data in the shared memory pool is used by the computing platform to perform intelligent computing.
- the second data can be stored in a shared memory pool for easy access at any time when the computing platform performs intelligent computing.
- FIG5 is a schematic flow chart of a data processing method provided in an embodiment of the present application.
- the method 500 may be executed by the intelligent driving device 200 in FIG2, or by the computing platform 230 in the intelligent driving device 200, or by the system on chip SoC in the computing platform 230, or by the processor in the computing platform 230, or by the MDC in FIG3.
- the method 500 may be a detailed introduction to steps S401 to S403 in the method 400 and the steps executed after step S403, and the method 500 may include steps S501-S512.
- the information format protocol file may be an information format protocol file of a global navigation satellite system (GNSS) or an IMU sensor as shown in FIG6.
- GNSS global navigation satellite system
- the information format protocol file can only be manually read and translated, and then hard-coded and programmed.
- the computing platform may obtain the deployed sensor information format protocol file and load the information format protocol file, thereby converting the information format protocol file into a unified meta-model.
- the content of the information format protocol file of the sensor shown in FIG6 is only an exemplary description, and the specific content of the information format protocol file can be set and adjusted by the car manufacturer according to the model of the sensor.
- the content of the information format protocol file of the sensor shown in FIG6 can be the information of the corresponding message identifier in method 500.
- step S503a if the information format protocol file verification passes, proceed to step S503a; otherwise, proceed to step S503b.
- step S504 may be performed, wherein the message description may include a message identifier and at least one information description.
- the message identifier may include a message name and a message ID.
- the information description may include at least one of the following information: information identification, information name, information length, information start bit, byte order, data type mark, precision factor or value range.
- the information format protocol file error may be prompted to the user in the form of a prompt box on the vehicle display screen, or the information format protocol file error may be prompted to the user in the form of a voice broadcast through a speaker device in the vehicle.
- the conversion time can be very short (for example, 5 milliseconds).
- the conversion process can be:
- the computing platform loads the information format protocol file and extracts the information description.
- the information in the information description is grouped according to the message ID (each sensor message has a unique ID header), and then the information in the information description is assigned to different message IDs (each information name in each message is unique).
- the computing platform calculates and transforms the information under the message ID one by one to obtain the meta-model.
- the specific calculation method is introduced in Figure 8.
- Step S504 the computing platform can automatically generate a meta-model of the sensor according to the information format protocol file of the sensor.
- Step S505 may correspond to step S402 in method 400 .
- the function callback may be a function called through a function pointer.
- the shared memory pool may be refreshed to obtain data processed by the metamodel.
- the sensor data may be the first data in method 400 .
- Step S508 may be a process of converting the first data into the second data by using the meta-model in the method 400.
- the shared memory pool may be a predetermined memory block in the computing platform, and the sensor data processed by the metamodel may be stored in the shared memory pool. By performing a function callback, the shared memory pool may be refreshed to obtain the sensor data processed by the metamodel.
- the meta-model can be used to quickly extract corresponding information from the acquired sensor data, thereby quickly performing multi-sensor data fusion processing, thereby enabling the intelligent vehicle to realize the autonomous driving function.
- FIG. 7 is a schematic diagram of a sensor metamodel provided in an embodiment of the present application.
- the metamodel may be a metamodel used in methods 400 and 500 .
- the ECU of the sensor may send multiple messages (e.g., message 1 to message 3) to represent the collected data, each message may have a unique ID, and each message may include one or more information, the one or more information are arranged in the data stream, and the one or more information may have one or more of the information name, precision factor, range offset, information size end and sign bit, information in the message memory space n (e.g., memory space 1 to memory space 3), information in the memory space n bit offset, information in the memory space n occupancy length, information in the memory space n content mask and information in the memory space n and other memory space information splicing offset.
- the above contents may be the contents included in the information description of method 400.
- the multiplication precision factor can represent the floating-point information
- the range offset can represent the maximum range and the minimum range of the information in the memory space n
- the information size end and the sign bit can represent the arrangement of the information in the memory space n
- the information in the memory space n in the message can find the corresponding information from the message
- the bit offset of the information in the memory space n can find the starting bit of the information
- the length of the information in the memory space n can calculate the length occupied by the information
- the content mask of the information in the memory space n can retrieve the corresponding information from the memory space n
- the information in the memory space n and the information in other memory spaces can be spliced into complete information by the offset of the splicing.
- memory space n can be the first memory space in method 400.
- other memory spaces can be memory space 2 and/or memory space 3.
- the following uses the metamodel corresponding to the GNSS type sensor as an example to introduce the structure of the metamodel in another way.
- the structure of the metamodel corresponding to the GNSS type sensor is as follows:
- bitOffset 3---The bit offset of the information in memory space 1
- holdBitLen 5 --- the length of the information in memory space 1
- shiftOffset 3 --- The information in memory space 1 is offset from the information in other memory spaces.
- bitOffset 0---The bit offset of the information in memory space 2
- holdBitLen 8 --- the length of the information in memory space 2
- shiftOffset 5 --- information in memory space 2 is spliced with information in other memory spaces
- bitOffset 0---The bit offset of the information in memory space 3
- holdBitLen 4 --- the length of the information in memory space 3
- shiftOffset 13 --- The information in memory space 3 is offset from the information in other memory spaces.
- bitOffset 4---The bit offset of the information in memory space 1
- holdBitLen 1---The length of the information in memory space 1
- shiftOffset 4 --- information in memory space 1 is offset from information in other memory spaces
- bitOffset 0---The bit offset of the information in memory space 1
- holdBitLen 8 --- the length of the information in memory space 1
- shiftOffset 0 --- information in memory space 1 is offset from information in other memory spaces
- bitOffset 0---The bit offset of the information in memory space 2
- holdBitLen 8 --- the length of the information in memory space 2
- shiftOffset 8 --- information in memory space 2 is spliced with information in other memory spaces
- bitOffset 3---The bit offset of the information in memory space 1
- shiftOffset 3 --- The information in memory space 1 is offset from the information in other memory spaces.
- the sensor data can be processed based on the meta-model.
- Method 800 is a flowchart of converting a sensor information format protocol file into a meta-model provided by an embodiment of the present application.
- Method 800 may be an implementation of step S504 of method 500.
- Method 800 may include steps S801 to S814.
- the information description may include at least one of the following information: information identification, information name, information length, information start bit, byte order, data type mark, precision factor or value range.
- this process can be understood as an assignment process, that is, the remaining length of the information is taken as the current length of the information.
- step S804 determine whether the information is little-endian. If the information is little-endian, proceed to step S805a; otherwise, proceed to step S805b.
- the first memory space may be the memory space n of the information in the message in FIG. 7 .
- bit offset may be used to determine the starting bit of the information in the first memory space.
- the placeholder length may be the placeholder length of the information in the first memory space.
- S811 Calculate the content mask according to the bit length and the bit offset.
- S812 concatenate the first memory space, the bit offset, the placeholder length and the content mask to obtain the offset and update the meta-model.
- the splicing offset may be understood as splicing the information in the first memory space into complete information.
- This step in method 400 may be a process of generating a storage model corresponding to the information description.
- step S813 determine whether the remaining length of the information is greater than 0, if the remaining length of the information is greater than 0, proceed to step S814a; otherwise, proceed to step S814b.
- the information format protocol file can be converted into a meta-model based on the information description in the information format protocol file, so that the computing platform can quickly extract corresponding information from the acquired sensor data through the meta-model.
- Method 900 is a flow chart of a method for completing data processing using a sensor data access metamodel provided in an embodiment of the present application.
- Method 900 may be an implementation of step S508 in method 500 , and method 900 may include steps S901 to S914 .
- the sensor data may be the first data in method 400 .
- step S903a it can be determined according to the message ID whether the message has been input into the meta-model. If the message has been input into the meta-model, step S903a is performed; otherwise, step S903b is performed.
- step S905 it can be determined by the information name whether the information has been input into the meta-model. If the information has been input into the meta-model, proceed to step S905; otherwise, proceed to step S903b.
- step S905 determine whether the memory access does not cross the boundary, if the memory access does not cross the boundary, proceed to step S906; otherwise, proceed to step S903b.
- memory access out of bounds can be understood as: the user previously applied for a piece of memory from the computing platform, and when the memory is actually used, it exceeds the user's application range.
- extracting information can be understood as the computing platform extracting and processing information from the message.
- step S907 determine whether the information is the first byte, if the information is the first byte, proceed to step S908a; otherwise, proceed to step S908b.
- the right shift splicing offset can be understood as shifting the information to the right by corresponding bits in one or more memory spaces.
- the left shift splicing offset can be understood as shifting the information to the left by corresponding bits in one or more memory spaces.
- this step can be understood as taking out information from different memory spaces and splicing them into a complete piece of information.
- step S911 determine whether the metamodel has been accessed. If the metamodel has been accessed, proceed to step S912; otherwise, proceed to step S905 again.
- step S914a If the information is unsigned, proceed to step S914a; otherwise, proceed to step S914b.
- the actual data value of the sensor may be the second data in method 400 .
- the metamodel when the sensor data accesses the metamodel, the metamodel can splice the information in different memory spaces into a complete information, thereby obtaining the actual data value of the sensor data. In this way, manual translation of the sensor information format protocol file and manual hard coding are avoided, saving a lot of manpower costs.
- API Application programming interface
- *sigName The name of the information required by the user.
- *buf The starting address of the memory space where the information is located.
- *bufLen The length of the memory space where the information is located.
- RegisterCallBack (const uint32_t&msgId,const std::string&sigName,RefreshSigBufPtrrefreshSigBufPtr);
- *sigBuf the first address of the shared memory pool.
- *sigName The name of the information required by the user.
- *refreshSigBufPtr The function callback pointer registered by the user. The callback is triggered through this pointer to refresh the data in the shared memory pool.
- the computing platform uses interface 1 and interface 2 to obtain sensor data processed by the meta-model. This method of retrieving sensor data can also be called active retrieval.
- the computing platform uses interfaces 1 and 3 to obtain sensor data processed by the metamodel, that is, triggering a function callback to refresh the shared memory pool.
- the computing platform can obtain data processed by the metamodel from the shared memory pool. This method of retrieving sensor data can also be called passive retrieval.
- Method 1000 is a flow chart of a method for a computing platform provided in an embodiment of the present application to obtain sensor data processed by a meta-model.
- Method 1000 may be executed after method 400, method 500 or method 900.
- Method 1000 may include steps S1001 to S1012.
- the information description may include at least one of the following information: information identification, information name, information length, information start bit, byte order, data type mark, precision factor or value range.
- the sensor data may be the first data in method 400 .
- the actual data value may be the second data in method 400 .
- a function callback may be triggered to refresh the shared memory pool.
- S1011 fetch the latest actual data value of the sensor from the shared memory pool.
- the actual data value of the sensor can be stored in a shared memory pool for easy access at any time when the computing platform performs multi-sensor fusion.
- the embodiment of the present application also provides an apparatus for implementing any of the above methods, wherein the apparatus includes a unit for implementing each step performed by the intelligent driving device 200 in any of the above methods.
- FIG11 is a schematic diagram of a data processing device 1100 provided in an embodiment of the present application, and the device 1100 may include an acquisition unit 1110, a storage unit 1120, and a processing unit 1130.
- the acquisition unit 1110 is used to acquire instructions and/or data, and the acquisition unit 1110 may also be referred to as a communication interface or a communication unit.
- the storage unit 1120 is used to implement a corresponding storage function and store corresponding instructions and/or data.
- the processing unit 1130 is used to perform data processing.
- the processing unit 1130 can read the instructions and/or data in the storage unit so that the device 1100 implements the aforementioned data processing method.
- the acquisition unit 1110 is used to acquire an information format protocol file of a sensor; the processing unit 1130 is used to: automatically generate a metamodel of the sensor according to the information format protocol file of the sensor, the metamodel indicating information that needs to be extracted when parsing data from the sensor; and store the metamodel.
- the acquisition unit 1110 is further used to acquire first data from the sensor; the processing unit 1130 is further used to process the first data using the meta-model to obtain second data, and the second data is used for the computing platform to perform intelligent computing.
- the information format protocol file includes a message description, which includes a message identifier and at least one information description, each of the at least one information description is used to identify a type of information corresponding to the message identifier; each of the at least one information description includes at least one of the following information: information identifier, information name, information length, information start bit, byte order, data type mark, precision factor or value range.
- the processing unit 1130 is used to: obtain a message identifier in the first data; obtain a meta-model according to the message identifier; and process the first data using the meta-model to obtain the second data.
- the processing unit 1130 is used to: read a message description from an information format protocol file to obtain at least one information description; for each information description in the at least one information description, determine a first memory space of first information corresponding to the information description according to the information start bit in the information description; determine a bit offset of the first information according to the first byte of the first information, and the bit offset is used to determine the start bit of the first information in the first memory space; determine a content mask of the first information according to the placeholder length and the bit offset of the first information in the first memory space; obtain a storage model corresponding to the information description according to the first memory space, the placeholder length and the content mask; determine a meta model according to the storage model corresponding to each information description in the at least one information description.
- the processing unit 1130 is further used to: generate an information registration result according to a user's request, the information registration result including an information name; and determine that the information name corresponding to the first information has been registered.
- the processing unit 1130 is further configured to store the second data in a shared memory pool, and the data in the shared memory pool is used by the computing platform to perform intelligent computing.
- the processing unit 1130 may be the processor 231 shown in FIG. 2 .
- FIG12 is a schematic diagram of another data processing device 1200 provided in an embodiment of the present application.
- the device 1200 may be applied to the intelligent driving device 200 of FIG2 .
- the data processing device 1200 includes: a memory 1210, a processor 1220, and a communication interface 1230.
- the memory 1210, the processor 1220, and the communication interface 1230 are connected through an internal connection path, the memory 1210 is used to store instructions, and the processor 1220 is used to execute the instructions stored in the memory 1210 to control the communication interface 1230 to obtain information, or to enable the data processing device to execute the data processing method in the above embodiments.
- the memory 1210 can be coupled to the processor 1220 through an interface, or can be integrated with the processor 1220.
- the communication interface 1230 uses a transceiver such as, but not limited to, a transceiver.
- the communication interface 1230 may also include an input/output interface.
- the processor 1220 stores one or more computer programs, which include instructions. When the instructions are executed by the processor 1220, the data processing device 1200 executes the data processing methods in the above embodiments.
- each step of the above method can be completed by an integrated logic circuit of hardware in the processor 1220 or an instruction in the form of software.
- the method disclosed in conjunction with the embodiment of the present application can be directly embodied as a hardware processor for execution, or a combination of hardware and software modules in the processor for execution.
- the software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc.
- the storage medium is located in the memory 1210, and the processor 1220 reads the information in the memory 1210 and completes the steps of the above method in conjunction with its hardware. To avoid repetition, it is not described in detail here.
- the communication interface 1230 in FIG. 12 may implement the acquisition unit 1110 in FIG. 11
- the memory 1210 in FIG. 12 may implement the storage unit 1120 in FIG. 11
- the processor 1220 in FIG. 12 may implement the processing unit 1130 in FIG. 11 .
- the device 1100 or the device 1200 may be a computing platform, and the computing platform may be a vehicle-mounted computing platform or a cloud computing platform.
- the device 1100 or the device 1200 may be located in the intelligent driving device 200 in FIG. 2 .
- the device 1100 or the device 1200 may be the computing platform 230 in the intelligent driving device in FIG. 2 .
- An embodiment of the present application also provides a system, which includes a computing platform and one or more sensors.
- the computing platform may include the above-mentioned device 1100 or device 1200.
- An embodiment of the present application further provides a server, which includes the above-mentioned device 1100 or device 1200.
- An embodiment of the present application also provides an intelligent driving device, which may include the above-mentioned device 1100 or device 1200 and one or more sensors.
- the intelligent driving device is a vehicle.
- An embodiment of the present application also provides a computer-readable medium, which stores a program code.
- the computer program code runs on a computer, the computer executes any one of the methods in Figures 4, 5, 8 to 10 above.
- An embodiment of the present application also provides a chip, including: a circuit, which is used to execute any one of the methods in Figures 4, 5, 8 to 10 above.
- the disclosed systems, devices and methods can be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
- the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art.
- the computer software product is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program codes.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
一种数据处理方法、装置以及智能驾驶设备,该方法应用于计算平台中,包括:获取传感器的信息格式协议文件;根据传感器的信息格式协议文件自动生成传感器的元模型,元模型指示解析来自传感器的数据时需要提取的信息;存储元模型。通过上述方法计算平台能够通过元模型快速的获取传感器的数据、提取相应的信息,从而进行数据处理。
Description
本申请涉及智能驾驶领域,并且更具体地,涉及一种数据处理方法、装置以及智能驾驶设备。
目前,自动驾驶技术已经成为未来车辆的一个全新的发展方向,越来越得到人们的青睐。在自动驾驶领域中,车辆的传感器和执行器等电子控制单元(electronic control unit,ECU)扮演着重要的角色,传感器和执行器的数据快速的接入车辆的自动驾驶系统并发挥功能是自动驾驶技术实现的基础。
然而,当前传感器信号格式在行业内还没有形成统一的标准,导致各个传感器厂商各自定制的信号格式千差万别,给车辆快速获取传感器数据带来了较大困难。并且,在获取传感器数据过程中,需要通过人工翻译不同的传感器格式协议,再通过人工硬解码的方式解析传感器的数据,并提供给计算平台使用。这样得到传感器数据的方式效率低下,成本高昂。
发明内容
本申请提供了一种数据处理方法、装置以及智能驾驶设备,使得智能驾驶设备能够快速地获取传感器数据,从而进行数据处理。
第一方面,提供了一种数据处理方法,该方法应用于计算平台中,该方法包括:获取传感器的信息格式协议文件;根据所述传感器的信息格式协议文件自动生成所述传感器的元模型,所述元模型指示解析来自所述传感器的数据时需要提取的信息;存储所述元模型。
其中,计算平台可以是安装有传感器的设备,或该设备的计算单元,例如,该安装有传感器的设备可以是工业机器人、智能手表或智能驾驶设备等等。
可选地,该计算平台可以是移动数据中心(mobile data center,MDC)。
本申请中,可以将传感器的信息格式协议文件转换为元模型,并将元模型存储在计算平台中。通过这样的方式,便于计算平台能够通过元模型快速的从获取的传感器的数据中提取相应的信息,从而进行数据处理。此外,该方法还可以将不同的传感器的信息格式协议文件转换为统一的元模型,避免了人工翻译传感器的信息格式协议文件,节省了大量的人力成本。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:获取来自所述传感器的第一数据;利用所述元模型处理所述第一数据以得到第二数据,所述第二数据用于所述计算平台进行智能运算。
其中,第一数据可以是传感器采集的原始数据,由于计算平台不能直接使用该第一数据,因此,需要通过元模型将第一数据转化为第二数据供计算平台使用。
可选地,当计算平台是智能驾驶设备或智能驾驶设备中的计算单元时,第二数据可以是用于进行自动驾驶运算的数据。
本申请中,可以通过元模型将传感器采集的第一数据转化为第二数据供计算平台使用。通过这样的方式,计算平台能够通过元模型快速的获取传感器的数据并提取相应的信息,从而进行数据处理。
结合第一方面,在第一方面的某些实现方式中,所述信息格式协议文件包括报文描述,所述报文描述包括报文标识以及至少一个信息描述,所述至少一个信息描述中的每个信息描述用于识别对应所述报文标识的一种信息;所述至少一个信息描述中的每个信息描述包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
其中,报文标识还可以包括报文名称,字节顺序在本申请中也可以称为大小端(big endian and little endian)或者信息大小端。数据类型标记可以用于指示数据在二进制中是正数还是负数。
可选地,对应报文标识的一种信息可以包括以下内容一种或多种:经度、纬度、海拔、横滚角有效位、横滚角、俯仰角、方位角、线性速度和卫星数。
结合第一方面,在第一方面的某些实现方式中,所述利用所述元模型处理所述第一数据以得到第二数据包括:获取所述第一数据中的报文标识;根据所述报文标识获取所述元模型;利用所述元模型处理所述第一数据以得到所述第二数据。
本申请中,可以通过第一数据中的报文标识确定相应的元模型,从而能够利用该元模型对第一数据进行处理,以获取第二数据。
结合第一方面,在第一方面的某些实现方式中,所述根据所述传感器的信息格式协议文件自动生成所述传感器的元模型,包括:从所述信息格式协议文件中读取所述报文描述以获取所述至少一个信息描述;针对所述至少一个信息描述中的每个信息描述,根据所述信息描述中的信息起始位确定所述信息描述对应的第一信息的第一内存空间;根据所述第一信息的首字节确定所述第一信息的比特偏移,所述比特偏移用于确定所述第一信息在所述第一内存空间中的起始位;根据所述第一信息在所述第一内存空间中的占位长度和所述比特偏移确定所述第一信息的内容掩码;根据所述第一内存空间、所述占位长度和所述内容掩码,得到所述信息描述对应的存储模型;根据所述至少一个信息描述中每个信息描述对应的存储模型确定所述元模型。
本申请中,计算平台可以通过第一信息的第一内存空间、占位长度和内容掩码确定第一信息对应的信息描述的存储模型,基于同样的方式,计算平台可以确定至少一个信息描述中的每个信息描述对应的存储模型,并根据每个信息描述对应的存储模型确定元模型,从而使得计算平台能够通过元模型快速的从获取的传感器的数据中提取相应的信息。
在本申请中,第一内存空间可以称为第一内存地址,即信息在报文中覆盖的地址。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据用户的请求生成信息注册结果,所述信息注册结果包括信息名称;所述根据所述信息描述中的信息起始位确定所述信息描述对应的第一信息的第一内存空间之前,所述方法还包括:确定所述第一信息对应的信息名称已注册。
本申请中,在第一信息对应的信息名称已经注册的情况下,计算平台可以根据该信息 名称,确定第一信息的第一内存空间,从而根据该第一内存空间确定元模型。即计算平台只确定已经注册的信息的内存空间,而不处理未注册的信息,可以节约计算平台的存储资源。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:将所述第二数据存储到共享内存池,所述共享内存池中的数据用于所述计算平台进行智能运算。
本申请中,计算平台利用元模型得到第二数据后,可以将第二数据存储在共享内存池中,便于在计算平台进行智能运算时随时取用。
第二方面,提供了一种数据处理装置,该装置包括:获取单元和处理单元;所述获取单元,用于获取传感器的信息格式协议文件;所述处理单元,用于:根据所述传感器的信息格式协议文件自动生成所述传感器的元模型,所述元模型指示解析来自所述传感器的数据时需要提取的信息;以及存储所述元模型。
结合第二方面,在第二方面的某些实现方式中,所述获取单元,还用于获取来自所述传感器的第一数据;所述处理单元,还用于利用所述元模型处理所述第一数据以得到第二数据,所述第二数据用于所述计算平台进行智能运算。
结合第二方面,在第二方面的某些实现方式中,所述信息格式协议文件包括报文描述,所述报文描述包括报文标识以及至少一个信息描述,所述至少一个信息描述中的每个信息描述用于识别对应所述报文标识的一种信息;所述至少一个信息描述中的每个信息描述包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
结合第二方面,在第二方面的某些实现方式中,所述处理单元,用于:获取所述第一数据中的报文标识;根据所述报文标识获取所述元模型;利用所述元模型处理所述第一数据以得到所述第二数据。
结合第二方面,在第二方面的某些实现方式中,所述处理单元,用于:从所述信息格式协议文件中读取所述报文描述以获取所述至少一个信息描述;针对所述至少一个信息描述中的每个信息描述,根据所述信息描述中的信息起始位确定所述信息描述对应的第一信息的第一内存空间;根据所述第一信息的首字节确定所述第一信息的比特偏移,所述比特偏移用于确定所述第一信息在所述第一内存空间中的起始位;根据所述第一信息在所述第一内存空间中的占位长度和所述比特偏移确定所述第一信息的内容掩码;根据所述第一内存空间、所述占位长度和所述内容掩码,得到所述信息描述对应的存储模型;根据所述至少一个信息描述中每个信息描述对应的存储模型确定所述元模型。
结合第二方面,在第二方面的某些实现方式中,所述处理单元,还用于:根据用户的请求生成信息注册结果,所述信息注册结果包括信息名称;以及确定所述第一信息对应的信息名称已注册。
结合第二方面,在第二方面的某些实现方式中,所述处理单元,还用于将所述第二数据存储到共享内存池,所述共享内存池中的数据用于所述计算平台进行智能运算。
第三方面,提供一种数据处理装置,该装置包括:至少一个处理器和存储器,所述至少一个处理器与所述存储器耦合,用于读取并执行所述存储器中的指令,使得该装置实现上述第一方面中任意一种实现方式的方法。
第四方面,提供一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述 计算机程序代码在计算机上运行时,使得计算机执行上述第一方面中任意一种实现方式的方法。
第五方面,提供一种芯片,该芯片包括电路,该电路用于执行上述第一方面中任意一种实现方式的方法。
第六方面,提供了一种智能驾驶设备,包括:上述第二方面中任意一种实现方式中的数据处理装置以及一个或多个传感器。
结合第六方面,在第六方面的某些实现方式中,该智能驾驶设备为车辆。
图1是本申请实施例提供的传感器信号接入过程示意图;
图2是本申请实施例提供的智能驾驶设备的功能性示意图;
图3是本申请实施例提供的数据处理方法所适用的系统架构;
图4是本申请实施例提供的数据处理方法的示意性流程图;
图5是本申请实施例提供的数据处理方法的示意性流程图;
图6是本申请实施例提供的传感器的信息格式协议示意图;
图7是本申请实施例提供的传感器元模型示意图;
图8是本申请实施例提供的将传感器信息格式协议文件转化为元模型的流程图;
图9是本申请实施例提供的传感器数据访问元模型完成数据处理的方法流程图;
图10是本申请实施例提供的计算平台获取经过元模型处理的传感器数据的方法流程图;
图11是本申请实施例提供的数据处理装置示意图;
图12是本申请实施例提供的数据处理装置示意图。
在本申请实施例的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本申请实施例中采用诸如“第一”、“第二”的前缀词,仅仅为了区分不同的描述对象,对被描述对象的位置、顺序、优先级、数量或内容等没有限定作用。本申请实施例中对序数词等用于区分描述对象的前缀词的使用不对所描述对象构成限制,对所描述对象的陈述参见权利要求或实施例中上下文的描述,不应因为使用这种前缀词而构成多余的限制。
目前,自动驾驶技术已经成为未来车辆的一个全新的发展方向,越来越得到人们的青睐。在自动驾驶领域中,车辆的传感器和执行器等ECU扮演着重要的角色,传感器和执行器的数据快速的接入车辆的自动驾驶系统并发挥功能是自动驾驶技术实现的基础。
然而,当前传感器信号格式在行业内还没有形成统一的标准,给车辆快速获取传感器 数据带来了较大困难。例如,如图1所示传感器信号的接入过程,该过程主要包括S101至S103。
S101,程序员翻译传感器信息格式协议。
S102,程序员确定该信息格式协议中各种信息的位置,然后编写代码,并将代码写入硬件中。
S103,程序员将该代码关联到上层算法中以供上层算法调用。
具体地,程序员在解析代码后将得到的数据输出给上层算法使用,以完成传感器数据融合,使得车辆实现自动驾驶功能。
可见,该方法主要通过人工翻译不同的传感器信息格式协议,再通过人工硬编码技术解决传感器的接入问题。这种方法主要存在以下缺点:
(1)少:该方法只能支持少量提前开发好的传感器,无法做到传感器的灵活适配,即无法做到传感器的“即插即用”
(2)慢:该方法需要人工硬编码来完成传感器的信号解析,开发周期较长。
(3)错:该方法传感器的开发没有统一模型或标准,传感器开发的质量难以保证。
(4)乱:该方法不支持传感器的更新迭代,由于自动驾驶技术目前处于演进阶段,每款传感器的变更繁多,容易出现传感器重复开发的问题。
(5)贵:该方法接入一款传感器时,需要新增大量的代码,带来昂贵的商用代码审核成本。
为了解决上述问题,本申请实施例提供了一种数据处理方法、装置以及智能驾驶设备,使得智能驾驶设备能够快速地获取传感器数据,从而进行数据处理。下面将结合附图,对本申请实施例中的技术方案进行描述。
图2是本申请实施例提供的智能驾驶设备200的一个功能性示意图。应理解,图2及相关描述仅为一种举例,并不对本申请实施例中的智能驾驶设备进行限定。
在实施过程中,智能驾驶设备200可以被配置为完全或部分自动驾驶模式,也可以由用户进行人工驾驶。例如:智能驾驶设备200可以通过感知系统220获取其周围的环境信息,并基于对该环境信息的分析得到自动驾驶策略以实现完全自动驾驶,或者将分析结果呈现给用户以实现部分自动驾驶。
智能驾驶设备200可包括多种子系统,例如感知系统220、计算平台230和显示装置240。可选地,该智能驾驶设备200可包括更多或更少的子系统,并且每个子系统都可包括一个或多个部件。另外,该智能驾驶设备200的每个子系统和部件可以通过有线或者无线的方式实现互连。
感知系统220可包括用于感测关于智能驾驶设备200周边的环境的信息的若干种传感器。例如,感知系统220可以包括定位系统,该定位系统可以是全球定位系统(global positioning system,GPS),也可以是北斗系统或者其他定位系统。感知系统220可以包括惯性测量单元(inertial measurement unit,IMU)等、激光雷达、毫米波雷达、超声波雷达以及摄像装置中的一种或者多种。
智能驾驶设备200的部分或所有功能可以由计算平台230控制。计算平台230可包括处理器231至23n(n为正整数),处理器是一种具有信号的处理能力的电路,在一种实现中,处理器可以是具有指令读取与运行能力的电路,例如中央处理单元(central processing unit,CPU)、微处理器、图形处理器(graphics processing unit,GPU)(可以理解为一种微处理器)、或数字信号处理器(digital signal processor,DSP)等;在另一种实现中,处理器可以通过硬件电路的逻辑关系实现一定功能,该硬件电路的逻辑关系是固定的或可以重构的,例如处理器为专用集成电路(application-specific integrated circuit,ASIC)或可编程逻辑器件(programmable logic device,PLD)实现的硬件电路,例如,现场可编程逻辑门阵列(field programmable gate array,FPGA)。在可重构的硬件电路中,处理器加载配置文档,实现硬件电路配置的过程,可以理解为处理器加载指令,以实现以上部分或全部单元的功能的过程。此外,处理器还可以是针对人工智能设计的硬件电路,其可以理解为一种ASIC,例如神经网络处理单元(neural network processing unit,NPU)、张量处理单元(tensor processing unit,TPU)、深度学习处理单元(deep learning processing unit,DPU)等。此外,计算平台230还可以包括存储器,存储器用于存储指令,处理器232至23n中的部分或全部处理器可以调用存储器中的指令,以实现相应的功能。
计算平台230可基于从各种子系统(例如,感知系统220)接收的输入来控制智能驾驶设备200的功能。在一些实施例中,计算平台230可用于对智能驾驶设备200及其子系统的许多方面提供控制。
上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图2不应理解为对本申请实施例的限制。
在道路行进的智能驾驶设备200,可以识别其周围环境内的物体以确定对当前速度的调整。所述物体可以是其它车辆、交通控制设备、或者其它类型的物体。在一些示例中,可以独立地考虑每个识别的物体,并且基于物体的各自的特性,例如物体的当前速度、加速度、与智能驾驶设备200的间距等,以用来确定智能驾驶设备200所要调整的速度。
可选地,智能驾驶设备200或者与智能驾驶设备200相关联的感知和计算设备(例如,计算平台230)可以基于所识别的物体的特性和周围环境的状态(例如,交通、雨、道路上的冰、等等)来预测所述识别的物体的行为。可选地,每一个所识别的物体都依赖于彼此的行为,因此还可以将所识别的所有物体全部一起考虑来预测单个识别的物体的行为。
本申请中的智能驾驶设备200可以包括:路上交通工具、水上交通工具、空中交通工具、工业设备、农业设备、或娱乐设备等。例如智能驾驶设备200可以为车辆,该车辆为广义概念上的车辆,可以是交通工具(如商用车、乘用车、摩托车、飞行车、火车等),工业车辆(如:叉车、挂车、牵引车等),工程车辆(如挖掘机、推土车、吊车等),农用设备(如割草机、收割机等),游乐设备,玩具车辆等,本申请实施例对车辆的类型不作具体限定。再如,智能驾驶设备200可以为飞机、或轮船等交通工具。
以下以智能驾驶设备为车辆为例,说明本申请需要解决的技术问题以及所采用的技术方案。该车辆包括图3所示的系统架构。
图3是本申请实施例提供的数据处理方法所适用的系统架构,该系统架构300可应用于智能驾驶设备200中,该系统架构300包括MDC、多个传感器和执行器,图3中所示的MDC可以是智能驾驶设备200中的计算平台230,该多个传感器可以属于图2所示的感知系统220。
如图3所示,MDC可以包括:传感器驱动抽象层310和感知规控算法层320。其中,传感器驱动抽象层310获取传感器采集的数据,根据采集的数据生成相应的传感器信号, 并将生成的传感器信号发送给感知规控算法层320,感知规控算法层320根据该传感器信号进行传感器的数据融合处理,以实现感知、规划和控制等自动驾驶功能。其中,传感器可以包括:超声波传感器、惯性测量单元、全球导航定位系统、雷达(radar)、和激光雷达(lidar)中的一种或多种。
本申请实施例提供的数据处理方法,能够让MDC快速得到上述传感器获取的信息,从而快速的进行多传感器数据融合处理以得到执行策略,并将执行策略发送给执行器,以使执行器执行该策略进而使智能车辆实现自动驾驶功能。图3中包括多种传感器,为了使MDC能够快速识别不同类型的传感器的数据,本申请提供了一种数据处理方法。
图4是本申请实施例提供的数据处理方法的示意性流程图,方法400可以由图2中的智能驾驶设备200执行,或者也可以由智能驾驶设备200中的计算平台230执行,或者还可以由计算平台230中的片上系统(system-on-chip,SoC)执行,或者,还可以由计算平台230中的处理器执行,或者还可以由图3中的MDC执行。下面以计算平台为执行主体介绍方法400,方法400可以包括步骤S401-S403。
S401,计算平台获取传感器的信息格式协议文件。
其中,计算平台可以是安装有传感器的设备或该设备的计算单元,该设备例如可以是工业机器人、智能手表或智能驾驶设备等等。
可选地,该计算平台可以是图3中的MDC。
可选地,该信息格式协议文件包括报文描述,该报文描述包括报文标识以及至少一个信息描述,该至少一个信息描述中的每个信息描述用于识别对应报文标识的一种信息;该至少一个信息描述中的每个信息描述包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。其中,报文标识还可以包括报文名称,字节顺序在本申请中也可以称为大小端(big endian and little endian)或者信息大小端。数据类型标记可以用于指示数据在二进制中是正数还是负数。
可选地,对应报文标识的一种信息可以包括以下内容一种或多种:经度、纬度、海拔、横滚角有效位、横滚角、俯仰角、方位角、线性速度和卫星数。
S402,计算平台根据传感器的信息格式协议文件自动生成传感器的元模型,该元模型指示解析来自传感器的数据时需要提取的信息。
一个实施例中,计算平台根据传感器的信息格式协议文件自动生成传感器的元模型,包括:从信息格式协议文件中读取报文描述以获取至少一个信息描述;针对至少一个信息描述中的每个信息描述,根据信息描述中的信息起始位确定信息描述对应的第一信息的第一内存空间;根据第一信息的首字节确定第一信息的比特偏移,该比特偏移用于确定第一信息在该第一内存空间中的起始位;根据第一信息在第一内存空间中的占位长度和比特偏移确定该第一信息的内容掩码;根据第一内存空间、占位长度和内容掩码,得到该信息描述对应的存储模型;根据至少一个信息描述中每个信息描述对应的存储模型确定元模型。基于同样的方式,计算平台可以确定至少一个信息描述中的每个信息描述对应的存储模型,并根据每个信息描述对应的存储模型确定元模型,从而使得计算平台能够通过元模型快速地从获取的传感器的数据中提取相应的信息。
在本申请中,第一内存空间可以称为第一内存地址,即信息在报文中覆盖的地址。
一个实施例中,方法400还包括:计算平台根据用户的请求生成信息注册结果,该信 息注册结果包括信息名称;在计算平台根据信息描述中的信息起始位确定信息描述对应的第一信息的第一内存空间之前,方法400还包括:计算平台确定第一信息对应的信息名称已注册。这样,在第一信息对应的信息名称已经注册的情况下,计算平台可以根据该信息名称,确定第一信息的第一内存空间,从而根据该第一内存空间确定元模型。即计算平台只确定已经注册的信息的内存空间,而不处理未注册的信息,可以节约计算平台的存储资源。
S403,计算平台存储元模型。
本申请实施例中,可以将传感器的信息格式协议文件转换为元模型,并将元模型存储在计算平台中。通过这样的方式,便于计算平台能够通过元模型快速的从获取的传感器的数据中提取相应的信息,从而进行数据处理。此外,该方法还可以将不同的传感器的信息格式协议文件转换为统一的元模型,避免了人工翻译传感器的信息格式协议文件,节省了大量的人力成本。
一个实施例中,在步骤S403之后,该方法还包括:获取来自传感器的第一数据;利用元模型处理第一数据以得到第二数据,该第二数据用于计算平台进行智能运算。
其中,第一数据可以是传感器采集的原始数据,由于计算平台不能直接使用该第一数据,因此,需要通过元模型将第一数据转化为第二数据供计算平台使用。
可选地,当计算平台是智能驾驶设备或属于智能驾驶设备时,第二数据可以是用于进行自动驾驶运算的数据。智能驾驶包括辅助驾驶,自动驾驶,无人驾驶等。
本申请实施例中,可以通过元模型将传感器采集的第一数据转化为第二数据供计算平台使用。通过这样的方式,计算平台能够通过元模型快速的获取传感器的数据并提取相应的信息,从而进行数据处理。
一个实施例中,计算平台利用元模型处理所述第一数据以得到第二数据包括:计算平台获取第一数据中的报文标识;根据报文标识获取元模型;利用该元模型处理第一数据以得到所述第二数据。
本申请实施例中,可以通过第一数据中的报文标识确定相应的元模型,从而能够利用该元模型对第一数据进行处理,以获取第二数据。
一个实施例中,方法400还包括:计算平台将第二数据存储到共享内存池,该共享内存池中的数据用于计算平台进行智能运算。
本申请实施例中,计算平台利用元模型得到第二数据后,可以将第二数据存储在共享内存池中,便于在计算平台进行智能运算时随时取用。
图5是本申请实施例提供的数据处理方法的示意性流程图,方法500可以由图2中的智能驾驶设备200执行,或者也可以由智能驾驶设备200中的计算平台230执行,或者还可以由计算平台230中的片上系统SoC执行,或者,还可以由计算平台230中的处理器执行,或者还可以由图3中的MDC执行。方法500可以是对方法400中步骤S401至S403以及步骤S403之后执行的步骤的详细介绍,方法500可以包括步骤S501-S512。
S501,获取部署在计算平台上的传感器的信息格式协议文件。
该信息格式协议文件可以是如图6所示的全球导航卫星系统(global navigation satellite system,GNSS)或IMU传感器的信息格式协议文件,在方法100中,只能通过人工阅读翻译信息格式协议文件,之后再进行硬编码编写程序。而在步骤S501中,计算平台可以 获取已部署的传感器信息格式协议文件,并进行信息格式协议文件的加载,从而将信息格式协议文件转化为统一的元模型。
应理解,图6所示的传感器的信息格式协议文件的内容仅是示例性的说明,该信息格式协议文件的具体内容可以由车厂根据传感器的型号进行设置与调整。图6所示的传感器的信息格式协议文件的内容可以是方法500中的对应报文标识的信息。
S502,确定信息格式协议文件校验是否通过。
具体地,如果信息格式协议文件校验通过则进行步骤S503a;否则,进行步骤S503b。
S503a,获取信息格式协议文件的报文描述。
具体地,在获取了该报文描述后,可以执行步骤S504。其中,该报文描述可以包括报文标识以及至少一个信息描述。
可选地,报文标识可以包括报文名称和报文ID。
可选地,信息描述可以包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
S503b,向用户提示信息格式协议文件错误。
具体地,可以在车载显示屏上以提示框的形式向用户提示信息格式协议文件错误,或者也可以通过车内的扬声器设备以语音播报的形式向用户提示信息格式协议文件错误。
S504,调用信息格式协议文件与元模型转换方法。
在该步骤中,无论是不同类型的传感器(IMU、radar、GNSS、超声波传感器(ultrasonic sensor,USS)等),还是基于不同的通信协议文件,亦或是不同的厂商定义的传感器的信息格式协议文件,都可以转化为传感器的元模型,转换的耗时可以非常短(例如,5毫秒),转换的流程可以是:
(1)计算平台加载信息格式协议文件,提取信息描述。将信息描述中的信息按照报文ID进行分组(每个传感器的报文都具有唯一的ID头),再将信息描述中的信息归属到不同的报文ID中(每个报文内各个信息名称唯一)。
(2)计算平台对报文ID下的信息逐个进行计算转化,得到元模型。具体的计算方法在图8中进行介绍。
S505,生成传感器对应的元模型
具体地,在进行了步骤S504之后,计算平台能够根据传感器的信息格式协议文件自动生成传感器的元模型。步骤S505可以对应到方法400中的步骤S402。
S506,获取用户注册需要的信息名称以及对应的函数回调。
示例性的,函数回调可以是通过函数指针调用的函数。通过该函数回调,可以刷新共享内存池,进而得到经过元模型处理的数据。
S507,获取传感器数据。
其中,该传感器数据可以是方法400中的第一数据。
S508,将传感器数据输入元模型中,进行数据处理。
其中,具体的数据处理过程在图9中进行详细的介绍。步骤S508可以是方法400中利用元模型将第一数据转化为第二数据的过程。
S509,进行函数回调,刷新共享内存池。
其中,共享内存池可以是计算平台中预先确定的一块内存,经过元模型处理得到的传 感器数据可以存放在该共享内存池中。通过进行函数回调,能够刷新该共享内存池,从而得到经过元模型处理的传感器数据。
S510,访问共享内存池,读取经过元模型处理的数据。
S511,进行多传感器数据融合处理。
S512,实现自动驾驶功能。
本申请实施例中,可以通过元模型快速地从获取的传感器数据中提取相应的信息,从而快速地进行多传感器数据融合处理,进而使智能车辆实现自动驾驶功能。
图7是本申请实施例提供的传感器元模型示意图,该元模型可以是方法400和500中应用的元模型。
如图7所示,传感器的ECU可以发出多条报文(例如,报文1至报文3)来表示采集到的数据,每条报文可以具有唯一的ID,并且每条报文可以包括一个或多个信息,该一个或多个信息排列在数据流中,该一个或多个信息可以具有信息名称、精度因子、范围偏移、信息大小端和符号位、信息在报文中的内存空间n(例如,内存空间1至内存空间3)、信息在内存空间n中的比特(bit)偏移量、信息在内存空间中n的占位长度、信息在内存空间中n的内容掩码和内存空间n内信息与其他内存空间内信息拼接偏移的一种或多种。以上的这些内容可以是方法400信息描述中包括的内容。
其中,乘精度因子可以表征浮点型信息、范围偏移可以表征信息在内存空间n内的最大范围和最小范围、信息大小端和符号位可以表征信息在内存空间n中的排布、信息在报文中的内存空间n可以从报文中找到对应的信息、信息在内存空间n中的bit偏移量可以找到信息的起始位、信息在内存空间n的占位长度可以计算信息所占长度、信息在内存空间n的内容掩码可从内存空间n中取出对应的信息、内存空间内n信息与其他内存空间内信息拼接偏移可以将不同内存空间中的信息拼接成完整的信息。
应理解,上述信息大小端在方法400中可以称为字节顺序,内存空间n可以是方法400中第一内存空间。其中,当内存空间n是内存空间1时,其他内存空间可以是内存空间2和/或内存空间3。
下面以GNSS类型传感器对应的元模型为例,以另一种方式介绍元模型的结构。
GNSS类型传感器对应的元模型的结构如下:
GNSS:
-MsgID:0x101---报文ID
sigName:"longitude"---信息名称
isBigEndian:true---是否大端
isUnsigned:true---是否无符号
sigFactor:0.002---精度因子
sigOffset:100---范围偏移
byteOffset:15---信息在报文中的内存空间1
bitOffset:3---信息在内存空间1的bit偏移量
holdBitLen:5---信息在内存空间1的占位长度
getMask:0xF8---信息在内存空间1的内容掩码
shiftOffset:3---内存空间1内信息与其他内存空间内信息拼接偏移
byteOffset:14---信息在报文中的内存空间2
bitOffset:0---信息在内存空间2的bit偏移量
holdBitLen:8---信息在内存空间2的占位长度
getMask:0xFF---信息在内存空间2的内容掩码
shiftOffset:5---内存空间2内信息与其他内存空间内信息拼接偏移
byteOffset:13---信息在报文中的内存空间3
bitOffset:0---信息在内存空间3的bit偏移量
holdBitLen:4---信息在内存空间3的占位长度
getMask:0x0F---信息在内存空间3的内容掩码
shiftOffset:13---内存空间3内信息与其他内存空间内信息拼接偏移
sigName:"longitudeVld"---信息名称
isBigEndian:true---是否大端
isUnsigned:true---是否无符号
sigFactor:1---精度因子
sigOffset:0---范围偏移
byteOffset:14---信息在报文中的内存空间1
bitOffset:4---信息在内存空间1的bit偏移量
holdBitLen:1---信息在内存空间1的占位长度
getMask:0x80---信息在内存空间1的内容掩码
shiftOffset:4---内存空间1内信息与其他内存空间内信息拼接偏移
-MsgID:0x103---报文ID
sigName:"sdVelocity"---信息名称
isBigEndian:true---是否大端
isUnsigned:true---是否无符号
sigFactor:0.0001---精度因子
sigOffset:-60---范围偏移
byteOffset:28---信息在报文中的内存空间1
bitOffset:0---信息在内存空间1的bit偏移量
holdBitLen:8---信息在内存空间1的占位长度
getMask:0xFF---信息在内存空间1的内容掩码
shiftOffset:0---内存空间1内信息与其他内存空间内信息拼接偏移
byteOffset:27---信息在报文中的内存空间2
bitOffset:0---信息在内存空间2的bit偏移量
holdBitLen:8---信息在内存空间2的占位长度
getMask:0xFF---信息在内存空间2的内容掩码
shiftOffset:8---内存空间2内信息与其他内存空间内信息拼接偏移
sigName:"sdAttitude"---信息名称
isBigEndian:true---是否大端
isUnsigned:true---是否无符号
sigFactor:0.002---精度因子
sigOffset:-100---范围偏移
byteOffset:26---信息在报文中的内存空间1
bitOffset:3---信息在内存空间1的bit偏移量
holdBitLen:3---信息在内存空间1的占位长度
getMask:0x07---信息在内存空间1的内容掩码
shiftOffset:3---内存空间1内信息与其他内存空间内信息拼接偏移
在通过上述信息描述确定元模型后,可以基于该元模型对传感器的数据进行处理。
图8是本申请实施例提供的将传感器的信息格式协议文件转化为元模型的流程图,方法800可以是方法500的步骤S504的一种实现方式,方法800可以包括步骤S801至S814。
S801,从传感器的信息格式协议文件中读取信息描述。
可选地,信息描述可以包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
S802,初始化元模型。
S803,将信息长度初始化为信息剩余长度。
具体地,该过程可以理解为赋值的过程,即将信息剩余长度作为当前信息长度。
S804,判断信息是否小端。如果信息是小端则进行步骤S805a;否则,进行步骤S805b。
示例性的,小端可以理解为传感器数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
S805a,从上往下(低地址)进行内存位置计算。
S805b,从下往上(高地址)进行内存位置计算。
S806,计算信息的第一内存空间。
示例性的,该第一内存空间可以是图7中信息在报文中的内存空间n。
S807,根据信息的首字节计算bit偏移。
示例性的,bit偏移可以用于确定该信息在第一内存空间中的起始位。
S808,计算信息的拼接偏移。
S809,计算信息的占位长度。
示例性地,该占位长度可以是信息在第一内存空间内的占位长度。
S810,更新信息的剩余长度。
S811,根据占位长度和bit偏移计算内容掩码。
S812,将第一内存空间、bit偏移、占位长度和内容掩码拼接偏移并更新元模型。
其中,拼接偏移可以理解为将第一内存空间内的信息拼接成完整的信息。该步骤在方法400中可以是生成信息描述对应的存储模型的过程。
S813,判断信息剩余长度是否大于0,如果信息剩余长度大于0则进行步骤S814a;否则,进行步骤S814b。
S814a,计算下一块内存空间,继续更新元模型(即重复进行步骤S804)。
S814b,确定元模型更新完毕。
本申请实施例中,可以根据信息格式协议文件中的信息描述,将信息格式协议文件转化为元模型,便于计算平台能够通过元模型快速的从获取的传感器的数据中提取相应的信息。
图9是本申请实施例提供的传感器数据访问元模型完成数据处理的方法流程图,方法900可以是方法500中的步骤S508的一种实现方式,方法900可以包括步骤S901至S914。
S901,获取传感器数据。
其中,该传感器数据可以是方法400中的第一数据。
S902,判断传感器数据中的报文是否输入过元模型。
具体地,可以根据报文ID判断报文是否输入过元模型。如果报文输入过元模型,则进行步骤S903a;否则,进行步骤S903b。
S903a,根据报文名称,找到该报文名称下对应的信息。
S903b,记录告警日志。
S904,判断信息是否输入过元模型。
具体地,可以通过信息名称判断信息是否输入过元模型,如果信息输入过元模型,则进行步骤S905;否则,进行步骤S903b。
S905,判断内存访问是否无越界,如果内存访问无越界则进行步骤S906;否则,进行步骤S903b。
其中,内存访问越界可以理解为:用户之前向计算平台申请了一块内存,在实际使用该内存时,超出了用户的申请范围。
S906,访问内存并根据内存掩码,取出所需信息。
其中,取出信息可以理解为计算平台将信息从报文中取出并处理。
S907,判断信息是否是首字节,如果该信息是首字节则进行步骤S908a;否则,进行步骤S908b。
S908a,取出信息右移拼接偏移。
具体地,右移拼接偏移可以理解为将信息在一个或多个内存空间内向右移相应的比特位。
S908b,取出信息左移拼接偏移。
具体地,左移拼接偏移可以理解为将信息在一个或多个内存空间内向左移相应的比特位。
S909,确定该信息与已取信息拼接。
具体地,该步骤可以理解为将不同内存空间内的信息取出,拼接成一个完整的信息。
S910,偏移到下一块内存空间。
S911,判断元模型是否访问完毕。如果元模型已经访问完毕,则进行步骤S912;否则,重新进行步骤S905。
S912,确定信息裸值取出完毕。
S913,判断信息是否无符号。
如果信息无符号则进行步骤S914a;否则,进行步骤S914b。
S914a,根据如下公式(1)确定传感器的实际数据值:
传感器的实际数据值=裸值×精度因子+范围偏移(1)
其中,传感器的实际数据值可以是方法400中的第二数据。
S914b,根据信息长度,进行无符号到有符号的转换。
本申请实施例中,在传感器数据访问元模型时,元模型能够将不同内存空间内的信息拼接成一个完整的信息,从而得到传感器数据的实际数据值。通过这样的方式,避免了人工翻译传感器的信息格式协议文件以及人工进行硬编码,节省了大量的人力成本。
下面结合图10介绍计算平台如何获取经过元模型处理后的数据,首先介绍3种接口。
(1)传统信息格式协议文件接口(接口1):
bool LoadDbcFile(const std::string&filePath);
/************************************************************************
*功能说明:加载传统信息格式协议文件接口并读取信息名称、起始位等信息描述。
*输入参数:
*filePath:传统信息格式协议文件在计算平台上的路径。
*返回值:读取信息格式协议文件并校验成功返回true,失败返回false。**************************************************************************/
(2)传感器实际数据值的应用程序编程接口(application programming interface,API)(接口2):
template<typenameOutputType>
bool GetSig(OutputType&outValue,const std::uint32_t&msgId,const std::string&sigName,
const std::uint8_t*const buf,const std::size_t&bufLen)const;
template<typenameOutputType,std::size_tbufLen>
bool GetSig(OutputType&outValue,const std::uint32_t&msgId,const std::string&sigName,
const std::uint8_t(&buf)[bufLen])const
/****************************************************************************
*功能说明:输入传感器报文的内存(buffer)空间以及所需信息名称,返回给传感器实际数据值。
*输入参数:
*noutValue:将元模型解析后的传感器实际数据值,返回给用户使用。
*msgId:信息所在报文ID。
*sigName:用户所需要的信息名称。
*buf:信息所在内存空间的首地址。
*bufLen:信息所在内存空间的长度。
*返回值:元模型解析传感器数据成功返回true,解析失败返回false。
****************************************************************************/
(3)用户注册所需信息以及对应函数回调的接口(接口3):
typedef void(*RefreshSigBufPtr)(SigBuf*sigBuf,const uint32_t&bufLen);
void RegisterCallBack(const uint32_t&msgId,const std::string&sigName,RefreshSigBufPtrrefreshSigBufPtr);
/****************************************************************************
*功能说明:用户注册所需信息,计算平台接收到传感器实际数据值后,立即回调用户注册的函数,刷新共享内存池,后续计算平台需要进行传感器数据融合时,去共享内存池获取最新的传感器信息实际值。
*输入参数:
*sigBuf:共享内存池首地址。
*bufLen:共享内存池长度。
*msgId:信息所在报文ID。
*sigName:用户所需要的信息名称。
*refreshSigBufPtr:用户注册的函数回调指针,通过该指针触发回调,刷新共享内存池中内的数据。
*返回值:NA。
****************************************************************************/
用户可以结合自身的需求,选择上述接口搭配使用,从而控制数据访问方式,具体可以涉及以下两种场景。
场景1:
计算平台使用接口1和接口2来获取经过元模型处理的传感器数据,这种调取传感器数据的方式也可称为主动调取。
场景2:
计算平台使用接口1和接口3来获取经过元模型处理的传感器数据,即触发函数回调刷新共享内存池,计算平台在需要多传感器融合时可以从共享内存池中得到经过元模型处理的数据。这种用调取传感器数据的方式也可称为被动调取。
下面结合图10详细介绍计算平台通过函数回调刷新共享内存池的方式来调取传感器数据的详细过程。
图10是本申请实施例提供的计算平台获取经过元模型处理的传感器数据的方法流程图,方法1000可以在方法400、方法500或方法900后执行,方法1000可以包括步骤S1001至S1012。
S1001,获取用户注册的报文名称及对应的函数回调。
S1002,确定报文导入过元模型。
具体地,可以通过报文描述中的报文ID来判断报文是否导入过元模型。
S1003,读取报文描述中的信息描述。
可选地,信息描述可以包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
S1004,确定信息导入过元模型。
具体地,可以通过信息描述中的信息标识和/或信息名称来判断信息是否导入过元模型。
S1005,挂接信息对应的函数指针。
S1006,获取传感器数据。
示例性地,该传感器数据可以是方法400中的第一数据。
S1007,根据信息名称查询到对应的函数回调。
S1008,利用元模型对传感器数据进行处理,得到传感器实际数据值。
示例性地,该实际数据值可以是方法400中的第二数据。
S1009,刷新共享内存池。
示例性地,可以触发函数回调来刷新共享内存池。
S1010,进行多传感器数据融合处理。
S1011,从共享内存池中取出最新的传感器实际数据值。
S1012,实现自动驾驶功能。
本申请实施例中,计算平台利用元模型得到传感器的实际数据值后,可以将传感器实际数据值在共享内存池中,便于在计算平台进行多传感器融合时随时取用。
本申请实施例还提供用于实现以上任一种方法的装置,该装置包括用于实现以上任一种方法中智能驾驶设备200所执行的各步骤的单元。
图11是本申请实施例提供的数据处理装置1100的示意图,该装置1100可以包括获取单元1110、存储单元1120和处理单元1130。获取单元1110用于获取指令和/或数据,获取单元1110还可以称为通信接口或通信单元。存储单元1120,用于实现相应的存储功能,存储相应的指令和/或数据。处理单元1130用于进行数据处理。处理单元1130可以读取存储单元中的指令和/或数据,以使得装置1100实现前述数据处理方法。
在一种实现方式中,获取单元1110,用于获取传感器的信息格式协议文件;处理单元1130,用于:根据传感器的信息格式协议文件自动生成传感器的元模型,该元模型指示解析来自传感器的数据时需要提取的信息;以及存储该元模型。
一种可能的实现方式中,获取单元1110,还用于获取来自传感器的第一数据;处理单元1130,还用于利用元模型处理第一数据以得到第二数据,该第二数据用于计算平台进行智能运算。
一种可能的实现方式中,信息格式协议文件包括报文描述,该报文描述包括报文标识以及至少一个信息描述,该至少一个信息描述中的每个信息描述用于识别对应报文标识的一种信息;该至少一个信息描述中的每个信息描述包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
一种可能的实现方式中,处理单元1130,用于:获取第一数据中的报文标识;根据报文标识获取元模型;利用元模型处理第一数据以得到第二数据。
一种可能的实现方式中,处理单元1130,用于:从信息格式协议文件中读取报文描述以获取至少一个信息描述;针对至少一个信息描述中的每个信息描述,根据信息描述中的信息起始位确定信息描述对应的第一信息的第一内存空间;根据第一信息的首字节确定第一信息的比特偏移,该比特偏移用于确定第一信息在第一内存空间中的起始位;根据第一信息在第一内存空间中的占位长度和比特偏移确定第一信息的内容掩码;根据第一内存空间、占位长度和内容掩码,得到信息描述对应的存储模型;根据至少一个信息描述中每个信息描述对应的存储模型确定元模型。
一种可能的实现方式中,处理单元1130,还用于:根据用户的请求生成信息注册结果,该信息注册结果包括信息名称;以及确定第一信息对应的信息名称已注册。
一种可能的实现方式中,处理单元1130,还用于将第二数据存储到共享内存池,该共享内存池中的数据用于计算平台进行智能运算。
可选地,若该装置1100位于智能驾驶设备200中,上述处理单元1130可以是图2所示的处理器231。
图12是本申请实施例提供的另一种数据处理装置1200的示意图,该装置1200可应用于图2的智能驾驶设备200中。
该数据处理装置1200包括:存储器1210、处理器1220、以及通信接口1230。其中,存储器1210、处理器1220,通信接口1230通过内部连接通路相连,该存储器1210用于 存储指令,该处理器1220用于执行该存储器1210存储的指令,以控制通信接口1230获取信息,或者使所述数据处理装置执行上述各实施例中的数据处理方法。可选地,存储器1210既可以和处理器1220通过接口耦合,也可以和处理器1220集成在一起。
需要说明的是,上述通信接口1230使用例如但不限于收发器一类的收发装置。上述通信接口1230还可以包括输入/输出接口(input/output interface)。
处理器1220存储有一个或多个计算机程序,该一个或多个计算机程序包括指令。当该指令被所述处理器1220运行时,使得该数据处理装置1200执行上述各实施例中数据处理方法。
在实现过程中,上述方法的各步骤可以通过处理器1220中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1210,处理器1220读取存储器1210中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
可选地,图12中的通信接口1230可以实现图11中的获取单元1110,图12中的存储器1210可以实现图11中的存储单元1120,图12中的处理器1220可以实现图11中的处理单元1130。
可选地,该装置1100或装置1200可以是计算平台,该计算平台可以是车载计算平台或云端计算平台。
可选地,该装置1100或装置1200可以位于图2中的智能驾驶设备200中。
可选地,该装置1100或装置1200可以为图2中智能驾驶设备中的计算平台230。
本申请实施例还提供一种系统,该系统中包括计算平台和一个或者多个传感器,该计算平台可以包括上述装置1100或者装置1200。
本申请实施例还提供一种服务器,该服务器包括上述装置1100或者装置1200。
本申请实施例还提供一种智能驾驶设备,该智能驾驶设备可以包括上述装置1100或者装置1200以及一个或多个传感器。
可选地,该智能驾驶设备为车辆。
本申请实施例还提供一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机执行上述图4、图5、图8至图10中的任一种方法。
本申请实施例还提供一种芯片,包括:电路,该电路用于执行上述图4、图5、图8至图10中的任一种方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
- 一种数据处理方法,其特征在于,所述方法应用于计算平台中,所述方法包括:获取传感器的信息格式协议文件;根据所述传感器的信息格式协议文件自动生成所述传感器的元模型,所述元模型指示解析来自所述传感器的数据时需要提取的信息;存储所述元模型。
- 如权利要求1所述的方法,其特征在于,所述方法还包括:获取来自所述传感器的第一数据;利用所述元模型处理所述第一数据以得到第二数据,所述第二数据用于所述计算平台进行智能运算。
- 如权利要求2所述的方法,其特征在于,所述信息格式协议文件包括报文描述,所述报文描述包括报文标识以及至少一个信息描述,所述至少一个信息描述中的每个信息描述用于识别对应所述报文标识的一种信息;所述至少一个信息描述中的每个信息描述包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
- 如权利要求3所述的方法,其特征在于,所述利用所述元模型处理所述第一数据以得到第二数据包括:获取所述第一数据中的所述报文标识;根据所述报文标识获取所述元模型;利用所述元模型处理所述第一数据以得到所述第二数据。
- 如权利要求3或4所述的方法,其特征在于,所述根据所述传感器的信息格式协议文件自动生成所述传感器的元模型,包括:从所述信息格式协议文件中读取所述报文描述以获取所述至少一个信息描述;针对所述至少一个信息描述中的每个信息描述,根据所述信息描述中的信息起始位确定所述信息描述对应的第一信息的第一内存空间;根据所述第一信息的首字节确定所述第一信息的比特偏移,所述比特偏移用于确定所述第一信息在所述第一内存空间中的起始位;根据所述第一信息在所述第一内存空间中的占位长度和所述比特偏移确定所述第一信息的内容掩码;根据所述第一内存空间、所述占位长度和所述内容掩码,得到所述信息描述对应的存储模型;根据所述至少一个信息描述中每个信息描述对应的存储模型确定所述元模型。
- 如权利要求5所述的方法,其特征在于,所述方法还包括:根据用户的请求生成信息注册结果,所述信息注册结果包括信息名称;所述根据所述信息描述中的信息起始位确定所述信息描述对应的第一信息的第一内存空间之前,所述方法还包括:确定所述第一信息对应的信息名称已注册。
- 根据权利要求2至6中任意一项所述的方法,其特征在于,所述方法还包括:将所述第二数据存储到共享内存池,所述共享内存池中的数据用于所述计算平台进行智能运算。
- 一种数据处理装置,其特征在于,包括:获取单元和处理单元;所述获取单元,用于获取传感器的信息格式协议文件;所述处理单元,用于:根据所述传感器的信息格式协议文件自动生成所述传感器的元模型,所述元模型指示解析来自所述传感器的数据时需要提取的信息;以及存储所述元模型。
- 如权利要求8所述的装置,其特征在于,所述获取单元,还用于获取来自所述传感器的第一数据;所述处理单元,还用于利用所述元模型处理所述第一数据以得到第二数据,所述第二数据用于所述计算平台进行智能运算。
- 如权利要求9所述的装置,其特征在于,所述信息格式协议文件包括报文描述,所述报文描述包括报文标识以及至少一个信息描述,所述至少一个信息描述中的每个信息描述用于识别对应所述报文标识的一种信息;所述至少一个信息描述中的每个信息描述包括以下信息中的至少一种:信息标识、信息名称、信息长度、信息起始位、字节顺序、数据类型标记、精度因子或取值范围。
- 如权利要求10所述的装置,其特征在于,所述处理单元用于:获取所述第一数据中的所述报文标识;根据所述报文标识获取所述元模型;利用所述元模型处理所述第一数据以得到所述第二数据。
- 如权利要求9或10所述的装置,其特征在于,所述处理单元,用于:从所述信息格式协议文件中读取所述报文描述以获取所述至少一个信息描述;针对所述至少一个信息描述中的每个信息描述,根据所述信息描述中的信息起始位确定所述信息描述对应的第一信息的第一内存空间;根据所述第一信息的首字节确定所述第一信息的比特偏移,所述比特偏移用于确定所述第一信息在所述第一内存空间中的起始位;根据所述第一信息在所述第一内存空间中的占位长度和所述比特偏移确定所述第一信息的内容掩码;根据所述第一内存空间、所述占位长度和所述内容掩码,得到所述信息描述对应的存储模型;根据所述至少一个信息描述中每个信息描述对应的存储模型确定所述元模型。
- 如权利要求12所述的装置,其特征在于,所述处理单元,还用于:根据用户的请求生成信息注册结果,所述信息注册结果包括信息名称;以及确定所述第一信息对应的信息名称已注册。
- 如权利要求9至13所述的装置,其特征在于,所述处理单元,还用于将所述第二数据存储到共享内存池,所述共享内存池中的数据用于所述计算平台进行智能运算。
- 一种数据处理装置,其特征在于,包括:处理器和存储器,所述处理器与所述存 储器耦合,用于读取并执行所述存储器中的指令,以执行如权利要求1至7中任一项所述的方法。
- 一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得所述计算机执行如权利要求1至7中任一项所述的方法。
- 一种芯片,其特征在于,包括:电路,所述电路用于执行如权利要求1至7中任一项所述的方法。
- 一种智能驾驶设备,其特征在于,包括:如权利要求8至15中任意一项所述的数据处理装置以及一个或多个传感器。
- 如权利要求18所述的智能驾驶设备,其特征在于,所述智能驾驶设备为车辆。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/127044 WO2024086973A1 (zh) | 2022-10-24 | 2022-10-24 | 数据处理方法、装置以及智能驾驶设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/127044 WO2024086973A1 (zh) | 2022-10-24 | 2022-10-24 | 数据处理方法、装置以及智能驾驶设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024086973A1 true WO2024086973A1 (zh) | 2024-05-02 |
Family
ID=90829716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/127044 WO2024086973A1 (zh) | 2022-10-24 | 2022-10-24 | 数据处理方法、装置以及智能驾驶设备 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024086973A1 (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809650A (zh) * | 2015-04-08 | 2015-07-29 | 武汉大学 | 一种异构感知数据的动态适配接入方法 |
CN106713357A (zh) * | 2017-01-24 | 2017-05-24 | 南京仁谷系统集成有限公司 | 一种通用的网络协议解析方法 |
US20200082231A1 (en) * | 2018-09-11 | 2020-03-12 | International Business Machines Corporation | Automatic protocol discovery using text analytics |
CN112511551A (zh) * | 2020-12-08 | 2021-03-16 | 中国船舶重工集团公司第七一六研究所 | 面向多种类型数据流的通信应用层协议解析方法及系统 |
CN114760369A (zh) * | 2022-04-14 | 2022-07-15 | 曙光网络科技有限公司 | 一种协议元数据提取方法、装置、设备及存储介质 |
-
2022
- 2022-10-24 WO PCT/CN2022/127044 patent/WO2024086973A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809650A (zh) * | 2015-04-08 | 2015-07-29 | 武汉大学 | 一种异构感知数据的动态适配接入方法 |
CN106713357A (zh) * | 2017-01-24 | 2017-05-24 | 南京仁谷系统集成有限公司 | 一种通用的网络协议解析方法 |
US20200082231A1 (en) * | 2018-09-11 | 2020-03-12 | International Business Machines Corporation | Automatic protocol discovery using text analytics |
CN112511551A (zh) * | 2020-12-08 | 2021-03-16 | 中国船舶重工集团公司第七一六研究所 | 面向多种类型数据流的通信应用层协议解析方法及系统 |
CN114760369A (zh) * | 2022-04-14 | 2022-07-15 | 曙光网络科技有限公司 | 一种协议元数据提取方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487748B2 (en) | In-vehicle processing device | |
JP6944970B2 (ja) | 位置更新方法、位置及びナビゲーション経路の表示方法、車両並びにシステム | |
US11689623B2 (en) | Adaptive real-time streaming for autonomous vehicles | |
CN109204324A (zh) | 用于操作自动驾驶车辆的集中调度系统 | |
JP6838776B2 (ja) | 車載処理装置 | |
WO2021143190A1 (zh) | 消息通信方法、计算机系统及代理装置 | |
CN109871019B (zh) | 自动驾驶用于获取坐标的方法和装置 | |
US11409927B2 (en) | Architecture for configurable distributed system simulation timing | |
JP6632765B2 (ja) | 制御装置及び制御方法 | |
US20200150648A1 (en) | Vehicle control apparatus | |
CN114780493A (zh) | 无人车数据的处理方法、装置、设备和存储介质 | |
CN114047760B (zh) | 路径规划方法、装置、电子设备及自动驾驶车辆 | |
CN114661028A (zh) | 智能驾驶控制器测试方法、装置、计算机设备和存储介质 | |
WO2024086973A1 (zh) | 数据处理方法、装置以及智能驾驶设备 | |
WO2022067295A1 (en) | Architecture for distributed system simulation timing alignment | |
US20240007532A1 (en) | Data transmission method, apparatus, and system | |
Weber et al. | Service discovery for the connected car with semantic accessors | |
US20220092231A1 (en) | Architecture for distributed system simulation timing alignment | |
CN113665577A (zh) | 操作机动车辆的方法 | |
US20220092232A1 (en) | Architecture for distributed system simulation with realistic timing | |
JP6559350B2 (ja) | 制御装置及び制御方法 | |
CN109272602B (zh) | 无人车数据的录制方法、装置、设备和存储介质 | |
US20240338292A1 (en) | In-Vehicle Processing Device | |
CN115600156B (zh) | 基于最小树的语义地图融合方法、装置、设备及介质 | |
CN108549395B (zh) | 水下无人自主航行器导航控制系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22962961 Country of ref document: EP Kind code of ref document: A1 |