2008-12-03

ものすごく間抜けなことを書いてる気がする

最近ARMの勉強を始めた.
STM32F103T8とか素敵デバイスだと思うが,まだ良く分からない.ちょっとピン数がカツカツすぎかな.ひとつのピンへの機能割り当ての重複が多く,ADC入力とタイマー関連の入出力がかぶってたりする.たぶん.

DWM6月号などを参考に,eclipseとgccで環境を構築して,サンプルプログラムをビルドするところまで出来た.ターゲット基板(DWM5月号の付録)への書き込みはまだ.

いままでのH8の開発はgcc developer liteにおまかせ状態だったから,このちゃんとした(?)gccの開発環境では何をすればいいのか分からないことだらけ.メモリ管理とかリンカとか意識したこと無かった.プログラムの基本的なところが分かっていない.
ターゲットCPUをちょっと変更するのにも,サンプルから何を変えれば良いのやら.メモリ容量を決めてるっぽいところをいじるだけで良いのかな.

最初はおとなしくKEIL社かIAR社の開発ツールを使って勉強したほうが良いかもしれない.それか,H8 + eclipse + gccで勉強とか.

JTAGはとりあえず置いといて,UARTかUSBで書き込みする予定.ゆくゆくはJTAGでデバッグとかもやってみたい.
ところで,USBでの開発って,USBで書き込みするためのバイナリ変換が必要とかで,返ってめんどくさそう.それともこれもeclipseから簡単に呼び出せたりするのかな.

そういえば,NiosII IDEってeclipseをベースに作られていたことに,最近初めて気付いた.プロジェクトの管理がしにくい印象があるのだけれど,きっと自分の使い方が悪いのだろう.
2008-11-27

シーズン終了

全日本マイクロマウス大会2008終了.
自分はエキスパート決勝にシードとして出場しました.結果は,

第1走行の探索中に(たぶん)センサのトラブルで一度スタート地点に戻ってきてしまいました.その後すぐ第2走行開始と見られたため,第2走行はファールということに.残念.
そのまま探索は続けるも,(たぶん)センサのトラブルで壁に接触,探索中断.
ここまでで分かっている壁情報を元にスラロームで最短走行.成功.この段階で重ね探索する手もあったんですが,最短で通ったルートがそこまで酷いルートではなかったので,第4,第5も最短走行することにしました(というかこの時は「なんだ最短出てるじゃん」とか思ってました).
第4走行はとりあえず抑え目パラメータの斜めで走って成功.最後の第5走行では,コーナリング速度が最速設定で10秒671でした.これって結局何位だったんだろう・・・

上位マウスとはまだまだタイム差がありますが,速いパラメータで斜めで走れたのでまぁ満足.ただ,探索さえ失敗していなければもっといいルートで走れたはずなので,その点は残念.あと特別賞頂きました.ありがとうございます.

去年残した課題のひとつは安定した探索走行のための安定したセンサだった気がしますが,今年の課題も探索,センサのようです.進歩しないな・・・

あと,今年もちょっとだけ運営手伝ってました.が,これも去年と変わらず,2日目はあんまり手伝えずすみませんでした.他の運営スタッフの方々,お疲れ様でした.

さて,来年はどうしようかな.
2008-11-20

二番煎じですが


ぷーちん太郎に新たな空力デバイスが導入された.

ぷーちん太郎の車体中央にカーボンとパルプ繊維で形成された新型のフィンが追加された.これは2008年度F1GPで流行したシャークフィンを模したものである.車体上面の気流を整流することにより,不安定なヨーイングを抑制する効果が期待される.

しかし,激しいヨーイングを行う高速機動時にはこのフィンが大きな抵抗となり,車体元来の機動性を奪ってしまうというデメリットも持つ.また,上部に長く突き出たフィンは操作性を著しく低下させ,オペレーションミスを誘発することも考えられる.

これまでのテスト走行では,新型フィンによる実際の走行への良い影響,悪い影響は確認されていない.今後もテストを重ね,フィンのサイズ,高さなどのパラメータを最適化していく必要がある.



あと,探索の不調は直りました.
2008-11-12

機嫌直しておくれよ

探索がまったく安定しません.

いつも同じところで失敗してしまいます.
良かれと思って半田ごてを当てなおしたのが悪かったのかもしれません.
パラメータ調整で何とかなりそうな気配もしますが,だとしてもうまいパラメータの範囲が狭すぎです.それでは困ります.

もっと根本的なところから姿勢制御を見直さないと駄目かもしれません.
2008-11-05

この記事長いよ・・・もっと短いのを小まめに書こうよ自分

学生大会と,一月以上前になりますが東日本大会に出場してきました.

結果
東日本
マイクロマウス:8"800 4位
サーキット:記録無し

学生
マイクロマウス:8"042 2位
サーキット:10"60 1位

東日本の直前は確か絶不調で,半田ごて握ってあれこれしてました.
ところがマイクロマウス競技本番ではなかなか快調に走ってくれて予想外の4位,俺ルーチンでの探索が初めてきれいに決まりました.やった.しかし,サーキットでは不調がやっぱり直っておらず,情けないことに記録無し.なさけないなさけないなさけない

その後,サーキットでの不調を直したという意識も特に無く,なぜか学校ではギュンギュン走ってました.学生大会サーキットの直前では「神パラメータ降りてきたー!」とか言ってました.
がしかし,サーキット当日,大会前に試走の機会があったのですが,フル迷路のサーキットではぜんぜん走ってくれない!結局その場凌ぎの醜いパラメータ調整で何とか10秒台・・・10秒切り目指してたのに・・・1位はうれしいけれども,もし西日本勢が来ていたら順位は大きく変わっていたと思います.

で,マイクロマウス.2走目のスラロームで8秒後半.3走目で初めての斜め.成功,しかし10秒台.4走目5走目とより速い設定の斜めでトライするも失敗.嬉し苦やしの2位でした.
その後の開放された迷路でもうちょい速いスラローム走行したら,7"5(竹本さんの手動計測)でした.「なんだ,俺1位じゃん!」とか思うものの,宇都宮さん加藤さんがもっと速いタイムを出してました.やっぱり駄目じゃん俺!もっとがんばって!
2008-09-20

もう少し気を使おう

解決しました.配列で宣言していない部分にまでアクセスしてました.ハードウェアの不具合じゃなくて良かったです.

あと,台形加速のプログラムの,よく今まで動いていたなというバグを直しました.型のキャストのミスです.

判ってみれば本当に些細な間違いばかりです.
2008-09-11

大丈夫だとは思うけど

ちょこちょこと探索ルーチンをいじってて,だいぶ処理速度が速くなってきた.
以下やったこと.
・等高線マップの書き方の効率化.
・そもそも等高線マップの使わないところは書かない.
・今までは,ターン中に探索ルーチンが止まっていたが,ターン中も何かしら処理するようにした.

これでもう大丈夫だろーってぐらい計算は速くなったんだけど,ここでふと,
「あの時やあの時の探索失敗って,探索処理速度が遅いのが原因じゃなくて,本当の原因は実はほかにあって・・・」とか考え出して・・・
そこで試しに,探索したそばからマップクリアして永遠に探索し続けるようにしてみたところ,500歩弱探索したところで壁に激突.再現性もある.なにこれーーー

フル迷路でも500歩も探索することはないと思うし,そもそもあの時やあの時の探索失敗って500歩も歩いてなかったから,これは原因ではない・・・かも・・・,とか思うんだけど,なんとも気持ち悪い.オーバーフローして困ったことになる変数なんてのも思い当たらないし・・・

今日はなんか・・・が多め・・・


wwwwwwwww中和しとくwwwwwwww



追記
米さんの過去のブログエントリーを漁ってみる.似たような不具合なのかな・・・
米さんは台上で探索をシミュレートして原因究明したみたい.試してみよう.
2008-08-03

SHとかがうらやましい

先日月例会にて,フル迷路での探索走行をしました.

が,探索の後半のほうになってくると,フラフラと挙動不審になり,探索完了できません.そこで経路計算にかかっている時間のログをとってみると,探索後半でべらぼうに遅くなっていることがわかりました.
以前からこの問題はあって,ごそごそと改良してたんですがまだ駄目だったようです.簡単な迷路とか,学校の狭い迷路だと大丈夫なんですけどね.
月例会の帰りに,後輩から計算高速化のためのアイデアを授かったので,今度はそれを試してみようと思います.

そういえば,前に書いたビット演算とかビットフィールドとかいう話の結果は,ビットフィールドのほうがほんのわずかに遅いようでした.残念.アセンブラの知識がほとんど無いのは,こういうときにめんどくさい.
2008-05-27

基本家にいたい

最近はハーフマウス合同プロジェクトの方の作業がほとんどでしたが,
日曜は久しぶりに自分の迷路探索シミュレータいじってました.
といってもアルゴリズム自体には手を入れてません.
マップデータ(ベーシックマウスと同じ)にアクセスする方法を今までのビット演算を使ったものから,
某後輩から速くなると聞いていた構造体のビットフィールドを使ったものにしてみました.
シミュレータ上では正しく動作しているようだけど,このビットフィールドは環境に依存するところが大きいらしく,H8に移植するときに一トラブルがありそう.
こういうときにビッグエンディアンとか気にするのかな?合ってる?

支部月例会
先月の月例会の状態(碌に探索できない)から変わってないから,行ってもしょうがないかなと思っていたら,綿谷さんが新作マウス持って来ていたらしい.
俺も行けばよかった・・・やっぱ交流しに行くところだもんね・・・
2008-04-19

あれにぴったりサイズ


買ってきました.
まださすがにmini-zほどのラインナップはありませんが,
それでもいろいろありました.ホイール径が4種ぐらいあったり.

10度のタイヤがメチャクチャやわらかい!
グリップはすごいけど,すぐ汚れそう&消耗しそう.
ハーフなら軽いし大丈夫か?

コアレスモータが750円.サイズはΦ7*16mm.詳細不明.良さげ.

買ってませんが,ジャイロユニットってのもあった.見た感じ村田のジャイロスターかな?

お金があればパーツを買うだけじゃなくてラジコンとして遊びたいんだけどね.
2008-04-18

dNaNo

京商からdNaNoという新しい小型RCカーシリーズが発売されたようだ.
mini-zが1/27で,dNaNoが1/43.
mini-zのタイヤが24.5から25mmってことは,dNaNoは15.5mm位になるかな?
ハーフマウスに使えそう.種類も豊富そうだし.
ほかにもいろいろ使えそうで期待大.
今度新しく出来たって言うショップにも行ってみよう.
2008-04-07

買ってしまった

おひさしぶりです.
最近は(といってもここ数日だけど)ロボメカでのハーフマウス合同開発プロジェクトのセンサ回路やってました.


話しかわって,先日SpaceNavigator買ってしまいました.買っちゃったよ!!

前々から気になってたんですが,散財してる人を見て,つい自分もと.

で,今日学校に持ってって,SolidWorksで遊んでみました.



これはいい



しかし楽しいのはいいんだけど,自宅には3D-CADなんてないし,学校のSolidWorsが入ってるPCも共有のものだし,いまいち使いやすい環境がない.

なにかフリーの3D-CADないかなぁ・・・SketchUpでもいじってみようかな.

普段自分が使ってる2D-CAD(eagleとかSakraCadとか)やOpenOfficeで使えたらそれはそれで便利そう.汎用のドライバ入れてあれこれやってみますか.
2008-03-12

きれいなのりを



はい,そんなわけで第11回ロボットグランプリ・ランサー部門に出場してきました.
今年のランサーもいろいろと余裕がなくて,あまり他の方のロボットを見れませんでした.大道芸も見たかったんだけどなぁ・・・
マウスのときは結構他の参加者のロボットを見られる余裕があるのに,ランサーではいつもいっぱいいっぱい.何故だ・・・

今年のランサーマシン「くぉーた」のコンセプトは「きれいなのりを」.昨年のランサーマシン「のりを」が中途半端に終わってしまったので,その変な車体設計の有用性を今度こそ確認するために製作しました.
今回は昨年以上に時間が無い中での製作となりました.あまり時間がかかりそうなことには挑戦できませんでしたが,その中での新しい試みは,
・ランサーにジャイロの導入
・センササーボと槍サーボの完全自作
以上の2点(たぶん).

車体設計の有用性についてはうまくいったと思っています.極端にトレッド幅の広い独立2輪駆動ロボット.センサバーはモータで左右に振る.この考え方でもいいところまで行けることが分かりました.マイスタークラス1760点で7位,5年間ランサーに出場している中で一番の出来です.ちょっと出来過ぎな気もします.でももうちょい上まで狙えるかな?
それよりなにより,皆様のかっちょいいランサーに紛れて私の変な形のが走ってる様子は,なにかこう「やってやったぜ!」という気になるのです.

最後に,黒川さん,連覇おめでとうございます.兄貴も念願?かなった?ようで何よりです.皆様お疲れ様でした.
2008-03-11

re:ゆた殿

メールで質問を受けまして,私信なんですけどこっちのブログで回答しますね.

質問は大体,「ぷーちん太郎のモータ駆動のPWM周波数は電気的時定数の倍って言うけど,5倍以上が良いらしい・・・そこんとこどうなの?」って感じの内容でした.

まず,ぷーちん太郎のモータ(1319T-006SR)の電気的時定数は,L/R = 130u/8.26 = 15.7us です.そして,PWM周波数は129kHzです.15.7us→63.7kHzなのでPWM周波数はモータの電気的時定数の倍ちょっとですね.ちなみに,129kHzというのは,33MHzで動作しているCPLDで分解能8bitのPWMを生成しているので,33MHz/256 = 129kHzという理由からです.

で,5倍の話なんですが,5倍とか10倍とかにするのが良いというのはどこかで読んだんですけど,最低どれぐらいの周波数が必要なのかはちょっと私は分かりません.確かに,PWM周波数はできる限り高くしたほうが良いとは思います.ただ,マイコンやモータドライバの都合でそれは制限されてしまうので,どこまでも高く,というわけにはいきません.
ちなみに,ロボマガ45号の中島さんの記事では,電気的時定数24.7usのモータ(1331T006SR)を50kHzで駆動しているとあります.これだと1.24倍ですね.私も2倍ちょっとで駆動していて,特にモータもドライバも熱くならないので,これぐらいでも「まぁいいか」という認識です.

これはコアドモータでもコアレスモータでも同じだと思います.ただ,コアレスモータの方が電気的時定数は小さくなる傾向があるので,十分な速さでのPWM駆動はより厳しくなってきます.もし,十分な周波数のPWMを実現できないのなら,ご指摘の通り,モータに直列にコイルを挿入して,モータの見た目のインダクタンスを大きくしてやるという方法があります.PWM周波数低すぎで熱くなった誉やマクソンをこの方法でドライブできたという話を何回か聞いたことがあります(私は試したことありません).

こんなので回答になるでしょうか?
2008-02-09

仮です.


アルミアングル加工して,ギアボックスを仮組み.
タップ切るつもりだったところを,うっかりただの貫通穴にしてしまった.仕方がないのでナットを使おう.
2008-02-02

ステン硬いよ


今日は久しぶりに旋盤,フライス加工をしてきました.
寸法間違えて作っちゃったり,エンドミルを欠けさせちゃったり(ごめんなさい)しながらも,何とか完成.
アルミでも良かったんですが,丁度いい径のステンがあったので,ステンで作りました.

ロボット王国で買ったアルプスのポテンショメータを使うためにD字カットしたんですが,こりゃめんどくさい.
軸の加工せずに,もっと手軽に使える方法ないかなぁ・・・
2008-01-27

実は初オイレス.結構遊びあるのね・・・


部品がそろってきたので組み立て.
設計ミスで歯車が隣の軸と干渉する.仕方がないから後で旋盤で軸の干渉部分を少し削ろう.
ピンソケットを半田付けするときのうっかりミスで,設計とは左右逆になってしまった.どっちでもいいのだけど,どうにも気持ち悪い.これに見慣れるまで我慢しよう.
2008-01-24

あなだらけ


ユニバーサル基板を基板加工機で切り出し.NC楽ちん.
最初の位置決めのとき考えが足りず,蛇の目を1列無駄にしてしまった.もうちょっとずれてれば基板面積を有効に使えたのに・・・
それ以外は良好.
2008-01-21

予定は未定

設計(回路除く)完了.細部は原寸合わせで.

納得のいく,とまではいかないまでも,
「まぁ,こんなのもありか」というレベルにはなった.これでいくつもり.
去年のランサー製作中に生まれたコンセプトを引き継ぎつつ,
前作よりはもうちょい真面目なものになる予定.

ロボメカの人たちには,「昨日なんかブログに書いてたけど,どうせはじめからやるつもりだったんでしょ.ぷくく」とか馬鹿にされる予感.
2008-01-19

設計中

ランサーの設計開始.
今年もランサーに出たくはあるのだけれど,時間がとれず難しそう.
そんなこんなでうだうだと迷っていました.
そこで,
とりあえず設計してみて,今日明日で納得のいく出来になったらやる.
そうでなかったら今年はあきらめる.

二日で素敵設計になるとは思えないけど・・・どうなんだろ
2008-01-18

ジャイロモジュール

しばらくぶりです.前回の続きです.


基板のパターンを描いて,基板加工機で作りました.
久しぶりの基板加工機だったので,何回か失敗してしまいました.
写真の右が失敗作で,左が成功.
片面基板で作ったので,だいぶ大きくなってしまいました.


前回取り外したジャイロ(ADXRS300)に,細く切り出した銅箔を半田付けします.
ジャイロに羽が生えました.


で,さっきの基板に貼る.あといくつかのコンデンサと抵抗,ピンヘッダを半田付けして完成.
これで,このモジュールに電源とGNDを繋ぐだけで角速度が電圧で出力されます.
めでたし.