Message communication method, computer system, and proxy device

By introducing proxy devices to the autonomous driving system or auxiliary autonomous driving system for message format conversion, the problem of difficulty in interoperability between the AUTOSAR system and the ROS system in the prior art is solved, and the system performance improvement and message interoperability effect is achieved.

CN118860691BActive Publication Date: 2025-06-17YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411038295.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-01-19
Publication Date
2025-06-17
Estimated Expiration
2040-01-19

AI Technical Summary

Technical Problem

The prior art is difficult to effectively support the development of autonomous driving systems or assisted autonomous driving systems, especially in terms of functions such as perception, fusion, regulation and execution.

Method used

By introducing a proxy device into an autonomous driving system or an assisted autonomous driving system, the message format conversion between the first computer system (such as the AUTOSAR system) and the second computer system (such as the ROS system) is realized, ensuring that both can communicate with messages.

Benefits of technology

This enables the autonomous driving system or auxiliary autonomous driving system to have the excellent characteristics of the AUTOSAR system and the ROS system at the same time, improves the system performance, and realizes the communication between the AUTOSAR system and the ROS system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118860691B_ABST
    Figure CN118860691B_ABST
Patent Text Reader

Abstract

The present application discloses a message communication method, a computer system and an agent device, which helps to enable an autonomous driving system or an assisted autonomous driving system to simultaneously possess the excellent characteristics of a first computer system and a second computer system, thereby improving the performance of the autonomous driving system or the assisted autonomous driving system. The message communication method is applied to an autonomous driving system or an assisted autonomous driving system, and the autonomous driving system or the assisted autonomous driving system includes: a first computer system, a second computer system and an agent device. The method includes: the agent device receives a first message sent by the first computer system, the format of the first message is a format recognizable by the first computer system, and converts the first message into a second message; the format of the second message is a format recognizable by the second computer system; the agent device sends the second message to the second computer system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of autonomous driving or assisted autonomous driving, and particularly to a message communication method, a computer system, and an agent device. Background Art

[0002] As Figure 1 shown, the software architecture of an autonomous driving vehicle may include an application layer and a framework layer. The application layer includes applications such as perception, fusion, planning and control, and execution. The framework layer is used to provide basic logic and rules for the application layer, including computing logic, communication logic, etc. Currently, the industry generally uses the automotive open system architecture (AUTOSAR) or the robot operating system (ROS) as the framework layer.

[0003] Although the AUTOSAR system is relatively complete in terms of the functions of traditional vehicle control, execution, etc., its support for the development of autonomous driving systems is insufficient. Specifically, it is not easy to develop functions such as perception, fusion, planning and control, and execution in the application layer. The ROS system was initially a data-plane-oriented software architecture developed for robot systems, so it is good at functions such as computing and decision-making. However, additional development is required for traditional vehicle control, execution, etc. Therefore, how to design an autonomous driving system or an assisted autonomous driving system has become an urgent technical problem to be solved. Summary of the Invention

[0004] Embodiments of this application provide a message communication method, a computer system, and an agent device, which help an autonomous driving system or an assisted autonomous driving system to simultaneously possess the excellent characteristics of a first computer system and a second computer system, thereby improving the performance of the autonomous driving system or the assisted autonomous driving system.

[0005] To achieve the above object, the embodiments of this application adopt the following technical solutions:

[0006] In a first aspect, a message communication method is provided, which is applied to an autonomous driving system or an assisted autonomous driving system. The autonomous driving system or the assisted autonomous driving system includes: a first computer system, a second computer system, and an agent device. The method includes: The agent device receives a first message sent by the first computer system, and the format of the first message is a format recognizable by the first computer system. The agent device converts the first message into a second message. The format of the second message is a format recognizable by the second computer system. The agent device sends the second message to the second computer system. In this way, an agent device is added to the autonomous driving system or the assisted autonomous driving system to convert the message formats of the first computer system and the second computer system, so that the first computer system and the second computer system can communicate messages, which helps the autonomous driving system or the assisted autonomous driving system to simultaneously possess the excellent characteristics of the first computer system and the second computer system (for example, being able to take into account the traditional control of the vehicle by the AUTOSAR system and the advanced functions such as perception, calculation, fusion, and simulation of ROS).

[0007] In a possible implementation, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. Alternatively, the first computer system includes ROS, and the second computer system includes an AUTOSAR system. In this way, the intercommunication of AUTOSAR system and ROS messages can be realized.

[0008] In a possible implementation, the first message is a message in the remote procedure call (RPC) mode or a parameter mode. The first message includes a first message identifier, and the first message identifier includes a method identifier and / or a parameter identifier. The method further includes: determining a second message identifier corresponding to the first message identifier according to the correspondence between the message identifier recognizable by the first computer system and the message identifier recognizable by the second computer system. Wherein, the second message includes a second message identifier, and the second message identifier includes a method identifier and / or a parameter identifier. In this way, the application program of the first computer system can call the application program in the second computer system, and the first computer system can obtain or set the parameters in the second computer system, so as to realize the communication of messages in the remote procedure call mode and the parameter mode between the first computer system and the second computer system.

[0009] In a possible implementation, the subject of the message sent by the first object included in the first computer system is the same as the subject of the message received by the second object included in the proxy device. The first object is the sender of the message in the first computer system, and the second object is the receiver of the message in the proxy device. The message sent by the first object includes a first message. The subject of the message sent by the third object included in the proxy device is the same as the subject of the message received by the fourth object included in the second computer system. The third object is the sender of the message in the proxy device, and the fourth object is the receiver of the message in the second computer system. The message sent by the third object includes a second message. In this way, the objects in the proxy device can be respectively matched with the objects in the first computer system and the second computer system for message sending and receiving.

[0010] In a possible implementation, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. The method further includes that the proxy device filters the first message. The proxy device converts the first message into a second message, specifically including: the proxy device converts the filtered first message into a second message. In this way, the messages sent in the AUTOSAR system can be accurately corresponded to the processes of the applications in ROS.

[0011] In a possible implementation, the first computer system includes ROS, the second computer system includes an AUTOSAR system, and the second message does not include an instance identifier. The method further includes: the proxy device adds an instance identifier to the second message, where the instance identifier is used by the AUTOSAR system to determine the fourth object. In this way, the messages sent from ROS to the AUTOSAR system can also be accurately corresponded to the processes of the applications in the AUTOSAR system.

[0012] In a possible implementation, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. The quality of service (QoS) used by the first object is compatible with the QoS used by the second object, or when the first computer system includes ROS and the second computer system includes an AUTOSAR system, the QoS used by the third object is compatible with the QoS used by the fourth object. In this way, it can be ensured that when the proxy device communicates with the AUTOSAR system, the sender of the message and the receiver of the message have the same subject and compatible QoS. In a possible implementation, the QoS of the sender needs to be compatible with the QoS of the receiver. The value of the QoS of the sender defines the quality of service provided by the sender; the value of the QoS of the receiver defines the quality of service required by the receiver. The QoS of the sender being compatible with the QoS of the receiver means that the quality of service provided by the sender must meet the quality of service required by the receiver.

[0013] In a second aspect, a message communication method is provided, which is applied to an autonomous driving system or an assisted autonomous driving system. The autonomous driving system or the assisted autonomous driving system includes: a first computer system and a second computer system. The method includes: the second computer system receives a first message sent by the first computer system, the format of the first message is a format recognizable by the first computer system, and the second computer system converts the first message into a second message, the format of the second message is a format recognizable by the second computer system. In this way, the second computer system adds the logic of converting the format in the first computer system to the format of the second computer system, enabling the first computer system and the second computer system to communicate messages.

[0014] In a possible implementation, the first computer system includes an Automotive Open System Architecture (AUTOSAR) system, and the second computer system includes a Robot Operating System (ROS); alternatively, the first computer system includes ROS, and the second computer system includes an AUTOSAR system. In this way, the interoperability of AUTOSAR system and ROS messages can be achieved.

[0015] In a possible implementation, the first message is a message in Remote Procedure Call (RPC) mode or Parameter mode. The first message includes a first message identifier, and the first message identifier includes a method identifier and / or a parameter identifier. The method further includes: the second computer system determines a second message identifier corresponding to the first message identifier according to the correspondence between the message identifier recognizable by the first computer system and the message identifier recognizable by the second computer system. The second message includes the second message identifier, and the second message identifier includes a method identifier and / or a parameter identifier. In this way, the application program in the first computer system can call the application program in the second computer system, and the first computer system can obtain or set the parameters in the second computer system, thereby realizing the communication of messages in the Remote Procedure Call mode and Parameter mode between the first computer system and the second computer system.

[0016] In a possible implementation, the topic of the message sent by the first object included in the first computer system is the same as the topic of the message received by the second object included in the second computer system. The topic of the message received by the first object included in the first computer system is the same as the topic of the message sent by the second object included in the second computer system. The first object is the sender of the message in the first computer system, and the second object is the receiver of the message in the second computer system. The message sent by the first object includes the first message; or, the message sent by the second object includes the second message. In this way, the objects in the first computer system can be matched with the objects in the second computer system for message sending and receiving.

[0017] In a possible implementation, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. The method further includes: the second computer system filters the first message. The second computer system converts the first message into a second message, including: the second computer system converts the filtered first message into a second message. In this way, the messages sent in the AUTOSAR system can be accurately corresponded to the processes of the applications in ROS.

[0018] In a possible implementation, the first computer system includes ROS, the second computer system includes an AUTOSAR system, and the first message does not include an instance identifier. The method further includes: the second computer system adds an instance identifier to the second message, where the instance identifier is used by the AUTOSAR system to determine a second object. In this way, the messages sent from ROS to the AUTOSAR system can also be accurately corresponded to the processes of the applications in the AUTOSAR system.

[0019] In a possible implementation, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. The QoS used by the first object is compatible with the QoS used by the second object. In this way, it can be ensured that when ROS communicates with the AUTOSAR system, the sender of the message and the receiver of the message have the same topic and compatible QoS.

[0020] In a third aspect, a proxy device is provided. The device can be used to execute any of the methods provided in any of the possible implementations of the first aspect to the first aspect. For example, the proxy device can be a computer device (such as a terminal device, a server, or a cloud server) or a chip, etc.

[0021] According to the third aspect, in the first possible implementation of the third aspect, the device can be divided into functional modules according to any of the methods provided in the first aspect above. For example, each functional unit can be corresponded to each function, or two or more functions can be integrated into one processing unit.

[0022] According to the third aspect or the first possible implementation of the third aspect, in the second possible implementation of the third aspect, the device can include a processor, and the processor is used to execute any of the methods provided in the first aspect above.

[0023] In a fourth aspect, a computer-readable storage medium is provided, such as a non-transitory computer-readable storage medium. A computer program (or instruction) is stored thereon. When the computer program (or instruction) runs on a computer, the computer is caused to execute any of the methods provided in the first aspect or any of the possible implementations of the first aspect.

[0024] In a fifth aspect, there is provided a computer program product which, when running on a computer, causes any of the methods provided by the first aspect or any possible implementation of the first aspect to be executed.

[0025] In a sixth aspect, there is provided a chip, comprising: a processor for invoking and running a computer program stored in a memory to execute any of the methods provided by the first aspect or any possible implementation of the first aspect.

[0026] In a seventh aspect, there is provided a computer system which can be used to execute any of the methods provided by the second aspect or any possible implementation of the second aspect. According to the second aspect, in the first possible implementation of the second aspect, the computer system can be divided into functional modules according to any of the methods provided by the second aspect. For example, each functional unit can be corresponding to each function, or two or more functions can be integrated into one processing unit.

[0027] According to the second aspect or the first possible implementation of the second aspect, in the second possible implementation of the second aspect, the computer system may include a processor for executing any of the methods provided by the second aspect.

[0028] In an eighth aspect, there is provided a computer-readable storage medium, such as a non-transitory computer-readable storage medium. A computer program (or instruction) is stored thereon, which, when running on a computer, causes the computer to execute any of the methods provided by the second aspect or any possible implementation of the second aspect.

[0029] In a ninth aspect, there is provided a computer program product which, when running on a computer, causes any of the methods provided by the second aspect or any possible implementation of the second aspect to be executed.

[0030] In a tenth aspect, there is provided a chip, comprising: a processor for invoking and running a computer program stored in a memory to execute any of the methods provided by the second aspect or any possible implementation of the second aspect.

[0031] It can be understood that any of the above-provided proxy devices, computer systems, computer storage media, computer program products or chips, etc. can be applied to the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] Figure 1Schematic diagram of a software architecture of an autonomous vehicle applicable to the embodiments of the present application;

[0033] Figure 2 Functional block diagram of a vehicle 100 provided in the embodiments of the present application;

[0034] Figure 3 Schematic diagram of a computer system provided in the embodiments of the present application;

[0035] Figure 4 Schematic diagram of an autonomous driving or assisted autonomous driving system based on the AUTOSAR system provided in the embodiments of the present application;

[0036] Figure 5 Relationship diagram of domain participants, publishers, subscribers, data writers, and data readers applicable to the embodiments of the present application;

[0037] Figure 6 Publish-subscribe model of a DDS applicable to the embodiments of the present application;

[0038] Figure 7 Schematic diagram of the relationship between a domain, domain participants, and applications applicable to the embodiments of the present application;

[0039] Figure 8 Schematic diagram of an autonomous driving or assisted autonomous driving system based on ROS provided in the embodiments of the present application;

[0040] Figure 9 Publish-subscribe model of ros_comm applicable to the embodiments of the present application;

[0041] Figure 10 Interconnection schematic diagram of the AUTOSAR system and ROS provided in the embodiments of the present application;

[0042] Figure 11 Schematic diagram of a system architecture of an interconnection solution between the AUTOSAR system and ROS based on the proxy mode provided in the embodiments of the present application;

[0043] Figure 12 Schematic diagram of a system architecture of an interconnection solution between the AUTOSAR system and ROS based on the direct-through mode provided in the embodiments of the present application;

[0044] Figure 13 Schematic diagram of a process of a method for service discovery between the AUTOSAR system and a proxy device provided in the embodiments of the present application;

[0045] Figure 14 Schematic diagram of a process of a method for service discovery between a proxy device and ROS provided in the embodiments of the present application;

[0046] Figure 15 This is a schematic flowchart of a method for an AUTOSAR system to send messages to ROS through a proxy device in a method for implementing AUTOSAR system and ROS message communication based on the proxy mode provided by an embodiment of the present application;

[0047] Figure 16 This is a schematic flowchart of a method for ROS to send messages to the AUTOSAR system through a proxy device in a method for implementing AUTOSAR system and ROS message communication based on the proxy mode provided by an embodiment of the present application;

[0048] Figure 17 This is a schematic flowchart of a method for implementing AUTOSAR system and ROS message communication based on the direct pass - through mode provided by an embodiment of the present application;

[0049] Figure 18 This is a schematic flowchart of another method for implementing AUTOSAR system and ROS message communication based on the direct pass - through mode provided by an embodiment of the present application;

[0050] Figure 19 This is a schematic structural diagram of a proxy device provided by an embodiment of the present application;

[0051] Figure 20 This is a schematic structural diagram of a computer system provided by an embodiment of the present application. Detailed implementation manners

[0052] Figure 2 This is a functional block diagram of a vehicle 100 applicable to an embodiment of the present application. In one embodiment, the vehicle 100 is configured to be in a fully or partially autonomous driving mode. For example, the vehicle 100 can control itself while in the autonomous driving mode, and can determine the current state of the vehicle and its surrounding environment through manual operation, determine the possible behaviors of at least one other vehicle in the surrounding environment, and determine the confidence level corresponding to the possibility of the other vehicle performing the possible behaviors, and control the vehicle 100 based on the determined information. When the vehicle 100 is in the autonomous driving mode, the vehicle 100 can be set to operate without interacting with people.

[0053] The vehicle 100 may include various subsystems, such as a propulsion system 102, a sensing system 104, a control system 106, one or more peripheral devices 108, as well as a power supply 110, a computer system 112, and a user interface 116. Optionally, the vehicle 100 may include more or fewer subsystems, and each subsystem may include multiple components. Additionally, each subsystem and component of the vehicle 100 can be interconnected by wire or wirelessly.

[0054] The propulsion system 102 may include components that provide powered movement for the vehicle 100. In one embodiment, the propulsion system 102 may include an engine 118, an energy source 119, a transmission 120, and wheels 121. The engine 118 may be an internal combustion engine, an electric motor, an air compression engine, or a combination of other types of engines, such as a hybrid engine composed of a gasoline engine and an electric motor, or a hybrid engine composed of an internal combustion engine and an air compression engine. The engine 118 converts the energy source 119 into mechanical energy.

[0055] Examples of the energy source 119 include gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other power sources. The energy source 119 may also provide energy for other systems of the vehicle 100.

[0056] The transmission 120 may transmit mechanical power from the engine 118 to the wheels 121. The transmission 120 may include a gearbox, a differential, and a drive shaft. In one embodiment, the transmission 120 may also include other components, such as a clutch. The drive shaft may include one or more shafts that can be coupled to one or more wheels 121.

[0057] The sensing system 104 may include several sensors that sense information about the environment surrounding the vehicle 100. For example, the sensing system 104 may include a positioning system 122 (the positioning system may be a GPS system, a Beidou system, or other positioning systems), an inertial measurement unit (IMU) 124, a radar 126, a lidar 128, and a camera 130. The sensing system 104 may also include sensors that monitor the internal systems of the vehicle 100 (e.g., in-vehicle air quality monitor, fuel gauge, engine oil temperature gauge, etc.). Sensor data from one or more of these sensors may be used to detect objects and their corresponding characteristics (position, shape, orientation, speed, etc.). Such detection and identification are key functions for the safe operation of the vehicle 100.

[0058] The positioning system 122 may be used to estimate the geographical location of the vehicle 100. The inertial measurement unit 124 is used to sense changes in the position and orientation of the vehicle 100 based on inertial acceleration. In one embodiment, the inertial measurement unit 124 may be a combination of an accelerometer and a gyroscope.

[0059] The radar 126 may use radio signals to sense objects within the surrounding environment of the vehicle 100. In some embodiments, in addition to sensing objects, the radar 126 may also be used to sense the speed and / or forward direction of the objects.

[0060] The lidar 128 can use laser to sense objects in the environment where the vehicle 100 is located. In some embodiments, the lidar 128 may include one or more laser sources, a laser scanner, and one or more detectors, as well as other system components.

[0061] The camera 130 can be used to capture multiple images of the surrounding environment of the vehicle 100. The camera 130 can be a static camera or a video camera.

[0062] The control system 106 controls the operation of the vehicle 100 and its components. The control system 106 may include various elements, including a steering system 132, a throttle 134, a braking unit 136, a computer vision system 140, a route control system 142, and an obstacle avoidance system 144.

[0063] The steering system 132 is operable to adjust the forward direction of the vehicle 100. For example, in one embodiment, it can be a steering wheel system.

[0064] The throttle 134 is used to control the operating speed of the engine 118 and thus control the speed of the vehicle 100.

[0065] The braking unit 136 is used to control the deceleration of the vehicle 100. The braking unit 136 can use friction to slow down the wheels 121. In other embodiments, the braking unit 136 can convert the kinetic energy of the wheels 121 into electric current. The braking unit 136 can also take other forms to slow down the rotational speed of the wheels 121 so as to control the speed of the vehicle 100.

[0066] The computer vision system 140 can be operated to process and analyze the images captured by the camera 130 in order to identify objects and / or features in the surrounding environment of the vehicle 100. The objects and / or features may include traffic signals, road boundaries, and obstacles. The computer vision system 140 can use object recognition algorithms, Structure from Motion (SFM) algorithms, video tracking, and other computer vision techniques. In some embodiments, the computer vision system 140 can be used to map the environment, track objects, estimate the speed of objects, and so on.

[0067] The route control system 142 is used to determine the driving route of the vehicle 100. In some embodiments, the route control system 142 can combine data from the radar 126, the positioning system 122, and one or more pre - determined maps to determine the driving route for the vehicle 100.

[0068] The obstacle avoidance system 144 is used to identify, evaluate, and avoid or otherwise cross potential obstacles in the environment of the vehicle 100.

[0069] Of course, in one example, control system 106 may additionally or alternatively include components other than those shown and described. Or some of the components shown above may be reduced.

[0070] Vehicle 100 interacts with external sensors, other vehicles, other computer systems, or users via peripheral device 108. Peripheral device 108 may include wireless communication system 146, in-vehicle computer 148, microphone 150, and / or speaker 152.

[0071] In some embodiments, peripheral device 108 provides a means for a user of vehicle 100 to interact with user interface 116. For example, in-vehicle computer 148 may provide information to a user of vehicle 100. User interface 116 may also operate in-vehicle computer 148 to receive user input. In-vehicle computer 148 may be operated via a touch screen. In other cases, peripheral device 108 may provide a means for vehicle 100 to communicate with other devices located within the vehicle. For example, microphone 150 may receive audio from a user of vehicle 100 (e.g., voice commands or other audio inputs). Similarly, speaker 152 may output audio to a user of vehicle 100.

[0072] Wireless communication system 146 may wirelessly communicate with one or more devices directly or via a communication network. For example, wireless communication system 146 may use 3G cellular communication, such as CDMA, EVDO, GSM / GPRS, or 4G cellular communication, such as LTE. Or 5G cellular communication. Wireless communication system 146 may utilize WiFi to communicate with a wireless local area network (WLAN). In some embodiments, wireless communication system 146 may utilize an infrared link, Bluetooth, or ZigBee to communicate directly with a device. Other wireless protocols, such as various vehicle communication systems, for example, wireless communication system 146 may include one or more dedicated short range communications (DSRC) devices, which may include public and / or private data communication between vehicles and / or roadside stations.

[0073] Power source 110 may provide power to various components of vehicle 100. In one embodiment, power source 110 may be a rechargeable lithium-ion or lead-acid battery. One or more battery packs of such a battery may be configured to power various components of vehicle 100. In some embodiments, power source 110 and energy source 119 may be implemented together, as in some all-electric vehicles.

[0074] Some or all of the functions of vehicle 100 are controlled by computer system 112. Computer system 112 may include at least one processor 113 that executes instructions 115 stored in a non-transitory computer-readable medium such as memory 114. Computer system 112 may also be multiple computing devices that control individual components or subsystems of vehicle 100 in a distributed manner.

[0075] Processor 113 can be any conventional processor, such as a commercially available CPU. Alternatively, the processor can be a special-purpose device such as an ASIC or other hardware-based processor. Although Figure 2 the functional diagram illustrates the processor, memory, and other elements of the computer in the same block, those of ordinary skill in the art should understand that the processor, computer, or memory can actually include multiple processors, computers, or memories that may or may not be stored within the same physical housing. For example, the memory can be a hard disk drive or other storage medium located within a housing different from the computer. Thus, references to a processor or computer will be understood to include references to a collection of processors or computers or memories that may or may not operate in parallel. Instead of using a single processor to perform the steps described herein, some components such as the steering component and the deceleration component can each have their own processor that only performs calculations related to component-specific functions.

[0076] In various aspects described herein, the processor can be located remote from the vehicle and communicate wirelessly with the vehicle. In other aspects, some of the processes described herein are executed on a processor disposed within the vehicle while others are executed by a remote processor, including taking the necessary steps to perform a single maneuver.

[0077] In some embodiments, memory 114 may contain instructions 115 (e.g., program logic) that can be executed by processor 113 to perform various functions of vehicle 100, including those functions described above. Memory 114 may also contain additional instructions, including instructions to send data to, receive data from, interact with, and / or control one or more of propulsion system 102, sensing system 104, control system 106, and peripheral devices 108.

[0078] In addition to instructions 115, memory 114 may also store data, such as road maps, route information, the location, orientation, speed of the vehicle, and other such vehicle data, as well as other information. Such information can be used by vehicle 100 and computer system 112 during operation of vehicle 100 in autonomous, semi-autonomous, and / or manual modes.

[0079] A user interface 116 for providing information to or receiving information from a user of the vehicle 100. Optionally, the user interface 116 may include one or more input / output devices within the set of peripheral devices 108, such as a wireless communication system 146, an in-vehicle computer 148, a microphone 150, and a speaker 152.

[0080] The computer system 112 can control the functions of the vehicle 100 based on inputs received from various subsystems (e.g., the propulsion system 102, the sensing system 104, and the control system 106) as well as from the user interface 116. For example, the computer system 112 can utilize inputs from the control system 106 to control the steering system 132 to avoid obstacles detected by the sensing system 104 and the obstacle avoidance system 144. In some embodiments, the computer system 112 can operate to provide control over many aspects of the vehicle 100 and its subsystems.

[0081] Optionally, one or more of the above components may be installed or associated separately from the vehicle 100. For example, the memory 114 may exist partially or completely separately from the vehicle 100. The above components may be communicatively coupled together in a wired and / or wireless manner.

[0082] Optionally, the above components are just an example. In actual applications, the components in each of the above modules may be added or deleted according to actual needs, Figure 2 and should not be construed as a limitation on the embodiments of the present application.

[0083] The above vehicle 100 can be a sedan, a truck, a motorcycle, a bus, a boat, an airplane, a helicopter, a lawn mower, a recreational vehicle, a amusement park vehicle, a construction equipment, a tram, a golf cart, a train, and a handcart, etc., and the embodiments of the present application do not make a special limitation.

[0084] Such as Figure 3As shown, it is a schematic structural diagram of a computer system applicable to the embodiments of the present application. The computer system 101 includes a processor 103, and the processor 103 is coupled to a system bus 105. The processor 103 can be one or more processors, and each processor can include one or more processor cores. A video adapter 107, the video adapter 107 can drive a display 109, and the display 109 is coupled to the system bus 105. The system bus 105 is coupled to an input / output (I / O) bus 175 through a bus bridge 111. An I / O interface 157 is coupled to the I / O bus 175. The I / O interface 157 communicates with a variety of I / O devices, such as an input device 117 (e.g., keyboard, mouse, touch screen, etc.), a media tray (e.g., CD-ROM, multimedia interface, etc.), a transceiver 123 (which can send and / or receive radio communication signals), a camera 155 (which can capture still and dynamic digital video images), a sensor 153, and a USB port 125. Optionally, the interface connected to the I / O interface 157 can be a USB interface.

[0085] Among them, the processor 103 can be any conventional processor, including a reduced instruction set computing ("RISC") processor, a complex instruction set computing ("CISC") processor, or a combination of the above. Optionally, the processor can be a dedicated device such as an application specific integrated circuit ("ASIC"). Optionally, the processor 103 can be a neural network processor or a combination of a neural network processor and the above conventional processors.

[0086] Optionally, in various embodiments described herein, the computer system 101 can be located away from the autonomous vehicle and can communicate wirelessly with the autonomous vehicle. In other aspects, some of the processes described herein are executed on a processor disposed within the autonomous vehicle, and others are executed by a remote processor, including taking actions required to perform a single maneuver.

[0087] The computer system 101 can communicate with a software deployment server 149 through a network interface 129. The network interface 129 is a hardware network interface, such as a network card. The network 127 can be an external network, such as the Internet, or an internal network, such as an Ethernet or a virtual private network (VPN). Optionally, the network 127 can also be a wireless network, such as a WiFi network, a cellular network, etc.

[0088] A hard disk drive interface 131 is coupled to the system bus 105. The hard disk drive interface 131 is connected to a hard disk drive 133. A system memory 135 is coupled to the system bus 105. The data running in the system memory 135 can include an operating system 137 and an application program 143 of the computer system 101.

[0089] The operating system 137 includes a Shell 139 and a kernel 141. The Shell 139 is an interface between the user and the operating system 137. The Shell 139 is the outermost layer of the operating system 137. The Shell 139 manages the interaction between the user and the operating system 137: waits for the user's input, interprets the user's input to the operating system 137, and processes various output results of the operating system 137.

[0090] The kernel 141 consists of those parts in the operating system 137 that are used to manage memory, files, peripherals, and system resources. Interacting directly with the hardware, the kernel 141 typically runs processes and provides inter-process communication, provides CPU time slice management, interrupts, memory management, IO management, and so on.

[0091] The application program 143 includes programs related to autonomous driving 147, such as programs for managing the interaction between an autonomous driving vehicle and road obstacles, programs for controlling the route or speed of an autonomous driving vehicle, and programs for controlling the interaction between an autonomous driving vehicle and other autonomous driving vehicles on the road. The application program 143 also exists on the system of the software deployment server 149. In one embodiment, when the application program 143 needs to be executed, the computer system 101 can download the application program 143 from the software deployment server 149.

[0092] The sensor 153 can be associated with the computer system 101 through the I / O interface 157. The sensor 153 is used to detect the environment around the computer system 101. For example, the sensor 153 can detect animals, cars, obstacles, and crosswalks, etc. Further, the sensor can also detect the environment around the above-mentioned animals, cars, obstacles, and crosswalks, such as: the environment around an animal, for example, other animals appearing around the animal, weather conditions, the brightness of the surrounding environment, etc. Optionally, if the computer system 101 is located on an autonomous driving vehicle, the sensor can be a camera, an infrared sensor, a chemical detector, a microphone, etc.

[0093] In one example, Figure 2 the computer system 112 in can be Figure 3 the computer system 101 in. Figure 2 the processor 113 in can be Figure 3 the processor 103 in, Figure 2 the memory 114 in can be Figure 3 the system memory 135 or the media disk in.

[0094] In another example, Figure 3 the software architecture of the operating system 137 in can be Figure 1The software architecture of the autonomous vehicle shown.

[0095] Hereinafter, some terms and technologies involved in the embodiments of the present application will be briefly introduced:

[0096] 1), AUTOSAR system

[0097] The AUTOSAR system is an open and standardized software architecture system developed for the automotive industry. In this software architecture system, data transmission can be achieved through the Data Distribution Service (DDS) at the bottom layer, but it is not limited to this. As Figure 4 The AUTOSAR system 20 (an autonomous driving or assisted autonomous driving system based on AUTOSAR) shown can include an application module 201 and a communication module 202. The application module 201 can correspond to Figure 1 the application layer 101a in, and includes application programs. The communication module 202 can correspond to Figure 1 the framework layer 102a in, and is mainly used for data transmission between different application programs in the application module 201.

[0098] The communication module 202 can include a communication mode layer 301, a binding layer (DDS binding layer) 302, and DDS 303.

[0099] The communication mode layer 301 can provide the following message communication modes: event mode, method mode, and parameter (field) mode. Different message communication modes have different message formats. The event mode is a message communication mode where messages are sent directly. In this mode, application program 1 sends a message to application program 2, and application program 2 receives the message. The method mode is a message communication mode of remote procedure call (RPC). In this mode, application program 1 sends a message requesting a service to application program 2; application program 2 sends a response message to application program 1 according to this message. The parameter mode is a message communication mode for requesting to obtain the value of a parameter or requesting to change the value of a parameter. In this mode, application program 1 that needs to obtain a parameter or change the value of a certain parameter sends a message to application program 2. Application program 2 sends the value of the requested parameter to application program 1 according to this message; or changes the value of the parameter according to this message and sends the changed value of the parameter to application program 1. The message communication modes are visible to users, and their specific implementations rely on DDS 303.

[0100] The communication mode layer 301 calls the interface of DDS 303 through the binding layer 302.

[0101] DDS303 is a distributed, highly reliable, and highly real-time message communication middleware. DDS303 emphasizes data-centricity, and a topic is an identifier that uniquely identifies a certain type of data. Messages of a specific topic have a definite data type, which is defined by basic types such as char, byte, int, etc. Exemplarily, a topic can be "TEXT", and the data type of the messages of this topic is char. DDS303 provides message interfaces for defining the message formats and data types of the messages sent and received. The message interfaces provided by DDS303 include the write interface and the read interface, etc.

[0102] The communication mode of DDS303 is a publish-subscribe model. This publish-subscribe model divides the system into several logically independent domains, and each domain contains several entities. These entities complete tasks such as data publishing, subscribing, and other interactions. Entities include: domain participants, publishers, subscribers, topics, data writers, and data readers. Each of these entities has several corresponding QoSs.

[0103] A domain is a scope concept, uniquely identified by a domain ID. Generally, entities within the same domain can communicate, and there is generally no logical relationship between entities in different domains.

[0104] As the entry point of DDS303, the domain participant is used to create topics and register data types, and manage entities such as publishers and subscribers.

[0105] The publisher is responsible for managing (such as creating and deleting) data writers. When a publisher registers and declares itself as a publisher of data in DDS, it can declare the data type, topic, and describe registration declaration information such as the provided QoS. The subscriber is responsible for managing (such as creating and deleting) data readers. When a subscriber registers and declares itself as a subscriber of data in DDS, it can declare the data type, topic, and QoS and other registration declaration information it needs.

[0106] The data writer is responsible for generating data using a write function (such as write()). The data reader is responsible for reading the data. It should be noted that DDS303 includes a type of data reader and data writer for service discovery, such as the first data writer and the first data reader in the following Example 1; or, the publisher data reader (pb-datareader) in the AUTOSAR system, the subscriber data writer (sb –datawriter) in the proxy device; or, the subscriber data reader (sb-datareader) in the proxy device, the publisher data writer (pb-datawriter) in the AUTOSAR system). Also, DDS303 includes a type of data reader and data writer for data transmission between application programs (such as the second data reader and the second data writer in the following Example 1).

[0107] The relationships among domain participants, publishers, subscribers, data writers, and data readers can be as Figure 5 shown. In Figure 5 , a domain participant 401 can create multiple publishers 402 and / or subscribers 403. A publisher 402 can create multiple data writers 404 (such as Figure 5 the data writer 404-1 and the data writer 404-2 in Figure 5 ), and a subscriber 403 can create multiple data readers 405 (such as Figure 5 the data reader 405-1 and the data reader 405-2 in Figure 5 ). If a data writer or a data reader is created by a publisher or a subscriber, then the data writer or the data reader is associated with the domain participant that created the publisher or the subscriber.

[0108] Each data writer and data reader can be bound to a topic. The topics between communicating data writers and data readers are the same. When the message communication mode is the event mode, the topic includes the identifier of the event. When the message communication mode is the method mode, the topic includes the method identifier. When the message communication mode is the parameter mode, the topic includes the parameter identifier.

[0109] QoS is a set of configurable parameters. Using QoS can guarantee the service quality of DDS303 message communication.

[0110] In one implementation, the QoS of the data writer needs to be compatible with the QoS of the data reader. The value of the QoS of the data writer defines the service quality provided by the data writer; the value of the QoS of the data reader defines the service quality required by the data reader. The compatibility between the QoS of the data writer and the QoS of the data reader means that the service quality provided by the data writer must meet the service quality required by the data reader.

[0111] In a possible implementation, the QoS compatibility between the data writer and the data reader is as follows: the value of the QoS of the data writer is greater than or equal to the value of the QoS of the data reader. For example, the compatibility between the DEADLINE QoS of the data writer and the DEADLINE QoS of the data reader means that the duration of the DEADLINE QoS of the data writer is less than the duration of the DEADLINE QoS of the data reader. Another example is that the compatibility between the reliability QoS of the data writer and the reliability QoS of the data reader includes that when the reliability QoS of the data reader is best-effort, the reliability QoS of the data writer is reliable or best-effort. When the reliability QoS of the data reader is reliable, the reliability QoS of the data writer must be reliable.

[0112] DDS303 can establish a data link for data writers and data readers with the same topic and compatible QoS.

[0113] As Figure 6 shown, it is a publish-subscribe model of a DDS applicable to the embodiments of the present application. Figure 6 In it, the publisher 402 creates two data writers (such as Figure 6 the data writer 404-1 and the data writer 404-2 in it), and the subscriber 403 creates two data readers (such as Figure 6 the data reader 405-1 and the data reader 405-2 in it). If Figure 6 the data writer 404-1 and the data reader 405-1 in it have the same topic 1 and compatible QoS, and the data writer 404-2 and the data reader 405-2 have the same topic 1 and compatible QoS, then DDS can establish a data link between the data writer 404-1 and the data reader 405-1, and a data link between the data writer 404-2 and the data reader 405-2.

[0114] When using DDS to implement the underlying data transmission of the AUTOSAR system, the relationship between the domain, the domain participant and the application program of the application module 201 is as Figure 7 shown. In Figure 7 it, the application module 201 includes application programs 601A, 601B, 601C and 601D. The process of one application program corresponds to one or more domain participants. Figure 7Domain participant 1 and domain participant 2 have the same domain number (labeled as domain 610). Domain participant 3 and domain participant 4 have the same domain number (labeled as domain 620). Domain participant 5, domain participant 6, and domain participant 7 have the same domain number (labeled as domain 630). Only the data readers and data writers of domain participants belonging to the same domain can establish a data link based on the topic and QoS.

[0115] 2), ROS

[0116] ROS provides services similar to a computer system, including hardware abstraction description, underlying driver management, execution of common functions, inter-program message passing, program distribution package management, etc. Tools and libraries are provided for obtaining, building, writing, and executing multi-machine fusion programs. It should be noted that the embodiments of the present application do not limit the version of ROS. For example, ROS can be ROS 1.0 or ROS 2.0. The following will be described by taking ROS 1.0 as an example.

[0117] As Figure 8 shown, ROS 70 (an autonomous driving or assisted autonomous driving system based on ROS) may include an application module 701 and a communication module 702. The application module 701 may correspond to Figure 1 the application layer 101a in Figure 1 and includes application programs. The communication module 702 may correspond to

[0118] the framework layer 102a in

[0119] The communication mode layer 7020 can provide the following message communication modes: topic mode, service / request (service / client) mode, and parameter (ros parameter service) mode. Different message communication modes have different message formats. The topic mode is a message communication mode where messages are sent directly. In this mode, application 1 sends a message to application 2, and application 2 receives the message. The service / request mode is an RPC message communication mode. In this mode, application 1 sends a message requesting a service to application 2; application 2 sends a response message to application 1 according to this message. The parameter mode is a message communication mode for requesting to obtain the value of a parameter or change the value of a parameter. In this mode, application 1 that needs to obtain or change the value of a certain parameter sends a message to the parameter server. The parameter server sends the requested parameter value to application 1 that requests to obtain the parameter according to this message. Or, changes the value of the parameter according to this message and sends the changed parameter value to application 1. The message communication modes are user-visible logics, and their specific implementations rely on ros_comm7021.

[0120] ros_comm7021 is a middleware that can provide message transmission. The message interfaces provided by ros_comm7021 include a publish interface and a subscribe interface, which are used to define the message format of ROS, etc.

[0121] The communication mode of ros_comm7021 is also a publish-subscribe model. This publish-subscribe model includes a master node, nodes, and a parameter server. A node can be an executable file used to communicate with other nodes.

[0122] A node can publish a message on a topic to become a publisher or subscribe to a message on a topic to become a subscriber.

[0123] The publisher is responsible for sending data using the publish interface.

[0124] The subscriber is responsible for receiving data using the subscribe interface.

[0125] The master node manages each node and is used to find each other for the publisher and the subscriber.

[0126] A parameter server is a multi-variable, shared dictionary that can be accessed through a network API. The parameter server can be regarded as a node, and the node uses the parameter server to store, retrieve, or change the value of a parameter at runtime.

[0127] The topic is the topic agreed upon by the publisher and the subscriber when communicating with each other. Each publisher and subscriber can be bound to a topic. The topics between the communicating publisher and subscriber are the same. When the message communication mode is the topic mode, the topic includes the topic. When the message communication mode is the method mode, the topic includes the method identifier. When the message communication mode is the parameter mode, the topic includes the parameter identifier.

[0128] ros_comm7021 can establish a data link for the publisher and subscriber with the same topic.

[0129] Such as Figure 9 shown, it is the publish-subscribe model of ros_comm applicable to the embodiments of this application. Figure 9 In it, the topics of the publisher 801 and the subscriber 802 are the same. ros_comm establishes a data link for the publisher 801 and the subscriber 802 with the same topic.

[0130] 3), Serialization, deserialization

[0131] Serialization: It refers to the process of converting an object into a serializable form that can be transmitted.

[0132] Deserialization: The process of restoring a transmissible sequence to an object is called deserialization of the object.

[0133] 4), Object

[0134] In this application, an object refers to the executor that sends or receives messages. In the AUTOSAR system, an object can include a data writer and a data reader. In ROS, an object can include a publisher and a subscriber.

[0135] 5), Instance identifier

[0136] In the DDS of the embodiments of this application, an instance identifier is introduced to distinguish the processes of different applications with the same topic, which is used to distinguish the processes of different applications with the same topic. Exemplarily, the AUTOSAR system includes two sensors, and there are two application program processes with the same topic of "obtaining sensor data". The instance identifier of one application program process is 1, and the instance identifier of the other application program process is 2. The application program process with the instance identifier of 1 is used to obtain the data of sensor 1, and the application program process with the instance identifier of 2 is used to obtain the data of sensor 2.

[0137] 6), Method identifier, parameter identifier, service / request identifier

[0138] The method identifier is used to indicate the program called by the application program process in the AUTOSAR system.

[0139] The service / request identifier is used to indicate the service or request requested by an application process in ROS.

[0140] In the AUTOSAR system, the parameter identifier is used to indicate the parameters set or retrieved by an application process in the AUTOSAR system. In ROS, the parameter identifier is used to indicate the parameters set or retrieved by an application process in ROS.

[0141] 7), Other terms

[0142] In the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.

[0143] In the embodiments of the present application, "at least one" means one or more. "Multiple" means two or more.

[0144] In the embodiments of the present application, "and / or" is merely a description of the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone. In addition, the character " / " in this article generally represents an "or" relationship between the associated objects before and after.

[0145] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.

[0146] The present application proposes to combine the AUTOSAR system and ROS to utilize the advantages of both and create a solution for an autonomous driving system or an assisted autonomous driving system. However, due to the different software architectures of the AUTOSAR system and ROS, the rules followed when the message sender and receiver match are inconsistent, the transceiver interfaces are different, and the message formats of the two are inconsistent. Therefore, the integration of the two needs to consider the message interoperability between the two.

[0147] As an example, such as Figure 10As shown in the figure, the intercommunication between the AUTOSAR system and ROS can be considered as follows: the event mode in the AUTOSAR system is intercommunication with the subject mode in ROS; the method mode in the AUTOSAR system is intercommunication with the service / request mode in ROS; the parameter mode in the AUTOSAR system is intercommunication with the parameter mode in ROS.

[0148] However, for the bottom layer of the AUTOSAR system and the ROS communication module, since the DDS used by the bottom layer of the AUTOSAR system and the ros_comm of the bottom layer of ROS are two completely different communication middlewares, and the matching and data transmission mechanisms of the objects sending messages and receiving messages are different as mentioned above, they are naturally incompatible, so solving their compatibility is the core of solving the intercommunication between ROS and AUTOSAR. Specifically, it involves the following compatibility issues:

[0149] Question 1: How to match the objects sending messages and receiving messages in two different software architectures.

[0150] Question 2: The two have different publishing and subscription models and different sending and receiving interfaces. How to successfully send and receive messages?

[0151] Question 3: The message types of the two are inconsistent, and there are differences in serialization.

[0152] Question 4: The AUTOSAR system includes message filtering functions and uses QoS to ensure the reliability and real-time performance of message transmission. How can ROS also perceive these functions?

[0153] Based on this, the following technical solutions are proposed in the embodiments of the present application:

[0154] Solution 1: Implement the intercommunication solution between AUTOSAR system and ROS based on the proxy mode.

[0155] The intercommunication between AUTOSAR system and ROS is realized based on the proxy mode, and the intermediate proxy device is used as the medium for communication between AUTOSAR system and ROS, communicating with AUTOSAR system and ROS respectively, and then acting as a translator, responsible for message parsing, message conversion and operation logic compatibility between the two, so as to open up the communication between AUTOSAR system and ROS. In this way, AUTOSAR system and ROS do not need to be changed.

[0156] like Figure 11 As shown in FIG. 1 , a schematic diagram of a system architecture for implementing an intercommunication solution between an AUTOSAR system and ROS based on a proxy mode is provided in an embodiment of the present application. Figure 11 In the example, the AUTOSAR system 91 is connected to the proxy device 92 , and the proxy device 92 is connected to the ROS 93 .

[0157] As an example, the proxy device 92 includes a sub-module 920 for implementing the connection between the event mode in the AUTOSAR system 91 and the topic mode in ROS93; another sub-module 921 for implementing the connection between the method mode in the AUTOSAR system 91 and the service / request mode in ROS93; and still another sub-module 922 for implementing the connection between the parameter mode in the AUTOSAR system 91 and the parameter mode in ROS93. Each sub-module includes an object for sending messages and / or receiving messages.

[0158] Each sub-module in the proxy device 92 can receive the messages sent by the communication module 911 in the AUTOSAR system 91, convert the messages into a message format recognizable by the communication module 931 in ROS93, and then send the messages after format conversion to the communication module 931 in ROS93. It can also receive the messages sent by the communication module 931 in ROS93, convert the messages into a message format recognizable by the communication module 911 in the AUTOSAR system 91, and send the messages after format conversion to the communication module 911 in the AUTOSAR system 91.

[0159] For the application program of the application module 910 in the AUTOSAR system 91, the proxy device 92 is the application program in another AUTOSAR system 91 at its opposite end. Their communication follows the communication logic of DDS9112 at the bottom layer, that is, calling the communication logic, read / write interfaces, message types of DDS9112, implementing message filtering, and using QoS to ensure the reliability and real-time performance of message transmission, so as to achieve the matching and message transmission of objects on both sides. To solve the above problem 4. Similarly, for the application program of the application module 930 in ROS93, the proxy device 92 is the application program of another ROS93 at its opposite end. Their communication follows the communication logic of ros_comm at the bottom layer, that is, calling the communication logic, publishing interfaces, subscribing interfaces and message types of ros_comm, so as to achieve the matching and message transmission of objects on both sides, to solve the above problem 1 and the above problem 2.

[0160] After the proxy device 92 receives the messages from both sides at the bottom layer, the messages are passed to the upper layer of the proxy device 92, and the upper layer will act as an actual translator. It parses out the data on one side and converts it into a format recognizable by the other side, and finally uses the communication logic of the other side to forward the data, so as to solve the above problem 3.

[0161] It should be noted that in the system architecture of the interoperability solution between the AUTOSAR system and ROS based on the proxy mode, multiple of the proxy device, AUTOSAR system or ROS can be integrated in one device, or can exist independently in one device. This application does not limit this.

[0162] Solution 2: An interoperability solution between the AUTOSAR system and ROS based on the direct pass-through mode.

[0163] To achieve the interoperability between the AUTOSAR system and ROS based on the direct pass-through mode, the AUTOSAR system and ROS should have the same underlying basic communication module. The following takes the AUTOSAR system remaining unchanged and introducing the DDS9112 basic communication module at the ROS bottom layer to achieve peer-to-peer bottom-layer communication with AUTOSAR as an example for illustration. Introducing the DDS9112 basic communication module at the ROS bottom layer to solve the above problem 1, and adding a layer of DDS integration layer 9111 (DDS broker layer) in the middle of ROS. Among them, the DDS integration layer 9111 is used to achieve:

[0164] 1. The ROS communication mode layer 9110 calls the interface of DDS9112 to send and receive messages to solve the above problem 2.

[0165] 2. The conversion of the ROS application module message format to the AUTOSAR system application module message format, or the reverse process, to solve the above problem 3.

[0166] 3. The implementation of the AUTOSAR communication logic, such as message filtering, receiving or sending QoS control messages, etc., to solve the above problem 4.

[0167] It should be noted that to achieve the interoperability between the AUTOSAR system and ROS based on the direct pass-through mode, the AUTOSAR system and ROS should have the same underlying basic communication module. With the AUTOSAR system remaining unchanged, if the ROS version is ROS2.0, the DDS9112 basic communication module is already included in the ROS2.0 bottom layer itself. Therefore, only the logic that does not exist in ROS2.0 in the above DDS integration layer 9111 needs to be added to the middleware layer (ros middleware, RMW) of ROS2.0. Among them, the middleware layer in ROS2.0 can implement the functions realized by ros_comm in ROS1.0 above. This will not be elaborated further.

[0168] As Figure 12 shown, it is a schematic diagram of the system architecture of the interoperability solution between the AUTOSAR system and ROS based on the direct pass-through mode in this application. In this system, the AUTOSAR system 10 is connected to ROS11.

[0169] The AUTOSAR system 10 includes an application module 101 and a communication module 1102. Among them, the application module 101 includes application programs (such as regulation and control, execution, etc.). The communication module 1102 includes a communication mode layer 1021, a binding layer 1022, and DDS 1023. The communication module 1102 includes objects for sending messages and / or receiving messages, and transceiver interfaces for application programs, which are used for the transmission of underlying data.

[0170] ROS 11 includes an application module 1111 and a communication module 112. The application module 1111 includes application programs (such as perception, calculation, fusion, etc.). The communication module 112 includes DDS 1123, a binding layer 1122, and a communication mode layer 1121. DDS 1123 includes objects for sending messages and / or receiving messages, and transceiver interfaces for application programs, which are used for the transmission of underlying data.

[0171] The communication module 1102 of the AUTOSAR system 10 is connected to DDS 1123 of the communication module 112 of ROS 11 through DDS 1023.

[0172] The binding layer 1122 is used to convert messages of various message communication modes in the AUTOSAR system 10 received by DDS 1123 into messages of various communication modes that can be recognized by the application module 1111 in ROS 11. The binding layer 1122 includes a sub-module for converting messages of the event mode that can be recognized by the application module 101 of the AUTOSAR system 10 into messages of the topic mode that can be recognized by the application module 1111 in ROS 11, another sub-module for converting messages of the method mode that can be recognized by the application module 101 of the AUTOSAR system 10 into messages of the service / request mode that can be recognized by the application module 1111 in ROS 11, and still another sub-module for converting messages of the parameter mode that can be recognized by the application module 101 of the AUTOSAR system 10 into messages of the parameter mode that can be recognized by the application module 1111 in ROS 11.

[0173] Hereinafter, the interconnection between the AUTOSAR system and ROS based on the proxy mode will be described in detail with reference to embodiments. The interconnection between the AUTOSAR system and ROS based on the proxy mode includes: an initialization stage, a service discovery stage, and a message communication stage. Hereinafter, these stages will be described separately:

[0174] Initialization stage

[0175] After the application program processes in the AUTOSAR system and the application program processes in ROS are created, the communication module in the AUTOSAR system includes domain participants, publishers, subscribers, data writers, and / or data readers of its application program processes. The communication module in ROS includes publishers and / or subscribers of its application program processes.

[0176] When the message communication mode of the process of the application program in the AUTOSAR system includes the event mode, after the initialization of the first proxy module, the first proxy module includes domain participants, publishers, subscribers, data writers, and / or data readers that are the same as the communication module topic and instance identifier in the AUTOSAR system and are QoS compatible.

[0177] When the message communication mode of the process of the application program in the AUTOSAR system includes the method mode, after the initialization of the first proxy module, the first proxy module includes domain participants, publishers, subscribers, data writers, and / or data readers that are the same as the communication module method identifier and instance identifier in the AUTOSAR system and are QoS compatible.

[0178] When the message communication mode of the process of the application program in the AUTOSAR system includes the parameter mode, after the initialization of the first proxy module, the first proxy module includes domain participants, publishers, subscribers, data writers, and / or data readers that are the same as the communication module method identifier, parameter identifier, and instance identifier in the AUTOSAR system and are QoS compatible.

[0179] When the message communication mode of the process of the application program in ROS includes the topic mode, after the initialization of the second proxy module, the second proxy module includes publishers and / or subscribers that are the same as the communication module topic in ROS.

[0180] When the message communication mode of the process of the application program in ROS includes the service / request mode, after the initialization of the second proxy module, the second proxy module includes publishers and / or subscribers that are the same as the communication module service / request identifier in ROS.

[0181] When the message communication mode of the process of the application program in ROS includes the parameter mode, after the initialization of the second proxy module, the second proxy module includes publishers and / or subscribers that are the same as the communication module service / request identifier and parameter identifier in ROS.

[0182] The embodiments of the present application do not limit the acquisition methods of information such as topics, instance identifiers, QoS, method identifiers, service / request identifiers, parameter identifiers in the AUTOSAR system, and parameter identifiers in ROS in the proxy device. For example, the proxy device can obtain the above information by obtaining a configuration file, or the proxy device receives the above information sent by the AUTOSAR system and / or ROS.

[0183] The embodiments of the present application do not limit the triggering conditions for initializing the autonomous driving system or the assisted autonomous driving system. For example, after the autonomous driving system or the assisted autonomous driving system is powered on, the initialization is completed. Alternatively, the autonomous driving system or the assisted autonomous driving system receives an instruction from the user and completes the initialization according to the instruction of the user.

[0184] Service discovery phase

[0185] The service discovery phase includes the service discovery process between the AUTOSAR system and the proxy device in Embodiment 1; and the service discovery process between the proxy device and ROS in Embodiment 2.

[0186] Embodiment 1

[0187] As Figure 13 shown, it is a schematic flowchart of a method for service discovery between an AUTOSAR system and a proxy device provided by an embodiment of the present application. Exemplarily, this embodiment can be applied to Figure 11 the system architecture shown. Figure 13 The method shown may include the following steps:

[0188] S100: The AUTOSAR system sends the first data to the proxy device.

[0189] Specifically, the first data writer in the AUTOSAR system sends the first data with the topic of participant data to the first data reader in the proxy device. The first data includes information such as the identifier, network address, adopted QoS, instance identifier, etc. of the first domain participant. The first data writer is a data writer preset in the AUTOSAR system for domain participant service discovery, and the first data reader is a data reader preset in the proxy device for domain participant service discovery. The first domain participant is any created domain participant in the AUTOSAR system.

[0190] S101: The proxy device determines whether the QoS in the first data is compatible with the QoS of the domain participants already created in the proxy device. If not, the process ends; if so, S102 is executed.

[0191] S102: The proxy device adds the first data to the local information library.

[0192] S103: The proxy device sends the second data to the AUTOSAR system. The second data includes information such as the identifier, network address, adopted QoS, instance identifier, etc. of the second domain participant. The second domain participant is a domain participant created by the proxy device, and the QoS of the second domain participant is compatible with the QoS of the first domain participant.

[0193] S104: The AUTOSAR system adds the second data to the local information repository.

[0194] So far, the AUTOSAR system and the proxy device have exchanged their DDS domain participant information and recorded it in the local information repository, and the domain participant automatic discovery process ends.

[0195] Alternatively, the proxy device sends the second data to the AUTOSAR system, and the AUTOSAR system determines whether the QoS in the second data is compatible with the QoS of the domain participant created in the AUTOSAR system. If it is compatible, after storing the second data in the local information repository, the AUTOSAR system sends the first data to the proxy device, and the proxy device stores the first data in the local information repository. The embodiments of the present application do not limit the order in which the AUTOSAR and the proxy device discover each other.

[0196] S105: The AUTOSAR system sends the description information of the second data writer (marked as the first description information) to the proxy device. Among them, the second data writer is any data writer in the AUTOSAR system except the first data writer. The first description information includes information such as the topic of the data written by the second data writer, the QoS adopted, and the instance identifier.

[0197] Specifically, the publisher data writer in the AUTOSAR system sends the first description information to the subscriber data reader in the proxy device.

[0198] S106: The proxy device obtains a second data reader that matches the second data writer. Among them, the second data reader is any data reader in the proxy device that matches the second data writer.

[0199] S107: The proxy device adds the matching relationship between the second data writer and the second data reader to the local information repository, that is, establishes a data link between the second data writer and the second data reader.

[0200] Optionally, when the QoS of the second data writer changes or the second data writer is deleted, the AUTOSAR system can send a message to the proxy device for the proxy device to update the matching relationship in the local information repository in real time.

[0201] Alternatively, the proxy device may send the description information of the data reader to the AUTOSAR system. If the AUTOSAR system queries a data writer that matches the second data reader, it adds the matching relationship between the data reader and the data writer to the local information repository. When the QoS of the data writer / data reader associated with the domain participant changes or the data writer / data reader is deleted, the AUTOSAR system also sends information to the domain participant in the proxy device that matches it, for the domain participant that matches it to update the local information repository in real time.

[0202] The above S100~S107 are the matching processes between the data writer in the AUTOSAR system and the data reader in the proxy device. Similarly, the matching process between the data reader in the AUTOSAR system and the data writer in the proxy device is similar, and will not be elaborated here.

[0203] It should be noted that the process of service discovery between the AUTOSAR system and the proxy device in S100~S107 may be other methods in the prior art, and this application does not make any limitations in this regard.

[0204] Embodiment 2

[0205] As Figure 14 shown, it is a schematic flowchart of a method for service discovery between a proxy device and ROS provided by an embodiment of the present application. Exemplarily, this embodiment can be applied to Figure 11 the system architecture shown. Figure 14 The method shown may include the following steps:

[0206] S200: The first publisher in the proxy device sends the first publisher information to the master node in ROS. The first publisher information includes the topic of the message published by the first publisher.

[0207] Among them, the first publisher is any publisher in the proxy device. The master node in ROS is a process of an application program in ROS. Optionally, the first publisher information may further include at least one of the message format, address, or port of the message published by the first publisher information.

[0208] S201: The master node in ROS stores the first publisher information in the local information repository.

[0209] S202: The master node in ROS obtains the first subscriber that matches the first publisher. The first subscriber is any subscriber in ROS that has the same topic as the topic included in the first publisher information.

[0210] Specifically, the master node in ROS first obtains the subscriber information of any local subscriber; secondly, it determines whether the topic of the message subscribed in the subscriber information is the same as the topic in the first publisher information. If they are the same, the ROS master node takes this subscriber as the first subscriber and obtains the first subscriber information. The first subscriber information includes the topic of the message subscribed by the first subscriber. Optionally, the first subscriber information may also include the message format, address, port, etc. of the message subscribed by the first subscriber. If they are not the same, the ROS master node obtains the subscriber information of another subscriber in the master node and determines whether the topic of the message subscribed in this subscriber information is the same as the topic in the first publisher information. And so on until all subscribers in the ROS master node are traversed.

[0211] S203: The master node in ROS sends the first publisher information to the first subscriber in ROS.

[0212] S204: The first subscriber in ROS stores the first publisher information in the local information repository.

[0213] S205: The first subscriber in ROS sends the first subscriber information to the first publisher in the proxy device.

[0214] S206: The first publisher in the proxy device stores the first subscriber information in the local information repository.

[0215] S207: The first publisher in the proxy device sends a response message to the first subscriber in ROS.

[0216] So far, the first publisher in the proxy device and the first subscriber in ROS have established a publish-subscribe relationship.

[0217] The ROS master node can take the subscribers whose subscribed message topics in all subscriber information in the ROS master node are the same as the topic in the first publisher information as the first subscribers and execute S203 - S207. Each publisher in the proxy device can find the matching subscribers through the above method and store the information of the matching subscribers in the local information repository.

[0218] Alternatively, the publisher in ROS can send the publisher information to the master node in ROS, and the subscriber in the proxy device sends the subscriber information to the master node in ROS to complete the service discovery between the subscriber in the proxy device and the publisher in ROS. The service discovery between the proxy device and ROS can also be implemented using existing technologies, and the embodiments of the present application do not limit this.

[0219] After the service discovery between the AUTOSAR system and the proxy device is completed and a data link is established between the data writer and the data reader, message communication of business data can be carried out between the AUTOSAR system and the proxy device. After the service discovery between the proxy device and ROS is completed and a publish-subscribe relationship is established between the publisher and the subscriber, message communication of business data can be carried out between the proxy device and ROS.

[0220] It should be noted that the above ROS master node is a process of an application program, which can be in the proxy device or in ROS. The embodiments of the present application do not limit this.

[0221] The above is the service discovery process of the publisher and subscriber in ROS1.0. In ROS2.0, there is no ROS master node. In ROS2.0, the publisher sends publisher information to the subscriber, and the subscriber determines whether the received publisher information matches its own topic. If it matches, the publisher information is stored in the local information library; and the subscriber information is sent to the publisher. The publisher stores the matching subscriber information in the local information library. Thus, the publish-subscribe relationship between the publisher and the subscriber is established. Alternatively, the subscriber in ROS can send subscriber information to the publisher, and the publisher determines whether the received subscriber information matches its own topic. If it matches, the subscriber information is stored in the local information library; and the publisher information is sent to the subscriber. The subscriber stores the matching publisher information in the local information library to complete the service discovery between the subscriber and the publisher.

[0222] Message communication phase

[0223] Embodiment III

[0224] As Figure 15 shown, it is a schematic flowchart of a method for the AUTOSAR system to send a message to ROS through a proxy device in the method for implementing AUTOSAR system and ROS message communication based on the proxy mode provided by the embodiments of the present application. Exemplarily, this embodiment can be applied to Figure 11 the system architecture shown. Figure 15 The method shown can include the following steps:

[0225] S300: The AUTOSAR system generates Message 1. Specifically, the application module in the AUTOSAR system generates Message 1. The format of Message 1 is a format that can be recognized by the application module of the AUTOSAR system.

[0226] When Message 1 is a message in event mode, Message 1 may include an event, an instance identifier, message content, etc. Among them, the event is the topic used to find the message receiver, the instance identifier indicates the process of the application program that generates Message 1, and the message content is the specific information sent.

[0227] When Message 1 is a message in method or parameter mode, Message 1 may include a first message identifier, an instance identifier, etc. The first message identifier includes a method identifier and / or a parameter identifier. Exemplarily, the first message identifier includes: a method identifier indicating the SET method, a parameter identifier indicating a certain parameter, etc. Among them, the method identifier and / or the parameter identifier are the topics used to find the message receiver. The instance identifier indicates the process of the application that generates Message 1.

[0228] S301: The AUTOSAR system serializes Message 1 into Message 2 using a first serialization function. Serialization is to convert a message into a form that can be transmitted. The format of Message 2 is a format that can be recognized by the communication module of the AUTOSAR system.

[0229] Specifically, the application module in the AUTOSAR system calls the write interface of DDS to send Message 1 to the DDS of the communication module. The communication module serializes Message 1 into Message 2 using the first serialization function.

[0230] S302: The AUTOSAR system sends Message 2 to the proxy device.

[0231] Specifically, the first object of the DDS in the communication module of the AUTOSAR system sends Message 2 through the write interface. Among them, the first object is the data writer assigned by DDS to Message 1 when Message 1 passes through DDS.

[0232] When Message 1 is a message in event mode, the topic of the first object is the same as the event in Message 1, and the instance identifier of the first object is the same as the instance identifier in Message 1.

[0233] When Message 1 is a message in method or parameter mode, the topic of the first object is the same as the method identifier and / or the parameter identifier in Message 1, and the instance identifier of the first object is the same as the instance identifier in Message 1.

[0234] S303: The proxy device deserializes Message 2 into Message 3 using the first serialization function. The format of Message 3 is a format that can be recognized by the application module in the AUTOSAR system. Among them, deserialization is a process opposite to serialization.

[0235] S304: The proxy device filters Message 3 according to the instance identifier in Message 3.

[0236] Specifically, the proxy device assigns Message 3 to a second object. Among them, the second object is the data reader in the proxy device that matches the first object, and the instance identifier of the second object is the same as the instance identifier in Message 3. Thus, the proxy device filters the messages with instance identifiers different from those of the second object.

[0237] S305: The proxy device converts Message 3 into Message 4, where the format of Message 4 is a format that can be recognized by the application modules of ROS. Specifically:

[0238] The second object in the proxy device reads Message 3 through the DDS read interface. Then, the following steps are executed:

[0239] When the first message identifier in Message 3 includes a method identifier, the proxy device obtains the service / request identifier corresponding to the method identifier in the first message identifier according to the pre-stored correspondence between the method identifier in the AUTOSAR system and the service / request identifier in ROS. Message 4 includes a second message identifier, and the second message identifier includes the service / request identifier in ROS.

[0240] Exemplarily, the correspondence between the method identifier in the AUTOSAR system and the service / request identifier in ROS is shown in Table 1:

[0241] Table 1

[0242]

[0243] Based on the example in Table 1, if the method identifier in Message 3 is 110, then the service / request identifier included in Message 4 is 2210.

[0244] It can be understood that the method identifier and the service request identifier in Table 1 are only one example. In actual use, the method identifier can be the name of the method, and the service request identifier can be the name of the service / request.

[0245] When the first message identifier in Message 3 includes a parameter identifier, the proxy device obtains the parameter identifier corresponding to the parameter identifier in the first message identifier according to the correspondence between the parameter identifier in the AUTOSAR system and the parameter identifier in ROS. The Message 4 generated by the proxy device through format conversion of Message 3 includes a second message identifier. The second message identifier includes the parameter identifier in ROS.

[0246] Exemplarily, the correspondence between the parameter identifier in the AUTOSAR system and the parameter identifier in ROS is shown in Table 2:

[0247] Table 2

[0248]

[0249] Based on the examples in Table 1 and Table 2, if the method identifier in the first message identifier is 130, and this method identifier indicates the set method, then the corresponding service / request identifier in ROS is 2230, and the first parameter identifier in the first message identifier is: AUTOSAR system parameter identifier 1. The parameter identifier in the second message identifier is: ROS parameter identifier 1.

[0250] S306: The proxy device serializes Message 4 into Message 5 using the second serialization function. The format of Message 5 is a format that can be recognized by the communication module of ROS.

[0251] It should be noted that in the actual implementation process, S305 and S306 can be integrated into one step or separated into individual steps, and this application does not limit this.

[0252] S307: The proxy device sends Message 5 to ROS. Specifically, the second object in the proxy device sends Message 5 to the third object in the proxy device. The third object uses the ROS publish interface to send Message 5 to ROS. The third object is the publisher in the proxy device.

[0253] When Message 5 is a message in topic mode, the topic of the message published by the third object is the same as the topic of Message 5.

[0254] When Message 5 is a message in service / request or parameter mode, the topic of the message published by the third object is the same as the service / request identifier or parameter identifier in Message 5.

[0255] S308: ROS deserializes Message 5 into Message 6 using the second serialization function. The format of Message 6 is a format that can be recognized by the application module of ROS.

[0256] S309: ROS assigns Message 6 to the fourth object, and the fourth object reads Message 6 from the subscription interface of ROS. Among them, the fourth object is the subscriber in ROS that matches the third object.

[0257] It should be noted that when Message 6 does not include the second message identifier, ROS finishes executing S309 and takes an action (such as modifying the configuration in ROS) or does not take an action according to Message 6, and then ends. When Message 6 includes the second message identifier, ROS finishes executing S309 and then executes S310.

[0258] S310: ROS provides the service / request indicated by the service / request identifier in the second message identifier in Message 6.

[0259] Exemplarily, the service / request identifier included in the second message identifier indicates a set request, and the ROS parameter identifier 1 included in the second message identifier indicates parameter 1. ROS sets the value of parameter 1 according to the indication of the service / request identifier.

[0260] S311: ROS obtains the execution result 1 of the service / request indicated by the service / request identifier in the second message identifier.

[0261] Based on the example in S310, the execution result 1 includes: the value of parameter 1 set by ROS is Y.

[0262] So far, S300 - S309 have realized that the AUTOSAR system sends messages to ROS through the proxy device.

[0263] In this embodiment, when the AUTOSAR system sends a message to ROS through the proxy device, the proxy device can filter the message according to the instance identifier and convert it into a format recognizable by ROS, realizing multi-mode message communication between the AUTOSAR system and ROS (including event / topic mode, method / service request mode, parameter mode, etc.). At the same time, the service selection in the AUTOSAR system can be taken into account, and QoS can be used to ensure the reliability and real-time performance of message transmission.

[0264] Subsequently, ROS can send the execution result 1 to the AUTOSAR system through the proxy device. Specifically, reference can be made to the method of ROS sending a message to the AUTOSAR system through the proxy device in the following Embodiment 4.

[0265] Embodiment 4

[0266] As Figure 16 shown, it is a schematic flowchart of the method for ROS to send a message to the AUTOSAR system in the method for realizing message communication between the AUTOSAR system and ROS based on the proxy mode provided by the embodiment of the present application. Exemplarily, this embodiment can be applied to Figure 11 the system architecture shown. Figure 16 The method shown may include the following steps:

[0267] S400: ROS generates message 7. Specifically, the application module in ROS generates message 7. The format of message 7 is a format recognizable by the application module of ROS.

[0268] When message 7 is a message in topic mode, message 7 may include a topic, message content, etc. Among them, the topic is used to find subscribers. The message content is the specific information to be sent.

[0269] When message 7 is a message in service / request mode or parameter mode, message 7 may include a first message identifier. The first message identifier includes a service / request identifier and / or a parameter identifier. Exemplarily, the first message identifier includes: a service / request identifier indicating a SET request, a parameter identifier indicating a certain parameter, etc. Among them, the service / request identifier and / or the parameter identifier are topics used to find subscribers.

[0270] S401: ROS serializes message 7 into message 8 using a second serialization function. Among them, serialization is to convert a message into a form that can be transmitted. The format of message 7 is a format that can be recognized by the communication module of ROS.

[0271] Specifically, the application module in ROS calls the publish interface of the communication module to send message 7 to ros_comm of the communication module. ros_comm of the communication module serializes message 7 into message 8 using a second serialization function.

[0272] S402: ROS sends message 8 to the proxy device.

[0273] Specifically, the fifth object of DDS in the communication module of ROS uses the publish interface to send message 8 to the proxy device. Among them, the fifth object is a publisher whose topic of the published message is the same as the topic of message 8.

[0274] S403: The proxy device deserializes message 8 into message 9 using a second serialization function. The format of message 9 is a format that can be recognized by the application module of ROS. Among them, deserialization is a process opposite to serialization.

[0275] S404: The proxy device assigns message 9 to the sixth object. The sixth object reads message 9 from the subscription interface of ROS. The sixth object is a subscriber that matches the fifth object.

[0276] S405: The proxy device converts message 9 into message 10. The format of message 10 is a format that can be recognized by the application module of the AUTOSAR system.

[0277] When message 9 includes a parameter identifier in ROS, the proxy device obtains the parameter identifier in the AUTOSAR system corresponding to the parameter identifier in ROS according to the correspondence between the parameter identifier in the AUTOSAR system and the parameter identifier in ROS. The message 10 converted from message 9 by the proxy device includes the obtained parameter identifier in the AUTOSAR system.

[0278] When the message 9 includes a service / request identifier in ROS, the proxy device obtains the method identifier in the AUTOSAR system corresponding to the service / request identifier in ROS according to the correspondence between the method identifier in the AUTOSAR system and the service / request identifier in ROS. The message 10 converted from the message 9 by the proxy device includes the obtained method identifier in the AUTOSAR system.

[0279] S406: The sixth object in the proxy device sends the message 10 to the seventh object. Among them, the seventh object is a data writer, and the topic of the written data is the same as the topic of the message 10.

[0280] S407: The proxy device adds the configured instance identifier to the message 10 to obtain the message 11. Among them, the instance identifier indicates the process of the application that generates the message 7.

[0281] It should be noted that S407 is optional. When the message 10 includes the configured instance identifier, then S407 does not need to be executed.

[0282] S408: The proxy device serializes the message 11 into the message 12 by using the first serialization function.

[0283] S409: The proxy device sends the message 12 to the AUTOSAR system.

[0284] Specifically, the seventh object in the proxy device sends the message 12 to the AUTOSAR system through the DDS write interface.

[0285] Subsequently, the AUTOSAR system deserializes the message 12 by using the first serialization function to obtain the message 13, and assigns the message 13 to the eighth object. The eighth object is a data reader that matches the seventh object. The eighth object reads the message 13 through the DDS read interface, and the message 13 is a message format that can be recognized by the AUTOSAR system application module.

[0286] In this embodiment, when the ROS system sends a message to the AUTOSAR system through the proxy device, the proxy device can convert the message into a format that can be recognized by the AUTOSAR system, and add the instance identifier to the message sent to the AUTOSAR system, realizing multi-mode message communication between ROS and the AUTOSAR system (including event / topic mode, method / service request mode, parameter mode, etc.). Similarly, the service selection in the AUTOSAR system can be taken into account, and QoS can be used to ensure the reliability and real-time performance of message transmission.

[0287] The following describes in detail the intercommunication between the AUTOSAR system and ROS based on the direct pass-through mode. The intercommunication between the AUTOSAR system and ROS based on the direct pass-through mode also includes: an initialization stage, a service discovery stage, and a message communication stage.

[0288] Initialization stage

[0289] After the application processes in the AUTOSAR system and the application processes in ROS are created, the communication module in the AUTOSAR system includes domain participants, publishers, subscribers, data writers, and / or data readers of its application processes. The communication module in ROS includes publishers and / or subscribers of its application processes.

[0290] When the message communication mode of the application process in the AUTOSAR system includes the event mode, after the ROS underlying data distribution service is initialized, it includes domain participants, publishers, subscribers, data writers, and / or data readers that have the same topic and instance identifier as the communication module in the AUTOSAR system and are QoS compatible.

[0291] When the message communication mode of the application process in the AUTOSAR system includes the method mode, after the ROS underlying data distribution service is initialized, it includes domain participants, publishers, subscribers, data writers, and / or data readers that have the same method identifier and instance identifier as the communication module in the AUTOSAR system and are QoS compatible.

[0292] When the message communication mode of the application process in the AUTOSAR system includes the parameter mode, after the ROS underlying data distribution service is initialized, it includes domain participants, publishers, subscribers, data writers, and / or data readers that have the same parameter identifier and instance identifier as the communication module in the AUTOSAR system and are QoS compatible.

[0293] The embodiments of the present application do not limit the way to obtain the instance identifier in the ROS communication module conversion layer. For example, the ROS communication module conversion layer can obtain the instance identifier by obtaining a configuration file, or the ROS communication module conversion layer receives the instance identifier sent by the AUTOSAR system and / or the ROS application module.

[0294] The embodiments of the present application do not limit the trigger conditions for initializing the autonomous driving system or the assisted autonomous driving system. For example, after the autonomous driving system or the assisted autonomous driving system is powered on, the initialization is completed. Or, the autonomous driving system or the assisted autonomous driving system receives an instruction from the user and completes the initialization according to the user's instruction.

[0295] Service discovery stage

[0296] Example 5

[0297] The service discovery method process of the data writer in the AUTOSAR system and the data reader in ROS can refer to the service discovery process of the data writer in the AUTOSAR system and the data reader in the proxy device in S100~S108 of the first embodiment, or can also refer to other methods in the prior art. This application does not make any limitations in this regard and will not be elaborated further.

[0298] After the service discovery between the AUTOSAR system and ROS is completed, a data link is established between the data writer and the data reader. At this time, message communication of business data can be carried out between the AUTOSAR system and ROS.

[0299] Message communication phase

[0300] Specifically, refer to the message communication method process in the implementation of the interoperability between the AUTOSAR system and ROS based on the direct pass-through mode in the sixth embodiment.

[0301] Sixth embodiment

[0302] As Figure 17 shown, it is a schematic flow chart of a method for implementing message communication between the AUTOSAR system and ROS based on the direct pass-through mode provided by the embodiment of the present application. This embodiment can be applied to Figure 12 the system architecture shown. Figure 17 The method shown may include the following steps:

[0303] S500~S502: Can refer to the above S300~S302, of course, not limited to this.

[0304] S503: ROS deserializes message 2 into message 3 using the first serialization function. The format of message 3 is a format that can be recognized by the application module in the AUTOSAR system.

[0305] S504: ROS filters message 3 according to the instance identifier in message 3.

[0306] Specifically, ROS assigns message 3 to a second object, where the second object is a data reader in the underlying DDS of the ROS communication module that matches the first object. The instance identifier of the second object is the same as the instance identifier in message 3. Thus, ROS filters out messages with instance identifiers different from those of the second object.

[0307] S505: ROS converts message 3 into message 4. The format of message 4 is a format that can be recognized by the ROS application module.

[0308] Specifically, referring to S305 in Embodiment 3, replace the execution subject "proxy device" in S305 with the "conversion layer of the ROS communication module".

[0309] When Message 4 does not include the second message identifier, after executing S505, the conversion layer of the ROS communication module sends Message 4 to the application module of ROS. Then it ends. When Message 4 includes the second message identifier, after executing S505, execute S506.

[0310] S506: ROS provides the service / request indicated in the second message identifier according to the second message identifier in Message 4.

[0311] Specifically, after the conversion layer of the ROS communication module sends Message 4 to the application module of ROS, the application module of ROS provides the service / request indicated by the service / request identifier in Message 4.

[0312] Exemplarily, if the service / request identifier included in the second message identifier indicates a get request, and the ROS parameter identifier included in the second message identifier indicates Parameter 1. ROS obtains the value of Parameter 1 according to the indication of the service / request.

[0313] S507: ROS obtains Execution Result 1 of the service / request provided by ROS. The format of Execution Result 1 is a format that can be recognized by the ROS application module. Subsequently, ROS can send Execution Result 1 to the AUTOSAR system.

[0314] Based on the example in S506, Execution Result 1 includes: the value of Parameter 1 obtained by ROS is Y.

[0315] So far, S500~S505 have realized the AUTOSAR system sending messages to ROS.

[0316] In this embodiment, when the AUTOSAR system sends messages to ROS, the added DDS and the conversion layer in ROS can filter the messages in the AUTOSAR system and convert them into a format that ROS can recognize, realizing message communication in multiple modes between the AUTOSAR system and ROS (including event / topic mode, method / service request mode, parameter mode, etc.). At the same time, the service selection in the AUTOSAR system can be taken into account, and QoS can be used to ensure the reliability and real-time performance of message transmission.

[0317] Embodiment 7

[0318] As Figure 18 shown, it is a schematic flowchart of another method for realizing message communication between the AUTOSAR system and ROS based on the direct pass-through mode provided by the embodiment of the present application. Exemplarily, this embodiment can be applied toFigure 12 The system architecture shown Figure 18 The method shown may include the following steps:

[0319] S600: ROS generates Message 5. The format of Message 5 is a format that can be recognized by the application modules of ROS.

[0320] Specifically, for the interpretation of Message 5, refer to S400 in Embodiment 4, which will not be elaborated here.

[0321] S601: ROS converts Message 5 into Message 6. The format of Message 6 is a format that can be recognized by the application modules of the AUTOSAR system.

[0322] Specifically, the ROS application module sends Message 5 to the conversion layer of the communication module. The conversion layer of the ROS communication module converts Message 5 into Message 6 with reference to the method in S405 of Embodiment 4, which will not be elaborated here.

[0323] S602: ROS adds the configured instance identifier to Message 6 to obtain Message 7. Among them, the instance identifier indicates the process of the application that generates Message 5.

[0324] It should be noted that S602 is optional. When Message 6 includes the configured instance identifier, S602 does not need to be executed.

[0325] S603: ROS serializes Message 7 into Message 8 using the first serialization function. The format of Message 8 is a format that can be recognized by the communication module of the AUTOSAR system.

[0326] S604: ROS sends Message 8 to the AUTOSAR system.

[0327] Specifically, the first object in ROS calls the write interface of DDS to send Message 8 to the AUTOSAR system. The first object is any data writer in ROS, and the topic to which the data writer writes data is the same as the topic in Message 8, and the instance identifier is the same.

[0328] S605: The AUTOSAR system deserializes Message 8 into Message 9 using the first serialization function. The format of Message 9 is a format that can be recognized by the application modules of the AUTOSAR system.

[0329] S606: The AUTOSAR system filters Message 9 according to the instance identifier in Message 9. Specifically, the AUTOSAR system assigns Message 9 to the second object. The second object is a data reader in the AUTOSAR system that matches the first object. The instance identifier of the second object is the same as the instance identifier in Message 9. Thus, ROS filters messages with instance identifiers different from those of the second object.

[0330] Subsequently, the communication module of the AUTOSAR system sends Message 9 to the application process indicated by the instance identifier in Message 9 of the application module of the AUTOSAR system. The application process takes corresponding actions according to Message 9. For example: when the value of Parameter 1 in the AUTOSAR system in Message 9 received by the application process in the AUTOSAR system is Y, and Parameter 1 in the AUTOSAR system indicates whether to turn on the fog lamp, the AUTOSAR system turns on the fog lamp according to the value of Y of this parameter.

[0331] When Message 9 does not include a method identifier, after S606 is executed, it ends. When Message 9 includes a method identifier, after S606 is executed, the AUTOSAR system obtains the execution result, and the AUTOSAR system sends the execution result to ROS. The specific process refers to the steps in S500~S505 in Embodiment 5 and will not be elaborated here.

[0332] In this embodiment, when ROS sends a message to the AUTOSAR system, the added DDS and conversion layer in the ROS system can convert the message format recognizable by the communication mode layer of the ROS communication module into the message format recognizable by the communication mode layer of the AUTOSAR system communication module, add an instance identifier, and then convert it into a format that can be transmitted by the AUTOSAR system DDS, realizing multi-mode message communication between the AUTOSAR system and ROS (including event / topic mode, method / service request mode, parameter mode, etc.). At the same time, it can take into account the service selection in the AUTOSAR system, and QoS can be used to ensure the reliability and real-time performance of message transmission.

[0333] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. To implement the above functions, it includes the corresponding hardware structure and / or software module for executing each function. Those skilled in the art should easily realize that, combined with the method steps of each example described in the embodiments disclosed in this article, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the way of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but this implementation should not be considered to exceed the scope of the present application.

[0334] Embodiments of the present application can divide the proxy device into functional modules according to the above method examples. For example, each functional module can be corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module. It should be noted that the division of modules in the embodiments of the present application is illustrative, only a logical function division, and there can be other division methods in actual implementation.

[0335] As Figure 19 shown, it is a schematic structural diagram of a proxy device provided by an embodiment of the present application. The proxy device 50 can be used to execute the functions performed by the proxy device in any one of the above embodiments (such as Figures 13 to 16 the embodiment shown). The proxy device 50 is applied to an autonomous driving system or an assisted autonomous driving system, and the autonomous driving system or the assisted autonomous driving system further includes: a first computer system and a second computer system. The proxy device 50 can include: a first proxy module 501 and a second proxy module 502. Among them, the first proxy module 501 is used to receive a first message sent by the first computer system. Among them, the format of the first message is a format that the first computer system can recognize, and convert the first message into a second message, and the format of the second message is a format that the second computer system can recognize. The second proxy module 502 is used to send the second message to the second computer system. For example, in combination with Figure 13 , the first proxy module 501 can be used to execute the receiving steps in S100 and S105, the sending steps in S101~S102 and S103, and S106~S107. In combination with Figure 14 the second proxy module 502 can be used to execute the sending steps in S200 and S207, the receiving step in S205, and S206. In combination with Figure 15 the first proxy module 501 can be used to execute the receiving step in S302 and S303~S304. The second proxy module 502 can be used to execute S305~S306 and the sending step in S307. In combination with Figure 16 the second proxy module 502 can be used to execute the receiving step in S402 and S403~S404. The first proxy module 501 can be used to execute S405~S408 and the sending step in S409.

[0336] Optionally, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. Or, the first computer system includes ROS, and the second computer system includes an AUTOSAR system.

[0337] Optionally, the subject of the message sent by the first object included in the first computer system is the same as the subject of the message received by the second object included in the proxy device 50. The first object is the sender of the message in the first computer system, and the second object is the receiver of the message in the proxy device 50. The message sent by the first object includes a first message. The subject of the message sent by the third object included in the proxy device 50 is the same as the subject of the message received by the fourth object included in the second computer system. The third object is the sender of the message in the proxy device 50, and the fourth object is the receiver of the message in the second computer system. The message sent by the third object includes a second message.

[0338] Optionally, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. The message format supported by the first proxy module 501 is the same as that supported by the communication module of the AUTOSAR system. The message format supported by the second proxy module 502 is the same as that supported by the communication module of ROS. Alternatively, the first computer system includes ROS, and the second computer system includes an AUTOSAR system. The message format supported by the first proxy module 501 is the same as that supported by the communication module of ROS. The message format supported by the second proxy module 502 is the same as that supported by the communication module of the AUTOSAR system.

[0339] Optionally, the first computer system includes an AUTOSAR system and the second computer system includes ROS, and the QoS used by the first object is compatible with the QoS used by the second object.

[0340] Optionally, the first message is a message in the remote procedure call (RPC) mode or the parameter mode, and the first message includes a first message identifier. The first message identifier includes a method identifier and / or a parameter identifier. The first proxy module 501 is further configured to determine a second message identifier corresponding to the first identifier according to the correspondence between the message identifier recognizable by the first computer system and the message identifier recognizable by the second computer system. The second message includes a second message identifier, and the second message identifier includes a method identifier and / or a parameter identifier.

[0341] Optionally, the first proxy module 501 includes a first read interface and a first write interface. The first read interface is the same as the read interface of the first computer system, and the first write interface is the same as the write interface of the first computer system. Specifically, the first proxy module 501 is configured to receive the first message sent by the write interface of the first computer system by using the first read interface.

[0342] Optionally, the second proxy module 502 includes a second read interface and a second write interface. The second read interface is the same as the read interface of the second computer system, and the second write interface is the same as the write interface of the second computer system. The second proxy module 502 is specifically configured to: send a second message to the read interface of the second computer system by using the second write interface.

[0343] Optionally, the first computer system includes an AUTOSAR system, and the second computer system includes ROS. The first proxy module 501 is further configured to filter the first message. The first proxy module 501 is specifically configured to convert the filtered first message into a second message.

[0344] Optionally, the first computer system includes ROS, the second computer system includes an AUTOSAR system, and the second message does not include an instance identifier. The first proxy module 501 is specifically configured to add an instance identifier to the second message, where the instance identifier is used by the AUTOSAR system to determine a fourth object.

[0345] In one example, referring to Figure 3 , both the above-mentioned first proxy module 501 and second proxy module 502 can be implemented by a processor 103 in Figure 3 calling a computer program stored in the system memory 135.

[0346] In one example, referring to Figure 2 , both the above-mentioned first proxy module 501 and second proxy module 502 can be implemented by a processor 113 in Figure 2 calling a computer program stored in the memory 114.

[0347] For the specific descriptions of the above optional manners, refer to the foregoing method embodiments, which will not be elaborated herein. In addition, the explanations and descriptions of the beneficial effects of any of the above-provided proxy devices 50 can refer to the corresponding method embodiments above, and will not be elaborated.

[0348] It should be noted that the actions corresponding to the above-mentioned each module are only specific examples, and the actual actions performed by each unit refer to the actions or steps mentioned in the description of the foregoing embodiments based on Figures 13 to 16 .

[0349] As Figure 20 shown, it is a schematic structural diagram of a computer system provided by an embodiment of the present application. The computer system 90 can be used to execute any one of the foregoing embodiments ( Figure 17 or Figure 18The functions performed by ROS in ( ). The computer system 90 is applied to an autonomous driving system or an assisted autonomous driving system, and the autonomous driving system or the assisted autonomous driving system further includes: a first computer system. The computer system 90 includes: a second application module 901 and a second communication module 902. The second communication module 902 is configured to receive a first message sent by the first computer system. The format of the first message is a format recognizable by the first computer system, and convert the first message into a second message. The format of the second message is a format recognizable by the second application module 901, and send the second message to the second application module 901. The second application module 901 is configured to receive the second message. Alternatively, the second application module 901 is configured to send the first message to the second communication module 902. The second communication module 902 is configured to convert the first message into a second message. The format of the second message is a format recognizable by the first computer system, and send the second message to the first computer system. For example, in combination with Figure 17 , the second communication module 902 can be used to: perform the receiving step in S502, S503 - S505, and the second application module 901 can be used to: perform S506 - S507. In combination with Figure 18 , the second application module 901 can be used to perform S600 - S602. The second communication module 902 can be used to: perform the sending steps in S603 and S604.

[0350] Optionally, the first computer system includes an Automotive Open System Architecture (AUTOSAR) system, and the computer system 90 includes a Robot Operating System (ROS). Alternatively, the first computer system includes ROS, and the computer system 90 includes an AUTOSAR system.

[0351] Optionally, the topic of the message sent by the first object included in the first computer system is the same as the topic of the message received by the second object included in the computer system 90. The topic of the message received by the first object included in the first computer system is the same as the topic of the message sent by the second object included in the computer system 90. The first object is the sender of the message in the first computer system, and the second object is the receiver of the message in the computer system 90. The message sent by the first object includes the first message; or, the message received by the first object includes the second message.

[0352] Optionally, the first computer system is the same as the message format supported by the second communication module 902.

[0353] Optionally, the first computer system includes an AUTOSAR system and the computer system 90 includes ROS, and the Quality of Service (QoS) used by the first object is compatible with the QoS used by the second object.

[0354] Optionally, the first message is a message in the remote procedure call (RPC) mode or a message in the parameter mode, and the first message includes a first message identifier. The first message identifier includes a method identifier and / or a parameter identifier; the second communication module 902 is further configured to determine a second message identifier corresponding to the first identifier according to the correspondence between the message identifier recognizable by the first computer system and the message identifier recognizable by the computer system 90. Specifically, the second communication module 902 is configured to convert the first message into a second message, where the second message includes a second message identifier, and the second message identifier includes a method identifier and / or a parameter identifier.

[0355] Optionally, the first computer system includes an AUTOSAR system, and the computer system 90 includes ROS. The second communication module 902 is further configured to filter the first message. Specifically, the second communication module 902 is configured to convert the filtered first message into a second message.

[0356] Optionally, the first computer system includes ROS, and the computer system 90 includes an AUTOSAR system. The second message does not include an instance identifier; the second communication module 902 is further configured to add an instance identifier to the second message. Specifically, the second communication module 902 is configured to send the second message with the added instance identifier to the second application module 901. Here, the instance identifier is used by the AUTOSAR system to determine the second object.

[0357] In one example, refer to Figure 3 above. Both the second application module 901 and the second communication module 902 can be implemented by a computer program stored in the system memory 135 and called by the processor 103 in Figure 3 .

[0358] In one example, refer to Figure 2 above. Both the second application module 901 and the second communication module 902 can be implemented by a computer program stored in the memory 114 and called by the processor 113 in Figure 2 .

[0359] For the specific descriptions of the above optional manners, refer to the foregoing method embodiments, which will not be elaborated here. In addition, for the explanations of any of the above-provided computer systems 90 and the descriptions of the beneficial effects, reference can be made to the corresponding method embodiments above, which will not be elaborated.

[0360] It should be noted that the actions corresponding to the above-mentioned respective modules are only specific examples, and the actual actions performed by each unit refer to the actions or steps mentioned in the description of the foregoing embodiments based on Figures 17 to 18 .

[0361] The embodiments of the present application further provide a device (such as a computer device or a chip), including: a memory and a processor; the memory is used to store a computer program, and the processor is used to call the computer program to perform the actions or steps mentioned in any of the above embodiments.

[0362] The embodiments of the present application further provide a computer-readable storage medium, on which a computer program is stored. When the computer program runs on a computer, the computer is enabled to perform the actions or steps mentioned in any of the above embodiments.

[0363] The embodiments of the present application further provide a chip. Circuits for implementing the functions of the device for solving the above positioning problem and one or more interfaces are integrated in the chip. Optionally, the functions supported by the chip may include based on Figures 13 to 18 the processing actions in the above-mentioned embodiments, which will not be elaborated here. Those of ordinary skill in the art can understand that all or part of the steps for implementing the above embodiments can be completed by instructing relevant hardware through a program. The program can be stored in a computer-readable storage medium. The above-mentioned storage medium can be a read-only memory, a random access memory, etc. The above-mentioned processing unit or processor can be a central processing unit, a general-purpose processor, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof.

[0364] The embodiments of the present application also provide a computer program product containing instructions. When the instructions run on a computer, the computer is caused to execute any one of the methods in the above embodiments. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from a website, a computer, a server, or a data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server or a data center that contains one or more integrated media. The available medium may be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid-state disk (SSD)), etc.

[0365] It should be noted that the devices for storing computer instructions or computer programs provided in the embodiments of the present application, such as but not limited to, the above-mentioned memory, computer-readable storage medium, and communication chip, etc., are all non-transitory.

[0366] In the process of implementing the claimed present application, those skilled in the art can understand and implement other variations of the disclosed embodiments by referring to the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude a plurality. A single processor or other unit may implement several functions recited in the claims. Certain measures are recited in mutually different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0367] Although the present application has been described in combination with specific features and their embodiments, various modifications and combinations can be made without departing from the spirit and scope of the present application. Accordingly, the present specification and the drawings are merely exemplary illustrations of the present application defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of the present application.

Claims

1. A message communication method, characterized in that, Including: The AUTOSAR system communicates with ROS, where: The event mode of the AUTOSAR system communicates with the topic mode of ROS; the method mode of the AUTOSAR system communicates with the service / request mode of ROS; the parameter mode of the AUTOSAR system communicates with the parameter mode of ROS; The AUTOSAR system communicates with the ROS through a proxy device, where: The proxy device includes a first sub-module, a second sub-module and a third sub-module; The first sub-module is used to connect the event mode of the AUTOSAR system and the topic mode of ROS; The second sub-module is used to connect the method mode of the AUTOSAR system and the service / request mode of ROS; The third sub-module is used to connect the parameter mode of the AUTOSAR system and the parameter mode of ROS; The communication between the AUTOSAR system and the ROS through the proxy device includes: an initialization phase, a service discovery phase and a message communication phase; The proxy device includes a first proxy module and a second proxy module. The first proxy module and the second proxy module are communicatively connected. The first proxy module is used to receive a first message sent by the AUTOSAR system, and the second proxy module is used to receive a second message sent by the ROS; After the initialization of the proxy device is completed, the first proxy module includes: domain participants, publishers, subscribers, data writers and / or data readers that are the same as the method identifier, parameter identifier and instance identifier of the communication module in the AUTOSAR system and are QoS compatible; the second proxy module includes: publishers and subscribers that are the same as the topic, service / request identifier and parameter identifier in the ROS communication module.

2. The method according to claim 1, characterized in that: The proxy device communicates with the AUTOSAR system based on the communication logic of DDS; The proxy device communicates with the ROS based on the communication logic of ros_comm or the ros middleware layer.

3. The method according to claim 1, characterized in that: The AUTOSAR system exchanges DDS domain participant information with the proxy device and records it in the local information repository; and The proxy device publishes first publisher information and obtains a first subscriber in the ROS that matches the first publisher; the first publisher is any one of the publishers in the proxy device, and the first subscriber is any one of the subscribers in the ROS that has the same topic as the first publisher information.

4. The method according to claim 1, characterized in that: The message communication phase includes: the AUTOSAR system sends a message to the ROS through the proxy device, or the ROS sends a message to the AUTOSAR system through the proxy device.

5. The method according to claim 1, characterized in that: The AUTOSAR system sending a message to the ROS through the proxy device includes: A first object of the DDS communication module of the AUTOSAR system generates a first message, and the first message can be recognized by the application module of the AUTOSAR system; the first object is a data writer allocated by the DDS communication module for the first message; The AUTOSAR system uses a first serialization function to convert the first message into a second message; The AUTOSAR system sends a second message to the proxy device; The proxy device converts the second message into a third message using a first serialization function, and the third message can be recognized by the application module of the AUTOSAR system; The proxy device converts the third message into a fourth message, and the fourth message can be recognized by the application module of the ROS; The proxy device converts the fourth message into a fifth message using a second serialization function, and the fifth message can be recognized by the communication module of the ROS; The proxy device sends the fifth message to the ROS.

6. The method according to claim 5, characterized in that: The first message, the second message, and the third message include instance identifiers, and the instance identifiers indicate the process of the application program that generates the first message; The proxy device assigns the third message to a second object according to the instance identifier in the third message, and the instance identifier of the second object is the same as the instance identifier of the third message; the second object is the receiver that receives messages in the proxy device.

7. The method according to claim 6, characterized in that: The second object in the proxy device sends the fifth message to the third object in the proxy device, and the third object sends a message to the ROS based on the ROS publishing interface, and the third object is the publisher in the proxy device; The ROS converts the fifth message into a sixth message using a second serialization function, and the sixth message can be recognized by the application module of the ROS; The ROS assigns the sixth message to a fourth object, and the fourth object reads the sixth message from the subscription interface, and the fourth object is the subscriber in the ROS that matches the third object; 8. The method according to claim 4, characterized in that: The ROS sends a message to the AUTOSAR system through the proxy device, including: The application module of the ROS generates a seventh message, and the seventh message can be recognized by the application module of the ROS; The ROS converts the seventh message into an eighth message using a second serialization function; The ROS sends the eighth message to the proxy device; The proxy device converts the eighth message into a ninth message using a first serialization function, and the ninth message can be recognized by the application module of the ROS; The proxy device converts the ninth message into a tenth message, and the tenth message can be recognized by the application module of the AUTOSAR system; The proxy device adds an instance identifier to the tenth message to obtain an eleventh message; The proxy device serializes the eleventh message into a twelfth message using a first serialization function; The proxy device sends the twelfth message to the AUTOSAR system.

9. A computer-readable storage medium, comprising an instruction set, wherein when the instruction set is executed by a processor, the method according to any one of claims 1-8 can be implemented.

10. A computer program for implementing the method according to any one of claims 1-8 when executed on a computer.

11. A vehicle, comprising the computer-readable storage medium according to claim 9.

Citation Information

Patent Citations

  • Real-time message transmission method among multiple robots

    CN105429858A