著者:日本シノプシス合同会社 

 アプリケーション エンジニアリング シニア マネージャー

 大竹 基之

公開日:2024年10月17日

前回はトリプレットレンズでの設計を基に、光路図、収差図とMTFとの関係について書きました。この関連性を理解することは、例えば、光路図と画角による収差図の変化から収差の発生箇所を特定する、MTFを向上させるために収差図のどこを改善させるかなど、光学設計を進める上で非常に重要です。ですから、例えば、特定の画角の性能を向上させる場合に、その画角に対するウェイトを高めるのではなく、どこで収差が発生しているか?を考察し、それを抑えるにはどうすれば良いか?をあらかじめ考えます。そのうえで、最適化を行って、結果を確認することで、予測と結果との繋がりを確認します。最適化は便利ですし、コンピューターの高速化でどんどん設計を進められますが、それだけでは、お一人お一人の成長にはつながりません。大切なことは、何故そうなったか?あるいは、1つ1つのレンズの役割は何かを理解することです。それが、2回目、3回目と設計経験を積む際に設計時間を短縮化すること、あるいは新しい設計をする際のアイデアを生み出すことに繋がります。

CODE Vの最大の強みは最適化機能です。本当は最適化機能について書いていくべきですが、お読みいただく皆さんの成長に繋がる内容にしたいので、あえて最適化に触れていません。ですが、今回は特別編として、CODE Vの最適化機能の強みから紹介したいと思います。

私は1991年からずっとCODE Vを使ってきましたが、CODE Vのおかげで200件を超える発明を生み出せたと思っています。ベテランの光学設計者は長い経験の中で設計テクニックをお持ちです。ところが、その設計テクニックを秘密にしたまま引退しているケースが多いです。現在の私は幸いにもCODE Vを開発する側に立っています。ですから、より多くの方にCODE Vの良さを知って頂いたり、上手く使っていただきたいと思っています。加えて、私は最適化機能を開発していますので、今後の機能強化にはぜひ期待してほしいです。

最大の強みはユーザー定義コンストレインツです

私は先に、CODE Vのおかげと書きましたが、CODE Vのユーザー定義コンストレインツを使いこなす点で他の方と違いがあるようです。

具体例をいくつかを紹介します。

まず、私は光学性能を高めるためにユーザー定義コンストレインツを使うことも多いです。一番使いやすいのは球面収差量だと思います。球面収差を好ましい形に整えます。この理由や具体的なユーザー定義コンストレインツは弊社ユーザーの方向けの資料で公開します。次に、周辺のコマ収差を整えたり、倍率色収差を整えることも大切です。コマ収差は前回に紹介しましたが、主光線の上側と下側でのコマ収差量を調整することがMTFを高めることに繋がります。倍率色収差は波長によるコマ収差の変化も含めて確認しています。最適化を行う中で、Aberration Functionが小さくなることは光学性能が高くなることに繋がります。ですが、ガラスの入替えや非球面の配置を替えるなど、一旦性能が悪化した状態から再び最適化を行いますと、Aberration Functionの値が同じでも、性能のバランスが変化してしまうこともあります。ですから、私はユーザー定義関数を加えることで、光学性能を上手に高めているのです。

さらに、ユーザー定義コンストレインツはもっと違う使い方ができます。

例えば、手ブレ補正レンズであれば、シフトレンズのブレ補正係数、あるいはピント敏感度をユーザー定義コンストレインツにすることはご存知のことと思います。しかし、シフトレンズをシフトさせた時に画面中心での性能変化を抑えるなら、シフトレンズが正弦条件を満たすことが大切です。私はこのような点をユーザー定義関数にすることが多いです。あるいは、非球面レンズでは深い凹面の成形が難しいため、法線ベクトルを緩めることが大切です。ある有名な大先輩は関連する過去特許の条件式をユーザー定義コンストレインツにされて、過去特許の条件を外していたと聞きました。面白い使い方もありますね。

そして、ユーザー定義コンストレインツは「メカ設計やレンズ制御との整合を図る」「レンズ組立て時の不良率を下げる」「レンズ部品の量産性を高める」という現実のレンズを作るといったところに活用する時に最も大きな効果を発揮します。光学設計者が設計したデータをメカ設計者、電気設計者、制御設計者、レンズ加工やレンズ組立の技術者の皆さんに支えていただいて、実際のレンズが完成します。それだけに、設計者や技術者の方の意見を盛り込むことが良い製品に仕上げる上で大切です。もらった意見をどこまで盛り込めるかが光学設計者の実力です。私は意見を詳しく聞いて、ユーザー定義コンストレインツという形にして加えてきました。例えば、過去にはメカ設計者からズームレンズのカム軌跡をスムーズな形状にしたいと相談されたことがあります。カム軌跡は光学設計データに基づいてメカ設計者の方が設計されますが、カム軌跡の傾斜角が変化しますと回転させる力が一定でなく、回しにくい等の問題を起こす時があります。詳しく教えてもらうことで問題点の理解を深めることができたので、傾斜角の変化を少なくするユーザー定義コンストレインツを組み込んで、光学設計を進めました。その結果、非線形なカムは1か所だけになり、シンプルな鏡筒構造が実現できました。

 

ユーザー定義コンストレインツについてのご質問がありましたら、codev_support@synopsys.comまでお願いします。

使い方をご案内することがカスタマーサポートです。そして、基本的にユーザー定義コンストレインツはお客様にお作りいただくものです。それでも、上手なユーザー定義コンストレインツは光学設計における課題を乗り越えて、より良い光学設計を実現する上で大切です。ですので、ユーザー定義コンストレインツのサンプルを弊社ユーザーの方にお知らせさせていただきます。

ローカルミニマムはサイコロを投げるようなことで決まります

光学設計を進める中で多くの方が悩むのはローカルミニマムではないか?と思います。まず、どういう時にローカルミニマムを乗り越えるのか?の例を紹介したいと思います。

例えば、レトロフォーカスタイプのレンズでは光学系の先頭に強い負レンズを配置することが多いです。これを図1に示します。こうした負レンズはR2面の曲率が強くなります。ここで、R2面に入射する光線とR2面の法線とで作る角度が画角1、2、3でプラス、ゼロ、マイナスと変化します。この場合、曲率半径を強めますと、画角1と画角3では像面湾曲の変化が逆向きになります。このように画角が変化した時に作用が反転する収差を高次収差と呼びます。ところが、曲率半径を変えて行きますと、上記の角度が同じ符号になります。この状態を図2に示します。図2の状況では像面湾曲が画角によらず、同じ方向に変化します。そして、最適化で曲率半径が自由に変化できます。ところが、図1の状況に変化しますと、像面湾曲が画角次第で符号が変化してしまう(高次収差が発生する)ため、最適化では曲率半径が高次収差を強く発生させる方向に変化します。

cv-optimization-blog5-figure1

【図1】高次収差が発生した状態

【図2】高次収差が発生していない状態

これは一例ですが、このレンズ面は曲率半径を変化させた時に、収束の方向を変える境界が存在しています。これがローカルミニマムに繋がります。

ところが、この境界に至った時、高次収差を発生させる方向か、高次収差を発生させない方向か、どちらに進めるかは時の運です。こうした境界を乗り越えないように制御するのに、ユーザー定義関数が役立つということです。

 

ここからは設計する時の設計初期データをどうするか?の話を紹介します。

設計初期データはどのように作るべきでしょうか?

光学設計を始める時、設計初期データ選びは非常に重要です。多くの場合、私は過去の特許データを調べて、設計初期データの候補を選んでいました。昔は紙の公報しかありませんから、光学関連の特許を覚えるため、半年に一度、過去の公開公報を全部読んでいました。そして、記憶にしたがって、特許を確認し、初期データに使えそうな特許を複数ピックアップしていました。データを再現して、光学性能を確認していました。さらに、メカの制約や目標価格などを含めた光学仕様書を埋めて、設計初期データを選んでいました。でも、記憶が頼りですから、全部を調べ尽くせたか?と言えば、難しかったと思います。時代が進む中で、特許検索ツールが出されて、私自身もその恩恵を随分多く受けてきました。

私は学びのために、データ再現と共に特許自体も読んできました。どのような製品に使うレンズかはもちろんですが、特許を読む中でもっと古い先行技術を知ることができます。特許を知ることは光学設計の歴史を知ることでもあります。

これは一例ですが、設計を始める前に丁寧に調べることは非常に重要です。それは皆さんが取り組もうとする新しいレンズは過去の先行技術と同じではないことが多いからです。何を進化させる必要があるのか?を整理して、どのようにするか?を考えるところが一番大切です。CODE Vはきわめて優秀な設計ツールですが、CODE Vが導き出したことが正解ではなく、皆さんが考えられたところに正解があるのか?が一番大切です。そして、自分の考えが正しいかを確認するためにCODE Vを使うのです。現在はコンピューターの計算速度が速くなっていて、考える時間が足りないケースが多い問題もあります。それでも、ユーザー定義関数を用いて形状を規定することで、自分が考えたレンズの形に近づけていく中で、何が間違えているのか?を考えて、気づくことが設計者としての能力を高めることになります。

 

特許データから作った設計初期データを基に、画角やF値、あるいはバックフォーカスや前玉有効径など、目標仕様に合わせて、光学設計を進めてください。

本内容に関するお問合せ

本ページでご紹介した内容をもっと詳しく聞きたい、製品について個別に紹介して欲しいなどご要望ございましたら、お気軽に下記ボタンよりお問合せください。

連載の過去記事

関連カテゴリ

本記事に類似する記事は下記カテゴリページよりご覧いただけます。