光学设计专业就是利用光学系统这一传感器把物体发出的光波形成的像面传递在传感器上的过程,也可以说是光学成像的仿真过程。为了取得理想的成像效 果,必须通过大量计算优化系统结构,使得物点发出的光线由光学系统在像面上形成清晰的图像。光学设计的过程也就是一条条光路追迹(或叫描光路),不断 修改系统结构,平衡各种像差的过程,最终满足设计要求。因此光学系统设计必须要有大量计算工作。以前世界上还没有电子计算机年代,广大光学设计工作者都 采用手工计算方式完成光学系统设计。记得还是在1958年,当时北京工业学院(现在的北京理工大学)为了给国家设计天象仪,不惜动员全系师生耗时半年有余, 手工计算设计光学系统,当时称为“人海计算机”。
这样的光学系统当今看来只不过是一个普通光学系统。可那时确实是一个重大工程项目。手工计算没有任何计算工具,只能利用对数表用加减法代替乘除运 算。1962年我毕业之后被分配到205所(当时是炮兵研究院145部队)。刚开始工作,给我分配设计一个双胶物镜,我却花了半年时间完成。这在现在,只要点击 鼠标,也只是几分钟就可完成的事。为了便于光学计算,我们光学设计组还配备了多名中专毕业生当计算员专门负责描光路工作,他们最高效率一天也只能计算四 条光路。计算工具也就是翻阅对数表进行手工计算,有时还可以使用算盘,难得会有一台手摇计算器,算是先进工具了。
随着电子技术的发展,到上世纪50年代末期,世界上才出现电子管式电子计算机,我国处于大跃进的年代在60年代初我国也自己研发了两台电子管电子计算 机,一台在中国科学院北京计算所,另一台很荣幸就在西安的科学院计算所,计算机的型号当时叫M103。那时很神秘,如此高精尖不敢动用,直到1966年处于工 作需要,尝试去使用这台计算机,一个机房面积足有150平米,进去之后,之间一个个电子管闪闪发光。可是当时只有计算机,还没有计算程序语言,只是用简单 的代码数字进行运算。我们和计算所的同志合作设计程序,代替人工描光路,简单的计算像差。可总算是有了当时先进的计算机了!程序是用二进制黑纸带穿孔, 读出数据也是二进制代码。后来我们自己介入其中,不断完善程序,那就是我国(至少是西部地区)首创的第一个光学设计程序。以后好多科研项目也都是使用这 一光学设计程序完成。 由于当时我国西部地区仅有这一台计算机,使用计算机的人员较多,每次都需要排队,每次只能使用十几分钟,当时我们单位还在山 里,交通又不方便,每次都是早上8点钟乘坐单位班车进城,就为计算十几分钟在城里等一天,下午6点乘班车回所,可见多么艰难。
到了上世纪60年代后期,随着科学的进步,有了晶体管式电子计算机,国内也有了几家电子计算机生产厂家,生产不同型号的晶体管电子计算机,同时也有了 编程的程序语言,为了国产化,就叫编程语言(简称BCY语言)。当时我们兵器部总共也只有两台这样的计算机,幸好西安也有一台,放在城内204所。我们还是 每天乘坐班车进城计算。后来直到1970年,由于上级重视,拨款为我所购买了一台型号叫TQ16的电子计算机,并专门成立了一个计算机组,专门负责使用和维护 这台计算机。
这就是当年使用的程序纸带以及穿孔用的小工具:
图1
有了专配的电子计算机,为配合当时科研工作,利用这台计算机完善了当时的光学设计程序,取名为YDS程序。由于当时正值有连续变焦光学系统的设计任务,配合任务,也研制出国内首创的带有可自动计算连续变焦光学系统的设计程序。程序具有一定的系统优化功能。至今在国内还有一点影响。当时开展光学设计软件开发的除了我们205所之外,北京工业学院以及长春光机所也都在开展这些工作。北京工业学院利用中科院北京计算所的441B型计算机,先后有几位老师分别研发了类似的光学设计软件,可提供使用。
随着电子计算技术的飞速发展,到了上世纪80年代初,有了半导体及芯片的进步,庞大的电子计算机突变缩身,开始走进到办公室的办公桌上,有了微型计算机,可以个人使用,所以又叫个人计算机(PC机),后来从港澳又引来新名词,叫电脑。有了硬盘以及后来的光盘代替了黑色的穿孔纸带,使用方便,工作效率快速提高。而且还在不断进步。从开始的计算机型号为286,后来发展到386、486,直到586等不断进步,计算机容量及计算速度不断提升。同时各种编程语言也相继产生,此时也为光学设计软件的发展提供了绝好机遇。只要爱好光学软件编程的都可以参与进来。
不过,光学设计软件的研制,不单纯是光学设计专业的事,他必须涉及计算机编程,计算数学等多个领域的学科,光靠光学设计专业的人是难以胜任的,虽然是光学设计行业的需求,但 力不从心。为此当时光学设计软件的研发难以开展。幸好当时一些高等院校的数学专业老师也参与了进来。为光学系统设计软件的开发带来了有生力量。他们利用他们的专业专长也投入了这一工作,比如天津的天津大学、南开大学,南京的南京大学的数学专业教师,还有许多光学专业的院所比如
上海光机所、上海机械学院、西安光机所、南京理工大学等都有专业人士参与这项工作,一时间风风火火,不同软件相继问世。
尽管大家齐心协力,都来参与光学软件的开发研制,但当时各自具有自己的局限性,只能说各有所长,并不完善。1984年全国光学学会在青岛会议期间,会议代表建议大家通力合作,共同研制一款比较完善的光学设计程序,委托北京工业学院牵头, 统一使用Fortran程序语言,由205所、长春光机所以及南理工等多家科研院所及大学参与编写。1984年我在“光学学报”上发表一篇“光学自动设计双优选阻尼最小二乘法”文章,对光学系统优化设计的算法起到一定作用,并得到英国帝国大学的关注并应用。于1986年完成一款名叫“微机用光学设计软件包”。但还不能把参与编程的各家程序融为一体,只是简单的组合。程序在一起打包各自独立运行。只能叫“软件包”。
后来于1988年北京理工大学又把该程序独立出去,改名为SOD88光学设计程序。一时间得到广泛应用,那时还有长春光机所研制的CAOD光学设计程序普及率也很高。不过这些程序都具有一定局限性,仍然各有长短。为了加强交流, 1990年由中国光学学会组织于在长春专门召开了一次“全国光学设计与CAD软件系统学术讨论会”,会上各位代表都无私的介绍了自己研发的光学软件的数学方法,甚至连数学模型乃至软件代码都会提供出来,供大家研发参考。
那次会议之后都有共同收获,为以后研发光学设计软件提供了良好条件。不过,当时电子计算机也只是简单的计算工具,只是简单的DOS系统,没有操作系统,没有什么界面,没有鼠标,在程序菜单中只有用键盘输入数字选择菜单。使用很不方便。
图2
这就是当年使用的程序显示的光学系统点列图及系统参数界面:
图3.
这就是当年使用的程序的输出数据:
图4.
由于国家的改革开放,国外先进光学设计软件比我们完善,不断有国外光学设计软件引进,比如Zemax和CodeV等软件逐渐替代了我们自己的国产光学软件。一时间我国自行研发光学软件陷入低谷。主要是一方面我国高校教育走向正常化,高校教师退出光学设计软件的研发工作,光学设计专业人员对计算机编程并不熟练等一系列局限性,而且当时从事光学设计软件研发工作都不是上级下达的任务,只是大家的业余爱好,没有专门研发机构。而国外不同,像美国ORA公司就是从1962年成立以来就是一个专门从事光学设计软件研发的公司,人员配置齐全,多学科多专业人才互补,因此他们的光学设计软件是我们无法比拟的。
他们的光学设计软件虽然自动优化功能很强,但作为辅助光学设计的全过程并不完善。不能在光学设计全过程完成光学设计工作,特别有些功能并不符合我国国情。在这种形势下,处于我们自己光学设计工作的需要,我没有放弃OCAD的研发工作,尤其在2000年我退休前夕,接触到新的带有可视界面的 Visual Basic 编程语言,我对原来的OCAD程序进行升级改造,程序界面焕然一新,使用便捷。同时由于我已退休,没有工作压力,又作为我的业余爱好,有幸又得到过编程专家的指点。工作有所进展。
作为光学系统设计,本身就是个系统工程,首先必须从一套完整的光学仪器总体结构入手,对光学系统提出光学总体性能要求,即设计输入,然后为光学系统设计进行光学系统总体布局,为系统建模,再进一步设计出系统初始结构。有了系统初始结构才能进行系统优化处理,完成优化系统成像质量满足要求后,最后还要制定系统制造公差,必须绘制出一系列工程图纸提供加工使用才算整个光学系统设计工作圆满完成。这些功能国外软件并不具备。
图5.
然而,当时的光学系统设计软件,大都局限于像差优化方面,不具备前期建模及后期绘图功能。
图6.
我所研发的OCAD光学系统自动设计程序,弥补了以上欠缺,实现光学设计全过程计算机辅助设计功能。
图7.
OCAD光学系统自动设计程序主界面:
图8.
为了弥补这些功能,我重点研发这方面的内容。以便和那些成功程序功能互补,实现光学系统设计全过程计算机辅助设计功能。这就是目前OCAD光学系统自动设计程序的特点。
OCAD光学系统自动设计程序的设计思想只求突出个性,做其它同类程序没有的,不求与人雷同没有特色的功能重复。重点在于整个光学系统设计前期的光学系统初始结构设计以及光学系统成像质量优化后的工程处理,比如光学系统结构数据标准化规格化处理,光学系统自动绘图等后期工作。本程序的主要特点有:
1.对光学系统适应性强,能计算各类光学系统;
2.可以为多种典型光学系统自动进行初始结构设计,不需要查找设计手册或专利文献就可以利用程序中的自动设计工具求解初始结构,供进一步优化获得满意设计结果;
3.有对各种光学系统初始建模及系统总体布局功能,其中包括:一般光学系统、连续变焦光学系统、断续变焦系统、各种扫描系统以及多光轴共存复合光学系统等,一次可根据系统性能要求实现初始结构建立完成;
4.具有与其它著名光学程序的兼容性,可与国内外一些著名光学程序数据文件互相转换,取长补短;
5.有较强的自动绘图功能,特别是可以全面贯彻我国各项光学标准,直接绘制出符合标准化要求的光学工程图纸。还可以利用实际绘图功能保证透镜边沿厚度以及中心厚度的合理性。
6.在光学系统结构数据内直接设置反射棱镜及反射镜等,直观有效的处理此类光学零件设计效果,直接绘制此类零件的零(部)件图纸。
7.有一个较完善的数据库,如各类镜头库、玻璃材料库、玻璃对样板库、有关光学设计的相关国家标准库以及为分析光学系统热效应用的镜框常用金属材料库等,可及时查阅调用有关数据。
8.使用动画功能显示各类变焦系统、各类扫描系统等光学系统示意图以及各种像差曲线图,可以直观观察光学系统在变化过程中的分析效果。此外还可以设置变焦系统定焦化,可以处理及分析计算某指定变焦位置系统性能。
9.为便于分析计算光学系统为适应各种不同环境条件下系统成像质量变化,可以同时给出各类不同使用环境条件指标,其中包括环境温度,大气压强或环境海拔高度等,作为多重系统同时计算分析。
OCAD光学系统自动设计程序提供了一个具有特色的光学系统总体布局平台,可以利用光学系统的各种结构元件合理布局构建光学系统草图,直接显示并方便协调光线走向,实现光学原理,使得在光学系统设计的初期完成光学系统总体布局初始设计,接着还可以利用OCAD程序的其他初始结构设计功能完成光学系统初始结构参数设计,为下一步光学系统成像质量优化及其他后期设计打下基础。
图9. 一般光学系统总体布局设计平台界面
图10. 连续变焦光学系统总体布局(显示凸轮曲线)界面
图11. 扫描光学系统总体组合布局界面
图12. 多光路光学系统总体组合布局界面
图13. 可绘制光学系统图
图14. 可绘制光学胶合件图及零件图
现已80高龄耄耋之年的我,回顾我开发光学设计软件已历经近60个春秋了。但一直只是我个人的业余爱好,既没有团队,也没有上级下达任务。目前我已退休,别无他求,只作为老有所乐,只求把我几十年的光学设计经验总结出来体现在程序内,供年轻人在光学系统设计时参考使用。不图名利,只求实用。当然,我的经验和能力,都是有限的,何况目前退休,精力明显不足。我希望有这样的年轻人,把这项工作继承下去,开发出国内一流世界知名的优秀光学设计软件。由于目前国际形势比较复杂,完全依赖国外软件会有一定风险。
鉴于目前形势,也有一些光学院所和国家一流软件开发单位从事这一工作。比如中科院软件所,205所联合长春光机学院,正在投入经费和人力,积极开发这一光学系统设计软件工作,不过目前他们才开始起步,先完成国外优秀光学设计软件的国产化问题,然后再逐步完成光学设计全过程计算机辅助设计工作。这也是我的追求和奋斗目标。但愿他们的工作早日完成,让中国的光学系统设计软件引领世界前行。
最后我要感谢上海讯技公司,30年来为我国光电技术软件发展做出的巨大贡献。公司为引进国外先进光学设计软件,为推广和普及国产光学设计软件都做出了最大努力,促进了国内外光学设计软件的交流,30年的不懈努力,推动了我国光学设计软件事业的发展,提高了光电事业的发展,做出了不可磨灭的成绩,再次表示感谢!