カテゴリー別アーカイブ: Robot

モーションの編集でコンパイル?

モーションの編集で「コンパイル」と言うボタンが有るのですが、不思議でした。単に設定した値を羅列するだけだと思っていたからです。実際一つのモーションで色々な姿勢を設定して繋いでそれらの値を出力するだけだと「コンパイル」と言うより「コンバート」の方が近い気がします。しかし、条件に依ってジャンプしたり分岐処理が発生します。と言う事はプログラムで自動的に無条件ジャンプや終了のコードを出力してやる必要が有ります。その為、どの姿勢にジャンプするのかは分かりますが自動で出力したコードの為の飛び先変更や無条件ジャンプの飛び先を探す必要が有ります。うーむ、これはコンパイラーやアセンブラなどで行う名前解決と似ているなぁと。ボタンも「コンパイル」で良かったんだなぁ、と。改めて思うのでした。
現在はこんな感じです。

MotionEditor 開発状況

書いても書いても終わりません。当初は USB アダプターと RCB-3HV との通信に時間が掛かるだろうと予想していたのですが、何のことはなく設定画面が沢山有るし、サーボの数が24個有るので大変です。こういう時 IB の GUI で画面を作成するのは面倒ですねぇ。プログラムだと基本の1個を書いておけばループを回すだけなので。
モーションのオブジェクトで有る POS , SET , CMP , MIX ですが、現在は POS のみ出来てます。配置、ドラッグ、削除、はまぁ出来たのですが結線自体は出来ているのですが破線の描画が変です。今回はベジェを使って描画していますがベジェって開始と終わりの位置が異なる場合勝手に線を描画するのでしょうか?なんかそんな感じなんです。破線が破線にならない、オブジェクトを移動すると破線に見える時もある、調査は後回し。
元の HeartToHeart が Windows のアプリっぽいのでマック作法に出来る限り変換。パラメータ等の値を設定するウインドウでウインドウを閉じると設定されるってどうよ、って感じなので。キャンセルしたい時は無いのか、と聞きたい。OK キャンセルボタンが有るウインドウも有るのですが。
現在はこんな感じです。出来てない機能も有る、アイコンは未だ作成していないので文字だけ。

MotionEditor開発状況

今まで開発したプログラムはシステムで用意された部品を少しモディファイするくらいだったのですが、今回のプログラムはモーションの編集ビューにその時々のポジション情報であるオブジェクトを置いたり、移動したり、線で繋いだり、と大変です。繋ぐ線も途中の真ん中で矢印を書かないといけないし、もー色々調べて疲れます。完成した時はかなりプログラミング技術が向上するのではないだろうか。でもなぁ、すぐに忘れてしまうしなぁ。。。。。
で、ドキュメントベースで再作成してます。前回の下地も有るので、少し楽です。モーションファイルを読み込んで編集ビューに表示する所です、と言っても表示するオブジェクトは数種類有るがまだ1種類だけ。

こんな感じです。

ちょっと行き詰まったので

モーションエディタを作成してしたのですが、いつものように行き当たりばったりで作成しているので詰まってしまいました。最初に悩んだんですけどねぇ、ここに来てやはりドキュメントベースにしておけば良かった、と。さらにオブジェクトの機能もちょっと変になってしまったので、これは、ドキュメントベースで作り直し、だな。
で、ちょっと気晴らしにロボットに搭載されているマイコンに登録されたモーションの一覧を取得してその中から実行したいモーションを選択して実行するソフトを作成しました。Windows 版は近藤科学のサイトからダウンロード出来るやつが有るので、それのマック版、と言う感じです。機能的には Windows 版は実行するモーションをボタンをクリックする事で実現します。そのボタンはウインドウの中の好きな位置に置ける様です、背景に画像を貼り付ける事も出来ます。私のは出来ませんが。

こんな感じです。まぁよく言えばシンプルで良い、と。
ちなみにモーションエディタはこんな感じです。

届きましたよサーボ

やっと修理が終わってサーボが届きました。で、原点だしをすると、おおっ!動く。さっそく左の手を組み付けて配線が途中だったので背中のカバーの中に全部入れておしまい。
サンプルのモーションを動かしてみると、やはり全部そろっているとバランスが良いです。歩行とかやってみたいのですが、まず部屋を片付けないと、私は歩けてもロボットには苦しい状態なので。
HeartToHeart のマック版の方は色々テストしてからよりも、まずモーションの編集が出来る様にする方向へ変更しました。編集時に直接サーボを動作させるのは多分出来そうなので。問題はマイコンからの読み出しと書き込み、教示モードでの値の読み取り、プログラムの見た目的にはオリジナルからは離れてしまいます。なんせ Cocoa ですから Windows の様に出来ない(私の力量では)、したくない、の両方ですね。将来的には OpenGL で描画したロボットをマウスでグリグリしながらモーションを作成したいです。スライダとか数値を入力とか、やってられないし。