#ふと思いついた
toio core cubeをひっくり返して2つの車輪の動きを取り出して機構を作る方法というのがありますが...
これを応用して、車輪の回転で傾くロッド2本を連結するようにすれば、pitch回転、roll回転ができるのでは?と。
こういうプレート状の部品で3つのロッドをゆるくねじで連結します。
そしてtoio core cubeの車輪と棒の生えたホイールをいい感じに押し付けるための「押さえ」パーツを作ります。
そうするとtoio core cubeの左右の車輪の回転で、プレートがpitch方向に持ち上がったり下がったり、左右の車輪の回転の差分でプレートがroll方向に傾きます。
さらにこの機構の下にもう一つtoio core cubeを連結すればyaw回転が足されるので3軸になります。
組み立て方
材料は以下の写真のとおり。3Dプリンタでプリントしたパーツと、M3の40mmのねじ1本とナット1つ、M3の8mm(6mmとかでもかまいません)を3本。ホイールの軸はM3の40mmのねじ、プレート部を棒に取り付ける部分はM3の8mmのねじを使います。
roll pitch部分の組み立て
M3の8mmのねじ3本で左右のホイールから生えているロッドと中央のロッドを留めます。プレートと棒はぴったりくっつけた状態になるまでねじこんではいけません。数ミリ空けた状態のぐらぐら状態にしておきます。
M3の40mmのねじで左右のホイールと中央のロッドを串刺しになるようにして「押さえ」パーツにとりつけ、ナットで留めます。ここも強く締め付けないで、ホイールがスムースに回転するようにします。
yaw部分の組み立て
yaw部分を担当するtoio core cubeを連結します。このパーツを使って、toio core cubeを上下に連結します。丸く突き出ているのはpitch roll部分の左右のホイールをtoio core cubeの車輪におしつけるための輪ゴムをひっかける部分です。(または3mmねじで締め付けるための穴)
輪ゴムを通して、連結パーツの丸く突き出ている部分にひっかけます。
yaw部分を担当するtoio core cubeを連結します。
#動作テスト
3軸動作させてみます。toio core cubeのタイヤが滑ると少しずれてしまいますので、輪ゴムのテンションを調整してみてください。
この機構を作るためのパーツのSTLファイルは Thingiverseのここにおいておきます。
グラフィグの首をつけてみる
3軸回転する機構ができたのでなにか首のようなものをつけてみます。なんか適当なものはないか、できれば軽いものがいいなあと考えていたら、そういえば数年前、グラフィグとか流行ったなぁと思いだしました。
あれだと紙なので軽いし加工も簡単です。
今回、サンプルとしてグラフィグの始祖?のデータがこちらにあったので使わせていただきました。
「NC帝國」さんのダウンロードページから"Blank Graphig"をダウンロードし、プリントします。
https://ncempire.net/download
ちょうど白くてtoio core cubeにピッタリ。
A4の紙(普通のコピー紙でも組み立てられますが、ペーパークラフト用の紙のほうが作りやすいです。)にプリントして組み立てます。
今回使うのは首部分。機構のプレート部分が入るようにハサミで後頭部を切り欠きます。
プレート部に両面テープなどをつけてグラフィグの首部分を貼り付けます。
取り付けたら、上側のtoio core cubeの左右の車輪と下側のtoio core cubeの車輪を動かしてみます。
時間は0.1秒単位で速度は10~20ぐらいがいいでしょう。
3軸動作サンプルコード Python
tomotoioライブラリを使っています
# tomotoioライブラリを使っています
from functools import partial
from time import sleep
from utils import createCubes, releaseCubes, Cube
cubes = createCubes()
cube = cubes[0]
lcube = cubes[1]
try:
sleep(1)
print("1")
cube.setMotor(-15,-15,0.3);
sleep(1)
cube.setMotor(15,15,0.1);
sleep(1)
cube.setMotor(10,-10,0.1);
sleep(1)
cube.setMotor(-10,10,0.2);
sleep(1)
cube.setMotor(10,-10,0.1);
sleep(1)
lcube.setMotor(10,-10,0.2);
sleep(1)
lcube.setMotor(-10,10,0.4);
sleep(1)
lcube.setMotor(10,-10,0.2);
sleep(1)
finally:
releaseCubes(cubes)
3軸動作サンプルコード toio Do
動作の様子
動画
さいごに
グラフィグは版権もの、自作を含めてとてもバリエーション豊かなのがいいですね。かわいいモーションをいっぱい作って楽しみたいです。
CanonのCreativeParkで配布のグラフィグ
下側のtoio core cubeはマットに載せれば正確なyaw回転の制御ができるのですが、上側のtoio core cubeはモーターの速度と時間のみでなんとかしないといけないのがなかなか厄介です。
ホイールの直径を大きくして読み取りセンサーの上までかぶるサイズに拡大して、開発者マットをホイールの表面にまきつける、とかすると読み取りセンサーによってホイールをどこまで回転したか検知できるかも?とか考えてますが、できるかなあそれ。まあ今後の課題としておきます。
おまけ
グラフィグの頭をとりつけたプレートの隅に穴があいています。これを何に使うかというと...M2のねじ2本を使いまして...
Stack-chanの弟分? Stick-C-chan feat. toio core cube をつくってみたいんじゃー。(来年のadvent calendarまでにはできるといいなぁ。)