|HOMEPAGE|ROBOLABO|COOKING|BBS|LancerBBS|TUREZURE|LINK|

新やりやり日記バックナンバー


第500回 つくばチャレンジ2008の動画:2009/7/4(Sat)

昨年のわがチームのロボット「Love it!」の動画をYouTubeにアップしてみました。



第499回 生きてます:2009/2/15(Sun)

■生きてます
ずいぶんご無沙汰してますが生きてます。

カウンタの値は検索エンジンのロボットが殆ど上げてるみたいですが、こんな更新の無いぺーじでもたまに訪問してくださる方々に感謝です。

昨年はつくばでバンダイナムコ賞、マウスはフレッシュマンで2位になりました。
すばらしい成績でした。
ロボコンは完成せず残念でした。
色々と反省です・・・

チームでのものづくりを取り仕切る難しいですね。メンバーがサラリーで契約関係にあるならばともかく、そうじゃない!
もし、本人たちにやる気が無かったらどうすればいいのか?
永遠の課題です。
でも、答えを出してみようと思ってます。

ハーフマウスの迷路は購入しました。自費じゃないですけど・・・(^^ゞ
ベースの板、廊下に立てかけておいたらちょっと曲がってしまいました。(T_T)
何か枠を作ってそれに貼り付けたいと思います。

今年は学生マウスはお休みの予定です。
つくばとロボコンに全力で行きます。

もしかしたら自分でハーフマウス作るかもしれませんが、いつも言うだけになるので確約はしません。



第498回 今年のマウス:2008/9/2(Tue)

卒研マウスが姿を現しました。ステッパ2代目。
2代目ステッパ卒研マウス



第497回 突然の訃報:2008/8/24(Sun)

大変遅く失礼だとおもいますが

名古屋の工学院の佐藤先生がお亡くなりになったのを中島さんのブログで知りました。

ご冥福をお祈りしたいと思います。

佐藤先生は気さくなひとがらで、私が初めて中部支部の門をたたいた時も温かく受け入れてくれて、何かと話しかけてくれたりといってことが思い起こされます。

普段は温厚なお人柄がにじみ出ていらっしゃりましたが、マウスの大会等で時折見せる真摯な姿に感銘を受けたのを覚えております。

今回の訃報は残念でなりません。



第496回 ADIS16350 Tri Axis Inertial Sensor:2008/1/13(Sun)

■INS作れるね
INSとはInertial Navigation Systemのこと。
最近こっち方面の情報収集をさぼっていたので、ちょっと驚いたのがアナデバのこのセンサー
ADIS16350
これが$275というのでびっくりです。次期製品ADIS16355と言うのもあるらしい。

今年のつくばのロボットに搭載して慣性誘導してみますかね。



第495回 今年もよろしくお願いいたします。:2008/1/5(Sat)

■Uターン
帰省先から帰ってきて、ようやく今年も始まりそうです。

実家では小学校1年生の甥っ子のクリスマスプレゼントに
マインドストームを買ってやる親バカならぬ
叔父バカぶりを発揮してました。
小学1年生にはまだ早かったけれど、今から仕込めば末は・・・・
まあ、ロボットに興味を持って欲しい反面、アウトドアで
明るく元気にという望みもあるんですがね。


■今年の野望
今年はどんな年になりますか。
相変わらずロボット三昧+お仕事で
首が回らない一年になるのか!?

とにかく昨年の反省としては
自分の時間を生み出す工夫を
しなきゃいけない
少しづつコツコツの技を獲得しなきゃ
いけない

そうして自分の時間を生み出さないと
時間に流されるだけです。

当面やりたいことは
・マウスの新作
・ホームページ引越し+新システム導入
更にロボと関係ないですが
・嫁探し
まあ、こんな所です。


ではでは、今年もよろしくお願いいたします。



第494回 つくばロボ動画:2007/12/9(Sun)

■つくばゴール映像
つくばロボが目標にゴールしたと、前の書き込みにありましたが、その後、考え方の間違いを発見し、微小修正(それでもゴールできた所が、正直非常に気になる)
このロボットは外界センサーはまだありません。
とりあえずGPSだけで走ります。つくチャレの趣旨を考えると、外界センサー必須ですが、GPSもまったく役に立たないわけでもないと思われるので、どちらも初めてなら、先にやりやすい方に手をつけました。
GPSの座標データを使い、あらかじめ設定してあるWAYPOINTに誘導します。
誘導方式はミサイルの比例航法を使っています。
ゴール動画(途中から5倍速)



第493回 つくチャレロボ目的地にゴールす:2007/11/29(Thu)

■後片付け
ロボコンのロボットと荷物が学校に到着し、開梱と後片付けをさせる。

そういえば、帰ってきたとき研究室のホワイトボードに学生の同級生たちの寄せ書きを発見。ねぎらいの言葉が沢山書かれていた。すこしホロっときそうになる。
その中で「思い出はプライスレス」というどっかで聞いたような書き込みが、なんとなく気に入った。

■つくばのつづき
つくばチャレンジ本大会ではプログラムが完全に完成できず、帰ってきてから、全面書き換えを命じていたのだけれど、ロボコンに行っている内にほぼ完了した模様。

ロボコンチームもマウスチームもみな帰り静まり返った研究室にて、久々に自分のために半田ごてを握っていたら、つくばプログラム担当が試走していた外から、息を切らせて飛び込んできて「ゴールしましたっ!!」と報告。

50m弱ぐらいの途中直角に曲がるコースを、よちよち感は漂うもののゴールに達するのを確認した。



第492回 ロボコン終了:2007/11/27(Tue)

■結果は一回戦敗退
残念ながら一回戦敗退。悔しいですね。
制御系が理想的なところからはちょっと遠かったため、操縦が難しいロボットになっていた所が、敗因の一つかもしれない。

ロボコン大賞はサレジオ高専が獲得。
これには色々と物議をかもしそうです。
サレジオのロボットは観客を楽しませて
それとしては完成度の高いロボットでした。

今年は「勝敗にこだわらず」ということを
たびたび耳にしましたがトーナメント方式
の競技会である以上、勝たないと面白くない。地区大会で一回戦敗退になると数ヶ月かけてやってきたことが、一瞬に終ってしまう。やはり自分的には勝敗にこだわってしまうのです。

この結果を受けて、来年からは、観客も沸かせて、かつ、強いロボットを作らなければならないのだなと学習しました。



第491回 出発!:2007/11/22(Thu)

さて、あすはNHKロボコンに向けて出発です。
ロボットの部品はほぼすべて作り直し
集められるだけの情報は集め。
地区大会で故障した所は、故障しないように
設計を見直し。
土曜日も日曜日もすべて使って
やるだけのことはやりました。

さて、どうなるか!?

楽しみです。

ちなみに全国大会の模様は12月26日に
放送される模様です。



第490回 KPITツール:2007/11/21(Wed)

■KPITツールをインストール
KPITのGNUツールとHEWをダウンロード&インストールして環境を整える。
こんな風に毎日こつこつ、前進していきたいと思っているのですが、どうなることやら。



第489回 マウス全国:2007/11/18(Sun)

■さいきんのわたくし
11月はまったく土日のない生活が続いています。
第1週 同僚の結婚式

第2週 台湾にて学会に参加後、つくばで試走
仕事以外では、世界一高いTaipe101に登ったのと、故宮博物館に行ってまいりました。

第3週 マイクロマウス及びつくばチャレンジ
エキスパート予選はゴールするものの、第四走行でやっと、58秒ぐらい。第5走行の最短トライはあっけなく引っかかりおしまい。
つくばは6mでリタイヤ。すべてにおいてだめだめ。へこむ
学生のマウスもゴールできず。さらにへこむ。
迷路に不平を言うのはタブーなのだけれど。
フレッシュマンはマウス初挑戦にして最後になってしまう学生もいるので、ゴールさせてやってもいいのではないかと思います。
少しばかり今年は難しい迷路でした。

そして来週
NHKロボコン全国大会で両国へ

■まうす
全国大会の決勝にこまを進めたメンバーを見ると、これは日本で行われている大会かといった有様です。「おやじーず」がんばらねばね。
今後を考えると、ハーフマウスの開発に力を注ぐべきなのか、その前に今のサイズの新型を最後に作るべきなのか悩むところです。再来年から現行サイズとハーフサイズの2本立てになるのだろうと思いますが、戦略的にはどちらに力を入れるべきなのか・・
新しいのを作りたいと言いつつまったく作っていないので来年のいまごろどうなっているか判りませんが、方針としては

なめたんはやめない
これは面白いのでそのままやります。ただし三式に特化するかもしれません。

DC2輪低重心マウスを作る
普通のマウス作って見ます。

ハーフはそのうちやる
斜めができるマウスはサイズ的に難しそうですが、その他はそれほどハードルは高くないような感じなので、2年後にむけて構想を寝ることにします。



第488回 高専ロボコン準優勝:2007/10/21(Sun)

本日、富山高専において実施された高専ロボコン東海北陸大会において我が卒研チームが準優勝となり国技館の切符を手に入れました。

惜しくもマシントラブルで優勝を逃しましたが、壊れるロボットを作ったのも、また実力と反省し全国に向けて学生ともども頑張りたいと思っています。

大変緊張し疲れましたが昨日のテストランから楽しい二日間でした。



第487回 エンコーダー輪と合体:2007/7/15(Sun)

■エンコーダー輪と合体
つくばチャレンジ出場用ロボット「リヤカー1号」(私が勝手にそういって言えるだけで、学生は嫌がっていますが)はエンコーダー用の車輪が付いて、車体がほぼ出来上がりました。あとは艤装をほどこして試作終了です。現在、秋月のSH2ボードを装備すべく制御装置を製作中です。
先日はモータに簡易有線リモコンをつけて手動で動かしました。有線でも動くと嬉しいものですね。



第486回 エンコーダー用補助輪:2007/7/8(Sun)

■エンコーダー用補助輪
エンコーダ用補助輪を今日は組み立てた。
学生には距離分解能1mm程度になるよう設計してねと頼んでおいたら、こんな感じになりました。
車体に軸を設けて、そこを中心にこれが回ることで、上下する。距離を測るには上下運動も取らないとだめだろう。
しかし、現在の設計ではそれはなし。実験をしてみて追加するかは判断する。

エンコーダー用補助輪

車体の設計は、コンセプトだけ伝えて学生任せなのですが、これがなんとわなしに中途半端で、修正すると結局全部やり直しになりそうな勢いなので、致命的なところ以外はそのままにしています。このあたり、うまい指導法は無いものかと試行錯誤中です。

■もどかしい
よこで組み立てを見ていると、要領が悪くてひじょうにもどかしくなり、ついには「かせ」といって自分で組み立て始めます。それを見ている学生が「俺ってだめだ・・・」とぼそっとつぶやくので「!」
やりたくなっても、ほでほどにしなければなりません。

■おたずね
話は変わり、どなたか使わないトランシットはありませんか?



第485回 つくばチャレンジエントリー:2007/6/30(Sat)

■つくばチャレンジエントリー
昨日、つくばチャレンジにエントリーの手続きをした。メールをだして7分後ぐらいに、了承の返事が来た。ちょっとばかし感激した。

下の写真はリヤカー1号です。(笑)
これにエンコーダ用の従輪をつけて走ります。
つくば出場用ロボット試作1号



第484回 HNK・マウス・つくば:2007/6/25(Mon)

今年の弟子は総勢12名。NHKにマウスにつくばとバラエティ豊か。

NHKチーム8名は設計は終わり、一部加工と組み立ても始まっている。足回りの骨組みはほぼ完成していて、去年と比べれば大幅に早いように感じるが、上ものは設計変更を繰り返し、いまだ完全ではない。

マウスチーム2名は今年はベーシックマウスをベースに回路担当は基盤をプリント基板化する作業を実施中。構造担当は設計と車輪等の切削加工を終えて、今日からプログラムのお勉強に突入。

つくばチーム2名は、今週中に車体が完成する予定。その後、走行性能の実験をしつつ、制御回路を実装していく予定。7月中に一度コースの偵察にいきたい。

みんな、週休1日体制で土曜日も来て頑張っている。いい成績が上げられればいいのだけれど。



第483回 MEX金沢2007:2007/5/18(Fri)

■今年もMEX金沢でマウス展示
昨日から、3日日間の予定でMEX金沢と呼ばれる工業見本市が金沢市の産業展示館で開催されている。
昨年に引き続き、マイクロマウスの展示をしているが、調整を手抜きして、まったく走らない。困ったもんだ。ビデオ上映でお茶を濁している。



第482回 PWM制御とリニア制御:2007/5/6(Sun)

■PWM制御とリニア制御は同じ結果か?
GW最後は久しぶりに頭の体操。
PWM制御のシミュレーションをまじめにやろうと思うと、PWM周期を100KHzとかにすると、刻み幅をそのうん十倍も細かくしてやらないといい計算結果を得られないで、計算時間がやたらと掛かったりします。
周期ごとに電圧を可変させる制御(一応これをリニア制御とします・・)とデューティを変えるPWM制御が等価だとすれば、シミュレーションはリニアでやってしまえば計算時間も少なくてすむので幸せ。

で、直感的には等価だと思いますが、本当に等価なのかと、すっきりしないので、久々にない頭を使って、考えたり、調べたりしてみました。

結論は「等価としてもよい」です。以上終わり。
とするのもそっけないので、少し説明すると。
等面積原理
等面積原理というのがあって、上の図のように入力信号(モータの場合は電圧)が周期間で作る面積が等しければ、周期がくるたびに出力をサンプリングするとリニアもPWMも一致すると言うことです。
ただし周期の間の応答に関しては、保障しません。上のポンチ絵も違うように描いてみました。
まあ、この説明も、直感にちょっとだけわかったような、判らんような話が加わっただけで、ちっとも証明になってませんが・・

一応、モーターを例にして伝達関数求めて計算しようとは思っているのですが、伝達関数を出した所で、こときれました。
数値計算もやって見るとなお良いんでしょうが・・・

この関係の話は、私が好きなだけで、あまり興味がないと思われるので、反響があったらやろうかなと思います。



第481回 つくばチャレンジ:2007/4/3(Tue)

■新競技発表
ニューテクノロジー財団から新競技の発表があった。その名も「つくばチャレンジ」競技内容はつくばの遊歩道約1キロを完全自律・自立ロボットで走破するというもの。
グランドチャレンジの影響が感じられるものの、一般の人が歩行する普通の所が舞台なところが日本的。

いっちょやってやるかと言う気持ち。
これ個人で出来るんだろうか?
いや、ROBO-ONEぐらいの予算があれば出来るのかな?
これやったら本家のマウスは出られないかもなあ・・・



第480回 本日の進捗:2007/3/27(Tue)

■基盤を乗せる
センサーアームをつけ、基盤も上に乗せてみた。回路の配線が一部終わっていない。
今日の進捗



第479回 車体ほぼ完成:2007/3/25(Sun)

■車体ほぼ完成、残すはセンサーアームのみ
試作第一号完成。
サーボアームはCOBRAで削ってみた。

センサーアームはスチレンボードで作る予定。
電池直結で走らせて見たがタイヤが滑ってスピンターンしまくるので、シリコンシートを張ってみると、まずまずうまくいく。思ったより、デフありデフなしの効果がわかりずらいので少々焦り気味。
完成した車体試作第一号
本屋に行くと眞柄 賢一先生の本が発売されていた。NCVCとJW−CADを組み合わせてNC工作をしようという本。まさにこの組み合わせで学生にNC工作を教えていたので、教科書として欲しい。



第478回 トレーサ進捗:2007/3/21(Wed)

■駆動機構90% ステアリング機構70%
だいぶ進みました。写真で紹介。

ホイールベース140mm、タイヤ間隔130mmと接地点は真四角に近いです。
電装系が機構の真上に覆いかぶさる形になると思うので、本当は見せたい機構の部分が見えなくなるのをどうにかならないかと思案中。



第477回 旋盤作業:2007/3/20(Tue)

■一日半、旋盤と格闘
田宮のナロータイヤセットと、3mmのステンの丸棒シャフトと繋ぐために、アルミでフランジを4個作成。
なれない作業とはゆえ、日中の時間を1日分と半分使って、やっと出来た。
ひとつとして同じものは無いのが悲しい。
しかし、金属削りは楽しい。無我の境地になれます。
ナロータイヤセットに入っている付属のプラスチックのフランジ(タイヤと軸とを取り付ける部品)は六角穴なので、わざわざ作ったのだけれど、ドリルで丸にしてしまえば、使えるような気がしてきた。
旋盤作品

■ラジコンサーボでSSM
ADCに接続したセンサー2個でラインをはさみラジコンのサーボ無改造でSSM(センサーステアメカニズム)を実現しようとしている。速度は追求していないので、大丈夫だとは思っていますが、多少不安。
ラジコンサーボは位置決め制御なのでセンサーの差分に比例したデューティ送ってもラインを追っかけずに、すました顔をしながら、こちらは望まない場所で止まるだけです。
ラインセンサー出力の差分はラインのセンターからのずれ量をあらわすので、ずれ量分を現在の角度指令値に足してやってデューティとして出力してやるんだろうと推察。
ずれ量には比例ゲインを掛ける制御が思い浮かびますが、ゲインは車速によって可変させないとうまくいかないと想像される。多分微分制御も入れないとうまくいかないのでしょうか。
サーボの応答も遅そうなので、予測制御の範疇かも。
ハンチングを起こさず追随してくれることを祈るばかり。



第476回 ディファレンシャルギア自作:2007/3/14(Wed)

■ものづくりの楽しみと苦しみを両方教えたい
授業でライントレースロボットを教えることは前に書いたような気がします。
地道に、いや、切羽詰ってきて教材を作成しております。

ものを作ることを教えることが目的の授業なのでなるべくひとつひとつ作っていこうと思っています。自分で開発中に頭をひねったところはそのまま学生への問いかけにしていけたらと思いながら作っているわけです。

で、滝田先生発案のセンサーステアメカニズムを搭載したトレーサーにするのですが、機械科の学生に駆動用にモータ二つでは面白みにかけるので「ここは一発、デフを教えてみるべ。」と思ったのが運のつき、結構手間が掛かりました。

歯車は教育の一番小さいマイタで一個600円ぐらいで、なんと全部で2400円以上も掛かると言う高級教材です。

これを学生50人全員に作らせようとしているのは無謀だろうか。
ディファレンシャルギア



第475回 ADCを使わない距離センサー:2007/1/28(Sun)

■ADCを使わないで距離を知る
波形
オシロに実験用のセンサー回路を繋げて壁との距離を変えながらしばらく眺めていると、上の図で言う、無駄時間的な部分が壁との距離で変化するのが判る。何でだろう?と考え中。
この長さを測れればADCいらないなあとも考え中。
この場合はオペアンプも帰還かけないで反射波が帰ってきたらすぐ立ち上がる(スルーレートに依存)する使い方の方が良いかもしれないと思いそのように組んでみると、(上の図はその場合の絵に近い)それでもくだんの無駄時間的な部分の長さが変わる。
そのうち、マイコンと組み合わせて試してみるか。



第474回 かっこ悪い:2007/1/21(Sun)

■新作設計
・マスのセンターへの集中
・低重心
・旋回時の内輪のグリップ力低減を抑えるため車幅を大きめに
等を考えながら、車体を考え中。
電池とモータは今やモータの方が重いので、電池をモータの上に載せる。かっこ悪いぞ・・・
2007新作(案)



第473回 DCモータードライバMPC17510購入:2006/12/17(Sun)

■MPC17510まとめ買い
フリースケールのMPC17510をまとめ買いした。
MPC17510の特徴はメーカ受け売りで次のとおり
・電源は2Vから15V
・オン抵抗0.45Ω
・出力電流1A(DC)、3A(Peak)
・貫通電流保護回路
・PWM周波数200KHzまでOK
と言った感じで、DCマウスのモータドライバに使おうと思ってます。ファールハーバ(ミニモーター)の1724等では十分まわせるスペックです。PWMを入力する端子でONブレーキで制御できます。

実験によると、モータ用電源がICに2本割り当てられているのですが、そのうち1本しか接続しないで使っていたら、最初は動きましたが、しばらくして壊れました。今のところそれ以外の不具合はありませんが、加減速等シビアな使い方をしたときにどうなるかはまだ不明です。



第472回 今年のマウスたち:2006/12/3(Sun)

■こうへい軍団のマウスたち(笑)
あまり良い出来ではなかったですが、私の子供たちの初めての作品です。
DCマウスは2種類、吸引(もどき)を搭載してみたのと、今流行の基板=フレームタイプのものです。車体の設計はすべて5年生の学生に任せ、それに合うように基板を私が作ったものです。2種類の車体に一種類の基板をカットの仕方を変えれば使えるようにしたところが味噌。センサーの配線は手抜き(汗)
吸引
吸引中身
低重心マウス

こちらは、ステッパーマウス軍団と三式改、みんなよせば良いのに小さく作りすぎて、配線とそのトラブルに泣かされていましたね。
ステッパーマウス軍団



第471回 マウス終了:2006/11/28(Tue)

■第27回全日本マイクロマウス大会in長井終了
開催前は開催地の話題で色々と盛り上がっていた今年の大会も終わりました。
移動の大変さを置いておけばいい大会だったかなと思います。一人一人に作業台が割り当てられ、それぞれの部屋でネット中継が見られる。いまどき当然あってしかるべきのことが中々実施できないマウスも含めた他の大会の開催状況から見ても実行委員会の頑張りが感じられました。山形名物芋煮はおいしかったなあ。

■9名7台参加
我がチームからは9名7台参加させていただきました。フレッシュマンでは特別賞を頂きました。ありがたいことです。成績は私も含めて全員リタイヤで散々でしたが・・・
夏ぐらいから始めて、その中の一人はもう少しでゴールに行きそうだったので、17歳前後という年齢も考えればがんばったほうかなと思います。来年が楽しみですが、高専ロボコンとメンバーがかぶっていたりするので中々大変です。

■マウスおやじはお疲れ気味?
長旅のせいか、シンガポールに持っていかれたせいなのか、少しばかし哀愁が感じられたのは私だけでしょうか。
しかし、来年からは河野さんも参戦されるとのことなので、みなさまがんばりましょう。
私も調整の厄介な「なめたん」を封印するぐらいのつもりでがんばりたい。

■新人さんがすごかった
今年はあらたなスターが誕生しそうな予感を感じさせてくれる大会でした。
小島さん、今井さん、鱒渕さんらの学生さんたちの活躍が非常に目立ったのではないかと思います。ソフト、ハードともすばらしいものが沢山ありました。参りました。

決勝迷路公開前



第470回 ロボコン終了:2006/11/4(Sat)

■ロボコン終了
やっと最後の追い込み時の徹夜作業の疲れもいえてきたのでご報告。
先週末、ロボコンの地区予選があり行ってきた。結果はあえなく一回戦負け。
使っていたギヤドモータのギヤが欠けてしまい、空転し前に進めなくなった。
製作が間に合わず、ほとんど実験ができていないのが敗因だろう。
くじ運は良くて、なかなかいい勝負になりそうだったので残念。
しかし、これまでの小型ロボットでは得られなかった経験値がたまりました。来年こそはと思っている次第。
結果はどうあれ高専ロボコンに出てみたいという夢が立場は変わりましたが20年越しにかなって嬉しかった。
高専ロボコン2006
帰りに前の職場と調整して、見学に行きました(笑)学生は喜んでたなあ
74式戦車



第469回 ロボコン地区予選2週間前:2006/10/15(Sun)

■てんぱってます
再来週の日曜日に沼津でNHKロボコンの予選が実施される。
現時点でロボットが完成していない。(泣)
次の土曜日は校内の公開練習。
そして、その最後の土日で問題点を洗い出し、最終週は微調整と出発準備をして本番に臨む。
時間がない、一分一秒を大事にして(させて)行くしかない。
前の職場方式でビシバシやるしかないか。

来週はマウスの中部地区大会。
こんな状況では無理だなあ。ごめんなさい。
今年は自分で1回でも大会に出られるのか不安である。



第468回 COBRA組み立て中:2006/10/6(Fri)

■COBRA組み立て中
部品点数の確認を終え、昨日から組み立てを開始する。もう少し早く組み立てを始めたかったが、いろいろあり中々できない。
X軸テーブルの取り付けが終わったところで、台形ネジとステッピングモータを接続するカップリングを固定する芋ネジがシャフトを傷つけないように入れる真鍮ブッシュのサイズが合わないことに気がつく。問いあわせたところ、間違いとのこと、速やかに違うものを送ってくれるらしい。
COBRA組み立て中



第467回 COBRA到着:2006/10/1(Sun)

■COBRA到着
昨日、mini CNC COBRAが届いた。
高さ10cmぐらいの平べったい段ボール箱が重ねて3箱入った、オリジナルマインドロゴ入りの段ボール箱が2箱で届けられた。

■NSK社製スピンドルは別納
今回購入したのはNSKのスピンドルがついたお勧めセット。スピンドルが在庫切れらしく、後で別納になる。ゆっくり組み立てようと思うので、問題なし。

■マニュアルはWEB
マニュアルはオリジナルマインドの登録者専用ページで閲覧する形式。初めてこういう物を作るのでマニュアルを読むのも楽しい。

写真は今回購入したCOBRAの荷姿

COBRAの荷姿



第466回 COBRA購入:2006/9/28(Thu)

■mini CNC COBRA 2520購入
オリジナルマインドのCOBRAを注文してしまった。目の前に本物があるのだが、自分で好き勝手に使えるCNCがほしくなって、決断。
多分、早ければ土曜日、遅くても来週には届くが、NSKのスピンドルの在庫切れらしく、スピンドルだけ後日に発送するとのこと。キットなので、それまで組み立てられるところは組み立てよう。
楽しみです。
COBRA



第465回 3式改リニューアル終了:2006/9/25(Mon)

■リニューアル終了
日曜日のうちにほぼ半田付けは終了していた。プログラム書き込みは一発で成功し、よしよしと思っていたところ、モータ制御がうまく行かなかったので、その確認に更に1日を要した。結果的に痛恨の1ジャンパを這わせることになったが、前から比べれば格段の進歩。

■閾値調整
センサーの値が少し変化したので、閾値を調整する作業がある。この辺の自動化を進めてたい。また、リニューアル前からあったが、同じ回路にもかかわらず、壁との距離を同じにしたときに値が4割ほど違う組がある。何か、根本的に間違っているような気がする。プログラム上、左右のセンサを同じ割り込み周期の中で続けて読み込んでいるが、その辺に秘密があるような気がしている。



第464回 基板が到着する日:2006/9/23(Sat)

■午前中到着予定
前日に出荷の知らせがP板.comより届く。宅配業者のページでは09:28現在、担当支店に到着していない模様。(入力処理が遅れているだけかもしれない。)

10:00担当支店から配達中に変更。もうすぐ届く模様。

■基板到着
11:58基板到着!
デジカメが手元になかったので、養老申司のデジタル昆虫図鑑よろしくスキャナで取り込んでみた。
3式改新基板
中々よいでき。線幅0.15mmとはこういうものか。

■部品購入
電源ON時に光るLEDを何か珍しい色にしようと思ってマルツ電波に買い物に行くが、チップLEDを扱っていなかった。残念。

■部品半田付け
プログラムの書き込みができるところまでは、今日中に行きたかったが。今日は表側の半田付けをほぼ終了させて終わり。続きは明日。
部品半田付け



第463回 改改のアートワーク終了:2006/9/18(Mon)

■アートワーク終了
改の改なので改改。今までのが三式の応急改修のようなものだったので、今度のが真の改かな。
3年も同じ奴でやってると、愛着も出てくる。いまだにこいつの性能をフルに発揮できていない。申し訳ないことだ。
自分の作ったマシンの真の性能を把握し、それをソフトで引き出すことができることがロボ道の目指すところだと思う。まだまだ道半ば。
三式改アートワーク by EAGLE



第462回 ライントレーサー:2006/9/17(Sun)

■ライントレーサー
新入生がフライス、旋盤、ボール盤の講習を一通り終えたようなので、何か作らせんといかんなあと思い、ライントレーサーを妄想中。
ライントレーサーの絵
■3式改改
新作を作っているのだが、その前に3式改が壊れてしまったので、3年前の設計ミスの部分を修正したリニューアルバージョンの基板を来週発注予定。



第461回 ロボコンと3DCAD:2006/9/11(Mon)

■ロボコンと3DCAD
ロボコンをやっていると人のアイデアは話を聞くだけだと良くわからないということが判ります。ましてや、知識経験のない学生の話はよりいっそうわからないことが多いです。絵や図面があればまだましなのですが、それもないことが多いです。
今年は当初から3DCADを無理くり教え込み、「これで自分たちの作りたいものを表現しろ」とやったら、はじめは渋っていたものの、3DCADは使うと結構面白いので、すぐなじんでいたようです。
ミーティング等ではプロジェクターを使ってCADの画面で説明してくれるようになったので、非常にわかりやすくて、こちらとしてもアドバイスしやすくなりました。
ものづくりを視野に入れてCADを導入する場合には、これからは迷わず3DCADだなと実感するしだいです。

■アートワーク
微速前進中



第460回 バグとり:2006/9/10(Sun)

■バグとり
3式改の探索で直線の後の45°旋回が早く回りはじめるバグが取れる。
ほぼ100%現象を再現するので、おかしいなあと思いつつ、なかなか原因を突き止められなかった。
あとはパラメータ調整して。東日本は参加できるだろうか。
新作も早くアートワーク完成させねば。



第459回 柱の溝の謎:2006/9/5(Tue)

■柱の溝の謎
今年は迷路を作り、今までは板を両面テープで固定していた壁を本物と同じく、スリットを切り、同じくスリットを切った柱を立てて、上から差し込むタイプに改めた。
今日久しぶりに、走行中のセンサーデータをみて驚いたのが、柱の溝のところでセンサーデータが鋭く盛り上がっていた。壁切れ補正が働くと音が鳴るようにしていたので、本番等でマウスが柱の溝を検出するのは知っていたのだが、あまりにも高確率で検出していたので少し疑問だったのだが、今日見たデータのとおりならば、溝部分での鋭い立ち上がりならばそれも納得できる。
しかし、溝は落ち込んでいるので、当然ながらセンサーデータは落ち込むと考えていたので驚きである。
まだ確証は持てないが、センサー処理のプログラムのほうには問題はなさそうだ。
柱は杉の角材に幅1mm深さ3mmほどの溝を切ってある。表面は水性塗料で白く塗ってあるが、溝の中までは入っていない。
私の迷路の柱だけがこのような挙動を示すのだろうか。
溝の中で反射した光が凹面鏡のように、強め合って出てくるのだろうか。
謎だ。



第458回 ギヤ比・駆動力・速度:2006/9/3(Sun)

■ギヤ比と駆動力と速度
「ギヤ比を変えるとマウスの速度と駆動力にどれだけ影響するべか?」
と言う、前々から思っていた疑問を少し考えてみた。

前提は2輪マウスにありがちな、モータのピニオンに平ギヤ1枚で減速する形。
この場合、タイヤの径は平ギヤの径以下にはできない(はず)。

1 ピニオンの歯数固定で平ギヤの歯数でギヤ比を調整した場合
2 平ギヤとタイヤ径を固定して、ピニオンの歯数でギヤ比を調整する場合

前者はほとんど意味がないらしい。後者は小さいモジュールの歯車を使うと多少バリエーションが出てくる。

今回の検討ではモータを選定すると、それに対してギヤ比も決まりそうだという、当たり前の結論が出そうだった。

今までは適当だったがモータ選定のために、モータの動作エンベロープのなかで、マウスの最高速や探索時の走行速度等をどの辺りに割り当てれば良いのか考えてみたい。

■名古屋に行きたくて・・
名古屋に行きたくて多少3式改の調整をがんばっていたが第2走行は加速が眠たいもののまあまあ走るのだが、探索がぼろぼろで調整していたら、来週の仕事の準備が間に合わず名古屋行きを断念。中部地区大会は行きます。



第457回 ステッピングモータ:2006/8/30(Wed)

■ステッピングモータの駆動方式ではまる
はじめてステッピングモータを取り扱うことになり、バイポーラ駆動方式とユニポーラ駆動方式の二つがあって、それぞれそれ専用のモータがあることを認識した。
たまたま千石で手に入れていたTA8435Hはユニポーラ駆動で、買ったモータはバイポーラ駆動用気づいたときにはすでに遅し。
ステッピングモータの構造を勉強し、どうやら回せるらしい。回すだけならこれでもいいかもしれない。SLA7052Mも注文したので違いを堪能するとしよう。教育効果もあるかな。

話はぜんぜん違うがすばらしく且つ面白いページを発見しました。勉強になるなあ。こうゆうまとまったページを作ってみたいものです。



第456回 マウス火入れ式:2006/8/24(Thu)

■ベーシックマウスの火入れ式
ブログはじめた弟子以外の学生のマウスが一応完成した。よくまあ、ロボコン部員を名乗ってるなと言う惨憺たるできであった。
それでも、昨日、火入れ式でステッピングモータが回った。今日は前後に行ったり着たりさせていた。嬉しそうだったので、こちらも嬉しい。
まだH8のADCの使い方を教えてないので、次はそれを教えてセンサー処理系のプログラムをさせよう。



第455回 センサー部のアートワーク終了:2006/8/20(Sun)

■センサー部のアートワーク終了
新型はフォトトランジスタと赤外線発光ダイオードを保持するセンサーホルダーの後ろにセンサー回路(アンプとLED発光回路)を1個づつつけてコードでメインの基板と接続する形式にする。アートワーク終了。
センサーのアートワーク



第454回 弟子ブログ:2006/8/19(Sat)

■弟子のブログ
私の一番弟子がブログを開設しました。
ベーシックマウスを作ってこの世界にデビューする予定です。弱冠16歳!
励ましのコメントなど、してやってください。
チーズを探せ♪
http://searchcheese.blogspot.com/



第453回 リモコンロボット:2006/8/18(Fri)

■リモコンロボットのコントローラ作り
後一週間後に職場で体験入学と言うイベントがある。何かオリジナルロボットを中学生に作らせろとの指令が下り、ここんところその仕事に結構な時間をさいていた。
結局、作ってから遊べる2輪移動リモコンロボットを作った。コントローラーはスイッチが2個デフォルトで左旋回、スイッチ1オンで右旋回、スイッチ2オンで右回り超信地旋回をする。もともと壁伝いマウスになる予定だったが、見ているだけだとつまらないので、デフォルトでまっすぐ進めない操縦テクを競わせるロボットにした。
P板ドットコムび初めて基板を発注したが、予算をけっちって片面基板にしたので、ジャンパーがあるのだが、製作時間に限りがあるのでジャンパーは半田付けした状態でわたす。60人分の作業は結構しんどい。
コントローラ



第452回 やっとアートワーク:2006/8/17(Thu)

■アートワーク
遅れに遅れて新型のアートワークにかかっている。先祖がえりではないがPCBEを使用している。回路図やライブラリ作成がめんどくさいというわけ。
弟子たちの分も作る、と言っても一枚の基板で3種類のマウスに対応しようと言うもの。やっぱりしんどいです。(難しい)
アートワークちゅう!



第451回 秋月の半田メッキスルーホール基板:2006/8/16(Wed)

■秋月の半田メッキスルーホールユニバーサル基板はもうないのか?
先日の東京訪問で秋月にベーシックマウス等でおなじみのスルーホール基板を買いにいったのだが、いつものサイズの奴が半田メッキされていないのしかなく、半田メッキの奴は無くなった(「終わった」といったのか記憶があやふや)と聞いた。
あれは保存も利いて良かったのだが、残念だ。一応銅むき出しの現行品を4枚ばかし買って帰った。
通販サイトには昔通りの奴が載っているので。その日たまたま売り切れだったのかもしれない。もう少し突っ込んで聞けばよかったな。



第450回 NCと格闘中:2006/7/16(Sun)

■NCと格闘中
NCフライスの使い方を猛勉強中。基本は抑えた。便利で高価なKAMは無し。FanucのマニュアルとかJMM-TOOLとかJWCADとかNCVCとかComnc等(これらのソフトの製作者の方々には感謝感激です。)を駆使して、作りたい形状を削りはじめる。ワークの固定が問題。モデラのやり方でやっているとワークが剥がれなくて非常に大変だが、手加減して固定すると切削中に吹っ飛ぶのが心配。
冶具を作ったり、色々試行錯誤するのが楽しい。

■中学生用迷路探索ロボット
田宮の壁伝いロボットにヒントを得てマイクロマウス用の迷路を左手法で走行できるロボットを開発している。マイクロスイッチを2個にしてロジックICを一個、Hブリッジのモータドライバを2個使って、正面で壁にぶつかると超信地旋回、横方向でぶつかると直進壁に接触していない状態で左旋回という半田ごて一本とドライバ、ニッパーがあれば中学生ぐらいでも完成させられるものを試行錯誤中。



第449回 XMODEMとTeraTerm:2006/7/10(Mon)

■XMODEM教える
先週から夏休みが始まって、職場に行っても幾分気楽。休みもがんばる若者たちに、今日はXMODEMを教えた。そこで気がついたのが、TeraTermのXMODEMログ機能。XMODEMの通信状態がデータのやり取りだけではなく、ACKなどのやり取りの情報も記録してくれている。デバグには非常に便利です。

■ロボコン少年のモチベーション
話は少しそれるが、私のところに来る若者たちは、モチベーションが高いのか、低いのか良くわからない時がたまにある。今日のXMODEMはめんどくさそうだった、何のためにやるのかと問われたので「ロボットの速度制御等で正しく制御できているかロボットのメモリデータを確認して、試行錯誤の時間を節約するためなどに使える。」と答えたが、そんなの必要ないといわれた。少しげんなりした。

■メモリって何?
それとこれもロボットのプログラム教えていて気づいたことだが、C言語から教えると、コンピューターのメモリという概念がまったくわかっていないことに気がつかされた。ちょうどポインタと配列の話をしていて、メモリにデータが蓄えられているイメージがわからないらしい。困ったな。



第448回 実験その後:2006/7/2(Sun)

■新パソコン安定
新しいパソコンからの初発信です。安いメモリとマザーボードの相性が悪かったのか、メモリの信頼性の問題なのか、メモリ関連と思われるトラブルが続出しまして、先週はパソコンやり始めた初心者時代のように色々と試行錯誤に時間がとられました。結局一枚ずつスロットに挿してスロットとメモリカードと相性がいい場所を探すというプロセスで問題なく動くようになりました。

■2液混合
最重要部品の試作実験については、新たに固めの素材を購入し、先のぷにぷにの奴と混ぜ合わせる実験をしました。結果としてはうまく固まり、硬さも、硬くなることが判明しました。混合比でどのように硬さが変わるのかはこれから実験します。



第447回 最重要部品試作実験結果:2006/6/25(Sun)

■試作実験結果
どうやら選択した素材が柔らか過ぎたらしい、ぷにぷにし過ぎているのと、べたべたすぎる。もう少し硬くて、もう少しべた付きが無ければいい。違う素材を試そう。
型から剥がす時が難しい。素材が柔らか過ぎたのもあるかもしれないが、傷つけてしまう。あと、21時間後に型からはがしたが、硬化時間はマニュアルよりも多めに取った方がいいのかもしれない、まだ若干固まりきっていなかったような気がする。
タイヤ試作実験
■パソコン購入
早速、近所のパソコン工房に行って、部品を見繕い、一台分のそろえる。Pen4の古い奴にメモリは奮発して2GB、HDはキャッシュ16Mで300GB、LCDも19インチ購入。後は、適当。総額13万ちょい。OSが結構高かった。
この前、最後に組んだのは5年以上前でSATAとか容量とか、分けわからんものとか、色々変わったところもあり、変わらんところもある。
まだ組み立てていないので、来週仕事帰ってからゆっくり組み立てよう。



第446回 パソコンを買おうかな:2006/6/24(Sat)

■パソコンでも買うべかな
そろそろボーナスも出るので、非常に久しぶりにパソコンでも作ろうかなと思っている。いや、しかし、CPUは何にすればいいのか、何を選べばいいのかさっぱりわからない、選択肢がありすぎてこまる。
きっかけは、インベンターが時々止まってしまうため、そうならないマシンがほしいと思っている。

■最重要部品試作
今日はアルミパイプを適当に切って、同じく適当に切った鉄棒を突っ込んでドーナツの型みたいなものにシリコンゴムを流し込んでみた。初めての試みなので、旨く型から抜けるものだろうか、明日が楽しみ。



第445回 ひっくり返る旋回角速度:2006/6/21(Wed)

■ひっくり返る旋回角速度
新機軸が出ないときは、基本に立ち返り、計算など色々してみる。旋回による左右の車輪の荷重移動を考えて、じゃあどこまでの旋回角速度を出せばひっくり返るのかと計算してみた。結論は
ω=√(W*g/2/h/r)
ω:角速度
W:機体の幅
g:重力加速度
h:重心の高さ
r:旋回半径
ということで重心の高さの平方根に反比例します。他にも色々読み取れるわけです。



第444回 部品ライブラリなど:2006/6/19(Mon)

■部品ライブラリ
今日は車体のデザインをすこしやった後、基盤設計用の部品ライブラリに今回使うSRAMを加える作業を途中までやった。一番面倒なマイコンは既に終了。その後、期末試験の問題を作る。

■シリアル端子とアドレスバスがバッティング
今回使うH8S2633RはROMを書き換えるのに使うシリアル端子と外部メモリ用のアドレスバスがかち合っている。ラインを単純に二股してどうせ書き込みのときは外部メモリは関係ないので、書き込み切り替えスイッチで強制的にSRAMをスリープにして使えば問題ないだろうか。困るのはROMの書き込みの際に、バックアップされているSRAMの内容が壊れることだが実験して確かめる予定。
面倒だがロギングした走行データは別のシリアルチャンネルで落とす予定。



第443回 活動状況:2006/6/18(Sun)

■活動状況
久々に更新ですが、あまり目新しい情報はないのが寂しいです。
とりあえず、今年は2輪で私と弟子で4台ぐらい参加する予定です。1724と1717を使ったオーソドックスな構成のものが3台に、吸引を1台参加させます。
路面センスエンコーダーが今回は無いので、斜め探索はできないかもしれません。

「インベンター11プロ学生版」を購入して、ちまちま車体設計をやらせてます。弟子が機構設計班長で、私が制御回路設計班長と言う役割です。(笑)
「自分も何か新機軸を・・」と考えていますが、絞っても何も出ません(涙)。

■センサー回路
昨日はセンサー回路周辺を作り、アナログオシロとLEDの点滅用の発振器をつなげて実験をしていました。回路はCRハイパスフィルターの後段にオペアンプの非反転増幅器が付いているだけのものです。パラメータの試行錯誤が不十分かもしれませんが、CRのハイパスフィルターでは蛍光灯や白熱球の影響が消しきれませんね。壁が遠くてSが弱いところは、照明の影響がでて、同じ距離でも読み取り値に微妙な違いが出るだろうと言う結果が出ています。ゲインを下げればいいのでしょうが、そうすると見たい距離が確保できなかったりと難しいですね。
いまさら、まじめにセンサー回路に取り組んでると言う報告でした。



第442回 ジャイロの温度制御:2006/5/21(Sun)

■ジャイロの温度制御(妄想)
ジャイロのドリフトの大きな要因に温度がある。そのためかどうか判らないがアナデバのジャイロには温度センサーとその出力がアナログで出力されている。これは温度補正に使ってくださいと言う意味だと思う。温度特性を取得してテーブルを作り温度補正をするのが簡単だが、個人では高温槽を使って温度特性を取得するのが難しい。
では、ジャイロの温度を制御してしまうことはできないかと妄想中。下の図のように温度にあわせて抵抗(抵抗値が低い普通のカーボン抵抗)ONデューティを変える感じ。断熱容器だと温度が上がりっぱなしで、OFFにしてもあまり下がらないかな。
温度制御構想図



第441回 MEX金沢2006終了:2006/5/20(Sat)

■無事終了
会場迷路周辺
マウス的に見ると無事でもありませんでしたが一応終了しました。二日目に久々にマウスから煙が上がり、速攻でFETを交換し事なきをえましたが、今日になってスタートボタンを押しても旨く動作しない現象が後半に散発的に起こりました。基盤の半田不良が起きやすいもともとの欠点もしくは、しばらく休むと旨く走ることから熱的な原因も考えられますが、いまいち特定できない現象でした。
一般の方々にはマイクロマウスは斬新なものらしく、楽しんでいただけたようです。「へー」「すごい!」「頭いい!!」などの反響があって楽しい3日間でした。しかし、3日間ほぼ立ちっぱなしだったので疲れました。
写真は機械が借り物だったためか旨く撮影できていませんが一応載せておきます。

■嬉しい来訪
思いがけず本日良く知った方が来訪してくれました。新作も見れて、なるほどとうなってしまいました。モータを使ったフォースフィードバックは使わせていただきます。ほんと異郷に来て知り合いに会うのは嬉しいものです。

■金沢特定支部はどうかな
マウスの支部は北陸には北陸信越支部があるものの金沢からは距離があるため参加できそうにない、今のところ学生しか参加できないかもしれないが金沢特定支部は開けないものかと思案中。財団に相談してみようかな。



第440回 MEX金沢2006(1日目):2006/5/18(Thu)

■1日目
本日はMEX金沢2006の1日目。
昨日、出来上がった9×9迷路を会場に搬入しセッティング。今朝9時に会場入りし、3式改の走行テスト。調整はうまくいっていないので、解ける迷路に設定。まあそれでも面白がっていいただけるので嬉しい限り。

■電池切れ
電池に関しては、展示するために設計していないのでつらいところがある。10分も走らせないうちに電池切れになってしまう。使用時間10分で充電には60分以上かかるのだから、追いつかないわけです。一応、持っている電池は全て投入しているのだが、肝心なときに電池切れで充電済みの電池が無かったりする。



第439回 日程かぶる:2006/4/25(Tue)

■日程かぶる
懸念していたことだが、マイクロマウス2006とNHKロボコンの日程がかぶってしまった。さて、どうしたものか。



第438回 MEX金沢にマウス出展:2006/4/23(Sun)

■MEX金沢にマウス出展
毎年金沢で行われている、MEX金沢と言う機械工業見本市に職場が参加しているそうなのだが、今年は私がマウスを出展することになった。当然走らすマウスは3式なので、お恥ずかしい限りだ。他のマウスもあれば盛り上がるのだが・・・なんて言ってみる。
会場の都合上9×9(8×8ではないです。)の迷路になる予定。

■迷路作成進捗
先週は壁用の板切れを300枚切り出した。機械を使ったのであっという間。ニスを塗り乾燥中。この後、白のカッティングシートを貼り、溝を入れて完成だが、ここから時間がかかりそう。
床材も到着したので、今週はカット作業。

■新作は一向に進まず
新たな職場に慣れないためか、仕事の準備に追われて、自分の時間は0に近い。皆さんこつこつやられているようだが、自分は悲惨。どうしようかな。

■マイクロマウス2006山形開催決定
地方に移住して一発目の大会が地方と言うのは正直きついかな。東京や大都市からならだとそこそこ交通の便が良いのだが。地方から地方は想像以上にきついものだ
学生を全日本には連れて行こうと考えていたのだが、移動時間や交通費のことを考えると、学生は学生大会でとどめるべきか悩む。
3連休で前半の2日が大会、あと1日はゆっくり移動に使えるような日程だったら楽なんだけどな。24日がお休みなら良かったのに。

■原稿依頼
某所から、ランサーとマイクロマウスに関する記事の依頼が来た。ここをご覧になってらっしゃるらしく、心配になるようなことは書けないが、未だ道半ばの未熟者なので何書こうかなあ。(笑)



第437回 弟子できる:2006/4/9(Sun)

■若い弟子
若い弟子ができた。マウス作りたいそうだ。まだ2年生、これからが楽しみだ。
休みも学校に来てH8の勉強中。
5年生も卒業研究で2名配属される予定。来週からは弟子が3名かな。

■憧れのフル迷路
手足ができたのでフル迷路を作ろうと思案中。買うと高いから、作る。
自分たちで作れば愛着もわくだろうし。



第436回 荷重移動など徒然:2006/2/9(Thu)

■マシンの限界
今もそうなのだが特にマウスやライントレースロボを作り始めたころはマシンの限界がどの辺にあるのか把握せずに闇雲に高い設定をして失敗し無駄にトライを繰り返すことがある。
自分の作ったロボットの限界を知ることで無駄な作業を減らすことができると思う。一番いいのは設計時点でそれを決めて、そうなるように作りこむことだ。私の場合はまだそこまでいたってないと考え、そうなるように日々勉強をしている(つもり)。
車両ロボットはタイヤと路面の関係がかなり複雑なのでその辺が難しいところでもあり面白いところなのだと思う。上述したことができるのであれば実は勝負としては面白くないのかもしれない。

■荷重移動の推定
2輪マウス、または多分その他の多輪マウスも荷重移動を知ることは高速走行には有効なのではと最近妄想している。加速度が計れるとある程度簡単に実現できそうだが、加速度計はノイジーだったり、傾きによる重力補正が面倒だったりとあまり期待できないかもしれない。そこで、車輪の回転から旋回半径を推定しジャイロから得られる旋回角速度から遠心力を推定して最終的に荷重移動を推定することができないものかと妄想している。
そこで得られた荷重移動からマージン等も考慮して荷重移動の状態でタイヤが発生できる最大の力(加速度)を計算して、それを常に使うことができれば、そのマシンの限界性能を引き出すことができるはずだ。
タイヤと路面の摩擦係数がかなりばらつくはずなので上で書いたことはやはり妄想なのかなと思ってもいるが試してみるのは面白いと思う。

■しかし実際は・・
しかし、実際はトライアンドエラーを繰り返して設定したほうが速かったりしてへこんだりするんだよなあ。



第435回 部品表など作る:2006/2/5(Sun)

部品表
■部品表作り
なかなか次期マウスの部品選定が進まない。進まない理由は色々あるが、その時々で考えている部品をきちんと書いて残していないから、同じ部品を改めて調べなおしたり、そういう無駄なことをしている。そろそろ決めないと今年は大変そうなので、部品表作りをはじめる。作ってみると後決めなければならないのはわずかだということがわかって少しはやる気になってきた。

■CPUとモータドライバ
入手できればの話だがCPUはH8SX/1657Fという奴にしてみようかと思う。H8の上位機種で32ビットに拡張されている奴だ。RISCではなくCISC。開発環境もKPITのGNU ToolsとHEWを使えばなんとかなりそう。スペックを簡単に書くと以下のとおり。

H8SX/1657F R5F61657
3.3V 35MHz
ROM 768KB RAM 24KB
16bit COUNTER 6ch 位相係数カウンタ2ch以上
Bus 16bit
ADC 10bit 8ch
DAC 8bit 2ch

モータドライバは先日書いたMPC17510のシリーズでMPC17511Aと言うやつにするつもり、これはDigiKeyで手に入る。前述のもののピーク電流が3.8Aにたいして3Aと若干低い。また、パッケージがQFNなのだが半田付けできるかが若干気になるところ。(まあ、大丈夫だろうとは思っているのだが。)



第434回 モータドライバ入手困難:2006/1/28(Sat)

■モータドライバ手に入らず
3式のモータドライバは中島さんの回路を参考にしたCPLDとリニアテクノロジのゲートドライバとFETを組み合わせたオリジナルなのだけれど、これはいいモータドライバの石が無いという事情による。
新作のシステム設計にあたって色々探してみたのだけれどフリースケール(モトローラ)のMPC17510という丁度よさげのを見つけたのだけれど、業者に見積もりを頼むと2500個単位だったり、在庫が無かったりと手に入らなそう。一応メーカにはサンプル注文はできるようになっているのだけれど、壊れたときの保守用の部品が用意できない心配もあるので断念かな。
MPC17510はHブリッジ内臓でDCで1.5Aで絶対定格で3.8Aまでいけたり、PWM周波数が200KHzまでOKだったりとマウスにもってこいなのだけれど何とか手に入らないかなあ。

■設計進まず
デバイスの選択なんかも、あまり進まず、センサー回路も決まらずいまいち作業が進んでいない。マウサーの方々は部品発注など着々と進んでいるようで羨ましい。
趣味以外が少々忙しい、どうやら東京生活もこの春で終わりそうだ。マウスは落ちついてからかなあ。



第433回 アイボ終焉:2006/1/26(Thu)

■AIBO販売終了
ソニーがアイボとクリオをやめるらしい。気の利いたコメントは無いのだが、寂しいことだな。

やはりこのご時世、儲からない部門は切らないとならないのだろう。一時期は家庭用ロボットブームが起こっていたようなきがするが、それも下火になるのだろうか。個人的にはがんばってもらいたかったが残念。

私も一匹持っている、今となっては貴重な一匹だ。ほとんど動かしていないのに、首が据わらない病気にかかっているので、修理に出そうかな。原因は首のクラッチが滑っていると思われる。動かしていないのにそうなったことから、材料の経年変化かなあ。

アイボに対する感想としては、ペットロボットと言うことで発売されたと思うのだが、やはり本物の動物には到底及ばず、少し遊んでいるとプログラムされた機械といった感じがぬぐえなかった。まあ、これはロボット作りを趣味にするものの辛口の批評かもしれないが、一般の人も最終的には飽きてしまったのではないかと考える。

商売としてはやはり成り立ちにくいと思う。これは全くの私見で根拠はないが、はじめ面白がって買った人も、もう一台買うということはほとんど無い部類の商品だろう。大体いきわたってしまったところで、売り上げが伸び悩んでいたのではないかな。

もう少し技術が進歩して本物のペットに負けない商品が開発できるようになったときに復活することを期待したい。

将来ロボットを作ろうと夢見ている若い人たちには、悲しいニュースだったろうな。



第432回 モータ届く:2006/1/15(Sun)

■1724届く
ミニモ1724
発注していたミニモの1724が届いた。カンが削りだしの、高級感が感じられるモータだ。エンコーダは512パルス。

一応、今のところ最強マウスと思われるマウスと同じモータであり、旨く設計できれば、ほぼ同じスペックを達成できるはずなのだが、どうなるか。

横に一直線に並べると幅が広くなるので、前後に互い違いに配置して、それぞれの隣に電池を置くという、やはり同じモータを使った最強マウスの構成に近くなってしまう。どうしたものだろうか。

結局、同じ部品を使うと同じようなマシンができるのは必然だとして、そのまま設計するべきだろうか?

悩みどころ。



第431回 90000アクセス突破:2005/12/12(Mon)

■90000突破
このホームページも90000アクセスを突破した。ありがたいことです。今後ともよろしくお願いいたします。

■モータ発注
ミニモの1724に決定し、発注した。1個¥15,800なり。いい値段だなあ。
このモータでレイアウトを考える。横に1直線に並べると何も工夫しないと幅が88mmぐらいになる。やはり前後に互い違いか。



第430回 モータ選定と動力計算:2005/12/8(Thu)

■動力計算
某m社のφ17のモータと某M社のφ17のモータと同社のφ22のモータについて直進を想定した計算をしてみた。条件は以下のとおり
モータ印加電圧:7.2V
ギア比: 40:8
タイヤ径: φ24
車体重量: 150g
その他:軸の摩擦、粘性、タイヤのスリップ全て無視

動力計算結果比較
図1 動力計算結果比較

縦軸は速度と電流、横軸は時間です。各モータでの最大速度と最大加速の目安にはなります。当然ギヤ比やタイヤ径で出力は変わってくる。

■モータ選定
当初、某m社のφ17のモータにしようと思っていたが計算してみると最大速度があまり稼げない事が判ったので、某M社のφ17のモータにしようかと思う。最大速度なんかは計算するまでも無く仕様書に出ている、無負荷回転数から類推できるのだと、計算してから気づいた。
もう少し最大速度を上げたいので、ギヤ比に関してももう少し変えたほうがいいのかもしれない。
*注 モータの選択に当たっては標準在庫等がある場合はその中から選択している。同じ径のモータでも色々在り、マウスに使えそうだったり使えなかったり色々である。



第429回 計算の準備:2005/12/6(Tue)

駆動系の図
■モータの計算の準備
モータの注文前にRemax17とRemax13の性能を比較しようと思い、計算の準備を始めたが、毎回上の図のようなモータと負荷が回る絵を描いて、モータの電気的・機械的方程式、負荷の回転の式等を書いて、式を整理してシミュレーションプログラムにする様な同じような準備作業をしているような気がする。
自分で毎回する作業は、ホームページ上にまとめておくと、何時でも、どこでもネットに接続できてWEBさえ見られれば確認できるので便利だと思い、まとめ作業をしていく予定。上の図はその原稿をTeXで書くための挿絵の書きかけです。



第428回 モデラか黒い奴か:2005/12/5(Mon)

■同僚としゃぶしゃぶ
こちらは野郎の同僚としゃぶしゃぶ。うーむ。
その後、乗りに任せてパチスロをする、3千円で2時間ぐらい遊べたが、やはり無駄なような気がする。俺にはギャンブルは性に合わない。

■モデラにするか黒い奴にするか
モデラなら組み立てる手間も無く、ある程度使い方も心得ている。
が、高い。
黒い奴は組み立てられるか、若しくは組み立てる気力をだせるのか。
切削能力はこちらが上。
また、こちらに関しては使い方は未知。
価格は黒い奴に軍配。
と、ここまで書いてオリジナルマインドのホームページに確認に行く。
COBRA(これがかっこいいんだな!)などというものが出ているではないか。モデラ買うならちょっと奮発してこちらに手を出したくなってきた。どうしよう・・・



第427回 続レイアウトなど:2005/12/4(Sun)

マウスレイアウト2
■モータ軸アップ
最近流行の基盤シャシタイプのマウスにしようと思うと、モータと基盤の間にも部品を置きたい。RE-max17だと、車軸とモータ軸を水平に配置すると基盤とモータの間の隙間が狭くなってしまいSH等が入らなくなってしまう。そのためモータを少し上に上げた。

■センサー配置
ついでにセンサーの配置も検討。前回の丸いフォルムだと壁切れセンサーがうまく配置できないので、外形も少し変えた。



第426回 新マウス妄想中:2005/12/1(Mon)

■レイアウトなど
新マウスレイアウト
新マウスのレイアウトなどしてみる。新規性ゼロ、エンコーダ付きモータ使用予定。路面センスエンコーダなしの非常にオーソドックスなつくり。低重心、幅広。

■モータ見積もり届く
早速マクソンジャパンから見積もりが届いた。すばやい対応がうれしい。
Re-max17+512パルスエンコーダ付きが1個\18,585!!なかなかいい値段。



第425回 大会も終わり、今年もあとわずか:2005/11/29(Tue)

■マイクロマウス2005終わる
日本勢惨敗。な感じの本大会だった。まあ、とにかく頑張るしかない。

■予選落ち
予選落ち。すこしは不安もあったが、決勝いけそうかなあ、なんて内心思っていたので、かなりショックであった。
前の晩に探索にバグを仕込んでしまったらしい。こんなところはまだまだ修行が足りないと感じる。
探索途中袋小路に入ると、普通なら180度ターンをして帰ってくるところが、止まってそのままうんともすんとも言わない。正直その瞬間かなりショックだった。
気を取り直して、スタートから再開、もう一つの袋小路で同じバグが再現。これをもう一度繰り返す。4回目の探索でゴールに到達し、最短も判明する。重ね探索はうまくいっていたらしい。
これで、第2走行ゴールにいければ決勝にいけると不安と期待でどきどきだったが、ゴール前のジグザグで引っかかりあえなくリタイヤ。
今年のシーズンも大会日程1日を残し終わった・・・

■長い1年の始まり
惨敗に終わったお陰でモチベーションは高まっている。
とりあえずマクソンジャパンにエンコーダー付きモータの見積もりを頼む。まだ回答はなし。
なめたんを一度封印しようかとも思ったが、初志貫徹で来年もこれで行く。ただし停止しない連続なめたんでないと決勝の5分ルールはきついのでその辺をどうクリアするか課題は大きい。
マウス自体はシンプルなものになると思うが、センサー回路の見直しと特に配置に関しては少し考えるところがあるので重視項目として考えていきたい。



第424回 速度計算方法の変更だいたい完了:2005/11/19(Sat)

■バグも見つかりおおむね完了
二日ばかり飲み会などが続き作業中断していたが、懸案の速度計算方法の変更がだいたいうまく動くようになった。

速度計算方法の変更前と変更後

図1 速度計算方法の変更前と変更後

劇的に良くなったと言っていいと思う。走りにも影響が出て、がりがりと鳴らしながら走っていたのが非常に静粛になった。
先日、悩まされていた不具合は変数の型変換の落とし穴に嵌っていた。そこに目星をつけて、慎重に考えて、書き直したら大体うまくいった。ただまだ低速域での値がおかしいので、更に検討する。

■明日は東日本支部月例会参加
非常に久しぶりに月例会に参加する予定。
大迷路を走らせるのは、大会以来に近い状態。うまく走るか不安である。
調整に便利なモードを用意して行きたいものだ。



第423回 速度取得方法の変更:2005/11/17(Thu)

■速度取得方法切り替え中
速度の取得に関しては従来、エンコーダの1パルスにかかる時間を測定し速度に換算していた。パルス周期の測定はカウンタによって行う。速度が早くなると精度が悪くなるのと、非常にノイジーなため方法の変更を試み中。
新たな方式は、1msごとのエンコーダーからのパルス数を数えて距離を求めると共に、それに要した時間を従来のパルス幅を計る方法と同様な方法ではかる。距離と時間が求まるので、速度が求められる。
これまでのやり方に比べると、高速時の分解能も精度も上がる筈なのだが、まだ旨くプログラムが出来ていない。
おおむね一サンプルごとに速度の計算値が0になる。どうしてか?



第422回 16区画でテスト:2005/11/16(Wed)

■16区画作る
我が家には、5×5、2×4が2枚、3×3の迷路板があるこれらを組み合わせるとかろうじて16区画の直線を作る事が出来る。
今日はそれを作り、最大速度の実測。

長距離を走ると距離誤差がどうしても発生する。去年みたいに15区画直線が出来ると厄介だ。



第421回 今日は飲み:2005/11/14(Mon)

■ミニ宴会
今日は同僚が研修から4ヶ月ぶりに戻ってきたので、お帰り会で飲み。そんなに飲まなかったが、マウス作業は眠くて出来ない。3年ぐらい前なら平気でやっていたような気がするのだが。

■皆さん大変
綿谷さんや米さんが大変そうだ、マウス同期としては心配なところ。この前の書き込みで去年今頃大変だったと書いたがその時は、支援のメールなどを貰い嬉しかった。何かおてづだいできる事はないだろうか。
今の時期にパソコンのデータが吹っ飛んだら社会復帰が出来ないかもしれないな、おちこんで。

■角度が足りない
作業は無いものの、90度の連続スラロームを走らせて、じっと見る。
どうも微妙に90度回りきっていないように見える。明日、少し調整しよう。

■これ
可視光カットフィルター
例の対策に↑使えないかなあ。



第420回 第2走行の作りこみ:2005/11/13(Sun)

■第2走行を作りこむ
I made routines for 2nd run.
去年は今頃マウスが壊れておおわらわだった。今年もどうなるかはまだわからないけれど。

今日は旋回速度をどの程度まで上げられるのか実地でテストしてみた。
当初、遠心力で横滑りを起こさない所まではいけるかと、事前に横滑りを起こす力を測定して、限界の速度を求めていたが、実験はそれよりかなり小さな値となった。

まだ完全に判ったわけではないけれど、遠心力による、左右輪の荷重移動によって、内側のタイヤのグリップが減る事が、旋回速度を決める重要なファクターになっているらしい。

内側のタイヤが発生するトラクションは計れないけれども、走行中のデータを見ると旋回しきれない速度の場合は内輪の制御入力が上昇するのが確認できた。これはモータは一生懸命タイヤを回そうとするのだが、タイヤのグリップが無いため、その効果が車両の動きに現れず、どんどん制御入力だけが上がっていくのだろう。

この辺は、低重心化、吸引、サス、重心移動機構等など工夫のしどころだろう。これを何とかしないとある程度以上速く走れない。

■第2走行テスト
とりあえず第2走行ルーチンのテストをしている。90度スラロームが続くとたまにこける。パラメータの調整と、アルゴリズムの検討を実施中。

走行中の速度とヨー
図1 走行中の速度とヨー

図1は第2走行中の速度とヨーの変化。速度が旋回前に旋回速度まできっちり落ちているかを確認。このムービー(約2MB)の第2走行時のもの。


第419回 ジャイロ出力物理値換算係数:2005/11/10(Thu)

■ジャイロ出力物理値換算係数を見直す
I reviewed a coefficient of gyro output.
今日はジャイロの出力を物理値に一致させる係数を求める話。
一番いいのは、一定の角速度で回るターンテーブルに乗せてその出力を見て補正テーブルを作ればいいのだが、今のところターンテーブルは無いので実行不可能。

180度旋回のヨーレート出力
図1 180度旋回時のヨーレート出力

そこで、適当に回して、その角度を分度器で測り、メモリに記録したヨーレートの値を台形積分して求めた最終角度と比べて係数を求めている。この方法だと平均的な値しか求まらないが、今のところ問題は無いようだ。
MEMSのジャイロは温度バイアスもあるので温度補正もしなきゃならないので、ある温度でミリミリやってもあまり意味は無いかも。アナデバの奴なら温度出力があるから、それを使って補正できれば完璧だ。ターンテーブルどころか恒温槽が必要になるが・・。

■探索調整おおむね終了
I finished search run adjustment.
探索の調整が大体終わった。大会までの、日程を考えるとなかなかいいペースではないだろうか。ただ、大迷路を一度も走らせていないし、環境が変わったときにどうなるか心配だ。
そういえば、大会のホームページに競技参加者が公開されたが、今年は過去最高だそうだ。盛り上がってきたなあ。



第418回 フィルターの功罪:2005/11/7(Mon)

■制御再び
I adjusted PID gains again.
今日と言うわけでもないが、他の所も調整しつつ、インナーループの制御ゲインをいじっている。前に見せたものより速度制御系は良くなっている。前のは速度に結構オーバシュートがあったが今回は全く無い。
マウスの速度はエンコーダに車輪をつけて路面を転がして、パルス幅を計測するやり方でとっている。パルス幅計測はパルスの立ち上がりで割り込みを掛けてソフトで処理しているのだが、エンコーダーの精度なのか、ソフトで割り込み管理をあまり意識せずに処理しているせいなのか、非常にノイズ入っているように見える。下のグラフはそれでも後処理でフィルターを入れて見やすくしたものである。
図1を見ていただくと綺麗に各シーケンスが進んでいるのが見える。
図2は相応しているマウスが自分で自己位置を推定して計算した結果をプロットしたもの。

制御見直し
図1 制御見直し結果

推定走行軌跡
図2 自己位置推定結果

これが実際走っている時のムービーを用意すればよかったが今回はなし。

■フィルターの功罪
速度制御系の改善は、フィルターの使用をやめた事が大きい。前述の速度センサーのアウトプットは非常にノイジーなので、デジタルフィルターを掛けていたのだが、どうもそれが遅れ要素となって、制御が旨くいっていなかったらしい。はずしてみてもノイズの影響は今までより顕著と言う事は無く、むしろよくなっていた。



第417回 調整に明け暮れる:2005/10/31(Mon)

■新走行モジュール
Todey,I made new motion contorol modules.
まだ、探索だけだが走行モジュールを見直した。たぶん他の人もやってる、45度ターンとか90度ターンモジュールを個々に組み合わせて走行させる方式と、昨年開発した方式のハイブリット方式のような感じのものだ。
しかし、毎年新しいことする割には、壁切れ補正調整等、毎年同じような事をしているのは何故だろう。

■たまにはムービ
Movie up!
今年も探索だけ作りこんで終わるような気がしてならない・・・
というわけで走行モジュールのテスト用にプログラム走行させてみた。延々繰り返すが、殆んどスタックする事は無くなった。
こうゆう方法で、調整すると、このパターンに最適化されている可能性があって危険ではあるが。
走行モジュールテストMovie
今年は斜め探索をターンポイントで停止しない「スラなめ探」にしようと画策していたが、45度旋回後すぐ90度旋回が必要な場合など、かなり条件が厳しく完全なノンストップとまではいけそうに無い残念。



第416回 遅ればせながら始動:2005/10/26(Wed)

■始動
Today,I restart micromouse work for All Japan Micromouse Contest.
ようやくご赦免になり全日本に向けて始動した。
去年のプログラムを眺めるがナンだこりゃ状態がしばらく続いたものの、実際にマウスに火を入れて徐々に思い出してきた。

今週の三式改写真
図1 今週の三式改

■制御系見直し
I adjusted PID gains.
いわゆるローカルサーボゲインを完全に見直す。毎年思うが、最初の当たりの付け方で決まってしまう気がする。最初が悪いと試行錯誤の泥沼にはまっている。今年はこんなものか。

制御確認出力グラフ
図2 制御確認出力グラフ

■走行中と静止時のセンサー出力の違い
I checked wall sensor output.
壁閾値の設定なんかで、手っ取り早いのは、止まった状態で壁の前に置いてみてその時のセンサー値を読むと言う事をやると思うけれども、どうもそういう方法では旨くいかないことが多い。
その要因は色々あると思うが走行中と静止時ではセンサー出力が違うのではないかと疑っていた。
今回、両脇に壁のある直線通路を作って走行させたときのセンサー値と、静止状態で同じ場所の値を数点とって比較してみた。図2は横軸が走行距離で縦がセンサー値です。

走行時と静止時のセンサー値の比較グラフ
図3 走行時と静止時のセンサー値の比較

結論としては真横を向いているセンサーは走行時のほうが静止時より1割ほど小さい。斜めを向いているセンサーはあまり違いが見られない。なぜかは判らないが、電源回路等の設計に問題があるのかもしれない。人それぞれ回路設計が違うので、私固有の問題の可能性が高い。



第415回 多忙:2005/8/28(Sun)

■島流し延長
最近、いろいろ忙しくマウスも殆んどやる暇無し。(泣)

結局、今年の大会は全日本のみ参加になりそうです。とほほ

これから毎年恒例の島流しにあうので、その間にアートワークをして帰ってきて基盤発注マウス組み立てとなりそう。大会で動くのかなり怪しい。

島流しが予定より長くなって、9月、10月の大会は絶望的。よりによって一番肝心な時期に毎年拘束されるのはかなりストレス。

島ではインターネットから隔離されるのでかなり痛い。最近はそれさえ出来ればどこでも作業は出来るというのに・・・

ネットから切り離されると部品の見積もりやデータシートのダウンでもろもろの調査・研究なんかも全く出来なって非常に不便。



第414回 2足マウス他、徒然考える:2005/7/24(Sun)

■千石でGWS PICO BBを買う
調査研究のため千石で小型サーボの小見出しのサーボを購入した。重さ6g以下0.8kg・cmぐらい。これで2足マウス(この場合はマウスじゃないな・・MAZEMANとか・・ださいか・・)作ってみようかな。全体重支えるには少々トルク不足なんだろうか?その場合は一回り大きなサーボを要所に使えばいいだろう。

頭にはカメラつけて画像処理で迷路解析。画像処理部分はFPGAでハードウエア化なかなかかっこいいな。

マイクロマウスも2足部門作ると裾野が広がるかな。現時点でエントリーできるのは井藤さんぐらいしかいないかもしれないけど。そういう部門が出来たら出てみたい。

迷路にドアがあってそこを空けられたら近道が出来るとかそんな風だったら、技術的に難易度も高まって、挑戦する意欲が結構上がるような気がする。
RPGみたいに敵が出てきて戦うとか。カメラからの映像はトランスミッタで飛ばせるようにして、会場のスクリーンに臨場感満点で映し出されるとかね。まあ、妄想は広がる一方だわな。

■知的好奇心とか、チャレンジ心を誘ってくれる競技が欲しい今日この頃
今のマイクロマウスはかつての知能ロボットを実現すると言う面白さは既に失われて、スピード競技の類になってきていると思う。それはそれで面白いし、これからもやって行きたいんだけど、ルール自体は単純で技術的な困難度を伴う部門があると知的好奇心をくすぐって挑戦してみたくなる御仁達もいるかなあと思ったりする。ロボットやってる人たちって、「こんな事も出来るんだぞ、すげーだろ」って考えている人が多いと思ってるのは自分だけかな。

あとはエンターテーメント性をもった競技があればあればいいんだろうけど難しいなあ。



第413回 ロボカップ観戦記:2005/7/19(Tue)

■名古屋そして大阪へ
金曜の晩、ある重要な話をするために、名古屋に一泊し、翌朝ロボカップ観戦のため大阪に向かう。せっかく名古屋に一泊したのに「きしめん」も「ひつまぶし」も「味噌煮込みうどん」も食べれず、そしてなにより、中部支部の皆さんに会えなかったのは大変残念だった。

■ロボカップ2005
ロボカップ2005は大阪のインテックス大阪という展示場みたいなところで実施されていた。行って驚いたのは、大会の規模が大きい事だ。主催者、関連学会及びスポンサーが力を入れているのがよくわかる。同じ規模のロボコンは他に無いのではないだろうか。

報道各社からの報道もあり、観客もかなりの数だった。マウスもこのぐらい観客が来ればいいのになあと正直思う。

大阪についてホテルにチェックインしたりしているうちに、会場到着は午後を回ってしまった。結局フルで試合を見れたのは小型リーグだけ、中型はPK戦を観客の後ろから背伸びしながら観戦。人型はプラズマディスプレイで観戦した。

小型リーグだけ見た感想だが、サッカーとして見れるレベルに限りなく近いと感心した。感心と言うより感激すら覚えた。多くのロボットを一つのミッションを達成するために協調させながら制御する技術(私の用語で「群制御」)はこれから重要になる技術の一つだと考えているが、これの最先端を行っているのではないかと思いながらみた。

ただ、ひとつ苦言を言いたかったのは、お客があれだけいるのに、お客が状況を掌握していない場面が結構あったと感じる。途中でロボットのトラブルと思われる間隙が開いても何のアナウンスも無く、途中から会場入りした私は全く状況がわからない場面もあった。

■大阪
大阪にまともに行ったのはこれで2回目。今回は吉本の近くの店の美味しいたこ焼が食べられたのが収穫だった。おばちゃんも親切だった。
夜の大阪は非常に活気があって素晴らしい。筋と呼ばれる、狭い通りに人が集中しているためにそう思うのかもしれないが、そう感じさせるのは重要な気がする。東京は街がどちらかと言うと広い道にそってあるオープンスペースのような感じで、人は大勢いるものの、大阪の町のような活気が感じられないと思うのは私だけだろうか。



第412回 ロボカップ観戦へ:2005/7/13(Wed)

■突然思い立つ
週末は宿題を家に持ち込まずに済みそうなので、マウスの基盤設計に没頭するかなと思っていたが、ロボカップのニュースを見て、突如観戦しに行きたくなる。

と言う事で、土曜日あたり大阪に行きますので、私の顔を知っている方はお気軽にお声をおかけください。

しかし、これから宿の算段をしなければならないのだが・・・



第411回 電源メモ:2005/7/11(Mon)

■バッテリー変更
電源の話題が中島さんや綿谷さんのところで取り上げられているので便乗。

三式改のバッテリは250mAのETecのリポなんだけど、7C放電が限度なので実はスタート時に電流がオーバーしていて危なかったのだが、無視して使っていた。まあ、幸いなんとも無かったのだけれど、気持ちが悪いのでサンダーパワーのTH450−3Sに変更する予定。実は中島さんが買っていたのと同じだったりする。

■ステップダウンDCDC
でもって、私は(も)今年は初DCDCにチャレンジする予定。モーター電源の安定化は昔からの懸案なので楽しみ。ロジックはリポから3端子レギュレータで間に合わせる予定。

3セルなので11.1Vを降圧する。降圧回路はリニアテクノロジのLTC1771を使ってみるつもり。この石は電源が2.8Vから20Vと広くて、外ずけにFETとコイル等がいるが電流を多めに取りたい回路にはいいのかなと思っている。パッケジもMSOPで小さくて良い。今日、リニアテクノロジのホームページから直接注文したので到着が楽しみ。

■時代の流れ(?)
手に入る範囲内で最新のデバイスを追求していくとみな似たような考えに行き着くものだとちょっと考えてみた今日この頃。



第410回 今年の大会出場予定:2005/7/10(Sun)

■今年の大会出場予定
今年は例年に無く忙しく大会出れるかなあと心配の今日この頃。
中島さんの所に良い表があったのでそのまま使わせていただいて(^^ゞ
今年の予定などをまとめてみる。

−2005年 マイクロマウス大会予定−
日付大会名会場参加予定
09/04中部地区初級者大会名古屋工学院専門学校
09/23(?)東日本地区大会科学技術館(?)×(島流し中)
10/16(?)東北地区大会×(島流し中)
10/23中部地区大会名古屋工学院専門学校△(御赦免直後)
11/26(?)〜27マイクロマウス2005第26回全日本マイクロマウス大会パナソニックセンター東京

こんなところかなあ。
とにかく全日本に新作をデビューさせる事を目的に頑張ろう。



第409回 uPD16805使用断念か?!:2005/5/6(Fri)

■内部チャージポンプ回路
将来マウスは回路設計をシンプルにしたかったので、モータドライブにNECのuPD16805を使用しようと考えていた。当初の選定理由は電流の最大定格が4Aほどあることだった。

休みに入って新作の回路設計をしようと思い、データシートを読むと、まず、内部のチャージポンプを使えるのは、最大でも6.5Vまでだとあった。

「うーむ、外部にゲート駆動用電源を用意しないとだめか、昇圧が必要と言うのは面倒だ・・」と思いあれこれ考えた末の結論が、電源を6.5Vにすることだった。これはステップダウンコンバータで電池電圧を下げてやろうと言う考えだ、モータ駆動電源も定電圧化という新たな試みで面白いと考えた。

そこで、はたして6.5Vでマウスはそれなりに走るのかと言う事で、加速性能を計算するために摩擦係数がどうのこうのという前回、前々回の話になった。

■Hブリッジ出力回路ターンオン時間とPWM
上のように結論を出すのも、ステップダウンコンバータがどのようなものか、自分で組めるかなど、色々時間を掛けて考えたのだが、もう一つ、重大な点に気がつき、使用を断念した方がいいと判断し始めている。

それは、データシートによると「Hブリッジ出力回路ターンオン時間:10μs」となっているところだ。ちなみに、ターンオフは半分の5μsだ。

まず、言葉の意味だが「Hブリッジ出力回路ターンオン」とはHブリッジの各FETゲートをコントロールする信号のターンオン、ターンオフと理解している。

従って、その時間が大きい方で10μsは、モータをPWM駆動する上で非常に遅いと言う気がする。たとえばこの時間をPWMデュティーの1%に当たるとしても仕方が無いと我慢したとすると、PWM周波数は1KHzになってしまう。もうすこし例を挙げると、PWM分解能を256として、その1分解能分を10μsとして許容するとすると、この場合の周波数は約390Hzになる。3式のPWM周波数は100KHzぐらいなので、やはり、少々きつい気がする。

ということで、またディスクリートで組むしかないのかと、少々あきらめ気味である。



第408回 静止摩擦係数つけたし:2005/5/4(Wed)

ある方からメールを頂いた。
前回の摩擦係数は小さいのではないか?と
「質量が加速度に影響しない」は言い過ぎではないか?
と言うご指摘を頂きました。
ありがたいことです。
一応、それに対してお答えした内容をこちらにも掲載します。



こうへいです

長文になりますので覚悟してください(笑)

摩擦係数はご指摘があった後に測定方法を変えて追試した結果今度は2.6ぐらいをえました。今度は大きいですね。

やり方は、以前研究用に買ってあったMiniZに、前回の実験で使用したものと同じタイヤを履かせて各タイヤをロック状態にして、迷路の路面に置き迷路を傾斜させていってその傾斜角度を測りました。この方法で69度まで耐えまして、摩擦係数はTanθなのでTan(69deg)=2.6となりました。
いや69度ってのは絶壁みたいなもんですから、驚きましたね。

このタイヤは井谷さんから頂いた硬度15度ぐらいの非常にやわらかいタイヤなので路面にくっつく感じです。ただし、少しでもほこりが付くと直ぐにグリップは落ちますね。

メールを頂いて、良かったです。今後も、もう少し実験方法を工夫してやっていきたいと思います。環境条件で変わるのですが、幅を把握できれば、ハード・ソフトの設計に役立てるかと思います。

それと、「質量は加速度に影響しない」の話ですが。
ホームページの「マウスの質量は加速度には無関係」は言い過ぎの感がありますので、ちょっとトーンを落として、今のところ「マウスの質量の大小は加速度にそれほど影響しない。」と思っています。
以下にその理由を書きます。

車両の前後運動は、走行抵抗と駆動力がつりあっていることになります。

自動車工学の本によると
走行抵抗は、空気抵抗、転がり抵抗、加速抵抗、勾配抵抗だそうです。
空気抵抗と勾配抵抗はマウスの場合無視していいと思います。
残るは、転がり抵抗と加速抵抗ですが、転がり抵抗は文献をあさると車両の重量に比例するようです。また、加速抵抗とは慣性力そのものだと私は理解しています。

駆動力は一言で言うには厄介な代物ですがタイヤが地面を蹴る力で、車輪と地面とのスリップ率から求められる係数とタイヤの垂直加重との掛け算です。

つりあい式を以下に書くと

M a + Frr = Ftrac ----(1)

M a:慣性力(質量×加速度)
Frr:転がり抵抗(小さい)
Ftrac:トラクション(日本語で駆動力)

これは車両の前後運動の運動方程式となります。

また

Frr = murr M g ----(2)
Ftrac = mu M g ----(3)
murr,muはそれぞれ転がり抵抗係数、駆動力係数

(1)式に(2)(3)式を入れて整理すると

a = ( mu - murr ) g ----(4)

となり、加速度に質量は影響しないという結論に至りました。
(2)(3)式のように重量に対して厳密に力が導き出されるかは疑問ですが各種教科書より実験から求められた近似式としてはいいところをいっていると思うので、質量がそれほど影響しないと言うのは、当たらずとも遠からずと思います。

当初、私はF=maなので「モータが同じなら質量は加速度そのもの」とぐらいの認識を持っていたので、上の考察で目から鱗だったわけです。

省力している駆動力は車輪と地面のスリップ率に関係しますので完全に記述するにはタイヤの回転運動を書かなければなりませんが省略します。

ご指摘の慣性に関しても、上では考慮しているとは思っているのですが、考えちがいがありましたら教えてください。

では、良い休暇を


モータドライバの話はまた後日と言う事で・・・



第407回 静止摩擦係数:2005/5/3(Tue)

静止摩擦係数を実験的に求める
MiniZのタイヤと自宅のミニ迷路の路面との静止摩擦係数を求めてみる。
タイヤを転がらないように固定して、重しを載せた状態で横からばね秤をつけた紐で引っ張り摩擦力を求める。あとで全体の重量をはかり垂直抗力とする。
重しを3種類用意して3点測定した。
結果は静止摩擦係数は約0.70であった。
動摩擦係数は引っ張り続けなければならないので、秤の針がぶれて精度がかなり怪しいが、一応動摩擦係数は約0.54を得た。
もう少し大きいと予想していたのだが、案外小さい。

加速度と静止摩擦係数
さて、今度の新作のマイクロマウスは150g以下にはなる予定でいるので、その必ず達成する目標重量の150gと、求めた静止摩擦係数とを使って、将来マウスの加速度を求めてみる。(この時、転がり抗力、空気抵抗等々の値は無視してます。モータは静止摩擦に打ち勝つだけのトルクを発生できると仮定します。)
マウスの重量は2つのタイヤに均等に分配されて垂直抗力となると仮定し、その値に静止摩擦係数、重力加速度を掛ければ単位がニュートンの最大推力が求められる。これをマウスの質量で割ると加速度が計算できる。
と、当初計算しだすと、直ぐに気づくのは、この計算においてマウスの質量は全く関係がなくなり加速度は以下の式で求まる。

加速度=静止摩擦係数×重力加速度
マウスの重量を軽くすれば、その分タイヤの発生する力は減るが、軽い分加速しやすくなる。また、重くした場合はその逆ということで、「マウスの質量は加速度には無関係」ということだろう。ただし、軽くすると、無視した他の抵抗成分が相対的に大きくなるのでそちらの影響を無視できなくなるので、一概に上の式は成り立たないと思います。
当たり前でいまさら何言ってるのと思われるかもしれませんが、自分としては目から鱗でありました。
ちなみに、静止摩擦係数0.70の時の最大加速度は6.86m/s^2でした。

モータトルクと加速度
タイヤが発生しえる最大の力をタイヤ軸におけるトルクに換算してみる。将来マウスにおいてタイヤ半径は1.25cmであり、これから今までの諸々の値を使って計算してみると(150÷2)×0.70×1.25=62.625gcmが求まる。
これと、使用予定のDCコアレスモータDC5-2.4の最大トルクのタイヤ軸換算値である153gcm(6.5V時)と比較すると、モータトルクは余裕で摩擦力に打ち勝てる。
打ち勝ってしまうと、タイヤが滑っている状態になる。実はタイヤにはちょっと滑っている時の方が摩擦係数が大きいと言うややこやしい性質があって、若干滑らした時に最大加速が得られる、文献等を見ると今回測定した摩擦係数はロック状態の摩擦係数だと思われるので、最大摩擦係数はこれよりもう少し大きいはず。(この辺はもう少し勉強しないと、よくわかりません。)
効率よく加速減速させるためには、スリップ率の制御が必要と言う事です。

モータドライバ
実は将来マウスにはNECのuPD16805を使おうと思っていたら、どうもリポ2セルだと内部チャージポンプではだめで外部にゲートドライブ用の高圧電源を用意しなければならいらしく、ちょっと(?!)であり、その辺から今日の話に繋がりました。uPD16805の話はまた後日。



第406回 新型、メカ部設計ちゅう:2005/4/24(Sun)

3DCAD出力

■新型設計中
少々お休みが長かったけれど、妄想は少しづつしていた。今年は吸引と足回りの工夫の2点を同時にやろうと思っていたが、二兎を追うものは一途も得ず、一つづつつぶす方が判りやすいので、吸引をやめる。
とにかくメカのレイアウトなどを考えてみた、流行のプリント基板をメインフレームにするタイプ。
かなりの低重心が実現できると思う。
G.W.には基盤設計に取り掛かり、終わりごろには発注したいものだ。



第405回 ランサー祝勝会:2005/4/3(Sun)

■横須賀ベースにて
昨日は横須賀ベースにて尾花先生のランサー祝勝会が行われた。夕方5時ジャストから始めて、9時過ぎぐらいまで延々ロボ談議を続けていたのだからやはりすき物同士の集まりは恐ろしい。一部学生さんが参加されていたが、恐らく付いていけなかったのではと心配している。
お陰で、また色々と妄想が持ち上がってきて困り者であるが、それがまた楽しい。
さすがに横須賀から立川は遠く、家に帰り着いたのは12時を過ぎてしまった。
昨日の皆様、お疲れ様でした。



第404回 ついに行かなかったロボットランサー:2005/3/27(Sun)

■ロボットランサー
今日は、名古屋でロボットランサーが実施されているはず。ついに今年は見学にも行かず。いかんなーとは思いつつ、同僚の引越しの手伝いに行く。
さて、今年はどうなった事やら、こうのさんのホームページを待つとしよう。



第403回 皆がんばってるのになあ:2005/3/12(Sat)

■停滞気味
皆さん頑張っているようなのに、自分は何もやっておりません。これまで勢いでやってきたので色々考え中という所です。すこしお休み中なわけです。
でも、スケジュールが遇えば大会にはきっちり出るつもりですので、よろしく。

■中島さん帰還
ちと、遅れてしまったが中島さんが帰国された模様。今回は敵(迷路)を知らず、ちょっと残念だったようですが、世界は広いと言う事を日本の我々に知らしめていただいたのは偉大な貢献だったと思います。
一つのハード、ソフトで壁の材質と、路面の状況に左右されないマウス作りは理想だけれど、きっと、勝てるマウスにはならないと思う。
勝てるマウスは、短時間で迷路の状況にマッチングできるソフトと、ハードもそのコンデションによって、たとえばタイヤなんかを変えられる工夫が必要なんでしょうね。
長く続いていけば、F1みたいな感じになってくるんでしょう、マウスは。



第402回 さぼりぎみ:2005/2/26(Sat)

■なにも進展しない一ヶ月
この一月はほとんどマウスやらなかった。忙しいのと、仕事以外の時間に色々ほかの事をやっていた、なんかお金もなくなった。マウスに集中している時期の方が、部品代とかは飛んでいくが、他の出費は少ないような気がする。
今の時期は、充電と位置づけよう、休む事も肝心。ただ、今年は忙しくなりそうで、趣味もままならない予感。

■明日は月例会
恥ずかしながら、しゃべらせていただきます。お題は「なめたん」です。でも資料を作っていると、DCモーター制御とかほかの事の割合の方が高いです。自分のマウスの具体的な紹介はあまりないので面白くないかもしれません。
明日使う資料



第401回 1月月例会:2005/1/31(Mon)

■月例会
本日は東日本支部月例会。
ヌクヌクDASH7の青木さんが講演を行い、ご自身のマウスについての話をされた。次回を頼まれているのだが、もっと一般論的な話をしようと考えていたのだが、より自分のマウスの具体的な話をした方がいいのかもしれないと検討中。

■小新年会
平野さん、小峰さん、中川さん、小泉君と五人でこじんまりと新年会をじっし。無重力AIBO映像を楽しみつつ、マウス談議、会社選び談議など多岐にわたって盛り上がった。

■何故か本日は100件突破
大会前でもないのにアクセス数が100件を突破した、どこかのサイトで取り上げられたわけでもなし、新しく更新したわけでもなし。なんでだろう?



第400回 モーター電流観測:2005/1/22(Sat)

モーター電流
モータ電流
ブラシモデル
ブラシ&コミュンテータモデル

■モーター電流を見る
DC5-2.4に流れる電流波形を見てみた。秋月で買った10mΩのシャント抵抗をモーターとGNDの間に入れて、その両端の電圧を見たもの。5回1セットのりっぷるの谷を繰り返しているのが観測される。DC5-2.4はお尻のふたをはずすとブラシ部分が見られるが、コミュンテータは5極なので、5回谷が観測されると1回転だったかと少し考えてみた。絵は考える時に描いたもの。

■谷の数は極数×2で一回転
結論から言うと、極数の2倍の谷が1回転のうちに観測される。図をみながら脳内アニメーションをすると判るが。1回転のうちにブラシA,Bが不連続点を向かえる回数は10回なので、波形でも不連続点が10回ぶんが1回転となる。
ちなみ試験は無負荷状態で実施した。オシロから1回転は1.76msだから、回転数に直すと34090rpmになる。この時の電源電圧は7.66Vだった。DC5-2.4の公称は5Vで21000rpmなので、この値から計算すると、7.66Vでは32172rpmとなる。

■では何故5回1セットに見えるか
波形を観測すると5回1セットに見えるので勘違いしそうだが、どうしてこう見えるのか?磁石が180度対向してNとSの一組しかないからなのかなあ?



第399回 ありゃ、足りない:2005/1/18(Tue)

新型製作ちゅう

■足りんかった
少しづつ、形が出来上がりつつある新型マウス。しかし、どこかで寸法を間違えて、モータが入らない。タイヤアームの存在を忘れて、エンコーダースペースを設定したため、エンコーダーが入るところも若干足りないかな。もう一度やり直し。横幅が広くなるのー

■新型6輪
話題の新型6輪を見る。センサーが真横に付いている。自分の話に引き込むと「なめたん」できるなあ。感想はそれだけかと突っ込まれそう・・・



第398回 あけましておめでとうございます:2005/1/7(Fri)

■2005年最初のご挨拶
皆様、明けましておめでとうございます。今年もよろしくお願いします。
少しばかり長い帰省から帰ってきて、ようやく新年最初の更新です。帰省中はロボ活動は一切できませんでした。まとまった休みより、日々少しづつの方が進むというか、何かに追い立てられている時の方が趣味が進む感じはします。
一年の計は元旦にありと言いますが、最初の更新なので今年の目標を申しますと、今年はマイクロマウス全日本決勝でベストテンには入りたいなと思っとります。仕事が忙しいですが、何とかやりくりしたい。

■月例会で話すかも
1月か、2月の月例会で話をしてくれとの依頼があった何を話せばよいものか悩む。まだ決勝でゴールもした事がない者が話す話に価値があるものであろうか、お断りしようか思案している。

■新年会
12月の月例会にはいけなかったので関東のマウサーとの飲み納めはできなかったものの、1月末の月例会では飲み始めができるだろうか?
関東マウサーの皆様、1月の月例会の後、新年会と行きませんか。



第397回 歯車追加工:2004/12/20(Mon)

購入時の状態
購入時の状態
追加工治具
追加工治具
治具に歯車を挿入
治具に歯車を挿入
切削後
切削後
ホイールと組んだ状態
ホイールと組んだ状態

■歯車追加工
教育歯車に注文していた40歯ポリアセタールの歯車が20個到着した。今回のマウスは職場の仲間用のも一緒に作る事になったので多めに購入。
MiniZのホイールと組み合わせるため、追加工が必要だったのだが葛ウ育に頼むと一個3000円はするので今回は見送りMODELAで追加工する。
MODELAは電源を切ると絶対位置が微妙にずれる様なので、治具というには大げさかもしれないが、歯車の真ん中に穴がきっちり開くように、ABSに歯車がすっぽり収まるくぼみを作る。そして電源は切らないでおいて、そのくぼみに両面テープを貼った歯車をきっちり挿入して切削開始。
最初にハブを全部削り、その後φ8深さ1mmの穴をあけ、最後にφ6の穴を貫通させて終了。
思ったより良い精度、これなら回しても大丈夫そう

■久々に旋盤作業
タイヤの軸を作るために久々に旋盤を回す。本日は成功と言えるものは作れなかったが、だいぶコツは掴めて来た。
しかし、やはり自分で作るのは大変だ。外注したくなってきた。

■台車は今年中に
台車の試作品は今年中の完成を目指して作業中。



第396回 ドライブモジュール試行錯誤:2004/12/14(Tue)

ドライブモジュール

■タイヤが上下にフリー
試してみたいことに、タイヤが上下にフリーの場合どうゆうことになるのかを確かめてみたい。
車体と駆動径がリッジドに接続していると、車体に受けた力はモロタイヤに来るので、遠心力や、段差にボディーが引っかかるとタイヤがボディーとともに浮いてしまう、吸引も吸引するとボディーが地面に近づくような感じにしてみると面白いのではないかと、写真のようなドライブモジュールを作るつもり、写真はMODELAの練習も兼ねているので完成版ではない。
モーターの胴をそのまま回転軸にしてアームが回る。アームの中ほどにはタイヤのシャフトが通る穴が有る、そのシャフトにギヤが入り回転中心にある、ピニオンとかみ合わさる。
さて、どうなることか。

■電流制御
車体の構想やレイアウトは借り物のMODELAのお陰もあって、順調に進捗しているが、制御基盤が思うように進んでいない。電流制御の回路を色々検討しているのだが、まだブレッドボード等で試していない。
電流を検出してコンパレーターで比較してバンバン制御でもシミュレーション上は結構旨く行くのだが、実際のモーター電流をオシロでみるとすさまじいスパイクノイズで、どこが平均電流なのかよく観察しないとわからない、電流検出部分のフィルターなどをきっちり設計しないとうまくいかないかなと、考え中。



第395回 レイアウトその2:2004/12/9(Thu)

■吸引重視型レイアウト
吸引ファンを大きくするためモータ二つを前方に横並びで出してみた、多少横幅が広がるが、走行には問題なし。



第394回 習作「ターボファン」:2004/12/5(Sun)




習作「ターボファン」

■吸引
米さんのムービを見てやはり吸引は習得すべき技術だと思ってしまったので、いろいろ考え中。作り易そうなことと、コンパクトにまとめられそうなこと、なにより掃除機の大部分が採用していると言う事でターボファンによる遠心方式を採用しようと思う。

MODELA習作「ターボファン」
以前の森永さんの日記に刺激を受けてMODELAでターボファンを作ってみた。森永さんの1月の日記にはモデラを使うノウハウが書かれており参考にする。そこでは、「鍋CAD」を使用しているが、今のところ使い慣れているのは「JW-CAD」なのでそちらで切削用データを作る。製図作業はエンドミルの直径から削り代を考えて、残したい部分より大き目の線を引く作業なので、自動的に輪郭からのオフセットをとってくれる機能のある「鍋CAD」の方が便利そうであるので、そちらも使えるようになりたい。
MODELAでは簡単な形は今までやってきたが、今回のが一番複雑である。それにしては旨くできたと思っている。

■どこまで彫れるのか試験
エンドミルは2mmのものを使う。特に理由は無いがもっと下は1mmしかなく、なんとなく1mmはひ弱そうなので、2mmを採用。2mmの径を保っている部分は7mmでそれ以降は徐々にテーパーが付いて太くなっている。したがって7mmより深くは垂直には切削できないが、今回は8.5mmまで彫りこんでみた。
対象は10mm厚の色つきアクリル板、できあがったものはやはり底から7mmより上は、エンドミルの太くなっている部分に削られて、テーパーがかかっているようになっている。しかし、今回の目的には支障は無いかも。
特記事項として今回φ25で設計したが約0.4mmほど径が小さい、設計にはミスは無いはずだが?たしか前に森永さんも小さくなるような事をおっしゃっていたような気がする。

MODELA欲しい!
実はまだMODELAは借り物で自分のではない。今回やってみてここまでいけるなら、なかなか使いでが有ることを確信した。かなり買ってしまいそうな勢いである。買うならMDX-20かな。
「黒い奴」もいいのだが、使いこなせるようになるための時間が今は惜しいので今回は見送る

■ターボファン実験!
「ターボファン、掃除機」などのキーワードで検索し調べて、見よう見まねで作ったターボファンは果たしてどの位の性能が有るのかは下のムービをご覧ください。
最初のはニッケル水素6本で回しています。実際マウスに載せて回すとなると、パワー管理が大変そうです。
ターボファン実験ムービ(約2MB)

■ターボファン諸元について
今回の習作は
直径φ25
翼の高さ8.5mm
翼の厚さ1.0mm
翼の傾き 適当
全体の高さ10.0mm
駆動力 DC5−2.4(無負荷回転数5V時21000RPM)
電池 ニッケル水素800mAh6本

新作のマウスに載せられるファンの大きさは恐らく直径30mmぐらいが限度なので、如何に効率のよいファンを作れるかにかかっていると思う。検討すべき事項は@外円径A内円径B翼型C翼の傾きD翼の高さE翼の枚数F静翼の採用
@の外円径についてはマウスの大きさで決まってしまうのであまり変更はできない。Aの内径は色々試せる。やはり外径と内径の間に有る空気が押し出されるのだから、ここの体積が大きいほうが良いのだろうか?BCに関しては、空気が淀みなく流れてくれる事が大事だと思う。翼型の検証は中々難しいが、今回の習作みたいに前縁、後縁の形がフラットだと澱み点になったり、渦ができたりして、流れがスムーズとは言い難いだろう。翼の傾きはおそらく使用中の空気の流れに対する翼の迎角を決定するのではないだろうか。これは、回転数等によって変わると思うが、翼型とその傾き、回転数によって決まる最適なところがあるような気がする。翼の傾きは試しやすいところだと思う。EFも色々比べてみたい。
ファンの設計は全くわからないので、今後の課題とする。
もう一つ考えねばならないのは、いったいどの位の吸引力があればいいのかと言う事。新作も恐らく150g前後になると思うが、それに対してどのくらいが良いのか全く見当が付かない。



第393回 新型のレイアウト:2004/12/1(Wed)

新型レイアウト

■新型のレイアウトなどしてみる
来年はMiniZタイヤを使ったマウスがはやりそうかも。大きさは今年のマウスと同じで、タイヤが小さくなる分車高が低くなる。制御基盤を底面に持って行きたい所だが、今回も上面になりそう。特徴はエンコーダーが一個と、秘密兵器搭載(笑)



第392回 私の最短10年分:2004/11/28(Sun)

■最短出してみました
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004

■迷路探索シミュレーター
上の最短はこのプログラムで求めました。未完成です。迷路データをロードして「発進!」ボタンを押してください。迷路を解き終わるまで、強制終了するしかプログラムをとめる方法がありません。また、計算結果は他のウインドウを重ねると消えます。
このプログラムを実行した結果、何らかの被害があっても当方は一切責任を負いませんので、実行に関しては自己責任でお願いします。
迷路探索シミュレーター



第391回 MiniZのタイヤ:2004/11/26(Fri)

■思案中
こちらもせっかく頂いたので、MiniZを押入れから引っ張り出してきて、マウスに使えないか並べて妄想してみた。面白いのができるかな。



第390回 オフシーズン:2004/11/24(Wed)

■さてオフシーズン突入
(1)三式改ファイナルの作成
(2)マイクロマウスシミュレーション計画の進展
(3)カルマンフィルターの導入
(4)電流(トルク)制御の研究
(5)5式(仮称試作名XKM4)の設計

来年に向けてのTODOのようなものを列挙してみた。
(1)は現在小亀が乗ったような形になっている三式を完全な形にしたい。具体的には今のコンセプトのまま基盤だけを設計しなおす。その際、モータドライバのバス接続、エンコーダーパルスのインプットキャプチャへの入力、壁センサにアンプをつける等の改修を行いたい。できれば来年は、この三式改ファイナルと次期マシンをダブルで投入させたい。
(2)シミュレーションは今までもやってきたがもう少しすすめて、アルゴリズムの検証などにも使えるような物にしたい。ユーザーインターフェースも含めて考えていく。
(3)カルマンフィルターはジャイロを使った方向推定に導入する予定。成功した場合、次期マウスはエンコーダは一つにする予定。
(4)マウスの運動を考えれば、トルクとモーメントが大元なのでこれを直接制御できる事はモータの回転数―トルク特性等を無視できる事になりマウスの制御を見通し良くできる事につながる。

■次期マウスの姿
上に掲げたように、まだまだ色々研究しないといけないが、次期(そのまた次かも)マウスはジャイロでヨーレートと方向を推定し、一つのエンコーダで速度を取得しそれらをフィードバック制御するために必要なトルクを発生できるようなマウスにしたい。

■爆笑、空とぶマウス
井藤さんのページに空飛ぶマウスムービが掲載されている。笑える。円谷プロも真っ青である。



第389回 センサー値の時間変化:2004/11/22(Mon)

実験状況

■センサー値時間変化実験
大会1日目の飲み会で、一部の方々に話した、センサー値の時間による変化状況です。LEDの発光強度が安定するには時間がかかるという情報を得たので、大会前に実験していました。2分間のデータ取得している間、どんどん降下を続けます。

■実験方法
壁を写真のように前、両翼に配置してマウスを固定し、ストップウオッチで時間を計りながら10秒ごとのセンサー値を取得しプロットしました。

■実験結果
図1が今回取得したデータです。真横を見ている右(s2)左(s5)のデータを示しています。

実験結果グラフ
図1 センサー値の時間変化

■考察(のようなもの)
センサーのLEDは明るく光らせようとかなり電流を流しているので、触って判るくらいかなり熱くなっています。おそらくLED素子の熱的な時定数と関連していると思われますが、熱的な平衡状態に達するまでは発光強度が安定しないのだと考えられます。これは、流そうとする電流の大きさによっても変化し、競技時間を考慮して変化の少ない電流値が有るかもしれません。また、流れる電流値そのものが熱の影響で変化するのかもしれませんが、そちらのデータは未取得です。ちなみに、違う実験で定電流源にLEDを接続して発光強度を測定しましたが、同様に時間につれて発光強度が低下する現象を確認しています。

■処置対策
ハードを何もいじらないとすると、時間的な変化具合のテーブルもしくは近似式を用意しておいて補正するのも一つの案なのではと考えています。
ハード的にはできるかどうかはわかりませんが、オートゲインコントロールのような事をすればいいのかもしれませんが、その場合何をフィードバックするのかちょっとわからないところです。温度しかないような気がしますが、いまのところ取得方法が無いのでそれ以外では回路を構成しようが無いような気がしています。



第388回 くやしい:2004/11/22(Mon)

■マイクロマウス全日本大会終わる
本日はマイクロマウス全日本大会二日目、エキスパートクラスの決勝とロボトレース決勝、マイクロクリッパ競技が実施された。
結果は、シンガポールのキャットさんのMin4が1位中島さんの琥珀が2位であった。井谷さんが敗れたのが今大会を象徴する出来事でありました。
ロボトレースで昨年の雪辱をはらし河野さんが優勝した事も一言付け加えさせていただきます。


2004年エキスパート決勝迷路

■迷路
決勝の迷路はしょっぱなから直線が迷路の2辺をぶっ通しで貫かれる、今までに見たことが無いものでした。また、選択経路でタイムがかなり違ってくる迷路でこれもまたこれまでに無い特徴です。観戦していてマウスがどこを通るのかかなり注目してみる事ができ、マウスの賢さが試される、私としては良い迷路だったなと感じました。

■くやしい
私の3式改は「なめたん」を引っさげて決勝に望みましたが、5回ともリタイアしてしまい、その信頼性の低さを改めて痛感しました。正直、家の試走でも信頼性は低くそれを挽回しようと色々やっていますが「まだまだ」だと感じています。東日本と予選は運が良かったと言うほかありません。
しかし、今年の目標は決勝進出だったものの、いざ出るとやはりゴールにはたどり着きたくなるもので、来年は必ず決勝ゴールに到達し第2走行を決めます。

■乗り過ごす
帰りは皆さんで飲み会、今回は珍しく女性が多かったなあ。楽しくマウス談議、反省会を実施して、有志の面々がもう一軒はしごして終了。終電一個前に乗って帰ったが立川を乗り過ごして八王子まで行ってしまった。のぼりの終電がまだあったので事なきを得る。



第387回 予選通過:2004/11/21(Sun)

■本年の目標達成
本日は全日本マイクロマウス大会エキスパート競技予選。念願の決勝進出を果たした。かなり嬉しい。詳細はまた明日にでも。
3式改予選ムービ(約9.39MB)



第386回 試走会:2004/11/19(Fri)

■マイクロマウス全日本試走会
本日は試走会。2時から5時までだったけれど家を出たのが2時でお台場にある科学未来館に到着したのは3時45分ごろ。
会場は広さ的には去年と同じぐらいだろうか、広いようにも感じる。懸念されていたガラス張り直射日光ばりばりの会場ではなく天井から照明があたるスタジオっぽいところであった。考えてみればマイクロマウスを知り尽くしている主催者側がそんな難しい環境を選ぶことは無かったか。
試走はいきなり置いて走らせたが、いまいちで、壁センサーの検知閾値を少しいじり何とかゴールするようになった。とはいっても迷路を分割してクオーター以下の状態だったのであまり参考にできず。第2走行は遅すぎ。早いとななめで角にぶつかる。早いと言っても、遅いのだが。
さあ、あすまた頑張ろう。というより今晩か・・・



第385回 探索はできそう:2004/11/17(Wed)

■なんとか探索のめどは立つ
新規に作り直したときに、センサー配置と部品定数を変えたので、以前のプログラムのパラメータのままでは走らなくなっていたが、なんとか探索の調整が終わった。これで、探索でリタイアは無さそうなので一安心である。

■多忙
なんだか最近忙しい、今日も家に帰り着いたのは0時を回っていた。



第384回 復活か:2004/11/14(Sun)

3式改大会前最終バージョン

■最終バージョンになるのか
いやはや、先週壊れてから今日まで長かった。
皆さんにご心配をおかけしたSRAMは秋葉原で日曜日には手に入りました。ありがとうございます。
して、火曜日ぐらいには新しいCPUボードは半田付けを終わっていたのだが、一発で動いてくれず結局今日まで引っ張ってしまった。
一部ハードの変更が有るので、ソフトを対応させなければならない。

■ハードの変更点
そんなに大きく変更は無いけれども6つほど変えた。(1)センサーを5個から6個に戻した。(2)電解は全てOSコン。(3)センサー回路部品を変更。(4)0.8mm基盤使用。(5)補修ボードをこれまでの穴あき基盤からエッチングプリント基板に変更。(6)タイヤのゴムを張替え。
(1)については、「なめたん」を実現するのにシンプルに考えられるため5個に変えたわけだが、完成した現在、真ん中に一つでなくともいけそうなので元に戻す。しかも、高速走行時の障害物検知にはやはり両端のほうがメリットは大きいと思う。
(2)については気分のもんだいかな。
(3)これは今回激しく反省する事項。これまで、LEDのスイッチングにデジトラを使っていたのだが内部の抵抗値やhfeをきちんと確認していなかった。実際LEDには30mAぐらいしか流れていなかっただろう。どうりでセンサー値が小さいわけだ。アンプが無いのでこんなものかと考えて悪戦苦闘していたが、今回トランジスタをFETに変えたのでだいぶ明るくなっている。センサー値的には1.5倍から2倍ぐらいになるのではないだろうか。
しかし、センサー値が小さいおかげで今年(去年もか・・)は苦労したけど色々工夫したわけだしまあ良しとする。
(4)については余っていた基盤が0.8mmだったので仕方が無く使用した。剛性がなくてちょっと弱い感じ。ぶつかった瞬間変形してSHのランドが剥げないかと心配。
(5)はただでさえかっこ悪い補修ボードをちっとは見栄えするように非常に久々にサンハヤトのプリント基板を作りました。これはこれで楽しかった。
(6)バスコークのタイヤにしてから今回が会心のできばえ。以前作った冶具と旋盤と爪楊枝を組み合わせて旨い事やる方法を見つけた。

■明日は月例会だが
この調子だと明日は家で調整だろうか。
朝からの進捗によるが、今回のトラブルで体調も崩した事もありちょっと吹っ切れてしまったのであせらずに行く。前日は休暇が取れたので、そこで最終調整もできるし。



第383回 マウス壊れる:2004/11/6(Sat)

■学生大会に行くつもりが
今日は学生大会。自分の試走を兼ねて見に行こうと思っており、しばらく前からその準備をしていた。
ところが、今朝になってマウスの調子がおかしい。調べてみるとSRAMに書き込んでも反映されていなかったので、バスのピンのどれかが剥がれたかなと、一応確認し半田ごてもあててみる。改善の気配なしなのでSRAMを交換する。

■CPU異常発熱
SRAMの交換を終えて、とりあえずメモリ確認用のプログラムを書きこもうとする。しばらく普通に進行するが何か「パチ」と言うような音が聞こえたような気がする。やばいと思い、すぐスイッチを切る。SHに触れてみると、火傷できそうなほど熱くなっていた。この時、滝汗、と心は滝涙だったのは言うもでもない。

■大会2週間前
「大会2週間前にこの仕打ちはひどいぜ」と神を呪ったものの、前に進むしかないのである。CPUと怪しい部品ははがして交換しようかと思ったが、3式は4枚目の最後の基盤が残っているので、新しく作る事にする。3式は今ので実は3代目である。次は4代目。

■問題はSRAMの入手
今現在、最初に調子悪そうだったSRAMとCPUと一緒に焼けたと思われるSRAMしかないので調達しないといけない。一応明日、朝一で秋葉にいって在庫を調べてみる。RSでも互換品は有るみたい。エリスショップも見積もりは取れそう。日立のHM628512BLFPなので敬誠が早いのかもしれない。いずれにしても来週の半ばぐらいまでに手に入れたい。
他の部品は持っていたり、確実に手に入ることが判っているのでまあ良いだろう。

■転んでも只では起きない
予期せぬ時間ができたのでタイヤのゴムを張替えできる。センサー配置も前のに戻してみる事もできそう。センサーについても今思っていることを試せるかもしれない。
大会前になると不具合が出るのは毎度の事だが、これも設計の悪さが、大会前の調整時間の増加に伴って発生するのだろうから、もっとましな設計ができるようになりたいものである。

■これまでのマウス活動
順調に「マウスって」いたはずだったが、思わぬところで躓いた。
今日までで今年の「なめたん」の最終形は出来上がり、後は大迷路で試走して調整段階だった。
第2走行についてもパラメータ調整作業を少しでも楽にするために、パラメータを書いたファイルをマウスにアップロードすれば変えたいパラメータが全部変えられるようにして、更にパラメータファイルを作成するダイアログ型の簡単なプログラムも作っていざ、第2走行の調整と言う時に今回の事案が起こってしまった。悲しいかな。来週の月例会には走れるマウスがあればいいな。



第382回 固定OFF時間型PWM定電流制御:2004/11/3(Wed)

■定電流制御
今日の話もモーターの電流制御の話。
いろいろ調べて、電流を検出して、目標値との差をまじめにフィードバックしてdutyを変えなくても電流制御ができる事がわかってきた。それが、今回のタイトルに示した、「固定時間型PWM定電流制御」と言う奴。
電流が目標値に行くまでは目一杯ONで、目標値に達したら一定時間OFF(ただし電流連続モード)にする。目標値に近づけるときはONで達したら一定dutyのPWMでドライブし続ける仕組みだ。
こういった事をすべてやってくれる石も有るらしくて、D/Aと組み合わせればトルク制御の実現が現実的になってきたような気がする。
ところで、定電流制御というのはもしかしたらステッパのドライバICでは割とポピュラーなものとして備わっているのだろうか、調べているうちにそんな気がした。上に書いた事も知らないのはステッパをやっていない私だけかもしれない・・・

■マウス
今日は休みなので「マウスる」つもり。すでに新作の妄想をしているように現実逃避モードに入りつつあるので気合を入れていかねば。

■と、おもったが
立ち食い寿司が食いたくなったので、秋葉に前進する。マウスは夜やろう。



第381回 準連続なめたん:2004/10/31(Sun)

■準連続なめたん
完全な連続なめたんは難しいのでとりあえず直線は止まらずに進むようにしてみた。内部的には方向変換する時に速度を落としている。今回は方向変換速度は限りなく0に近いのでいったん停止して走っている。これまでのワンステップタイプのコードは使わずに一から書いたためか、まだだいぶ不安定である。ワンステップタイプも安定して走るようになるには時間をかけて調整やバグ取りをやったので、これからそうゆう事が必要だと言う事だろう。今年の探索はこれで打ち止めかな。本番に投入するかは今後の仕上がりによる。
準連続なめたんムービ



第380回 電流フィードバック:2004/10/28(Thu)

■今日も電流フィードバック
電流値をデジタル化して制御するのは難しそう。
電流フィードバック部分はハードで構成する事を考える。電流検出専用の差動増幅器で電圧変換して目標値から引き、OPアンプかなんかで構成したPIコントローラーに入れてその出力をコンパレータでのこぎり波と比較してPWM信号を作り出しゲートドライブ用のロジック回路を通過させた後Hブリッジを駆動する・・・面倒だな。単電源では電流の方向を考慮して目標値との比較する部分とかも回路で作るのはシンプルには行くまい。しかし、しばらくはこの方向で研究を続行。

■PWMコントローラ
どうやら上に書いた事は世の中に存在するPWMコントローラ(TL494等)を使って工夫すれば有る程度楽ができそうだ。

■マウスには触れず
今日もマウスには触れず。明日から土日に頑張ろう。

Servo Magazine cover

■Servo Magazine
最近ロボコンマガジンはあまり買わなくなってしまった。その代わりと言っては何だが、アメリカ出張帰りの同僚が「Servo Magazine」と言うアメリカ版ロボコンマガジンを買ってきてくれた、面白かったのでとりあえず定期購読をしている。日本にはない部品の情報が手に入ったり、先月は「CORDICアルゴリズム」の話が載っていたり、ためになっている。



第379回 ご赦免:2004/10/27(Wed)

■島流しから帰還
東日本の次の日から流されていたが、本日でご赦免。長く苦しい33日間であった。某社の製品はもう買わないと心に誓う。

■マウス
島でもこっそり皆さんのHPを拝見していたが、こっそりなのでしっかり見ることができず、中部地区に向けての皆様の頑張りにすこし気が焦るがどうしようもなし。
出張中はできたのは連続なめたんを実現すべく探索ルーチンの簡略化を模索。シミュレータではそこそこ使えるモジュールに仕上がった。残るは走行とのリンクだがうまくいくかの〜。

■電流フィードバック
次のマウス(開発名XKM4)のモータ制御は電流フィードバックのトルク制御を実現すればいいのかなあと妄想中。実現するために電流検出してデジタルでコントローラ(CPLDかな?)に渡してくれる便利な石はないものか。
トルク制御は、車体の動きを制御しようという思想の私のマウスには素直な考え方だと思う。車体はトルクで前進し両輪のトルク差が発生するモーメントで旋回することは間違いないはず。
モーターの回転数とって、トルク-回転数テーブル引きながら回転数制御しながら実はトルク制御が狙いちゅうのもありだろうか?
これだとエンコーダ4つだから高価かつ重量増でいやだな。



第378回 東日本4位&特別賞:2004/9/24(Fri)

賞状と商品の数々
いろいろ戴きました。

■東日本地区大会
本日地区大会。会場の科学技術館に着くと長蛇の列「マウスも盛況、盛況」とは思わず。何故か科学技術館で服飾のバーゲンセール中だった、科学技術館も経営は厳しいのか!?
結果は11秒008で4位、それと今回も「なめたん(斜め探索)」で特別賞を頂いた、ありがたいことです。

■クオーター
当初クオーターで感じを見る。クオーターだとゴール半歩手前で止まるので、棄権のつもりだったが、試走台が無いので、そのつもりで参加。
走行は、壁を作ってしまい、セーフモードに突入した。セーフモードは前回に中部地区の経験から、もしも壁を作ってしまい迷路が解けなかったら、今まで走行した場所以外の壁データはリセットしてしまうモード、大迷路でこれに入ったらかなりの時間ロスだ。走行後自動的に設定された閾値データを吐き出し、あまりに低いものは、それほど低くならないように調整する。これは、本番に効いたようだ。

迷路2004東日本
東日本2004

■本番
まずは動画(約9MB)(米さん撮影)
中々順調に探索を続けたが探索の終盤バグによる誤動作がおこる。探索はスタート→ゴール→スタートを繰り返すのだが、スタートに戻った後またゴールに行くところにバグがあったようだ。家では、最初のスタート→ゴールの間に最短が見つかってしまうので判らなかったらしい。
探索は3分以上かかっている、歩数は完全に終われば224歩、もう少し早くしなければ全日本決勝レベルとしては不安だ。
とりあえず、マップはほぼ完成していたので第2走行開始、自動的に自分の走行回数、探索の終了状況を判断して第2走行モードに移るようになっていたのが、先ほどのバグが尾を引いているのか、旨くいかずリタイア、非常に残念である。
3回目のトライは強制第2走行モードでスタート。予想していた経路は通らず「やっぱ、マップが壊れてるか、探索し切れていないのか」と勘違いしたが、シミュレーターに掛けてみると実はそれでよかった事が判明。迷路を見ると南周りのほうが早く走れるような気がする。
第2走行モードで計3回走ったが、3回目はゴール直前で壁にぶつかって終了。
今回のマウスは最後まで手を触れないことを目指しているので、今のところ第2走行だけだが、スタックした後はスタートに戻るようにしている。その復帰モードはまだ検討が十分なされていないので、旨く動くかはなんとも言えないのだけれど、今日の最後の第2走行のスタックでは、旨くスタートに戻り、スタックしたのにちょっぴり嬉しい複雑な思いであった。
速度は、まだまだであり調整しなければならないがパラメータ調整だけではだめな感じ。

■支部サーキット
だめだめ、もう少し早いかと思ったが、ほんとだめだった。加速、減速タイミングの見直しからはじめないとだめだ。加速度ももう少し上げないとだめだと感じ始めた。
加減速に関して、今年は初めて第2走行をまじめに考えているが、短い距離でも許される限り速度を上げたいと思っているのだけれど、思った感じにはまだできていない。これに関してはまだ自分流を確立していない感じだ。

■終了打ち上げ
例によって、最後は飲み会。皆さんが何をやっているのかを聞くにつけ、自分は大雑把過ぎると反省することしきり。
計測は自動計測がやはりよろしいということで、河野さんのラップタイマは注目だと言う話も出ました。

■島流し
明日から島流しに遇う。一ヶ月以上戻らないので、更新はその間ストップします。



第377回 明日は東日本大会:2004/9/23(Thu)

■久々の更新
ここんとこマウスの調整でここの更新はさぼりぎみ。ねた的にもパラメータ調整に明け暮れているので面白いところ無し。

■それでも大会はやってくる
いまいちな感じですがもう大会当日になりました。飲み会が最大の目的(爆)
一応、全部エントリしたがクオーターはちょびっとプログラム変更しないとだめなそうなので棄権しようかな・・・
サーキットは初参加になります。

■目標
とにかく探索でゴールして第2走行完走できればよしとしよう。



第376回 調整会:2004/9/12(Sun)

■東日本地区月例会
本日は東日本支部月例会。支部大会前の調整会の位置づけだ。私も今日は大勢来るかなと予想していたのだけれど、わりとすいていた。「おやじーず」は私と綿谷さんだけでした。

■探索不安定
予想どうり探索でこける。一発で最短を見つけられたのは一回のみ、その他は、幻の壁を見てしまい閉じた空間を作りアウトしたり、引っかかったりといつもどうり。
探索の信頼性を高める方策はある程度あるので地道に実装していく。斜め走行の部分はもう少し研究しなければなるまい。方法はこれで多分良いはず。

■第2走行は問題外
こちらは全然だめ、探索の走行の安定にも繋がる話だが、補正がうまくいっていない、カーブの手前で角に引っかかりスタックを繰り返す。引っかかりつつも一度だけゴールしたがまだまだだ。
補正については、実装方、調整法どれも未だ手探り状態。
心配なのは切れ目の無い長い直線の最後のターンは理論的にきっちり曲がれる可能性が少なそう。高速ターンはエッジ検出する前に曲がり始めないと間に合わないようなのでどうすべきろうか。有る程度エッジを検出できない場合は、エッジが見つかるまではターンをし始めないようにすべきだろうか。その場合ターン速度はどこまで出せるのだろう。

■家の迷路と大迷路
綿谷さんと話したことだが、家の迷路をどんなに長い間エンドレスで走れせて走行時間と擬似的に距離を稼いでトラブルが無くても、大迷路では不具合がでる。大迷路の再現を家の小さい迷路でも出す方法は無いものだろうか。



第375回 タイヤ張替え:2004/9/7(Tue)

タイヤのゴムを張り替えているところ
張替えちゅう

■タイヤのゴムを張替え
本日は仕事後に飲み会。頭が旨く回転しないので、単純作業をする。
シリコンゴムが剥がれそうになってきたので、タイヤを張替える。新兵器の冶具を開発。ちょっとモデラを拝借して、タイヤより数ミリ径が大きいアクリル円盤を2枚作り、タイヤ母材をはさみ軸部分にねじを入れ締めて固定する。
タイヤより径が大きいアクリル板でサンドイッチしたのでタイヤとアクリル板の円周との間に隙間ができるが、そこにブチルゴムテープを巻いた後に、セメダインのバスコークというシリコンゴムを流し込んでいく。爪楊枝でならした後、たまたま手に入れた、テフロンシートを細く切ったものを巻いて作業終了。以前は困りはしなかったが、厚さが不均一だったので、今回は少しはましになるだろう。
さて仕上がりが楽しみだ



第374回 東日本申し込み到着:2004/9/7(Tue)

■探索プログラムいじる
探索アルゴリズムの肝である、マップデーターの構造をちょっといじった。一つ一つのデーターは壁が有る無し、壁が有る無しををチェックしたか、その場所に実際に行ったかの3種類3ビットを使用している。まだ5ビットも余裕があるので、なにかできそうな気がする。

■東日本の申し込み用紙届く
きのう申し込み用紙が届いた、早速申し込みだ。週末と、来週末は試走会らしい。来週末はずいぶん夕方の時間だ。フルに活用して頑張ろう。



第373回 壁の有る無し:2004/9/5(Sun)

■自動閾値決定
走らせる迷路のデーターをあらかじめマウスに与えておいてマウスを走行させ、センサー値とマップデータを比較しながら閾値レベルを自動的に補正するルーチンを組んだ。
初期値を0%からはじめる場合と、200%ではじめる二通りを試して、それぞれの上限、下限の中央を閾値レベルに設定しようと言うもくろみ。
実際やってみると、マージンの取れるセンサーもあれば、まったく無いのもある。
結構シビアだ(汗)

■有ると間違うのと、無いと間違うのどちらがましか?
閾値の調査で完全に間違いなしに壁の有る無しを判定するのは難しいことがわかった。
壁の有る無しの間違い方だけれど、壁が有ると勘違いするほうが問題が大きいと思う。壁が有ると勘違いすると最悪ゴールに到達しない閉じた空間のマップを作ってしまう事になる、しかも、どこで間違ったのかは、もう一度全部見回らないとわからない。
壁が無いと間違うのは、マップデータが閉じてしまう最悪の結果は起こらない。ただ、壁が無いと判断しているので、そこに突進していく可能性があるが、最終的に前方に障害物が有るかどうか判断して走行を一時的に中断してマップデータを修正すれば回避できるのでなんとかなりそうな気がする。
ということで、センサー調整がシビアな時は壁を無いと間違え易い方に(閾値を上げる)調整をしよう。



第372回 XMODEM実装その2:2004/9/2(Thu)

■アップロード
パソコンからマウスに迷路データをアップロードするための、XMODEMで受信するルーチンを実装した。前回は送信だけで手を抜いていたが迷路エディタで作ったファイルをマウスに転送する必要が出てきたと判断した。
これを生かして、センサー調整段階において、あらかじめ既知の迷路を走らせて、壁の見落とし等が発生した場合に、センサー閾値を自動的に調整する、ルーチンを作りたい。しばらく迷路を走らせることによって、最適なセンサー閾値が求められる事を期待したい。

■ジャイロ
アナデバのジャイロを使用中だが、だいぶノウハウ的なことが判り、使えこなせていると実感できるようになってきた。ヨーレート制御がかなり旨く働いていると実感できる。
角度を算出するにはドリフトがあり長い時間では誤差が大きくなってしまい、現在やっているエンコーダーでの角度取得のほうが優秀なようだ。

■機械式ジャイロ
井谷さんの機械式ジャイロは、すごいなと思う。実際に作ってしまったのもすごいし、あの時代に角度がとりたかったという事も時代を先取りしていたと考えるべきだろう。自分で作るとしたら、スリップリングの機能をどう実現させるか悩むと思うがベアリングでやってしまえるのかと感心した。



第371回 中部初級者大会:2004/8/30(Mon)


特別賞戴きました

■なめたん特別賞
本日(29日)は中部地区の初級者大会に参加した。総勢9名のエントリーだったけれども、時期と場所を考えれば盛況だろう。
恥ずかしながらと言った方がいいのだと思うが、特別賞を戴いた。旨く調整できずゴールに行けなかったので申し訳ないが、マウスを始めて3年目にして初めて表彰されてちょっぴり嬉しい。

■散々な前夜の調整
今回は例年に無く、探索から第2走行までのプログラムが修正箇所はあるものの完成した形で名古屋に行った。走行の調整もそこそこ走ると思って行った。ところが、最初走っていたが、しばらくして謎のリセットや、謎の暴走(プログラム的に)が頻発、ハードの不具合なのか、ソフトの不具合なのか判らず、朝5時まで結局あれやこれやと悩んだ末、諦めてホテルに行って仮眠。8時半に起きて、9時ごろ会場に前進し、しばらくマウスを眺めていると、ボタンの繋がってるポートの足が剥がれて浮いているのを発見した。半田ごてをあて無事復旧し、動作も安定した。しかし、前の晩に気がついても良さそうな所だが、夜中のぼけた頭ではだめだと言うところか。

■迷路は2003全日本フレッシュマン
迷路は2003年の全日本のフレッシュマンの迷路と同じものを使用した。本番前にやりたかった、センサーの調整や、走行系のパラメーターの調整は殆んどできなかったため、案の定、壁を誤認識しゴールまでいけなかったが、斜め探索はなかなか旨く行った。
競技終了後、調整ができたので、完全にゴールに行ける事を確認し、第2走行もちょっぴり調整できた。本日のベストは7.26秒だった。加減速の調整をすることでもう少しアップできそうだ。

■飲み会
終了後は中部マウサー(西日本マウサー)の社会人の方々とマウス・ロボコン談議に花を咲かせて楽しくお酒を飲みました。



第370回 明日は名古屋:2004/8/28(Sat)

■中部地区初級者大会
日曜日は中部地区で初級者大会が開かれる。調整のつもりで行ってくる。一昨年、初めてマウスの大会と言うものに出たのがこの大会。結局、走らずリタイアした思い出が有る。

■センサー
1msでサンプリングしていると、柱なんかはタイミングによってずいぶん値が変わってくるようだ。
マイコンのサンプリングは1msでも良いから、その間は積分してためておくとかそう言うセンサーが欲しいような気がしてきた。



ラップタイマー

■ラップタイマー
トレーサーの強豪こうのさんのページにラップタイマーの紹介が載っている。実は私も既にマウス用に一つ先に入手済み。ストップウォッチ計測もいいのだが、電子工作ものにはやはりこういったもので計測したほうがそれらしくなる。だがしかし、マウスのコード書き&調整のためキットのセンサー部の製作がまだ間に合っていなくてレポートできない。(申し訳ない;)と言うわけで、安価に分けていただけるようなので、興味のある方はJ's Factoryまでどうぞ。



第369回 探索歩数:2004/8/25(Wed)

■夏休み♪
今日から夏休み。マウスができる。

■探索歩数
森永さんにつられて私も自作シミュレータで過去12年分の決勝迷路試しました。方法は5つ。基本的には一歩づつ、最短判定をして、最短が見つかったらやめます。後は、皆さんのやられている方法を組み合わせただけです。以下が結果

表 探索法比較
探索比較表

歩数に関しては、私の斜め探索では一歩が180mmの場合と、一区画を真ん中で4等分した正方形の対角線の長さにあたる127mmの場合とが有るので、一歩の走行時間的にはちょっぴり差が有ります。この探索では、殆んど斜めに走っていますので、全体を占める割合は短いほうの一歩が高いと思われます。
皆さんの結果とは、だいぶ違って、得意不得意の傾向も違うようです。今年は一応12年分の迷路の歩数の合計が一番少なかった、方法Dで行こうと思います。これはスタートかとゴールの間を行ったりきたりする際に、直近の未探索ノードを調べに行くものです。

■おめでとうございます
ますぐちさん、ご結婚決定おめでとうございます。
いい人は、早くいくなぁ(しみじみ)



第368回 謎の減速:2004/8/24(Tue)

■1型サーボ
制御系に積分器が一つ入ると1型サーボ、2つ入ると2型サーボと呼ぶ。
ちょっと遅れてしまいましたが、8月14日の中島さんの日記を見てうなってしまった。加速中もこんなに目標値に一致するのは何故なのか。1型サーボはランプ上の目標値に定常誤差無く追随する事は理論上ない。できるとしたらかなりのハイゲインの時のみである。ゲイン大きいのかなあ・・
恥ずかしながら、私の場合(グラフ)は教科書どうりです(苦笑)

■謎の減速
もう一つうなったのは、加速中の減速について。この現象、中島さんのプログラムの固有の問題として解決していれば、私個人の問題で終わってしまうが、実は出るのである。
加速中の走行開始に近い頃に良く見られる。この現象、マブチの時もあったのでDCモーター固有の何かなのだろうか、それともたまたまなのか・・・・



第367回 ぐいっと戻して、ちょっぴり補正:2004/8/23(Mon)

■高速走行の調整に苦戦
なかなか思うようには行かないものだ。左右のスラロームを行うターンでどうしても角にぶつかってしまう。ここで両脇の前方センサーを取り去ったことを少し後悔している。直角ターンを綺麗に曲がるために角度サーボを強く掛けすぎて、タイヤがすべるらしい。ターン開始位置を早めにして、サーボゲインを弱くするべきだろう。

■角度補正
補正しにくい量にマウスの迷路に対する角度がある、上述のスラロームの繰り返しで角にぶつかる原因の一つにこの誤差の蓄積があることも確かだと思う。そこで井谷さん流のぐいっと戻して、ちょっぴり補正する方法で角度と障害物の回避をやってみる。中々いいように見える。グラフ(壁センサーの変化)。恥ずかしながら左右のセンサーの感度がかなり違う。(苦笑)。
走行動画
この方法で旨くいけば走行は、ゆるいジグザグ走行を繰り返す事になる。

■なめたん
名古屋に週末来ると、この探索が生で見られるはずです。



第366回 エッジ補正:2004/8/22(Sun)

■シーズン到来
長い出張から帰還して本格的にマウス作業に入っている。各方面、それぞれの地方大会に向けぼちぼち始動し始めた感じである。現在の進捗状況だと来週末名古屋に前進できるかもしれない。来週までにハプニングが起こらない事を祈ろう。いまのところ、大会モードの探索走行、タイムアタックの切り替え系の操作部分とか、マップの保存に関しての戦略等を実装してしまえば、なんとか大会に出せる状態にはなる。細かいパラメータ調整はまったく進んでいないので、完走できるかどうかは怪しいけれど、走らせてだめな事を確認する事はできそうである。

■補正の実装で悩む
壁切れを検出して補正を掛ける事をエッジ補正と言っているのだけれど、2次元の座標系で補正量をどう計算して補正後の座標をどう決定するか悩んだすえ、まずまずな方法を思いついて試している。通常ならマウスの前後方向の1次元で考えればいいのだろうけど、2次元の座標系の中を走っている事になっているので、斜め走行の時、マウスの横方向の座標をどう補正するかが悩みどころ。図を描いてみるとすぐアイデアは浮かぶのだけれど、マジでこれ実装するのかと思うとちょっと気が遠くなる。しかし、結局実装すると単純な数式に落ち着いてしまい、躊躇する時間が合ったら、手を動かすほうが早いようである。

■補正は旨く機能するか?
理想的にマウスが迷路に直交もしくは斜め45度に真っ直ぐ走っていれば、補正は旨く機能するはずだが、タイムアタックで高速に走行する際など、早めに旋回し始めるような場合に、理想条件を満たさない事が予想される、そんな場合は反って補正が悪さをするかもしれない。とりあえず、実装してみて試してみた。
探索ではエッジ進入時は真っ直ぐ入るようにプログラムしているので基本的に大丈夫な様である。高速モードでは旋回開始位置を速度によって可変させるのでエッジ進入時の姿勢が予測困難であるので心配だったが、結構うまくいっている。高速時においてもエッジ補正無しより、ありのほうが明らかに、完走率が高く、なかなか満足の行く結果となった。ただし、たまにエッジ補正が悪さしたと思われる状態になるので、いかにその状態をキャンセルするかが今後の課題。

■ソースはぐちゃぐちゃ
毎度の事だが、生起する不具合に、その度ごとに対処するコードを付け加えているので、ソースはぐちゃぐちゃになりつつある。とくに、フラグが乱立してきて、しばらくすると自分で意味がわからなくなる。何とかしたいものだ。



第365回 スタバにこもる:2004/8/1(Sun)

■スタバでマウス
家には冷房が無いので、仕事帰りとか、土日に涼しい(寒い時も有る)スタバでこーちをすすりながら読書をしたり、マウスの妄想に浸ったりする事が多いのだが、今日は午前中から行って、最初読みかけの本を最後まで読んでから、マウスのエッジ補正理論をまとめた、一応、すぐにコード化できる所まで仕上げたので、今週中に何とかしたい。週末からは出張なので、今週が勝負。

■今年度大会参加予定
 8月 中部初心者
 9月 東日本
11月 全日本

中部初心者は今の段階だとちょっと微妙、前日から試走できるので、大迷路を使っての調整の位置づけで行くかも。
東日本は何とかいけそう、非常に残念なのは仕事の都合で中部地区大会に行けないこと、例年多くの社会人マウサーが集まって楽しいのだが、本当に残念だ。今年は多くて3回、少なければ2回気合を入れていこう。



第364回 23g減:2004/7/19(Mon)

E-Tec250
E-Tec250

■減量
リポ電池を導入したおかげで、総重量が23g減って、152gになった。軽くなったため、タイヤのグリップが減り、タイヤが滑るようになった。また、新しいせいかもしれないけれどリポ電池は電流を多く流せるような気がするちょっとした瞬発力が、軽くなった事を差し引いても有るように見える。おかげで制御ゲインの見直しが必要で現在調整中。

■データなど
今回秋葉の「アサミ」で購入したリポは「E-Tec250-7C」と言うもの、詳しくはhttp://aircraft-japan.com/prod_datasheets/Lithium_Poly.htmを見てください。



第363回 夏の散財:2004/7/18(Sun)

次期マウス
次期マウス(笑)
リポ
リポと充電器

■夏の散財
今日は秋葉原に前進し、散財を敢行。ステアリングマウスの研究のための小型車両と、3式改の軽量化のためリポとその充電器を購入。小型車両はスーパーラジコンで購入、リポと充電器はアサミで購入。充電器はACアダプタに繋がるようにアサミが改造したもの。改造だと5000円高い。総額約¥35Kの散財

■順調に走る
3式改も探索は順調に走るようになってきた。いつもここで補正を入れないで、でかい迷路で補正の必要性を痛感させられるので、近いうちに実装したい。しかし、良い方法は未だ浮かばず・・・



第362回 IRLED決定か?:2004/7/14(Wed)

■いけてるIRLED
中島さんのホームページでIRLEDに関して大変参考になるレポートが載っている。データーシート上では東芝のTLN201(半近く±7deg)より良いようだ。
次期マシンの発光ダイオードは決定かな。

■受光側の視野
しかし、そんなに遠くまで見える必要は考えようによっては無いので、受光側の視野が狭ければ、照らすほうが全体的に満遍なく照らしてくれたほうが調整が楽でいいのかもと思ったこともある。とは考えつつ、S/Nは高いほうが良いので、努力して調整する価値は十分ある。



第361回 XMODEM実装:2004/7/9(Fri)

■XMODEM実装、仕様書の間違いに泣く
マウスからデータをダウンロードするためにXMODEMの実装に一応成功した。私の入手した仕様書に一部誤記があり、受信側が正常に受信した事を伝える信号にACKというのが有り、手元の資料の定義ではその値が0x05となっているのだが、本当の値は0x06であり、それに気がつかずしばらく時間を費やしてしまった。

■速度向上
実装した結果、ログを落とす速度は劇的に向上した、いままでデータをアスキーコードに変換して文字列として画面に表示させていたので遅いのは当然だった。爾後はバイナリで得たデータをエクセルで使えるようにCSVに変換するソフトを作ろうと思う。



第360回 モーター入手先:2004/7/6(Tue)

■DC5-2.4の入手先
今回新しく購入したDC5-2.4の入手先について質問がありましたのでお答えしますと。日本では秋葉原の電動プレーン専門店のアサミで手に入るらしいのですが、通販ページには単体+ピニオンのばら売りは、今のところ無いようです。私は電話で確認しようと思った時には既に営業時間が終わっていたので、インターネットで検索してカナダのhttp://www.microrc.com/Sky.htmに注文してしまいました。値段はカナダドルで1個$48です。ピニオン($3.2)も各種そろえられて便利です。1週間($20.5)で届きます。私のように秋葉に行くのが面倒な人にはオススメです。

■新しいモータドライバICの検討
3式改のモータドライバはFETとCPLDで組んだ自家製だが、有るものを使うのは楽なのでちょっと調べてみたら東芝のTB6549Fと言う石が目に留まったのでデータシートを読んでみた耐圧は30Vで電流は3.5Aと十分な性能、PWMで駆動できて、PWMのOFF区間はきちんとBREAK動作、ON前にはデッドタイムがきっちり入ると言う、うってつけの石なのだが残念ながら電源電圧範囲が10V〜27Vとある。しかし、データシートをよく読むと4.6Vまでは動きそうな気配(動くとはどこにも書いてありませんが・・)なので、とりあえず敬誠鰍ノ電話して数個注文してみた。到着したらレポートします。ちなみに単価¥495です。

■XMODEM
いままで走行データログはCSVでターミナル上に直接吐き出していたのだが、最大でデータ容量が400000バイトを超えるので無茶苦茶時間がかかる、おまけに外部電源をつなげられないマウスなので、データを吐き出している最中に電池がへばってリセットがかかる事もあり、何とか高速化できないものかとファイルダウンロードのプロトコルを実装できないかと思案中。そこで一番簡単だと言われるのがXMODEM。パソコン通信時代からおなじみだが中身がよくわかっていなかったので今回勉強した。かなり簡単に実装できそう。しかし、こうゆうのを調べた時に日本語のネットはすごく弱いような気がした、英語圏のページだとかなり簡単にその仕様の詳細まで行き着くのだが、日本語圏ではなかなか目的の資料まで行き着くのに手間がかかった。結局ロボワン関係のホームページで見つかった。

■補正いきづまり
日記など更新しているが、マウス作業は停止。壁センサーによる補正を適当に入れてみたが、旨くいかず。走行自体は計算の上に成り立っているのだから、補正も計算上旨くいく論理の上で成り立たせないといけないのかもしれない。しかし、いいアイデアが浮かばず、実装困難そうなアイデアは浮かぶのだが・・。



第359回 斜め探索:2004/7/4(Sun)


新センサー配置

■斜め探索とセンサー配置
今年の探索は斜め探索を入れることにした、そのためにセンサーの配置を無理やり変えた。両端の前方用センサーを取り去り1個を真ん中に前方用センサーとして取り付けた。当初次のマシーンで試そうと思っていたのを前倒しにした。
今のところこんな感じで走っている。ワンステップづつの探索にしたので去年の探索より遅いかもしれない。いろんな試みを一遍にやると収束しないので今年は着実に一歩づつ進むつもり。

■課題
課題としてはこんなとこか。自分の位置と角度の補正の最も正しい基準は壁に押し付けた時の位置と角度であるので、少なくても走行開始のはじめに一回だけはやるつもり。しかし、現時点では「ガタ、グチャ」とあまり美しくはなくもう少し、見せ方と言う意味で綺麗にしたいものだ。
現時点で、壁センサーの情報を姿勢制御系には入れていない、したがって走行距離につれてずれが生じてしまう。今後は壁センサーの情報により位置の補正と角度の補正を旨くやって行きたいのだが、どうもぱっとしたアイデアが無いのが現状。6輪の斜め走行の補正の考え方がやはり有効だと思うのだがまだ何もしていないので、これから検討する。
思考ルーチンが賢くないようだ、最初のムービを見ると判るが、最短が判明するまでゴールとスタートを往復するようになっていて、最短が判明すると左目が点灯して止まる。ゴール迄行って、その帰り未探索ノードを調べに行けば良いのに、既に探索したノードを通ってスタートまで戻り、その帰りにやっと未探索ノードを調べて、最短を見つけている。何かがおかしい、PC上のシミュレーションも同じことをしている。考えよう。


VLT概念図

■バーチャルライントレース(VLT)について
VLTに使用する情報は、ラインと姿勢とが成す角θ1、自分から見た目標地点の方向と姿勢とのなす角θ2、ラインからの距離d、これら3つをPID制御でライン上を走るように制御する。内部は三角関数、内積・外積、点と直線の距離、など高校数学+αを地で行っている。



第358回 探索あっさり解決:2004/6/29(Tue)

■探索バグ発見
前回書いた探索でバグる話は、自分の書いたモジュールの使い方を忘れていて、間違った引数の渡し方をしていた。重要なモジュールについては、機能と使い方をまとめておくべきなんだろう。

■自動閾値設定
壁の有る無しを判定する閾値は、環境光によって微妙に違ってきて毎回頭が痛い問題なのだが、松本さんが昨年やられていたように、スタートから半歩でて振り返ってやる自動閾値設定を実装してみた。これ、ルール上はスタートに戻った事にならないかちょっと心配。やってみると、自動調整した位置と、実際に走行している時に壁を見る位置が違っていたりしてそう簡単にはいかない。だいたい安全率を設定してマージンを持たせると旨くいくようなのだが、それが手動の閾値設定と同じような感じでトライアンドエラーを繰り返している。

■7月は
たしか東日本支部の例会はなし、月末は誕生日だし、マウスも探索ぐらいはできるようになっているだろうし、6輪も見たいし、櫃まぶしや味噌煮込みうどんも食いたくなってきたし、そろそろ遠出してみようかな。



第357回 東日本月例会に参加す:2004/6/27(Sun)

■久々の月例会
本日は久しぶりに月例会に行ってきた。少し遅れて試走会に間に合った。せっかくパソコンを持っていったのにケーブルを忘れて調整は一切できず残念。おまけにゴールポイントが家での調整迷路のになっていてさらにがっくり。それでもいえより長時間、長距離を走らせて見て、右回り傾向にあることを確認した。

■初の探索とのリンク
今シーズンになってはじめて探索モジュールと走行モジュールをリンクさせた。どうも旨くいかず途中で考え込む場面があり改善の余地ありか?パソコン上ではうまくいっていたので原因究明は困難を極めそう。

■自動補正
皆さんの走りを見ていて、やはり自動補正かなと思う。センサーの調整や、走行ゲインなどもろもろ。



第356回 モーター換装記念ムービー:2004/6/25(Fri)

■モーター換装完了
モーターの換装作業が終了し、マイコンの張替え作業も終わった。フラッシュの書き込み不良の原因はどうやらケーブルの断線だったようだ。無駄な事をしてしまったが、フラッシュの書き込み回数もかなりの数になるのでこの辺で換えておくのも良いだろう。
モーターの塩梅だが、まったく制御系を変更無しでとりあえず走らせて見た。なかなかロバストな制御系と言う事だろうか、なんかとりあえず走ってしまった。意図したとおりマイルド感がアップしていい塩梅ではないかと感じている。これで良いのかなあと思いつつも明日からちょっとはいじってみよう。

■換装記念ムービー
とりあえずモーター換装記念に低速(500mm/s)のムービを載せます。この走りが高速でもできたらなあ・・・
モーター換装記念ムービー


第355回 モーター換装:2004/6/23(Wed)

モーター換装

■モーターをDC5-2.4に換装
新しいモーターが届いたので思い切って換装することにする。誉モーターはトルクが大きすぎると思っていたので、手ごろなモーターは無いものかと探していたのだが、同じ製造メーカーのモーターでトルクの小さいのに換えてみる。これで制御系は再設計になるので振り出しに戻る感じ。時期的にぎりぎりのところで、大会に間に合うのかちょっと心配。それに、これが本当に良い方向に働くかはやってみないとわからない。重量は14gぐらい軽くなる。

■フラッシュ書き込み不能になる
どうやらフラッシュのほうも限界に来たようで7045を張り替えることにした。今日のところは古いのをはがして、新しいのを貼るところまで終了。3式については、回路設計ミスで修正ボードが載っていて、それを7045の足に直接半田付けしないといけないので、それは明日にする。



第354回 この週末も試行錯誤:2004/6/21(Mon)

■VLTの行方
バーチャルライントレース(VLT)の実現方法としてこれまで3つの理屈を考えて、3つとも実装してみて、パラメーターの調整方法の見通しが悪かったり、実装上複雑すぎたり、して現在のやり方に落ち着いているのだけれど、それすらまだ実装で苦労している。すでにVLTと言うより、ベクトルガイダンスコントロールと言った中身。
方法論は確立しつつあるとは思うが、もうちょい速くしようと思うと違う方法にすべきなのではないかと言う感じもしないではない。

■ハードも作る予定
今年はソフト中心なのだけれど、ソフトを作っていると「こういうハードなら良いな」と言うものが思いついてくるので、時間があれば基盤については新しいものを作りたい。台車は同じものを使う予定。ただし、モータはDC5-2.4なるある筋で有名な奴を調達中。今のはちょっとオーバースペックと思っているので比較してみたい。(最近FLASHへの書き込みがすこぶる調子悪いので、早急に新ハードに移行しなければならないかもしれない。)




第353回 割り込み時間オーバー:2004/6/18(Fri)

■割り込み処理の時間
いろいろ処理を書きなぐっていたら、割り込み処理時間が割り込み周期を超えていたらしい。コードを見直し、早くできるところは書き直し、かつ割り込み周期を適当に変えて調整した。そういえば、迷路探索ルーチン回していた時から、オーバーしてたのではと思い、再度確認すると、劇的に早くなっていた。問題が二ついっぺんに解決した感じ。



第352回 苦しんでます:2004/6/14(Mon)

■最短計算ルーチン問題
前に計算に時間がかかりすぎる話をしましたが、いろいろ工夫して、最初の時と比べると14倍ぐらいにはスピードアップした。しかし、まだちょっと遅いので、迷路を効率よく探索するのはあきらめ、全面探索をした後、停止状態で現在開発中の最短計算ルーチンを使う事にした。と言うわけで今年は全面探索で行く公算が大。

■最速走行調整中
に紹介した迷路で調整を続けている。最短タイムは3.34秒で森永さんのレポートにあるマイクロマウス3のタイムは2.87秒。その差は0.47秒で、やっているとこの差がものすごく大きく感じる。
未だ100%成功するわけではなく、50%ぐらいは柱にぶつかる。それと、壁をまだ使っていないので、壁を使った修正についてまったく取り組んでいない。今のペースだと間に合うのか心配。しかし、オドメトリで走るマウスで決勝進出が今年の目標なので頑張るしかあるまい。

■旋回モデル同定
速度制御系を変えないと仮定して、モーターへの旋回指令から実際のヨーへの伝達関数がどのようになるのかをステップ応答で確認。無駄時間16msをもつ時定数300ms、ゲイン66の一次遅れで近似できると判断。走行速度により時定数等が可変するかと思い走行速度を変えて実測したところ、確かに違いはあるが、誤差の範囲とできると考えた。シミュレーションのページで検討している数学モデルから導出された結果と比べるとそれほど間違いではない結果。

■ヨー制御系再設計
とりあえず得られたモデルにシミュレーションをしてPID制御のゲインを試行錯誤で決定する。ステップ応答に対して理想的な応答をするゲインと、サイン波に対して理想的な応答をするゲインが違っていてどちらが良いのか判断に困る。サイン波に対し良い結果をするゲインは全体的に大きく、制御入力が飽和気味。小気味欲カクカク反応してくれるのだが、頑張りすぎの感じもする。

■制御量の配分問題
2輪DCの問題だと認識しているところに、速度制御とヨー制御に制御量をどう配分し、実際のコーディングはどうしたら良いのかという問題。右のモータの制御量をur、左をul、速度制御量をuvとして、ヨー制御量をuyとすると実際の式は
ur = uv + uy;
ul = uv - uy;
と言う感じになっているのだが、ur,ulは無制限ではないので、場合によってはuvが大きくてuyも大きいと飽和してしまって、出したいヨーが出せなかったり、速度制御が旨くいかなかったりする。今のところヨー制御優先の味付けだが、それもあまり良い方法とは言いがたい実装をしているので、まだまだ研究が必要。以前にやった現代制御を使えば同時に二つの量を制御できるのだが、今回はそこまで手が回らない。

■繰り返し地獄
実際は、試行錯誤を何度も繰り返したり、思いついた変更をして、もう一度同じ手順で設計しなおしたりと苦しい試行錯誤が続いている。ふー(><;)




第351回 新探索実装難航す:2004/5/16(Sun)

■新アルゴリズム実装難航
GW明け以降更新をしていないが、新しい探索アルゴリズムの実装が難航している。難航と言うより、失敗と言ったほうがいいのかもしれない。迷路データの構造が複雑なため余計な処理をしている事と、壁数分のデータ544個(!)と通常は256区画分の処理に対して2倍以上のデータ量を処理しているためか、はたまた、私のコーディングがへぼなのか、実際にSHに計算をさせるとまったくもってマウスとしては非現実的な処理時間を要してしまい、探索には使い物にならない。

■ダイクストラ法
最短導出に用いるダイクストラ法というのが思ったより効率がよくない。もともとあるノードと全ノードとの最短経路を求めてしまうアルゴリズムで効率よくないとは思っていたが、計算途中でゴールノードにたどり着いたら他のノードの事はどうでも良いので計算を打ち切るようにしている。期待したのはゴールを見つけるのに全体の半分も調べないうちに行けるかなと考えていたが、実際のところほとんど8割がたのノードを調べてからゴールにたどり着く、これでは時間がいくらあっても足りない。
乗りかかった船なので、しばらくいい方法を考えてみる。



第350回 探索シム何とか動作する:2004/5/9(Sun)

探索シミュレータ
探索シミュレータ


■シミュレータとして動くようになる
GW前から作り始めていた探索シミュレータが動くようになった。思っていた機能や操作性はまだ完全に出来上がっていないが自分で使うのには十分そう。いろいろアルゴリズムを試してみたい。足立法を実装してみたら、あるパターンでは発振したり無限ループに陥ったりしたが原因究明には便利なツールだと思う。
こういうシミュレータはコンパイルされたバイナリがあっても作った本人以外にはありがたみがほとんど無いものだと思うが、表示部分をライブラリにして自作の探索アルゴリズムとリンクできるようにしたら少しは存在価値はあるだろうか。
その場合でもVC++を用意しないとだめだとかだと敷居が高い気がする。VC++で作ったソフトにBCCで作ったDLLをリンクするような事ができるなら、高いソフトを買わくてもBCCでアルゴリズム部分のDLLを作ってリンクさせる事もできるかもと妄想しているしだいです。
とりあえず暇つぶしまでに


第349回 距離最短を求める:2004/5/6(Thu)

2つのコースの比較
2つのコースの比較

■2つのコース距離比較
迷路探索シミュレーターの最短導出モジュールとその可視化モジュールができたので2002年のエキスパート迷路に対して試してみた。
現在のアルゴリズムでは純粋に距離最短を求めている。結果は南回りのコースが8055 9431mmで最短と出た。ゴールに細工して北周りのコースを求めると11486mmこれらは経路を直線で結んだ時のもので斜め経路の長さに関してはmmオーダー以下は丸めているので全体的に少し短いかもしれない。
これを見ると北周りと南回りではその差が3431 2044mmで北周りのほうが約2m長く、感覚的には結構大きい気がした。
実際の大会では上位者はほとんど北周りの距離的には長いほうを選んでいる。ターンの回数に着目すると北周りが27(8)回(カッコ内ははそのうちの直角ターンの回数)南回りは33(11) 37(14)回。ターンでの減速が距離の優位さを完全に覆すことが判断できる。

最初にアップした記事は迷路入力にミスがあり実際の迷路と違っていましたので上の記事は修正後に書き直しました。

■ターン及び直線の重み付け
プログラムのほうはやはりターンと直線の重み付けをきちんと取り込む方向で改善していきたい、できればマウスの性能を考慮して適切な重み設定をやりたい。
ちなみに、距離最短では表示している以外でも同じ距離になるコースが複数在りターンの重みを入れればもっとターン数が少ないコースも求められるはず。

■探索シミュレーターの必要性
探索シミュレーターと言うよりも自分の探索ルーチンのテストをパソコン上でするプログラムは必ず必要だと思われる。しかも、実際にマウスに実装するソースをそのままテストできることが望ましいと思う。
こう考えるには、探索モジュールはアルゴリズム的なエラーに加えて、同じような記述が繰り返し出てくるので、コピペしただけで必要なところを変更していなかったりとケアレスミスが結構ある。また、条件が揃わないとエラーとして顕在化しなかったりする、たちの悪いエラーもあるので、いろんなシチュエーションでテストできるテストプログラムの存在は大きいと思う。いまさらだが。



第348回 VC++壊れる:2004/5/5(Wed)

■間違って置換して上書き
VC++.net使用して探索シミュレーター作成中にある文字を置換した。その時に開いているファイル全てを対象にしてしまい、そのまま上書き。クラスマネージャとか使っていると、MFCのインクルードファイルなんかも開いている場合があるので、そちらも変更されてしまったようだ。しばらく気づかなかったが、間違ってリビルドした時に大量のエラーが発生、しばらく意味がわからなかったが、よく考えると、多分そういうことなのだろう、やった事はわかっているので逆をすればいいのだろうが、もはやどのファイルを変えてしまったのかたどるのは不可能そうなので、現在修復インストール中。1時間以上かかりそうなので秋葉にでも行こうと思っている。それにしても、大事なファイルはデフォルトで変更できないようにしておいて欲しい。



第347回 探索シミュレーター:2004/4/26(Mon)

探索シミュレーター画面
探索シミュレーター画面

■本日は東日本月例会だったが・・・
本日は行かなかった、案内状が当日の朝届いたからではなく、部屋の掃除と迷路シミュレーターのプログラム作りに夢中になってしまったので敢え無く断念。まあ、実機のほうが、大迷路を走らせて何か得られるレベルに達していないと言う事も有る。

■探索シミュレーター
某ページに影響受けたり某ページにも探索に関することが載っていたりしたので作り出したわけではなく一応予定の行動。いや、やはり影響はあるのだろな・・ちょっと前に話した迷路データー形式に基づくアルゴリズムの検討の一環。最短導出アルゴリズムにダイクストラ法を用いて足立法と組み合わせる。迷路データに壁が有る無しではなく、縦横斜め、どちらに行けるかで管理する。やる事は結局同じだが、どちらにいけるか考えなくて良い分速い筈。そのぶんメモリは今までの倍近く消費する。まだ途中だが、作り始めるまでに、どうやってデータ持たせるかかなり頭をひねった。画面は開発中のもの、まだ迷路エディタ段階、入力に合わせて壁とノードとエッジが描かれる。これだけで最短が見えてくるかも!?

■最大の敵はMFC
アルゴリズム考えるのも難しいのだが、コーディングが一番大変、MFCわからん!まあ、自分が頭悪いのだろうが、やりたい事をできるようになるまでやたら時間がかかる。オンラインのマニュアルじゃ結局引ききらず、Googleで検索して答えを見つけている。インターネット無けりゃ、昨今プログラムもできない。N88の時は今に比べりゃ薄いリファレンスマニュアルでやりたい事はすぐに見つけられたのに困ったものだ。
昔のBASICのマニュアルに対応させて同じことをMFCでやるにはどうしたら良いのか、誰か作ってくれないだろうか。



第346回 久々にライントレースロボット作成:2004/4/18(Sun)


ライントレースロボット

■ライントレースロボットを作る
職場の有志で作っているロボット同好会でライントレースロボット大会をやるのだがそのためのロボットが完成した。他の仲間は既に完成していた人もいたので、言いだしっぺとしてはそろそろ作らんといかんなというプレッシャーを感じていた。

■マブチモーターの2輪作動は難しい
レギュレーションは自分で作ったのだが、モーターとギヤボックスは田宮のツインモーターギヤボックスを指定した。ゆっくり走らせるのはバンバン制御でもまったく問題ないが、ちょっと欲張ってくると、ゲインのチューニングに時間がかかりそうな感じだ。やはりマブチモーターを推進に使いステアリングは別のもっと応答の良いモーターを使うのが得策だろう。



第345回 迷路データ:2004/4/12(Mon)

迷路データの形式参考図
迷路データ形式参考図

■迷路データフォーマットを見直す
マウスを始めた当初から迷路データを保持する形式については森永さんがロボマガで紹介されていた方式をそのまま採用していた。その形式でも多分同じ事はできるのだが、メモリに余裕がある状況では、もう少し違う事ができるかなと考え始めている。
VLT(バーチャルライントレース)が一応成功したと言うのも、その動機のひとつだ。VLTでは点と点を指定すれば、その間を真っ直ぐ進んでくれる、点の間隔を短くして曲線を描くようにすることもできる。でもって、図のように迷路のデータを赤丸で示したノードで保持して、そのノードからどちらの方向に移動可能なのかというデータを保持させる。迷路が解明できたら、VLTでノードとノードの座標を指定してやれば、マウスはそのとおり移動してくれるので、楽チンである。
あと、ちょっと前に話したグラフ理論で言うグラフそのものになるので、既存の理論の応用がそのまま可能なところも魅力。

■でもやっぱり直角は曲がりにくい
VLTでもやはり直角コーナは曲がりにくい事が実験でわかってきた、そこでノードとノードをスプラインで補間して滑らかに繋ぐ事を考えていたら、ますぐちさんの日記でいいことを教えてもらった。人生勉強する事は一杯あるもので、そこが楽しいのだが。



第344回 速度追求:2004/4/5(Mon)


使用した迷路データ

■VLTの走行試験
走行試験を実施。昨年の支部会報の森永さんの記事に出ていた4×6迷路の一つを使って、実験を繰り返す。森永さんの記事はこの迷路に6輪マウスを走らせてタイムを測定したもの。

■実験ムービ
ムービ(495KB)
後1秒以上縮めないと優勝レベルに行けない。恐ろしい事だ。



第343回 VLT第一段階達成:2004/4/1(Thu)

■バーチャルライントレース第一段階完成
昨日VLTの実験が成功した。当初はマウスの中心から一定の半径の円がトレースしたい直線と交わった点をセンサーの位置として、その点とマウスの中心を結ぶ線とマウスの向いている方向のなす角に比例するように目標ヨーレートを発生させる方法を試したが、中々旨くいかなかったので、トレースさせたい直線状を仮想のターゲットを移動させて、それを追いかけるアルゴリズムに変更した、ターゲットの方向とマウスの向いてる方向のなす角に比例したヨーレートを出すのは同じ。この方法で旨く走るようになった。しかし、まだ速度はゆっくりなのでもう少しはやくしたい。

■ゴム紐でひっぱってる感じ
仮想ターゲットの追いかけは、ターゲットとマウスの距離を一定に保つように設定した離隔距離と実際の距離の差を速度目標値にフィードバックする。今のところ比例制御しかしていないので、走り出す時ゴム紐で引っ張ってるようかのように、当初は勢い良く走り出し、しばらくするとゆっくりになり、また速くなるように、あたかもゴム紐で引っ張っているかのように走る。面白い。微分制御を入れると少しよくなるだろう。また、スタートの時はマウスはある程度ゆっくり加速するのに、仮想ターゲットはフルスピードで動き出す事になるので最初はマウスとターゲットの距離が大きくなるのでスタートの時は速度がいつもより大きく出る。これを直すのにはターゲットもゆっくり加速するようにすれば良いだろう。

■自己位置推定誤差
この方法の要は自己位置推定だけれど、これに関しては前にも触れているが、まあまあの精度で推定できている。オドメトリによる方法では時間とともに誤差が累積するが、マウスの最短走行での時間程度ならば我慢できる範囲のようだ。

■ムービー
今回の実験ムービー



第342回 TOEIC受験:2004/3/28(Sun)

■TOEIC受験
毎年、毎年、英語もう少しできるようになりたいと思いながらも、まったく勉強することなく1年が過ぎていたのだけれど、「今年こそ!」と思って数ヶ月前にTOEICの申し込みをしていた。が、しかし、やはり受験前日まで一切勉強せずに当日を迎え、玉砕した。まったく持って、自分の英語力の低さを思い知らされた。なんとなく判ったのは最初の写真を見ながら答える問題だけ、後のほとんどの問題は確証がまったく無い状態で答えを書いている。その状態で2時間近くも座っていると、わからない難しい本を読んでいる状態と同じく眠たくなってきて、一度うとうとしかけた。実は、前夜、勉強していないので行くだけ無駄だろうと思い、本日予定されている、東日本支部の例会に行こうかなと思っていたが、もし今日行かなければ、もう2度と行かないような気がして、自分を叱咤激励して会場に前進した。若い人が多かったが老若男女多くの人が受験していて関心の高さが伺われた。すこし、要領がわかったので、どれか一つの出題形式に焦点を当てて勉強して次々回の6月の試験に再チャレンジしてみようと思う。

■バーチャルライントレース(VLT)
昨日は英語の勉強をしないで、VLTのコーディングを実行した。ここで言い始めてからだいぶ経つが、やっとこさ重い腰をあげたわけである。これまでの間、頭の中やノートでだいぶ検討していたので、コーディング作業自体は予想していたより短時間で終わった。コーディングは目的の動作をさせるのにどうゆう構造にするか悩む時間が多いが、それをずっと先に考えていたのでさっさっとできた感じ。関数を作って、一度パソコン上で動作確認しマウスに書き込んで更に動作確認する。いよいよマウスを動かす段になったがやはりすぐには動いてくれなかった。何度か修正した結果、直線ではあるが、きちっと仮想のライン上を走った時は嬉しかった。だが、今のところ旨くターンさせる事ができない。ターンは仮想の直線をクロスさせてそれをトレースする事になるが、交点の左右どちらが進むべき方向かを正しく指定して行かせるアルゴリズムに考え違いがあり、今のところ動作していない。しかし、後もう少しで第一段階は完成しそうだ。

アルゴリズム■グラフ理論・グラフのアルゴリズム
迷路の探索について調べているうちに、グラフのアルゴリズムと言うのに行き着いた、アルゴリズムを考える学問ではポピュラーなものだそうである。グラフと言うのは複数の点を線で繋ぎましょう、繋いだ場合一番コストがかからず繋ぐ方法はどんなだろうとか、繋いだ線に重み付けされている場合にA点からB点に行き着くのに最小のコストはどのくらいで、どの経路を通った時なのか、と言った問題を解く際に使われる考え方で、点と点を線で繋ぐのは正にグラフである。我々は数学のグラフとか、実験で書くグラフのイメージがあるが、本来のグラフと言う言葉は点と点を結ぶと言う事なのかもしれない。これはまさしくマウスの迷路探索の問題を解くのに知っていて損はないかなとちょっと今マイブームとなっています。

■閉鎖
ますぐちさんがメインページを閉鎖された。とりあえずリンクを作り直す。



第341回 歓送迎会の季節:2004/3/24(Wed)

■歓送迎会多し
季節柄、お酒を飲む機会が増えている。家に帰った時には酩酊状態のことが多いので、趣味に時間が裂けない。今日は久しぶりにしらふ。

■自立性
 マイクロマウス競技で与えられた競技時間中一度も手を触れないと言うのは私の憧れなのだけれど、タイムトライアルで少しでもタイムを縮めたいと思うと、2輪マウスなら必ずタイヤを拭かないとならないので、やっぱり一度はマウスに手を触れないといけない「どうすればいいのかなあ」と悩んだ挙句ちょっと面白いアイデアが浮かんだ。まあ面白いだけで実用化できるかどうか判らないけれど今年はそのアイデアを盛り込んでみようと思う。

 自立性に関連してもう少し触れると、極論なのだけれど上級者になればなるほど探索の意味合いが希薄なのかなあと思ったりする。最初から迷路データを持っていて、競技をスタートさせても結果はあまり変わらないのではないのか。それじゃ面白さが半減なので5分ルールはそれに対する答えの一つなのだろうか。



第340回 OpenGL陰影付け成功:2004/3/18(Thu)

陰影をつけた画像
陰影をつけた画像

■本日もOpenGLをいじる。陰影をつけるところまで行く。陰影は、光源の色や、物体表面の反射や周辺光の当たり具合など、事細かく決めていく作業で、考え方も初めてだし、用語も複雑なので、中々わかりにくいところだ。ただしディフォルトの設定で今回ぐらいの表示にはなる。次は半透明に挑戦する。それが終われば、アニメーションのやり方を勉強する。



第339回 OpenGLでお絵かき特訓:2004/3/17(Wed)

本日の成果
本日の成果

■OpenGLが楽しい。帰ってきてから、参考書を見ながらちまちまとやっている。やっと壁を表示できるようになった。視線を変えたり。画角を変えたりして、見え方を変えて遊ぶ。まだのっぺりとした見え方しかできないので、明日は陰影の有る表示に取り組んでみたい。



第338回 無人ロボットカーレース:2004/3/15(Mon)

■昨日まで知らなかったのだけれど、アメリカで無人ロボットカーレースというのが開かれたそうだ。無人のロボットカーで200キロ以上走破させると言う壮大な競技なのだが、非常に面白そうではないか。

■結局、11キロぐらいで全ての車両がリタイヤしたらしい。マイクロマウスの競技が第一回はゴールに到達したマウスは一台も無かったと聞いているが、来年はすぐに進歩してもしかしたらゴールできるかもしれない。

■高校のチームのエントリーもあったと聞いているので、わが日本からも参加者がいずれ現れるのではないか。マイクロマウスやトレーサーの面々が結集すれば、100万ドルも夢ではないかも。

■今日同僚と話していて、どんな路面もたとえひっくり返っても、走れる構造をしたローバータイプの車両と、走れないところはよけるタイプの2極化していくのではないかということになった。

■優勝候補のカーネギーメロン大学には金出先生と言うコンピュータービジョンの大家がロボティクス研究所長で居られたと聞いている。だとすると優勝候補のロボットも日本人である先生の影響があるのではないだろうか。修士の学生の時に大学に講演に来られて、大変面白い話を聞いたことがある。確かその時も無人自動車の話をされていたと記憶している。

■ただし主催者が米国防総省防衛先端技術局と言う事で、軍事利用を前提にしているので、日本人には抵抗感があるかもしれないところが難点。



第337回 シムのページ更新:2004/3/13(Sat)

シミュレーションのページ(以下シムペ)を2ページほど更新しました。

■現段階のシムペのプログラムではパラメータ更新すらソースリストを書き換えてリコンパイルしなければならないのだけれど、いずれはきちんとしたユーザーインターフェースを備えたものにしたい。野望ではマウスの本物のソースをほとんど変更無しにリンクしてPC上である程度の制御系設計や、アルゴリズムの検証ができるようにするのが目標。

■出力の確認も、printfが吐き出すデーター列をファイルにリダイレクトしてgnuplotやエクセル等で確認するしかない。しかし、これについては自前でグラフエンジンを作るのは効率が悪いので、エクセルVBAなんかを使う方向も検討している。

■ちょっとだけ自慢すると、DCモーターの電気的特性からシミュレートしているのでミクロ的(もっと小さいけれど)にはPWM1周期ごとの電流の挙動も確認できるし、マクロ的にはマウスの加速や速度と言った力学的挙動もきっちり確認できる。ただし、PWM周期100KHzぐらいの世界を確認するために刻み幅をものすごく小さくしているので、実時間1秒間の計算をするのに30秒近くかかる・・ソルバの効率化や刻み幅の適応的可変アルゴリズムを採用して高速化を図りたいが、PWMパルスを計算しているだけにその周期がもつ制約を克服するのは難しそうだ。

■開発はGCCでやっているのだけれど、遊びでGCCとBCCでコンパイルしたものの実行速度をを比較したところ、GCCが30秒ぐらいのところをBCCは37秒かかった。両者もデフォルト状態なのでオプションによっては変わるかもしれない。

■結果を可視化するのにグラフだけでは面白くないのでOpenGLによるアニメーションを実現しようと思って勉強中。赤本と言われる12000円の本を買ってしまった。

■計算結果例

図1 速度と電流
図1 速度と電流

図2 入力電圧と電流
図2 入力電圧と電流



第336回 マウスの壁センサーについて:2004/3/7(Sun)

■マイクロマウスの壁検出の方法は、ウイング・デジタル式と反射強度測定方式に分類できると思う。私が採用しているのは、後者の方。3式についてはアンプを介さずフォトトランジスタの出力を直接入れている格好になっている。その際の負荷抵抗は3.3kΩ。

□この場合、周辺光の影響がモロに効いて来る事と、アンプが無いので遠くまで見えない。見える距離は2区画が精一杯で、遠くに行くと数cmで1ビットと言うように分解能がものすごく悪くなる。
また、アンプ有り無しにかかわらず光の当たる壁の向きに大きく影響を受ける。
もし定量的に距離を測りたい場合は受光強度と距離の変換テーブルが必要であり、ちゃんとやるならば、壁に対して光がどの角度で当たっているのかわからなければならない。このような2次元テーブルを作るのは結構手間であるし、大概のマウスは自分の迷路に対する姿勢角が判らないので、受光強度と距離の1次元テーブルしか意味が無い。

□周辺光の影響は距離のずれとなるので、どうにかしたいところだ。
また、遠くが見えないことと角度に影響を受ける事は、スラーローム探索などをしている時の壁検出に結構影響してくる。スラ探の時は次の移動経路決定のロジックを回さないといけないので、早めに壁の有無を調べたいので、姿勢が斜めのうちに壁を見に行く事になる。すると、光が斜めに当たるので、受光強度が下がって、壁の有る無しを判断する閾値より小さい場合などが出てくる。距離がどうしても遠くなる前壁の検出などは特に厄介になってくる。
定量的に距離をとらない場合は、姿勢制御が難しくなると私は思っている。迷路の中心からのずれを壁からの距離で求めるわけだけれど、センサーの出力をそのまま使うと、距離によって受光強度の傾きが違ってくるので、制御の話で言うと、ちょうどゲインスケジューリングしているのと同じことになる、ただしこの場合は、目標値から遠くの場合ほどゲインが小さく、近いほどゲインが大きくなり、一般的に考えると、最悪の方向のスケジューリングがされている。

□周辺光対策としては、ハイパスフィルターを使ってDC成分を除去する事だと思うのだが、3式はフィルターを入れるとADCの入力が極端に小さくなってしまったのでフィルターを撤去した。アナログ系の理論が判っていないための定数の設計ミスだと思う。回路でカバーできなかったので、LEDを点灯する前の値を一度測定し、周辺光の明るさとして引く事によって対処した。
距離が取れない事や、壁の角度によって壁を見失う問題の解決には、アンプを使う事だと思う。ただし、最小探知距離と長距離部分での分解能をどこまで求めるのかは、おおむね持っておいてアンプのゲインを決定しないといけないと思う。ログアンプを組めればよいのだろうけど、温度等影響が小さいログアンプをコンパクトにまとめるのは難しそう。現状でもできる対策としては、センサーが真横と斜め両方あるので、それらを使い分ける方法もある。
また、制御をやさしくするには、受光強度と距離のテーブルも必要になってくると考えられる。手間のかかる作業であるが、一度ルーチン化することによって事後の作業は少しは楽にする工夫ができると思う。場合によってはアンプのゲインの選び方によって、リニアに近いところを切り取れるかもしれない。
また、姿勢制御でがっちり中心線からずれない制御をかけられれば、微小な変動の範囲であれば、センサー出力をそのまま使っても、リニアな範囲とみなせるのでそれで良いかもしれないが、制御の設計が試行錯誤の繰り返しで一番時間がかかるような気がしているので、良い方向性とは思えない。

□壁センサーはマイクロマウスのとって非常に重要なデバイスなのだが、かなりいい加減に人のをまねたり、適当に設計していた。というか、センサーの裸の特性や、壁に反射した時の受光特性などを知らないで設計しているのだから、本当は回路定数など決めようがなく設計など何一つしていないことになる。これは、反省しなければと思いつつ、今年も安きに流れるような気がしてならない。しかし、安きに流されずきっちりやるべきことをやればそれなりの見返りも得られる部分ではないかと思う。

■出張から戻り、久々にまとめて徒然なるマウスへの思いを書きなぐってしまった。こんなにだらだら書いてもだれも読む気がしないと判っているのだが・・・。しかし、せっかく戻ってきたのに、水曜日からまた、3日ほど出張だ、落ち着く暇が無いなあ。




第335回 3.3Vと5Vジャイロ問題:2004/3/3(Wed)

■新しいボードは3.3Vで統一できそうだと思っていたら、アナデバのジャイロが5Vであることに気づく。何とかならないか、3.3Vで動くとか・・・

□このジャイロ、0°/sは2.5Vなのだが外部に抵抗を繋いでずらせるらしい、3.3Vの半分の1.65Vに設定すればいいのだろうか?それで左右どちらの回転もうまくリニアに出るのだろうか。ダイナミックレンジも抵抗を付け足す事で変えられるので、3.3Vを超えないように旨く調整できればいいが。

□もし、何も細工しない場合、3.3V−2.5V=0.8Vしか余裕が無い。ADCは10ビットだから分解能は3.3V/1024=3.2mVなので、0.8Vは約250分割する事になる、450°/sぐらいまでは測定したいので、分解能は1.8°/sでちょっと荒い。

□5V系で動くADCを別に買ってきて、シリアルかパラレルのバスで接続すると言うのも考えているがちょっと面倒くさい。

■掲示板でかのっちさんが教えてくれたのだが、ロボグラが来年3月になった。愛知万博にあわせたらしい。11月にマウスが終わるので期間的には出れるかもしれない。



第334回 CPLD・位相係数・シリアルバス:2004/3/1(Mon)

■XKM4はマイコン基盤とI/O基盤を分離するためスペースに余裕があるので、CPLDを大き目のEPM7256AEを載せたい。そこで、エンコーダーのパルス幅の測定をCPLDに任せようかと思案中である。3式ではエンコーダのパルス幅測定はSHのマルチファンクションカウンタのコンペアマッチ割り込みを使用した。この方法は、エンコーダーの回転速度の変動で割り込み周期が変動する事と、CPUパワーを消費するので、あまり良い方法では無いと感じていた。CPLDとマイコンの通信は、今回マイコンの空きポートが少ないためシリアルバスでやろうと考えている、これらの実現方法は今年の技術課題である。

■リンクに松本さんの「夢鼠工房」と石川さんの「イスカー マイクロマウス研究室」を勝手に追加。



第333回 基盤設計準備:2004/2/28(Sat)

■出張が長引いてなかなかマウスに時間が裂けないのだけれど、久々に休みがあったので、中部地区大会の時になかじまさんから譲ってもらったSH7144のイーグルのライブラリに登録する作業をする。

□イーグルでのライブラリ登録は、3式を作った時以来の作業となったため、ライブラリ作りのやり方を忘れていた。3式のライブラリを参考にしつつ作業を続ける。

□そういえばイーグルのバージョンが4.11にあがっている。前のバージョンのWin版はかなり頻繁にフリーズしてくれたのだが、今回のバージョンは今のところ固まらない。

□マイコンを7144に変えるので3.3V系に初挑戦する事になる。すべて3.3Vで動作するデバイスを使えば電池4本で駆動できるかもしれない。

□3.3V系のデバイスと言えば、3式ではリセットICにSRAMのメモリバックアップのために電源を切り替えてくれる機能のあるICを選んだのだけれど、3.3V系でも似たような奴はあるだろうか。

□恐らく4式と言う名前になる次期マウスの開発コードはXKM4(こうへいマウス試作4号機という意味)とする。XKM4については3式のソフトを継承しつつも、今考えているアルゴリズムに適したものにするため、センサーの個数と配置、それに検出距離を変えるのが主な目的。



第332回 基盤を新しく作るかな:2004/2/17(Tue)

■今年は完全に新作は作らないつもりだけれど、3式の基盤がジャンパ飛びまくりと言う事と、センサーの配置と個数を変更したいので、5月いっぱいをめどに思い切って設計しなおそうと思う。

□3式の基盤は1枚にまとめようと頑張ったのだけれど、素人にはちょっとばかし大変だったので、次はCPUボードとI/Oボードを分けて少しばかし楽をしようと思う。センサーも近場より、もう少し遠いところろの分解能をあげたいのでアンプをつけようと思う。トラ技の記事見ていてモーターの電流制御もできるかなと感じたので、余裕があればやってみたいな。


「ビークル」コロナ社

■最近、仕事帰りに飯を食った後、近くのスターバックスで読書をすることがお気に入りだ。コーヒー飲みながら結構集中できて、勉強がはかどる感じ。今読んでいるのは、私の大学の恩師が一部書いている「ビークル コロナ社」と言う本。著者は航空宇宙工学の先生なので飛行機、ロケットはもちろん車や、2輪式ロボットの話も出ていて、概論的にとても面白い本だと思っている。特に7章の「移動体の位置認識」は私がいまマイクロマウスで取り組んでいるオドメトリによるデッドレコニングと壁センサーによる補正と言うテーマにとって非常に参考になり、今後より探求していく上で参考になった。ちなみにこの本は去年の歳暮のお返しに先生からサイン入りで頂いた。

■外注での精度と仕上げの話ですが、勉強不足と言う事と、ソフトでの指定もよくわからなかったと言う事で、参考になりました。>ますぐちさん



第331回 静止摩擦力測定&ジャイロ積分:2004/2/15(Sun)

静止摩擦力測定
静止摩擦力の測定

■新しく買ったタイヤに取り合えづノンスリップシートを貼った。横方向の静止摩擦力を測る実験をしたので報告する。

種類横方向静止摩擦力マウス重量
ノンスリップシート&HDPEタイヤ160gf197g
バスコーク(シリコンゴム)&アルミタイヤ145gf206g

タイヤの種類が違うので重量が違い比較するには片手落ちだが、軽い方のノンスリップシートとHDPE(高密度ポリエチレン樹脂)タイヤの組のほうが、静止摩擦力が大きい。ノンスリップシートは偉大だと言うべきだろう。ホコリにも強そうなので、今年はノンスリップシートに戻ってみようか。

□目安にしかならないと思うが、160gfまで遠心力に耐えると考えて、半径9cmの旋回を横方向に滑らないでできる速度を求めてみると約850mm/sとなった。旋回半径に応じた速度を求めるのは(求めたい半径/90mm)で求めた値を掛ければよい。

■ジャイロの実験報告の続き。物理量(角度)への変換係数を求めるために、ジャイロ出力を積分しながら360度回し終わった時の積分値を求めている。360度きっちり回すには、最初に固定した壁にお尻を押し付けた状態から、回し始めて、最後に再度押し付けると言う方法を使っている。自動的にそれをやるプログラムを作ろうといつも思うのだが、今回も手動。

□まず静止した状態の出力を1msごとに500回とって、その平均値を求める。求めた値は以後のジャイロ出力から引いてやる。これを、キャリブレーションと言ったり、ゼロキャンと言ったりするんだと思う。その後、マウスを回して積分値を求めるが、最初は静止状態でドリフトを観測してみた。結果的には予想どおりものすごいドリフトで、5秒間ほって置いて、角度に直すと10度以上のドリフトに相当する量が発生したりする時もあった。しかも、毎回ドリフト量が違うところが厄介である。ゼロキャンされたジャイロ出力を見ると、0の時もあるが大体1、−1の間を振れる、1ビットの間で揺れるのはA/Dの宿命だろう、仕方が無いので、分解能を犠牲にする事になるがゼロキャン後の出力の下位1ビットを捨てる事にした。この結果積分のドリフトは目覚しく改善された。さらに、静止状態でゼロキャンデーターを500回積分した値を保持しておいて、常に500回おきにその値で積分値を補正する処理をかけてもっといい結果を得た。と言っても完全に0にするのは不可能であった。最近はカーナビなどの普及で安い低精度のジャイロが普及しておりこのあたりのノウハウはたくさんあるとは思うので、知りたいところだ。

□ドリフトはまだ不満足ながら改善したのだが、角度との対応で左右の回転方向により微妙に積分値が違うと言う問題が発生している。必ず左回りが大きく、右回りが小さくなる。こうなると機械的に傾いているとかその辺になるのかもしれないと思っているが、原因は完全には不明。ジャイロの出力の符号によって変換係数を変える等の処置を考えなければならないかも。まだ工夫の余地はあると思うので、結果が出たら報告します。この実験を通じて思うのは、角度を取るには、エンコーダーを二つ繋げた3式の方法が中々よい事が判った。



第330回 eMachineShopから部品が届く:2004/2/11(Wed)

届いた樹脂製ホイール
樹脂製ホイール
拡大図
拡大図

以前eMachineShopにホイールを注文していたのがやっと届いた。途中材料が無かったり、カードの不正使用にあってカード番号が新しくなったりしたためいろいろ調整しているうちに遅くなってしまった。当初の予定では年末ぐらいには届く予定だった。

□材料は高密度ポリエチレンという奴らしい、自分が指定したのはABS樹脂だった。少し硬そうなので、衝撃に弱そうで心配。加工は精度も仕上げもぱっとしない、リムの表面にチャックでかんだ跡がはっきり見える。初めての樹脂加工の外注だが、以前にオープンガレージさんに注文したアルミの仕上がりとはだいぶ違う、こんなものなのだろうか。正直仕上げの指定方法とか、精度の指定方法とかよくわからなかったので、それも影響しているのかもしれない。

■今日は仕事で使う部品の買出しも兼ねて、秋葉に行った。しっかり8MSRAMも買ってきた。それに次期マウス開発の研究用に電流検出用のMAX471と赤外線トランシーバモジュールのHSDL3600#007を購入。今年はソフト主体と思っているのに、部品が揃い始めると作りたくなる。

■秋葉詣でも年季が入ってくると、どこで食事するかも、お気に入りの場所が出てくるのではないかと思う。私の場合は昭和通りの「魚がし日本一」という立ち食い寿司屋か秋月の通りの一本隣の通りにある「丸五」と言うとんかつ屋に行くことが多い。お金が無い時は、昔三菱銀行だったところに出店している大たこ焼きで済ませる。ちょっと休憩する時は、ドトールに行ったり、その斜め向かいの、コーヒ屋(名前失念)、かラジオセンターの上の喫茶店に入る。今日は特ロースとんかつ定食を食った。食いながら、「宗教上こんな旨いものを食えない人たちもいるのか。」と感慨にふけってみたりした。



第329回 VLTの話(その2):2004/2/1(Sun)

ラインパターン
図1 ラインパターン

■明日からまた出張なのでしばらくまたお休みになる。

■今日もVLTの思索にふけった。図1は最短コースを、傾きが0度、90度、45度、135度の直線で描こうと思った時に、用意すべきパターンを図示したもの。全部で6パターンで表現できる。

組み合わせ例
図2 組み合わせ例

□図2については、6パターンの組み合わせ例。探索で求めた最短コースをこれら6パターンをあらわすコードに置き換え、アルゴリズムはパターンごとに場合わけしてセンサー振れ角を求めていくのがすっきりすると考えている。

■NHK特集を見る。殺したくないし、殺されたくない。矛盾を抱えながらイラクに派遣される仲間たち。個人には処理しきれない沢山の問題を抱えながらイラクに行く仲間たち。平成16年は自分の考え方を変えなければならない年になりそうです。



第328回 バーチャルライントレース:2004/1/31(Sat)

■VLT実現のためにコーディング前のメモ

□実際のトレーサーはラインをトレースするためのセンサーが車体の前方に取り付けられている。SSM方式のライントレースでは1点で固定され左右に動くセンサーがラインをトラッキングし、その際のセンサーの振れ角の2分の1をステアリング角にする。

□実際のマウスには可動式のセンサーは無いし、迷路にはラインは無い、したがって、デッドレコニングより得られた座標とマウスの方向、その座標を中心とし半径がセンサーのアーム長に相当する円と、ラインに相当する直線の方程式との交点をセンサー位置とし、センサー位置と円の中心とを結ぶ直線がマウスの中心軸となす角をセンサーの振れ角とする。

□ステアリングを持つ車両はセンサーの振れ角をステアリングの操舵角に関連させればいいが、2輪式マウスの場合は私的には2つの方法を考えており、@センサー振れ角に比例させて左右のモーターのデューティーの割合を変化させる方法。Aセンサー振れ角に比例させたヨーレート目標値に対してヨーレートサーボを掛ける方法。どちらも効果が期待できるなら実装が単純な@を採用するが@はその時々の速度によって、向心力が変化するので旨くいかない気はしている。

□センサー位置に相当する円と直線の交点を求めるには2次方程式を解けばいいので、解の公式を使え計算時間を節約できる。ただし平方根の計算が入るのでその辺の演算負荷を今後検討したい。また、2次方程式の解は2個以下なので、解が2個あった場合、前回の交点と近い解を求めるべき点として採用する。

□難しいのは、自分の位置にあわせてラインの方程式を切り替えていかないとならない事。そして、そのラインは探索で得られた、最短経路を結ぶラインでなくてはならない。今回は全ての仮想ラインを傾きが0度、90度、45度、135度の直線で繋ぐ事とする。カーブに関しては計算が難しくなるので円等は用いない。この場合、次にどの方向に進むかは判っているので、それに合わせて、直線の傾きは4種類しかなく、センサーの座標に合わせて切片を変えた直線の方程式を用意すればよい。こう考えると、円と直線の交点を求めるルーチンも、傾きによって場合わけして4つ作るほうが、アルゴリズムも簡単で高速になるような気がする。直線方程式の切り替えは、センサー座標が新たな座標に入ったときに実施されなければならないので、センサー座標が新たな区画に入ったかどうかの判定も必要。

□座標のずれが大きな問題の一つだと思うが、壁センサーの値とのデーターフュージョンでうまく切り抜けられる方法を今後考えたい。

□この方式は実験的な試みだが、多少大回りしてもラインに復帰できるのでカーブの進入速度をぎりぎりまで上げられる可能性がある。ドリフトっぽい走りをするマウスが作れるんじゃないかとちょっと期待しているのだがどうだろうか。



第327回 とりあえず帰還:2004/1/29(Thu)

■ちょうど上陸した次の日から大雪の降った北海道から無事帰還。しかし3日からまた出張。嗚呼!(TT)

■当然ながらマウスはまったくやれなかった、頭の中の妄想のみ、来月の月例会は出張最終日になってしまい、恐らく参加できず。参加できても何も進歩していないのはせっかくの意義が半減だ。

■出張中に東京に残っている同僚から森永さんがNHKに出ているとの携帯メールが入る。残念ながら北海道では見られなかった。テレビの取材など受けてみたいものです。勝たないと出られないのか、それとも実績+人柄が重要なのか。



第326回 出張:2004/1/12(Mon)

■年末・年始ばたばたしていて実際の作業は何もしていない。やはり大会前でないと進まないのか。と言いつつシミュレーションページを少しづつ更新。

■明日から出張、3月はじめまで、行ったり来たりが続く。

■イラクに同期が二人行く事が判った。非常によく知っている人間たち。無事に帰ってきて欲しい。



第325回 マイクロマウス2003ダイジェスト(期間限定):2003/12/31(Wed)

■年末年始特別企画ということで2日まで、マイクロマウス2003の主に決勝の走りをまとめたムービをアップします。主に決勝でセカンドトライでゴールまで行った走りを録画しました。たまに撮りそこなったりしているので、順位ごとにきちっと入っていないところはご容赦ください。競技者に特に許可を頂いていないので、問題があればご連絡ください。

マイクロマウス2003ダイジェスト(終了、見てみたい方はメールください。)



第324回 2004年の目標:2003/12/29(Mon)

■今年もあとわずかで終わりだ、来年はどの程度の事をするか考えてみた。

□基本的に仕事が忙しく、全日本当日に東京にいない可能性が大きいので、地方大会になるべく出るようにしたい。

□新ハードは作りたくてしょうがないので作らないとは断言できないが、我慢してソフトの向上と、次期ハードの設計とそのための情報収集に努める。

□探索は今年のものを使うとして、来年はいよいよセカンドトライの高速化に挑む。目玉はバーチャルライントレースアルゴリズム略してVLTAによる高速走行の実験である。今年の探索走行でも仮想的にラインを作り出してそれをトレースしているのは同じだが、今年のは自分の重心をラインに乗せようと制御している。これでは、運転手が自分の真下のラインを見ながら運転しているようなもので、絶対に高速には走れない、そこで来年は、自分より前を見て、舵をきる方式にする。普通に人間が自動車を運転するのと同じ方式だ、具体的にはマイコンカラリーではすでに常識であるセンサーステアメカニズム(SSM)をマイコンの中でエミュレートする。技術的課題はアルゴリズムとその実装、デッドレコニング(オドメトリ)の誤差の壁を使った補正等々。

□マイクロマウスシミュレーションプログラムを完成させたい。妄想では必要な数式が揃いつつあると言った感じだが、まだタイヤの力学が勉強不足で前に進めない。「自動車用タイヤの研究 山海堂」を取り寄せ中。

□次期ハードだがエンコーダーを4つを検討リストに加える。モーター軸じか取りと、路面センスで4つ、FPGAでなんとか処理しようかとも思っている。ジャイロの実験でかなり使えそうなことが判明してきたので、もしかしたら路面センスは並進速度をとるための一つでよいかもしれない。モーター軸に関しては、本当はモーターにはトルク制御をかけたいのだが現状でできていないのでそのためにあればいいかな。もう一つの検討事項は電流制御=トルク制御。これがができればモーターのエンコーダーは要らないかも。一つの疑問は電流制御をデジタル制御でするには電気的時定数より十分短い周期で制御をかけないとだめなのかということ。そうであればこれもFPGAの仕事になる。



第323回 作業机:2003/12/23(Tue)

作業机■自宅でのロボット製作の作業環境は地べたに座ってコタツ机で作業をしているが、どうも長時間集中して作業するのには、椅子と机の方がいいような気がする。そこで机を購入しようと考えているのだが、結構いいお値段である。そこで森永さんにならって東急ハンズで切り出して安く上げようと画策中です。



第322回 アナデバジャイロレポートその2:2003/12/21(Sun)

今日の成果ジャイロを使って探索の速度アップと精度アップを試みてみました。まだまだですね。

■ジャイロを使って制御をかけてみる。単純に今までエンコーダーから得ていたところをジャイロのADC出力値に置き換えてみた。あっさり正常に動作する。
□エクセルでグラフを書きながらゲイン調整、基本的にはエンコーダーの波形がノイズに汚れているが、平均値で見れば同じ応答をしているといえる。
□ヨーレート制御は速度制御なので微分は入れていない、あまりジャイロの意義は無いのかと考え始めて、ためしに調整したゲインで、再びエンコーダー方式に置き換えてみて、走らせて見るとやはり、走ってしまう。
□しかし、何度かやっているうちに、エンコーダー方式のほうがクラッシュ確率が高いような気がしてきた、また見た目にもジャイロの応答のほうが立ち上がりが鋭いような気がする。もう少しグラフを見ながら比較してみないとだめかな。



第321回 アナデバジャイロレポートその1:2003/12/21(Sun)

ジャイロとエンコーダ出力の比較
図1 ジャイロとエンコーダ出力との比較

■ジャイロのお話の続き。プログラムを書き換えて、まずは手で揺らして5秒間ほどの波形を取得してみた。図1はジャイロとエンコーダでのヨーレートの値を比較してみたもの。青色がエンコーダー出力、紫がジャイロジャイロの信号と物理量との対応がまだできていないので、エンコーダーの波形をみて適当にスケール調整しようと思っていたのだが、偶然ほぼ同じ値になったので、図1はADCから得られたそのままの値をプロットしたもの。

ジャイロ、エンコーダ比較拡大
図2 ジャイロとエンコーダ出力との比較

図2は図1の一部を拡大したもの。エンコーダー出力がかなりノイジーなことが確認でき、それに比してジャイロ出力は滑らかだ。この滑らかさは制御をかけるときにゲインを大きく取れる。とくに微分制御はかなりやりやすくなるはずだ。
□これまで動作からエンコーダによるヨーレート取得がまずまずうまくいっていると思っていたが、こうして比較すると、なかなか正しい値を出していたのだと再確認できた。

積分による角度の取得
図3 角度

■ジャイロを使ったらやってみたいのが、ジャイロの出力を積分して角度を取れるかだ。図3は青色がエンコーダのカウント値より割り出したマウスの角度、紫色はジャイロの出力を台形積分してから、エンコーダの値と出力が合うように調整したもの。結果はマイナス側のピーク付近でずれがあるものの、測定区間では顕著なドリフトは認められなかった。今回は測定時間が5秒と短いのでこうなったのかもしれないが、90度ターンなど短い時間に角度を取得したい時などは十分実用に耐えそうだ。

■次回はいよいよジャイロ出力をフィードバックしてヨーレートサーボをかけてみる。



第320回 ジャイロ入手:2003/12/20(Sat)

アナデバのジャイロ装着■遅ればせながらアナデバのジャイロADXRS300を入手した。こうゆう物を手に入れられるようになったのは、マウス仲間あってのことでありがたい。早速、秋月の穴あき基盤をしこしこ切って、半田ごてをにぎり、実装モジュールを作る。
□型番の300はたぶん、測定レンジが±300°/sであることを示していると思う。しかし、データーシートを読むとこれはミニマムで、出力端子に抵抗をつけることにより変えられる。この抵抗は内部にあるアンプの倍率を決定する抵抗に並列に接続されて、このため抵抗値が変化してアンプのゲインが変わる事により測定レンジが変わるからくりのようだ。
□ちなみに外部抵抗をつけた場合の抵抗値を計算する式がデーターシートの6ページの最初にのっているけれど、たぶん分母の×は+の誤植だろうなあ。このまま計算すると全部1Ωになってしまう。
□抵抗の他にバンド幅を決定するコンデンサを付けろと指示されている。つまり出力にローパスフィルターを作ってやるのだ。今回は手元にあった100KΩの金属皮膜抵抗を3個直列につないで300KΩをつくって、コンデンサは0.1μFこれで、抵抗値(ROUT)は113.5KΩになって、バンド幅は約14Hzとなる。コンデンサもあったものを適当に使って計算したらこのくらいの値だったので、それほどおかしな値でもないだろうと思い決定した。バンド幅はマウスの動きを考えると十分だと思っているのだけれど、もう少し広く取ってやったほうがいいのだろうか。
□これで測定レンジは、おそらく180÷113.5≒1.59で300を1.59倍して大体測定レンジが480°/sになるのだと思うのだが、間違ってますか?0.2sで90度旋回すると450°/sなのでこのぐらいのレンジ設定でよいと思う。

オシロで波形を確認■まだプログラムには反映されていないので、とりあえずオシロに繋いで波形を見てみた。面白い、手で動かすときっちりそれに応答して、波形が出る。
□これまではエンコーダーから速度をだして両輪の速度差をヨーレートとしてヨーレートサーボをかけていたが、非常に汚い波形でゲインもあげられずあまりよろしくなかったのだが、このジャイロの信号はかなり期待できる。この次は、その結果を紹介したい。



第319回 物欲:2003/12/15(Mon)

■本日は東日本支部例会&中部地区忘年会。といいつつも、さすがに中部地区にはいけず(すみませんみなさん)東日本支部の例会はエキスパート決勝、マイクロクリッパ参加者の方々の講演と、一人づつ来年の抱負を語った後、試走会を実施した。
□出発前に壁判定時のセンサーの閾値と壁判定をする位置をちょっとだけ前にづらしたり、直進時の横壁検出のセンサーを今まで斜めセンサーだったのを真横センサーに変えてみた(旋回時は斜めセンサー)りした。家の試走では好調で、実際試走会でも好調だった。大会で見られた明らかに有る壁を無いものと誤認する現象は見られなかった。
□今回の試走会のもう一つの目的は、前日のシリコンゴムタイヤを試す事。当初、タイヤに紙をくっつけると持ち上げると持ち上がるほど粘性があるので、今までの経験ではホコリ一発ツルツルアウトと思っていたが、家のしばらく使っていなかった、ホコリだらけの迷路で結構好調に走っていた、で、試走会でもなかなか好調であった。最後はすべりが原因と思われる、旋回時の中心ラインからのずれで壁を見誤ってしまったが、スタート・ゴールを2往復以上タイヤ清掃無しでいけたので中々の成績。最後はやはりタイヤは真っ白だった。
□このタイヤはシリコンゴムの塗り方が適当なので、表面がかなりぐちゃぐちゃなところがかえってよかったような気がする。

■物欲の話。最近欲しいものが無くて、お金はロボ関係か、本あるいは食い物・酒に消えていくのだけれど、ボーナスも入ったことだし何か買うかと考えて、PSXはたまたP503isかと思ったのだけれど、どちらも必要ないあるいは、今もっているもので十分じゃないかと考え直しあっさり没。そんななかSo-netからのメールでAirHのようなPHSパケット通信サービスのメールが届く。なんでもシャープのザウルスC860専用(今のところ)で月々2000円で使い放題らしい。毎月ほとんど使っていないAirHにPHS代金も含めて6000円近く払っていて、そろそろやめようかなと思っていたので、面白そうだと思い現在検討中。通信サービスも惹かれたのだが、くだんのザウルスも面白そうで、OSがLinuxである事は魅力的だと思う。そして、どうやらGCCが使えるらしい。夢のPDAでマイクロマウス開発環境が構築できるかもしれない。そうすると、このところ懸案事項であった遠征グッズを大幅に小型化できるかもしれない。夢かな。



第318回 キーボード交換:2003/12/13(Sat)

交換したキーボード■不覚にも通常使っているノートパソコンの上にジュースをこぼしてしまい、あれこれやった結果、かえって事態を悪化させ、キーボードがいかれてしまった。キーボードユニットは簡単に取り外す事ができるので、これだけ手に入らないかメーカに聞いてみた。通常はやらないとのことであったが「お客様責任」で売ってもも良いとのこと。工賃が6000円ぐらいとのことなのでそのぶん儲けたかな。

タイヤにシリコンゴムを塗っているところ■マウスのタイヤをシーリング用のシリコンゴムで作ってみる。まずブチルゴムの両面テープを張ってその上にゴムを塗って、旋盤に取り付けて、バイトの代りに定規を咥えてゴムを平らにならしていく。方法はjunさんに伺ったもの。一度に厚く塗る事はできないので、厚くしたい場合は数度に分けて実施する必要がありそう。シリコンゴムにもいろいろあるのでいろいろ試さないと本当の効果はわからないかも。まだ乾いていないので結果は後日報告します。



第317回 マイクロマウスシミュレーションのページ準備:2003/11/28(Fri)

自動車力学■オフシーズンは色々妄想ができて楽しいシーズンです。マウスの妄想、ランサーの妄想。マウスで言えば、シーズン中はとかくなんとか探索を切り抜けようとか、速く走らせようとパラメーター調整に明け暮れ、冒険的な新理論を試すことは案外できないものですが、この時期は余裕があるんでそれが出来ます。ということで、非常に重要な時期かなと思っています。

■まえまえからシミュレーションには興味があるのですがライフワーク(ちょっと大げさ)としてマイクロマウスのパソコン上でのシミュレーションについて研究してみたいと思っています。そのためのページを準備中です。DCモーターの制御のページは挫折したのでそうならないように、地味にゆっくり進めたいと思います。

□それに関連して、タイヤと路面の力学を探るために、「自動車力学 影山克三・影山一郎共著 理工図書 ISBN4-8446-0356-6」を買ってきて勉強中。駆動力係数・制動力係数とスリップ比の関係をモデル化するのが課題かなと思っています。あとコーナリングフォースとかかな。WEBでいろいろ調査するとタイヤのモデル化にはMagicFomulaとかいう方法が有るらしいが、今のところ詳細は不明。勉強せねば。実際シミュレーションできると、DCマウスの定性的な検討ぐらいには役立つはず。なにより、その考察自体が楽しそうだ。

■久々に何もない週末が訪れる。何をしようか迷うところだ。



第316回 eMachineShopで部品発注:2003/11/25(Tue)

eMachineShop■綿谷さんに教えていいただいeMachineShopで発注してみる。

□eMachineShopって言うのは、最近話題のインターネットを介して部品の外注が出来るお店。ネットを介してと言ってもメールとかWEBではなく、専用のCADソフトで設計して、そのソフトがその場で見積もりもしてくれて、最後に注文コマンドをメニューから選ぶと、インターネットに繋がっていれば、自動的に発注が完了する。

□専用CADソフトはホームページからダウンロードできフリー、小一時間ほど遊んでいると、何となく使い方が判ってきたので、3式のホイールの図面を見ながら、ホイールを書いてみる。ポンチ絵感覚で設計が出来てしまう感じ。材料もかなりの種類から選べるのがまた親切。アルミより軽いABSで作ってみた。さわり始めてから2時間後思わず発注ボタンを押していた。ほとんど衝動買いにちかい(汗)それほど、お手軽に出来てしまう、恐ろしいシステムです。



第315回 終了:2003/11/23(Sun)

■全日本マイクロマウス大会予選参加。探索は不完全ではあったが、ゴールに到達でき、マウス人生初の第2走行を実施できた。

■1回目の探索は当初は順調に見えたが途中で、有るはずの壁を無いものと見なし壁に激突しリタイヤ。第2走行も同様な症状でリタイヤ。あとでビデオを見ると旋回後の左壁の検出に問題があることが判る。それでも迷路マップはそれまでの情報が蓄積されているため3回目の走行は何とかゴールにたどり着き、第2走行の準備完了。

□探索は完全に終了していないものの、あとトライは2回なためモードをタイムトライアルに切り替える。とは、言っても今年は第2走行には全く力を入れていないので、タイムトライアルのモードは2モードしかない。1つは探索と全く同じ速度。もう一つはそれより若干速くしたモード。直線で加減速はしない。4回目、5回目でそれぞれのモードともゴールに到達し、各々15’608、13’398。よって自己ベストタイム13秒398が今年の結果の全てであった。

□課題は
(1)センサーの見誤りを如何に防ぐか
超信値旋回で探索をすればほぼ防げるのだがスラ探の完成は目標の1つなのでこの問題は解決したい。
(2)タイムトライアルの高速走行
これに関しては未知の領域なので、これから色々やりようがあるだろう。現時点では問題点が具体化されていない。

□予選の足切りラインは11’427でしたので、あえなく予選敗退。今年度のマウスシーズンは本日をもって終了。つらい日々から少し解放される。しっかり放電充電して来年度に望みたい。やりたいことはたくさんある。

予選ムービー(5.5MB)



第314回 明日は全日本大会予選:2003/11/21(Fri)

■明日は9時半よりお台場のパナソニックセンター全日本マイクロマウス大会の予選が行われる。調子今2と言うとろだが、今年は参加することに意義を見いだし、強豪の走りを見学するぐらいの気持ちでいく。トレーサーもエントリーしていたが、棄権します。

■前回、旋回の問題は、直進、左旋回、右旋回とも走りたい走行ラインからの誤差をフィードバックしている。それぞれの場合において単独で制御はつじつまが合っているのだが、直進から右旋回に移るときに、ラインからの誤差の符号関係が逆になっていた。微分制御は前の誤差をそのまま使っているので過大な誤差の変化が有ったと勘違いして微分項が巨大な入力を生み出していた。走行データーのエクセルの表と2時間にらめっこしてやっと判った。先週の月例会前だったら、実迷路で確認できたが、残念だ。

■エントリー者のリストが届いていない。実は会員になっていないので会員以外のエントリー者には届かないのだろうか。それともエントリーが受理されていないのか?心配



第313回 同じ進入速度で突っ込んで旋回しても:2003/11/19(Wed)

■2×16の迷路を展開し、長距離走行時のずれを確認した。たとえ1区画1mmずれても15歩進めば15mmずれ、倍なら30mmだ、これは大きい。走らせて計測して、壁切れ補正と組み合わせる。まずまずの結果となった。

走行軌跡

■旋回で悩んでいる。同じ進入速度でターンを始めているのに、ターンの際の挙動に非常に大きな差がある。上に貼り付けた絵はマウスが走った軌跡をプロットしたものだが、左下から右に向かってスタートしている。初めのターンはいい感じに自然に回っているが、戻ってきて最後のターンはやたら、がんばって回ろうとして大幅に軌跡が乱れている。何故か、現在検討中。支部例会の迷路でも長距離走行後の挙動に似たようなものが見かけたので、これが解決できれば、かなりの進歩になるはず。



第312回 センサ値VS角度:2003/11/17(Mon)

センサーテーブル作り■困ったときは基本に戻る。ということで、センサーの値なんかを見直したりする。ついでに、いままで取っていなかった、前壁センサーと距離のテーブルなんかを作ったりする。さらについでに横壁センサーのテーブルも見直す。更に、角度とセンサーと壁の関係について調べてみた。

□センサーテーブル作るときはエクセルを活用する。実験データーをプロットし、カーブフィッティング。これが結構、綺麗にフィッティングするので気持ちがいい。その後エクセルの出してくれる近似式の逆関数をつくって、センサー値から、距離のテーブルを作る。ここまではエクセルをフル活用、その後列をコピーしてエディタに貼り付けて、成型して、終了。成型の際はエディタのマクロ機能を活用する。測定時間を除けば、ものの5分もかからず終了。この方法を確立するのに、マウスやり始めた頃はずいぶん考えたなあ。

□角度とセンサーと壁については、壁を4周に張り巡らしたり、平行に置いたりした状態で、360°超信地旋回させて、その際の角度とセンサー値をメモリにためて後からはき出させ、エクセルでグラフ化する。なるほど、なるほど。最低でもMAXとMINは判るな。



第311回 だめじゃん:2003/11/16(Sun)

1/2単四■本日は月例会、16×16の迷路で試走してきた。今回は社会人は少なかったかな。井藤さんの新作を見られた。うーむ、すばらしい。自分も精進せねば。同じくDCの米さん、綿谷さんも、バビュン、シャカシャカとそれぞれの走りを披露していた。私はと言えば、ゴールまで行き着けず、「ぜんぜんだめじゃん」とかなりがっかりモードである。

□長距離行ったときの壁の補正と、角度の補正をしっかり作り込まないといけないようだ

■例会の前に秋葉のスーパーラジコンに行きハーフサイズの単四バッテリーを購入。バッテリーがたくさん置いてある電動飛行機のコーナーにはなく、レジの上にぶら下げてあった。8個入りで1440円は以外と安いと感じた。早速、マウス用の電池にパックする。これでマウスの重量は200gになった。100の大台までいけずちょっと残念。



第310回 明日は月例会:2003/11/16(Sun)

■部屋を整理していたら支部会報がみつかり明日月例会であることを確認。
□大会前最後のフル迷路での確認になるのできっちり調整したいところ。
□本日は大会用の探索モードと、タイムアタックモードがあるプログラムに仕上げたかったが完成せず。去年とたいして進歩してない、とほほ。



第309回 探索終了判定処理:2003/11/15(Sat)

■最短が見つかったらその時点で探索を終えるためのルーチンを入れているのだけれど、どうも不安定、同じ迷路を走らせているのに時として判定処理が無限ループに陥って帰って来ないときがある。良いときは旨くいくのだけれど
□処理の内容としてはスタートからゴール、ゴールからスタートの最短経路を計算してその結果の経路がすべて既に探索された区画であるならば、捜索を終了するというもの。

■日曜日は月例会はあるのだろうか案内が届いていないような気がする。大会前にフル迷路を使える最後の機会なので是非行きたいのだけれど。



第308回 壁切れ補正:2003/11/14(Fri)

■壁切れ補正が上手くかからない。無くても家の迷路だと問題なく走るが、16×16だとちょっと不安なので、なんとか実装したいのだが、どうしよう

■ロボット展見に行きたいけれど、マウスの予選と重なるんだよなあ、と思っていたら、掲示板のかのっちさんの書き込みで、会場は隣だと気づく、当日暇があったら、のぞいてみよう。



第307回 接して、揺らさず:2003/11/12(Wed)

新やり機構■最近さぼり気味の日記更新・・マイクロマウスの全日本大会終了の日までは毎日更新できるようにがんばりたい。

■今年の全日本の目標は、安定した探索を慨成させ、予選を突破することとする。副目標としては、クラッシュして停止した際に自動的に復帰するモードを実装したい。座標が判っているのだから、理論上出来るとは思うのだが。

■と、言いつつ、いまだ壁切れの補正など、実装しなければならなかったり、修正しなければならない所が多々あり、大変。

■つい、他の事を考えて、JWCADで落書き。L−193は偉大だと感じ入る。



第306回 ロボット同好会:2003/11/10(Mon)

■職場の同僚に電子回路や物作りに興味がある人がいて、初夏の頃からロボット同好会と称して、月二回ぐらいのペースでロボット作りをする会合を設けていた。
□その人はロボットを作ることは初めてなので当初H8を使ってライントレースロボットを作ってもらっている。そうこうしているうちに、もう一人ふえて3人になっていた。そこで今年度末にささやかにライントレース競技大会をしようと言うことになり、じわじわ盛り上がっている。
□先日若手の飲み会が久々にあったので、作っているライントレースロボットと私のマウスを、酒の席の余興として持っていった。結構興味がある人がおおくて嬉しい誤算だった。その後、土日が終わって、今日、その飲み会に参加していた人が、ライントレーサーの本を持ってきて、やってみたいのだけれど、何から始めて良いのか判らないので教えてくれと来た。嬉しいことだ。これで会員が5人になった。

■それにもかかわらずマウス作りはモチベーションが低下している。いかんなあ。まだ、最短走行とかやるべき事はあるのだが。直線で思うように速度が上げられないのが、原因のようだ。



第305回 ランサー3040点:2003/11/9(Sun)

■本日はロボットランサー。尾花先生のKLRVがついに3040点を獲得し優勝。2位はRaikaさんのBlizzard Xが2660点。

■KLRVはショートカットで周回数をかせぎ高得点を獲得。円柱はねらわず。Blizzard Xもショートカットを採用、安定した確実に点をかせぐ走りでした。

■junさんが予選1位でありながら、決勝でトラブルに見舞われて全力を出しきれず残念でしたが、その走りは会場を非常にわかしていた。

■審査員の方々はあまりランサー競技自体の過去の動向を知らないということ。まあ、しかたがないか。

■めでたいのは相棒のなかおっちのN2003(YariYari2000R改)が予選突破し決勝で100秒完走し10位になったこと。来年もがんばりたい。

■見てるとでたくなる、しかし尾花先生が展示走行でたたき出した3140点の壁は高い。

■本日は衆議院議員選挙、不在者投票で投票済み。結果は各種報道でされているとおり。イラクで死人がでないことを祈りたい。



第304回 高速走行むずかし:2003/11/3(Mon)

■今日は昼間はマウスをいじったが疲れて夕方以降はお休み。

■高速走行はなかなか難しい。2m/sぐらいで振動が押さえ込めない。制御ゲインが見つからない訳だけれども、答えが果たしてあるのかじっくり考えてみないといけない。また、制御法が悪いのかもしれない。ゲインをちょっと変えては走らせと、トライアンドエラーを繰り返しても時間の無駄なような気がしてきた。

■来週はランサー、相棒のランサーN2003はなんとか完走できそうな気配だ。



第303回 探索ほぼ完成&3式マウスT:2003/11/2(Sun)

3式マウスT■中部大会で何となく旨い探索の味付けを判ったような気がして、帰ってきてから、モーター制御ゲイン等を見直した。その他、壁の見逃しや、諸々のバグを洗い直した結果、いままでマウスをやってきた中で一番安定して探索が出来ている。壁に押しつけるところがちょっと悲しいところではあるけれど、これをしないと座標がずれてしまうので仕方がない。
探索ムービー(2.4MB)

■今日出会ったバグというか単純ミス
while(条件式);
hogehoge();
↑としたかったのが
while(条件式)/*←セミコロンがない*/
hogehoge();
としていた。これってコンパイルはエラー無く通おるので気が付くのに少し時間がかかった。たぶんポピュラーなミスだと思うけれど、自分としては始めてであったので報告まで。



第302回 スタートラインに立てそう:2003/10/27(Mon)

■本日は早く帰って、更新しようと思っていましたが、職場の同僚とまた飲みに行ったため暫定版。

■日曜日は中部地区大会。そのため、土曜日の午後から名古屋に上陸。東日本大会以来の16×16迷路に挑むが、探索でゴールに行く前にこける。しかも、タイヤがホコリで全く使い物にならず、絶体絶命の危機。
そこで救世主登場。調整で来られていた米さんがご自分のスペアのタイヤ素材を分けてくれた。ホントに感謝です。

■走行制御のゲインが不適切で、ふらつきがあったり、旋回でふくらんだりと、徹夜の調整でなんとか良い値と、制御測実装上の工夫を見いだす。家の迷路ではそこそこ旨くいっていたで、良いだろうと思っていたが、徹夜して実迷路を使えた甲斐は十分あったと見た。

■今回は目標としていた探索でゴールに着いてからスタートに自動的に戻るところは達成できた。しかし、そこから再スタートの際に処理にバグがあり、正しい動作をせず。出走の時までのバグが判っていて、ぎりぎりまでがんばったが判らず、残念。

■トレーサーの河野さんが調整をご一緒してくれて心強かった。河野さんはトレーサーで優勝。すばらしい。壁に押しつけての調整は河野さんに言われて、実装する踏ん切りをつけたものです。感謝。

■今回はかなりまともに安定して探索が出来たと感じた。そろそろやっとマイクロマウス競技のスタートラインに立てそうな感じだ。



第301回 さあ出発だ!:2003/10/25(Sat)

■現在時刻午前10時さあ名古屋に向けて旅立つか。

■できは探索が一応出来たのかなと言ったところ。後は会場で作ろう(爆)

■会場で皆さんにお会いできるのを楽しみにしております。



第300回 週末は中部支部大会:2003/10/22(Wed)

■中部支部大会は土曜日から行く予定です。徹夜しなくても良いように行きたいものですが、どうなる事やら。東日本でゴールまでは行けたので、今度こそ自動的にスタートまで帰ってきて、探索を終えるところまでは達成したい。

米さんの所のムービーをみて速いなあとただただ感心する。吸引の威力はやはりすごいのだろうか。

■座標ベースの方はターンが連続すると角度がかなりドリフトすることが判る。探索では適当に止まって壁等で角度及び座標をリセットすればよいが、セカンドトライではそれをやっていてはお話にならない、どうするか。合成開口レーダーではないが、壁センサーの値を走行中2回取って壁とマウスの傾きを計算する方向で検討中。

■それにしても名古屋は楽しみだ。みそ煮込みうどん、櫃まぶしはかならずたべよう。(じゅる)



第299回 座標ベース軌跡制御(動画追加):2003/10/17(Fri)

まわる、まわる■本日は久々のお休み、まとまった時間をマウスにつぎ込めるのも久しぶり。

■座標ベースによる軌跡制御の簡単なムービー(1.7MB)を作ってみた。
 いっさいセンサーによる座標補正をかけずに、5×5の外周をぐるぐる回して、どの程度のドリフトするか検証した。やりながらエンコーダー出力に適当な修正係数をかけて調整して概ねいい感じになったのがこの映像。
 適当な外乱が加わっても、設定した軌跡を追随することを確かめるため、障害を置いてみたのが、後段の映像。
 調整は大変だが、思ったよりドリフトも少なく5×5の5周程度なら、補正をかけなくてもきっちり回っている。

■去年からやりたかったことが出来た。この技術を実戦に活かせるように、更に工夫をしなければ。

■もう少し複雑な動きもやらせてみた。
 少し複雑な動きのムービー(900KB)



第298回 HPだいぶ復旧:2003/10/16(Thu)

■今日は早く帰れたので、マウスに没頭しようと思っていたが、パソコンに向かうと、何故かホームページの修繕を行い始めてしまった。現実逃避なのか!?

■昨日の晩、座標ベースでのマウスを直進させることができた。初期位置から8区画はセンサーの補正が無くても概ね直進することを確認した。ただし速度は500mm/sと低速。
 左右のエンコーダーカウント値の差からマウスの迷路に対する姿勢角を求め、それを元に速度を三角関数を使ってX成分、Y成分に分解したものをそれぞれ積分して座標を出す。求まった座標をマウスから見た壁からの位置や、区画内の左下を原点とするローカルな座標系などに座標変換する。マウスの壁からの位置を使って、ライントレースと同じように通路の真ん中を走行するように制御する。
 この要領で、旋回中心からの距離を求め、目的の旋回半径との差をフィードバックして旋回制御をしてみようと考えている。
 難しかったのは、左右のエンコーダーが微妙に非対称なこと。手で真っ直ぐ走らせても、両方のカウント値は必ずずれるので、そのまま姿勢角を求めると、真っ直ぐ向いていても、傾いていると認識する。片方のカウンタ値に補正係数を掛けることで、一応うまくいった。

■次は、センサーによる座標補正を実装する。



第297回 休みの成果(ムービー付):2003/8/18(Mon)

■短い盆休みは、左手エンドレスで安定して走行できるところまで行きたいと目標を立てたが。残念ながらこの辺が限界だった。

□まだ1つ1つの動作が不安定だ、まっすぐ走らない、まっすぐ止まらない、きっちり180°曲がらない。動画の迷路程度ならクリアできるが、少し複雑になると厳しい。

□これから旋回開始位置、終了位置、旋回量等のパラメーター調整をちびちびやらないといけない。現在までは去年のマウスの焼き直しでここまで来た。不安定さ加減も去年の焼き直しと言った感じ。安定に走らせる理論や、パラメーター調整の方法論が確立されていない感じだ。時間がものすごくかかる。

■三式をいじっていて、2輪式とステアリング式のどちらが旋回性のが良いのかぼんやり考えた。2輪式である三式の実測ではステアリングオンから実際にヨーレートが発生するまで10msさらに目標値に達するまでの時間が70msぐらいだった。今設定している旋回速度の0.6m/sだと、その間に約4cmも進んでしまう。速度が上がると遅れは距離にもろに響いてくる。ステアリング式の場合は、ステアリングが切り始めれば、コーナリングフォースが発生するので、2輪式よりはクイックレスポンスなのかもしれない。ひとえにステアリングサーボの応答性に依存するのか。2輪式の場合、車輪のトルクを大きくすることによって応答を上げることは出来そうだが、結局タイヤと路面の摩擦に左右されてしまうので、必要以上の大トルクはいらない。

□2輪式も今回使用しているモーターのトルクを考えてもトルク不足は無いと考えている。ステアリングにしても2輪にしても、タイヤと路面との摩擦力が旋回する力を発生するわけだからそれほど違いは無いのではないかと思ったりもする。世の中に2輪式のスポーツカーは無いわけだからやはりアドバンテージはステアリング式にあると思われるが、何故と言われると、即答できないのが悔しい。あまのじゃく的には2輪もまだ行けるといいたいのだが。



第296回 アンプレスセンサーについて:2003/8/16(Sat)

■三式マウスには、私的にいろいろ新しい試みがてんこ盛りである。基盤や台車の外注、CPLDの使用、自家製ボールキャスター、地面設置のエンコーダー、パルス幅測定等々。今日はその中でセンサー回路にOPアンプを使用しなかった事の話。

□フォトトラのエミッタ抵抗を大きくすると出力される電圧が大きくなるので、適当に大きいのをつけて、CRハイパスフィルターに繋げて、A/D端子に直結しただけ。やってみるとエミッタ抵抗をある程度大きくすると、あまり出力が変わらなくなる。これについては理論的な裏が取れていない。オフシーズンになったら研究しよう。A/D端子のインピーダンスとか関係するのだろうか、良くわからない。

□やってみると壁に対して斜めにLED光を当てるセンサーは非常に出力が小さい。せいぜい数10mAのオーダー。当初、A/Dのリファレンス電圧はVCC直結なので5V。壁との距離分解能は非常に悪かった。

□ありがたい事に、7045はリファレンス電圧をユーザーが設定できる。出来なかったら三式マウスはお蔵入りだったかもしれない。でもって、当初可変抵抗でVCCを分圧してリファレンス端子に直結する回路を増設する。しかし、抵抗を回しても思うように電圧値が下がらない現象にぶつかる。あとで判ったが、リファレンス端子のインピーダンスのせいだと思われる。

□それでも、当初は、繊細なトリム調整でいい電圧値を見つけて我慢していたが、毎回リファレンス電圧値が変動するなど不安定であったので、可変抵抗の出力にボルテージフォロアをつけることを考える。OPアンプはでかすぎるので。チップトランジスタでエミッタフォロアを構成してみた。バイアス回路等の全くないトランジスタ1個と抵抗1個の簡単な回路、バイアスが無い分、出力が小さくなるが、今回の目的には問題なし。しかし、この回路も実測すると熱的に変動するらしいが、許容範囲と見ている。


□上のグラフの紺色とピンクの線が、両側に壁を適当に並べて、まっすぐ走らせたときのセンサーの実測値である。非常にノイジーな事がわかる。原因ははっきりとはわからないが、ノイズのひげが、この場合125Hzと、ほぼ一定間隔で伸びていることが確認できたため、モーターブラシのスイッチングによる、電圧変動かと推定している。レギュレーターを通しているわけだが、やはり、電流をそれなりに流しているDCモーターではその影響は消せないのではないか。しかも、リファレンス電圧は、上記の理由によりかなり小さめであるので、その変動も実測値にもろに影響する。壁を櫛の歯に並べた時、どう見えるのかも試した。水色の線がわかりやすいが、一度0に張り付いたあとぴっこと上がっているのが確認できる。

□黄色と、水色は我流デジタルフィルター処理を施した値、この処理はリアルタイムで回せて結構使える。しかも、分解能を擬似的に上げられる。ちなみにフィルターの式は出力y、入力uとすれば
y(k)=(11*u(k)+9*y(k-1))/10
です。この係数にあたる数値を変えるとカットオフ周波数が変わる。この場合約20Hzのつもり。この式はこのままだと、10倍の値になるので、計算したあと10で割る必要がありますが、そのまま使えば、見かけ上分解能10倍。

■更に忙しくなる前に左手法までは行こうとがんばっていますが、どうなることやら。とほほ



第295回 分解能不足:2003/8/14(Thu)

■MTUを位相係数モードにして1msごとのカウンター値から速度を求めていたが、やはり1msでは速度分解能が不足しているような気がしてきた、とくにジャイロ代わりに左右の速度差を使おうとすると顕著である。

□対策としてパルス幅測定を本日は挑戦中。7045は位相計数機能を持つチャンネルが2つ有るのに、それらのアップダウンをキャプチャしてパルス幅を測る機能を持たせられるタイマーは1つしかなく、あと一個分目的のためには足りない。変な設計だと思う。

□仕方がないのでコンペアマッチとアンダフローで割り込みを発生させて、他のタイマーと組み合わせてパルス幅を測るコードを作成中。

■メインのループが割り込み動作しているので、エンコーダー用の割り込みは、そちらが処理中でも動作しないと正確にパルス幅が求められないと思う。そうすると話だけには聞いた多重割り込みをしなければならないと思うのだが。現時点でそのスキルは私には無し。マニュアルを熟読しながら作業中。だれかその方面に精通している方に話が聞ければ楽なのだが。



第294回 メールアドレス変更のお知らせ:2003/8/12(Tue)

■本ホームページのメールアドレスが8月頭くらいから使用不能となっていることが発覚しましたので、急遽メールアドレスをmatlab2000@yahoo.co.jp に変更いたします。もし、今月中にメールを出された方は、私の所まで届いていない可能性が有りますので、ご了承ください。



第293回 機動性と安定性はトレードオフか?:2003/8/11(Mon)

■戦闘機では機動性を高めるためにあえて不安定な設計をすることがある。不安定のため非常に操縦が難しくなるため、自動制御でそれを補う。初めから制御を入れることを前提にして設計される乗り物をCCV(Control Configured Vehicle)と言ったりしている。

□何の話かというと、今日ロボワンを見学してきた。感想を一言で言えば、良く動いて、機動性の良いマシンは、自滅して、安定感のあるマシンが勝ち進んでいくような感じがした。機動性と安定性は両立しないのか?

□作りのしっかりしたマシンが勝てる競技である。優勝マシンはほとんどマシントラブルも見られず、決勝まで勝ち進んでいたようだ(表面的にであるが)。人型は部品点数・配線も多く、それに比例してトラブルも多いようだ。大会のそのときにトラブルを出さないだけでも、大変な技術力を要求されると見た。

良く動く機体は見ていて楽しい、残念ながら、なかなか勝てないわけである。その中で、九大チームのマシンは大会で最も速く歩くことが出来てすばらしい機体であった。本物のロボットをバックドロップ出来るとなおすばらしい(外野の勝手な願望)。



第292回 局地180°ターン、姿勢制御:2003/8/10(Sun)

■久々にマウス作業を再開。180°ターンを実装した。去年のマウスの100倍ぐらい楽だ。コードを鼻歌交じりに書いて、一発で動作完了。ちょっとだけゲインを修正したが、まずまず、いい感じにできた。エンコーダーを地面に押しつけているので、ちょっと指で押さえても、ちゃんと180°回ってくれる。うれしい。

両側に壁を置いての、壁トレース走行テストは、そんなに簡単にはいかないようだ。目標とする速度域ではまだまだ不安定。

□マブチの時も書いたが、モーターの微妙な立ち上がり特性の違いが、停止から走行に移る際に気になる。今回のマウスは、モーターの回転を取ってないの直接回転数制御できず、苦労しそうだ。

□現在の制御周期は1ms。エンコーダーの値を1msごとに取得する方法では、分解能がかなり悪くなる。でも、何とかなりそうな気配、これから、90°スラロームターンなど入れるが、ここら辺で低分解能が悪さするかな。単に、エンコーダーのカウントで割り込みをかけて、パルス間の時間を計るコードを書くのが面倒なだけ。

■明日(正確には今日)はロボワン見学。楽しみだ。



第291回 マウスやりたい今日この頃:2003/7/27(Sun)

■出先から日記を書いている。マウスをいじれないようになって既に1週間以上経過した。今年はこの調子で、仕事が忙しい。9月は家にいられるのは5日間だけだ。じっさい全日本までマウスが仕上げられるのかすら危ういところだ。嗚呼、マウスがいじりたい。九州の山の中より



第290回 静的変数の実装:2003/7/21(Mon)

■7047や7045つまりSH2をGCCでコンパイルすると関数内の静的変数の初期化が正しく行われないとの情報を見て、気になったので考える。

□内部で静的変数counterを999に初期化している次のような簡単な関数を考える

short ftest(void){
  static short counter=999;
  counter++;
  return counter;
}

□前の関数のコンパイルされたアセンブラのリストは以下のとおり

L6:
  .long  _ftest
  .data
  .align 1
_counter.12:
  .short  999

  .text
  .align 2
  .global  _ftest
_ftest:
  mov.l  r14,@-r15
  mov  r15,r14
  mov.l  L9,r2
  mov.l  L9,r1
  mov.l  L9,r2
  mov.w  @r2,r3
  mov  r3,r2
  add  #1,r2
  mov.w  r2,@r1
  mov.l  L9,r2
  mov.w  @r2,r1
  mov  r1,r0
  bra  L8
  nop
  .align 2
L8:
  mov  r14,r15
  mov.l  @r15+,r14
  rts  
  nop
L10:
  .align 2
L9:
  .long  _counter.12


□これをみると、関数内の初期値付き静的変数も、コンパイル時に.dataセクションに確保されていることが判る。ここでは示さないが、この確保のされ方は初期付きのグローバル関数と全く同じようだ。実際の.dataセクションの内容はコードを格納したあとのROMの領域にかき込まれるので、ユーザーはスタートアップ時等にこの内容を.dataセクションにコピーしなければならない。

□以上を見る限りでは、自分の環境ではちゃんと動くような気がする。問題があるとすれば、リンカスクリプトのセクションの定義とかその辺ではないか?往々にしてリンカスクリプトは前の環境のをコピーして修正することが多い、ここで間違いが発生しやすいと思われるのはSRAMを実装している場合、そのアドレスの設定などが間違ってることもありそうだ。

■あまり裏を取っていない適当な考察を終了します。



第289回 機能確認もう少し:2003/7/20(Sun)

■本業がじわじわ忙しく、かつ、帰りが遅くなって自分の時間がすくなくなるにつれて、何故か、家に帰ったときには、血中アルコールが高くなっている状態が続き、マウス開発には効率が悪い今日この頃である。

□世間は3連休だが、月曜日からの出張準備のため、休みも半分仕事のような感じ、月曜から2週間ほど九州に行って来る、パソコンも持っていくし、マウスも連れて行く、ソフトの進展を期待したいが、どれだけその時間を取れるのか?

■マウサーのみなさまは、まとまった時間が取れると張り切っているようである。また、ROBO-ONEなみなさまは、最後の追い上げと力を入れているようだ。ROBO-ONEは見に行けると思うので、楽しみ。

我が03式は、モーターの動作確認が終わり、シリアル通信をするためのプログラムを作成してそれも成功、スピーカを1KHzで駆動して、鳴ることを確認。センサーA/D変換がうまくいかず止まるが、半田不良が原因であると判明し解決。

□今回のセンサーはアンプ無し、フォトトラのエミッタに大きめの抵抗をつけ、RCハイパスフィルターをつなげただけ、18cm離れたときのA/Dの値は1であった。ま、これはどうとでも成るので、良いだろう。

□残す大物はエンコーダーパルスの取り込み。

■まだ、03式は生まれたばかりで、確かなことはいえないが、素直にモーターが回ってくれて、楽そうな感じがする。期待で終わらないことを祈りたい。

綿谷さんが、ご自身のページでお礼を述べられていた。「いえいえ、お互い様です。」綿谷さんのページはほぼ毎日更新されており、内容も、うちと違って興味深く、お勧めである。

□競技ロボット作り始めた時からDCモーター一筋、PWM・Hブリッジの実装を考え続けて4年以上、やっとちょっとだけ判ったような気がする今日この頃。PWMを考えるときはインバーター関係の本がお勧めです。



第288回 シーケンス制御(モーター制御):2003/7/16(Wed)

■モーターを7045からオン・オフ出来るようになったので、シーケンシャルにマウスを動かしてみた。久々にムービー付き。

□CPLDと7045のデーターバスの設計がうまくなくてちょっと苦労した。dutyを表す8ビットバスと、どちらのモーターへのdutyを表すのかを示すセレクト信号線1ビットの合計9ビットで制御しようと考えたが、どうもうまくいかない。セレクト信号のエッジを検出すると、dutyの8ビットを読みとる回路を組もうとするのだが、セレクト信号を変化させていないのに、dutyバスを変化させると、モーターの回転が変化してしまう。何でだろう??



第287回 プログラミング環境を整える:2003/7/15(Tue)

ありがちな構図の写真■本日はプログラミング環境を整える。7045を使うのは初めてなで環境を整える。開発環境は7046と同じGCC+makeなので、スタートアップファイル、ベクターテーブル、ヘッダファイル、リンカスクリプト等をそれようのに変えただけ。それでもちょっとばかし苦労する。開発の最初にやるだけの作業なので、どうも忘れてしまうようだ。

ピンファンクション関係の設定が一通り終わったので、全てのLEDを点灯してみた。



第286回 03式完成:2003/7/13(Sun)

上面■03式マウス完成!機能確認はまだだが組み立てるべきところは全て終わったはず。これから細部の修正が始まる。主なスペックは以下のとおり
NAME
CPU
MOTOR
WHEEL
BATTERY
SENSOR
SIZE
WEIGHT
TYPE03M
SH2-7045F 28MHz
HS-V1S
d = 50mm w = 10mm
NiMH 1.2V 800mAh x 6
Visible Photo sensor x 6
100D x 65W x 50H
240g
□昨年のマウスと同じ50oのホイールを装備、これまでは車輪幅が細い方が、制御性が良いと判断し極力細くしていたが、地面を力強く蹴って加速を良くするために幅10oにしてみた。旋回の立ち上がりに不利だが、旋回終了時の切れが良くなるかも、真偽のほどはこれから。側面
正面□車幅65oはこの構成では私にとっては今の限界。当初60mmを目指したが、妥協した。細い方が何かと良いと思うが、これ以上細くしてもそれほどメリットは無いのかもしれない。センサーは6個、いままで無かった側面を直角に取れるセンサーをつけた。スラローム旋回での横壁の検出に威力を発揮してくれると期待する。黒いコネクタは自分でマルチポートと名付けているもので、CPU、CPLDの書き換え、LCDの接続および、ランサー&ライントレースユニットを接続する。
□後ろの正方形のがアルテラのCPLD、昨日書いたとおり、モータードライバの中心的な役割を果たす。言うまでもなく中島さんの瑠璃の設計に多大な影響を受けている部分。電解コンデンサは転ばぬ先の杖。こんなに大きくなくても良いかもしれない。後ろ
裏□本機は地面にエンコーダーを押しつけて、対地速度、対地角速度を取る方式。タイヤのスリップに影響されず、マウスの挙動が取得できる。モーターの回転も取りたいが、位相係数できるポートが2個なことと、エンコーダー4個は機体が大きくなってしまうので断念。これからソフトを組む段階になって、この部分に関する技術的課題が出てきそうである。


第285回 CPLD書き込み成功。モーター回転確認:2003/7/13(Sun)

CPLD書き込み中■CPLDの書き込みも成功した。

□本機のCPLDはモータードライバの核として機能し、ホストの7045からもらったDutyのデーターからPWM信号を生成して、HブリッジのそれぞれのFETのスイッチングをデッドタイムを入れながら制御する役割をする。CPLDはアルテラのEPM7064STC44と言う石で、64個のマクロセルが44ピンTQFPに収まっていて、非常に小さくて使い勝手が良い石だと感じている。

□Hブリッジの駆動に関しては、この前日記で述べた、環流回路にダイオードが入らないようにスイッチングするもの。今回のPWM周期は約112KHz。これは発信器のクロックを128回カウントしたときの周期に一致する。現段階で簡単に回転数を測ることが出来ないが、Dutyの変化にほぼリニアに応答しているような感じである。驚いたのは、車を上げた状態だが、Duty約2%でも、超スロースピードで回ったことだ。マブチモーターとの違いに、一人喜んでいる。

■残すはエンコーダーユニットを作るのみ。もう少しで完成です。



第284回 プログラムの書き込みに成功:2003/7/12(Sat)

■「いざ!書き込み。」と期待に胸を躍らせながら、ライタソフトの書き込みボタンを押したが、結果はNG。始めて作ったCPUボードがそう簡単に作動するわけが無いのだが、ちょっぴりがっかりした。

□2日間ほぼ徹夜しながら原因究明。途中、ピン同士の短絡などを改善しつつ、接触関係は問題がないようだった。ライブラリ作成時のピンの割付を疑ったがそれもOK。それでも作動せず。次に、モードを決定する重要なピンやリセットピンなどの電圧を当たっていく。おかしな所発見。リセットピンが5Vで無ければおかしいが、2Vちょいしか出ていない。

□リセットIC(ミツミのMM1134と言う石)の出力がおかしいと思い当たるが、しばらくデーターシートとにらめっこを繰り返す。リセット端子がオープンコレクタだったらしい。抵抗でプルアップして問題解決。参考回路載っていなかったので適当に作ったが失敗だった。

□すんなり問題解決に至った様に書いたが、これらの事を順不同で繰り返している。途中では、7045を半田付け途中で破壊したのかな、とか、いろいろ不安に駆られた。

■何はともあれマイコンにプログラムが書き込めることが確認できた。次はCPLDに書き込めることを確認する。



第283回 ジャンパー作業:2003/7/9(Wed)

■物作りは完成したときから陳腐化が始まると、どこかで聞いたような気がするけれど、今年のマウス作りは発注したときから陳腐化が始まっていたようだ。陳腐化と言うよりは、ただの設計ミスに気が付いて、モチベーションが下がった。

□致命的な設計ミスを復旧させるためにCPUの上にミニ基盤を載せて、SHの足からジャンパー線を出す。以前H8で練習したので、まあまあ早く作業はこなせた。

□この後、メインボードの半田付けが大体終わり、電源系の導通チェックなどを実施する。案の定、電池のコネクタの極性が逆だった。(汗)電池を繋げて、スイッチをONする。何かが焼けこげるにおいはしない。プログラムは何も入っていないのでポートの入出力が不定なのか、センサーのLEDが一個だけ付いている。試しにリセットボタンを押すと、その間だけ消えるので、何となくSHがちゃんと作動しているような気がする。クロック発信器の端子にテスターを当てると2.5Vを表示するので、発振はしているようだ。

■明日はプログラムをSHとCPLDにかき込むケーブルを作成する予定。



第282回 基盤到着!:2003/7/6(Sun)



■午前中に基盤が到着、本日は飯を食うのも忘れてマウス作業に没頭する。

□Olimexの基盤のできについては、ソルダーマスクが小さな部分で若干づれがある。また、銅の屑のゴミが付着して、配線間を短絡させているものももあった。その他は、概ねいい感じである。メールに書かれていたとおり、1.6mmと0.8mmの2種類が入っていた。1.6mmは剛性があって丈夫そうでよいのだが、やはり重い。0.8mmはちょっと弱そう。クラッシュには注意した方が良いだろう。

□早速、半田付け作業を開始する。7045をつけるのに苦労、パッドが小さすぎて、付いたように見えていても、テスターでチェックすると繋がっていなかったりして、コテを当て直したりして何度かやり直す。

□集中しすぎて、疲れたので、今日はこのくらいにしよう。



第281回 基盤は成田に着いたらしい:2003/7/4(Fri)

■Fedexの追跡によると基盤は成田に着いたらしい。しかし予定日は7日になっている。土日は配達しないと言うことか。待ち遠しい。

■昨日、電池パックを半パック作った。今回は3本づつ2パックで一組。今日、都内に行く用事があったので、ニッカド単4を一組分買ってみた。ニッカドは瞬発力が違うと言うが、果たしてどうだろうか。250mAhなので長持ちはしないが、DCマウスなら時間内は大丈夫だとと思うのだが。

□今回は、電池パックを作る際のコネクタをピッチ1mmの非常に小さなものに選んだので、リード線が非常に細い、電流が心配。ラジコンの世界では、電池やモーターを接続するリード線で走りに違いが出るそうだ、その世界と比べたら論外の選択に違いない。



第280回 Olimexより発送の報告有り:2003/7/2(Wed)

■本日、Olimexより発送の報告有り。

□0.8mm厚の基盤を注文したが、Tsvetan(Olimexの担当、ツベタン?)曰く「いやあ、間違って、1.6mmで作っちゃって、0.8mmで作り直したから、両方とも入れて置いた。」とのこと、得したんだろうか。Olimexのこの手の間違いの話は前も聞いたような気がする。けっこう、おっちょこちょいかも。

■とにかく、ちゃんと作られていて安心。来週の本日記には新型マウスが載せられるかも。



第279回 DCモーターとPWM制御その4:2003/6/28(Sat)

■明日は月例会だが故有っていけず残念だ。今年はこれからもいけない可能性が高い。全ては出張のせい。

■今日はDCモーターとPWM制御の話の最終回(予定)。前回の予告のとおり、PWM周期と電気的時定数、環流回路にダイオードが有る場合、無い場合の違いについてシミュレーションした結果を見てみる。

□図1はDutyと回転数の関係を、PWM周期や、ダイオードの有る無しを区別してプロットしたもの。

Duty vs RPM
図1Duty vs RPM

凡例の周波数表示はPWMの周波数である。当たり前だが、周波数が大きいと周期は小さい。周波数の横に括弧してDとあるのは、環流回路にダイオードが入っており電流が一方向にしか流れない場合を示す。このシミュレーションで用いたモーターモデルの電気的時定数は約95μs

□結論的には、環流回路にダイオードがある場合、PWM周期が時定数に対して長い場合は、Dutyが小さいうちに回転数が大きくなり頭打ちの傾向が有ることが判る。

□一方、環流回路にダイオードが無く両方向に電流が流れる場合は、Dutyに対して回転数がリニアに上がることが判る。

□これは(その2)で話した、PWM周期が大きくなると電流の変動幅が大きくなることに関係する。
電流の変動幅が大きいとき、Dutyを小さくして平均電流が小さくなると、環流回路にダイオードが入っている場合は電流が0Aで飽和してしまい、結果として平均電流が上がってしまう。これはPWM周期が電気的時定数に比べて大きいほど顕著である。つまりDutyが小さいところでも大きな電流が流れるので、早いうちに回転数が頭打ちになる。

□また、ダイオードがない場合は電流がマイナスになるため平均電流は変化しない、したがってPWM周期にあまり影響を受けずに回転数はリニアに変化する。

□ダイオードがある場合は、Dutyを小さくすれば必ず電流が0Aに達するので、そこからは小さいDutyでは回転数がリニアに変化しなくなるが、周期を電気的時定数より十分小さくすれば、ほとんど無視できる程度のノンリニアリティに収まってくれる。では、十分短い周期とはどのくらいなのかと言えば、電気的時定数の50%程度にPWM周期を設定できれば、ダイオードのあるなしに関係なくおおむねDutyに対して回転数がリニアに応答する(かも・・・)という感触は得た。

□さて、これで今回のネタは終了する。今回用いたシミュレーションは簡易的なものなので、デッドタイム、スイッチング遅れ等は考慮していない。(その2)でダイオードがある場合はモーターの発電した電流は電源に帰り流れないと記述したが、電源に帰る際は流れるわけであるから、正確な記述ではないだろう。たぶん、時間的に非常に短い時間になると思われるので、無視して良いのではと思っている。機会が有れば、もうすこし詳細なシミュレーションをしてみたい。シミュレーションの詳細を知りたい方はメールください。

■このネタの発端は綿谷さんの日記に書かれていた現象がどうしても判らなかったため、それを理解すべく始めたものである。このシミュレーションを通じて自分なりに理解できたような気がする。綿谷さんとの掲示板でのやりとりは非常にためになりました。感謝。



第278回 手作りボールキャスター:2003/6/26(Thu)

□本日はPWMの話はお休みして、マウス制作を実施。

□マウスの従輪は家具スベール、ミニチュアキャスター、ボールキャスターなど色々あり、私も最初のマウスは田宮の工作セットのボールキャスターを使った。2代目のマウスは家具スベールを使用。3代目も家具スベールにする予定だったが、少しでも走行抵抗を減らして、加速をよくするため、或いは、旋回時のおかしな挙動をなくすために、ボールキャスターをつけてみようと考えた。しかし、市販のボールキャスターでは大きすぎて、ちょうど良いサイズが無かったため、現在、最も小さい市販のボールキャスターからボールだけ取り出して、自前でキャスターを作ろうと、試行錯誤中。ボール盤で穴をちょうど良い深さになるようにトライアンドエラーを繰り返す。

■もう少しでOlimexに発注してから15日、本当に出来ているのか心配だ。



第277回 DCモーターとPWM制御その3:2003/6/25(Wed)

■さて、本日は昨日予告したHブリッジで電流を環流させる方法について考える。

■今、図1のようにパルスがハイの状態で正転しているとする。

パルスハイ
図1パルスハイ状態

PWMのためのHブリッジのスイッチングとしては、ハイサイドのスイッチは正逆転を決定し、ローサイドのスイッチングでパルスを作る方法がある。この方法で、ローサイドのスイッチを切った状態が図2である。
パルスロー
図2パルスロー状態(1)

図で判るように、ハイサイドの左のスイッチと右のダイオードによって環流回路が作られる。この場合はダイオードがあるため、電流は一方向にしか流れられず、モーターが発電した電流は、電源に戻ってしまい、モーターには電流が流れなくなる。

■もう一つの方法として、ローサイドのOFFは同じで、それと同時にハイサイドを両方ともONにしてしまう方法がある。その状況を図3に示す。

パルスロー
図3パルスロー状態(2)

こうすると、環流回路の中にダイオードが無くなるので、電流が両方向に流れられるようになる。

■本日はここまで、次回は、今回話した、環流回路の形成の仕方の違いや、PWM周期の違いが、実際にDutyと回転数の関係へどのように影響してくるのかを話す予定。

16区画確保■先日、東急ハンズで注文した4×2の迷路基盤が4枚届く。これで最長16区画!いろいろ組み合わせて、6×4や8×4が作れる。早く2×16こうへいサーキットがやってみたい。



第276回 DCモーターとPWM制御その2:2003/6/25(Wed)

■しばらく実験レポート的な日記が続くので、先に言い訳。基本的に書かれてる内容は私の思いこみなので間違いがいっぱいあると思います。モーターも回路も全く関わりのない、素人がそこら辺の情報をかき集めて書いていることですのでご了承おば。

■さて、ひとしきり定番の言い逃れをしたところで、先日の続き。予告では電気的時定数、PWM周期それに電流連続・不連続モードに触れると書いたので、そのお話。

■モーターのコイルは電流の増減を妨げる作用をする。電流の流れを増やそうとすると、ゆっくり増え、減らそうとするとゆっくり減る。本来オームの法則で規定される電流値の63.2%になる時間を電気的時定数と呼ぶ。ちなみに電気的時定数は回路の抵抗とコイルのインダクタンスを使って次式で表される。

■このコイルの作用のおかげでPWM制御で電流連続モードが実現できる。つまりPWMとはスイッチのON−OFFを繰り返すわけだが、OFFにしてもコイルのおかげですぐに0Aにならない。スイッチング(PWM)の周期を先ほど説明した時定数より短くしてやれば、0Aになる前にONがやってくるのでまた電流値が上昇する、この上昇と下降を繰り返す電流の平均が電流連続モードでの見かけの電流値となる。この状態を表したのが図1となる。
電流連続モード
図1電流連続モードの電流波形

周期を短くすると、この上昇と下降の幅が小さくなる。電流連続モードでは電流が連続して流れているのでモーターはトルクを発生し続ける。

■一方、電気的時定数より周期が大きいと、電流の上昇下降の幅が大きくなり、さらに周期が大きくなると、ついには電流が0Aに達してしまい、次のONまでしばらくその状態が続く。この状態になった事を電流不連続モードと呼ぶ。図2にその状態の電流波形を示す。
電流不連続モード
図2電流不連続モードの電流波形

■さて、今日はこの辺で終わる。あとで、シミュレーション結果を考察するのにこの辺の話を前提にしないと意味が判らないと思うので、しばらくおつきあいください。次回は電流連続モード実現には電流を環流するように回路を構成しなければならないがそれをHブリッジでどうやるのかを話そうと思う。そのやり方によってはモーターの挙動が変わるようである。



第275回 DCモーターとPWM制御その1:2003/6/22(Sun)

■昔から物理は好きだったが、勉強不足のためか試験は苦手だったなあ。今日はDCモーターとPWM制御の話。

■機械の運動を解析したり、制御系を設計するときは、いろんな仮定を組み込んだ上で数式でモデルを構築する。作る本人が対象の中で起こっている現象を良く理解していないと出来ない作業だ。以前に昇圧型DC-DCコンバーターについて考えたことがあった。そのとき使ったモデルでは電流はいくらでも取り出せる事になってしまう。実際は違うわけで、電流が大きいとコイルや他の素子の定格を越えるために電流が限られると理解していた。しかしその後、いろいろな方のHPを拝見したところ、コイルのコアが飽和することがあることを知る。いろいろ知らないことは多いが、あえて考察をしておけば、あとから解答が見つかることもあり、そのときの理解は一瞬である。

■前置きはこのぐらいにして、本題であるDCモーターの話にはいる。さて、DCモーターの数学モデルを次の式で与えてみる。
DCモーターの数学モデル
数式(1)はモーターの電気的挙動を表す微分方程式、数式(2)はモーターの機械的動作を表す運動方程式である。

■実際はこの方程式を見ただけで物理現象が目に浮かぶ人はまれなわけで、これらの式を用いて数値シミュレーションするわけだ。この日記もしばらくこれらの式を用いてシミュレーションなどしてみたい。本日は疲れたのでこれまで、次回は電気的時定数、PWM周期と電流連続・不連続モードに触れつつ、話をしようとおもう。火曜日まで九州出張なので、日記はそのあと。しかし、途中で基盤が届くとこのネタは後回しになるのでご了承おば。



第274回 変数をROMに配置:2003/6/19(Thu)

掲示板で話題になったROMにテーブルを持たせる話

【1】関数外でグローバル変数として定義された変数はconstをつけるとromに配置される。
(例)
const short hoge[]={1,2,3,4,5};←変数hogeはROMに割り当てられる。
void main(void){
}
この場合はmapファイルでもそれが確認できます。

【2】関数内で定義されている変数はconstをつけてもRAMに配置される。
(例)

void main(void){
const short hoge[]={1,2,3,4,5};←変数hogeはRAMに割り当てられる。
}
この場合はmapファイルを見ても確認できませんが、コンパイル時にアセンブラソースをはき出すようにオプションをつけて確認すると、関数が呼ばれると、RAMに領域を確保し初期値をROMからコピーしているのが判ります。

【3】それでも関数内で大きなテーブルを持たせたいときは、staticと__attribute__ ((section (".text")))を組み合わせる。

(例)

void main(void){
static short hoge[] __attribute__ ((section (".text")))={1,2,3,4,5};←変数hogeはROM上のセクション.textに割り当てられる。
}
この場合、やはりmapファイルでは確認できませんが、アセンブラソース上ではROM上に配置
されているのが判ります。



第273回 0.5mmピッチのICの足からジャンパ:2003/6/17(Tue)

やはり基盤の設計に間違いがあった。マスクできない外部割り込みピンNMI、Flash書き込みを規定するFWP、それにPLL周辺回路用のピンそれぞれが全て浮いている。
最終的には基盤設計やり直しだが、当面はジャンパでしのぐ。7045の0.5mmピッチのピンからジャンパをはやさなければならない。できるのか?
壊れた3048の基盤で練習してみた。
こつはつかめたような気がする。

まず
1 なるべく細い(今回は0.3mm)の鈴メッキ線にサンドペーパーをかけて、フラックスを塗って半田メッキする
2 さらにその上にフラックスを塗っておく
3 ルーペでのぞきながら、ピンと線をくっつけて、はんだごてで暖める。
4 はんだメッキが溶けピンに流れたら、コテを上げる

今回フラックスにはペースト状のものを使用、熱で溶けたフラックスが液体状になってピンと線をじゃぶじゃぶにするぐらいの方が、半田メッキが多少多くても、半田ブリッジが出来にくい気がした。



第272回 16区画確保するぞ:2003/6/15(Sun)

本日は、朝起きて、ハード完成後の工事計画をPPでぽちぽち作り始める。その後、アクリル板を底板の形状に切り出して、新宿東急ハンズに繰り出す予定。目的は最長部分が16区画の迷路を造るため。
いつものベニヤ板を切りだしてもらって、2×4区画の大きさの版板を4枚作る。組み方によって、最長16区画が確保できる。16区画の長さは2880mm程度、畳の長手方向の約1.6倍、幅が2区画分しか無ければ、今の住処で、部屋を整理した後、何とか場所を確保できる。



第271回 久々に旋盤を回す:2003/6/15(Sun)

前の引っ越しいらい封印していた旋盤を引っ張り出した。

目的は基盤を固定するための柱作り。その柱を台車にあるM2のねじに立てるためにφ3のアルミ丸棒にM2のねじを切る作業を実施。旋盤でねじを切るのは始めて。当初はアルミ丸棒の端をφ2に削って、ダイスでねじを切ろうと画策していたが、どうしてもねじ山がつぶれてしまってうまくいかないので、旋盤でのねじ切りに挑戦する。
旋盤でのねじ切りは、山がつぶれることもなく、うまくいくのだが、寸法をちょうど良く作れず苦労する。
旋盤が悪いのか、腕がないのか、微妙にテーパーがかかっているような気がしてならない。
結局、日が暮れて作業終了。本日出来たのは、たった1個のみ。あと3個作らねば。



第270回 Olimexから見積もり届く:2003/6/11(Wed)

昨日日記を書いた直後にOlimexから見積もりメールが届けられた。痛かったのは、シルクの幅が10mil以下のところがあったらしい。注意して作ったんだが、やはりULPをかけるべきだったか。付属のULPをかけると、デフォルトのレイヤー以外にシルクのレイヤーが出来る。Olimexの英文を読むと、イーグルのファイルだと扱ってくれるレイヤーが決まってるように読めるので、イーグルオリジナルのBRD形式で送れない気がして実施しなかった。この場合はCAMファイルを作ればいいのだけれど、何となく面倒だし、判らないので躊躇していた。ちなみによくよく調べると、部品名の文字が10mil以下だった。ほとんどの部品が自分でライブラリーを作ったのでシルクは10milで書いたが、文字はうっかりしていた。

まあ、いいかと思い、添付されているPDFファイルを印刷し、氏名、住所やクレジット番号を記入してFAXを送る。その前にネットで国際電話のかけ方を調べる。海外にFAXはちょっと緊張ものだ。しかし、すんなりFAXは終了し、これで正式に発注と相成る。

見積もりを眺めていると、Olimexは500穴ごとに追加料金$2.6取られるのだが、きっちり取られていた。イーグルで数えたときは500穴は越えてないはずだったが、と思ったが、面付けされることで500を越えたらしい。



第269回 ロボグラページ復活(再発見):2003/6/10(Tue)

リンクが切れていた、ロボグラのページを再発見する。名古屋大学のサーバーにお引っ越ししていた模様。一応、うちのリンクページもリンクを張り直した。ついでに今年のロボグラは、11月8,9日に名古屋大学での実施に決定らしい。
まだ、大会のレギュレーションのPDFファイルは無し。去年の規定集はうちのリンクページからもリンクしてあるので参考にして欲しい。ホームページにあるHTML版の規定集には第5回大会の既定がそのままになっているらしい。ランサーに関してはこれからコースを変更すると書かれている。近年、実行委員の間では、コースの形を変えた方がいいなどの意見が出されているらしいので、もしかしたら今までのトラック形状から変更があるかもしれない。個人的には単純なコースの方が好きだが。

本日はOlimexからの返事は無し。なかなか対応は早いと聞いていたので、期待していたが少し残念。

昔の日記のリンクが切れていることに気づいて修正。



第268回 基盤発注:2003/6/10(Tue)

ついにOlimexへ基盤を発注した。レスポンスはまだ無いが、どきむねである。日記を読み返すと、この作業にほぼ1ヶ月半かかっていることになる。長かった、そして、つらかった。
と言うわけで、基盤到着までは時間が出来たわけで、その時間をどう使おうか。
1 新型の開発環境の構築
2 新型のプログラムの設計
3 旧型のプログラム
4 マイクロマウスの物理的検証
5 回路&基盤の間違い探し(爆)
6 半田付け作業のイメトレ
7 ROBOONEの研究
8 寝る
今日は早速8番目を実施する。おやすみなさい



第267回 基盤設計一応終わる:2003/6/9(Mon)

最近はいつも似たような写真(絵)で面白くないが、一応基盤の設計が終わった。後はolimexに発注するだけだが、発注するのに、olimexの規格にちゃんと合ってるのか確認中。どうも2,3点疑問な点があるが、とりあえず出してみて向こうの反応を伺おうかなと思っている。もう少し早くできるかなと思っていたが、時間がかかる作業だと実感。CADに慣れていればもう少し早くできただろう。CADと言えば、昨日になって、何故か回路図上でVCCとGNDが同じ信号ラインとして見なされていたことが発覚、危なかった。
olimexへの発注はおそらく今週中だが、最小線幅、線間隔が8milなのでできあがりは半月コースだ。6月中にマウスが出来上がるかは微妙なところだ。



第266回 オートで100%達成:2003/6/4(Wed)

未だメインの基盤の設計中、昨夜、オートルーターで配線率100%を達成。予め電源ラインと、混み混みのSRAMとCPUとの接続は手動でやっておいてからのオートルーターを実施。完了後、嬉しくなり、印刷して、モックアップ作成。色まで付けてしまう。リセットスイッチの位置が非常に操作しにくいことに気づき配置を変更する。



第265回 マイクロマウス東日本支部6月(1)月例会に参加する:2003/6/1(Sun)

今日は月例会、昼の部は、うえみつさんの講習と試走会。本当の月例会は、まだ日の明るいうちから始まる夜の部である。今日は新作のお披露目会のような感じであった。中でも米さんの吸引マウスは皆さんの関心を集めていた。綿谷さんが「BASICMOUSEです」と主張する試作機は皆さんがその命名に?を表明されたようである。ご本人のホームページにその正体が明かされていないので、ここでネタばれはやめておこう。井籐さんは150gのマウスを作ると噂されていて、ご本人は噂が一人歩きしていると、困惑していたが、本当のところはどうなのだろうか?他の皆さんも、それぞれ新作を作成中のようだ。皆さん、ソフトはこれからのようで次か次には走る様子が見られそうである。森永さんはその様子をみて、「勝ちに行くぞ!」と気合いを入れられていた。Roboneの話も少し聞けたし、楽しい月例会であった。



第264回 オプティカル・センター・ポンチに飛びつく:2003/5/28(Wed)

森永さんのページを見て、JinSatoさんのオプティカル・センター・ポンチの代行輸入のお話に飛びついた。このポンチ始めて知ったのは、Miyataさんのページ、オプティカル・センター・ポンチって何?って方はお二方のホームページを参考にしていただきたい。ちょっとロボット工作をかじって、穴あけが意外と難しいと思っている方には絶対欲しくなること請け合いだ。これで、上手に穴あけが出来るようになればいいなあ。

ポンチをきっかけにJinさんのホームページをじっくり見ていたら、前回判らないと書いた、イーグルのオブジェクトをまとめて移動する方法があっさり判った。まとめて選択、移動ボタン、右クリックだそうだ。これで劇的に使い勝手が良くなる。



第263回 イーグルに慣れる:2003/5/28(Wed)

TYPE03Mの台車が届いて、すでに2週間以上、肝心のおつむの方の進みが非常にゆっくりである。基盤設計CADのイーグルの使い方にはかなり慣れてきた、慣れるのに2週間以上かかっている。前にも述べたがイーグルはコピーアンドペーストの機能がいまいちで、まとめていっぺんに移動が出来なかったりするので、回路図書いてて、とりあえずここに書いてから、あとで移動してきちんと整列させようと思っても、それが出来ない。やろうと思うと、コピーバッファにコピーして、違う場所に貼り付けた後に、コピー元を一個一個消さなければならず非常に面倒だ。本当はうまい手があるのかもしれないが、今のところ不明。これ以外は、ちょくちょく動作が不安定になるが、その際、セーブは出来るので、セーブして、ソフトを終了し、ソフトをもう一度起動すればなんとかしのげる。(うっとうしいが・・)
ソフトの使い方は概ねマスターし肝心のアートワークがいよいよ本格的にスタート。CPUと8ビットバスのSRAMとの接続が配線を混み混みにさせている。当初は16ビットバスかと思っていたが、8ビットバスで目一杯だ。その辺は手動配線でやらないとうまくいかないが、それ以外は、オート機能で配線して、あとで、修正した方が楽なようだ。手動配線も配線前に表示されている未配線端子間の黄色いワイヤを見るとうんざりするがやり出すといがいと早くできる。

新作マウス名はTYPE03Mにしようかと考えている、日本名03式マウス、英語読み発音タイプオースリーエム、通称オッサンマウス。いちおう開発コードということにしておく。



第262回 アンバランス(改訂):2003/5/21(Wed)

1個16グラムの真鍮製の歯車に軽量化のため穴をあけた、これで5グラムの軽量化。
しかし、お馬鹿な間違いをしでかしてしまった。車輪は5穴、歯車は6穴・・・・。取り付けたときにバランスがとれていない。台車に取り付けて回したときに、明らかに質量アンバランスによって、振動している。ああ、やりなおし。
予備は買っていないので、教育に問い合わせ。いっそのことポリアセタールの歯車をマウスの規格に合うように追加工出来ないか聞いてみる、答えはOKただお金は一個約3000円。また、出費。

と、アンバランスは5穴、6穴を合わせた事だと書いたが、やはり、それぞれがきちんとバランスがとれていれば、どの角度で合わせてもバランスはとれるような気がしてきた。というか、最初はそう思いつつ、現象をみて、勘違いの方向に思考が行った感じ。ある方からメールをいただき、やはり間違いかと考え直す。もともと、歯車の穴あけ位置精度ががかなり悪いため、アンバランスはそこが原因だろう。



第261回 マイコンカーの強豪の方々と飲み会:2003/5/18(Sun)

土曜日はMCRをやってらっしゃる磯子工業高校の尾花先生にいいものがあるので見に来ないかと、お誘いを受け、神奈川に行く。いいものはタイヤの新しい素材だったが、さすがにMCRの強者達が勧める一品なので、いい感じである。

夜は田村さん、、竹村さん、尾花さん、河野さんたちと飲み会。ロボコン談義に花を咲かせる。マイコンカーはまだやっていないが、その速度の追求の姿勢は非常に勉強になる。田村さんはほんと元気だ、マイコンカーを見せていただいたが、その作り込みは、ランサーから変わらない。全くの手作りで、あそこまで作るのはさすがである。無いものは自分で作るという、我々の世代が忘れかけているスピリットをマシンが示してくれている。見習わなくては。

マイコンカーもやりたいなあ、ランサーもでないとだめかなと思いました。でも、いましばらくお待ちください。



第260回 TYPE03 BASE UNIT組み立て:2003/5/13(Tue)

本日、外注部品が届く♪早速組み立て。はじめて図面引いて注文したものが、ほぼ意図したとおり組上がった。感激である。


03式台車組み立て状態くみ上げた状態。横に見えているのは、ヨーレート&車速センサー(単なるエンコーダー)

車輪を取ってみた状態車輪を取ってみた状態です。モーターは互い違いに配置されてます。ちなみに歯車はまだ加工していません。これから車輪に取り付けるためにねじを通す穴をつけて、肉抜きします。

モーターの取り付け状態モーターは四角い部分に穴をくりぬいた部分に納められています。もう少し工夫すれば、もっと軽くできるような、構造にできるような気もします。

米さんの新マシンの全貌が明らかになりつつある。吸引付きだ。すばらしい。重くなるのもいたしかないところか。今年は、マウスの新しい夜明けの年かもしれない。ベテランの再登場や新規参加者の動向を考えると、去年が助走期間かな。



第259回 基盤作りは大変だ:2003/5/12(Mon)

この週末は基盤作りをするもののあまり進まず。Eagleにはだいぶなれてきた。オートルーティングが面白い。まだ回路図を完成していないが、途中でついオートルーティングをかけてしまう。ぼーっとその様子を眺めているのが楽しい。最初はデザインルールチェックにひっかっかって理解できなかったエラーやワーニングもだいぶ判ってきた。しかし、コピーアンドペーストがウインドウズの作法と違ったり、グループ移動ができない、よくおかしくなるなど不満もちょっとある。

発注していた部品ができたそうだ、遅くても火曜日には手元に届くだろう。基盤の設計・発注は遅くても5月最終週までには何とかなりそう。とすると3号マウスは6月末完成予定か。



第258回 イーグルよくわからん:2003/5/7(Wed)

イーグルに取り組んで2日かけて、SH7045Fをライブラリに登録した。いや、大変だったっけれど、他に登録しないといけないのはSRAMとあと1つぐらいなので、あともう少し。登録した部品を使って回路図をかいて、ボードを自動配線してみる。なにか良くわからない警告がたくさんでたあと、一応終了し配線される。その後がまだ判らない、自分で部品を配置し直したり、配線し直したりしするのは出来るようだが、部品を配置し直してもう一度自動配線したりできない。あんましこんを詰めると挫折しそうなので適当なところでやめておく。

みなさん、水面下でいろいろやっている、今年も楽しめそうだ。



第257回 モーター制御のためのCPLD設計:2003/5/4(Sun)

引き延ばしていた、CPLDの設計が終わった。これが終わっていなかったため、採用するCPLDが決定できず基盤設計に入れなかった。論理合成した結果、TQFP44ピンで64個のマクロセルをもつものに入りそうなのことが判明したため、具体的な基盤設計が実行できそうだ。

なかなか重い腰が上がらなかったけれど、すでにブザーを鳴らしたり7セグLEDで練習していたので、真剣になれば2,3時間で設計、シミュレーションとも終了。機能は、dutyと回転方向を与えてやれば、Hブリッジの4つのゲートをONOFFするための信号を、上下の短絡を防ぐためのデッドタイムを付加して出力する。

デッドタイムの設定に関しては、使用するフェアチャイルドのFETが完全に立ち下がるまでの時間が最大57.8nsで、CPLDに加えるクロックが14.318MHzで周期にして59.8nsであるので、デッドタイムとして1クロック分を設定した。デッドタイムは電気的なロスにしかならないので、立ち上がりにも遅れがあることを考慮すると、余裕のありすぎる設計値のような気がするが、クロックに依存する以外の方法が今のところ判らないのでこれで試してみることにする。



第256回 左手法エンドレス:2003/5/3(Sat)

去年のマウスにゆっくりでもスラローム旋回で迷路を走れるようにするのが当面の目標であったが、ようやく左手法によるエンドレス探索が実現できた。まだまだおぼつかないところもあるがなんとか走ることが出来るようである。

スラローム旋回実現までのアプローチについて

とりあえず、ソフト的なところで一区切り付いたので、忘備録もかねてまとめてみる。

スラローム旋回しながら迷路を探索するために必要なことを列挙すると。1 速度が制御できること。2 スラロームで左右90°旋回及び180°旋回が出来ること。3 袋小路で180°超信地旋回ができること。4 壁によったときに通路の中心に走行軌跡を補正できること。5 壁切れで位置補正ができること。以上の5項目だと思います。

速度制御ですが、2輪式のマイクロマウスは両輪の速度バランスまたはトルクバランスを制御することによって、旋回したり、直進したりするので、これが出来ることは必須です。DCマウスの場合、PWM制御でモーターを制御します。電池の消耗などによって動特性が変わるので、常に同じような旋回や直進をしたい場合は、速度をフィードバックすることが必須になります。私は今回は速度と旋回角速度を目標値として同時に与えることが出来る、現代制御理論のアプローチを試しましたが、速度が正確にいくらかというのは重要ではないので、両輪個別にPI制御等で制御してやり、両輪の速度目標値の比を調整してやれば十分でしょう。前者のメリットはこの速度比というパラメータ調整がいらないだけなのであまり旨みは少ないかも(できて嬉しいだけかも)。

スラロームで左右90°、180°旋回についてですが、旋回にはその場で回る超信地旋回と円弧を描いて旋回するスラローム旋回がありますが、後者は停止する必要がないため有利です。考えられる方式は、一区画の中をR90の1/4円弧で駆け抜ける方法や、1区画の中で直線−円弧−直線とつなぐ方法などが考えられます。去年は走行ラインが綺麗で、時間も稼げる前者でトライしましたがなかなか旨くいきません、後者は直線部分で姿勢制御が出来、連続スラローム等に向いているかもしれません。今回は後者を選択しました。旋回のタイミングは、エンコーダーからの距離カウンタの値で行っています。区画の開始から旋回開始までのカウンタ値、旋回終了までのカウンタ値、区画の終了のカウンタ値の3個のパラメーターを調整します。最初は直線や円弧の距離から理論値を求めますが、はっきり言って全く合いません。ですので、すべて走らせてみて調整していきます。まずは旋回開始から旋回終了のパラメーターを調整しとにかく直角に曲がるようにします。ついで、旋回開始までの直線部分のパラメーターを調整して、区画の中心を通るように調整します。最後に一定距離走ったら止まるルーチンと合体させて、旋回終了から、区画の終了までのパラメーターを調整して、所望の位置で止まるまで調整します。これでスラローム旋回ルーチンの完成です。低速ではこれを2回続ければ180°旋回してくれます。タイムトライアル等では迷路が判明しているので、180°旋回専用ルーチンを作って対処するようです。ちなみに実際の3つのパラメーターの比は旋回部分を1000とすると35:1000:931でした。最初の直線部分がほとんど無くて、如何に曲がれと言ってから曲がり始めるまで、または、旋回から直線に戻るまでの距離があるかが判ります。

超信地はとばして走行軌跡補正いわゆる姿勢制御、前述の旋回が正確に決まればいらないが、全く正確ではないので必須要素。基本的には壁からの距離を測って、通路の真ん中に来るようにPD制御等をかければよいはず。壁切れ直前等でセンサーの値が中途半端な値を取るため、挙動がおかしくなる。それを防ぐために柱位置の前後等の一定区間制御をかけなかったりする。その無制御区間に姿勢を修正して欲しいことがあるため、いろいろ考え、制御の切れ目がない方法を模索中。一応、目的は達成できているようないないような感じ。姿勢制御は奥が深い。

最後の壁切れ距離補正は壁が切れたところで、自分の位置を再確認して距離カウンタ等の値を修正しようと言うもの。あるとなしでは大違い。無い場合は、自己位置は距離カウンタの値からしか判らないので、初期位置がずれている場合はそれでアウト、初期位置がずれていなくても、走行途中に徐々にずれるのでやはり補正は必要になる。前も試したことはあるが、実用レベルになったという意味では今回が初めてで、あるとなしでは雲泥の差である。実装前は10分間のエンドレス走行で誤差が蓄積して、必ず袋小路で前方の壁に当たるような場面があったが、補正を入れた後は、8割方完走できるようになった。超信地旋回のみだと壁切れ補正が無くてもゴールまで行けるが、誤差がでやすいスラローム旋回では必須要素。

以上で終わり、なんで今まで出来なかったか考えてみると、第一は速度の設定が速すぎた。最初は低速から始めた方がいい。そこから徐々に上げていく方が現実的だろう。目安は1制御周期でどのくらい進むかで考えると良いのではないかと思っている。今は2mmぐらい。あとは、いきなりスラロームをやろうとしたのが敗因。やはり超信旋回でゴールまで行けるようにするところから始めるべきだろう。まあ、しかし、いろいろのたうちまくりながら経験値はたまってきたような気はする。



第255回 マイクロスピーカーで遊ぶ:2003/5/1(Thu)

今日はこの前、秋葉の鈴商で見つけた超小型のスピーカ(HOSIDEN MHU0506 □8.5 メーカのHPにデーターシート無し)で遊んでみた。
写真の上の黒い四角いのがそれ、下の丸いのはφ16の圧電サウンダ。スピーカの左下の黒いのはトランジスタ。音のインターフェースは次のマウスにもつける予定なので、これを使ってみるつもり。

クッキング秤を買ったのでマウスの重量を量ってみた。初代マウスは679gとかなり重い。電池12本は伊達じゃない(?)。二代目YariYari2002Mは395gとまあまあ軽くなった。さて三代目はどのくらいの重さになるだろう。今外注している部品の体積と材料の密度から重量を割り出し、電子部品以外の部品の重さを実測して足し合わせた結果、274g。電子回路の重量やねじなんかが入っていないが350gは切れるのではないかと予想している。



第254回 EagleとSPICEで遊ぶ:2003/4/29(Tue)

今日は早起きして、外出前にイーグルの勉強とスパイスでセンサー回路のシミュレーション。
イーグルはとりあえず回路図を書くところからスタート。SHなんかををライブラリーから作ることを考えるとぞっとする。付属のライブラリの何処に何があるのか最初判らなくて探すのに苦労する。トラ技の最近の連載はいい、英文のチュートリアルもそんなに難しくはないのだが、日本語なのはうれしい。困っているのは、回路図エディタで部品をコピーアンドペースト出来ない。コピーしようとして、コピーアイコン押してから、部品の上で左クリックすると怒られてしまう。どうやるんだ?

こちらはセンサー用のアンプのシミュレーション。単純な非反転増幅器にハイパスフィルターを接続しただけ、50Hzの低周波成分が重畳したパルスをうまく低周波成分が濾過できるのか確認。



第253回 月例会参加:2003/4/27(Sun)

本日は東日本地区月例会に参加。まず参加者の人数の多さに驚く。と言っても、講習をうける学生さんが多いだけで、社会人参加者はそれほど多くなかった。Mouse3が走った前回は、ものすごく多かったらしい。
前半開発ツールの使い方の講習と後半は試走会。今回は試走させている人はほとんどいなかったのは残念だったけれど、おそらくビギナーが多いと言うことと、人数を考えると、回を重ねていくうちに試走させる人も増えるかもしれない。残念なのは、結構早く迷路を片づけられてしまい、試走会の時間が短いような気がしたこと。雑談しながら思い出したように試走させられる中部地区の雰囲気に慣れていたので、試走させる人がとぎれたタイミングでうち切られたような印象を受けた。
お開きになった後、社会人参加者の久我さん、松本さん、佐藤さんと喫煙所みたいなところで雑談、こっちの時間の方が長かったような気がする。まさに中部地区の雰囲気の迷路が置いてないバージョンであった。あたりが薄暗くなるまでそこでマウス談義に花を咲かせた後、近所の居酒屋に場所を移し、ジョッキ片手にまたまたマウス談義に花を咲かせたのであった。そうそう、久我さんのすすめもあってEagleと基盤外注に再挑戦するつもりになってきた。

中島さんのページに動画が掲載されていた、MOUSE3Rの話は今日も話題に出たが、直に見に行きたかった。体が2つ欲しいところ。



第252回 明日は月例会:2003/4/26(Sat)

明日はマイクロマウス東日本支部と中部支部の月例会。先日、東日本支部に入会申請をしたので、明日は東日本支部月例会に顔を出してみるつもり。楽しみ。

月例会に行くので、マウスを走れるようにしようかと思ったが、野暮用のため、まとまった時間がとれず、とりあえず3号マウスの作業を進めることにする。
作業はエンコーダーの動作確認の実験。3号マウスもYY2002Mと同じくネミコンのOMS-125-2T(ロボコンマガジン館や日の丸無線で購入できるφ12のエンコーダー)を使用する予定ですが、出力が疑似正弦波なので、矩形波に整形する回路をつけなくてはならない、ヒステリシスコンパレーターやシュミットトリガのインバーターなんかを通せばいいのだけれど、その際にHIGH、LOWを決定する波形整形回路の敷居値がエンコーダーの出力波形の振幅の中心に来るようにしなければならないので、実際に実験で確認してみた。エンコーダーをモーターなどで定常回転させながらオシロで見ると楽なのだが、その仕掛けを作るのが面倒だったので、オシロのDC測定モードと残像機能を活用することで手回しで何とか目的を達成できた。ちなみに私の実験室は押入の上段である。



第251回 PCBカッター衝動買いする:2003/4/19(Sat)

糸鋸よさらば。となりそうなアイテムをゲット。ロボコンマガジン館をふらっと訪れて、ぱっと目に入った、写真のホーザンのPCBカッターなる製品。2分後には手にとってレジに持って行ってました。この大きさがすごく魅力的に見えました。約16000円の散財。

基盤作成作業は結構うっとうしい作業の連続ですが、切るのもそのうちの1つでしたが、これで楽ちん。

3号機の基盤はこれでばしばし切る予定。すこしは基盤作りのモチベーションも上がるというもの。



第250回 歯車到着:2003/4/19(Sat)

注文していた教育歯車の72歯の平歯車2個が届く。事前に買っておいたベアリングをはめてみる。横に置いてあるのがYariYari2002M用の直径5cmのタイヤ、比べて判るように、この歯車は、ピッチ円直径が36mmとかなり大きい。しかも、重いので、軽量化のため、穴をあける予定。加えて、現在注文中の車輪に取り付けるための、ねじ用の穴もあける。



第249回 見積もり完了:2003/4/17(Thu)

オープンガレージさんからマウスの部品の見積もりが届きました。参考までに、今回は7品目11点の制作を依頼して、税込みで43470円となりました。ちなみに、ホイールの単価が6400円で一番高く、ついでドライブシャフトが5800円です。

ちょっとお金かけすぎかと反省。外注に出せばマウスが速くなるわけでもないので良しとしよう。工作精度が上がっても、良いマシンになるかはできあがってみないと判らないところが怖いところ。しかし、おそらく確実にYariYari2002Mよりは扱いやすいマウスになると思うので、お金をかけた分しっかり、じっくり取り組みたい。

これで、基盤の設計に本腰を入れなければなりませんが、その前にYariYari2002Mに自分として納得した動作をさせるようにソフトの見直し作業も実施してます。



第248回 外注のやりとり:2003/4/15(Tue)

オープンガレージさんから返事が来た。CADデーターはJW_WINのデーターでも受け付けてくれるとのこと。色々アドバイスをいただき、今日だけで2回のメールのやりとりをした。自分一人で考えていると、気づかなかった所も指摘してもらえて、大助かりです。レスポンスも速いですし、いい感じです。




第247回 制作依頼送付:2003/4/13(Sun)

久々にマウス三昧の土日でありました。といっても集中力がもたなくてぼーっとしている時間の方が長いかもしれません。
土曜日は、回路の設計をしつつ、基盤のアートワーク。アートワークは何度も配線し直して遅々として進まず。世の中には2mAぐらいで光ってくれるLEDがあるらしく、ポートに抵抗を介して直結しようと画策中。世の中にはさらに抵抗内蔵のチップLEDもあるらしいのですが、どこで手にはいるのだろう?
16ビットのSRAM用の配線を全部、引き出し終わってから、手持ちの512K×8ビットSRAMがもったいなくなってきて、やはり8ビットバスにするかもしれない。
その他、リセットICの注文。

日曜日は、早起きして機械製図に没頭し、3号マウスに必要な部品8品目11点の製図を全て終了し、オープンガレージさんに制作依頼メールをだした。なにせ外注は初めての経験。これからの展開が楽しみだ。それにしても、いくらぐらいかかるかな。



第246回 基盤作り準備(CPU編):2003/4/11(Fri)

CPUのどのピンから線を引き出すか思案中。I/Oについてはある程度自分で任意に引き出す場所を決められますが、ADCやメモリ関係は動かせないので、それが基盤の配線状態を既定しそう。マニュアルを印刷したものに赤ペンでチェックしていく。どうやら図の左右にメモリ関係が集中している。上はセンサー関係で集中できそう、下はモーターやそれ以外のI/Oになる予定。SRAMのバス幅を当初32ビットで計画し、現在は16ビットになってますがそれでもたくさん引き出さないとだめなので、いっそ8ビットにしてしまおうかとくじけそう。プログラムはROMに置く予定だし、たまにデーターをストアするだけに使うだけだから、アクセスの遅れはあまり気にならないかと思ってます。



第245回 めんどうなライブラリ作り:2003/4/10(Thu)

基盤の方も平行して作業。今日はCPU周りに一緒に載る部品である、SRAM、リセットIC、バックアップ用電源、スイッチなどを見積もる。合わせて、PCBEでそれらの部品のフットプリントを作る。作ったらライブラリ化していきますが、これがかなりめんどくさい。グリッド単位に配置していくと置きたい場所に置けなかったり、位置あわせに苦労する。何事も慣れかな。しかし、このピッチで感光基盤出来るだろうか。一応、前にどこかのホームぺージで作れているところを見たことはあるのだが、自分で出来るかは自信の無いところ。



第244回 製図作業:2003/4/8(Tue)

なんとか1四半期中に新作のめどをつけるためにとりあえずGWまでに機構部品の外注をしようと、ちまちま製図作業中。これまで、ホイール、モーターフォルダー、シャフトは一応終わった。後2品目の製図が終われば終わりだ。出来たらとりあえずオープンガレージさんにでも見積もり、発注する予定。

CPLDの方もHDL関連の入門書を読んで学習中。他に、最近は毎日寝る前に、2002年全国大会のビデオをみて研究中です。



第243回 CPLD動作確認:2003/4/6(Sun)

今日はCPLDの学習基盤の配線を最後まで終えて、MAX+plusU等のツールソフトの使い方の覚えながら、ダウンロードできるところまで行った。簡単なプログラムでボタンを押すと「9」の時が表示されるところまでできた。まずは成功と言うことでCPLD(FPGA)でのモーター制御への第一歩を踏み出しました。



第242回 微分制御ねた:2003/4/5(Sat)

微分制御ネタの続きです。
センサーが前に出ているのでその分旨い具合に微分が効いて、ソフト的には微分を入れなくても旨くいくのは、もうすでにお馴染みですが、私が使ったモーターのように(たぶん)周波数特性(F特)が悪い物は遅れが大きい分、微分や位相進み要素を入れてやらないと旨くいかないみたいです。実際に比例制御だけだと、見事に蛇行してくれます。F特がいいモーターなら、センサーの位置による微分効果で十分なんだと思います。



第241回 微分制御実装の話:2003/4/4(Fri)

よねさんのホームページで話題になっていたので、そちらの掲示板にも書いたんですが、微分制御実装する時には、数値計算の教科書なんかに書いてる、1サンプル前のデーターと今のデーターの差分を刻み幅で割ってやると書いてるので、それをそのままやってます。私のマウスは制御周期が0.005sなので0.005で割ってます。実際は200倍してます。微分値はこうして得てから、微分ゲインをかけて調整します。制御対象のマウスの特性が全然違うので実際の数値例を紹介しても全然意味がないのですが、一応紹介しますと。比例ゲインが4で微分ゲインが0.14です。見方によってはただの差分を28倍してることになります。これでも大きいような気がしますが、まずまず走ってるような気がします

そうそうなかじまさんのページにMouse3レプリカの動画がでてたぞ!



第240回 小さいのー(7047ボードの話):2003/4/1(Tue)

ますぐちさんの日記で紹介されていた、ベステクの7047のボード。いやホント小さいですねえ。気になるのはSRAMのバス幅なのですが、わからないなあ。あと値段が5000円切ったら、AKI-H8みたいに20万台出荷も夢でないかも(笑)たしかにボード自作しなくてもいいかも。



第239回 CPLD学習準備:2003/3/30(Sun)

今日は中部支部の例会だったけれど、当然行けず。電話してみたら、参加者が少なくて閑古鳥が鳴きそうだったらしい。行けば、MOUSE3のレプリカの台車部分がみれたのに残念。

行けない代わりに中部支部でもらったCPLDの学習セットを組み立てる。元々はモーター制御を学習する基盤だったらしいのですが、モーター制御部は省略して、DESIGNWAVE1月号の記事中のキッチンタイマーを作ろうと思い、手持ちの7セグLEDと圧電サウンダを取り付ける。雑誌の記事では、LEDは電流制限抵抗を介してCPLD(この基盤ではMAX7160)に直結、圧電サウンダは直結。CPLDがどのくらいのドライブ能力があるのか知らないので、これでいいんだろうか。ひとまず、どのピンにつないでいいのか判らないので、CPLDとの接続はまた後日にして、LEDと抵抗等の接続だけ実施しておく。本日はここまで、これからVerilog-HDLの勉強します。



第238回 こうへいマウス3号:2003/3/28(Fri)

今年は年の半分ぐらいしか家にいられないらしいので、ロボット競技に行くこと自体が困難ではないかと思われるのですが、とりあえず時間があるうちに、少しづつがんばることにします。

こうへいマウス3号の構想が大体まとまった。とりあえず戦えるマシンを目指してみました。なんか、なかじまさんの瑠璃に似ているのはご勘弁を。概略はまずはDCモーターマウスという基本方針は変わらずです。
駆動系はなかじまさんやイトウさんのマウスに見られる、減速歯車と車輪が一緒に回転するタイプにします。
モーターは先日紹介している、HS-V1Sを使います。当初モーターに付いている8歯の歯車ははずして、ピッチの細かいやつを使用しようと思いましたが、コストアップに繋がるので断念。それに教育歯車の0.5モジュール72歯の平歯車を組み合わせます。これでギヤ比は9:1です。モーター配置は前後に配置する、YY2003Mと同じ構成。
タイヤ直径は5cm、タイヤトレッド幅はこれまでとちょっと変えて1cmにしてみます。モーターフォルダーやドライブシャフト、タイヤ等の台車部品は外注に出す予定。(はじめての外注)
センサーも今回は数を増やして6つにしてみたい。
モーター駆動系はCPLD+ディスクリートFETで構成したモータードライブ回路に挑戦する予定。
速度取得は前回はモーターの回転を直に取りましたが、今回はエンコーダー軸につけたタイヤで速度及び距離を取得して、その値をフィードバックする方式を採用する予定。エンコーダータイヤの空転による暴走の可能性があるので、空転防止、ソフトでのフェイルセーフに万全を期す。
基盤はたぶん今年も手作り、できればSH7045Fで自作してみたいがどうかな。なるべく上下のデッキ両方に部品を配置して小型化を図りたい。回路が収まらないと、大きさも変更しないとならないのでここがやはり一番大変な作業になる。
この構成だと、明らかにYY2002Mよりは軽くなるので、350g以下になると思われます。
さて、このマシンの予想(期待)性能は、モーター性能の7掛けぐらいで試算してみますと、最高速度:4.9m/s、最高加速度:13.7m/s^2となり、結構いけてます。捕らぬ狸の皮算用ですが。
技術課題は色々ありますが、とりあえず、(1)CPLD・FPGAの使用法とそれを使ったモーター制御(2)エンコーダーパルス幅の測定からの速度取得とそのフィードバック制御、以上2つが現時点の関心事です。



第237回 AKI−SH2/7045F発売してた。:2003/3/25(Tue)

今日はお休み。んじゃ秋葉にでもと言うことに相成りました。
秋月では、かねてから噂のあった7045搭載のボードが売られていました。残念ながら大きいのです。マウスには使えない、ランサーにも乗せたくない大きさです。だいたいAKI-H8を2つ合わせた大きさより大きいかもしれません。大きさ確認しようと思い、秋月のホームページに行ったら載っていなかった。秋月のホームページは新しくなる前は、商品のサイズが載っていたような気がするので、残念です。
ボードは買いませんでしたが、単体で売られていた7045を2500円でゲット、最後の一個でしたが、また入荷して欲しい。クリスタルは28.7MHzっていうゆつが無くて、他の店で24MHzを買って我慢。オリジナル基盤作るかな、まあ、妄想ですけど。
千石でDCモーター「HS-V1S」を2個買う。やはり電動プレーン用なだけあってスペック的には回転数がものすごく高い、トルクも大きさの割に結構強い。

「HS-V1S」緒元(電圧7.2V)
無負荷回転数:24300rpm(!)
無負荷電流:80mA
停動トルク:18.97mNm
起動電流:6.8A
05モジュール8歯のピニオン付き(いらない?)
M1.7の取り付けねじ穴が前方に二つある

白紙的に400gのマウスに直径5cmのタイヤはかせたら2個のモーターだとMAX3.8m/s^2で加速できる。理想状態の数字と考えても3.0m/s^2ぐらいは出せるかも。これはギヤで減速すること考えていないので、減速したらもっと加速度を上げることが出来るかもしれない。減速しても回転数がもともと高いから実用上問題ない設定が可能でしょう。



第236回 サーボ制御の本:2003/3/15(Sat)

晩飯帰りによった本屋で「サーボ制御の理論と実践 日刊工業新聞社 ISBN4-526-03788-5
」を見つけました。立ち読みですませようと思ったのですが、誘惑に負けて買ってしまいました。制御というとどうも小難しいイメージがつきまといますが、この本は読みながら実験を疑似体験できるような構成で、学校の授業で実際にモノを制御したことが無くてピンとこなかったと言う人にお勧めです。書き方もわかりやすいと思います。また、実践的な話が多く興味深い話も載っています。ただ、制御理論をひととおり学んだ人には、当たり前のことが書いてあるので、物足りないかもしれません。私的には3000円とちょっと高いですがオススメです。



第235回 マイクロマウスのページ追加:2003/3/14(Fri)

仕事の都合などで、活動休止気味です。終末は引っ越し準備で忙殺され、おそらく何も出来ません。今夜ぐらいはちょっとホームページの更新でもしようと、マウスのページを新設しました。ついでに少しづつまとめていた、2輪ロボットの速度・角速度制御についてもそのページにアップしました。

次は新しい土地に移ってからかもしれません。マイクロマウス中部地区定例会には今月もいけないなあ、残念。



第234回 中部地区定例会に行けなかった(泣):2003/2/24(Mon)

私が学生時代に所属していたクラブに言い伝えられている言葉に「身は奴隷の身であって鉄鎖につながれていても、その心は自由である。いかなる暴君といえどもその志を奪うことは出来ない。」というのがありました。出張中でしばらくロボット関係が全く出来ない状況になっている今は何故か、その言葉が頭に浮かんできて、苦笑してます。寝るときはマウスやランサーの事を考えつつベットに入っていたりします。

私のマウスは位置決めの精度が悪いので、止まるという動作が苦手です。動きながら、壁をリファレンスにして走れるときは問題なくても、止まったり、壁がなかったりするとすぐ不安定になります。袋小路に入らないとだめなときも苦手な場合の1つで、よく見かける、入れ直しをしないといけないなあと、今年は入れ直しもプログラムに組み込んでみようと寝ながら妄想しています。

そういえばロボット作りって本当は機械的な精度をちゃんと持たして、それでもだめなところをソフトで何とかしようとするのがまっとうな道だと思うんですが、私の場合はかなりひん曲がっていて、「機械がしょぼいのをソフト(制御)で何とかしよう(できる)」とかなり思い上がった思想でロボット作っています。これはイバラの道なんですね、去年これを嫌ってほど理解させられました。しばらくしたらもう少し機械適精度のいいマシンを作ってみたいと思います。とは言え乗りかかった船は降りられないので、納得できるところまではがんばるつもりです。それに、このイバラの道もけっこう楽しかったりするんですよね。いま興味のあるイバラの道は話題のジンジャー式のマウスを作ってみたいなと妄想してます。走る倒立振子マウスは、もし、走ったら面白そうですよね。



第233回 旋回航法についての考察:2003/2/9(Sun)

まだ判りませんが姿勢制御に明るい兆しが見えたので、順番としては、旋回航法を考えます。
去年できなかったスラロームをさせるのが一つの目標です。超信地旋回は探索時に袋小路に入ったときの180度ターンのみのつもりです。
スラローム旋回をさせる方法を次の2通り試してみたいと考えています。
@速度に比例した角速度で回る方法
A座標を計算して比例航法で指定した座標にいく方法

@の方法は昨年も試していますが、止まっている状態からの旋回、速度が最高時の旋回等、速度によって比例係数を変えてやらないとうまくいきません。昨年は実際に探索に組み込むとたぶん姿勢制御とのコンフリクトだと思われるバグに悩まされました。ただ、実装がかなり単純なので試行錯誤の労力を惜しまなければうまくいくのだろうと思っています。

Aの方法は125回目127回目の時に触れた自己位置の座標を計算してそれを使って指定座標に行くとする方法です。
比例航法というのは、ミサイルや魚雷のホーミングに使われたり、宇宙船のランデブー・ドッキング問題等によくでてくる航法で、概略を紹介するとロボットの位置をA点として、目標座標をB点とします。A点はロボットの位置ですから動きます。A点とB点を結んだ線は(これを目視線と呼びます。)、A点やB点の移動によって、A点から観測すると、時計回りあるいは反時計回りに回ります。このときの目視線が回る角速度に比例した角速度でロボットが旋回すると、うまい具合にB点にたどり着けます。
これは座標計算を使わなければならないので実装が難しい事と、目標位置に着いたときの姿勢が保証されていない問題が考えられます。一つ目の問題は目視線の角速度の計算が面倒そうですが、紙で計算してみると、三角関数は綺麗に消えてくれて四則演算のみで書き表せますので思ったより難しくなさそうです。二つ目はやってみないと判りません。

さて、今年はにわかに忙しくなりそうです。なるべく毎日更新したいのですが、ままならないこともあるかもしれません。発想してすぐ実行していっぺんに話すことが難しい事もあるかと思います。今後は、「発想・発案・妄想」とそれについての「結果」が別々になるスタイルになるかもしれません。



第232回 姿勢制御再考:2003/2/4(Tue)

またかいと言われそうなテーマです。
マイクロマウスの姿勢制御で、壁の切れ目いわゆるエッジ部分で、壁の無い方向に膨らもうとするのを防ぐのに区画の境目を含む、一定区間を見ない処理(私はブラインド処理といってますがマスク処理とも呼ばれているらしいです。)をします。その間はヨーレート0に保つ制御だけかけて、真っ直ぐに走らせます。

前々から、この制御の不連続性が嫌で何とかならんかと考えていて、ブラインド処理せずに、中心にあるときの値以下の時はそこには壁が無いとみなして、反対のセンサーの値だけを使ってやってみました。考えると、ちょっと問題があるアルゴリズムですが、やってみると案外うまくいきます。制御法はPD制御です。
実験MOVIE



第231回 ファンクションジェネレーターが欲しい:2003/2/1(Sat)

秋月の新商品を何気に、見ていたら、ファンクションジェネレーター&ユニバーサルカウンタが出ていました。んー買ってしまおうかと衝動買い衝動がむくむくしてきました。どうしようかな。ちなみに、FG-7005C \35,200です。これ方形波のデューティー変えられるのかな?

今日からROBOONEですね。行った人、レポートお待ちしております。ビデオなんかとられたら、ダビらせてもらえると嬉しいです。



第230回 UMLの本を購入:2003/1/29(Wed)

リアルタイムUML最近、オブジェクト指向に興味があるのと、組み込みシステムと言う言葉に引かれて、「リアルタイムUML」と言う本を買ってみました。UMLは実際にプログラムできる言語ではないようなので、そく、ロボットプログラムに応用できませんが、面白そうです。

今日は、綿谷さんのホームページをリンクに追加しました。リアルタイム進行の日記とベーシックマウスをを極めてみようと言った、試みが大変面白く、参考になります。



第229回 本日は中部地区月例会:2003/1/26(Sun)

今日はいつものマイクロマウス中部地区の月例会。

ちょっと、遅れ目に行ったので、前半は今後の予定などを話されていたようです。初級者大会が8月末、中部地区が10月20日〜30日頃、ロボットグランプリが11月の3連休頃の予定で今年は行くそうだ。

森さんが最新ロボット業界事情をお話された後に、私が井谷さんの位置制御がゴムみたいに柔らかかったのを、真似しようとして、中々難しいと言うような話をしたら、いや、簡単じゃない、いや、難しい、と言う話から、話題のDCモーター制御の話に突入。中島さん、実際どうやってるのかの話から、HブリッジはON−BREAKかON−OFFなのか、電気的時定数との関係とか、なかなか濃い話題で盛り上がった。次回は中島さんのモーター制御の実際の話が聞ける予定。私も、ラプラス変換、伝達関数、モーター制御の話を準備するつもり。(あくもでつもり)

それとFPGAそのものと、その実験基盤、ダウンロード用キットをもらった。ラッキー♪

それにしても、春に転属なので、月例会にでれても後2回と思うと、ちと、さみしい。春からは、東日本支部員かなあ・・・



第228回 実験、プログラム、CVSの勉強など:2003/1/26(Sun)

にも日記でちょっと触れた、CVSについての本を買ってきました。なるほど、なるほど、っと。

位置制御のゲインを調整していたら、謎のひきつけ(ピックって姿勢を振る)をいつも同じようなタイミングで起こすので、原因究明。どうやら、シリアルに吐き出すデーターを保持している配列の要素数以上データーを記憶しようとして、偶然、モーター制御用の変数が壊れていたらしい。これは、気づくのに時間がかかりました。

モーターのコントロール(速度、角速度制御)はできたので、次は姿勢制御、自分としてまだ答えが出ていない分野なので、良く考える。

航空工学関係の制御でよく見かける言葉に、コントロール、ガイダンス、ナビゲーションと言う言葉がありますが。移動ロボットである、マイクロマウスのプログラム書くときも、この3つに分けて考えるといいかなと思い始めています。大体、自然に、プログラムがこの3つに分かれて書かれてますが、意識するとよりすっきりするかも。(願望)



第227回 2輪マウスのオーバステア特性確認:2003/1/19(Sun)

米さんがホームページで語られていますが。2輪マウスはオーバステアであることを実感しました。

システム同定もどきのときに、なるべく定常になるところまでデーターを取りたいので、長い距離が必要でした。でも部屋の中だと取れそうに無かったので、円弧を描かせてぐるぐる回せばいいかなと考えて、両輪にあたえるデューティーに少し差をつけて走らせて見ました。結果は加速するにつれ回りすぎる傾向=オーバステアになっていることが判ります。遠心力で内側のタイヤが浮き逆に外側のタイヤが押し付けられるために起きるんでしょう、たぶん。結局システム同定は寮の廊下で人目を気にしつつ実施しました。

オーバステアは重心を低くすれば、小さくなるかもしれません。それとサスをつける手もあるかもしれません。この考察で、以前聞いた「ばね下重量」を軽くすればいいと言う意味がやっと理解できたような気がします。

話は変わって、日記に通し番号を振ってみました。システムを現行のものにしてから今回で227回目です。良く続いたものです。



第226回 現代制御理論に挑戦:2003/1/19(Sun)

昨日の成功でかなり調子付いてきたので、一気に現代制御理論の適用まで手を出しました。

マウスはMIMO(Multi Input Multi Output)システムなので、ヨーレートと速度を同時に望ましい値に制御したいと思うと、昨日やった根軌跡法等の古典制御理論の枠組みではかなり難しい事になります。そこで1960年ぐらいから発展してきた現代制御理論の出番となるわけです。

私がこれまで現代制御理論で制御した実際の制御対象は唯一、大学の研究室にあった倒立振子だけでしたので、ずっと他のものを制御してみたかったのですが実プラントのコントローラーを設計する機会はありませんでした。満を持した今回は一型最適ロバストサーボの設計に挑戦しました。

結果はどうやら成功のようです。ヨーレート目標値と速度目標値に追随しようとしているのが確認できました。

システム同定もどきの話のとき最初に使えないと書きましたが、その時得られたモデルを元に状態空間モデルを作り、コントローラを設計して動作させた結果、思ったとおりの動作をしているので、あのシステム同定もまんざらでもないようです。



第225回 根軌跡法によるPI制御設計:2003/1/18(Sat)

システム同定もどきの続きで根軌跡法によるPI制御設計もどきをしてみました。

最初は「根軌跡とは」「伝達関数とは」から書き始めたのですが、挫折しました。

さて先日のシステム同定で得られたモデルを用いてヨーレート制御系を設計します。設計のためのモデルは同定した両輪のモデルの和になり、2次の伝達関数となります。これをPI制御を用いて制御します。普通どうやるのか知らないので我流で行きます。

まず、根軌跡法を使うので、積分ゲインKIを適当に決定して、PIコントローラーであるK(s+KI)/sを制御対象の伝達関数に掛けます。Kはゲインです。これから閉ループ伝達関数を求め、Kを0から無限大に変化させて複素平面に根軌跡を書きます。通常複素平面の左半平面に軌跡があると安定、右半平面に軌跡が来ると制御系は不安定になります。安定な領域に根をプロットするKを選びます。選んだKでシミュレーションしてみてよければ、それで終わり。悪ければ、Kを選びなおすか、KIを変えて再び根軌跡を書き直し、Kを選びシミュレーションを行います。先日同定したモデルを用いて作った制御対象のモデルを用いて描いた根軌跡を次に示します。
根軌跡
図1 根軌跡

この場合、根軌跡(青い線)が複素平面の左半平面に全てあるので、どんなKをとっても制御系は安定です。赤い点のところをゲインとして選びました。

こうして決定したゲインを用いて、シミュレーションしたものと、実際に実験したものを比べたのが次の図です。

結果
図2 結 果

これは初期速度を与えておいて、当初は直進させるためヨーレートの目標値を0に設定しています。その後、決まった距離前進後R0.09旋回をするためのヨーレートを目標値に与えました。さらに決められた距離走行した後、またもとの0に戻し、直進させています。上段がシミュレーション下段が実験値です。青線が出力、赤線が目標値です。シミュレーションのほうが値が大きくなる傾向があったので、初期速度を調整して、値が同じようになるようにしていますが、過渡特性は意外と似たものとなりました。使えなくも無いと言った手ごたえです。

制御の設計はどんな方法を用いても最後は試行錯誤を避けて通れないようです。しかし、同じ試行錯誤をするにしても、指針があるのと無いのとでは大違いですので、設計法として根軌跡法も勉強してみる価値はあると思います。



第224回 システム同定もどき:2003/1/15(Wed)

今年になって、最初のやりやり日記になります。今年もよろしく。結論から先に言うと今日の話は、使えない話です。

まじめに設計するべと思い、まずはマイクロマウスのシステム同定のための実験をしてみた。まずはシステムは一次遅れと決めてみる。
一次遅れの式は次の式

一次遅れの式 ・・・(1)


Kはここではゲインと言いましょう。τはおなじみの時定数です。sはラプラス演算子です。uが入力、yが出力です。

それから、ステップ応答を見るために、一定のデューティを両輪のモーターに与えて直進させます。その速度応答をグラフに描きます。

そのあと(1)式のKとτを変えて、一次遅れの応答を書きます。

それと、さっきの応答を重ねて、似たような応答になるまでKとτをいろいろ変えて行きます。こうやって見つけた、時定数とゲインを用いて書いた一次遅れの応答と実験の出力を重ねてプロットしたものを示します。

ステップ応答

表題に「もどき」と書いてあるのは、試行錯誤で目で見た感覚でパラメーターを決めるからです。本当のシステム同定はこの作業を数学的に行います。私はちゃんと勉強してないのでよくわかりません。さて、これをもう一輪に対しても実行すれば、システム同定もどきが終わりです。ここで得られた数学モデルを用いて制御系を設計しましょう。

実は、このモデル走行条件で簡単に変わってしまう。旋回しても変わるし、路面の摩擦係数でもかわる、したがって冒頭に述べたように使えない。ただし、設計のとっかかりぐらいには使えるかもしれないので、やっぱり、これに基づいて、まじめに設計してみよう。



第223回 設計メモ:2002/12/28(Sat)

最近ポケットに入るぐらいのノートに「設計メモ」と名づけて常に持ち歩くことにしている、モーターなどもろもろの部品の緒元の忘備録に使ったり、ふと浮かんだアイデアを書いておくために使っている。ただの落書き帳と化してる感も無くはないが中々便利だ。

さて、すっかり、間が開いてしまってるうちに今年も終わりそうなけはい、やっていたことと言えば、プログラムの大改修作業の一部と、浮かんでは消える新マウスの設計。プログラムはオブジェクト指向みたいなものに変えるべく、グローバル変数の廃止、「右モーターオブジェクト」「左モーターオブジェクト」「右前壁センサーオブジェクト」等々のオブジェクトごとにソースを分けてコーディング作業中。当初C++にしようと思っていたが、まずはCでやってる。

type04いろんなタイプで自分で作れそうな設計をしてみて、いまだこれっていうやつが無いが、だんだん図面書くのは慣れてきたような気がする。まだ、人に見せて作ってもらうには程遠いが。この絵の3輪車タイプなんかはミニサーボを使って、簡単にできそうだ。



第222回 オブジェクト指向言語への疑問:2002/12/18(Wed)

私のプログラミング遍歴(変歴)の中でBASIC時代(中学生から高校生のころ)にGOTOを使はないのがいいらしいことを知る(第1の波)。自然とプログラムをサブルーチンに分ける構造化プログラミングをやっていた。C言語時代、相変わらず構造化プログラムを書き続ける。そうしている内にグローバル変数を使うとプログラムがさっぱり解らなくなることに気づく(第2の波)、これは現在進行形の出来事で、現在グローバル変数をなるべく使わない方向でマウスのプログラムを書き換えようと画策している。そんな考えを抱きながら世の中を見回してみると、オブジェクト指向に目がいく。具体的なプログラムを書かなかった、ロボコン参加以前にはよくわからなかったオブジェクト指向が最近わかり始めた。おこがましい言い方をすれば、世間で行われたプログラミング言語の進化は、個人レベルでも起こるのだ。さて、今後、第3の波もあるのだろうか、起こるとすればそれは何だろう。

オブジェクト指向というのは思想なので、C++でなくともCでも実現できるのは解っているのだが、C++を使った方がより楽だと理解している。現在の開発環境はGCCなのでC++もサポートしてて、今日からでもC++で書き始められるのだが、書き始める前に疑問がわいてきた。

オブジェクトはメモリ上にどのように実現されるのか?

クラスはオブジェクトのひな形なのでROM上(RAMでもいいのだが便宜上ROMと書く。)に置かれると思うのだが、オブジェクトが実際生成される際はRAMにおかれると予想している。メンバ変数は当然RAMに置かれると思うのだが、メソッド(関数)もRAMに展開されるのだろうか?たぶんそんなことは無いと思うのだが、そうであれば同じことをCでやるのとC++でやるのとではRAMの使用領域が大幅に違ってくる。少なくともメッソドの実体(コード)はROMにあって、そのポインタみたいな物がRAMに置かれるのではと予想していて、これならば多少CよりRAMの使用量が増えるぐらいで終わると思う。

RAMの使用量が多少増えるぐらいで済むのならば、C++を取り入れたいと思っている。以上の疑問は解ったらまた日記のネタにしよう。ちなみにオブジェクト指向については、雑誌「インタフェース5月号」が大変参考になった。



第221回 新企画仮運用開始:2002/12/17(Tue)

DCモーターの抵抗値の測定をするつもりだったが、前にDCモーター専用のページを作ると宣言していたのに、まったく着手していなかったので、抵抗測定は、そのページの第一弾のネタにするべく、後回しにしてページの作成を急いだ。KENTさんのスレッド型掲示板をちょっといじくった。新システムなので、不具合おきないかしばらく確認します。新スレッド立て&書き込み実験。よろしくお願いします。



第220回 I2CとシリアルEEPROM:2002/12/17(Tue)

買ってきたシリアルEEPROMのデーターシートを読む。「ふむ、クロック線ともう一本のバスで読み書きするのか。ん!?一本で読み書きって、切り替えどうすんだ?」そう、これを読むまで名前だけ知っていたI2Cと言うものがどういうものだか知らなかったのだ。適当に買ってきた24LC16BはI2Cで読み書きするシリアルEEPROMだった。SH7046にはI2Cはない。むりやりやるしかない。さて、その方法を考えねば。



第219回 秋葉詣で:2002/12/15(Sun)

買い物品

地元のデパートの電気コーナーにいれば一日中すごせる少年だった私にとって秋葉原は日本中で最も行きたい場所であった。東京はその他はでかい本屋と映画館があれば他はいらない(笑)。と言うことで秋葉に行く時は「詣でる」気分なのである。

土曜日にちょっとした用で横浜に行ったのだが、あけて本日は秋葉に寄って帰ることとした。今回は目玉の一つはコイルをいろいろ買いあさることであった。モーターアンプを作るのにチョークコイルを考えているので、その実験のため。秋葉では「鈴商」が各種コイルを取り揃えているような気がする。他はよく知らない。マブチモーターも買った。秋月で売ってる、FC-280SA-16200、ガード下のジャンク屋で売ってたFK180SH、センター日の丸無線ではいつものネミコンのエンコーダーを購入。鈴商では面実装用のEEPROMも買った、スイッチ切っても迷路データーを残しておけるかなと考えている。他にはチップ可変抵抗や森永さんや桝口さんのマウスみたいにLEDで状態を表示するようにチップLEDなんかを買ってきた。デザインウエーブもついでに購入。CPLDで遊べるのはいつになることやら。



第218回 森永さんはやはりすごい:2002/12/12(Thu)

タイトルどうりだが、Metallic Mouse(正式名称かは不明)がもう形になってる。うだうだ書いてる割には、何も進んでいなく成果も上げられない私は感心するばかり。見習って、少しの時間を活用しようと、YY2002Mのプログラムの書き直しを始めた。今年中にスラロームはできるようにしたい。昨日は斜め走行のための姿勢制御を実験してみた。壁をよけながら走るのが面白く、生きているみたいだと思いながら、何度も遊んでしまった。



第217回 とまったな:2002/12/10(Tue)

今週は何もすすまなそうな雰囲気。図面かかんといかんなあ。明日は第2次忘年会、週末は横浜に行って飲み会。いろいろ師走は忙しい。ランサー仲間のかのっちさんがマウス計画を発表していた。相変わらず楽しそうなマウスができそう。来年はまた一人中部地区が増える。(むりやりそういうことにしてますが、某社の先輩と通ってください。)、週末のほか年内にもう一度関東に行きますが、今年は忘年会どうしましょ?関東のかたがた日程が合えばやりましょうか?



第216回 中部地区忘年会:2002/12/8(Sun)

本日は中部地区月例会&忘年会。月例会は全日本エキスパートの予選迷路が用意されおのおの走らせて見たり、井谷さんのマウスを眺めたり、イーグルの使い方を見たり、しつつ、マウスの話題で盛り上がる。中部地区の特徴は、とくにテーマが決められているわけではないが、時間があっという間に過ぎ去る点だ。みんな好きなので話題が尽きないと言った感じか。さて、今回の中部地区の例会では、今後のマイクロマウス界の動きを左右されるような重大な話し合いがなされた。この全貌はゆくゆく他のホームページ等で明らかになると思うが、少なくともこの12.8名古屋会談(勝手に命名)によって、2輪ステッパの時代は終わるかもしれない。月例会の後は忘年会、引き続きマウス談議で花を咲かせる。今日はビールばっかり飲んだのでさほど、酔っ払わなかったが、腹は膨れた。井谷さんにはジョッキ2杯(1杯?)差をあけられた。桝口さんは手酌で冷酒をがんがんいっていたような気がする。中島さんは後半絶好調、特許の話はためになった。ということで、中部地区は面白い。もう少しで引っ越すのは残念だ。



第215回 MAPE Ver1.01完成・・としておこう:2002/12/7(Sat)

MAPE Ver1.01マップエディタMAPE Ver1.01が出来上がった。というかできたことにする。ありがたいことにご要望などを戴きその点を少し改造した。まだできていないところもあるが、逐次頑張る。前との違いは、井谷さんの迷路シュミレーター形式のバイナリを読み込み、書き込みできるようにした。読み込みは自動判別。それとテキストの出力は圧縮の他に、非圧縮のCVS形式を2種類用意した。マップデーターに半角16文字分のコメントを入れられるようにした。残念ながら拡張子をフォーマットによって自動的に変更することができず、ファイルを保存する時の操作が使いずらい。詳しくは添付readme.txtを参照してください。それと、ファイル形式の使用を快諾していただいた森永さんと井谷さんに感謝。井谷さんはご自分の迷路シュミレーターにテキストフォーマットを取り入れるそうです。

早速バグ情報(汗)。テキストで保存した際、非圧縮形式の部分が改行が入っていませんでした。また、バイナリで保存の際、スタート地点の東の壁が無いと後で正常に読み込まれませんので、強制的にデーターに壁を入れるようにしました。



第214回 もう一度告知しておこうかな:2002/12/6(Fri)

本日は忘年会、何もできず。メール等のお返事も明日以降でお願いします。

さて、8日(日)はマイクロマウス中部地区月例会&忘年会です。午後1時半からの月例会と夕方からの忘年会。どちらか一方だけの参加OKです。今からマウスやりたい方、今回は絶対来て損をしない会です。中部地区の特徴はフレンドリー&アットホームです。近隣の方のお越しをお待ちしております。



第213回 ランサー地区予選?:2002/12/3(Tue)

今日は部屋の片付けのため、趣味の活動はお休み。ロボグラのホームページを見る。今年は競技結果が早くて、いつも後回しのロボットランサーが真っ先に写真入で紹介されている。ちょっと悔しい。来年の第7回大会は競技委員長のお膝元の名古屋で行われることは確定しているのだが。東京で地区予選を行うかも、という書き込みがあった。おもしろそうだなあ。東京でやるなら、北海道、東北、九州、四国でもやらねばなるまい。こうなるとだめかも。日々マウスにはまっている私だが、数年かかっても、余裕で来たら必ず復帰する。そのころにはレベル上がってるだろうなあ、今度は100秒で何周しようかな。



第212回 MFCプログラムの謎。:2002/12/3(Tue)

ダイアログの謎謎と言っても、ただ私がわからないだけ。いまメニューに設定という項目を増やして、そこを押すと設定用のダイアログが出るようになるところまで作れた。そこにはエディトボックスと言われる、テキストを書き込めるところが有る。そこに何か書いて「OK」を押してダイアログを閉じた後、再び開いた時に、先ほど入力した文字がそのまま書かれているようにしたいのだが、どうしたらいいかわからない。ダイアログはオブジェクトなので、開かれる時に初期化され、閉じられる時に破棄されてしまう。(と、理解している。)したがって、このオブジェクトの中では変数がとっておけない。(と、理解している。)よって、常に生きてるオブジェクトにメンバ変数を作って、それにアクセスして値を保持しておきたいのだが、つねに生きてるオブジェクトの名前がわからない。それが判ればできるのかどうかも怪しいものだが、とりあえずその方向で攻めてみるつもり。昨日公開したファイルはMFC70.DLL等が必要だと言うことがわかり、独立版に差し替えました。たぶん、これで動くと思うが・・

すかっり、VC++でのウインドウプログラムにはまってしまい、しばらくこのネタになりそう。



第211回 マップエディタ進捗状況:2002/12/1(Sun)

作りかけのマップエディタマップエディタとして最低限の機能はできた。マウスで壁のON/OFFモジュールを実装して、ファイルの読み書きも実装した。ファイル形式は多分一番ポピュラーかもしれない、森永さんの圧縮形式のテキストファイル。テキストエディタでコピペして使える。見た目や、いろんなフォーマットに対応したりと、やることはまだまだあると思うけど、個人で使う分には十分な気がする。VC++での開発になれていなくてファイルの保存や読み込みでデフォルトの拡張子を設定したり、拡張子によってフォーマットを区別したりしたいのだがやり方がわからない。今回これを作るにあたって参考にした本はこれです。かんたんに書いてあるので、説明不足で想像力を要求されるところもあるが、読みやすく、今回作ったマップエディタのような簡単なアプリを作るためには必要なことはすべて網羅されている本だと思う。まったく1からはじめる時に最初に買うと良いかもしれない本。



第210回 マップエディタ作成中:2002/11/30(Sat)

作りかけのマップエディタ米さんからエクセルのマップエディタを頂いて、それでマップなどを打ち込んでいたのだが、ふと、井谷さんから頂いた迷路探索シミュレーターでマップかけるんじゃ無かったかなと思いつき、確認するとやはり作成できる。ファイル形式がバイナリだったので、バイナリをテキストに変換するソフト書いてみた。コンソールアプリにするつもりだったが、ファイル選ぶぐらいはマウスでやりたいなと思い、買ってあったVC++の入門書を紐解く。読んでるうちに、マップエディタ作ってみようかという気になり、始めたら、マップのベースを表示するところまでは意外と簡単にできた。次はマウスを使って、クリックすると座標から壁をON、OFFするルーチンを作るつもり。しかしWindowsプログラム作法について覚えるところがたくさんあって大変だ。VC++もVer6と.netで操作方法がかなり違っていて、戸惑うことばかり。大変だが、これも新しいことを覚える喜びは大きい。

いろんなことに手を出し始めて、体と頭がたくさん欲しい今日この頃。



第209回 DCモーター関連のページ作成中:2002/11/28(Thu)

移り気なもので、今日はDCモーター制御関連のページを作り出している。中島さんが同じくDCモーターの制御の話をされるそうなので、手っ取り早く知りたい方は、そちらを見たほうが良いだろう。とりあえずうちは、素人が寄り集まって開く勉強会のようなものを作ってみたい。いつもどうり私が考えたこと、実験したことなどを書く、それをたたき台にして、議論をしていければ良いと思う。DCモーター制御フォーラムと称して掲示板も新たに増設し、図などを貼れるようにしておいて、単なる感想、質問のほかに、自分の実験したことや、考えたことの発表の場となればいいなと思っている。

ステッパが淘汰されるか否か。エキスパート決勝からは姿を消す運命にあるような気がする。しかし、マウス入門機としての役割はずっと変わらないと思う。2輪差動式ならDCモーターを思うようにまわせられるようになれば、ステッパで培った技術はかなり使えると思う。ステッパで技術を磨き→DCで勝負にでる。とステッパを回した事がない私は思うんですが。



第208回 告知・中部地区忘年会:2002/11/26(Tue)

アメリカの戦闘機と旧ソ連の戦闘機が似ているように、技術的に洗練されて来ると似たような形状及び構成になる傾向がある。F1マシンがその違いがなかなか解らないように、競技用ロボットも形態、構成はほとんど同じになるだろう。そうなったときソフトの工夫が勝敗を分ける。その状態に行き着くとハードがコスト的、技術的に趣味でロボットを作る人々に作れるかという問題が出てくる。その答えが難しいと出たときその競技は衰退へと向かうんだろうと思う。そうなった場合、開催側の工夫が必要だ。

ここで具体的にマイクロマウスを見てみると、現在の究極のマウス井谷さんのマウスはコスト・技術的に難しい部類に入る気がする。あくまで「そんな気がする」と言う話だ。したがって、中島さんが井谷さんのマウスのレプリカを作るプロジェクトは注目に値する。この過程で製作の過程が明らかになれば、「お、意外と作れるかも」と考える人も増えるかもしれない。(その逆になる可能性もあるが・・)最近になって森永さんがでっかく開いたマイクロマウスの門はくぐってみると、断崖絶壁がある観がある。それを乗り越えるためには焦りは禁物である。ゆっくりベースキャンプを張り、後方支援体制を整え、実力を付けて挑まないとたぶん途中で挫折する(自分の場合)。しかし、目標が高いとわくわくするのは私だけではないだろう。(ちなみに、こんなに、構えなくても、出来る範囲で作って、大会に出るだけでかなり楽しめるので、これからの方はご安心ください。)

話はぜんぜん変わって、中部地区の忘年会は12月8日です。皆様のお越しをお待ちしております。忘年会前の月例会では、今年の反省会あんどエキスパート決勝迷路を走らせたりの検討会です。私もビデオもって行きます。ついでにランサーのビデオももって行く予定です。来年は名古屋でランサーと言うことで、参考になるかもしれません。土曜日ではないのがちとつらいのですが、楽しみ楽しみ。



第207回 製図に没頭:2002/11/26(Tue)

JWCADで製図今日は駆動部分の製図に没頭する。この作業、無心になれる。気がつくと12時近い。早く完成させて、見積もりに出してみたい。



第206回 自動車の運動と制御届く:2002/11/24(Sun)

京都に出発する時に下駄箱に本が届いた旨のメッセージが入っていたので、その場で受け取り、旅行鞄にそれを放り込みそのまま出かけた。道中の新幹線で読む。ふむふむ、まずはタイヤの説明か、タイヤ特性は知りたいんだけど、昔考えた実験用装置はまだ実現していない。つぎは運動方程式、いつも使ってる2輪モデルに持っていく話、ここまでは既知事項。ほんとは6自由度でピッチ。ヨー、ロールの運動方程式はこれだ!!と言うのが欲しかったんだけど、この本はロールまで考慮したところで終わってるらしい。ピッチは応用問題で、ちゃんと本読めば判るだろう。後半は前後輪操舵など興味深いトピックが並ぶ。ちょっと残念なところはあるが、いままでかき集めた知識がこれ一冊にほぼ取り扱われているので、自動車の運動を考える上では、持っていて絶対損はない本だと感じた。



第205回 ベアリング届く・歯車見積もり:2002/11/22(Fri)

NSK ベアリングMF63ZZ今日は注文していたベアリングが届いた。8個2台分である。

教育歯車で有名な(株)教育に特注歯車の見積もりを依頼した。特注といっても、規格品の穴径を小さくしたものを依頼する。エンコーダーに軸がφ1.5と規格品はφ2.0が最小で合わないので、頼んでみた。見積もりの回答は1個3300円。ちなみに規格品の千石での単価は310円・・。特注だししょうがないか。

部品がそろってくると早いとこ、図面書いて機械部分の外注をやってみたい。昨日は本屋で「JISにもとづく 標準製図法」を買ってきた。7年前の大学で教科書として使っていたもの。学生の時よりまじめに読んでる。(笑)



第204回 RSからLCD届く:2002/11/21(Thu)

今日はRSからLCDがとどくデバグ用のLCD16×2はでかいのが悩みだったが8×2を頼んでみた。横に2分の1なのだが思ったより小さく見える。

中島さんがmouse3のレプリカを作る宣言をされていた。みんないろいろ考えてるんだなあ。

むむ、男らしいか・・蛮勇かも。



第203回 ベアリング見積もり:2002/11/20(Wed)

今日は、ベアリングの見積もりを取る。ベアリング新品は高い、あんなちんまいのがうん百円もする。まあ、しかし、その役割を考えれば多少高くても仕方が無いのかも。中古だと60円とかでも買えるけれど、ここはあえて新品で攻めてみる。ベアリングを通販で売ってくれる「株式会社 S E K I」と言うお店を見つける。結構対応も早いし、他のWEBでベアリング小売してるところと比べると若干安いような気がする。

注文していたDCモーターの本が届く、届いたのを見て判ったが、自分が持っていたものの改訂版だった。若干ショック。この春の引越しの時に選考にもれて置いてきてしまっていたので、著者なんかがわからなかったのだ。まあ、内容がかなり新しくなってるしよしとしよう。しかしHブリッジでPWM制御する話を、FET、トランジスタの高速スイッチングの仕方とか、オンデレイのはなし、回路の挙動、電流連続、不連続等等全てひっくるめて書いてある本は無いのだろうか。

航空宇宙業界では超有名な加藤寛一朗大先生の「工学的最適制御」を読んでいて、「最適最短90度旋回」と言う言葉が浮かんでくる。面白そうだなあ。



第202回 はめあい(fitting):2002/11/19(Tue)

今回は「はめあい(fitting)」と言うことを初めて知ったというお話。

YY2002Mのマイナーチェンジ版のギヤボックス部分とタイヤを外注してみようと思う、マウスの機械精度の向上はもちろんだが、機械設計技術の基礎の修得の方が主な目的。

機械製図は一般大学では学部学生と言われる時期に、一回だけ書いたことがあるが既に7年も前の話である。それから一度も図面引いたことがないので全く知らないのとほぼ等しい。
さて、人に作ってもらうことを意識して図面を書こうと思うといろいろ考えねばならないことが出てきた、中でも穴に軸を通すことで悩む。
例えば、ベアリングをハウジングに取り付けたときに、「すかすか」と簡単にはとれないけれど、指で「ぎゅっ」と押せばとれるとか、ベアリングに軸を入れるときは「するっ」と入るようにしたいとか、そういうのを図面上に表すのはどうしたらいいのか?いろいろ調べると「はめあい」と言うキーワードが浮かんでくる。結局は公差の指定になるのだが、その実際の値がどのくらいがいいのかは解らない。更に、この「はめあい」というキーワードで調べるとJIS等でだいたい決められていることが解る。その中で更なるキーワードとして「しまりばめ」「中間ばめ」「すきまばめ」等の言葉が解る。なるほど、あとはJISの記号、意味、表の見方を勉強すればいいんだな。
しかし、持ち合いのベアリングを使おうと思っても、外形や内径の公差が解らない場合はきっちり設計できないのかな?解っているやつを新たに買わないとだめなのはもったいないなあ。

制作期間5年は確かに長いかも知れない。5年もしたら今やってる人たちも引退してるかもしれないなあ。それはちょっと寂しい。気持ちとしては5年以内に新作と言うことで、もう少し早くしたいようなきもする。趣味人としては70歳を超えてもロボット競技に挑戦しておられるランサー仲間の田村さんがお手本なので、ゆっくりでも良いような気はします。今日の話もそうですが、知らないことがいっぱいあって時間がいくらあっても足りないですから。



第201回 今後の活動:2002/11/17(Sun)

久々週末は小説読んだり、映画見に行ったり、ホームページ更新したりとゆっくり過ごした。

桝口さんとこで紹介されていた、自動車の本、それと中島さんに教えてもらったDCモ−タ活用の実践ノウハウと言う本を注文してみた。

4輪マウスの構想からまた自動車の操舵制御に興味がわいてきた。ランサーの時に4WSは結構研究したけれど、結局ランサーで実現したのは車速感応型の4WSと言うやつ。ジャイロ乗せなくて良いから安上がりな方式。フィードフォワード制御なので、路面状況の違い等には弱かったはず。逆にジャイロ乗せると制御方法の選択肢は増えるが、その分難しくなる。

さてこれからの活動方針だが
1 新作は4輪駆動4輪操舵マウス
2 制作期間は5年ぐらい、予算は20万円
3 システム設計をきっちりして、すぐにものを作ったりしない。
4 実験、シミュレーションをきっちり実施する。
5 設計図、回路図はきっちり書く。
6 新作完成までの当面はYariYari2002M(以下YY2002M)をマイナーチェンジして大会に出続ける。
7 YY2002Mでの必成目標は、低速でもスラーローム、斜め走行を実装しエキスパート予選にてセカンドトライまで完走すること。
8 YY2002Mでの望成目標は、エキスパート決勝で探索走行を完走すること。
9 常に必勝の信念でことに取り組む。
制作費20万円は多いような気がするが制作期間5年で年4万ぐらいと思うと、それほど多くないような気はする。それと仕事もあるので時間をお金で買うことも考えねばならない。必勝の信念は、あきらめて物事やってもたいした成果は上がらないことがわかっているので、掲げてみる。Do your best. Result follow you.である。



第200回 ソース管理と3DCAD:2002/11/14(Thu)

これがWIN版のCVSC言語を作ったカーニハンの書いた「プログラミング作法」と言う本を読んでいる。本の内容を熟読して実際にやるのは大変なことであるが、プログラムのスタイルや、バグを出しにくい書き方などなど参考になることが多い本だ、その中でソース管理と言うのがほんの少しだけ触れられている。自分も前に動いていたソースを紛失したりしたため、切がいいところで、ディレクトリごとコピーしてバックアップをとってバージョン管理のようなことをしていたが、そういうことを自動的にやってくれるソフトがあることを知った。CVSと言うのだが、最初は使い方がよくわからない、WEB上に日本語のドキュメントがチョコチョコあるのだがちょっとわかりにくい。しかし、だんだん判ってきた。判らなかったのは概念そのものが、自分にとって新しかったからだ。ソースに変更をし変更を加えたことを、CVSに教えてやる(コミットと言う)すると、そのことを代々記憶してくれて、あとあとその時のバージョンに一発で戻せる。また、変更箇所も教えてくれる。コミットする時はユーザーがコメントを付けれるようになっているので、後々何の変更を加えたかもわかりやすい。自分でやると、バックアップしたディレクトリにreadmeファイルを作るとかしないとだめだが、たいていめんどくさくてやらないので、あとあと使い物にならないことが多い。他にも機能はありそうだがよくわからない。こういうソフトがいいのか悪いのか長い目で見ないとわからないと思うので、実験的にこれからは全てのソースをCVSの管理下においてみることにする。

3DCAD PRO DESKTOP昨日JWCADを触り始めた話をしたが、どうせ知らないんだから3DCAD触るのも悪くあるまいとWEBを探したら、最近は只で手に入るんだと感心したのがPRO/DESKTOP Expressという3DCADソフト。チュートリアルを見ながらちまちまやったのだが、面白い。平面を押し出すようにして立体を描く。その描いた立体が簡単に平面の図面に化けてくれる。しばらくこれも勉強しよう。



第199回 CADをいじる:2002/11/13(Wed)

簡単でも図面かけなきゃいかんなと思い、JW_CADをダウンロードし使ってみる。JW-CAD再入門と言うページを見ながら、お勉強。マウスのアクスルを題材にしてみた。なんとなくそれっぽくて、ニンマリ。

お次はEAGLE、こちらもチュートリアルのPDFをダウンロードして読みながらちまちまやり始める。英語なので疲れるが、文章はそんなに難しくない。しかしアルファベットを見ると眠くなる体なため画面の拡大縮小センタリングの仕方などの説明を読んで実際にやってみて「なるほど」と思ったところで、本日は終了。いま。PCBEで作ってる、実験ボード、ちょっと遅くなるが、こっちでやってみよう。

手持ちのモーターの電気的時定数がわからない。つまりコイルの抵抗とインダクタンスがわからない。モーターに低い電流しか流れない状態にして、軸を固定し、パルス上に電圧のON、OFFを繰り返せば、モーター端子間をオシロで計測することにより、電気的過渡状態を観測できないだろうか。近いうちに日記のネタとしてやるつもり。



第198回 楽しき妄想:2002/11/12(Tue)

次はどんなマウス作ろうかなあ、と、妄想が膨らんで楽しい。大会までは、2輪DCマウスをそこそこできるようになってから、4WDSマウスを作ろうと思っていたが、ちょっと方針を転換しよう。井谷さんのマウスに勝つためには、物理的に速く走れる仕組みが必要だ。ステッパではパワーウエイトレシオから考えてかなり不利である。2輪DCは軽さとモーターのトルクから言ってかなりいい線いけるような気がするが、今度は軽さによるタイヤグリップとの戦いが待っているような気がする。ランサーチャンピオンのように吸引と言うのも考えられるが、マウスの大きさだとちとつらいかな。井谷さんのマウスの機構はすばらしい。駆動部はピッチ、ロール方向に動くことができ、路面を駆動輪が離さない仕組みになっている。これは自分ではまねできない。やはり駆動力をベルトもしくはシャフトで前後に配るラジコンカーや普通の自動車の機構が作りやすいだろう。それで、4輪にサスが付いていれば最高だが、最初はそこまでは無理かもしれない。本シーズ前までに作りかけたマウスでは両輪のデフが付けれなくて困ったが、左右のタイヤは別々のモーターで回してやって、内外輪の差はモーター制御で作ることにする。ステアリング機構は前輪と後輪にわけ、アクチエーターは小型ラジコンサーボの機構とモーターだけを使いマイコンで制御することとする。左右はアッカーマンで切らせる。
ふー、限りなく妄想に近い。市販の部品とやすり、糸鋸、ボール盤、今は無いけど旋盤でこれを作り上げるのは大変だなあ。

これ、今回のフレッシュマンの私のマウスの走りです。眠たい走りですが、映像として残っていて良かった。米さんに感謝(ペコリ)



第197回 世界の頂点:2002/11/12(Tue)

ついにOFFシーズンの始まり。先週までの、何かに追い立てられているような気分がなくなり、のんびりアフターファイブをすごす。

といいつつ、すでにPCBEに向かって何かしている自分がいる。今日は買ってあった、ゲートドライバとFETとを組み合わせ実験用のモータードライバを作り始めた。電流連続PWMで今のモーターを回してみる。これがうまくいけば制御周期があげられる。少なくとも次のエキスパート予選はマブチで抜ける。当初、デッドタイムなどはソフトで入れようと考えていたが、ハードで構成してみることとしたハードでできればそのほうが良いだろう。

井谷マウス

これがこの時代の頂点の走りだ。撮影のポジションが悪く、全体が写っていなくて申し訳ない。乗り越えねばならない山は限りなく高い。

そうだ、これを言わなきゃと思っていたんだ。今年のシーズンを通じて、たくさんの仲間がまた増えた。ランサーの時もそうだったけれど、社会人になってからこの様に輪が広がっていくと言うのは、私にとってはすばらしいことだ。ほとんどの人にはこういうことはあまり無いと思う。いや、とにかく、今年は楽しかったです。みなさんお疲れ様でした。中部地区の皆さんは、今年は後、忘年会だと思いますが。楽しみにしております。



第196回 フレッシュマン完走:2002/11/11(Mon)

ついにゴールに到達。記録1分14秒383

しかし、ゴールした後の処理にバグがありスタート地点まで帰ってこれずマップが壊れてしまい、ちょっとだけ早いはずのセンカンドトライができなかったのが悔やまれる。この段階で来年からはエキスパートに出なければならず、そのハードルが絶壁のように感じられる。まずはエキスパート予選迷路で完走を目標とし、その次は決勝に進出、その次は決勝で入賞、でもって優勝、何年先になることやら。正直言って優勝マシンがどんなんだかわかってしまっているので、かなり難しいことは確か。

結果はフレッシュマンの優勝が桝口さん、エキスパートの優勝は井谷さんと大方の予想通りの結果。エキスパートは日本人が一位を取れたものの2位以下は外国勢が並んでいる。中島さんの瑠璃も健闘したが、惜しくも入賞を逃す。しかし恐らく来年以降は間違いなく入賞すると思われる。

そういえばトレーサーも韓国勢のマシンは速かった。

さて、今日はこのぐらいにして寝るかな。自分の走りのムービのせたりしたい。他の人のも乗せたいけれど、許可とってないからなあ・・、よかったらこっそり連絡ください。載せさせてもらいます。



第195回 最後の2日:2002/11/7(Thu)

さあエンドレス、スリープレスで追い込み。睡眠は行きの新幹線でとる。



第194回 今年の精一杯かな:2002/11/7(Thu)

中島さんのムービーを見つつ、あんなふうに走れたらと思いながら、自分も動画などをアップしてみる。探索のみのつまらん映像だが今年の精一杯といったところ。ゴールした帰りはシャーッとスラロームで帰って来たいものだ。まだ二日ある頑張るべし。

スラ探できなくて残念だが、これまでの月日もたぶん無駄ではなかったろう、DCモーターもだいぶ判ったし、今回は電流不連続モードのPWMだが次回は電流連続モードでの制御にチャレンジだ

マイクロマウスの公式ページにエントリー者のリストが出てた。取り消しを除くと54台たぶん当日棄権者がでるとおもうので45台前後になるのかな、桝口さんをはじめとして社会人マウサーも少しいるようだ。これだけのマウスが一同に会すのは壮観だろうな。



第193回 ものすごいマシンの出現:2002/11/4(Mon)

ランサー見てまいりました。ものすごいマシンが出現しました。ショートカットなし1周約6秒、円柱標的は倒さず、2600点台(と思う・・)16周以上を回るマシンです。

製作者は丸木さんと言う方でマシン名は「青嵐」画面の周回数では16周でしたが多分、17周目を回り終えたぐらいのところで時間切れだったような気がします。せっかく会場まで行ったのにはっきり見れず、はっきりした仕様は判りませんが、吸引をかけていたらしいことと、車体が非常にコンパクトであること、白いタイヤを履いていたこと、当然DCモーター使用であろうことが伺われました。YariYari2000F改では太刀打ちできないマシンが出現しました。これは俄然やる気が出てきたと言う感じです。これからいろいろ考えねば。来年は会場が名古屋になるそうです。

前日から、関東入りしていたんですが、相棒のマシンの進捗状況が思わしくなく、試走会に行かずに秋葉で足りない部品を調達したり、マシンの調整の手伝いなどをしていて前日は終わってしまった。当然当日の予選前の初試走と相成ったが、ライントレースせず、控え室と試走台を走りながら往復することになる。ライントレースはできたが、エンコーダーを変更しているにもかかわらずそれがソースに反映されておらず、途中で止まりリタイヤ。来年は予選通過しろよ−>なかおっち

今年の大会は先日私がここで語った人数を大幅に超えており、エントリー数110名、実際、走ったのは77台と非常に盛大な大会となって。一ランサーファンとしては嬉しい限りでした。

決勝の最終走者が終わってすぐ名古屋にとんぼ返りし、工学院専門学校泊り込んで、本日学生大会に出場する学生さんたちとマウスの調整、なんとか完走できそうな気配がしてきた。工学院の学生さんたちはかなり期待大である。がんばれ!!

さて毎年恒例、ランサーのビデオあります。決勝のほぼ全走行が録画されております。全員の走行を100秒フルではありませんがそこそこ参考になるとは思います。会場が暗いのと、カメラ撮影暦1年未満の私が撮影しているのであまり良い出来ではありませんが私の毒舌コメントつきです。ただし、ダビング設備を持っていないので、誰かマスターVHSテープを作っていただけるとありがたい。見たい方があれば相談に乗りますのでメールください。



第192回 大岡山で会いましょう。:2002/11/1(Fri)

いよいよ明日はランサーの試走会、あさっては本番です。残念ながら見学になってしまいましたが。相棒のセコンドとして参加します。ここ3年は他のマシンをじっくり見ると言うことも無かったので、ゆっくりお話でもしながら、見て回ろうかと思います。それではランサーの皆様会場でお会いしましょう。

マウスは電池のパッキングと底板を新しくして、最終形態へ進化した。ランサー競技会当日は終了しだい名古屋へとんぼ返りし、工学院の学生さんたちのマウスの最終調整に参加し自分のマウスの調整をする。佐藤先生をはじめ、工学院の皆様よろしくお願いします。

先日の中部地区大会で参考になることは山ほどあったが、全国を飛び回ってロボット競技に参加する時のアイテムとして、キャスター付きの鞄は欲しいと思い、本日ゲット約1万円。これでらくらくである。



第191回 病床から死にぞこない日記:2002/10/31(Thu)

風邪が治らない、2日寝続ける、週末に向けて体調を整えていると言う説もある。正確に言うと病院いって、薬飲んで、無理に食い物入れて、寝て、何とか回復しつつあり、明日は正常な生活に復帰できそうだ。

マウスを最終形態に進化させるべく頭の中の準備はできた。あすは、アクリル板の切り出し、電池パックづくりをしよう。もちろん局地旋回での探索モードも調整。ある方から完走すれば、特別賞と言うものをもらえるかもよとの、お言葉を頂く、やる気が倍増である。



第190回 局地旋回調整:2002/10/30(Wed)

風邪でダウン、ほとんど寝ていたが、夕食後、だいぶ回復、局地旋回の調整。底板を新たな形にするため切り出し作業をする。明日は2個目の電池パックとその底板をあわせる。



第189回 故障探求:2002/10/29(Tue)

右前壁センサーが前から調子が悪かったのだが、やはり壊れていた。土曜の晩は、LEDフラッシュ用のコンデンサを上から押したら値が元に戻ったので、そこを取り替えたり、半田付けをやり直したりしたのだが、本当はアンプの出力の直流成分を取り除くコンデンサが原因らしい。基盤をどこから押しても、わずかに基盤がゆがむことにより接触が回復して値が戻ったようだ、そのチップコンデンサを取り外すと、チップの両端の電極の片方がポロと取れてしまった。今となっては壊れていたのか、接触不良だったのかよくわからないが、とにかく直った。昨日の晩から、故障探求時間は3時間は掛けてるんではないだろうか。

人間のほうも調子が悪い、寝不足に、急激な気候の変化で、風邪らしい、今日はこれを書いたら、ベンザエース飲んで寝る。けつから血も出たし、ああ・・・

夜中に目が覚める。成松さんの日記を拝見していたら、robocodeなる面白そうなものがあることを知る。かつてX68KでRCにはまった自分には非常に魅力的だ。マウス終わったら見てみるかな。さてもう一度寝るか。



第188回 とにかくゴールへ:2002/10/28(Mon)

全日本ではなんとしてもゴールに到達したい。全日本でゴールに到達しないと、あと1年悶々と過ごさなければならない。今日はモータ制御周期を2倍に変更。地区大会前に変更すると全てを見直すことになるのでやらなかった。今は全てを見直す時。このマウスは停止するのが弱い。少しでも良くするために、その辺も見直す。明日はセンサー関係の見直しか。

と言うわけでランサーは見学のみ。馬もできません。ランサーのみなさん申し訳ない。



第187回 マイクロマウス競技中部地区大会惨敗:2002/10/27(Sun)

中部地区大会が終わり帰って参りました。2日間、異次元空間にいたような、楽しい日々はあっという間に終わってしまいました。

結果は優勝井谷さん、準優勝森永さん、3位藤谷さん、4位桝口さんでした。大方の予想どおりの結果でしたが、その中で、工学院専門学校の学生さんである藤谷さんの記録は非常に頑張ったものと言えます。私はというとやりたくないと言っていた、リタイヤ5回という悔しい結果に終わりました。

私は、土曜日の13時頃に工学院に到着、工学院の学生を除き1番のりであった。夕方頃まではその他の出場者は来ず、学生の中で一人黙々プログラムと、試走に励む。16時を過ぎ17時になると前の日から頑張るマウサーたちが続々集合しだした。井谷さんを始めとするマウサーとマウス談義に花を咲かせた夕食後、朝まで徹夜をすることになる。まるで、学生の時の合宿のような感じであった。

私は、センサーの使い方がよく判っていないと言うことがはっきり認識できました。壁のある無しで認識を誤る、またプログラムにもバグがたくさんあるようだ。こだわっていたスラ探も今の状況ではできないと、やっと悟り、AM5時ごろ90度極地旋回モードに切り替えるべくプログラムを書き直し始めるが、そうはうまくいかなかった。

終了後、マウサー総勢12人と打ち上げ、楽しくひと時を過ごす、マウサー日本一の井谷さんに、一番天邪鬼は私だといわれ、内心かなり嬉しく思ったりする。楽しいひと時もあっという間に終わり、関東から来ている方々が帰るため、お開きとなる。

DCマウス作りたいと思っている人たちが結構いることを知り、来年以降が楽しみである。それにしても眠たい。



第186回 あさっては中部地区大会:2002/10/25(Fri)

さて、ラストスパート頑張るしかない。全ての調整は、会場で本物の迷路を使って実施する。迷路探索ルーチンを走行モジュールと合体させる。パソコン上でのシミュレーションでは迷路を解けるようになった。タイムアタック用のコマンドジェネレーターも一応できているが、これからコマンドインタプリタを作らないといけない。それと、大会用のインターフェースに変更し、ご操作を防ぐようにしよう。余力があれば安定した走行のための、センサーの調整、ターン開始地点の調整などをやる。

だめだめであるが、とりあえず走行モジュールと探索モジュールが合体した。心配していた探索計算が制御周期時間内で終わるかどうかはまったく問題ないようだ。とりあえず、くっつけるだけで精一杯だった、寝るかな。明日は(もう今日だが)1時に着けるように前進する予定。それでは、みなさん会場で会いましょう。



第185回 準備は後2日:2002/10/25(Fri)

今年は無理かなあ、と少々弱気な今日この頃。センサーが壁読み飛ばさなければ、うまく回るが、飛ばしたらその時点でアウト、まあ、当たり前のことだ。調整はそれを3σの範囲に入る値を見つけ出すことに尽きる。そのためには速度を落としたりなんかしないとだめになるのが面白くない。本番前に熱田神宮にでも御参りしようかな。もう、ほとんど神頼みである。

眠れない・・・・寝ないでプログラムでもしろと言う神の啓示だと思おう。眠れるまでソースなどを書き直す。

マップ配列をMap[x][y]の形から、Map[y][x]に全部直す。まだ、最短経路導出モジュールが実装されていなく、そちらはこの形式で書き始めている。1号マウスの時からロボマガマウスのソースは何で逆なんだとアホ見たいに思っていたが、マトリックスの行と列のイメージと座標のイメージをあわせるにはこちらのほうがしっくり来ることに今頃気づいた。

中部地区のお二人は土曜日は何時ごろ前進します?(そういえば、中島さんはお出迎えがあるのか)

Bluetoothでロボット操縦したりプログラム書き換えたりできたらかっこいいし、便利だなと思っていてweb上をふらふらしていたらこんなのみつけた232CのケーブルをBluetoothで置き換えてしまおうという基盤だが、いかんせんやたら高い。秋月あたりで低価格で似たようなやつ出してくれないかな。



第184回 探索プログラムとタイムアタック:2002/10/23(Wed)

正直言って、安定走行とは程遠い状態だが、探索プログラムとタイムアタックモードを作り出さないと、まずい。探索プログラムは1号マウスの時に経験しているので、そのソースを修正してデバグ中、タイムアタックもそこでできた等高線マップからコマンドリストを作成すればいいのだろうと、だいたい目処はついた。ここからVC++で作ってみた。デバッガはそれほど使わず、printfでやっているところが我ながら笑える。これなら半日もあれば、バグの取れたプログラムが実装できそうだ。

中島さんがスラローム90度旋回の動画を公開されていた。きっちり90度回られている。計算どおり行かないとのことだが、ゲインの絞り込みはやはり大変なのだろう。

桝口さんも動画アップされていた。むむ、確かによくわからないかもしれない。最高速まで3.5区画ぐらいだろうか。はやいのである。



第183回 しんどい:2002/10/23(Wed)

「気楽に行こうぜ。>俺」と自分を励ましたくなる毎日。スラ探のみを追い求めたこの5ヶ月、この前の日曜日には、いい意味も悪い意味も含めて、なんとなく先が見えた。いまやこのマウスをここまで、走らせられるやつは、世界に俺しかいない(たぶん)と言い聞かせながら、頑張るしかない。ちなみに、この動画のコースでの成功確率は聞かないでください(涙)

土曜日は良くくても悪くても早めに行こう。夕方以降になると自分の調整どころではないかもしれないから。



第182回 るりるりが走っている!:2002/10/20(Sun)

るりるりが走っている。るりるりとは正式名称「瑠璃」、中島さんのマウスだ。やはりきっちり走っている。「びったり、真っ直ぐ、さくさく」と一つ一つ着実に走っているかんじだ。私のはびったりとまらないし、超信地旋回もぴったり180度で止まれない。この辺性格が現れるのかもしれない。私はとにかく雑な性格なのだ。すぐ違うことやりたくなる。

加速制御は意図してやってもうまく行かないような気がする。少なくとも論理的にはそれなりにやらないとうまくいかない。教科書に書かれていることを紹介すると、加速制御は速度をある傾き(これが加速度)を持った直線に追づいさせると実現できる。しかし、こういう傾きをもった直線をランプ入力と言うが、ランプ入力に出力を一致させるには積分器を2個入れてやらないといけない。これが教科書通りの答えだ。で、純粋に積分器を2個入れてしまうと、位相がかなり遅れる、発振するかもしれないので、位相を進める補償をしなくてはならない、ということで、ややこやしてめんどくさい。DCモーターは脱調しないのでその意味で加速制御しなくていい、後はタイヤがスリップしないようにマイルドに立ち上げてやればいい。これは速度制御の比例ゲインをそれなりに調整してやれば良いような気がする。これも、あとあとややこやしくて、森永さんが、旋回は指令より遅れていると言うことを、最新の日記で書かれていたが、比例ゲインを調整して速度の立ち上がりを調整すると、これが旋回の遅れにもろに影響する。これをなくそうとすると立ち上がりが早くなって、タイヤがすべる。したがって、旋回のタイミングを現物あわせでトライアンドエラーでやることになる。ライントレース見たいにラインが引いてあればいいなあ。自分の絶対座標が正確にわかればラインが無くてもできるけど、無理だし。

私は旋回後の前後の位置補正に今悩んでいる。



第181回 休憩:2002/10/19(Sat)

あまり根を詰めると、しばらくすると何もできなくなるので休憩する。

休憩と言いつつ、ロボットプログラムのことを考える。昨日、やっとトラ技とロボコンマガジンを買った。ロボマガの表紙はMetallic Fighter。それを見て表紙に載るべく精進しようと決意する。トラ技の書評欄に成松さんがプログラムの書き方を書いた本を紹介されていた。プログラムはステップ実行で確かめると開発効率がいいそうだ、自分で書いたプログラムはつい大丈夫だと思って、そういうことをしないので間違いに気づかないそうだ。しかし、そういうことをしようと思っても、開発環境が貧弱だ。私はアルファプロジェクト7046の付いてきたデバッガー&モニタを使っていない。覚えるのが面倒くさいと言う理由が一つ。RAMが小さいのでRAM上にプログラムを展開してデバグしていくスタイルは使い物にならないと思ってるのがもう一つの理由。したがってデバッガが無い。これはつらい。GCCの相棒でGDBと言うフリーのデバッガがあるこれはSH2用のエミュレータも内蔵しているのだが、どうもリンカスクリプトを環境に合わせて自作していると、エラーが出てしまうらしい。原因はそれかどうかはっきり判らないが、少なくともデフォルトでコンパイルした場合はデバグできる。これが使えるようになると非常に便利だ。また、いまでも、どうしても行き詰ると、ソースの怪しい部分を、パソコンのCコンパイラにかけて、デバグしている。この方法を拡張してみようかなとも考えている。幸い私はVisial C++.netを死蔵しているので、その環境でひととうり書いて、VC++のデバッガでデバグして、うまくいったらロボット開発環境でコンパイルして焼くと言った流れに持っていけないか。とりあえずヘッダファイル7046.hの構造体をアドレスに割り当てる部分を、単なる変数宣言に書き換えたものを用意して#ifdef等を使ってコンパイル時に切り替えるとか、そういう感じで、できそうな気がする。この方法だとハードの使い方の間違いはデバグできないが、アルゴリズム的なところは十分検証できるのではないか。オフシーズンはGDBの研究とVC++で開発する方法を研究してみよう。一番良いのは安いデバッガがあればいいのだが。



第180回 この方法じゃだめなんだ:2002/10/17(Thu)

だめだ、回れない。今まで直進状態から旋回に入る調整ばかりやていた、止まった状態から回してみた。ガーン!であった。考え方をもう一度改めねば。それにしてもだんだん、あせってきたぞ。

井藤さんのホームページで井谷さんのマウスの大きさを知る。小さい・・すばらしいな。

受験生ではないが朝型モードに切り替え中、12時に寝て6時に起きて朝飯前にランサー作ってる。つくづく自分も好きなんだと思う。

電池切れ、本日終了。最近電池がへばってきているような気がする。メモリ効果か?放電器を接続。

真スラロームをあきらめカクカクスラロームに切り替える。真スラだとターン終了後旋回中心側の壁が見えない可能性が高いので止むを得ない処置。カクスラなら通路に対し一度真っ直ぐになるので、多分大丈夫だろう。(電池切れのため未確認)



第179回 中部地区が今熱い。:2002/10/16(Wed)

今年は中部地区に引っ越してこれてよかった。マウス元年の年に強烈な洗礼を浴びせられそうだ。しかし、皆さんお酒好きそうなようなきがするんですが、前の晩から、いい気分で調整にならないかな。まあ、勝負師はそういうことはないか。

ほんとリタイア5回だけは避けたい。



第178回 もっとトルクを!:2002/10/15(Tue)

この前、加速性能犠牲にするようなことを書いたが、やっぱり欲しい。低周波でプルプルいう領域に立ち入ってしまおうかと悩んでいる。

それと、センサーの配置は片側が前、斜め前、真横、それぞれの主な用途が、前壁、壁切れ、位置補正が良いような気がする、特にスラロームにはこのほうがらくだ、と思う。

秋のロボット競技がにわかに盛り上がりつつある。これから死ぬ気でがんばる人が増えるんだろうなあ。ほんとに死なないように注意せねば。最近運動不足でいかん。体力も落ちてる。2年前はマラソン(ハーフ)走ってたのに、まったくやってない。11月の競技が終わったら走ろう。

そうそう、ますぐちさんの最新動画は速い。上を見ればきりが無いので。素直に速いと思う。ああ、ああいう動画を作りたいものだよ。とほほ。

ちなみに、トルクかせげそう、しめしめ。



第177回 マウス曲がらず:2002/10/14(Mon)

モーター制御も姿勢制御もうまくいき、昨日の晩は、さあスラロームだと、思ったものの、何故かマウスが曲がらなくなっていた。マウスは行動パーターンがどれか一つ以外しかありえない場合は自動的にそれをするようになっているのだが、曲がるべきところで曲がらず、とまって180度ターンしてしまう。

ますぐちさんみたいにプログラムを整理して書き直したわけじゃないんだけどな(汗)どうもプログラムが構造的にバグを誘発する構造になっていて怖い。と言うのも各モジュールの動作をほとんど外部でフラグを立てて、それを見ることによって、動作させているのだが、バグ取りや調整の形で、やたらとフラグを立てて、ついにはどこでフラグを立てたのか忘れてしまい、結局それが後でバグにつながると言うものだ。なんかいいフラグ管理法は無いものか。

中島さんがエンコーダーで悩んでいるようだ。音がするというのは機械的なものなのか。だとしたら厄介かな。先日自分もエンコーダーで悩んだのだが、各方面のご協力のおかげで、一応解決した。どうも、エンコーダーコネクタの接触不良もしくは回路の半田不良が原因らしい。その節は皆様ありがとうございました。(ペコリ)
それと・・うるうる(泣)やはり、複雑でしたか。自分でもそうでないかと・・、でも、誤差変数ごとに整理してある意味シンプル、ゲインとか決まってしまうと、式もすっきり・・・ゲイン可変の場合はだめか・・・


森永さんのページみて、みなさん井谷さんの生徒状態で面白かった。自分があそこにいたら口ぽかんと開けながら写っているに違いない。問題はやはり如何にコーナーを早く回るかなんだよな。(個人的にはまだ問題はエベレストのようにありますが)あの6輪だとかなり旋回性能は良いに違いない。やはり2輪より多いタイヤのマシンを作るしかないのか、ますぐちさんは6輪だそうなので、私は当初の目論見どおり4輪4WDSを目指すか。しかし、2輪も捨てたもんでもないと思っている今日この頃。



第176回 夜明け前:2002/10/13(Sun)

新しく買った迷路の床板に色を塗った、今回は1枚だけ。これで最大8区画の直線が取れる。最大加速、最大減速での試験走行が8区画もあれば可能だろう。

苦しい決断だったが、最大加速を低い値で抑える決断をした。決断までの過程は以下のとおり。

  1. このマブチモーターは帯域が狭い400Hzぐらいから700Hzぐらい。(そのへんで下がる)
  2. ところが300から600Hzぐらいのところに深いノッチがある。500Hzぐらいで極小値。
  3. したがって、制御周波数が100Hzだから、選べる帯域は100Hz〜200Hzと600〜700Hzぐらい。
  4. 下の周波数でモーターをまわすと回転がいまいち滑らかではない。したがって、700Hzに決定。
  5. ところが700Hzはすでに利得(ゲイン)が下がっている。デューティーに対してほぼ比例してモーターは回るが、100%だけは、完全に直流領域での駆動になってしまうために、かなり不連続である。このまま使うと、PID制御などで制御量100%に近くなると、急にモーターのトルクが上がって、見た目、軽いノッキングに見える。したがって制御も連続的に滑らかに見えない。とうぜんうまくもいかない。
  6. このため、デューティー90%以上は使わないことに決定。
  7. 90%でも本来のモーターの最大トルクの90%ではないわけだから(体感70%ぐらいか)かなり加速も悪くなっている。しかし、いたし方が無い。
とまあ、こんな感じで、すっかりマイルドな加速感になりました。(泣)

でも、おかげで、思ったように制御できるようになりいい感じになってきました。もう少しで行き着けるような希望がわいてまいりました。

今日は東北大会の日、大会報告が楽しみです。特に井谷さんの新作マウスの話は注目です。



第175回 PID制御の実装:2002/10/13(Sun)

またまた、人のねたパクって、俺も知ってると言うネタ(苦笑)でも、人のネタに反応するって、相互に盛り上がるしいいですよね(いいわけ)

中島さんが日記で紹介されたPID制御の式

制御量 = Kp×En + Ki×(ΣEn) + Kd×(En−En-1)

を実際のコーディングに近い形に書き下してみると。

u0 = u1 + (f*Kp + f*f*Kd + Ki)*err0/f - (Kp + 2*f*Kd)*err1 + f*Kd*err2

u0:制御量
u1:1周期前の制御量
err0:この時の制御誤差
err1:1周期前の誤差
err2:2周期前の誤差
f:制御周波数(Hz)
Kp,Kd,Ki:それぞれ比例、微分、積分ゲイン

とこんな感じです。最初の式のシグマを積分とみなし差分は微分と戻してみて、両辺微分して、微分を後退差分で近似して、うじゃらうじゃらするとこの形が求まります。積分を別にやらなくていいし、誤差を2つ前まで記憶するコードを追加すればu0、u1に関してはコード上では同じでいいです。最近思いついたのですが、すっきりしてかっこいいので、気に入って使ってます。ゲインの決め方は聞かないでください。システマチックにやる方法もありますが、なんでも万能と言うわけではない見たいですし、よくわかりません。トライアンドエラーあるのみ!

「やってる」と言う方は、失礼しました。「ああ!」と思った方はご活用ください。



第174回 電流不連続モードvs電流連続モード:2002/10/12(Sat)

中島さんの日記を読んで、朝起きて考えた。けっこう考えた。そう、FETのダイオードは、OFFした時にモーターコイルに流れ続けようとする電流を流す働きをすると勘違いしやすい。でも、実際、FET全部OFFになった状態でダイオードだけが存在する回路図を書いて考えると。電流流れる経路が無い(と思う・・)ので電流0になり不連続モードになってしまう。それを避けるために、電流の道筋をつけてやろうと言うのが中島式のローサイドを全てONにする方式。

中島さんがが書かれている逆起電力というのはモーターが慣性により回転し続けることによる、誘導起電力だと思うのですが、どうでしょう。

電気的時定数より十分短くしてやらないといけないのは、コイルは両端の電圧を0にしても電流が流れる経路があれば減衰しつつも電流を流し続けようとする。減衰の割合の指標が電気的時定数だが、電気的時定数よりOFF期間がかなり長いと、電流は減衰しきってしまい0になってしまう。たとえ0にならなくてもかなりの電流値の上下が発生し、モーターの場合は振動がわかるかもしれない。中島式だとだんだん下がってくると、さっき書いた誘導起電力が打ち勝ってブレーキがかかる、のかな。

それでそれを防ぐアイデアとして、やはりFETのダイオードを使ってしまうのがいいのではないかと思う。図を描くのが面倒なので書きませんが、いま右上と左下のFETがONでモーターが回っているとすると、OFFの時は右上をONのまま左下はOFFにします。こうすると左上のFETのダイオードがうまくフリーホイールとして働いてくれて、かつ、誘導起電力による電流はカットしてくれるのでブレーキがかからないのではないかと思うのですがどうでしょう。

以上、我流な解釈および提案でした。(交換日記とも言う)



第173回 DCモーター恐るべし:2002/10/12(Sat)

電池切れ、本日も終了。今日は進歩した。それにしてもDCモーターは難しい。もっと大域の広い、高出力のモーターが使いたい。しかし、ここまでくると意地でもゴールまでたどり着きたい。もう眠いので明日にしよう。



第172回 めざせギャロップ:2002/10/10(Thu)

馬歩様
クランク

馬の足の運び方を歩様(ほよう)というらしい。馬も時と場所速さによって、4種類の歩様を使い分けるらしいがその中で最も早いのが襲歩(しゅうほ)英語で言えばギャロップと呼ばれる走りかただ。競馬の雑誌にあるのを思い出すが。言葉の意味がわかってなるほどと言った感じである。

実験用馬ロボットランサーYariYari2002U1は4自由度で作ることにした、一本の足にモーター一個で振り回す。歩き方の構想の一つが、最初のGIFアニメ、関節を増やせば、足を降り回すことなく、かつ、地面をこすらずにに前に出せるが、今回は短期間で仕上げねばならないのでこれでいく。初めての4足歩行の実験には十分だろう。ちなみにクランク機構でも2番目のアニメような感じ(こういう機構は何と言うのかな。)でやれば、地面をこすらず前に出せるかなと思ったが、歩幅が取れないのと、工作が面倒になり短期間で仕上げれないので没にした。

かなり試験前の違うことやりたくなる状況に似てきた。GIFアニメなど作っている暇は正直無い・・でもこのアニメ作るの結構楽しい。


電池切れ、本日終了。マウスは3度目のモーター制御部分の見直し。前回でもう疑わないことに決めたのだが、でも、だめだ、根本的な部分を徹底しないと、最後まで不安が残る。それでもかける時間が大幅に短縮されつつある。やっと方法論が見えてきたのか。しかし、いつも「DCモーター」が見えてきたぞと思っても、やっぱり見えてなかったと言う落ちに落ち着く。

中島さんがPWMの実験をしたそうだ、リニアじゃないと言うことだが、どの程度だろう?

荷物が届いた。いい出来だ、寸法ぴったりって感じだ。これで、直線16区画取れることになる。しかし、部屋片付けても無理かな。



第171回 地区大会、今度こそゴールに行きたい:2002/10/9(Wed)

中部地区大会の目標もゴールに到達することにする。今度こそ到達させて見たいものだ。それには走行安定が無ければならないと、毎日、微調整の日々が続く。ムービもアップしたいが思わしい進歩が無いので、自粛。

どうも、袋小路なんかで真っ直ぐとまれず、とまった後も、微妙に動く。モーター制御系がうまく言ってないんだろうと、原因追求に明け暮れる。

中部地区の新しいマウスのお仲間の水野さんのページを発見。水野さんは私と同じマウス初挑戦ながら。きっちり走っていて、すばらしいです。

馬ロボットランサーも着々と準備は進んでいる。本日は千石から部品の発送の知らせがきた。明日届くだろう。買ったのはいつものモータードライバICとマイクロSWとギヤボックス。馬の足は軽くて丈夫なカーボンパイプ。車なら、ばね下重量の軽減は性能アップにつながるが、馬もそうではないか?
通販で買えないかと検索をかけたら一発でウインドラブと言うお店が見つかる。スポーツカイト(凧)のお店で、世の中我々もそうだが、いろんな趣味の世界があるものである。早速カーボンパイプ約1mを注文。対応がよくてよい感じのお店だ。



第170回 4LegsLancer YariYari2002U1:2002/10/8(Tue)

ランサーもすでに1ヶ月をきっている。正直言って、今年はマウスに手一杯だし、大会が2週連続になるので棄権するつもりだ。YariYari2000F改が走れる状態ならそれでもいいのだが、すでにメインボードがお亡くなりになっているのでそれもできない。しかし、相棒がYariYari2000Rという兄弟マシンを持っていて、それが出ることになっているので、会場にはいく。申し込みも終わっているので、マシンさえあれば出れる。で、この期に及んで、4LegsLancer最強の馬ロボットランサーへの布石マシンYariYari2002U1(Uは馬の意味)を作り始めてしまった。無謀である。

と言っても、田宮の楽しい工作シリーズの3速クランクギヤボックスを組み立てただけ。平日は毎日30分づつ工作にあてる。足りない部品も千石に注文した。

今日昼休みにボーっ4足歩行のやり方を考えてたらちょっといい方法を思いついたので、無性にそれが動く姿を見たくなってしまったわけ。現実逃避かもしれません。



第169回 続・姿勢制御(解析):2002/10/8(Tue)

昨日の話題の続きみたいなものですが、解析してませんので括弧がきです。

昨日の日記を見ていただいた方からメールをもらい2輪マウスが比例制御でも安定な理由を教えていただいたので、報告します。

まず、マウスは誤差をフィードバックして真ん中に戻ろうとする制御が掛けられていると仮定します。2輪マウスは真ん中からずれると、姿勢を変えて真ん中の方向に向かないと、誤差を修正できません。たいていの方のマウスは重心から前方にセンサーの線が出ているため、姿勢を変えると、姿勢をとった方向とは逆向きに姿勢を戻そうとするはずです。これは姿勢が変わったときのセンサーと壁の関係を思い浮かべればわかります。したがってマウスは戻そうと思って、思い切り姿勢を振ろうとしても、この効果により、「待った!」がかかります。これは制御で言う微分制御(前のエラーとの差分分も戻してやること)と同じ効果になります。したがって2輪マウスは比例制御かけただけで微分がかかると言うわけです。解析していないので話せるのはここまでですが、いくらでもゲインはあげられないとは思います。ノイズもありますし。あえて微分入れることによる収束性もよくなるかもしれません。ただし微分はノイズに弱いのでご注意を。



第168回 姿勢制御解析:2002/10/7(Mon)

一度書いたものの書き直し、さっきは説明のない数式など書いてしまったが。説明しないぐらいなら書かないほうがいいと思い削除しました。

今日、姿勢制御がどうもうまくいかないので、解析してみた。どうも比例制御のみでは2輪マウスは発散すると言うのが、私の解析結果。これはゲインが小さくても、大きくても必ず発散する。ただ、ゲインの大きさで発散する時間が変わるだけだ。

比例制御だけで旨くいくと言う話も聞くので、まだ考察の深さが足りないのかもしれない。ちなみに比例ではなくて、微分要素もしくは、位相をちょっと進めてくれるような補償器を入れると安定になる。



第167回 報告:壁にカッティングシートはいいかも:2002/10/6(Sun)

壁比較

前の日記で壁に色を塗るのではなくて、カッティングシートを貼る話を書きましたが、実際貼ってみてセンサーの値を見てみました。

色はカッティングシート(写真上)が一番純白に近く、ついで自分で塗ったもの(写真中)、学校で借りた本物(写真下)が一番黄色ぽい。センサー値は同じ距離に壁を置いたときの正面センサーの値を見てみました。その結果、本物とカッティングシートはほとんど同じ値、ペンキ塗りは他の2つの値に対して20%ぐらい低い値となりました。表面の滑らかさがだいぶ影響するようで、本物は木に何か張ってありつるつるであり、カッティングシートを貼るとそれに近い状態になりますのでいいのかもしれません。

本物よりだいぶ安上がりなこの方法いかがでしょうか。



第166回 10月中部地区定例会参加す:2002/10/6(Sun)

本日は10月の中部地区定例会に行ってまいりました。

本日は、試走会ということでしたが、試走できたのは斉藤先生のマウスと初級者大会から参加されている方の2台だけでした。ちなみに私のは試走の域に入っていないので除いております。皆さんそれぞれ問題があるようで興味深く拝見しました。例の東日本のビデオもみんなで見て、やはり7秒台は違うと確認し。うーむと頭をひねったのでした。

期待の中島さんの「瑠璃」はやはりすごかった。飛騨の職人さん級です。はやくかっ飛ばしてもらいたい。ポテンシャルは非常に高いはず。DCで中部地区標準マウスにしようかという話もチラッと出ましたが、ほんとにそうなったらいいなあ。CPUはSHがいいです。(さらりと希望を言ってみる。)でも、これから大変ですね、中島さん。

私のYariYariは袋小路は問題あるもののそれ以外は汚くても、設定した時間内は走ると思って持っていったらとんでもない結果でして、これから原因探求、対策をせねば。自分で調整してると、そのときの状況に合わせた迷路にしてしまいがちでだめでいかん。

帰りは、東急ハンズで迷路拡張用ベニヤの購入とカットをやってもらいました。3×3床板を3枚と壁部材42枚それと、大会調整用2×1床板1枚です。これで、サブロクの規格サイズのベニヤに余裕で収まります。(だいぶあまる)、12mmラワンベニヤが3,200円、カットが54カットで2700円でだいたい6000円の費用。ちなみに出来上がりは2日ばかしかかり、配達を頼んだので、遅くても週末にはあるでしょう。大会調整用は、今日の会話であったほうがいいかもしれないと思い。急遽追加しました。全国大会は中部地区のエキスパート参加者の皆様のために重くなければ貸し出し用で持って行くつもり。(かべは学校のをだれか6枚持ってきてください。)壁に白い色を塗るのが面倒なので、カッティングシートを買ってくる。ハンズに本物の壁を持っていかなかったため、白にも何色か合ったが色合わせができなかった。ちょっと違う。本物はタバコのやにで汚れたような感じ。(日焼けかな?)

今日は私の知らない方が3人参加され、うち一人は女性だった(!)。どんどん新しい人たちが加わってくれると、楽しい。



第165回 解はあるんだろうか:2002/10/6(Sun)

旋回して袋小路に入るパターンが難しい。行き止まりで停止したときの姿勢が一定にならないため、ターンしたあとの行動で、たいていつまずく。ムービーは良い時のものだが、次の出足で前にぶつかりそうだ。悪いときはかなり斜めにとまる。

どうしたものか・・・



第164回 3歩進んで2歩下がる:2002/10/4(Fri)

私も、今日はお休み。

ここ数週間は順調に来ているような気がする。あと中部大会まで今週も入れれば土日は3回しかないわけで、表題のようなことが無いことを祈りたい。前進あるのみ。

日曜日は「瑠璃」はしるとこ見たいなあ。(ボソ)



第163回 リニアライズ:2002/10/3(Thu)

仕事から帰り、晩飯を食い、風呂に入ってからマウスに取り掛かると、たいてい非常に眠くなる。作業効率がた落ちなので、今日は晩飯を少しの時間我慢し表題の作業を行った。

センサーの出力をリニアライズする。センサーの値はノンリニアに変化するので、壁際では、中心付近の傾きに比べると、格段に緩やかになってしまう。中心から離れたときの戻しが、設定したゲインから推察するほどよくないのはこのせいだろう。かといってゲインをあげると、中心付近で振動してしまう。センサーのカーブの特性が中心付近で緩やかで、壁際で立ってくれるとまあいい感じになるような気がするけども、実際は逆だ。で、いままでまあなんとなく、走るからいいかと思っていたが、やはり、真ん中を走ることは重要なことだと、ここ2日ばかりで再認識させられたので、面倒くさかったが、やることにした。

とりあえず、マウスの位置と、センサー値の関係をエクセルでプロットして、塩梅をみながら、正規化したほうがいいかを考える。レーダーの教科書に二つの受信アンテナで目標の方向角を割り出すときに、二つのアンテナの受信信号の差を受信信号の和で割って正規化するようなことが書いてあったのでそれを試す。(レーダーの場合は同じターゲットから帰った信号で、マウスの場合は違うのだがまあいいとしよう)配列でテーブル作るつもりだったが、大きさ1000ぐらいのでかい配列になりそうなので、ifで場合わけした関数にするかどうか検討中。

ああ、睡魔が襲ってきた。あすは、たぶん、エンドレスモードになるから、今日は早めに消灯かな。



第162回 週末は試走できるんだろうか:2002/10/3(Thu)

右旋回から左旋回とか右旋回からそのまま180°旋回などのつなぎ目の調整をやっている。最近のパターンだと平日、眠いながらもテスト走行、データー取り、ビデオ撮影して、調整しつつうまくいかず、週末に一気にブレークスルーすると言ったパターンが定着しつつあるので、今回もそのようだ。

好きでやっているロボット作りだけども、これが意外と苦しいことが多い。それでも大会に出ることを思うとがんばろうと思う。だが、他の事投げ出してまでやることでもないだろうとも考える。大会も今年限りでもない。今年がだめなら、来年が有る。などと、いいながら「今年は絶対でる。」と思っていたりして。苦しいのは11月の大会まで、それ終わったらOFFはしばらくロボットの事は忘れてのんびりしようと思う。なんか、大学のときの部活みたいだ。



第161回 コマ落ち?<:2002/10/1(Tue)

動画コマ落ちしてるらしい。ほかの人のことをちゃんと考慮してなかった。大きくしたからか?今までの小さいやつは大丈夫だろうか。とりあえず小さくしたやつ

今日はあんましやってない、たまには一休みもいいだろう。と言いつつ、消灯時間が近づいてきてにわかにマウスに火を入れる。180°スラ旨く回れない。うーむ、確か前は回ったはずだ。タイヤを清掃したら良くなったが、これでは不安だ。



第160回 一歩一歩前進:2002/9/30(Mon)

少しづつ、前に進んでいる。パラメーター調整も結構シビアな部分があり、確実性がもてるように、手立てを考えねばならない感じ。シビアな場所は旋回中の旋回先の両サイドの壁、見た目の旋回終了の区画と区画の境界ラインでは、次の行動を指令するには遅すぎるため、早めに壁の情報を取得しておかないといけない。難しい。今日はムービーをでかくしてみた。これでも189KBだからリアルメディアはウェブで使うにはかなりいいかも。

明日は180°スラロームの調整だうまくいけば、この迷路一周できるだろう。(そう簡単にはいけないと思うけど)



第159回 少しは進んだこの週末。(ムービー付き):2002/9/30(Mon)



ある方から「最近、動画がありませんね」とのご指摘を受け、日曜日には何とかと思って、がんばってみたものの、やはりこの程度にしかならなかった。壁に激突しない場合も、まれにあるが、大概がこんな感じ。しかし、まあ、やっと、マウスとして「パラメーター調整」と呼べる段階に入りつつある。

昨日のPAD図の話の続きだが、今までフローチャートで書いていて、やはり、書ききれないと言うか、プログラムの細かなところは無理だと感じていて、なんかいい方法は無いものかと思っていた。結局は、大雑把な流れを書いて、さらに部分的に細かなフローチャートを描くという感じになっていたが、それでもちゃんと描ききれてなくて、コーディングの際にどう具現化するのか考える。まさか、他にプログラムの流れを図示する方法があるとは思いもしなかったので、調べようともしなかったのだが、PAD図と言うものを知ったのは、収穫でありました。これから練習してみるつもり。



第158回 PAD図:2002/9/28(Sat)

ますぐちさんがPAD図なるものを紹介されている。知らなかった。ちょっと興味があるので勉強してみようと思う。紹介されているリンクはPAD図をコンピューターに描かせるソフト(TeXのマクロかな?)の解説、読むと、案の定、ソフトを使うためには、ほとんどプログラムと同じものを書かないといけないらしい。プログラムそのものを読み込ませて図も書けるようなので、自分のプログラムのバグを発見するのに使えるかもしれない。いずれにせよ、勉強してみるつもり。

マウスは20時現在、行き止まりで180度ターンするためのルーチン以外はコーディングが終わった。とりあえず、風呂に入る。



第157回 準大会前体制で挑む、この週末:2002/9/27(Fri)

いい加減、探索走行ぐらいは完成させたい。時間がかかってるとストレスもたまる。すでに探索走行できる材料はそろったと考えている。

週末は月曜日が大会のつもりでがんばってみよう。日曜の深夜には結果が紹介できるように。


中島さんが最高傑作を完成させた。スペック見ると、ジャイロあり加速度計ありと盛りだくさんだ。慣性誘導できるかな。次の例会が楽しみです。



第156回 本日もコーディング:2002/9/27(Fri)

本日もひたすらコーディング。試走すると、マップデーターが旨く作られていないことがわかる。走行距離が間違っているのか、適切な場所より、早めに壁を見に行っているようで、壁が無いはずなのに、壁がある。

旋回速度の話題がところどころでされているが、私のは0.7m/sぐらいのはず。これは、旋回時の速度と制御周期の整数倍の掛けあわせが、旋回距離とほぼ等しくなる速度のうちで、実現できる最高速度を選んだものだ。探索走行は加減速しなくてもいいので、直線も旋回もこの速度で行う予定。前のムービーの様に直線を繋ぐコーナーを回るのは大丈夫だが、クランクのように連続スラロームするときはまだ試してないので、どうなるか心配だ。



第155回 大会申込書、発送:2002/9/25(Wed)

今日は全国大会の参加申し込み書を送付した。ぎりぎりに近い、ちょっと心配。受理されたか確認する手立てはあるのだろうか。

マウスは、ひたすらコーディング、自分のプログラムの複雑怪奇さに疑念を抱きつつ、とにかく書きまくる。

桝口さんマウスがだいぶ速くなってた。始めたのが同じぐらいなのにずいぶん差が開いたものだ。私もがんばらねば。

中島さんもほぼ完成した模様。こちらもあっという間に追い越されそうだ。



第154回 恐るべし:2002/9/24(Tue)

今日はのんびり、センサーの値と距離の関係などをプロットしてみる。今まではMAX値で正規化はしていたが、適当にやっていたため、この作業はしていなかった。

東京でも見かけたが、壁によると真ん中に戻れないことがたまにある。ソフトのバグか、センサーに問題があるのか、見極めるためでの作業でもある。最初は、より過ぎると、光軸が外れるため、かえってセンサー値が減少するためかと思ったが、横壁センサーの位置は壁から離れてるため、あまり関係なさそう。では、非線形性が問題だろうか。

もう一つセンサーの問題は、電源を入れてからしばらくしないと、センサー値が上がらないということ、これを見て暖機運転が必要と言っているが、ちょと困っている。

それにしても、恐るべしである。



第153回 マイクロマウス東日本支部大会見学す:2002/9/23(Mon)

孫子曰く、敵を知り己を知らば、百戦危うからず。

己を知ってしまうと、出れなくなりますが、他の人がどのくらいのレベルなのか、この目で確かめることは非常に有効です。でもって、はるばる東京まで行ってまいりました。(笑)はっきりいって「行ったかいがありマクローリン展開」(失笑)と言う感じでしたな。今日撮ったビデオは「我が家の家宝」にするつもり。森永さん、久我さん、そして、井藤さんの走りは、やはりすばらしかった。このお三方の走りは、一段飛びぬけていましたね。

中でも、井藤さんのマウスは速かった。公式記録は見なかったので、手元のビデオで計測すると、7秒9ぐらいでした。スタートダッシュから「速い!」と思わず声が出る走り。走りも、安定して、完全にど真ん中を走っていた。斜め走行は今回はなくスラロームだけでこのタイム。ちなみに、今回の迷路は、斜め走行が、長く取れる場所は、無かった。

森永さんに走行中にメモリにストアしたデーターを見せていただく。その場で、エクセルで表示もしていただけた。モーターへの目標値と実際の値は非常によく追随したいてさすがだと感心した。それより何より、そこまで見せていただけて非常に嬉しかった。激突判定の考え方は、参考にさせていただきます。

唯一、久我さんの走りを見たことが無かったので、それも今回の上京では期待していた。森永さんも、久我さんも確か8秒台、まだまだ、力を出し切っていない感じがしたので、全国大会は、もっとすごいだろうと推察する。残念なのは迷路が2箇所設置されていて、お三方が同時に別々の迷路で走る場合があって、全部完全に見られなかったところ。井藤さんの探索が見られなかったので、見たかった。

勝負をするときに最も大事なことは、「目標」を定めることである。これで、目指すべきところは定まった。あとはやるしかない。

追伸:中部支部の皆様、今回の見学の感想などは、次の例会で話させていただきます。お楽しみに。



第152回 私のパラメーター調整のやり方:2002/9/22(Sun)

姿勢角グラフ
figure 1 The angle of attitude

図1の青線はマウスの旋回時の姿勢角をプロットしたものです。赤線はコマンドの変化を表しています。上にあるときが旋回オン、下にあるときは旋回オフで直線走行を表します。コマンドのオンオフのタイミングと実際の角度の変化を見ます。

このグラフから、コマンドのオンオフを決定するパラメーターを調整したり、壁を検地して迷路データーを更新するタイミングを検討したりしてます。

モーターのゲイン決めたりするのも、同じようなやり方ですが、何十枚もグラフ書いてこういうことをしていると、そのうち、グラフを書かないで、見た目でなんとなくゲインやパラメーターが見えてきます。定性的なものから定量が見えてくると言った感じでしょうか。職人みたいですが、私の場合は2割ぐらいの確率で当たるぐらいで、後ははずれで、面倒がってグラフを書かないので、かえって悪影響ですが。


何故か、モチベーションが急落下(緊張の糸が切れたのか)このままではいけない。東京に行くことを決意する。楽しみ。



第151回 両周り3分完走:2002/9/21(Sat)

右回り、左回りとも、3分間回り続けることに成功し、つぎは180度スラロームターンに取り掛かる。その前に晩飯だ。ここいちにカレーでも食いにいくか。

そういえば、月曜日は東日本支部の大会だ見に行きたい誘惑に駆られる。


中島さんの日記にマウスのCPU基盤に部品を実装するところが写真入で解説されている。非常に参考になる。しかもきれいな仕上がりで、いつもながら関心。フラックスリムーバーとはそういったものなのかと一人納得。まったくの独学で電子工作をやってる私にとって、ホームページは生の製作に関するノウハウを得られる、貴重な情報源、このような企画は貴重です。



第150回 今日も3分間回れず:2002/9/21(Sat)

どうしてもプルプル直線走行になるので、抜本的に走行プログラムを組みなおす。付け焼刃と言う感もあるが、今はやれることは全て試す時期だ。

昨日のムービーに桝口さんから「さすが」というコメントを頂いた。恐縮である。私はステッパを使ったことが無いので、よくわかりませんが、加速をも陽に制御できるのは、よさそうな気がします。基本的には旋回は望ましいRを描くように両輪に速度差をつけてやればいいので、私は望ましい速度差になるように実際の速度差との差をとってPI制御で速度差を一定に保っています。望ましい速度差についても、前もどこかに書きましたが、現在の走行速度からv=rωから計算して常に更新しているので、2重にフィードバックかかっていることになります。それでも速度差が目標値に一致するまで、時間がかかりますから、最初は望ましい軌跡より大回りになります。私のモーターの制御周期は100Hzでして制御周期2回すなわち0.02sぐらいで目標値に一致するようです。ちなみに旋回時間は20周期分で0.2sぐらいです。

旋回のはじめや、終わりを前までは距離でやっていたんですが、今は時間で管理するようにしています。結局、制御周期ごとにしかモーターは制御できないので、時間で管理するほうが合理的なようです。ですから、森永さんもやっておられる、実際に迷路を走らせなくても大体の走行時間を計算することも可能なような気がします。



第149回 とりあえず第0.5段階突破:2002/9/20(Fri)

長いトンネルを抜け出した気分。とりあえず、最初にやりたかったことができた。この、迷路をぐるぐる回る(いわゆるミニサーキット)で走行パラメーターを調整しようと思っていたが、すぐ激突するお話にならない状態だったのでどうしようもなかった。

まだ、不安定で1分後ぐらいに、ちょっと旋回で大回りして、壁にぶつかる、直線走行の安定性も今3歩ぐらい。この状態を3分続けたら合格と思っていたが、3分って長い。ストップウオッチ見ててもまだ1分かと非常に長く感じる。

これが終われば、大雑把に言えば、左手法で迷路を走らせる走行実験。

マウス、ゴールへの道はさらに険しい。



第148回 貫通電流:2002/9/18(Wed)

私がいらん事書いたので、中島さんがFETを焼いたらしい、合掌。貫通電流、今使ってるTA7257Pもデーターシートには貫通電流流れるようなことが書いてある。注意せねば。加速性能が要求を上回っていれば、デューティー比を100%より下で常に使うと言う、安易な方法で、デッドタイムと同じ効果になるなとふと思った。

その中島さんの日記で紹介されている、FETとゲートドライバ次期マウス3号機用に試してみようかな。まとめ買いしませんか?



第147回 モーター&ドライバの周波数特性:2002/9/18(Wed)

周波数特性
図1 モーター&ドライバ系周波数応答もどき

デューティー比VS回転数
図2 デューティーvs回転数

今回は、今頃気づいたという、恥ずかしい話。

ランサーの駆動系で初めてPWMでモーターを回して以来、日記でも何度となくPWMのことを話し、最近もPWM周波数の話なんかをしてきた。
しかし、いままで大事なことをしたことが無かった。それは、デューティー比を変えたときの回転数の変化をきっちり測定することだ。初めてやったときは、2点ぐらいで回転数が変化するのを確認して「おお!」とかいって、満足していた。それ以来、「回転数はデューティに大体比例する。」とかたくなに信じて疑わなかった。

でも、マウスが言う事聞いてくれないので、いろいろ疑った、結局、その信じて疑わなかったことも疑って、測定してみた。で、愕然!ぜんぜんリニアじゃない。デューティー30%ぐらいから、へなへな下がっていく。デューティー90%で20%より弱い回転。「こんなことが、物理的に許されていいのか!」と思いはしたものの。許されるんでしょう、やはり。

いろいろ、探って、ドライバ周りに、コンデンサをごてごてつけたりしましたが。ほとんど変化なし。今までPWM周波数500Hz、1000Hz、2000Hzのデューティー90%の時の回転数のデーターはあったので比べると、500Hzが一番小さくて、2000Hzが一番大きい。これは周波数変えて図ってみないといかんなと思い。100Hzから100Hzづつ3000Hzまでのデューティー90%の回転数を測定した。結果が図1である。エクセルに測定結果を打ち込んで、グラフ書かせたとき、私は息を飲んだ。「おお、美しい」というのも、きっちり物理法則に則っていると言うような、変化の仕方です。高周波域でのゲインは減衰傾向、正体不明のノッチ。このノッチの正体が何なのか?未熟者の私にはまだ不明。(このグラフ対数軸を取りたくなる。)

図2は今度は周波数を600Hzに固定してデューティー比を0%から100%まで変えたもの。リニアとはとてもいえないが、単調増加である。図示していないが500Hzの結果がひどいので、これでも満足だ。50%から90%は、おおむねリニアと言っていいだろう。

ちなみにこの結果は、あくまでマブチモーターのRF370C26100というDCモーターとドライバICの東芝のTA7257PをPWM駆動した場合の結果なので、全てに当てはまるかどうかは知らないので、あしからず。

桝口さんのムービーを見る。速くなってる!私も、早くあの域に行きたい。がんばるしかない。しっかりダウンロードして私のムービーコレクションに加える。ムービーを見るときは、必ず正座。そして、右手にストップウオッチ、机には電卓だ。

マウス、ゴールへの道は、いまだ、険しい・・・



第146回 マブチモーターとPWM周期:2002/9/15(Sun)

モーターのPWM周波数を変えると、同じデューティーでも動かないことがあると、前にも書きましたが。やはり、動作範囲は広く取れるように調整するほうが、制御をするときに都合がいいです。実際にいままで1000Hzだったものを、500Hzに変えてみると、かなり制御しやすい感じです。入力として使える範囲が狭いと、ノイズの影響でゲインを大きくするとバンバン制御みたいな感じになりますが、周波数を小さめにとると入力として使える範囲が広くなるので、ゲインを大きめに取れます。ゲインはなるべく大きいほうがよいので、この効果は大きいです。ただし、周波数を小さくすると、モーターが滑らかに回らなくなるので、限度はあります。



第145回 グラフ98枚:2002/9/13(Fri)

いい加減飽きてきた。走らせては、データー落として、グラフ書いて、ゲイン変えて、走らせて、データー落として・・・・・、とエンドレスである。(いや、電池が切れるので、そのときがその日の終わり。)

私もToDoはすでに列挙されてるのだが、この段階をクリアしないと先に進めない。解は必ずあるはずだ。ちなみにゲイン調整の極意は大胆かつ繊細にだ。(2分法みたいなもん、かな・・)



第144回 右モーター問題ほぼ解決:2002/9/10(Tue)

今日もプログラムをいじってゲイン調整云々はできなかった。今日は昨日書いた右モーターのトルクの弱い原因がわかった(ような気がする)。PWM信号をモータードライバに伝える信号ラインが接触不良だったらしい。実は本当はスルーホールにしなくてはいけないところを、スルーホール化を忘れてヘッダーピンをつけてしまい、後から細いワイヤーを通してパターンに接触(あくまで接触)させていた場所がその原因だったらしい。テスターでは導通していたのだが、どうも今までの経験から、接触不良、導通不良、半田付け不良は、テスターの導通確認機能ではうまくわからないみたいだ。この前も怪しかったコネクターを取り替えたら、不具合が解決した。こういう微妙な導通不良を確認する手立てはないものだろうか

PWMの周期の話、PWMの周期はモーターに電気的字定数の5から10倍といわれている、でも、そんなに小さくすると、たいていデューティー50%でも回らない。へたすると80%近くにしても、接地した状態だと動き出さないことがある。走り出してしまえば、デューティーの小さいところも使用可能になってるんだと思うが、それでも80%で発進しないのは問題だと思うのだがどうなんだろう。



第143回 TA7257P交換:2002/9/9(Mon)

昨日書いたとおり、みっちり制御パラメーターをいじるつもりだったが、右のモーターのトルクが左のモータよりかなり小さいことが気になった、前から少し右曲がりのダンディ気味だったが、今日、何も制御かけずに、両方とも同時にONしてみてはっきりわかった、迷路上においた場合、ほとんど信地回転だ。オシロで波形を確認したが、どちらもまったく同じであった。モータードライバが壊れているのかと思い、TA7257Pを交換することとした。ついでに、LCD用の自作コネクタも作り直しエポキシで固める。接着剤が固まるのを待つため、今日はここまでにしよう。久々半田ごてを握った。交換結果はまだわからないが、それでもだめな場合は、モータードライバ回路周りの非対称性が原因だろうか。

2重和音がうまくならない・・



第142回 もう一度やり直す:2002/9/9(Mon)

やればやるほど気に食わなくなる。で、また、モーターに対する最も内側のフィードバックループから洗いなおすことにした。モーターを制御する際は、比例積分制御のフィードバック特性を上げてから、フィードフォワードで目標値に対して、フィードフォワード特性より若干大域の狭いフィルターをかけてやる、これを左右のモーターに行うと、左右のモーターがそのフィルターと同じ特性を持ったモーターに見かけ上見える。こうしておかないと、左右のモーターの(過渡)特性がばらばらで、姿勢制御とか、旋回角速度制御などのさらに外側の制御ループをかける際に、いちいち左右ごと違うゲインをかけていかないといけなくなる。まあ、実際は理論道理うまくいかなくて、外側のループでも微調整はある。

そうやって、内側のループから、外側のループへと順繰りと、設計していくわけだが、なんかここに来て、積分器がごてごてついてるおかげで、応答の遅れが激しいことに気づいた、このおかげで姿勢制御がうまくいかない。速度0の状態で壁を両側に立てて、壁を動かしてみた、確かに壁に対して、姿勢が変わるのだが、明らかに遅れがでかい。これじゃよくて、持続振動、悪けりゃ当然発散だ。

でもって、やはり、最終的な姿勢制御等の要求仕様を念頭に入れながら、最も内側のループからもう一度、再設計することにした。しばらくは時間がかかる。日記も沈黙するかもしれない。とにかくゴールできるマウスを作るのに、できることはしなければ。まっすぐ、そして、きっちり曲がれさえすれば、後は簡単なはずだ。やはり難しいなこいつは。



第141回 旋回調整その2:2002/9/7(Sat)

やってて良くならないときはストレスがたまりますが、思うようによくなっていくときは嬉しいものです。旋回の調整もいい感じで良くなってるようなきがします。ビデオを撮って、スロー再生と、内部でメモリに蓄えてる走行データーを比較しながらパラメーター調整するのは効率がいいです。

初級者大会前に一気に書き上げた、蟲蟲大行進のソースは全て破棄、一から出直しです。モーター制御周りは信頼性がだいぶあがってきたのでそのまま残してます。



第140回 旋回パラメーターの調整開始:2002/9/7(Sat)

姿勢制御は気に食わないが、とりあえず次に進もう(こう言う事してるからだめなんだな・・)今日は旋回の調整。といってもプログラムを組んで見ただけ、定数は定規で測った理想的な寸法が入力されてる。見てのとおり、旋回開始が遅すぎる。盤からはみ出すと、止まるようになっている。まずは明日以降ゆっくり腰をすえてやる。

今日は禁断の森永さんのソースリストを見てしまった。見ないつもりだったが、やっぱり見た。こういう風に書くと気を悪くされるかもしれませんが、結構どろくさい感じがした。やはり、きっちり走らせるためには、場面ごとにきっちり分けてプログラムするのが良いという見本だと思う



第139回 壁の切れ目が縁の切れ目(意味不明):2002/9/5(Thu)

姿勢制御のゲインチューニングは面白くないので、まあこの辺で違うことをやろうと思い、壁のエッジの抽出実験。

個人的に壁の切れ目をきちんと認識しないときちんと走れないと思っていたのですが、今までずるずるとごまかしてきた。壁がある状態からなくなったときに「ピ」と音が出るようにしてある。その場の座標もあとでシリアルで落として確認した。こんな感じ



第138回 姿勢制御(後編):2002/9/4(Wed)

時間かかった割には、あまりよくない。どうも5区画しかないのではっきり判らないが、最後のほうは発散傾向にあるような気がする。長い迷路がほしい。昨日と変わりばえしないが、とりあえず

ます口さんは比例制御のみなのだそうだ、何でそれでうまくいくんだろう?微分がいらないということは、ゲインが低い?はじめから行き過ぎなどありえない?ステッパは滑らない限り行き過ぎってのはないのかな、行き過ぎは脱調を意味するのでしたか。



第137回 本日は、姿勢制御(前編):2002/9/4(Wed)

今日は姿勢制御、まだあまりいい結果は出ていない、どうも、最後に右側の壁に張り付く現象、もしくは激突現象が見られることがたまにある、今一歩まできたが電池切れ、今日はまあこんなもん

迷路のベースですけどこれから変わってません。いま直線だけ延長しようと計画しています。



第136回 地道にゲイン調整から:2002/9/2(Mon)

惨敗の初級者大会をばねに、まずは、明日のゴールはしっかりした足回りからということで、モーター系のゲイン調整。しっかりした速度制御ととりあえず、リファレンスなしにまっすぐ走ること。そしてスラローム時の半径で回れること。今日はここまで



第135回 結果です:2002/9/1(Sun)

大事なことを忘れていましたが、初級者大会は、優勝が工学院の佐藤先生のお弟子さん、準優勝はます口さんでした。あらためて、おめでとうございます。



第134回 一応、初級者大会に出場す(?):2002/9/1(Sun)

金曜日からやった割には、結局ものにならず、半ばやけになって、5時頃仮眠、案の定寝坊し、会場に遅れ到着。それでも、最後に出させてもらって、マウスを迷路に置き、スイッチだけ押してきた。緊張したせいか、センサー調整のやり方を間違えて、ぜんぜん走らず。まあ、走っても直線を走るぐらいで終わるのだったが・・・

あまかった、2日も徹夜すれば、ゴールにたどり着けるだろうとたかをくくっていた。地区大会まではわき目も振らず、心を入れなおして、マウス開発にかかろう。

というわけでモチベーションが下がらないうちに、センサー周りをチェック。私のは多くの方たちが参考にしている、森永マウスのセンサーを使用している。ソフトもまったく同じものだ。センサーのLEDの立ち上がり待ち時間をforループでまわしたウエイトを入れているが、H8からSH2に変えたときに、どの位が良いのかと思ったものの、まあ2倍ぐらいにしとくかと、ロボマガで20だったものを40にした。まあ、特に支障はなかったが、今日はスイッチを押すごとに、ウエイト時間を可変できるようにしてその変化を見てみた。
ウエイト0だとやはり0である、一つ増やすごとに順調に上がっていき、10を超えると鈍くなる、そしてだいたい16ぐらいでピークに達して、そこからは下がる傾向(ピークホールドがあるのでやたらとは下がらないが。)ということで、40から16に変更、すこしは割り込み外の実行時間を稼げた。



第133回 電池切れ、しばし人間も充電:2002/8/31(Sat)

0628:電池切れ
しばし人間も仮眠しよう。目覚ましは充電器の充電完了ブザー

0835:24時間あればぜっぺきでも治る(?)
起床、さて残すは集合まで24時間近く、ラストスパートだ。



第132回 さあ追い込みだ:2002/8/30(Fri)

さて、明日は試走、それまでエンドレスでがんばる。進み具合を日記に書こう。

コマンダー・ドライバーモデルの見直し。
(1)ドライバーは分岐があり複数の選択肢が存在する場合のみコマンダーに行動を質問する。
(2)コマンダーは自己座標、姿勢等を管理しつつ行動方針を常に先読みする。ドライバーから質問されれば答える。

2224:プログラム書き終わり
やっと書き終わった。これからマウスに書き込んでバグ取りと走行テスト。まだまだ時間はある。

明日の予定
当初は午前中を予定していましたが、15時以降に行くことにします。

蟲蟲大行進
||と|を間違ってた・・ふー明日晩飯食えないかもしれません。試走にいけるのは夜中かなあ・・・



第131回 寝る:2002/8/29(Thu)

寝不足、10時ぐらいには寝る。この頭ではいい仕事はできない。



第130回 へこむぜ:2002/8/28(Wed)

ああ、うまくいかない、予定では既に左手法無限ループで走るマウスムービーがアップされているはずだったが。

マウスは私が勝手に車長(コマンダー)・ドライバモデルと呼んでいるからくりで動いている。つまり、仮想的に舵を握っていて、周囲の状況を見ながら、マウスを走らせているドライバーと、そのドライバーに指示をだす、コマンダーがいるという設定である。

ドライバーはコマンダーから曲がれといわない限り、マウスをまっすぐ走らせる。その際、ドライバは真ん中から外れないように、微妙な舵取りは自分の意思でする。コマンダーは座標を見ながら、曲がるタイミングになったら、「曲がれ!」と指示を出すのだが・・・

昨日までのやり方は、座標を見ながら、指示していたが、どうもそれでは座標がドリフトしてうまくいかない。それで、今日からは、壁センサーで壁のエッジを見つけて、座標を補正しながら走らせて見るつもり。うまくいけばいくことを祈りたい。


なぜ、掲示板やメールを使わず、日記でと言われそうです。しかも、わからない人には、なぜこの脈絡かわからないという。ということで、土曜日ですが、あんまし早いと向こうも大変だし起きるのも大変ということで、10時ぐらいにあそこに着くようにしようと思ってますが。それでも起きるのは辛そうです。



第129回 クイズ:2002/8/27(Tue)

まずは問題から、下のソースをコンパイル実行したら、結果はどうなるでしょう?

#include <stdio.h>

void main(void)
{
short a;
short b;
unsigned long c;

a = 1;
b = 2;
c = (a-b)>>1;

printf("%d\n",c);
}


答えは後ほど


このリストは最後の変数cには何が残るかということですが、答えは-1になります。unsignedの引き算a-bはbのほうが大きいので、括弧の中は負でビットイメージは0xffffになると思い、それをいビット右にずらすから、0x7fffになると思うと違っているようです。カッコ内がマイナスの結果になる場合、どんな数でも-1になる用です。VC++とBCCでは同じ結果になりました。これを、マウスの姿勢制御でやってまして、aがセンサーの値で、bが通路中央でのセンサーの値でcは誤差となります。これでは、片方によってしまうと、もう戻れなくなります。



第128回 新人戦の目標=ゴールに行くこと:2002/8/26(Mon)

本当は優勝したいです。しかし、現状を冷静に分析すれば、まあ、タイトルどおりが関の山ですね。

この週末の目標は左手法を実装して、無限ループの中で、走行パラメーターを調整できるようにしようと言うところだったんですが、いろいろ疑問点を解消したり、実験的なことをしたり、なぞのバグと格闘したりで、時間はあっという間に消えてしまいました。

私のマウスYariYari2002M(←ああ、結局これにしてしまった・・MはマウスのMとマブチモーターのMのダブルミーニング(笑))はスラ探だけを追求してここまで着ました。今わかったことは、右旋回、左旋回の旋回特性が結構違う。このマウスは右回りが得意なようです。結局は旋回目標値に補正パラメーターをかけてやることで、左回りには対処することにしました。これから、こういう細かい調整が沢山出てくるんでしょう。

新人戦の目標、探索モードでゴールまでたどり着くこと。高速モードとか用意する余裕はないだろうなあ。

今週の予定
月曜:左手法無限ループ実装・走行パラメータ調整
火曜:左手法無限ループによるパラメータ調整(VTR撮影HPアップ)
水曜:足立法作成、実装
木曜:足立法走行試験
金曜:足立法走行試験・余裕があれば速度アップ対策
土曜:会場で試走・最終調整
日曜:本番!



第127回 自己位置座標計算の結果に満足す:2002/8/25(Sun)

前の話は一応自己解決、こんなことしてみました。

static short y[360] __attribute__ ((section (".text"))) ={
0,17,35,52,70,87,・・・


この、__attribute__((section (".text")))を使うと、変数を好きなセクションに置けるようになるので、.textすなわち、プログラムと同じセクションに置いてやります。でstaticにしないと、関数呼ばれるために変数を確保しようとする動作をするのでstaticにしてみました。これであってるんだろうか?これ以上深入りするとマウスがゴールにいけなくなるのでやめます。


そもそも、自己位置の座標計算が目的です。結果的には意外といいです。始点を決めて、適当に手で押してやって、迷路の板の上をマウスをグニャグニャ動かして、始点に戻します。マウスは始点を原点にして座標をmm単位で表示させておきますと、原点に戻ったときに2cm以内には収まっているようです。ほとんどチューニングしないでこの結果なので。かなり満足です。



第126回 const変数はRAM、ROMいずこへ?:2002/8/25(Sun)

前の日記に書いてる三角関数のテーブルの置き方で悩んでます。使っているコンパイラはgccでターゲットはSH-2です。

(1)関数内で初期値(これが三角関数のテーブル)付で配列を宣言した場合。何もつけないと、関数が呼ばれたときに、一気に初期値をRAMにコピーしてRAM上で使用される。これは関数が実行されるたびに実施され、無駄なRAMを消費し、かつ、コピーのためのタイムロスが関数実行のたびにある。
まずはこの理解で良いのか?

(2)constをつけた場合も(1)と同様な結果か?

(3)staticをつけるとコピーが起こらずROM上で変数が使用され、RAMを無駄にすることはないのか。

最初は(2)のconstをつければ、RAMへのコピーは起こらないと思ったんですが、リンクする際に、リンカがmemcpy.oといういかにもRAMに値をコピーするぞというようなオブジェクトを勝手にリンクするのがわかりました。これは(1)の何もつけないときも同様です。ところが、(3)のstaticをつけた場合は、このmemcpy.oをリンクしません。ということはコピーしないことを意味するのかと思いました。でもstaticは値を変えないと決まっていないので、RAMにコピーされるはずです。これでもう、何がなんだかさっぱりです。
根本的な問題は、「関数内でしか使わないテーブルをROMにおいて、RAMを使わないようにするにはどうするか?」ということなのですが、リンカスクリプトをちゃんと勉強して明示してやらないとだめなのかな?

へるぷみぃm(__)m



第125回 分割コンパイル:2002/8/24(Sat)

ソースファイルも1000行を軽く超えごちゃごちゃしてきたので、「はじめての分割コンパイル」にチャレンジすることにした。

まずは、どう分割するかを悩む、そうしてるとプログラムの構造が見えてくる。もっともハードウエアに近い層、迷路探索の思考ルーチンのようにハードウェアから遠い層、他のプログラムでも使えそうな汎用関数のグループなどに分けてみた。

どう分けるかが決まると、それぞれのモジュールごとにヘッダファイルを作っていく。モージュールに含まれる関数のプロトタイプ宣言を今までのソースから切り取ってきて、externを頭に付け加える。グローバル変数についても似たような作業をする。ヘッダーはそのモジュールの関数を使用する、他のモジュールでインクルードする。

後はmakefileを書き換えてコンパイルする。

構造がはっきりわかったことは今後のプログラミングに役立つはずだ。

さて、追い込みだ。というもののまだ迷路をさまよえる段階にいたっていない。とほほ


三角関数を近似計算することを考えるときに参考になるページを見つけた。11次ぐらいの近似だとかなりいい近似になる。しかしビット長の制約や、整数の範囲での取り扱いを考えると、テーブル作ったほうが手っ取り早いみたい。

三角関数は速度と角速度の積分から座標を計算することを実験してみようと思って、その時に使います。


サーボゲイン可変の話ですが、私もそれなりに変えてます。たぶん、そうするのが正解なんだと思います。というのは、マウスの姿勢制御は横方向の変異が制御対象ですが、マウスの速度が変わると制御対象の時定数のようなものが変化します。制御対象が違うものになればゲインを変えなくちゃいけないということではないでしょうか。ただ、横方向の速度成分は激烈に変わらないので、それほど気にしなくても良いような気がしますが。



第124回 マイクロマウスマップビューワを作る:2002/8/21(Wed)

マウスが迷路をさまよい始めると、マップが正しく記録されているか、確かめたくなります。1号マウスのときは、メモリをダンプした後、ハンドマッピングといえばかっこいいですが、データをいちいち紙に書いて、それに対応する壁を方眼紙に書いてマップを書いて、プログラムが正常かを確かめていました。

今回もそれをやっていると時間がかかるので、テキストベースの簡単なソフトを作ってみました。森永さんの連載のロボットマガジン13号に載っているマップのフォーマットを使っていれば使えます。ただし、マップ配列は2次元が多いと思いますが、1次元に変換し縦一列256行のテキストファイルにして用意しなければなりません。

いちおう圧縮して実行ファイルとソース、サンプルマップデータ、それに簡単な説明書をつけてアップしておきます。マップデータの準備がちょっと面倒ですが、それができれば便利だと思います。

マイクロマウスマップビューワVer1.0

寝ようと思ったが寝れないので、来年以降のことでも話そう。ロボットの活動としては、4WDSのランサーについては今年ちゃんと出られれば、それで一区切りつけるつもり。ソフトの追求でまだまだ性能は上がると思っているのだが、同じ車体で4回も出るのも顰蹙だろう。(ドライバなど基盤関係は変えてます。)ランサーについては今後はゆっくり4本足を作っていきたい。超高速ビデオによる馬のスロー映像は1年前からキープしてあるので、それをじっくり見て研究するつもり。

来年以降のメインはマウスになるかな、やっとマウスに出れそうなところまで、たどり着いたのだから本腰を入れる。選択は今のモーターでどこまでいけるかに挑戦するか、高性能モーターに変えた新型を作るかである。やはり、優勝したいから高性能モーターかな(笑)4WDSのマウスも考えていたが、DC2輪マウスでもかなりいけそうな気がするので、とりあえず極めてみたい。

そしてRoboOneますぐちさんもそわそわしているみたいですが、わたしも、そわそわしてます。やりたいことは沢山あるわけで、あれもこれもと行かないので、アンテナだけは張っておくつもり。理想はサーボを使わないこと、相手に近づいて激烈なパンチによるノックアウトができるロボットを作りたい。で、それとは別にコントロールをBluetoothでやってみたい。将来はBluetooth搭載携帯なんか買ったり、はたまた、ヘッドセットつけて「行け!○○!」とか言ってたら楽しい。近年チップセットが沢山でてるらしいのでH8Sあたりで制御した無線システムから手をつけてみたい。



第123回 ミニロボットランサー入門:2002/8/18(Sun)

最近、「ロボットランサーをはじめたいのだけれど、どうしたらよいのか教えてくださいと。」というメールが時々届いています。色々な方たちが、それぞれの知識に基づいてメールを下さるので、全ての方にあった回答は難しいのですが、ここで、大雑把にロボットランサーを作るうえで、知っとくと、自分で調べたりする上で、参考になるかもしれないと思われる事項を、これから話したいと思います。

ランサーロボットを構成するのはまずは頭脳であるマイコン、それに槍を動かす機構、マイコンと槍機構を運ぶ台車、ラインを読みとるセンサー、それに電源であるバッテリーです。これら5つがランサーの主要構成品です。一つづついきましょう。

(1)マイコン
東京秋葉原の秋月電子の販売するAKI-H8/3052を強くおすすめします。これは、秋月のベストセラーであるAKI-H8/3048の上位機種で全くの互換性をもち、ROMが増え、クロック数が16から25MHzにアップしています。またROMの書き込みが3048では12Vの別電源を用意しなければならなかったものが、マイコンの動作電圧である5VでOKであり、さらに手軽になりました。この機種は前の3048についての情報がネット上にあふれておりそれを   利用できるという最大の利点があります。3048と3052はプログラムがそのままはしるので、クロックアップの影響で時間計測ルーチン等さえ気にしておけば参考例を使って勉強も出来るかと思います。開発環境は買うと付いてきます。これはGCCと言われているCコンパイラです。オーム社の「自立型ロボット制作バイブル」などを参考にすればよいかと思います5000円以下で完成品が売っています。通販出来ます。
(2)槍機構部
大会にいくといろいろなタイプの槍機構がありますがもっとも簡単なのは、ラジコンのサーボで棒を振るタイプです。私も未だそれですが、初めての場合はそれがいいと思われます。
(3)台車
これは人それぞれなので何をどうしろとは言えない部分なのですが、私のはラジコンカーを改造したものなので、ラジコンを改造するのもひとつの手です。この場合は槍機構も同じですがマイコンでサーボを動かす方法、ラジコン用のDCモーターを回す方法を考えなければなりません。サーボは周期的なパルスを与えてやり、そのパルス幅でサーボの角度が決まる仕組みです。ラジコン用のモーターは非常に大電流を消費します。一般にモーターを駆動する回路をモータードライバと言いますがそれが必要です。トランジスタ又はFETを組み合わせたHブリッジと制御回路で自分たちで作るか、これもラジコン用のアンプを使うかという選択になります。ラジコン用のアンプのマイコンでの制御はサーボと同じです。走るためのモーターにはDCモーターの他にもステッピングモーター等の選択肢がありますので、自分の好みや、技術に合わせて選んでみてください。
(4)センサー
フォトトランジスター又はフォトダイオードという受光素子と赤外線発光ダイオードを使います。赤外線LEDの光を床に当ててその反射をフォトトラまたはフォトダイオードで読みます。白線に当たって反射すると強い光が帰りってきて、黒と白との区別が出来ます。どのような回路かは調べてみてください。フォトトラならエミッタを調整用の可変抵抗で接地して、エミッタの出力を4584等のシュミットトリガに入れってやって、0、1で検出するのがお手軽です。
(5)電源
話をラジコンで進めてしまってる感もありますが、ラジコン用の7.2Vバッテリーが何処でも手に入りお手軽です。AKI-H8/3052は5Vで動作しますが、7.2Vを5Vに変えてくれる3端子レギュレーターが付属するのでそれでOKです。ただし、マイコンから5Vをセンサーなどの他の回路にとっても良いのですが、多分秋月のは電流が余り取り出せそうにないので別に3端子レギュレーターを用意して、5Vを作った方が無難です。モーターは大電流を、サーボはある程度の電流を食いますので、バッテリーから直に電気を取ります。また、発進時はモーターに大電流がながれてマイコンの電圧等が下がり、リセットがかかる可能性がありますから、別電源を用意する等の対策が必要です。

これで、ロボットランサーがどのような構成でできていて、そのそれぞれについての概要を話したつもりです。個々の細かい話でわからないことなどは、それぞれ、質問していただければ、答えられる範囲でお答えします。



第122回 盆休みもあと1日:2002/8/18(Sun)

帰省から帰ってきた。実家でマウスをやろうと思って、マウス本体と迷路の壁数枚を鞄に詰めて持っていったものの、甥っ子のおもりで結局なにもできなかった。とほほである。

その、甥っ子をロボット少年に仕立てるべく、田宮の壁づたいマウスを買って帰って一緒に作った。と言ってもまだ一歳半なので、全然理解していないですけど・・

と言うことで休みは明日の日曜日だけとなったが、マウスをやろうと思う。姿勢制御等の走行制御のチューニングをもう少ししたら、探索走行をかぶせてみたいと思う。

ますぐちさんの日記経由でRoboOneの映像を見た。どうも私には性に合わないのかピンとこない。森永さんの日記をみて、自分も作りたい、大会にでてみたいと、そわそわはするのだが、自分が思っている格闘技というものが出来るロボットを自分で作る事は今は不可能だと思う。自分の思う格闘技は、例えば、パンチという攻撃を例に取れば、相手を物理的に倒す運動量をもった拳が相手に当たって、その結果として、だれが見ても相手が倒れたと判断できるような格闘技だ。あれは痛そうだなと思えるパンチを出してみたい。そういうのが作れるかどうか、少しづつ研究して何時かRoboOneにでてみたいものである。



第121回 ランサーアートワークほぼ終了:2002/8/12(Mon)

ランサー基盤アートワーク

うー、3日かけてやっとこさ、ランサーの基盤のアートワークが終わった。終わったと言っても、これから間違いないか確認。間違い確認しても、実際、焼いて、配線するとどっか間違ってるんですが。いや、疲れた。

ほんとは、帰省する前に、走れる状態にしようと思っていたんですが、ダメでしたね。実家の近くで広い場所がとれそうなので、そこで試走しようと思っていたんですが、やめました。まだ期間はあるので、試走場所はこれからまた探します。

写真のように縮小してみるとICの配線のようです。こう配線を書いてると、センスがないせいか、2層基盤でもジャンパー線とばさないと配線できなくなります。後1層は欲しい。欲を言えば、電源、GND、配線1、配線2の4層あれば最高だな。

スペックはマイコンSH2、サーボ×1、小型モーター×2、駆動モーター(300W)×1、ジャイロ、エンコーダー、LCDが接続可能で、スイッチ×2とLED×2装備。



第120回 ヘロヘロスラローム(ムービー付):2002/8/9(Fri)

上のグラフはノンリファレンススラロームのマウスの旋回角速度指令値(青)と実際の角速度(赤)の時歴です。まずまず、がんばって追随してます。

スラロームムービー

と言うわけで、なんとかヘロヘロとスラロームのようなことが出来るようになった気がする、と言うとこまで漕ぎつけました。ノンリファレンスといのは文字どおり、周りの壁等は一切見てません。これでは確実性が無ので、なんとか補正手段を考えていますが、いまだ良いのは無いです。みなさんスラロームするときは、リファレンス無しで走ってるんでしょうか。そんなことはやっぱり無いだろなあ。

ちなみに回るときは、vが現在の車速、wが目標旋回角速度、rが旋回半径とすると w=v/r から目標wを計算して回ってます。グラフの青線はそれです。

それにしても遅いです。これが安心ラインです。フレッシュマンはこれぐらいで欲張らずに行った方が無難かも知れません。まあ大会までの進捗に会わせて、速度アップも検討に入れようとは思っていますが。

ムービーがコマ落ちしてます。どうもハードディスくが遅いのに加えて、デフラグの必要があるようです。ハードディスク整理しデフラグを掛けたら、コマ落ち無くキャプチャ出来ました。ムービーファイルも入れ替えました。



第119回 DCモーターと戦う今日この頃:2002/8/7(Wed)

前も書いたような気がするが、DCモーターがやっと解ってきたような気がする。

千石で買ったジャンクのマブチのモーターは同系のデーターシートのものよりかなり回転数が早いようだ。しかし、回転むらが結構気になる。制御ゲインはハイゲインにすると制御系のロバスト性(頑健性)が上がると昔から言われているが、ノイズが多かったり、このモーターのように回転むらでしょっちゅう出力が上下してると、あんましゲインも上げられない。

PWMの周期も周期によっては、デューティ30%ぐらいでは動かない場合もある。PWMのパルスけっこうなまってるのかも知れない。その辺の所気にして設計していないので、見るのが怖い。

シミュレーションでつかんだゲインの設定法が、実際のモーターにも割と同じように適用できた。シミュレーションのモデルもそこそこ実際のものに近づいてきたんだろう。きっちりした方法みたいなものが確立していなかったので、いつも違うアプローチだったが、これで大体行けそうだ。

マウスのためのDCモーター制御のその2がかけそうなネタがたまってきた。モーターの制御だけでグラフ30枚分のデータがたまった。

盆休みはランサーその後はマウスどっぷり、9月1日間に合う自信がなくなってきた。地区大会に照準を合わせる。



第118回 マウスな週末:2002/8/5(Mon)

実は来週の12日ぐらいまでにランサー作り上げないとならないのだけれど、週末はマウスをいじってしまった。ああ(泣)

久々に電源を入れて、走らせると、どんどん左に曲がっていく。原因は左のタイヤの軸が滑っていた。大きな故障でなくて良かった

なんか充電するたびに、特性が微妙に違っているような気がする。調整し直して、走るようになると、また充電の時間、充電し終わると、また、特性が違う。無限ループ・・・・

安いモーターは(高いモーターは知りませんが・・)回転むらが結構ある。ギヤ比が低いとそのむらが走行に現れる。停止させようとしたり、発進させようとすると、ふいに方向が変わったりするのでわかる。こういうモーターで何とかするのは、多分ノンストップで突っ走るのが一番良いような気がする。というわけで、今回のマウスには90°旋回モードというのは基本的には使わないで、すべてスラロームにする予定。

SHはパワーあるなあ、割り込みルーチンの最初と最後でポートon、offしてそれをオシロスコープで見るという原始的な実行時間確認法で、処理時間を確認すると、余裕ありまくりです。モーターの制御、センサーの制御等ほとんど割り込み内でやっていますが、1割内ぐらいですね。H8に8ビットバスのSRAM繋いでいた前のマウスに比べるとものすごい楽です。



第117回 spiceにはまる。:2002/8/3(Sat)

やることがある時に限って、他の事に目移りして、はまったりする。今回はspice

Pspiceなどトラ技の付録に付いてきたのも使って見たことはあるが、今回のはフリーで出回ってる奴。winで使えるのは、winspicespice opusが有名どころ。他にもあるかも知れない。前者は私のwinn2000の環境ではコマンドラインでリターンを打つとおかしな文字まで入力されてしまって、うまく使えず。後者はとりあえず動く。

spiceはご存じの通り、ネットリストなるテキストファイルにシミュレーションしたい回路の情報を書き込んで与えて、回路の動作を計算するソフトである。市販品はたいていはこのネットリストを作るエディタが付いていて、ビジュアル的に回路図を描いていくようにすると、自動的にネットリストができあがる。テキストで回路の情報をどうやって表しているかは、いろんなところのspiceの解説に必ず書いてあるので、詳細は省くが電源に抵抗が繋がってるだけの回路だとこんな感じ

vcc 1 0 dc 5
r1 1 2 2k
r2 2 0 1k

電源がvccでその後の数字が端子の番号dcは直流電源で5は5Vという意味。r1,r2は抵抗、頭にrが付いてればすべて抵抗を表す。その後の数字は電源と同じく端子番号、r1は端子1,2に繋がっていて1はvccにもあるから、vccと繋がっていると理解できる。2は次の抵抗r2の端子番号2と共通なのでr2と繋がっていることを意味する。r1,r2の最後の2k、1kは抵抗値を表す。vccやr2に共通に見られる0はGNDのことで、0はGNDを表すのは約束事。

フリーなspiceにはビジュアルなネットリストエディタは付いていない。従って、すべてテキストエディタで打ち込む。大規模の回路は知らないが、小規模の回路なら、多分テキストエディタ使ってネットリスト作った方が早いような気がする。配線変えるのも、端子番号入れ替えるだけで済むときもあり、非常に早い。ただ、実際は回路図を紙等に書いてから端子番号を振って、それからテキストエディタに向かうので、必ず回路図を清書する人には市販品の回路図(ネットリスト)エディタを使うと1石2鳥である。

ソフトの使い方を覚えるのが嫌いな私には、大体のことがテキストファイルに書かれている、このような作法の方が実は好きだ。いつもLINUX(UNIX)な世界に惹かれるのはそのせいだが、プリンタとか周辺機器は接続したら何にも考えずに使いたいとか思うのでなかなかwinな環境から抜けられない。



第116回 ランサー申し込む:2002/7/30(Tue)

ランサー申し込んだような気になっていたが、まだしていなかったことを思い出し、今晩FAXを送付した。

ランサーの基盤作りに取りかかったが、飽きやすい性格なため、なかなか集中力が保たない。

今回のランサーはSH2に決定。ステアリングサーボはマイコンで自分でかけ、ジャイロを搭載し、ショートカットをやってみたい。子機はあきらめ、円柱は体当たりします。去年よりも速く回ることを目標にしてます。

一昨年は円柱は片方しか倒せず、本番ではコースに復帰できなかったので、今年は両方倒し、コースにもきっちり復帰したい。

ジャイロの話だが、初めてシリコンハウスの村田のジャイロを買ったときは、90°/sという性能であり、旋回に使えなかったので、使わなかった、その後、マウスに使ってみて、直線を補正するのに、かなり有効であることを確認。今、シリコンハウスで売っているジャイロは300°/sまでとれる、コーナーは1秒ぐらいで回ろうと思ったとき、このぐらいの性能だと、ジャイロを使った旋回(ショートカット)も出来るかも知れない。はやく、試してみたい。



第115回 しばらくおあずけ:2002/7/23(Tue)

昨日は宴会、明日から1週間ほど出張、作業が出来る時間が少なくなってきた。出張にはパソコンは持っていく予定なので、夜はランサーのアートワークに励もう。子機作る時間無いな。円柱も減って、余り意味が無くなったので、まあいいか。ここのところランサー勢の活動が余り見えないのでみなさん調子はどうなのだろうか。

SHの紙のマニュアルが届く。やはり紙の方が読みやすい。

マクソンの最新版のカタログを見る。XKM3はマクソンにしようと決意。XKM2にそのままのるモーターが2,3あったので、見積もりだけでも、取ってみるつもり。

定例会で、中島さんにアドバイスを頂いた、電源周りの改造を日曜日帰ってから早速やった。どうもレギュレーターの選択も間違いだったらしく、差圧が2.2V以上必要なものを使っていた。電池の公称は7.2Vなのでぎりぎりだった、リセットかかりまくりだった原因は大半ここにあったのだろう。部品換装と改造後良くなった。

マブチのDCモーターで作ったマウスだが、みなさんのマウスのように、安定して綺麗なコース取りは出来ないかも知れないけれど、がんばればゴールまで行けるような気がしてきた。



第114回 7月定例会参加す:2002/7/21(Sun)

本日は例によって、定例会。さすがに徹夜明けはきつい。よおやるよ自分。

本日は試走会と言うことで、楽しみにしていた。やっと、走るマウスが見られる。

ますぐちさんにも、やっと会うことができ、うれしい。こんな風に輪がだんだん広がってゆくのも楽しい。なかなかかっこいい好青年であった。

試走はますぐちさんなかじまさん、佐藤先生がじっしし、ますぐちさんが、苦しんでいたが、良く走っていたと思う。後者二人はウイングマウス、さすがキャリアを感じさせる良い走りっぷりだった。XKM2はあそこまで行けるのだろうか。

私はと言うと、寝ないでやった割には、真っ直ぐ走らせるのにかろうじて成功と言ったところ。出発前までどうも今一歩で、持っていったが、結構うまく動いた。

ああ、後一月で、ゴールまで行けるのか、心配。ランサーもあるし、来週は1週間の出張で何も出来ず。ちょっと、やばい。(汗)



第113回 明日は定例会:2002/7/20(Sat)

明日は定例会。楽しみ。試走会となっているが、何台ぐらい走るんであろうか?

私の方は、前日の今午後3時時点で、やっとモーター制御がまあまあ出来るようになったかなと言うところ。センサーに取りかかりたいが、まだ出来そうにない。

モーター制御は続きになっているお話の、プラスアルファを実際に検証した。プラスアルファとは2自由度制御と言う奴で、普通のフィードバック制御の前に、前置補償器をおいて、フィードバック性能のみならず、過渡特性をも補償しましょうと言うもの、詳しくはまた、話します。

前置補償器のためのデジタルフィルターをはじめて入れてみる、適当に式変形して作った割には、結構良い。これも、今度紹介しよう。

さて、センサーの調整まで、いければ、姿勢制御ができて、その後、1号マウスの探索ルーチンと合体して、迷路探索まではいけるが、あと、半日でそこまで行けるか、はなはだ疑問

明日、走らせようと思っている方は、今日がんばっているのだろうか。それにしても、明日はたのしみ。



第112回 問題解決:2002/7/19(Fri)

デバグ用LCD装着
YY2KF改後部写真1
YY2KF改後部写真1

YY2KF改後部写真2
YY2KF改後部写真2

書き込みの問題は、シリアルの端子と、エンコーダーの端子が共通だったと言うことだけだった。気が付くのがおそい、お馬鹿だ。結局、根本的に解決するには、回路いじらないといけないので、今回は、その都度、コネクタを抜き差しすることにする。

しかし、今回、この部分だけコネクタで抜き差しできて、あとは半田直づけなので、ラッキーだった。

デバグ用のLCDの表示ドライバー実装、表示確認。やはり便利。ドライバは森永さんのをほとんどまんま借用。

音源ドライバも作成。たいしたものじゃないが、「ぴ、ぴ、ぴ、ぴぃー」「ぴろろぉ」とか言って、楽しい。

当初LCDはフルタイム装着状態を予定していたが、重くなるし、バランスも悪いので、取り外すことにした。接続用の端子の処理が出来ていないので、ちょっと格好悪い。

エンコーダーのアップダウンカウント確認、いいぞお、1号との違いに、涙す。(大げさ)



第111回 書き込みトラブル:2002/7/18(Thu)

エンコーダー波形整形回路の調整をし、duty50%信号がおおむね得られることを確認し、今まではずしていた、この回路からの信号をマイコンに入れるためのコネクタを接続した。すると、とたんにFLASHの書き込みが出来なくなった。

何をしたら、ダメになるのかは解っているので、波形整形回路周りからチェックしだしたのだが、昨日の晩から、わからず。

書き込みの時はそのコネクタをはずせばいいのだが、気持ち悪いので、引き続き原因究明。

本日より、3連休。後二日半マウスに没頭する予定。真っ直ぐ走れれば、良いところかも知れない。日曜日の定例会が終われば、頭をランサーに完全に切り換える。

ここのところ、消灯はAM3時眠たい・・・



第110回 SH7046のMTUの話:2002/7/17(Wed)

この二日ばかし、「うがー」てな気分であった。

と言うのも、SH2(7046)のMTUの設定で苦労した。MTUと言うのは、H8/3048で言うところのITUである。まんま、同じような感覚で使える。若干機能アップはしている。まず、カウンターは5つだが、PWM出力は5系統以上出せたりする。同じ周期ならば、dutyを設定する、レジスタを沢山用意すれば、一つのカウンタで事足りすからだ。それと、位相系数も2個できるので、エンコーダーを2個付けられる。

その。MTUを今度のマウスでは、モーター制御用のPWMとエンコーダーアップダウンカウンタとして使う。昨日から、モーターを回そうと思って、PWM発生に取り組んできたのだが、ものすごく苦労した。

左のモーター用のPWMはでても(この表現ちょっと変、まあ、いいか)右のモーターのがでない。これで、アフターファイブの貴重な時間を2日分無駄にした。どんなにソースと、マニュアルをひっくり返してみても、間違いが無いように見えた。実際には、MTUを制御するレジスタの中に、どういう訳か、MTUの沢山ある入出力用のピンの中で、一部だけの入出力を制限出来るレジスタがある。その、設定をしていないと、デフォルトで禁止となっているので、信号がでなかったのである。PWM関連とは、独立したページにでていたので、気づくのにすごく時間がかかった。問題なかった方のPWMはそのレジスタで制限されない端子だった。

ちなみにこれ以外にも、たくさんトラブルにはあった。
例を挙げると、電源短絡、エンコーダー波形生計回路働かず、モーター用7.2Vとその他用5Vが実は繋がっていた等々・・・

最後のは焦った、これまでずっとマイコンに7.2Vかかっていたのだ。前述のMTUの件も、マイコンが壊れているのか、設定が悪いのかどちらかしばらく判断できなかった。組み立ての最後に電源電圧を測ったつもりになっていた。反省・・

最後にduty50%にして、走らせてみた。7/12の日記の一番最初のグラフの結果が走らせれば多分このようになったかのようにように、見事に円軌道を描いてくれた。日曜日の半分はギヤのかみ合わせを調整して、左右が同じように回るように努力したのだが、厳しい結果だ。

いや、しかし、苦しいけど、非常に楽しい。



第109回 2号マウス組み終り:2002/7/14(Sun)

2号マウス
点灯
当社比

やっと組み立てが終わった。まだ、動くかどうか判らないので、完成というのはやめておきます。

6月21日の日記で金〜日で作るぞ!と宣言してから、早3週間が過ぎてやっと、ハードが出来たわけだ。だいぶ時間がかかったが、マウス1から作るのにがんばれば1ヶ月ぐらいで出来るということかな。

月例会の案内も来た。今月は試走会とのこと、後一週間、ソフトに取り組む。



第108回 マウスのためのDCモーター制御(その1):2002/7/12(Fri)

花金(死語かな)である。一週間たつのは早い。こんばんは制作をちょっとお休みして、今後の課題である、マウスを真っ直ぐ走らせるためのDCモーター制御について考えてみた。

同じ型のモーターでも軸受けの滑りや、ギヤの摩擦、その他諸々の原因で、微妙に特性が違ってくる。この特性の違うモーターを2個並べて、走らせるところに、2輪マウスの難しさがあると思う。まともに回転数制御できなかった1号マウスでつくづく思い知らされたことである。
下の数枚の図は今回マウスに使用したモーターとほぼ同じと思われるモーターのデータに基づき計算した結果である。一応赤が右のモーター、緑が左のモーターの結果としておく。

図1は制御も何もしていない生のモーターに4Vの電圧を同時にかけたものである。1号マウスの経験から、やっかいなのは摩擦抵抗だと考えているので、それぞれのモーターは同じ型であるが、軸等にかかる摩擦抵抗が微妙に違うものとして、パラメーターを振っている。
その結果。図1のように、過渡状態も、定常値も若干違いが現れている。


図1 生

この、モーターで制御も何も掛けず走らせたら、ずっと左曲がりに円弧を描いて走ってくれると思う。今はやはり、真っ直ぐ走ってもらいたいので、左右のモーターが同じ回転数で回るように比例+積分制御で回転数サーボを掛けてみる。図2のような結果となる。定常状態は一致しているが、過渡状態が一致していない。この過渡状態の若干の不一致が、走らせたときには、図2の右隅の青いグリッドと、赤い線で書かれた図のようになる。赤い線がマウスの軌跡、青い線は迷路の区画をイメージしたものである。図から緩いカーブを描いて、壁にぶつかることが解る。(図2からは回転数は直径5cmのタイヤをはいたときの、仮想の速さに換算しています。)


図2 PI制御による回転数サーボ

PI制御で、過渡状態を合わせることは難しい。図3は速度サーボを掛けたときの入力の変化であるが、前半はサチっている。したがってこのサチっている領域はどうしようもない部分である。性能を追求すると、サチる事もしばしばあるので、なおさら、過渡状態をうまく取り扱うのは難しくなる。


図3回転数サーボ制御入力

PI制御だけではだめなのでプラスアルファが必要である。図4はプラスアルファを効かせたときの計算結果である。ほぼ二つのモーターが過渡状態も、定常状態も一致している。図2と同様、この状態で走らせた時の軌跡を右隅に示すが、真っ直ぐ走っている。


図4プラスアルファを加えたもの

つづく

これで、実際うまくいけばいいなあ・・・

注:この説明のモーターは両輪の速度差をフィードバックしているわけではありません。あくまで、独立した2つのモーターに同時に同じ目標値を与えたときに、同じように回るモーターにするにはどうしたらいいのかを考えたものです。これができた後に、さらに、両輪の速度差をフィードバックして、シンクロさせる制御を掛けます。




第107回 マウスの運動(その1):2002/7/11(Thu)

ωR右車輪角速度rad/s
ωL左車輪角速度rad/s図に記載無し
VR右速度m/s
VL左速度m/s
Vmマウス重心速度m/s
Ψ(ドット)重心周り角速度rad/s
r車輪半径m

Vm=(VR+VL)/2
dΨ/dt=(VR-VL)/L
VR=r・ωR
VL=r・ωL

半田付けにも飽きたのでマウスシミュレーションの準備にちょっとまとめてみました。



第106回 2号マウスもう少し:2002/7/10(Wed)

できあがった各モジュール

大体基盤上の半田付けは終わって、後は各モジュールの結線。結構多いので、面倒くさい。

遅くても、あさってには動くと思うんだけど。SH2のプログラムは初めてだしGCC環境も初めてだ。すこし時間がかかるかも知れない。

マブチモーターでうまく走るのかちょっと心配。コミュンテーターが3分割なので、おそらく、位置決めの精度は悪いと思う。また、発進停止時の挙動も不安定になるに違いない、制御しきれない領域。1号はギヤ比が大きいのでその辺は吸収されたが、今回は14:80とさほど大きくない。

また。シミュレーション病が再発して、マウスシュミレーション考え中。頭の中と、メモ書きでは完成している。

定例会は発進停止しか見せられないかも知れない。それでもDCモーターの制御と言う話をできるように準備したい。

各所で「3052に乗り換えようかな。」発言が飛び交っているが。私もランサーは3052にしようかな。自分で載せ替えた奴だけど・・・



第105回 さあ、半田付けだ:2002/7/7(Sun)

できあがった基盤

基盤焼いて、穴あけてで2日ぐらいかかった。慣れればもっと早くなるのだろうが、そんなにめったにやる作業でないので、熟練するまでは至らないであろう。

穴あけ作業は秋月で買ったタンガロイドのドリルがいい。普通のドリルはすぐ切れなくなるが、タンガロイドなら、づっと切れる。ただし非常にもろい、すぐおれる。

ランドに対して穴が大きい場合、手でやった方がやはり綺麗に旨くいく。ピンバイスで裏表から攻めれば、パターンが切れることもない。また、バリもあまりでない。

さて、半田付けだ、まずは初めての表面実装から。



第104回 蛍光灯によるプリント基板の露光の話:2002/7/6(Sat)

エッチングが終わった基盤
露光環境

プリント基板露光、現像するのにちょっと苦労したので、日記にのこす。

写真のエッチングまで終わった基盤を作るまでに3枚無駄にした。一枚600円ぐらいだから2400円ぐらいかかった事になる。(泣)

失敗の原因は露光時間が不適切だったため。露光には2年前に作った露光器を使う。2枚目の写真がそれだ。どれも、ホームセンターで売っている部品で作ってある。立っているのは、ベースのベニヤ板をバイスで挟んでいるため。露光時は白い厚手の紙をかぶせる(蛍光灯が熱いので火災に注意)。露光時間を25分、20分、17分、12分と試したが、12分が最も良い結果で、その他は失敗に終わった。

露光のための諸元をまとめると。

光源 ナショナル パルックボールEFD22EN(22Wの蛍光灯)×2
光源同士の中心離隔距離 約6.5cm
光源中心と基盤の距離 約9.5cm
露光時間 12分(10分ぐらいでもいい感じだ)

これで、露光は旨くいった、それと感光基盤は賞味期限切れ1年経過のものだったが、旨く行けた。また、はじめに新品のものを使用し、失敗しているが、新品は露光時間が短くても大丈夫な印象を持った。

現像には私はスプレーを使用している。これは簡単で良い。また、今回、はじめて、サンハヤトのSTANDY PACKなるものを使用した。エッチング液とお湯と基盤をそのパックにいれて、揺らすと短期間でエッチングが終わるというもの、宣伝どおり、非常に素早くエッチング作業が終わり、これは便利である。

話が前後してしまったが、OHPシートに関しては、新たに購入するのはもったいないので、同じフィルムを3枚重ねて使用した。その3枚も一枚のシートに印刷して切って使う。PCBEであれば、できあがったものを、コピーし3枚並べれば一度の印刷ですむ。

さあ、穴あけだ。



第103回 OHPフィルムの話その2:2002/7/5(Fri)

なんと今日が金曜日であることを、さっき自分で書いたもう一つの日記の日付で気がついた。(日付と曜日は自動的に付く)もし気づかなかったら、明日、職場に行ったな・・・

近くの電気屋に行ったら、今度はCanon純正OHPシートがあったのでそれを買う。比較のためにmaxelの奴も買ってきた。で、印刷してみたが、どうもいまいち。蛍光灯にすかすとまだらで、透けて見える。2年前にエプソンのシートで作ったフィルムとの差は歴然だ。とにかくエプソンプリンタとエプソンOHPシートの組み合わせはすばらしい。蛍光灯にすかしてもほとんど透けない。一応、今日作った奴で露光してみるが、ちょっとダメそう。maxelも同じような感じです。



第102回 インクジェット用OHPフィルムの話:2002/7/4(Thu)

PCBE

アートワークが終わり、さあ印刷しようと思い、買ってきてあったOHPシートに印刷する。私のプリンタは引っ越し対応のCanonBJM70だ、それで、Canon純正のOHPシートが欲しかったのだが、それが無くて、なんかしらんTooとか言うメーカのOHPシートを買ってきてあった。しかし、これは失敗、なんかポチポチが目立った点描のような感じになる。印刷品質を落とすとドットが荒くなるためか、少し良くなるがこれではダメだ。昔エプソンのプリンタでエプソンのOHPシートに印刷したときはばっちりだったのだが、残念。明日、エプソンのOHPシート買ってこようかと思う。Canonのインクとの相性はどうだろうか。それとも、サンハヤトの高いOHPシートを買いに行こうか。サンハヤトだと名古屋まで行かないとダメなのですぐには行けない・・

今日はエッチングまでやって明日以降、穴あけ、半田付けのつもりだったのに、残念だ。



第101回 アートワークほぼ終わり:2002/7/3(Wed)

アートワークがほぼ終わった。一部別基盤の部分があるのだが、それを作れば終わり。ここで焦らず、拡大印刷して、配線チェック。原寸で確認したところ、線の間隔は大丈夫そうだ。おそろく、くっつくことはないだろう。

ますぐちさんが中部支部に進出するらしい。楽しみ。おそらく新マウスを持ってこられるのだろう。私も今月は走らせられる状態でマウスを持っていく予定。モチベーション倍増である。(日曜日ですが軽く一杯ぐらいやりましょう。)ちなみに中部支部のフレッシュマン大会は9月1日になりそう。

それにしても、これが終わればランサーにかからないとだめだ、コースの確保の都合上、8月の盆休みにしかコースを走らせる機会は無い。8月の頭までにハードを完成させなければ。忙しいぞ。



第100回 6月中部支部定例会参加:2002/7/1(Mon)

今日は中部支部定例会に参加。中部支部は(株)ロボス社長の森さんの存在が非常に大きいと思う。今日もほとんど森さんのロボカップ参加報告だった。

ロボカップのビデオを見せていただいた。非常にそのレベルの高さに驚かされた。主に小型機リーグという奴だったが、ロボット達は、ボールを保持し、ドリブルし、シュートし、ボールがとられれば、守りのフォーメーションをとりと言ったことを、非常にスムーズにおこなっていた。ここまで来ると、見ていてもかなり楽しい。森さんもおしゃっていたことだが、金になるかも知れない。

ロボカップのロボットの技術的な話もいくつか出たが、足回りの話だけすると、全方向に移動可能なオムニホイル方式が全盛であり、もはやそれでなくては勝てないらしい。ランサーやマウスに応用してみたいものである。

後半は中島さんの制作途中のマウスを見せていただき、ただひたすら感心する。残念ながら今回も動くマウスは見られず。

話は変わるが、ロボットを作るとき、何処まで自分でやると自分で作ったロボットと言うことになるのだろう。昔、諸先輩方のホームページを見ていて、ここまで外注して作ったら、自分で作ったことにならないのでは疑問に思ったことがあった。しかし、最近は、外注して自分の意図した加工をしてもらうのも、技術なのだなと考えている。所詮趣味なのだから、自分の好きなことをするためには、何処まで自分で作るかなどは、どうでも良いことなのかも知れない、ハード作りが好きな人もいれば、ソフトだけやりたい人もいるのだろうから。だが、前にソフト外注というのも聞いたことがある。ハード外注が有りならば、ソフト外注も有りで良いのだろうが、私には違和感を感じる。

今回の棒茄子の買い物リスト筆頭のDVカメラを買う。カメラ、3脚(必需品)、アクセサリ、バッグ、込みで8万6千円、予算の10万円以内を軽くクリアし、満足。ロボット開発用兼WEB用と割り切っているので、普通のDVの画質で十分でありIEEEでパソコンに繋げてキャプチャさえ出来れば何でも良かったので、この値段で押さえられた。使ってみても満足であった。ためしキャプチャ映像。



第99回 アートワークは時間がかかる:2002/6/30(Sun)

プリント基板のアートワークは時間がかかると、今更ながら実感。この作業、2年前にYraiYari2000Fの基盤を作成して以来ですので、前にやった時の事はすっかり忘れていて、手探り状態でやっております。どうも納得行かずに、何回かやり直しているわけですが、少しづつコツが飲み込み始めております。今回の基盤は9cm×6cmに押さえ込もうとしているので、かなり密度が高いので、焼いたときに旨く焼かれるか、エッチングで旨く残ってくれるかと色々心配です。

こんなに時間がかかるのなら、穴あき基板に部品さして配線しても時間は変わらないかも知れませんが、面実装部品を使うので今回はそうも行かず、耐えながら地道に作業を続けています。出来てしまえば、半田付けの作業は楽になるので我慢するとします。



第98回 ROBOONEの話:2002/6/27(Thu)

ちょっとROBO-ONEのページを見てみた。既に申し込みは終わってしまってるようだ。
夢の人型ロボットのコンテストだというのに何故か強く引かれないのは何故だろうか。格闘技の本戦よりも階段登り下りの競技の方が面白そうに感じるのは私だけだろうか。階段の方が目指すべき目標がはっきりしていて、解りやすいから、面白そうに感じる。

サーボ使ったロボットが多くなるのは仕方がないとしても、競技の内容は階段上り下りのような競技がメインで格闘技はアトラクション程度の位置づけが良いのではないかと思う。個人的には重心規定をもっとがちがちにして、陸上競技のようなことをする人型ロボットが見てみたい。そう言う競技なら大枚はたいてもロボット作って参加したい。



第97回 2号マウスのねらい:2002/6/25(Tue)

ねらいと言うのも大げさなような気がしますが、2号マウスは以下の二つの実験をします。
1 マブチモーターでどこまで行けるのか。
2 タイヤを木で作る。
1に関して、使うマブチモーターは千石でモーターとかギヤの棚の下にジャンク品みたいにかごに入って1個200円ぐらいで売っている奴です。はじめ目にしたときはどうせどこのモーターか分からない奴だろうと思って手に取ってみるとマブチのシールに型番が書いてあったので試しに買ってきた奴です。マブチのホームページに一応同じ名前の別バージョンのデーターは載っていたのですが同じのは載っていなくて残念でした。ちなみに型番はRF370C26100です。マブチモーターでこのクラスは制御用モーターでは無いと思うので。サーボをかけるのはちょっと難しいと思いますが試してみます。出来れば儲けものですし、出来なければやっぱりという感じですか。

2番目の木のタイヤですが、東急ハンズで切ってもらいました。ハンズで切ると行っても糸鋸で切っているだけなのでがんばれば自分でも切れます。どうせゴム巻くから精度もそんなにいらないかなと思ってこれも実験的にやってみるつもりです。

両方とも比較的手に入りやすいか、加工しやすいものを選んでみました。ロボット作りは高くて手に入りにくい部品を買わなくちゃならないと言うのが敷居を高くしていると思うので、願望的にはこれで旨くいって欲しいと思っています。

それにDCモーター使う場合はどうしてもエンコーダーがいるのでモーターが安くてもエンコーダーが高いのがネックです。今回のネミコンのOMSと言うエンコーダーはロボコンマガジン館でも買えるとおもいます。



第96回 C言語のポインタの話:2002/6/24(Mon)

最近、ポインタのことがやっと判ってきてうれしいので、それについての話でもしてみようかと思います。

最近Basicを知っている人たちは少なくなってきているのだろうか?
私が大学に入った10年以上前にはすでに過去の言語となっていたので知らない人が多いのかもしれない。尤も、マイクロソフトのVisualBasicなるものがあるので、そこではまだ生きているのか。
その、Basicの関数にpeek、poke関数というのがある。処理系によっては無い場合もあるが、私が使っていたN88BASICにはあった。peekはアドレスを指定しメモリの値を読み出す関数、pokeは逆にメモリに値を書き出す関数だ。この2つの関数がBasicにおけるハードとの窓口だった。

C言語にはpeek、pokeと同じ機能を持った関数は無い。そもそも、C言語では関数は作るモノであり、有るモノではないみたいだ。
C言語はOSを記述するのにも使える言語だと聞いていた。しかしC言語で画面に文字を出すのにはどうするのだろうか?printf()があるが、printf()は与えられた関数であるので、C言語を使って書いたことにはならないと思う。前述のBasicならばどうやるか、pokeを使って該当するテキストVRAMのアドレスに書きたい文字のアスキーコードを書き出すと画面にその文字が現れる。
C言語に初めて向き合ったとき、メモリにアクセスする関数が無いのに、どうやってOSまで、この言語で書ききることができるのだろうと思った。これで、私の最初のC言語学習は行き詰まったのだ。
そのころやりたかったことは、C言語でフライトシミュレーションを作りたかったのだと記憶している。マシン語は大変だし、だったら今はやりのCかと思ったのだ。今考えると未だにDOS/V機のどこをどう叩けば画面に点を打てるのか知らないので、C言語でメモリアクセスする方法を知っていたとしても、道のりは長かったのだが・・・。

しかし、ようやく最近C言語にはメモリにアクセスする機能が有るということに気づいた。まあ言うまでもないことなのだが、ポインタだ。ポインタはC言語学習のはじめからよく解らないものの一つだった。「ポインタはメモリを示すもの。」という説明だった。それを見たときにすぐ前述の事項と結びつけば、すべては一つに繋がり一件落着だったのだがその時は気が付かなかったのだ。おかしなものだ、問題があって、答えが有ったのに、それが答えと気づかなかったのだ。おそらく私にはプログラムのセンスが無いのだろう。

ロボット等の組み込みプログラムはポインタを知らなければ絶対に書けないはずだが、ポインタを理解していなかった私にも何故か、書けたし、ロボットも動いた。これは、"3048.h"等のヘッダファイルがその部分を補っていたからだ。これらのヘッダを使えばマイコンのポートはふつうの変数と同様にして読み書きができたわけだ。
"3048.h"等のヘッダファイルは前半はたいてい構造体の定義がずらっと並んでいる。そして最後の方に構造体にアドレスを割り当てるためのマクロが書かれている。これがポインタの考えを理解していないと理解できない。知っていてもあの部分自分では書けないような気がする。改めて見たとき理解するのにずいぶん時間がかかった。

ポインタを理解していないのにロボットプログラムができる人は少ないかもしれないがいると思う。ここでがんばって勉強することをおすすめする。もやもやが晴れすっきりした気分になれる。組み込み機器のプログラムはポインタ理解のための最良の教材だと思う。その時にお薦めの本は林春比古氏の「改訂 新C言語入門 シニア編 ソフトバンク」が解りやすくておすすめである。


と言うわけで終わります。
マウスの方はセンサーをどう取り付けるか悩みつつ、地味に基盤のアートワークに励んでおります。



第95回 台車ほぼ完成:2002/6/23(Sun)

加工の工夫
2号マウス台車

2号マウスの台車ができあがった結局1日がかりだった。穴の位置とかの精度が気にくわなかったので昨日作った駆動機構部はボツにしてまた作り直した。

同じ位置に穴が来るように、アクリル板を重ねて4角に穴をあけてボルトナットで締めたものに対してけがいて、穴をあけてみることにした。これでほぼ同じ位置に穴が来てくれて、ヤスリ等での修正量が減少したのと、工作時間も短縮された。

ここらへんまで、かなり集中したのでつかれた。一休み。やはり週末だけじゃ無理か。



第94回 2号マウス進捗状況:2002/6/23(Sun)

エンコーダーとアダプタとピニオン
駆動機構部

宣言してしまったのでので、がんばっています。しかし、そんなにうまくいかないです(汗)(笑)(涙)

昼間は東急ハンズと大須で足りない部品を購入してきました。なるべく早く帰るつもりが、結局帰宅したのは5時頃だった。時間がない・・

1枚目の写真はエンコーダーとピニオンギアとそれらを繋ぐためのアダプタです。エンコーダーはお店で買えるエンコーダーの中では多分一番小さい、ネミコンのOMS-125と言う奴です。これでモーターの回転をとりたいのですが、モーターの軸に直に接続すると場所をとるので、80歯のスパーギアからピニオンギヤで取り出します。ところがエンコーダーの軸の太さはφ1.5にたいしてピニオンの穴はφ2.0合わないのです。仕方がないので、径が2mm内径1mmの真鍮のパイプを買ってきて、内径を1.5mmに拡幅にチャレンジしました。最初は1.5mmのドリルをピンバイスでかんで、少し穴をあけ、それからパイプをバイスではさんでボール盤で少しずつやりました。思っていたほど難しくなくて、あっさり成功してしまい、やれば出来るもんです。

2枚目の写真は片側だけ出来た駆動機構部です。モーターの回転はピニオンから80歯のスパーギアに伝わり、タイヤを回します。スパーの下のピニオンがエンコーダーの奴です。

今日は早く寝て、明日は朝から後半分を作る予定、午後から、制御部かな?



第93回 金土日で2号マウス作るぞ:2002/6/21(Fri)

主なマウスの部品達

宣言!今晩から日曜日の晩までに2号マウスを完成させる!と自分を追い込んでおこう。来週の中部支部定例会には持っていけるように。ステアリングマウスはユニバーサルジョイントの部品がまだ手に入らないのと、機構的な問題がまだクリアしていないので、2号マウスはDC差動式2輪マウスになる予定。逐次進捗状況を報告します。まずはSH2のポート割り当てから。(写真はDCマウス基本セット(笑))



第92回 いろいろやりたい今日この頃:2002/6/20(Thu)

自分でQFPのCPUが半田付けできることが判ると、にわかに自作CPU基盤が作りたくなる。サンハヤトのポジ感光基盤で0.5mmピッチで配線できるだろうか?WEB上ではやってられる方もいるようだ。

マウスにはSHを買ってあるが、H8Sも良いなと思っている。H8Sの場合、エンコーダーのアップダウンカウンターが同時に4個もつかえてRISCチップみたいな感じなので同じクロック数でもH8/300Hより早いみたい。前述の自作CPU基盤としてやってみたいのだがどうかな。

ますぐちさんの日記を見て、私も分割コンパイルというのをやってみたい。前々からスキルとしては持っていないとなと思っていたが、まあ巻物のようなファイルでも、見にくいけど、必要なことは出来たので、やっていなかった。メインのファイルは一目で流れだけが分かるように出来れば、見通しのよい開発が出来そうだ。集団で一個のプログラムを作るというのも面白そうだが、やること無いかな。

今年のランサーは出場者が多いかな?去年は約100名だった。じわりじわりとは増えている。そろそろエントリーしようかな。



第91回 AKI-H8/3048を3052に換装(最終回):2002/6/20(Thu)

AKI-H8/3052

ええと、書き込みも成功し、使えるようになりました。ライタに関してはちょっとばかり苦労させられました。今日は改めてまとめて見ようと思います。

3048と3052は大きさやピンのピッチは全く同じです。ですから、単純に3048をはがした後に、3052を載せることは出来ます。しかし、残念ながら、そのまま半田付けしただけでは、動作しません。両者では1番、10番、75番ピンの機能が異なっておりそれらについてのフォローが必要です。各ピンの比較を下の表に示します。
30483052ボードのピン
1番ピンVccVCLNC
10番ピンVPP(Not12V->12V)FWE(0V->5V)1-24,4-8
75番ピンMD2(5V->12V)MD2(5V->0V)4-9,5-6
FWE:FlashWriteEnable

  • 1番ピンは3Vで使用する場合はそのままでいい。5Vで使用する場合は、コンデンサを接続しGNDに接続します。
  • 10番ピンは3048では書き込み時12V印可でしたが、3052では書き込み許可を与える端子となり、通常時はLow、Flash書き込み時はHighに設定します。
  • 75番ピンはモード設定端子としては同じです。通常時は1から7までの各モードになるように電圧をかけます。デフォルトではモード7でHighに設定されています。Flash書き込み時は、3048ではこの端子にも12V印可でしたが、3052ではLowに落とさなければなりません。
これ以外のピンは同じです。(だと思います・・)
以上をAKI-H8/3048のボードで実現するには、色々方法があると思いますので工夫してみてください。1番ピンは前回の日記の方法で良いかと思います。10番、75番ピンも2回路のスイッチのOnOffの切り替えを使ってしまうのが楽そうです。私は手元にあった74AC14をわざわざ使いましたが、まったく必要ないです。あと、私はH8をはがすのも載せるのも60Wのぶっといコテでおこないまして、熱が心配だったのですが、全く問題なかった様です。

さあ、換装が終われば、後はプログラムを書き込む事になるのですが、ネットに存在する3052対応のライタはみついわさんのホームページOpen SH/H8 writerしか無いように思います。私の探し方が悪いのかも知れません。前回、何故かコンパイル出来なかったと言ったのは、これなんですが、いつもバイナリばっかりダウンロードしている未熟者には大変でした。残念ながら実行形式は現在ダウンロード出来ないようですので、同じページで手に入るソースを落としてきて、コンパイルします。出来なかったと言うよりは、コンパイルして、走らせてもエラーが出て停まう状況でした。原因は、799行目付近でrombufという配列宣言で大きさを小さくします。この大きさを3052のFlashROMの大きさと同じにすれば良いと思います。それでも私は大きめにとって0x60000に設定しました。これでコンパイル後も旨く走ってくれます。コンパイル前の注意事項のもう一つは、頭の3行ぐらいで、使用するOSを指定するのですが、自分の環境に合わして、変更してください。ちなみに実行はDOS窓等で

h8write -3052 hehehe.mot com2

です。最後のオプションは通信ポートの名前です。指定しないと、デフォルトでcom1です。あと、コンパイルの失敗は私のマシンのメモリが少ないのが原因では無いかと思います。コンパイルはGCCでもBCCでも巧くいきました。たぶんVC++でも大丈夫でしょう。
久々に人の書かれたソースをじっくり見て非常にためになりました。みついわさんのプログラムがなければ一から書かないとならなそうな感じであったので、感謝しております。

開発環境ですが、いままでの3048用に作ったMOTファイルがそのまま焼けますので、今までどおりでほとんど問題ない無いと思います。ただし、自分のプログラムでROMに書き込みをしようとか言うと、変わってくるので勉強しないと行けないです。

開発環境移行も、最近マイブームでデバッガが使える環境が欲しいと思いGCC環境構築にはまっておりました。GNUproのバイナリの環境も自分で環境が構築できるようになった頃、手に入ったのですが、なんとか、ソースをコンパイルしてというやり方でも構築することが出来ました。デバッガが使えないと泣きたい思いになったことが何度かあるので、これで一歩前進でしょうか。ただし、まだコンパイルが終わって、コンパイルが出来るような事を確認しただけなので、まだまだこれからです。

3052換装はいい感じです。これで12V作る必要も無くなるし、基盤周りがすっきりしてきそうです。まだ在庫のAKI-H8があるので、購入は秋月から代引き通販でまとめて買って、ちまちま換装していきますか。



第90回 失敗か?:2002/6/18(Tue)

ブートモードに切り替えても反応せず。失敗か?半田付けで熱が加わりすぎて壊れたか?短絡や接続不良は無いようだ、引き続き原因究明。

しばらくして・・・
ブートモード成功。
原因
ブートモードは10番ピンのHighの他に75番ピン(MD2,CN4-9)をLowにしなければなりませんでした。外部回路を増設して対処。

現在3052に書き込めるライタソフトを捜索中。一個見つけたけど、ダウンロードできませんでした。(ソースもあったが何故かコンパイル出来ず。)しかし、ここまで行けば、動いたも同然です。



第89回 AKI-H8/3048を3052に換装(その1):2002/6/18(Tue)

3048取り外し後
パターンカット部分
3052取り付け後

先週末から今日までまた東京だった。今回の目玉は秋月でH8/3052(25MHzクリスタル付)\1800を買ってきたこと。ちまたの噂で、AKI-H8の3048は3052と換装が出来ると、聞いていたので、それを試すつもりだった。秋月でお店の人にその話をしたら、非常に丁寧に教えてくれた。帰ってきてから、マニュアルをダウンロードし、3048と3052のピンを比べ、AKI-H8の回路図も参照しながら、以下のように要点をまとめた見た。

1 1番ピンはコンデンサー0.1uFを介しGNDに落とす。
2 10番ピンは通常時はGND、ブートモード時は5V。

AKI-H8では1番ピンはVccに繋がっているので、このままでは5Vがかかってしまうので、裏面の写真で示す部分のパターンをカットする。10番ピンはそのままだとC6が接続されているがとってしまう、プログラムモードの切り替えは、マイコンボードを取り付ける基盤側にスイッチ等で10番ピン(CN1-24)にかかる電圧が0Vと5Vが切り替わるような回路を設けることにする。C6を取り去った穴と、1番ピンの近くの穴を利用してコンデンサー0.1uFを取り付ける、これで1番ピンはコンデンサーを介してGNDに接続されることになる。

まずは3048を取り除かなければならない、こういう事をするのは初めてである。壊れたAKI-H8がちょうどあったのでそれを使う。手持ちの0.3mmのUEWと60Wの半田ゴテと半田を使いこのホームページを参考にして、3048を取り外す。一回はちょっと引っ張りすぎて、パターンをはがしてしまい失敗、どうせ壊れたAKI-H8はもう一個あったので、2回目は成功。はずした3048は足がぐちゃぐちゃになるので、再利用しようとは思わない方がいいと思う。ついでにクリスタル、C6もはずす。次はやはり同じホームページを参考に、3052を取り付け、ついで、0.1uFのコンデンサを付ける。

説明が後になってしまったが3052は書き込みが5Vでできる512KのフラッシュROMと8KのRAMが内蔵されていて、1番と10番以外のピンは3048と一緒、大きさも一緒である、I/Oのアドレスも全部は確認していないがほとんど一緒のようだ。クッロクは25MHzと高速である。フラッシュの書き込みは秋月付属のでは出来ないが、ネットに転がっているライタを使用すればよいとのこと。

今日はここまでにしよう、次回はプログラムの書き込み、実行が出来るかどうか確かめます。楽しみ。



第88回 ランサーもマウスもなかなか進まず:2002/6/15(Sat)

気持ちだけは焦るが、今日も何も進まず。今日は友達が訪ねてきてくれたので、サッカー観戦と名古屋グルメツアーで一日が終わった。

マウスの迷路は私のは5×5ですが、これだと結構楽しめます。最短距離、最速走行モードとかまで行くと物足りなくなるかも知れませんが、いまのところ探索モードまでしか行っていないので、必要最小限はクリアしてると思います。3×3はちょっと物足りなくなるのが早いかなと思っているのですがどうなんでしょう。



第87回 ランサーもSH2か?:2002/6/14(Fri)

PCBCADはとりあえずPCBEを使ってみることにしました。回路専用のお絵かきソフトレベルが今の私には合っているようですので。トラ技にも載っていたイーグルとかwinbordとか使ってみたいソフトは山のようにありますが、トラ技の付録だったlayoutも使ってみてもちんぷんかんぷんです。英文マニュアルを気合い入れて読まないとダメなのでくたびれました。

お絵かきPCBCADタイプのソフトでちょっと困るのは書いてる最中にどの部品のランドだったか判らなくなることがあります。回路図片手に、いきなりCADに向かって作業を進めると、たいていそうなります。そこで、紙に実体図もどきを書いてから作業を進めますが、それをソフトで出来れば便利です。市販のソフトはそれをやろうとして難しくなってるんだと思います。その中間ぐらいのソフトがあってほしいものです。

アルファプロジェクトのSH7046ボード用のマウスの設計をしてるんですが、このままランサーもSHにしてしまう方が、作業がかなり楽になりそうなので、SHになりそうな感じです。7046は外部にメモリ増設できないのでフラッシュの制限がちょっと気になります。一枚\8000ぐらいしますからね。メーカの記述は100回ですがH8で1000回以上大丈夫なので、そうそうダメにはならないと思います。今思うのは、バグがとれた部分は、ROMに焼いて置いて、バグがあったり、調整が必要なルーチンはRAMに転送して使うというようなやり方出来ないかなと思っています。



第86回 簡単なPCBCADは無いものか:2002/6/13(Thu)

初の面実装部品使用のために、久々にプリント基板の設計に取り組み始めたが、簡単なPCBCADは無いものでしょうか。現在はFREEのKBANと言うソフトを使っています。このソフト簡単で良いのですが。同じパターンを上下左右対称にしたかったりするときに、そのように反転したり回転したりする機能がないので、いちいち全部書き直さなければなりません。ソース公開されているので、自分で何とかするという手もありますが、面倒です。使いやすいのが合ったら教えてください。

それでも、ぼちぼち進んではいます。さすが面実装です。かなり小さいです。今はマウスのセンサー回路部分を作っているのですが、このままだとCPUもモータードライバもすべて基盤1枚(サンハヤトの10Kと同じサイズ)に乗りそうな勢いです。

ちなみにマウスは8月の後半に中部支部の新人戦があるそうなので、それに合わせて作ってます。ステアリングマウスは部品待ちのため、いつ出来るか判りませんので、試作1号機のCPUをSH2にした、基盤総入れ替えバージョンを制作中です。とにかく完走できるマウスに仕上げなければ。



第85回 万力でフラットケーブル圧着:2002/6/11(Tue)

yariyari2000
圧着端子とフラットケーブル
圧着端子拡大図
万力で圧着しているところ

YariYari2000はセンサーとセンサー基盤との接続をパソコンIDEのフラットケーブルを使ったのですが、ちょうど良い長さのが無くて、長さが余ってしまってみっともなかったのです。フラットケーブルへのコネクタの圧着というのは専用の工具がないと出来ないと、つい最近まで思っていて、自分で作ろうという発想が浮かばなかったもので、みっともないままにしておりました。最近本屋で立ち読みしていると、どうも万力で圧着は出来ると書かれております。では、やってみようと、先日、秋葉に行ったついでに千石で圧着コネクタを2個買ってきました。良く構造を見ると、一つ一つの端子がケーブルに食い込み、線を挟み込むような形をしています。ケーブルをこれと、押さえのプラスチックとで、挟み込み、万力にくわえさせて、閉めていきます。それだけでした。あっけなく、初の自作フラットケーブルのできあがりです。私の万力は加えるところに、ゴムが貼ってあるので、挟んだ物を壊しにくいのですが、やりすぎるとコネクタを壊すかも知れないので、注意がいるかも知れません。あと、1番ピンとケーブルの1番線が合うように確認してから、やった方がいいでしょう。最後に、テスタで短絡と導通チェックをして、おしまいです。



第84回 出張、買い物計画:2002/6/3(Mon)

今週から、来週の頭にかけて2回も東京を往復しないといけないので、ちょっと忙しく、ロボット活動休止中。

東京に行くとなると、買い物計画を立てねばならない。今回は千石でDC-DC用のLT1171CTを買う予定。また、秋月で表面実装用のコンデンサや、抵抗を買い込み表面実装にチャレンジしてみるつもり。

そろそろKBANでプリント基板を設計しなければ。



第83回 マウス速度フィードバックす:2002/5/31(Fri)

マウスは高速走行をあきらめ、速度をフィードバックしてみることにした。それでも100ms間隔で最高14パルスぐらいしか得られないので。分解能は最高速度の14分の1である。picのエンコーダ読みとり器のを4倍モードにすると更に4倍のパルスが得られるので、制御周期も長くしたことだし、そちらも変えて見るのも良いかも知れない。

分解能は非常にあらいものの、それなりに効果は有るようで左右のモーターの特性の差が出やすい、停止直前の低速時の挙動が少し改善されたような気がする。

速度サーボがかかっているので、位置制御で速度の事を考えて余計な処理を入れなくて済むようになったのでかなりコードがシンプルになった。

それでも停止時には謎の挙動をして、まっすぐ止まってくれない事がたまにあり、どきりとさせられる。



第82回 ショートカット効果はあるが:2002/5/29(Wed)

前回の続きであるが、結論から言うとやはり効果はあります。前提としてはショートカットを巧くできることです。

シミュレーションをやってみたので。その設定をまずお話ししましょう。
まずランサーは最高速度が4m/s、ライントレースをした時の最高旋回速度が1.5m/sと仮定してみました。速度コントローラーはゲインをチューニングして最高の性能が出せるように設定しました。そして、ショートカットの場合は片側だけで直線の6m地点で仮想の半円で繋がっていると仮定します。

まずはショートカット無しで走らせた場合、100秒間で15周出来ることになりました。

ショートカット有りの場合ですが、ライン無しに旋回を巧くするために減速の必要が有るであろうと考え、1.2m/sまで減速するとしました。この場合は16周出来ることになりました。単純計算で1周19.14mから15.14mになるので、周回数はその比である1.26倍であれば15周の1.26倍は約19周なのですがやはりそうはいかず。ショートカットしない場合の+1周増にとどまります。

また、仮にショートカット時減速しなくても良い場合は、17.5周出来ることになりました。

若干私の予想とはずれて、ショートカットは効果があります。シミュレーションのパラメータ設定が実際に走らせて調整していないので、機体の速度に関する応答がもっと遅い場合はショートカットした場合でも効果無しはあり得ます。しかし、まあ効果有りと思って間違いないでしょう。

そうなるとショートカットを確実にしかも速くできる事が出来れば良いことになります。ショートカットの成功確率は100%と言い切れないとかなり不安です。成功確率など実際は判らないわけですが、仮にショートカットの成功確率が98%だとして、16周出来たとすると、16回ショートカットします。そうすると全体の成功確率は0.98の16乗×100で72%まで下がります。不安ですね。

さて、実際に走らせて自分のマシンの性能を確かめないと、どうするかは決められないと思いますが。コースを実際に走らせない限りショートカットは実現不可能に近い技術です。

ああ、どうしよう・・・



第81回 ランサーショートカットについて:2002/5/28(Tue)

ついに規定集が出たので。いよいよ制作にかからないとなあ、と思いながら。一番考えてるのは。ショートカットどうしようかなと言うこと。

ショートカットというのは2回と3回の優勝者の193さんがやっていた技だが、A標的が10点と点数が低いので無視して、その前で回って時間を稼ごうという戦術だ
4回目の時に思ったのは、多分ショートカットするために減速するのは、十分な加速をし終わる前に減速に入らなければならない。そして、コースアウトの危険を回避するためにラインをトレースする速度よりも遅い速度で旋回しなければならないのでは無いかと考えた。結果としてタイムが遅くなるか、フル加速、考えられる最高スピードでの旋回でショートカットしない場合と同じぐらいになるか、おそらく遅くなりしかもリスクが高いと判断した。マシンの速度応答がすばらしく良く、目隠し旋回を確実に高速に出来る場合は別だが、以上の理由で。ショートカットしないことに決めた。

第6回はシミュレーションも作ったことだし、それについて再考してみようと思う。次あたりに結果を報告しましょう。



第80回 マイクロマウス中部支部例会参加す:2002/5/26(Sun)

本日は名古屋の工学院専門学校で開かれた、マイクロマウス中部支部の例会に参加してきた。事前にIWAIさんと連絡をとって頂いたので、すんなり入れた。今日のお題はアナログセンサーと言うことで、LEDやセンサーの違いによる、距離と出力の関係の違いなどを見せていただいた。森永さんの回路も話題に上がり、やっとあの回路の動作が完全に理解できたような気がする。「先達はあらまほしきものなり」と、徒然草で兼好法師がいっているが、やはりくわしい人の話を聞けるというのはすばらしいことである。

みなさんのマウスも数点拝見しましたが、DC二輪マウスには感心させられた。作りが良くて自分には真似できそうにない。しかし、人のものを見るのは作れないものの、ここはこんな風にやれば良いのかと非常に参考になる
。目指すべきところが判るような気がする。

また、一人でやってるときにいつもつきまとうのは、部品の入手の難しさですが、このような会に出ることにより情報交換が出来、入手もしやすくなりそうだ。雑談の中にも参考になる話がちりばめられていて、耳がはなせない。

メンバーにあまり若い人がいないようだ、私もすんなり入ることが出来たので、もっと若い人も入ってくると盛り上がるのでは無いだろうか。

最後に、ランサー委員長の森さんから今年のルールについて直接伺った。まだ、非公式情報で、変更の可能性もありホームページでご紹介するのは気が引けるので、聞きたい方は連絡下さい。



第79回 久々にマウス動かす:2002/5/26(Sun)

明日中部支部の定例会に初参加するのでこうへいマウス試作1号を久々に動かしてみた。やっぱり難しい。安定してゴールまでたどり着かない。このマウスの失敗はタイヤの速度をフィードバックして制御できないところだ。速度を制御できていないので、左右の速度差が問題になってくる。それが原因でまっすぐ止まれなかったりするので、次の動作にも影響してしまう。まあ、難しいがもう少しがんばってみるつもりだ。



第78回 昇圧型DC-DCその3:2002/5/25(Sat)

まずは前回の日記の訂正から。
前回昇圧型DC-DCコンバーターの状態を3つに分けましたがその名前を訂正します。状態1と状態2は状態2が状態1の特殊な場合であるとして、状態1を状態1−1、状態2を状態1−2とします。従って状態3が状態2に変わります。既に前回の日記もこのように変更されております。

さて、昇圧型DC-DCコンバーターのシミュレーションが一応終わりました。運動解析同様順番にそのやり方を紹介しようと思いましたが、時間がかかりそうなので本日は結果だけを、紹介しようと思います。

基準のグラフ
図1 昇圧回路出力波形(基準図)


上の図1がデューティ50%周波数10KHzでスイッチングしたときの前回示した、昇圧回路の出力です。この図の時の設定を基準にして、コイルとコンデンサの値を変えていこうと思います。

コンデンサ10分の1
図2 コンデンサの容量を小さくした場合


図2はコンデンサの容量を10分の1にしたものです。基準の図に比べて、リップルが大きくなり、立ち上がりが早くなったのが判ります。

インダクタンス10分の1
図3 インダクタンスを小さくした場合


図3はインダクタンスを10分の1にした場合です。立ち上がりがだいぶ遅くなり、若干リップルも大きくなっているようです。また定常状態での電圧も少し大きいです。

コイルとコンデンサを大きくすることの影響を大体まとめると
定常状態に及ぼす影響
コイル:電圧が下がる。
コンデンサ:リップルが小さくなる
過渡応答に及ぼす影響
コイル:立ち上がりが早くなる。
コンデンサ:立ち上がりが遅くなる。

シミュレーションの結果は以上の様にまとめられるかと思います。

上で過渡応答、定常状態という言葉を使いましたが、マクロ的には使っても差し障りないと思いますが、ミクロ的には、このDC-DCコンバーターは前回分類した各状態の過渡応答の最中にスイッチで無理矢理状態を変えられていると言う感じで、常に過渡状態と言えるかと思います。その様子が分かる基準の図の電圧波形の一部を拡大したものを図4に示します。

インダクタンス10分の1
図4 電圧波形拡大図


例によって微分方程式をたて、今回は数値計算は4次のルンゲクッタを使って解いてみました。最近新たな楽しみ発見と言った感じです。
今回の悩みはダイオードの取り扱でした。単純にLCR回路と見ると電流は0Aを中心に振動するので、負の方向にも流れようとします。ダイオードが有るとそのときにダイオードがOFFになることは判るのですが。じゃあいったいいつ回復するのか?悩みどころでした。ダイオードの両端の電位差がアノード側がカソード側より高くなれば電流は流れると判ってはいたのですが、昇圧回路ですので、回路の出力側はカソードです。電源電圧より高いわけです。で何となく、これでは一生ダイオードはOFFのままか(???)な感じでしたが、計算するとちゃんとアノード側の電位が高くなるのが解ります。

少しコイルが判ってきました。それとともに教科書に出てくる逆起電力と言う言葉が気にくわなくなって参りました。それについてとシミュレーション方法の説明は次回と言うことにします。



第77回 昇圧型DC-DCその2:2002/5/23(Thu)

昇圧型DC-DCその2です。
素直にSPICEで一発シミュレーションすれば早いのですが、どうもそれでは納得がいかなくて、まだもがいております。一応、考えの道筋をシンプルにしてからやっています。

まず、前回の日記で示した回路は3つの状態があると考えます。それは以下の図で表された状態です。


↑これ(以降状態1−1)はスイッチがOFFでダイオードがONの状態です。

↑これ(以降状態1−2)はスイッチがOFFでダイオードもOFFの状態です。状態1−1の状態をしばらく続けると、コイルの電流が逆になります。そうなるとダイオードがOFFしてしまいますので、状態1−2になります。ただし、実際にスイッチングしている状態でこの状態1−2になるかどうかは、まだ検討中。

↑これ(以降状態2)はスイッチをONにした状態。このときはダイオードに関しては、アノードが接地されてしまっているので、完全にOFFです。

以上の3状態について、それぞれ、微分方程式を立てて、ダイオードに流れる電流の向きとスイッチの状態を観測しながら、どの状態にいるかを判断して計算する方程式を切り替えていきます。その際に、切り替える直前の状態から、新たな状態での初期値を考慮し、その値から計算を始めます。現在、その初期値について考察中!



第76回 またまた昇圧型DC/DCコンバーター:2002/5/20(Mon)

未だに昇圧回路を研究中であります。先日本屋で座り読みをして、昇圧回路の方程式関係をノートに写してきてしまいました。欲しいのは2ページ分だったので、買うにはちょっともったいなかったもので。

これが、ちゃんとコイルを使った昇圧型のDC/DCコンバーターの基本形だそうです。入力と出力が絶縁されていないタイプです。トランスなどを使うと絶縁型になるらしい。で、スイッチの部分をばたばたさせると、入力電圧Viに対して出力Voが出るそうです。VoはViとスイッチのONじかんTonとToffによって決まり次式で与えられるそうです。
・・・(1)

また、負荷に流れる電流がIoc以下だと不連続モードと呼ばれる状態になり、電圧が(1)式にならなくなるらしく、次式で示される電流以上を流さないとならないらしいです。
・・・(2)

と言うことらしいのですが、まだ完全に理解しておりません。間違いがあるかも知れません。どうも、コイルという部品を使ったことが無くて、今まで躊躇いていたのですが、電流を大きめにとりたい場合は、やはりコイルを使った昇圧回路なのかなと思い(これも間違いかも知れませんが)この回路を実験してみるつもりです。実験はまた今度。



第75回 マウスフロントアクスル:2002/5/18(Sat)

マウスフロントアクスル

制作するに当たって、私はあまり細かい図面を書かない、書いても工作精度がでないので結局、その場その場で、調整しないとならないからだ。それでも部品の配置の概略は大きさを測った上で決めている、切ったり、削ったりしたものの、載るスペースが無いと言うのでは話にならない。

後方にあるスパー歯車がモーターのピニオンギアと噛んでドライブシャフトを回す。ギア比は40:7

話は変わってランサーの話、毎年円柱をどうやって倒すか悩むのだが、今年は前から暖めていたアイデア子機(オプション?)で倒そうと思う。どんなのになるかは、会場でのお楽しみ。



第74回 マウスシャーシ制作:2002/5/15(Wed)

マウスシャーシ

XKM2(こうへいマウス試作2号)のシャーシを作りました。一応4輪を取り付けてみて、手で押してみましたが、小さく旋回してくれます。しかし、この状態だと左右の両輪はフリーなのでよく見てると、ちゃんと外側の車輪のほうが内側より余計に回っており、やはり心配です。

すこしコンパクトにまとめすぎたかなと思ってます。確実に重心が高くなりそうです。

シャーシの材料は2mmの透明アクリル板ですが、写真はまだ保護シートを貼った状態です。はがしたらかっこいいに違いない。(楽しみ)

今日は引っ越し以来、はじめてボール盤を箱からだし使いました。これを持ってくるか、置いていくかで、引っ越しの時は悩みましたが。正解でした。「ロボット工作、なには無くとも、ボール盤」



第73回 結局元に戻る(泣):2002/5/15(Wed)

ユニバーサルシャフトにマイタ歯車をつけた。

2輪モデルは断念しました。短い夢でした。理由を簡単に説明すると、自転車バイクはタイヤの向きを変えるために軸は、タイヤを正面から見たとき、その中心にある。それに対し4輪車のばあい、左右どちらかにずれている。したがって、それを直さなければならないが、現状では無理。

残念、しかし、それを考えて、部品の配置などを決定してる途中で、車幅を、今まで考えていたものより、最大で2cmぐらいは短くできることに気づきました。あまり幅を小さくしても、重心とのかねあいで転倒することもあり得るので注意したいのですが、小さくできることは良いことです。



第72回 補助輪付きチャリンコ:2002/5/14(Tue)

「そおか、2輪車なら、デフいらないじゃん、駆動系を2輪車にして、補助輪でささえれば良いんだ。」とさっき風呂場で髭そってたら閃きました。と、どうじにますぐちさんの日記の6輪車の意味を悟ったのでした。ひらめきの経緯は、はじめマウスのシミュレーションについて考えてました。マウスのモデルは、この日記が今の形式になったときの最初のネタの2輪モデルを使うことを考えたとき。「2輪なら外輪差も内輪差もなくて楽だよな」と思ったときに閃いたのでした。「なったああぁぁ」と思わず、天下布譜が確実になったときの信長のような気持ちでした。(大げさだって。)

問題の解けたときの喜びが工学やっててよかったなあ、とつくづく思う瞬間です。今日は奮発して発泡酒ではなくビールを寝る前に飲む予定です。



第71回 マイタ歯車:2002/5/11(Sat)

シャフトドライブ機構
マイタ歯車

昼間の日記で書いたとおり、東急ハンズ名古屋店に行って来た。連休の次の土曜日と言うことか、町はいつもより人がいないようであった。ハンズについて早速、図面を見せ、加工できるかどうか聞いてみた。ほとんど木工用の器具しかおいてないので難しいとのお答え。半ば予想していたが、工房には金属加工用の工具がおいていないと言うのは少し意外だった。

結局センサーホルダーは内径5mmの真鍮パイプをベースのアルミアングルにエポキシ接着剤でつけたもので作ることにした。フォトトラの径が少し小さいが、紙かなんかを巻いた後に入れればいいだろう。

シャフトドライブ用の歯車も買ってきた。あるだろうと思っていた、モーターからドライブシャフトに動力を伝達するための平歯車はなく、無いだろうと思っていた傘歯車はあった。傘歯車は本当の名前はマイタと言うらしい。これが、一組2個で2190円で合計2組買ったから4380円もうマイタって感じ。(寒ぶ)また、大人買いな感じだ。お金をかけない工夫も大事だと思うのだが、なかなか巧くいかない。反省。あと、シャフト用の3mmステンレス棒も買った。

歯車は写真のように組み合わせます。真ん中のシャフトがドライブシャフトで、そこに平歯車が入ってモーターからの動力を伝達し、マイタ歯車で、前後のタイヤのシャフトに伝えます。2号マウスのホイールベースは実際写真と同じぐらいになる予定(願望)。



第70回 マウスセンサーホルダー:2002/5/11(Sat)

センサーホルダー図面
センサーホルダー図面

よく見かける、マウスのセンサーホルダーを作ろうと思い、図面を書いてみた。これから東急ハンズに行って、材料を物色してくる。図面も持っていって、加工してもらえるか聞いてみる。でも、けっこう高く付きそうだ。一応予備も含めて、10個ぐらい作りたい。自分の家で思いっきり工作が出来れば、作れなくもないのだが・・・

センサーの数を極力少なくしたいと思うのだが、斜め正面を向くセンサがー後ろと前に2個づつの合計4個で足りないだろうか?

昨日の晩、4WDSマウスの概略の図面を紙に書いてみた、思ったより簡単に作れそうな気がしてきた。この前も書いたとおり、シャフトドライブで前後のタイヤに駆動力を伝達し、舵を切る部分は、先日紹介したラジコンキットの入っている、ユニバーサルジョイントを活用する。使用する歯車も調達するめど(教育歯車、RSのカタログ)が付いたので、実現の可能性が上がってきた。それも含めてこれからハンズに行って来ます。



第69回 ステアリング研究のためミニラジコン買う:2002/5/9(Thu)

HPIマイクロRS4

こう言うのも、最近よく言う、大人買いのの一つではないかと思うのだが、HPIと言うラジコンメーカーが出しているマイクロRS4と言うラジコンカーのキットを買ってきた。昨日も書いた、ステアリングマウスの研究のためだ。

この車はホイールベース140mm、幅100mmの大きさだがちゃんと4WDである。駆動輪はステアしないが、前輪はちゃんとステアする。前輪の機構を頂こうというわけだ。前輪の機構をもう一つ用意すれば4WDSのできあがりである。問題はどうやって駆動するかだ。元々はベルトドライブだが、後輪にギヤがあってそこからベルトで伝達される形式。後輪も前輪と同じにしてしまうとモーターの取り付け部が無くなる。どこかにギヤボックスをつけてベルトで伝達すればいいのだが、適当な長さのベルトがない。そのまま、ベルトで回せると、デフも生かせるので理想的なのだが。

どうしようもないときは、傘歯車を利用したシャフトドライブにするつもり、その場合は、スペースの関係上デフを取り除かなければならない。



第68回 寝る前にマウスについて考える:2002/5/9(Thu)

早くも3輪車マウスは没になりそうな気配。それでも、ステアリングマウスを作りたいなとは思っている。ステアリングにすると、4つのタイヤがどの方向にでも動くような機構でも無い限り、袋小路に入ったときはその場で旋回して逆に戻ることが難しいと思う。だとすれば、バックして戻ることになる、その場合、前後が機能的に対象になっていた方が何かと便利だと思う。と言うことは4WDSが理想的だ。やはり4WDSか、これとはなかなか離れられないらしい。すでに、モデルはあるがそれを自分で、小さく作るのは難しい。一番やっかいだと思われるのは、タイヤの動力伝達軸が、タイヤのステアとともに曲がらなければならない。ラジコンカーの場合は球面になったジョイントで接続されている。ヤスリで棒を削っているところを想像したが、飛騨の職人さんでもないし無理があるだろう。幸い、最近はミニラジコンブームであるので、その部分はラジコン屋で既製品を買ってきて使う予定。

少なくとも直径16cmの円を描けないと迷路を探索することは出来ないので、どのようなセッティングにすれば良いのかこれから研究しなければならない。この前の3輪車では、かなりつらかったようだ。ホイールベースをかなり縮めてみたが、小さく旋回しようと思って、舵を切っても、舵が滑ってまっすぐ進むような感じだった。



第67回 ランサーの運動その5(最終回):2002/5/7(Tue)

さて、いよいよ、シミュレーションの説明と実際の計算結果の説明に入ろうと思います。

「シミュレーション」=「微分方程式を解く」と言うことには、二つのアプローチがあります。一つは解析的に解きます。非常に簡単な言い方をすれば、積分をして、初期値に基づき、積分定数を決めていくやり方です。もう一つは数値的に解きます。微分方程式から直接微分値を計算して求めたい関数の値を求めるやり方です。数値的に解くやり方は関数の形は判りませんが、その関数が実際に計算された場合にでる値は知ることが出来ます。

数値計算で微分方程式を解くアプローチにも様々なものがあり、もっとも簡単なのがオイラー法です。また、有名なところでルンゲ・クッタ法というのがあります。他にも沢山あります。オイラー法が説明も簡単ですので今回はそちらを採用します。ルンゲ・クッタの方は説明がやや難しいのですが、結果だけ使うのならそれほど難しくありませんので、後で紹介するプログラムをちょっと(たぶん5行ぐらい)改造すれば出来ます。いろいろなやり方の違いは、如何に誤差を少なくするかの工夫によります。数値計算は本来は連続する関数を、離散的に数値を当てはめて解いていくために、必ず真の値と誤差が生じます、その誤差を少なくするために、いろいろな方法があるわけです。

さて、オイラー法ですが、式(11)のような、微分方程式があるとします。
・・・(11)

これは、式(6)、(7)と同じ形ですね。これは、時刻tにおける、関数yの接線の傾きと見ることができます。試しに、適当な曲線を書いて、接線を引いてみてください。さらに、その接線もtの関数と見て、接線上で時刻tから適当な時間Δtたった場所に点を打ってみてください。次に、Δtの値をどんどん小さくしてみてください、接線が曲線に接する所に近づいていくことが判ります。鉛筆などで書いた線では、接線と曲線は一部で重なっているように書かれているのでは無いでしょうか。オイラー法というのはこの、接線の傾きと、Δtを微少にしたとき、ほぼ元の曲線の上にあると言っても良いことを利用します。従って、時刻t+Δtの関数y(t+Δt)の値は時刻tの時のy(t)の値と、時刻tでの関数yの接線の傾きf(x,u,t)を使って式(12)で表されます。この説明でも判りますが、数値計算による方法はあくまで本当の値の近似値だと言うことです。
・・・(12)

それでは、それでは、実際に計算を行ってみましょう、Cコンパイラの準備は良いでしょうか?ボーランドC++でなくても、たぶんどんなCコンパイラでもいけるはずです。また、計算結果はテキストファイルにしますので、エクセルがある方は、エクセルの取り込んでも良いですし、無い方は、前にも説明しましたがgnuplot等(使い方はここ)を準備してください。

まずはこのCのソースファイルをダウンロードしてください(前回のおまけとは少し違っています。)。と言っても、拡張子をTXTにしているのでブラウザに表示されてしまうと思います。表示されたら、コピーアンドペーストでテキストエディタに張り込んで(ブラウザの保存で保存しても良い)ファイル名「lancer_c.c」で保存してください。保存するディレクトリはわかりやすくて、だどり着きやすいところが良いです。何故なら、ここから先は全部DOS窓で作業するからです。コンパイラもgnuplotもパスが通ってるでしょうか?確認したならば、DOS窓を開き、先ほどのソースファイルがあるディレクトリまで行き

bcc32 lancer_c.c

と打ち込み、リターン一発でコンパイル完了です。違うコンパイラの方は適宜やってください。次に

lancer > test.txt

と打ち込みリターンで計算終了です。計算結果は「test.txt」と言う何の捻りもないファイル名のテキストファイルに落とされます。試しにテキストファイルを開いてみて下さい。次にgnuplotを使います。gnuplotにパスが通っていれば、DOS窓から

wgnuplot

で起動します。DOS窓から起動すると作業ディレクトリが、DOS窓と同じ所に来てるので便利です。違う場合は、gnuplotのコマンドラインで

cd 'c:\xxxx\yyyy'

とxxxx、yyyy等を自分の環境に合わせて適宜変えて作業ディレクトリを移動して下さい。この際、シングルコーテーションで囲むことに注意して下さい。つづいて、このファイルを落として下さい、Cのソース同様、拡張子を「txt」に変えているので、ファイル名を「plotsim.plt」に変更して同じ作業ディレクトリに保存して下さい、このファイルはgnuplotのバッチファイルのようなものです。さて、準備できたらgnuplotのコマンドラインで

load "plotsim.plt"

として、リターンするとグラフが書き上がるはずです。このgnuplotの環境を用意してしまうと、非常に楽です。計算結果を同じファイル名に落とせば、gnuplotのコマンドラインで先ほどと同じコマンドを使えばグラフを書き換えてくれます。カーソルキーでヒストリも呼び出せるので、更に楽です。pltファイルも中身を見れば大体どういう風に書けばいいのか想像は付くと思います。

さて、グラフを見ましょう。赤い線が速度の変化です。緑の線は速度の目標値を表しています。そして、青い線は距離です。距離については、グラフの他の線とのスケールを合わせるために2分の1にしています。速度は最初0m/sから立ち上がって、目標値からオーバーシュートして、目標値に収束しないうちに、目標値が低い値に変わるのが判ると思います。目標値が低くなった後の追随性は結構良いようです。

【問題】なぜ大きい目標値では速度の追随性が悪いのでしょう?

この速度の増減については、直線での高速走行とカーブでの減速走行に対応しています。ランサー競技は直線を如何に速くそして、カーブも如何に速く回れるか、なのですが、カーブでの速度は限界があります。従ってカーブ手前では減速しなければなりません。そこで、一番のポイントは速度の加減のタイミングはどこかと言うことです。早すぎる減速はタイムロスですし、遅すぎるとコースアウトの危険があります。そこにこのシミュレーションの最大の意味があります。青い線は距離を表していますが、のこぎり上になっているのが判ると思います。これは、直線の最初が0mでカーブを曲がりきったところで、リセットして0に戻るようになっています。つまり、時間とランサーの移動距離の関係の半周分を表しています。カーブが始まるのはいつか?答えは8mの所ですね、この図では距離は半分になっていますので、青い線が4mと交わるところを下に降りていって見て下さい。速度はほぼ低速の目標値まで減速しきっている事が判ります。減速するのが遅いと、まだ十分に減速しきらないうちにカーブが始まります。

このプログラムでは、減速ポイントを0mから何m地点で行うかを設定できます。また、高速走行時の目標値、低速走行時の目標値も変えられます。従って自分のマシンの特性に合わせてそれらを変化させて、シミュレーションを行い、最適な減速位置を見つけだして下さい。シミュレーション時間を変えれば100秒後の結果も分かります。結果の出力には他の値も含まれていますので、それを見てみるのも良いでしょう。

比例・積分のゲインをこの例では5.0と6.0としていますが、これを変えるとどうなるかも面白いです。制御屋の私としては是非色々変えて見てもらいたいところです。ただし、ここは、現実の実装を考えたときは、現実に合わせて変えなければなりません。ヒントはマイコンでは整数を使うことの方が多いですよね?

とは言うものの所詮シミュレーションですので現実とはかなり違いがあるとは思いますが、実験の結果とすりあわせてパラメーターを調整することにより、かなり合ってくるのではと考えています。そうすれば、実際に走らせる回数をだいぶ減らせるのではないでしょうか?

さて、賢明なみなさんは、このシミュレーションは直線走行しか模擬していないことに気づかれたと思います。そのとおりです。ただ、考慮する必要はありますが、それほど違いは無いと思っています。カーブの影響はタイヤがカーブするための向心力を発生するため今まで100%前進に使われた力が何%か減少すると言うことです。影響は減速時の速度の過渡応答に表れると思いますが、それについては、実験の結果をみて、トルクの項に係数をかけて対処しようと考えています。

最高どのくらいでカーブを曲がれるのか、気になるところでは無いでしょうか?実はそれを判る方法があります。当たらずとも遠からずと言った結果がでるのですが。この、連載の感想などが頂けたら、お教えしましょう。でも、あんまし期待してはいけません。

プログラムは一応コメントをつけておりますので何とか判るかと思いますが、判らなければご質問下さい。

いやあ、何とか、やっと終わりました。やり始めたら、すごいことになってしまいましたね。シミュレーションのためにGW結構潰しました。いやでも、勉強になりましたよ。理論値に近づけるために何をしなければならないのかが判ったような気がします。




第66回 マウス2号機:2002/5/6(Mon)

マウス2号機側面
マウス2号機下面

久々にマウスの話題、1号機がエンコーダー関係でトラブッて、これ以上良くもなりそうにないので、新しいものを作ることにします。1号機のおかげでマウスのことがちょっぴり判ったので、その経験は生かしていけると思います。

2号機はかなり違うコンセプトで作ろうと思います。駆動系は1号と同じDC、ステアリング方式の三輪車にする予定です。写真は2号機の試作品ですね。ほとんど田宮の工作シリーズの部品で出来てます。ステアリングサーボがラジコン用ですね。マイコンはSH2を使用する予定です。センサーは可視光センサーです。

しかし、ランサーとマウス両方ともやっていけるか、ちと、心配です。



第65回 ランサーの運動その4:2002/5/6(Mon)

シミュレーションの方がだいぶ、らしい感じになってきたので、そろそろ、ランサーの運動の続きをやりたいと思います。

前回は、変数が4つあるのに、式は3本しかなくおかしいと、悩んだところで終わりました。この問題の答えは、タイヤの回転ωとランサーの速度vは同じもの(等価)であると考えれば、解決することが出来ます。具体的には角速度と速度の変換は角速度に半径をかけた式(5)であたえられます。
・・・(5)

これで、すべての式を立て終わったことになりますが、あとあと、使いやすいように若干の式の整理をします。この考察で見たいのは速度vの応答なのですが、式の整理が煩雑になるので、式(1)、(2)のωをそのまま残し、式(3)のvに式(5)を代入してωの式に変えてしまいます。同じく、式(3)のfTLを式(4)を用いてTLに変換します。さらに式(3)をTLについて、解いて、式(2)に代入します。この操作により、電流iと角速度ωの2本の微分方程式となります。後々使いやすいように、di/dt=、dω/dt=の形まで整理した式を式(6)、式(7)として示します。
・・・(6)
・・・(7)

すぐにでもシミュレーションをやりたいところですが、この時点では、式の中のパラメーターが判っていません。そこで、測定できるものは測定し、出来ないものは推定しましょう。定規や秤で測れば分かる長さや質量と言ったものは簡単ですが、モーターに関わるパラメーターや慣性モーメント、転がり抵抗、粘性抵抗係数などは直接測ることが出来ないため簡単には求められません。参考までに各パラメータについて私がやったアプローチをまとめてみます。

式(6)と式(7)をみます。ランサーを地面からあげ、タイヤが空中で空回りする状態にしたとします。これによって、転がり抵抗と空気抵抗の影響の項を無視できます。モーターに一定電圧を加えると、しばらくするとほぼ同じ回転で回るようになります。これを、定常状態と呼びます。定常状態は式で言えば、微分値が0になると言うことです。これは、微分というものが変化の割合を表すと言うことから、定常状態では、電流、角速度等が一定で変化の割合が0であると言うことです。式(6)、式(7)では左辺を0とおいて整理すると。式(8)、式(9)が得られます。これらの式は非常に重要な式です。
・・・(8)
・・・(9)

式(8)のuはモーターに与える電圧です。私は定電圧装置を持っていないので電池で代用しました。電池の場合、電池自身の内部抵抗があるので、無負荷時の電圧と電流が流れたときの電圧は違ってくることに注意しなければなりません。しかも、負荷接続時の電圧は電圧計を接続しても測ることは出来ません。しかし、充電したばかりの電池ならば数アンペアの電流ではそれほど変わらないとして、無負荷時の電圧を使います。

次に抵抗Rですが、DCモーターの参考書の場合、モーターコイルの抵抗としているものが多いようですが、実際は回路全体の抵抗です。これも実際の値はなかなか測ることが出来ません。そこで、後から、他の判った値をこの式に代入して求めることにします。

電流iは電流計を用いて測ることが出来ます。

逆起電力定数Keですが、これはこの前の日記で示した方法により