PDA

View Full Version : [Project] New Post For Fresh Start On Robot Butler



ROBOTMAN
10-25-2009, 07:43 PM
My Old Robot


As you can now see I decided to rethink my robot butler. My previous version was unstable to say the least but it tough me a lot about computer controlled robots so I will dedicate some page space to that robot before explaining my new idea.
http://letsmakerobots.com/files/userpics/u400/DSC01208.jpg
Above was one of the reasons why my platform was so unreliable this solder job and the breadboard below made the robot messy and overly complex.
http://letsmakerobots.com/files/userpics/u400/P1010011.jpg
Using phidgets seemed like a good idea and in theory it was but in practice things went terribly wrong. First off phidgets are expensive and limited. You cant program them or modify them in any way. To build a fully functioning robot butler in theory you would need 3 phidgets totaling over $300 U.S.D. Also it would require three usb ports limiting your computers capability. Using encoders with phidgets is almost impossible because you really need to do it on the board not send it to the computer. That forced me to use an arduino for my encoders witch actually where just modified light sensors. Due to serial problems when I tried to interface it with python my encoders failed to help and my robot. It continued to drift and not switch from hardwood to carpet smoothly. Lets move on from controlling to my robots endeffectors.


For my robot I use bane bots geared motors witch a week after I bought them where discontinued. By the time I found out I needed special encoders for them they where canceled and I had to go with a home made solution.


Due to the high price of a phidgets servo controller I never purchased one so the motors where my only endeffectors.


Now lets focus on the body of the robot made of cheap screwed together wood.
http://letsmakerobots.com/files/userpics/u400/P1010001.jpg
A wooden frame caused problems from the start. The robot tilted slightly to the right and was so large it would sometimes crash into walls before the sensors could detect them. Using wood also made the robot look unprofessional plus it was hard to carry.


All these mistakes have helped me learn how to create a better robot. Thanks to this community I now have a good Idea on how to create my robot butler 2.0! Also I would like to say thanks too Adrenalynn and Inxfergy from trossen robotics they helped me out hundreds of times because I was new to programing and being 15 years old going way to fast for my own good.


Also I will keep my youtube video posted because some people seem to think the first one is funny.



__________________________________________________ __________________________________________________ _______________________________________


The New Plan


Use one controller that has its own memory and ability to control all my endeffectors with out input form the PC. I'm thinking this one.

http://www.robotshop.us/Images/big/en/dfrobot-atmega1280-mega-usb-microcontroller.jpg
You can find it here "http://www.robotshop.us/dfrobot-atmega1280-mega-usb-microcontroller.html"

I found these motor controllers online that can implement closed loop control for me.

http://www.robotshop.us/Images/big/en/devantech-md23-motor-driver.jpg


Its found here "http://www.robotshop.us/devantech-md23-motor-driver.html"

Finally the part of the robot that I am most excited to get. The base will look much more professional and be much easier to attach sensors to. Hopefully it will easily interface with my motor controller and arduino for simple encoder reading and speed control.
http://www.robotshop.us/Images/big/en/summerour-stinger-robot-kit.jpg
It can be found here "http://www.robotshop.us/summerour-stinger-robot-kit-3.html"


These are just my main parts everything I will use in this project is in the attached file labeled "partslist". Any suggestions will be majorly appreciated! My program language will no doubt be python for my computer and the stock arduino program for the arduino.


Hopes and dreams for this robot are basic navigation of my room! Not that that's easy but it would be nice if it could drive strait till it hit a wall then turn because that's more than my last robot could do.

My real hopes are that this robot will pioneer mapping and serving people with robotics. This means that any suggestions form this community will help.

I'm also willing to help anyone trying to do the same thing with ideas and coding. Creating a community of people trying to do the same thing would be awesome.


Ill keep updating this post with new information and code that I'm working on when ever I get a chance I promise not to neglect this blog post like I did before.



Funny Youtube Video Of First Robot Butler:
YouTube - Oops
__________________________________________________ __________________________________________________ ___________________________


The Build


At last I am starting my build. Parts are still coming as I get the money so things will start out slow.

My the first things I order have arrived and the motor controller and base will show up tomorrow. Instead of waiting I got started on the power supply board. My arduino will need 9v, my servos 5v, and my motor controller takes 12v. This will all be powered from a "12v" battery. This battery actually produces around 14v. To solve the problem I created a power board that uses voltage regulators to control the power.


http://forums.trossenrobotics.com/gallery/files/2/6/4/3/power.jpg


As you can see I still need to add my 12v regulator. Each regulator has an attached led that shows it is working. The red led shows that the unregulated power is working.

When I first started work on the power board I burned out 5 components by accidentally reversing the power. On the final power board I added diodes to protect against reverse voltage. Here is a picture of one of the early boards.

http://forums.trossenrobotics.com/gallery/files/2/6/4/3/burn.jpg
Finally here are some pictures of the space I will be working in as well as a picture of the 10 cell battery I will be using to power everything and my arduino I will be using until the arduino mega arrives.

http://forums.trossenrobotics.com/gallery/files/2/6/4/3/battery.jpg
http://forums.trossenrobotics.com/gallery/files/2/6/4/3/arduino.jpg
http://forums.trossenrobotics.com/gallery/files/2/6/4/3/space.jpg
http://forums.trossenrobotics.com/gallery/files/2/6/4/3/room.jpg

My first vision program I will later integrate into my robot. Tracks a blue object in roborealm.

accelleon
10-29-2009, 05:45 PM
From what I read the Arduino accessories are stacked off of the main controller.

The Shields don't have any top connectors so nothing can go above those they have to be at the top of the stack. That means you can only have one shield, but the shield can control up to 4 DC motors so that's what your stuck with.

I'm not familiar with Arduino but go back to each and every one of your links. When on the pages, scroll down and click on the "Useful Links" tab it has some libraries and manuals.

I can't recommend any sensors because again I'm not familiar with Arduino nor the connectors.

Adrenalynn
10-29-2009, 09:07 PM
Ummm. No.

They're holes. You can put any through-connector in them you want. I run three, four, five stacked boards all the time. My arm controller is three stacked.

accelleon
10-29-2009, 10:14 PM
Quote from Robot Shop User Guide (http://www.robotshop.us/content/PDF/adafruit-motor-shield-arduino-user-guide.pdf):

"No, at this time it is not possible to stack the shield..."

I'm guessing that you would need to do some hacking until they come out with a new version. I know you can stack as many other boards as you want but the shield doesn't have any top connectors.

ROBOTMAN
10-29-2009, 10:19 PM
Actually there may be no need to attach multiple shield. I plan on not using the Xbee shield and going for a direct connection. I might add a screw shield though to make sure my connections make good contact.

lnxfergy
10-29-2009, 10:20 PM
Seeing as it's a kit, Jodie would be right that you can change out the headers to a stackable type. However, the manual is alluding that you couldn't stack two of the boards and hope to control them separately (since the wires are routed the same). You could stack a motor and XBEE board IF they don't overlap in IO usage (not sure).

-Fergs

Adrenalynn
10-29-2009, 10:27 PM
Quote from Robot Shop User Guide (http://www.robotshop.us/content/PDF/adafruit-motor-shield-arduino-user-guide.pdf):

"No, at this time it is not possible to stack the shield..."


I think the translation of that is: " We don't know how to do it, or at least don't feel like supporting feeble user attempts to do it, so we're just gonna punt and say it can't be done"

Nothing one wouldn't expect from Robot Shop, imho. Alas, everything one reads on the Intarwebz isn't necessarily gospel.

In fact, one of the XBee Shields out there even ships with the long headers necessary to stack.

As Fergs aptly notes: one does need to be careful to pay attention to I/O utilization. There's no safety-net to keep anyone from doing something... regrettable. But even that doesn't preclude the stacking. May just need to reroute pins. Greenwiring isn't all that tough, but it's good for voiding warranties. See attached signature.

accelleon
10-30-2009, 02:26 AM
They probably decided to be lazy.

Well anyway it depends on the amount of motors your going to need and what type they are. If your using 4 DC motors for the drive then you'll be fine. But unless you intend to do some hacking you need to stack the boards with the motor shield on top.

Al1970
10-31-2009, 12:32 AM
Hi:

I know the people here are going to bite my head off for saying this but I think you are going too high tech. You are spending hundreds of $ to run 4 motors ! You have 100,000's more computer power then it took to send a man to the moon. The only thing you are really learning is how to string other companies boards together. Put a few PICs on a board learn how to build a H bridge. For just about nothing you can run all the motors and servos your heart could want.

Al

lnxfergy
10-31-2009, 12:37 AM
Hi:

I know the people here are going to bite my head off for saying this but I think you are going too high tech. You are spending hundreds of $ to run 4 motors ! You have 100,000's more computer power then it took to send a man to the moon. The only thing you are really learning is how to string other companies boards together. Put a few PICs on a board learn how to build a H bridge. For just about nothing you can run all the motors and servos your heart could want.

Al

Actually Al, no head biting off here. A number of us have been saying nearly the same thing before. There's an earlier thread, with a lengthy discussion of how to use an Arduino + an H-bridge to implement closed-loop control. The OP has an Arduino, had been working on it, but apparently decided that was not the route he wished to take.....

-Fergs

Adrenalynn
10-31-2009, 01:13 AM
You get no disagreement from me.

ROBOTMAN
10-31-2009, 12:50 PM
Perhaps I missed something or I'm just not sure what you guys mean. I believe that if you read my post you will find that I am using an arduino and a motor shield "a slightly more expensive H-bridge" for closed-loop control. Its not stacking a few pic's together on a breadboard cost wise but at around $60 total for a professional board that will have less possible problems I think its a good deal.