バックパッカー的な海外旅行の持ち物

お久しぶりです。ツバサです。
以前トルクメニスタンに関するエントリを書いて以来です。
その節は多くの方にエントリを見ていただいたようで誠にありがとうございました。

僕の最近の仕事といえば『旅行用デバイスを開発すれば会社のお金で海外旅行に行けるのでは!?』と夢想することですが、
これが思ったよりも大変です。

何も思いつきません。

まずいですね。
このままではただの妄想にふけっている人になってしまいます。

やはりアイディアというものはオフィスに座っているだけでは出てこないようです。
こうなったら実際に旅行に行ってみるしかないでしょう。

そういったわけで最近は単に妄想を膨らませているだけでなく、旅行の予定を立てることにも余念がありません。全く忙しい限りです。

さて、行先をはじめ旅行に関する情報を得る手段は色々ありますが、他の旅行者さんのブログ等web上の情報も大事な情報源の一つです。
僕も日々参考にさせてもらっています。
しかしこれまでは情報を受け取る一方でこちらからは何も発信してこなかったなぁ、という事に思い至り、これからは自分でも海外旅行情報を発信していこうかなと思っています。

今回は準備編ということで、まずはどんなものを持って行っているかということを紹介したいと思います。

旅のスタイル

旅行と一口にいっても色んなタイプがあります。
気ままに安宿を渡り歩く旅行もあれば、ツアーに参加する旅行もあるかと思います。

たとえば、しっかりとしたホテルに宿泊したり、格式のあるレストランで食事をするのであればスーツや革靴など相応の装いが必要になるかもしれません。
そうなってくるとバックパックよりもスーツケースのほうが荷物を入れるのに向いています。
このように旅のスタイルによって持っていく荷物も全く変わってしまいます。

そこで、このエントリ(とその続編)ではいわゆるバックパッカー的な旅行を前提としてお話しすることにします。
バックパッカー的と言っても特に定義があるわけではないのですが、
大まかなイメージとしては

  • 旅行会社のツアー参加ではない、個人旅行である
  • スーツケースは使わず、バックパックに荷物を入れる。
  • “Cheaper is better”が合言葉
  • ドミトリー(相部屋)宿泊が基本
    IMG_0613

といったところでしょうか。

持ち物

海外旅行に際し『何を持っていけばいいのだろう』と悩む人は少なからずいらっしゃるかと思います。
あれもいるかも、これもいるかもと、どんどん荷物が増えていきますが、往々にしてそのうちの大半は結局使わなかったりするものです。
僕も初めて一人旅をしたころには役に立たないものをたくさん持っていきました。

何度も旅行をしながら、以前使わなかったものを置いていき、一方で新しく出会った便利そうなグッズを新たに持っていくという、終わりのない最適化を繰り返しています。
下記では現時点ではこんなものを持って行っているよ、というのをご紹介します。

パスポートケース

僕が使っているパスポートケースはこちらのスライド式のもの。
ズボンと下着の間に隠すタイプです。パスポートのほかにも盗まれたくないものを入れておくのもよいでしょう。
こういった身に着けるタイプのパスポートケースは首下げや腹巻タイプなど数多くありますが、首から下げるものは外見からわかりやすく、腹巻タイプのものは取り出すのが一苦労なのが欠点です。
このタイプなら外見からも身に着けているのがわかりにくく、さっと取り出しやすいのでおすすめです。

パスポートケースにいれてるもの

  • パスポート
    多くの国ではパスポートの有効期限が半年以上残っていることを要求しています。出発前に有効期限を確認し、必要なら更新を行いましょう。
  • パスポートのコピー
    特に役に立ったことはないです。が、捨てる理由もないので入ったままになっています。
  • 予防接種記録
    アフリカ諸国と南米諸国では黄熱病の予防接種証明書の提出を入国の条件としているところがあります。そのため、渡航地がそういった国である場合には予防接種を事前に受け、その証明書を携行している必要があるのです。
    僕の場合、日本でA型肝炎、B型肝炎、破傷風etc の予防接種を受けた他にもトルコで黄熱病の予防接種を受けたので2つの接種記録をパスポートケースに入れっぱなしにしています。どこか他のところに入れておくと確実に紛失する気がしています。
    ちなみにこれが役に立ったことは一度もありません。
    黄熱病の予防接種記録の提出を条件にしている国にもいくつか行きましたが、提出を求められたことはなかったです。
    tb-2
  • 予備のクレジットカード
    メインのクレジットカードはお財布に入れて置き、普段はそちらを使いますが、財布を無くしたり盗まれたりした時に備えて予備のクレジットカードをパスポートケースに入れておきます。

財布

財布はこちらのものを使用しています。
以前はもっとアウトドア丸出しのものを使用していたのですが、流石にもうちょっとオシャレなものを使おうかなと思い購入。
条件として①見た目がいい、②チェーンやベルトがつけられる、の2つを基準に選定しました。
②はスリ防止の観点からです。こちらの財布にはベルトは付属していないのでベルトは別途アマゾンで購入しました。

財布の中身

  • 現金
    渡航地にもよりますが、現地通貨はまず現地についてすぐに困らないように1万~2万円程度を空港で替えておきます。足りなくなったら後はクレジットカードでのキャッシングで現地通貨を調達しています。
    行きと帰り用に適当な額の日本円もいれておきます。
  • クレジットカード
    クレジットカードは複数枚持ち、できれば別々の場所に保管しておきましょう。
    ブランド的にはVISAとMaterは世界中どこでも使えて、American Express はアメリカ方面では強く、アジアではJCBもそこそこ、という感じでしょうか。
    僕はマイルを稼ぐことにもラウンジを利用することにもあまり熱心でないので、海外旅行保険さえついていればその他の旅行関連の特典は気にしてません。
  • その他諸々
    レシートとか切符の半券とか特に意味もなく入れたままになってたりします。

サブバッグ(街歩き用バッグ)

サブバッグにはこちらで紹介されているpacsafe のCS200(大きいほう)を使っています。
生地のなかにワイヤーメッシュが入っておりバッグがナイフ等で切られても中身が取り出せないようになっているのをはじめ、スリ防止、置き引き防止の機能が盛り込まれています。
見た目はシンプルな肩掛けのバッグなのでいかにも『観光客です』という雰囲気を出さずに済みます。
飛行機内に持ち込む荷物もこのバッグとなります。

サブバッグにいれてるもの

  • BOSE QuietComfort 35
    機内をどう快適に過ごすか、というのは海外旅行する人にとっては一つのテーマです。
    これもその一環で、BOSE に限りませんがノイズキャンセリング機能を持ったヘッドホン等は機内の独特な重低音を忘れ去るのに向いているように思います。
    飛行機内で使われている端子への変換器を使い機内上映の映画や音楽もこのヘッドホンをつけて聞いています。
    イヤホンなどに比べると大きい荷物ですし、盗まれると割とショックですが快適さを優先して持って行っています。
  • Kindle paperwihte
    主に飛行機内での暇つぶし用です。スマートフォンやタブレットでも電子書籍を読むことはできますがバッテリの持ちの観点から別途Kindle をもっていっています。
  • Fireタブレット
    情報端末は何個か持っていると役立ちます。FireタブレットはiPad 等と比べるとお安いので万一なくしたり盗まれたりしても惜しくないので旅行用に購入しました。
  • マスク
    飛行機内でつけて喉の乾燥を防止します。あとつけていると涎を垂らしても気付かれません。
  • サングラス
    普段は屋内に引きこもっているので使用しませんが、旅行中は太陽の下を歩かないといけないので装着します。
  • 文房具
    何かと便利です。
    飛行機内で入国カードを書く時にも役立ちます。
  • 常備薬
    頭痛薬や酔い止めなど必要に応じてもっていきましょう。

メインバッグ

メインのバッグとしては Karrimor flyer 50-75 を使っています。
どうも75Lまでのモデルはなくなってしまったようで、現在では65Lまでのモデルになるようです。
特にこだわりがあるわけではないのですが、
①フロントアクセスを採用しているためそうでないものに比べてパッキングが楽
②最大75Lと荷物が沢山はいる。
等の点が気に入っています。

通常の観光旅行であれば50Lあればまず十分かと思いますが、
現地でキャンプや登山をする予定があると荷物が増えるので上限75Lはとても心強いです。
元々登山用だからか丈夫にできており壊れる気配もないので、しばらくはこれを使っていきそうです。

メインバッグに入れるもの

電子機器関係

  • 無印良品の変換プラグアダプター
    これ1セットでほぼ全ての国のプラグに対応できる優れものです。
    デザインもよいので非常に気に入っています。
  • 電源タップ
    ドミトリーに宿泊していると充電したいのに電源口が足りないということがあります。
    また、電源口の位置が微妙で自分のベットから使いにくいということも。
    そういう時のために普段家庭でつかっている電源タップを持っていきます。ケーブルの長さは1mもあれば十分かと思います。
  • 各種ACアダプターとケーブル類
    スマホをはじめとする電子機器の充電用に適当な数入れておきます。
  • 電動髭剃り
    普段家で使っているものをそのまま持っていきます。
    旅行用に小さめのものを用意したりはしていません。
    僕はアトピーを患っているため、普段と違うものをつかって皮膚にダメージを与えてしまうより、少し大きくともいつもと同じものを使い、旅行中に症状が悪化しないようにという判断です。

服関係

服や下着などは旅行日数と旅行先の気候に合わせて適当にもっていくという感じです。
この点については特にこだわりはないです。毎回適当に決めています。
ただ、荷物で一番大きな容積を占めるのがこの服関係になるので、あまり多めには持って行かず『足りないかな?』と思うぐらいにしています。
もし不足があったら現地で買えばそれでOKです。

その他

  • 洗面具入れ&シャンプーとか
    無印良品の洗面具入れにシャンプー、ボディーソープ、化粧水等々を入れています。
    これらもアトピーが現地で悪化しないように、普段使っているものを小分けの容器(これとか)に入れて持って行ってます。
  • 歯磨き用セット
  • 速乾性のタオル
    ミズノのものを使っていますが、最近手ぬぐいのほうがいいのではないか?と思い始めています。
    ここはもっと良いのないかなーと探しているところです。
  • Pacsafe のバックパック用プロテクター
    観光する際には大きなメインバッグは宿において身軽に歩きたいものですが、ドミトリーに宿泊していると他人が自由に入ることができる部屋にバッグを置いておくことになります。そうなると盗難が心配ですが、このプロテクターでバッグ全体を覆ってしまえば安心です。最終的に南京錠やダイヤル式錠でのロックになるので実際の堅牢さはともかく、泥棒に心理的に与える影響は大きいでしょう。
  • バックパックカバー
    正確にはメインバッグに”いれてる”ものではなく、メインバッグに”かぶせる”ものです。
    本来は雨でバッグが濡れないようにすることが目的ですが、メインバッグを空港で預ける際にバッグから垂れるベルト部分が嫌われることがあるので、カバーをかけてカバーの中にできるだけベルトを収納しておくのに役立ちます。
    tb-1
  • ロープ
    登山用のものを使っています。
    荷物を自転車に括り付けたり、洗濯干しにつかったりと何かと役に立ちます。
    IMG_5660
    1
    a (782)
    ↑の写真には洗濯バサミやハンガーが写っていますが、自分で洗濯する必要があるほど長期の旅行を最近しないので、これらを持っていく機会はあまりないです。
  • フォーク&スプーン
    現地のスーパーなどで食料を買っても箸もフォークもない、ということがあります。
    最悪手で食べればよいのですが、アウトドアショップなどでよく見かけるフォークとスプーンが一体になったものを持っていると便利です。
    IMG_5664

当日身に着けているもの

  • 財布
  • スマートフォン
    スマートフォンは普段自分が使っているものをポケットに入れていきます。ちなみに現時点ではiPhone 6 plus です。
    盗まれたりするとダメージ大きいですがやはり普段から使っているものが便利なのでここは快適さ優先です。もし盗まれても情報端末が全くないという状態にならないように予備として Fireタブレットを配備してあります。

  • 僕の場合、トレッキングなどを現地で行うこともあるのでそれ用にも使える靴として、
    アディダスのテレックス FAST R MID Gore-Tex を使っています。
    この靴の一番気に入っているところは自分の足によく合っており、長時間歩いても辛くならないところです。
    一応トレッキング用ではありますが、登山する際にもこの靴を使っています。
    たくさん歩いてもストレスがなく、しかも街歩きから登山までカバーできる便利な靴として非常に気に入っています。

終わりに

さて、持ち物はこんなところでしょうか。
本当は持って行っているけど書き忘れているというものがあるかもしれませんが、それは後々追記させていただきます。
しかし、絶対必要というものはパスポート、現金やカードぐらいで、大体のものは現地で買えます。なのでそんなに心配しなくても大丈夫です。
ヨーロッパやアメリカへの旅行ぐらいなら、東京から京都に行くのとそれほど変わりありません。
海外旅行だからといって気負うことなく気楽にいきましょう。

次回予告

次回のエントリの内容は全く決まっていません。
気長にお待ちいただければ幸いです。

ではまた。
a (78)

文系新卒でもIoTに入門できるのか?! 改造ミニ四駆製作キット「MKZ4」に挑戦

こんにちは。中村です。

私はCerevoの中でも数少ない新卒のうちの、さらに希少種である文系出身です。「IoT」というバズワードが発する芳ばしい香りに誘われて2016年4月から事務系職として働いています。

さて、文系出身者である私は「IoT」のInternetもThingsもこれまで対して勉強したことがありません。しかし徐々に社外の方と交流する機会も増え、IoTについて質問をされることがよくあります。最初はそれっぽい適当な返答でごまかしたり、抽象度を引き上げて煙に巻いたりと、のらりくらりかわし続けてきたのですが、それにも限界があると感じ、いよいよ本格的にIoTについて勉強しなければならないと思い始めました。

しかしながら、世に出回っている「IoTがわかる!」系の本を何冊か手に取ってみたものの読んでもよくわかりません。人工知能とか自動運転とかが書いてあっても、それをどう実現するのかは書いてありません。

「これは困ったぞ……理系でなければIoTを扱うことはできないのではないか……」と思っていたそんな折、なんと弊社からIoTが学べる学習キットが発売されました。

今回のエントリでは、私が実際にこのIoT学習キットである『MKZ4』の組み立て行い、その体験を通じてIoTって実際に何をするものなのかをお伝えできればと考えています。

まだIoTとはなんじゃらほいという方も、是非このブログを参考に、『MKZ4』にトライしてみてください。

それでは早速行ってみましょう!

準備編

s-P_20161216_154057

  • MKZ4
  • MKZ4WK
  • ワイルドミニ四駆
  • MKZ4ガイドブック(Kindle版)

準備するものはこの四つです。

今ならなんと「MKZ4」「MKZ4WK」「ワイルドミニ四駆」をセットにしてギフトラッピングに対応した数量限定スペシャルモデルがCerevo official storeで販売されています。

また、MKZ4ガイドブックは腕に自信がある方はなくても構いませんが、電子工作が初心者という方は無いと厳しいです。付属のマニュアルだけでは落とし穴があります。Kindle Unlimitedでも読むことが可能ですので、ぜひ用意して臨むことをお勧めします。

電気編

準備が整ったらいよいよ開始しましょう。

s-P_20161216_154648

MKZ4を開封するとこんな感じです。

s-P_20161216_154812

こんなに小さなパーツもあるのでなくさないように注意しましょう(※これは振りです)。

s-P_20161216_154944

まずは電子部品から基板の上に載せていきます。ちなみに「基盤」ではなく「基板」です。これは入社してから何度も注意されますので、覚えておくとCerevoに入社しても困りません。

s-P_20161216_155211

はじめの一歩は抵抗です。3種類あります。パーツの色をよく見て間違えないように乗せていきます。s-P_20161216_155333

根元からガッツリ曲げないとこんな感じで浮きます。浮いても大丈夫ですが不格好なのでなるべく基板にぺったりくっつくようにします。

s-P_20161216_155444

こんな感じ。

s-P_20161216_155451

裏側です。

さて、ここまでできましたら、いよいよ半田付けを行っていきます。半田付けを行ったのは、中学3年生の時に手回しラジオキットを授業で作成たのが最初ですが、Cerevoに来てちょくちょく触らせてもらっていたためちょっと自信があります。

s-P_20161216_155635

機材はこちら。製品の基板は顕微鏡ないと厳しいですが、今回はなくて問題ありません。

s-P_20161216_155910

こんな感じでランドを熱し、左サイドから半田を付けます。

s-P_20161216_160029

1個付きました。

s-P_20161216_160131

反対側も半田付けします。

s-P_20161216_160449

基板を覗いてみて、穴が開いていなければしっかり半田が盛られています。穴が開いていると取れやすく、不具合の原因になるのでたっぷり盛っておきましょう。

s-P_20161216_160527

余った線はニッパーで切り取ります。

s-P_20161216_160146

最初の1つが乗りました!

s-P_20161216_161521

次々に抵抗を乗せていきます。

s-P_20161216_161817

セラミックコンデンサも乗せていきます。

s-P_20161216_161851

裏側です。半田付けするところがたくさんありますが、まだ序の口です。

s-P_20161216_162209

サイドから見て半田の盛り方がおかしいと感じたらその都度直します。

s-P_20161216_162556

お次にピンヘッダ。

s-P_20161216_162635

手で割ります。

s-P_20161216_162724

基板に置いて、

s-P_20161216_163142

マスキングテープで固定します。

s-P_20161216_163337

こうしておくことで裏返してもぐらつきません。

s-P_20161216_163709

半田付けし、おかしそうな箇所は修正します。

s-P_20161216_164001

ついでにL字ピンヘッダもつけてしまいました。

s-P_20161216_164124

LEDライトと電解コンデンサー。これらは取り付けの向きが決まっているので注意が必要です。

s-P_20161216_165315

さて、最初の難関のチップ抵抗まで来ました。すこぶる小さいです。鼻息で飛んでいくので扱いに注意が必要です。

s-P_20161216_165553

もはやフィルムをはがすところから苦戦。

やっと剥せたところで撮影するための席から半田席へもどろうとしたところ……

s-P_20161216_165731

落としました……。

あれだけ気をつけたのに、ピンセットで持ち運びをした結果がこれです。完全に迷彩になっています……。(ちなみに右上の白い点がそれで、探すのにとても苦労しました)
みなさんも本当に気をつけてください。

s-P_20161216_165842

気を取り直していきます。基板のランドの片側に「予備半田」とよばれる半田をあらかじめおいておきます。

s-P_20161216_170029

ピンセットで位置を合わせ、半田を溶かして乗せます。

s-P_20161216_170143

右側にも半田を置いて完成です。右側は上から半田を置いただけなので、若干不安です。しかしここは後々エラーが出たらその時に考えることにして先に進みます。

s-P_20161216_170326

電気編のクライマックスが早くも登場です。

s-P_20161216_171815

動かないよう台座に固定して、フラックスという秘密兵器を使います。これを塗ると半田付けが非常にしやすくなります。

s-P_20161216_172409

まず、最端の一個内側の4ヶ所を半田付けし、ESP8266を基板に固定します。端のピンはGNDにつながっているので半田付けに時間がかかり難易度が上がります。そのために内側のピンから半田付けを行います。

s-P_20161216_173444

非常に苦労しましたが、押切先生のご指導の下、すべてのピンの半田付けが完了しました。このESP8266の半田付けの解説はこちらの記事を参照してください。動画付きで非常にわかりやすく解説されています。

s-P_20161216_174124

山を越えたので後は一直線です。残りのコンデンサーをおいていきます。一つは後でモーターにつけるのでこの時点で余っていても問題ありません。

s-P_20161216_174911

モータードライバモジュールもつけ、終わりが近づいてきました。

s-P_20161216_175128

ワイルドミニ四駆の方からモーターを取り出し、余っているコンデンサーを付けます。

s-P_20161216_175439

この時忘れないようにピニオンギアをつけましょう。後から付けようとすると基板ごと動かす必要があり面倒です。

s-P_20161216_175507

電池ボックスを用意し、赤と黒の線をモーター接続用に切り離します。60mmです! ここで私は適当に半分くらいに切ったために後で電池ボックスの収納に苦労しました……。

s-P_20161216_175825

モーター。

s-P_20161216_175903

基板取り付けのため導線の被覆を向きます。オフィスにはそれ用のこんな便利なペンチがあります。

s-P_20161216_175918

つるん。

s-P_20161216_180551

途中、ブリッジしてしまったところの半田を吸い取ります。

s-P_20161216_181734

取り付けが完了しました。

これでMKZ4基板は完成です!

MKZ4WKを準備する

さて、お次はMKZ4WKです。
MKZ4WKとは、MKZ4にプログラムを書き込むのに必要なものです。

s-P_20161216_182017

これを、

s-P_20161216_182826

こうして、

s-P_20161216_185553

完成です!(特に難しい点はないので三分クッキングスタイルで行きます)

PCと接続して青いLEDが光ればOKです。

MKZ4基板にプログラムを書き込む

次からはMKZ4にMKZ4WKを通してプログラムを書き込んでいきます。

s-P_20161216_190126

MKZ4のジャンパーがD側になっていることを確認してMKZ4WKをMKZ4に接続します。

s-P_20161216_190115

MKZ4WKの接続する向きに注意しましょう。

ソフトウェア編

ソフト側の準備として、Arduinoのインストールが必要です。ここからダウンロードしておきましょう。以降ではインストールが済んでいることを前提に進みます。

arduino01

まず環境設定から、

arduino02

ボードマネージャーのURLを追加します。

arduino03

ボードマネージャーから、

arduino04

esp8266 by ESP8266 Communityのバージョン2.2.0をインストールします。

次にMKZ4のスケッチ(ソースコード)をここからダウンロードし展開しておきます。

arduino05

展開したファイルをダブルクリック。

arduino06

ボードマネージャーから該当のものを選択。

arduino07

コンパイルし、

arduino09

完了したらOKです。

arduino10

シリアルポートが表示されていればそれを選択します。

arduino11

マイコンボード(MKZ4)に書き込みます。

arduino12

書き込みが完了しました!

s-P_20161216_190531

ジャンパーをB側に移して、電池ボックスの電源をONし、赤色LEDが点灯すれば書き込みが無事できています。

ここまでで電気とソフトウェアは終了です。

メカ編

さて次に、ワイルドミニ四駆の組み立てに移ります。

s-P_20161216_193656

右上がMKZ4付属の特製パーツで、他はワイルドミニ四駆となります。

s-P_20161216_194628

前輪のパーツを切っていきます。

s-P_20161216_194733

二か所に切り込みを入れると、あとは力技で割れます。

s-P_20161216_194940

本体シャーシも前輪部分を切っていきます。

s-P_20161216_195332

ザクザク切ります。

s-P_20161216_195825

前輪部分がカットできればOKです。手が疲れるので適宜休憩しながら行いましょう。

s-P_20161216_200124

ギアをはめます。前輪部分は一つ使いません。

s-P_20161216_200607

カバーをパチリ。

s-P_20161216_200854

シャーシに穴をあける準備として、シールを張ります。

s-P_20161216_201752

穴をあけるには3mmのピンバイスが必要ですが、あいにく壊れたドライバーしかオフィスにありませんでした。良いのです。ドライバーが必要なのではなく穴が必要なのですから。

s-P_20161216_202303

こんな感じで二か所に穴をあければシャーシ側はOKです。

s-P_20161216_202650

ホイールの加工をします。ギア部分をカット。

s-P_20161216_203117

ドリルで六角の穴を丸くします。前輪について二つのホイールを加工します。ここで前輪に該当するホイールを誤ってしまうと完成しません。穴をあける前によく確認してください。なお、私はギアがついているホイールを両方とも前輪と勘違いしたため、とんでもないことになりました(後述)。

s-P_20161216_203635

タイヤを装着。

s-P_20161216_204110

黒いパーツを埋め込みます。

s-P_20161216_204434

この辺りは説明書通りなのでサクサク進みます。(※実はここで映っているタイヤは本来前輪ではありません。その事実にこの時点で私はまだ気づいていません……)

s-P_20161216_204545

今回のキモのサーボです。サーボホーンの先端を合わせます。

s-P_20161216_205013

ネジを留めていきますが、複数あるので注意が必要です。

s-P_20161216_204833

まずはサーボ本体を取り付けます。

s-P_20161216_210131

このように、先にサーボホーンに穴をあけましょう。

s-P_20161216_210727

s-P_20161216_210938

どんどんねじ留め。

s-P_20161216_211144

前輪部分を本体シャーシに合体します。

s-P_20161216_212059

前輪を取り付け……と行きたいところですがここで問題発生です。

なんと、前輪と後輪の組み合わせを間違えていました。

s-P_20161216_212113

正しくはこちらです。

左後輪はギアがないとモーターの動力を受けることができません。わたしはこのギアがあるタイヤを前輪と勘違いしていたため、誤ってホイールの穴をドリル丸くしてしまいました。押切先生に懇願してタイヤを譲ってもらったのですが、交換用がない場合は新しいワイルドミニ四駆を準備する必要があります。大出費になってしまうので、くれぐれもドリルで穴をあける前にはどれが前輪でどれが後輪か注意して行ってください。

s-P_20161216_213119

タイヤを取り付けます。

s-P_20161216_213536

モーターをパチリ。

s-P_20161216_213932

MKZ4基板を両面テープでくっつけます。

s-P_20161216_213937

上から見た図。

s-P_20161216_215519

電池ボックスも本体シャーシに両面テープで固定します。私は導線を測らずに切ってしまったため短くなりすぎ、中央に固定することができませんでした。中央に固定しないと重心が左右に偏ってしまいますので、導線はきちんと測って切りましょう。

s-P_20161216_214626

s-P_20161216_214705

s-P_20161216_215019

後輪も組み立て、取り付けます。

s-P_20161216_215947

上側を留め具で留めます。

s-P_20161216_220129

最後に後輪の軸の保護パーツを取り付けます。

メカはこれで完了です。

個人的に鬼門だったのはサーボホーンの穴あけです。ネジがうまく回らずに時間がかかりました。タッピングネジには先が尖っているものと丸いものがありますが、尖っているものを用いることで穴を拡大しながらネジ締めを行うことができます。サーボホーンの穴あけには先が尖っているものを用いましょう。

動作確認編

電気とメカが完成しました!

いよいよお待ちかねの動作確認です。テスタでの測定もかっ飛ばして先に進めることだけに注力していたので、内心ビクビクです。

s-P_20161216_220141

電池ボックスに単四電池を三本入れ、電源をONにします。すると中の基板の赤LEDが点灯します。

mkz401

スマートフォンのWi-Fiから、「MKZ4」を選びます。パスワードを入力する必要はありません。

接続が完了したら192.168.4.1にブラウザからアクセスします。

Screenshot_2016-12-16-22-02-56

接続が確立すると、「CONNECTED」と表示されます。うまくいっているようです。

Screenshot_2016-12-16-22-05-04

フリックで操作します。

s-P_20161216_220455

おお! サーボが反応して前輪を左に傾けています!

s-P_20161216_220518

勢い余って段ボールに激突してしまいました。

かなり急ぎ足で組み立てたため、まっすぐ走らせようとしても左に曲がっていきます。逆に右に曲がりません。これはサーボの中心位置がずれているため起こっていそうです。修正が必要なところですが、ひとまず動いたことに満足して、今回はここまでにしたいと思います。

終わりに

いかがだったでしょうか。

初めての『MKZ4』組み立てでしたが、私は4, 5時間はかかったと思います。これは日ごろ半田付けを訓練していたので、チップ抵抗やESP8266も問題なく、また基板の半田付けでエラーが生じずにストレートに動作確認までこぎつけられたからでしょう(ある意味エラーがなかったため起伏の乏しい記事になってしまったことは反省です)。半田付けも初めてという方は、この2倍程度の時間を想定されると良いかもしれません。

丸1日、日ごろの雑事を忘れて童心に帰るというのは楽しいですよ!

是非みなさんもトライしてみてください。

[24日目] NAT Traversalって知ってますか

Cerevoアドベントカレンダー2016、最終日です。といっても、どうやら大トリは弊社代表が年末までに昨年のネタの更新版を出すようなので、私はトリらしい何かとかでもなく、テックブログらしく技術ネタを書きたいと思います。
まつけんです。CTOをしています。今日はハードはほぼ関係ない、ソフトというかUDP/IP、TCP/IPな世界の話です。IPレイヤーより上でのお話です。

まず、NATと言われて動作を想像できる方どれくらいいるでしょうか。今や、ルータという名でNATが動作する機器は各家庭にほぼ設置されているのではないかと思いますし、携帯向けネットワークも昨今はLarge Scale NATもしくはCarrier Grade NATの導入という形でちょっと話題になったようにNATが導入されています。そんな世界では、グローバルIPが直接振られるのではなく、ルータやキャリア側でローカルIPからグローバルIPへのアドレス変換が行われるのが一般的です。NATと言いますが、今挙げた例は、正確に言えば、IP masquarade(マスカレード)です。NATはNetwork address translationなのでアドレス変換をするというもう少し広い意味で、グローバルIPとローカルIPが1:1で変換されるようなケースも包含されますし、サブネットを分けたローカルネットワークでの1:1や1:Nでの変換などにも利用されることもあります。

今回は、最も一般的な多:1でローカルIPからグローバルIPへとソースアドレスを書き換えて通信を行う(グローバルIPアドレスを共有する典型例)、ほぼどんな環境でも導入されていると言っても過言でなくなった、いわゆるIPマスカレードされている環境でのP2Pでの通信を実現する、NAT Traversalのお話です。

NAT Traversalとは

まず、NAT Traversal、日本語で言うと、NAT越え(NAT超えかもしれません。ここでは越えで統一します。)はなぜ必要なのか。IPv4アドレスが世に溢れ、すべてのデバイスにグローバルIPが割り当てられている状態であればそもそもNAT越えは必要ないわけですが、現実にはIPv4アドレスは足りないし、ルータ下にいない直接グローバルIPをデバイスがもつというのはセキュリティ的にも推奨されない(デバイス自身がbindしているポートへの通信をローカルネットワーク内のパケットに限定でき、脅威となるデバイスやサーバが容易に直接のアクセスがしづらい)のが現実です。そんなNATがあふれる世界でもP2P通信をしたい、という需要を満たすためにNAT Traversalという技術(というか、手法でしょうか)が考えだされるわけです。これはもうかなり昔からあるもので、様々な資料がネット上にもありますが、一度、自分の整理のためにこの記事を書いてみている次第です。

ルータの下にいるデバイス同士が直接するのはなぜそんなに難しいのでしょうか。まず簡単な通信の流れを下記図を見ながら説明します。もっとも一般的な構成として、ルータ下のネットワークをローカルネットワーク、ルータの外に存在するネットワークをグローバルネットワークとして考えます。そのときに、ルータ下のデバイスがグローバルネットワークと通信とパケットをルータの外のネットワークにあるアドレスに送ります。そのローカルネットワークの内からNATを通して外へという形で出て行く分にはルータがアドレス変換をよしなに行います。これがIPマスカレードです。やることはそんなに難しくなく、TCPの場合、ソースになったIPアドレスとポート(つまり、デバイスのIPとポート)と、宛先になるIPアドレスとポート、ソースアドレス書換後のルータ自身のグローバルネットワーク側のアドレスとポートを、最初にデバイスからパケットが来た時に組み合わせで覚えます。その上で、ソースアドレスをNATが動作しているルータ自身のIPとポートに書き換え、宛先にパケットを投げる、宛先からパケットが返ってくれば覚えてるマップにしたがって、その返信パケットの宛先をローカルネットワークにいる通信元のデバイスに書き換えてパケットを送信します。こうすることで、デバイスはソースアドレス変換が行われたことを知ることなく、外のインターネットな世界と通信ができるわけです。

oneNAT
ここでNAT越えの話に戻ります。でも、宛先はあくまでグローバルIPでなければ(ルータを通してNATを通じて書き換えが行われなければ)、ルータは宛先を書き換える機能を発揮できません(通信双方のアドレスやポートを覚えて変換と転送ができません)。では、相手もNAT下にいる場合、そのローカルアドレスを指定するわけにもいきませんし(ローカルネットワークのアドレスなわけで別ネットワークにいるので届くわけはありません)、グローバルIPはルータがもっているわけなので、ルータ下に居るデバイスと通信するというのは極めて困難なわけです。

NATを越えてデバイス同士が直接通信するには

これの安直な解決方法のひとつがサーバーリレーです。要はデバイス同士が同じサーバに接続をして(この場合、サーバがグローバルIPを持っているのでどちらもルータ下のローカルネットワークから容易に接続ができる)その後の通信はサーバが介在して両者で通信を行います。ただ、この方式、TCPレベルで解決するには宛先を別途アプリレイヤーで指定する必要がありますし、なによりも、トラフィックがすべてサーバを経由するので、サーバの通信量が2倍、そして、サーバを経由するため経路としてはあきらかに冗長に長くなりレイテンシが悪化します。これは、P2Pでの典型的な例である、ビデオチャットやゲーム対戦の特性に対してあまりマッチしません。

ここまで前提を並べてきて、やっと本題にたどり着きました。それぞれのデバイスがルータの下にいたとしても直接パケットをどうにかして届かせたいという必要性が出てきます、それがNAT越えです。ここからはNAT越えを単純な手法から順に説明していきましょう。まずは極めて単純なUDP hole punchingです。これはあとから紹介しますが、特定の動作をするNATでしか通用しません。ここから、NATの種別ごとにどういう形で対応を増やしていくか、というのがこのNAT越えの議論のおもしろいところです。

fullconeNAT
UDP hole punchingは上記の図の通り、cone NATが対象である限り、NATのグローバル側のIPとポートさえわかれば、そして、それをサーバで観測すれば、その後はサーバからIPとポートをそれぞれが教えてもらい、そこに対して、UDPパケットを投げ込めば到達できるわけです。
ここで、唐突にでてきたcone NATを含め、NATの動作によって分類をまず行いましょう。

  • full cone NAT
  • address restricted cone NAT
  • port restricted cone NAT
  • sequential port smmetric NAT
  • random port symmetric NAT

というふうに考えると、NAT越えの方法と特性が分類されます。まずはconeとsymmetricの差を考えてみましょう。

cone NATはシンプルな動作です。ルータ下のデバイスがグローバルアドレスに対して通信を開始し、パケットを送信したとき、ルータはソースになるIPとポートを覚えるのみです。それにしたがって、ルータのグローバル側のIPとポートをマップします。つまり、グローバル側のIPとポートに対して、グローバル側にいるデバイスであれば誰でもパケットを送信し、それはルータ下のデバイスにパケットはアドレスを書き換え転送されます。したがって、下記のような流れを経れば、UDPによるP2P通信が可能になるわけです。

  • ローカルネットワークAに存在するデバイスをαとし、ローカルネットワークBにいるデバイスをβとします。αとβが互いにUDPパケットを直接送受信できるのが最終目標です。
  • αとβを仲介するサーバをSとします。まず、P2P通信を開始したいという意思をαとβで共有します。そして、通信を開始するぞとなるタイミングをSから受け取ります。
  • すると、αとβはまず、サーバSに対して、UDPパケットを送信します。すると、パケットはαとβそれぞれのNATされたグローバルのIPとポートを観測することができます(ソースアドレスはNATされたルータのものが見えます)
  • それをαの情報はβへ、βの情報はαへと、サーバから通知を行います。(たとえば、P2P通信開始処理の間は、サーバとの間にTCPがはられていてここでやりとりするとかです。)
  • αはβのルータのグローバルのIPとポートに対して、UDPパケットを投げます。βも同様です。
  • cone NATであるため、ソースアドレスやポートに制限はありませんから、それぞれのUDPパケットは無事、それぞれのデバイスに届くことになります。

さて、cone NATの場合、こういったサーバが介在してアドレスとポートを伝えるという処理はあるものの、まだまだ単純な処理で終わります。次はaddress restricted cone NATとport restricted cone NATを攻略していきましょう。

address restricted cone NAT, port restricted cone NATはそれぞれfull cone NATに比べて制限が増えます。マッピングするときに、ソースのIP、ポート以外に、宛先のアドレスを覚えるのがaddress restricted cone NAT、ポート番号までも覚えるのがport restricted cone NATです。それぞれ攻略をしていきましょう。

address restricted cone NATは割りと簡単です。要は送った宛先のIPからのパケットでないと受け取りません。でも、サーバに送ってしまえば宛先はサーバになるわけでサーバからのパケットしか受けないことになります。では、αからβに送ったパケットはどうしてもNATに阻まれるはずです。でも、ここでcone NATのもう一つの特徴が際立ってきます。
cone NATの定義のひとつに、NATの外側のポートはソースアドレスになるデバイスのポートに従います。すなわち、αがport 30000をbindしてパケットを送ったとしたら、基本的には、NATもport 30000を利用するのがcone NATです。ここからが実際のNAT越えの方法をまた流れに沿って説明しましょう。

α、βそれぞれがサーバに向かってUDPパケットを投げ、サーバはそのIPアドレスとポートを観測します。そして、それをαとβに伝える。
すると、βはαのIPアドレスとポートに対して、UDPパケットを投げます。ここで重要なのは、βはbindするポートをサーバにUDPパケットを送ったときと同じポートを使います。このとき、NATはfull cone NATであれば通りますが、address restricted portやport restricted portでは、サーバとIPアドレスもポートも違う訳ですから通りません。が、β側のNATにはαのIPアドレスとポートへのパケットが記録され、βのIPアドレスとポートは維持されるわけです。ここで、αがβのIPドレスとポートに対してパケットを投げたとします、そうすると、βはさきほどのパケットはNATに阻まれたとはいえ、NATのマッピングができあがっているため、αからのパケットはβに到達します。また、このパケットでも、αはサーバへのUDPパケットを送ったポートをbindしていればNATには同様のマッピングがβのIPアドレスとポートに対してできあがるわけです。これで、αとβはそれぞれのNATを越えて通信ができるようになりました。

ここまで、cone NATの場合のNAT越えを説明してきました。実はこれはすでによくある方式として、STUNという形で標準化されています。実際はユーザ認証なども含みますが、P2Pの経路開通を行う方式はまさにいままでの説明通りです。いくつかのアプリケーションではSTUNが実装されているので参考にしてみてください。

ここからが、難しく解決できない問題に対して考えて行く形になります。
Symmetric NATです。これはcone NATと違い、ポート番号が再利用されません。つまり、ソースとなるデバイスでポートを固定したとしても宛先によって、別ポートが割り当てられることになります。そのため、サーバで観測したとしても、そのポートを再利用する方法がないのです。

さて、この場合、どういった方法でSymmetric NATを攻略するかを考えます。Symmetricの何がツライかというと、NATの外側のポートを観測してもそれを利用できないことです。いや、それは本当でしょうか。観測できることではなく、NATでどのポートが利用されるかと言い換えられるわけで、つまるところ、NATのポートは当たるなら予測でも良いわけです。では、予測可能か、が重要になります。Symmetric NATと言われるのもを更に分類しましょう。といっても、NATの内(ソースとなるデバイスのポートは固定)から外への通信が起こった際に、ポートがシーケンシャルに変化するか、ランダムに変化するか、です。

つまるところ、方法としては、例えばこうです。ソースとなるデバイスからサーバに対して、複数のパケットを打ちます。その際、bindするポートを固定します。そして、サーバの受けるポートはパケット数分変化させます。ここでは3発のパケットをサーバに対して投げてみます。そして、サーバからポートを観測します。このとき、ポートがどう変化するかです。例えば、+1されていく、+2されていく、-3されていく、ランダムに変化する、様々なパターンが見えるはずです。ランダムに変化する場合を除いて、NATの特性を予測するわけです。+1される場合はどうするか、もう分かりますね。NAT下のデバイスが1つしかなく、ほかの通信がないと仮定すれば、αからβへの通信を同じポートをbindした上でパケットを投げます。サーバで観測されたポート番号+1されたβはパケットを投げ込みます。そうすることで、NATのグローバル側のポートは予測され、そこにパケットを投げ込めば、おそらくは疎通するはずです。

ここからが考えどころです。実際にはNAT下のデバイスは複数あって他のUDPパケットが送られてポート番号はずれるかもしれません。もしくは、同じbindしたポートから通信しても、宛先のアドレスが違えば外側のポートが変わるかもしれません。前者はリトライでカバーするか、複数のポートをつかってα、βから送ってどれかが疎通したらその後はそれを使うかなどいくつかの方法が考えられますね。宛先のアドレスが違えば届かないことを考えると、サーバも複数のIPアドレスを持ち、それぞれに対しておくったときのポート変化も観測する必要があります。このあたりから観測の方法がどんどんと複雑化していくため、これに対して、どう対処していくかがNAT越えの最大の難所です。いままで、cone NAT, SymmetricNATという類型で説明してきましたが、昨今、この類型に意味がないと言われる所以がこのあたりから始まります。(とはいえ、NAT Traversalという技術を理解するにはこの類型も私は有用だと思っています。)

とはいえ、越えられないひとつに、ランダムにポートが割り当てられるSymmetric NATは対処のしようがなさそうです。この場合のみサーバーリレーを行うというのが疎通する確率を100%にする一つの方法です。そうではなく、ランダムにポートを開けるNATに対するポート予測方法をなんらか確立できる手法もあるかもしれません。もし、すでに公知だよという場合はぜひ情報へのポインタを教えてください。

ここまでで、UDP hole punchingのなんとなくの基本を学んできました。cone NATへの対処はSTUNの仕様、規格を読んでみてください。たぶん、この文章よりはよっぽど分かりやすいです、ここまで読んでいただく方にそう言うのもアレですが。また、実際、Symmetric NATの場合の方法としては、 https://tools.ietf.org/html/draft-takeda-symmetric-nat-traversal-00 を読むのがおそらく一番詳しく丁寧です。そういった意味でも、ここでの解説は初歩の初歩です、じゃあどう実装するんだというのから、サーバで何を観測するのか、そもそもNATが複数段あったらこの手法は果たして通用するのか。観測を複雑にしていけばいくほど、開通までの時間がかかります、それは本当にターゲットのアプリケーションにとって許容できるのか。Large Scale NATではこの穴開けが通用するのか、キープアライブはどうするか、セキュリティ的に必要な相手のパケットだけを見分けられるのか、認証はどうするか等、現実世界では、この抜け穴のような手法に対しての課題は山盛りです。そんなところの実地調査として、UDP hole punching自体はあまり表に見えない手法ではありますが意外なところで結構導入されていたりしますので、とあるゲーム機なんかで、P2Pで対戦通信しているな?とおもったときに、パケットキャプチャしてみるのもオススメです。

さて、最後に、いままでは、UDP hole punchingをベースに説明をしてきましたが、ではTCPの場合はどうなるでしょうか。まず、TCPにはcone NATという概念はまずあり得ません。それは、宛先との通信はステートをもって(つまりシーケンス番号を使って)通信されるため、宛先を限定しないポートマッピングというのはほぼ意味がありませんし、ほかのパケットを転送するというのはただのセキュリティホールです。なので、通常は、上記類型で言えば、Symmetric NATしか存在しません。また、さらに面倒くさいところが、TCPの通信シーケンスの始め方です。接続元はSYNパケットを送り、接続先はSYN、ACKをセットにして送ります、そして、接続元からACKが送られて、はじめてTCPでの通信は始まります。つまり、UDP hole punchingのように最初の一発のパケットはなかったことにするわけにはいきません。あくまで、SYNパケットは両者に届かないわけにはいかないのです。この通信開始の流れを3-handshakeと呼びます。

でも、それでもTCPでNATを越たい、という人にはヒントはあります。まず、TCPでの仕様では、3-handshakeだけでなく、4-handshakeでも問題なく通信は開始できます。つまり、αからSYN、βからもSYN、その後、双方からACKが送信されるようなケースです。ここから見えてくるのは、要はSYNをUDP hole punchingの最初のパケットとしてつかって複数送ったとしてもひとつだけ届けば通信は確立されるということです。これは、どこかで少し話題になりましたが、TCPの仕様に実際、TCP Simultaneous Openという名前で記載があります。ここまでくればあとの考えは分かりますね。これで、Symmetric NATと同じ手法でNAT越えはおそらく可能になります(これは私は実際に実装したことはないので、たぶん)

さて、というわけで……。ざっと、通常言われるNAT Traversalの手法の入り口を紹介してきました。STUN以上のもので簡単な実装を見られるものはいくつかあります。また、Symmetric NATへの対処の実装も、いくつかGitHubを漁ればでてきます。 https://github.com/zerotier/ZeroTierOne など。

とはいえ、NATの越方は様々、この上でどういう通信をするかも様々です。UDPでしか通信できない経路ではアプリケーションでは使い勝手が悪い場合もあります。そういう場合には、TCP over UDPを実装してあげてVPN的に使うのもよいかもしれません(OpenVPNが使っているようなTUN/TAPデバイスという仮想トンネルデバイスはLinuxではよく使われますね)また、NATに関わらず通信するためのサーバリレーの方法としてはメジャーなのがTURNを使った実装でしょうか。越えられなかったらTURNをつかってサーバリレーをするというところまでフローを実装するとより使いやすくなります。また、今回は出てきませんでしたが、ルータに実装されているUPnP実装では静的なポートマッピングが可能なものが多く存在します。UDP hole punchingとは別の方法で、NATの外→内の通信を可能にできる方法なので、こちらも組み合わせるとより多くのNATに対応できるはずです。でも、この場合も複数段NATがある場合はじゃあどうする、みたいなことがなかなかに難しいポイントです。まずは、ローカルネットワークとグローバルネットワークを見分けるような方法を実装しなければなりません。方法はいくつかありそうですが、ICMPでTTLを変化させて使うとできそうな気もします。要はtracerouteですね。

昨今、IPv6も徐々に普及し始め、NAT Traversalは不要になるかと思っていましたが、NATはIPマスカレードではなく、1:1のアドレス変換として生き残る雰囲気も少しだけ感じます。そんな中で、意外にNAT Traversalは必要とされる技術なのかもしれません。WebRTCは特性上、P2P通信ができれば好ましく、NAT TraversalもSTUNなどを使って行われるケースもあるようです、同時にTURNも使われる例の最たるものとしても。

今後どうなっていくか

さて、最後に、将来はというところを少し。これまでは、UDP/TCPの話をしてきました、それ以外もあります。SCTPが一番最有力なのではないかと思います。現状、メジャーではないものの、すでに実装はLinuxではしっかり入っていますし、途中経路のルータさえしっかり対応すれば(これが一番大変なんですが)、様々な課題を解決しています。ここから、SCTPを解説しはじめると、この記事はいつになっても終わらない形になってしまいますので、NAT Traversalにまつわるアレコレはここまでで一度締めさせていただきます。年末年始の空いた時間でSCTPを調べていただくときっと楽しいのではと思ったりしています。

最後に

この記事が果たしてアドベントカレンダーの最後に相応しかったかどうかはよくわかりませんが、NAT Traversalという古くからあるけれどマイナーな、でも、結構有用だと思っている技術の導入となる方がいたりすると幸いです。
途中から図がなくなったのは気力が間に合わなかったので、後で追加できたらしたいなと思っています。

[23日目] メカ設計の経験がゼロでも筐体の製造原価を見積もる方法。プラスチック編

~スマホケースでメカ設計・原価計算の基礎をちょっとだけ学ぶ~

こんにちは。
株式会社Cerevoの柴田と申します。以前は某社炊飯器・掃除機の筐体・機構設計に携わっていました。
現在デザインエンジニアとしてスマート・ビンディング「XON SNOW-1」のメカ設計を担当したり、最近ではニッポン放送、グッドスマイルカンパニーとのコラボレーション企画、BLEラジオ「Hint」プロジェクトにて、プロダクトマネージャーを兼任しています。

プロダクトマネージャー(PM)として仕事する機会が増えてきて、仕様が固まる前に製品の見積もりを作ることが度々あります。仕様が固まる前なので、当然のことながらそれぞれの部品は設計前です。経験があれば、「これくらいの製品は、まあこんなもんだろう!」と決めることもできるかとおもいますが、最初の見積もりで製造原価を安くしてしまうと量産するときに製造原価を割ってしまい、利益が出ない製品となってしまうかもしれません。

PMとして、それは絶対に避けるべきであり、ある程度現実的で根拠のある製造原価を概算でもいいから、知る必要性があります。

なにもわからないと設計前の部品をどうやって見積って製造原価をイメージすればいいのか?と悩んでしまうでしょう。
今回は特にプラスチックのメカ部品を設計する前に、どうやって製造原価を見積っているか、スマホケースを例にお話ししたいと思います。メカ設計の経験がないけど、ハードウェアのPMやってみたい!という方は参考にしてみてください。

内容としては、樹脂を使ったメカ設計・原価計算の基礎的なことを掻い摘んで解説したもので、計算結果も概算となります。製造業で同業の人にとっては釈迦に説法となる面も多いですが、あしからず。

 

スマホケースでみる製造原価の見積もり方

①材料の選定、見積もりのための材料の価格決定

まず見積もりを考えるにあたり材料の選定をします。ここについてはズバリ、「黙ってABS」です。ABSとはアクリロニトリル-ブタジエン-スチレンという樹脂の頭文字をとって付けられた名前です。
世の中にあるプラスチック製品、特に身の回りの家電は、かなりこの樹脂が使われています。ちなみに、お掃除ロボット「ルンバ」にも使われています。Amazonの商品説明にも記載されています。
他にもPP(ポリプロピレン)とかPC(ポリカーボネート)とかあるのですが、それはまた別の機会に。

次に、材料の価格です。樹脂はペレットという顆粒の状態で購入するのですが、業者でもないのにわかるわけない……と投げ出してはいけません。
そんなときは、オフィス用品/現場用品のASKUL(アスクル)です。意外かもしれませんがアスクルで樹脂ペレットが売っています。

アスクルで「ABS ペレット」と検索すると実験用の樹脂ペレットがヒットします。製造現場で樹脂のペレットは25kgごと(=1袋)の単位で購入するのが一般的です。アスクルも25kgで購入することができます。
アスクルの価格を使うと1kgあたり約800円となります。正直この数字はちょっと高めです。実際は1kgあたり300~500円くらいですが、今回は800円で進めます。

②スマホケースの重さを求める

プラスチック部品の製造原価を知るために重さは一番重要です。すでに部品のデータが出来ていて3Dプリンターで出力しているのであれば、その重さを測定します。
デザインが出来ていてデータもあるけど3Dプリンターで出力していないという場合は、3D-CAD(モデリングソフト)を使って体積を求めましょう。色々なCADがありますが、測定ツールの中に体積を測定するコマンドがあって、何回かのクリックだけで、体積を測定することができます。体積がわかったらABSの密度を掛け算して、算出することができます。

今回はあくまでもCADを使わずに見積もります。

Photo_16-12-11-03-28-17.004

まず、スマホケースなのでスマホの大きさを測定します。写真のスマホはだいたい縦15cm、横7cmです。これに厚さを決めて体積を求め、密度を掛けて重さを計算します。(スマホの上下・両サイドを覆う箇所は、ややこしくなるため割愛します。)
厚さ、一体どれくらいにすればいいか悩んでしまうかもしれませんが、ここもノウハウ「とりあえず2mm」です。プラスチック部品はどれも1mmから3mmくらいの肉厚です。手近にプラスチック製のコップがあれば見てほしいです。なんとなく1~3mmくらいです。細かい話はあるのですが、それくらいの厚さじゃないと作れないと思っていいです。スマホケースに限らず、樹脂の肉厚でどうすればいいか決まっていないときは、なにも考えずに2mm(0.2cm)と仮定しましょう。

体積=縦 15cm x 横 7cm x 肉厚 0.2cm =21cm³
となります。

これに、密度を掛け算すれば重さがでます。ABSの密度をさっそくググって……もいいですが、覚えておいて損はない(はず?の)うんちくがあります。おおよそ「プラの密度は1(g/cm³)」です。
単位は[グラム パー 立方センチメートル]です。物性によって前後しますが、おおよそ1と考えていいです。プラスチックは1辺1cmの立方体だと約1gということになります。正確な数値は各材料メーカーによって異なりますので、ご確認ください。

重さ=21cm³ x 1 g/cm³ = 21g

よって、重さは21gとなります。

③1個あたりの作業時間と④作業者の人件費

製造原価を決める上で、重さに次いで重要なのが作業時間です。作業時間が長ければ長いほど製造原価が上昇してしまいます。
実際に工場に行ったこと無いし、プラスチック部品がどうやって作られているなんて……と嘆く前に「YouTubeで動画を検索」しましょう。”射出成形 動画”で検索してください。工場に行ったことが無くてもどんな感じか、なんとなくわかります。動画から作業時間を仮定します。注目してほしい動画は時間が短い4分未満の動画です。時間が長い動画は、射出成形(=プラスチック部品を作る工法の名前)の解説動画だったりするので、別途勉強したいときに観てください。
時間が短い動画で、淡々と射出成形の様子が撮影されているものがあるので、その動画の動作を注目してください。

工作機械の中にある金属の塊同士(=金型)が重なって数十秒止まった後に、金型が離れて中からプラスチック部品が出てきます。これが射出成形の動作であり、プラスチック部品が出来上がる1個あたりの作業時間です。
動画では、またすぐに同じものを量産し続けます。動画から1個あたりの作業時間を30秒と仮定します。

作業時間が決まったら、人件費です。YouTubeだとロボットアームが動いていたりしますが、今回はそこまで豪華な設備が無いことを仮定します。工作機械のオペレーターがいて、その人が金型からプラスチック部品を取り出す場合、時給を支払わなくてはいけません。
今回は時給1000円と決め打ち。1秒あたりの費用まで落とし込みます。

1時間あたり1,000円=1分あたり167円=1秒あたり2.8円

時給1,000円は1秒2.8円となります。

○製造原価算出

今までの数字を合算して製造原価を求めます。

①1gあたりのプラスチックの価格 1kgあたり800円。1gあたりだと0.8円
②スマホケースの重さ 21g
③作業時間 30秒
④人件費 1秒あたり2.8円

製造原価 = ①ABS 0.8円/g x ②重さ21g + ③作業時間 30秒 x ④人件費2.8円/秒
=100.2円

ざっくりですが、100.2円となります。この計算から、スマホケースの製造原価は100円くらいだとわかります。
また、① x ②を原価計算の用語で、直接材料費(略して直材費:Direct material cost)、③ x ④を直接労務費(直労費:direct labor cost)と呼んだりします。詳しくは原価計算の本で勉強してください。

今回の仮定はだいぶラフで、高めに算出されています。憶測ですが実際はもっと安いと思います。

◇主な製造原価の低減案

  • 安価な樹脂の選定:今回はアスクルで販売している実験用の樹脂で計算したため割高。
  • 軽量化:厚さを薄くすれば体積が減って安くなる。
  • 金型に同じ部品を複数配置し、複数取りにする。:2個取りにすれば1個を作る時間で2個作ることができる。
  • ロボットアームによる時短:人間よりも無駄な動きがない。作業効率アップ。
  • 人件費が安いところで製造:日本国内ではなく、アジア近隣諸国(中国など)で作る。

逆に、製造原価を上昇させる要素もあります。不良率(100個作った内、何個が不良か?)や工作機械のメンテナンスに使った油の費用(間接材料費)、管理費等などです。ただ、それを加味しても、この計算の数値から大きく外れることはないでしょう。ちなみに、私が持っているスマホケースはポリカーボネート製で14gでした。材質こそ違いますが、そんな感じでしょう。

○まとめ

・製造原価=1gあたりのプラスチックの価格 x 重さ(体積x密度)+作業時間(秒)+人件費

数式は自体は簡単なので、その数式のための仮定がどこまで現実的か、がポイントです。

  • 材料選定迷ったら「黙ってABS」で。
  • 詳細設計してなくても肉厚は「とりあえず2mm」にしよう。
  • 体積わかったら「プラの密度は1(g/cm³)」だから重さもわかる。

慣れてしまえば難しいことはありません。実際には、金型の取り数、成形機の型締力、部品点数や組立工賃など、様々な要素が追加されてメカ全体での製造原価が算出されます。
プラスチック部品の製造原価の算出について、全くピンとこないから不安だ……というときはちょっとでも参考にしていただけたらと思います。

自分があまり詳しくないことでプロジェクトがうまく進まないときは、特に腑に落ちないものです。でも、ちょっとでも知っていれば納得できることもあります。その知識やノウハウは、過去の経験や実績からくるものではなく、やる気を持って、逃げずに・真摯に物事を取り組む姿勢がきっかけとなって、体得できるのだなと、Cerevoで日々痛感しております。

ハードウェアのPMに興味はある、でも経験がないから……と尻込みしているなら、まずは弊社の採用面接を受けてみてはどうでしょうか?プロダクトマネージャー絶賛募集中です!!

 

[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!!」って驚く顔やリアクションと、笑顔を沢山見れて、好きや楽しいを共有できるの嬉しいなと素直に感じました。
また製品からアニメ原作に興味持ってくれた方も多かったので、これをきっかけに作品がまた盛り上がってくれるといいなと思いました。

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