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

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

どうも、roboBASICv2.72のコントローラー形式「MR-C3024シリアル」を選択している場合のゼロ点設定に不具合があるようですね。私は股関節のヨー軸を付けていないので、確かめきれない部分もあるかと思いますが、RZ1Basicのゼロ点設定のこともあるので、原点に返って、ゼロ点のこと、あれこれ考えてみたいと思います。

問題点
具体的に、どんな不具合があるのかというと、

  1. 股関節ヨー軸を付けた場合、ゼロ点設定しても、正しい姿勢をとらない。
  2. ゼロ点の書込みが正しくできない。

の2つがあるようです。また、これらの不具合は、コントローラーの形式「MR-C3000シリアル」を選択している場合には起きないようです。なので、これで設定すれば、事足りるので、あまりみなさんご興味はないと思いますが、コントローラー形式「MR-C3024シリアル」の時に、なぜうまく動かないのか、この簡単な不具合私が33回に分けて説明してやる(テレビの見過ぎ

さて、33回というのは冗談ですが、ゼロ点に関して、DIR設定データ、ゼロ点補正データ、ゼロ点姿勢データなどが、メモリー内でどうなっているかを考えてみることにましょう。

【DIR設定の挙動】
DIR設定は、()内蔵EEPROM(不揮発性メモリー:電源の供給を切っても記録が残るメモリー)の0x0FB0〜0x0FB3の4バイトと、()SRAM(揮発性メモリー)の0x04E7〜0x04EAの4バイトがDIR設定が記録されている場所です。()さらに、プログラムは外付けEEPROMに記録されていますが、プログラム中にもDIR設定が書かれていますね。

実際の挙動は、

  1. 電源を入れる/リセットする。
  2. 内蔵EEPROMからSRAMにDIR設定がコピーされる。
  3. もし、プログラム中にDIRコマンドがある場合、内蔵EEPROMと、SRAMのDIR設定をそのDIR設定に書き換える。

Omnigraffle_proscreensnapz008
という流れでDIRが設定され、SRAMにあるデータを元に、実際、ロボット(サーボモーター)は動くことになります。

あと、いろいろやっていて気が付いたのですが、プログラムを転送後リセットされますが、その際のリセットは、リセットボタンをクリックしてリセットするのとは異なってるようで、上図で、から始まるのでなく、から実行されているようです。ただ、プログラム中にDIR設定を書かないことはまずなし、一般には、SRAMの値を直接いじるようなことはしないので、問題にはならないと思います。

ということで、今回はここまで

つづく。。。

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

|

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

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

コメント

コメントを書く



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




トラックバック


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

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