わんくま名古屋#33(20141115) モノ作り半生

46
わんくま同盟 名古屋勉強会 #33 1 モノ作り半生 MVP受賞記念 BluewaterSoft 2014/11/15 biac Microsoft MVP for Windows Platform Development (2014/10-2015/9)

Transcript of わんくま名古屋#33(20141115) モノ作り半生

わんくま同盟名古屋勉強会 #33 1

モノ作り半生

MVP受賞記念

BluewaterSoft

2014/11/15 biacMicrosoft MVP for Windows Platform Development (2014/10-2015/9)

わんくま同盟名古屋勉強会 #33 2

スピーカー紹介: biac as 山本 康彦

• 宇宙世紀以前の生まれスプートニク1号より3ヶ月ほど前

• 最初は HONDAクルマの設計/研究を10年くらいやってた

• 今は BluewaterSoftを名乗ってアプリ開発とか技術解説記事とか

• 昨年7月に出した本⇒技術評論社「C#によるマルチコアのための非同期/並列処理プログラミング」

わんくま同盟名古屋勉強会 #33 4

CM: CodeZine でも書いてます

• 連載C#で始めるテスト駆動開発入門

わんくま同盟名古屋勉強会 #33 5

CM …というか、余談: 「Dev Center ベネフィット」

• Windows ストア アプリと Windows Phone アプリの開発者を支援するプログラム

• ストアへの登録費用が無料になったり♪

わんくま同盟名古屋勉強会 #33 6

Microsoft MVP

わんくま同盟名古屋勉強会 #33 7

Microsoft MVP 受賞しました♪ m(_`_)m

• Microsoft MVP for Windows Platform Development(2014/10-2015/9)

• こんな賞状やらトロフィーやら

• MSDNとか色々特典いただいた

• 有効期間があります。1年間のみ

• 日本に200名以上、世界で数千名

☆ 勉強会に来てくれた人☆ 記事や本を読んでくれた人☆ アプリを使ってくれた人皆様のおかげですありがとうございます!!

わんくま同盟名古屋勉強会 #33 8

MVPって? 誰がなれるの?

• 「Microsoft Most Valuable Professional (MVP) アワードは、専門技術知識に加えて自主性と情熱を兼ね備え、マイクロソフト製品の実用的な活用方法を他のユーザーと共有している、非常に優れた技術コミュニティのリーダーに感謝の意を表した賞です。」http://mvp.microsoft.com/ja-jp/overview.aspx

• 募集は年に4回 (自薦、他薦)http://mvp.microsoft.com/ja-jp/becoming-an-mvp.aspx

わんくま同盟名古屋勉強会 #33 9

私のモノ作り半生

プログラマーになるまでの半生を語ってみます

わんくま同盟名古屋勉強会 #33 10

前口上

• 技術ネタ以外で喋るのは得意じゃないです (汗;でも、まぁ、受賞記念ってことで f(^^;

• 私の中では、自動車の開発もソフトウェアの開発も、本質的には同じです

• 私のモノ作りの「歴史」の前半を語ることで、「本質的には同じ」の部分に共鳴していただけたら! (C) 2012 Robbin Atwell

https://www.flickr.com/photos/robbin_with_2_bs/8011022403/

わんくま同盟名古屋勉強会 #33 11

製麺機

• 小学校に上がる前、自宅の隣にあった製麺工場に入り込んでは、製麺機から出てくるうどん を飽きもせずに見入っていた (…らしい)

• 小さいころから動くメカが好きだったらしい

• 1つのモーターの動力をベルトで天井のシャフトに伝え、それを複数の製麺機へ再びベルトで伝達していた (C) 2007 Laurent Fintoni

https://www.flickr.com/photos/saw_you_on_the_flipside/370726146/

わんくま同盟名古屋勉強会 #33 12

柱時計、扇風機、真空管ラジオ…

• 壊れて捨てちゃう機械を、分解するのが大好きでした♪

• 小学生低学年のころ

• バラすだけで、組み立てることなんてまだまだ出来ないんですが。どんな仕組みになっているのか知りたかったようです。

(C) 2007 datek24 https://www.flickr.com/photos/31481576@N06/2969189249/

わんくま同盟名古屋勉強会 #33 13

ゲルマニウム ラジオ

• 初めて作った電子機器は、定番のゲルマニウム ラジオ

• 小学生高学年 (たぶん4年生)

• 空気式可変コンデンサーは、真空管ラジオのジャンクを再利用した気がする

• 設計/製作法を調べて、その通りにやってみただけ

(C) 2009 Badseed http://commons.wikimedia.org/wiki/File:Homemade_radio_receiv

er_with_razorblade.JPG

(C) 2007 Arne Nordmannhttp://commons.wikimedia.org/wiki/File:Circuit_diagram_of_a_cr

ystal_radio_receiver.svg

わんくま同盟名古屋勉強会 #33 14

自転車

• 中学に入って買ってもらった自転車をバラしては組み上げたり。

• 専用工具も揃えて、高校時代には完全にパーツレベルまで(それこそ直径数ミリのボールベアリングまで) 分解/組立ができるように。

(C) 2007 twotoneams https://www.flickr.com/photos/twotone666/2151591107/

わんくま同盟名古屋勉強会 #33 15

技術家庭科 (その1)

• 中学の技術家庭科では、皆さんも木工や金工をやったかと。

• 図面も描いたけど、まだちゃんとした設計はやれてない。

• スペック決めずに、適当に線を描いてた。例えば本棚の材木の厚みを、どうやって決めたか?

(C) 2011 photosmith2011https://www.flickr.com/photos/63744740@N07/6217400229/

わんくま同盟名古屋勉強会 #33 16

技術家庭科 (その2)

• 中学の技術家庭科、最後の自由課題では、数人のチームで自動車を制作

• エンジンは教材の発電機用ガソリンエンジン。タイヤは、たしか捨ててあった一輪車のもの。フレームは木材

• ここでやった設計は、概略設計レベル (…の真似事)。あとは現物合わせ

(C) 2009 heymarchetti https://www.flickr.com/photos/csb555/3789635347

わんくま同盟名古屋勉強会 #33 17

プラモデル

• 中学から大学にかけて。ずいぶんたくさん作った気がする

• フルスクラッチするウデはなかったけど、たいてい何か改造はしてた

(C) 2011 Roland Turner https://www.flickr.com/photos/sisaphus/6348003631

わんくま同盟名古屋勉強会 #33 18

ラジコン

• やりたかったけど、お金が掛かるんで手が出せなかった

• Uコン→ボタン式→プロポと、その技術進化は追いかけてた※ 大学院の修士研究でその知識が役立つことになる

(C) 2009 Osamu Iwasaki https://www.flickr.com/photos/osamu_iwasaki/4033295521

わんくま同盟名古屋勉強会 #33 19

書籍 (その1)

• 高校では生徒会をやってたり彼女と付き合ってたりと、プラモ以外はほとんどモノを作ってる余裕がなかった

• 生徒会の会誌を編集。これも「モノ」作り。記事集め、広告集め、執筆、レイアウト、入稿、校正…

• 編集作業を一通り経験したことは、現在も役に立ってる

(C) 2010 ddio https://www.flickr.com/photos/ddio/4651889048

わんくま同盟名古屋勉強会 #33 20

書籍 (その2)

• 大学では漫画研究会で同人誌の制作もやってた。年に数冊というペース

• 写植は使わず手書き文字だったので、生徒会誌より楽だった (写植貼りはちょっとだけやった気がする)。

わんくま同盟名古屋勉強会 #33 21

自動車整備 (その1)

• 大学に入って中古のクルマを手に入れた! 整備や改造をガンガンやってた

• 整備工場の人と仲良くなって、いろいろ教えてもらった。気化器の調整や変速機の載せ替えなんかは自分でやった。腕試しに受けた整備士試験にも合格したり

(C) 2010 Robert Couse-Baker https://www.flickr.com/photos/29233640@N07/5300637864

わんくま同盟名古屋勉強会 #33 22

自動車整備 (その2)

• 当時 (40年くらい昔だw) のクルマには電子部品なんてほとんど無かった

• ガソリンの投入量を制御するのも機械仕掛け、点火時期を制御するのも機械仕掛け

• つまり、素人でもイロイロいじることが出来た (C) 2007 K. Aainsqatsi

http://commons.wikimedia.org/wiki/File:Carburetor.svg

わんくま同盟名古屋勉強会 #33 23

TK-80E

• 大学4年生 (1回目w)、研究室の予算でワンボードコンピューターのキットを買ってもらって作った

• メモリ 1KB !!

• そのプログラミングは、モノを作るという感覚ではなく、手続きをいかに短く詰め込むかばかり考えてた

• ハンド アセンブル!⇧昔は「製造工程」があった

(C) 2011 Akakage http://commons.wikimedia.org/wiki/File:TK-80.jpg

わんくま同盟名古屋勉強会 #33 24

製図の課題 (その1)

• 工学部 (航空工学) だったので、製図の課題で何度も徹夜したw

• 最初は簡単なパーツだったけど、だんだんとスペック決めが難しい課題に!例) パイプ内の圧力が指定されている(=要件)。そのパイプのフランジ継手を止め合わせるボルトを設計して描け。(要件からボルトのスペックを自分で算出しなければならない)

(C) 2008 Ikaxer http://commons.wikimedia.org/wiki/File:Flange_joint_ja.png

わんくま同盟名古屋勉強会 #33 25

製図の課題 (その2)

• 航空機の胴体線図 (胴体の曲面を表す図面) の課題では、プラモデルを組んで輪切りにしてみたり f(^^;

• 最後は、ティルトローターVTOL機 (V-22「オスプレイ」みたいなヤツ) の概略設計。当時最高のエンジンでも、成立するかどうかギリギリだったという記憶

(C) 2014 William Dougherty https://www.flickr.com/photos/126916432@N08/15458584917

(C) 2009 U.S. Air Force http://commons.wikimedia.org/wiki/File:MV-

22_Osprey_over_the_Gulf_of_Mexico_-_070330-F-4684K-

030.JPEG

わんくま同盟名古屋勉強会 #33 26

学士論文用の研究 (卒研)

• 2回目の大学4年生w、研究室のミニコンを使って、クルマのアクティブサスペンションのシミュレーション (たしか、FORTRAN)

• どこが航空学科なんだかw

※ ミニコンといっても、パソコンよりデカいよ!Wikipedia 参照

http://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%8B%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF

(C) 2010 Steve Jurvetson https://www.flickr.com/photos/jurvetson/5114191251/

わんくま同盟名古屋勉強会 #33 27

大学を出る頃のプログラマーのイメージ

• その頃、プログラマーという職業に対して持っていたイメージ

「決められた手続きを翻訳する人」

(C) 2006 Arnold Reinhold http://en.wikipedia.org/wiki/File:FortranCodingForm.agr.jpg

わんくま同盟名古屋勉強会 #33 28

修士論文用の研究 (その1)

• 大学院では、Flying Flat Bed の基礎研究 (1982年)

※ 右下の写真は、私の卒業後、名古屋大学と日立造船が共同開発を進めて1988年に公開した「FFB-1」

http://www.strange-mecha.com/aircraft/vtol/VTOL-EX.htm

http://www.wltoys.eu/quadcopter/v262/

今では 1万円くら

いから買える

わんくま同盟名古屋勉強会 #33 29

修士論文用の研究 (その2)

• Flying Flat Bed の制御を担当

• 研究の目標が「試験装置に半固定した状態で、姿勢制御が可能なことを実証する」ことだったので、サーボ等のパーツはラジコン用のものを使用してコストダウン

• 制御回路はオペアンプLSI (微分器/積分器/加算器etc.)を使った回路を設計して実装

(C) 2007 Daniel Braun http://en.wikipedia.org/wiki/File:OpAmpTransistorLevel_Colored_Labe

led.svg

(C) 2008 youngthousands https://www.flickr.com/photos/theyoungthousands/2526585455/

わんくま同盟名古屋勉強会 #33 30

HONDA 時代: 工場研修

• HONDAに入社。新人研修の一環として3ヶ月間の工場勤務。

• カンバン方式 (右のカンバンはトヨタの旧いもの) やジャストインタイム方式を実体験(本家トヨタ流とは違う)

• 製造ラインの作業は班 (チーム) 単位。誰かが遅れたり抜けたりしても臨機応変、ラインは止まらない。 (C) 2013 Francis Storr

https://www.flickr.com/photos/fstorr/10117139895

バー

コー

工場

荷卸

し場

部品

番号

数車

わんくま同盟名古屋勉強会 #33 31

HONDA 時代: 初仕事

• ちょっとしたプレス成型品の改修設計だったけど…スペックが決められん orz

• 学校でそれなりにやってきたはずだけど、現実の課題はやっぱり難しい f(^^;

• まだ手描きだった。すぐにCAD の導入が始まる

(C) 2009 Dinesh Cyanam https://www.flickr.com/photos/cdinesh/3347692662

わんくま同盟名古屋勉強会 #33 32

HONDA 時代: サスペンション設計

• HONDA 時代の前半は、設計者としてサスペンションやドライブシャフトなどの設計をやってた86モデル Accord の前サスペンション87モデル Accord の後サスペンションNS-X のドライブシャフトジョイント

• 後半は基礎研究部門に移った秘密保持の制約がキツいので悪しからず f(^^;

「プロダクト・インテグリティすり合わせの製品開発力」 2007 ダイヤモンド社

http://www.booknest.jp/detail/00001433

わんくま同盟名古屋勉強会 #33 33

HONDA 時代: 不具合再現のため海外調査へも

• 不具合は、再現テストで再現しなくなったことを確認できなければ、解決したと言えない

• 特定の環境で発生する (らしい) となれば、海外にも出向いてデータ取り

(C) 2006 Robert Lawton http://commons.wikimedia.org/wiki/File:Car_park_whirley-gig.JPG

わんくま同盟名古屋勉強会 #33 34

HONDA 時代: CADや数値解析の導入

• 入社してすぐ2次元CADの導入が始まった (CADAM)

• 最初はライトペン (右の画像)。腕が疲れたw

• 数年後、3次元CADの導入も始まる (CATIA)

• 試作部門ではNC加工機の導入が進む (私の在職中には、CADからNCデータへの直結はまだ)

(C) 2005 Grlloyd http://commons.wikimedia.org/wiki/File:HypertextEditingSystem

ConsoleBrownUniv1969.jpg

わんくま同盟名古屋勉強会 #33 35

HONDA 時代: MULTI-16 から System/370 まで

• パソコン MULTI-16 (三菱)の Multiplan で表計算するのも、ホストコンピューターで PL/I 使って数値解析プログラムを書くのも、手計算より早く結果を得るための手段。

• 出来上がったプログラム自体に興味はなかった

(C) 2007 McLoaf http://en.wikipedia.org/wiki/File:C64_Multiplan.png

(C) 2009 Andrew Back https://www.flickr.com/photos/carrierdetect/3598455187

わんくま同盟名古屋勉強会 #33 36

HONDA 時代: 量産車の開発プロセス (1/2)

• 「製造業の製品開発プロセス」(わんくま名古屋#19)より

設計→試作→試験このループを数回ほど繰り返す

わんくま同盟名古屋勉強会 #33 37

HONDA 時代: 量産車の開発プロセス (2/2)

• 「製造業に学び、越えた アジャイル開発」より

わんくま同盟名古屋勉強会 #33 38

HONDA 時代: 開発プロセスの違い

• 目的によってプロセスも変わる

量産車の開発 コンカレント&イテレーティブ設計→試作→試験をオーバーラップさせながら繰り返すやれば出来ると分かっている

研究開発 アドホックやってみないと分からない (ソフト開発に似てる)途中で問題を発見しても、そのこと自体が成果になる (ソフト開発とは反対)

レーシングチーム

自分たちが顧客でもあるアジャイル開発

わんくま同盟名古屋勉強会 #33 39

HONDA 時代: 90' ワールド ソーラー チャレンジ

• '90 World Solar Challenge(右の画像 ⇨ youtube)

• 足回りと発電シミュレーションなどを担当

(C) 2011 Gheysel Naranjo https://www.youtube.com/watch?v=2EBJA-6zJPs

(C) 2009 Hideki Kimura http://commons.wikimedia.org/wiki/File:Ggc_root.png

わんくま同盟名古屋勉強会 #33 40

HONDA 時代: Turbo C との出会い

• Turbo C 2.0 (現在は無償公開)で、車体の挙動シミュレーション

• この頃から、プログラムもモノに見えてきた。UIを付けた途端、「一連の手続き」ではなくなった

• 機械 (自動車や航空機) の何十倍もの進化スピードに魅せられた

http://edn.embarcadero.com/article/20841

わんくま同盟名古屋勉強会 #33 41

HONDA 時代: Windows 3.0 との出会い

• マルチタスクが誰でも利用できる。「これこそパーソナルコンピューターになる」と確信した。(すでに Mac はあったけど、パーソナルなお値段とは…w)

• Windows 用のプログラムなら、一般消費者の需要がきっとあるだろう!

(C) Microsoft http://en.wikipedia.org/wiki/File:Windows_3.0_workspace.png

(C) 2014 Matt https://www.flickr.com/photos/furlined/14974825043

【余談】⇨当時の自動車エンジニアにとって、

Excel と言えば、Lotus Excel !!

わんくま同盟名古屋勉強会 #33 42

ソフトウェア開発の世界へ

• 1992 HONDA 退職名古屋に戻ってきてソフト業界へ転進…

• ソフト業界 びっくり (@@;☹テスタブルなスペックを決めない☹パーツ (メソッドやクラス) のスペックを決めない☹検図 (上司によるコードレビュー) が無い (まるで基礎研究かレース)☹モノが出来てもテストの準備が出来ていない☹出来たモノを評価 (コンセプトの良否の判断) しない☹ 1回しか作らない

(C) 2009 Doug88888 https://www.flickr.com/photos/doug88888/4567912880

わんくま同盟名古屋勉強会 #33 43

以来 20年 ほど

• モノ作りとソフト業界の慣習の違いにとまどい、悩み続け

• パーツ (メソッドやクラス) のスペックを決めてから、コーディングしようよ~

• とっくに「モノ志向のプログラム」(Object-oriented Program) が全盛じゃなかったの!? (C) 2007 mbeo

https://www.flickr.com/photos/mbeo52/363469236

わんくま同盟名古屋勉強会 #33 44

最後に: ハード開発者から見た ソフト開発の魅力

• ターンアラウンドが早い♪設計→試作→試験 の中で、試作コスト (費用、時間とも)が、ほぼゼロ!

• 技術の進化が早い♪毎年くらいのペースで新技術を利用できる。10年くらい経てば、プラットフォームの根元から変革

• 一人で全部やれる♪もちろん規模によるけど (C) 2012 Robbin Atwell

https://www.flickr.com/photos/robbin_with_2_bs/8011022589/

わんくま同盟名古屋勉強会 #33 45

まとめ

• まとめになってないけど…

モノ作りは楽しいよ♪

わんくま同盟名古屋勉強会 #33 46

ご清聴ありがとうございました