XY Motion Control

"XY Motion Control" fue el proyecto de grado de la Lic. en diseño industrial Araí Moleri, en el cual yo intervine desarrollando el sistema de control de los servos AX-12 con Arduino y la aplicación Java con la que se maneja desde el PC.

El proyecto consiste en un soporte robótico para cámaras, que realiza los movimientos de PAN y TILT y es capaz de moverse en incrementos de 0,3º, para usar en películas de stop-motion. También cuenta con un sistema de movimientos continuos automatizados, y están previstas varias mejoras como ser: captura de movimientos, modo autónomo y sincronización con el programa "Dragon Stop Motion".

A continuación les dejo los videos oficiales del producto y una documentación de la parte informática del mismo. Las animaciones 3D y los videos fueron hechos por Juan Pablo Colasso. En el segundo video puede verse el aparato funcionando, y al maestro Walter Tournier (el creador de "Los Tatitos") haciendo una animación con el mismo.

 


 

Be Sociable, Share!

13 Comentarios »

  1. avatar wowyeah! Dice:

    imponenteeee

    quiero unoooo!

  2. avatar Natalia Dice:

    MUY BUENO ARA, !!!!!

  3. avatar pit Dice:

    sos una salada

  4. avatar pabloxid Dice:

    Gracias, dulce!

  5. avatar Sofía Dice:

    excelente Ara!!!

  6. avatar rosi Dice:

    Ara! es genial!
    te felicito por todo, la idea, la fusion de disciplinas, las ganas de crear soluciones a problemas complejos, y sobre todo por seguir a delante y confiar en ti misma!!
    besote

  7. avatar Aeropónica | Palmera blog Dice:

    […] de artículos subidos. Fueron meses de intenso trabajo: tengo novedades de SAMSA, del Butiá, del XY, algún proyecto musical y fundamentalmente dos proyectos nuevos vinculados al physical computing, […]

  8. avatar Trey Dice:

    Very cool project Pablo! I am doing something very similar but now have an error. I was hoping you could help me. I am using Processing, FTDI Chip, Arduino, and two AX12s.

    I use four keys in processing to control the Pan/Tilt direction (Up, down, left, right) and then I send new value to the Arduino. The Arduino receives the data and applies the setPos command to the AX12s. This is where I get an error! Servo moves all the way to the right (looks like position 1024 on the AX12s) I do not know what the Arduino is reading or how I should debug it.

    here is my CODE:

    #include
    #include

    NewSoftSerial mySerial(2, 3);

    AX12 servoPan;

    void setup(){
    AX12::init (1000000);
    servoPan.id = 5;
    servoPan.SRL = 1;
    servoPan.torqueOn;
    servoPan.setVel(512);
    mySerial.begin(115200);
    }

    void loop(){
    if (mySerial.available()){
    int serialData = mySerial.read();
    servoPan.setPos(serialData);
    delay(10);
    }
    }
    _____
    In processing:

    port.write(motorPan);

    where motorPan is an integer and writes the value (ex. 512 or 700 or 353)

    If you could help me I will be very thankful! Great site by the way, I’ve learned a lot.

  9. avatar pabloxid Dice:

    Trey:

    You need to implement a little more sophisticated protocol over the serial, for ensure data is properly interpreted. Consider the following points:

    1) initialize serial at same speed at both ends (Arduino and Processing). In this case 115200.

    2) it’s not possible to send a ‘int’ value through serial, all traffic consist in ‘bytes’, so you need to encode large numbers as several ‘bytes’ and make sure to cast the values ​​that you are sending to ‘byte’.

    3) is highly recommended to have a special value that signals the beginning of the message, such as “255”, to prevent read errors.

    Look at any example involving communication between Arduino and Processing. If I can, later I post my own code.

    Thank you very much for your comments.

    Regards,
    P.G.

  10. avatar Trey Dice:

    Pablo,

    Thank you! I understand the problem now and I have made the necessary changes to send information between the programs. I now have a working version of a pan/tilt camera with AX12s, but I hope to improve my code.

    I have read the documentation you posted many times but still have trouble understanding the method you use to send bytes between the programs. I intend to keep researching this process until I find an efficient way of transmitting data. I would enjoy reading your code to better understand your process and method!!!

    I also created an English version of the documentation. If interested I can share or post for your English readers.

    Thanks again for sharing your knowledge, I am very appreciative!

  11. avatar pabloxid Dice:

    @Trey:

    I added a download link to XY motion control source code, in the ‘downloads’ section. Note that the Arduino code is based on version 2.2 of the AX12 library, which has some differences with the current 2.3 version.

    Yes, I’m interested in that English version of the documentation! In fact, I would like to have all my site translated into English, but especially the following:

    1) the AX12 library manual version 2.3
    2) SAMSA “classic” documentation
    3) the article on Speech Recognition
    4) the article on Minim 2.02 Palmer Edition

    Thank you very much for your insights.

    Greetings, P.G.

  12. avatar Trey Dice:

    Pablo,

    When I have the time, I will translate each of the sections you mentioned. I currently have an English version of the AX12 Library Manual and the documentation for the XY Motion Control. Once I have finished all sections, I will email them to you! I need a couple more days 🙂

    Also, thanks for sharing your code with me on this project! It has helped me understand how to transmit bytes between programs and write code more efficiently!

    Thanks,
    Trey

  13. avatar pabloxid Dice:

    Great! I’m looking forward to these translations. Thank you very much.

    Greetings.

RSS alimentación de los comentarios de esta entrada. TrackBack URL

Dejar un comentario