数理解析研究所講究録
第 1927 巻 2014 年 30-4030

工学設計における計算機代数の応用
澤田浩之
HIROYUKI SAWADA

産業技術総合研究所
NATIONAL INSTITUTE OF ADVANCED INDUSTRIAL SCIENCE AND TECHONOLOGY$*$Abstract

Engineering design is characterized as an iterative decision making process. Designers are required
to make many decisions for selecting optimal options based on insights into underlying relationships
between design parameters. As design proceeds, more and more design parameters are introduced
to concretize the solution. As more design parameters come into consideration, designers encounterdiﬃculties to gain deep and rich insights. This paper introduces several methods based on techniquesof computer algebra to overcome those diﬃculties.

1

はじめに
工学分野において、 一般に設計とは、 与えられた要求仕様を満足する製品を作り出すために必要なすべての情報を生成する活動として定義される [9]。図 1 は、 設計から製作に至る製品開発の過程を示したものである。 設計者には、 製品の機能や性能に関わる技術情報はもちろんのこと、 関連する既存製品や工業規格、利用可能な標準部品などの様々な情報を考慮、 検討し、材料選択や構造決定などの意思決定を行うことが求められる。

図 1: 設計から製作に至る製品開発過程

この過程では、 製品設計に関わる情報や属性を表すための多くの設計パラメータが導入されるとともに、それらの関係が記述される。設計パラメータが増えるにつれ、 製品性能に大きな影響を与える設計要素や異h.sawada@aist.go.jp

31
なる要求仕様間のトレードオフといった、 設計パラメータ間の相互依存関係を把握することが困難となる。
そのため、設計者はしばしばそれらの関係を正しく理解することなく、 自身の勘と経験に基づいた試行錯誤によって設計を行うことを余儀なくされ、 それが設計品質向上の妨げとなる。
本稿では、 計算機代数を応用することによって設計パラメータ間の相互依存関係を抽出し、設計者に対して意思決定に必要な情報を提供する手法と、 その適用事例について紹介する。第 2 章では、設計プロセスモデルについて述べる。 その中で、設計プロセスで必要となる不完全な設計解の解析について説明する。次に第 3 章では、 不完全な設計解の解析における計算機代数の有効性を述べた後、 その具体的な応用手法を示す。 第 4 章では、 ロボットアームおよびヒートポンプシステムの設計を対象とした、 適用事例を紹介する。

2

設計プロセスモデル

設計プロセスモデルを図 2 に示す。通常、 設計は製品設計仕様の取得から開始される。与えられた製品設計仕様に基づいて概念設計が行われ、概念レベルでの設計案がいくつか生み出される。 それらの案に対し、設計者は、 製品設計仕様を満足するための技術的要求を設定し、 それらを数式等の定量的な表現方法を用いて、 設計解として記述する。 この過程では、 設計者の経験や知識、 直感や推論が大きな役割を果たす。 そして、 この定量的に表現された設計解を解析し、 新たな設計パラメータの導入や設計パラメータ値の決定などを行っていく。

図 2: 設計プロセスモデル
図 3 は、 設計プロセスの例を示したものである。 この例では、 設計製品仕様として、「直径$d$の球を収容する容器」 が与えられている。 この製品設計仕様に対し、概念設計として 「立方体形状の容器」 および「円筒形状の容器」 が生成され、 それぞれに対して技術的要求の設定とその定量的記述が行われる。 そして、 この定量的に記述された設計解が解析される。

図 3: 設計プロセスの例

32
この段階での設計解は、未定の設計パラメータの値を含んだ抽象的なものである。設計解の解析結果に基づいた意思決定によって設計パラメータの値が決定され、 設計解は次第に具体化されていく。 図 4 は、 設計解が次第に派生、 具体化していく過程と、 設計解解析の役割を示したものである。

図 4: 設計解の具体化と解析の役割

初期の段階では、設計解は多くの未定パラメータを含んだ不完全な解である。 この段階では、材料選択や構造決定などの意思決定を行うことが重要である。 したがって、設計パラメータ間の潜在的な相互依存関係を把握するための解析が必要となる。 一方、設計解がある程度具体化して完成されてくると、 そこで行う作業は機能や性能の検証と、 それに基づいたパラメータ値の調整である。本稿では、初期段階の設計解解析、すなわち不完全な設計解の解析を対象としている。

3

不完全な設計解の解析と計算機代数の応用

3.1

不完全な設計解の性質

設計の初期段階で解析対象となる設計解は、 以下のような性質を持っている。

1. 機械、 電気、 熱等の様々な分野の技術を含む。
設計解がある程度具体化した段階であれば、 1 つの製品を分割し、 局所設計問題に帰着させることも可能である。 しかしながら設計の初期段階では、 対象となる製品を総合的に捉え、 全体最適を図る必要がある。 したがって、 設計解は、機械、 電気、 熱等の異なる分野の技術を統一的に取り扱えるものとして表現しなくてはならない。

2. 未定の設計パラメータを含む。
未定の設計パラメータが多く含まれるため、 数値解析による取扱いが困難である。 また、 入力値から出力値を得る順問題、 出力値から入力値を得る逆問題を含め、 任意の設計パラメータ間の関係を双方向的に把握することが必要であり、 そのための解析手法が求められる。
計算機代数は以下のような特徴を有しており、 このような性質を持った設計解を取扱うための手法として有効であると考えられる。
$\bullet$

力学、 機構学、 電気、 熱力学、 制御等におけるすべての条件を連立代数微分方程式および不等式として表現することにより、 統一的な扱いが可能である。

33$\bullet$

すべての設計パラメータを、 独立変数と従属変数の区別なく同列に扱うため、 いわゆる順逆問題を統一的に処理できる。

計算機代数を応用した初期設計支援手法

3.2

設計の初期段階における意思決定に際しては、 以下の情報が有用であることが知られている。
$\bullet$

すべての条件を満足する具体的な数値解 [7]すべての条件を満足する具体的な数値解は、 それ自体が最終的な設計パラメータ値とはならないまでも、 設計者に対してその決定のための手がかりを与える。 また、 具体的な数値解を得ることにより、実際に解が存在するかどうかを確認することができる。
$\bullet$関数の最大値最小値 [6]設計解を評価するための関数 (評価関数) の最大値や最小値は、 設計解の最適化を図る上で重要な指針を与える。
$\bullet$

条件間の潜在的な矛盾 [4]
両立しない条件を特定することにより、 設計者は相反する要求仕様を把握し、 設計変更の指針を得ることができる。

$\bullet$

指定した設計パラメータ同士の直接的な関係式 [3]これを得ることにより、 性能に対する設計パラメータの影響度や、 異なる要求仕様間のトレードオフを把握することが可能となる。

本研究では、 対象とする条件を連立代数方程式及び不等式で表現可能なものに限定し、 Gr\"obner Base 及び Quantifier Elimination を応用することにより、 これらの情報を提供する計算手法を考案し、 代数制約評価システムとして実装した [11]。ここでは、Gr\"obner Base および Quatifier Elimination の以下の性質を利用している。計算手法の詳細については、 文献 [5, 10, 12, 13] を参照されたい。

Gr\"obner Base の応用
Gr\"obner Base は与えられた連立代数方程式をある規準に従って簡単化したものであり、 その変換は完全に同値である [2]。本研究では、 Gr\"obner Base が持つ以下の性質を利用している。

1. 解が有限個か無限個かの判定
Gr\"obner Base の要素の頭項を調べることにより、 元の連立代数方程式の解が有限個か無限個かであるかを判定することができる。 この性質は、 例えばリンク機構の自由度判定に利用できる。
図 5 は、 $AB$、$BC$ 、 $CD$ 、 $AD$ の 4 つのリンクからなる閉リンク機構である。 $AB$と $CD$ は、 それぞれ中点 $O$ 及び $M$ で固定点に取り付けられ、 中点回りに回転することができる。 $AB$ と $CD$ の長さは$2$、$BC$ と $AD$ の長さは、 それぞれ設計パラメータ $L_{1、}L_{2}$として与えられている。

この閉リンク機構は、 $L_{1}=L_{2}=1$ のときのみ可動であり、 それ以外の場合には固定される。 実際、
この閉リンク機構を表現する連立代数方程式の Gr\"obner Base を計算すると、 $L_{1}=L_{2}=1$ の場合にのみ解は無限個となり、 それ以外の場合には有限個となる。

34

連立方程式
$x_{j}+x_{2}=0(O\ovalbox{\tt\small REJECT} uB$の中点$)$( $O$ I は AB の中点)
$x_{3}+x_{4}=0$ ( $M$ は $CD$ の中点)
$y_{3}+y_{4}=2$ ($M$ は $CD$ の中点)$(x_{2}-x_{;})^{2}+(y_{2}-y_{l})^{2}=4$ (AB の長さは 2)$(x_{3}-x)^{2}+(y_{3}-y_{i})^{2}=L_{J^{2}}$ ( $BC$ の長さは)( -x$i^{2}+(y_{4}$ -y$i^{2}=4$ ( $CD$ の長さは 2)$(x_{l}-x)^{2}+(y, -y_{4})^{2}=L_{2^{2}}$ ($AD$ の長さは)$y\prime+y_{2}=0$$L_{J}$$x_{4}$$L_{2}$

図 5: 閉リンク機構

2. 数値解の計算与えられた連立代数方程式の解が有限個のとき、 辞書式順序 $x_{1}<\cdots<x_{n}$ の Gr\"obner Base、あるいは Rational Univariate Representation と呼ばれる形式 [1] の連立方程式を計算し、 1 変数方程式の数値解を逐次代入することにより、 数値解を計算することができる。

3. 指定された変数のみからなる連立方程式の導出
設計の過程では、 すべての設計パラメータではなく、 そのうちの一部に焦点を絞り込んだ検討が必要となることがしばしばある。 検討対象とする設計パラメータに対して、 他の設計パラメータよりも辞書式順序の下で低い順位を与えた Gr\"obner Base を計算することにより、 それらのみからなる連立方程式を導出することができる。

4. 与えられた方程式の導出可能性判定
ある方程式が与えられたとき、 それが$0$に簡約化されるかどうかを調べることで、 元の連立方程式からその方程式が導出可能かどうかを判定することができる。 この性質は、 設計解に矛盾が検出されたとき、 各条件がその矛盾に関与しているかどうかを判定するために用いられている。

Quantifier Elimination の応用
Quantifier Elimination は、 一階述語論理式から限定子 及び の付いた変数を消去し、 それ以外の変数が満足すべき必要十分条件を導くことである [8]。直観的には、 領域の射影と捉えることができる。
設計パラメータで構成される空間を考えたとき、一部のパラメータに焦点を絞って検討を行うことは、解が$\forall$$\exists$存在する領域を、 それらのパラメータで構成される部分空間へ射影して考えることに他ならない。 Quantifier

Elimination は、 このような部分空間への射影に用いることができる。

4適用事例
図 6 は、 前章で述べた初期設計支援手法を実装したプロトタイプシステムである。 このシステムは設計解解析機能の他、 設計コンセプトおよび派生した設計解の管理機能、 機械設計において通常使用される機械部品に関わる連立方程式及び不等式を収めたライブラリを備えている。本章では、 ロボットアームおよびヒートポンプシステムの設計 [5, 11, 13] に対して本プロトタイプシステムを適用した事例を紹介する。

35

図 6: 初期設計支援プロトタイプシステム

4.1ロボットアームの設計

本節では、 図 7 に示すようなワイヤ駆動式 2 関節アームロボットの設計を事例として取り上げる。 ここで扱う設計課題は、 以下の動作仕様と前提条件が与えられたとき、 リンク長さを決定し、 各関節に用いるモーターとギア比を選択するというものである。

図 7: ワイヤ駆動式 2 関節アームロボット

動作仕様 2 $[kg]$ の荷物を高さ 25 [cm] まで持ち上げる。

前提条件 リンクの構造と姿勢に対して、 以下の条件が与えられる。
$\bullet$$\bullet$

リンク $A$ とリンク $B$ の長さは等しく、 質量は 3.5 $[kg/m]$ である。

関節 $A$ は常に $y\geq 0$ の範囲にあり、 関節回転角$\theta$は$0$以上であり、 逆折れしない。

この問題の設計パラメータの総数は約 150、方程式及び不等式の数は約 160 である。 設計手順は以下の通りとなる。

1. リンク長さの決定
設計解解析機能を用いて、 ハンドの高さとリンク長さの関係を表すグラフ (図 8) を描画し、 指定された動作が実行可能となるようにリンク長さを決定する。 図中、 少なくとも 1 つの条件式を満足できない領域はハッチングで示されている。 ハッチング領域をクリックすると、 その点における詳細なデータが表示される。

図に基づき、 ここではリンク長さを 20 [cm] と決定することにする。

36

図 8: ハンド高さ- リンク長さ関係グラフ

2. 各関節の最大出力計算とモーターの選定
モーターのような汎用部品の場合、 必要な機能を持つ製品を市販品のカタログから選ぶことが通常である。 各関節に必要とされる最大出力値を計算し、 それを満足するモーターを選定する。 ここでは、
表 1 のモーターを選ぶものとする。

表 1: 各関節に用いるモーターの選定

3. 使用可能なギア比の把握と選定
設計解解析機能を用いて、 ハンドの高さとギア比の関係を表すグラフ (図 9) を描画し、指定された動作が実行可能となるギア比の範囲を把握する。 モーターと同じく、 ギア比もカタログ値から選択するのが通常である。 ここでは、 それぞれの関節について、 出力最大時の消費電力が最小となるように、ギア比 1/246 を選ぶことにする。

図 9: ハンド高さ-ギア比関係グラフ

37
ヒートポンプシステムの設計

4.2

本節では、 図 10 に示すようなヒートポンプシステムの設計を事例として取り上げる。 これは、 観光ホテル用に設計されたヒートポンプシステムを簡略化したモデルである。 このシステムは、 圧縮機、 凝縮器、 膨張弁、蒸発器の 4 つの要素から構成される。 図中、 内側の矢印はシステム内を循環する冷媒の流れを示している。 冷媒は、 蒸発器で排水から熱を奪って蒸発したのち、 圧縮機で断熱圧縮されて高温高圧の気体になる。 その後凝縮器において、 源泉から来た水を加熱して液化し、 高温高圧の飽和気液二相流となる。 この飽
和気液二相流は、 膨張弁を通過して低温低圧になる。

外側の矢印は源泉から排水に至るまでの水の流れを示す。源泉を出た水は凝縮器で加熱され、 浴室用の温水として供給される。 排水は蒸発器において冷却される。

図 10: ヒートポンプシステム

ここで扱う設計課題は、 以下の動作仕様と前提条件が与えられたときに、 ヒートポンプシステムの属性である 7 つの設計パラメータ値を決定するというものである。 この問題の設計パラメータの総数は約 80、方程式及び不等式の数は約 100 である。
動作仕様源泉を出た水は、 凝縮器で 30冷却される。

$[^{\circ}C$] から 45$[^{o}C$] まで加熱され、蒸発器で 20$[^{\circ}C$] から 5

前提条件水、 冷媒、 及び凝縮器と蒸発器に対して、 以下の条件が与えられる。
$\bullet$$\bullet$$\bullet$

源泉を出る水の流量は 3.0 [l/s]、排水流量は 2.4 $[l/s]$ とする。
冷媒はフロン 22 (R-22) である。

凝縮器と蒸発器の熱通過率は 1000 $[W/m^{2}K]$ とする。

設計パラメータ ヒートポンプシステムの属性を示す設計パラメータは以下の 7 つである。
$Tc,$ $Te$

凝縮温度および蒸発温度 $[K]$$Ac,$ $Ae$

凝縮器および蒸発器の伝熱面積$Pd$$\kappa$

圧縮機の吐出圧力 $[Pa]$圧縮機の圧縮比$Qr$

冷媒の質量流量 $[kg/s]$$[m^{2}]$$[^{\circ}C$] まで

38
この問題では、 ヒートポンプシステムがループ構造を持っていること、及び熱力学特性が非線形であることにより、 設計変数の相互依存関係は複雑であり、 それを把握することは非常に困難である。

ヒートポンプシステムの設計は、 従来、 次のように行われている。 まず、 凝縮器と蒸発器で交換される熱量を計算する。 その交換熱量に基づいて、 凝縮温度と蒸発温度を仮決めする。 そして、 その仮決めされた温度から他の設計変数値を計算する。適切な値が見つからなかった場合には仮決め温度を変更し、設計変数値を計算しなおす。 このような試行錯誤を繰り返すことによって、 全体の設計が行われる。
ここでは、 設計解解析機能を用いて、 属性を示す設計パラメータの相互依存関係を 2 次元グラフとして表示し、 それを参照することで試行錯誤を行うことなく、 最適解を求めるようにする。設計の手順は以下の通りである。

1. 属性を示す設計パラメータの相互依存関係の把握
凝縮温度 $Tc$ を横軸とし、 これとそれ以外の設計パラメータの関係をグラフ表示する (図 11)。図中、黒線は設計パラメータの関係を示しており、 ハツチングされた領域および灰色の線は、 何らかの条件を満足しないことを示す。 これらのグラフより、 以下の情報が得られる。

図 11: 属性を示す設計パラメータの相互依存関係$\bullet$$\bullet$$\bullet$$Tc$が増加すると $Te$ と $Pd$ はほぼ線形に増加する。

$Qr$と$Tc$が増加すると $Ac$ は非線形に減少し、 $Ae$ は非線形に増加する。

$\kappa$はあまり変化しない。

は指し当たって考慮の対象から外しても差し支えないことが分かる。 ここでは、装置全体のサイズを押さえるため、 全体の伝熱面積 $Ac+Ae$ を最小にするように設計するものとする。
これにより、 $Qr$ と$\kappa$

2. 設計パラメータ値の決定
凝縮温度 $Tc$ と全体の伝熱面積 $Ac+Ae$ の関係を表示させる (図 12)。 $Ac+Ae$ を最小とする値として $Tc=323[K]$ が定まり、 これによって他の設計変数の値も決定する。

39

図 12: 設計パラメータ値の決定

5

おわりに工学設計における意思決定を支援するための技術として計算機代数を取り上げ、 その応用手法と適用事例を紹介した。 計算機代数の応用は、 通常の数値計算に基づいた方法では困難な不完全な設計解の解析を可能とし、 設計解及び設計問題に対する深い理解を設計者へ与えることができるという点で、 特に設計の初期段階では有効であると考えられる。一方、計算効率や扱える問題の規模、 現実の設計問題を計算機代数の問題として記述するためのモデル化手法など、 多くの解決すべき課題が残されている。
さて、 本稿では工学設計における意思決定問題を扱ったが、 この問題は工学設計に限ったことではなく、製造企業の生産活動全体にも当てはまる問題である。 図 13 に、 製造企業の生産活動の概略を示す。

図 13: 製造企業の生産活動

製造企業の生産活動は、 何を作るかを決定する製品設計、 どうやって作るかを決定する工程設計など、様々なプロセスを含んでおり、 それぞれのプロセスで規格や基準などの多様な情報を考慮する必要がある。
本稿で扱った工学設計は、 このうちの製品設計に分類されるプロセスである。 工学設計において意思決定が重要であることはすでに述べた通りであるが、 これは設計に限らず、 生産活動全体に対して言えることである。 すなわち、 生産活動に関わる様々な情報の依存関係を把握し、 適切な意思決定を行うことが製造企業にとって重要であり、 また、 多くの場合、 それらの情報は不完全なものである。
このような問題を扱うためには、 計算機代数の枠を超えたより広範な数学モデルを構築することが必要と40なるが、 その中の重要な技術の 1 つとして計算機代数は位置付けられるものと考えられる。 こういった研究を進めるためには、 数学者と様々な分野の研究者や技術者との連携が不可欠である。そして、 そのような連携から生み出された新たな知見は、 それぞれの分野にとっても大きな資産となり得ると筆者は考えている。

参考文献[1] Alonso, M.-E., Becker, E., Roy, M.-F., W\"ormann, T.: Zeros, multiplicities, and idempotents forzero-dimensional systems, Progress in Mathematics, 143, 1996, 1-15.
[2] Becker, T., Weispfenning, V.: Gr\"obner Bases, Springer-Verlag, New York, 1993.

[3] Hoover, S. P., Rinderle, J. R.: Abstractions, Design Views and Focusing, Proceedings of DTM’94,ASME, DE, 68, 1994, 115-129.

[4] Oh, V. and Sharpe, J. E. E.: Conflict Management in an Interdisciplinary Design Environment, $AI$
System Support for Conceptual Design (Sharpe ed Springer-Verlag, 1996, 298-318.
[5] Sawada, H. and Yan, X.-T.: Application of $Gr6$bner Bases and Quantifier Elimination for InsightfulEngineering Design, Mathematics and Computers in Simulation, $67(1-2)$ , 2004, 135-148.
[6] Thompson, D. E.: Design Analysis, Cambridge University Press, 1999.

[7] Thornton, A. C. and Johnson, A. L.: CADET: A Software Support Tool for Constraint Processes inEmbodiment Design, Research in Engineering Design, 8(1), 1996, 1-13.
[8] 穴井宏和: Quantifier Elimination-アルゴリズム実装応用-, 数式処理，$10(1)$ , 2003, 3-12.
[9] 畑村洋太郎: 実際の設計，日刊工業新聞社，東京，1988.

[10] 沢田浩之: 数式処理的手法に基づく過少代数制約問題の数値解法，情報処理学会論文誌，40(5), 1999,2314-2324.
[11] 沢田浩之，Yan, X.-T.: 制約ベース型初期設計支援システム，数式処理，$8(2)$ , 2001, 19-35.
[12] 沢田浩之: 多項式制約間の矛盾検出法，数式処理，9(4), 2003, 36-51.
[13] 沢田浩之: 機械系システム設計への応用，数式処理，$10(1)$ , 2003, 63-70.