野球のシーム(縫い目)のようなボールを作る

はじめに

球体POVというものを作成しています.

tajmahal0707.hatenablog.com

 

その中で,いままで外殻と呼んでいる透明のボール部分があります.

https://lh3.googleusercontent.com/Uf2_TV6jprZZVTuVSbxgeRL0vNsFn95X3MUV9Wa08J1xl1_c-qAbspuhumKkybLSZIZ4xBLRbBYu1Gy8jln22aXxjpmEYkqa_3-ShQ8ObiE1U5huTyuOVC01fRSakYqwwcUTtFmZae0nRjeTf6v0UkyWZDW-rHuXTz3wPjKMVpiRhKdudED66Yb8JuNazHngNGqZ8rEV9sK4Jm-mKIR0mt5Xf81PDUdTiBw7rCMkFMmIKO1Gmy9rx16Wd0e04U3GDmXPEx1a1DAJmLmB4hKoZIKOeUjiH3Tzy5zYqyCVUe2nx0pVXD5kF5SpQXZlC7hbgCY94tUBfBf1nGydwRJ_T6K9rWnaRCZny8kYR0elMC1F7OHvuleacaWqLAbP-Zyh_3h6siClshtX38seLanCWMfIqMxFFiqPpqtcYMM5LAG4zFynaDhhHNbybrjcD26BwFWgtkM57VChjDgxe_RtyPxu35sF-PNUggGmSILYXcejsTBfUXKWkgVxVpwnNceZFsK6hDXZ56kfIk1QnFP3wNr-u4TxIHRXxYVpIlTv2qZU1CAxpONusyAdGbF6u5k0bf1v5OIezSGpVGcy0W3tmNsSVMWHrqmySFgW5TAbbnRMe67rQ16Ui1WUknJ3fQ8EIQYc8_7xbMT2_cHL1T12jxoFTxwfQxBlzNtXMF7YREoqcCZgqsv6T4Kwh62u4Zuqc8pzQEn7AnWE6esOQhH72Inxbmqikm3aA1Dtz6XCR55fcaeg=w1266-h1686-no

これはAnyCubicのPhotn-Sという光造形型の3Dプリンタで出力しています.

 

打ち出し直後はこんな感じ

https://lh3.googleusercontent.com/X5V4x8wDwkXxCDzfNz9UnewOZU0IFIfbrusuBCgULUPnQ-R5Rm94iSvGxU6J-9eAWGGy30PP6t_znukoiBLrjU2awtBik16-xX91X8fIZs5zf2rLqh8eR0EKHR5pw7oBVgFpRCn_B0begpYbzJJjq7a2HzNqjrHgWxIuP4hH71KjctWmiQVcuf_suGU0j2z07zyLCFzGmX7jDQ9A42PI5bfba83RUpe501Jq_5OPm9P0ctHrriuX32ucM0wk8KtHfk2znusNU3lVH_5rvjfz3VASRdDVcWL9f8G-9Y3aUkRu6QYU70zozfsQ-oKIXX8wJid996jnzt1xMuwX7y-eEUEGnnd85xD6hmFgh7Fj4JdQZ-IvCcgbDfd-IFK0U86NJk45lSVzBdmLa--TKqgX4-_FlPJqWc1vAwpbVRU_OfsSGMBC5mwgoIdbxELF7PPVP6zT8oGVIJ6RfWP09q4gMNiXgVph8gVoRibcqeyTT1xQYY0pm7l7lrHi5VlvTUKAMi8E-G4fGWMkdGQxU_2Nu8ZLx8JEwFXeVK5XtjT7kI9Cqb-5HMb7-HUq0nvD6Aa29cQ6ZflBLRmSWAY1XUKtZpYs2hpUJN18yByc1LVJzS-5XegxtCk53e6EHvyk4uDmngWhwiL7dDSz5fBwGbqfXYe3SUdag2r3VRZITosNaWoz2E_4i_xWFw2-rHprF8H4_gyUdlb710nh3ZOEjM8FPNWl1fswHmAhK87tszkQuyRExFqh=w1266-h1686-no

ちなみにこれが 初めてphoton-sで打ち出したものだったりしますw  photon-sの印刷範囲が116×65×165mm のところに100×50×100mmのものを印刷したのでかなりギリギリだったのに,ちゃんと打ち出すことができました.

ほとんどデフォルトの設定のままでこれだけ出せるんだから大したものです.

打ち出し直後。

f:id:tajmahal0707:20191220155150j:image

これを磨いて、
f:id:tajmahal0707:20191220155146j:image

クリヤコートを吹きます。(UV硬化樹脂で、UVで変色しやすいのでUVカット付き)
f:id:tajmahal0707:20191220155141j:image

もうちょっと磨けばよかったな

 

これはこれで満足のいく出来ではあったのですが,今回さらに新しく球体ディスプレイを制作するにあたりボール部分もデザインを一新しようと考えたのでした.

元ネタはthingiverseのこれ.

www.thingiverse.com

見た瞬間「これだ!!」と思い,さっそくダウンロードしましたねw

ところが,中に入っていたのはscad拡張子.全く知らなかったのでしらべてみました.これらしい。。

qiita.com

早速ダウンロードして開いてみます。

f:id:tajmahal0707:20191219021047p:plain

 

 

なるほど.

関数を記述して形状を作るタイプのやつなんですね.これならボールサイズや肉厚もパラメータ変更できそう。POV-RAYなんかと似てますね。

でもそれなら今後使うことを考えて、いつも使っているBlender & pythonで作りたいなあ,ということで作りました.

原理

野球のボールの縫い目に沿ってボールを2分割します.

 

数式は探したら出てきました.あるもんですねーー。

www.darenscotwilson.com

これをblenderに移植します.

単位球表面における縫い目の位置は次式で表されます.

{displaystyle egin{eqnarray}left{egin{array}{l}x_alpha &=& cos(alpha) - B sin(3alpha) y_alpha &=& sin(alpha) + B sin(3alpha) z_alpha &=& F cos(2alpha)end{array} ight.end{eqnarray}}

ここで,(x_alpha, y_alpha, z_alpha)が alpha (0.0〜2pi)における 縫い目の単位球面上の座標値.このとき式にあるBとFは,

 B: 縫い目の隙間の幅を決める係数

 F: 縦横比を決める係数

となります.上のリンクにある図で引用すると,

http://www.darenscotwilson.com/spec/bbseam/bbseam-B0p6_F1p0.jpg

B=0.4
F=1.0
B=0.6
F=1.0
B=0.8
F=1.0

 今回はなんとなくB=0.5でやってみました.

ソースコードはこちら。

github.com

えい.実行!

f:id:tajmahal0707:20191220151055p:plain

こんなかんじに縫い目が出来上がりました.

あとは,これを繋いでポリゴン化(ここのソースコードは気が向いたら公開します)したあとで,ボールとbooleanかけると,,,,
 

f:id:tajmahal0707:20191220143456p:plain

こんな感じ.

これをstl化してFusion360に持ち込みます.

f:id:tajmahal0707:20191220151554p:plain

うっわ.Polygon量デカすぎ. 遅い! ボールのメッシュがすべてPolygonになってしまっているのですね.fusion360などのCAD系だと球は関数ですから, booleanの作業はfusion360で行うことにします.

f:id:tajmahal0707:20191220151823p:plain

先程の縫い目をPolygon化したもの(簡単のため半分(0~pi)だけ制作)をstlまたはobj形式で出力します.

この際に,Polygonの面の向きとか法線方向,重複点などの処理が必要なのですが今回は割愛.自分用のメモなので.

興味ある方からリクエストがあれば手順を書きます.

 

読み込んだstlFusion360上でメッシュとして読み込みます.

読み込んだあと,

f:id:tajmahal0707:20191220152826p:plain

「メッシュからBRep」に変換することで,メッシュをボディに変換することができ,その結果Fusion360上でオブジェクト同士のブーリアン演算などを行うことができるようになるのです.

半分のseamを鏡面コピーして準備完了。

f:id:tajmahal0707:20191220153215p:plain

さらにouter_shell(φ100mmのボール)からブーリアン演算で,inner_shellとseamを2つ抜きます.

f:id:tajmahal0707:20191220153508p:plain

えい,実行!

f:id:tajmahal0707:20191220153619p:plain

できましたw

これに,neon向けに穴あけ処理などを施して,photon-sで打ち出す前に確認としてAnycubic i3 Mega で打ち出してみます.


f:id:tajmahal0707:20191220084020j:imagef:id:tajmahal0707:20191220084023j:image

出ましたねえ。

嵌め込みが結構大変だけれど、なかなかいい感じ。なんだけれど気になる点が3つ

・嵌め込みがキツい。結構無理やり押し込んでる感じ。

・その割には嵌った後がユルい。カタカタいっちゃう感じ。この中にPOV入れて干渉しないかしらん

・この隙間にPOVを通せるのか? 

 

ユルさはこんな感じ.


Printed seam ball

 

今後はBの値を0.5→0.35にして隙間を開けてみようと思います。

 

球オブジェクトが回転しても天地が回転しないテクスチャをつくる

はじめに

球体POVというものを作成しています.

tajmahal0707.hatenablog.com

こんな感じで球体に映像を表示することができるガジェットで

このように完全にボールの中に収納してバッテリー動作することができます.


球体POV

このようなガジェットを制作してると,当然やりたくなることがあります.

そう

転がしても天地が同じ(画像は回転しない)になるボール

近いイメージはこんな感じ?


映画『ジュラシック・ワールド』ボーナスDVD特典映像

 縁日のおもちゃとかでボールの中に液体があり,中の物が浮いているので転がってもその向きが変わらないおもちゃとかありませんでした? 名前が理解らなくて検索できませんでした.

やってみたいと思いませんか?  私はそう思います..

 

 

そこでそんなこともあろうかと,このガジェットのマイコン部分には

を採用しています.

内部にMPU9250を搭載し,センサフュージョンから自己の姿勢quaternionやオイラー角を算出することができます.

これを使ってボールが回転しても,表示する映像は回転しない機能を実装しようと思います.

球体テクスチャの基本

この球体POVは,画像でテクスチャを与えるとそのLEDの位置に相当する色をテクスチャから取得して画像を表示します.

そのときのテクスチャを扱いやすい形式で与えることで正しい像を表示することができます.ここでは貼り付ける画像を「正距円筒図法」に基づいたものと定義しています.

ja.wikipedia.org

例えばこんな画像です.

f:id:tajmahal0707:20191126111738p:plain
これは,パノラマ画像とも呼ばれ,近年のCG分野で球体に貼るテクスチャとしては比較的一般的なもので、メルカトル図法とは縦の比が異なる親戚のような図法です.(地図の表現法について詳しくはこのへんあたりを参照)

この画像は基本的にはよくネットでも拾ってくることもできますし,thetaなどの360度カメラでも出力モードに設定されているので,入手することはそれほど苦労することは無いかと思います.

 

この図法の特徴は

  • 緯度と経度がそのまま画像上の座標値(uv座標)になっている
  • 緯度と経度で作る長方形が正方形になる

一方で北極・南極に向かうほど歪みが大きくなってしまうという欠点があります.

 

この画像テクスチャを球体にマッピングすることを考えます.

通常はこの処理はGPUで行ってしまうのですが,マイコンで処理を行うために一つ一つばらばらにしてみます.

上の地球の図面を例に考えると,テクスチャ座標を(u, v)(ここで画像サイズに依存しないように正規化して{0.0 ≦ u, v ≦ 1.0}とする)とします.

つまり,左上が(u, v)=(0.0, 0.0)で,右下が(u, v)=(1.0, 1.0)となります.(ただし実画像では緯線(±90度)と経線方向(360度)の長さ比は1:2で経線方向が長い)

赤道が北緯0度.北極は北緯90度(-{\pi}/2),南極が南緯90度({\pi}/2)となっています.東経は360度で地球一周(2{\pi})することとなり,u軸方向の画像中央は東経0度(グリニッジ)上で、画像中央(東経0度、北緯0度。アフリカの海のど真ん中)のuv座標は(0.5, 0.5)となる.

例えば東京を例(北緯36度,東経140度)に取ると

  • u=140/360+0.5=0.888    角度成分で正規化して,グリニッジ分(0.5)を足す
  • v=0.5-36/180=0.3          角度成分で正規化して,赤道分(0.5)から引く

となり,東京のuv座標(u, v)=(0.888, 0.3)は

f:id:tajmahal0707:20191118145553p:plain

だいたいこの辺になるということです. 

このように球面上の座標が判れば,換算したuv座標から対応する座標の色を算出できることになります。

球体POVの画像生成

さて、球面のテクスチャ座標が分かったところで、球体POVのLED各色を算出する方法について考えます。

球体POVは


球体POVデモ

最初の10秒くらいをみると分かるように円弧状に配置したLEDを回転させ、角度ごとに表示する色パターンを変えることで残像効果(Persistence of vision)によって映像を作る方法です。

そのため回転軸を北極南極と見なすと先のパノラマ画像のuv座標と相性の良い方法(LED配列方向がv軸方向、回転方向がu軸方向に対応)なのです。なぜならテクスチャから縦方向に順に色を読んで配置していくだけでLEDの色を決定することができるのですから。

 

  もちろん転がらない場合には...ね

 

この球体POVはLED配列方向に45個のLEDを、回転軸方向を120分割することによって120×45の分解能を持つディスプレイになります。

地球を表示するとこんな感じ(まだLEDの問題でフルカラーで出せていませんが)


球体POV

これを物体の回転に合わせてテクスチャ座標も回転させてみようというのが今回の試みです。ここからはまずprocessingを使ったシミュレーションで。

 

テクスチャ回転①

シンプルにテクスチャを横回転させてみましょう。

北極南極の軸は固定のままで、極軸周りに回転。オブジェクトは不動です.


longitude
スタートとなるuの座標が変化するだけなので簡単ですね。

f:id:tajmahal0707:20191119075538p:plain

青矢印のようにLEDスキャンを開始する位置をずらすことで,オブジェクトは動いていないのに映像が回転しているように見えることがわかります.
 

テクスチャ回転②

今度は縦回転。x軸周りに回転するので北極南極軸が回転します。

何も考えずに開始するvの座標値を変えてみましょう。


latitude

あれあれ、まあそうなりますよねえ。。。

極点周りで座標系が歪んでしまっているのにそれを考慮せずに回転させたらこうなります。

そこで天頂位置を変動させる方法を考えます。最初、この計算について1週間以上悩みました。。最初メルカトル図法のグーデルマン関数あたりの方に向かってしまい、相当ハマりました。

 

テクスチャ回転③

ポイントは「大円」です。

ja.m.wikipedia.org

大円とは球をその原点を通る平面で切った時にできる3次元円のことでその半径は球の半径に等しくなります.

f:id:tajmahal0707:20191119111806p:plain
球体POVの映像生成方法は,天頂軸の北極・南極を通る大円(以後LED大円,図中緑の円)に北極から南極に向けた半円上にLEDのを配置します.これがテクスチャuv座標系におけるv軸方向の座標を決定します.

u軸方向の座標は,LED大円を天頂軸回りの大円(以後回転軸大円,図中の青い円)に沿って回転させることでu軸をスキャンします.図からも分かる通り,回転軸大円とLED大円の法線ベクトルは直交します.

そのときの各LEDの座標値をuv座標に変換することで回転するテクスチャ値を得ることができると考えられます。

 

ここでもう一つのポイントはquaternion(四元数)です。

quaternionとはある回転軸ベクトル{v}周りに\thetaだけ回転させた量で回転を記述する方法です.

https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F51055%2F8aadab5a-9b24-c271-9384-9087c6fab19a.png?ixlib=rb-1.2.2&auto=compress%2Cformat&gif-q=60&s=5588c643a3fdca5ae491bb80d6fdd45c

まずベクトルvを {v'}=\dfrac{v}{\sqrt{v_x^ 2+v_y^ 2+v_z^ 2}}と単位ベクトル化します.

回転角をθ(rad)としたとき,この回転を表すquaternion:qは次式で表されます.

{q}=(q0, qx, qy, qz)=(cos(\dfrac{\theta}{2}), {v'} sin(\dfrac{\theta}{2}))

これをLED大円および回転軸大円の回転軸に対して適用します. 

LED大円におけるLEDの配置は,北極から南極まで -{\pi}/2〜{\pi}/2 の180度を45分割します.この座標値はquaternionを用いると簡単に記述できます.

これを大円周りの回転に適用すると,原点を通るLED大円の法線ベクトルを{n}_{LED}とすると,この法線ベクトル{n}_{LED}がquaternionの回転軸ベクトル成分となります.そして北極から南極に向かって 180/45=4 度間隔で回転させていくと45個のLEDの各座標値を得ることができるのです。これによってある経度におけるLED座標を求めることができ、それを天頂軸で回転させます。

天頂軸回転もquaternionで簡単に記述でき、天頂ベクトル{n}_{apex}を回転軸ベクトルにした回転を180/120=1.5度間隔で回転させていくことに相当します。 

天頂ベクトルのセンサによる回転

上記までである天頂ベクトルを与えた場合のLEDのuv座標を計算する準備ができました.

回転がない場合の天頂ベクトル{n}_{apex}は単位球のy軸上の天頂(北極に相当)に位置し,その座標値は{n}_{apex}=(0, 1, 0)となります.またLED大円の法線ベクトル{n}_{LED}{n}_{apex}と直行するx軸上と考えることができ,その座標値は{n}_{LED}=(1, 0, 0)とします. 

 

そこでMPU9250で取得した姿勢情報から天頂ベクトル{n}_{apex}を回転させることを考えます.

MPU9250でquaternionを求める方法はいくつかありますが,M5stackのサンプル例にある「MPU9250BasicAHRS」を用いるのが一番簡単です.

f:id:tajmahal0707:20191119123212p:plain

このサンプルの322~325行目にquaternionを取得する部分があります.

f:id:tajmahal0707:20191119123626p:plain

オイラー角(roll, pitch, yaw)も求められますが今回は使いません.

センサから取得したquatrenion をq_{sensor}=(q0,qx,qy,qz) とします.

(qx, qy, qz) が回転軸ベクトル.{q0} が回転量に相当し,回転軸ベクトル(qx, qy, qz) は単位ベクトルであるとします.

このquaternionq_{sensor}にもとづいて 2つのベクトル({n}_{apex}{n}_{LED})を回転させます.この2つのベクトルはそれぞれ軸方向の単位ベクトルなので0の項が多く計算を簡単にできそうですね.

通常のベクトル {v}=(v_x, v_y, v_z) をquaternion{q}_{sensor}=(q0, qx, qy, qz)で回転させる回転行列{R}_{sensor} を求めると

{R}_{sensor} = \begin{pmatrix} 1-2(q_y^ 2 + q_z^ 2)&2(q_x q_y - q_z q_0)&2(q_x q_z + q_y q_0) \\ 2(q_x q_y + q_z q_0)&1-2(q_x^ 2 + q_z^ 2)&2(q_y q_z - q_x q_0) \\ 2(q_x q_z - q_y q_0)&2(q_y q_z + q_x q_0)&1-2(q_x^ 2 + q_y^ 2) \end{pmatrix}

 

天頂ベクトル{n}_{apex}を回転{R}_{sensor}で移動させると

\begin{eqnarray}{n'}_{apex} &=& {R}_{sensor}\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} \\ &=& (2(q_x q_y - q_z q_0), 1-2(q_x^ 2 + q_z^ 2), 2(q_y q_z + q_x q_0))\end{eqnarray}

と簡単な式になります.零があるのでたくさん消えますね.

 例えば天頂ベクトルをLED大円の法線ベクトル{n}_{LED}で90度({\pi}/2)回転させることを考えると,このときのquaternion {q}_{LED} = (cos(\pi/4), sin(\pi/4), 0, 0)から天頂ベクトル{n}_{apex}を回転させると,

{R}_{LED} = \begin{pmatrix} 1&0&0 \\ 0&1-2(sin(\pi/4)^ 2)&2( -cos(\pi/4) sin(\pi/4)) \\ 0&2 cos(\pi/4) sin(\pi/4)&1-2(sin(\pi/4)^ 2) \end{pmatrix}

\begin{eqnarray}{n'}_{apex} &=& {R}_{LED}\begin{pmatrix} 0 \\ 1 \\ 0 \end{pmatrix} \\ &=& (0, 1-2(sin(\pi/4)^ 2), 2 cos(\pi/4) sin(\pi/4)) \\ &=& (0, 0, 1)\end{eqnarray}

となり, 天頂ベクトル{n}_{apex} = (0,1,0)が90度回転して(0,0,1)へと変換され,x軸回りにy軸を90度回転させてz軸になったことがわかります.

 

同様にLED大円の法線ベクトル{n}_{LED}=(1,0,0)を回転{R}_{sensor}で移動させると

\begin{eqnarray}{n'}_{LED} &=& {R}_{sensor}\begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} \\ &=& (1-2(q_y^ 2 + q_z^ 2), 2(q_x q_y + q_z q_0), 2(q_x q_z - q_y q_0))\end{eqnarray} 

これも簡単な式にすることができました.

 それぞれ計算が簡単なので,別々の関数にしたほうが良さそうですね.

 

また,Quaternionには球面線形補間という性質があり,2つのベクトルを円弧状に補間することができます.

LED大円上の点p0とp1があるとき,パラメータt(0.0 ≦ t ≦ 1.0)を用いてその間を補間する中間のベクトルp(t)を求めることができ,その式は

p(t) = \dfrac{sin((1-t)\theta)}{sin(\theta)} p_0 + \dfrac{sin(t\theta)}{sin(\theta)} p_1

と表すことができます.

しかし,ここではこのあともセンサによる回転などが加わるのと,実装時にはこのあたりの計算はすべてすっ飛ばしてしまうことになるので,いろいろ検討したのですが今回は採用しないことにしました.

球上の座標の緯度経度計算

上記までセンサによって回転した天頂ベクトル{n'}_{apex} を求めることができました.この天頂ベクトルは単位ベクトルなのでそのまま球上の座標値として使うことができ,この座標値をもとに回転した天頂の緯度経度{n'}_{apex}(ひいてはテクスチャ上のuv座標)を算出します.

直交座標から極座標への変換公式を用います.単位球なので r=1 となり,

{\displaystyle \begin{eqnarray}\left\{\begin{array}{l}r &=& 1 \\ \theta &=& arccos({z}) \\ \phi &=& arccos(\dfrac{x}{\sqrt{x^2+y^2}})\end{array}\right.\end{eqnarray}}

で求めることができます.

 この極座標変換の結果から緯度:\thetaと経度:\phi が算出できます.この \theta\phi は単位がRadianなので,PIで割って正規化することでuv座標に変換することができるのです.

 

センサからオブジェクトの回転を踏まえたLEDの各点の球面上の座標を求め,その座標値の緯度経度ーひいてはテクスチャのuv座標を求めることで,各LEDのカラー値を求めることができます.

そこで,m5stackから取得したセンサ値をシリアル通信でprocessingに送り,その値をもとにテクスチャ値(というかLEDの位置にcubeを配置してそのcubeの色を指定)をシミュレーションしてみました.


Rotation test

画面の下がセンサ値に応じて回転している球体(正確には球表面上にcubeを配置したもの)で,その各LEDに相当するcubeの色を上のパノラマ画像のテクスチャ座標から得ています.(センサ値と実際の回転が一致していないのはご愛嬌.)

そして上のパノラマ画像上には,テクスチャ値を取得するために使用したuv座標の等緯線をマッピングしています.

動画を見るとわかりますが,オブジェクトの北極・南極が回転していろいろな位置に移動していることがわかります.そこを中心に新たにuv座標を取り直すことでパノラマ画像から回転に応じたテクスチャを作り直すことができるのです.

 

この処理の擬似コードはこちら

  // センサ値からquaternionを取得
  quat[4] = getQuaternionFromSensor();
  
  // 天頂軸回りに回転:モーターの回転方向
  for(int u = 0; u <= LONGITUDE; u ++){
        float uu = float(u) / float(LONGITUDE);

        // LED大円周りに回転:各LEDの色を求める
        for(int v = 0; v <= LATITUDE; v ++){
            float vv = float(v) / float(LATITUDE);

            // LED大円回転(vv*PI [rad]),結果をvec2に格納
            float[] vec2 = rotate(axisX, vv*PI, axisY);

            // vec2を回転軸大円で回転(uu*PI [rad]),結果をvec1に格納
            float[] vec1 = rotate(vec2, uu*PI*2.0 , axisX);

            // センサからの回転 quat でvec1を回転し,結果をvec0に格納
            float[] vec0 = rotateQuaternion(quat, vec1);
          
            float[] uv = pos2uv(vec0);            // vec0 のuv座標を変数uvに格納
            // uv 座標からテクスチャのカラーを取得
            color c = getColor(int(uv[0] * image_width), int(uv[1] * image_height));
        }        
    }

 quaternionは回転させる順番で結果が異なるので,順番に注意.

 

 

次回はこれを実際に球体に落としこむ作業に入ります.

大量の掛け算,三角関数計算があるので,ダイエットがんばらないと..

 

 

 

 

 

 

球体POV作成メモ

はじめに

 私は2015年からneonというGUGENハッカソンのメンバーが母体になったチームでジャグリング用のガジェットを作っています.

arch.gugen.jp

みんな本業を持っているうえ,それぞれ自分の活動がある中でのチームなので,なかなか進捗が捗りませんが,それでも毎年Maker Faire Tokyo(以後MFT)に出展したりといろいろな活動をしています.

 

その中でいままではLEDを固定して配置した球体デバイスをいろいろなパターンで作成してきました.

このデバイスは,音楽に合わせてボールそれぞれの光り方をコントロールできるようにするものです.

 

いろいろ作ってきた中でこのようにたくさんのLEDを連動させて作っていると,ある欲求がフツフツと沸いてきます.

それは「これで絵を表示したい!」ということです.

ところが実際にやってみるとやはりこの解像度では絵にはならないことがわかります.

 

そこで今回はジャグリングガジェットであるかどうかはさておき

「絵を出せるボールを作りたい!」ということになり作成しました.

 

ボールに画像を表示するディスプレイには,いろいろな方法が考えられます.

  1. 今まで以上にLEDを密集させる
  2. 液晶もしくは有機ELを球面に貼り付ける
  3. POVを使う

この中で1は配線が地獄になります.

ちなみに92LEDの時点で裏の配線はこんな感じ.

f:id:tajmahal0707:20191029013620j:plain

さらにLEDを増やしてしまうと消費電力も大きくなり,あっという間にバッテリーが消耗してしまいそうです.

 

2はできたら嬉しいですがこれを実現するにはお値段がかかってしまいそうです.

そこで

  • LEDが少なくても高解像度を実現
  • LEDが少ないので電池消費も低い(でもモーターか付く)

などの理由から3のPOVで高解像球体ディスプレイを目指します.

 

POV(Persistent Of Vision=残像)とは回転する物体に光源(LED)を取り付けてパターンを投影し残像効果により画像を表示するシステムのことです.

今回のMaker Faire Tokyoでも色々と展示されていましたね.

例えば

www.s-m-l.org

 

POV自体は最近いろいろなところで広告用に使われているのを見かけることがありますね.この製品(3D Phantom)などが有名です.

www.youtube.com

POVは回転する部分に必ずLEDなどの表示装置を配置しないといけないので,表示装置を制御するマイコンや回転させるために必要なモーターをどこに配置するかが重要になります.

電源をAC電源から確保する場合など回転できない部分があったり,最終的には当然どこかに固定して回転しなければならないので,回転する部分と回転しない部分がPOVをには必ず存在する.

基本的に電源から表示装置までの間のどこかに電気的に回転を伝達する機構が必要となる.

もちろんバッテリー駆動であれば回転体上に電源・モーター・マイコン・LEDをすべて配置する方法もあり, POVの設計の自由度は高くなります.

成果物

今回作成したPOVとその表示動画を示します.


球体POVデモ

デモでは光点が綺麗に見えるため,ボールから出して展示していることが多いのですが,

このように透明ボールの中に収納して,バッテリー駆動で動作させることも可能です.パターンや輝度の制御にはマイコンにESP32を使用しているので,スマホからBluetooth経由でコントロールすることが可能です.

 

MakerFaireTokyo2019の時点では画像表示の実装まで間に合わなかったのですが,そこから更に地球の画像をマッピングしたものが

マップ元の画像がこちら

f:id:tajmahal0707:20191029142534j:plain

北極と南極が窄まっているようなので,性能評価用に十字を表示してみました.

やっぱり窄まっています.画像を作る際には気をつけましょう(誰が?)

 なぜ表示色が赤だけなのかは後で詳細に説明します.まだフルカラーで表示はできず色数が少ない状態なので,それは今後の課題ですね.

 

回っていない内部の構造は

これだと回転している部分と回転していない部分がわかりやすいですね.

f:id:tajmahal0707:20191029145631p:plain

中央の円筒部の中を見てもらうとわかりますが,中で使用しているマイコンはM5stackです.今回は液晶が不要なので液晶部分を剥がして小型・軽量化しています.

M5stackを使用することで,バッテリーの充放電機能,WifiBluetooth,SDカードなどの機能を使用することができるため,収納部分の設計も全体のサイズも実はM5stackがギリギリ入るように最初から狙って設計しました.

このように,掌に収めて映像を表示したり転がしたりと,いろいろな使い方ができる小型で球体状のPOVディスプレイ装置ができました.

 

実際に動かしてみると、LEDの光点だけが浮かんで見えるので、なかなか幻想的で、気に入っています。

MFTの時点では絵も出せませんでしたが、それも対応して球体ディスプレイとして完成度が上がったかな、と思っています。

何度かデモしている際にも「製品化しないんですか?」という嬉しい質問も頂いているので、今後クラウドファンディングなどで資金を集めて形にして行きたいと思っています。

 

 

では,次章から 全体の構造の詳細について述べます.

構造の詳細

今回作成した球体POVは,バッテリー・モーター・マイコンを固定し,LED部分だけを回転させる構造にしました.かなり珍しい構造だと思います.

f:id:tajmahal0707:20191031152237p:plain

中央にある緑の部分①にはマイコンおよびバッテリーが収納されます.ここが最も重量のある部分.

マイコン・バッテリー部①は②のシャフト(直径8mm)で外殻③と接続されています.外殻は直径10cmの球体で透明樹脂製.この外殻③も肉厚が6mmとそれなりの重量があり,中で回転するものがあっても重量比が圧倒的に違うのでイナーシャがわずかしか発生せず,ボール部分が釣られて回ってしまわない効果を狙っています.

このシャフト②にベアリングとギア(茶色部分とその下のギヤ)を連結した部品④を配置することで,モーター⑤の出力をギヤとベアリング③に回転力として伝達します.
ベアリング④は⑥のLED基板(図中黄色)と接続されているので,黄色い部分はベアリング④と一緒に回転します.そして,シャフト②の反対側で回転を受けるのはスリップリング⑥という部品(図中の青部分)です.

スリップリングというのは回転コネクタで,回転する軸と回転体との間で電源や電気信号を伝達させる部品です.

www.hikari-slipring.co.jp

この部品を介すことによって,回転していないマイコン①から回転するLED基板⑥へ点滅信号を伝達することができるようになるのです.

今回使用したスリップリング

ja.aliexpress.com

動作速度: 0-1000 rpmということは約16.7Hz.通常のPOVが10〜20Hzの回転速度なので,仕様としては十分な性能が出ているものと考えて選定しました.

以上からこの球体POVで回転するのは,④ベアリング+ギア,⑥LED基板,⑦スリップリングの一部のみとなります.

④ベアリング,⑦スリップリングは軽量で回転軸付近にあるためイナーシャは小さく,LED基板⑥はほぼ基板のみの重量のため,非常に軽い構造物になっています.

そのため,モーター⑤には超小型ドローン用のモーターを使用することができ,電池消費の問題や小型化に貢献しています.

f:id:tajmahal0707:20191029151057p:plain

黒い部分は自宅の3Dプリンタで印刷.白い部分はギアもあり精度・強度が欲しかったのでDMM.makeさんに依頼してナイロン素材で印刷してもらいました.

シャフトの部分は強度が必要だったので金属でできています.実はステンレス製のスペーサーの流用だったりします. 

次章から各パーツの詳細について解説します

各パーツの詳細:マイコン・バッテリー

 CADで設計した中央部の図面です. 

f:id:tajmahal0707:20191031152640p:plain

中央部の円筒部分に部品がモーター,バッテリー,m5stackが収納されます.

まず,m5stackの解体から.

f:id:tajmahal0707:20191031153322j:plain

LCDへの配線を切断して,基板部分のみのm5stackを作成します.こうすることで,プログラミングする際にもm5stackのライブラリをそのまま活用することができるようになります.

さらに,m5stackに搭載されているバッテリー充放電回路,DCレギュレーター,SDカードなど,実装が必要な工程をそのまますっ飛ばすことができます.

ここから,モーターを制御するためのDRV8830,LED点灯用の電源を確保するためのDCDCコンバータ(TPS63000)および,各部品と接続するためのコネクタを実装した基板を作成しました.

m5stackのM-BUSコネクタからRESET,LED,MOTOR,バッテリー,そして回転検出センサの各コネクタへ配線を行い,基板を作成します.

www.switch-science.com

このprotoモジュールに,

strawberry-linux.com

strawberry-linux.com

これらの部品を実装して,配線をしたものを今回は使用しています.

f:id:tajmahal0707:20191031160129j:plain

f:id:tajmahal0707:20191031160208j:plain

m5stackとモジュール基板をスタックして,中央円筒部に収納。

バッテリーもここに入っています.

黒い部材はすべて3Dプリンタで作成しており,強度・精度的にまだまだ足りませんが,プロトタイプとしては十分.

各パーツの詳細:LED回転基板

 フルカラーLED には,APA102-2020(Dotstar)を採用しました.

この手のフルカラーLEDを使用する場合WS2812などのNeopixelが一般的ですが,POVのように高速に点灯を切り替えるような更新レートの高い用途の場合,クロック信号のないWS2812のようなNeoPixel系は不適切なのです.

そのあたりの詳細な検討はこちらのHomeMadeGarbageさんで比較されているので参考に.

homemadegarbage.com

DotstarとNeopixelの詳細な比較はAdafruitのページにもあります.

Dotstars vs Neopixels

このページにも

 400 Hz refresh/PWM rate not suitable for persistence-of-vision effects.

とNeoPixelはPOV(persistence-of-vision)には向かない,とハッキリ書いてあるんですね.

以前にも球体POVを作成しており,その際にはAPA102-5050というフルカラーLEDを使用していました.5050というのはLEDのサイズを示していて,5mm x 5mmの大きさのフルカラーLEDであることを示しています.

LEDストリップは市販の細密なもの(1mあたりに144個)を使用.

つまり,1000mm÷144個 ≒6.9mm ほぼ7mm間隔ということになります.

これを直径83mm球から最下部のコネクタ穴10mmを差し引いた半円に貼ると17個.

半球あたり17個しかLEDを貼り付けることができませんでした.

そのため,反対側の半円には半ドットずらして16個のLEDを配置して交互に表示をすることができるように調整しました.

こんな感じ


MFT2018 球体POV制作過程②

これで33LED になります.その時のMFT2018の表示画像がこちら

f:id:tajmahal0707:20191028143115j:plain   f:id:tajmahal0707:20191028143145j:plain

国旗を表示してみました.

日本の国旗がわかりやすいと思いますが一部に隙間(球の両端あたり)があるのがわかると思います.これが半ドット分のずれになります.

前にも書きましたが私にとっては「コレジャナイ」感が満載でした.やっぱりもっと解像度がほしいよね.

 

そこで今回はこのLEDを小型化・高密度化することにチャレンジしました.

もっと密度の高いLEDを!!ということで,さらに小さいAPA102-2020を使用します.

ja.aliexpress.com

ご覧の通り,小さい!

2020とあるとおり,2mm x 2mm の大きさのフルカラーLEDです.

今回のAPA102-2020は2mmピッチ.余白を1mm取って1つあたり3mm間隔で配置するとする(電源・通信用のコネクタ径は8mmに変更)と

半球上にLEDが配置できる長さ = (83mm × π - 8mm)÷2 ≒ 252mm

ここに3mmピッチでAPA102-2020を配置すると

  252mm ÷ 3mm = 42個

片側に42個のLEDを配置することができます.これはかなりの高精度化!!

 

前回はテープ状のAPA102を使用しました.今回もAPA102-2020で同様のテープ状の製品を探したのですが見つかりません...

探してみると,WS2812-2020であれば下のような製品がありました. 

www.akiba-led.jp

これは基板部分がアルミなので「曲げればなんとかなるんじゃね?」と思い曲げてみましたが,曲げたことで一部の配線が切れてしまいました...(どっちにしてもNeoPixelなので更新レートが足りないんだけれどね...)

さらにあとになってHomeMadeGarbageさんからこんなのも教えてもらったのですが,自分の用途では無理そう...結局曲げなきゃいけないし..

f:id:tajmahal0707:20191028150425j:plain

https://www.adafruit.com/product/3776

 

ということで自作します!

基板を起こします.生まれて初めてです.neonのメンバーに回路系に強い人がいるので,いろいろと教えてもらいながらKiCadで作った人生初の回路がこれです.

f:id:tajmahal0707:20191028152010p:plain

回路図はシンプル.

しかし,基板図は...

f:id:tajmahal0707:20191028152058p:plain

もう一度言います.これが私の「人生初の基板」ですw

 

それなのにこの基板かなり特殊です.

LEDを基板の「側面」に配置します.

 同じように球体POVの製品があり,そのときにこのような実装をしているのを見かけて,これを参考にしました.


iLight.ibulb.leddisplay

f:id:tajmahal0707:20191031161823p:plain

この装置は基板側面にLEDが配置されています(5050ですが).

APA102-2020の外観図は下のようになります.

f:id:tajmahal0707:20191101101211j:plain向かって左にある3極と,右側にある3極を基板の表裏で挟み込むようにはんだ付けすることで実装します.

f:id:tajmahal0707:20191031171120j:plain f:id:tajmahal0707:20191031171248j:plain
実際に基板を発注して手ハンダでちまちま...

f:id:tajmahal0707:20191031171757j:plain

ここまで来ました!

えい! 通電

がーーーん

 

左の5050は検証用です.これと同じに光るはずが....

全然ダメですね.

一つ一つハンダをチェック.この時点でもう一週間を切っています.

 

 

そして. 

 完成したのは8/2.つまりMakerFaireTokyoの二日前でしたw

各パーツの詳細:回転部

 昨年作成したPOVはシャフトが3Dプリンタ製でした.そのため強度が足りずにブレてしまい、外殻の中に収めることすらできませんでした.

そこで今年はシャフト部分をメタル製にしてベアリングも強化.

f:id:tajmahal0707:20191031173735p:plain

2つのベアリングを設置することで,ねじれ方向への歪みを抑制します.

このベアリングとLED基板を固定するベアリングカバーは,

この白いパーツになります(上の図とは上下が逆).白いパーツはギヤもあり,精度・強度が必要なためDMM.makeさんに依頼してナイロン素材で作成してもらいました.これによって,片持ち梁状態で回転を支えることができるようになり,反対側はギリギリまでLEDを配置することで,シャフト部分以外ですべて映像を呈示できるようになりました.

f:id:tajmahal0707:20191101101642j:plain

モーターの反対側(動画中の上部)は,スリップリングを配置.同様に白いパーツで基板とスリップリングを固定しています.このスリップリングを介してm5stackからLEDパターンを送信してLEDの色を変えています.APA102(Dotstar)の通信方式はSPIなのでかなり高速な通信を行う必要がありますが,地球儀を描くことができているので通信も問題ないと考えています.

 

回転検出はホール素子を使い基板に磁石を取り付けることで回転を検出します.


このホール素子は内部にツェナーダイオードを内蔵しており,チャタリングにも対応できるものです.

akizukidenshi.com

これによって回転原点を設定することができ、同じ位置に画像を表示することができるようになるのでした。

現時点では一回転するのにかかる時間は約77ms。およそ一秒間に13回転しています。もちろんモーターの出力をコントロールするともっと早く回転させることも可能です。

 

各パーツの詳細:ソフトウェア

 この球体ディスプレイは内部にm5stack(ESP32)を搭載しているために,wifibluetoothが使用できます.

さらにデバッグと給電用にシャフトの中空のところに,2.5mm 4極のオーディオプラグの端子を設置しました.

2.5mm4極ジャック MJ068Hの通販ならマルツオンライン

2.5mm4極フォンプラグ MP425の通販ならマルツオンライン 

 

f:id:tajmahal0707:20190816021324p:plain

 このプラグを介してm5stackとPCをUSB-シリアル通信で接続することができるようにしました.

MakerFaireTokyoなど大量の来客者のあるデモにおいてWifiBluetoothは鬼門で,通信が混雑してまともに動作しないことが多く,その経験から直接有線でシリアル通信ができるように処理をおこなっています.

f:id:tajmahal0707:20191101105230p:plain f:id:tajmahal0707:20191101105158p:plain f:id:tajmahal0707:20191101105241p:plain

 この画面はBlynkというアプリを使用したコントローラー画面で,

  • ホーム:デモモード,Gyroモード,config読込/保存
  • モーター:速度,on/off,回転方向
  • LED:色指定,パターン指定,明るさ

など各パラメータをインタラクティブに操作することができます.

 

 

 

 

球体POV作成メモ(1)introduction

はじめに

 

 私は2014年からneonというGUGENハッカソンで最優秀賞を頂いたチームが母体になってジャグリング用のガジェットを作っています.

arch.gugen.jp

みんな本業を持っているうえ,それぞれ自分の活動がある中でのチームなので,なかなか進捗が捗りませんが,それでも毎年Maker Faire Tokyo(以後MFT)に出展したりといろいろな活動をしています. そして去年のMFT2018で私が作ったのが球体POVでした.


2019年5月7日

POV(Persistent Of Vision=残像)とは回転する物体に光源(LED)を取り付けてパターンを投影し残像効果により画像を表示するシステムのことです.

今回のMaker Faire Tokyoでも色々と展示されていましたね.

例えば

www.s-m-l.org

 

他にもバーサライタ(Versa-writer)というものもあり,こちらは手で振ると映像が提示されるものなどがあります.

例えば仲良くさせていただいている @carcon999 さんの

blogs.yahoo.co.jp

これはこちらで販売もしています.興味ある方はぜひ

www.switch-science.com

 ...POVとバーサライタとの違いはよくわかりません.イメージ的にはモーター&エンコーダーやホール素子などで回転を検出してLEDの点滅を制御するのがPOV,加速度センサなどでスタートを検出して手で振ったり,コマのようなもので回転させるものがバーサライタなのかな,と漠然と思っております.

動機

  今回の球体POVは,MFT2018で作ったPOVの改良版になります.

そのため今回のMFT2019版の基本設計はMFT2018のものと変わりません.

MFT2018版の大雑把な設計図が下のようになります. 

f:id:tajmahal0707:20190816005713p:plain

特徴としては,

  • 透明な球体の内部で回転する球体POV
  • 回転するのは図中のLED(紫色)とスリップリング(青系)の一部のみ
  • 透明な球体部分(外側の青色),マイコン・電池(緑色)は回転しない
  • LEDへの信号伝達はスリップリングを介して行う

というものでした.

MFT2018で作った球体POVの中身の写真はこんな感じ.

f:id:tajmahal0707:20190815235921p:plain

MFT2018球体POV

これはこれで頑張ったのですが,問題点が2つ

  1. 解像度が足りない 
  2. 軸の精度が低い

今回はこれらの問題点を解決した新生球体POVなので,ここでそれぞれの問題点についてどのように考えたか,をおさらいしてみます.

1.解像度が足りない

  みての通りですw

 上にある図にもありますが,画像を表示するLEDにはAPA102-5050というものを使いました.

 APA102(Dotstar)はSPI通信を使って信号を送ることのできるシリアルLEDで,Arduinoなどの工作では比較的ポピュラーなものだと思います.

 似たような製品としてWS2812(Neopixel)がありますが,APA102と比較すると通信速度が遅いため,高速動作させる必要があるPOVの用途ではAPA102の方がメジャーです. 

sekailab.com

 1mあたり144個のLEDがつながっているLEDストリップからMFT2018では23個のLEDを配置することができます.

これで実際に画像を呈示してみた結果がこちら.


2019年5月7日

 国旗くらいなら見られるかな,程度の解像度ですよね...

私の中では「コレジャナイ」感が半端なかったですw

 

こちらの詳細については以下で詳細を説明しています.

tajmahal0707.hatenablog.com

2.軸の精度が足りない

  MFT2018の球体POVは,機構的に精度が足りませんでした.


Maker Faire 向けPOV neon

上の動画内の回転しているところを見るとわかるのですが,回転にブレがあります.実はMFT2018版は透明の球体に入れて回転させると球体にLEDがぶつかってしまい,傷がつきやすくなってしまうのです.そのためデモでは球体から出しての展示となりました(球体から出した方が映像が綺麗に見えるというのもありましたが).

これについてちょっと考察したいと思います.

 

一つの原因は構造物の素材強度です.

このとき構造物のすべてを3Dプリンタで作成しました.積層式のヤツです.

この3Dプリンタの名誉のために言っておきますが,印刷精度についてはそれなりの性能でとても満足しています.通常の構造物を作るのには不満はないです.

それでも10Hz程度で回転する物体のシャフトを支えるには強度的に足りない感じでした.しかもそれは素材とその構造の二点で強度不足を感じていました.

 

このとき素材に使っていた印刷素材はPLAです.PLA自体はそれなりに強度があるのですが,どちらかというと「しなる」素材だと思っています.ペンチなどで潰すと「パキッ」というよりは「グニ..」っていう感じ.

さらに図のように軸部分は中空になっており,そこにコネクタが配置されています.

f:id:tajmahal0707:20190816021324p:plain

こんな感じ.そのため軸の直径は10mmあるのですが,2.5mmφの4極ソケットが入っているため直径7mmほどの貫通穴が通っています.こんなやつ

つまり軸径10mmφでも肉厚1.5mmの中空軸となっているのです.

f:id:tajmahal0707:20190816021538p:plain

さらに図のように透明の球体に固定するためにネジが切ってあるため先端部分はかなり細くなっており,強度的にはさらに弱い構造になっています.

 

もう一つ,構造体として回転するLED部分の土台もPLAで印刷したものでした.APA102のストリップを流用していたため,それを支える構造体が必要でした.この回転構造体に駆動力を与えるのは左図のマイコン上部にある超小型モーターです.つまり回転力が加わるのは上部のみで下部(スリップリングが配置されている)は上部からの駆動力を受けて受動的に回転することになるのです.

この駆動力を伝達する部分もPLAでした.しかも厚み2mm.このあたりの構造物の強度設計がぜんぜん甘かったというわけですね.

 

小さいガジェットなので,ある程度いろいろなものを詰め込むとこうなることは目に見えていたわけですが,やはり構造的にも素材的にも強度が足りなくなっていた,というわけです.

 

 このあたりを踏まえて,新生球体POVは改良を加えていきました. 

 

構造物の精度・強度の改良については,以下で詳細に説明します.

tajmahal0707.hatenablog.com

今回の結果

  上の2つの課題を踏まえて今回作成したPOVデバイスについてこちらのページだけでも概要が掴めるように結果を示しておきます.

上の2つの課題についてのそれぞれの詳細は別のページに記載しますので,興味のある方はそちらも引き続き御覧ください.

 

1つ目の高解像度化については,APA102-2020という超小型のフルカラーLEDを基板を起こして配置しました.

f:id:tajmahal0707:20191028234127j:plain

その大きさ,2mm×2mmという小ささ.

片面で45個のLEDが付いています.いろいろなところに実装依頼見積もりを出してみたのですが,なかなか受けてくれるところが無さそうで,結局自分ですべて手ハンダしました.


球体POV制作過程①

最初のうちは

 

MakerFaireTokyo2019での成果はこんな感じ

 

この時点では,画像を表示するところまで完成できなかったのでGUGENに向けて画像を表示できるように追加実装しました.


球体POV

これは地球儀を貼り付けてみたところです.太平洋上から北米に視点を移します.

こちらはアフリカ大陸からの視点


球体POV03

地球儀ではなく,チェック用に十字を配置した例


球体POV04

 

 

 

ハロウィン仮装(娘編)

はじめに

私の住んでる界隈は町内会規模でハロウィンをやります。子供達が仮装し、登録した家々を廻ってお菓子をせしめます。
子供達で100人弱。廻る家は30件以上とそれなりの規模です。
 
今年で3年目になるんですが、毎年けっこう気合を入れてやっているというか、途中から私がハマりまくる展開なのですが、自分が大事だと思っているモノづくりのマインドを、ものを作る楽しさを子供に伝えたいと思いやってます。
 

https://lh3.googleusercontent.com/-SjjPxUCP-nI/WfXegDkREEI/AAAAAAAAgfw/OxZO4lshxVQqhyX9eJlQlMrit-sHfxGqwCE0YBhgL/s1024/IMG_2552.JPG

 
 
ちなみに 
一年目は
f:id:tajmahal0707:20141007132311j:plain
 
二年目は
f:id:tajmahal0707:20141007132337j:plain
同じく仮面ライダーウィザードをやってきました。
 
 

 

 

 

今までの娘のハロウィンはまだ小さいので,かんたんなお飾りをつけただけだったのですが,今年からはちゃんと作ろう,という話に(私の中で)なりました.

 

仮装のテーマ

長女に「どんな仮装がしたい?」と尋ねると,


【キラキラ☆プリキュアアラモード】キュアパルフェへんしんシーン

 

キュアパルフェ

即答でした.

 

 

 

お父ちゃん,電子工作や大工仕事はやるけれど裁縫はしたことないよw

でも,いろいろ探してみるとやっぱり先達がいらっしゃるんですね.

ameblo.jp

しかもバッチリなタイミングにモチーフがキュアパルフェ

ameblo.jp

 

しかも基本的には100円ショップの素材で作っていらっしゃいます.

これはパク参考にするしかない!

 

 

なお,今回の衣装作成は,

tajmahal0707.hatenablog.com

こいつも同時進行で作っておりました.父ちゃん大変.

 

 

 

作成

https://lh3.googleusercontent.com/FKlsidaHV4ce-Hs0uKU2DNvt9S-L8jOLXE4htJ2kYB_w_N5dxlZqh0ZhsLYAfiskXKnX1ipolN6k9_Z2iJ_9idcaCrDIf-zvhP4QgvLi6bijfk4AVtwoc535eWrxFfyU-ubiihCxhKkfZ9jlX6EvCcDDWjKBicg1wp5N6VtTGClV33vYNkcSLOBPw_9dBo2tYRRBwAsBtYmLKZMZlqsOZ2zG4sgGtYDHP4AYoWf9xCXJr5T_CZvkSFRf23VeQfbAs_jbToRBEonlTAKvX3BJyu7lSyB-_Xj0WzCWxDIl66LIOdzgW09WGHb4mC9HFlmvcyMWRPOe6oi8ym49Aac1zaqBhsJKIBZVgLCaKDBBWxd2Mx66I-Y72y5BcXN64pLwZdoxoAd84aUB9-RVTGPJdEK1Y7W9KEB1ISBAITLeI_F0nhrdwpzZn8qMlQLEIY3sOGhi7kJK1itApifDGD3rzlwj13xqEj0bddTazElFefAv_YNrLFE7k1B41W7ImJtLQPCX1SEtBIWSx7J1eWgL0Tym3Ckeo01RFMkpXIP9RJZQrA-d6SCvQNNukxA6_QYs3LE-vh0k327T_VIhytyzrtly1B8V6M9njP0ymmCSzSF-b2cLwj4dvNcFlHWNCFPhhVaTqbHcVECOGScQxHPKYwGaK7Vlj0C03RQfXEydy2TgwA=w640-h590-no最終目的地はこの辺.

基本的には犬柴まりんさんの手順をそのまま追いかけます.

 

 

と思ったら全然写真を撮っていなかったwww

 

 

 

 

結果

https://lh3.googleusercontent.com/noOcSmDP_VnlDsYU-FysNmJi009OOcRpFCTgSCTVKgAJvAhaJWVmeeNHMy5wNGbeZcU6aND3ZMZp06w9rjaCQKLW5DI004jOglI-7zygrRibzCpz2VPcWZnaopZZW_B9oGU6mOP0Nh6nLSFuY6-x-owP_uFkohj-hUZQhvbHskADJ_UGZhP61RZF_EsImY1ksp_ll4fEVE1uf_s7T09tUJ5Cp4Vwx8zRTG94-4Wp8pHqssk-pHMQl8WCUbSTHT43zomEZZxRdHE_AgllzPIG0kLTTl1BBiEN7wEcIFdcIv7ve-EoMcxf_sovdVKo6CRxWDWCEM5sElKv97JMus-2bLqdUmRGCxVCTyZ3H3JZudlT9jt5CzfpBZG__uwAmWPCU1-n9uvgKkrQnPkC-1pbbRsm011zb72hi1VVaHoOgikZJRvAX1gC3yTu3JYRQ5EAA_gOK6tINVhERS9RBvZZ-GU4inC06OnlfYdgM-uEHGFuYziZAUf2QsACqf-r1A1TWZjh_9Ae1TLejGreFAwqCHIPH3erNsH-ISz8ImREFnuMtZkJ5lY127imfrSXW6I-PN5PP3XuqpY5Ponun1FaqbrbVN2UOw4tVMzO52i-BBpSUAxG5Jc43ZmaAnvsgsE9CWU52S_BpZciHXSTyrEr-jRraYeYMI7vcWXsoR8jTZri7Q=w165-h220-no

 

こんな感じ.

ちゃんちゃん

 

 

 

 

 

 

 

 

 

 

 

ルノーメガーヌ:洗車編

はじめに

今回は,2018年3月に購入したルノーメガーヌについて書きます.

最初の記事はこちら

tajmahal0707.hatenablog.com

今回はメガーヌに乗り始めて2か月.

いろいろと日常使いをしながら気づいた点について書いていきます.

 今回は洗車編.

 

動機

新車買ったら,まず気になるのはこれじゃあないでしょうか?

今までは,中古でしかも相当型遅れの車を乗り継いできたので洗車も近所の自動洗車機に放り込んでおしまい,とか手抜きでした.

若かりし頃は所有したら嬉しくて頑張って磨いていたもので,前述したポルシェを保有していた頃はやっぱりシュアラスターだ半練りだといろいろやっていました.

しかし普通の中古車に慣れてくると,どうしても手を抜きがちになってしまいます.

 

でもやっぱり新車を買ったからには,綺麗に保ちたいですもんね.

また,いずれブログ上でも書きますがこの車はある程度のコンディションを継続的に保ち,ラゲッジスペースの整理とか配置するものも工夫をする必要があると考えています.

そのため,洗車の効率を考えて洗車プロトコルを構築しようと考えました.

 

洗車環境

我が家の洗車環境は,

  • 戸建て
  • 駐車スペースに蛇口あり
  • 自宅前は行き止まりで交通量は限定的
  • 駐車スペース前面が転回スペースとなっており洗車スペースがある

 

と,かなり洗車ハッピーな状況だと思います.

車も購入時のディーラーオプションでコーティングを施しています.

いわゆる5Years Coartというやつです.

 

そのため,洗車は比較的簡単にできるものと考えています.

洗車についてはいろいろなサイトが立ち上がっています.

 

参考

 

jidoshafan.com

www.pro-iic.com

www.soft99.co.jp

 

 装備

上のページなどを参考に装備を整えます.

  • ホイール洗浄用スポンジ
  • ボディ洗浄用スポンジ
  • シャンプー剤
  • 水気ふき取り用クロス
  • 乾拭き用クロス
  • 窓拭き用クロス
  • 室内用クロス

こうやってみると結構ありますね....

 

 ホイール洗浄用スポンジ

これは,今まで持っていたお古のスポンジを使うことにします.

 

ボディ洗浄用スポンジ

 いろいろ調べてみると,

  • でこぼこの方が接地面が少ないので傷がつきにくい
  • 泡立ちが良い

などの条件があるようです.

結果として今回は 

これにしました.

まだまだ使い勝手はわかりませんが,今のところいい感じ.

 

でも,こいつも上の参考記事に登場していて,気になっています.

ソフト99(SOFT99) 洗車用ミット ムートンマスター 04177

ソフト99(SOFT99) 洗車用ミット ムートンマスター 04177

 

 次あたりに使ってみようかな..

 

 

シャンプー剤

これは,しばらくはコーティング剤に付属してきたシャンプーをそのまま使っています.使い切った後はどうするか,ディーラーの人に聞いてみようかな..

 

 

水気ふき取り用クロス

 今回,これは大発見でした.

最初は普通のマイクロファイバークロスを買って使っていました.

しかし,すぐに水気を大量に含んでしまい,拭く度に絞らないといけない.さらに水気が残っているので拭きムラや水シミが残ってしまうのが不満でした.

 

それが,


カービューティーアイアイシープロの極上手洗い洗車

 

これの5分20秒あたりで登場するどでかいバスタオルみたいなふき取りクロス.

これです.

でかい.

これで一気に拭き上げます.

基本的に一度も絞ることなく車一台分拭き上げてしまいます.

これで本当に時間短縮,仕上がりの良さといいことづくめです.

 

実はこれの前にこいつを買いました.

ウィルソン(WILLSON) 給水クロス 2倍吸水セーム 03072

ウィルソン(WILLSON) 給水クロス 2倍吸水セーム 03072

 

水の吸い方もイマイチで,すぐに水を含んでパンパンになってしまい,絞ってからも拭き残しが出てきてしまいます.

さらに,一度拭いただけでゴワゴワになってしまい, バリバリの状態に..

以後二度の使うことなくお払い箱になってしまいました.

私には合わなかった..

 

 

乾拭き用クロス

今まで使っていたマイクロファイバークロスは,バスタオルクロス後の乾拭きに回して使うことになって,無駄がない. 

現在持っているのは二枚組なので,ひとつはセミ乾拭きでドア・ラゲッジの内側などを拭くのに使います.

もう一つは完全に乾拭きで,窓やサイドミラーを拭いたりするのに使います.

 

 室内用

 室内用には,こまめに拭けるように使い捨てのウェットシートを使っています.

このあたりはまだまだ考察の余地があり,今後また別記事にしたいと思っています.

あと,匂い消し・除菌にはこれを使っています.

 運転した後にひと吹きしています.

効果のほどはまだわかりませんが,変なにおいはしないので良いものだと思っています.

 

 

洗車プロトコル

 上記装備を元に洗車プロトコルを構築しました.

手順としては,

  1. フロアマット掃除
  2. ホイール洗浄
  3. 全体の散水
  4. シャンプー
  5. 水ふき取り
  6. 乾拭き,仕上げ拭き
  7. 車内拭き

こんな感じになっています.

 

フロアマット掃除

最初にフロアマットがあるのは,

  • 砂や埃などが舞うため先に作業
  • 地面が濡れていないうちにフロアマットを掃除

ということになります.

我が家にはダイソンのコードレス掃除機があり

ダイソン 掃除機 コードレス DC35 モーターヘッド DC35MH

ダイソン 掃除機 コードレス DC35 モーターヘッド DC35MH

 

 これを使ってフロアマットの掃除をします.

あと,100円ショップで ミニほうき,ちりとりを購入して使っています.

ameblo.jp

これでフロアマットの隅のゴミを掃き出し,掃除機で吸い取ります.

フロアマットを外した後の車内フロアも同様にホウキ⇒ダイソンです.

 

実際にはこの作業は汚れ具合を見て,やる/やらないを判断しますね.

必ずしも毎回やるわけではないです.

 

ホイール洗浄

これも手順として,ボディ洗車より先に行います.

tire-hood.com

まずは最初にホイールを流水で流します.タイヤハウス内もたっぷり水かけ.汚れがふやけるのを待ちます.

 

その間にバケツにボディ洗浄よりはるかに少ない量のシャンプーを入れて,流水で泡立てます.

今回の分は基本的にホイール洗浄分だけで残りはボディには使わずに捨ててしまうので,作る量は少なめです.

 

ホイール洗浄用のスポンジを使ってホイールにシャンプーを塗っていきます.

ディーラーさんに聞いたところ,ホイールにはクリア塗装がしてあるそうで,シャンプーを使いすぎるとクリア塗装が剥げてしまうのではないか,と心配しています.

今まで古い車ばかり乗りついてきたので,このような現代技術(?)にどのように対応していけばよいのか,まだ手探りの状態です.

 

全体の散水

全体に散水しますw

 

シャンプー

上のバケツ内のシャンプー剤は捨てて,ホイール用スポンジも洗って乾かしておきます.

新たにバケツにシャンプー剤を入れて,流水で泡立てます.

今度はボディ用なのでたっぷりと.

 

ボディ用のスポンジを使って泡をたっぷりと含ませたら,ボディに乗せていきます.

基本的には上からなのですが,このあたりもまだまだ勉強中.

良い方法を探していきたいです.

 

シャンプーが終わり,汚れが浮いたら水洗いです.

トランクの隙間に洗剤が残っていることが多いので,注意して散水します.

あと,ツアラーにはルーフレールが付いています.そのスキマに洗剤が残っていることが多く,高い位置なので見逃しがちなので注意が必要です.

ただ,洗っているとき気づいたのが,ルーフにねじ止め用の穴が開いています.

塞いであるわけでもなく穴があきっぱなしなのですが,これって大丈夫なのかしらん?

 

水ふき取り

水ふき取り作業は上述のバスタオルクロスを使います.

この作業が本当に楽になった.

でっかいタオルで屋根から順に水を吸い取っていきます.

以前から洗車の方法などで「マイクロファイバークロスすごい! 水をぐんぐん吸い取るよ!!」と言っているのがあったりしたのですが,実際に使ってみると

  • 水を吸いすぎてすぐにパンパンになる
  • パンパンになった後はむしろ吸わない
  • 絞っても水がちょっとでも残っていると拭きムラ,水ムラの原因

というのがあって,全然信用できませんでした.

しかしこのでかいタオルは違います.

上の売り文句の通りのことがおきます.ぐんぐん水を吸い込んでいく.

そして容量がデカいので水を吸いすぎる状態にならない.

そして面積も大きいので一気にふき取ることができます.

 

もちろん全て完全に吸い取ることはできないし,隅やモールの隙間など細かいところは全く対応できません.

 

そこで乾拭きの登場となります.

 

乾拭き,仕上げ拭き

ここで小さいマイクロファイバータオルの出番です.

この時点ではほとんど水気はふき取れているので,細かいところやドアの内側などを狙って拭いていきます.

上のカービューティーアイシーシーさんのビデオでは,エアを使って水気を飛ばしていましたが,さすがにそれは設備が必要で難しい.

なので,今はそのまま拭いています.この辺は要検討

 

乾拭き状態のところで,まずフロントウィンドウを乾拭き

そのままサイドミラー,サイドウィンドウの拭き取り

サイドウィンドウは開け閉めして水が出てくるのを拭き取ります.

次はトランクゲートを開けて,内側のふき取り.

後部,前部ドアの内側の拭き残し部分を拭き取り.

この時に若干水を含んだ状態のタオルを使ってフットステップ部分やドアの内張の樹脂部分を拭き取ります.

 

車内拭き

最後に車内拭き掃除です.

ちょっと水を含んだファイバータオルと,完全に乾拭きのファイバータオルを使って,インパネ周り,センターコンソール,助手席の前部,タッチパネルを拭き取ります.

 

フロントウィンドウの内側が汚れているのであれば対応します.しかし,これはどうしても拭き洩らしや水シミのようなものが発生してしまい,どうしたらよいか要検討となっています.

シートがアルカンターラなので,ここをどのように掃除していくか,はなかなか難しい問題です.いままでアルカンターラのシートなんぞ所有したことのない庶民なので,まだどうしてよいのか悩み中です.

洗車 ~アルカンターラのお手入れ~ | Toprank

detail.chiebukuro.yahoo.co.jp

www.xn--cck4d8b3a5a4315fok4b.xyz

まだ新車状態なので大丈夫そうですが,調べておかないといけないですね.

 

まとめ

今回,定期的に掃除を効率的に行えるように手順をプロトコル化しました.

この手順でたいだい20分くらい.

バスタオルクロスが大きく貢献しています.

これで車をきれいな状態に保つことができるかな.

 

 

課題

現在残っている課題には

  • フロントウィンドウの拭き残し,水ムラの除去

   アルコール入り洗剤というのが,上の参考記事にも出てきたので考えてみたいですね.

last-coating.com

  • ホイール,マフラーなどの定期的な掃除

   ホイールクリーナーや,ホイールのコーティングなどをどうするか,いろいろ考えていく必要がありそう

  • 室内の消臭

   長男が酔い易く,匂いに弱いので良い方法を模索しています.光触媒とかいいのかなあ.

  • メンテナンス時期の処理

   コーティング剤や,ホイールのクリア塗装など,メンテナンス時期やその時に必要な作業などをディーラーさんに確認しておいた方がよいかな.

  • 高圧洗浄機の検討

   気になっているガジェットとして高圧洗浄機があります.


【ケルヒャー】高圧洗浄機とウルトラフォームセットで泡洗車したら、チョ~楽しい!!

    これ,やってみたいですねえ

 

 

ルノーメガーヌ:駐車スペース編

はじめに

今回は,2018年3月に購入したルノーメガーヌについて書きます.

最初の記事はこちら

tajmahal0707.hatenablog.com

今回はメガーヌに乗り始めて2か月.

いろいろと日常使いをしながら気づいた点について書いていきます.

 今回は駐車スペース.

 

動機

 我が家は戸建てで,敷地は旗竿地になります.

そのため駐車スペースは細長いスペースになってしまいますが,2台分のスペースがあるためそこはポジティブに捉えています.

 

ただ,旗竿地で開口が2mちょっとしかないうえに,周りの家との高低差があるため両側がコンクリートの壁となります.

だから現在車を停めている状態は,このようになっています.

 

 

 どやっ

って感じですねw

ルノーメガーヌの全幅は1,815mm.正確に測ってはいませんが駐車スペースの開口が2,200mm程度.けっこうギリなのです.

ここまでやってもドライバー側のドアの開き代は当然全開できません.

家人の乗り降りは駐車する前に全員下してお父さんが上の写真の状態まで仕立てます.

まだ下の子が小さいため自転車にチャイルドシートが搭載されており,けっこう幅を取ります.毎日ほぼギリで通勤・通学をしているのです.

 

 

 

そこで,ドアの開閉時にこすって傷つけないようにウレタン製のバンパーを貼り付けることにしました.

条件は,

  • あまり分厚くない
  • 目立たない 
  • 耐久性

分厚すぎるとその分幅が狭くなってしまうので,薄いものが望ましい.

色は黄色とか,黄色・黒のツートンとかは却下,って程度です.

最初から外用を謳っており紫外線や風雨に耐えられること・・・・

 

 

けっこう簡単そうじゃない?

 

 

 

 

と,いろいろ探してみると・・・

 

なかなか見当たらない

近所のホームセンターに行ってみると,なかなか適切なのが売っていないんですよ. 

エーモン コーナーガード(反射テープ/粘着テープ付) 約250mm・2本入 G820

エーモン コーナーガード(反射テープ/粘着テープ付) 約250mm・2本入 G820

 

 

 

 

こんなのならけっこう見つかります.

あとは,屋根付きガレージのポールに巻くようなやつ.

 

エーモン ガレージクッション(粘着テープ付) 約200×450mm 厚さ10mm V667

エーモン ガレージクッション(粘着テープ付) 約200×450mm 厚さ10mm V667

 

 これならフラットにもなりそうですが,切込みがあって長年の風雪に耐えられるのだろうか....と.

そうこうしているうちに見つけたのがこれ. 

エーモン バックガード(粘着テープ付) 約75×450mm 厚さ35mm V666

エーモン バックガード(粘着テープ付) 約75×450mm 厚さ35mm V666

 

ところが,けっこう厚みがある.

 

エーモンさん,ってこの手の業界で強いんですかね?w

ということで直接エーモンさんのページも見てみました.

 でも結局こんな感じ....

www.amon.co.jp

 

なかなか思ったものにはならないんですね.

こんな需要ないの??

 

 

結論 

エーモン ガレージクッション(粘着テープ付) 約200×450mm 厚さ10mm V667

エーモン ガレージクッション(粘着テープ付) 約200×450mm 厚さ10mm V667

 

これを使いました.

切込みに埃や水が溜まり,耐久性とか心配でしたが,あるていど定期的に交換するくらいの方が実運用上はいいんじゃないかな,ということにしました.

ところが,このガレージクッション についている粘着テープでは,外構の壁(コンクリート)には貼りつかない.

貼り付けて10秒程度で剥がれていきました...

 

 

そこで 

セメダイン 強力接着剤 コンクリートブロック 車止め用 170ml RE-215
 

 

これを購入.

このサイズを一面貼るだけで使い切ってしまいます. 

車を寄せる側と,ドアを開ける側.二か所に貼り付けます.

前輪側はハンドルを目いっぱいきって寄せるのでこすることはありません.

 

実は上の写真は既に貼り付けてありました.

f:id:tajmahal0707:20180530104525j:plain

 

これだけでも,ギリギリ当たってしまったときにも傷がつくことがありません.

前に乗っていたモビリオだと,よくガリガリしてしまっていました.

 

 

これでしばらく様子をみますーーー