FrontPage

<参考・加藤さん講演>

ヒューマンエラー

うっかり迷路情報を消してしまった

ゴール位置の設定が間違っていた

迷路を消す探索モードで走らせてしまった

  • 反復練習
  • 重要情報は不揮発メモリに保存する
  • マシン単体でゴール位置を変更できるようにする
  • 走行開始前にどのモードで走りだそうとしているのか操作者に伝わるようにする

取り上げるとき,机の上においている時マウスを落として壊してしまう

  • 自力でスタートに帰還するようにする
  • 敷物を作ってタイヤが机に触れないようにする
  • 作業中は常にマウスが視界に収まるように置く
  • 机の端には置かない

メカ&ハードウェア編

表面実装のコンデンサが段差に引っかかって吹っ飛ぶ

  • 背面には部品を実装しない
  • 十分に車高を高くする

そもそも段差を乗り越えられない

  • 設計時点で段差の規定に見合うか忘れずに確認

ねじのゆるみに気づかずそのまま走らせてしまう

  • 定期的な点検
  • ねじロックの活用

モータ軸にホコリが巻き付いて過大なトルク損失

  • モータとピニオンの間にホコリが詰まっていないか確認
  • モータとピニオンの間に隙間を設ける(もしくは掃除できる構造)

衝突の衝撃ではんだクラックが発生

  • むやみに基板を薄くしない
  • 意図的に弱い箇所を作って衝撃を吸収
  • 機体のねじれ剛性を高める
  • クラックしやすそうな部品は機体後部に集める
  • クッションの取り付け

コンデンサの選定ミスで昇圧回路が発振

  • セラミックコンデンサはDC電圧がかかると容量が低下
    • 特性の悪い小型大容量セラコンだと10%程度まで下がってしまうことも
  • 容量だけでなく他の諸特性もデータシートで確認

ピニオンが空転

  • イモネジ止め
    • ピニオンにネジ穴を切ってイモネジでシャフトに固定
    • イモネジが緩むことでピニオンがすべるようになる
    • 樹脂ピニオンには使えない
  • 圧入
    • ピニオンの穴をシャフト径よりわずかに小さくして押し込む
    • 金属ピニオンは圧入力が大きくシャフトが後ろに出ているモータでなければ軸受破損のおそれあり
    • 樹脂ピニオンの推奨締めしろは0.01〜0.02mm
  • 接着
    • ピニオンの穴をシャフト径よりわずかに大きくして接着
    • 接着剤の選定がキも
    • 強度があり粘性の低いもの
    • 有機溶剤系(強度×,粘性×),エポキシ系(強度○,粘性×)
    • はめあい用嫌気性接着剤(ロックタイト600番台)

ソフト編

演算子の優先順位を勘違い

比較演算子と代入演算子を間違えて使う

変数の初期値に変な値が入っていてバグる

  • コーディング規約を読んでみよう

空ループが最適化に潰されてしまう

  • ループ変数にvolatile修飾子をつけることで最適化抑止
  • マイコンのペリフェラルレジスタへのアクセス,mainループと割込みの双方から参照するフラグ変数にはvolatileをつけるべき

マイコンのペリフェラルレジスタのアクセスの仕方で挙動が変わる

  • whileループ内で特定のペリフェラルレジスタのフラグを監視していた所,立つはずのフラグがいつまで経っても立たない

ぶつかって位置情報がずれた後も探索し続けて迷路情報が崩れる

ぶつかった後に全力走行を続けようとして暴れまわる

  • フェイルセーフ機能がないために起こる
  • 加藤さんの場合
    • 角度偏差が一定以上 or 速度偏差が一定以上 が80ms以上続いた時エラー
      加速度や角速度は急激な変化があるので使わない
      エンコーダと慣性系のセンサの両方を組み合わせるとタイヤのロックと空転の両方を検知できる
    • エラーが出たら直前に見た壁の情報をいくつか消去して迷路情報を保存
  • ステッパの場合
    • ジャイロを積む
    • 指令速度と前壁センサ値の変化の比較

制御&複合トラブル編

オドメトリで計算した走行距離や角度が実際の値と合わない

  • 正確な直径やトレッドを入力しているのに実際の軌道が合わない
  • タイヤを信じるな
    • タイヤが完全にグリップした状態でもタイヤの弾性変形である程度スリップする
  • スリップ量のし表
    • スリップ率
      進行方向の回転量と実際の進行距離の差
      縦方向の力が大きくなるほど大きくなるが,限界がある
    • スリップ角
      タイヤの向きと実際の進行方向の差
      横方向の力が大きくなるほど大きくなるが,限界がある
  • Maneuverの最大スリップ率とスリップ角は?
    • 最大スリップ率 25%
    • 最大スリップ角 20%
  • スリップがあることを前提に他のセンサと組み合わせた制御
    • スリップ量を推定して補正
    • 壁切れによる走行距離の補正
    • ジャイロや加速度センサといった慣性系センサの使用
  • 加速度や横Gに対するスリップ量を小さくする
    • 軽量化
    • タイヤ硬度の最適化
      柔らかいとスリップ大,硬いと最大の力低下
    • ワイドタイヤの利用
    • 変則4輪
      Tetraではスリップ率半分
    • 吸引

ジャイロセンサで正確な角度が求められない

  • 角度を求めるためには積分の必要があり僅かな誤差が蓄積される
    • ジャイロそのものの誤差
      温度ドリフト → 走行直前にゼロ点補正を行う
      非線形性 → 実際の角速度と出力電圧は比例しない
      ゆっくり回った場合と素早く回った場合で結果が異なる
      線形性の良いジャイロセンサを使う
    • 電源のノイズ
    • AD変換の誤差
      ジャイロとAD変換器の電源電圧は一定で安定しているか
      フィルタ挿入
      デジアナ分離 3端子レギュレータを分けるだけでも効果ありとかんがえられる
      1点接地
      大電流経路を話す
      AD変換器自体の性能(非線形性)
      AD変換器内蔵のジャイロセンサの使用
    • すりこぎ運動による誤差
      オイラーの運動方程式にしたがって,自転している物体の回転軸が時間的に変化する
      2軸マウスは前後に傾くため加減速時に旋回軸も前後に振れる
      変則4輪は前後の傾きが小さい
    • ジャイロの応力歪みによる誤差
      MEMSジャイロは微小なおもりとばねを半導体上に作りこんで慣性力によるおもりの移動を圧電効果や静電容量によって検出する
      加減速にヨテ前後補助輪に力がかかって基板がゆがむと遠心力でジャイロに応力発生
      応力が伝わらないように別基板にして柔軟物で貼り付け
      基板形状で応力を逃がす(例えばスリットなどを入れる)

質疑

ジャイロの取り付け位置はどうする?

  • なるべく機体の中心が良い
    • 前後にあると陽動によって誤差がのる(加速度がのると誤差が生まれるため)

ピニオンの取り付けはどうしている?

  • イモネジ,圧入
  • 軸よりシャフト径が小さい場合はミシン糸を挟むなどして圧入

加藤さんはどうしてマイクロマウスを始めたのですか

  • 大学ロボコンメインだったがオフシーズンに参加してみたのがきっかけ

3Dプリンタはどのように活用できるか考えはあるか

  • 増渕さんはホイールなどを3Dプリンタで制作されているらしい

Tetraは毎年アルゴリズム等は更新しているのか

  • 迷路探索は更新していない
  • 対応が難しくなってきているのが事実
  • アルゴリズムも改修したいが,処理が追いつかないためマイコンも次世代のものに変えたい

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-11-24 (日) 17:46:13 (1428d)