« Xcontroller 0.7.0 公開 | トップページ | 『RUSH ラッシュ/プライドと友情』を観てきました »

ServoTester for Robi v1.4.0 公開

Icn_servotester_for_robi_128 ServoTester for Robi v1.4.0を公開しました。

このソフトは、週刊ロビのテストボードと同等のことをパソコンから行えるようにソフトウエアを作ってみました。USB-シリアル(TTL)変換アダプターを使って動かすことができます。またロビのポーズを編集し、モーション作成する機能があります。

もし、ご興味があれば使ってみて下さい

このソフトのダウンロードはこちらのページからできます

●更新内容

  • (新規 モーションウインドウに「サウンド」ボタンを追加。再生させたいWAVファイルを選択できます。ファイルパスの後の数値は再生待ち時間を設定します。下の例では1000ミリ秒=1秒待ちます
    例:PLAY(0131_MIX_13-3_1.wav,1000)
    Servotester_for_robiscreensnapz004
  • (新規モーションウインドウの実行のストップボタンを設けました。
  • (新規51号に付いてきたテスト動作用のモーションとしてモーションウインドウで自作したモーションを出力できます。
    1. モーションを作成後
    2. 51号のmicroSDをパソに差込む
    3. ファイルメニューから「テストSD用モーションとして出力」を選択
    4. 出力先のフォルダに51号のmicroSDを選択
    Servotester_for_robiscreensnapz005
  • ※各トルクオンオフは反映されません
    ※各ポーズのスピードは反映されません
    ※各サウンドの再生時間は反映されません
    ※この操作は各自の責任において行って下さい。

-------------------------------------------

●モーションの作り方

  • サーボテスターのウインドウで「接続」をクリック
    Servotester_for_robiscreensnapz002
  • 「ポーズ&モーション」ボタンをクリック
    Servotester_for_robiscreensnapz001
  • つながっているサーボのみにチェックを入れる。
  • Autoをクリック。
    Servotester_for_robiscreensnapz00_2
  • 「Torque ON」になったら。スライダーを動かす。
  • ※もし半2重回路を使っている場合は、AutoOFF/トルクはOFFの状態で、ロビを手で動かしてポーズを作り「Read Pose」ボタンをクリック
  • ポーズを作ったら「Write Pose」ボタンをクリック(これを繰り返す)。
  • モーションウインドウに書かれたポーズの最初と最後に、TorqueON,TorqueOFFの文章を入れる(ボタンをクリック)
    Servotester_for_robiscreensnapz004
  • スタートボタンで動きます。

●必要なもの

なお、サーボとコンピュータを接続し、本ソフトウエアを動かす為には、以下のものが必要になります。

USB-シリアル(TTL)変換アダプターの購入
 例えば

RS308MDとアダプターを繋ぐケーブルを自作

半2重回路

●さらに高機能なソフト
ServoTester for Robiは、サーボのテストとID変更しかできませんが、もう少しいろいろできるソフトも作ってますので、こちらもご興味があれば使ってみて下さい。

●免責
このソフトウエアのご利用は各自の責任において行って下さい。
私は一切の責任は負いません。

----------------

にほんブログ村 科学ブログ ロボットへ

|

« Xcontroller 0.7.0 公開 | トップページ | 『RUSH ラッシュ/プライドと友情』を観てきました »

週刊 ロビ」カテゴリの記事

コメント

はじめまして。以前より拝見させていただいておりましたが、自分でコネクタを作るまでする必要はないと思い、この部分は注目しておりませんでした。
しかし、このソフトでモーションを作って取り込めるという機能があることに気づき、全体が組み上がりつつある現在、非常に気になっております。
ちょっと質問させて欲しいのですが、ロビはデイジーチェーンでサーボを接続していますが、最終的に5系統に分かれます。例えば両脚のモーションを一度にキャプチャすることは、何らかの工夫でできるのでしょうか。COM1だけで全身のモーションを簡単に取り込む方法があれば、すごいとは思うのですが、お教え頂けないでしょうか。
うまくいくのであれば、参考にさせて頂き、コネクタの購入、作成に踏み切りたいと思っております。

投稿: KazHat | 2014年3月15日 (土) 15時39分

KazHatさん

とりあえず、簡単に。
ロビのサーボはRA304MSと同じです。詳しくは双葉のページからマニュアルをダウンロードして見て頂ければと思いますが、まず、ディジーチェーンですが、最終的に並列につなげるなどして、一本だけ取り出します。なのでポートはひとつだけで、繋がってるサーボの値全ての読み書きを行いますよ(^^)

投稿: micono | 2014年3月15日 (土) 19時54分

すいません。
iPhoneで入力したので、かつ老眼でよく字が見えてませんでした。
RS304MDでした。

投稿: micono | 2014年3月15日 (土) 19時55分

miconoさん、早々のご回答ありがとうございました。
そうすると、ロビは最終的に5系統の信号がマイコンボードの所に集まると思いますが、それらを全部ショート(コネクタボード上で)してしまう形にして、半二重回路につなぐということですよね。
デイジー接続では、必ず数珠つなぎ(1対1接続)にする必要がありで、並列接続(1対n接続)、すなわちショートするような使い方ができないと思い込んでいたので。
半二重の回路の記事では、ロビ用ではなさそうでしたが、4つコネクタがあるのが写真に見えました。ロビ用には、どんなものを作られたのでしょうか。もしよろしければ、記事にして頂けるとサーボ初心者としては助かります。

教えて頂いたマニュアルRS303MR_RS304MD_114.pdfをダウンロードしてみました。ロビは、TTLコマンド方式で動かしているのですね。日本語だったので、ざっと目を通すことができ、大体理解できました。

投稿: KazHat | 2014年3月16日 (日) 14時24分

私は生物屋なんで、ぜんぜん専門家ではないので詳しいことを正しく伝えることはできないと思いますが(汗)、

ショートという用語でいいのかわかりませんが、RS30xシリーズのサーボは、PWMとコマンドのどちらかで動かすことができます。PWM式だとショートすることはできないくて、サーボの数だけの配線が必要ですが、コマンド式だとサーボにIDをふってあるのでショートして1本の配線でコントロールする形になると思います。

ディジーチェーンは1本の配線で何個ものサーボをコントロールするという意味で1対多じゃないんでしょうかね?

生物的に言えば、PWM式は神経系的なコントロールで、コマンド式は内分泌的なコントロールですね(^^)

コネクターボードはロビ用という訳で作ったというよりRS30X用ということで作ってます。ロビ用に4本を5本繋げられるようにしてもいいんですけど、たぶんやらないと思います。もしやるならロビのコントロールボードでコントロール出来るようにすることをやれないかな?と思ってます。現時点では情報が全くなくて全くできるかどうかわからないんですけど、できない訳がない訳ですから。
単純にボードの4つの端子のない穴がTTLでパソからコントロールできるんであれば簡単なんですけどね。まだ試していません。

投稿: micono | 2014年3月16日 (日) 19時05分

miconoさん、ありがとうございました。理解できました。一応確認の意味で、私も、実物を見て、テスター(抵抗、電圧測定だけできるマルチメータ)を使って、少し研究してみました。

マイコンボード上では、5つのコネクタの信号線は、独立していました。それぞれ、マイコンの別ポートに接続されているものと思いました。
一方、サーボ上の2つのコネクタ同志は0Ωで、ショートされているようでした。

つまり、物理配線的には、デイジーチェーンで、電気的には、3本の配線にサーボがいくつもぶら下がっている格好だということと理解できました。
部品購入はこれから検討したいと思います。

投稿: KazHat | 2014年3月16日 (日) 23時09分

チェックありがとうございます。

マイコンは5系統独立ですかぁ!?

http://www.adrirobot.it/datasheet/processori/pdf/STM32F205.pdf

を見ると、
Up to 4 USARTs and 2 UARTs
とあり、計6本取れるのかな?

5本に分割して信号を送ってるんですね。その方がメリットあるんでしょうかね?

パケットをわざわざ分けてでも、電流・電圧のことを考えると分けといた方がいいのかな?

投稿: micono | 2014年3月17日 (月) 00時06分

miconoさん、はじめてご挨拶させていただきます。
大変うれしくも役に立つ記事やソフトを公開してくださって、心より感謝申し上げます。
本当にありがとうございます!!!!!

私は、半田ごてを握る仕事をしているのですが、サーボの制御などはド素人でございまして、私の認識があってるか確認をしてから、USB/シリアル変換やIC・コネクタ類を手配しようかと考えております。

KazHatさんと同じく、デイジーチェーン接続した一連のサーボ群を、別のサーボ群とさらに並列に繋いでよいのか疑問でしたが、コマンドの中に、サーボのIDを指定しているので、サーボは自分以外のIDは無視するということで、極端な話、全部デイジーチェーンでも、全部一点から並列接続でも良いのでしょうね(信号の波形が正常に保てる範囲なら)。
しかしボードでは、系統別に分かれてるのは、波形品質や速度的にか、その方が良いのでしょうね。

ということで、誠に恐れ入りますが、念の為お教えいただきたいのですが、ロビが全て組みあがってからの話しになりますが、自分で作ったオリジナル動作をさせたい場合・・・

一度マイコンボードから、サーボ5系統のケーブルを抜き、半二重回路に5本全部並列接続し、シリアル/USB変換を経由し、この素晴らしい「ServoTester for Robi」で、コマ撮りのように動作をキャプチャーして、SDに書き出す、そして、そのSDカードをマイコンボードに刺し、5系統のサーボもマイコンボードに再接続し、電源を入れると、その動作をしてくれる・・・

という認識であっていますでしょうか。

もちろん、キャプチャだけでなく、一個づつ接続しID書き換えしたり、全接続し自由ににサーボを動かしたりする機能もあったり、マイコンボードでなくソフト上からも作った連続動作をさせることが出来る、そういうものであると考えておりますが、この業界!?はド素人ですので、何卒、よろしくお願い申し上げます。

投稿: E.K | 2014年3月22日 (土) 18時37分

E.Kさん
コメントありがとうございます。
いちおうRX30xシリーズのIDは1〜127までふれるので、127個繋げることも可能なんじゃないでしょうかね?マニュアルには何個繋げられるか書いてありませんね。

サーボ1つに付き、無負荷時15mA、軽負荷時90mA、強負荷時150mAといった電流が消費されるとして、立っている状態で、上肢はほぼ無負荷で15x3x2mAの消費で、下肢は軽負荷の消費しているとして90x5x2mAと差があります。ポートを分けることによって電流消費を押さえられるってことはあるんでしょうかね?

サーボテスターソフトに関しては、サーボのテストがメイン機能で、モーション作成は付加機能のつもりです。半二重回路もモーション作成のサポートとしてポーズキャプチャの為に用意しましたが、理想的にはこれをベースに何かしようと考えてはいません。

目標は(理想的には)、コントローラによるコントロールできるようにすることが目標で、5本のコネクターを付けたり外したりするんでなく、ロビのマイコンボードそのものを制御できるソフトウエアを作ることができればいいとはおもっているんですが、こればっかりはボードの仕様がどれだけ公開されるか(入手できるか)ですからね。。。

仕様がわからなくても、最終的に出来合いのモーションが入ったmicroSDが付くんだと思いますが、それを元にある程度のことができるソフトを作ることは可能かと思っていますが、こればっかりは、どうなるかわかりません。

が、先行発売前のアンケートでは、コントローラーソフトの希望調査がありました。出来合いの動作を作る必要があるので、モーションを作るソフトは無い訳ないんだから、デアゴさんが、そのソフトをユーザさんが使えるように公開して頂ければ、それで済んでしまうかもしれませんよね。

という感じですが、これで質問にちゃんと答えられてますかね??(^^)

投稿: micono | 2014年3月23日 (日) 00時24分

これ、5つに分かれてるのはシグナルだけで、パワーは分かれてないのかな?確認してないんですが、適当なこと書いてしまいました(汗)

投稿: micono | 2014年3月23日 (日) 10時01分

miconoさまありがとうございますヽ(^o^)丿
目的や作製のご意図という面には考えが至っておりませんでしたが、使い方といいますか、使用可能な動作というところでは、私の認識が間違えていないようであるということが分かりました。シリアル変換と半二重回路手配しました(^^ゞ
ありがとうございました。

起動時に自分がSDに書き込んだ動作を出来るなどしたら、それで十分嬉しいものですが、コネクタの抜き差しやSDの差し替え等を考えると、Bluetooth経由でのコントロールなんかもしたいものですね!
マイコンや音声認識ボードの仕様が分かって、セリフや動作もフルカスタム、個性の違うロビが誕生できたら言う事なしですよね!
私は初心者ですので、miconoさんが、とてつもない人に感じます(^^)

サーボの分岐、ケーブルやコネクタのミリΩレベルの抵抗では、動作時間に影響するほどの電力消費は変わらないような気がします。単に、胴体から四肢への分岐がしやすいか、モーターの突入電流を考えると、数珠つなぎが多数でボードに近いケーブルに大電流が流れるのを避けるためなのかしら、と思ったりしました。

ありがとうございました!

投稿: E.K | 2014年3月25日 (火) 12時35分

ご連絡が遅くなってしまいましたが、アドバイス頂いたコネクタは、無事、完成しました。経緯はブログに書きましたので、よろしければ、ご覧下さい。

最初サーボテスタでサーボが動いたり、動かなかったりしました。
理由は、サーボテスターの仕様を理解していなかったからと思っています。
ポーズのウインドウ上で、チェックボタンが各サーボ毎にありましたが、全部チェックしておいても問題ないと思っていました。というのは、最初脚部だけつないでいたので。その後、上半身だけつないだら、動かなくなってしまいました。どうしたのか、色々と、コネクタやらロビやらあちこち触ったのですが、わからず、脚部だけにするとまたちゃんと動きます。
その後悩んでいましたが、チェックボタンを正しくセットすると上半身もちゃんと動くことがわかりました。
たぶん、ソフト上、シリアルに制御していて、番号の若いサーボがつながっていないと、そこで、プログラムは終了となっているのではないかという推察しました。
そういう仕様なのですよね。一応確認です。もし、そういうチェックなしでも動くようにして頂けたらもっと嬉しいと思っています。
色々書いて申し訳ありませんでしたが、すばらしいサーボテスターのご提供には感謝しております。
ありがとうございました。

投稿: KazHat | 2014年4月23日 (水) 22時44分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ServoTester for Robi v1.4.0 公開:

« Xcontroller 0.7.0 公開 | トップページ | 『RUSH ラッシュ/プライドと友情』を観てきました »