2009年09月28日

高エネルギー蓄積物

ある日、あるところのゴミ箱にて。
見覚えの有るサイズの電池を拾いました。
長方形で銀色。それはLAB503759C2と言う名前のリチウムポリマー電池でした。
 
3セルパックが三つありました。
見た目の損傷が一切無いので、とりあえずお持ち帰りしました。
 
その日、部室にて。
セルの端子の保護もクソもない養生テープをはがすと、そこにはことごとくハンダの「剥がれている」配線が存在していました。
少し衝撃が加わっていたら、私のカバンは炎上していたことでしょう…。
アルミをハンダ付けできない人は、おとなしく既製品を買いましょうね。
既製品の方がよっぽどハイパワーなものばかりだよ。
 
 
結論:「バッテリー」というものはナメられているらしい。

 結構二足のプログラミングが進みました。
残すは
・サーボ回転方向の実機確認
・サーボ角度指令方法の変更 
・コントローラのボタンを目標座標として設定できるようにする
の3つ。今週の部会までにできるかしらん。まぁ、宿題もあるし無理しないように頑張ろう。
 
 
マイコンカーはアッカーマンやりたいなぁ。
ステアリングもガッツリ作りたいなぁ。
モーターどうしようかなぁ。
 
そういえば、こんなものがあること知りませんでした。
http://akizukidenshi.com/catalog/g/gI-01739/
これ使えば、RS-232CドライバICが乗っていない、秋月SHTinyのプログラミングももっと簡単になるなぁ。
ザビエル先輩のマイコンカーに乗ってたやつもこれかも。
posted by Tmk at 00:27 | Comment(0) | MCR以外

2009年09月27日

プログラムのメモ

メンバーも見れるように、二足歩行ロボットのプログラム改造メモを書いておく。
 
・逆三角関数
現状は「逆三角関数テーブル算出関数」を使って、「逆三角関数」で算出する方式。
そのうち「逆三角関数テーブル算出関数」内の数値データをconst配列化。
「逆三角関数テーブル算出関数」では数値の判定のみを行う。
 
・角度生成関数
現状はxyzの各座標をグローバル変数として使用する。
出力の各関節角度もグローバル変数の配列。
そこから引数を追加し、モジュール独立性と汎用性を高める。
引数:xyz各座標位置、算出角度格納のための配列ポインタ
実行後に渡した配列に算出した角度情報が入っていることになるので、それを角度指令用の配列に投げ込む。
 
 
あとは各足ごとの座標情報と角度格納用配列を構造体にしようかな
 
起動時からの時間も1ms間隔で計ってるので、関数orモーション配列でも作れば簡単に作れますね。
各関節は完全独立動作が可能なので、上半身と下半身のモーションも別々に作れるし。
歩きながらいきなりパンチとか。まぁコケるかもだけど。
posted by Tmk at 04:49 | Comment(0) | 二足

ぐりぐり動かしたい

今週は2日間のみで、また休みに入ってしまうとあんまり調子も上がらないです。
と言いつつ、色々とやらねばなりませんね。


現在作っている二足歩行ロボットのプログラムは、現在モーション実装の基礎段階。
前々から逆運動学担当の方で、今回製作中のロボットについて、逆運動学を解いて歩かせるという目標を掲げています。


 順運動学から逆運動学を解いて、どのように歩かせるかが問題です。
逆運動学を解いてからは、メンバーのAdldがパソコン上で実行できるプログラムを製作しています。
現在はOpenGLでリンクを描画し、画面上でリンクの動作を表現しています。

参考に動画を載せておきます。

(WMV形式1.12MB)
上の動画で、ボールが足の軌道の目標、棒がそれぞれのリンク、リンクの関節上にあるボールが軸です。


このプログラムで実現していることは、「空間上の適当な座標を設定すると、各関節が自動的に角度を決定し、足先がその座標位置に移動する」ということです。そのため、適当な軌道を入力すると、その軌道をトレースする各関節の角度を自動で算出してくれます。
マイコン上で処理することを考えて、リンクの動作自体は整数型で行い、三角関数等も1000倍して、角度は0.5度刻みで指令を出すようにしています。そのため、リンクの動作が滑らかではなく、カクカクした動きになっています。
ちなみに、動画の足の軌道は 適当に計算式を代入したものらしいです。
詳しくはそのうちプロジェクトのブログにでも書かれるんじゃないかな。きっと。

 


で、ここまでの成果から私のすべきことは、これを実機に実装することです。
仕組みとかアルゴリズムは理解しました。
そこからマイコン、システムの仕様に合わせてプログラムを変更したり、 処理を効率化させたりしています。


一番の問題は、サーボへの指令値と実角度が都合のいい数値になっていないことです。
マイコンへの指令値が10変わると、実角度は約0.337度変化します。
PWMよりかなり精度は良い指令が出せるのですが、相互変換はちょっとめんどくさい。有る程度妥協しなくちゃいけないけれど、なるべく綺麗に動けるようにしたいなぁ。

PS2PADのアナログスティックで、ぐりぐり足先の位置を変えられるようになったら面白いので、それを目指してプログラミング中です。

Adldさんへ
動画エンコードしときました。


↑の動画は、銅の塊を適当な板(アルミにクッションつき両面テープを貼って、バネ鋼をはりつけたもの…だっけ?)に倒してみたもの。
なぜか部室にある投光器を接地して、高速カメラ撮影してます。
デカイ銅なので、さすがに殆ど歪まないですね。 

posted by Tmk at 01:18 | Comment(2) | 二足

2009年09月18日

どうやら終わり

色々あってご無沙汰です。昨日で夏休みが終わりました。まぁ、今日ガイダンスに行ったら連休なんですが。

動画公開再開しました。順序変更、マシン名追加、若干画質向上しました。以前ダウンロードした方も、今一度のダウンロード推奨です。

そんなに作業はやってないです。マイコンカーは早くもシーズンが終わってしまったので、他にやっていたことを進めてます。
次のシーズンまで時間があるし、新しいマシンも作りたいし…。

----------------------------------------------------
ところでですね、少し悩んでいることが一つ。

現在私は部内プロジェクトの二足歩行ロボットプログラムを組んでいます。
まぁ大体の土台は出来たかなって所なのですが、少しプログラムで迷っていることがあります。
それは変数(フラグ)管理のことです。

コントローラとしてPS2PADを使用(VstoneのVS-C1です)
その信号をATtiny2313で少しいじって、そこからSH7125に入力させます。
タイミングパルスがAVRから出力されて、その都度割り込みで処理します。
1度に2bitのデータを受信し、一通りデータを入力するにはそれを24回繰り返します。(24*2/8=6byte)
そのうち4byte分は数値データとして保存します。(アナログスティック上下と左右×2)
残り2byteはそれぞれのボタンです。

そこで、です。

ボタンの1/0情報を、char型16個の配列を使って管理するか、short相当の変数1にまとめて管理するか。そこを悩んでいます。
いや、別に容量の方も処理の方も余裕です。逆運動学計算するって言っても、SHマイコン(しかも計算は整数処理)なので、特にパワーが足りなくなることはないです。(まだ実装していませんが)

ただ、どちらがスマートなのかなーと思いまして。
short1個で管理するほうが気分的にはかっこいいです。
ただ、書き込みと読み出しのステップ数が増えるわけで…。
でも増えるって言ってもビットシフト1回とAND処理程度…。
たぶんshort1個で処理するだろうな。
そういえば、AVRに書き込むプログラムの設定を変えれば、8bitで読み込みも出来るんだった…。そっちの方が楽だったなぁ。回路組んじゃったし、変える予定は無いけれど。

あんまりやったことが無いからかもしれませんが、やっぱり無線を使って意図した動きをしてくれると面白いです。今だに今年の4月に回路が完成した相撲ロボットをいじって遊んでますから。
そろそろ自立化しようかなぁ。相撲班が作ったマシンの相手専用とか。そろそろラジコンでいいから倒してくれー >相撲班


それにしても、シリアル受信がいまだに出来ないのは何でだろう…。
posted by Tmk at 05:05 | Comment(0) | MCR以外

2009年09月03日

大会動画いりますか…?

この前のRMCRの動画(決勝戦だけ)です。

久しぶりに撮ったので、うまく撮れてないです。

一般3位決定戦のときにちょうど電池が切れてしまい、うまく取れてなくてカットしました。が、そのほかはほぼ全部撮れてるはず。

肖像権とwebスペースの関係で画質を抑えていますが動画ご了承を。
それと一番最後の高速カメラのやつも、特定の人物に焦点を当てて撮影した部分はカットしてあるので、バックのコメントも切れちゃってます。


何か不都合等ありましたらコメント等でお知らせください。早急に対処いたします。

RMCR09決勝戦+アトラクション(WMV形式、161MB)

(10/27) DL先を変更しました。少し速度は遅いですが、気長に待っていただければ…。
(9/18)公開を再開しました。
動画順番の変更、画質向上、IN/OUTコースマシン名追加を行っていますので、以前ダウンロードした人も今一度ダウンロードをお勧めします。

ちなみに暫く公開しておきますが、後々は容量の関係で場所を移します。そのときは移す先も書いておきますが、今のうちダウンロードした方が速度が速いです。おそらく。

今回は実家での作業効率が全然上がらないので、IN/OUTコースの説明は省いてあります。すいません…。

posted by Tmk at 03:39 | Comment(0) | MCR・動画付き