« 2004年6月 | トップページ | 2004年8月 »

2004年7月

2004年7月31日 (土)



うまくいっているように感じていたBasicMouse/DC。バッテリ電圧の変動の影響を受けているようだ。
03Bでは(影響があるほどは)見られないと思うのだけれど。
このままではサーボゲインの微調整が難しいような気がしてきた...

ステッパーのBasicMouseでは、バッテリ電圧での挙動の変化が大きくて、いろいろ苦労したおぼえがある。
あのパターンにはまると厄介だ。

03Bとの一番の違いは、重量とサーボ制御周期かな。
これが支配的だとしたら、かなり厄介なことになりそうだ。
イナーシャや、重量は増えて制御しづらくなっているのに、制御周期は何倍も遅くなっている。

------

しかし、シンガポールマウスは、H8/3062で、あの走りを実現しているわけだから、この組み合わせで不可能ではないはずなのだが...

| | コメント (0) | トラックバック (0)



03B、BasicMouse/DC共通のローカルサーボ新ネタ。
両者とも不発...
だいぶ考えたのだけれども、うまくないようだ。それなら逆に振ってみるか...

BasicMouse/DCは、出先でコーディングした分は、なかなかいい感じに動いている。
Tinyでも、結構いけるものだ。

| | コメント (0) | トラックバック (0)

2004年7月30日 (金)



帰宅。

いつも使っているノートパソコンは、大容量バッテリーで10時間以上動く。どんなにがんばっても、人間のほうが先にサスペンドする。

復路は、合計6時間以上コーディングに使えた。
実機が無いので、出来具合は?

もっぱらロジカルな部分の作りこみをする。
すべて#ifdefで、きり分けられるようにコーディングしたので、
実機で順番に検証していけばいいか。

------

ためしに03Bのソースコードの量を計算してみる。
約8800行で、276Kbyte。ビルドカウンタは約1600。
意外に少ないような気がする。気分的には2万行くらい書いた気がするのだけれど。試行錯誤で進めているからか。

いまだ未完の、斜め最短走行やスラローム探査は、そんなに多くのコードは必要としないと思うけれど、斜めに対応した最短経路導出アルゴリズムの実装は、かなりのボリュームになりそうだ。

マウスの制御仕様が自分なりにまとまってくれば、もっと洗練されたプログラムにできると思うのだけれども。
精進しなければ....

| | コメント (0) | トラックバック (0)

2004年7月28日 (水)



現地は気温30度。涼しい、とまではいかないけれど冷房いらない。
これなら外仕事も大丈夫だ。

宿で無線LANが使える。いつものノートパソコンがそのままつながる。そのまま日記の更新もできる。快適快適。

いつの間にやら世界は進んでいる。
モデムでローミングしていた頃からすると信じられない。

------

予定通り、移動中にBasicMouse/DCの探査スケジュール部分を作り始める。

おそらく、RAMの容量がもっとも厳しくなると予想されるので、
じっくり考えて、少ないRAMで実装する方法をさぐる。

途中で気絶しながらも、4時間くらいは作業に使えたかな。

| | コメント (0) | トラックバック (0)

2004年7月27日 (火)



明日から遠出。
初めて行くところだ。東経101度、北緯3度。意外に遠いぞ...
ノートパソコンのスペアバッテリーを用意しよう。
こういう逃げ場の無い移動時間は、いいプログラミングの時間になるものだ。気絶しなければ...

------

DCマウスのローカルサーボについて。
03BもBasicMouse/DCも、ローカルサーボについてはPD項のみでフィードバックをかけている。
I項がないので定常偏差が残るけれど、逆にこの定常偏差を出力トルク相当と見なし、いくつかの制御をかけている。

2輪差動マウスの場合に限る話だけれども、定常偏差はあえてなくさなくても、マウスの姿勢に悪影響を及ぼすことはない。
姿勢を乱す原因は、各々の定常偏差ではなくて、左右の位相差だと思う。

左右の位相差は極小に抑えないと、たとえタイヤがスリップしなくても、狙った軌跡をマウスがトレースしなくなる。
定常偏差がある場合は、狙った時刻にマウスが目的の位置に到達しなくなる。ただ、定常偏差を観測していれば、どれくらいの遅れで到着するかは予想できそうな気がする。

------

秋月のARM7ボードを入手したので、ちょっと動かしてみた。

本当に消費電流が少ない...
実測でボード全体でも50mAほど。

(おそらく)SH2並みのパワーを持っているのだろうけれど、お値段はH8ボード並み、消費電力はTiny並みだ。

onチップFlashやADコンバーターがないので、マウスに使うにはいろいろ追加しなければならない。
現状での使い勝手は、SH2やH8に分があるみたいだ。

けれど、あれだけの数のメーカーがライセンスを持っているのだから、SHやM16C並みに周辺てんこ盛りのチップもそのうち出てくるのだろう。果報は寝て待とうか...

| | コメント (0) | トラックバック (0)

2004年7月25日 (日)




充電中...

------

BasicMouse/DC、スラローム探査を目指して、左手法無限探査走行、実装中。

定番のバグだけれど、int型で補正量を計算していて、オーバーフローしているのに気が付かなくて、だいぶ苦戦した。
ここしばらくは32ビット環境ばかりだったから、普通の数値を扱う分にはオーバーフローなんてしないのだけれど、16ビット符号付きでは、3万ちょっとでオーバーフローする。
たまたま、同時に±の符号も勘違いしていて、気づくのに1日以上かかった...

あれこれ、小手先の制御を入れたり外したりしてみたけれど、やはりシンプルが一番という結果になった。今日のところは。
CPUパワーの観点からはいい傾向だ。

スラローム探査も、近々に物にしておきたい技術。
決勝迷路を3分以下で、全面探査終了するためには避けては通れない...

| | コメント (0) | トラックバック (0)

2004年7月22日 (木)




仕事に区切りが付いたわけではないけれど、休みをとって、朝から1日ディズニー・シーへ。
学校が夏休み初日なのと、昨日の気温でどうなることかと思ったけれど、あまりの暑さにみんな手控えたのか、意外なほどすいていて、なかなか快適だった。

------

今作っている世代のマウスは、駆動系の再現性、cpuの処理速度とも、現状問題ないような気がしている。

やはりセンサの精度がもう少しほしいと思う。イメージは、スポット径1mmくらいの変位計のような反射型センサとか。

今のマウスでは、パルス発光を使っている関係で、2msecに1回しか距離を計測できない。
横壁との距離は2msecの間でも、いかほども変化するわけではないし、分解能は十分なのだけれど、壁エッジの検出で精度を出すには結構苦しい。

せめて時間分解能だけでも、もっと上げられないか。

------

ソフトウエアでがんばって...というのも良く語られるけれども、もちろんそうなのだけれども、必要とされる精度を持ったセンサを、シンプルに使って...というのがすべての基本のような気がする。
あまりにもソフトウエアでなんとかしようとするのも、バランスが悪い気がする。

反射型センサの精度に頼らず、踏破性能の高い機体とジャイロなどの別系統のセンサを使って走行するのが、今のトップなのかも。

2輪差動型マウスで更なる高速化を狙うには、そうもいってられない...

| | コメント (0) | トラックバック (0)

2004年7月20日 (火)



月末に向け、忙しくなってきた。
出先は暑そうだと思っていたけれど、この陽気では東京のほうが暑いかも。

ちゃっちゃと片付けて、マウスマウス。
しかし、もう2ヶ月しかないのだよなあ。お盆休みは帰省する予定だし。

今年は、なんとしても去年のリベンジを...

| | コメント (0) | トラックバック (0)

2004年7月18日 (日)



淡々とソフト...だけれど、こう暑くてはやっていられない。

BasicMouse/DCをいじる。いままで作ったマウスの中で、一番バランスがよさそうだ。
重量は約240gで、今となっては特別軽いわけではない。しかし意識したわけではないけれど、前後のバランスがぴったりになっている。
けっこう効いてきそうだ。

| | コメント (0) | トラックバック (0)

2004年7月16日 (金)




BasicMouse/DC、配線終了。電池パックも完。
これで、03B、BasicMouse/DCとも、ハードウエアは完了。
残り時間からしても、今年の大会はこの2台で回していくのがよいだろう。

------

ところで、うちに小さい子供がいるのだけれど、彼はどこかにつかまっていないと歩けない。

最初は、壁につかまって歩いていたのだけれど、最近では、手を引いたり、床においてある段ボール箱を器用に押しながら歩くようになった。
アクチュエーターもジャイロも、制御ソフトも十分実用レベルのように見える。
そこまでいっても、支えになっている(つもりの)ものがないと、一歩も歩けずその場に座るのだが。

今日、それぞれの手にマグカップと洗濯バサミをもって、すたすたと歩いていってしまった。本人も気づいていないようだ。

あんなに小さくても、立派な人間のようだ。限界を決めているのは本人の気持ちなのだなぁ。

| | コメント (0) | トラックバック (0)



最終便で帰還。
晴天→雷→夕立を1時間サイクルで繰り返す天気だった。

これでしばらくは心置きなくマウス。

------

中島さんのところで、LEDの話が出ていて興味深い。
多分、カメラの感度が良いせいなのだろうけれど、スペック(半値角)からすると、スポットが大きく写っているようだ。

------

改めて考えると、マウスの反射型センサは、結構広い範囲を見ているものだ。
ついつい、どこかピンポイントの値をセンシングしていると錯覚(?)している自分がいる。
壁が近いとか遠いとかはまあいいとして、適当なしきい値をきめて、壁があるとかないとかいうのは、もう少し違うやり方もあるような気がしてきた。

壁エッジの検出が(微妙に)うまくいかなかったりするのは、こういったことも原因なのかも。

時間をとって、ゆっくり考えてみる。

| | コメント (0) | トラックバック (0)

2004年7月13日 (火)



本業がヤマ。準備終了??明日からまた、はるか西方へ。

一日のうち、いくらかでもマウスに触る時間をとるようにしているのだけれど、留守にするとさすがに無理だ。
BasicMouse/DCのソフトのことでも考えながら、移動しよう。

なにしろ、03Bの1/5くらいのCPUパワーしかない。(推定)
ローカルサーボはうまくかかって、まっすぐは走れることがわかったけれど、03Bの補正ネタをすべて入れるわけにはいかない。
03Bは、思いつくネタすべてを試すために、使うことのできるCPUのなかで、もっともパワーのある7145を採用したが。

もっと洗練された手法がないものか。
いやあるはずだ...あれをこうして...

| | コメント (0) | トラックバック (0)

2004年7月12日 (月)



探査時姿勢制御、あれこれ。

タイムを詰める前に、迷路の探査でつまづいているようでは、なかなか思うような結果が出せない。

現状で調整をやっていくうちに、どうも駆動系の再現性よりもセンサの再現性のほうに、問題の比重があるような気がしてきた。
壁の反射率のばらつきに対してシビアというか...

ソフトウエアであれこれ対策ネタをつくってみるけれど、ループしてきているような気がする。
03Bのセンサ回路は可視光型だけれども、BasicMouseとは異なり、HPFはかかっていない。
フォトトラの出力をオペアンプで積分して、フォトトランジスタにバイアスをかけている回路になっている。
これで、近距離でも飽和しにくく、遠距離も(それなりに)検出できる回路としているつもり。

発光、受光側とも、3.3Vにしてしまったせいもあるかもしれないけれども、どうも壁のあり・なし判断のしきい値の設定がシビアになっている。

03Bでは無理だけれど、現状ハードウエアで決まるバイアス量を、次世代型ではソフトウエアでコントロールできるようにしたいと思っている。

これで危険な方角(外光の在る方位)をマークするとか、重要な(ターン直前の壁とかの)反射率を覚えておき、必要に応じて補正をかけるとか...
妄想中....

| | コメント (0) | トラックバック (0)

2004年7月10日 (土)




BasicMouse/DCは、CPUボードの配線中。
LCDとセンサ基板への配線終了。動作確認してみる。

こんな形になっても共通プラットフォームの強みで、今までのプログラムがそのまま走る。
配線終了したところからすぐに動作させられる。

------

走行コマンド列の検討。
斜めをうまく管理するためには、走行コマンドの管理手法の大幅変更が必要と思っていた。
直線を分割して管理する方法で、意外にうまくいきそうだ。

ここまで、タイヤのトレッド幅とタイヤ周長から、理論値を計算で求めて走行している。
斜め走行も、その流れに沿って計算で求めて走れるようにしたいところ。たぶん問題ないはず...

| | コメント (0) | トラックバック (0)

2004年7月 9日 (金)



あっというまに、また週末がやってくる。
今週は忙しかった。来週と月末の週は忙しい予定。この陽気に外仕事...梅雨はどこへいったんでしょう。
雨もいやだけれども、暑いのは体力を著しく消耗する。

------

03B、今日の発見。というか...

現在の走行位置(動き始めからの距離)で、横壁センサでの姿勢制御を行うかどうか、(実際には、他にもいろいろ条件があるけれど)決定している。
姿勢制御は、左右輪に速度差をつけることで、機体を左右に振り行っている。

良く考えればわかったことだけれども、速度差をつけるためには、機体が動いてないといけない。
速度ゼロ、要するに迷路上で一旦停止するときに、たまたま姿勢制御可能な位置で停止した場合、できない制御を行おうとして姿勢がずれることがあったようだ。

わかってしまえば、こんなこと...なのだが。
気が付かないものは、何年かかっても気が付かない。

| | コメント (0) | トラックバック (0)

2004年7月 7日 (水)



ここの所の陽気のせいか、気力が減退している...

どうにもソフトに身が入らないので、BasicMouse/DCの配線なぞ。

------

自分の興味の軸足はやはり電子工作なので、それに付随する加工やプログラミングはやっても、回路設計やハンダ付けのまったくないようなものでは、なかなか手を動かす気になれない。
昔から工作は好きだったけれど、ラジコンとかには無縁だったのは
そのころすでに半田ごてを日常的に使っていたせいかもしれない。

マウスは、CPU周り、モータードライブ回路、センサ回路、昇圧回路など、電子工作ネタ大盛りで、その部分が自分にマッチしている。
いろいろあるロボット競技のなかでも、電気屋的にテーマを見出しやすいのではないだろうかと思う。
逆に、電子工作に興味のない、もしくは薄い向きには、そこのところがネックというか、敷居が高い(ようだ)。

あちらこちらの、サイトを拝見して思うのは、いろいろなロボット競技に参加している人は、思っているほどには電気回路屋は多くないという気がしている。

そういう人はいても、あまりサイトを立ち上げないのかもしれないけれど...

| | コメント (0) | トラックバック (0)

2004年7月 4日 (日)



斜め走行の姿勢制御。考え方を変えて何とかなるようになってきた(?)。
フル実装はまだまだだけれど、道は開けてきた。
多分この考え方でいいのだろう。
ひと段落ということで、日記を更新。

------

決まったコマンドを与え、斜めを含むシーケンス走行をさせてみて、その挙動を見ながらつれづれ考える。
BasicMouseのセンサ配置や、ジャイロのこととか、もろもろ。

なるほどなぁ。
直交だけの走行パターンでは、あまり考えなくてもよかったけれど、斜め走行が入ってくると、いろいろなものが、また別の意味合いを持ってくるようだ...

残念ながら、03Bではそれらの点について、考慮した設計になっていない。
これらの点は、次世代のマウスに生かされるであろう。
もしくは03Bでも別の手法でクリアできるかもしれない。

いまさら、壁をあてにした制御に頼らず、柱の補正だけで走れるマウスの意味合いを痛感する。
次の時代は、いままた上壁センサマウスか?

| | コメント (0) | トラックバック (0)

2004年7月 3日 (土)



ななめ走行時の姿勢制御。考え方は難しくないはずなのだけれど、現行の制御仕様との親和性が悪い...ちょっと変更したくらいでは、うまく実装できそうも無い。

元の設計がよくないことは、もういうまでも無い。
モチベーション低下。休憩(気分転換?)が必要だ。

------

03の時に使っていたタイヤ素材。自動車用品の滑り止めスポンジ。
02や03では、非常に効果的だった。
02では、履き替えるだけで1割くらい性能向上した。

03Bではマッチングが悪かったようで、グリップ自体は悪くないのだけれど、安定した軌跡をどうしてもとることができなかった。

タイヤ幅が同じで、重量が02の1/4。しかもトレッドはだいぶ広くなっているので、イニシャル(1G)状態では、相当にやわらかい足なのだろう。
せっかくグリップがあっても、ぐにゃぐにゃの靴底では、機敏で正確な動きは難しい。

薄くするのも、ひとつだと思うけれど、今度は機体がロールしたときに、伸び側のストロークが減ってしまって、せっかくのグリップを生かしきれないかも。
力がかかってからグリップを失うまでの時間を稼げないような気がする。

どれが支配的になるかは、頭で考えていても、さっぱりわからない。実践してみる。

------

というわけで、イニシャルでつぶれた状態を再現(?)すべく、幅を狭くしてためしてみる。

切り出しの関係で、4mm幅としてみる。
機体重量からすると、幅1.8mm位になるのだけれど、こんな幅では切り出せないし貼り付けられない。

------

気分転換で、ざっと試した感じでは、8mm幅よりはましな感じだけれど、やはり軌跡が安定しない。とても斜めは無理なレベルだ...

いっそこの素材で、Oリングがあるといいのだけれど...直径48mm、太さ2mmくらいで...

| | コメント (0) | トラックバック (0)



ななめ実装中...

いままでは、この横幅があると斜め進入は結構難しいと考えていた。
今回新たに考えた内容で、ざっくり動かしてみると、それなりにうまくいきそうだ。少なくとも前回のトライの時よりは。
姿勢制御とか位置補正とか、まだまだだけれど...

で、今回新たな走行ラインを取らせて見て、一発目に感じたのは、この動きは、あのマウスそっくりな気がする....
以前の斜めトライのときには感じなかった。多分。

あのマウスも、このラインを取っているのだろうか?
今までは自分でやってなかったので、漫然と見ていたようだ。
今度見る機会があれば、はっきりわかると思うのだが...

| | コメント (0) | トラックバック (0)

2004年7月 2日 (金)



さて、週末。

03Bのソフト。机上で斜め走行のための検討を繰り返す。
BasicMouseなどと比べても、機体の幅が広いので苦しいところ。
森永マウスも03Bと同じくらいの幅だけれど、安定した斜めを走行している。

一番シンプルな考え方で、1種類の旋回半径ですべてこなすパターンはさすがに無理っぽい。
次点として2種類の旋回半径で処理する方法を考える。1と1/2と√2がぐるぐると...

なんとかそれなりに美しく、成立しそうな気がしてきた。
どうかな...

| | コメント (0) | トラックバック (0)

« 2004年6月 | トップページ | 2004年8月 »