Huawei's intelligent driving MDC acquaintance computing platform

Huawei's intelligent driving MDC acquaintance computing platform

Foreword

World Smart driving under the World Challenge Intelligence Conference organizers recommend: "Huawei is the MDC-oriented computing platform .MDC autopilot in the field of research has since CPU and AI chips, car joint regulatory level AUTOSAR platform, promote the rapid development in the field of automatic pilot. "

Autoware code to see bloggers headache for a change, this blog do not speak technology project implementation details, talk about some of these macro concepts. In fact, look up is also very important, the key is the technical details, although the theory into practice, it has been hard dry technical details, the general direction of the deviation of the last and failed .

Here I will introduce smart drive computing platform Huawei MDC, following PPT blogger according to MDC intelligent driving course developers refer to the do, is to explain the word to sum up in accordance with instructional videos plus access to information around. The following is a comparison chart, or quite like ha ha (but bloggers are used to teaching, but also pointed out the sources of yo ~)

Here Insert Picture Description

background

Autopilot works car, is to perceive their surroundings through the camera, laser radar, millimeter-wave radar and ultrasonic sensors onboard, the acquired information basis for decision making, to develop appropriate strategies by the appropriate working model, such as forecasting vehicle and other vehicles, pedestrians and other sports state in the next period of time, and to avoid a collision path planning. After the planned route, we need to control the vehicle traveling along a desired trajectory. Autopilot comes to situational awareness sensor, high-precision map / GPS precise positioning, V2X communication of information, a variety of data fusion, the process of decision-making and planning arithmetic operations, electronic control and execution of the operation result, this process requires a strong " brain "to unify real-time analysis, processing vast amounts of data and complex logic operations, demand for computing power is very high . Is generally considered required computing power L2 <10TOPS (1TOPS behalf of the processor can be one trillion times per second (10 ^ 12) operation), L3 computing power required is 30 ~ 60TOPS, computing power required L4> 100TOPS, L5 current computing power required No clearly defined (with the predicted at least 1000TOPS), only meet current computing platform portion L3, L4 desired level autopilot.

L1 level: auxiliary driving
vehicles provide a drive for operating the steering wheel and ramp in the human driver is responsible for other driving maneuvers.
Level L2: automatic driving portion
of the vehicle steering wheel and ramp providing driving in several operations, the driver is responsible for other human driving maneuver.
L3 level: automatic driving conditions
of the vehicle driving operation most complete, the driver needs to concentrate human rainy day.
L4 stage: height autopilot
by the vehicle driver to complete all operations, the human driver does not need to concentrate, but defining roads and environmental conditions.
L5 level: fully automated driving
by the vehicle driver to complete all operations, the human driver does not need to concentrate, is not limited to roads and the environment.

In the future, every car will be mounted on a mobile data center (Mobile Data Center, MDC) on the wheel. For automatic driving demand computing platform, Huawei launched MDC solution where integrated by Huawei grinding Host CPU chip, the AI ​​chip, the ISP chip (an image processing chip), and by tuning the underlying hardware and software integration, in time synchronization, accurate sensor data processing, real-time multi-node communication, minimize background noise, low-power management, fast startup and other aspects of the industry-leading security.

Here Insert Picture Description

system structure

MDC intelligent driving overall computing platform consists of four parts: The first part is the hardware platform, the second part is the software platform, and the third part is the tool chain, the fourth part is the security platform, divided into functional and information security functional safety refers to the "automatic driving car after problems hardware, to avoid loss of control, to ensure safe parking" information security means "information security car network data transmission process." Different Solution Partner (is developed based on the hardware and low-level drivers and services on the perception of decision-making application module developers) can go to deploy different applications based on Huawei's MDC smart drive computing platform, to meet different application scenarios Claim.

And there are a few concepts with you in detail about:

  • The BIOS : we should have the impression, is the first software that loads when the computer starts up, it is a set of computer programs to cure within a ROM chip on the motherboard, the computer program holds the most important basic input output after boot and a self-test system from the startup procedure, specific information can be read from the system settings CMOS. Its main function is to provide the bottom, the most direct and control the hardware settings for the computer .
  • MCU (Microcontroller Unit; the MCU) : We usually called microcontrollers .
  • AUTOSAR : AUTOMOTIVE Open System Architecture for short, is the Chinese translation of automotive open system architecture.
    Now these companies as Huawei developed AUTOSAR standard autopilot is used, AUTOSAR will be automotive electronic control unit (ECU) software underlying made a standard package. So that we can share a set of low-level software, which only need to modify some of the parameters, it can match different hardware, of course, can match different application layer software (anti-theft tag: zhengkunxian). After so users only need to concentrate on the functional development can be responsible for the application layer, the bottom layer are handed AutoSAR engineers on the line. Popular concerned, its role is loosely coupled automatic electronic control unit (ECU) software drivers and vehicles , that is, no matter how they change the hardware, application-layer development is still calling those API, do not control hardware changes.
    AUTOSAR present, there are two versions, Adaptive AUTOSAR and Classic AUTOSAR . Classic
    AUTOSAR platform supports high security and high real-time scenarios, and therefore the depth of embedded software features to be deployed to run on the classic platform. Adaptive AUTOSAR platform is linked with the car network of development and developed (anti-theft tag: zhengkunxian), can support parallel processing of large data, so the need for high-performance computing applications running on Adaptive platform. It together, cooperate with classic AUTOSAR platform, complement each other, jointly supported by highly automated driving and vehicle networking functions related to development.
  • Toolchain : Toolchain is a set of tools for making software.
    For example, like we do homework, use ppt look at the subject, using matlab run the simulation, and the result is written in the report to use the word, so ppt, matlab, word constitutes a tool chain, title transfer from ppt to become matlab the code, and then output the results from matlab are you capture to become a word inside job submission, it is that these tools form a processing chain to complete homework tasks.

Here Insert Picture Description

Hardware platform

MDC smart drive computing platform includes two internal core chip, the first of which is a CPU processor, which is based on Huawei's self-development of the ARM processor, Kunpeng 920s, 12-core, 2.0GHz, 7nm process, maximum power consumption of 55W. Further a processor core chip is AI, grinding it from rising Huawei processor 310, based on Leonardo da Vinci AI architecture may be provided 16TOPS @ INT8 (eight integer precision (int8) performance processor reaches 16tops, 1TOPS the processor may be representative of one trillion times per second (10 ^ 12) operation) operator force, 12nm process, the maximum power consumption 8W.

MDC that is below the internal hardware logic chart, the left side is a sensor, MDC middle, the right is some other vehicle electronic control unit ECU and infotainment module.

A camera sensor, GPS, laser radar, millimeter wave radar, an ultrasonic radar. Through the camera interface access GMSL, compositions may be positioned by the ETH (Ethernet) access by UART (serial port) access, laser radar, millimeter wave radar, and an ultrasonic radar access via CAN.

MDC is divided into two modules 2 inside, the first calculating unit is, the second MCU module is secure.
Internal arithmetic unit comprises four modules: the CPU module, an image processing, the AI processing, data exchange .

  • Data exchange module is mainly responsible for the remaining data exchange individual modules
  • The image processing module can process raw data of the camera to YUV format or RGB format.
  • AI processing module is mainly used for calculating AI, mainly CNN calculation, the camera can do AI processing, laser radar or a camera and before fusion AI calculation, the memory is 64GB.
  • CPU module mainly provide integral calculation, the integration may be used after deployment, positioning, control, and other application software regulation algorithm, the memory is 16GB.
  • MDC's internal storage is 128GB solid state drive (SSD)

Then look to the right, wherein the HMI (Human Interface), read data from the FPD-LINK interface to computing platform MDC smart driving, look MDC camera surveying the incoming data may be formed by merging, treatment can be completed in a surveying by display output to the FPD-LINK HMI display to the occupant.

Followed by the ETH (Ethernet interfaces) is connected to the 4G network, car network system.

CAN interface can butt of some ECU chassis, including power steering and ECU.

Here Insert Picture Description

data transmission

Different sensors with different interfaces, depending on the hardware design, the sensor data transmission path is divided into three parts, the first is the interface CAN and UART (serial port), the sensor interfaces such millimeter-wave radar for example, the body chassis and GPS, is typically or access to the CAN serial MCU ,, then encapsulated by the MCU subsystem to SOME / IP message published to host subsystem (tamper evidence: zhengkunxian) service is deployed in the host subsystem, such decision programming, aware identification algorithms module. Host is the ARM (Advanced RISC Machine) architecture server-class CPU (Central Processing Unit) Kunpeng Kunpeng 920, with powerful computing capabilities. Communication between the nodes in the internal Host subsystem DDS.

Then look at the ETH (vehicle Ethernet interfaces, network interface is another way), Ethernet interfaces can be through the host subsystem, the Ethernet interface sensors currently used mainly laser radar, laser radar because a greater amount of data, and business applications you can obtain data directly to the bare laser radar, so do not encapsulated SOME / IP message distribution and then to read the data, directly on the line socket.

Finally GSML interfaces, mainly access the camera, the camera data is generally raw image data need to be processed after the ISP in order to use the autopilot algorithm. But also taking into account the need for the transmission of image data storage space occupied bandwidth is relatively large, in order to enhance the performance of the transmission delay is reduced, MDC is currently using DDS to publish this transmission business applications.

MDC (Mobile Data Center) can be used to send secondary chip apart Host (Kunpeng Kunpeng 920) and Mini (Ascend rising 310). Host is the ARM (Advanced RISC Machine) (anti-theft tag: zhengkunxian) architecture server-class CPU (Central Processing Unit), a powerful computing capabilities; Mini is Ascend architecture of the graphics processing chip, MDC has four Mini, are Mini0, Mini1, Mini2, Mini3. GPU acceleration functions required software (image processing node) should be deployed in the Mini, other nodes may be deployed on the Host.

Can know the following two flowchart of business applications, the host subsystem has the MDC-based AP (AUTOSAR Adaptive Platform) two way communication, and the DDS SOME / IP (Scalable Service-OrientedMiddleware over IP).

Here Insert Picture Description

Platform Software

This is a variety of supporting software development platform provides service MDC, in fact, this is very easy to understand, like buying a computer pre-installed windows operating system, windows operating system is to give your software services, at the windows above this we can develop other applications, such as we developed the QQ.

There are a few points to talk about:

  • Adaptive software services Some service interface for the upper autopilot application calls:
  • Car control OS (operating system) : Huawei self-developed micro-kernel operating system - the shadow OS, the shadow OS using Huawei obscurity operating system microkernel, Hong Meng microkernel is compatible with linux, which is developed under liux system autopilot business can be migrated directly to the MDC software platform for immediate execution.
  • Adaptive software components : Huawei self-developed middleware software, is compatible with AUTOSAR, introduced under the action of AUTOSAR between the middleware is used loosely coupled software and hardware used, the Huawei self-developed middleware also the role . Where the AI operator library which contains various artificial intelligence model, compatible tensorflow and caffe these more common neural network learning to do depth middleware.

What is middleware? Before the introduction of AUTOSAR also middleware. For popular example, I like, for example child, so easy to understand and remember.
For example, the office which has a minister, a chief, a bunch of Staff. Minister of the organization of work, such as writing briefing material, the task will be arranged to the chief, chief clerk working arrangements. Minister do not know how to write Staff report material, he and the Chief of Staff of the interval, he just call the chief of written briefing material interface, Chief of Staff, for example, which of the two would write together a schedule your way through materials, you can get a written material, then the Minister can take to do other applications such as application project. What good does it do this? Benefit is for the Minister, Clerks no matter how they change, as long as he grabbed chief on the line, other do not control. And we did was minister of living, development and application layer, to seize the API MDC provided on the line, the bottom of the tube.

This is the role of middleware. Connecting the operating system layer and application layers, the operating system provides an interface to different applications standardized protocol unified shield details of particular operations, so that the development and operation of applications and operating system independent, to achieve independence, to a great extent reduce the burden on developers.

Here Insert Picture Description

Toolchain

Before the concept toolchain told you about before. Why offer this tool chain it? Mainly because the autopilot developed threshold is relatively high indeed, the entire process from design and development of high demand for personnel in order to reduce the threshold, Huawei provides a complete tool chain. MDC tool chain designed to provide individualized, standardized, diversified set of development tools. Later will detail how to use the tool chain.

Here Insert Picture Description

Use tool chain processes

MDC is a platform tool chain for application development toolset intelligent driving MDC platform consists of three tools, namely for AI application development Mind Studio , for system configuration MDC Manifest Configurator , and finally the code for integrated development the MDC Development Studio .

  • In application development AI, AI Mind Studio provides a transfer function model, the development of operator functions, and drag and drop the application development capabilities, Mind Studio model conversion function provided by the model or support tensorflow caffe converted to rising chip 310 the supported formats. That we are able to directly use the Mind Studio (anti-theft tag: zhengkunxian) AI model tensorflow or caffe training is completed based import the model for conversion. After the completion of model transformation and application development in Mind Studio, you can generate AI applications dynamically linked library, generated dynamic libraries can be imported integrated development environment MDC Development Studio are called, in the development of business codes, if it is to develop AI application, can directly call the DLL.
  • The second tool is the configuration tool MDC Manifest Configurator, follow the safety standard Adaptive AUTOSAR platform supports data type definitions and service interface to create, design and communications network configuration and application configuration, etc. in the configuration tool. If you already have Adaptive AUTOSAR platform configuration files or diagnostic design files can be imported directly into the configuration tool to use. If you have previously only ROS-based communication framework, etc., to complete the development of intelligent driving system, the data types can be mapped into existing code in the service interface, service interface will be extracted to reconfigure Adaptive AUTOSAR platform in the configuration tool, the final Manifest configuration profiles can be generated into the integrated development environment to automatically generate code, code generation is generated based on service communication interface file profile.
  • MDS provides the tools and common C ++ IDE similar code editor, compiler, project management and other functions. Addition to providing a platform compatible with Adaptive AUTOSAR automatic code generation, and follow the Adaptive AUTOSAR platform specification MDC SDK. (Software Development Kit software engineers are generally some of the collection for a particular software package, software framework, hardware platform, operating system, development tools when building applications software.) Has been introduced into the MDS configuration profile code after automatically generated and completed the development of the service code, the application code is compiled and then build the final executable file. Finally, the interface can be performed by MDS to run an executable program debugging, the debugging features is remote, can be directly copied to the application running on the smart drive platform and MDC debugging.

MDC intelligent driving back to the platform, MDC tool chain is designed to provide efficient and convenient, flexible, open, safe and reliable tool.

Here Insert Picture Description

Networking tool chain

When using the chain MDC development tool, the tool is required between the respective network, as shown, first need to have a linux server, the server can be deployed on the service side of Mind Studio, MDC and mounting cross-compiler environment. (A cross compiler to generate executable code on another platform on a platform.) Then you need a development environment and a windows ubuntu systems (anti-theft tag: zhengkunxian) development environment on the local development environment. Development environment on a Windows system can be installed MMC and MDS, and use the browser to view the Mind Studio's interface, you can install MDS and cross-compiler environment and use the same browser to view Mind Studio's interface on ubuntu environment. MMC has not yet introduced the current version of ubuntu. Then linux server, windows development environment, ubuntu development environment, the MDC board connection in a small local area network. Such use MDS for remote debugging run when you can deploy applications directly to the MDC board to run it.
Here Insert Picture Description

Example networking tool chain

This is a basic LAN networking, using a switch, plus MDC, ubuntu local development environment, windows local development environment, linux servers and a local area network.

Local development environment through a fixed IP address can access the host or the mini on the MDC, Host is the ARM (Advanced RISC Machine) architecture server-class CPU (Central Processing Unit) Kunpeng Kunpeng 920, with powerful computing capabilities; Mini is Ascend Ascend graphics chip architecture rising 310, MDC has four Mini. GPU acceleration functions required software (image processing node) should be deployed in the Mini, other nodes may be deployed on the Host.

Installed on the local development environment is ubuntu linux version of the MDS and cross-compiler environment installed on windows local development environment is the windows version of the MDS, and cross-compiler environment needs to be installed on linux compile server. If you are using windows local development environment, because the windows version of the MDS does not come with the compiler, so it is necessary to use ssh copy the code to compile on linux server to compile.

If you are using ubuntu local development environment, you can install locally compiled by MDS to local and cross-compiler environment, without the need to rely on additional servers.

MDC can support multiple simultaneous users, developers only need to all be in the same local area network on the line.

As the host and mini are fixed IP on the MDC, and the network segment where the IP is fixed 192.168.1 segment, if developers want to be able to access the MDC, then in such a large segment 10.25.0, it should be how do it?

In fact, you can use a computer with dual NICs, while access to a large network and connect MDC, then use port mapping tool this computer specific large ports mapped to the host MDC and mini need to use the port.

  • Ssh port mapping for example, a large network can be defined in any unused ports mapped to the host port 22 of the MDC.
  • Gdbserver port mapping (gdb this is a code debugging tool), you can arbitrarily from a large number of ports defined map to the MDC, to note here is the port number of port mapping gdbserver large number of network and MDC the port number must be consistent.

Here Insert Picture Description

MDC platform application software in an integrated manner

The last tool chain to understand the use of MDC MDC platform on the application software in an integrated manner:

  1. After the first in the configuration tool MDC Manifest Configurator go created configuration of the project, and then import the configuration template MDC provided to configure business applications based on the template of the complete application configuration and communication configuration between applications, generate Arxml file, and import of MDS.
  2. If you are developing AI applications, you also can own in tensorflow in Mind Studio or caffe platform trained models AI model transformation, and AI applications choreography, and finally compiled dynamic library AI applications.
  3. After completion of the development and configuration of the AI ​​dynamic library, the MDS in the integrated development environment is configured Arxml file using automatic code generation function, a communication frame generating code and business code write, if the business case calls for the AI ​​module for image recognition, you can directly call the Mind Studio compiler generated so a dynamic library, written after the completion of the business code, compile build generate an executable file, followed by running the debugging functions executable binaries and configuration files are packaged to deploy intelligent driving MDC on the platform.

This map shows the application of ABCD, can be considered a development process using the developed smart drive applications. P: Post; R: reception.

Here Insert Picture Description

So far acquaintance MDC end, this thing is a tool, important thing is business code, is planning decision-making, perception achieve recognition of these functional modules .

Continue to study Autoware go ~

NOTE: Although the tool, but it is very important, do not realize how tools function, especially in our country is the rise of the West cut off all kinds, and consequently have to be self-sufficient for the job ah. For us strive to become stronger!

Published 17 original articles · won praise 114 · views 70000 +

Guess you like

Origin blog.csdn.net/xiaoxiao123jun/article/details/104978706