[22日目] 出張先は展示会ではなく、城塞都市での大規模コスプレイベントだった

またひとつ、素敵な物語が最終回を迎えてしまいました、今一番行きたい場所はバルセロナ大聖堂、谷口です。
普段は調達業務を担当していますが、最近は、海外出張に行かせてもらう機会が増えてきました。先月頭イタリアで行われたイベントのレポートを書いてみたいと思います。

 

イタリアと言えば、ローマ、ミラノ、フィレンツェなど、美味しい食事に綺麗な風景が楽しめ、計画を練ってじっくり巡るもよし、ぶらり街歩きするもよしということで、旅行経験ある方も多いのかなと思います。
けれど、そのなかのルッカという城塞都市で行われる「Lucca comics & Games」というイベントをご存知でしょうか。
とりあえず城塞都市ってこの響き、やばいですよねわくわくしますよね。
ルッカはフィレンツェから北西に車で約1時間、電車でも1.5時間程の距離にある古き良き街並みを残した、普段はとても穏やかな田舎町です。ただし年に1度、このイベントの期間中は35万人(昨年期間合計)もの人が集まり、大通りはある時期の国際展示場並みに混雑します。
今回わたしはそのイベントのJAPAN TOWNと呼ばれるエリアで、ドミネーターの展示・販売をしてきました。日本のアニメグッズ企業さんや、和装小物や浅葱の羽織販売のお店などが集まるエリアです。

Lucca_03
茶色は建物、黄緑は芝生、黄色がブースの特設テントなイメージです。

ゲームやコミックや映画、ジャンルで大まかにエリアが分かれてはいますが、街中の広場や公園にテントを建てているので良くも悪くも点在しています。お目当てを巡りながらお腹が空いたらピザ食べて、ちょっと疲れたらジェラートで回復して、気ままに歩き回れる雰囲気、よかったです。

規模感で言えば世界最大級の集客数を誇る!割に、パリのJapan Expoや、欧米諸国でのコミコンに比べ、あまり日本では情報を見かけないように感じます。正直私も、今回の出張が決まるまでイベントの存在すら知りませんでした。
今回の日程は10/28~11/1の5日間、日ごとに入場券の購入が必要で、平日は€34~、日曜で一番賑わうだろう10/30は€80! にも関わらず、チケットはSold out。

お客さんの一人が、イタリアや近郊諸国ではとても有名なイベントで、この日の為にお金を貯めて年一の楽しみにして来るんだよと話してくれました。華やかなイメージと対照的に、失業率の話題がシビアなイタリアで、その規模を維持しているのは凄いなというか、多くの人に求められてる空間なんだろうなとも感じました。

改めてすごいなと思うのは、石畳に煉瓦の壁にゴシックな教会、中世を感じる街並みでした。雑多なくらいにジャンルが入り混じったコスプレでも、雰囲気があいまって全てにハクもたせてくれるのが、本当にすごい。

Lucca_01

アニメキャラも映画のヒロインも、リビングデッドな仮装も、カップルや友人同士やファミリーも。歩いてるだけ座ってるだけでも鮮やかで、単純に目が楽しかったです。

Lucca04
城壁といえばやっぱり思い出すのはこのアニメ、こう、なんというか、込み上げてくるものがあります……思わず右手胸にあてましたもん……、ショコラティエの前はズルかったなーーー

ある海賊一味が騒ぎながら通り抜けて行ったり、ある自宅警備員さんも海外派遣されていたり。ポーズをとってても自然な表情でも、どこでシャッターを押しても、無機質なものが写り込まないってことが、作品としての物語の背景にすらなってくれてるような存在感でした。

Lucca_02
青空の元、歴史的な建造物の乳白を背景に撮るもよし。並木がちょうど紅葉する時期、城壁の上の遊歩道で夕日をちょっと見下ろすアングルでコントラストつけて撮るもよし、異世界ファンタジーな格好もよし、中世スチームパンクな装いは馴染みすぎてとてもよし。
遊園地のハリボテではない普段は人が生活している空間なのに、こんなにも非日常な風景になるのが冷静になるととても不思議で、でも、半数と言ってもいい位沢山の人がコスプレしている事で説得力が出るのかなと思いました。

アニメ好きさんだけという訳ではなくハロウィンということも相まって、観光客やイタリアの人もお祭り気分で来るようです。おかげで、普段あまり見ていただく機会がなかなか少ない小学生や年配の方々にも触ってもらえました。ドミネーターは元々開発メンバーとして関わってきた製品でもあるので、「Figata!!」って驚く顔やリアクションと、笑顔を沢山見れて、好きや楽しいを共有できるの嬉しいなと素直に感じました。
また製品からアニメ原作に興味持ってくれた方も多かったので、これをきっかけに作品がまた盛り上がってくれるといいなと思いました。

現地では残念ながら写真をあまり撮れなかったので、絵日記風にしてみました。が!機会があったら、ぜひともカメラを持っておめかしして、不思議空間を楽しみに行ってみてください。

[21日目] LiveShell Xに装着できる「角度調整足 兼 microSDカードカバー」の作り方

はじめまして。デザインエンジニアの横田です。最近は、ライブ配信機器「LiveShell X」のデザインとメカを担当しました。そこで、せっかくなので今回のアドベントブログのテーマもLiveShell Xに関係するものにしてみました。

LiveShell Xに見られるネジ穴たち

LiveShell Xの筐体をよく見ると、今までのLiveShellシリーズの筐体と比べるとネジ穴の数が多い事がわかるかと思います。

これは、いままでのシリーズを使われているお客様の貴重なご意見も参考に、リグ、ラックをはじめ、いろいろな場所に取り付けられること等を想定した為です。最終的には「右側面、左側面にそれぞれM4ネジ穴を2つ(合計4つ)」「底面と側面に三脚用のネジ穴を1箇所ずつ(合計2つ)」を搭載することになりました。

そんなネジ穴たちですが、いろんな箇所への取り付けに使えるのはもちろんの事、工夫次第で色々使えそうな気がしてきますよね。そこで、今回は固定以外の使い方の一例として、録画中にうっかりSDカードがはずれないような「角度調整足 兼 microSDカードカバー」になるような部品をレーザーカッターで作ってみました。作り方を簡単に紹介してみたいと思います。

1. 外形図のpdfをダウンロード

LiveShell X公式サイトのSPECのページから、外形図のpdfをダウンロードすることができます。まずはそちらをダウンロードしましょう。

2. 部品のデータを書く

ダウンロードした外形図のpdfをイラストレーターで開き、ネジ穴の位置に合わせ「角度調整足 兼 microSDカードカバー」のデータを作成します。


↑外形図から側面のみを抜き出し、それに合わせて部品データを作成します。


↑レーザーカッターで切り出すために、部品だけのデータにしておきます。

3. レーザーカッターで切り出し

データができたら、アクリル板(厚さ2mm)をレーザーカッターで切り出します。


↑レーザーカッターで切り出し中。


↑切り出された部品。

4. 組み立て

完成した部品を、M4のローレット飾りねじで筐体に取り付けます。

5. 完成

完成状態は下記写真のとおりです。


↑アクリル板部品でmicroSDスロット部分を覆い、直接microSDカードを触れないようにしています。microSDカードが差さっているかどうかが確認出来るように、アクリル板は透明を使用しました。


↑同じ部品を反対側側面にも装着すると、角度調整足にもなります。通常状態から角度調整足状態にするには、ローレットねじを緩め部品を回転させ、くぼみに合わせてネジをとめればOKです。


↑卓上に置いた時に角度がつけられる。

最後に

今回は、LiveShell XのM4ねじ穴の、固定以外の使い方の参考として「角度調整足 兼 microSDカードカバー」の作り方を書いてみました。あくまで一例ですが、参考になれば幸いです。

[20日目] 基板を起こしてモータを動かそう

男の子ならいくつになっても動くオモチャって楽しいですよね。エンジンやモータが好物です。電気エンジニアのべーたです。

今回は簡単にモータを回して遊ぶ方法をご紹介します。
趣味で工作をされる方にはArduinoやmbedで動かしている人が多いので、それらとは違うアプローチで動かしてみます。
 

サーボモータを動かす

ラジコンサーボを動かしてみましょう。ラジコンや工作をする方にはおなじみのアクチュエータですね。こんなやつです。

DSC_0677

MG-90S (Tower Pro 社製)

制御回路やモータドライバ、ギアやポジションセンサがパッケージングされている便利なモータです。

電源と、たった1本の信号線を繋ぐだけで動作させられるので簡単に扱うことができます。サーボモータは目標角度の指令を入力すると出力軸が目標角度まで回転します。ミニ四駆に入っているようなブラシモータとは違って何回転も回すことはできませんが、ある角度の範囲内であれば大きな力で指令の向きまで出力軸の向きを変えてくれます。

どんな信号が必要か

一般的な小型のサーボでは電源電圧に4.8から6Vを与えます。位置指令はパルスの長さで与えます。このとき、パルスの長さが1.5ms(ミリ秒)で中央となり、そこから±0.5ms程度でそれぞれ両端まで動くサーボが多いようです。これについては様々な方が解説してくれているのでそちらへ譲ります(「サーボ 動かし方」などでググって下さい)。

ところで、サーボへ入力するパルスの電圧振幅はどれくらいが良いのでしょうか。一般的には、LレベルはGNDでHレベルはサーボに与えている電源電圧でしょう。

では、ちょっと真面目に考えてみます。サーボモータのトルクを目いっぱい使いたい時には6Vの電源を用意するでしょう。しかし6Vの信号を出力できるマイコンはそうそう無いはずです。逆にマイコンが5Vや3.3Vで動作している場合はサーボの電源も合わせて5Vや3.3Vを供給しなければならないでしょうか?

私が実際にサーボモータに6Vを供給し、マイコンから3.3Vのパルスをサーボに与えてみたところ、正常に動作することを確認しました。手元で1台動いたからと言っても100台で正しく動くでしょうか?1000台では……?設計者がもしもこのままサーボを量産で使ったとしたら歩留まりが気になって眠れなくなってしまいます。実際にはどれくらいの電圧の信号が許容されるのでしょうか?エビデンスを残しましょう。

その答えはサーボモータに内蔵されている制御回路を司るICのデータシートにありました。電気エンジニアにとっては非常にメジャーなICメーカに新日本無線という会社があります。このメーカがサーボに内蔵されている制御用ICを製造しているようです(互換品をルネサスや中国メーカも製造しています。電気的仕様もほぼ同じようです)。

では、NJM2611のデータシートを見てみましょう。注目すべきは「電気的特性」の表です。

電気的特性

NJM2611データシートより

「最小パルス電圧」という項目がありました。所謂「Hレベルの入力電圧VIH」と同様のパラメータでしょう。これによると「最小1.85V」とあります。言い換えると、Hレベルが1.85V以上のパルスを与えれば良いということになります。

これで3.3Vや5V振幅のパルスで問題ないというエビデンスが得られました。すっきりしましたね。(どうやら他メーカのサーボコントローラICも同様の入力特性であり、おおよそTTLレベルと考えて良さそうです)
 

マイコンを動かそう

さて、どのような信号を用意すれば良いのかがわかったので実際に信号を作っていきましょう。マイコンからはパルス幅が最小1ms, 最大2msのワンショットパルスを出力することにします。それをタイマ割り込みで20ms程度毎に出力すれば良いでしょう。こういう場合にトラディショナルなマイコンであれば、

タイマのレジスタを探す → ワンショット動作&ピン出力に設定 → コンペア値をセット

というような手順を踏むかと思います。最近の高級な開発環境であればタイマ周りの設定をするAPIが提供されていて、それを叩く方が多いでしょうか。そこで、今回はモータを回すのが目的なので、面倒な設定を考えずに済むPSoC5LPを使ってみます。PSoC5LPとは、ARM Cortex-M3コアとプログラマブルロジックを搭載したマイコンです。このプログラマブルロジックを使うにはGUIで線を繋いでいくだけできます。ペリフェラルを自由に構成することができるため、PWMをたくさん欲しい時に重宝します。他にどのような活用方法があるのかは拙著のプレゼン資料をご覧いただくか、ちょうど PSoC Advent Calendar 2016 が開催されています。こちらを眺めてみると良いでしょう。私が初めてPSoC5を使った時はマイコンのアーキテクチャを意識せずに扱えるのがとても新鮮だったことを覚えています。

今回はPSoC Creator にて提供されているPWMコンポーネントを使います。ツリーからPWMと出力ピン、クロックを持ってきてこのように繋ぎました。リセットを操作するためにControlRegを接続しました。

コンポーネントの配置と配線

コンポーネントの配置と配線

パルス幅の分解能を10us単位にすると扱いやすそうだったのでクロック入力は100kHzとしました。8bit幅なので0.01msから2.55msまでのパルスを生成できます。続いてPWMコンポーネントをダブルクリックして表示されるダイアログを設定します。

PWMコンポーネントの設定

PWM

PWMコンポーネントの設定

こんな感じにしてみました。

ポイントは Run Mode を “One Shot with Single Trigger” にするところでしょうか。デフォルトの “Continuous” のままでは間髪入れずにパルスが出続けてしまいます。ワンショット動作であれば、Trigger後に1つしかパルスが出ないので、トリガをソフトウェアから適切なタイミングで与えるようにします。
 

基板を作る

サーボを動かせそうな目処が立ったので、せっかくなので基板を起こしてみます。そのほうがたくさんのサーボを接続するのが楽です。

最近は無料でもそれなりの機能をもっていて、回路図から基板ガーバ作成までできるソフトウェアが増えてきました。CircuitMaker(オススメ)KiCAD(日本語文献が豊富)DesignsparkPCBなどが流行っているようです。更に、格安で基板を作れるサービスも増えてきました。スイッチサイエンスPCB(日本語で利用可)やSeeedStudioのFusionPCB(オプション豊富で安い)、ElecrowのPCB Prototyping service(基板だけでなくステンシルも安い)などが非常に安価に利用可能です。5cm角の両面基板なら10枚で10ドル程度から製造してくれます。ユニバーサル基板と変わらない値段ですね。

では、まずは好きなCADを使って回路図を引きます。PSoCはIOピンを非常に自由に割当可能なのでざっくり適当に引きます。

回路図

これを

ここから基板を引きます。モータ用電源はマイコンとは分離してアートワークするのがポイントです。

基板

こうして

こうしてできたデータを今回はElecrowで製造してみました。基板が9.5ドルと送料がOCSで13.23ドルでした。

こうじゃ

こうじゃ

部品をはんだ付けして完成です。

要求電流の見当がつかない上に、電流をたくさん流せるような電源コネクタを用意するのが面倒だったので、横着して圧着端子直付けにしてしまいました。良い子のエンジニアは真似しないでくださいね。これは後々サーボの評価とキャリブレーションに使う予定です。
 

ソースコード

PWMやControlRegはAPIを使って操作します。APIのリファレンスはデータシートを読んでいただくとして、叩く必要のあるAPIは以下で済みそうです。

void PWM_Start(void)

void PWM_WriteCompare(uint8/16 compare)

void ControlReg_Write (uint8 control)

これらを、タイミングよく操作するために一定間隔で割り込みを発生させます。プログラマブルロジックをなるべく消費したくないので、ARM系CPUが必ず持っているSystickと呼ばれるカウンタを使ってみます。設定は以下です。

CyIntSetSysVector(15,<割り込みルーチンへのポインタ>);

SysTick_Config( (<バスクロックの周波数>) / <割り込み周波数>);

これらを使ってサイン波のテーブルを順次読み出すようにしてみました(ソースはこちら)。

動作確認ができました。この基板はサーボをたくさん接続できるようにしたので、せっかくなので繋いでみます。Creator上でコンポーネントを並べます。コピペを多用します。

PWMコンポーネント1つあたり2本のPWMを出せます

PWMコンポーネント1つあたり2本のPWMを出せます

コードも同様にコピペで増やします(ソースはこちら)。

それぞれのサーボが独立して動いているのがおわかりいただけるでしょうか。ハードウェアタイマを使って16本のPWMを出力しています。他のマイコンではなかなかできない芸当ですよね。

この状態でもまだまだ半分以上のリソースが余っているので50本以上のPWMを出力することができそうです。サーボに限らず一般的なDCモータやブラシレスモータも楽に駆動できそうです。
 

たくさんのモータを回しています

という事で、絶賛開発中のタチコマには20を超えるモータが搭載されています。現在は様々なアクションを楽しんでいただけるよう調整を行っています。もちろん、機能はモータだけではないですよ。これからの発表を是非楽しみにしていてください。

ぼくタチコマ

ぼくタチコマ

※写真は開発中のものです。
 

Reference:

Cerevo Blog: 「攻殻機動隊」に登場するタチコマを現実世界に再現するプロジェクトを開始
Engadget Japanese: Cerevo、1/8スケールの『タチコマ』をニコニコ超会議で披露。クラウド経由で学習内容の並列化機能も搭載予定?

[19日目] 徳で人生を豊かに。ボードゲーム「枯山水」自動得点計算で、めざせ快適徳ライフ!

こんにちは!組込みソフトウェアエンジニアの村田です。今年入社したばかりなのでまだ「これやってます!」みたいなことは言えないのですが、それでも強く生きています。さてTech Blogということで技術情報について何にしようか悩んでたのですが、最近の流行りに乗って機械学習を簡単にやってみるというテーマにしました。キーワードは「枯山水」と「TensorFlow」です。

枯山水とTensorFlowの関係

まずはキーワードである「枯山水」と「TensorFlow」について紹介しましょう。

枯山水のルール

図1. 枯山水(ボードゲーム)のルール

「枯山水」とは”水のない庭のことで、池や遣水などの水を用いずに石や砂などにより山水の風景を表現する庭園様式”(Wikipediaより)のことです。ヘッダーの画像は「京都フリー写真素材」の素材を使わせてもらっています。そして、この枯山水を自分で作るボードゲームがあるのです。ルールは簡単!「砂タイル」と「石」をおいて図1右側にあるような美しい庭を作ります。タイル同士のつながりや石の配置によって得点を計算するのですがこれが手順が多くてめんどくさい。以下に点数計算の手順を列挙します。

 

  1. 砂の基礎点
  2. 苔の基礎点
  3. 対称性ボーナス
  4. 渦ボーナス
  5. 砂紋の評価
  6. 石の基礎点
  7. 石組みの評価
  8. 名庭園

めんどくさくなったら自動化するのがプログラマですよね。というわけで、図1の右側にあるようTensorFlow_logoな庭園画像を画像処理して点数を計算します。ここで登場するのが「TensorFlow」なわけです。これはGoogleが開発している機械学習用のライブラリで、誰でも使うことができます。機械学習とは機械が学習をしてそれをもとになにかをするというものですが、最近では囲碁とか将棋のAIで使われていることがニュースでやっていたりしますよね。あれです。TensorFlowについて詳しく知りたい方はここをご覧ください。

Let’s TensorFlow!

学習モデル

では、さっそくTensorFlowをつかって機械学習していきましょう。TensorFlowを使うにはどういった画像を入力して何を出力してもらうかを決めなければいけません。枯山水の得点計算の方法には以下の2つの手法が考えられます。

<手法1> 入力:庭園画像→出力:点数

図2. 手法1の入力と出力の関係

図2. 手法1の入力と出力の関係

図2を御覧ください。左の??点となっている画像がこれから得点計算をさせたい画像になります。真ん中は入力と似たような画像にラベルと呼ばれるものをセットにしてニューラルネットワークに学習させています。学習データをもとにこの画像が何点っぽいのかという出力が出てきます。

この手法では画像の前処理も後処理も必要なく、ニューラルネットワークの処理のみで構成できるのがいいところです。この場合、学習には完成形の庭の写真とそれに対応する点数をラベルとして用います。入力には画像全体を使うことになるので画素数の設定によっては処理が非常に遅くなってしまうという問題がある一方、枯山水においては取りうる点数が0~100点(実際に取ることになる点数の範囲はもっと狭い)だけなので出力が最大で101個だけで済みます。

この学習方法には一つ問題があります。学習データの用意が非常に手間なのです。この学習に一つの点数あたり100枚ぐらいとりあえず用意すると1万枚のデータが必要になります。枯山水で遊び、ゲームが終わるたびに写真を取って点数ラベルを付ける作業によって4枚の学習セットが得られ、1ゲームあたりにかかる時間は約1時間で、それぞれのゲームで最大4枚の庭が完成します。データ数が10000個なので、2500ゲーム。つまり2500時間。ぶっ通しでやると不眠不休で約104日間枯山水をやらなければいけないのです。

<手法2>入力:タイル画像→出力:タイルの種類

図3. 手法2の入力と出力の関係

図3. 手法2の入力と出力の関係

図3は手法2のデータの流れになります。今度はニューラルネットワークには点数を出すのではなく、タイルの順序をだしてもらおうという手法です。まず、庭園画像を左上から右下へむかって番号をつけ、それぞれのタイルの画像を切り出します。この切り出した画像をおなじようにタイルのみの画像で学習したニューラルネットワークに突っ込んで庭園の何番目のタイルはIDいくつですという結果を出力してもらいます。そしてこの結果をもとに得点計算のプログラムを走らせて結果を得られるのです。

この構成ではまず先程書いたとおり、タイルの識別部分以外をニューラルネットワークとは別に作るということが手法1との違いになります。タイル1枚あたりの画素数は庭園全体に比べて小さくて済むので入力が小さくなり学習が早くできるという利点があります。

学習データはどれくらい集められるのでしょうか。まずはタイルが22種類あります。さらに石が25種類、向きが2種類で合計で1100種類のラベルが存在することになります。1種類の画像を100枚収集するのに10分かかるとすると11000分(約18時間)でデータが集められます。すごく早い!

どちらのモデルがニューラルネットワークとして適切かというと一番目のほうがニューラルネットワークだけで完結するので適切だと僕は思います。しかし、個人の範囲では少々時間がかかりすぎてしまうので今回は二番目の手法でやってみたいと思います。

学習データの集め方

学習データはひたすらタイルの写真を撮り続けました。データを加工しやすいように背景に単色の画用紙を用いるといいです。この次に何をやればいいのかわからない人は「opencv hsv 抽出」と検索してみるとすべてがわかります。

プログラム

ではいよいよTensorFlowです。TensorFlowの公式ホームページにはチュートリアルがあり初心者でもわかるように(わかるとは言っていない)サンプルプログラムといっしょに説明がされています。機械学習ではMNISTとよばれる手書きの0~9の数値が書かれた画像を識別する、プログラムで言うHello World的なものがあります。TensorFlowでもこれのサンプルプログラムをもとに使い方をわかりやすく(わかるとは言っていない)説明してくれているのです。このプログラムをMNIST以外の画像でも使えるようにしました。

https://bitbucket.org/muratatetsuya/kantan_tensorflow

参考にしたサイト

評価

最後に重要なのが作ったプログラムの評価です。表に結果をまとめました。

画像サイズ[px] 学習時正答率[%] 庭園画像正答数[枚] 学習時間[s]
60 x 70 97.6 7 9.32
120 x 140 97.3 9 22.6
240 x 280 98.4 10 90.5
480 x 560 98.4 6 338

まず学習時正答率とは学習データと同じ手法で作られた画像で学習時に使われていない画像で学習した後のニューラルネットワークによりどのタイルであるかを推定した結果になります。画像サイズに関係なく100%に近い正答率が出ています。一方庭園画像正答率というのは完成した庭園画像から15枚のタイル画像を切り出しリサイズしたものを推定したときの正答数になります。いずれも正答率が7割に満たない結果となりました。画像サイズが大きければ大きいほど判断材料が上がり精度が良くなるのかと考えていたのですが、このデータをみるとちょうどいい画像サイズがどこかにあるような感じがします。

では、学習時と使用時で正答率が変化してしまったのはなぜでしょう。一つの原因としては学習用のデータと庭園の画像から切り出されたタイル画像が違うことが考えられます。図3は今回間違いが多かった2つの画像の学習時と庭園の画像を並べたものになります。2つの画像の大きさは一緒なのですが、明るさが違います。これくらいの違いは見分けてもらえないと自動化ができないのですが、このくらいの違いを見分けられるようになるためには学習時の画像にさまざまな状況でのデータが必要となりそうです。

図3. 画像の違い

図3. 画像の違い


今回はTensorFlowを使ったニューラルネットワークのとても簡単なモデルを用いて評価したのでこのような悲惨な結果となってしまいましたが、画像を前処理したり、ニューラルネットワークの構成を変えたりすることでまた違った結果が得られると思います。快適徳ライフへの道はまだまだ長そうです……とりあえず、流行りである機械学習をやったことがあるという事実が大事なのでここらへんにしておきましょう。

最後になりますが、枯山水はとてもおもしろいボードゲームですし、徳が積めるので日頃、徳が足りないなーという方はぜひやってみてください。

それではー。

[18日目] ぷらっちっくのかんたんなお話。身近なものでバキューム成形

去年につづいて今年も性懲りもなくアドベントカレンダーに参加します、デザインエンジニアのしんじろです。最近だとMKZ4のステアリング機構の設計を担当しました。

今回は多くの製品に使用されているプラッチック(プラスチック)についてちょっとだけお話したいと思います。

プラスチックとはなんなのか

工業製品で使用されているプラスチックですが、プラスチックという単一種類の材料を指しているわけではなく、ものすごく多種多様なのはご存知でしょうか。
プラスチックというのは自動でポコポコできるイメージ(確かに量産が始まるとポコポコできますが……)ですが、割りと職人さんの感と経験とか生産地の季節気候なんかが影響する生物(なまもの)みたいなものだったりします。

しかも、普段プラスチックに触れているエンジニアの方々もすべての素材を使用したことがあるような方はほとんどいないでしょうし、完全に特性を理解している人も稀でしょう。
んで、駆け出しの工業デザイナーさんやスタートアップのハードウェア起業家さんがかっこいいアップル等の商品力を目指し、かっこいいデザインを求めて無茶な形状にしてしまい、生産前になってトラブってしまうケースが多々あります。

そう、かっこいい商品作りたい、私もそうです。気持ちはわかります、えぇ、わかりますとも。
が、しかし、プラスチックは万能な素材ではなく、特性もあれば欠点もあります。不向きな形状やデザインもわりと多く存在します。

一見なんでも自由な形状が作れます。ですが、複雑化すればするほど、その分大幅にコストがあがります。
大手企業の場合は大量にを作ることで、その分コストをかけてそれらを解決してる場合も少なくないようです。

とはいえハードウェア・スタートアップな仲間を始め個人での製作にはそんなコストはかけられません。
そんなわけで、プラスチックを製品に使用する上で、頭の片隅に入れておいたほうがいいポイントが6つあります。

設計をプラスチックで考えるときのポイント

1・色選びは慎重に

製品の色に真っ白とか真っ黒を選択するのは避けましょう。きれいなその通りの色を出すのは結構なコストが発生します。
そのほかにも車などで汚れが目立ちやすい色はハードルが高いと考えてください。また発色のいい色は退色の問題も含んでいます。極力、色に多少のバラツキがでてもわかりづらい色を選択するのは重要です。

2・シンプルな形状にご注意

垂直とか水平、直交とか狭い面積だったら成功率は上がりますが、面積が広ければ広いほど長ければ長いほど難易度が上がります。
プラスチックは成形時又は整形後に意外と変形します。

3・表面仕上げでの冒険は……

テッカテカの高光沢仕上げや、規則性のあるテクスチャ(これが色々あって目移りするほど)はこだわりたくなるのもうなづけます。
ただ、板キレの状態や単純な円筒形状でもない限りトラブルが起きる可能性は結構高いと考えてください。

4・細い、鋭い形状は結局危ない

鋭利な角(シャープエッジ)はかっこいいけど、ちょっとぶつけたら割れるとか、触れたら怪我をする懸念があります。また成形時にトラブルが起きる可能性も高いので、避けた方が無難でしょう。

5・複雑な嵌合は避けよう

「バンダイのプラモデルとかレゴブロックはきれいに各パーツ同士がはまるじゃん」とおもいますよね。えぇえぇそうですとも、それが製品の生命線ですし、製作者の技術(共に各国内生産)は世界でも屈指です。
そしてそれらの生産数量はとてつもない量なので、ある程度コストをかけることができます。少数ロットでコストをおさえて……という場合にはもちろん不向きです。

6・基本の製造行程は製氷トレイをイメージする

製氷トレイで氷を作ったことはあるでしょうか? 氷ができたらトレイひっくりかえして氷がバラバラ出します。プラスチック成形も基本的にはあのような抜き形状だと考えてください。取り出しはピンで押出したり、型を割ったりと様々です。このような型から抜く際のハードルが上がる=複雑な形であると、さらにコストがかかったり、問題が起きやすくなります。

これらを加味していくとな~んも好きなことできないじゃん……と思われがちですが、実際世に出ている製品見ても上記が当てはまらない場合もあります。それはエンジニアがうまく考えてやってたり、工場によって得意不得意あったりしますので、頑張って付き合ってくれる工場やエンジニア探してしっかり話をすることも大事です。
場合によっては「こうしたいんだけど、どうしたらいいかな?」って聞いてみると解決策を提示してくれたります。

 

身近なものでプラスチック成形にチャレンジしてみよう

ここまではプラスチックの大枠のお話でしたが、実際にプラスチック成形を自分でやってみたらより理解が深まるとおもいます。ということで身近なものでプラスチック成形にチャレンジしてみましょう。

DIYでできるプラスチック成形といえば、カヌーやヘルメット等に使用されるFRPと商品パッケージ等に使用されるバキューム成形がよくあります。今回ホームセンターや100円ショップのものを集めてできるバキューム成形にチャレンジしてみたいと思います。

必要なもの

まずは資材一覧です。

①箱:
A4くらいの大きさと、掃除機のノズル(直径4cm位)が刺さっても余裕がある深さのトレイ状の箱。
今回はホワイトウッド1×6材3フィート材をカットして外枠を作り、5mmのベニヤを底面に貼り掃除機ノズルサイズの穴を開けました。

CA3I0342

バタバタしながら作ったので作り荒いけど大丈夫w


 

②枠:
成形の材料を貼り付けて固定する枠が必要です、100円ショップにある額縁がそのまま使えて簡単です。

CA3I0330


 

③タッカー:
枠に材料を打ち付けて固定するのに使用します。取り外しに手間がかかるので、もっと楽にって人は両面テープでもいいかもしれません。

CA3I0364

タッカー


 

④掃除機:
バキュームするのに掃除機が必要です、家庭用で十分です。

CA3I0332

小型掃除機


 

⑤カセットコンロ:
直火が怖い方は電気コンロでもいいですが、IHでは熱が空気中に出ないので材料が加熱できませんのでコイルの物をチョイスしましょう。

CA3I0333

自宅にあったカセットガスコンロ


 

⑥原型:
これは成形する形状の元になる物です。プラスチック成形というと金型等金属型を思い出しますが、今回はある程度の硬さがあればなんとかなります。今回はコペンのミニ四駆を使うことにしました。フロントガラスがボディと同色で埋まってるのが気に入らないので、これを機にフロントガラスのパーツを作ってみます。

CA3I0323

ミニ四駆コペンのボディです。


 

⑦成形台(パンチングメタル等):
箱上面に蓋をするように設置します。ピッチで穴を開けておりここから吸気されていきます。
今回はピッタリはまるようにレーザーカッターで専用品作っちゃいました。

CA3I0327

成形台


 

⑧:両面テープ、ガムテープ等:
各所接着、固定に使用します。

CA3I0325

CA3I0325


 

⑨成形材料:
今回はPET材の0.5mmを使用しました。ただ、0.5mmってDIYバキュームにはちょっと厚めなようで、もう少し薄いものを選んでいただくとよさそうです。
※ちなみにポリスチレン板は熱を当てると縮んでしまうので使えません。(ごめんなさい、材料の写真撮るの忘れました)

自宅バキューム成形のやり方

これで道具と材料の用意はできたので、いよいよ成形してみましょう。

作業の順番としては、加熱装置ON→材料加熱→材料が柔らかくなったら掃除機スイッチON→材料枠押し付け→各所スイッチOFF、となります。
動画では端折ってますが、1分位は加熱してます、火に近づけすぎると白化したり穴が空いてしまうので注意してください。

バキューム成形の手順

ステップ1
箱の開口部にノズルを固定する、隙間があるとそこから空気が抜けちゃいますので、しっかり穴を塞ぎましょう。

CA3I0344

CA3I0344

ステップ2
箱上部口にパンチングボードを両面テープで取り付けます、こちらも隙間のないように。

CA3I0345

CA3I0345

ステップ3
ノズルに掃除機を取り付けて試運転、パンチングボードの穴からしっかり空気が吸引されているかチェックしましょう。

ステップ4
原型そのままでもできなくはないですが、あとの取り外しが大変になりそうな形状の場合は粘土等で穴を塞いだりしましょう。

CA3I0340

今回は粘土でフェンダーを塞ぎました。

ステップ5
材料を縁にタッカーで打ち付け、しっかり固定します。

CA3I0353

CA3I0353

ステップ6
最後の仕上げです。今回は必要な部分がフロントガラス部だけなので、ここを後ほど切り取って完成です。

CA3I0355

CA3I0355

なんだかお遊び程度の成形のように思えますが、商品パッケージに使用されるブリスターパックなんてのはこれとほぼ同じ原理で成形されています。つまりパッケージ試作なんかはこんな方法でもできるってことですね。
自宅でかんたんにできますので、みなさんもチャレンジしてみてください。

ではまた~