Quadbot - [FROG]

UPDATE(2011,JAN,1):

Change to Arduino MEGA. Distance sensor, laser module, 2nd switch regulator, Two 10mm RGB LED and relay had been added on new face plate. Mechanic part has 100% done for now but programming still lots of work to be improved. However I am gonna mark it as 100% done and not update this robot anymore. Don't wanna keep same robot on home page over and over again. But I will post related updates in forum since I am sure I will have lots of problems while programming this guy. Drop me a line if you have any suggestion or ideas, I'll be glad to hear any voices. Thanks! BTW, Happy 2011 to all LMRers.

 

New face plate and components.

 

New plate installed.

 

Two 6 Switch Regulators and external 3.7V lipo for LEDs only.

 

Motion sensors in the ass...:P because its to sensitive and noisy.

 

Each of front leg has SHARP distance sensor below the knee.

 

 


 

UPDATE(2010,DEC,12):

Greeting to all LMR friends and wish you all have wonderful coming holidays.

I have been working on the "walking" progress of my FROG. After searching around the IK programming and fooling around all forums to ask stupid questions. Kinda give up to keep asking people and decide to do it in stupid way by hard hand coding. I wasn't got too much trouble to have it turn around either right or left, the hardest part is to have it walk straight forward or backward. When the programming meet the real world is just totally different story. 

The IK math just way too much over my head but I still want to learn it even my brain is getting old. Anyway, still welcome if anyone could support any hint or better way to have my FROG walking properly. Thanks for watching.

UPDATE(2010,DEC,03):

Finally servos are all working now, add one more battery for servo board and one switch regulator to reduce the voltage from 8v to 6v. That will prevent more servos got killed(3 of them been killed in action without regulator protection). Thanks for all great friends help me in all kinds of suggestion and ideas. Forum link:

https://www.robotshop.com/letsmakerobots/node/23720

XBEE, LED indicator and buzzer has installed. Basic hardware had been installed. Few distance sensors still on the way. Video had been updated as well. Now is time to move on IK programming which I think it's a greater challenge for myself. Hope to get it walking soon. Forum about IK if anyone could help:https://www.robotshop.com/letsmakerobots/node/23741

 


 

I am new to this robot field and sorry for poor English but I will try my best ;)

This is the bot that I use the left-over parts from Phoenix and Tetrix Mindstorm. I have played a bit Arduino and thought it might be good to give it a shoot to see if Arduino could handle complex multi servo control.

 

Here we go, start combine parts from lynxmotion mostly.

 

Most of silver looking brackets are from Tetrix which the holes are bigger than parts from Lynxmotion.

 

Put a Arduino and there's still planty of room for battery and other sensors.

 

Now I am facing the problems for servo control on Arduino. It seems not quiet right base on how I code it. I will post the code later and see if I am lucky to have someone show me the light here. However, I will keep this update. That's it for now...

Update:

Thanks for Ro-bot-X, Ezekiel181 and all people helps me. Servos needs external power, period. I have try to connect 6 servos it works perfectly as video. They move smoothly. However, I guess this servo shield doesn't like MEGA,1~9 pin doesn't react at all. so I tried arduino duemilanove and It seems working. All 16 pins shows the correct pulse from oscilloscope...

Bad news comes... Stupid me!!! I connected 12 servos pin in reverse(S goes G, G goes S)!!! Dame!! the power input reverse too!! (V+ goes G-, G- goes V+ that kinda stupid). Then I saw little smoke came from some where and soon I turn the switch off. I hope everything is not too late. I correct those pins and power in proper place now but the data from oscilloscope seems bad, the wave is a mess. very sad now because not sure if I kill the servo shield or arduino itself or even worse, SERVOS!! Ahhhhhhhh!!!

I just done some test now in both arduino and mega w/ ServoShield. The pulse seem the same mess. I hope just replace these two 4017 or capacitor will solve everything. 

Anyone has any idea which part might damaged from situation like this?

4 leg walker

  • Actuators / output devices: 4 Hitec 485 servos and 8 645MG servos
  • Control method: Auto & XBEE
  • CPU: Arduino Mega 1280
  • Power source: 7.4V LiPo 2800mAH x2 && a 3.7V LiPo
  • Programming language: Arduino IDE 0021
  • Sensors / input devices: Xbee wireless
  • Target environment: indoor, outdoor

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/quadbot-frog

Great looking robot!

This is going to be a great looking robot and even with it’s power off, it’s going to be a great conversation piece :slight_smile: Looking forward to see how this evolve.

Nice Look!

Nice look to your quad!

I hope the coding issue can be worked through easily.

Once it’s debugged, will we see video?

This is beautiful. I need

This is beautiful. I need one of these.

This may be of interest

Sweet chassis, cost?  the TLC5940 PWM driver may be an awsome chip to use with your bot for handling servo control.  Sparkfun sells it and has a link to an arduino library:

http://www.sparkfun.com/commerce/product_info.php?products_id=10136

Look forward to your progress and a video.

Thank you for the link. I

Thank you for the link. I will search for more detail and hope it works!

I will post the video. well,

I will post the video. well, if it moves as I expect. heehee~

Just tonight I was

Just tonight I was contemplating making a quad legged walking robot. I hope your project works out well.

NICE~

I was thinking about this board that I never heard of it before. Check out  this video

http://www.youtube.com/watch?v=biA7AhWRvpU&feature=player_embedded

I am doing some research about this one.

Hi Hardmouse,your robot

Hi Hardmouse,

your robot looks great!.  

regarding the problem, does your program and servo controller continue to send pulses to the servo to hold current positions, or does it stop sending pulses once you stop moving the slider?

Thanks!!

This is the point! I don’t know how or what does it means “STOP” in Arduino. I guess it keep sending cuz I don’t see any of my code has “stop” line. Thanks for point it out. I will post the test code I have so you guys can laugth at… I mean point it out which part went wrong in my code.

 

Sure! Share your fun with

Sure! Share your fun with us! I’d love to see if you got anything in progress~

I will have this update~

I will have this update~ thanks!! :wink:

you are saying you dont have

you are saying you dont have a STOP command in your code, but I guess you need to make sure your servo controller continues to send pulses even after your code is no longer sending the pulses.

if you stop moving the slider, and then try to more a leg in any direction, will all the servos in that leg fight you and try maintain position, or do they allow you to move the leg?

if they resist you, the pulses are continuing.   if they allow you to move the leg, then the controller is no longer sending the pulses for the leg to stay in the right position.    thats the problem your having, correct?

#include
Servo F_R_H;
Servo

#include
Servo F_R_H;
Servo F_R_M;
Servo F_R_L;
Servo F_L_H;
Servo F_L_M;
Servo F_L_L;
Servo R_R_H;
Servo R_R_M;
Servo R_R_L;
Servo R_L_H;
Servo R_L_M;
Servo R_L_L;
void setup(){
F_R_H.attach(0);
F_R_M.attach(4);
F_R_L.attach(8);
F_L_H.attach(1);
F_L_M.attach(5);
F_L_L.attach(9);
R_R_H.attach(2);
R_R_M.attach(6);
R_R_L.attach(10);
R_L_H.attach(3);
R_L_M.attach(7);
R_L_L.attach(11);
}
void loop(){
int valL = analogRead(0);
int valR = analogRead(2);
valL = map(valL,0,1023,0,179);
valR = map(valR,0,1023,0,179);
F_R_M.write(valR);
F_L_M.write(valL);
R_R_M.write(valR);
R_L_M.write(valL);
F_R_L.write(valR);
F_L_L.write(valL);
R_R_L.write(valR);
R_L_L.write(valL);
F_R_H.write(valR);
F_L_H.write(valL);
R_R_H.write(valR);
R_L_H.write(valL);
delay(30);
}

This is what I have for testing if servos all move at once.

I have 2 sliders and 10 485HB servos and 2 645MG servos.

Any ideas?

using just 2 servos, not 6,

using just 2 servos, not 6, perform this test:  stop moving the slider, then try to move the leg with your hand - what happens?   does it allow you to move it, or does it resist and try to stay in same position?

2 Servos works fine. I have

2 Servos works fine. I have 2nd video on top that show’s the result of 2,4,and 6 servos. 2 servos was fine, 4 start getting STOP problems and 6 is totally out of control already.

If I don’t move the slider the servo won’t let me to move them or if I force to move it, they will turn back to the position. First 2 servo are 645MG which is stronger than the other 10.

I tried 4 as well, I can move them easily and they will go back to position where they suppose to be but minor problem.

6… start losing control…I have the video here:

http://www.youtube.com/watch?v=9ZgwYx3zgU0

How are the servos powered?

How are the servos powered? They need 6V directly from the battery and a lot of amperage. Each servo needs at least 1 amp when force is applied to it and it tries to maintain position. 

This is where I got confused

This is where I got confused too. I connect “7.4V 5200mAh 30C lipo” to Arduino directly, I wonder how do I separate the power for servo/sensor board and arduino individually. Or how to manage the power to have better result. Thanks for your help~

Hey, nice work. When you are

Hey, nice work. When you are on tp of the servo issues, you may like this tip to ajust the walking:

https://www.robotshop.com/letsmakerobots/node/24