方向既明,剩下的就是集中力量,将蓝图变为现实。
就在这次技术攻关启动会结束的第二天,在姜晨的建议和国家的强力推动下,一个集结了国内自动化、计算机、软件、精密机械等领域最顶尖力量的数控系统联合攻关团队,在凤凰军工厂的技术支持和资源倾斜下,正式挂牌成立。
项目被赋予了一个充满时代烙印和希望的代号——“红星”。
“红星”团队的阵容堪称国家级的“梦之队”。
领军人物毫无悬念地由德高望重、在数控领域耕耘一生的周启明教授担任总师;核心骨干汇聚了来自京城大学、华清大学、国防科大等顶尖高校自动化和计算机系的教授、博导及其最得意的门生;中科院计算所、自动化所、软件所派出了最强的研究员阵容;原机械工业部下属的京城机床研究所、齐城机床研究所等几个老牌劲旅的数控技术专家也悉数加入。
当然,也少不了凤凰军工厂自己培养起来的、经历过“磐石”光刻机、“神盾”雷达等一个个硬仗洗礼的、实战经验丰富的软硬件尖兵。
这几乎是把当时国内能找到的相关领域的“牛人”都一网打尽了,摆出了一副不成功便成仁、要打一场数控系统“聊渖战役”的架势。
接到任命的那一刻,周教授感觉自己肩上的担子重如泰山,但他浑浊的老眼中却燃烧着前所未有的火焰。
这可能是他这一代科技工作者,为国家突破核心技术瓶颈、挺直工业脊樑、实现“龙国制造”梦想的最后一次机会了,必须豁出老命,背水一战。
攻关的过程,远比所有人预想的都要艰难,每一步都踩在未知的荆棘之上,洒满了汗水甚至泪水。
首先拦在面前的就是硬件平台的搭建。
虽然姜晨指明了RISC架构的方向,国内也有“磐石”计划的基础,但要研制出能够满足数控系统微秒级实时响应、高可靠性、强抗干扰能力的专用控制芯片或工业级板卡,依然挑战巨大,绝非一日之功。
团队不得不采取“两条腿走路”的策略:一路人马,由王志宏教授领衔,基于现有的“磐石”衍生芯片进行深度优化设计,增加实时控制所需的特殊指令和接口,目标是儘快拿出“国产芯”方案。
另一路人马,则先采用国外有限引进的几款早期商用RISC芯片,如MIPSR3000、AMD29K系列搭建原型验证平台,用于先行验证软件算法和系统架构,边学习、边验证、边等待“国产芯”的成熟。
无数个日夜,硬件组的工程师们像着了魔一样,伏在堆满了示波器、逻辑分析仪和各种测试线缆的实验台前,与电路板上那些比蚂蚁还小的元件和信号搏斗。
他们绘制着一遍遍修改的电路图,小心翼翼地焊接调试着脆弱得如同艺术品的原型板,彻夜不眠地追踪着高速信号中那些鬼魅般的毛刺和抖动,解决着一个又一个看似微小却可能导致整个系统崩溃的时序竞争、信号串扰和电磁兼容(EMC)的“玄学”问题。
为了模拟工业现场恶劣的电磁环境,他们甚至土法上马,用大功率电机和电焊机在旁边製造干扰,测试板卡的抗干扰能力。
如果说硬件是“骨架”,那么软件系统的构建,则是更为艰巨的“灵魂”工程。
姜晨提供的只是核心算法原理和架构思想,相当于甩给了这帮国内顶尖专家们一份“设计哲学”和几把“关键钥匙”。
但怎么用这些钥匙打开一扇扇紧锁的大门,把那些听起来牛逼哄哄的抽象理念,转化成几十万行乃至上百万行能在冰冷硬件上稳定、高效、实时运行的底层控制代码——这活儿,按理说,还得靠团队自己,像最苦逼的码农一样,从HelloWorld开始,一砖一瓦,硬生生把这座软件“金字塔”给搭建起来。
这他妈简直是要命。
要知道,这年头国内的软件产业还处于“史前文明”阶段,连个像样的“轮子”都没几个。
成熟的软件工程方法论?不存在的。
高效的开发工具链?你想多了,那破编译器跑起来比老牛还慢,吐出来的Bug比吐的槽还多,调试器更是简陋得跟石器似的,查个内存洩漏能让你把头发薅光。
更别提那颗数控系统最需要的“心脏”——稳定可靠、能满足苛刻实时性要求的国产实时操作系统内核(RTOS)了,根本就没有现成的!
写过代码的都知道,没有参考,纯手搓原创,那玩意儿有多难。
软件组的工程师们,特别是中科院软件所来的“大拿”李慧兰研究员带领的核心内核与算法团队,接下这活儿的时候,心里其实是捏着一把汗的。
他们感觉自己简直就像是“信息时代的石器部落”,要靠着最基础的C语言甚至部分性能关键点得用汇编硬抠,而他们面对的是一头头叫做“高级算法”和“系统架构”的史前巨兽。
从最底层的硬件抽象层(HAL)、中断处理、实时任务调度内核,到中间层的插补算法库(什么样条、NURBS,听着就头大)、运动控制引擎、PLC解释器(这玩意儿也得自己写!),再到上层的人机交互界面(HMI,估计只能搞个字符界面凑合了)、G代码解释器、加工工艺库……
每一个环节,都充满了未知的挑战和深不见底的“天坑”。
尤其是负责运动控制算法的核心小组,那压力简直能把人压成相片。
他们得把姜晨嘴里那些“听起来很美”的先进理念——什么“前瞻控制”、“样条插补”、“模型预测”、“自适应控制”——变成能在微秒级时间内稳定运行的代码。
这活儿,哪是把数学公式翻译成代码那么简单?
简直就是要在豆腐上雕花,还得保证豆腐高速移动时不散架!
为了保证微米级的插补精度和毫秒级甚至亚毫秒级的实时响应,他们得在算法的理论精度和实际运行的计算效率之间玩命找平衡。
他们反覆抠着每一个数学公式的推导,挖空心思找计算量更小的数值解法,优化每一行代码的执行效率,甚至连处理器那点可怜的缓存怎么用才能效率最高都得算计到骨子里。
在无数次的计算机仿真和连接了真实电机的半物理仿真实验中,他们跟精度极限、实时性要求以及硬件平台的计算能力限制,进行着殊死搏斗。
组里那个负责样条插补算法、刚博士毕业留校的年轻天才“小孙博士”,就是活生生的例子。
为了解决一个高速过小线段时的速度波动和“啃刀”问题,这在实际加工中是要出人命的!他把自己锁在实验室,地上铺满了写满公式的草稿纸,推演了上百种不同的缓衝区管理和速度平滑策略。
硬是扛了三天三夜没合眼,眼睛熬得跟兔子似的。
最后,当他在屏幕上看到那根颤抖的仿真曲线终于变得像少女的皮肤一样平滑,模拟出来的加工表面也光洁如镜时,他兴奋得一蹦三尺高,结果因为身体透支加上精神过度亢奋,眼前一黑,“咣当”一声,直接脸着地砸在了键盘上,把旁边的同事吓得魂飞魄散,七手八脚把他抬去了医务室。
负责伺服驱动接口的小组也好不到哪去,他们简直就是戴着镣铐跳舞的“驯兽师”。
国产伺服电机和驱动器那性能,参差不齐就算了,参数还老自己“漂移”,响应慢半拍,偶尔还会莫名其妙“抽风”失控。
不像国外大厂有“御用”的电机驱动,性能稳定,配合默契。
他们没这条件,只能硬着头皮上。必须写出更皮实、更聪明的控制算法,得能自动识别电机那不靠谱的参数,还得能根据负载和工况变化实时调整控制策略,用软件的智慧去弥补硬件的先天不足。
这帮人经常背着笨重的示波器、信号发生器和早期的“便携式”计算机,那玩意儿重得像块砖头,跑到油污遍地的电机厂和机床厂车间,跟电机工程师、装配技师们一起,蹲在机器旁边现场改设计、调参数,解决一个又一个接地气的疑难杂症。
简直就是“IT界的赤脚医生”。
面对如此艰巨的挑战,这帮国内最顶尖的计算机专家和软件工程师们,虽然压力山大,但内心深处也憋着一股劲儿。