« RZ1Basic v0.5.6 公開 | トップページ | あれこれ考えてみる(原点を見直してみる...9) »

あれこれ考えてみる(原点を見直してみる...8)

土日で、RZ1Basicの大改造をしたんですが、全然使い物にならないくらい遅い処理ができちゃって、断念することにしましたbearingバックアップを取れないようなプログラムの構成にしちゃっているので、今日は元に戻す為のプログラミングをしてますdowndown

さて、ゼロ点に関する話の前回のつづきですが、MR-C3024シリアルの設定において、ゼロ点設定の補正値の問題に関連して書いてきましたが、今回は補正値の話ではなく、それを少し話を発展させて、サーボモーターの回転方向についてです。

【サーボーの回転方向】

プログラムは、

  • ある特定のロボットのモーターの取り付け向きで、
  • ある特定の(プログラムの)DIRの設定で、

正しい姿勢になるように、MOVEデータが書かれています。

じゃぁ、

  • モーターの取り付け向きが異なっていた場合
  • モーターの取り付け向きを付け替えた場合
  • そのプログラムのDIRを変更した場合

は、

例えば、DIR G6B,1,0,1,1,1,1
MOVE G6B,100,60,100,100,100,100
Rz1basicdebugscreensnapz015 です。

こんなプログラムがあった場合、
一般的な、DIR G6B,1,1,1,1,1,1に変更すると、
Rz1basicdebugscreensnapz016 となってしまうので、
oneMOVE G6B,100,140,100,100,100,100に書き換えるか、もしくは、twoモーターを反対向きに取り付け直すといったことをしなければなりません。

どちらの方法もとても面倒なのですが、サーボモータに合わせて、プログラムや取り付け向きを変えるのではなく、DIR=1の時、左回転、DIR=0の時、右回転と、本来の回転方向と反対向きに回転するようにできれば簡単ではないでしょうか?

サーボモーターの回転方向の変更は昔からある機能で、foward (normal)とreverseといった言い方をします。似たような意味合いで、RZ1Basicの回転方向の設定でもDIRとReverseの2つの設定を設けていますが、プログラム上でDIRがどう書かれていようと、モーターの取り付け向きがどちら向きだろうと、意図する方向と反対向きに回転してしまうモータがあれば、そのモーターの回転方向を変えてしまえばいいんですよねshine

で、そのモータの回転方向なんですが、MR-C3024を介してシリアル通信でモーターと通信して設定を書き換えることが可能です。次のバージョンのRZ1Basicでも、モーターと通信できるようにしましたので、その機能を組み込んでみました(図)
Rz1basicdebugscreensnapz014

また、以前にも紹介した「HMI Servo Programming」というソフトウエアが、まさに、サーボモーターの細かい設定を行う為のソフトウエアで、無料で手に入りますので、それを使って行えばOKですね。

以下に簡単に、操作手順を書いておきます。

oneサーボモーターの種類を選択
Parallels_desktopscreensnapz074

twoMR-C3024を選択
Parallels_desktopscreensnapz075

three通信ポートと、変更するサーボのポート番号を選択して、「Connect」する
Parallels_desktopscreensnapz076

four接続されたら、「Servo Read」をクリックして、サーボのデータを読込む
Parallels_desktopscreensnapz077

three回転方向を選ぶ
Parallels_desktopscreensnapz078

five「Servo Save」をクリックして、変更した内容を保存する
Parallels_desktopscreensnapz079

以上です。簡単でしょsign01

RZ1Basicを日頃お使い頂いているなら、別アプリとして立ち上げる必要もなく、そんなに頻度高く使用するものではないのですが、こんな目立つ所にボタンを置いたので、気軽に変更できます。
Rz1basicdebugscreensnapz013

股関節の拡張によって、

DIR G6A,1,0,0,1,1,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,0,0

の人もいれば、4、22番のモーターを反対向きに取り付けて、

DIR G6A,1,0,0,1,0,0
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,1,0

の人もいれば、5、23番を左右同じ値になるように、

DIR G6A,1,0,0,1,1,1
DIR G6B,1,1,1,1,1,1
DIR G6C,0,0,0,0,0,0
DIR G6D,0,1,1,0,0,0

とされてる方もいらっしゃると思います。

同じポーズなのに、それぞれ異なったMOVEデータになってしまうのですが、他の設定のポーズを、ちょっと試してみる場合など、サーボモーターの回転方向を変えることで、簡単に試すことができるようになれば良くないでしょうか。

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

|

« RZ1Basic v0.5.6 公開 | トップページ | あれこれ考えてみる(原点を見直してみる...9) »

工作・改造・解析」カテゴリの記事

週刊 ロボザック」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/221673/43209792

この記事へのトラックバック一覧です: あれこれ考えてみる(原点を見直してみる...8):

« RZ1Basic v0.5.6 公開 | トップページ | あれこれ考えてみる(原点を見直してみる...9) »