« いきなりヘタレですね | メイン | For better quality »
2006年05月15日
Play Back 機能追加&各種のバグ取り
出るわ、出るわ、いやになる位バグが出まくった。プレイバック機能は複数のムーブが登録でき、セーブとロードが出来たつもりなので実装に入ったわけであるが、このセーブとロードの機能が極めてあやしい。ロードしたサーボ角もこれまた、どこに格納されるのか?って悩むほどデータ構造がおかしかった。
これをすっきりさせて、セーブとロードとデータ確認が必要だった。各種のテストを繰り返し、どうにかカタチになった。
プレイバック機能はROM焼きをしなくても、PCから逐次データを送りつけることにより、モーションを実行させる機能だ。モーションの試作が簡便になるのだ。短時間で色々なモーションを試すことが出来る。これも挙動がおかしかった。シリアルでコントローラと通信しているわけだが、以前に作成した角度キャプチャも挙動がおかしかったのだが、適当な待ち時間を設けることにより、この不具合を回避していた。キャプチャモードのはずが、PWM出力モードになっている。これはコントローラにリセットがかかり、PWMモードに戻ってしまったことを意味するのだ。ターミナルで手打ちで行っている分にはあまり顕在化しなかったが、PCから大量に短時間に連続的にデータを送ると途端におかしくなる。これはコントローラのシリアル部分がおかしくなっていることを意味する。
いつ、どのタイミングでエラーが発生するかを調べることにした。こういうときにはTeraTermは便利だ。RoboShellのコマンド列に相当するテキストを用意して、ガンガン送りつける。案の定、バッファオーバーフローのようだ。この部分を直して、再び送りつけてみる。全然、大丈夫だ!!素晴らしい!!調子に乗って、通信速度を速くしてみる。57.6Kbps でも問題なし!!でも、サーボの回る感じは 38.4Kbps の方が良い感じ。という事で 38.4Kbps にした。
キャプチャも連続して、取り込めるようになった。前よりも高速だ。ソフトは32chまで作ってあるが、プロトタイプは16chしかない。案の定、16、17chで1,2chのゴーストが出てきた。設計どおりだな。
プレイバックも安定している。これなら、十分使えるレベルだな。まだ、UIがこなれていないのでその部分の修正を加えることにする。
あとは Export 機能。これは純粋にPCプログラミングなので、なんとかなりそうだ。
投稿者 skykiz : 2006年05月15日 02:13
トラックバック
このエントリーのトラックバックURL:
http://www.teamknox.com/mt/mt-tb.cgi/300