Converting (X,Y) coordinates to SM and calculating step maximums

Home Evil Mad Scientist Forums AxiDraw Converting (X,Y) coordinates to SM and calculating step maximums

  • This topic has 3 replies, 3 voices, and was last updated 2 years ago by mark.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #26995
    jcharney
    Participant

    I am driving the AxiDraw through the serial port using the EBB commands and Max/MSP to make a series of experimental, real-time drawings. I have had some success in drawing circles from sampled signals/oscillators and simple straight lines. However, I’d like to translate, for example, an audio waveform to a series of maneuvers for the AxiDraw. This would be much easier with XY transformations.

    I understand how the motors work in opposition or coordination to make straight lines, for example, but I just can’t wrap my head around how to translate XY movements to the native axes’ steps – both to protect the motors from exceeding their maximums and to scale drawings to the page. I’ve spent hours and hours trying to adapt other code that does this like the Processing utility’s moveToAB() commands and such. I essentially want to make something where [0.,0.] = top left, [1.,1.] = bottom right, [0.5,0.5] = center.

    I *think* the general translation is: “SM,time,A,B” where A = X+Y and B = X-Y? (Experiments seem to bear this out but it doesn’t seem quite right). After each move, I’d ideally query the step position and adjust the maximum value of the next move to constrain the motor from exceeding its limits (I’m intentionally leaving out any calculation of travel time).

    I understand the maximum XY positions (i.e. “1.” in either XY axis) must be calculated from the step position of both motors, but I can’t puzzle out the relationship even working backwards. It would be nice to figure out absolute XY position but even relative XY moves would be so helpful…I can implement the programming in Max but just need the math explained to me in another way…

    apologies for the ramble, I’m really desperate to make this work.

    #26996
    Windell Oskay
    Keymaster

    Please contact technical support; we can send you a white paper that works through the math in detail.

    #26997
    jcharney
    Participant

    Thanks, Windell!

    #30341
    mark
    Participant

    Hi @jcharney, just curious if this ever worked out? I’m thinking of getting an Axidraw and this is my exact use case – controlling from within Max.

    Any hints appreciated!

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.