Ver.0.03β 簡易マニュアル


000.概要

本エクセルシートはHPI製、二足歩行ロボットG-Robotsを逆運動学を用いて歩行させるために製作されたテスト用のエクセルブックです。

必要なもの・・・

  • Windows PC (XP/Vista/7 | 32bit/64bit問わず) シリアルCOMポート必須
  • Microsoft Office Excel 2010
  • G-ROBOTS (GR-001 | RS301,302版、RS303,304版 いずれか)

001.おやくそく

あくまでも、フリーソフトではありますが、パブリックドメインソフトウェアではありません。 本ソフトウェアの著作権はHM@みっちーに帰属します。 ただし、サーボモーターとの通信に関わるrsc-u485_sample-vbaのライブラリの著作権は双葉電子工業株式会社に帰属します。
Microsoft、Excelは、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。

雑誌・フリーソフトウェア集等の出版物に、ソフトウェア・画像・各種データ・ソフトウェアやwebページのスクリーンショット等の掲載をする場合は、事前に[]まで連絡をお願いします。


002.構成の説明

このエクセルブックは4つのシートから構成されています。

  • 起動歩行 … ジョイスティックから歩行の軌道を計算し、計算結果を逆運動学テーブルに随時渡します。

  • 逆運動学 … 足先の目標点(XYZ)を元に、各関節のモーターの値を計算します。

  • 送受信テーブル … 与えられたモーターの値を実際に再配列して、ロボットに送信します。

  • 設定 … ポートとコントローラーの設定を行います。

また、本エクセルブック内でのルールですが、薄い黄色のセルはすべて値書き換え可能なセルになっています。
その他の色で書き換え可能なセルはありますが、数式が入っているセルに関しては、書き換えると正常に動作しなくなるセルもありますので、書き換えには十分に注意してください。

なお、その他書き換える必要のないセルはすべてロックしています。


003.初期設定(設定シートとマクロ設定)

まず、マクロの設定を行います。
基本的に署名は行っていないため、マクロ / ActiveXの全権承認をお願いします。
同意いただけない場合はExcel Walkerは使用できません。

(※ただし、セキュリティのため使用後はマクロの設定を戻すことをお勧めします。)

次に、ポートとジョイスティックの設定を行います。
まず、「設定」シートを開いてください。

G-ROBOTSが接続されたポートをデバイスマネージャーで確認し、半角英数でポート名を直接入力してください。

次にジョイスティックの種類を'0'か'1'で設定してください。

ジョイスティックは「MicroSoft サイドワインダー フォースフィードバック」に代表されるスティック型、ジョイパッドはプレステ2コントローラーのようなゲームコントローラー型を指します。
ジョイパッドは必ずアナログスティックが1本以上あるものをお使いください。

(※ジョイパッドではサイドステップ歩行が無効になる制限を受けます。 今の所サイドステップがヘッポコなので、ジョイパッドの方が使い勝手が良いカモw)


004.「送受信テーブル」シートの説明

モーターの設定値が左側に、実測値が右側に表になっています。

「ショートパケット×全サーボ」ボタンを押すと、全サーボに目標角度・目標時間・コンプライアンス設定・パンチ・最大トルクの値が送信されます。
※ちなみにGR-001(RS-301/302版)は、初めに一度このボタンを押して、コンプライアンス設定を行ってください。
初期パラメータより、機敏に動くようになります。

「ロングパケット送信」ボタンは、目標角度・目標時間のみを全サーボに送信します。
歩行動作中は、一定時間置きにこのボタンを押しているようなイメージを想像していただければ宜しいかと思います。

「全サーボ受信」ボタンはすべてのサーボの角度・温度・負荷を読み取り、結果を表に格納します。
試験的に設けたボタンです。動作しますが、動作は非常に遅いです。


005.「逆運動学」シートの説明

脚の逆運動学を解くシートです。

腕に関しては即値を実行していますので、ここで設定した値が、歩行の時にも継承されます。

脚に関しては、前後をX軸、開脚方向をY軸、垂直に下向きの方向をZ軸に取り、腰を原点として、足先を制御します。開脚方向を正とするため、左足と右足でY軸の取り方が反転しています。

単位はmm(ミリメートル)を採用しています。
直立状態で、X=0mm / Y=0mm / Z=112mm が、全てのモーターの角度が原点(0度)になるホームポジションとなります。
※厳密な原点と制御点に関する説明は、とりあえず今の所割愛します。

「Run!」ボタンを押すと、指定したXYZの値の所に足先が移動します。
※なお、目標値のエラーチェックはここでは行っていないため、ゼロ除算のエラーが表上に表示されているときは、「Run!」ボタンを押すと実行エラーになります。


006.「軌跡歩行」シート

まず、設定から説明します。

「グラフ表示」は'1'か'0'を設定します。'0'を設定すると画面描画が更新されません。表の値・グラフが止まっているように見えますが、画面が止まっているだけでちゃんと動いています。
グラフの表示・画面の更新には多くのCPUリソースを必要とするため、画面描画をOFFにすると動作速度が数十倍速くなります。なので、デバッグ時はON、実機動作時はOFFで使うと良いでしょう。

「ループwait(ms)」は1ループあたりの強制待ち時間を設定します。
グラフ表示ONの時は、最少待ち時間の'1'を設定するとよいでしょう。
実機動作時(グラフ表示OFF)の場合は'200'前後(オススメは'180'くらい)を設定するとよいでしょう。
200より大幅に小さい値を設定するときは、前々項の「送受信テーブル」のサーボの目標時間も見直す方が良いでしょう。

「JOYSTICK歩行実行」ボタンを押すと、ロボットの動作が始まり、下記の小ウィンドウが現れます。

「X〜Z」、「BTN」はコントローラーの状態を表します。

「コントローラーモード」は、コントローラーがジョイスティックなのか、ジョイパッドなのかを表示します。

実行中は状態ボックスが緑の表示で「実行中」と表示されますが、「■動作一時停止」ボタンを押すと、ロボットが一時停止し、小ウィンドウの表示は次図の通りとなります。

停止中は状態ボックスが赤色になり「停止中」と表示されます。

「>動作再開」ボタンを押すと再び、前の実行中の状態に戻ります。

また、停止中は、停止中オプションボタンを操作できます。
停止オプションでは一時停止中にサーボを脱力させることができます。
これによりロボットの電源を入れたまま、電池の消費を抑えつつ、歩行動作実行中にパラメーターの変更を行うことができます。デバッグに有効な機能です。

ロボットの歩行は一連の動きを6分割し、足先の位置で五角形の軌道を描かせる方法を採用しています。
分割数を上げたより滑らかな歩行軌道は、次のバージョンで実装する予定です。
五角形のパラメーターに関しては次の図の通りとなっています。


007.履歴

  • Ver.0.01 [2011/09/06] テストのため一部公開(逆運動学のみ)

  • Ver.0.02 [2011/10/17] 歩行シート追加版公開

  • Ver.0.03 [2012/10/7]
    ・設定等のUIにリストボックスを使用して、操作性向上。
    ・RPU10を介さず、RSC-U485等を用いてのダイレクト接続に対応。(設定画面)
    ・歩容五角形の頂点間を分割して、制御周期を向上可能に変更。PCのスペックとVBAの実行速度に影響されますが、通信速度の上限から理論上は8msまで設定可能。
    ・旋回の歩容を一部変更。

  • Ver.0.04 [2012/11/11]
    ・歩行の体重移動アルゴリズムを変更
    ・初期パラメータを変更


Copyright ©2001-2012 HM@みっちー All Rights Reserved.