toioで手軽に機構を実現する方法

#はじめに
これは「[toio™(ロボットトイ | toio（トイオ）) Advent Calendar 2019](https://qiita.com/advent-calendar/2019/toiotomo)」の６日目の記事でございます。


#サマリ
今回の記事では、toio™️の**キューブを使って様々な機構を実現するための最初の一歩**を提供しています。これを応用すると、下記の様な**機構**を割と簡単に実現することができます。

- 例1: toioのキューブで『歩くの歌[^1]』
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/toio?src=hash&amp;ref_src=twsrc%5Etfw">#toio</a> で「歩くの歌」。キューブのタイヤの摩擦を使った機構のテストとして。 <a href="https://t.co/3hGMPdmlJA">pic.twitter.com/3hGMPdmlJA</a></p>&mdash; Tetsunori NAKAYAMA | 中山 哲法 (@tetunori_lego) <a href="https://twitter.com/tetunori_lego/status/1200617520249466880?ref_src=twsrc%5Etfw">November 30, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

- 例2: スライダクランク機構の例
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/toio?src=hash&amp;ref_src=twsrc%5Etfw">#toio</a> スライダクランク機構を勉強中 <a href="https://t.co/V2st2rr8Up">pic.twitter.com/V2st2rr8Up</a></p>&mdash; Tetsunori NAKAYAMA | 中山 哲法 (@tetunori_lego) <a href="https://twitter.com/tetunori_lego/status/1200947383455977472?ref_src=twsrc%5Etfw">December 1, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

#きっかけ
ゲズンロイド[^2]でオリジナル生物を作っていると、既存のプログラムでは表現できない、オリジナルの動きをさせたくなる瞬間があります。
具体的にはカラクリや機構を使った生物を作り出したいのですが、よくよく考えてみれば、カラクリって動力１つであんなに面白いのに対して、キューブには無線で制御可能なモーターが2個付いているわけで、これを機構と結びつけることができれば、**超ミニマムサイズの無線プログラマブル2動力機構モジュール**(長ぇ)を実現できるのでは？と検討を始めました。

#検討方針
動力の源としてタイヤの摩擦を利用する事は最初に決めていましたが、今回は誰でも簡単に再現・マネできる点を重要視しました。よって、今回は汎用レゴブロック(しかも非テクニックパーツ!)のみを使って試行錯誤しました。では、作り方を、以下に。

#機構モジュールの作り方
1. 下記のレゴブロックを用意します。![6B2823D0-4F27-49A4-878F-DB9833967289.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542654/cecfc70d-f9be-2834-cedc-e548d4bd2b44.jpeg)
具体的なパーツリストを下記に列挙しますので、参考にしてください。当たり前ですが、ブロックの色やプリントは何でも良いです。これらのパーツはお手頃価格のセットに入っていることも多いですし、レゴストアの『Pick a Brick』[^3]などでもよくあるパーツなので、入手性も高いです。
 - ホイールホルダー( [4600](https://www.bricklink.com/v2/catalog/catalogitem.page?P=4600#T=C) )：1個
 - ホイールとタイヤ( [74967/30028](https://www.bricklink.com/v2/catalog/catalogitem.page?P=74967c01#T=C) )：2組
 - 1x1丸タイル( [98138](https://www.bricklink.com/v2/catalog/catalogitem.page?P=98138#T=C) )：1個
     - これは、1x1角タイル( [3070b](https://www.bricklink.com/v2/catalog/catalogitem.page?P=3070b#T=C) )でも可。
 - 1x2プレート(Stud1つ)( [15573](https://www.bricklink.com/v2/catalog/catalogitem.page?P=15573#T=C) )：1個
 - 1x2タイル( [3069b](https://www.bricklink.com/v2/catalog/catalogitem.page?P=3069b#T=C) )：1個
 - 1x2プレート(Stud2つ)( [3023](https://www.bricklink.com/v2/catalog/catalogitem.page?P=3023#T=C) )：1個

2. 以下の画像の様に組み上げます。
![B6665DE9-CA43-428B-AE54-9A83E18C67ED.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542654/3ae90103-b232-638b-e28a-a4c3d290da06.jpeg)

3. 2.でくみ上げた一式とキューブをどちらもひっくり返します。で、上から覗き込んだ時、下記の画像のような位置関係になるように、レゴ一式をキューブの上に配置しましょう。この時、レゴの1x2タイルがキューブのタイヤ軸の盛り上がっているところに接するように配置します。この画像で言うと、上方向に押し付ける感じです。
<img width="506" alt="キューブへの取り付け位置.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542654/ca49dd35-cac2-a178-71ca-ed4cf0f85715.png">

4. 最後にセロハンテープで3.の状態を固定したら、モジュールは完了です。いろんな方向から見た完成図。
![989EC252-0C38-4E79-AFFD-0C37B8531987.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542654/86ab782f-75ea-2983-733f-412e445e073c.jpeg)

5. 動作確認してみましょう。
お好みのタイトルやアプリを使ってキューブのタイヤを回してみてください。この動画でご覧いただけます通り、(順/逆)回転方向・回転スピードを、このサイズで細かく無線制御できるのはかなりアツいです。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">後でQiitaから参照するやつ <a href="https://t.co/qR0ZXqDr20">pic.twitter.com/qR0ZXqDr20</a></p>&mdash; Tetsunori NAKAYAMA | 中山 哲法 (@tetunori_lego) <a href="https://twitter.com/tetunori_lego/status/1201514234154061824?ref_src=twsrc%5Etfw">December 2, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
※黄色い三角のテープは回転が分かりやすいようについているだけです。
確認の際は、強く押し付けられて窮屈そうでないか？逆に緩すぎてレゴのタイヤが回らないことがないか？などをチェックしてください。もしうまく動いていない様でしたら、3.に戻って配置をやり直しましょう。

6. 機構への組み込み
さて、回転の動力は手に入れたので、機構へ組み込みましょう。紙工作やレゴなどのプラスチックパーツをタイヤ・ホイールの横に両面テープで貼り付けます。
ちょっと横から見た図ものせましたが、このように、キューブの側面と貼り付けた物との間に隙間が出来るようにしています。これによって、以後の機構を構築する上での自由度を上げられます。例えば、紙工作の場合は割りピン[^4]程度の厚さであればバッチリ使用可能です。
![03BF82B9-B05E-4F3F-8B81-97A7361FF85C.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542654/0fae1752-7e75-1ddf-1717-9686149b8a03.jpeg)

7. Appendix: レゴテクニック好きなあなたへ。
6.で「はぁ？レゴに両面テープなど邪道！」と思われた諸君。ぼくも当初は背徳感でいっぱいでしたが、安心してください。お気持ちを最小限に和らげる手段を見つけました。(これも邪道ですが・・・)
色々試した結果、今回のホイールに「軸コネクター」( [6538](https://www.bricklink.com/v2/catalog/catalogitem.page?P=6538#T=C) )を挿入すると、良い感じの圧入でしっかりホールドされることがわかりました。多少横に伸びてダサいですが、これで十字軸を回転させることが出来るので、あとは、思うがママお楽しみください。
![520FAF03-5670-4A25-9AE2-3B138E58FADC.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/542654/d3450477-40c4-ef12-7368-492adea91beb.jpeg)
#所感
実は機構についてはほぼ初心者なのですが、このモジュールが出来てからはWebに存在する機構の例を簡単な紙工作で再現できる様になり、その面白い動きに非常に興味が湧いてきました。(早速本を注文しました。)
今後もどこまでの機構がこのモジュールで再現可能なのかなどを探りつつ、動きの表現で良いアウトプットがあれば、SNSで共有させていただきます。

では。

[^1]: 『歩くの歌』はEテレ『0655』や『自由研究55』で流れている「機構を使って、自分なりの方法で（ユーモラスに）歩く物体」の表現動画です。めっちゃ面白いので、ぜひ見てほしい！https://www.nhk.or.jp/e0655/
[^2]: 『工作生物 ゲズンロイド』は、紙工作とキューブで未知の生命体を作るtoio専用タイトル。https://toio.io/titles/gesundroid.html
[^3]: レゴストア内に設置された様々な種類のパーツを2種類のカップに詰め放題できるアレ。http://clickbrick.info/about/
[^4]: 知らない人のために、一例を。 [割りピン](https://www.amazon.co.jp/dp/B003DXWL76/ref=cm_sw_r_tw_dp_U_x_7Er5Db192AXAN)