日曜日, 7月 10, 2016

すべてはBOMになる。ハードウエアエンジニアに大切なこと。

BOMとは、いわゆる部品表のことだ。

ハードウエアエンジニアの最重要アウトプットとは何か。
この問いにはそれぞれ色々な答えがあると思う。
仕様書、回路図、図面、あるいはCAD上の構想図かもしれない。
だが僕は、BOMこそが最も大切なアウトプットだと思う。

製造も、購買も、営業も、すべてはBOMをベースに動く。
BOMはあらゆることを管理することができる。
価格(コスト)、数量、リードタイム、などなど、
リストの項目に何を載せるかは、設計者のセンスだ。

マスターとなるBOMに網羅的に情報を載せることで、
あらゆることが検索、フィルタリング、可視化できるようになるのだ。
製品に対して横断的に分析するにはまずBOMから始まるといっていい。

この時、重要なことがある。

  1. できるかぎりMECE(漏れなく重複なく)にリストを作ること
  2. 極力機械的に自動的に生成すること(手打ちしない)
  3. それと徹底した一元管理だ。

ここでいう一元管理とは、
マスターとなる情報に仕上げることを徹底的に意識し、
複数のリストを作らないことである。
止むを得ず複数のリストになってしまう場合は
リレーショナルデータベースとして機能するように配慮しなければ、実用的なBOMとはならない。

BOMはいくらでも拡張できる。
設計にBOMを徹底的に生かすと、設計の品位は圧倒的に卓越したものとなる。
僕はここで仕様・構想段階の、上流でのBOMの活用を提案する。
一方エンジニアは往々にしてBOMは下流に対して作るものという思い込みがある。
僕の主張は、上流、主に検討段階でBOMがものすごく役に立つ、
だから極力、上流の段階でBOMに落とし込み、開発中も常にメンテしろ
ということだ。

僕は機械設計技師なのでメカトロ系を例にして説明する。

設計で使うBOMそのものはCSVでもエクセルでもCAD組み込みの表でもいい。
リッチなリレーショナルデータベースを使っても良い。
僕はエクセルで十分に満足している。スプレッドシートで十分だ。
検索、ソート、フィルタリング、ができ、合計が分かればそれでいい。
ポイントは合計だ。エクセルでいうところのSUM()さえ使えればいい。

BOMの項目に設計パラメタを入れるとき、重要なことがある。
足し算に意味のある項目を入れることだ。
大学で微分積分やら複雑な代数学を学んだ技術者に取って
たかが足し算にどれほどの意味があるのか、疑問に思うかもしれない。
だが複雑かつ非線形でマルチパラメタな設計を
足し算に落とし込むその過程こそが
本質を見極める上で、最も大切な思考過程であり、
大学で学んだ数学や物理の知識を駆使せざるをえない、
クリエイティブな工程だ。

あらゆる最適化テクニックにおいて、パラメタを削って式を閉じる際に
評価関数を立てるが、
加重和、要するに線形結合の形をとる場合が多々有る。
また大学で線形代数を学ぶ意味の一面も、ここにあると言っていい。
本質となるパラメタは、往々にして足し算で表現できるのだ。
大学で学んだ各種数学は、そのパラメタにたどり着くために重要となる。
幾何学、写像、変換を駆使すれば、たいていのパラメタは
足し算可能なパラメタに変換できるのだ。

まず、一般的にBOMに乗る項目を眺めていこう。
コスト、利益、価格など、貨幣価値に換算できるものはもちろんBOMに乗る。
議論の余地もなくこれらは足し算可能な項目だから、
BOMに乗せるのが合理的だ。
リードタイムや納期、工期などの時間の変数もBOMに載せることは多い。
この場合、並列化できないものを抽出できるようにBOMを組み、
ボトルネックや積み上げ工期をフィルタリングでアウトプットできるように組む必要がある。
設計の面では、重量や体積は足し算可能な、BOMに乗せても自然なパラメタだ。

もう少し設計や開発に踏み込んでBOMを眺めてみよう。
僕は機械設計技術者なので例は機械関係となる。

まず、剛性はどうだろう。
技術者なら分かると思うが、足し算が成り立つパラメタではない。
部品が増えれば増えるほど、剛性は減るのだ。剛性をBOMに盛り込むのは不自然だ。
また、剛性は基準部品の基準部位に対してどの部品が撓むのか
と言う情報にも辿り着けなくてはいけない。
そこでまず、数学を使って剛性を足し算可能なパラメタに変換しよう。
とは言ってもさして難しい話ではなく、
逆数を取ってコンプライアンス(柔らかさ)で考えるのだ。
電気回路でもよくあるが、逆数を取れば足し算可能になるパラメータは数多い。
インピーダンス(フローとエフォートの割り算)が関係してくる場面だ。
コンプライアンス、要するに柔らかさは足し算可能なパラメタだ。
だから部品表にコンプライアンスの項目を追加し、積算可能な形にすることは意味のあることだ。
次は、製品の中で、どこからどこまでの剛性に興味があるかを抽出する必要がある。
この時、メカループが定義され、リストの項目に明示してあり、
メカループ毎にコンプライアンスが抽出できるようになっている必要がある。
ここまで来たら、フィルタ一発でコンプライアンスを積み上げ計算し、その逆数を取るだけで剛性が一発計算できる環境にたどり着けるというわけだ。

強度もまた足し算していいパラメタでは、ない。
最弱リンク仮説に基づくのでリストに対して意味のある計算はSUM()ではなくMIN()だ。
ちょっとBOM化するのは少し魅力がないが、乗せておいて損はない。

MTBFの逆数は非常に重要な、BOMに載せるべきパラメタの一つだ。
MTBFそのものは足し算に意味は無い。

誤差はどうだろう。
これまた単純に和を取っていいものでは無い。
だがこれもメカループでのフィルタリングができるならば
数学で和に変換できる。
標準偏差の次元では足し算できないが、分散は足し算できるのである。
これを分散の加法性と言う。
分散の加法性は中心極限定理から説明することもできるし、
分散が2次のモーメント量という点からエネルギーに類似したパラメタとして
足し算が可能であるという説明もできる。
BOMに分散を盛り込み、フィルタ積算した値の平方根を取れば
それがユニットの誤差推定値となりうるのだ。

強度、剛性、誤差を例として挙げたがその他幾何学的なこと、要するに寸法関係も
ちゃんとフィルタで抽出できれば意味のある演算と成り得る。
メカ関係の設計パラメタをマスターBOMで管理する際に重要なことは
とにかく興味あることに対してメカループが定義され、
抽出可能な状況になっていることだ。
何がメカループなのかを考え抜くことそのものが
設計であると僕は思っている。

もっと一般化した話をすると
そもそもあらゆる機械は、
基本機能が関数の入出力としてリニアに定義されるべきなのだ。
理由は機械とは基本的にエネルギー変換機構として働く場合が多く
その場合、基本機能がリニアな、線形な関数として入出力を
何らか定義することができる。
これは品質工学的な見地だ。
ここまでたどり着くには対象となる機械の機能とは何かについて
とことん考え抜くことになるのだが、結局はエネルギー変換に行き着く。
すると、その次元だとスカラー足し算可能な境地にたどり着くのだ。
そこまで行くと後は損失関数という概念を使うことで、
すべての機能を金額換算できてしまう。
すると、すべてはBOMでコントロール可能だということだ。

微積分やら各種の変換、写像、線形化、次元削減、
様々なテクニックを大学で学んだと思うがそれらはすべて
現象を足し算に落とし込むための道しるべと言っても過言ではない。
僕は日本の学校教育は良くできていると思う。

まとめる。

  • 複雑な現象は工学的テクニックにより、足し算に落とし込める。
  • 足し算に落とし込めばBOMで一元管理できる。
  • BOMで一元管理すれば、検索、フィルタリング、可視化などの横断的分析が圧倒的に捗る
  • 複雑な現象は大抵はエネルギー変換に落とし込んで足し算で管理できるばかりか
  • 損失関数により金額換算できてしまうのでBOMに落とし込むことは自然である。
  • だから開発の上流で開発用のBOMをさっさと作り込むことこそが究極のフロントローディング開発となる。
  • これらの見地はハードウエア開発で特に有効である。


以上、BOMの重要性でした。



ADHDが天才になるためのヒント。集中力はマネジメントすべき有限の資産だ。

僕は我ながらADHDっぽいところが多々あるなぁと自覚している。
ADHDとはAttention Deficit Hyperactivity Disorderの略で、
日本語で言うところの注意欠陥・多動性障害だ。

その行動障害が社会生活の差し障りとなっている場合、
この病名が付与される。

僕は、診断を食らった訳ではない。
その資質は大いにあるが、おそらく病的ではない。
仕事もクビにならず、むしろ理系サラリーマンエンジニアとして
ADHDならではの過集中を仕事に戦略的かつ最大限生かし、生活している。
だから病気ではなく、個性の範疇だ。

僕の興味の対象がたまたま自然科学と工学分野だったのは不幸中の幸い、
いや、むしろ軽度のADHDだったからこそ、今の僕がある、と思っている。

ADHDとは、精神病の一つの枠組みというだけだ。
鬱やらアスペルガー同様に、症状や程度は人それぞれ異なる。
ADHDの典型的な症例(社会生活上の困難)は
不注意、過活動、衝動性だと言われる。
要するに、
興味無いことを無視してしまう。
興味のある領域が狭い。
その一方で興味あることに対しては無性にアグレッシブ。
これがADHDだ。
ある種の天才になれる、それもADHDだ。
個性か、はたまた病気か、あるいは才能と呼んでいいかは
人それぞれだ。

ただ、サラリーマンとして活躍できるか否かは
この病気?と正しく向き合い、
適切な対応が出来るか否か
にかかっていると僕は捉えている。

自覚して、
戦略的に対処すれば、
これは何物にも代えがたいほどの
魅力的な個性となりうると、
僕は確信している。

その魅力とは、スイッチが入った時の異様な集中力だ。
一般的にこれは過集中と呼ばれる。

双極性障害、アスペルガー症候群でもこう言った過集中は起こりうる。
健常者だと、どうだろうか。僕には健常者の気持ちは分からないが
おそらく大抵の健常者には集中力で勝てるだろう。

もし、興味の対象が生産的・有意義なことであれば
その人は無敵となりうるのだ。

ただ、ADHDはその集中力をマネジメントすることが大変苦手だ
おおよそ不可能と言っていい。そもそもそれが可能なら病気じゃない。

一方、サラリーマンエンジニアに限らず、
なんらかの分野でプロであるという意味は
コンスタントに結果を出せるということだ。

コンスタントに、安定して、アウトプットを出すというのは
ADHDの人にとって最も過酷な課題といえる。

そこでこの記事では
集中力とはマネジメントすべき有限のリソースである
という概念を提案したい。

健常者だとちょっと想像し難いかもしれないが、
ADHDの人は集中力を管理できない。
しかも、スイッチさえ入ったら一気になんでもやれちゃうから、
気分が乗らない時は何もしないのだ。
基本的になんでも先延ばしである。
そう、学生時代になんでも一夜漬けで勉強してしまい、
その上、そのスイッチ入っちゃった時の卓越した集中力で
なんとか乗り切ってしまうという、
ある種、不幸な成功体験をたくさん持っているのである。
言うまでもなく僕もそんな人間だ。

こういうメンタリティーの人間は、
コンスタントな結果が求められる社会に出てから苦労する。
もちろん僕は苦労した。

そんな苦労の中で、社会人として、ADHDとして、学んだことをここで伝えたい。

結論はシンプルだ。

  1. 過集中は過度に疲れるので、割に合わない。
  2. そもそも集中力は有限のリソース。意識的にコントロールすべき
  3. アウトプットを最大化するには「適正な集中」が必要。
  4. 瞑想で集中力の総量は少し上げることができる。
  5. 過集中は瞑想で得た冴えた気分を台無しにする。
  6. 瞑想後はいつでも過集中に入れるがお勧めしない

以上である。

過集中はとにかく疲れる。虚脱とセットの行為であると言って差し支えない。
虚脱とは、すべての集中力がなくなる時間のことだが
大抵、過集中していた時間の数倍の虚脱が待っている。
過集中を仕事で使うとせいぜい3時間くらいしかもたない。
午前中に過集中で仕事すると午後は消化試合になる。
1日の仕事のアウトプットを最大化させるには適正な集中を続けるしかない。
ADHDな人にとって「適正に集中する」というのは死ぬほど難しい
ことであることは百も承知だが、それでも
声を大にして、僕は言いたい。
重要なのは適正な集中である。
それが1日の仕事の総量を最大化させるコツだ。
まずは適正な集中を目指し、過集中を避ける。
これがADHDサラリーマンへのアドバイスだ。

集中力が有限のリソースであるという事実も仕事をする上では見逃せない。
体力ややる気同様に集中力も有限の資産であり、予算があるのだ。
集中力を仕事でどう分配するつもりなのか、
ちゃんと意識して仕事することはとても大事なことだ。
集中したら、疲れるから、休憩する。
集中に対する休憩は、ボンヤリするか、心を無にするか、寝る、しかない。
休憩中にスマホを弄るなんて、とんでもない話である。それは休憩にならない。
休憩できたかどうかの目安は、また集中できるか、である。
休憩後に集中力が上がらないのであれば、それは休憩とは言えない。

欲しい時に欲しいだけの集中ができる人というのはそれほど多くはないだろう。
ジョギングやら筋トレ、コーヒーなど、人それぞれルーチンはあると思うが
僕は瞑想をお勧めする。
瞑想のやり方はこちらで説明する。
瞑想で得られる気分を僕は瞑想的気分と言っているが、
この状態になるといつでも集中した状態に入れる。かなり便利だ。

瞑想的気分は再現性よく集中した状態に入れるが、
過集中は瞑想的気分をなぜかぶち壊す。

以上
集中力をマネジメントする意識をもてるかどうか
がADHD気味の人への成功のアドバイス
という話でした。




日曜日, 4月 10, 2016

渡良瀬バルーンレース3日目


第1戦渡良瀬大会が無事競技終了しました。
世界有数のレベルの選手と戦えたことは僕にとってとても貴重な体験でした。
まぁ地上でチェイスしていただけですけれど。。。
i join a Team Scaife.




土曜日, 4月 09, 2016

渡良瀬バルーンレース 2日目速報

全日本熱気球選手権第1戦渡良瀬バルーンレースにて
Team Scaife Hot Air Balloon Teamを手伝っております。

現在、暫定2位!!
オーストラリアチャンピョンスゲェェェええええ

なお俺は力仕事しているだけです。




金曜日, 4月 08, 2016

2016 渡良瀬バルーンレース初日 with Team Scaife

https://www.facebook.com/teamscaife/
Team Scaife hotter balloonを手伝っております!!
まずは大会速報です。



























金曜日, 5月 08, 2015

GW中の朝活(早朝ツーリング)

今年のGWは友人と長野旅行行ったり、
彼女とウエディングフェア行ったり、
なんだかんだで長距離ツーリングはしていないのですが
朝っぱら暇さえあれば近所の峠に通っていました。
足利の山奥に入る前のコンビニ休憩。
Ready to ride

奥桐生を満喫した後の草木ダム。

GWの草木ダムは天気最高でヒャッハー

東秩父の山奥。
秩父の舗装林道はモタードWRに最適な速度レンジで
楽しすぎます。

秩父満喫後の休憩。
舗装林道走った後はだいたい疲れ切っていて
いつも帰るのが死ぬほどだるいです。

土曜日, 4月 18, 2015

新春!秩父つーりんぐ

 午前4時起きで秩父までお散歩いってきました。
寒いっちゃ寒いけど凍えるほどではなく。
タイヤもちゃんと温まるからようやくバイクシーズン到来かな!!

朝日を拝んだのはターマック林道に突入してから。
朝は清々しくて良いです!

 モタホイールだけど少しだけ林道もお散歩しました。
のんびり走る分にはモタで十分です。

定峰峠に着いたのがざっと午前6時。
いつもライダーで賑わっている場所ですが
さすがにこの時間は誰もいませんでした。

慣らし運転完了後、初めてのツーリングだったわけですが
エンジン絶好調すぎてやばい。
プラシーボなのか本当に良くなったのか
これまで確信が持てなかったけど今日はっきりとわかったね。
新車よりぜんぜんフケる!はぇぇええ!スムーズ!

処理代と部品代で7まんえんくらいかかったけど
DLCしといてほんとよかった。

木曜日, 4月 16, 2015

WR250R インプレ Eg-OH 慣らし運転完了

WR250Rの慣らし運転が終了しました。
我慢できず終わらせてしまった感、正直あります。
たったの800kmで挫折。もうじゃんじゃんぶん回しています。

まぁ完全新品エンジンじゃないからいいか。
とりま400km毎に2回オイル交換してみました。
現在延走行距離は33000km。いやぁ、
まだ買ってから2年もたってないんだけどよく走ったものだ。

たぶんまだミッションには当たり付いていない。
なにせミッションは完全新品だからな。
ノリで新品にしたのは失敗だった。
慣らしがむちゃめんどくさい。鉄粉でまくり。
ケチらずにちゃんとバリとりがてらWPCでもやっとくべきだった。
むしろオイル代がもったいないわ。

腰下はまぁそんなに手を入れてないから慣らし的には気にしてない。
腰上は仕上がったんじゃないかと。色々交換しといてよかった。
エンジンOH完了後500kmくらいから
随分とエンジンがよく回るようになりまして
大変ご満悦です。
エンジン組んでくれた職人の技なのか
はたまた各部に投入したDLC(ダイアモンドライクカーボン)
皮膜のなせる技なのか。。。
さっぱり切り分けできませんがとにかくいい感じに仕上がりました。
とてつもなくシルキーな回転フィーリングです!
メカニカルノイズも皆無!超静か。
低フリクション!スカッと回る!スムーズ!

吸気、排気、エンジン内部、サブコンなどなど
何十万円も金と手間かけた甲斐あって
250cc公道史上最強エンジンが仕上がったのではないかと自負しております。
やってみたいことはだいたいやりきりました。エンジン周りは完成です。
残すは足回りのフルチューニングのみ。

毎朝通勤中にニヤニヤできてとても幸せです。
いやほんと完調なエンジンは人生を豊かにするよ!!

土曜日, 4月 11, 2015

仕事で活用!エクセルで誤差計算してみる。モンテカルロシミュレーションの例題

エクセルがあればモンテカルロ計算は簡単です。
グーグルドライブで計算例のエクセルシートを作成しました。
どうぞ仕事に活用してみてください

EXCEL Monte carlo simulation

一様分布による積み木の累積高さ誤差シミュレーションと
ボックスミューラー法による正規分布での
積み木の累積高さ誤差シミュレーションを例題としています。

質問等はコメント欄に。

誤差計算の考え方を知りたい方は下記記事を参照してください。

【公差解析】二乗和平方根の注意点まとめ 機械設計や研究開発での誤差計算

乱数列の作り方は簡単です。


狙い値A、ばらつきB、すなわちA±Bを一様分布で作り出すときは
=A + B*(RAND()-0.5)

正規分布乱数でシミュレーションするときは

標準偏差σをどうするかが各技術者のノウハウとなります。

例えば3σ=Bと仮定するなら、σをB/3として

=A + σ*SQRT(-2*LN(RAND()))*COS(2*PI()*RAND())
として乱数列を生成します。
ボックスミューラー法のエクセルでの表記)

標準偏差と公差の関係に自信が無いときとノウハウが無いときは
一様分布によるモンテカルロ・シミュレーションを試してください。
3σ正規分布による試算と比較して1.7倍くらい安全側にマージンができます。

σを決めたいときはちゃんと実測して統計量を把握しておきましょう。
ここはとても重要なノウハウとなります。


ちなみに試行回数は少なめで例題を作りました。
試行回数は欲しい精度で変わります。
精度を一桁上げるには試行回数は2桁上げてください。
精度10倍にしたければ、試行回数は100倍です。

歩留まり計算などを行うとき、計算精度はとても重要になります。

品質の良いモンテカルロを行いたければ試行回数はもちろんのこと
メルセンヌツイスターなどの良質な乱数を使いましょう。

エクセルでメルセンヌ・ツイスターを使いたい場合は
NtRandというライブラリが便利です。

4σレベルで歩留まり計算をやるときなんかは正規分布の品質が命!!