Controller, data processing method and electronic equipment
By integrating a coprocessor on the controller main control board for time alignment of sensor data, the sensor data alignment problem in robot control is solved, real-time and accuracy of high-precision control is achieved.
Patent Information
- Application Number
- CN202410083716.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-19
- Publication Date
- 2025-07-22
AI Technical Summary
In robot control, the detection data of multiple sensors is difficult to be time-aligned, resulting in the accuracy and real-time control of control parameters that are difficult to meet the high-precision control needs.
The coprocessor is integrated on the controller's main control board, and the real-time operating system is used to perform time alignment of sensor detection data, and the aligned data is sent to the main processor to determine the control parameters.
The real-time and accuracy of detection data are improved, and the accuracy of control parameters is ensured, thereby improving the accuracy and efficiency of robot control.
Smart Images

Figure CN120353155A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of controllers, and more particularly, to a controller, a data processing method, and an electronic device. Background Art
[0002] Currently, robots are playing an increasingly important role in multiple fields, and thus the precise control of robots is becoming more and more important. The control and decision-making of robots usually involve the interaction of many sensors and data, and the amount of data and calculation required to determine the control parameters of robots are relatively large, making it difficult to meet the requirements of actual application scenarios in terms of control accuracy and real-time performance. Summary of the Invention
[0003] This Summary of the Invention section is provided to introduce concepts in a brief form, which will be described in detail in the following Detailed Implementation section. This Summary of the Invention section is not intended to identify key features or essential features of the claimed technical solutions, nor is it intended to be used to limit the scope of the claimed technical solutions.
[0004] In a first aspect, the present disclosure provides a controller, which includes a main control board, on which a main processor and a coprocessor are integrated;
[0005] The coprocessor is installed with a real-time operating system and is communicatively connected to a plurality of sensors, and is configured to receive detection data of the plurality of sensors and perform time alignment on the detection data to obtain target detection data after time alignment;
[0006] The main processor is configured to determine control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to operate.
[0007] In a second aspect, the present disclosure provides a data processing method, which includes:
[0008] The coprocessor receives detection data of a plurality of sensors;
[0009] Perform time alignment on the detection data to obtain target detection data after time alignment and send the target detection data to the main processor, so that the main processor determines control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to operate.
[0010] In a third aspect, the present disclosure provides an electronic device, including:
[0011] A storage device on which a computer program is stored;
[0012] A processing device configured to execute the computer program in the storage device to implement the steps of the method in the second aspect.
[0013] Through the above technical solution, a coprocessor and a main processor can be integrated on the main control board of the controller, so that the time alignment of the detection data of the sensor can be achieved based on the coprocessor, the real-time performance of the data can be improved, and the data accuracy of the subsequent data calculation can be ensured. Therefore, the accuracy of the determined control parameters can be effectively improved, and the precision of the robot control can be improved, which can be applied to the high-precision control scenario of the robot. At the same time, the main processor does not need to perform time alignment processing, which can reduce the data processing volume of the main processor to a certain extent, thereby improving the data processing efficiency of the main processor, ensuring the large computing power data processing and real-time performance of the controller, and further improving the efficiency and accuracy of the robot control based on the controller.
[0014] Other features and advantages of the present disclosure will be described in detail in the subsequent specific implementation part. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In combination with the drawings and with reference to the following specific implementation manners, the above and other features, advantages and aspects of the embodiments of the present disclosure will become more obvious. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic, and the original components and elements are not necessarily drawn to scale. In the drawings:
[0016] Figure 1 is a block diagram of a controller provided according to an embodiment of the present disclosure.
[0017] Figure 2 is a schematic diagram of the data processing architecture based on the controller provided by the embodiment of the present disclosure.
[0018] Figure 3 Schematic diagram of the structure of the controller provided by the embodiment of the present disclosure.
[0019] Figure 4 Flowchart of a data processing method provided according to an embodiment of the present disclosure.
[0020] Figure 5 Shows a schematic diagram of the structure of an electronic device suitable for implementing the embodiments of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0021] The embodiments of the present disclosure will be described in more detail below with reference to the drawings. Although some embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. On the contrary, these embodiments are provided to more thoroughly and completely understand the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not used to limit the protection scope of the present disclosure.
[0022] It should be understood that the various steps described in the method embodiments of the present disclosure may be executed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this regard.
[0023] As used herein, the term "comprising" and its variations are open-ended, i.e., "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". The relevant definitions of other terms will be given in the following description.
[0024] It should be noted that the concepts such as "first", "second", etc. mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.
[0025] It should be noted that the modification of "one" and "multiple" mentioned in the present disclosure is illustrative rather than restrictive. Those skilled in the art should understand that unless otherwise clearly specified in the context, it should be understood as "one or more".
[0026] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only for illustrative purposes and are not used to limit the scope of these messages or information.
[0027] It can be understood that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, usage scopes, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user in an appropriate manner and the user's authorization should be obtained in accordance with relevant laws and regulations.
[0028] For example, when responding to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested by the user will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, an application program, a server, or a storage medium that performs the operations of the technical solutions of the present disclosure according to the prompt message.
[0029] As an optional but non-limiting implementation manner, the manner of sending a prompt message to the user in response to receiving an active request from the user may be, for example, in the form of a pop-up window, and the prompt message may be presented in text in the pop-up window. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0030] It can be understood that the above-mentioned notification and the process of obtaining user authorization are only illustrative and do not limit the implementation manner of the present disclosure. Other manners that comply with relevant laws and regulations can also be applied to the implementation manner of the present disclosure.
[0031] At the same time, it can be understood that the data involved in the present technical solution (including but not limited to the data itself, the acquisition or use of the data) should comply with the requirements of the corresponding laws, regulations and related provisions.
[0032] Figure 1 As shown, it is a block diagram of a controller provided according to an implementation manner of the present disclosure. Figure 1 As shown, the controller 10 includes a main control board 11, and a main processor 12 and a coprocessor 13 are integrated on the main control board 11;
[0033] A real-time operating system is installed in the coprocessor 13, which is communicatively connected to a plurality of sensors, and is configured to receive the detection data of the plurality of sensors, and perform time alignment on the detection data to obtain target detection data after time alignment;
[0034] The main processor 12 is configured to determine control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to operate.
[0035] In the control process of the robot, multiple sensors are usually combined to obtain environmental information. In a possible embodiment, the sensors may include multiple sensors such as a radar, a camera, an inertial sensor IMU (Inertial Measurement Unit), an odometer ODOM, and a GPS (Global Positioning System). Different sensors have their corresponding clock sources, and different sensors may have different sampling frequencies, so they may generate detection data at different time points and record them through timestamps. The purpose of time alignment is to synchronize the data of different sensors to a time axis, so that in the subsequent data processing process, comprehensive decisions can be made based on the data of different sensors corresponding to the same moment, and the accuracy of robot control can be guaranteed.
[0036] In the related art, the chip of the main processor is usually implemented based on the Linux operating system, which is a non-real-time operating system. When the detection data of each sensor is sent to the main processor for data processing, it is difficult to achieve time alignment of different detection data. When the main processor processes the detection data, the detection data is in a state of time misalignment, so it is difficult to ensure the accuracy of the control parameters of the robot determined based on the detection data, and it is difficult to meet the use requirements in high-precision control scenarios.
[0037] AsFigure 2 As shown, it is a schematic architecture diagram of data processing by a controller provided based on an embodiment of the present disclosure. In the embodiment of the present disclosure, a coprocessor is integrated on the main control board to combine with the main processor to implement a heterogeneous platform for data processing. The data interface in the controller is communicatively connected to the coprocessor, so that external data received by the controller, such as detection data of multiple sensors, are all sent to the coprocessor for preliminary processing. For example, the detection data of the camera can be sent to the coprocessor through a serializer. Correspondingly, a real-time operating system can be installed in the coprocessor, and then the coprocessor can be used to align the time of each detection data, so as to achieve accurate fusion of the detection data of different sensors.
[0038] As an example, when the coprocessor performs time alignment, it can align the detection data according to the timestamp information of different sensors by means of interpolation or adjusting the sampling frequency. It can perform algorithmic calculations based on the original inherent acquisition frequency of the sensors to form virtual frames and obtain information at the same moment. For the interpolation algorithm, the earliest and latest timestamps in the dataset can be found as the starting and ending points of the timestamps. Then, the detection data of different sensors within the timestamp range are interpolated at a given time interval. The linear interpolation method can be used, where new data is uniformly sampled between two known data points to generate new data as the target detection data after time alignment. When aligning the detection data of a camera and a radar, since their sampling frequencies may be different, when time-aligning their detection data, if you want to obtain the radar data corresponding to the acquisition moment of the camera's detection data, you can calculate an equivalent value at this sampling moment based on the radar information before and after the sampling moment corresponding to the camera through interpolation or other methods as the target detection data of the radar, that is, obtain the camera detection data and radar detection data corresponding to the same moment.
[0039] After obtaining the target detection data, it can be sent to the main processor, such as sent to the main processor through a CAN network, so that the main processor can perform data processing and calculation on the target detection data to obtain corresponding control parameters. Then the main processor can send the control parameters to the motors corresponding to the robot, and the motors can work based on the corresponding control parameters to drive the robot to move, realizing precise control of the robot.
[0040] Thus, through the above technical solution, a coprocessor and a main processor can be integrated on the main control board of the controller, so that the time alignment of the detection data of the sensors can be realized based on the coprocessor, the real-time performance of the data can be improved, and the data accuracy of the subsequent data calculation can be ensured, thereby effectively improving the accuracy of the determined control parameters and the precision of the robot control, and it can be applied to the high-precision control scenario of the robot. At the same time, the main processor does not need to perform time alignment processing, which can reduce the data processing volume of the main processor to a certain extent, thereby improving the data processing efficiency of the main processor, ensuring the large computing power data processing and real-time performance of the controller, and further improving the efficiency and accuracy of the robot control based on the controller.
[0041] In a possible embodiment, the controller further includes a power supply board, and the power supply board and the main control board are integrated.
[0042] As Figure 3 shown, it is a schematic structural diagram of the controller. In this embodiment, the power supply board 21 and the main control board 11 can be integrated, so as to effectively solve the problems of scattered structure and numerous wiring while ensuring the power supply to the main control board 11, and can improve the reuse degree of the housing 22, improve the integration degree of the controller, and at the same time can reduce the loss of the circuit by the complex wiring to a certain extent and extend the service life of the controller. Figure 3 In 32 is used to represent the camera serializer, and 31 can be used to represent the structure fixing part, Figure 3 The structure fixing part in is only an exemplary display, and the specific structure is not limited. In a possible embodiment, a radiator 23 can also be integrated in the controller to dissipate heat from the controller during operation, ensure the stability of the working state of the controller, and thus improve the data processing efficiency of the controller to a certain extent.
[0043] In a possible embodiment, the multiple sensors include an inertial sensor and a GPS, and the inertial sensor and the GPS are integrated on the main control board. Thus, the integration degree of the controller can be further improved, and a more centralized controller can be realized. As an example, for other sensors (such as radar) not integrated on the main control board, they can be connected to the main control board through a power supply line and a communication line and mounted on the outer shell of the controller.
[0044] As an example, when each component of the controller is powered on and initialized, it self-checks and reports the status respectively. After determining that each component is in a normal state, data processing is performed to avoid data processing deviation caused by unstable startup of the components in the controller.
[0045] In a possible embodiment, a crystal oscillator is further included in the controller, and the crystal oscillator is disposed on the main control board to provide a clock signal for the coprocessor. As an example, the crystal oscillator can be configured as a high-precision crystal oscillator to further improve the accuracy of the clock signal.
[0046] Correspondingly, the coprocessor is further configured to receive a network clock source signal, determine a target time based on the network clock source signal and the clock signal corresponding to the crystal oscillator, and perform time alignment on the detection data based on the target time.
[0047] As an example, the network clock source signal can be obtained through NTP (Network Time Protocol). NTP can be used to synchronize clocks between a client and a server and provide highly accurate time correction. The NTP server receives precise Coordinated Universal Time (UTC) from an authoritative clock source. The role of the crystal oscillator is to provide a basic clock signal for the system. The clock cycle, which is the reciprocal of the crystal oscillator frequency, can be obtained based on the clock signal generated by the crystal oscillator circuit. Then, the clock cycle can be fused with the world time corresponding to the network clock source signal to obtain a precise world time, which is the target time and serves as the system time of the coprocessor, so as to perform time alignment on the received detection data based on the target time. Among them, the world time can be determined by the fusion method of the crystal oscillator clock signal and the NTP clock signal in the art, which will not be elaborated here.
[0048] Thus, through the above technical solution, the accuracy of the system time of the coprocessor itself can be improved, thereby ensuring the accuracy and effectiveness of the data obtained by performing time alignment on the detection data, and providing accurate data support for the main processor to perform data processing.
[0049] In a possible embodiment, the coprocessor can further be configured to:
[0050] Determine the type of the sensor. Corresponding time alignment strategies can be configured according to different application scenarios and the type of the sensor. For an inertial sensor, a time alignment strategy based on an interrupt signal can be configured; for a wheel speed sensor, a time alignment strategy of PTP (Precision Time Protocol) can be configured; for a GPS, a time alignment strategy of PPS (Pulse Per Second) + GPRMC can be configured. The same time alignment strategy or different time alignment strategies can be configured for different types. The present disclosure does not make any limitations in this regard.
[0051] Perform time alignment on the detection data of the sensor based on the time alignment strategy corresponding to the type of the sensor to obtain target detection data corresponding to the sensor.
[0052] Then, after receiving the detection data of each sensor, the time alignment strategy corresponding to the type of the sensor can be selected to perform time alignment on its detection data, so as to further improve the accuracy of time alignment of the detection data, effectively improve the effectiveness and accuracy of data processing in the controller, and provide accurate data support for subsequent motion decision-making of the robot.
[0053] In a possible embodiment, the coprocessor can also be used for:
[0054] Receive the motor parameters of the motor corresponding to the robot after the motor works based on the control parameters.
[0055] In this embodiment, the motor corresponding to the robot can work based on the corresponding control parameters after receiving the corresponding control parameters, so as to drive the robot to perform corresponding actions. In order to ensure the accuracy of robot control, the motor can feedback its motor parameters to the coprocessor to achieve closed-loop control of the motor. As an example, the motor parameters can include parameters such as speed, position, and torque information, which can be set based on the actual application scenario.
[0056] Perform time alignment on the motor parameters and the detection data of the received sensor, and send the data obtained after time alignment to the main processor.
[0057] Correspondingly, when the coprocessor receives the motor parameters, it can perform time alignment on the motor parameters and the detection data it receives, so as to determine the motor parameters and detection data corresponding to the same moment, and send the data after time alignment to the main processor. Then, when the main processor performs data processing, it can determine the motor parameters in the current state based on the data after time alignment, that is, the motor parameters and detection data at the same moment, to achieve closed-loop control of the motor parameters, which can further improve the accuracy of the determined motor parameters and broaden the applicable scenarios of the controller.
[0058] Based on the same inventive concept, the present disclosure also provides a data processing method, as Figure 4 shown, the method may include:
[0059] In step 11, the coprocessor receives the detection data of multiple sensors;
[0060] In step 12, the detection data is time-aligned to obtain the target detection data after time alignment and sent to the main processor, so that the main processor determines control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot.
[0061] Among them, the above method can be applied to the controller provided in the embodiments of the present disclosure. The specific implementation manners of the steps in the method have been described in detail above and will not be elaborated here.
[0062] Thus, through the above technical solution, by integrating a coprocessor and a main processor on the main control board of the controller, the time alignment of the detection data of the sensor can be realized based on the coprocessor, improving the real-time performance of the data, ensuring the data accuracy of the subsequent data calculation, and thus effectively improving the accuracy of the determined control parameters and the precision of the robot control. At the same time, the main processor does not need to perform time alignment processing, which can reduce the data processing volume of the main processor to a certain extent, thereby improving the data processing efficiency of the main processor, ensuring the large computing power data processing and real-time performance of the controller, and further improving the efficiency and accuracy of the robot control based on the controller.
[0063] Optionally, the controller further includes a power board, and the power board is integrated with the main control board.
[0064] Optionally, the sensor includes multiple sensors among radar, camera, inertial sensor, wheel speed meter, and GPS.
[0065] Optionally, the multiple sensors include an inertial sensor and GPS, and the inertial sensor and GPS are integrated on the main control board.
[0066] Optionally, a crystal oscillator is further included in the controller, and the crystal oscillator is configured on the main control board;
[0067] The method further includes: the coprocessor receives a network clock source signal, determines a target time based on the network clock source signal and the clock signal corresponding to the crystal oscillator, and time-aligns the detection data based on the target time.
[0068] Optionally, the method further includes:
[0069] The coprocessor determines the type of the sensor;
[0070] Time-align the detection data of the sensor based on the time alignment strategy corresponding to the type of the sensor to obtain the target detection data corresponding to the sensor.
[0071] Optionally, the method further includes:
[0072] The coprocessor receives the motor parameters of the motors corresponding to the robot after the motors operate based on the control parameters;
[0073] Time-align the motor parameters with the detection data of the received sensors, and send the data obtained after time alignment to the main processor.
[0074] Among them, the specific implementation manners of the steps of the above method are described in detail above and will not be elaborated here.
[0075] Next, refer to Figure 5 , which shows a schematic structural diagram of an electronic device (such as a terminal device or a server) 600 suitable for implementing the embodiments of the present disclosure. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet Computers), PMPs (Portable Multimedia Players), vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The electronic device shown is only an example and should not impose any limitations on the functions and usage scopes of the embodiments of the present disclosure.
[0076] As Figure 5 shown, the electronic device 600 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) 601, which may perform various appropriate actions and processes according to the programs stored in the read-only memory (ROM) 602 or the programs loaded from the storage device 608 into the random access memory (RAM) 603. In the RAM 603, various programs and data required for the operation of the electronic device 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604. The input / output (I / O) interface 605 is also connected to the bus 604.
[0077] Generally, the following devices may be connected to the I / O interface 605: an input device 606 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 607 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 608 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 609. The communication device 609 may allow the electronic device 600 to communicate with other devices wirelessly or wiredly to exchange data. Although Figure 5 shows the electronic device 600 having various devices, it should be understood that it is not required to implement or include all the shown devices. Instead, more or fewer devices may be implemented or included.
[0078] In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, an embodiment of the present disclosure includes a computer program product that includes a computer program carried on a non-transitory computer-readable medium, and the computer program includes program code for performing the methods shown in the flowcharts. In such an embodiment, the computer program can be downloaded and installed from the network via the communication device 609, or installed from the storage device 608, or installed from the ROM 602. When the computer program is executed by the processing device 601, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.
[0079] It should be noted that the above-mentioned computer-readable medium in the present disclosure can be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. A computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples of the computer-readable storage medium can include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device. In the present disclosure, a computer-readable signal medium can include a data signal propagated in a baseband or as part of a carrier wave, in which computer-readable program code is carried. Such a propagated data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium can also be any computer-readable medium other than the computer-readable storage medium, and the computer-readable signal medium can send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted by any appropriate medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0080] In some embodiments, the client and the server can communicate using any currently known or future-developed network protocol such as HTTP (HyperText Transfer Protocol), and can be interconnected with digital data communication in any form or medium (e.g., a communication network). Examples of communication networks include local area networks ("LANs"), wide area networks ("WANs"), the Internet (e.g., the Internet), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.
[0081] The above computer-readable medium can be included in the above electronic device; it can also exist separately without being assembled into the electronic device.
[0082] The above computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device is caused to: the coprocessor receives detection data from multiple sensors; perform time alignment on the detection data to obtain target detection data after time alignment and send it to the main processor, so that the main processor determines control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to operate.
[0083] Computer program code for performing the operations of the present disclosure can be written in one or more programming languages or combinations thereof. The above programming languages include, but are not limited to, object-oriented programming languages such as Java, Smalltalk, C++, and also include conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, executed as an independent software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., by using an Internet service provider to connect through the Internet).
[0084] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a dedicated hardware-based system that performs the specified functions or operations, or may be implemented by a combination of dedicated hardware and computer instructions.
[0085] The modules described in the embodiments of the present disclosure can be implemented in software or in hardware. In some cases, the name of the module does not constitute a limitation on the module itself.
[0086] The functions described above herein can be performed, at least in part, by one or more hardware logic components. By way of example, and not limitation, the types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system on a chip (SOCs), complex programmable logic devices (CPLDs), and the like.
[0087] In the context of the present disclosure, a machine-readable medium may be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0088] According to one or more embodiments of the present disclosure, Example 1 provides a controller, wherein the controller includes a main control board on which a main processor and a coprocessor are integrated;
[0089] The coprocessor is installed with a real-time operating system, communicates with multiple sensors, is used to receive the detection data of the multiple sensors, and aligns the detection data in time to obtain target detection data after time alignment;
[0090] The main processor is used to determine control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to work.
[0091] According to one or more embodiments of the present disclosure, Example 2 provides the controller described in Example 1, wherein the controller further includes a power board, and the power board and the main control board are integrated.
[0092] According to one or more embodiments of the present disclosure, Example 3 provides the controller described in Example 1, wherein the sensors include multiple sensors among radar, camera, inertial sensor, wheel speed meter, and GPS.
[0093] According to one or more embodiments of the present disclosure, Example 4 provides the controller described in Example 3, wherein the multiple sensors include an inertial sensor and GPS, and the inertial sensor and GPS are integrated on the main control board.
[0094] According to one or more embodiments of the present disclosure, Example 5 provides the controller described in Example 1, wherein the coprocessor is further used for:
[0095] Determine the types of the sensors;
[0096] Align the detection data of the sensors based on the time alignment strategy corresponding to the types of the sensors to obtain target detection data corresponding to the sensors.
[0097] According to one or more embodiments of the present disclosure, Example 6 provides the controller described in Example 3, wherein a crystal oscillator is further included in the controller, and the crystal oscillator is configured on the main control board;
[0098] The coprocessor is further used to receive a network clock source signal, determine a target time based on the network clock source signal and the clock signal corresponding to the crystal oscillator, and align the detection data based on the target time.
[0099] According to one or more embodiments of the present disclosure, Example 7 provides the controller described in Example 1, wherein the coprocessor is further used for:
[0100] Receive the motor parameters after the motors corresponding to the robot work based on the control parameters;
[0101] Time-align the motor parameters with the detection data of the received sensors, and send the data obtained after time alignment to the main processor.
[0102] According to one or more embodiments of the present disclosure, Example 8 provides a data processing method, the method comprising:
[0103] The coprocessor receives the detection data of multiple sensors;
[0104] Time-align the detection data, obtain the target detection data after time alignment and send it to the main processor, so that the main processor determines the control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to work.
[0105] According to one or more embodiments of the present disclosure, Example 9 provides the method described in Example 8, wherein the method further comprises:
[0106] The coprocessor receives the motor parameters of the motors corresponding to the robot after working based on the control parameters;
[0107] Time-align the motor parameters with the detection data of the received sensors, and send the data obtained after time alignment to the main processor.
[0108] According to one or more embodiments of the present disclosure, Example 10 provides an electronic device, comprising:
[0109] A storage device, on which a computer program is stored;
[0110] A processing device, configured to execute the computer program in the storage device to implement the steps of the method described in Claim 8 or 9.
[0111] The above description is only a preferred embodiment of the present disclosure and an explanation of the applied technical principles. Those skilled in the art should understand that the scope of disclosure involved in the present disclosure is not limited to the technical solutions formed by the specific combination of the above technical features, and should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the above disclosure concept. For example, the technical solutions formed by mutually replacing the above features with the technical features (but not limited to) having similar functions disclosed in the present disclosure.
[0112] In addition, although the operations are depicted in a particular order, this should not be construed as requiring that the operations be performed in the particular order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, although several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the present disclosure. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, the various features that are described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments.
[0113] Although the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are merely example forms of implementing the claims. Regarding the apparatus in the above embodiments, the specific manner in which each module performs operations has been described in detail in the embodiments related to the method and will not be elaborated here.
Claims
1. A controller, characterized in that, The controller includes a main control board, on which a main processor and a coprocessor are integrated; The coprocessor is installed with a real-time operating system, communicates with multiple sensors, and is used to receive the detection data of the multiple sensors, and perform time alignment on the detection data to obtain target detection data after time alignment; The main processor is used to determine control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to work.
2. The controller according to claim 1, wherein The controller further includes a power supply board, and the power supply board and the main control board are integrated.
3. The controller according to claim 1, characterized in that, The sensors include multiple sensors among radar, camera, inertial sensor, wheel speed meter, and GPS.
4. The controller according to claim 3, wherein The multiple sensors include an inertial sensor and GPS, and the inertial sensor and GPS are integrated on the main control board.
5. The controller according to claim 3, characterized in that, The coprocessor is further used for: Determine the types of the sensors; Perform time alignment on the detection data of the sensors based on the time alignment strategy corresponding to the types of the sensors to obtain target detection data corresponding to the sensors.
6. The controller according to claim 1, characterized in that, A crystal oscillator is further included in the controller, and the crystal oscillator is configured on the main control board; The coprocessor is further used to receive a network clock source signal, determine a target time based on the network clock source signal and the clock signal corresponding to the crystal oscillator, and perform time alignment on the detection data based on the target time.
7. The controller according to claim 1, wherein, The coprocessor is further used for: Receive the motor parameters after the motors corresponding to the robot work based on the control parameters; Perform time alignment on the motor parameters and the detection data of the received sensors, and send the data obtained after time alignment to the main processor.
8. A data processing method, characterized in that, The method includes: The coprocessor receives the detection data of multiple sensors; Perform time alignment on the detection data to obtain target detection data after time alignment and send it to the main processor, so that the main processor determines control parameters based on the target detection data, and the control parameters are used to control the motors corresponding to the robot to work.
9. The method according to claim 8, wherein The method further includes: The coprocessor receives the motor parameters after the motors corresponding to the robot work based on the control parameters; Perform time alignment on the motor parameters and the detection data of the received sensors, and send the data obtained after time alignment to the main processor.
10. An electronic device, characterized in that, It includes: A storage device on which a computer program is stored; A processing device for executing the computer program in the storage device to implement the steps of the method according to claim 8 or 9.