江明是拿到任务书,美滋滋地回到了办公室。
接下来的工作就很明确了,就是要重构自动驾驶系统的软件架构。将软件的架构尽可能地完善,包含更多的接口。
对此,江明心中也是有点压力的。
虽说传承了科技树系统中自动驾驶技术的知识,但是想要将其应用到具体的项目中,还是要费一番脑筋的。
实际上,一款自动驾驶系统的好坏,更多的是看软件架构的优良。在大的方向上对了,其他的就会简单多了。
江明将项目的需求书重新拿过来,进行研究。
首先是软件的功能接口,包含上百个接口。有底层设备接口,有包含摄像头等在内的功能定义,还有内部数据的中转调配功能,林林总总的很多。
首先,江明列出了所有的功能接口,然后将其列为待开发的一项。
接下来是梳理整个软件的框架,理清程序执行的逻辑。
这一项实际上是非常重要的。
相比于纯电脑版的操作系统,自动驾驶的系统,被称为嵌入式系统更加合适。
嵌入式系统,讲究的是软硬件的结合,更好地发挥硬件的资源。
因此,在理清逻辑的时候,江明需要将软件中设备运行的先后数据进行理清,防止设备之间冲突。
刚开始的时候,肯定是系统的自检,确定系统本身的数据状态正常。
包括时钟,存储器,接口设备等等,一套非常复杂的自检流程。自己有问题的,在相应的数据流中,提示错误。
自检无问题,就可以正常地运行系统。这一点,和常见的桌面操作系统,流程差不多。
接下来,就是数据流的传输和解析方面,和一般的嵌入式软件差不多。只是频率比一般的软件高多了。
另外的话,就是建模这个大步骤,这是整个自动驾驶系统的核心。
系统需要对摄像头传输过来的信号进行识别,然后将其绘制成场景图,将其中的碰撞物,正常的标线等意义区分出来,然后对其进行标定。
这一步非常难,系统需要知道,什么样的物体,代表着什么意思。不然标签是错误的,系统做不出正确的判断。
在这一步,需要联网,调用中央处理器的数据,根据中央处理器的反馈,进行最终的标定。
虽然车辆有十二个摄像图,但是对于图像的处理,是有底层的处理器协助处理图像数据的,因此数据量并没有想像中的那么大。
虽然不大,但是种类却是很多,主程序需要调动子程序功能,对传输过来的数据进行处理,给出初步的建议。
最终,经过一系列复杂的判定,生成建模图。
这中间需要判定和处理的数据非常复杂,好在不需要江明一一去梳理流程,江明只要将脉络理清楚就可以了。
江明理清楚逻辑,然后将干线画了出来。
另外一点,就是关于微型服务器的搭建。
江明需要定义车辆之间需要传输的数据类型,并且确定根据哪些数据,做出如何的判定。
林林总总,江明在主项之外,又列出了上百项的风项。
至今此时的逻辑图,密密麻麻的支点,看起来就头晕。
即使掌握自动驾驶技术传承的江明,理清其中的逻辑,也是花了好长的时间。
得亏江明有培元丹,这才能保证身体机能的充沛,不至于劳累过度才晕倒。
即使是这样,江明也是花了接近一周的时间才完成。
比之前江明预想的五天时间,超了两天。
因为这份架构是给软件工程师看的,而且要拿去给秦如雅汇报。因此,江明需要做出完整的报告。
里面包括整个的架构图,网络MAP图,控制逻辑,以及所有接口的网络节点的定义等内容。
特别是关于微型服务器的部署,更是花费了江明大量的时间。
虽然很累,但是当将资料打印出来,看着厚厚的一本书以后,江明感觉还是蛮有成就感的。
江明在第八天的时候,就拿着报告准备去找秦如雅汇报。
“江明,最近在忙什么呢,怎么没看到你的人呢?”
在去秦如雅办公室的时候,有硬件工程师看到了江明,这样奇怪地问道。
“在忙软件的架构问题。”
江明答道。
“软件的架构问题?软件架构有什么问题,不是用得好好的吗?”
来人奇怪地问道。
“额?自动驾驶的软件不是要重新架构,以适配车型吗?”
江明也是很奇怪,有点对不上啊。
“软件重新架构,你听谁说的,我们没有接到通知。自动驾驶系统的软件已经出来一部分了,我们目前针对分项进行测试。”
这名工程师说道。
本章节尚未完结,共3页当前第1页,请点击下一页继续阅读------>>>