WO2021223110A1 - Data processing apparatus and method, medium, computer device, and mobile device - Google Patents

Data processing apparatus and method, medium, computer device, and mobile device Download PDF

Info

Publication number
WO2021223110A1
WO2021223110A1 PCT/CN2020/088809 CN2020088809W WO2021223110A1 WO 2021223110 A1 WO2021223110 A1 WO 2021223110A1 CN 2020088809 W CN2020088809 W CN 2020088809W WO 2021223110 A1 WO2021223110 A1 WO 2021223110A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
production unit
center
units
Prior art date
Application number
PCT/CN2020/088809
Other languages
French (fr)
Chinese (zh)
Inventor
解德鹏
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to PCT/CN2020/088809 priority Critical patent/WO2021223110A1/en
Publication of WO2021223110A1 publication Critical patent/WO2021223110A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • the present disclosure relates to the field of data processing technology, in particular, to data processing devices and methods, media, computer equipment, and portable equipment.
  • data production units on mobile devices that can collect data related to the driving of the mobile device.
  • the data generated by the data production unit can be provided to the data consumption unit on the mobile device, so that the data consumption unit can control the driving of the mobile device. state.
  • a data production unit often needs to provide the generated data to multiple data consumption units respectively, which easily leads to a high bandwidth occupation of the data production unit.
  • the embodiments of the present disclosure propose data processing apparatuses and methods, media, computer equipment, and portable equipment to solve the technical problem of high bandwidth occupation of data production units in related technologies.
  • a data processing device comprising: a data center, and at least one data production unit and a plurality of data consumption units that are communicatively connected to the data center; the at least one The data production unit is used to collect first data related to the driving state of the mobile device, and forward the first data to the data center for caching; the data center is used to consume the data after receiving the multiple data After the unit subscribes to the first data for the first data, the cached first data is forwarded to the multiple data consumption units respectively; each data consumption unit of the multiple data consumption units is used for The driving state of the movable device is controlled based on the first data.
  • a movable device includes the data processing apparatus described in any one of the embodiments.
  • a data processing method comprising: receiving and buffering first data related to the driving state of a movable device collected by at least one data production unit; After the data consuming unit subscribes to the first data of the first data, it forwards the cached first data to the multiple data consuming units respectively; wherein the first data is used for the multiple data The consumer unit controls the driving state of the mobile device.
  • a computer-readable storage medium having a computer program stored thereon, and when the program is executed by a processor, the method described in any of the embodiments is implemented.
  • a computer device including a memory, a processor, and a computer program stored in the memory and capable of running on the processor.
  • the processor implements any implementation when the program is executed. The method described in the example.
  • the data generated by the data production unit is sent to the data center, and the data generated by the data production unit is sent to multiple data consumption centers by the data center, thereby reducing the bandwidth occupation of the data production unit.
  • Figure 1 is a schematic diagram of the topology between a traditional data production unit and a data consumption unit.
  • Fig. 2 is a schematic diagram of a data processing device according to an embodiment of the present disclosure.
  • Fig. 3 is a schematic diagram of a data processing device according to a specific embodiment of the present disclosure.
  • Fig. 4 is a schematic diagram of data fusion in an embodiment of the present disclosure.
  • Fig. 5 is a schematic diagram of multiple data processing centers according to an embodiment of the present disclosure.
  • Fig. 6 is a schematic diagram of interaction of an embodiment of the present disclosure.
  • Fig. 7 is a flowchart of a data processing method according to an embodiment of the present disclosure.
  • Fig. 8 is a block diagram of a computer device of an embodiment of the present disclosure.
  • first, second, third, etc. may be used in this disclosure to describe various information, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as second information, and similarly, the second information may also be referred to as first information.
  • word “if” as used herein can be interpreted as "when” or “when” or "in response to determination”.
  • the temperature sensor on the mobile equipment can generate the temperature of the environment where the mobile equipment is located or some devices on the mobile equipment (such as , The temperature of the engine); another example, a lidar on a movable device can generate position data of the movable device.
  • the data generated by these data production units can be provided to the data consumption unit on the mobile device, so that the data consumption unit controls the driving state of the mobile device.
  • each data production unit In practical applications, the data generated by each data production unit is often cached by the data production unit itself, and then sent to each data consumption unit by the data production unit. This leads to data fragmentation.
  • the communication link and system architecture between the data production unit and the data consumption unit are complex. The same link often needs to transmit multiple identical data, which wastes link bandwidth, and the system structure and functions are not. Conducive to expansion.
  • FIG. 1 it is a schematic diagram of a topology structure between a traditional data production unit and a data consumption unit in some embodiments.
  • GPS Global Positioning System
  • IMU Inertial Measurement Unit
  • TOF Time of Flight
  • radar radar
  • data generation unit the data generation unit
  • flight control system, navigation unit and positioning system are the data consumption units.
  • Different data production units and data consumption units can be installed on different chips.
  • the flight control system needs to obtain sensor data generated by data production units such as IMU, GPS, altitude sensors (including TOF sensors and ultrasonic sensors, etc.), radars, and vision sensors.
  • the flight control system needs to send data to the subsystem where multiple data production units are located, Multiple chips obtain data, the communication links between systems are interleaved, and the topology is more complicated, which is likely to cause data redundancy and confusion.
  • both the flight control system and the navigation system need to acquire the data generated by GPS at the same time. Therefore, GPS needs to send multiple copies of the same data at the same time.
  • both the flight control system and the navigation system are connected to the same communication port of GPS, it is easy to cause the bandwidth of the GPS communication port to occupy too high or even insufficient bandwidth, resulting in data frame loss.
  • an embodiment of the present disclosure provides a data processing device. As shown in FIG. 2, the device includes:
  • a data center 201 and at least one data production unit 202 and multiple data consumption units 203 that are communicatively connected to the data center 201;
  • the at least one data production unit 202 is configured to collect first data related to the driving state of the movable device, and forward the first data to the data center 201 for caching;
  • the data center 201 is configured to respectively forward the cached first data to the multiple data consuming units after receiving the first data subscription request of the multiple data consuming units 203 for the first data 203;
  • Each data consumption unit 203 of the plurality of data consumption units 203 is configured to control the driving state of the movable device based on the first data.
  • the data production unit 202 (also referred to as a producer) in the embodiment of the present disclosure is a functional unit capable of generating data.
  • the data production unit 202 includes, but is not limited to, at least one sensor, for example, a first sensor (for example, a speed sensor) for generating speed information of a movable device, and a second sensor for generating pose information of the movable device.
  • a sensor for example, IMU, GPS, etc.
  • a third sensor for example, a temperature sensor, a humidity sensor, etc.
  • the aforementioned data production unit 202 can produce corresponding data, and send the produced data directly or indirectly to the data center 201 to ensure that the data center 201 is a data resource pool, and the first data generated by the data production unit 202 can flow into the data resource pool.
  • the number of data centers 201 may be one or more.
  • the data center 201 may provide a buffer of several frames of data for some or all of the data production unit 202, so that consumers can flexibly subscribe to current data and historical data. At the same time, the data can be simply processed and processed, including at least any of the following: setting the frame rate of the first data sent to the data consumption unit 203, setting the number of buffer frames for buffering the first data sent by the data production unit 202, and fusion Processing etc.
  • the data center 201 has a data forwarding and routing interface for sending and receiving data and instructions.
  • the data consumption unit 203 (also referred to as a consumer) in the embodiment of the present disclosure refers to a functional unit that can subscribe to the data center 201 for the required first data, and use the data to perform corresponding operations.
  • the data consumption unit 203 may include but is not limited to at least any of the following: a driving control unit, a path planning unit, a task execution unit, and a positioning unit.
  • the driving control unit is used to control a driving state of a movable device, and the driving state includes at least one of speed, direction, and position.
  • the path planning unit is used to plan the travel path of the movable device.
  • the task execution unit is used to control the mobile device or the state (for example, pose) of the peripheral on the mobile device, so that it can execute the corresponding task.
  • the positioning unit is used for positioning the movable device.
  • the movable device in the embodiment of the present disclosure may be a device with mobile capabilities such as a drone, a vehicle, a mobile robot, a submarine, and the like.
  • the driving control unit can be a flight control unit on the drone
  • the path planning unit can be used to control the drone to fly or return to a preset path, and the task is executed
  • the unit may be an airline flight operation unit, which is used to control the drone to fly to a designated location or hover during the flight of the drone, or to control the image acquisition device mounted on the drone to take images.
  • the positioning system can position the drone.
  • FIG. 3 it is a schematic diagram of the specific structure of the data processing device in some embodiments.
  • producers include compasses, IMUs, barometers, vision sensors, TOF sensors, GPS, ultrasonic sensors, and radars.
  • Consumers include flying Control unit, navigation unit, route flight operation unit and positioning unit.
  • FIG. 3 is only an exemplary illustration of the present disclosure, and the types and quantities of the data production unit 202 and the data consumption unit 203 of the present disclosure are not limited to this.
  • the movable device may be activated and generate the first data under certain circumstances.
  • the data production unit 202 may start and generate the first data when it is detected that the movable device is or is about to be in a driving state.
  • the data production unit 202 on the drone can be used to start and generate the first data when it is detected that the drone is or is about to be in flight.
  • the data production unit 202 may also start and generate the first data when it is detected that the movable device or the peripheral device mounted on the movable device is performing a specified task. Still taking the drone as an example, the data production unit 202 on the drone can be used to start and generate the first data when it is detected that the drone is performing a flight operation. Wherein, the flight operation may be flying to a designated destination, taking a photo of a designated location, hovering at a designated height, or other tasks.
  • the data production unit 202 may also start and generate the first data upon receiving a start instruction sent by a movable device or a control device (for example, a remote control) used in conjunction with the movable device. . In other embodiments, the data production unit 202 may start and generate the first data when the power is on, and stop generating the first data when the power is off.
  • Each data production unit 202 can produce corresponding first data according to a certain frame rate.
  • the frame rate for producing the first data may be a preset fixed frame rate, for example, 5 Hz, 10 Hz, 20 Hz.
  • a dynamic frame rate can also be used, and the size of the frame rate can be set according to the actual situation. For example, set according to the current environmental conditions of the mobile device. In the case of poor environmental conditions (for example, low light intensity or in environments such as fog, sandstorms, etc.), the frame rate can be set higher ; On the contrary, set it lower. For another example, it is set according to the task currently being executed. In the case where the accuracy required to perform the task is high, the frame rate can be set higher; otherwise, the frame rate can be set lower.
  • the frame rate at which the data production unit 202 produces the first data can be set according to the confidence level of the first data produced by the data production unit 202. In the case of higher confidence, the frame rate can be set higher; otherwise, the frame rate can be set lower. For another example, it can also be set according to the operating state of the data production unit 202.
  • the operating state may include the temperature of the data production unit 202. In the case where the temperature is higher than the preset temperature value, a lower frame rate may be used to produce the first data, and conversely, a higher frame rate may be used to produce the first data. For another example, it can also be set according to the driving state of the movable device.
  • the first data is produced at a lower frame rate during the startup of the portable device, and the first data is produced at a higher frame rate after the movable device is started up.
  • it can be set according to the accuracy requirements of the first data.
  • a higher frame rate can be used for the first data with higher accuracy requirements, and vice versa, a lower frame rate can be used.
  • the frame rate can also be set according to other factors, which will not be repeated here.
  • the frame rates of different data production units 202 can be set to be the same or different.
  • the produced first data may be sent to the data center 201 frame by frame, or may be sent to the data center 201 by skipping frames.
  • the data production unit 202 may always collect data at a fixed frame rate, and send the first data to the data center 201 in a frame-by-frame or skip-frame transmission mode according to preset conditions.
  • the preset condition can be set based on at least any one of the aforementioned environmental conditions, the currently executed task, and the confidence level of the first data produced by the data production unit 202, or can be set based on other conditions or at least any one of the above conditions and other conditions.
  • the conditions are set together, so I won’t repeat them here.
  • Frame skipping means that when data is collected at frame rate F, if the first frame of data is collected at t1, the second frame of data is collected at t2, the third frame of data is collected at t3, and the data is collected at t4.
  • the fourth frame of data is reached, the first frame of data and the third frame of data are sent to the data center 201 as the first data, and the second frame of data and the third frame of data are not sent. In other words, a plurality of frame data that are not continuously received are sent to the data center 201 as the first data.
  • the data production unit 202 may directly send the produced first data to the data center 201, or may preprocess the first data before sending it to the data center 201.
  • the preprocessing may include filtering out unusable first data.
  • the unavailable first data may include data whose value exceeds a preset range, or data whose confidence is lower than a preset value.
  • the preprocessing may also include other types of preprocessing, which will not be repeated here. Through pre-processing, the amount of data transmission can be reduced and the efficiency of data processing can be improved.
  • each data production unit 202 can independently send the first data to the data center 201.
  • each data production unit 202 can be connected to a communication of the data center 201. Interface, and send the first data to the data center 201 through the communication interface.
  • the communication interface may be an I2C bus interface, a universal serial bus (Universal Serial Bus, USB) interface, or the like.
  • different data production units 202 are connected to different communication interfaces.
  • multiple data production units 202 may also share the same communication interface.
  • the identification information of the data production unit 202 and/or the identification information of the first data may be added to the first data. Further, the frame rate information for sending the first data can also be added.
  • a part of the first data generated by the data production unit 202 may be sent to the data center 201, and another part of the first data generated by the data production unit 202 may be directly sent to the data consumption unit 203.
  • the data production unit 202 that directly sends the first data to the data consumption unit 203 may be a data production unit 202 with the following characteristics: only sends the first data to one data consumption unit 203, and the data production unit 202 sends the data to its corresponding data consumption unit.
  • the distance between the units 203 is less than the sum of the distance between the data production unit 202 and the data center 201 and the distance between the data center 201 and the data consumption unit 203 corresponding to the data production unit 202. In actual situations, it is also possible to determine which data production unit 202 generates the first data to be directly sent to the data consumption unit 203 according to other factors, which will not be repeated here.
  • the at least one data production unit 202 includes a first data production unit and a second data production unit; the plurality of data consumption units 203 includes a first data consumption unit and a second data consumption unit;
  • the second data production unit is used to forward the first data collected by the first data production unit to the data center 201. That is, the first data production unit may directly send the generated first data to the data center 201, or may forward the first data generated by the first data production unit to the data center 201 through the second data production unit. In this way, the flexibility of the scheme is improved.
  • the above method can be used to It is ensured that as many first data generated by the data production unit 202 as possible are sent to the data center 201.
  • the data production unit 202 may select whether to generate the first data or whether to send the generated data to the data center 201 according to preset conditions.
  • the preset condition may be the driving state of the movable device, or according to a task performed by the movable device or a peripheral device (for example, an image capture device) carried on the movable device.
  • the data production unit 202 can generate the first data, otherwise it will not generate the first data; or, the mobile device or the peripherals mounted on the mobile device are performing tasks or performing tasks.
  • the task of is a preset task, the data production unit 202 may generate the first data, otherwise the first data is not generated.
  • the task performed by the mobile device may be driving to a designated destination, and the task performed by the peripheral device may be collecting images of a preset location.
  • the data center 201 may cache the first data for subscription by the first data consumption center.
  • the data center 201 may buffer a preset number of data frames in the first data.
  • the frame number of the buffered data frame may be fixedly set or dynamically set, for example, it may be set according to the real-time requirement of the first data. For the first data with high real-time requirements, the number of buffered frames may be less, and vice versa.
  • the number of frames of the buffered first data can also be set according to other conditions, which will not be repeated here.
  • the number of data frames buffered by the data center 201 for different data production units 202 may be the same or different.
  • the data center 201 may directly send the first data generated by the data production unit 202 to the data consumption unit 203, and may also obtain the driving status of the mobile device collected by the at least one data production unit 202.
  • Related second data generating the first data according to the second data.
  • the data center 201 may filter out some data frames from the second data, and send the selected data frames to the data consumption unit 203 as the first data.
  • the data center 201 may also filter the second data to delete invalid data from the second data, and send the remaining second data as the first data to the data consumption unit.
  • the invalidation data includes incomplete data lacking necessary information, data generated at an incorrect frame rate, and data whose values are not within the valid range.
  • the data center 201 may perform fusion processing on the second data collected by multiple data production units 202 to obtain the first data.
  • the fusion processing may include performing fusion processing on a plurality of second data of the same type collected by the data production unit 202 to obtain the first data. Among them, the same category may have the same function.
  • the categories of the two are the same.
  • the relative position data generated by multiple positioning systems is fused to obtain the absolute position data of the mobile device.
  • a weighted average is performed on the multiple positioning data to obtain the absolute position data of the movable device.
  • the vision sensor is prone to failure in weak light and texture scenes, so the confidence of the vision sensor can be set lower in these scenes.
  • the IMU and the accelerometer have accumulated errors.
  • the confidence level of the previous frames of data generated by the IMU and accelerometer can be set higher, and the confidence level of the remaining data generated by the IMU and accelerometer can be set lower.
  • GPS is susceptible to interference and obstruction. Therefore, the confidence level of GPS can be set lower in urban scenes with tall buildings or in scenes such as tunnels and viaducts, and the confidence level of GPS can be set higher in areas with a wide field of view.
  • the data center 201 may also merge multiple frames of first data generated by the same data production unit 202 to obtain the merged first data.
  • the data production unit 1 to the data production unit n can be the same data production unit or different data production units.
  • the first data 1 to the first data n may be first data generated by different data production units, or may be different data frames generated by the same data production unit.
  • the fusion processing may include performing fusion processing on a plurality of second data collected by the data production unit 202 and used to generate the same first data to obtain the first data. For example, according to the speed data generated by the speed sensor and the acceleration data generated by the accelerometer, the position data of the movable device is determined. Through the fusion processing, the impact of data mutation, jitter and noise can be reduced, and the reliability of the data can be improved, thereby improving the control accuracy of the control of the driving state of the mobile device, and improving the driving safety of the mobile device.
  • the data center 201 may send all the buffered data frames to the data consumption unit 203, or may select a data frame from the first data according to a preset frame skipping step; send the selected data frame to the multiple A data consumption unit 203. For example, every time 5 data frames are buffered, 1 data frame is sent to the data consumption unit 203.
  • the frame rate sent to the data consumption unit 203 may be set according to the first data subscription request of the data consumption unit 203. If the first data subscription request of the data consuming unit 203 does not carry frame rate information, it can send the data to the data according to the frame rate information in the previous first data subscription request of the first data subscription request, or according to the default sending frame rate.
  • the consumption unit 203 sends data.
  • the data center 201 and the data production unit 202 and the data consumption unit 203 can all pass through the network port, Application Programming Interface (hereinafter referred to as API), Peripheral Component Interconnect (hereinafter referred to as PCI) interface
  • API Application Programming Interface
  • PCI Peripheral Component Interconnect
  • Various types of interfaces are used for communication connection, so as to obtain data sent by each data production unit 202 through the corresponding interface, or send data to each data consumption unit 203 through the corresponding interface.
  • the data center 201 may also forward the cached first data to the multiple data consumption units 203 in a broadcast manner.
  • the first data sent to a certain data consumption unit 203 may carry the identification information of the data consumption unit 203, and the data consumption unit 203 may obtain the first data sent to itself from the broadcast data according to the identification information.
  • the data center 201 includes multiple sub-data centers, and each sub-data center is used to obtain the first data generated by at least one data production unit 202, and to combine the first data A piece of data is forwarded to the plurality of data consumption units 203.
  • the figure shows a situation where the number of sub-data centers is 2. In practical applications, the number of sub-data centers is not limited to this.
  • the data communication pressure of the data center 201 can be increased, and at the same time, the data production unit and the data consumption unit can be selected to connect to a better sub-data center according to the actual situation, thereby reducing the communication cost.
  • the data production unit A and the data consumption unit B can be connected to the same sub-data center or different sub-data centers. center.
  • the first data generated by the data production unit A can be sent to the sub-data center A connected to the data production unit A. Then, the first data is forwarded to the sub-data center B connected to the data consuming unit B through the sub-data center A, and then the first data is forwarded to the data consuming unit B through the sub-data center B.
  • each data production unit 202 and/or each data consumption unit 203 is connected to a sub-data center with the closest physical distance.
  • the physical distance mentioned here refers to the physical length of the communication link.
  • the physical length from the data output port of the data production unit A to the data input port of the sub-data center A is 1 cm
  • the physical length from the data output port of the data production unit B to the data input port of the sub-data center A is 2 cm, then the data The distance between the production unit A and the sub-data center A is shorter than the distance between the data production unit B and the sub-data center A.
  • each data production unit 202 and/or each data consumption unit 203 is connected to the closest sub-data center.
  • the data production unit 202 is set in the first position in the entire data processing device, the sub-data center A is located in the second position in the entire data processing device, and the linear distance from the data production unit 202 to the sub-data center A is smaller than the data production unit 202 to other sub-data centers in a straight line, then the sub-data center A is the sub-data center closest to the first sub-data center.
  • the data production unit 202 may send the first data to the second sub-data center that is the closest physical distance to the data production unit 202, so as to forward the first data to the second sub-data center through the second sub-data center.
  • the second sub-data center may also forward the first data to the first sub-data center through at least one third data center.
  • Different data centers can communicate through different types of communication interfaces such as USB interfaces or optical fiber interfaces.
  • multiple sub-data centers may be connected to the same management unit, and data forwarding between the multiple sub-data centers is realized through the management unit.
  • the management unit can query a pre-stored table in which the identification information and identification information of each type of first data are recorded. Correspondence between the identification information of the data center storing the first data. After finding, the management unit can send the data forwarding request to the corresponding second sub-data center. After receiving the data forwarding request, the second sub-data center can directly send the data to the first sub-data center, or through at least A third data center forwards the first data to the first sub-data center.
  • the sub-data center can also pre-send data. That is, the second sub-data center may directly send the first data to the first sub-data center when receiving some of the first data. This process can be performed before the second sub-data center receives the data forwarding request. In this way, the efficiency of data transmission can be improved.
  • the table stored by the management unit may also include the association relationship between the identification information of each type of first data and the identification information of the sub-data center connected to the first data consumption center that requires the first data, and the second sub-data center When receiving the first data, you can query the management center whether the first data consumption center that needs the first data is connected to the second sub-data center, if not connected, the first data is directly forwarded to the corresponding second data center.
  • a sub-data center may also include the association relationship between the identification information of each type of first data and the identification information of the sub-data center connected to the first data consumption center that requires the first data.
  • the first data subscription request sent by each data consuming unit includes subscription information of a data subscription manner in which the data consuming unit subscribes to the data center.
  • the first data subscription request sent by the first data consuming unit includes a request for indicating that the first data consuming unit sends to the data center 201 Subscription information of the subscription method for data subscription.
  • the data center 201 may forward the cached first data to the first data consumption unit based on the subscription information of the first data consumption unit.
  • the subscription information of the first data consuming unit may include the frequency of data subscription (for example, subscribing to one frame of first data per second), the identification information of the data frame in the subscribed first data, and the data production unit that generates the first data At least one of the identification information of the first data consumption unit in the identification information of 202 may also include other information.
  • the first data consuming unit may send the first data subscription request once in the initial situation (for example, the device has just started), and then only resend the data when the data subscription mode is changed. Subscription request. After receiving the first data subscription request of the first data consuming unit, the data center 201 sends the first data in a manner required by the first data subscription request until a new first data subscription request is received.
  • the first data consuming unit may always send a data subscription request to the data center 201 at a preset frequency.
  • the first data consuming unit may send a first data subscription request to the data center 201 under the trigger of a specific condition, and the specific condition may be receiving a trigger instruction to send the first data subscription request, Or other conditions.
  • the manner in which other data consuming units of the multiple data consuming units subscribe to data is similar to that of the first data consuming unit, and will not be repeated here.
  • the first data subscription request further includes at least any one of the following information: identification information of the first data consuming unit, frequency information for subscribing to the first data by the first data consuming unit, and The identification information of the first data subscribed by the first data consuming unit.
  • the data center 201 may sequentially send the cached first data to the multiple data consuming units 203 according to the order in which the first data subscription requests of the multiple data consuming units 203 are received, or to the first data at a preset frequency.
  • a plurality of data consumption units 203 send the buffered first data.
  • the data center 201 can be based on the data frame
  • the identification information searches for the corresponding data frame from the cache.
  • the corresponding data frame is sent to the multiple data consumption units 203. If the data frame corresponding to the first data subscription request in the first data is not found, the pre-designated data frame in the first data is sent to the multiple data consumption units 203.
  • the data center 201 may also perform fault diagnosis on the at least one data production unit 202 and/or the multiple data consumption units 203.
  • the data production unit 202 will generally send the first data to the data center 201 at a certain frequency. If the time interval for the data production unit 202 to send the first data is greater than the first time interval, the data center 201 can determine The data production unit 202 is malfunctioning. For another example, when the data consuming unit 203 sends the first data subscription request to the data center 201 at a preset second time interval, if the data consuming unit 203 sends the first data subscription request When the time interval is greater than the second time interval, the data center 201 may determine that the data consumption unit 203 is malfunctioning.
  • fault diagnosis can also be performed according to other methods. For example, when the proportion of unavailable data in the first data sent by the data production unit 202 is greater than a preset proportion, it can be determined that the data production unit 202 is faulty. For another example, when necessary information is missing in the first data subscription request sent by the data consuming unit 203, it is determined that the data consuming unit 203 is malfunctioning.
  • the data center 201 can obtain the backup data of the first data generated by each data production unit in the at least one data production unit 202. If the first data production unit in the at least one data production unit 202 fails, the data center 201 may forward the backup data of the first data generated by the first data production unit to the data consumption unit 203. By using the backup data to back up the failed data production unit, the data consumption unit can control the driving state of the movable equipment according to the backup data in the case of the data production unit failure, thereby improving the reliability of the control of the movable equipment Improve the driving safety of mobile devices.
  • the backup data may include at least any one of the following: the first data generated by the backup production unit of the data production unit 202 (for example, the data generation unit A), and the data production unit 202 (for example, the data generation unit) A) First data generated by another data production unit 202 (for example, data generating unit B) of the same category, and first data historically sent by the data production unit 202 (for example, data generating unit A).
  • the number of the data production unit 202 may be multiple, wherein one data production unit 202 is used as a main production unit, and the remaining at least one data production unit 202 is used as a subsidiary production unit of the main production unit.
  • the drone includes two IMUs, one of which serves as the main IMU and the other as the secondary IMU.
  • the main production unit and the auxiliary production unit both normally generate and send the first data to the data center 201.
  • the data center may separately cache the first data generated by the main production unit and the auxiliary production unit. However, only the first data generated by the main production unit is sent to the data consumption unit 203, and only when the main production unit fails, the first data of the subsidiary production unit is used as backup data and sent to the data consumption unit 203.
  • Another data production unit (for example, data generation unit B) of the same category as the data production unit (for example, data generation unit A) may generate the same type of data as the data production unit (for example, data generation unit A)
  • the data production unit for example, data generation unit A
  • the data production unit 202 fails at time t1
  • the data production unit 202 can be sent and cached to the first data center before time t1.
  • the data is used as the backup data of the data production unit 202 (for example, the data production unit A) at time t1.
  • the data center 201 can, in the case of detecting that the data production unit 202 (for example, the data generation unit A) is faulty, change the The first data generated by the backup production unit of the data production unit 202 (for example, data generation unit A) is used as backup data; if the first data generated by the backup production unit of the data production unit 202 (for example, data generation unit A) is not found
  • the first data generated by another data production unit 202 for example, data generation unit B) of the same category as the data production unit 202 (for example, data generation unit A) is used as the backup data
  • the data production unit 202 (for example, the data generation unit A) generates the first data generated by another data production unit 202 (for example, the data generation unit B) of the same category, and the data production unit 202 (for example, the data generation unit) A)
  • the first data sent in history is used as backup data.
  • the data center 201 may forward the first data to the backup data consumption unit of the first data consumption unit.
  • Each data consumption unit may include at least one backup data consumption unit, which is used to take over the work of the failed data consumption unit when the data consumption unit fails.
  • the drone may include two flight control units, one of which is used as the main flight control unit and the other is used as the auxiliary flight control unit. When the main flight control unit fails, the auxiliary flight control unit receives the first data and takes over the main flight control unit. Unit to work.
  • the first data consuming unit may also control peripherals mounted on the movable device according to the first data. For example, controlling the pose and moving speed of the movable device according to the positioning data, or controlling the pose of the peripherals on the movable device according to the pose of the movable device.
  • FIG. 6 it is a schematic diagram of the interaction process between the data center 201 and the data production unit 202 and the data consumption unit 203 in an embodiment of the present disclosure.
  • the data production unit produces first data, and the first data may be some sensor data.
  • the data production unit sends the first data to the data center, and the data center performs data processing (for example, data fusion) and caching.
  • the data center may forward the cached first data to the data consuming unit.
  • the data center can perform fault diagnosis and data backup on the data production unit and the data consumption unit.
  • the interaction process shown in the figure is only exemplary. In practical applications, the execution order of the steps in the interaction process can be adjusted according to actual needs, or at least one step can be added or reduced.
  • the data generated by the data production unit is sent to the data center 201, and the data center 201 sends the data generated by the data production unit to multiple data consumption centers.
  • the same data production unit only needs to generate A copy of data is sent to the data center 201, and the data center 201 sends the data to the data consumption unit, thereby reducing the bandwidth occupation of the data production unit.
  • the present disclosure uses a multi-producer converged data center 201 and a multi-consumer subscription star architecture, that is, the data center is the central node, and a separate line connects the central node with other nodes (that is, the data production unit and the data consumption unit) Connected, the communication between any data production unit and data consumption unit is carried out through the data center.
  • This architecture solves the problems of dispersal of data in the mobile equipment system, complex system architecture and link, simple system architecture, less data link redundancy information, and good scalability. When a new data production unit or data consumption unit is added, it is only necessary to connect the newly added data production unit or data consumption unit to the data center 201.
  • the system can well support distributed data, unified data management, and good data security and controllability.
  • the data center 201 can use the data of other data production units 202 for backup and replacement, and the system is stable Good sex. It provides a good framework support for system diagnosis and data backup.
  • the present disclosure is applicable to electronic systems with multiple sensors and multiple control terminals, such as unmanned aerial vehicles, robots, and unmanned vehicles, and can also be applied to fields such as big data and the Internet of Things.
  • application scenarios such as autonomous driving, the driving control reliability of mobile devices can be improved, thereby improving the driving safety of mobile devices.
  • the embodiments of the present disclosure also provide a movable device, which includes the data processing apparatus described in any of the above embodiments.
  • an embodiment of the present disclosure also provides a data processing method, the method including:
  • Step 701 receiving and buffering the first data related to the driving state of the movable device collected by at least one data production unit 202;
  • Step 702 After receiving the first data subscription request of the multiple data consuming units 203 for the first data, forward the cached first data to the multiple data consuming units 203 respectively;
  • the first data is used by the plurality of data consumption units 203 to control the driving state of the movable device.
  • the method includes: acquiring second data related to the driving state of the movable device collected by the at least one data production unit; and generating the first data according to the second data.
  • the number of the data production unit is multiple; the generating the first data according to the second data includes: performing the second data collected by the multiple data production units Fusion processing to obtain the first data.
  • the performing fusion processing on the second data collected by the multiple data production units to obtain the first data includes: collecting the first data of the same category from the multiple data production units The second data is fused to obtain the first data; or the second data collected by multiple data production units and used to generate the same first data is fused to obtain the first data.
  • the performing the fusion processing on the second data of the same type collected by the multiple data production units includes: performing the fusion processing on the second data collected by the multiple data production units according to the confidence level of the second data collected by the multiple data production units The second data collected by a plurality of the data production units are fused.
  • the respectively forwarding the buffered first data to the multiple data consumption units includes: selecting a data frame from the first data according to a preset frame skipping step; The data frame is sent to the plurality of data consumption units.
  • the respectively forwarding the cached first data to the multiple data consumption units includes: respectively forwarding the cached first data to the multiple data consumption units by means of broadcasting. unit.
  • the at least one data production unit includes a first data production unit and a second data production unit; the first data is collected by the first data production unit and forwarded through the second data production unit; and /Or the multiple data consumption units include a first data consumption unit and a second data consumption unit; after the second data consumption unit receives the first data, the first data is forwarded to the first data A data consumption unit.
  • the first data is used by the first data consuming unit to control peripherals mounted on the portable device.
  • the method is executed by a data center, the data center includes a plurality of sub-data centers, each sub-data center is used to obtain the first data generated by at least one data production unit, and to combine the A data is forwarded to the plurality of data consumption units.
  • each data production unit and/or each data consumption unit is connected to a sub-data center with the closest physical distance.
  • the data production unit sends the first data to a second sub-data center that is the closest physical distance to the data production unit, so as to transfer the first data through the second sub-data center.
  • the data is forwarded to the first sub-data center, and the first data is forwarded to the data consuming unit that is closest in physical distance to the first sub-data center through the first sub-data center.
  • the second sub-data center forwards the first data to the first sub-data center through at least one third data center.
  • the method is executed by a second sub-data center among a plurality of the data centers, and the method further includes: upon receiving a data forwarding request sent by the management unit, transferring the The first data is forwarded to the first sub-data center among the plurality of data centers.
  • the method is executed by a second sub-data center among the plurality of data centers, and the method further includes: before receiving the data forwarding request, forwarding the first data to The first sub-data center.
  • the first data subscription request sent by the first data consuming unit of the plurality of data consuming units includes a subscription mode used to characterize the data subscription of the first data consuming unit to the data center The subscription information; said forwarding the cached first data to the multiple data consuming units respectively includes: forwarding the cached first data to the multiple data consuming units based on the subscription information of the first data consuming unit respectively The first data consumption unit.
  • the first data subscription request is sent by the first data consuming unit when the subscription mode is changed.
  • the first data subscription request further includes at least any one of the following: identification information of the first data consuming unit, frequency information for subscribing to the first data by the first data consuming unit, and The identification information of the first data subscribed by the first data consuming unit.
  • the respectively forwarding the cached first data to the multiple data consuming units includes: sequentially consuming the multiple data in an order in which the first data subscription request is received The unit sends the buffered first data; or sends the buffered first data to the multiple data consumption units according to a preset frequency.
  • the at least one data production unit includes a first data production unit; the plurality of data consumption units include a first data consumption unit; the method further includes: comparing the first data production unit and/ Or the first data consuming unit performs fault diagnosis.
  • the first data production unit sends the first data at a preset first time interval; the performing fault diagnosis on the data production unit includes: in the first data production unit In a case where the time interval for sending the first data is greater than the first time interval, it is determined that the first data production unit is malfunctioning.
  • the first data consuming unit sends the first data subscription request at a preset second time interval; the performing fault diagnosis on the data consuming unit includes: If the time interval for the consuming unit to send the first data subscription request is greater than the second time interval, it is determined that the first data consuming unit is faulty.
  • the method further includes: in a case where a failure of the first data production unit is detected, obtaining backup data of the first data generated by the first data production unit, and storing the backup data Forwarding data to the multiple data consuming units; and/or forwarding the first data to the backup data consuming unit of the first data consuming unit in the case of detecting a failure of the first data consuming unit .
  • the at least one data production unit further includes a second data production unit;
  • the backup data includes at least any one of the following: the first data generated by the backup production unit of the first data production unit, and the The first data produced by the second data production unit of the same type of the first data production unit, and the first data sent by the first data production unit in history.
  • the obtaining the backup data of the first data generated by the first data production unit includes: generating the first data when a failure of the first data production unit is detected The first data produced by the backup production unit of the unit is used as the backup data; if the first data produced by the backup production unit of the first data production unit is not found, the first data with the same category as the first data production unit will be used. 2. The first data produced by the data production unit is used as backup data; if the first data produced by the second data production unit with the same category as the first data production unit is not found, the history of the first data production unit The first data sent is used as backup data.
  • the respectively forwarding the cached first data to the multiple data consuming units includes: searching for the first data with the first data of the multiple data consuming units. In the case of subscribing to the data frame corresponding to the request, the corresponding data frame is sent to the multiple data consuming units; and the first data in the multiple data consuming units is not found in the first data In the case of subscribing to the data frame corresponding to the request, the pre-designated data frame in the first data is sent to the multiple data consumption units.
  • the method is executed by a data center, the data center is set on a processing chip, and the processing chip satisfies the following conditions: each interface of the processing chip is connected to the data production unit and the plurality of The sum of the physical distances of the data consumption units is less than a preset distance threshold; and the number of interfaces of the processing chip is greater than the preset number threshold.
  • the data production unit includes at least any of the following: a first sensor for acquiring the speed of the movable device, a second sensor for acquiring the pose of the movable device, and A third sensor for environmental information of the environment in which it is located, and a data consumption unit with data production capability among the multiple data consumption units; and/or the data consumption unit includes at least any one of the following: a driving control unit, a path planning unit , Task execution unit, and positioning unit.
  • the above data processing method can be executed by the data center in the data processing device of the present disclosure.
  • data center, data production unit, and data consumption unit in the method embodiment refer to the above-mentioned embodiment of the data processing device for details, which will not be repeated here.
  • the embodiments of the present disclosure also provide a computer device, including a memory, a processor, and a computer program stored on the memory and capable of running on the processor, and the processor implements the method described in any embodiment when the program is executed. .
  • FIG. 8 shows a more specific hardware structure diagram of a computing device provided by an embodiment of this specification.
  • the device may include a processor 801, a memory 802, an input/output interface 803, a communication interface 804, and a bus 805.
  • the processor 801, the memory 802, the input/output interface 803, and the communication interface 804 realize the communication connection between each other in the device through the bus 805.
  • the processor 801 can be implemented by a general CPU (Central Processing Unit, central processing unit), a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits for execution related Program to realize the technical solutions provided in the embodiments of this specification.
  • a general CPU Central Processing Unit, central processing unit
  • a microprocessor an application specific integrated circuit (Application Specific Integrated Circuit, ASIC)
  • ASIC Application Specific Integrated Circuit
  • the memory 802 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc.
  • the memory 802 may store an operating system and other application programs.
  • related program codes are stored in the memory 802 and called and executed by the processor 801.
  • the input/output interface 803 is used to connect an input/output module to realize information input and output.
  • the input/output/module can be configured in the device as a component (not shown in the figure), or can be connected to the device to provide corresponding functions.
  • the input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and an output device may include a display, a speaker, a vibrator, an indicator light, and the like.
  • the communication interface 804 is used to connect a communication module (not shown in the figure) to realize the communication interaction between the device and other devices.
  • the communication module can realize communication through wired means (such as USB, network cable, etc.), or through wireless means (such as mobile network, WIFI, Bluetooth, etc.).
  • the bus 805 includes a path for transmitting information between various components of the device (for example, the processor 801, the memory 802, the input/output interface 803, and the communication interface 804).
  • the device may also include the necessary equipment for normal operation.
  • the above-mentioned device may also include only the components necessary to implement the solutions of the embodiments of the present specification, and not necessarily include all the components shown in the figures.
  • the embodiments of the present disclosure also provide a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the method described in any of the embodiments is implemented.
  • the data generated by the data production unit is sent to the data center, and the data generated by the data production unit is sent to multiple data consumption centers by the data center. In this way, only one copy of the same data production unit is needed. Data is sent to the data center, and the data center sends the data to the data consumption unit, thereby reducing the bandwidth occupation of the data production unit.
  • the embodiments of the present disclosure may adopt the form of a computer program product implemented on one or more storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing program codes.
  • Computer usable storage media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology.
  • the information can be computer-readable instructions, data structures, program modules, or other data.
  • Examples of computer storage media include, but are not limited to: phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
  • PRAM phase change memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • RAM random access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • flash memory or other memory technology
  • CD-ROM compact disc
  • DVD digital versatile disc
  • Magnetic cassettes magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.

Abstract

A data processing apparatus and method, a medium, a computer device, and a mobile device. Said method comprises: sending data generated by a data production unit (202) to a data center (201), and sending, by means of the data center (201), the data generated by the data production unit (202) to a plurality of data consumption centers (203). In this way, the same data production unit (202) only needs to generate one piece of data to the data center (201), and the data is sent to the data consumption units (203) by means of the data center (201), thereby reducing the bandwidth occupation of the data production unit (202).

Description

数据处理装置及方法、介质和计算机设备、可移动设备Data processing device and method, medium, computer equipment, and mobile equipment 技术领域Technical field
本公开涉及数据处理技术领域,具体而言,涉及数据处理装置及方法、介质和计算机设备、可移动设备。The present disclosure relates to the field of data processing technology, in particular, to data processing devices and methods, media, computer equipment, and portable equipment.
背景技术Background technique
可移动设备上有一些数据生产单元能够采集与可移动设备的行驶相关的数据,数据生产单元产生的数据可以提供给可移动设备上的数据消费单元,从而使数据消费单元控制可移动设备的行驶状态。在实际应用中,一个数据生产单元常常需要将产生的数据分别提供给多个数据消费单元,容易导致数据生产单元的带宽占用较高。There are some data production units on mobile devices that can collect data related to the driving of the mobile device. The data generated by the data production unit can be provided to the data consumption unit on the mobile device, so that the data consumption unit can control the driving of the mobile device. state. In practical applications, a data production unit often needs to provide the generated data to multiple data consumption units respectively, which easily leads to a high bandwidth occupation of the data production unit.
发明内容Summary of the invention
有鉴于此,本公开的实施例提出了数据处理装置及方法、介质和计算机设备、可移动设备,以解决相关技术中数据生产单元的带宽占用较高的技术问题。In view of this, the embodiments of the present disclosure propose data processing apparatuses and methods, media, computer equipment, and portable equipment to solve the technical problem of high bandwidth occupation of data production units in related technologies.
根据本公开实施例的第一方面,提供一种数据处理装置,所述装置包括:数据中心,以及与所述数据中心通信连接的至少一个数据生产单元和多个数据消费单元;所述至少一个数据生产单元用于采集与可移动设备的行驶状态相关的第一数据,并将所述第一数据转发至所述数据中心进行缓存;所述数据中心用于在接收到所述多个数据消费单元对所述第一数据的第一数据订阅请求之后,将缓存的所述第一数据分别转发至所述多个数据消费单元;所述多个数据消费单元中的每个数据消费单元用于基于所述第一数据对所述可移动设备的行驶状态进行控制。According to a first aspect of the embodiments of the present disclosure, there is provided a data processing device, the device comprising: a data center, and at least one data production unit and a plurality of data consumption units that are communicatively connected to the data center; the at least one The data production unit is used to collect first data related to the driving state of the mobile device, and forward the first data to the data center for caching; the data center is used to consume the data after receiving the multiple data After the unit subscribes to the first data for the first data, the cached first data is forwarded to the multiple data consumption units respectively; each data consumption unit of the multiple data consumption units is used for The driving state of the movable device is controlled based on the first data.
根据本公开实施例的第二方面,提供一种可移动设备,所述可移动设备包括任一实施例所述的数据处理装置。According to a second aspect of the embodiments of the present disclosure, a movable device is provided, and the movable device includes the data processing apparatus described in any one of the embodiments.
根据本公开实施例的第三方面,提供一种数据处理方法,所述方法包括:接收并缓存至少一个数据生产单元采集的与可移动设备的行驶状态相关的第一数据;在接收到多个数据消费单元对所述第一数据的第一数据订阅请求之后,将缓存的所述第一数据分别转发至所述多个数据消费单元;其中,所述第一数据用于所述多个数据消费单元对所述可移动设备的行驶状态进行控制。According to a third aspect of the embodiments of the present disclosure, there is provided a data processing method, the method comprising: receiving and buffering first data related to the driving state of a movable device collected by at least one data production unit; After the data consuming unit subscribes to the first data of the first data, it forwards the cached first data to the multiple data consuming units respectively; wherein the first data is used for the multiple data The consumer unit controls the driving state of the mobile device.
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。According to a fourth aspect of the embodiments of the present disclosure, there is provided a computer-readable storage medium having a computer program stored thereon, and when the program is executed by a processor, the method described in any of the embodiments is implemented.
根据本公开实施例的第五方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。According to a fifth aspect of the embodiments of the present disclosure, there is provided a computer device, including a memory, a processor, and a computer program stored in the memory and capable of running on the processor. The processor implements any implementation when the program is executed. The method described in the example.
应用本公开实施例方案,将数据生产单元产生的数据发送至数据中心,由数据中心将数据生产单元产生的数据分别发送给多个数据消费中心,减少了对数据生产单元的带宽占用。By applying the solution of the embodiments of the present disclosure, the data generated by the data production unit is sent to the data center, and the data generated by the data production unit is sent to multiple data consumption centers by the data center, thereby reducing the bandwidth occupation of the data production unit.
附图说明Description of the drawings
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly describe the technical solutions in the embodiments of the present disclosure, the following will briefly introduce the accompanying drawings used in the description of the embodiments. Obviously, the accompanying drawings in the following description are only some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can be obtained from these drawings without creative labor.
图1是传统的数据生产单元和数据消费单元之间的拓扑结构的示意图。Figure 1 is a schematic diagram of the topology between a traditional data production unit and a data consumption unit.
图2是本公开实施例的数据处理装置的示意图。Fig. 2 is a schematic diagram of a data processing device according to an embodiment of the present disclosure.
图3是本公开具体实施例的数据处理装置的示意图。Fig. 3 is a schematic diagram of a data processing device according to a specific embodiment of the present disclosure.
图4是本公开实施例的数据融合的示意图。Fig. 4 is a schematic diagram of data fusion in an embodiment of the present disclosure.
图5是本公开实施例的多个数据处理中心的示意图。Fig. 5 is a schematic diagram of multiple data processing centers according to an embodiment of the present disclosure.
图6是本公开实施例的交互示意图。Fig. 6 is a schematic diagram of interaction of an embodiment of the present disclosure.
图7是本公开实施例的数据处理方法的流程图。Fig. 7 is a flowchart of a data processing method according to an embodiment of the present disclosure.
图8是本公开实施例的计算机设备的框图。Fig. 8 is a block diagram of a computer device of an embodiment of the present disclosure.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例 性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。The exemplary embodiments will be described in detail here, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。The terms used in the present disclosure are only for the purpose of describing specific embodiments, and are not intended to limit the present disclosure. The singular forms of "a", "said" and "the" used in the specification of this disclosure and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and/or" as used herein refers to and includes any or all possible combinations of one or more associated listed items.
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。It should be understood that although the terms first, second, third, etc. may be used in this disclosure to describe various information, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present disclosure, the first information may also be referred to as second information, and similarly, the second information may also be referred to as first information. Depending on the context, the word "if" as used herein can be interpreted as "when" or "when" or "in response to determination".
可移动设备上有一些数据生产单元能够采集与可移动设备的行驶相关的数据,例如,可移动设备上的温度传感器能够产生可移动设备所处环境的温度或者可移动设备上的一些装置(例如,发动机)的温度;又例如,可移动设备上的激光雷达能够产生可移动设备的位置数据。这些数据生产单元产生的数据可以提供给可移动设备上的数据消费单元,从而使数据消费单元控制可移动设备的行驶状态。There are some data production units on the mobile equipment that can collect data related to the driving of the mobile equipment. For example, the temperature sensor on the mobile equipment can generate the temperature of the environment where the mobile equipment is located or some devices on the mobile equipment (such as , The temperature of the engine); another example, a lidar on a movable device can generate position data of the movable device. The data generated by these data production units can be provided to the data consumption unit on the mobile device, so that the data consumption unit controls the driving state of the mobile device.
在实际应用中,各个数据生产单元产生的数据往往由数据生产单元本身进行缓存,再由数据生产单元分别发送至各个数据消费单元。这样就导致了数据分散,数据生产单元与数据消费单元之间的通信链路及系统架构复杂,同一条链路常常需要传输多个相同数据,对链路带宽造成浪费,且系统结构和功能不利于扩展。In practical applications, the data generated by each data production unit is often cached by the data production unit itself, and then sent to each data consumption unit by the data production unit. This leads to data fragmentation. The communication link and system architecture between the data production unit and the data consumption unit are complex. The same link often needs to transmit multiple identical data, which wastes link bandwidth, and the system structure and functions are not. Conducive to expansion.
如图1所示,是一些实施例的传统的数据生产单元和数据消费单元之间的拓扑结构的示意图。其中,全球定位系统(Global Positioning System,以下简称为GPS)、惯性测量单元(Inertial Measurement Unit,以下简称为IMU)、指南针、视觉传感器、飞行时间(Time of Flight,以下简称为TOF)传感器和雷达分别是数据产生单元,飞行控制系统、导航单元和定位系统分别是数据消费单元。不同的数据生产单元和数据消费单元可安装在不同的芯片上。飞行控制系统需要获取IMU、GPS、高度传感器(包括TOF传感器和超声波传感器等)、雷达、视觉传感器等数据生产单元产生的传感器数据,则飞行控制系统需要向多个数据生产单元所在的子系统、多个芯片获取数据,系统间的通信链路相互交错,拓扑较复杂,容易造成数据冗余及混乱。此外,飞行控制系统和导航系统均需要同时获取GPS产生的数据,因此,GPS需要将同一份数据同 时发送多份。在飞行控制系统和导航系统均与GPS的同一个通信端口通信连接的情况下,容易导致GPS的通信端口带宽占用过高甚至带宽不足,导致数据丢帧。As shown in FIG. 1, it is a schematic diagram of a topology structure between a traditional data production unit and a data consumption unit in some embodiments. Among them, the Global Positioning System (Global Positioning System, hereinafter referred to as GPS), Inertial Measurement Unit (hereinafter referred to as IMU), compass, vision sensor, Time of Flight (Time of Flight, hereinafter referred to as TOF) sensor and radar They are the data generation unit, and the flight control system, navigation unit and positioning system are the data consumption units. Different data production units and data consumption units can be installed on different chips. The flight control system needs to obtain sensor data generated by data production units such as IMU, GPS, altitude sensors (including TOF sensors and ultrasonic sensors, etc.), radars, and vision sensors. The flight control system needs to send data to the subsystem where multiple data production units are located, Multiple chips obtain data, the communication links between systems are interleaved, and the topology is more complicated, which is likely to cause data redundancy and confusion. In addition, both the flight control system and the navigation system need to acquire the data generated by GPS at the same time. Therefore, GPS needs to send multiple copies of the same data at the same time. When both the flight control system and the navigation system are connected to the same communication port of GPS, it is easy to cause the bandwidth of the GPS communication port to occupy too high or even insufficient bandwidth, resulting in data frame loss.
基于此,本公开实施例提供一种数据处理装置,如图2所示,所述装置包括:Based on this, an embodiment of the present disclosure provides a data processing device. As shown in FIG. 2, the device includes:
数据中心201,以及与所述数据中心201通信连接的至少一个数据生产单元202和多个数据消费单元203;A data center 201, and at least one data production unit 202 and multiple data consumption units 203 that are communicatively connected to the data center 201;
所述至少一个数据生产单元202用于采集与可移动设备的行驶状态相关的第一数据,并将所述第一数据转发至所述数据中心201进行缓存;The at least one data production unit 202 is configured to collect first data related to the driving state of the movable device, and forward the first data to the data center 201 for caching;
所述数据中心201用于在接收到所述多个数据消费单元203对所述第一数据的第一数据订阅请求之后,将缓存的所述第一数据分别转发至所述多个数据消费单元203;The data center 201 is configured to respectively forward the cached first data to the multiple data consuming units after receiving the first data subscription request of the multiple data consuming units 203 for the first data 203;
所述多个数据消费单元203中的每个数据消费单元203用于基于所述第一数据对所述可移动设备的行驶状态进行控制。Each data consumption unit 203 of the plurality of data consumption units 203 is configured to control the driving state of the movable device based on the first data.
本公开实施例中的数据生产单元202(也称为生产者)是能够产生数据的功能单元。所述数据生产单元202包括但不限于至少一种传感器,例如,用于产生可移动设备的速度信息的第一传感器(例如,速度传感器)、用于产生可移动设备的位姿信息的第二传感器(例如,IMU、GPS等)、用于产生可移动设备所处环境的环境信息的第三传感器(例如,温度传感器、湿度传感器等),以及多个所述第一消费单元203中具有数据生产能力的数据消费单元(例如,行驶控制单元)中的至少一者。上述数据生产单元202可以生产相应的数据,并将生产的数据直接或间接发送至数据中心201,保证数据中心201为数据资源池,数据生产单元202产生的第一数据能够流入该数据资源池。其中,数据中心201的个数可以为1个或多个。The data production unit 202 (also referred to as a producer) in the embodiment of the present disclosure is a functional unit capable of generating data. The data production unit 202 includes, but is not limited to, at least one sensor, for example, a first sensor (for example, a speed sensor) for generating speed information of a movable device, and a second sensor for generating pose information of the movable device. A sensor (for example, IMU, GPS, etc.), a third sensor (for example, a temperature sensor, a humidity sensor, etc.) for generating environmental information of the environment in which the mobile device is located, and a plurality of the first consumer units 203 having data At least one of the data consumption units (for example, the driving control unit) of the production capacity. The aforementioned data production unit 202 can produce corresponding data, and send the produced data directly or indirectly to the data center 201 to ensure that the data center 201 is a data resource pool, and the first data generated by the data production unit 202 can flow into the data resource pool. Wherein, the number of data centers 201 may be one or more.
数据中心201可以为部分或全部数据生产单元202提供几帧数据的缓存,以便消费者能够灵活地订阅当前数据和历史数据。同时可以对数据进行简单加工和处理,包括以下至少任一:设置发送至数据消费单元203的第一数据的帧率、设置对数据生产单元202发送的第一数据进行缓存的缓存帧数、融合处理等。数据中心201具有数据转发和路由接口,以便进行数据和指令的收发。The data center 201 may provide a buffer of several frames of data for some or all of the data production unit 202, so that consumers can flexibly subscribe to current data and historical data. At the same time, the data can be simply processed and processed, including at least any of the following: setting the frame rate of the first data sent to the data consumption unit 203, setting the number of buffer frames for buffering the first data sent by the data production unit 202, and fusion Processing etc. The data center 201 has a data forwarding and routing interface for sending and receiving data and instructions.
本公开实施例中的数据消费单元203(也称为消费者)是指可以向数据中心201订阅需要的第一数据,并使用这些数据执行相应操作的功能单元。所述数据消费单元203可以包括但不限于以下至少任一:行驶控制单元,路径规划单元,任务执行单元, 以及定位单元。所述行驶控制单元用于控制可移动设备的行驶状态,所述行驶状态包括速度、方向和位置中的至少一者。所述路径规划单元用于对所述可移动设备的行驶路径进行规划。所述任务执行单元用于控制可移动设备或者可移动设备上的外设的状态(例如,位姿),以使其执行相应的任务。所述定位单元用于对所述可移动设备进行定位。The data consumption unit 203 (also referred to as a consumer) in the embodiment of the present disclosure refers to a functional unit that can subscribe to the data center 201 for the required first data, and use the data to perform corresponding operations. The data consumption unit 203 may include but is not limited to at least any of the following: a driving control unit, a path planning unit, a task execution unit, and a positioning unit. The driving control unit is used to control a driving state of a movable device, and the driving state includes at least one of speed, direction, and position. The path planning unit is used to plan the travel path of the movable device. The task execution unit is used to control the mobile device or the state (for example, pose) of the peripheral on the mobile device, so that it can execute the corresponding task. The positioning unit is used for positioning the movable device.
本公开实施例中的可移动设备可以是无人机、车辆、可移动机器人、潜艇等具有移动能力的设备。以可移动设备是无人机为例,所述行驶控制单元可以是无人机上的飞行控制单元,所述路径规划单元可以用于控制无人机按照预设路径飞行或者返航,所述任务执行单元可以是航线飞行作业单元,用于在无人机飞行过程中控制无人机飞往指定地点或者悬停,或者控制无人机上搭载的图像采集设备拍摄图像。所述定位系统可以对无人机进行定位。The movable device in the embodiment of the present disclosure may be a device with mobile capabilities such as a drone, a vehicle, a mobile robot, a submarine, and the like. Taking a drone as an example, the driving control unit can be a flight control unit on the drone, and the path planning unit can be used to control the drone to fly or return to a preset path, and the task is executed The unit may be an airline flight operation unit, which is used to control the drone to fly to a designated location or hover during the flight of the drone, or to control the image acquisition device mounted on the drone to take images. The positioning system can position the drone.
如图3所示,是一些实施例中的数据处理装置的具体结构示意图,其中,生产者包括指南针、IMU、气压计、视觉传感器、TOF传感器、GPS、超声波传感器和雷达等,消费者包括飞行控制单元、导航单元、航线飞行作业单元和定位单元。应当说明的是,图3仅为本公开的示例性说明,本公开的数据生产单元202以及数据消费单元203的种类和数量均不限于此。As shown in Figure 3, it is a schematic diagram of the specific structure of the data processing device in some embodiments. Among them, producers include compasses, IMUs, barometers, vision sensors, TOF sensors, GPS, ultrasonic sensors, and radars. Consumers include flying Control unit, navigation unit, route flight operation unit and positioning unit. It should be noted that FIG. 3 is only an exemplary illustration of the present disclosure, and the types and quantities of the data production unit 202 and the data consumption unit 203 of the present disclosure are not limited to this.
在一些实施例中,所述可移动设备可以在特定情况下启动并产生所述第一数据。例如,所述数据生产单元202可以在检测到可移动设备处于或者即将处于行驶状态的情况下启动并产生所述第一数据。在可移动设备为无人机的情况下,无人机上的数据生产单元202可用在检测到无人机处于或者即将处于飞行状态的情况下启动并产生所述第一数据,其中,可以根据可移动设备接收到的启动指令,或者可移动设备的电源开启,或者根据其他方式,确定可移动设备处于或者即将处于行驶状态。又例如,所述数据生产单元202也可以在检测到所述可移动设备或者搭载在所述可移动设备上的外设正在执行指定任务的情况下启动并产生所述第一数据。仍以无人机为例,无人机上的数据生产单元202可用在检测到无人机正在执行飞行作业的情况下,启动并产生所述第一数据。其中,所述飞行作业可以是飞行至指定的目的地,拍摄指定地点的照片,在指定高度悬停,或者其他任务。再例如,所述数据生产单元202也可以在接收到可移动设备或者与所述可移动设备配套使用的控制设备(例如,遥控器)发送的启动指令的情况下启动并产生所述第一数据。在其他实施例中,所述数据生产单元202可以在上电时启动并产生第一数据,在断电时停止产生第一数据。In some embodiments, the movable device may be activated and generate the first data under certain circumstances. For example, the data production unit 202 may start and generate the first data when it is detected that the movable device is or is about to be in a driving state. In the case that the mobile device is a drone, the data production unit 202 on the drone can be used to start and generate the first data when it is detected that the drone is or is about to be in flight. The start instruction received by the mobile device, or the power of the mobile device is turned on, or according to other methods, it is determined that the mobile device is or is about to be in a driving state. For another example, the data production unit 202 may also start and generate the first data when it is detected that the movable device or the peripheral device mounted on the movable device is performing a specified task. Still taking the drone as an example, the data production unit 202 on the drone can be used to start and generate the first data when it is detected that the drone is performing a flight operation. Wherein, the flight operation may be flying to a designated destination, taking a photo of a designated location, hovering at a designated height, or other tasks. For another example, the data production unit 202 may also start and generate the first data upon receiving a start instruction sent by a movable device or a control device (for example, a remote control) used in conjunction with the movable device. . In other embodiments, the data production unit 202 may start and generate the first data when the power is on, and stop generating the first data when the power is off.
每个数据生产单元202可以根据一定的帧率生产相应的第一数据。生产第一数据的帧率可以是预先设置的固定帧率,例如,5Hz,10Hz,20Hz。也可以采用动态的帧率,帧率的大小可以根据实际情况而设置。例如,根据可移动设备当前所处的环境条件而设置,在环境条件比较差(例如,光照强度较低或者在大雾天、沙尘暴等环境下)的情况下,可以将帧率设置得较高;反之设置得较低。又例如,根据当前执行的任务而设置。在执行任务所需的精确度要求较高的情况下,可以将帧率设置得较高;反之设置得较低。再例如,可以根据数据生产单元202生产出的第一数据的置信度来设置该数据生产单元202生产第一数据的帧率。在置信度较高的情况下,可以将帧率设置得较高;反之设置得较低。再例如,还可以根据数据生产单元202的运行状态来设置。所述运行状态可以包括所述数据生产单元202的温度。在温度高于预设温度值的情况下,可以采用较低的帧率生产第一数据,反之,可以采用较高的帧率生产第一数据。再例如,还可以根据可移动设备的行驶状态来设置。在可移动设备启动过程中以较低的帧率生产第一数据,并在可移动设备启动完成后以较高的帧率生产第一数据。再例如,可以根据第一数据的精确度要求来设置。对精确度要求较高的第一数据可以采用较高的帧率,反之可以采用较低的帧率。还可以根据其他因素设置帧率,此处不再赘述。应当说明的是,不同的数据生产单元202的帧率可以设置为相同,也可以设置为不同。数据生产单元202在生产第一数据之后,可以将生产出的第一数据逐帧发送至数据中心201,也可以跳帧发送至数据中心201。作为一种可选方式,数据生产单元202可以始终以固定的帧率采集数据,并根据预设条件选择逐帧或者跳帧发送的方式将第一数据发送至数据中心201。Each data production unit 202 can produce corresponding first data according to a certain frame rate. The frame rate for producing the first data may be a preset fixed frame rate, for example, 5 Hz, 10 Hz, 20 Hz. A dynamic frame rate can also be used, and the size of the frame rate can be set according to the actual situation. For example, set according to the current environmental conditions of the mobile device. In the case of poor environmental conditions (for example, low light intensity or in environments such as fog, sandstorms, etc.), the frame rate can be set higher ; On the contrary, set it lower. For another example, it is set according to the task currently being executed. In the case where the accuracy required to perform the task is high, the frame rate can be set higher; otherwise, the frame rate can be set lower. For another example, the frame rate at which the data production unit 202 produces the first data can be set according to the confidence level of the first data produced by the data production unit 202. In the case of higher confidence, the frame rate can be set higher; otherwise, the frame rate can be set lower. For another example, it can also be set according to the operating state of the data production unit 202. The operating state may include the temperature of the data production unit 202. In the case where the temperature is higher than the preset temperature value, a lower frame rate may be used to produce the first data, and conversely, a higher frame rate may be used to produce the first data. For another example, it can also be set according to the driving state of the movable device. The first data is produced at a lower frame rate during the startup of the portable device, and the first data is produced at a higher frame rate after the movable device is started up. For another example, it can be set according to the accuracy requirements of the first data. A higher frame rate can be used for the first data with higher accuracy requirements, and vice versa, a lower frame rate can be used. The frame rate can also be set according to other factors, which will not be repeated here. It should be noted that the frame rates of different data production units 202 can be set to be the same or different. After the data production unit 202 produces the first data, the produced first data may be sent to the data center 201 frame by frame, or may be sent to the data center 201 by skipping frames. As an optional manner, the data production unit 202 may always collect data at a fixed frame rate, and send the first data to the data center 201 in a frame-by-frame or skip-frame transmission mode according to preset conditions.
所述预设条件可以基于前述环境条件、当前执行任务和数据生产单元202生产出的第一数据的置信度中的至少任一条件来设置,也可以根据其他条件或者以上至少任一条件与其他条件共同设置,此处不再赘述。跳帧的意思是,当以帧率F采集数据时,若在t1时刻采集到第一帧数据,在t2时刻采集到第二帧数据,在t3时刻采集到第三帧数据,在t4时刻采集到第四帧数据,则将第一帧数据,第三帧数据作为第一数据发送至数据中心201,而不发送第二帧数据和第三帧数据。也就是说,将不是连续接收的多个帧数据作为第一数据发送至数据中心201。The preset condition can be set based on at least any one of the aforementioned environmental conditions, the currently executed task, and the confidence level of the first data produced by the data production unit 202, or can be set based on other conditions or at least any one of the above conditions and other conditions. The conditions are set together, so I won’t repeat them here. Frame skipping means that when data is collected at frame rate F, if the first frame of data is collected at t1, the second frame of data is collected at t2, the third frame of data is collected at t3, and the data is collected at t4. When the fourth frame of data is reached, the first frame of data and the third frame of data are sent to the data center 201 as the first data, and the second frame of data and the third frame of data are not sent. In other words, a plurality of frame data that are not continuously received are sent to the data center 201 as the first data.
数据生产单元202可以将生产出的第一数据直接发送至数据中心201,也可以对第一数据进行预处理后再发送至数据中心201。所述预处理可包括过滤掉不可用的第一数据。所述不可用的第一数据可以包括数值超出预设范围的数据,或者置信度低于预设值的数据。所述预处理还可包括其他类型的预处理,此处不再赘述。通过预处 理,可以减少数据传输量,提高数据处理效率。The data production unit 202 may directly send the produced first data to the data center 201, or may preprocess the first data before sending it to the data center 201. The preprocessing may include filtering out unusable first data. The unavailable first data may include data whose value exceeds a preset range, or data whose confidence is lower than a preset value. The preprocessing may also include other types of preprocessing, which will not be repeated here. Through pre-processing, the amount of data transmission can be reduced and the efficiency of data processing can be improved.
在数据生产单元202的数量为多个的情况下,每个数据生产单元202可以独立地向数据中心201发送第一数据,例如,每个数据生产单元202均可以连接到数据中心201的一个通信接口,并通过该通信接口向数据中心201发送第一数据。所述通信接口可以是I2C总线接口、通用串行总线(Universal Serial Bus,USB)接口等。在一些实施例中,不同的数据生产单元202连接的通信接口不同。在其他实施例中,多个数据生产单元202也可以共用同一个通信接口。数据生产单元202在向数据中心201发送第一数据时,可以在所述第一数据中加入本数据生产单元202的标识信息和/或该第一数据的标识信息。进一步地,还可以加入发送所述第一数据的帧率信息。When the number of data production units 202 is multiple, each data production unit 202 can independently send the first data to the data center 201. For example, each data production unit 202 can be connected to a communication of the data center 201. Interface, and send the first data to the data center 201 through the communication interface. The communication interface may be an I2C bus interface, a universal serial bus (Universal Serial Bus, USB) interface, or the like. In some embodiments, different data production units 202 are connected to different communication interfaces. In other embodiments, multiple data production units 202 may also share the same communication interface. When the data production unit 202 sends the first data to the data center 201, the identification information of the data production unit 202 and/or the identification information of the first data may be added to the first data. Further, the frame rate information for sending the first data can also be added.
在一些实施例中,可以将数据生产单元202产生的第一数据的一部分发送到数据中心201,将数据生产单元202产生的第一数据的另一部分直接发送到数据消费单元203。直接向数据消费单元203发送第一数据的数据生产单元202可以是具有以下特征的数据生产单元202:仅向一个数据消费单元203发送第一数据,且该数据生产单元202到其对应的数据消费单元203之间的距离小于该数据生产单元202到数据中心201的距离与数据中心201到该数据生产单元202对应的数据消费单元203之间的距离之和。在实际情况下,也可以根据其他因素来确定将哪些数据生产单元202产生的第一数据直接发送到数据消费单元203,此处不再赘述。In some embodiments, a part of the first data generated by the data production unit 202 may be sent to the data center 201, and another part of the first data generated by the data production unit 202 may be directly sent to the data consumption unit 203. The data production unit 202 that directly sends the first data to the data consumption unit 203 may be a data production unit 202 with the following characteristics: only sends the first data to one data consumption unit 203, and the data production unit 202 sends the data to its corresponding data consumption unit. The distance between the units 203 is less than the sum of the distance between the data production unit 202 and the data center 201 and the distance between the data center 201 and the data consumption unit 203 corresponding to the data production unit 202. In actual situations, it is also possible to determine which data production unit 202 generates the first data to be directly sent to the data consumption unit 203 according to other factors, which will not be repeated here.
在一些实施例中,所述至少一个数据生产单元202包括第一数据生产单元和第二数据生产单元;所述多个数据消费单元203包括第一数据消费单元和第二数据消费单元;所述第二数据生产单元用于:将第一数据生产单元采集的所述第一数据转发至所述数据中心201。也就是说,第一数据生产单元可以直接将产生的第一数据发送至数据中心201,也可以通过第二数据生产单元将第一数据生产单元产生的第一数据转发至数据中心201。通过这种方式,提高了方案的灵活性。在数据中心201的通信接口数量有限,或者某个数据生产单元202与数据中心201的通信链路故障,或者某个数据生产单元202与数据中心201的距离较远的情况下,通过上述方式能够保证将尽可能多的数据生产单元202产生的第一数据发送至数据中心201。In some embodiments, the at least one data production unit 202 includes a first data production unit and a second data production unit; the plurality of data consumption units 203 includes a first data consumption unit and a second data consumption unit; The second data production unit is used to forward the first data collected by the first data production unit to the data center 201. That is, the first data production unit may directly send the generated first data to the data center 201, or may forward the first data generated by the first data production unit to the data center 201 through the second data production unit. In this way, the flexibility of the scheme is improved. In the case where the number of communication interfaces of the data center 201 is limited, or the communication link between a certain data production unit 202 and the data center 201 is faulty, or a certain data production unit 202 is far away from the data center 201, the above method can be used to It is ensured that as many first data generated by the data production unit 202 as possible are sent to the data center 201.
在一些实施例中,数据生产单元202可以根据预设条件选择是否产生第一数据或者是否将产生的数据发送至数据中心201。所述预设条件可以是可移动设备的行驶状态,或者根据可移动设备或可移动设备上搭载的外设(例如,图像采集设备)所执行的任务。例如,在可移动设备处于行驶状态的情况下,数据生产单元202可以产生 第一数据,否则不产生第一数据;或者,在可移动设备或可移动设备上搭载的外设正在执行任务或者执行的任务为预设任务的情况下,数据生产单元202可以产生第一数据,否则不产生第一数据。所述可移动设备执行的任务可以是行驶到指定目的地,所述外设执行的任务可以是采集预设地点的图像。In some embodiments, the data production unit 202 may select whether to generate the first data or whether to send the generated data to the data center 201 according to preset conditions. The preset condition may be the driving state of the movable device, or according to a task performed by the movable device or a peripheral device (for example, an image capture device) carried on the movable device. For example, when the mobile device is in a driving state, the data production unit 202 can generate the first data, otherwise it will not generate the first data; or, the mobile device or the peripherals mounted on the mobile device are performing tasks or performing tasks. When the task of is a preset task, the data production unit 202 may generate the first data, otherwise the first data is not generated. The task performed by the mobile device may be driving to a designated destination, and the task performed by the peripheral device may be collecting images of a preset location.
在数据生产单元202将第一数据发送至数据中心201之后,数据中心201可以对所述第一数据进行缓存,以供第一数据消费中心订阅。数据中心201可以对第一数据中预设数量的数据帧进行缓存。其中,缓存的数据帧的帧数可以是固定设置的,也可以是动态设置的,例如,可以根据第一数据的实时性要求来设置。对于实时性要求较高的第一数据,缓存的帧数可以较少,反之缓存的帧数可以较多。还可以根据其他条件来设置缓存的第一数据的帧数,此处不再赘述。数据中心201对不同的数据生产单元202缓存的数据帧的帧数可以相同,也可以不同。After the data production unit 202 sends the first data to the data center 201, the data center 201 may cache the first data for subscription by the first data consumption center. The data center 201 may buffer a preset number of data frames in the first data. Wherein, the frame number of the buffered data frame may be fixedly set or dynamically set, for example, it may be set according to the real-time requirement of the first data. For the first data with high real-time requirements, the number of buffered frames may be less, and vice versa. The number of frames of the buffered first data can also be set according to other conditions, which will not be repeated here. The number of data frames buffered by the data center 201 for different data production units 202 may be the same or different.
在一些实施例中,数据中心201可以直接将数据生产单元202产生的第一数据发送至数据消费单元203,也可以获取所述至少一个数据生产单元202采集的与所述可移动设备的行驶状态相关的第二数据;根据所述第二数据生成所述第一数据。In some embodiments, the data center 201 may directly send the first data generated by the data production unit 202 to the data consumption unit 203, and may also obtain the driving status of the mobile device collected by the at least one data production unit 202. Related second data; generating the first data according to the second data.
例如,数据中心201可以从第二数据中筛选出部分数据帧,将筛选出的部分数据帧作为第一数据发送至数据消费单元203。数据中心201还可以对第二数据进行过滤,以从所述第二数据中删除失效数据,将剩余的第二数据作为第一数据发送至数据消费单元。所述失效数据包括缺少必要信息的不完整数据,以错误的帧率产生的数据,以及数值不在有效范围内的数据等。如图4所示,数据中心201可以对多个数据生产单元202采集的所述第二数据进行融合处理,得到所述第一数据。所述融合处理可以包括对多个所述数据生产单元202采集的同一类别的第二数据进行融合处理,得到所述第一数据。其中,同一类别可以是功能相同,例如,GPS系统产生的位置数据与IMU产生的位置数据都是用于对可移动设备进行定位的,则二者的类别相同。例如,对多个定位系统产生的相对位置数据进行融合处理,得到可移动设备的绝对位置数据。又例如,根据多个定位系统产生的定位数据的置信度,对多个所述定位数据进行加权平均,得到可移动设备的绝对位置数据。For example, the data center 201 may filter out some data frames from the second data, and send the selected data frames to the data consumption unit 203 as the first data. The data center 201 may also filter the second data to delete invalid data from the second data, and send the remaining second data as the first data to the data consumption unit. The invalidation data includes incomplete data lacking necessary information, data generated at an incorrect frame rate, and data whose values are not within the valid range. As shown in FIG. 4, the data center 201 may perform fusion processing on the second data collected by multiple data production units 202 to obtain the first data. The fusion processing may include performing fusion processing on a plurality of second data of the same type collected by the data production unit 202 to obtain the first data. Among them, the same category may have the same function. For example, if the location data generated by the GPS system and the location data generated by the IMU are both used to locate the mobile device, the categories of the two are the same. For example, the relative position data generated by multiple positioning systems is fused to obtain the absolute position data of the mobile device. For another example, according to the confidence level of the positioning data generated by the multiple positioning systems, a weighted average is performed on the multiple positioning data to obtain the absolute position data of the movable device.
在实际应用中,视觉传感器在光线较弱以及纹理场景容易失效,因此,在这些场景下视觉传感器的置信度可以设置得较低。IMU和加速度计存在累计误差,可以将IMU和加速度计产生的前若干帧数据的置信度设置得较高,将IMU和加速度计产生的其余数据的置信度设置得较低。GPS容易受到干扰和遮挡,因此,可以在高楼林立的 城市场景或者隧道、高架桥等场景将GPS的置信度设置得较低,在视野开阔的地区将GPS的置信度设置得较高。In practical applications, the vision sensor is prone to failure in weak light and texture scenes, so the confidence of the vision sensor can be set lower in these scenes. The IMU and the accelerometer have accumulated errors. The confidence level of the previous frames of data generated by the IMU and accelerometer can be set higher, and the confidence level of the remaining data generated by the IMU and accelerometer can be set lower. GPS is susceptible to interference and obstruction. Therefore, the confidence level of GPS can be set lower in urban scenes with tall buildings or in scenes such as tunnels and viaducts, and the confidence level of GPS can be set higher in areas with a wide field of view.
数据中心201还可以对同一个数据生产单元202产生的多帧第一数据进行融合,得到融合后的第一数据。在图4中,数据生产单元1至数据生产单元n可以是同一个数据生产单元,也可以是不同的数据生产单元。第一数据1至第一数据n可以是不同的数据生产单元产生的第一数据,也可以是同一个数据生产单元产生的不同数据帧。The data center 201 may also merge multiple frames of first data generated by the same data production unit 202 to obtain the merged first data. In FIG. 4, the data production unit 1 to the data production unit n can be the same data production unit or different data production units. The first data 1 to the first data n may be first data generated by different data production units, or may be different data frames generated by the same data production unit.
或者,所述融合处理可以包括将多个所述数据生产单元202采集的用于生成相同的第一数据的第二数据进行融合处理,得到所述第一数据。例如,根据速度传感器产生的速度数据和加速度计产生的加速度数据,确定可移动设备的位置数据。通过融合处理,能够减轻数据突变、抖动和噪声的影响,提高数据的可靠性,从而提高对可移动设备的行驶状态进行控制的控制精确度,提高可移动设备的行驶安全性。Alternatively, the fusion processing may include performing fusion processing on a plurality of second data collected by the data production unit 202 and used to generate the same first data to obtain the first data. For example, according to the speed data generated by the speed sensor and the acceleration data generated by the accelerometer, the position data of the movable device is determined. Through the fusion processing, the impact of data mutation, jitter and noise can be reduced, and the reliability of the data can be improved, thereby improving the control accuracy of the control of the driving state of the mobile device, and improving the driving safety of the mobile device.
数据中心201可以将缓存的数据帧全部发送给数据消费单元203,也可以按照预设的跳帧步距从所述第一数据中选择数据帧;将选择的所述数据帧发送到所述多个数据消费单元203。例如,每缓存5帧数据帧,就向数据消费单元203发送1帧数据帧。发送给数据消费单元203的帧率可以根据数据消费单元203的第一数据订阅请求而设置。如果数据消费单元203的第一数据订阅请求中未携带帧率信息,则可根据该第一数据订阅请求的前一个第一数据订阅请求中的帧率信息,或者根据默认的发送帧率向数据消费单元203发送数据。The data center 201 may send all the buffered data frames to the data consumption unit 203, or may select a data frame from the first data according to a preset frame skipping step; send the selected data frame to the multiple A data consumption unit 203. For example, every time 5 data frames are buffered, 1 data frame is sent to the data consumption unit 203. The frame rate sent to the data consumption unit 203 may be set according to the first data subscription request of the data consumption unit 203. If the first data subscription request of the data consuming unit 203 does not carry frame rate information, it can send the data to the data according to the frame rate information in the previous first data subscription request of the first data subscription request, or according to the default sending frame rate. The consumption unit 203 sends data.
数据中心201与数据生产单元202和数据消费单元203均可以通过网口、应用程序接口(Application Programming Interface,以下简称为API)、外设部件互连标准(Peripheral Component Interconnect,以下简称为PCI)接口等各种类型的接口进行通信连接,从而通过对应的接口分别获取各个数据生产单元202发送的数据,或者通过对应的接口分别向各个数据消费单元203发送数据。可选地,数据中心201还可以通过广播的方式将缓存的所述第一数据分别转发至所述多个数据消费单元203。发送给某个数据消费单元203的第一数据可以携带该数据消费单元203的标识信息,数据消费单元203可以根据该标识信息从广播数据中获取发送给自己的第一数据。The data center 201 and the data production unit 202 and the data consumption unit 203 can all pass through the network port, Application Programming Interface (hereinafter referred to as API), Peripheral Component Interconnect (hereinafter referred to as PCI) interface Various types of interfaces are used for communication connection, so as to obtain data sent by each data production unit 202 through the corresponding interface, or send data to each data consumption unit 203 through the corresponding interface. Optionally, the data center 201 may also forward the cached first data to the multiple data consumption units 203 in a broadcast manner. The first data sent to a certain data consumption unit 203 may carry the identification information of the data consumption unit 203, and the data consumption unit 203 may obtain the first data sent to itself from the broadcast data according to the identification information.
在一些实施例中,如图5所示,所述数据中心201包括多个子数据中心,每个子数据中心均用于获取至少一个数据生产单元202产生的所述第一数据,并将所述第一数据转发至所述多个数据消费单元203。图中示出了子数据中心数量为2的情况, 在实际应用中,子数据中心的数量不限于此。通过设置子数据中心,可以增强数据中心201的数据通信压力,同时,也能够根据实际情况选择将数据生产单元和数据消费单元连接到较优的子数据中心,从而减小通信代价。In some embodiments, as shown in FIG. 5, the data center 201 includes multiple sub-data centers, and each sub-data center is used to obtain the first data generated by at least one data production unit 202, and to combine the first data A piece of data is forwarded to the plurality of data consumption units 203. The figure shows a situation where the number of sub-data centers is 2. In practical applications, the number of sub-data centers is not limited to this. By setting up a sub-data center, the data communication pressure of the data center 201 can be increased, and at the same time, the data production unit and the data consumption unit can be selected to connect to a better sub-data center according to the actual situation, thereby reducing the communication cost.
应当说明的是,假设数据生产单元A的数据用于发送给数据消费单元B使用,则数据生产单元A与数据消费单元B既可以连接于相同的子数据中心,也可以连接于不同的子数据中心。在数据生产单元A与数据消费单元B连接于不同的子数据中心的情况下,可以先将该数据生产单元A产生的第一数据发送到与该数据生产单元A相连接的子数据中心A,再通过子数据中心A将第一数据转发到与数据消费单元B相连接的子数据中心B,然后通过子数据中心B将第一数据转发到数据消费单元B。It should be noted that, assuming that the data of the data production unit A is used to send to the data consumption unit B, the data production unit A and the data consumption unit B can be connected to the same sub-data center or different sub-data centers. center. In the case that the data production unit A and the data consumption unit B are connected to different sub-data centers, the first data generated by the data production unit A can be sent to the sub-data center A connected to the data production unit A. Then, the first data is forwarded to the sub-data center B connected to the data consuming unit B through the sub-data center A, and then the first data is forwarded to the data consuming unit B through the sub-data center B.
在一些可选的实施例中,每个数据生产单元202和/或每个数据消费单元203均连接到物理距离最近的子数据中心。这里所说的物理距离即通信链路的物理长度。例如,数据生产单元A的数据输出端口到子数据中心A的数据输入端口的物理长度为1cm,数据生产单元B的数据输出端口到子数据中心A的数据输入端口的物理长度为2cm,则数据生产单元A到子数据中心A的距离比数据生产单元B到子数据中心A的距离近。第一数据消费中心与子数据中心的距离和数据生产单元202与子数据中心的距离的定义方式相同,此处不再赘述。在另一实施方式中,每个数据生产单元202和/或每个数据消费单元203均连接到位置距离最近的子数据中心。例如,数据生产单元202在整个数据处理装置中设置于第一位置,子数据中心A在整个数据处理装置中位于第二位置,并且数据生产单元202到子数据中心A的直线距离小于数据生产单元202到其他子数据中心的直线距离,则该子数据中心A为到第一子数据中心距离最近的子数据中心。通过将数据生产单元202和数据消费单元203连接到距离最近的子数据中心,能够减少通信代价,提高数据传输效率。In some optional embodiments, each data production unit 202 and/or each data consumption unit 203 is connected to a sub-data center with the closest physical distance. The physical distance mentioned here refers to the physical length of the communication link. For example, the physical length from the data output port of the data production unit A to the data input port of the sub-data center A is 1 cm, and the physical length from the data output port of the data production unit B to the data input port of the sub-data center A is 2 cm, then the data The distance between the production unit A and the sub-data center A is shorter than the distance between the data production unit B and the sub-data center A. The definition of the distance between the first data consumption center and the sub-data center and the distance between the data production unit 202 and the sub-data center are the same, and will not be repeated here. In another embodiment, each data production unit 202 and/or each data consumption unit 203 is connected to the closest sub-data center. For example, the data production unit 202 is set in the first position in the entire data processing device, the sub-data center A is located in the second position in the entire data processing device, and the linear distance from the data production unit 202 to the sub-data center A is smaller than the data production unit 202 to other sub-data centers in a straight line, then the sub-data center A is the sub-data center closest to the first sub-data center. By connecting the data production unit 202 and the data consumption unit 203 to the closest sub-data center, the communication cost can be reduced and the data transmission efficiency can be improved.
因此,数据生产单元202可以将所述第一数据发送至与所述数据生产单元202物理距离最近的第二子数据中心,以通过所述第二子数据中心将所述第一数据转发至第一子数据中心,并通过所述第一子数据中心将所述第一数据转发至与所述第一子数据中心物理距离最近的数据消费单元203。进一步地,第二子数据中心还可以通过至少一个第三数据中心将所述第一数据转发至第一子数据中心。不同数据中心之间可以通过USB接口或者光纤接口等不同类型的通信接口进行通信。Therefore, the data production unit 202 may send the first data to the second sub-data center that is the closest physical distance to the data production unit 202, so as to forward the first data to the second sub-data center through the second sub-data center. A sub-data center, and forward the first data through the first sub-data center to the data consuming unit 203 that is the closest physical distance to the first sub-data center. Further, the second sub-data center may also forward the first data to the first sub-data center through at least one third data center. Different data centers can communicate through different types of communication interfaces such as USB interfaces or optical fiber interfaces.
在一些实施例中,多个子数据中心可以连接到同一个管理单元,并通过该管理单元实现多个子数据中心之间的数据转发。作为一种可选的数据转发方式,所述管理 单元在接收到第一子数据中心发送的数据转发请求之后,可以查询预先存储的表格,所述表格中记录每种第一数据的标识信息与存储该第一数据的数据中心的标识信息之间的对应关系。查找到之后,管理单元可以向对应的第二子数据中心发送所述数据转发请求,第二子数据中心接收到该数据转发请求之后,可以直接将数据发送至第一子数据中心,或者通过至少一个第三数据中心将第一数据转发至第一子数据中心。In some embodiments, multiple sub-data centers may be connected to the same management unit, and data forwarding between the multiple sub-data centers is realized through the management unit. As an optional data forwarding method, after the management unit receives the data forwarding request sent by the first sub-data center, it can query a pre-stored table in which the identification information and identification information of each type of first data are recorded. Correspondence between the identification information of the data center storing the first data. After finding, the management unit can send the data forwarding request to the corresponding second sub-data center. After receiving the data forwarding request, the second sub-data center can directly send the data to the first sub-data center, or through at least A third data center forwards the first data to the first sub-data center.
作为另一种可选的数据转发方式,子数据中心还可以对数据进行预发送。即,第二子数据中心可以在接收到某些第一数据的情况下,直接将这些第一数据发送至第一子数据中心。这一过程可以在第二子数据中心接收到所述数据转发请求之前执行,通过这种方式,能够提高数据发送效率。管理单元存储的表格中,还可以包括每种第一数据的标识信息与需要该第一数据的第一数据消费中心所连接的子数据中心的标识信息之间的关联关系,第二子数据中心在接收到第一数据时,可以向管理中心查询需要该第一数据的第一数据消费中心是否与第二子数据中心相连接,如果未连接,则直接将该第一数据转发至对应的第一子数据中心。As another optional data forwarding method, the sub-data center can also pre-send data. That is, the second sub-data center may directly send the first data to the first sub-data center when receiving some of the first data. This process can be performed before the second sub-data center receives the data forwarding request. In this way, the efficiency of data transmission can be improved. The table stored by the management unit may also include the association relationship between the identification information of each type of first data and the identification information of the sub-data center connected to the first data consumption center that requires the first data, and the second sub-data center When receiving the first data, you can query the management center whether the first data consumption center that needs the first data is connected to the second sub-data center, if not connected, the first data is directly forwarded to the corresponding second data center. A sub-data center.
在一些实施例中,每个数据消费单元发送的第一数据订阅请求中都包括该数据消费单元向所述数据中心进行数据订阅的订阅方式的订阅信息。以所述多个数据消费单元中的第一数据消费单元为例,所述第一数据消费单元发送的第一数据订阅请求中包括用于表征所述第一数据消费单元向所述数据中心201进行数据订阅的订阅方式的订阅信息。所述数据中心201可以基于所述第一数据消费单元的订阅信息,将缓存的所述第一数据转发至所述第一数据消费单元。所述第一数据消费单元的订阅信息中可以包括数据订阅的频率(例如,每秒订阅一帧第一数据),订阅的第一数据中数据帧的标识信息,产生第一数据的数据生产单元202的标识信息所述第一数据消费单元的标识信息中的至少一者,还可以包括其他信息。作为一种可选的方式,第一数据消费单元可以在初始情况下(例如,设备刚启动)发送一次第一数据订阅请求,然后,只有在数据订阅方式发生改变的情况下,才重新发送数据订阅请求。数据中心201在接收到第一数据消费单元的第一数据订阅请求之后,按照该第一数据订阅请求所要求的方式发送第一数据,直到接收到新的第一数据订阅请求。作为另一种可选的方式,第一数据消费单元可以始终按照预设的频率向数据中心201发送数据订阅请求。作为再一种可选的方式,第一数据消费单元可以在特定条件的触发下向数据中心201发送第一数据订阅请求,所述特定条件可以是接收到发送第一数据订阅请求的触发指令,或者其他条件。所述多个数据消费单元中的其他数据消费单元进行数据订阅的方式与所述第一数据消费单元类似,此处不再赘述。In some embodiments, the first data subscription request sent by each data consuming unit includes subscription information of a data subscription manner in which the data consuming unit subscribes to the data center. Taking the first data consuming unit of the plurality of data consuming units as an example, the first data subscription request sent by the first data consuming unit includes a request for indicating that the first data consuming unit sends to the data center 201 Subscription information of the subscription method for data subscription. The data center 201 may forward the cached first data to the first data consumption unit based on the subscription information of the first data consumption unit. The subscription information of the first data consuming unit may include the frequency of data subscription (for example, subscribing to one frame of first data per second), the identification information of the data frame in the subscribed first data, and the data production unit that generates the first data At least one of the identification information of the first data consumption unit in the identification information of 202 may also include other information. As an optional method, the first data consuming unit may send the first data subscription request once in the initial situation (for example, the device has just started), and then only resend the data when the data subscription mode is changed. Subscription request. After receiving the first data subscription request of the first data consuming unit, the data center 201 sends the first data in a manner required by the first data subscription request until a new first data subscription request is received. As another optional manner, the first data consuming unit may always send a data subscription request to the data center 201 at a preset frequency. As yet another optional manner, the first data consuming unit may send a first data subscription request to the data center 201 under the trigger of a specific condition, and the specific condition may be receiving a trigger instruction to send the first data subscription request, Or other conditions. The manner in which other data consuming units of the multiple data consuming units subscribe to data is similar to that of the first data consuming unit, and will not be repeated here.
进一步地,所述第一数据订阅请求中还包括以下至少任一信息:所述第一数据消费单元的标识信息,所述第一数据消费单元订阅所述第一数据的频率信息,以及所述第一数据消费单元订阅的所述第一数据的标识信息。Further, the first data subscription request further includes at least any one of the following information: identification information of the first data consuming unit, frequency information for subscribing to the first data by the first data consuming unit, and The identification information of the first data subscribed by the first data consuming unit.
数据中心201可以按照接收到多个数据消费单元203的第一数据订阅请求的顺序,依次向所述多个数据消费单元203发送缓存的所述第一数据,或者按照预设的频率向所述多个数据消费单元203发送缓存的所述第一数据。The data center 201 may sequentially send the cached first data to the multiple data consuming units 203 according to the order in which the first data subscription requests of the multiple data consuming units 203 are received, or to the first data at a preset frequency. A plurality of data consumption units 203 send the buffered first data.
在所述多个数据消费单元的第一数据订阅请求中携带请求订阅的数据帧的标识信息(用于确定该数据帧是第几帧数据帧)的情况下,数据中心201可以根据数据帧的标识信息从缓存中查找对应的数据帧。在查找到所述第一数据中与所述第一数据订阅请求对应的数据帧的情况下,将所述对应的数据帧发送至所述多个数据消费单元203。在未查找到所述第一数据中与所述第一数据订阅请求对应的数据帧的情况下,将所述第一数据中预先指定的数据帧发送至所述多个数据消费单元203。In the case that the first data subscription request of the multiple data consumption units carries the identification information of the data frame for which the subscription is requested (used to determine which data frame is the data frame), the data center 201 can be based on the data frame The identification information searches for the corresponding data frame from the cache. When a data frame corresponding to the first data subscription request in the first data is found, the corresponding data frame is sent to the multiple data consumption units 203. If the data frame corresponding to the first data subscription request in the first data is not found, the pre-designated data frame in the first data is sent to the multiple data consumption units 203.
在一些实施例中,数据中心201还可以对所述至少一个数据生产单元202和/或所述多个数据消费单元203进行故障诊断。例如,数据生产单元202一般会以一定的频率向数据中心201发送第一数据,如果所述数据生产单元202发送所述第一数据的时间间隔大于所述第一时间间隔,数据中心201可以判定所述数据生产单元202发生故障。又例如,在数据消费单元203按照预设的第二时间间隔向所述数据中心201发送所述第一数据订阅请求的情况下,如果所述数据消费单元203发送所述第一数据订阅请求的时间间隔大于所述第二时间间隔,数据中心201可以判定所述数据消费单元203发生故障。除此之外,也可以根据其他方式来进行故障诊断,例如,数据生产单元202发送的第一数据中不可用数据的比例大于预设比例时,可以判定数据生产单元202发生故障。又例如,数据消费单元203发送的第一数据订阅请求中缺少必要信息时,判定所述数据消费单元203发生故障。In some embodiments, the data center 201 may also perform fault diagnosis on the at least one data production unit 202 and/or the multiple data consumption units 203. For example, the data production unit 202 will generally send the first data to the data center 201 at a certain frequency. If the time interval for the data production unit 202 to send the first data is greater than the first time interval, the data center 201 can determine The data production unit 202 is malfunctioning. For another example, when the data consuming unit 203 sends the first data subscription request to the data center 201 at a preset second time interval, if the data consuming unit 203 sends the first data subscription request When the time interval is greater than the second time interval, the data center 201 may determine that the data consumption unit 203 is malfunctioning. In addition, fault diagnosis can also be performed according to other methods. For example, when the proportion of unavailable data in the first data sent by the data production unit 202 is greater than a preset proportion, it can be determined that the data production unit 202 is faulty. For another example, when necessary information is missing in the first data subscription request sent by the data consuming unit 203, it is determined that the data consuming unit 203 is malfunctioning.
所述数据中心201可以获取所述至少一个数据生产单元202中每个数据生产单元产生的第一数据的备份数据。若所述至少一个数据生产单元202中的第一数据生产单元发生故障,所述数据中心201可以将所述第一数据生产单元产生的第一数据的备份数据转发至所述数据消费单元203。通过采用备份数据对发生故障的数据生产单元进行备份,使数据消费单元在数据生产单元故障的情况下,能够根据备份数据对可移动设备的行驶状态进行控制,从而提高对可移动设备的控制可靠性,提高可移动设备的行驶安全性。The data center 201 can obtain the backup data of the first data generated by each data production unit in the at least one data production unit 202. If the first data production unit in the at least one data production unit 202 fails, the data center 201 may forward the backup data of the first data generated by the first data production unit to the data consumption unit 203. By using the backup data to back up the failed data production unit, the data consumption unit can control the driving state of the movable equipment according to the backup data in the case of the data production unit failure, thereby improving the reliability of the control of the movable equipment Improve the driving safety of mobile devices.
具体来说,备份数据可以包括以下至少任一:所述数据生产单元202(例如,数据生成单元A)的备份生产单元产生的第一数据、与所述数据生产单元202(例如,数据生成单元A)类别相同的另一数据生产单元202(例如,数据生成单元B)产生的第一数据,以及所述数据生产单元202(例如,数据生成单元A)历史发送的第一数据。其中,所述数据生产单元202的数量可以是多个,其中一个数据生产单元202作为主生产单元,其余的至少一个数据生产单元202作为该主生产单元的副生产单元。例如,无人机上包括两个IMU,其中一个IMU作为主IMU,另一个IMU作为副IMU。在一般情况下,主生产单元和副生产单元均正常产生并向数据中心201发送第一数据。数据中心可以对主生产单元和副生产单元产生的第一数据分别进行缓存。但是,仅将主生产单元产生的第一数据发送至数据消费单元203,只有在主生产单元发生故障的情况下,才会采用副生产单元的第一数据作为备份数据发送至数据消费单元203。与所述数据生产单元(例如,数据生成单元A)类别相同的另一数据生产单元(例如,数据生成单元B)可以是与所述数据生产单元(例如,数据生成单元A)产生同一类数据的数据生产单元,例如,IMU与GPS都产生可移动设备的位置数据,则在IMU故障的情况下,可以采用GPS产生的第一数据对IMU产生的第一数据进行备份。此外,如果数据生产单元202(例如,数据生成单元A)在t1时刻发生故障,则可以将该数据生产单元202(例如,数据生成单元A)在t1时刻之前发送并缓存至数据中心的第一数据作为t1时刻该数据生产单元202(例如,数据生成单元A)的备份数据。Specifically, the backup data may include at least any one of the following: the first data generated by the backup production unit of the data production unit 202 (for example, the data generation unit A), and the data production unit 202 (for example, the data generation unit) A) First data generated by another data production unit 202 (for example, data generating unit B) of the same category, and first data historically sent by the data production unit 202 (for example, data generating unit A). Wherein, the number of the data production unit 202 may be multiple, wherein one data production unit 202 is used as a main production unit, and the remaining at least one data production unit 202 is used as a subsidiary production unit of the main production unit. For example, the drone includes two IMUs, one of which serves as the main IMU and the other as the secondary IMU. In general, the main production unit and the auxiliary production unit both normally generate and send the first data to the data center 201. The data center may separately cache the first data generated by the main production unit and the auxiliary production unit. However, only the first data generated by the main production unit is sent to the data consumption unit 203, and only when the main production unit fails, the first data of the subsidiary production unit is used as backup data and sent to the data consumption unit 203. Another data production unit (for example, data generation unit B) of the same category as the data production unit (for example, data generation unit A) may generate the same type of data as the data production unit (for example, data generation unit A) For example, if both the IMU and GPS generate position data of the mobile device, if the IMU fails, the first data generated by the GPS can be used to back up the first data generated by the IMU. In addition, if the data production unit 202 (for example, data generation unit A) fails at time t1, the data production unit 202 (for example, data generation unit A) can be sent and cached to the first data center before time t1. The data is used as the backup data of the data production unit 202 (for example, the data production unit A) at time t1.
在实际应用中,由于上述列举的三种数据的准确性依次降低,因此,数据中心201可以在检测到所述数据生产单元202(例如,数据生成单元A)发生故障的情况下,将所述数据生产单元202(例如,数据生成单元A)的备份生产单元产生的第一数据作为备份数据;若未查找到所述数据生产单元202(例如,数据生成单元A)的备份生产单元产生的第一数据,将与所述数据生产单元202(例如,数据生成单元A)类别相同的另一数据生产单元202(例如,数据生成单元B)产生的第一数据作为备份数据;若未查找到与所述数据生产单元202(例如,数据生成单元A)类别相同的另一数据生产单元202(例如,数据生成单元B)产生的第一数据,将所述数据生产单元202(例如,数据生成单元A)历史发送的第一数据作为备份数据。In practical applications, since the accuracy of the three types of data listed above is sequentially reduced, the data center 201 can, in the case of detecting that the data production unit 202 (for example, the data generation unit A) is faulty, change the The first data generated by the backup production unit of the data production unit 202 (for example, data generation unit A) is used as backup data; if the first data generated by the backup production unit of the data production unit 202 (for example, data generation unit A) is not found One data, the first data generated by another data production unit 202 (for example, data generation unit B) of the same category as the data production unit 202 (for example, data generation unit A) is used as the backup data; The data production unit 202 (for example, the data generation unit A) generates the first data generated by another data production unit 202 (for example, the data generation unit B) of the same category, and the data production unit 202 (for example, the data generation unit) A) The first data sent in history is used as backup data.
若所述多个数据消费单元中的第一数据消费单元发生故障的情况下,所述数据中心201可以将所述第一数据转发至所述第一数据消费单元的备份数据消费单元。每个数据消费单元可以包括至少一个备份数据消费单元,用于在所述数据消费单元故障时接替故障的数据消费单元进行工作。例如,无人机上可包括两个飞行控制单元,其 中一个作为主飞行控制单元,另一个作为副飞行控制单元,当主飞行控制单元故障时,副飞行控制单元接收第一数据,并接替主飞行控制单元进行工作。If the first data consumption unit of the plurality of data consumption units fails, the data center 201 may forward the first data to the backup data consumption unit of the first data consumption unit. Each data consumption unit may include at least one backup data consumption unit, which is used to take over the work of the failed data consumption unit when the data consumption unit fails. For example, the drone may include two flight control units, one of which is used as the main flight control unit and the other is used as the auxiliary flight control unit. When the main flight control unit fails, the auxiliary flight control unit receives the first data and takes over the main flight control unit. Unit to work.
在一些实施例中,所述第一数据消费单元还可以根据所述第一数据对搭载在所述可移动设备上的外设进行控制。例如,根据定位数据控制可移动设备的位姿和移动速度,或者根据可移动设备的位姿控制可移动设备上的外设的位姿。In some embodiments, the first data consuming unit may also control peripherals mounted on the movable device according to the first data. For example, controlling the pose and moving speed of the movable device according to the positioning data, or controlling the pose of the peripherals on the movable device according to the pose of the movable device.
如图6所示,是本公开实施例的数据中心201与数据生产单元202和数据消费单元203之间的交互过程的示意图。首先,数据生产单元生产第一数据,第一数据可以是一些传感器数据。然后,数据生产单元将第一数据发送至数据中心,由数据中心进行数据处理(例如,数据融合)及缓存。在数据消费单元向数据中心发送数据订阅请求之后,数据中心可以将缓存的第一数据转发至数据消费单元。在上述过程中,数据中心可以对数据生产单元和数据消费单元进行故障诊断以及数据备份。应当说明的是,图中所示的交互过程仅为示例性说明,在实际应用中,可以根据实际需要调整交互过程中各步骤的执行顺序,或者增加和减少至少一个步骤。As shown in FIG. 6, it is a schematic diagram of the interaction process between the data center 201 and the data production unit 202 and the data consumption unit 203 in an embodiment of the present disclosure. First, the data production unit produces first data, and the first data may be some sensor data. Then, the data production unit sends the first data to the data center, and the data center performs data processing (for example, data fusion) and caching. After the data consuming unit sends a data subscription request to the data center, the data center may forward the cached first data to the data consuming unit. In the above process, the data center can perform fault diagnosis and data backup on the data production unit and the data consumption unit. It should be noted that the interaction process shown in the figure is only exemplary. In practical applications, the execution order of the steps in the interaction process can be adjusted according to actual needs, or at least one step can be added or reduced.
应用公开书实施例方案,将数据生产单元产生的数据发送至数据中心201,由数据中心201将数据生产单元产生的数据分别发送给多个数据消费中心,这样,同一个数据生产单元只需产生一份数据到数据中心201,由数据中心201来将数据发送到数据消费单元,从而减少了对数据生产单元的带宽占用。Using the embodiment of the publication, the data generated by the data production unit is sent to the data center 201, and the data center 201 sends the data generated by the data production unit to multiple data consumption centers. In this way, the same data production unit only needs to generate A copy of data is sent to the data center 201, and the data center 201 sends the data to the data consumption unit, thereby reducing the bandwidth occupation of the data production unit.
本公开利用多生产者融合数据中心201、多消费者订阅的星型架构,即,以数据中心为中央节点,并用单独的线路使中央节点与其他各个节点(即数据生产单元和数据消费单元)相连接,任意一个数据生产单元和数据消费单元之间的通信均通过数据中心进行。这种架构解决了可移动设备系统数据分散,系统架构及链路复杂问题,系统架构简单,数据链路冗余信息少,同时可扩展性较好。在新增数据生产单元或者数据消费单元时,只需将新增的数据生产单元或者数据消费单元连接到数据中心201即可。The present disclosure uses a multi-producer converged data center 201 and a multi-consumer subscription star architecture, that is, the data center is the central node, and a separate line connects the central node with other nodes (that is, the data production unit and the data consumption unit) Connected, the communication between any data production unit and data consumption unit is carried out through the data center. This architecture solves the problems of dispersal of data in the mobile equipment system, complex system architecture and link, simple system architecture, less data link redundancy information, and good scalability. When a new data production unit or data consumption unit is added, it is only necessary to connect the newly added data production unit or data consumption unit to the data center 201.
该系统能够很好的支持分布式,数据统一管理,数据安全性和可控性好,部分数据生产单元202失效时,数据中心201能够利用其它数据生产单元202的数据进行备份和替代,系统稳定性好。为系统诊断及数据备份提供了很好的架构支撑。The system can well support distributed data, unified data management, and good data security and controllability. When part of the data production unit 202 fails, the data center 201 can use the data of other data production units 202 for backup and replacement, and the system is stable Good sex. It provides a good framework support for system diagnosis and data backup.
本公开适用于无人机、机器人、无人驾驶车辆等具有多传感器、多控制终端的电子系统,也可以应用于大数据、物联网等领域。在自动驾驶等应用场景下能够提高 对可移动设备的行驶控制可靠性,从而提高可移动设备的行驶安全性。The present disclosure is applicable to electronic systems with multiple sensors and multiple control terminals, such as unmanned aerial vehicles, robots, and unmanned vehicles, and can also be applied to fields such as big data and the Internet of Things. In application scenarios such as autonomous driving, the driving control reliability of mobile devices can be improved, thereby improving the driving safety of mobile devices.
本公开实施例还提供一种可移动设备,所述可移动设备包括以上任一实施例所述的数据处理装置。The embodiments of the present disclosure also provide a movable device, which includes the data processing apparatus described in any of the above embodiments.
如图7所示,本公开实施例还提供一种数据处理方法,所述方法包括:As shown in FIG. 7, an embodiment of the present disclosure also provides a data processing method, the method including:
步骤701:接收并缓存至少一个数据生产单元202采集的与可移动设备的行驶状态相关的第一数据;Step 701: receiving and buffering the first data related to the driving state of the movable device collected by at least one data production unit 202;
步骤702:在接收到多个数据消费单元203对所述第一数据的第一数据订阅请求之后,将缓存的所述第一数据分别转发至所述多个数据消费单元203;Step 702: After receiving the first data subscription request of the multiple data consuming units 203 for the first data, forward the cached first data to the multiple data consuming units 203 respectively;
其中,所述第一数据用于所述多个数据消费单元203对所述可移动设备的行驶状态进行控制。Wherein, the first data is used by the plurality of data consumption units 203 to control the driving state of the movable device.
在一些实施例中,所述方法包括:获取所述至少一个数据生产单元采集的与所述可移动设备的行驶状态相关的第二数据;根据所述第二数据生成所述第一数据。In some embodiments, the method includes: acquiring second data related to the driving state of the movable device collected by the at least one data production unit; and generating the first data according to the second data.
在一些实施例中,所述数据生产单元的数量为多个;所述根据所述第二数据生成所述第一数据,包括:对多个所述数据生产单元采集的所述第二数据进行融合处理,得到所述第一数据。In some embodiments, the number of the data production unit is multiple; the generating the first data according to the second data includes: performing the second data collected by the multiple data production units Fusion processing to obtain the first data.
在一些实施例中,所述对多个所述数据生产单元采集的所述第二数据进行融合处理,得到所述第一数据,包括:对多个所述数据生产单元采集的同一类别的第二数据进行融合处理,得到所述第一数据;或者将多个所述数据生产单元采集的用于生成相同的第一数据的第二数据进行融合处理,得到所述第一数据。In some embodiments, the performing fusion processing on the second data collected by the multiple data production units to obtain the first data includes: collecting the first data of the same category from the multiple data production units The second data is fused to obtain the first data; or the second data collected by multiple data production units and used to generate the same first data is fused to obtain the first data.
在一些实施例中,所述对多个所述数据生产单元采集的同一类别的第二数据进行融合处理,包括:根据多个所述数据生产单元采集的所述第二数据的置信度,对多个所述数据生产单元采集的所述第二数据进行融合处理。In some embodiments, the performing the fusion processing on the second data of the same type collected by the multiple data production units includes: performing the fusion processing on the second data collected by the multiple data production units according to the confidence level of the second data collected by the multiple data production units The second data collected by a plurality of the data production units are fused.
在一些实施例中,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:按照预设的跳帧步距从所述第一数据中选择数据帧;将选择的所述数据帧发送到所述多个数据消费单元。In some embodiments, the respectively forwarding the buffered first data to the multiple data consumption units includes: selecting a data frame from the first data according to a preset frame skipping step; The data frame is sent to the plurality of data consumption units.
在一些实施例中,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:通过广播的方式将缓存的所述第一数据分别转发至所述多个数据消费单元。In some embodiments, the respectively forwarding the cached first data to the multiple data consumption units includes: respectively forwarding the cached first data to the multiple data consumption units by means of broadcasting. unit.
在一些实施例中,所述至少一个数据生产单元包括第一数据生产单元和第二数 据生产单元;所述第一数据由第一数据生产单元采集,并通过第二数据生产单元进行转发;和/或所述多个数据消费单元包括第一数据消费单元和第二数据消费单元;所述第二数据消费单元在接收到所述第一数据之后,将所述第一数据转发至所述第一数据消费单元。In some embodiments, the at least one data production unit includes a first data production unit and a second data production unit; the first data is collected by the first data production unit and forwarded through the second data production unit; and /Or the multiple data consumption units include a first data consumption unit and a second data consumption unit; after the second data consumption unit receives the first data, the first data is forwarded to the first data A data consumption unit.
在一些实施例中,所述第一数据用于所述第一数据消费单元对搭载在所述可移动设备上的外设进行控制。In some embodiments, the first data is used by the first data consuming unit to control peripherals mounted on the portable device.
在一些实施例中,所述方法由数据中心执行,所述数据中心包括多个子数据中心,每个子数据中心均用于获取至少一个数据生产单元产生的所述第一数据,并将所述第一数据转发至所述多个数据消费单元。In some embodiments, the method is executed by a data center, the data center includes a plurality of sub-data centers, each sub-data center is used to obtain the first data generated by at least one data production unit, and to combine the A data is forwarded to the plurality of data consumption units.
在一些实施例中,每个数据生产单元和/或每个数据消费单元均连接到物理距离最近的子数据中心。In some embodiments, each data production unit and/or each data consumption unit is connected to a sub-data center with the closest physical distance.
在一些实施例中,所述数据生产单元将所述第一数据发送至与所述数据生产单元物理距离最近的第二子数据中心,以通过所述第二子数据中心将所述第一数据转发至第一子数据中心,并通过所述第一子数据中心将所述第一数据转发至与所述第一子数据中心物理距离最近的数据消费单元。In some embodiments, the data production unit sends the first data to a second sub-data center that is the closest physical distance to the data production unit, so as to transfer the first data through the second sub-data center. The data is forwarded to the first sub-data center, and the first data is forwarded to the data consuming unit that is closest in physical distance to the first sub-data center through the first sub-data center.
在一些实施例中,所述第二子数据中心通过至少一个第三数据中心将所述第一数据转发至第一子数据中心。In some embodiments, the second sub-data center forwards the first data to the first sub-data center through at least one third data center.
在一些实施例中,所述方法由多个所述数据中心中的第二子数据中心执行,所述方法还包括:在接收到所述管理单元发送的数据转发请求的情况下,将所述第一数据转发至多个所述数据中心中的第一子数据中心。In some embodiments, the method is executed by a second sub-data center among a plurality of the data centers, and the method further includes: upon receiving a data forwarding request sent by the management unit, transferring the The first data is forwarded to the first sub-data center among the plurality of data centers.
在一些实施例中,所述方法由多个所述数据中心中的第二子数据中心执行,所述方法还包括:在接收到所述数据转发请求之前,将所述第一数据预先转发至所述第一子数据中心。In some embodiments, the method is executed by a second sub-data center among the plurality of data centers, and the method further includes: before receiving the data forwarding request, forwarding the first data to The first sub-data center.
在一些实施例中,所述多个数据消费单元中的第一数据消费单元发送的第一数据订阅请求中包括用于表征所述第一数据消费单元向所述数据中心进行数据订阅的订阅方式的订阅信息;所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:基于所述第一数据消费单元的订阅信息,将缓存的所述第一数据分别转发至所述第一数据消费单元。In some embodiments, the first data subscription request sent by the first data consuming unit of the plurality of data consuming units includes a subscription mode used to characterize the data subscription of the first data consuming unit to the data center The subscription information; said forwarding the cached first data to the multiple data consuming units respectively includes: forwarding the cached first data to the multiple data consuming units based on the subscription information of the first data consuming unit respectively The first data consumption unit.
在一些实施例中,所述第一数据订阅请求由所述第一数据消费单元在所述订阅 方式发生变更的情况下发送。In some embodiments, the first data subscription request is sent by the first data consuming unit when the subscription mode is changed.
在一些实施例中,所述第一数据订阅请求中还包括以下至少任一:所述第一数据消费单元的标识信息,所述第一数据消费单元订阅所述第一数据的频率信息,以及所述第一数据消费单元订阅的所述第一数据的标识信息。In some embodiments, the first data subscription request further includes at least any one of the following: identification information of the first data consuming unit, frequency information for subscribing to the first data by the first data consuming unit, and The identification information of the first data subscribed by the first data consuming unit.
在一些实施例中,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:按照接收到所述第一数据订阅请求的顺序,依次向所述多个数据消费单元发送缓存的所述第一数据;或者按照预设的频率向所述多个数据消费单元发送缓存的所述第一数据。In some embodiments, the respectively forwarding the cached first data to the multiple data consuming units includes: sequentially consuming the multiple data in an order in which the first data subscription request is received The unit sends the buffered first data; or sends the buffered first data to the multiple data consumption units according to a preset frequency.
在一些实施例中,所述至少一个数据生产单元包括第一数据生产单元;所述多个数据消费单元包括第一数据消费单元;所述方法还包括:对所述第一数据生产单元和/或所述第一数据消费单元进行故障诊断。In some embodiments, the at least one data production unit includes a first data production unit; the plurality of data consumption units include a first data consumption unit; the method further includes: comparing the first data production unit and/ Or the first data consuming unit performs fault diagnosis.
在一些实施例中,所述第一数据生产单元按照预设的第一时间间隔发送所述第一数据;所述对所述数据生产单元进行故障诊断,包括:在所述第一数据生产单元发送所述第一数据的时间间隔大于所述第一时间间隔的情况下,判定所述第一数据生产单元发生故障。In some embodiments, the first data production unit sends the first data at a preset first time interval; the performing fault diagnosis on the data production unit includes: in the first data production unit In a case where the time interval for sending the first data is greater than the first time interval, it is determined that the first data production unit is malfunctioning.
在一些实施例中,所述第一数据消费单元按照预设的第二时间间隔发送所述第一数据订阅请求;所述对所述数据消费单元进行故障诊断,包括:在所述第一数据消费单元发送所述第一数据订阅请求的时间间隔大于所述第二时间间隔的情况下,判定所述第一数据消费单元发生故障。In some embodiments, the first data consuming unit sends the first data subscription request at a preset second time interval; the performing fault diagnosis on the data consuming unit includes: If the time interval for the consuming unit to send the first data subscription request is greater than the second time interval, it is determined that the first data consuming unit is faulty.
在一些实施例中,所述方法还包括:在检测到所述第一数据生产单元发生故障的情况下,获取所述第一数据生产单元产生的第一数据的备份数据,并将所述备份数据转发至所述多个数据消费单元;和/或在检测到所述第一数据消费单元发生故障的情况下,将所述第一数据转发至所述第一数据消费单元的备份数据消费单元。In some embodiments, the method further includes: in a case where a failure of the first data production unit is detected, obtaining backup data of the first data generated by the first data production unit, and storing the backup data Forwarding data to the multiple data consuming units; and/or forwarding the first data to the backup data consuming unit of the first data consuming unit in the case of detecting a failure of the first data consuming unit .
在一些实施例中,所述至少一个数据生产单元还包括第二数据生产单元;所述备份数据包括以下至少任意一个:所述第一数据生产单元的备份生产单元产生的第一数据、与所述第一数据生产单元类别相同的第二数据生产单元产生的第一数据,以及所述第一数据生产单元历史发送的第一数据。In some embodiments, the at least one data production unit further includes a second data production unit; the backup data includes at least any one of the following: the first data generated by the backup production unit of the first data production unit, and the The first data produced by the second data production unit of the same type of the first data production unit, and the first data sent by the first data production unit in history.
在一些实施例中,所述获取所述第一数据生产单元产生的第一数据的备份数据,包括:在检测到所述第一数据生产单元发生故障的情况下,将所述第一数据生产 单元的备份生产单元产生的第一数据作为备份数据;若未查找到所述第一数据生产单元的备份生产单元产生的第一数据,将与所述第一数据生产单元类别相同的所述第二数据生产单元产生的第一数据作为备份数据;若未查找到与所述第一数据生产单元类别相同的所述第二数据生产单元产生的第一数据,将所述第一数据生产单元历史发送的第一数据作为备份数据。In some embodiments, the obtaining the backup data of the first data generated by the first data production unit includes: generating the first data when a failure of the first data production unit is detected The first data produced by the backup production unit of the unit is used as the backup data; if the first data produced by the backup production unit of the first data production unit is not found, the first data with the same category as the first data production unit will be used. 2. The first data produced by the data production unit is used as backup data; if the first data produced by the second data production unit with the same category as the first data production unit is not found, the history of the first data production unit The first data sent is used as backup data.
在一些实施例中,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:在查找到所述第一数据中与所述多个数据消费单元的第一数据订阅请求对应的数据帧的情况下,将所述对应的数据帧发送至所述多个数据消费单元;以及在未查找到所述第一数据中与所述多个数据消费单元的第一数据订阅请求对应的数据帧的情况下,将所述第一数据中预先指定的数据帧发送至所述多个数据消费单元。In some embodiments, the respectively forwarding the cached first data to the multiple data consuming units includes: searching for the first data with the first data of the multiple data consuming units. In the case of subscribing to the data frame corresponding to the request, the corresponding data frame is sent to the multiple data consuming units; and the first data in the multiple data consuming units is not found in the first data In the case of subscribing to the data frame corresponding to the request, the pre-designated data frame in the first data is sent to the multiple data consumption units.
在一些实施例中,所述方法由数据中心执行,所述数据中心设置在处理芯片上,所述处理芯片满足以下条件:所述处理芯片的各个接口到所述数据生产单元和所述多个数据消费单元的物理距离之和小于预设的距离阈值;以及所述处理芯片的接口数量大于预设的数量阈值。In some embodiments, the method is executed by a data center, the data center is set on a processing chip, and the processing chip satisfies the following conditions: each interface of the processing chip is connected to the data production unit and the plurality of The sum of the physical distances of the data consumption units is less than a preset distance threshold; and the number of interfaces of the processing chip is greater than the preset number threshold.
在一些实施例中,所述数据生产单元包括以下至少任一:用于获取可移动设备的速度的第一传感器、用于获取可移动设备的位姿的第二传感器、用于获取可移动设备所处环境的环境信息的第三传感器,以及所述多个数据消费单元中具有数据生产能力的数据消费单元;和/或所述数据消费单元包括以下至少任一:行驶控制单元,路径规划单元,任务执行单元,以及定位单元。In some embodiments, the data production unit includes at least any of the following: a first sensor for acquiring the speed of the movable device, a second sensor for acquiring the pose of the movable device, and A third sensor for environmental information of the environment in which it is located, and a data consumption unit with data production capability among the multiple data consumption units; and/or the data consumption unit includes at least any one of the following: a driving control unit, a path planning unit , Task execution unit, and positioning unit.
上述数据处理方法可由本公开的数据处理装置中的数据中心执行。方法实施例中有关数据中心、数据生产单元和数据消费单元的具体实施例详见上述数据处理装置的实施例,此处不再赘述。The above data processing method can be executed by the data center in the data processing device of the present disclosure. For specific embodiments of the data center, data production unit, and data consumption unit in the method embodiment, refer to the above-mentioned embodiment of the data processing device for details, which will not be repeated here.
本公开实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例所述的方法。The embodiments of the present disclosure also provide a computer device, including a memory, a processor, and a computer program stored on the memory and capable of running on the processor, and the processor implements the method described in any embodiment when the program is executed. .
图8示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器801、存储器802、输入/输出接口803、通信接口804和总线805。其中处理器801、存储器802、输入/输出接口803和通信接口804通过总线805实现彼此之间在设备内部的通信连接。FIG. 8 shows a more specific hardware structure diagram of a computing device provided by an embodiment of this specification. The device may include a processor 801, a memory 802, an input/output interface 803, a communication interface 804, and a bus 805. The processor 801, the memory 802, the input/output interface 803, and the communication interface 804 realize the communication connection between each other in the device through the bus 805.
处理器801可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。The processor 801 can be implemented by a general CPU (Central Processing Unit, central processing unit), a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), or one or more integrated circuits for execution related Program to realize the technical solutions provided in the embodiments of this specification.
存储器802可以采用ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器802可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器802中,并由处理器801来调用执行。The memory 802 may be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 802 may store an operating system and other application programs. When the technical solutions provided in the embodiments of the present specification are implemented through software or firmware, related program codes are stored in the memory 802 and called and executed by the processor 801.
输入/输出接口803用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。The input/output interface 803 is used to connect an input/output module to realize information input and output. The input/output/module can be configured in the device as a component (not shown in the figure), or can be connected to the device to provide corresponding functions. The input device may include a keyboard, a mouse, a touch screen, a microphone, various sensors, etc., and an output device may include a display, a speaker, a vibrator, an indicator light, and the like.
通信接口804用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。The communication interface 804 is used to connect a communication module (not shown in the figure) to realize the communication interaction between the device and other devices. The communication module can realize communication through wired means (such as USB, network cable, etc.), or through wireless means (such as mobile network, WIFI, Bluetooth, etc.).
总线805包括一通路,在设备的各个组件(例如处理器801、存储器802、输入/输出接口803和通信接口804)之间传输信息。The bus 805 includes a path for transmitting information between various components of the device (for example, the processor 801, the memory 802, the input/output interface 803, and the communication interface 804).
需要说明的是,尽管上述设备仅示出了处理器801、存储器802、输入/输出接口803、通信接口804以及总线805,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。It should be noted that although the above device only shows the processor 801, the memory 802, the input/output interface 803, the communication interface 804, and the bus 805, in the specific implementation process, the device may also include the necessary equipment for normal operation. Other components. In addition, those skilled in the art can understand that the above-mentioned device may also include only the components necessary to implement the solutions of the embodiments of the present specification, and not necessarily include all the components shown in the figures.
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例所述的方法。The embodiments of the present disclosure also provide a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the method described in any of the embodiments is implemented.
应用本公开实施例方案,将数据生产单元产生的数据发送至数据中心,由数据中心将数据生产单元产生的数据分别发送给多个数据消费中心,这样,同一个数据生产单元只需产生一份数据到数据中心,由数据中心来将数据发送到数据消费单元,从而减少了对数据生产单元的带宽占用。Applying the solution of the embodiment of the present disclosure, the data generated by the data production unit is sent to the data center, and the data generated by the data production unit is sent to multiple data consumption centers by the data center. In this way, only one copy of the same data production unit is needed. Data is sent to the data center, and the data center sends the data to the data consumption unit, thereby reducing the bandwidth occupation of the data production unit.
本公开实施例可采用在一个或多个其中包含有程序代码的存储介质(包括但不 限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。The embodiments of the present disclosure may adopt the form of a computer program product implemented on one or more storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing program codes. Computer usable storage media include permanent and non-permanent, removable and non-removable media, and information storage can be realized by any method or technology. The information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to: phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, Magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices.
以上实施例中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本公开的范围。The various technical features in the above embodiments can be combined arbitrarily, as long as there is no conflict or contradiction between the combinations of features, but due to space limitations, they are not described one by one. Therefore, the various technical features in the above embodiments can be combined arbitrarily. It also belongs to the scope of the present disclosure.
本领域技术人员在考虑公开及实践这里公开的说明书后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。Those skilled in the art will easily think of other embodiments of the present disclosure after considering the disclosure and practice of the description disclosed herein. The present disclosure is intended to cover any variations, uses, or adaptive changes of the present disclosure. These variations, uses, or adaptive changes follow the general principles of the present disclosure and include common knowledge or conventional technical means in the technical field that are not disclosed in the present disclosure. . The description and the embodiments are to be regarded as exemplary only, and the true scope and spirit of the present disclosure are pointed out by the following claims.
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。It should be understood that the present disclosure is not limited to the precise structure that has been described above and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of the present disclosure is only limited by the appended claims.
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。The above are only the preferred embodiments of the present disclosure, and are not intended to limit the present disclosure. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present disclosure shall be included in the present disclosure. Within the scope of protection.

Claims (60)

  1. 一种数据处理装置,其特征在于,所述装置包括:A data processing device, characterized in that the device includes:
    数据中心,以及与所述数据中心通信连接的至少一个数据生产单元和多个数据消费单元;A data center, and at least one data production unit and multiple data consumption units that are communicatively connected with the data center;
    所述至少一个数据生产单元用于采集与可移动设备的行驶状态相关的第一数据,并将所述第一数据转发至所述数据中心进行缓存;The at least one data production unit is configured to collect first data related to the driving state of the movable device, and forward the first data to the data center for caching;
    所述数据中心用于在接收到所述多个数据消费单元对所述第一数据的第一数据订阅请求之后,将缓存的所述第一数据分别转发至所述多个数据消费单元;The data center is configured to forward the cached first data to the multiple data consuming units after receiving the first data subscription request of the multiple data consuming units for the first data;
    所述多个数据消费单元中的每个数据消费单元用于基于所述第一数据对所述可移动设备的行驶状态进行控制。Each data consumption unit of the plurality of data consumption units is used to control the driving state of the movable device based on the first data.
  2. 根据权利要求1所述的装置,其特征在于,所述数据中心还用于:The device according to claim 1, wherein the data center is further used for:
    获取所述至少一个数据生产单元采集的与所述可移动设备的行驶状态相关的第二数据;Acquiring second data related to the driving state of the movable device collected by the at least one data production unit;
    根据所述第二数据生成所述第一数据。The first data is generated according to the second data.
  3. 根据权利要求2所述的装置,其特征在于,所述数据生产单元的数量为多个;The device according to claim 2, wherein the number of the data production unit is multiple;
    所述数据中心还用于:The data center is also used for:
    对多个所述数据生产单元采集的所述第二数据进行融合处理,得到所述第一数据。Fusion processing is performed on the second data collected by the multiple data production units to obtain the first data.
  4. 根据权利要求3所述的装置,其特征在于,所述数据中心用于:The device according to claim 3, wherein the data center is used for:
    对多个所述数据生产单元采集的同一类别的第二数据进行融合处理,得到所述第一数据;或者Perform fusion processing on the second data of the same type collected by multiple data production units to obtain the first data; or
    将多个所述数据生产单元采集的用于生成相同的第一数据的第二数据进行融合处理,得到所述第一数据。The second data collected by the multiple data production units and used to generate the same first data is fused to obtain the first data.
  5. 根据权利要求3所述的装置,其特征在于,所述数据中心用于:The device according to claim 3, wherein the data center is used for:
    根据多个所述数据生产单元采集的所述第二数据的置信度,对多个所述数据生产单元采集的所述第二数据进行融合处理。According to the confidence level of the second data collected by the multiple data production units, fusion processing is performed on the second data collected by the multiple data production units.
  6. 根据权利要求1所述的装置,其特征在于,所述数据中心用于:The device according to claim 1, wherein the data center is used for:
    按照预设的跳帧步距从所述第一数据中选择数据帧;Selecting a data frame from the first data according to a preset frame skipping step;
    将选择的所述数据帧发送到所述多个数据消费单元。Sending the selected data frame to the plurality of data consuming units.
  7. 根据权利要求1所述的装置,其特征在于,所述数据中心用于:The device according to claim 1, wherein the data center is used for:
    通过广播的方式将缓存的所述第一数据分别转发至所述多个数据消费单元。The buffered first data is respectively forwarded to the multiple data consumption units in a broadcast manner.
  8. 根据权利要求1所述的装置,其特征在于,所述至少一个数据生产单元包括第 一数据生产单元和第二数据生产单元;The device according to claim 1, wherein the at least one data production unit comprises a first data production unit and a second data production unit;
    所述第二数据生产单元用于:将所述第一数据生产单元采集的所述第一数据转发至所述数据中心;和/或The second data production unit is configured to: forward the first data collected by the first data production unit to the data center; and/or
    所述多个数据消费单元包括第一数据消费单元和第二数据消费单元;所述第二数据消费单元还用于:将从所述数据中心获取的所述第一数据转发至所述第一数据消费单元。The multiple data consumption units include a first data consumption unit and a second data consumption unit; the second data consumption unit is further configured to: forward the first data obtained from the data center to the first data consumption unit. Data consumption unit.
  9. 根据权利要求8所述的装置,其特征在于,所述第一数据消费单元用于:The device according to claim 8, wherein the first data consumption unit is used to:
    根据所述第一数据对搭载在所述可移动设备上的外设进行控制。Controlling the peripherals mounted on the movable device according to the first data.
  10. 根据权利要求1所述的装置,其特征在于,所述数据中心包括多个子数据中心;每个子数据中心均用于获取至少一个数据生产单元产生的所述第一数据,并将所述第一数据转发至所述多个数据消费单元。The device according to claim 1, wherein the data center includes a plurality of sub-data centers; each sub-data center is used to obtain the first data generated by at least one data production unit, and combine the first data The data is forwarded to the plurality of data consumption units.
  11. 根据权利要求10所述的装置,其特征在于,每个数据生产单元和/或每个数据消费单元均连接到物理距离最近的子数据中心。The device according to claim 10, wherein each data production unit and/or each data consumption unit is connected to a sub-data center with the closest physical distance.
  12. 根据权利要求11所述的装置,其特征在于,所述数据生产单元用于:The device according to claim 11, wherein the data production unit is used for:
    将所述第一数据发送至与所述数据生产单元物理距离最近的第二子数据中心,以通过所述第二子数据中心将所述第一数据转发至第一子数据中心,并通过所述第一子数据中心将所述第一数据转发至与所述第一子数据中心物理距离最近的数据消费单元。The first data is sent to the second sub-data center that is the closest physical distance to the data production unit, so that the first data is forwarded to the first sub-data center through the second sub-data center, and passed through the second sub-data center. The first sub-data center forwards the first data to the data consuming unit that is closest in physical distance to the first sub-data center.
  13. 根据权利要求12所述的装置,其特征在于,所述第二子数据中心通过至少一个第三数据中心将所述第一数据转发至第一子数据中心。The apparatus according to claim 12, wherein the second sub-data center forwards the first data to the first sub-data center through at least one third data center.
  14. 根据权利要求12所述的装置,其特征在于,所述装置还包括:The device according to claim 12, wherein the device further comprises:
    管理单元,用于向所述第二子数据中心发送数据转发请求,以使所述第二子数据中心将所述第一数据转发至所述第一子数据中心。The management unit is configured to send a data forwarding request to the second sub-data center, so that the second sub-data center forwards the first data to the first sub-data center.
  15. 根据权利要求14所述的装置,其特征在于,所述管理单元用于:The device according to claim 14, wherein the management unit is configured to:
    在接收到所述第一子数据中心发送的第二数据订阅请求的情况下,将所述数据转发请求发送至所述第二子数据中心。In the case of receiving the second data subscription request sent by the first sub-data center, sending the data forwarding request to the second sub-data center.
  16. 根据权利要求12所述的装置,其特征在于,所述第二子数据中心用于:The device according to claim 12, wherein the second sub-data center is used for:
    在接收到所述数据转发请求之前,将所述第一数据预先转发至所述第一子数据中心。Before receiving the data forwarding request, forward the first data to the first sub-data center in advance.
  17. 根据权利要求1所述的装置,其特征在于,所述多个数据消费单元中的第一数据消费单元发送的第一数据订阅请求中包括用于表征所述第一数据消费单元向所述 数据中心进行数据订阅的订阅方式的订阅信息;The device according to claim 1, wherein the first data subscription request sent by the first data consuming unit of the plurality of data consuming units includes a first data subscription request used to characterize that the first data consuming unit sends the data to the data consuming unit. Subscription information of the subscription method for data subscription by the center;
    所述数据中心用于:The data center is used for:
    基于所述第一数据消费单元的订阅信息,将缓存的所述第一数据分别转发至所述第一数据消费单元。Based on the subscription information of the first data consuming unit, the cached first data is forwarded to the first data consuming unit respectively.
  18. 根据权利要求17所述的装置,其特征在于,所述第一数据消费单元用于:The device according to claim 17, wherein the first data consumption unit is used to:
    在所述订阅方式发生变更的情况下,向所述数据中心发送所述第一数据订阅请求。In the case that the subscription mode is changed, the first data subscription request is sent to the data center.
  19. 根据权利要求17所述的装置,其特征在于,所述第一数据订阅请求中还包括以下至少任意一个:The apparatus according to claim 17, wherein the first data subscription request further includes at least any one of the following:
    所述第一数据消费单元的标识信息,所述第一数据消费单元订阅所述第一数据的频率信息,以及所述第一数据消费单元订阅的所述第一数据的标识信息。Identification information of the first data consuming unit, frequency information of the first data subscribed by the first data consuming unit, and identification information of the first data subscribed by the first data consuming unit.
  20. 根据权利要求1所述的装置,其特征在于,所述数据中心用于:The device according to claim 1, wherein the data center is used for:
    按照接收到所述第一数据订阅请求的顺序,依次向所述多个数据消费单元发送缓存的所述第一数据;或者Sequentially sending the cached first data to the multiple data consuming units in the order in which the first data subscription request is received; or
    按照预设的频率向所述多个数据消费单元发送缓存的所述第一数据。Sending the buffered first data to the multiple data consumption units according to a preset frequency.
  21. 根据权利要求1所述的装置,其特征在于,所述至少一个数据生产单元包括第一数据生产单元;所述多个数据消费单元包括第一数据消费单元;The device according to claim 1, wherein the at least one data production unit comprises a first data production unit; and the plurality of data consumption units comprise a first data consumption unit;
    所述数据中心还用于:The data center is also used for:
    对所述第一数据生产单元和/或所述第一数据消费单元进行故障诊断。Perform fault diagnosis on the first data production unit and/or the first data consumption unit.
  22. 根据权利要求21所述的装置,其特征在于,所述第一数据生产单元按照预设的第一时间间隔向所述数据中心发送所述第一数据;所述数据中心用于:The device according to claim 21, wherein the first data production unit sends the first data to the data center at a preset first time interval; the data center is configured to:
    在所述第一数据生产单元发送所述第一数据的时间间隔大于所述第一时间间隔的情况下,判定所述第一数据生产单元发生故障。In a case where the time interval for the first data production unit to send the first data is greater than the first time interval, it is determined that the first data production unit is faulty.
  23. 根据权利要求21所述的装置,其特征在于,所述第一数据消费单元按照预设的第二时间间隔向所述数据中心发送所述第一数据订阅请求;所述数据中心用于:The device according to claim 21, wherein the first data consuming unit sends the first data subscription request to the data center at a preset second time interval; the data center is configured to:
    在所述第一数据消费单元发送所述第一数据订阅请求的时间间隔大于所述第二时间间隔的情况下,判定所述第一数据消费单元发生故障。In a case where the time interval for the first data consuming unit to send the first data subscription request is greater than the second time interval, it is determined that the first data consuming unit is faulty.
  24. 根据权利要求21所述的装置,其特征在于,所述数据中心还用于:The device according to claim 21, wherein the data center is further used for:
    在检测到所述第一数据生产单元发生故障的情况下,获取所述第一数据生产单元产生的第一数据的备份数据,并将所述备份数据转发至所述多个数据消费单元;和/或In the case of detecting a failure of the first data production unit, obtain backup data of the first data generated by the first data production unit, and forward the backup data to the multiple data consumption units; and /or
    在检测到所述第一数据消费单元发生故障的情况下,将所述第一数据转发至所述 第一数据消费单元的备份数据消费单元。In a case where a failure of the first data consumption unit is detected, the first data is forwarded to the backup data consumption unit of the first data consumption unit.
  25. 根据权利要求24所述的装置,其特征在于,所述至少一个数据生产单元还包括第二数据生产单元;The device according to claim 24, wherein the at least one data production unit further comprises a second data production unit;
    所述备份数据包括以下至少任意一个:所述第一数据生产单元的备份生产单元产生的第一数据、与所述第一数据生产单元类别相同的第二数据生产单元产生的第一数据,以及所述第一数据生产单元历史发送的第一数据。The backup data includes at least any one of the following: first data produced by a backup production unit of the first data production unit, first data produced by a second data production unit of the same category as the first data production unit, and The first data historically sent by the first data production unit.
  26. 根据权利要求25所述的装置,其特征在于,所述数据中心用于:The device according to claim 25, wherein the data center is used for:
    在检测到所述第一数据生产单元发生故障的情况下,将所述第一数据生产单元的备份生产单元产生的第一数据作为备份数据;In the case of detecting a failure of the first data production unit, use the first data generated by the backup production unit of the first data production unit as backup data;
    若未查找到所述第一数据生产单元的备份生产单元产生的第一数据,将与所述第一数据生产单元类别相同的所述第二数据生产单元产生的第一数据作为备份数据;If the first data produced by the backup production unit of the first data production unit is not found, use the first data produced by the second data production unit of the same category as the first data production unit as the backup data;
    若未查找到与所述第一数据生产单元类别相同的所述第二数据生产单元产生的第一数据,将所述第一数据生产单元历史发送的第一数据作为备份数据。If the first data generated by the second data production unit with the same category as the first data production unit is not found, the first data historically sent by the first data production unit is used as the backup data.
  27. 根据权利要求1所述的装置,其特征在于,所述数据中心还用于:The device according to claim 1, wherein the data center is further used for:
    在查找到所述第一数据中与所述多个数据消费单元的第一数据订阅请求对应的数据帧的情况下,将所述对应的数据帧发送至所述多个数据消费单元;以及If a data frame corresponding to the first data subscription request of the multiple data consuming units is found in the first data, sending the corresponding data frame to the multiple data consuming units; and
    在未查找到所述第一数据中与所述多个数据消费单元的第一数据订阅请求对应的数据帧的情况下,将所述第一数据中预先指定的数据帧发送至所述多个数据消费单元。In the case that the data frame corresponding to the first data subscription request of the multiple data consumption units in the first data is not found, the pre-designated data frame in the first data is sent to the multiple Data consumption unit.
  28. 根据权利要求1所述的装置,其特征在于,所述数据中心设置在处理芯片上,所述处理芯片满足以下条件:The device according to claim 1, wherein the data center is set on a processing chip, and the processing chip satisfies the following conditions:
    所述处理芯片的各个接口到所述数据生产单元和所述多个数据消费单元的物理距离之和小于预设的距离阈值;以及The sum of the physical distances from the interfaces of the processing chip to the data production unit and the multiple data consumption units is less than a preset distance threshold; and
    所述处理芯片的接口数量大于预设的数量阈值。The number of interfaces of the processing chip is greater than a preset number threshold.
  29. 根据权利要求1至28任意一项所述的装置,其特征在于,所述数据生产单元包括以下至少任意一个:用于获取可移动设备的速度的第一传感器、用于获取可移动设备的位姿的第二传感器、用于获取可移动设备所处环境的环境信息的第三传感器,以及所述多个数据消费单元中具有数据生产能力的数据消费单元;和/或The apparatus according to any one of claims 1 to 28, wherein the data production unit comprises at least any one of the following: a first sensor for acquiring the speed of the movable device, and a position for acquiring the position of the movable device. A second sensor for posture, a third sensor for acquiring environmental information of the environment in which the mobile device is located, and a data consumption unit with data production capability among the plurality of data consumption units; and/or
    所述数据消费单元包括以下至少任意一个:行驶控制单元,路径规划单元,任务执行单元,以及定位单元。The data consumption unit includes at least any one of the following: a driving control unit, a path planning unit, a task execution unit, and a positioning unit.
  30. 一种可移动设备,其特征在于,所述可移动设备包括权利要求1至29任意一项所述的装置。A movable device, characterized in that, the movable device comprises the device according to any one of claims 1 to 29.
  31. 一种数据处理方法,其特征在于,所述方法包括:A data processing method, characterized in that the method includes:
    接收并缓存至少一个数据生产单元采集的与可移动设备的行驶状态相关的第一数据;Receiving and buffering the first data related to the driving state of the movable device collected by at least one data production unit;
    在接收到多个数据消费单元对所述第一数据的第一数据订阅请求之后,将缓存的所述第一数据分别转发至所述多个数据消费单元;After receiving the first data subscription request of the multiple data consumption units for the first data, forward the cached first data to the multiple data consumption units respectively;
    其中,所述第一数据用于所述多个数据消费单元对所述可移动设备的行驶状态进行控制。Wherein, the first data is used by the plurality of data consumption units to control the driving state of the movable device.
  32. 根据权利要求31所述的方法,其特征在于,所述方法包括:The method of claim 31, wherein the method comprises:
    获取所述至少一个数据生产单元采集的与所述可移动设备的行驶状态相关的第二数据;Acquiring second data related to the driving state of the movable device collected by the at least one data production unit;
    根据所述第二数据生成所述第一数据。The first data is generated according to the second data.
  33. 根据权利要求32所述的方法,其特征在于,所述数据生产单元的数量为多个;The method according to claim 32, wherein the number of the data production unit is multiple;
    所述根据所述第二数据生成所述第一数据,包括:The generating the first data according to the second data includes:
    对多个所述数据生产单元采集的所述第二数据进行融合处理,得到所述第一数据。Fusion processing is performed on the second data collected by the multiple data production units to obtain the first data.
  34. 根据权利要求33所述的方法,其特征在于,所述对多个所述数据生产单元采集的所述第二数据进行融合处理,得到所述第一数据,包括:The method according to claim 33, wherein said performing fusion processing on said second data collected by a plurality of said data production units to obtain said first data comprises:
    对多个所述数据生产单元采集的同一类别的第二数据进行融合处理,得到所述第一数据;或者Perform fusion processing on the second data of the same type collected by multiple data production units to obtain the first data; or
    将多个所述数据生产单元采集的用于生成相同的第一数据的第二数据进行融合处理,得到所述第一数据。The second data collected by the multiple data production units and used to generate the same first data is fused to obtain the first data.
  35. 根据权利要求33所述的方法,其特征在于,所述对多个所述数据生产单元采集的同一类别的第二数据进行融合处理,包括:The method according to claim 33, wherein the fusion processing of the same type of second data collected by a plurality of the data production units comprises:
    根据多个所述数据生产单元采集的所述第二数据的置信度,对多个所述数据生产单元采集的所述第二数据进行融合处理。According to the confidence level of the second data collected by the multiple data production units, fusion processing is performed on the second data collected by the multiple data production units.
  36. 根据权利要求31所述的方法,其特征在于,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:The method according to claim 31, wherein the forwarding the cached first data to the multiple data consumption units respectively comprises:
    按照预设的跳帧步距从所述第一数据中选择数据帧;Selecting a data frame from the first data according to a preset frame skipping step;
    将选择的所述数据帧发送到所述多个数据消费单元。Sending the selected data frame to the plurality of data consuming units.
  37. 根据权利要求31所述的方法,其特征在于,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:The method according to claim 31, wherein the forwarding the cached first data to the multiple data consumption units respectively comprises:
    通过广播的方式将缓存的所述第一数据分别转发至所述多个数据消费单元。The buffered first data is respectively forwarded to the multiple data consumption units in a broadcast manner.
  38. 根据权利要求31所述的方法,其特征在于,所述至少一个数据生产单元包括第一数据生产单元和第二数据生产单元;The method according to claim 31, wherein the at least one data production unit comprises a first data production unit and a second data production unit;
    所述第一数据由所述第一数据生产单元采集,并通过所述第二数据生产单元进行转发;和/或The first data is collected by the first data production unit and forwarded through the second data production unit; and/or
    所述多个数据消费单元包括第一数据消费单元和第二数据消费单元;所述第二数据消费单元在接收到所述第一数据之后,将所述第一数据转发至所述第一数据消费单元。The plurality of data consumption units includes a first data consumption unit and a second data consumption unit; after receiving the first data, the second data consumption unit forwards the first data to the first data Consumer unit.
  39. 根据权利要求38所述的方法,其特征在于,所述第一数据用于所述第一数据消费单元对搭载在所述可移动设备上的外设进行控制。The method according to claim 38, wherein the first data is used by the first data consuming unit to control peripherals mounted on the movable device.
  40. 根据权利要求31所述的方法,其特征在于,所述方法由数据中心执行,所述数据中心包括多个子数据中心,每个子数据中心均用于获取至少一个数据生产单元产生的所述第一数据,并将所述第一数据转发至所述多个数据消费单元。The method according to claim 31, wherein the method is executed by a data center, and the data center includes a plurality of sub-data centers, and each sub-data center is used to obtain the first data generated by at least one data production unit. Data, and forward the first data to the multiple data consuming units.
  41. 根据权利要求40所述的方法,其特征在于,每个数据生产单元和/或每个数据消费单元均连接到物理距离最近的子数据中心。The method according to claim 40, wherein each data production unit and/or each data consumption unit is connected to a sub-data center with the closest physical distance.
  42. 根据权利要求41所述的方法,其特征在于,所述数据生产单元将所述第一数据发送至与所述数据生产单元物理距离最近的第二子数据中心,以通过所述第二子数据中心将所述第一数据转发至第一子数据中心,并通过所述第一子数据中心将所述第一数据转发至与所述第一子数据中心物理距离最近的数据消费单元。The method according to claim 41, wherein the data production unit sends the first data to a second sub-data center closest to the data production unit in order to pass the second sub-data The center forwards the first data to the first sub-data center, and forwards the first data to the data consuming unit that is closest in physical distance to the first sub-data center through the first sub-data center.
  43. 根据权利要求42所述的方法,其特征在于,所述第二子数据中心通过至少一个第三数据中心将所述第一数据转发至第一子数据中心。The method according to claim 42, wherein the second sub-data center forwards the first data to the first sub-data center through at least one third data center.
  44. 根据权利要求40所述的方法,其特征在于,所述方法由多个所述数据中心中的第二子数据中心执行,所述方法还包括:The method according to claim 40, wherein the method is executed by a second sub-data center among a plurality of the data centers, and the method further comprises:
    第一子数据中心在接收到所述管理单元发送的数据转发请求的情况下,将所述第一数据转发至多个所述数据中心中的第一子数据中心。Upon receiving the data forwarding request sent by the management unit, the first sub-data center forwards the first data to the first sub-data center among the multiple data centers.
  45. 根据权利要求44所述的方法,其特征在于,所述方法由多个所述数据中心中的第二子数据中心执行,所述方法还包括:The method according to claim 44, wherein the method is executed by a second sub-data center among a plurality of the data centers, and the method further comprises:
    在接收到所述数据转发请求之前,将所述第一数据预先转发至所述第一子数据中心。Before receiving the data forwarding request, forward the first data to the first sub-data center in advance.
  46. 根据权利要求31所述的方法,其特征在于,所述多个数据消费单元中的第一数据消费单元发送的第一数据订阅请求中包括用于表征所述第一数据消费单元向所述数据中心进行数据订阅的订阅方式的订阅信息;The method according to claim 31, wherein the first data subscription request sent by the first data consuming unit of the plurality of data consuming units includes a first data subscription request used to characterize that the first data consuming unit sends the data to the data consuming unit. Subscription information of the subscription method for data subscription by the center;
    所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:The respectively forwarding the cached first data to the multiple data consumption units includes:
    基于所述第一数据消费单元的订阅信息,将缓存的所述第一数据分别转发至所述第一数据消费单元。Based on the subscription information of the first data consuming unit, the cached first data is forwarded to the first data consuming unit respectively.
  47. 根据权利要求46所述的方法,其特征在于,所述第一数据订阅请求由所述第一数据消费单元在所述订阅方式发生变更的情况下发送。The method according to claim 46, wherein the first data subscription request is sent by the first data consuming unit when the subscription mode is changed.
  48. 根据权利要求31所述的方法,其特征在于,所述第一数据订阅请求中还包括以下至少任意一个:The method according to claim 31, wherein the first data subscription request further includes at least any one of the following:
    所述第一数据消费单元的标识信息,所述第一数据消费单元订阅所述第一数据的频率信息,以及所述第一数据消费单元订阅的所述第一数据的标识信息。Identification information of the first data consuming unit, frequency information of the first data subscribed by the first data consuming unit, and identification information of the first data subscribed by the first data consuming unit.
  49. 根据权利要求31所述的方法,其特征在于,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:The method according to claim 31, wherein the forwarding the cached first data to the multiple data consumption units respectively comprises:
    按照接收到所述第一数据订阅请求的顺序,依次向所述多个数据消费单元发送缓存的所述第一数据;或者Sequentially sending the cached first data to the multiple data consuming units in the order in which the first data subscription request is received; or
    按照预设的频率向所述多个数据消费单元发送缓存的所述第一数据。Sending the buffered first data to the multiple data consumption units according to a preset frequency.
  50. 根据权利要求31所述的方法,其特征在于,所述至少一个数据生产单元包括第一数据生产单元;所述多个数据消费单元包括第一数据消费单元;The method according to claim 31, wherein the at least one data production unit comprises a first data production unit; and the plurality of data consumption units comprise a first data consumption unit;
    所述方法还包括:The method also includes:
    对所述第一数据生产单元和/或所述第一数据消费单元进行故障诊断。Perform fault diagnosis on the first data production unit and/or the first data consumption unit.
  51. 根据权利要求50所述的方法,其特征在于,所述第一数据生产单元按照预设的第一时间间隔发送所述第一数据;所述对所述数据生产单元进行故障诊断,包括:The method of claim 50, wherein the first data production unit sends the first data at a preset first time interval; and the fault diagnosis on the data production unit comprises:
    在所述第一数据生产单元发送所述第一数据的时间间隔大于所述第一时间间隔的情况下,判定所述第一数据生产单元发生故障。In a case where the time interval for the first data production unit to send the first data is greater than the first time interval, it is determined that the first data production unit is faulty.
  52. 根据权利要求50所述的方法,其特征在于,所述第一数据消费单元按照预设的第二时间间隔发送所述第一数据订阅请求;所述对所述数据消费单元进行故障诊断,包括:The method of claim 50, wherein the first data consuming unit sends the first data subscription request at a preset second time interval; and the performing fault diagnosis on the data consuming unit includes :
    在所述第一数据消费单元发送所述第一数据订阅请求的时间间隔大于所述第二时间间隔的情况下,判定所述第一数据消费单元发生故障。In a case where the time interval for the first data consuming unit to send the first data subscription request is greater than the second time interval, it is determined that the first data consuming unit is faulty.
  53. 根据权利要求50所述的方法,其特征在于,所述方法还包括:The method of claim 50, wherein the method further comprises:
    在检测到所述第一数据生产单元发生故障的情况下,获取所述第一数据生产单元产生的第一数据的备份数据,并将所述备份数据转发至所述多个数据消费单元;和/或In the case of detecting a failure of the first data production unit, obtain backup data of the first data generated by the first data production unit, and forward the backup data to the multiple data consumption units; and /or
    在检测到所述第一数据消费单元发生故障的情况下,将所述第一数据转发至所述第一数据消费单元的备份数据消费单元。In a case where a failure of the first data consumption unit is detected, the first data is forwarded to the backup data consumption unit of the first data consumption unit.
  54. 根据权利要求53所述的方法,其特征在于,所述至少一个数据生产单元还包括第二数据生产单元;The method according to claim 53, wherein the at least one data production unit further comprises a second data production unit;
    所述备份数据包括以下至少任意一个:所述第一数据生产单元的备份生产单元产生的第一数据、与所述第一数据生产单元类别相同的第二数据生产单元产生的第一数据,以及所述第一数据生产单元历史发送的第一数据。The backup data includes at least any one of the following: first data produced by a backup production unit of the first data production unit, first data produced by a second data production unit of the same category as the first data production unit, and The first data historically sent by the first data production unit.
  55. 根据权利要求54所述的方法,其特征在于,所述获取所述第一数据生产单元产生的第一数据的备份数据,包括:The method according to claim 54, wherein the obtaining the backup data of the first data generated by the first data production unit comprises:
    在检测到所述第一数据生产单元发生故障的情况下,将所述第一数据生产单元的备份生产单元产生的第一数据作为备份数据;In the case of detecting a failure of the first data production unit, use the first data generated by the backup production unit of the first data production unit as backup data;
    若未查找到所述第一数据生产单元的备份生产单元产生的第一数据,将与所述第一数据生产单元类别相同的所述第二数据生产单元产生的第一数据作为备份数据;If the first data produced by the backup production unit of the first data production unit is not found, use the first data produced by the second data production unit of the same category as the first data production unit as the backup data;
    若未查找到与所述第一数据生产单元类别相同的所述第二数据生产单元产生的第一数据,将所述第一数据生产单元历史发送的第一数据作为备份数据。If the first data generated by the second data production unit with the same category as the first data production unit is not found, the first data historically sent by the first data production unit is used as the backup data.
  56. 根据权利要求31所述的方法,其特征在于,所述将缓存的所述第一数据分别转发至所述多个数据消费单元,包括:The method according to claim 31, wherein the forwarding the cached first data to the multiple data consumption units respectively comprises:
    在查找到所述第一数据中与所述多个数据消费单元的第一数据订阅请求对应的数据帧的情况下,将所述对应的数据帧发送至所述多个数据消费单元;以及If a data frame corresponding to the first data subscription request of the multiple data consuming units is found in the first data, sending the corresponding data frame to the multiple data consuming units; and
    在未查找到所述第一数据中与所述多个数据消费单元的第一数据订阅请求对应的数据帧的情况下,将所述第一数据中预先指定的数据帧发送至所述多个数据消费单元。In the case that the data frame corresponding to the first data subscription request of the multiple data consumption units in the first data is not found, the pre-designated data frame in the first data is sent to the multiple Data consumption unit.
  57. 根据权利要求31所述的方法,其特征在于,所述方法由数据中心执行,所述数据中心设置在处理芯片上,所述处理芯片满足以下条件:The method according to claim 31, wherein the method is executed by a data center, the data center is set on a processing chip, and the processing chip satisfies the following conditions:
    所述处理芯片的各个接口到所述数据生产单元和所述多个数据消费单元的物理距离之和小于预设的距离阈值;以及The sum of the physical distances from the interfaces of the processing chip to the data production unit and the multiple data consumption units is less than a preset distance threshold; and
    所述处理芯片的接口数量大于预设的数量阈值。The number of interfaces of the processing chip is greater than a preset number threshold.
  58. 根据权利要求31至57任意一项所述的方法,其特征在于,所述数据生产单元包括以下至少任意一个:用于获取可移动设备的速度的第一传感器、用于获取可移动设备的位姿的第二传感器、用于获取可移动设备所处环境的环境信息的第三传感器,以及所述多个数据消费单元中具有数据生产能力的数据消费单元;和/或The method according to any one of claims 31 to 57, wherein the data production unit comprises at least any one of the following: a first sensor for acquiring the speed of the movable device, and a position for acquiring the position of the movable device. A second sensor for posture, a third sensor for acquiring environmental information of the environment in which the mobile device is located, and a data consuming unit with data production capability among the plurality of data consuming units; and/or
    所述数据消费单元包括以下至少任意一个:行驶控制单元,路径规划单元,任务 执行单元,以及定位单元。The data consumption unit includes at least any one of the following: a driving control unit, a path planning unit, a task execution unit, and a positioning unit.
  59. 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1至29任意一项所述的方法。A computer-readable storage medium having a computer program stored thereon, and when the program is executed by a processor, the method according to any one of claims 1 to 29 is realized.
  60. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至29任意一项所述的方法。A computer device comprising a memory, a processor, and a computer program stored on the memory and capable of running on the processor. The processor implements the method according to any one of claims 1 to 29 when the processor executes the program.
PCT/CN2020/088809 2020-05-06 2020-05-06 Data processing apparatus and method, medium, computer device, and mobile device WO2021223110A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/088809 WO2021223110A1 (en) 2020-05-06 2020-05-06 Data processing apparatus and method, medium, computer device, and mobile device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/088809 WO2021223110A1 (en) 2020-05-06 2020-05-06 Data processing apparatus and method, medium, computer device, and mobile device

Publications (1)

Publication Number Publication Date
WO2021223110A1 true WO2021223110A1 (en) 2021-11-11

Family

ID=78468542

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/088809 WO2021223110A1 (en) 2020-05-06 2020-05-06 Data processing apparatus and method, medium, computer device, and mobile device

Country Status (1)

Country Link
WO (1) WO2021223110A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100121575A1 (en) * 2006-04-04 2010-05-13 Arinc Inc. Systems and methods for aerial system collision avoidance
CN105657017A (en) * 2016-01-04 2016-06-08 北京百度网讯科技有限公司 Data transmission method, device and system
CN105679069A (en) * 2016-03-23 2016-06-15 傅春 Intelligent road traffic system and method of controlling vehicle driving
CN108512943A (en) * 2018-05-07 2018-09-07 苏州德姆斯信息技术有限公司 Embedded device data store system based on message queue and store method
CN109101330A (en) * 2018-08-06 2018-12-28 百度在线网络技术(北京)有限公司 Data capture method, device and system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100121575A1 (en) * 2006-04-04 2010-05-13 Arinc Inc. Systems and methods for aerial system collision avoidance
CN105657017A (en) * 2016-01-04 2016-06-08 北京百度网讯科技有限公司 Data transmission method, device and system
CN105679069A (en) * 2016-03-23 2016-06-15 傅春 Intelligent road traffic system and method of controlling vehicle driving
CN108512943A (en) * 2018-05-07 2018-09-07 苏州德姆斯信息技术有限公司 Embedded device data store system based on message queue and store method
CN109101330A (en) * 2018-08-06 2018-12-28 百度在线网络技术(北京)有限公司 Data capture method, device and system

Similar Documents

Publication Publication Date Title
KR102399488B1 (en) Flexible Test Board to Improve Sensor I/O Coverage for Autonomous Driving Platform
US7363137B2 (en) Construction equipment discovery on a network
CN108362294B (en) Multi-vehicle cooperative map building method applied to automatic driving
WO2019085430A1 (en) Method for controlling unmanned aerial vehicle, and terminal
JP6405416B2 (en) Data transmission system and data transmission method
WO2019062648A1 (en) Navigation path planning method and device
KR101530581B1 (en) Autonomous Mobile Agent remote control system and method thereof
CN104977912A (en) Ethernet-exchange-bus-based unmanned plane flight control system and method
US11877253B2 (en) Aircraft time synchronization system and method
US20220210228A1 (en) Adaptive real-time streaming for autonomous vehicles
US20200142762A1 (en) Inter-core communication method, processor and multi-processor communication system
JP2021072091A (en) Computation load distribution method, computation load distribution device, mobile vehicle, data processing method, data processing device, and program
JP2020140726A (en) Flight management server of unmanned flying object and flight management system
JP7271237B2 (en) Data collection device, in-vehicle device, data collection system, data collection method and data provision method
WO2021223110A1 (en) Data processing apparatus and method, medium, computer device, and mobile device
CN104724295A (en) Universal interface system for unmanned aerial vehicle loads
CN114047760A (en) Path planning method and device, electronic equipment and automatic driving vehicle
WO2017084045A1 (en) Unmanned aerial vehicle aircraft, and navigation method and system
US20200349104A1 (en) Chip, processor, computer system and movable device
CN115979262B (en) Positioning method, device and equipment of aircraft and storage medium
JP2023157917A (en) Imaging method
JP7360683B2 (en) Work plan generation system
WO2019080471A1 (en) Aircraft positioning method, and mobile terminal
KR102387642B1 (en) Drone based aerial photography measurement device
JP6601810B1 (en) Aircraft guidance method, guidance device, and guidance system

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: 20934483

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20934483

Country of ref document: EP

Kind code of ref document: A1