多軸ストローカー ロボット OSR2 SR6 SSR1の作り方

マニュアル

Tempest氏によって開発され、その部品データ、制作手順等が全てオープンソースで公開されている多軸ストローカー ロボット OSR2 SR6 SSR1。
私も以前から興味を持って情報を見ていたのですが動く動画を見て「サーボを6個も動かしたら相当音がうるさそう…なんだか動きもぎこちないような…いずれ詳しく調べてみよう」と思っていました。

ある日、当ショップのユーザーさまから「ハンズフリー・ボディマウントV2にSR6などを取り付けることができるアダプターを制作できませんか」とのお問い合わせをいただきましたので本格的に調べ始めることにしました。

まずTempest氏の開発されたロボットの素晴らしさに驚きました。当工房の制作物などはるかに凌駕された設計力、開発力に圧倒されました。Tempest氏に敬意を持って紹介させていただきます。

これらのロボットをご自身で制作したい方にも多少役立てていただければと思います。
私自身制作し、その進行から「組み立て説明書」に書かれていない要点・注意点などをこちらのページに反映させてまいります。

画像はテンペスト氏のpatreon.comから引用

すべての情報、データはTempest氏の公開ページhttps://www.patreon.com/tempestvr/posts と氏のDiscordにあります。DiscordではTempest氏と同ユーザーがこのストローカーロボットについて、最新の改良・改造法、部品調達、サーボ選びなどなどあらゆる会話をすすめています。

まずは月8ドルのメンバーシップに登録することがDIYへのスタートです。

翻訳

もちろん情報はすべて英語。日本語への翻訳方法をいくつか試しました。
結果、グーグル翻訳(機能拡張 Simple Tlansrateなど)が無料ですし簡単ですね。
patreon.comは一発翻訳、Discordの長いディスカッションはスクロールしながら英語箇所が出てくる都度(めんどうですが)、再度翻訳で読めました。

テンペスト氏のpatreon.comにメンバーシップ(月8ドル)登録すると情報が全て閲覧、ダウンロードできるようになります。
「ホーム」にピン留めされている「OSR2 および SR6 のビルド手順」から各ZIPファイルをダウンロード。(解凍パスワードが掛けられていますがどうすればよいかは「メンバーシップ」の歓迎メッセージに解き方が書かれています)
SSR1についてもスレッドをさかのぼるとビルド手順書等がダウンロードできます。

解凍したフォルダに****Build Instructions.pdf と STLs(3Dプリント用部品データファイル)群、マイコンボードにインストールするプログラムファイルが入っています。

****Build Instructions.pdf(組み立て説明書)

このPDFに部品の一覧、組み立て手順、必要な部品類など詳細が分かりやすく書かれています。
もちろんこちらも日本語に翻訳しましょう。

https://translate.google.co.jp/ の「ドキュメント」を選び、PDFファイルをドラッグ&ドロップ。
(10MB以上のファイルは要分割)
翻訳ボタンを押して、ダウンロード(分割したPDFは再度合体)で無事日本語組み立て説明書が完成です。

組み立てに必要な技術としては、3Dプリンターで部品が出力できる、電子工作や模型の組み立てが好き(ハンダ付け含む)、パソコンがある程度得意であるの三つがいるでしょう。テンペスト氏はそれに加えて、抜群の思考能力、設計力、プログラミング力など素晴らしい技術を持っておられますね。ハンダ付けはやや苦手?

部品を3Dプリンターで出力

最近は数万円の3Dプリンターも性能があがり、自動レベル調整付、高速プリント可能な機種もありますね。情報がたくさんありますのでそちらを参考に部品をプリントしましょう。

テンペスト氏のpatreon.com にはOSR2 やSR6、SSR1の各プラスチック部品の元データが stlファイル で用意されています。

このstlファイルを使用する3Dプリンター用gcode実行ファイルにスライサー(Ultimaker Curaやプリンター専用など)というアプリを使って変換します。たくさんのパラメータがありますがあまり調整しすぎるとわけわからなくなります。 まずは使う3Dプリンターの機種デフォルトで問題ないかと。

3Dプリンタを使い込んでいる方には必要ない情報かもしれませんが
私が思うポイント
① 第一層が決め手
 ビルドプレートに出力される一番最初の層が最も大事。ここがバッチリ決まると剝がれたりすることはほぼありません。自動レベル調整をかけた後、Z軸(上下)を最小単位で微調整していい感じの薄さで一層目がプリントされる位置を探しています。初期レイヤー速度はかなり遅くしています。
よくプレートにスティックのりを塗るという方法が紹介されていますがこれはプレートが汚くなりますし面倒なので(初期に試したことはありましたが)私は使いません。
プレートは、部品の底面がざらつきますが一層目の薄さがよく分かる金色のザラザラ系を私は使っています。
「ザラザラなんていやだ。ツルツル系にスプレーのりが最強!」という方も否定しません。これは好みですからね。
とにかく第一層をうすーく、均一に張り付ける!が私の決め手です。

最新機種では完全自動で最適な一層目出力を出してくれますね。

② 季節・気温・湿度にかなり影響されます 夏の間は問題なくプリントできていたのに寒くなるとうまくいかないことが結構ありました。プリントした直後にファンで風を送って冷やしているのですがこのファン量を夏は100%~40%あたり、冬場は20%~0%にすると調子がいいように思います。(勘です)
二機種3台使っていますが一つは夏でも冬でも関係ないぜ!って無調整でバリバリプリントしてくれますが。梅雨時の今、湿度が非常に高いときは糸引きが増えたり、いろいろと影響が出ますね。フィラメントが湿度に弱いということも原因でしょう。
私は現在、直接フィラメントがプリンタへ伸びる防湿ケースを使っていますがより安定したように思います。

③ インフィルは原則密度100% スライサーの設定で部品の密度を下げることにより空間を作り、重量も軽く仕上げることができますが、強度を第一としたい部品については100%にします。〇〇%でパターンは〇〇にしたほうが強度は上がるという情報もあるようですが…。

④ stlファイル部品の置き位置など 小さな部品はスライサーにまとめて置いて一つのgcodeにしてプリントするのですがその際、細長の部品は斜め45度に置いたり、各部品をできるだけセンターあたりに寄せたりします。こちらもなんとなくの勘ではあります。

まだまだいくつもポイントはありそうですが皆さま各自いろいろ研究・実践されているかと思います。

テンペスト氏の3D部品データはとてもよく考えて作られているのでふつうにプリントできれば間違いなくきれいな部品が出力できます。今、各部品をプリントしていますが本当に素晴らしい精度と造形でほれぼれします。
オーバーハングした部品の箇所はstlデータ上で既にサポート材が追加されているのでスライサーでのサポート材の設定は、なしで大丈夫です。

⑤ フィラメントの材質 一般的にはPLAフィラメントがコスト的にもプリントのしやすさ含めいいと思います。PETGはスライサーで温度を変えるくらいできれいにプリントでき、PLAより比較的耐久性、強度にまさるのですアームやギアなどには適しているでしょう。他にもたくさんのフィラメント材質があり、かなり高額なものもありますがあまりこだわりすぎるとキリがないですね。

部材調達

各種部材はhttps://www.amazon.co.jp/https://aliexpress.com/ でほぼ全て調達できます。
以下、私が調達したサイト等

OSR2+ とSR6は同じマイコンを使用
☆マイコンについてOSR2は説明書に「ロメオ BLE ミニ」とありますが現在は「ESP32 DevKit v1」が推奨されています。(SR6で使うものと同じ)ピンは片側15ピン 両側で30ピンのもの。
購入先 Amazon 一つ850円~1000円ほど、aliexpressでもほぼ同価格なのでAmazonで購入しました。
microUSBコネクタのものを購入しましたが端子があっという間に破損したためUSB Type-C コネクタのものに変更しました。


OSR2用にはスケッチ(プログラム)SR6用を一箇所書き換えて使います。プログラムインストールの項目に記載あり。

ボディ(ベース)もOSR2_1 Base Beta1 (ESP32 Devkit1).stl をプリントします。

☆ロッドエンドベアリング 4mm

1pc M3ジョイントベアリングSI3PK SA3PK SI4TK SA4TK nhsロッドエンドジョイントベアリング右ねじM3 M4ロッドエンドジョイントベアリング3Dプリンタ - AliExpress 7
Smarter Shopping, Better Living! Aliexpress.com

M4 SA4PKを購入

☆ボルト、ナット等
特殊なものは使っていないので組立説明書に書かれているものを必要数より多く、ネジ類を一個単位で買えるホームセンターで調達するのが早いでしょう。六角穴付きボルトは品揃えがないホームセンターもありますのでその場合はネジ専門サイトなどで通販購入されるといいです。

☆電源
OSR2には5Vまたは6Vで3Aを供給できる電源、SR6には少なくとも6A以上できれば10Aとあります。Amazonで簡単に調達できると思っていましたが(6A以上のものは)なかなかありません。Aliにはあります。
いろいろ探してみますと、秋月電子に「ACアダプター 5V6.2A LTE36ES-S1-301」という電源がありお値段も手ごろでしたので購入しました。SR6、OSR2+ともしっかり駆動できます。5Vと控えめなのでサーボモーターの動きも柔らか?でよいかも。
ARDUINO BRACCIOというロボットアームキット付属電源のようです。
メモ:DCプラグ・適合外径:5.5mm・適合内径:2.1mm

電源は意外に調達がたいへんそうなので当ショップ販売品には標準で付属します。
Aliでの推奨電源も捜してみます。

逆転現象
ほとんどの部材はaliexpressのほうが驚くほど安いですがモノによっては円安の影響なのかAmazonジャパンが同じくらいの価格かアリより安い現象が起きています。

早く届いてほしい
aliexpressで購入するとき、配送日程が一カ月以上先の場合があります。待てません。
そんなとき、配送方法を変更することで送料はやや高くなりますが爆速で届く方法があります。

7月初め注文。デフォルトのお届け予定が8月20日-9月の商品。
カートの下図マルの箇所をクリック。

配送方法を変更

これでOK!
配送の追跡もできました。
タイミングがよかったのかお届け予定より早く、なんと中4日で届きました。
ただし配送方法の変更ができない商品もあるようです。

サーボ選び

サーボは使う部材で一番高価です。しかも通常サーボ(一個2000円ほど)<コアレスサーボ(同4000円以上)<ブラシレスサーボ、高性能コアレスサーボ(同6000円以上)と静音になりますが価格もどんどん上がります。
超高級なサーボもあり一つ数万円というものも。繊細なラジコン用だと思われますがこちらのロボットも繊細な動き、そして静音性能も重視したいもの。
ディスコードでもサーボだけのスレッドがあり、議論されています。

静かに駆動させるときは通常サーボでもほとんど音がしません。ただし、激しく動かした場合には騒音に差が出てくるでしょう。
まずは通常サーボで試して、もう少し静かなほうが…と思った場合にはグレードアップしていく方法がよいかも。もちろん予算をたっぷりお持ちの場合は初めから静音型を選んでいただいて良いのですが。

情報を見ると静音サーボにしたところで無音にはならないしメカの稼働音も消せないという声も。ゆっくり派の私は通常サーボでも、マシン全体(腰から下)を布団などの囲いで消音するのでほとんど気になりません。これはそれぞれの方の環境にもよるでしょう。

ショップではサーボの差額でグレードアップするオプションも考えています。
いくつかのメーカーのサーボを注文し比較検討中です。

サーボ音の比較動画

サーボの比較参考
https://discuss.eroscripts.com/t/servo-roundup-test-1-sound-unloaded/153770

組み立て

組み立てには六角穴付きボルトを大量に使います。100均のレンチで締めていくと気が遠くなりますので、充電式の電動ドライバーと六角ビットを使ったほうが楽です。ドリルビット(3mm、4mmなど)もネジ穴をキレイにするために使っています。

電源バスの制作
テンペスト氏の方式ではハンダ付けが美しく仕上げられない、断線したり信頼性が脆いのでディスコードコミュニティでよく紹介されているレバー付き接続端子方式に変更すのがよさそうか…。
しかし、端子方式だとケーブルがかなり大量にごちゃごちゃするのでやはりテンペスト氏方式か、その他もう少しよい方法がないか検討。現在はオリジナル端子台に各サーボ線を集約して接続する方法に落ち着きました。

電源差込口とUSB端子の位置
多軸ストローカー本体をハンズフリー・ボディマウントなど腹の上で固定したとき、今の電源とUSB端子の位置がちょうどお腹の側にきます。L型のコネクタを使うと良さそうですが、位置を変更して腹肉と干渉しないよう改良中です。
いい位置をいろいろ探りましたがピッチアーム側の角が収まりが良いようです。
駆動時になんらかの事態が起こったときに電源ケーブルが抜き取りやすいのも利点。

スイッチ
トグルスイッチよりLED付きの小さなスイッチを使いたかったのですが良さそうなものが見付からなかったので小型トグルスイッチと別に模型などで使う小型LED(電線とホルダー付き)を別途付けてみました。

埋め込みナット
たくさん埋め込み箇所があるので部品段階で全部押し込んだほうが良いです。リンクアーム両端にハメるM4ナットがけっこうたいへんでした。ペンチで端を挟んで傾きを合わせて押し込んでからガッチリ挟んで埋め込み。ロッドエンドベアリングをねじ込む4mmの穴はドリルであらかじめ下穴を通しておきました。ほかの穴はボルトなしで止める箇所があるので、ドリルで開けないように。

配線
電源バスにサーボの電源線、ESP32 のピンに信号線を差し込むときにピン番号を絶対に間違わない様注意。(反対側に差し込んだりしがち。私だけ?)
ボディにマイコンボードの番号が読めるように細い溝が開いていますが全く見えません。
基板の番号が小さいので写真にとって拡大して、USBポートの方向から何番目と再確認しながら差し込んでいます。


メモ 
左ピッチサーボ: D4 (OSR2 Pitch Servo)      
左中サーボ: D2                   
左下サーボ: D15  (OSR2 Left Servo)        

T-wistサーボ D27   
右ピッチサーボ: D14             
右中サーボ: D12                
右下サーボ: D13  (OSR2 Right Servo)     
               

 

端から4本~5本と隣接しているのでコネクタを差し込んだ後、粘着テープで固めて外れにくくしています。   

VINはBT、WIFIを使うときのみ。USB接続の場合は使いません。

サーボホーン取付と調整
SR6の説明書には25T サーボホーンを各アームに先にボルトで仮止めするようにとありますが、サーボに25Tサーボホーンを先にハメて二つある極小ボルトを締めて固定してからのほうが良いです。(あとで緩くなったアームがあったのでやり直しました)
OSR2の説明書には後者の手順が紹介されていました。

ディスコードには極小ボルトをあとから締めることができるよう改良したサーボアームがありましたのでそちらを使っています。

リンクの長さ
SR6 サーボアームとレシーバーを繋ぐリンクの長さは説明書では175 mmとありましたが組み立ててみるとピッチアームとの兼ね合いでもう少し短いほうがいいように思いましたので各5mmほど短く調整しました。(ピッチアームの長さで調整してもよいかも)
ピッチアームは左右がぴったりくっついて動くのですが、20mmボルトだと微妙に先が飛び出して当たるのでプラワッシャーをハメて調整しました。

また、組み立て説明書にあるとおり、各サーボアームの位置微調整を(後述する)Arduino IDEで書き換えることは必須でした。

T-wist用アーム サーボの延長ケーブルを通す穴があるのですが明らかにレシーバ側が小さくて通らないです。
コネクタを外して、ケーブル通して、付け直しすればいけそうですがめんどうなので、CADで部品の穴を大きくして通るようにしました。

プログラムインストール 

(完成品で遊ぶだけの場合原則この項は不要ですが、位置がずれてきたりするので微調整や今後のプログラムバージョンアップのためにも自作されない方もArduino IDEでのプログラムインストール方法は覚えたほうがいいです)

*** Build Instructions.pdf に記載されているとおり、Arduino IDEをインストールする。

アドオンは以下のページを参考に追加インストールしました。

Arduino IDEでESP32を使う - Qiita
Arduino IDEを使って、ESP32のプログラミング環境を構築し、LEDを光らせたいと思う。#はじめに皆様「Arduino」というものをご存知だろうか。Arduinoは簡単に扱うことができ…

「ESP32 Dev Moduleを選択する」の箇所は「DOIT ESP32 DEVKIT V1」を選択してください。

注意:『別ウィンドウでボードマネージャが開くので、検索ボックスに「ESP」と入力し、浮上してきた「ESP32」をインストールする。』の箇所でバージョンを選択する欄があるので最新ではなく、バージョン「2.05」をインストールしました。(どこかで見た情報に2.05が良いとあった気がしたので)

「ボードとライブラリにアップデートがあります」のような告知が出ることがありますが、アップデートはしないようにしましょう。

注意:適切なCOM ポートを選択する 
ツール>シリアルポートの欄でポートを選択しますが、複数ポートがある場合は一旦、ESP32 DEVKIT V1をUSBケーブルから外すと消えるポートが接続されている番号です。

上記環境が整いましたら、ESP32 DEVKIT V1のUSBポートにUSBケーブルを差し込み、使用するプログラムファイル(スケッチ)を開いて、ボードにインストールします。
注意:このとき、他にポートに接続しているPCアプリは接続解除、ロボット本体の電源はOFFにして作業したほうがよいです。

もしコンパイルでエラーが出るときはボードマネージャーEPS32検索>EPSのバージョンを見て、新しいものの場合は一旦削除後、2.0×をインストール。情報を検索したところ、コンパイルエラーの報告がいくつかあり、関数の仕様が変わったようです。2.0x以降、もっと新しいバージョンでも大丈夫かもしれませんが、最新版ではエラーが出ます。


注意:スケッチの29行目あたり 
define OSR2_MODE true // (true/false) Switch servo outputs to OSR2 mode

SR6の場合は define OSR2_MODE false に書き換えます。

テンペスト氏のプログラムファイル(スケッチ) SR6-Alpha4_ESP32.ino は Wifi と BT は現バージョンでは無効になっています。(将来的にアップデート予定とのこと)
テンペスト氏のDiscord  # software-exchange などに有志が作成・改良したプログラムがありますので、好みにより使用してもいいかも。

BTが使用できるスケッチがあったので、試しにインストールしました。
BTを使うときは、電源バスのプラスからマイコンボードのVIN(電源イン)ピンに接続するケーブルを追加します。絶対にピンを間違えない様、間違えるとマイコンが壊れることがあります。
テストしますと、BT接続は可能でしたが起動時にへんな動きをするのと、稼働時にやや不安定なので現状はテンペスト氏の最新スケッチでシリアル(USBケーブル)接続がいいでしょう。ケーブルが電源とUSBケーブルの二本になるのでめんどうですけれど。

他にもファームウエアを直接書き換えるツールなどもあり、Arduino IDEで書き換えるより楽なようです。興味ある方は試してみてください。

接続&プレイ方法

プレイ方法・最新版はこちら
多軸ストローカーロボット(OSR)をPCと接続する

OSRのUSB端子とPCのUSB端子をUSB Type C ケーブル(ごく普通のスマホの充電ケーブル)で接続。自動的にパソコンとOSRがシリアル接続されます。(電源はONにしなくてもかまいません)
最初の接続時にドライバの入力を促されることがあるかもしれませんのでパソコンの指示に従ってドライバをインストールしてください。

注意:適切なCOM ポートを選択する 
後述する各種ツール(プログラム等)のシリアルポートの欄でポート番号を選択しますが、複数ポートがある場合は一旦、USBケーブルから外すと消えるポートが接続されている番号です。

ポート番号が分かれば、電源アダプターを接続し、スイッチON。このとき急激にアームが動く場合がありますので注意してください。

ランダムシミュレーションで動かす
OSR2+ と SR6 の動く画面を参考に、実際に同じようにランダムに動かすシミュレーション。
動作確認とシンプルにプレイする方法としておすすめです。
https://www.ayva-stroker-lite.io

注:シミュレーション画面ではT-wist回転機構は大きな角度で回転するように表示されますがSR6、OSR2+の実機ではこれほどの角度では回転しません。これは元々の設計上、控えめな回転になっているからです。ご了承ください。

FaptapがOSRシリーズに対応
動画とTheHandy等の電動ツールを簡単に連動させることができるサイトFaptapがOSR(多軸ストローカーロボット、SR6やOSR2)と接続可能になっています。

Conect another Device > OSR > Conect > シリアルポート接続
上下ピストン動作のみのようですが動きます。多軸スクリプト対応の動画があるかは現在不明。

Faptapはスクリプト(funscript=動きを記録したファイル)と元の動画がダウンロードできるものがあるので、お気に入りをパソコンにダウンロードし、元動画をなんらかの方法でダウンロードできれば、後述のMultifunplayer で好みの多軸対応の動きに変換しプレイ可能です。

↓Script (要ユーザー登録。捨てメアドで登録>ログインでダウンロード可能に)
📎Source (元動画サイトへ。ダウンロード方法は「元動画サイト名 ダウンロード」で検索して。

Multifunplayer – 単一軸スクリプトを複数軸に変換
(日本語での解説記事制作中)


https://discuss.eroscripts.com/t/multifunplayer-transform-single-axis-scripts-into-multi-axis/84269

参考

[Guide] What Is the OSR2 / SR6 / SSR1 and How Do I Get One?
An introductory topic to help people onboard the DIY stroker robots. Open to edits. 💠 Intro OSR (Open source Stroker Rob...
Buttplug: Sex Toy Control Software
Buttplug is an open-source standards and software project for controlling intimate hardware, including sex toys, fucking...

MultiFunPlayerとOSR2+のセットアップ、およびUFOとの接続について - CurryGeneralファンクラブ (CurryGeneral)の投稿|ファンティア[Fantia]
CurryGeneralファンクラブの投稿詳細

3Dゲーム連動
私はやったことはないのですが3D ゲームとの連動がダイレクトに多軸制御できそうでよいのかも。

https://rendo.wiki.fc2.com/wiki/GameMods
https://discuss.eroscripts.com/t/to4st-game-integration-mods/99000

GAME MODs
https://github.com/buttplugio/awesome-buttplug?tab=readme-ov-file#game-mods

LoveMachine v2.2.0 | Sauceke
Get more from Sauceke on Patreon

(いずれも執筆中)


コメント

  1. イモゴリラ より:

    アリエクスプレスの方では、SR6、osr2、SR1の組み立て済みのものが販売されていますね。特に廉価版の方(モーターの音が通常版と比べて大きい)は結構なお手頃価格で販売されています。
    多軸系の波が来そうな予感がします。

  2. gko より:

    コメントありがとうございます。
    多軸はスクリプトや再生環境、情報量がロボットの普及によって増えるはずですから、廉価なのはよいのですが音問題が…。
    テンペスト氏のDiscordでもサーボモータだけのディスカッションもあって皆さん悩みどころみたいですね。
    サーボの種類は通常モーター、コアレス、ブラシレスとあり後者ほど静かなようですが、値段が通常の倍々と高くなりますね。
    音問題はけっこう重要と思いますので今後、サーボの音比較などもできればと考えています。

タイトルとURLをコピーしました