Shop OBEX P1 Docs P2 Docs Learn Events
Applying the Boe-Bot Digital Encoder Kit — Parallax Forums

Applying the Boe-Bot Digital Encoder Kit

koolitudekoolitude Posts: 37
edited 2007-03-04 08:23 in BASIC Stamp
Source: http://www.parallax.com/dl/docs/prod/datast/ApplyEncoder.pdf

Does anybody understand this text? Any more supporting documents?

If you are reading this text as well; would you mind discussing that with me?

Thanks!!!!!!!!!!!!
======================
Some of the questions are listed below

Post Edited (koolitude) : 3/4/2007 12:17:53 PM GMT

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2007-03-03 19:01
    What's the problem? This is an educational text that goes into the theory and application of a simple encoder for the wheels of a BOE-BOT. There's a whole bunch of theory, then some practical examples.

    Do you understand the basic concept of a rotary encoder? Do you understand how servo motors work? Do you have an idea of why a wheel position encoder might be useful for "dead reckoning"?

    Please start your question with some kind of statement about where you are in your understanding, what you get and what you don't get. It's not very useful to just say you don't understand a book or tutorial. It tells us nothing about you and your starting point. Have you looked at the data sheet (www.parallax.com/dl/docs/prod/datast/28107.pdf)? Have you gone through the example and discussion there?
  • koolitudekoolitude Posts: 37
    edited 2007-03-03 19:57
    Sorry, for starting with some meaningless questions...

    In fact, I'm really confused after reading this text...

    I've read the datasheet already... I understand the basic concept of rotary encorder. I understand how servo motors work and I have done some research on wheel odometry as well...

    But I've got many questions about the theory... that's why I didnt list them all here... and just wanna see if somebody is working on the same thing... so that we can share our thoughts....

    Some of the questions are:
    1)

    Where does the condition for withholding the wheel's pulse for the current interval come from:
    ( C(Wheel)-1 ) x D(Other wheel) << ( C(Other wheel) -1 ) x D(Wheel)

    I would like to know the the theory behind and its derivation...

    Why was the author so interested in the products of C(L).D(R) and C(R).D(L) ?? Is it something related to Cross-correlation? If yes, why cross-correlation is useful here?
    2)
    Page6 of the text(the fourth-last line):
    "Moreover, at each point along this progression, C(L). D(R) roughly equals C(R).D(L). In fact, whenever L and R have simultaneous edges, the two products are exactly equal."

    However, the second last line:
    "It would make sense then that if we can keep THESE PRODUCTS EQUAL, we can maintain..."

    These products refer to C(L). D(R) and C(R).D(L) ?
    If yes, why keeping them equal? The fourth-last line stated: C(L).D(R) only roughly equals C(R).D(L); and only when L and R have simultaneous edges, then they are equal.
    3)
    Page 5 of the text.
    Where do the 'Original Error' and 'Corrected Error' come?
    From experiment or from calculation?



    Thank you very much for sharing~

    Post Edited (koolitude) : 3/3/2007 8:09:16 PM GMT
  • Mike GreenMike Green Posts: 23,101
    edited 2007-03-03 20:11
    Thanks for the information. That helps a lot. I'll print out the app note and read through it carefully. If I figure out any of your answers, I'll let you know. You could also send a private forum message to Phil Pilgrim (PhiPi) who's the author to ask him to have a look at this thread.
  • koolitudekoolitude Posts: 37
    edited 2007-03-03 20:24
    Thanks for your prompt reply... =)

    After reading your message... I really think that I was so silly to list out those meaningless questions.. sorry about that... =P perhaps, I'm too tired already.... you know... I've spent a whole day reading several Tutorials already... but still havent slept yet...

    Oh.. I didnt know that the author is a member of this forum as well.. Thanks!

    Anyway... Thank you very much for your help~

    Post Edited (koolitude) : 3/8/2007 4:02:43 PM GMT
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2007-03-03 21:56
    The formula

    ··C(R) D(L) = C(L) D(R)

    might make more sense to you in its equivalent form,

    ··C(R) / D(R) = C(L) / D(L)··,

    where C/D represents the encoder counts remaining, divided by the total distance for the wheel. In other words, it's the fraction of the total distance that remains to be traveled. If the motions of the two wheels are coordinated, this fraction will be nearly the same for the two. In other words, at any point in time, we want to keep the fractions of the total distance remaining the same for both wheels. But we use the products instead of the fractions, because they're easier to deal with in integer math. If we can keep these two products equal, by manipulating the pulses to the motors, we can be assured that the fractions of the distances remaining to be covered will also be equal, which is what we're trying to accomplish.

    As to your last question, the two errors are calculated from the distances between P and Q, given the two scenarios.

    -Phil
  • koolitudekoolitude Posts: 37
    edited 2007-03-04 08:23
    Thanks Phil!

    So, am I right to say... keeping C/D relatively the same as that of another wheel has the effect that one wheel has traveled say half of its total distance, then the other one will have traveled around half of its total distance as well... Then, we say these two wheels are coordinated... That's what you would like to achieve right?

    Sorry, back to the last question... Page4: you mentioned the formula (delta D = theta x omega)... (I understand how it comes).. you also mentioned since we cant measure fractional encoder pulses, there will be lot of error. Then you talked about the path correction method... it's the point I dont quite understand....

    What is the relationship between the path correction method and the errors would have been introduced due to the fractional encoder pulses?

    You mean the path correction method is a remedy for that? Would you mind elaborating a little more / giving me an example? i.e. if I wanna turn 64 brads then from the formula, I got ( delta D = 12.76 )... but there's error... so how can I implement the path correction method here to turn 64 brads to give a better result?

    Thank you very much for your help! =)
Sign In or Register to comment.