Let's Make Robots!

Delta bot

Copy mouse movement (for now)
AttachmentSize
Delta_bot_1.jpg62.42 KB
Delta_bot_2.jpg55.39 KB
Delta_bot_3.jpg59.11 KB

Hallo everybody, this is my first LMR entry (not the first robot I build)

I made this delta robot over the weekend.

About two week ago i saw a video of an industrial delta robot and i was intrigued by the simplicity of the principle but the complexity of the movements it could make.
So i thought, I'm gonna make one.

So i bought three servos some ball joints and some aluminum strip.
The metal base plate I had laying around. Just as some some nuts and bolts.
I used an arduino i took out of another robot i build (i will post that one here two)

I programmed the arduino so it reads serial data, and I made a mouse interface that sends the serial data.

And in actually turned out to be as simple as I thought it to be.

But now I have a delta bot I should do something with it.
I'm not quite sure what.
I had the idea to make more of these and use them as lags for a two, four or six legged robot.
It will work well I think, but it's a bit expansive to make six of these.

Delta bot and it's interface

Delta bot and it's interface
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Top view

Top view

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Delta Bot

Delta bot

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Or could you please tell me how did u make the mouse interface to control the robot?I will be grateful.

Hello.Could u please give me a msn id,yahoo messenger id to talk with you.I really need help with my robot.Please.I will explain on chat what is about.Hope u understand me.Thanks.Have a great day.

have you ever seen ferrofluid i was thinking if you made some and put it on a stand over your delta bot with a magnet ontop of the bot and use ur phone to control the ferrofluid that would be really cool

Hi guys! At the end I have realized my own delta robot. I controll it via iPhone accelerometer. I also have implemented inverse kinematics. As soon as possible I will pubblish some implementation details. Here is my parallel robot on youtube:

http://www.youtube.com/watch?v=wCG3QVIlqsI

 

Best, Filippo

Hi guys! I would like to manage this delta robot via iphone. I found a way to control arduino via iphone. You can see an example in this link:

http://www.sparkfun.com/commerce/tutorial_info.php?tutorials_id=152


Could someone help me to modify processing code to communicate with TouchOSC? I think I could use a XY pads? Is it possible?
Please help me. Thanks a lot, Filippo

I have written a draft. Could someone check it please? Ufortunely I haven't an iphone for testing. Anyway someone could check my new processing code. Basically I have changed just some rows. Here my code:

 

import oscP5.*;        //  Load OSC P5 library
import netP5.*;        //  Load net P5 library
import processing.serial.*;


OscP5 oscP5;//  Set oscP5 as OSC connection
Serial myPort;    // The serial port:

int servo1 = 0;
int servo2 = 0;
int servo3 = 0;
int serialBegin = 255;

float X,Y


void setup() {
  size(600,600);

  myPort = new Serial(this, Serial.list()[1], 115200);

frameRate(100);
noCursor();

}

void oscEvent(OscMessage theOscMessage) {   //  This runs whenever there is a new OSC message

    String addr = theOscMessage.addrPattern();  //  Creates a string out of the OSC message
    // if(addr.indexOf("/1/toggle") !=-1){   // Filters out any toggle buttons
    X=theOscMessage.get(0).floatValue();
    Y=theOscMessage.get(1).floatValue();
    
    }
}

void draw() {

  background(255);

triangle(width/2, height, 0, 200, width, 200);

servo1 = 100-int(dist(width/2,0,X,Y)/6);
servo2 = 100-int(dist(0,height,X,Y)/6);
servo3 = 100-int(dist(width,height,X,Y)/6);
strokeWeight(3);
line(300,200,X,Y);
line(150,400,X,Y);
line(450,400,X,Y);

println("X "+X);
println("Y "+Y);

 


if (servo1 < 0){
  servo1=0;
}

if (servo2 <0){
  servo2=0;
}

if (servo3 <0){
  servo3=0;
}

if (mousePressed && (mouseButton == LEFT)) {
servo1 -= 20;
servo2 -= 20;
servo3 -= 20;
}
if (mousePressed && (mouseButton == RIGHT)) {
servo1 += 40;
servo2 += 40;
servo3 += 40;
}


//println("servo1 "+servo1);
//println("servo2 "+servo2);
//println("servo3 "+servo3);
//Serial.write
myPort.write(255);
//delay(10);
myPort.write(servo1+30);
//delay(10);
myPort.write(254);
//delay(10);
myPort.write(servo2+30);
//delay(10);
myPort.write(253);
//delay(10);
myPort.write(servo3+30);
//delay(10);

 

}

Fantastic job! Could you please tell us some more details? For exaple PushRods length and basament disposition. Where can I buy PushRods like this?

thanks a lot to all of you.

Thanks for posting your bot, it inspired me to copy and enhance... See my blog post at http://prutsers.wordpress.com/2010/07/23/delta-robot-using-wii-and-arduino/ 

The enhancements are:

- control using a Wii Nunchuck

- proper XYZ positioning, full inverse kinematics

- standalone, all calculations done on Arduino

Thanks again, have fun!

I have no word to express my impresion,i just want to say i want to make one .

Can you tell me which servos did you use in this delta robot?