Apollo is a high-performance, flexible architecture developed by Baidu, Kinglong, and a consortium of more than 40 companies for the purpose of accelerating the development, testing, and deployment of Autonomous Vehicles. This article first describes Apollo in terms of the functionality of the system and the interaction between its components, and then analyzes the conceptual architecture through system evolution, control and data flow, and concurrency, while illustrating the impact of the division of developer responsibilities on this. Then will go through a detailed overview of the concrete architecture of Baidu Apollo with working on mapping the source code from the Apollo Github Website to our architecture using the diagram drawing tool Scitools Understand. And divided into five parts, the report concludes with five major parts: the process from mapping code to diagram; concrete architecture explanation; unexpected dependencies discovery; subsystem analysis, and sequence diagrams presented in a more accurate and specific way. Finally, this report will propose a specific feature or enhancement to the current concrete architecture. The impact that this feature or enhancement can have on the non-functional requirements and stakeholders of the system will be explored based on the existing architecture and component interactions. In this regard, this report discusses two specific approaches that can be implemented and compares the two approaches through SAAM analysis to determine the best approach.