CN113138864A - Message communication method, computer system and agent device - Google Patents

Message communication method, computer system and agent device Download PDF

Info

Publication number
CN113138864A
CN113138864A CN202010060807.XA CN202010060807A CN113138864A CN 113138864 A CN113138864 A CN 113138864A CN 202010060807 A CN202010060807 A CN 202010060807A CN 113138864 A CN113138864 A CN 113138864A
Authority
CN
China
Prior art keywords
message
computer system
identifier
ros
autosar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010060807.XA
Other languages
Chinese (zh)
Other versions
CN113138864B (en
Inventor
马松君
周斌彦
李振飞
林强敏
孙玉彤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010060807.XA priority Critical patent/CN113138864B/en
Priority to PCT/CN2020/116862 priority patent/WO2021143190A1/en
Publication of CN113138864A publication Critical patent/CN113138864A/en
Application granted granted Critical
Publication of CN113138864B publication Critical patent/CN113138864B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Traffic Control Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

The application discloses a message communication method, a computer system and an agent device, which are beneficial to enabling an automatic driving system or an auxiliary automatic driving system to simultaneously have the excellent characteristics of a first computer system and a second computer system, so that the performance of the automatic driving system or the auxiliary automatic driving system is improved. The message communication method is applied to an automatic driving system or an auxiliary automatic driving system, and the automatic driving system or the auxiliary automatic driving system comprises the following steps: a first computer system, a second computer system, and a proxy device, the method comprising: the agent device receives a first message sent by a first computer system, wherein the format of the first message is a format which can be recognized by the first computer system, and the first message is converted into a second message; the format of the second message is a format recognizable by the second computer system; the proxy device sends a second message to the second computer system.

Description

Message communication method, computer system and agent device
Technical Field
The present application relates to the field of automated driving or assisted automated driving technologies, and in particular, to a message communication method, a computer system, and an agent apparatus.
Background
As shown in fig. 1, the autonomous vehicle software architecture may include an application layer and a framework layer. The application layer comprises applications of perception, fusion, regulation, execution and the like. The framework layer is used for providing basic logic and rules for the application layer, and comprises calculation logic, communication logic and the like. Currently, the industry generally uses an automobile open system architecture (AUTOSAR) or a Robot Operating System (ROS) as a framework layer.
Although the automotive open system is relatively perfect in functions of traditional control, execution and other parts of the vehicle, the development support of the automatic driving system is not enough, and the functions of perception, fusion, regulation, control, execution and the like of an application layer are not easy to develop. The ROS system is originally a data plane-oriented software architecture developed for a robot system, and is therefore good at computing, decision-making, and other functions, but additional development is required for conventional control, execution, and other parts of a vehicle. Therefore, how to design an automatic driving system or an auxiliary automatic driving system becomes a technical problem to be solved urgently.
Disclosure of Invention
Embodiments of the present application provide a message communication method, a computer system, and an agent device, which are helpful for enabling an automatic driving system or an auxiliary automatic driving system to have excellent characteristics of a first computer system and a second computer system at the same time, thereby improving the performance of the automatic driving system or the auxiliary automatic driving system.
In order to achieve the above purpose, the embodiment of the present application adopts the following technical solutions:
in a first aspect, a message communication method is provided for an automatic driving system or an auxiliary automatic driving system, the automatic driving system or the auxiliary automatic driving system including: a first computer system, a second computer system, and a proxy device, the method comprising: the agent device receives a first message sent by the first computer system, the format of the first message being a format recognizable by the first computer system. The proxy device converts the first message into a second message. The format of the second message is a format that the second computer system is able to recognize. The proxy device sends a second message to the second computer system. In this way, the agent device is added to the automatic driving system or the auxiliary automatic 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 is beneficial to enabling the automatic driving system or the auxiliary automatic driving system to simultaneously have the excellent characteristics of the first computer system and the second computer system (for example, the traditional control of the vehicle by the AUTOSAR system and the high-level functions of sensing, calculating, fusing, simulating and the like of the ROS can be considered).
In one possible implementation, the first computer system includes an AUTOSAR system and the second computer system includes an ROS. Alternatively, the first computer system includes the ROS and the second computer system includes the AUTOSAR system. Thus, the intercommunication between the AUTOSAR system and the ROS message can be realized.
In one possible implementation, the first message is a remote procedure call, RPC, mode message or a parameter mode message, the first message comprising a first message identifier, the first message identifier comprising a method identifier and/or a parameter identifier. The method further comprises the following steps: and determining a second message identifier corresponding to the first message identifier according to the corresponding relation between the message identifier which can be identified by the first computer system and the message identifier which can be identified by the second computer system. Wherein the second message comprises a second message identifier comprising 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 acquire or set the parameters in the second computer system, so that the communication of the messages of the remote procedure call mode and the parameter mode in the first computer system and the second computer system can be realized.
In one possible implementation, the first computer system includes a first object that sends a message having a subject that is the same as a subject of a message received by a second object that the proxy device includes. The first object is a sender of a message sent in the first computer system and the second object is a recipient of a message received in the proxy device. The messages sent by the first object include a first message. The third object included in the proxy device sends a message with the same subject as the fourth object included in the second computer system receives. The third object is the sender of the message in the proxy device. The fourth object is a recipient of the message in the second computer system. The message sent by the third object comprises the second message. In this way, objects in the proxy device can be matched to objects in the first computer system and the second computer system, respectively, for the sending and receiving of messages.
In one possible implementation, the first computer system includes an AUTOSAR system and the second computer system includes a ROS, the method further comprising filtering the first message by the proxy device. The method for converting the first message into the second message by the proxy device specifically includes: the proxy device converts the filtered first message into a second message. In this way, the messages sent in the AUTOSAR system can accurately correspond to the progress of the application program in the ROS.
In one possible implementation, the first computer system includes the ROS, the second computer system includes the AUTOSAR system, and the second message does not include the instance identifier, the method further comprising: the proxy device adds an instance identifier to the second message, wherein the instance identifier is used by the AUTOSAR system to determine the fourth object. In this way, messages sent by the ROS to the AUTOSAR system may also correspond accurately to the processes of the applications in the AUTOSAR system.
In one possible implementation, the first computer system comprises an AUTOSAR system and the second computer system comprises an 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 comprises an ROS and the second computer system comprises an AUTOSAR, 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 the sender sending the message and the receiver receiving the message are consistent in subject and QoS compatible when the proxy device communicates with the AUTOSAR system. In one possible implementation, the sender's QoS needs to be compatible with the recipient's QoS. The value of the sender's QoS defines the quality of service provided by the sender; the value of the QoS of the recipient defines the quality of service required by the recipient. The sender's QoS is compatible with the receiver's QoS, meaning that the quality of service provided by the sender must meet the quality of service required by the receiver.
In a second aspect, a message communication method is provided for an automatic driving system or an auxiliary automatic driving system, the automatic driving system or the auxiliary automatic driving system including: a first computer system and a second computer system, the method comprising: the second computer system receives the first message sent by the first computer system, the format of the first message being a format recognizable by the first computer system, the second computer system converts the first message into the second message, the format of the second message being a format recognizable by the second computer system. Thus, the second computer system is added with logic for converting the format in the first computer system to the format of the second computer system, so that the first computer system and the second computer system realize the communication of the message.
In one possible implementation, the first computer system comprises an automotive open systems architecture (AUTOSAR) system, and the second computer system comprises a Robot Operating System (ROS); alternatively, the first computer system includes the ROS and the second computer system includes the AUTOSAR system. Thus, the intercommunication between the AUTOSAR system and the ROS message can be realized.
In one possible implementation, the first message is a remote procedure call, RPC, mode message or a parameter mode message, the first message comprising a first message identifier, the first message identifier comprising a method identifier and/or a parameter identifier. The method further comprises the following steps: the second computer system determines a second message identifier corresponding to the first message identifier according to the corresponding relationship between the message identifier which can be identified by the first computer system and the message identifier which can be identified by the second computer system. The second message comprises a second message identifier the second message identifier comprises 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 acquire or set the parameters in the second computer system, so that the communication of the messages of the remote procedure call mode and the parameter mode in the first computer system and the second computer system can be realized.
In one possible implementation, the first object comprised by the first computer system sends a message having the same subject as the second object comprised by the second computer system receives a message having the same subject. The first object comprised by the first computer system receives a message having the same subject as the message sent by the second object comprised by the second computer system. The first object is a sender of a message sent in a first computer system and the second object is a recipient of a message received in a second computer system. The messages sent by the first object comprise a first message; alternatively, the message sent by the second object comprises the second message. In this way, objects in a first computer system can be matched with objects in a second computer system for the sending and receiving of messages.
In one possible implementation, the first computer system includes an AUTOSAR system and the second computer system includes an ROS, the method further comprising: the second computer system filters the first message. The second computer system converts the first message into a second message, comprising: the second computer system converts the filtered first message into a second message. In this way, the messages sent in the AUTOSAR system can accurately correspond to the progress of the application program in the ROS.
In one possible implementation, the first computer system includes the ROS, the second computer system includes the AUTOSAR system, and the first message does not include the instance identifier, the method further comprising: the second computer system adds an instance identifier to the second message, wherein the instance identifier is used by the AUTOSAR system to determine the second object. In this way, messages sent by the ROS to the AUTOSAR system may also correspond accurately to the processes of the applications in the AUTOSAR system.
In one possible implementation, the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, the QoS used by the first object being compatible with the QoS used by the second object. In this way, it can be guaranteed that the sender sending the message and the receiver receiving the message are consistent in subject and QoS compatible when the ROS communicates with the AUTOSAR system.
In a third aspect, a proxy apparatus is provided, which may be configured to perform any of the methods provided in any of the possible implementations of the first aspect through the first aspect. For example, the proxy apparatus may be a computer device (such as a terminal device, a server, or a cloud server), a chip, or the like.
According to the third aspect, in a first possible implementation manner of the third aspect, the device may be divided into functional modules according to any one of the methods provided in the first aspect. For example, each functional unit may be divided for each function, or two or more functions may be integrated into one processing unit.
According to the third aspect or the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect, the apparatus may include a processor, and the processor is configured to execute any one of the methods provided by the first aspect.
In a fourth aspect, a computer-readable storage medium, such as a computer-non-transitory readable storage medium, is provided. Having stored thereon a computer program (or instructions) which, when run on a computer, causes the computer to perform any of the methods provided by the first aspect or any of the possible implementations of the first aspect.
In a fifth aspect, there is provided a computer program product enabling, when running on a computer, the execution of any one of the methods provided in the first aspect or any one of the possible implementations of the first aspect.
In a sixth aspect, a chip is provided, comprising: a processor, configured to invoke and run a computer program stored in the memory from the memory, and execute any method provided by the first aspect or any possible implementation manner of the first aspect.
In a seventh aspect, a computer system is provided, which is operable to perform any of the methods provided by the second aspect or any of the possible implementations of the second aspect. According to the second aspect, in a first possible implementation manner of the second aspect, the computer system may be divided into functional modules according to any one of the methods provided by the second aspect. For example, each functional unit may be divided for each function, or two or more functions may be integrated into one processing unit.
In a second possible implementation form of the second aspect, the computer system may comprise a processor configured to perform any one of the methods provided by the second aspect.
In an eighth aspect, a computer-readable storage medium, such as a computer non-transitory readable storage medium, is provided. Having stored thereon a computer program (or instructions) which, when run on a computer, causes the computer to perform any of the methods provided by the second aspect or any of the possible implementations of the second aspect.
In a ninth aspect, there is provided a computer program product which, when run on a computer, causes the performance of any one of the methods provided by the second aspect or any one of the possible implementations of the second aspect.
In a tenth aspect, there is provided a chip comprising: a processor for calling and running the computer program stored in the memory from the memory, and executing any method provided by the second aspect or any possible implementation manner of the second aspect.
It is understood that any of the agent devices, computer systems, computer storage media, computer program products or chips provided above can be applied to the corresponding methods provided above, and therefore, the beneficial effects achieved by the agent devices, the computer systems, the computer storage media, the computer program products or chips can refer to the beneficial effects in the corresponding methods, and are not described herein again.
Drawings
FIG. 1 is a block diagram of an autopilot software architecture suitable for use with embodiments of the present application;
fig. 2 is a functional block diagram of a vehicle 100 that may be suitable for use in the embodiments of the present application;
FIG. 3 is a block diagram of a computer system that may be used in embodiments of the present application;
FIG. 4 is a schematic diagram of an automotive or assisted automotive system based on an AUTOSAR system, which can be applied to the embodiments of the present application;
FIG. 5 is a relational diagram of domain participants, publishers, subscribers, data writers, and data readers, as applicable to an embodiment of the present application;
fig. 6 is a publish-subscribe model of a DDS applicable to an embodiment of the present application;
FIG. 7 is a diagram illustrating a domain, domain participants, and application relationship that may be suitable for use with embodiments of the present application;
FIG. 8 is a schematic diagram of a ROS-based autopilot or assisted autopilot system suitable for use with embodiments of the subject application;
FIG. 9 is a publish-subscribe model of ros _ comm applicable to embodiments of the present application;
FIG. 10 is a schematic diagram illustrating the interworking between the AUTOSAR system and the ROS provided in the present application;
fig. 11 is a schematic diagram of a system architecture for implementing an interworking scheme between an AUTOSAR system and an ROS based on a proxy mode according to an embodiment of the present application;
fig. 12 is a schematic diagram of a system architecture for implementing an interworking scheme between an AUTOSAR system and an ROS based on a direct mode according to an embodiment of the present application;
fig. 13 is a flowchart illustrating a service discovery method for an automotive system and a proxy device according to an embodiment of the present disclosure;
fig. 14 is a flowchart illustrating a proxy device and an ROS service discovery method according to an embodiment of the present application;
fig. 15 is a schematic flowchart of a method for enabling an AUTOSAR system to send a message to an ROS through a proxy device in a method for implementing communication between the AUTOSAR system and the ROS based on a proxy mode according to an embodiment of the present application;
fig. 16 is a schematic flowchart of a method for enabling an ROS to send a message to an AUTOSAR system through a proxy device in a method for implementing communication between the AUTOSAR system and the ROS based on a proxy mode according to an embodiment of the present application;
fig. 17 is a schematic flowchart of a method for implementing message communication between an automotive open system and an ROS based on a direct mode according to an embodiment of the present application;
fig. 18 is a schematic flowchart of another method for implementing message communication between the automotive system and the ROS based on the direct mode according to the embodiment of the present application;
fig. 19 is a schematic structural diagram of a proxy device according to an embodiment of the present application;
fig. 20 is a schematic structural diagram of a computer system according to an embodiment of the present application.
Detailed Description
Fig. 2 is a functional block diagram of a vehicle 100 that may be suitable for use in the embodiments of the present application. In one embodiment, the vehicle 100 is configured in a fully or partially autonomous driving mode. For example, the vehicle 100 may control itself while in the autonomous driving mode, and may determine a current state of the vehicle and its surroundings by human operation, determine a possible behavior of at least one other vehicle in the surroundings, and determine a confidence level corresponding to a likelihood that the other vehicle performs the possible behavior, controlling the vehicle 100 based on the determined information. While the vehicle 100 is in the autonomous driving mode, the vehicle 100 may be placed into operation without human interaction.
The vehicle 100 may include various subsystems such as a travel system 102, a sensing system 104, a control system 106, one or more peripherals 108, as well as a power supply 110, a computer system 112, and a user interface 116. Alternatively, vehicle 100 may include more or fewer subsystems, and each subsystem may include multiple elements. In addition, each of the sub-systems and elements of the vehicle 100 may be interconnected by wire or wirelessly.
The travel system 102 may include components that provide powered motion to the vehicle 100. In one embodiment, the travel 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 other types of engine combinations, such as a hybrid engine of a gasoline engine and an electric motor, or a hybrid engine of an internal combustion engine and an air compression engine. The engine 118 converts the energy source 119 into mechanical energy.
Examples of energy sources 119 include gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other sources of electrical power. The energy source 119 may also provide energy to other systems of the vehicle 100.
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 devices, such as a clutch. Wherein the drive shaft may comprise one or more shafts that may be coupled to one or more wheels 121.
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 (which may be a GPS system, a beidou system, or other positioning system), an Inertial Measurement Unit (IMU) 124, a radar 126, a laser range finder 128, and a camera 130. The sensing system 104 may also include sensors of internal systems of the monitored vehicle 100 (e.g., an in-vehicle air quality monitor, a fuel gauge, an oil temperature gauge, etc.). Sensor data from one or more of these sensors may be used to detect the object and its corresponding characteristics (position, shape, orientation, velocity, etc.). Such detection and identification is a critical function of the safe operation of the vehicle 100.
The positioning system 122 may be used to estimate the geographic location of the vehicle 100. The inertial measurement unit 124 is used to sense position and orientation changes 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.
The radar 126 may utilize radio signals to sense objects within the surrounding environment of the vehicle 100. In some embodiments, in addition to sensing objects, radar 126 may also be used to sense the speed and/or heading of an object.
The laser rangefinder 128 may utilize laser light to sense objects in the environment in which the vehicle 100 is located. In some embodiments, the laser rangefinder 128 may include one or more laser sources, laser scanners, and one or more detectors, among other system components.
The camera 130 may be used to capture multiple images of the surrounding environment of the vehicle 100. The camera 130 may be a still camera or a video camera.
The control system 106 is for controlling the operation of the vehicle 100 and its components. 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.
The steering system 132 is operable to adjust the heading of the vehicle 100. For example, in one embodiment, a steering wheel system.
The throttle 134 is used to control the operating speed of the engine 118 and thus the speed of the vehicle 100.
The brake unit 136 is used to control the deceleration of the vehicle 100. The brake unit 136 may use friction to slow the wheel 121. In other embodiments, the brake unit 136 may convert the kinetic energy of the wheel 121 into an electric current. The brake unit 136 may take other forms to slow the rotational speed of the wheels 121 to control the speed of the vehicle 100.
The computer vision system 140 may be operable to process and analyze images captured by the camera 130 to identify objects and/or features in the environment surrounding the vehicle 100. The objects and/or features may include traffic signals, road boundaries, and obstacles. The computer vision system 140 may use object recognition algorithms, Motion from Motion (SFM) algorithms, video tracking, and other computer vision techniques. In some embodiments, the computer vision system 140 may be used to map an environment, track objects, estimate the speed of objects, and so forth.
The route control system 142 is used to determine a travel route of the vehicle 100. In some embodiments, the route control system 142 may combine data from the radar 126, the positioning system 122, and one or more predetermined maps to determine a travel route for the vehicle 100.
Obstacle avoidance system 144 is used to identify, assess, and avoid or otherwise negotiate potential obstacles in the environment of vehicle 100.
Of course, in one example, the control system 106 may additionally or alternatively include components other than those shown and described. Or may reduce some of the components shown above.
Vehicle 100 interacts with external sensors, other vehicles, other computer systems, or users through peripherals 108. The peripheral devices 108 may include a wireless communication system 146, an in-vehicle computer 148, a microphone 150, and/or speakers 152.
In some embodiments, the peripheral devices 108 provide a means for a user of the vehicle 100 to interact with the user interface 116. For example, the onboard computer 148 may provide information to a user of the vehicle 100. The user interface 116 may also operate the in-vehicle computer 148 to receive user input. The in-vehicle computer 148 may be operated via a touch screen. In other cases, the peripheral devices 108 may provide a means for the vehicle 100 to communicate with other devices located within the vehicle. For example, the microphone 150 may receive audio (e.g., voice commands or other audio input) from a user of the vehicle 100. Similarly, the speaker 152 may output audio to a user of the vehicle 100.
The wireless communication system 146 may communicate wirelessly with one or more devices, either directly or via a communication network. For example, the wireless communication system 146 may use 3G cellular communication, such as CDMA, EVD0, GSM/GPRS, or 4G cellular communication, such as LTE. Or 5G cellular communication. The wireless communication system 146 may communicate with a Wireless Local Area Network (WLAN) using WiFi. In some embodiments, the wireless communication system 146 may utilize an infrared link, bluetooth, or ZigBee to communicate directly with the device. Other wireless protocols, such as various vehicle communication systems, for example, the wireless communication system 146 may include one or more Dedicated Short Range Communications (DSRC) devices that may include public and/or private data communications between vehicles and/or roadside stations.
The power supply 110 may provide power to various components of the 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 batteries may be configured as a power source to provide power to various components of the vehicle 100. In some embodiments, the power source 110 and the energy source 119 may be implemented together, such as in some all-electric vehicles.
Some or all of the functionality of the vehicle 100 is controlled by the computer system 112. The computer system 112 may include at least one processor 113, the processor 113 executing instructions 115 stored in a non-transitory computer readable medium, such as the memory 114. The computer system 112 may also be a plurality of computing devices that control individual components or subsystems of the vehicle 100 in a distributed manner.
The processor 113 may be any conventional processor, such as a commercially available CPU. Alternatively, the processor may be a dedicated device such as an ASIC or other hardware-based processor. Although fig. 2 functionally illustrates a processor, memory, and other elements of a computer in the same block, those skilled in the art will appreciate that the processor, computer, or memory may actually comprise multiple processors, computers, or memories that may or may not be stored within the same physical housing. For example, the memory may be a hard drive or other storage medium located in a different enclosure than the computer. Thus, references to a processor or computer are to be understood as including references to a collection of processors or computers or memories which may or may not operate in parallel. Rather than using a single processor to perform the steps described herein, some components, such as the steering component and the retarding component, may each have their own processor that performs only computations related to the component-specific functions.
In various aspects described herein, the processor may be located remotely from the vehicle and in wireless communication with the vehicle. In other aspects, some of the processes described herein are executed on a processor disposed within the vehicle and others are executed by a remote processor, including taking the steps necessary to perform a single maneuver.
In some embodiments, the memory 114 may include instructions 115 (e.g., program logic), and the instructions 115 may be executed by the processor 113 to perform various functions of the vehicle 100, including those described above. The memory 114 may also contain additional instructions, including instructions to one or more of the travel system 102, the sensing system 104, the control system 106, and the peripheral devices 108 to send data to, receive data from, interact with, and/or control them.
In addition to instructions 115, memory 114 may also store data such as road maps, route information, the location, direction, speed of the vehicle, and other such vehicle data, among other information. Such information may be used by the vehicle 100 and the computer system 112 during operation of the vehicle 100 in autonomous, semi-autonomous, and/or manual modes.
A user interface 116 for providing information to and receiving information from a user of the vehicle 100. Optionally, the user interface 116 may include one or more input/output devices within the collection of peripheral devices 108, such as a wireless communication system 146, an in-vehicle computer 148, a microphone 150, and a speaker 152.
The computer system 112 may control the functions of the vehicle 100 based on inputs received from various subsystems (e.g., the travel system 102, the sensing system 104, and the control system 106) and from the user interface 116. For example, computer system 112 may utilize input from control system 106 to control steering system 132 to avoid obstacles detected by sensing system 104 and obstacle avoidance system 144. In some embodiments, the computer system 112 is operable to provide control over many aspects of the vehicle 100 and its subsystems.
Alternatively, one or more of these components described above may be mounted or associated separately from the vehicle 100. For example, the memory 114 may exist partially or completely separate from the vehicle 100. The above components may be communicatively coupled together in a wired and/or wireless manner.
Optionally, the above components are only an example, in an actual application, components in the above modules may be added or deleted according to an actual need, and fig. 2 should not be construed as limiting the embodiment of the present application.
The vehicle 100 may be a car, a truck, a motorcycle, a bus, a boat, an airplane, a helicopter, a lawn mower, an amusement car, a playground vehicle, construction equipment, a trolley, a golf cart, a train, a trolley, etc., and the embodiment of the present invention is not particularly limited.
As shown in fig. 3, which is a schematic structural diagram of a computer system applicable to the embodiment of the present application, the computer system 101 includes a processor 103, and the processor 103 is coupled to a system bus 105. Processor 103 may be one or more processors, each of which may include one or more processor cores. A display adapter (video adapter)107, the display adapter 107 may drive a display 109, the display 109 coupled with the system bus 105. System bus 105 is coupled through a bus bridge 111 and an input/output (I/O) bus 175. I/O interface 157 and I/O bus 175. The I/O interface 157 communicates with various I/O devices, such as input devices 117 (e.g., keyboard, mouse, touch screen, etc.), media disks (media tray)121 (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 both scenic and motion digital video images), sensors 153, and a USB port 125. Wherein, optionally, the interface connected with the I/O interface 157 may be a USB interface.
Processor 103 may be any conventional processor, including a reduced instruction set computing ("RISC") processor, a complex instruction set computing ("CISC") processor, or a combination thereof. Alternatively, the processor may be a dedicated device such as an application specific integrated circuit ("ASIC"). Alternatively, the processor 103 may be a neural network processor or a combination of a neural network processor and a conventional processor as described above.
Optionally, in various embodiments described herein, computer system 101 may be located remotely from the autonomous vehicle and may communicate wirelessly with the autonomous vehicle. In other aspects, some processes described herein are performed on a processor disposed within an autonomous vehicle, others being performed by a remote processor, including taking the actions required to perform a single maneuver.
Computer system 101 may communicate with software deploying server 149 via network interface 129. The network interface 129 is a hardware network interface, such as a network card. The network 127 may 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 may also be a wireless network, such as a WiFi network, a cellular network, and the like.
Hard drive interface 131 is coupled to system bus 105. The hard drive interface 131 is connected to a hard drive 133. System memory 135 is coupled to system bus 105. The data running in system memory 135 may include the operating system 137 and application programs 143 of computer system 101.
The operating system 137 includes a Shell139 and a kernel 141. Shell139 is an interface between the user and operating system 137. Shell139 is the outermost tier of operating system 137. Shell139 manages the interaction between the user and the operating system 137 by waiting for the user's input, interpreting the user's input to the operating system 137, and processing the output results of the various operating systems 137.
Kernel 141 is comprised of those portions of 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 slot management, interrupts, memory management, IO management, and the like.
The application programs 143 include autopilot-related programs 147 such as programs that manage the interaction of an autopilot car with on-road obstacles, programs that control the route or speed of an autopilot car, and programs that control the interaction of an autopilot car with other autopilot cars on the road. Application programs 143 also exist on the system of software deploying server 149. In one embodiment, computer system 101 may download application 143 from software deploying server 149 when execution of application 143 is required.
Sensor 153 can be associated with computer system 101 through I/O interface 157. The sensors 153 are used to detect the environment surrounding the computer system 101. For example, the sensor 153 may detect an animal, a car, an obstacle, a crosswalk, and the like, and further, the sensor may detect an environment around the animal, the car, the obstacle, the crosswalk, and the like, such as: the environment surrounding the animal, e.g., other animals present around the animal, weather conditions, brightness of the surrounding environment, etc. Alternatively, if computer system 101 is located on an autonomous automobile, the sensor may be a camera, infrared sensor, chemical detector, microphone, or the like.
In one example, computer system 112 in FIG. 2 can be computer system 101 in FIG. 3. The processor 113 of fig. 2 may be the processor 103 of fig. 3, and the storage 114 of fig. 2 may be the system memory 135 or the media disk 121 of fig. 3.
In another example, the software architecture of the operating system 137 in FIG. 3 may be the autonomous vehicle software architecture shown in FIG. 1.
In the following, some of the terms and techniques referred to in the examples of the present application are briefly described:
1) AUTOSAR system
The AUTOSAR system is an open, standardized software architecture system developed for the automotive industry. The bottom layer in the software architecture system may implement data transmission through a Data Distribution Service (DDS), which is not limited to this. The AUTOSAR system 20 (which is an AUTOSAR-based or assisted autopilot system) shown in fig. 4 may include an application module 201 and a communication module 202. The application module 201 may correspond to the application layer 101a in fig. 1, including an application program. The communication module 202 may correspond to the framework layer 102a in fig. 1, and is mainly used for transmitting data between different applications in the application module 201.
The communication module 202 may include a communication mode layer 301, a bonding layer (DDS binding layer)302, and a DDS 303.
The communication mode layer 301 may provide the following message communication modes: event (event) mode, method (method) mode, and parameter (field) mode. Different messaging modes have different message formats. The event mode is a message communication mode for message direct sending. In this mode, application 1 sends a message to application 2, and application 2 receives the message. The method mode is a Remote Procedure Call (RPC) message communication mode. In this mode, application 1 sends a message to application 2 requesting a service; the application 2 replies to the application 1 with a response message according to the message. The parameter mode is a message communication mode that requests to acquire a value of a parameter or requests to change a value of a parameter. In this mode, an application 1 that needs to obtain a parameter or change the value of a parameter sends a message to an application 2. The application 2 sends the requested values of the parameters to the application 1 according to the message; or changes the value of the parameter according to the message and transmits the changed value of the parameter to the application 1. The messaging mode is visible to the user, and their implementation is via DDS 303.
The communication mode layer 301 calls an interface of the DDS303 through the bonding layer 302.
The DDS303 is a distributed, highly reliable, highly real-time messaging middleware. The DDS303 emphasizes that data is centered and the topic (topic) is an identifier that uniquely identifies certain data. Messages of a particular topic have a certain data type, which is defined by the basic types char, byte, int, etc. Illustratively, the topic may be "TEXT," and the data type of the message of the topic is char. The DDS303 provides a message interface for defining a message format and a data type of a transmitted and received message, and the message interface provided by the DDS303 includes a write (write) interface, a read (read) interface, and the like.
The communication mode of the DDS303 is a publish-subscribe model, which divides the system into several logically independent domains (domains), each containing several entities (entities) that perform data publishing, subscribing and other interactive tasks. The entities include: domain participant (domain participant), publisher (publisher), subscriber (subscriber), topic, data writer (data writer), and data reader (data reader). These entities all have several QoS corresponding to them.
A domain is a scope concept, which is uniquely identified by a domain number (domain ID), and usually, entities in the same domain can communicate with each other, and there is generally no logical relationship between entities in different domains.
The domain participants serve as a portal to the DDS303 for creating a theme, registering data types. Managing entities such as publishers, subscribers, etc.
The publisher is responsible for managing (e.g., creating, deleting) the data writers. The publisher can declare the type and subject of data produced by the publisher when the publisher is registered as the publisher of the data in the DDS, and describe registration declaration information such as QoS provided. The subscriber is responsible for managing (e.g., creating, deleting) the data reader. When a subscriber registers the data declared as a subscriber in the DDS, the subscriber can declare the required registration declaration information, such as data type, topic, and QoS.
The data writer is responsible for generating data using a write function (e.g., write ()). The data reader is responsible for reading the data. It should be noted that the 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 first embodiment below; alternatively, a publisher data reader (pb-datareader) in the AUTOSAR system, a subscriber data writer (sb-datawriter) in the proxy device; alternatively, a subscriber data reader (sb-datareader) in the proxy device, a publisher data writer (pb-datawriter) in the AUTOSAR system. And, a type of data reader and data writer (such as the second data reader and the second data writer in the first embodiment below) for data transmission between applications is also included in the DDS 303.
The relationship of the domain participants, publishers, subscribers, data writers, and data readers may be as shown in FIG. 5. In FIG. 5, a domain participant 401 can create multiple publishers 402 and/or subscribers 403, a publisher 402 can create multiple data writers 404 (e.g., data writer 404-1 and data writer 404-2 in FIG. 5), and a subscriber 403 can create multiple data readers 405 (e.g., data reader 405-1 and data reader 405-2 in FIG. 5). If a data writer or data reader is created by a publisher or subscriber, the data writer or data reader is associated with the domain participant that created the publisher or subscriber.
Each data writer and data reader may be bound to a topic. The subject matter between the data writers and the data readers communicating with each other is the same. When the messaging mode is an event mode, the topic includes an identifier of the event. When the message communication mode is a method mode, the topic includes a method identifier. When the messaging mode is a parameter mode, the topic includes a parameter identifier.
QoS is a set of configurable parameters with which the quality of service of the DDS303 message traffic can be guaranteed.
In one implementation, the QoS requirements of the data writer are compatible with the QoS requirements of the data reader. The value of the QoS of the data writer defines the quality of service provided by the data writer; the value of the QoS of the data reader defines the quality of service required by the data reader. The QoS of the data writer is compatible with the QoS of the data reader, meaning that the quality of service provided by the data writer must meet the quality of service required by the data reader.
In one possible implementation, the QoS compatibility of the data writer and the data reader is: 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 DEADLINE QoS of the data writer is compatible with the DEADLINE QoS of the data reader, meaning that the duration of the DEADLINE QoS of the data writer is less than the duration of the DEADLINE QoS of the data reader. As another example, when the reliability QoS of the data writer is compatible with the reliability QoS of the data reader, the reliability QoS of the data writer is reliable or best effort (best-effort) when the reliability QoS of the data reader is best-effort. When the reliability QoS of the data reader is reliable, the reliability QoS of the data writer must be reliable.
DDS303 may establish a data link for the same subject and QoS compatible data writer and data reader.
Fig. 6 shows a publish-subscribe model of a DDS applicable to the embodiment of the present application. In FIG. 6, publisher 402 has created two data writers (e.g., data writer 404-1 and data writer 404-2 in FIG. 6), and subscriber 403 has created two data readers (e.g., data reader 405-1 and data reader 405-2 in FIG. 6). If data writer 404-1 and data reader 405-1 have the same subject 1 and compatible QoS and data writer 404-2 and data reader 405-2 have the same subject 1 and compatible QoS in fig. 6, DDS may establish a data link between data writer 404-1 and data reader 405-1 and a data link between data writer 404-2 and data reader 405-2.
When the DDS is used to implement the underlying data transmission of the AUTOSAR system, the relationship between the domains, the domain participants, and the application programs of the application module 201 is shown in fig. 7. In fig. 7, an application 601A, an application 601B, an application 601C, and an application 601D are included in the application module 201. The process of an application corresponds to one or more domain participants. Domain participant 1 and domain participant 2 in fig. 7 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). Data readers and data writers who are the same domain participants belonging to one domain can establish a data link with QoS according to the topic.
2)、ROS
ROS provide services similar to computer systems, including hardware abstraction descriptions, underlying driver management, execution of shared functions, inter-program messaging, program distribution package management, and the like. Tools and libraries are provided for acquiring, building, authoring, and executing multi-machine converged programs. It should be noted that, the embodiment of the present application does not limit the version of the ROS, for example, the ROS may be ROS1.0 or ROS 2.0. Hereinafter, ROS1.0 is used as an example for the description.
ROS70 (which is an ROS-based autonomous or assisted autonomous system) as shown in fig. 8 may comprise an application module 701 and a communication module 702. The application module 701 may correspond to the application layer 101a in fig. 1, including an application program. The communication module 702 may correspond to the framework layer 102a in fig. 1, and is used for transmitting data between different applications in the application module 701.
The communication module 702 may include a communication mode layer 7020 and a ros _ comm 7021.
The communication mode layer 7020 may provide the following message communication modes: a topic mode, a service/request (service/client) mode, and a parameter (ros parameter service) mode. Different messaging modes have different message formats. The theme mode is a message communication mode in which a message is directly sent, in which the application 1 sends a message to the application 2, and the application 2 receives the message. The service/request mode is a message communication mode of the RPC, in which the application 1 sends a message requesting a service to the application 2; the application 2 replies to the application 1 with a response message according to the message. The parameter mode is a message communication mode that requests to acquire a value of a parameter or requests to change a value of a parameter. In this mode, the application 1, which needs to acquire a parameter or change the value of a certain parameter, sends a message to the parameter server. The parameter server sends the value of the requested parameter to the application 1 requesting to obtain the parameter according to the message. Or, the value of the parameter is changed according to the message, and the changed value of the parameter is transmitted to the application 1. The messaging mode is logic visible to the user, and their implementation is via ros comm 7021.
ros comm7021 is a kind of middleware that can provide message delivery. The message interfaces provided by ROS _ comm7021 include a publish interface and a subscribe interface, which are used to define the message format of the ROS, and the like.
The communications mode of ros comm7021 is also a publish-subscribe model. The publish-subscribe model comprises a main node, nodes and a parameter server. A node may be an executable file that is used to communicate with other nodes.
Nodes can publish messages of a topic to become publishers and can subscribe messages of a topic to become subscribers.
And the publisher is responsible for sending data by using the publishing interface.
And the subscriber is responsible for receiving the data by utilizing the subscription interface.
The master node manages the nodes for finding each other for publishers and subscribers.
A parameter server is a multivariate, shared dictionary that is accessible through a network API. The parameter server may be viewed as a node that uses the parameter server at runtime to store, retrieve, or modify the value of a parameter.
Topics are topics agreed upon when publishers and subscribers communicate with each other, and each publisher and subscriber may be bound to one topic. The topic between the publisher and the subscriber communicating with each other is the same. When the messaging schema is the topic schema, the topic comprises a topic. When the message communication mode is a method mode, the topic includes a method identifier. When the messaging mode is a parameter mode, the topic includes a parameter identifier.
ros comm7021 may establish data links with subscribers for publishers and subscribers that have the same topic.
Fig. 9 shows a publish-subscribe model of ros _ comm, which is applicable to the embodiments of the present application. In FIG. 9, the publisher 801 is the same topic as the subscriber 802. ros comm establishes a data link with the subscriber 802 for the publisher 801 with the same topic.
3) Serialization and deserialization
Serialization: refers to the process of converting an object into a sequential form that can be transmitted.
Deserialization: the process of recovering a transmittable sequence into an object is called deserialization of the object.
4) Object of
An object in this application refers to an actor who sends or receives a message. In the AUTOSAR system, objects may include data writers and data readers. In the ROS, objects may include publishers and subscribers.
5) Instance identifier
In the DDS in the embodiment of the present application, an instance identifier is introduced to distinguish processes of different applications on the same topic, so as to distinguish processes of different applications on the same topic. Illustratively, the AUTOSAR system includes two sensors, and the theme is two application processes that "acquire sensor data", where an instance identifier of one application process is 1 and an instance identifier of the other application process is 2. An application process with instance identifier 1 is used to obtain data for sensor 1 and an application process with instance identifier 2 is used to obtain data for sensor 2.
6) Method identifier, parameter identifier, service/request identifier
The method identifier is used to indicate the program called by the application process in the AUTOSAR system.
The service/request identifier is used to indicate the service or request requested by the application process in the ROS.
The parameter identifier in the AUTOSAR system is used to indicate parameters set or obtained by an application process in the AUTOSAR system. The parameter identifier in the ROS is used for indicating the parameter set or acquired by the application program process in the ROS.
7) Other terms
In the embodiments of the present application, words such as "exemplary" or "for example" are used to mean serving as an example, instance, or illustration. Any embodiment or design described herein as "exemplary" or "e.g.," is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word "exemplary" or "such as" is intended to present concepts related in a concrete fashion.
In the embodiments of the present application, "at least one" means one or more. "plurality" means two or more.
In the embodiment of the present application, "and/or" is only one kind of association relationship describing an association object, and indicates that three relationships may exist, for example, a and/or B may indicate: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the character "/" herein generally indicates that the former and latter related objects are in an "or" relationship.
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The application proposes to combine the AUTOSAR system with the ROS to take advantage of both to create a solution for an autonomous system or an auxiliary autonomous system. However, since the software architectures of the AUTOSAR system and the ROS are different, the rules followed when the object for sending the message matches the object for receiving the message are not consistent, the receiving and sending interfaces are different, and the message formats of the two are not consistent, the two messages need to be merged into a single message.
As an example, as shown in fig. 10, the interworking between the AUTOSAR system and the ROS can be considered as: the event patterns in the AUTOSAR system are intercommunicated with the topic patterns in the ROS; the method mode in the AUTOSAR system interworks with the service/request mode in the ROS; the parameter patterns in the AUTOSAR system interwork with the parameter patterns in the ROS.
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 the ROS are two completely different communication middleware, and the matching and data transmission mechanisms of the object sending the message and the object receiving the message are different as described above, they are naturally incompatible, so that the solution of their compatibility is the core of the solution of the interworking between the ROS and the AUTOSARs. The following compatibility problems are specifically involved:
problem 1, how the objects of the sent message match the objects of the received message for two different software architectures.
Problem 2, how to successfully send and receive messages is different between the two publishing and subscribing models and between the two sending and receiving interfaces.
Problem 3, the message types are not consistent, and there is a difference in serialization.
Problem 4, the AUTOSAR system includes a message filtering function and functions for guaranteeing reliability and real-time performance of message transmission through QoS, and how to let the ROS sense these functions.
The embodiment of the application provides the following technical scheme:
in the first scheme, the intercommunication scheme of the AUTOSAR system and the ROS is realized based on the proxy mode.
The method comprises the steps that intercommunication between the AUTOSAR system and the ROS is achieved based on an agent mode, an intermediate agent device is used as a medium for communication between the AUTOSAR system and the ROS, the intermediate agent device is communicated with the AUTOSAR system and the ROS respectively, and then the intermediate agent device is used as a translator and is responsible for message analysis, message conversion and running logic compatibility, and therefore communication between the AUTOSAR system and the ROS is achieved. In this manner, the AUTOSAR system and ROS may not need to be changed.
Fig. 11 is a schematic diagram of a system architecture for implementing an interworking scheme between an automotive system and an ROS based on a proxy mode according to an embodiment of the present application. In FIG. 11, the AUTOSAR system 91 is coupled to the proxy device 92, and the proxy device 92 is coupled to the ROS 93.
As an example, the agent device 92 includes a submodule 920 for implementing the communication between the event mode in the AUTOSAR system 91 and the topic mode in the ROS 93; a further submodule 921 is used to implement the communication between the method mode in the AUTOSAR system 91 and the service/request mode in the ROS 93; a further submodule 922 is provided for enabling communication between the parameter patterns in the AUTOSAR system 91 and the parameter patterns in the ROS 93. Each sub-module includes an object to send and/or receive messages.
Each sub-module in the proxy device 92 may receive the message transmitted by the communication module 911 in the AUTOSAR system 91, convert the message into a message format that can be recognized by the communication module 931 in the ROS93, and then transmit the format-converted message to the communication module 931 in the ROS 93. It may also receive the message sent by the communication module 931 in the ROS93, and convert the message into a message format that can be recognized by the communication module 911 in the AUTOSAR system 91; the format-converted message is sent to the communication module 911 in the AUTOSAR system 91.
For an application of the application module 910 in the AUTOSAR system 91, the proxy device 92 is an application in another AUTOSAR system 91 at its peer end. The communication of the objects follows the communication logic of the DDS at the bottom layer, namely the communication logic, the read-write interface and the message type of the DDS are called, the message filtering is realized, and the QoS is used for guaranteeing the reliability and the real-time property of the message transmission, so that the matching and the message transmission of the objects at two sides are realized. To solve the above problem 4. Similarly, for the application of the application module 930 in the ROS93, the proxy device 92 is the application of another ROS 93. Their communication follows the communication logic of ros _ comm at the bottom layer, namely, the communication logic of ros _ comm is called, and the publishing interface, the subscribing interface and the message type are realized, so that the matching and the message transmission of the objects at two sides are realized, and the problems 1 and 2 are solved.
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, which will act as the actual translator. It resolves the data on one side and converts it into a pattern that can be recognized on the other side, and finally forwards the data using the communication logic on the other side to solve the above problem 3.
It should be noted that, a plurality of the proxy apparatuses, the AUTOSAR system, or the ROS in the system architecture for implementing the interworking scheme between the AUTOSAR system and the ROS based on the proxy mode may be integrated into one device, or may be independent from each other. This is not limited by the present application.
And a second scheme is that the intercommunication scheme of the AUTOSAR system and the ROS is realized based on a direct mode.
The intercommunication between the AUTOSAR system and the ROS is realized based on a direct mode, so that the AUTOSAR system and the ROS have the same bottom layer basic communication module. In the following, a DDS basic communication module is introduced to the ROS bottom layer without changing the AUTOSAR system, and the communication with the AUTOSAR bottom layer is performed in a peer-to-peer manner. A DDS basic communication module is introduced to the bottom layer of the ROS to solve the above problem 1, and a DDS brooker layer (DDS brooker layer) is added to the middle of the ROS. Wherein the DDS bonding layer is used to achieve:
the ROS communication mode layer calls the interface of DDS to send and receive messages, so as to solve the above problem 2.
Conversion of the ROS application module message format to the automotive system application module message format, or vice versa, to solve the above problem 3.
Communication logic implementation of AUTOSAR, such as message filtering, reception or transmission of QoS control messages, etc., to solve the above problem 4.
It should be noted that the intercommunication between the AUTOSAR system and the ROS is realized based on the direct mode, so that the AUTOSAR system and the ROS have the same bottom-layer basic communication module. The AUTOSAR system is unchanged, if the ROS version is ROS2.0, the bottom layer in ROS2.0 already contains the DDS base communication module, so only the logic that is not present in ROS2.0 in the DDS bonding layer needs to be added to the ROS2.0 middleware (RMW). Among other things, the middleware layer in ROS2.0 may implement the functions implemented by ROS — comm in ROS1.0 described above. And will not be described in detail.
Fig. 12 is a schematic diagram of a system architecture for implementing an interworking scheme between an AUTOSAR system and an ROS based on a direct mode in the present application. In which the AUTOSAR system 10 is connected to the ROS 11.
The AUTOSAR system 10 includes an application module 101 and a communication module 102. The application module 101 includes an application program (e.g., control and execution). The communication module 102 includes a communication mode layer 1021, a bonding layer 1022, and a DDS 1023. The communication module 102 includes an object for sending and/or receiving a message, and a transceiving interface of an application program, and is used for transmission of underlying data.
The ROS11 includes an application module 111 and a communication module 112. The application modules 111 include applications (e.g., sensing, computing, fusion, etc.). The communication module 112 includes a DDS1123, a bonding layer 1122, and a communication mode layer 1121. The DDS1123 includes objects for sending and/or receiving messages, and a transceiving interface of an application program, which are used for transmission of underlying data.
The communication module 102 of the AUTOSAR system 10 is connected to the DDS1123 of the communication module 112 of the ROS11 via the DDS 1023.
The binding layer 1122 is used to convert the messages of multiple message communication modes received by the DDS1123 in the AUTOSAR system 10 into messages of multiple communication modes recognizable by the application module 111 in the ROS 11. The binding layer 1122 includes a sub-module for converting a message of an event pattern that can be recognized by the application module 101 of the AUTOSAR system 10 into a message of a topic pattern that can be recognized by the application module 111 in the ROS11, a further sub-module for converting a message of a method pattern that can be recognized by the application module 101 in the AUTOSAR system 10 into a message of a service/request pattern that can be recognized by the application module 111 in the ROS11, and a further sub-module for converting a message of a parameter pattern that can be recognized by the application module 101 of the AUTOSAR system 10 into a message of a parameter pattern that can be recognized by the application module 111 in the ROS 11.
The following describes, in detail, the implementation of the interworking between the AUTOSAR system and the ROS based on the proxy mode in conjunction with the embodiments. The intercommunication between the AUTOSAR system and the ROS based on the agent mode comprises the following steps: an initialization phase, a service discovery phase, and a messaging phase. In the following, these stages are explained separately:
initialization phase
After the application process in the AUTOSAR system and the application process in the ROS are created, the communication module in the AUTOSAR system comprises a domain participant, a publisher, a subscriber, a data writer and/or a data reader of the application process. The communication module in the ROS includes the publisher and/or subscriber of its application process.
When the message communication mode of the process of the application program in the AUTOSAR system comprises the event mode, after the initialization of the first proxy module is completed, the first proxy module comprises a domain participant, a publisher, a subscriber, a data writer and/or a data reader which are the same as the communication module topic and the instance identifier in the AUTOSAR system and are compatible with QoS.
When the message communication mode of the process of the application program in the AUTOSAR system comprises the method mode, after the initialization of the first proxy module is completed, the first proxy module comprises a domain participant, a publisher, a subscriber, a data writer and/or a data reader which are the same as the method identifier and the instance identifier of the communication module in the AUTOSAR system and are compatible with QoS.
When the message communication mode of the process of the application program in the AUTOSAR system comprises the parameter mode, after the initialization of the first proxy module is completed, the first proxy module comprises a domain participant, a publisher, a subscriber, a data writer and/or a data reader which are the same as the method identifier, the parameter identifier and the instance identifier of the communication module in the AUTOSAR system and are compatible with QoS.
When the message communication mode of the process of the application program in the ROS comprises the topic mode, after the initialization of the second agent module is completed, the second agent module comprises a publisher and/or a subscriber with the same topic as the topic of the communication module in the ROS.
When the message communication mode of the process of the application program in the ROS includes the service/request mode, the second proxy module includes the same publisher and/or subscriber as the communication module service/request identifier in the ROS after the initialization of the second proxy module is completed.
When the message communication mode of the process of the application program in the ROS includes the parameter mode, the second proxy module includes the same publisher and/or subscriber as the communication module service/request identifier and the parameter identifier in the ROS after the initialization of the second proxy module is completed.
The embodiments of the present application do not limit the manner of obtaining the information, such as the topic, the instance identifier, the QoS, the method identifier, the service/request identifier, the parameter identifier in the AUTOSAR system, and the parameter identifier in the ROS in the proxy device, for example, the proxy device may obtain the information by obtaining a configuration file, or the proxy device receives the information sent by the AUTOSAR system and/or the ROS.
The embodiment of the application does not limit the triggering condition for initializing the automatic driving system or the auxiliary automatic driving system, for example, after the automatic driving system or the auxiliary automatic driving system is powered on, the initialization is completed. Alternatively, the automatic driving system or the auxiliary automatic driving system receives an instruction from the user and completes initialization according to the instruction from the user.
Service discovery phase
The service discovery phase includes a service discovery process of the automotive system and the proxy device in the first embodiment; and the service discovery process of the agent device and the ROS in the second embodiment.
Example one
Fig. 13 is a schematic flowchart of a service discovery method for an automotive system and a proxy device according to an embodiment of the present application. Illustratively, the present embodiment may be applied to the system architecture shown in fig. 11. The method shown in fig. 13 may include the steps of:
s100: the AUTOSAR system sends the first data to the proxy device.
Specifically, a first data writer in the AUTOSAR system sends first data entitled participant data (participant data) to a first data reader in the proxy device. The first data includes information such as an identifier of the first domain participant, a network address, a QoS adopted, an instance identifier, etc. The first data writer is a data writer preset in the automotive system for service discovery of the domain participant, and the first data reader is a data reader preset in the proxy device for service discovery of the domain participant. The first domain participant is any created domain participant in the AUTOSAR system.
S101: the proxy device determines whether the QoS in the first data is compatible with the QoS of the domain participant that has been created in the proxy device. If not, ending; if yes, go to S102.
S102: the proxy device adds the first data to a local information base.
S103: the proxy device sends second data to the AUTOSAR system, the second data including information such as an identifier of the second domain participant, a network address, a QoS employed, an instance identifier, etc. The second domain participant is one that the proxy device has created, and the QoS of the second domain participant is compatible with the QoS of the first domain participant.
S104: the AUTOSAR system adds the second data to the local repository.
At this point, the AUTOSAR system and the proxy device exchange DDS domain participant information with each other and record the DDS domain participant information in the local information base, and the domain participant automatic discovery process is finished.
Alternatively, the second data is sent by the proxy device to the AUTOSAR system, which determines whether the QoS in the second data is compatible with the QoS of the domain participant created in the AUTOSAR system. And if the first data is compatible with the second data, storing the second data in a local information base, and sending the first data to the proxy device, wherein the proxy device stores the first data in the local information base. The embodiment of the application does not limit the order of finding the other party by the AUTOSAR and the proxy device.
S105: the AUTOSAR system sends the second data writer's description information (labeled as first description information) to the proxy device. Wherein the second data writer is any one of the data writers in the AUTOSAR system except the first data writer. The first description information includes information such as the subject of data written by the second data writer, QoS adopted, and an instance identifier.
Specifically, a publisher data writer in the AUTOSAR system sends first description information to a subscriber data reader in the proxy device.
S106: the proxy device obtains a second data reader matching the second data writer. Wherein the second data reader is any one of the data readers in the proxy device that matches the second data writer.
S107: and the agent device adds the matching relation between the second data writer and the second data reader to the local information base, namely, a data link between the second data writer and the second data reader is established.
Optionally, when the QoS of the second data writer changes or the second data writer is deleted, the AUTOSAR system may send a message to the proxy device for the proxy device to update the matching relationship in the local information base in real time.
Alternatively, the proxy device may send the description of the data reader to the AUTOSAR system, and the AUTOSAR system adds the matching relationship between the data reader and the data writer to the local repository if it queries a data writer matching the second data reader. 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 matching with the data writer/data reader, so that the domain participant matching with the data writer/data reader can update the local information base in real time.
S100 to S107 are the matching process 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 to this, and is not described again.
The AUTOSAR system and proxy device service discovery process in S100 to S107 may be other methods in the prior art, and the application is not limited thereto.
Example two
Fig. 14 is a schematic flowchart of a proxy apparatus and an ROS service discovery method according to an embodiment of the present application. Illustratively, the present embodiment may be applied to the system architecture shown in fig. 11. The method shown in fig. 14 may include the steps of:
s200: a first publisher in the proxy device transmits first publisher information to a master node in the ROS. The first publisher information includes a topic of a message published by the first publisher.
Wherein the first publisher is any one of the publishers in the broker apparatus. The master node in the ROS is the process of the application in the ROS. Optionally, the first publisher information may further include at least one of a message format, an address or a port of a message published by the first publisher information.
S201: the master node in the ROS stores the first publisher information to a local repository.
S202: a master node in the ROS acquires a first subscriber that matches a first publisher. The first subscriber is any subscriber in the ROS that has the same topic as the first publisher information includes.
Specifically, a main node in the ROS firstly acquires subscriber information of any local subscriber; secondly, whether the topic of the message subscribed in the subscriber information is the same as the topic in the first publisher information or not is judged. And if so, the ROS master node takes the subscriber as a first subscriber and acquires the information of the first subscriber. The first subscriber information includes a topic of a message to which the first subscriber subscribes. Optionally, the first subscriber information further includes a message format, an address, a port, and the like of the message subscribed by the first subscriber. If not, the ROS master node acquires the subscriber information of another subscriber in the master node, and judges whether the topic of the message subscribed in the subscriber information is the same as the topic in the first publisher information. And repeating the steps until all the subscribers in the ROS main node are traversed.
S203: a master node in the ROS sends a first publisher information to a first subscriber in the ROS.
S204: a first subscriber in the ROS stores the first publisher information in a local repository.
S205: a first subscriber in the ROS sends first subscriber information to a first publisher in the proxy device.
S206: a first publisher in the broker device stores first subscriber information in a local information store.
S207: a first publisher in the proxy device sends a response message to a first subscriber in the ROS.
To this end, the first publisher in the broker establishes a publish-subscribe relationship with the first subscriber in the ROS.
The ROS master node may perform S203-S207 with a subscriber in the ROS master node having the same topic of the message subscribed in all subscriber information as the topic in the first publisher information as the first subscriber. Each publisher in the agent device can find out the matched subscriber through the method, and store the information of the matched subscriber to the local information base.
Alternatively, the publisher in the ROS may send publisher information to the master node in the ROS and the subscriber in the proxy device sends subscriber information to the master node in the ROS to complete service discovery between the subscriber in the proxy device and the publisher in the ROS. The service discovery of the agent and the ROS can also be implemented by using the prior art, which is not limited in the embodiments of the present application.
After the service discovery between the AUTOSAR system and the proxy device is completed, a data link is established between the data writer and the data reader, and at this time, the AUTOSAR system and the proxy device can perform message communication of service data. After the service discovery between the agent device and the ROS is completed, a publish-subscribe relationship is established between the publisher and the subscriber, and at the moment, the message communication of the business data can be carried out between the agent device and the ROS.
It should be noted that the above-mentioned ROS master node is a process of an application, and may be in the proxy apparatus or in the ROS. The embodiment of the present application does not limit this.
The above is a service discovery process of the publisher and the subscriber in the ROS1.0, there is no ROS master node in the ROS2.0, the publisher in the ROS2.0 sends publisher information to the subscriber, the subscriber judges whether the received publisher information matches with its own topic, if so, the publisher information is stored in the local information base; and sends the subscriber information to the publisher. The publisher stores the matched subscriber information to the local information base. So far, the publisher and the subscriber establish a publish-subscribe relationship. Alternatively, a subscriber in the ROS may send subscriber information to a publisher, and the publisher determines whether the received subscriber information matches with its own topic, and if so, stores the subscriber information in a local information base; and sends the publisher information to the subscriber. The subscriber stores the matched publisher information to the local information base so as to complete the service discovery of the subscriber and the publisher.
Message communication phase
EXAMPLE III
As shown in fig. 15, a flowchart of a method for enabling an AUTOSAR system to send a message to an ROS through a proxy device in a method for implementing communication between the AUTOSAR system and the ROS based on a proxy mode according to an embodiment of the present application is shown. Illustratively, the present embodiment may be applied to the system architecture shown in fig. 11. The method shown in fig. 15 may include the steps of:
s300: the AUTOSAR system generates message 1. Specifically, the application module in the AUTOSAR system generates the message 1. The format of the message 1 is a format that can be recognized by the application module of the AUTOSAR system.
When message 1 is an event mode message, message 1 may include an event, an instance identifier, message content, and the like. Where the event is the subject for finding the message recipient and the instance identifier indicates the progress of the application that generated message 1. The message content is the specific information sent.
When the message 1 is a method or parameter mode message, the message 1 may include a first message identifier, an instance identifier, and the like. The first message identifier comprises a method identifier and/or a parameter identifier. Illustratively, the first message identifier includes: a method identifier indicating a SET method, a parameter identifier indicating a certain parameter, etc. Wherein the method identifier and/or the parameter identifier is a topic for finding the message recipient. The instance identifier indicates the process of the application that generated message 1.
S301: the AUTOSAR system serializes message 1 into message 2 using a first serialization function. Serialization is the conversion of a message into a form that can be transmitted. The format of the message 2 is a format that can be recognized by the communication module of the AUTOSAR system.
Specifically, an application module in the AUTOSAR system calls a write interface of the DDS to send a message 1 to the DDS of the communication module. The communication module serializes message 1 into message 2 using a first serialization function.
S302: the AUTOSAR system sends message 2 to the proxy device.
Specifically, the first object of the DDS of the communication module in the AUTOSAR system sends message 2 through the write interface. When the first object is a message 1 passes through the DDS, the DDS is a data writer distributed by the message 1.
When the message 1 is a message of an event mode, the subject of the first object is the same as the event in the message 1, and the instance identifier of the first object is the same as the instance identifier in the message 1.
When the message 1 is a message of a method or parameter mode, the subject of the first object is the same as the method identifier and/or parameter identifier in the message 1, and the instance identifier of the first object is the same as the instance identifier in the message 1.
S303: the proxy device deserializes message 2 into message 3 using a first serialization function. The format of the message 3 is a format that can be recognized by an application module in the AUTOSAR system. Among them, the deserialization is a process opposite to the serialization.
S304: the proxy device filters the message 3 according to the instance identifier in the message 3.
Specifically, the proxy device assigns message 3 to a second object, where the second object is a 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. Thereby enabling the proxy device to filter messages that differ from the instance identifier of the second object.
S305: the proxy means convert the message 3 into a message 4, wherein the format of the message 4 is a format that can be recognized by the application module of the ROS. Specifically, the method comprises the following steps:
the second object in the proxy device reads message 3 through the DDS read interface. Then, the following steps are performed:
when the first message identifier in the message 3 includes the method identifier, the proxy apparatus acquires the service/request identifier corresponding to the method identifier in the first message identifier, based on the correspondence relationship of the pre-stored "method identifier in the AUTOSAR system and service/request identifier in the ROS". Included in message 4 is a second message identifier, which includes a service/request identifier in the ROS.
For example, the correspondence between the method identifier in the AUTOSAR system and the service/request identifier in the ROS is shown in table 1:
TABLE 1
Method identifier in AUTOSAR system Service/request identifier in ROS
110 2210
120 2220
130 2230
140 2240
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.
It is understood that the method identifier and the service request identifier in table 1 are only an example, and in actual use, the method identifier may be a name of a method, and the service request identifier may be a name of a service/request.
When the first message identifier in the message 3 includes the parameter identifier, the proxy apparatus acquires the parameter identifier corresponding to the parameter identifier in the first message identifier, based on the correspondence relationship between the "parameter identifier in the AUTOSAR system and the parameter identifier in the ROS". The message 4 generated by the proxy device converting the format of the message 3 includes the second message identifier. The second message identifier includes a parameter identifier in the ROS.
For example, the correspondence between the parameter identifier in the AUTOSAR system and the parameter identifier in the ROS is shown in table 2:
TABLE 2
Parameter identifier in AUTOSAR system Parameter identifiers in ROS
AUTOSAR system parameter identifier 1 ROS parameter identifier 1
AUTOSAR system parameter identifier 2 ROS parameter identifier 2
Based on the examples in table 1 and table 2, if the method identifier in the first message identifier is 130, which indicates the set method, then the service/request identifier in the corresponding 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.
S306: the proxy device serializes message 4 into message 5 using a second serialization function. The format of message 5 is a format that can be recognized by the communication module of the ROS.
It should be noted that, in an actual implementation process, S305 and S306 may be integrated into one step, or may be separated into separate steps, which is not limited in this application.
S307: the proxy device sends a message 5 to the ROS. In particular, the second object in the proxy device sends a message 5 to the third object in the proxy device. The third object sends a message 5 to the ROS using the ROS issuing interface. The third object is a publisher in the proxy device.
When the message 5 is a message of the topic mode, the topic of the message published by the third object is the same as the topic of the message 5.
When the message 5 is a service/request or parameter mode message, the third object publishes a message with the same subject as the service/request identifier or parameter identifier in the message 5.
S308: the ROS deserializes message 5 into message 6 using a second serialization function, the format of message 6 being a format that can be recognized by the ROS's application module.
S309: the ROS assigns message 6 to a fourth object, which reads message 6 from the ROS's subscription interface. Wherein the fourth object is a subscriber in the ROS that matches the third object.
It should be noted that when the message 6 does not include the second message identifier, the ROS performs S309, and performs an action (such as modifying a configuration in the ROS) or does not act according to the message 6, and then ends. When message 6 includes the second message identifier, the ROS performs S309 and then 310.
S310: the ROS provides the service/request indicated by the service/request identifier in the second message identifier in message 6.
Illustratively, 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. The ROS sets the value of parameter 1 according to the indication of the service/request identifier.
S311: the ROS acquires the result 1 of the execution of the service/request indicated by the service/request identifier in the second message identifier.
Based on the example in S310, the execution result 1 includes: the ROS sets the value of parameter 1 to Y.
So far, S300-S309 realize that the AUTOSAR system sends messages to the ROS through the proxy device.
In this embodiment, when the AUTOSAR system sends a message to the ROS through the proxy device, the proxy device may filter the message according to the instance identifier, and convert the message into a format that can be recognized by the ROS, thereby implementing message communication between the AUTOSAR system and the ROS in multiple modes (including an event/topic mode, a method/service request mode, a parameter mode, and the like). Meanwhile, the service selection in the AUTOSAR system can be considered, and the reliability and the real-time performance of message transmission can be guaranteed by using the QoS.
Subsequently, the ROS may send the execution result 1 to the AUTOSAR system through the proxy device. Specifically, reference may be made to the method in the fourth embodiment below, in which the ROS sends a message to the AUTOSAR system through the proxy device.
Example four
As shown in fig. 16, a schematic flow chart of a method for enabling an ROS to send a message to an AUTOSAR system through a proxy device in a method for implementing communication between the AUTOSAR system and the ROS based on a proxy mode according to an embodiment of the present application is shown. Illustratively, the present embodiment may be applied to the system architecture shown in fig. 11. The method shown in fig. 16 may include the steps of:
s400: the ROS generates message 7. Specifically, the application module in the ROS generates a message 7. The format of message 7 is a format that can be recognized by the application module of the ROS.
When the message 7 is a message of the topic mode, the message 7 may include a topic, message content, and the like. Wherein the topic is used to find the subscriber. The message content is the specific information sent.
When the message 7 is a message of a service/request mode or a parameter mode, the message 7 may include a first message identifier. The first message identifier comprises a service/request identifier and/or a parameter identifier. Illustratively, the first message identifier includes: a service/request identifier indicating a SET request, a parameter identifier indicating a certain parameter, etc. Wherein the service/request identifier and/or the parameter identifier is a topic for finding a subscriber.
S401: the ROS sequences message 7 into message 8 using a second serialization function. Where serialization is the conversion of messages into a form that can be transmitted. The format of message 7 is a format that can be recognized by the communication module of the ROS.
Specifically, the application module in the ROS calls the issue interface of the communication module to send a message 7 to the ROS _ comm of the communication module. Ros comm of the communication module serializes message 7 into message 8 using a second serialization function.
S402: the ROS sends a message 8 to the proxy.
In particular, the fifth object of the DDS of the communication module in the ROS sends a message 8 to the proxy means using the publishing interface. Wherein the fifth object is a publisher whose topic of the published message is the same as the topic of message 8.
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 ROS application module. Among them, the deserialization is a process opposite to the serialization.
S404: the proxy means assigns the message 9 to a sixth object, which reads the message 9 from the subscription interface of the ROS, the sixth object being a subscriber matching the fifth object.
S405: the proxy device converts the message 9 into a message 10. The format of the message 10 is a format that can be recognized by the application module of the AUTOSAR system.
When the message 9 includes the parameter identifier in the ROS, the agent device obtains the parameter identifier in the AUTOSAR system corresponding to the parameter identifier in the ROS according to the correspondence between the parameter identifier in the AUTOSAR system and the parameter identifier in the ROS. The message 10 into which the proxy device converts the message 9 includes the acquired parameter identifier in the AUTOSAR system.
When the message 9 includes the service/request identifier in the ROS, the agent device obtains the method identifier in the AUTOSAR system corresponding to the service/request identifier in the ROS, according to the correspondence between the method identifier in the AUTOSAR system and the service/request identifier in the ROS. The message 10 into which the proxy device converts the message 9 includes the acquired method identifier in the AUTOSAR system.
S406: the sixth object in the proxy sends a message 10 to the seventh object. Wherein the seventh object is a data writer and the subject of the written data is the same as the subject of the message 10.
S407: the proxy device adds the configured instance identifier to message 10 resulting in message 11. Wherein the instance identifier indicates the process of the application that generated the message 7.
It should be noted that S407 is optional, and when the message 10 includes the configured instance identifier, S407 is not executed.
S408: the proxy device serializes message 11 into message 12 using a first serialization function.
S409: the proxy device sends a message 12 to the AUTOSAR system.
Specifically, the seventh object in the proxy device sends a message 12 to the AUTOSAR system through the DDS write interface.
Subsequently, the AUTOSAR system deserializes the message 12 with the first serialization function to obtain the message 13 and assigns the message 13 to an eighth object, which 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 in a message format that can be recognized by the automotive system application module.
In this embodiment, when the ROS system sends a message to the AUTOSAR system through the proxy device, the proxy device may convert the message into a format that the AUTOSAR system can recognize, and add an instance identifier to the message sent to the AUTOSAR system, thereby implementing message communication in multiple modes (including an event/topic mode, a method/service request mode, a parameter mode, and the like) between the ROS and the AUTOSAR system. Similarly, the service selection in the AUTOSAR system can be considered, and the reliability and the real-time performance of the message transmission can be guaranteed by using the QoS.
The following describes, in detail, the implementation of the interworking between the AUTOSAR system and the ROS based on the direct mode in conjunction with the embodiments. The intercommunication of the AUTOSAR system and the ROS based on the direct mode also comprises the following steps: an initialization phase, a service discovery phase, and a messaging phase.
Initialization phase
After the application process in the AUTOSAR system and the application process in the ROS are created, the communication module in the AUTOSAR system comprises a domain participant, a publisher, a subscriber, a data writer and/or a data reader of the application process. The communication module in the ROS includes the publisher and/or subscriber of its application process.
When the message communication mode of the process of the application program in the AUTOSAR system comprises the event mode, after the initialization of the ROS underlying data distribution service is completed, the ROS underlying data distribution service comprises domain participants, publishers, subscribers, data writers and/or data readers which are identical to the identifiers of the communication module topic and the instance in the AUTOSAR system and are compatible with QoS.
When the message communication mode of the process of the application program in the AUTOSAR system comprises the method mode, after the initialization of the ROS underlying data distribution service is completed, the ROS underlying data distribution service comprises domain participants, publishers, subscribers, data writers and/or data readers which are identical to the method identifiers and the instance identifiers of the communication modules in the AUTOSAR system and are compatible with QoS.
When the message communication mode of the process of the application program in the AUTOSAR system comprises the parameter mode, after the initialization of the ROS underlying data distribution service is completed, the ROS underlying data distribution service comprises domain participants, publishers, subscribers, data writers and/or data readers which are identical to the parameter identifiers and the instance identifiers of the communication modules in the AUTOSAR system and are compatible with QoS.
The embodiment of the application does not limit the obtaining mode of the instance identifier in the ROS communication module conversion layer, for example, the ROS communication module conversion layer may obtain the instance identifier by obtaining the configuration file, or the ROS communication module conversion layer receives the instance identifier sent by the AUTOSAR system and/or the ROS application module.
The embodiment of the application does not limit the triggering condition for initializing the automatic driving system or the auxiliary automatic driving system, for example, after the automatic driving system or the auxiliary automatic driving system is powered on, the initialization is completed. Alternatively, the automatic driving system or the auxiliary automatic driving system receives an instruction from the user and completes initialization according to the instruction from the user.
Service discovery phase
EXAMPLE five
The service discovery process of the data writer in the AUTOSAR system and the data reader in the ROS may refer to the service discovery process of the data writer in the AUTOSAR system and the data reader in the proxy device in S100 to S108 in the first embodiment, and may also refer to other methods in the prior art, which is not limited in this application. And will not be described in detail.
After the service discovery of the AUTOSAR system and the ROS is completed, a data link is established between the data writer and the data reader, and at the moment, the AUTOSAR system and the ROS can carry out message communication of the business data.
Message communication phase
Specifically, in the sixth embodiment, the message communication method flow in the interworking between the AUTOSAR system and the ROS is implemented based on the direct mode.
EXAMPLE six
Fig. 17 is a schematic flow chart illustrating a method for implementing messaging between an automotive system and an ROS based on a pass-through mode according to an embodiment of the present application. The present embodiment can be applied to the system architecture shown in fig. 12. The method shown in fig. 17 may include the steps of:
s500 to S502: reference may be made to the above S300 to S302, but of course is not limited thereto.
S503: the ROS deserializes message 2 into message 3 using the first serialization function. The format of the message 3 is a format that can be recognized by an application module in the AUTOSAR system.
S504: the ROS filters message 3 according to the instance identifier in message 3.
Specifically, the ROS assigns message 3 to a second object, where the second object is a data reader in the ROS communication module bottom layer DDS that matches the first object. The instance identifier of the second object is the same as the instance identifier in message 3. Thereby enabling the ROS to filter messages that differ from the instance identifier of the second object.
S505: the ROS converts message 3 to message 4. The format of message 4 is a format that can be recognized by the ROS application.
Specifically, referring to S305 in the third embodiment, the execution subject "agent" in S305 is replaced with "conversion layer of ROS communication module".
When the message 4 does not include the second message identifier, S505 is performed, and the translation layer of the ROS communication module transmits the message 4 to the application module of the ROS. And then ends. When the message 4 includes the second message identifier, S505 is executed, and S506 is executed.
S506: the ROS provides the service/request indicated in the second message identifier in message 4, according to that identifier.
Specifically, after the translation layer of the ROS communication module sends the message 4 to the application module of the ROS, the application module of the ROS provides the service/request indicated by the identifier according to the service/request identifier in the message 4.
Illustratively, if the service/request identifier included in the second message identifier indicates a get request, the ROS parameter identifier included in the second message identifier indicates parameter 1. The ROS obtains the value of parameter 1 according to the indication of the service/request.
S507: the ROS obtains the execution result 1 of the service/request provided by the ROS. The format of the execution result 1 is a format that can be recognized by the ROS application module. Subsequently, the ROS may send an execution result 1 to the AUTOSAR system.
Based on the example in S506, the execution result 1 includes: the value of parameter 1 obtained by ROS is Y.
S500-S505 realize that the AUTOSAR system sends messages to the ROS.
In this embodiment, when the AUTOSAR system sends a message to the ROS, the DDS and the conversion layer added to the ROS can filter the message in the AUTOSAR system and convert the message into a format that the ROS can recognize, thereby implementing message communication between the AUTOSAR system and the ROS in multiple modes (including an event/theme mode, a method/service request mode, a parameter mode, and the like). Meanwhile, the service selection in the AUTOSAR system can be considered, and the reliability and the real-time performance of message transmission can be guaranteed by using the QoS.
EXAMPLE seven
As shown in fig. 18, a schematic flow chart of another method for implementing messaging between an automotive system and an ROS based on a pass-through mode according to the embodiment of the present application is provided. Illustratively, the present embodiment may be applied to the system architecture shown in fig. 12. The method shown in fig. 18 may include the steps of:
s600: the ROS generates message 5. The format of message 5 is a format that can be recognized by the application module of the ROS.
Specifically, the explanation of the message 5 refers to S400 in the fourth embodiment, which is not described again.
S601: the ROS converts message 5 to message 6. The format of the message 6 is a format that can be recognized by the AUTOSAR system application module.
In particular, the ROS application sends a message 5 to the translation layer of the communication module. The method for converting message 5 into message 6 in the ROS communication module refers to S405 in the fourth embodiment, and is not described herein again.
S602: the ROS adds the configured instance identifier to message 6, resulting in message 7. Wherein the instance identifier indicates the process of the application that generated the message 5.
It should be noted that S602 is optional, and when the message 6 includes the configured instance identifier, S602 need not be executed.
S603: the ROS sequences message 7 into message 8 using a first serialization function. The format of the message 8 is a format that can be recognized by the automotive system communication module.
S604: the ROS sends a message 8 to the AUTOSAR system.
Specifically, the first object in the ROS calls the write interface of the DDS to send a message 8 to the AUTOSAR system. The first object is any one of the data writers in the ROS and the subject of the data writer writing the data is the same as the subject in message 8, with the same instance identifier.
S605: the AUTOSAR system deserializes message 8 into message 9 using a first serialization function. The format of the message 9 is a format that can be recognized by the AUTOSAR system application.
S606: the AUTOSAR system performs message filtering on the message 9 based on the instance identifier in the message 9. In particular, 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. Thereby enabling the ROS to filter messages that differ from the instance identifier of the second object.
Subsequently, the communication module of the AUTOSAR system sends the message 9 to the application process indicated by the instance identifier in the message 9 of the application module of the AUTOSAR system. The application process takes the corresponding action according to message 9. For example: and the application program process in the AUTOSAR system receives the message 9, wherein the value of the parameter 1 in the AUTOSAR system is Y, the parameter 1 in the AUTOSAR system indicates whether to turn on the fog lamp, and the AUTOSAR system turns on the fog lamp according to the value of the parameter Y.
When the message 9 does not include the method identifier, the execution is finished S606 and then ends. When the message 9 includes the method identifier, the execution is completed S606, the AUTOSAR system acquires the execution result, and the AUTOSAR system transmits the execution result to the ROS. The specific process refers to the steps in S500 to S505 in the fifth embodiment, and details are not repeated.
In this embodiment, when the ROS sends a message to the AUTOSAR system, the DDS and the conversion layer added to the ROS system may convert a message format that can be recognized by the communication mode layer of the ROS communication module into a message format that can be recognized by the communication mode layer of the AUTOSAR system communication module, add an instance identifier and convert the added instance identifier into a format that can be transmitted by the DDS of the AUTOSAR system, thereby implementing message communication between the AUTOSAR system and the ROS in multiple modes (including an event/theme mode, a method/service request mode, a parameter mode, and the like). Meanwhile, the service selection in the AUTOSAR system can be considered, and the reliability and the real-time performance of message transmission can be guaranteed by using the QoS.
The scheme provided by the embodiment of the application is mainly introduced from the perspective of a method. To implement the above functions, it includes hardware structures and/or software modules for performing the respective functions. Those of skill in the art will readily appreciate that the present application is capable of hardware or a combination of hardware and computer software implementing the exemplary method steps described in connection with the embodiments disclosed herein. Whether a function is performed as hardware or computer software drives hardware depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiment of the present application, the proxy device may be divided into the functional modules according to the method example, for example, each functional module may be divided corresponding to each function, or two or more functions may be integrated into one processing module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. It should be noted that, in the embodiment of the present application, the division of the module is schematic, and is only one logic function division, and there may be another division manner in actual implementation.
Fig. 19 is a schematic structural diagram of a proxy apparatus according to an embodiment of the present application. The proxy device 50 may be configured to perform the functions performed by the proxy device in any of the above embodiments (such as the embodiments shown in fig. 13-16). The agent device 50 is applied to an automated driving system or a assisted automated driving system, which further includes: a first computer system and a second computer system. The proxy device 50 may include: a first agent module 501 and a second agent module 502. The first agent module 501 is used to receive a first message sent by a first computer system. Wherein the format of the first message is a format recognizable by the first computer system, the first message is converted into the second message, and the format of the second message is a format recognizable by the second computer system. A second agent module 502 for sending a second message to the second computer system. For example, in conjunction with fig. 13, the first agent 501 may be configured to perform the receiving steps in S100 and S105, the transmitting steps in S101 to S102 and S103, and S106 to S107. The second agent module 502 may be configured to perform the transmitting step in S200, S207, the receiving step in S205, and S206 in conjunction with fig. 14. The first agent 501 may be configured to perform the receiving steps S302, S303 to S304, in conjunction with fig. 15. The second agent module 502 may be configured to perform the sending steps in S305 to S306, S307. The second agent module 502 may be configured to perform the receiving steps of S402, S403-S404, in conjunction with fig. 16. The first agent 501 may be configured to perform the sending steps in S405 to S408, S409.
Optionally, the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS. Alternatively, the first computer system includes the ROS and the second computer system includes the AUTOSAR system.
Optionally, the first computer system comprises a first object that sends a message having a subject identical to the subject of a message received by a second object comprised by the proxy device 50. The first object is a sender of a message sent in the first computer system and the second object is a recipient of a message received in the proxy device 50. The messages sent by the first object include a first message. The proxy device 50 includes a third object that sends messages having the same subject as 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 recipient of the message in the second computer system. The message sent by the third object comprises the second message.
Optionally, the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, and the first agent module 501 is in the same message format as the communication module of the AUTOSAR system. The second proxy module 502 is the same message format as supported by the communication module of the ROS. Alternatively, the first computer system comprises the ROS and the second computer system comprises the AUTOSAR system, the first agent module 501 being in the same message format as supported by the communication module of the ROS. The second proxy module 502 is the same message format as supported by the communication module of the AUTOSAR system.
Optionally, the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, the QoS used by the first object being compatible with the QoS used by the second object.
Optionally, the first message is a remote procedure call RPC mode message or a parameter mode message, and the first message includes the first message identifier. The first message identifier comprises a method identifier and/or a parameter identifier. The first agent module 501 is further configured to determine a second message identifier corresponding to the first identifier according to a correspondence relationship between the message identifier that can be recognized by the first computer system and the message identifier that can be recognized by the second computer system. The second message comprises a second message identifier comprising a method identifier and/or a parameter identifier.
Optionally, the first agent module 501 includes a first read interface and a first write interface, where 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. The first agent module 501 is specifically configured to: a first message sent by a first computer system write interface is received by a first read interface.
Optionally, the second agent 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 agent module 502 is specifically configured to: the second message is sent to the read interface of the second computer system using the second write interface.
Optionally, the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS. The first agent module 501 is further configured to filter the first message. The first agent module 501 is specifically configured to convert the filtered first message into a second message.
Optionally, the first computer system includes the ROS, the second computer system includes the AUTOSAR system, and the second message does not include the 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 the fourth object.
In one example, referring to fig. 3, the first agent module 501 and the second agent module 502 may each be implemented by the processor 103 in fig. 3 calling a computer program stored in the system memory 135.
In one example, referring to fig. 2, the first agent module 501 and the second agent module 502 described above may each be implemented by the processor 113 in fig. 2 calling a computer program stored in the memory 114.
For the detailed description of the above alternative modes, reference is made to the foregoing method embodiments, which are not described herein again. In addition, for any explanation and beneficial effect description of the proxy apparatus 50 provided above, reference may be made to the corresponding method embodiment described above, and details are not repeated.
It should be noted that the actions performed by the modules are only specific examples, and the actions actually performed by the units refer to the actions or steps mentioned in the description of the embodiment based on fig. 13 to 16.
Fig. 20 is a schematic structural diagram of a computer system according to an embodiment of the present invention, where the computer system 90 may be used to perform the functions performed by the ROS in any of the embodiments (fig. 17 or fig. 18). The computer system 90 is applied to an automatic driving system or an auxiliary automatic driving system, which 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 converts the first message into the second message. The format of the second message is a format that the second application module 901 can recognize, and the second message is transmitted to the second application module 901. A second application module 901, configured to receive a second message. Or, the second application module 901 is configured to send the first message to the second communication module 902. A second communication module 902 for converting the first message into a second message. The format of the second message is a format recognizable by the first computer system and the second message is sent to the first computer system. For example, in conjunction with fig. 17, the second communication module 902 may be configured to: executing the receiving step in S502, S503 to S505, the second application module 901 may be configured to: s506 to S507 are executed. In conjunction with fig. 18, the second application module 901 may be configured to perform S600 to S602. The second communication module 902 may be configured to: the transmission steps in S603, S604 are performed.
Optionally, the first computer system comprises an automotive open systems architecture automotive system, AUTOSAR, system, and the computer system 90 comprises a robotic computer system ROS. Alternatively, the first computer system includes the ROS, and the computer system 90 includes the AUTOSAR system.
Optionally, the first object included in the first computer system sends a message with the same subject as the message received by the second object included in the computer system 90. The first object comprised by the first computer system receives the same subject matter as the message sent by the second object comprised by the computer system 90. The first object is the sender of the message sent in the first computer system and the second object is the recipient of the message received in computer system 90. The messages sent by the first object comprise a first message; alternatively, the message received by the first object comprises the second message.
Optionally, the first computer system and the second communication module 902 support the same message format.
Optionally, the first computer system comprises an AUTOSAR system and the computer system 90 comprises an ROS, the QoS used by the first object being compatible with the QoS used by the second object.
Optionally, the first message is a remote procedure call RPC mode message or a parameter mode message, and the first message includes the first message identifier. The first message identifier comprises 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 a correspondence between the message identifier that can be recognized by the first computer system and the message identifier that can be recognized by the computer system 90. The second communication module 902 is specifically 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.
Optionally, the first computer system comprises an AUTOSAR system and the computer system 90 comprises an ROS. The second communication module 902 is further configured to filter the first message. The second communication module 902 is specifically configured to convert the filtered first message into a second message.
Optionally, the first computer system comprises the ROS and the computer system 90 comprises the AUTOSAR system. The second message does not include an instance identifier; the second communication module 902 is further configured to add the instance identifier to the second message. The second communication module 902 is specifically configured to send the second message to which the instance identifier is added to the second application module 901. Wherein the instance identifier is used by the AUTOSAR system to determine the second object.
In one example, referring to fig. 3, the second application module 901 and the second communication module 902 may be implemented by the processor 103 in fig. 3 calling a computer program stored in the system memory 135.
In one example, referring to fig. 2, the second application module 901 and the second communication module 902 may be implemented by the processor 113 in fig. 2 calling a computer program stored in the memory 114.
For the detailed description of the above alternative modes, reference is made to the foregoing method embodiments, which are not described herein again. In addition, for any explanation and beneficial effect description of the computer system 90 provided above, reference may be made to the corresponding method embodiments described above, and details are not repeated.
It should be noted that the actions performed by the modules are only specific examples, and the actions actually performed by the units refer to the actions or steps mentioned in the description of the embodiment based on fig. 17 to 18.
An apparatus (e.g., a computer device or a chip) is also provided in an embodiment of the present application, including: a memory and a processor; the memory is for storing a computer program, and the processor is for invoking the computer program to perform the actions or steps mentioned in any of the embodiments provided above.
Embodiments of the present application also provide a computer-readable storage medium, which stores a computer program, and when the computer program runs on a computer, the computer program causes the computer to execute the actions or steps mentioned in any of the embodiments provided above.
The embodiment of the application also provides a chip. Integrated in the chip are the circuitry and one or more interfaces for implementing the functions of the means for the positioning problem described above. Optionally, the functions supported by the chip may include processing actions in the embodiments described based on fig. 13 to fig. 18, which are not described herein again. Those skilled in the art will appreciate that all or part of the steps for implementing the above embodiments may be implemented by a program instructing the associated hardware to perform the steps. The program may be stored in a computer-readable storage medium. The above-mentioned storage medium may be a read-only memory, a random access memory, or the like. The processing unit or processor may be a central processing unit, a general purpose processor, an Application Specific Integrated Circuit (ASIC), a microprocessor (DSP), a Field Programmable Gate Array (FPGA) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof.
The embodiments of the present application also provide a computer program product containing instructions, which when executed on a computer, cause the computer to execute any one of the methods in the above embodiments. The computer program product includes one or more computer instructions. The procedures or functions described in accordance with the embodiments of the present application are all or partially generated upon loading and execution of computer program instructions on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). Computer-readable storage media can be any available media that can be accessed by a computer or can comprise one or more data storage devices, such as servers, data centers, and the like, that can be integrated with the media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It should be noted that the above devices for storing computer instructions or computer programs provided in the embodiments of the present application, such as, but not limited to, the above memories, computer readable storage media, communication chips, and the like, are all nonvolatile (non-volatile).
Other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from a review of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the word "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
Although the present application has been described in conjunction with specific features and embodiments thereof, various modifications and combinations can be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and figures are merely exemplary of the present application as defined in the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of the present application.

Claims (34)

1. A message communication method applied to an automatic driving system or a secondary automatic driving system, the automatic driving system or the secondary automatic driving system comprising: a first computer system, a second computer system, and a proxy device, the method comprising:
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;
the proxy device converting the first message into a second message; the format of the second message is a format recognizable by the second computer system;
the proxy device sends the second message to the second computer system.
2. The method of claim 1,
the first computer system comprises an automobile open system architecture (AUTOSAR) system, and the second computer system comprises a Robot Operating System (ROS);
alternatively, the first computer system includes the ROS and the second computer system includes the AUTOSAR system.
3. The method according to claim 1 or 2, characterized in that the first message is a remote procedure call, RPC, mode message or a parameter mode message, the first message comprising a first message identifier, the first message identifier comprising a method identifier and/or a parameter identifier;
the method further comprises the following steps:
and determining a second message identifier corresponding to the first message identifier according to the corresponding relation between the message identifier which can be identified by the first computer system and the message identifier which can be identified by the second computer system, wherein the second message comprises the second message identifier, and the second message identifier comprises a method identifier and/or a parameter identifier.
4. A method according to any of claims 1-3, wherein the first computer system comprises a first object that sends a message having the same subject as a second object that the proxy device comprises receives; the first object is a sender in the first computer system sending a message and the second object is a recipient in the proxy device receiving a message; the message sent by the first object comprises the first message;
the topic of the message sent by the third object included in the agent device is the same as the topic of the message received by the fourth object included in the second computer system; the third object is a sender of a message in the proxy device and the fourth object is a recipient of a message in the second computer system; the message sent by the third object comprises the second message.
5. The method of claim 4, wherein the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, the method further comprising:
the agent device filters the first message;
the proxy device converting the first message into a second message, comprising:
and the proxy device converts the filtered first message into a second message.
6. The method of claim 4, wherein the first computer system includes the ROS, the second computer system includes an AUTOSAR system, and the second message does not include an instance identifier, the method further comprising:
the proxy device adds an instance identifier to the second message, wherein the instance identifier is used by the AUTOSAR system to determine the fourth object.
7. The method according to any one of claims 4 to 6,
the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, the quality of service used by the first object is compatible with the quality of service used by the second object;
alternatively, when the first computer system comprises an ROS and the second computer system comprises an AUTOSAR, the quality of service used by the third object is compatible with the quality of service used by the fourth object.
8. An agent device, for use in an autonomous driving system or a secondary autonomous driving system, the autonomous driving system or secondary autonomous driving system further comprising: a first computer system and a second computer system; the agent device includes:
the first agent module is used for receiving a first message sent by the first computer system; wherein a format of the first message is a format recognizable by the first computer system; converting the first message into a second message, the second message being in a format recognizable by the second computer system;
a second agent module to send the second message to the second computer system.
9. The proxy device of claim 8,
the first computer system comprises an automobile open system architecture (AUTOSAR) system, and the second computer system comprises a Robot Operating System (ROS);
alternatively, the first computer system includes the ROS and the second computer system includes the AUTOSAR system.
10. The proxy device according to claim 8 or 9, characterized in that the first message is a remote procedure call, RPC, mode message or a parameter mode message, the first message comprising a first message identifier; the first message identifier comprises a method identifier and/or a parameter identifier;
the first agent module is further used for determining a second message identifier corresponding to the first identifier according to the corresponding relation between the message identifiers which can be identified by the first computer system and the message identifiers which can be identified by the second computer system;
the second message comprises the second message identifier, which comprises a method identifier and/or a parameter identifier.
11. The proxy device of any of claims 8-10, wherein the first proxy module comprises a first read interface and a first write interface; the first read interface is the same as a read interface of the first computer system, and the first write interface is the same as a write interface of the first computer system;
the first agent module is specifically configured to: and receiving the first message sent by the first computer system writing interface by utilizing the first reading interface.
12. The proxy device of any of claims 8-11, wherein the second proxy module comprises 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 agent module is specifically configured to: sending the second message to a read interface of the second computer system using the second write interface.
13. The proxy device according to any of claims 8-12,
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 a sender in the first computer system sending a message and the second object is a recipient in the proxy device receiving a message; the message sent by the first object comprises the first message; the topic of the message sent by the third object included in the agent device is the same as the topic of the message received by the fourth object included in the second computer system; the third object is a sender of a message in the proxy device and the fourth object is a recipient of a message in the second computer system; the message sent by the third object comprises the second message.
14. The proxy device of claim 13,
the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, and the first agent module and a communication module of the AUTOSAR system support the same message format; the second proxy module is the same as a message format supported by the communication module of the ROS;
or, the first computer system comprises an ROS, and the second computer system comprises an AUTOSAR system, the first agent module and the ROS communication module support the same message format; the second agent module is the same as a message format supported by the communication module of the AUTOSAR system.
15. The proxy device of claim 13 or 14, wherein the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, and wherein the quality of service used by the first object is compatible with the quality of service used by the second object.
16. The proxy device of any one of claims 13-15, wherein the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS;
the first agent module is further configured to filter the first message;
the first agent module is specifically configured to convert the filtered first message into a second message.
17. The proxy device of any of claims 13-15, wherein the first computer system comprises the ROS, the second computer system comprises the AUTOSAR system, and the second message does not comprise an instance identifier,
the first agent module is specifically configured to add an instance identifier to the second message, where the instance identifier is used by the AUTOSAR system to determine the fourth object.
18. A message communication method applied to an automatic driving system or a secondary automatic driving system, the automatic driving system or the secondary automatic driving system comprising: a first computer system and a second computer system, the method comprising:
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;
the second computer system converting the first message into a second message; the format of the second message is a format recognizable by the second computer system.
19. The method of claim 18,
the first computer system comprises an automobile open system architecture (AUTOSAR) system, and the second computer system comprises a Robot Operating System (ROS);
alternatively, the first computer system includes the ROS and the second computer system includes the AUTOSAR system.
20. The method according to claim 18 or 19, characterized in that the first message is a remote procedure call, RPC, mode message or a parameter mode message, the first message comprising a first message identifier, the first message identifier comprising a method identifier and/or a parameter identifier; the method further comprises the following steps:
the second computer system determines a second message identifier corresponding to the first message identifier according to the corresponding relation between the message identifiers which can be identified by the first computer system and the message identifiers which can be identified by the second computer system;
the second message comprises the second message identifier, which comprises a method identifier and/or a parameter identifier.
21. The method of any one of claims 18-20,
the subject of the message sent by the first object included by the first computer system is the same as the subject of the message received by the second object included by the second computer system; the subject of the message received by the first object included in the first computer system is the same as the subject of the message sent by the second object included in the second computer system; the first object is a sender of a message sent in the first computer system and the second object is a recipient of a message received in the second computer system; the message sent by the first object comprises the first message; alternatively, the message sent by the second object comprises the second message.
22. The method of any of claims 18-21, wherein the first computer system comprises an AUTOSAR system and the second computer system comprises an ROS, the method further comprising:
the second computer system filtering the first message;
the second computer system converting the first message into a second message, comprising:
the second computer system converts the filtered first message into a second message.
23. The method of claim 21, wherein the first computer system comprises an ROS, the second computer system comprises an AUTOSAR system, and the first message does not comprise an instance identifier, wherein the method further comprises:
the second computer system adds the instance identifier to the second message, wherein the instance identifier is used by the AUTOSAR system to determine the second object.
24. The method of claim 23, wherein the first computer system comprises an AUTOSAR system, wherein the second computer system comprises an ROS, and wherein the quality of service used by the first object is compatible with the quality of service used by the second object.
25. A computer system for use in an autonomous or assisted autonomous system, said autonomous or assisted autonomous system further comprising: a first computer system; the computer system includes: the second application module and the second communication module:
the second communication module is used for receiving 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 converting the first message into a second message; the format of the second message is a format recognizable by the second application module; sending the second message to the second application module;
the second application module is used for receiving the second message;
or,
the second application module is used for sending a first message to the second communication module;
the second communication module is used for converting the first message into a second message; the format of the second message is a format recognizable by the first computer system; and sending the second message to the first computer system.
26. The computer system of claim 25,
the first computer system comprises an automobile open system architecture (AUTOSAR) system, and the computer system comprises a robot computer system (ROS);
alternatively, the first computer system includes the ROS, and the computer system includes the AUTOSAR system.
27. The computer system of claim 25 or 26,
the first computer system and the second communication module support the same message format.
28. The computer system of any one of claims 25-27, wherein the first message is a Remote Procedure Call (RPC) mode message or a parameter mode message, the first message including a first message identifier; the first message identifier comprises a method identifier and/or a parameter identifier;
the second communication module is further configured to determine, according to a correspondence between a message identifier that can be recognized by the first computer system and a message identifier that can be recognized by the computer system, a second message identifier corresponding to the first identifier;
the second communication module is specifically configured to convert the first message into a second message, where the second message includes the second message identifier, and the second message identifier includes a method identifier and/or a parameter identifier.
29. The computer system of any one of claims 25-28,
the subject of the message sent by the first object included by the first computer system is the same as the subject of the message received by the second object included by the computer system; the subject of the message received by the first object included by the first computer system is the same as the subject of the message sent by the second object included by the computer system; the first object is a sender of a message sent in the first computer system and the second object is a recipient of a message received in the computer system; the message sent by the first object comprises the first message; alternatively, the message received by the first object comprises the second message.
30. The computer system of claim 29, wherein the first computer system comprises an AUTOSAR system and the computer system comprises an ROS, and wherein the quality of service used by the first object is compatible with the quality of service used by the second object.
31. The computer system of claim 29 or 30, wherein the first computer system comprises an AUTOSAR system, the computer system comprising an ROS;
the second communication module is further configured to filter the first message;
the second communication module is specifically configured to convert the filtered first message into the second message.
32. The computer system of claim 29 or 30, wherein the first computer system comprises an ROS, the computer system comprising an AUTOSAR system; the second message does not include an instance identifier;
the second communication module is further to add the instance identifier to the second message;
the second communication module is specifically configured to send the second message to which the instance identifier is added to the second application module, where the instance identifier is used by the AUTOSAR system to determine the second object.
33. A message communication device, comprising: a memory for storing a computer program and a processor for executing the computer program to perform the method of any one of claims 1-7 or 18-24.
34. A computer-readable storage medium, having stored thereon a computer program which, when run on a computer, causes the computer to perform the method of any of claims 1-7 or 18-24.
CN202010060807.XA 2020-01-19 2020-01-19 Message communication method, computer system and proxy device Active CN113138864B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010060807.XA CN113138864B (en) 2020-01-19 2020-01-19 Message communication method, computer system and proxy device
PCT/CN2020/116862 WO2021143190A1 (en) 2020-01-19 2020-09-22 Message communication method, computer system and agent device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010060807.XA CN113138864B (en) 2020-01-19 2020-01-19 Message communication method, computer system and proxy device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202411038295.1A Division CN118860691A (en) 2020-01-19 Message communication method, computer system and proxy device

Publications (2)

Publication Number Publication Date
CN113138864A true CN113138864A (en) 2021-07-20
CN113138864B CN113138864B (en) 2024-07-30

Family

ID=76809637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010060807.XA Active CN113138864B (en) 2020-01-19 2020-01-19 Message communication method, computer system and proxy device

Country Status (2)

Country Link
CN (1) CN113138864B (en)
WO (1) WO2021143190A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113442856A (en) * 2021-08-31 2021-09-28 国汽智控(北京)科技有限公司 Control method and device based on adaptive platform and ROS2 and storage medium
CN113806109A (en) * 2021-09-15 2021-12-17 诚迈科技(南京)股份有限公司 Cabin system for realizing SOA (service oriented architecture) based on ROS2 and operation method thereof
CN114124611A (en) * 2021-11-08 2022-03-01 国汽智控(北京)科技有限公司 Vehicle data transmission method and device
CN114757149A (en) * 2022-03-07 2022-07-15 北京主线科技有限公司 Data dictionary processing method, device, medium and electronic equipment
CN114895987A (en) * 2022-07-08 2022-08-12 英诺达(成都)电子科技有限公司 Message processing method, device, equipment and computer storage medium
WO2024108608A1 (en) * 2022-11-26 2024-05-30 华为技术有限公司 Communication method and apparatus

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112882987A (en) * 2021-03-12 2021-06-01 北京小米移动软件有限公司 Multi-core communication method and device, electronic equipment and storage medium
GB2617345B (en) * 2022-04-04 2024-06-05 Aptiv Technoologies Ag Data transmission system, vehicle comprising the data transmission system, data transmission method and computer program
WO2024138413A1 (en) * 2022-12-28 2024-07-04 华为技术有限公司 Configuration method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0375950A (en) * 1989-08-18 1991-03-29 Fujitsu Ltd Data structure converting system for unfixed length message
CN101848236A (en) * 2010-05-06 2010-09-29 北京邮电大学 Real-time data distribution system with distributed network architecture and working method thereof
CN105429858A (en) * 2015-12-11 2016-03-23 中国人民解放军国防科学技术大学 Real-time message transmission method among multiple robots
CN105446338A (en) * 2015-12-21 2016-03-30 福州华鹰重工机械有限公司 Cloud-assisted automatic driving method and system thereof
KR20160110585A (en) * 2015-03-09 2016-09-22 충남대학교산학협력단 Method for Defining Quality of Things based on DDS in Internet of Things
CN110149402A (en) * 2018-05-23 2019-08-20 谷歌有限责任公司 Communication channel is provided between the example of automation assistant
CN110398953A (en) * 2018-04-25 2019-11-01 长沙智能驾驶研究院有限公司 Intelligent driving system, method and computer readable storage medium
US20190370420A1 (en) * 2018-06-01 2019-12-05 The Mathworks, Inc. Systems and methods for automatically realizing models for co-simulation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130103379A1 (en) * 2011-10-20 2013-04-25 Electronics And Elecommunications Research Institute Apparatus and method for verifying interoperability between application software and autosar service
KR20140101607A (en) * 2013-02-12 2014-08-20 삼성테크윈 주식회사 Apparatus and method for managing database in data distribution service

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0375950A (en) * 1989-08-18 1991-03-29 Fujitsu Ltd Data structure converting system for unfixed length message
CN101848236A (en) * 2010-05-06 2010-09-29 北京邮电大学 Real-time data distribution system with distributed network architecture and working method thereof
KR20160110585A (en) * 2015-03-09 2016-09-22 충남대학교산학협력단 Method for Defining Quality of Things based on DDS in Internet of Things
CN105429858A (en) * 2015-12-11 2016-03-23 中国人民解放军国防科学技术大学 Real-time message transmission method among multiple robots
CN105446338A (en) * 2015-12-21 2016-03-30 福州华鹰重工机械有限公司 Cloud-assisted automatic driving method and system thereof
CN110398953A (en) * 2018-04-25 2019-11-01 长沙智能驾驶研究院有限公司 Intelligent driving system, method and computer readable storage medium
CN110149402A (en) * 2018-05-23 2019-08-20 谷歌有限责任公司 Communication channel is provided between the example of automation assistant
US20190370420A1 (en) * 2018-06-01 2019-12-05 The Mathworks, Inc. Systems and methods for automatically realizing models for co-simulation

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113442856A (en) * 2021-08-31 2021-09-28 国汽智控(北京)科技有限公司 Control method and device based on adaptive platform and ROS2 and storage medium
CN113806109A (en) * 2021-09-15 2021-12-17 诚迈科技(南京)股份有限公司 Cabin system for realizing SOA (service oriented architecture) based on ROS2 and operation method thereof
CN114124611A (en) * 2021-11-08 2022-03-01 国汽智控(北京)科技有限公司 Vehicle data transmission method and device
CN114124611B (en) * 2021-11-08 2023-06-23 国汽智控(北京)科技有限公司 Vehicle data transmission method and device
CN114757149A (en) * 2022-03-07 2022-07-15 北京主线科技有限公司 Data dictionary processing method, device, medium and electronic equipment
CN114895987A (en) * 2022-07-08 2022-08-12 英诺达(成都)电子科技有限公司 Message processing method, device, equipment and computer storage medium
CN114895987B (en) * 2022-07-08 2022-09-30 英诺达(成都)电子科技有限公司 Message processing method, device, equipment and computer storage medium
WO2024108608A1 (en) * 2022-11-26 2024-05-30 华为技术有限公司 Communication method and apparatus

Also Published As

Publication number Publication date
WO2021143190A1 (en) 2021-07-22
CN113138864B (en) 2024-07-30

Similar Documents

Publication Publication Date Title
CN113138864B (en) Message communication method, computer system and proxy device
CN111123933B (en) Vehicle track planning method and device, intelligent driving area controller and intelligent vehicle
CN209842367U (en) Distributed domain controller system based on network architecture of automatic driving system
CN110517533A (en) A kind of autonomous parking method and system
WO2021212379A1 (en) Lane line detection method and apparatus
CN113479195A (en) Method for automatic valet parking and system for carrying out said method
WO2022000127A1 (en) Target tracking method and device therefor
CN115334110A (en) System architecture, communication method, vehicle, medium and chip for vehicle control
WO2022156309A1 (en) Trajectory prediction method and apparatus, and map
CN113859265B (en) Reminding method and device in driving process
US20200010080A1 (en) Managing vehicle to vehicle communication to facilitate operational safety via risk assessment
CN115878343A (en) Inter-process communication method and related device
CN115314526A (en) System architecture, transmission method, vehicle, medium and chip for self-parking position identification
US20240152380A1 (en) Service-oriented data architecture for a vehicle
WO2024026593A1 (en) Vehicle cooperative control method and related device
CN115297461B (en) Data interaction method and device, vehicle, readable storage medium and chip
WO2023024618A1 (en) Data processing method and related apparatus
WO2024045043A1 (en) Computing resource sharing method and apparatus, and terminal device
CN217435657U (en) Electrical system of automatic driving vehicle and automatic driving vehicle
CN118860691A (en) Message communication method, computer system and proxy device
CN115334109A (en) System architecture, transmission method, vehicle, medium and chip for traffic signal identification
Thapa et al. A survey of reference architectures for autonomous cars
WO2024108608A1 (en) Communication method and apparatus
Grzejszczyk Autonomous vehicles within the ITS systems
Konda Integration of vehicle interface to Autoware

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant