Go Down

Topic: Need Help: 6wd WT w/ 6dof arm (Read 1 time) previous topic - next topic

lt2485

So I decided for a school project that I was going to try and do a build with the Dagu Wild Thumper 6wd with a 6DOF Arm.

I've already purchased the majority of the required parts needed for the project.

Here's a list of the parts:
Dagu: 6 w.d. WT, 6 DOF arm, WT motor control, and high power switch
2 Turnigy 7.2V 6K mA batteries, HK 6ch RC Tx & Rx, and charger
Arduino Mega 2560 and I also have an Uno and a internet shield.

Only things I plan on still getting is a camera and a router or wifi shield(still debating on that).

Now here is my dilemma.  Of all the research I've done for the past couple of months, I have yet to see any kind of codes available for controlling the arm with an arduino.  Here is a link of the arm I purchased: http://robosavvy.com/store/product_info.php/manufacturers_id/35/products_id/1595
I know the WT motor controller has 6 servo spots it can connect the arm with, but the issue is the coding needed for it.  I got the idea for this project by seeing a picture of the Wild thumper w/ the arm on it(http://www.robotshop.com/dagu-wild-thumper-6wd-all-terrain-chassis-aluminum-34-1.html). 

If any one has any experiance with this project, please help this noob out!  Am I missing anything else and mainly the coding needed to have the arm to work!?!

justone

Have a look at this:
http://www.circuitsathome.com/mcu/robotic-arm-inverse-kinematics-on-arduino

zoomkat

Bottom is some multiple servo test code. Below is some info on using sliders on a web page to control servos. It uses an SD card to hold the files that are uploaded to the control web page.

http://arduino.cc/forum/index.php/topic,152598.msg1146131.html#msg1146131

Code: [Select]

//zoomkat 11-22-12 simple delimited ',' string parse
//from serial port input (via serial monitor)
//and print result out serial port
//multi servos added

String readString;
#include <Servo.h>
Servo myservoa, myservob, myservoc, myservod;  // create servo object to control a servo

void setup() {
  Serial.begin(9600);

  //myservoa.writeMicroseconds(1500); //set initial servo position if desired

  myservoa.attach(6);  //the pin for the servoa control
  myservob.attach(7);  //the pin for the servob control
  myservoc.attach(8);  //the pin for the servoc control
  myservod.attach(9);  //the pin for the servod control
  Serial.println("multi-servo-delimit-test-dual-input-11-22-12"); // so I can keep track of what is loaded
}

void loop() {

  //expect single strings like 700a, or 1500c, or 2000d,
  //or like 30c, or 90a, or 180d,
  //or combined like 30c,180b,70a,120d,

  if (Serial.available())  {
    char c = Serial.read();  //gets one byte from serial buffer
    if (c == ',') {
      if (readString.length() >1) {
        Serial.println(readString); //prints string to serial port out

        int n = readString.toInt();  //convert readString into a number

        // auto select appropriate value, copied from someone elses code.
        if(n >= 500)
        {
          Serial.print("writing Microseconds: ");
          Serial.println(n);
          if(readString.indexOf('a') >0) myservoa.writeMicroseconds(n);
          if(readString.indexOf('b') >0) myservob.writeMicroseconds(n);
          if(readString.indexOf('c') >0) myservoc.writeMicroseconds(n);
          if(readString.indexOf('d') >0) myservod.writeMicroseconds(n);
        }
        else
        {   
          Serial.print("writing Angle: ");
          Serial.println(n);
          if(readString.indexOf('a') >0) myservoa.write(n);
          if(readString.indexOf('b') >0) myservob.write(n);
          if(readString.indexOf('c') >0) myservoc.write(n);
          if(readString.indexOf('d') >0) myservod.write(n);
        }
         readString=""; //clears variable for new input
      }
    } 
    else {     
      readString += c; //makes the string readString
    }
  }
}

Google forum search: Use Google Advanced Search and use Http://forum.arduino.cc/index in the "site or domain:" box.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy