本文へ移動

tf-2md3-devel@t-frog.com

Re: モータドライバについて

Date:
Sat, 21 Jun 2014 07:55:36 +0900
From:
Atsushi Watanabe <
atsushi dot w at ieee dot org
>
To:
tf-2md3-devel <
tf-2md3-devel at t-frog dot com
>
Subject:
[00004] Re: モータドライバについて
菅野さま

TF-2MD3-R6開発を担当した渡辺です。

YP-Spurを使用しない場合には、USBインタフェースから各種制御パラメータ、および制御指令の数値を、モータドライバ内の単位系に変換し、エンコードして送るようなプログラムを書く必要があります。
USBの通信はCDC-ACMクラスを使用しており、配布しているドライバを用いれば、WindowsからはCOMポートとして扱えます。

モータドライバのライブラリとして https://openspur.org/
で公開しているYP-Spurを用いることを想定しているため、通信の詳細な仕様書等は用意しておりませんが、以下のリンク先ソースコード(C言語)が参考になるかと思います。
なお、高精度な制御を実現するために、必要なパラメータ数がかなり多くなっています。


パラメータ・制御指令の単位変換
・質量・慣性パラメータのモータ軸慣性モーメントへの換算
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L928
・モータのパラメータ単位変換
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L997
・速度制御パラメータ単位変換
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L1111
・速度制御指令
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/control_vehicle.c#L93
・パラメータ番号定義
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/include/shvel-param.h#L27


パラメータ・制御指令のエンコード
・バイト配置
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L362
・エンコード
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/communication.c#L116
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/communication.c#L35


制御モード切替
・ショートブレーキモード
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L1171
・トルク制御モード(摩擦補償あり)
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L1176
・モータ端子開放モード
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L1183
・速度制御モード
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/param.c#L1186
・制御モード番号の定義
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/include/shvel-param.h#L17


ドライバから送られてくるオドメトリ計算用データの受信処理
・デコード
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/communication.c#L79
・デコード済みデータから回転数、出力PWM値を取得
https://openspur.org/redmine/projects/ypspur/repository/revisions/7b848734/entry/src/odometry.c#L320


これらのソースコードは、MITライセンスで公開していますので、MITライセンスに従う限り自由に改変、コピー&ペーストして使用できます。
また、モータ制御の中身や、通信方法自体を変更したい場合、ファームウェアのソースコードを下記URLで公開していますので、ご自由に変更してご利用下さい。
http://t-frog.com/repos/?p=motor-controller.git


他にも不明な点があれば、本メーリングリストでご質問お待ちしております。

// Atsushi WATANABE
// Ph.D. Researcher
// Advanced Telecommunications Research Institute International (ATR)
// Intelligent Robotics and Communication Laboratories
// E-mail:
atsushi dot w at ieee dot org
/
atsushi dot w at atr dot jp



2014年6月20日 15:25 YUUKI SUGANO <
rr0024rh at ed dot ritsumei dot ac dot jp
>:
> T-Frogプロジェクトで使用されているモータドライバ(TF-2MD3-R6)についての質問です.
> YP-spurを使わずこのモータドライバをWindowsOSで使用したいのですが, どうすればよいですか.
> そもそもこのモータドライバのライブラリは公開されているのでしょうか.
>
> 回答よろしくお願いします.
>

References