Git Product home page Git Product logo

new_basic_mouse2's Introduction

New_Basic_Mouse2

福井大学のからくり工房I・sysの方々に開発していただいた初心者用マウスのプログラムを少しづつ作っています。

マイクロマウスのタイヤ直径の推定方法

マイクロマウスの前進距離はタイヤの直径に基づいて、タイヤを何回転させたら希望の前進距離になるかを計算して実現されます。 タイヤ直径はノギスなどで計測すれば概略の値が得られますが、ゴムタイヤの場合は、走行中につぶれて変形して、ノギスでの計測値とは実際に異なった値になっていると思われます。これは、ノギス計測値を使ってマイクロマウスを走行させた場合に、結果がずれますので容易にわかります。

そこで、概略の値を使って計算して、実際に走行させて、希望の走行距離との誤差を測定して、真の直径を推定します。推定式は以下のようになります。

Dt = D * ( 1 + e / L)

上式において

  • Dt : タイヤ直径の推定値
  • D : 事前に計測したタイヤ直径値
  • e : 走行時の誤差(設定走行距離からどのくらい行き過ぎたのか、足りなかったらマイナス
  • L : 設定した走行距離(この距離を走ると考えて走行させた値)

誤差を計測する際には、誤差を測る際の誤差(ややこやしいですが)の影響を小さくするためにも、走行距離Lを大きめにしましょう。

マイクロマウスのトレッド幅の推定方法(左右のタイヤ中心間の距離の推定)

タイヤの直径と同じで、マイクロマウスが旋回する場合に、トレッド幅の値が必要になります。この値に関しても実際にその場で旋回させて誤差を計測して推定することが可能です。推定式は以下のようになります。

Wt = W / ( 1 + e / theta )

上式において

  • Wt : トレッド幅の推定値
  • W : 事前に計測したトレッド幅
  • e : 旋回の誤差角
  • theta : 設定した旋回角

こちらもthetaを多めにとる(何回転もさせる)ことが大事です。

ステッピングモータマウスの必要ステップ数の計算

目標の走行距離についてモータを何ステップ回転させたらその距離になるのかについては以下の式で計算できます。

Step = refarence_length / dL

上式において

  • Step : ステッピングモータに与えるステップ数
  • refarence_length : 目標の距離
  • dL : 1ステップあたりの前進距離

浮動小数点演算のできないマイコンでの計算精度に関する考慮事項

new_basic_mouse2's People

Contributors

kouhei1970 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.