« 2007年8月 | トップページ

2007/09/17

センサモデルの基本検討。

今日は敬老の日、しかし自分の業界では普通に出勤日。”完全週休二日”、完全なので三日はない(こともないか)。

シミュレーション課題の一つになっているセンサモデル、基本的なところから少しだけExcelで検討。
070917_sens_01 センサ素子の出力を模擬するためには、センサとラインの位置関係を押さえる必要がある。直線・クランク・レーンチェンジ要素については、シミュレーションの論理座標でこれらを垂直/水平方向に配置すれば、個々のセンサ素子とラインの位置関係、重なり具合はそれほど難なく求められるが、カーブ区間はどうするかというのが今日のお題。
とはいってもあまり深く考えずに、単純な方法を試行。前後2列の"センサ素子ライン"を延長し、カーブラインと”交わるライン”を求める。交点がないなら全くカーブに乗っていない。図のように”交わるライン”の範囲からセンサが完全に外れていることも判別可能。

070917_sens_02 通常トレース時には左図のようになる。個々のセンサ素子について"視野範囲"を定義し、

  • 視野範囲が黒/灰/白のラインに完全に乗っている→静的A/D値(+ノイズ要素/DC変化要素?)
  • 視野範囲が色境界に乗っている→境界からのズレ量に比例し変化する出力A/D値

を模擬する。コースモデルを数式で定義する方法をベースにしているが、個々のセンサ素子が別の数式を参照する状況が生じる点に注意しなければ。>自分

図のパラメータ表の下に出ている二つの数値は、それぞれ青線とセンターラインの交わる長さ。直線コースにセンサアームが真っ直ぐ乗った状態で代表値40ミリ、交わる角度が変われば必ず40ミリより長くなる。これはSSMセンサの取り付け間隔を狭くした状況と同じ効果をもたらし、差分出力の傾きがきつくなる、つまり変位量に対するゲインが大きくなる。この状況を想定し、SSMセンサの取り付け間隔は40ミリよりも広く設定。これまでは40.6~42くらいの範囲で試してきた。

先日”後追い検証”したUS/OS判別レポートでは前列にSSMセンサ、後列に姿勢センサが配置されていたが、横須賀で見たセンサは前後逆である、と(勝手に)推測している。前列側はかなり狭い間隔&後列側はSSMセンサらしい間隔に見えたこと、前後の位置オフセットがあれば判別可能であること、ディジタル的に見るセンサがトレースセンサより前方に出ているレイアウトの方が都合が良い(Type.Sもこのレイアウト)と思われること、などが理由。
上の図はこの推測(憶測)の下に数値を設定してみたが、「前が、後ろが」と切り離して考えず、統合的に利用できるセンサ構成と捉えた方が有効に利用できそうだ。

| | コメント (17)

2007/09/15

シミュレータ計画。

日立インターメディックスさんで、「アナログセンサー基板 Type.S」なる新型センサ基板の販売が始まっていた。マニュアルを見るとアナログ2/ディジタル6の8出力で、指定マイコンボードのA/D入力コネクタに全ピン直結しない使い方を暗に求めている。重量は8グラム、削れるものは全部削ったType.Rには至らなかったようだが薄い基板と面実装化で頑張っている。これで噂の”5モータ基板”(Type.S基板もここに接続か) もリリースされたならば、確実にアナログセンサな参加者が増加すると思われる。

話は本題、先日より始めた(稚拙な)走行軌道シミュレーション、ディジタルサーボ系のシミュレーションの取り組みを通して、包括的なマイコンカーロボットのシミュレータを作るプロジェクトの構想が浮かんできた。

  • センサモデル
    • ラインセンサモデル(アナログ/ディジタル)
      ‥ライン中心からの距離、ラインに対する角度を考慮したセンサ入力を模擬
    • エンコーダモデル
      ‥車体重心の移動速さと仕様(?ppr)、取得周期を使って位相計数入力を模擬
    • ポテンショメータモデル
      ‥有効電気角などから操舵サーボ系の A/D入力を模擬
  • 車両挙動モデル
    • 重心の前後位置、高さ、前後ロール剛性、ロール軸高さ、4輪の接地荷重、全体の慣性モーメントを考慮
    • 接地荷重、舵角とタイヤ駆動状況から、重心の速度ベクトル(速さ、方向)とその向き変化(角速度)、すべり角を模擬
  • センササーボモデル
    • センサ/センサアーム/減速ギア/前輪機構/サーボモータの慣性モーメント、サーボモータ出力特性を考慮
    • 慣性モーメントと離散的なセンサ入力、ポテンショメータ入力、PWM出力を反映したディジタルサーボ系の動きを模擬
  • 走行系サーボモデル
    • 車両の諸元、タイヤ-路面の接地状況と回転系の慣性、モータ出力特性を考慮
    • PWM出力、制御内容(正逆転/フリー/ブレーキ)を反映した車輪の動きを模擬
  • コースモデル
    • 大会仕様コースを考慮 (坂道含む)
    • 車体の現在位置に対応して必要となるライン位置、傾斜角の数式情報を上記モデルに提供
    • コースエディタによる任意コースの構築

‥個別の構想を書き並べると、実現の難しさも見えてくる。主な技術課題は車両挙動モデル/センサモデルの構築とその精度、計算速度の見極めか。早期に必要なのはコースモデルとその構築手段。コースを描くだけのエディタなら難易度は低いが、モデル連携を考えたデータ構造となるとまだ完成形は見えていない。

これらを全て実現できるとどうなるか。

  • マイコンカー制御アプリケーションプログラムでは、入出力は全てAPI経由で行う
  • APIの接続先をシミュレーション段階ではモデル関数、実走行段階ではハードウェア操作関数に設定

とすることによって、シミュレーションモデルで内容を確認できたC言語のアプリケーションプログラムを、そのままマイコンカーに載せることができる。モデルと実物の一致精度が上がれば、モデル上で任意のコースを走り、ログを分析し、制御ロジックを修正するというループが回せる。モデルを通して、理想の制御も探ることが出来る。
・・・ホンモノのクルマやレースカーでは普通に行われていることだが、個人レベルでどこまで出来るだろうか。とりあえずいきなり全体を構築できる状態ではないため、検討の薄い要素について個別に見通しを立てていく。

ホンモノの世界では工学分野の一領域となっていて参考となる論文が多々あるため、新たに探して入手。車両の運動、旋回特性、接地荷重などに触れた論文を読み、活用できるところ、マイコンカーでは不要と思われる要素を抽出する。
滝田教授の名前が入っている論文も、有名な2論文以外にも沢山ある。(「参考文献の"阿部正人"さん、安部先生の間違いですよね?」とは毎回伝え忘れてしまう)「SSMを用いた軌道誘導車両のドリフト旋回特性」「1kHzスマートカメラ搭載SSM軌道誘導車両の高速化」‥横須賀でも優勝のとくながさんに自らの論文に絡む問いかけを複数回投げていた。滝田教授は「高速走行用ライントレースカーの横滑り制御の検討」の論文も読んでいたのだろうか。

| | コメント (0)

2007/09/10

横須賀大会レポートを見る。

今日はプール曜日、最近は某bootcampの効果もあって以前より距離が伸び、連続で 2000~2500mを泳いでいる。1000mあたり18分のペース、速くはないが競泳トレーニングではなく健康目的なのでほどほどで良い。忙しさは不健康の理由にはならないし、せっかく継続できているので今後も運動は継続。もう若くはないし、油断したらメタボ一直線。

JMCRサイトでは事前の通告どおり、横須賀大会のレポートが公開されていた。マイコンカー紹介同様、画像サイズも大きくなり、一般の部、オープンの部、車庫入れ競技、ミニマイコンカーと一通りの紹介。マイコンカー競技のコースレイアウトが分かる写真も載っているが、この大会は公開OKに変わったのだろうか?それはさておき、マイコンカー競技以外の内容に注目し、大会を回想してみる。

車庫入れ競技は以前に書いたとおりの周回競技。これに絡んで競技前に「マイコンカー競技のコースに車庫入れ区間が接続されるか」という話を耳にしたが、実際には競技をスムースに進行するため別コースで競技を、ということだった。坂道やレーンチェンジは無いがクランクがある構成、決勝ではクランクと車庫入れ区間が2つに。田村さんは決勝で速度設定を間違えてしまい当人も「ああっ」という状況、惜しくも車庫入れ脱出後に落ちてしまった・・・残念。来年は完走する姿があるはず。藤坂さんは前日の試走から爆走。試走のはじめのうちは車庫入れでセンサがコースの端に引っ掛かったりしていたがドンドン修正、みるみるうちに速く周回するように。決勝の走行でも高速に周回、2回の車庫入れもバッチリ決まり、ミニマイコンカーな子供たちの驚く声と共に記憶に残った。完走&優勝おめでとうございます。アナログセンサなロボットにも期待。

ミニマイコンカー競技では、草むらの中に落としても間違いなく発見できる”真っ赤な新ロボット”が登場。コストが通常の三倍?とならないのは以前に紹介した”第三の基板屋”が絡んでいるらしい。構成としてもマイコン&モータドライバ一体基板、USB接続可能でスッキリしていて良い感じ。指定マイコンボードのコネクタはレイアウト障壁、マイコンだけ使って一枚に出来れば‥今のマイコンでは高速PWMが使いにくい‥と愚痴を言っても仕方ない。子供たちも過半数が完走、ものづくりの実践という機会が以前に書いた話よりもより強い原体験となって、マイコンカーのずっと先まで進んでいく子供が出てくるといいなと思った。

| | コメント (0)

2007/09/07

横須賀上位マイコンカーを見る。

TMCC会長様のブログを読んで、JMCRサイトに横須賀大会2008 決勝トーナメント進出マイコンカー のドキュメントが出来ていることを知った。これまでの紹介方法と異なり、モータやセンサの種類、寸法/重量、特徴や苦労した点まで書かれている。これを書くための手間がかなり増えたと思われるが、ドキュメントを見る側としてはこれだけ情報があることは喜べる。ありがとうございます。

SPANGLEは「これならば自分も作れるかも」というメカ設計の要素があるため、近いうちに以前の防衛大ロボットのようにモデル化したい。前輪のハブ周りとホイールにナゾが残る。

FRAGILE007は坂道センサが目に付く新装備だった。個人的には坂の上り始めを見るアプローチよりも"坂の頂点を見る"という目的に直結している点で好みのアプローチ。センサ基板もシンプルかつ合理的。石は04だった。

GodArthur3は以前ブログに書いたPortescapのモータとギヤヘッドを使っている。横須賀ではとくながさん同様に「ギヤヘッドの軸が曲がった」話を聞いたが、結果を残すロボットに仕上げてきた点で機械構造が参考になる。ランサーにも付いていた"ゴム足"も何気に良いアイデア。

ウォタースキッパーは原作を超えたロボット。低重心設計、ガチガチの高剛性で完全平面追求コンセプトも受け継いでいる。操舵周りのギア噛合せも固そう。一番「そこまでやる!」と思ったのは、シャシーCFRP板のバッテリーが載る部分が”凹加工”されていたこと。自分なら安易に穴を開けてしまう。マイコンボードに”基板”が面実装されていたり、指定モータのノイズ対策が基板&チップコンだったりするのも独特。決勝トーナメントでは大会一過激なレーンチェンジも披露。コース角にテープを貼っていなかったらタイヤが死んでいたと思われる。

STIKKは”一般の部キットカー”という雰囲気。ROBO-ONEロボットのようなRCサーボ音を発していて、RCサーボの性能を限界まで引き出している模様。レギュレーション把握ミスによる”想定外”があったとのことで決勝コースを完走できなかったが、このようなキットベースのロボットが健闘していると、新しく競技を始める人もモチベーションが上がると思う。

| | コメント (0)

台風との戦い。

今日は朝6時すぎに家を出発。通常なら電車&バスで新幹線駅まで移動するのだが、今日は風雨が激しく中間の徒歩移動でズブ濡れ必至なので、タクシー移動。台風の進路に真正面から逆行するようなルートゆえに列車の遅延や停車があるものと思っていたが、早朝の東北新幹線はダイヤどおりの運行。「流石にゆりかもめは止まっているだろう」とりんかい線で迂回してみたが、ゆりかもめも普通に走っていた‥。それでも足止めを受けずに順調に移動、目的のビルまであと15メートル!というところで強烈なビル風を受け、傘の骨が完全に破壊された。安いビニール傘を持ち出して正解‥ビルに駆け込んで戦いは終了。

台風などの外乱に関係なく、自分は開始時間が決まっているものに対して十分なゆとりを持って向かうタイプらしい。早く行ける状況で遅く出発してトラブルに遭遇し「もしかしたら間に合わないかもしれない」と慌てたりするのが好きではないし、出発前と到着後で同じようにノンビリするなら後者を選ぶ。仕事関係ならリスク管理のようなことになるが、今日の会合でも更に上手がいて、「前泊しよう」とH立市から特急”スーパーひたち”に乗ったらしい。そこまでやるかと思ったが、「途中で停車してしまい車中泊になってしまった」という可哀想なオチもついていた。愛知からの同業者は東海道新幹線が止まって完全にダメだろうと思っていたが、なんと9月から関連メンバーが揃ってお台場に”転勤”していた・・・頻繁な出張のコストも徹底削減、さすがの企業だが、自分が転勤当事者なら辛いかも。

帰宅すると、オリジナルマインドさんからの荷物の不在票と、定期購読しているトラ技とデザインウェーブがポストに入っていた。トラ技はハイパワー/高輝度LED、デザインウェーブはFPGA関連の特集。

t-suzukiさんのブログを見て、以前に俺サーボ化で取り外した PS-2173FETの基板はどうなっているのか?と思い確認してみた。制御チップらしきICは三菱マークに2461の文字、現在はルネサスのこのICであるらしい。基板パターンとピン説明も合っている。絶対定格は 9V、デッドタイムやストレッチャ(ゲイン)などは外付けの抵抗やコンデンサで調整する仕様。FETはルネサス製のHAT3006 (alldatasheetでもデータシート見つからず。廃品種? HAT3006Rで見つかりました) が2つ。RCサーボ派の最後の砦は”部品交換”(定数変更、FET/モータ換装)であるようだ。ルネサスのサイトを見るとディジタルサーボ用ICもあり、このICも何らかのRCサーボ製品に載っていると思われる。

| | コメント (2)

2007/09/06

台風直撃。

台風が真っ直ぐこちらに向かってきている。明日の朝あたりは大変な風雨かもしれないが、運悪く明日は朝から定例のお台場出張。無事にたどり着けるのだろうか、傘も無力化し濡れ鼠状態になるだろうか‥。自分の方はもちろん、愛知の方から来る方々も足が止まるかもしれないが、中止にはならなかった。限られた日程の中、通常はライバルであるT社やN社、その関連企業、MCRでもお世話になっている系の企業が集って皆であれこれ頑張っているが、時折ニセの怪電波を発するメディアが出て自分達に迷惑をかけてくれる、当然釣られてしまう読者も。

070906_pd_calc 先日のPD計算シートは独立ブックに変更して少し手入れ。目的の一つはアナログセンサなロボットの敵となる共振周波数の把握。左図は簡易的にそれを知るために、目標位置を変化させる角周波数を連続的に上げつつ、サーボ系をそれに追従させている構図。少しずつ位相が遅れ、振幅のピーク値が上がる。ピークが最大になるのが共振周波数、この点で位相が90度遅れる(元々の遅れと併せてこれ以上はPWM制御不能、下のPWM Duty値波形が矩形波に)。適当に入れたこの条件では10数ヘルツあたりに共振点があるようだ。共振周波数に近い基本波を有する立上り波形をいれたり、その辺でセンサがウロウロするソフトを書くと、センサがブルブル。図のやり方はマクロ不要の簡易的なもの、周波数毎にゲインと位相差を取っていけばよりまともなボード線図として表せる。最終的には伝達関数としてモデルを表現し、それを基に図を描く方法がいい。

昔に学校で習った制御工学、当時はなんとも味気なく好きになれない教科に思えたが、あのとき自律なロボットを作っていればもっと早く、即実践のような形でそれを利用できていたと思う。今はMATLABなど便利なツールもあるが、その土台部分の理解は実践を通して学生時代に進めたほうが後々有利になる。最近ではマイコンカーをやっている工業高校でも進学組の方が多いようだが、進学は工学的により進んだアプローチを実践を通して学べる貴重な機会であると思う。社会人になっても勉強に終わりはないが、学生という環境にはかなわない。横須賀でも工業高校OBの素晴らしい走りを見ることができたが、まだまだ大学生らしい形で伸びるなとも思った。

| | コメント (0)

2007/09/04

今日もExcel作業。

GRV@MCR で t-suzukiさんの最新走行動画を見た。ディジタルセンサ+RCサーボ+高校生指定モータの構成のロボットでは最速クラスの走りに見える。特に注目したのが、最近よく見かけるタコの頭のようなカーブ区間での走り。直線から高速で突っ込み、大きく舵を切ってカーブ外周方向へ進み、そのまましばらくカーブのアウト側をセンサ中央がセンターラインから外れた状態のまま旋回している。
070903_tako 先日までに作った走行軌跡計算ブックに、同じタコカーブの状況を追加してみた。ややアンダーステア気味でもこの程度、かなりのアンダーステアでもこんな感じ。070903_tako.wmv
アナログセンサはセンサ中央部がライン中央に拘束するのが基本、センサと操舵が直結の構成では t-suzukiさんのロボットと同じような軌跡で走れない。車線変更での動きを含め、ライン取りの自由度やしぶとさのようなものを見出すことができた。


070903_pd_gain
ブックに操舵サーボ系PDゲイン計算のシートも追加中。DCモータの特性/使用条件、負荷の慣性モーメント、フィードバック系の構成、制御周期などを設定し、指定のPDゲインにおける目標角度へのステップ応答をグラフ表示するもの。ポテンショメータ出力電圧値の A/Dコンバータによるサンプリング&量子化、整数によるPD演算と PWM Dutyの決定を模擬している。制御周期(偏差を取りPD演算をしてPWM出力を更新する周期)、A/D精度とゲインパラメータの関連、構成に合った制御周期の重要性がすぐに分かる。
課題は慣性モーメントの計算精度。現状ではセンサ基板、センサアーム、最終減速段のギア2枚、ギヤヘッド、そしてサーボモータの構成を入力できるが、タイヤやそれを支持したり駆動したりする部品の計算がまだ入っていない。実機のステップ応答との合わせ込みも必要。うまくできれば、SSM制御におけるアーム追従遅れ、クランクや車線変更などの短時間で大きく舵を切る状況におけるロボットの反応遅れなどの解析にもつながる。

| | コメント (0)

2007/09/03

微速前進。

オリジナルマインド さんに真鍮ギア、ベアリング、セットピースを発注した。電子部品の類は在庫数が多く種類も幅広く、「あと十年は戦える。フフフッ」状態(やや誇大)だが、機構系の在庫はムラが激しい。ロボットランサーなど位置決めサーボが複数必要な競技に対応できるシステム基板も検討開始。ロボット製作の度に違う回路構成を考えるのもいい加減どうかと思うが、いつも興味のある方向、試してみたい方向に流れてしまう‥個人活動ならではの楽しみでもあるが、今回も案が幾つも沸いてきてなかなか収束しない。サーボ系で成立が微妙な案もあるため、以前のように試作も含めて検討したい。

職場では、個人試作のようなことをしている人が自分のところにやってきた。商品ではないからと趣味のロボットでも作るかのように怪しげなプログラムを拡張していることは知っていたが、ついに全体の動きが完全かどうか自信がなくなるまで中身がゴチャゴチャになってしまったらしい。「思い付きのフラグや条件文をソースコード全体に撒くと‥」「読み難いプログラム、怪しい構文を書くと・・」とは以前にも書いた気がするので、今回はこの領域で役に立つ資料を2つ紹介。

話題沸騰ポット要求仕様書
 個人製作のロボットで完全な要求仕様書を書く人は居ないと思われるが、仕様を人に正しく伝える方法、制御を思い付きのフラグの”集団”ではなく”状態”で管理する上での基本が良く分かる仕様書になっている。

コーディング作法ガイド V1.0
「ソフトウェアの品質特性」など学校では教えてくれない要素の一覧、想定外の動作を避けるための規約(禁じ手)、保守性を高めるための書き方などが詰まったガイドライン。MISRA-Cのように英文を読む必要もない。

| | コメント (0)

2007/09/02

擬似アッカーマン計算ブックを更新。

Ack_link_excel_1成果物サイトに置いている擬似アッカーマンなリンク機構を作るための計算ブックを更新した。今回の更新分は、パラメータの追加と無駄だらけの計算式の見直し(ブック再作成)。新パラメータは左図で CPofs と書いている、中央の回転部品(=最終段ギヤ) とナックル回転中心の前後オフセット量。 junさんのロボトレーサやマイコンカーにはこのオフセットがあり、直進時に左図のようにリンクCが横一直線に近くなっている。今回の変更で、同様の構成もブック上で表現できるようになった。



070902_curve_slip 先日の前後輪のすべり角を想定した走行軌跡計算ブックも、新たに連続左右カーブの状況を追加した。舵角が変動するため、すべり量も固定から舵角比例型に変更。左図の設定は、ピボット部と車体後中央がカーブの頂点でセンターラインの内側10mmを通る条件で前後輪のすべり率(前後同じ値)を求め、その際の軌跡を描いたもの。その際の舵角の変化(正値が左) もグラフ表示している。改良すれば、実ロボットの走行軌跡/舵角の変化と重なる前後のすべり率を求めることでロボットのOS/US特性を把握したり、舵角の変化カーブから操舵系に必要な特性を把握したりも出来そうだ。「とにかく試行錯誤で製作・調整する」というアプローチであればこういうものは不要だが、自分には真似が出来ない。少しでも定量的、効率的に現実の動きを予測・把握できるようにすることが、自分には必要だ。事前に動きを予測し、それに基づいてロジックを構築、パラメータを計算し、ロボットを走らせ、結果を予測モデルに反映。このループの精度が上がるように努めたい。

Wave2

| | コメント (2)

« 2007年8月 | トップページ