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

目指せ HeartToHeart ver3

ちなみに「HeartToHeart ver3」とは KHR-1HV を買うと添付されているソフトでロボットを制御します。まぁそれと同等のマック版を目指す訳です。(出来るのかなぁ?)
現状は相手の RCB-3HV との通信は出来ている様です。ただ、先日取得出来たバージョン情報が取得出来なくなっているので、問題はまだ有りそうです。1個のサーボを動かす所まで来ました。ジージーとプログラムのスライダーを動かすとサーボも動きます。サーボに送る値(回転値)が良く分からないんです。コマンドリファレンスには値の範囲として 0~32767 プログラム上では -16383 ~ 16384 と表すみたいなんですが操作説明書では「1パラメータに付き 0.35度」と有ります。しかし 100 くらい変位すると結構動きます。KHR-1HV のサーバは 180度の範囲で動作する様なので 180/0.35 で約 514 となり+1 で 256 程度のはずです。マニュアルに他にも 「サーボ表示数値」「サーボ実働数値」は違う、とか書かれているのですが、何の事やら?
まぁ先に Windows でいじくりたおさないと理解出来なさそうです。操作説明書に書かれている単語とコマンドリファレンスに書かれている単語の相違も有りそうだし。Windows で設定した値が実際にはどのパラメータに対応するのか一つずつ確認する必要が有りそうです。はぁ
まだまだ先は長そうです。

テスト中と言うか確認プログラムの画面です

マックとマイコン(RCB-3HV)との通信

修理中のサーボが来ないので、ソフト開発の下調べを行ってました。結果は「通信出来た!」です。まず KHR-1HV 付属の USB シリアル変換器で使用されている LSI が FTDI 社の物で有る事。ここからドライバ(D2XX)をダウンロード。(普通のインストーラ形式のも有ったのですが)サンプルプログラムをコンパイルして実行、まぁ最初から旨く動作するとは思ってませんでしたけど。
近藤科学の USB シリアル変換器は固有のベンダーID、プロダクトIDを使っているのでプログラムでそれらを指定する様に変更。(サンプルプログラムは SetVIDPID )
ここからは私の思い違いで結構時間がかかりました。近藤科学のウェブサイトのサポートページから ICS2.0のコマンド資料をダウンロードしたのですが、これが間違い。これはサーボとの間で交わすコマンドの説明なので、私が必要としているのはマイコンである RCB-3HV とパソコンとの間のコマンドなので正解は RCB-3 コマンドリファレンスなのでした。
まず簡単なコマンドでテストを、と思い。バージョン情報取得にチャレンジ。コマンドを送信する前に 0x0D を送信して RCV-3 から 0x0D が帰ってきて初めて本来のコマンドが送信出来るのです。 0x0D を送信してみると、帰ってきました 0x0D が。でバージョン情報取得のコマンドを送信するのですが何も帰って来ません。ウェブサイトを色々検索するも解決に至らず。最後に通信設定を見直したら、私が最初に参考にしていたのが ICS2.0 の説明書なので、ひょっとすると違うのでは?と思って RCB-3 コマンドリファレンスを見るが記述無し。仕方ないので RCB-1 (KHR-1 のマイコン)のコマンドリファレンスを見ると、違うじゃぁ無いですか。早速記述通りに設定すると、なんとバージョン情報が帰ってきました。これで Windows 版の Heart2Heart と同じソフトが作成できる、はず?

歩いた、のか?

サーボの原点出しミスやらマイコン(制御用の組み込みコンピュータをそう言うらしい)との接続場所ミスやらを訂正してマニュアルに書かれている電源を入れた時のポーズにやっとなりました。トリム調整して起立状態にセット。とりあえず、それをホームに設定。添付の CD に有るサンプルモーションをいくつか実行すると、やはり手先のサーボが一つ無いのでバランスを崩してしまいます。早く帰って来ないかなぁ。
ソフト的にはパソコンでモーションを作成してロボットのマイコンへ転送して動かす、と言う物で、これはちょっと想像してませんでした。パソコンから直接制御出来るものだと思っていたから。
Windows のプログラムを作成すれば出来そうなんですがマックからだとまず USB シリアルを何とかしないといけません。しかし添付の USB シリアル変換器のドライバは Windows にしか無いのと USB のタイプが composit なので某かの設定が必要だと思われます。市販品でよく使われている IC が使われている場合はドライバ作成若しくはアプリケーションで何とかなりそうなんですけどね。通信タイプだと専用ドライバが無くても大丈夫だと思われるのですが。まぁあまり知らないのでなんともです。
なので、まず最初はモーションエディタから始めようと思っています。やはり 3D でロボットを表示してマウスでグリグリする様なのが面白そう。出来るのか?と言う心配も有りますが、とりあえず少しずつ問題を解決するしか無いですね。プログラミング技術も向上するかも。

届きました

先日注文していた組み立てキットが届きました。GW後にでも届くと思っていたんですが。で、一通り組み立てました。ただサーボの原点出しで1個だけ最初パソコンから制御ソフトでスライダを少しだけ動かした時は動いたのですが、もう少し動かそうとスライダを移動すると、なんとサーバが沈黙してしまいました。今日メーカに問い合わせて修理の為箱詰めして送りました。いつ頃帰って来るのかなぁ。まぁ壊れたサーボは手の先なので歩行とかにはあまり関係ないがバランスが悪くなりそう。
私が購入したのは近藤科学の KHR-1HV なんですが、組み立てには苦労、と言うか手が痛かったです。以前の KHR-1 は金属ばかりみたい(あまり知らない)なのですが KHR-1HV はプラスティック部品が有り、それを繋ぐのにはめ込む必要が有るのですが。堅い!んです、説明書には熱を加えて柔らかくしてからはめ込むと良い、と書かれているのですが。精密部品の近くに熱を加えるなんて、と思い全部手ではめ込んだんです。
次はロボットを立たせる為各サーボを調整とかモーション作成などをするのですがバッテリーだと時間が持たないので安定化電源を購入。さらにロボットを調整する時手でもっていると結構辛いのでロボットを吊すのが必要となり、色々考えた結果アルミの角材でPCケース等を作成する材料(ルービック)を用いる事にしました。なんとロボット用のキットも販売されているのですが。そこに書かれている材料を個別に計算するとキットの方が高価だったのと寸法を変更したかったのも有って材料を個別に購入しました。
次は歩いてるかな。