Well I finally did it. I finally pulled the trigger and started to build a 5/6 axis robotic arm. This is an ongoing project so please check back from time to time to look at the progress and offer any ideas you might have who knows I just might include the changes. I have alot done so far. I will try to make this a step by step. If any of you need clarification or just more info on how i did that or where do i find that bit of software or that part etc. just drop me an email. So with that said lets get started. Please forgive any grammatical or spelling errors I am in a rush to finish this project please let me know if you see any.
If I win the Laser cutting machine. I will use it to produce more robots. After all even robots need skin. Not to mention all the projects I can make with such an awsome too. I use a larger one like it before and it was amazing the speed and quality of the finished parts.
So to begin with any robotic project no mater how complex you must plan, plan, plan, and then finally figure out or layout how you will go about it.. or "PLAN"...
Use your head when building anything. Use safety glasses when running mills drills or any power tool Your eye's are just little water balloons and can pop like a grape so protect them. I don't have time to create an instructable on how to replace your eye.
You're fingers hands and other appendages will lose any battle you engage in with a cnc, lathe or most power tools. Don't take them for granted. I have 30 years experience with machine tools and the building of robots I will try to make this easy. If you have a good design you can send out the drawings to have the major part fabricated fairly cheaply. If you don't know how to use a tool then learn, take a class, ask me or learn the trade. These types of machines have a mind of their own and must be respected, Safety first.
Now That the safety brief is out of the way lets get on with the show.
This picture is my last concept before i began. I created this layout with solidworks. that way i could test for any interference from moving parts in order to make sure they would all fit together just right. I also wanted to test for load bearing and lateral forces, as well as motor torque and loads. This information though not needed right away is a must for later on.
The mechanical layout is just a small piece of the design you must also consider all the programing that will be part of any robot you build especially a 6 axis robotic arm with inverse kenimetrics. More on that later. Once i had the basic layout I needed to make sure i cold afford the parts necessary to build this monster. I had to source the motors and find a supplier, as well as the gear/ drive train for each axis.
The motors i settled on were found on Ebay for 30.00 each. I bought 10 because i want to build more that one robot arm.
Step 1: Motor and Gear Choice
This picture shows two of my motors with a controller. The motors as mention above were bought on ebay for 30.00 each. They are brushed DC motors and run on 60 volts peak. up to 8 amps. these are strong stable motors perfect for the job. A few things you need to be aware of when building any electrically powered device driven by motors. one is the voltage you plan on using this gets into available power sources. You have to be able to power your creation once you build it. I choose 60 volt dc because I could easily find a DC power supply for them, or if necessary build one myself. I will show you the power supply later on. You also need to consider the shaft size of the motor. This is important because you need to be able to find a suitable and low cost yet capable gear reduction system for the robot.
I chose to use a 10 to one reduction encapsulated in a planetary arrangement. this gives me great space savings as well as an efficient power out with good torque characteristics. These pictured were found on the internet and brand new cost me 150.00 apiece. Choose wisely when selecting your gear reduction or drive system. I made a mistake when i chose these units they should have been 30 to 1 not 10 to 1 as a result I will need to add a bellows system to help counteract the extra weight to avoid wearing out the motors and burning up the power supply. I will show you how I was able to fix this issue with very little effort though, sometimes you have to roll with the punches to get the job done. My solution was simple yet elegant and effective. I will install the Bellow system once I receive the parts i ordered should be here next week or so.
The last item you need to be aware of when picking a drive system is not only the motor and the transmission but the feedback system needs to be addressed. All robotic mobile systems need feedback otherwise they will not know where they are in relation to a known point, this is key to control of each axis. I have a 5000 count quadrature encoder on each axis this give me with the 10 to one gear reduction over 400000 counts per axis revolution, and as you may know the more resolution you have in your feedback loop the more accurate the robot is going to be. You can see the encoders mounted here in this pic they are located on the end of each motor with the grey cap. Renco makes these encoders.
Step 2: Controllers
Once you have the motors and transmission and feedback your next choice will be how to i power and control these babies?
For these motors I chose to use a Roboteq motor Controller "SDC 2150" this controller is just awesome It can control two 50 volt DC Brushed motors at the same time, and handle the encoders, and have digital pin-outs as well. not to mention the ability to store your program on board the control as well. it also comes with very good configuration software with a mild learning curve and some of the best tech support i have had. I cannot recommend them any higher. You can find them here they have many many different controllers available for low power to high power there website is:http://WWW.ROBOTEQ.COM check them out you wont be sorry. These controllers also have usb, serial, analog and pulse control abilities built right in. you can configure any port to run and digital, analog, pulse and the have can bus as well for networking these together. Go and get the PDF from the website.
The next thing i did was to build a cover for my motor controllers.
for this I used my 3D printer pictured here.
This Printer is a godsend it makes my life so much easier. Just make your part in solid-works and send to printer, that's it. you can see in this next picture the three controller boards with PVC covers made with the printer. Nice, each controller drives two motors. total 6 motors 6 axis lol for those who anrent good at the math. you can also see in the first picture showing the wires on the motor controller. There are some near my thumb. These are PWM inputs and one power output for RC or radio control. Just like those remote controlled airplanes and cars you see all the time. This comes with each motor controller. This is perfect for me. I am going to drive each of these axis with a PWM signal. I will show you how I build the circuit and soldered the boards so I could connect my computer to the drivers and control the robot.
Step 3: DA BRAINS
The next Item i had to choose was how to control the beast once completed. I didn't want to use my desktop I have too many games to play on that baby. I find that I get very cranky if I don't get my Battle Field 3 fix once a day. So I looked around the net for a while thought about this pc or that one, weighed the pro's and con's talked to some of my friends on the matter and after some deliberation and begging for funds from my wife decided on this beauty . It is called a Pico Pc. very small and for powerful for it size. a full 1 GHz processor, with 2 gigs ram, and hd video output with 4 usb2 ports 1 serial port just what i needed. one sata input as well as ide input for hard drive. It came with all the cabling needed. Though I had to purchase a separate power supply. pictured here.
For the hard drive I wanted to avoid standard platen drives or mechanical hard drives, in doing so I would avoid the failures associated with harsh environments not to mention the bumps and vibrations that were bound to occur. so i chose this one its a 64 GB solid state drive. Nice. This will run windows xp pro as my operating system, without a hitch. Once I get the OS installed I will pare it down to a minimum to reduce its volume and speed up the program to run my algorithms.
Step 4: Interface
Now we have almost everything we need to start getting our hands dirty. One last detail I needed was how do I talk to the robot? How do I make programing this creature slick and so easy that anyone could program and run it without any training? I searched the web and found a slew of possibilities for example there is the Lynxmotion serial servo control board. this is a good choice no reason not to use this one. trouble is some of the software though just fine and works great, requires some programing knowledge. If this is your bag or you just want to give it a try the get this one you wont be sorry, However I wanted an even easier way to program my arm than that.
So I build my own serial interface board and used a different software to control it. HVlabs hand wrote this code. and has a schematic that you can use to build program and run this little baby. I reworked all of this hardware and build my own version. These pictures show the board layout, the schematics, and the are if you want to etch your own boards. http://www.hvlabs.com/ this link you will find all you need to build your own board. If you cant or don't want to drop me an email I can build them for you.
Step 5: Lets get this party started.
Now that I have selected all my parts, and have the design done, I need to start the building process and purchase all my crap for this major undertaking.
First is the interface board. Once I knew what i wanted i started with the board. I needed to make it smaller to fit in my robot control box, so i redesigned the boards from what Olly made from HV Labs Website. Pictured is my board and layout. I used PCB software, it is design software that is free on the internet and once you are done you can have the boards made for you cheap. This is what i did. It works great. You can see the great job they did with the etching.
You can see the finished board after i soldered all the parts onto the board. It came out great. Now that i have the board and the control software that will drive the robot I need to program the microprocessor that drives this new board it is a hex file for the pic 16f84 chip HV labs has this file free for the download I had to buy a chip programer for this purpose just Google search for a viable programer for the pic chip sets. they are cheap, you can also build one if you want to.
I was worried that i might have made a mistake in designing this new board. Not to mention the issues if you were to solder something wrong or put a part in incorrectly.
Happily this was not the case and the board work like a charm the first time i hooked it up. I have a video of it as well as others that I will add to this indestructible soon. That way you all can laugh at my ineptitude at building this creation.
Step 6: Bare Bones
Enough about software and control boards lets build the arm...
With my arm design done all the sizes and parts were already called out on the get go. So all I needed to do was place an order to the local Water jet shop to cut out my bare bones parts. These consisted of the arm segments. Segment ends and motor mount attachments.
Once I ordered the parts to be water jet cut. I went to work on the first major piece of the robot arm which is the Base. this is a complex piece that needed to be heavy and stable it will carry the full load of the robot and whatever it is carrying. Pictured is the main section or the very bottom of the base.
This first picture has a hole in the center where the motor shaft will insert. I will also cut a key way here for the shaft key to fit. I did this right on the lathe using a key cutter, and the tail stock mount to force the tool through the steel.
I also turned the base down this is hard steel or known as hot rolled. It finished nicely, I then turned a pocket form the middle to create the area where my bearing would ride. This is one of the most important pieces for the robot. This is were all comes together and the primary pivot is located anything wrong here will cause issues with travel and may not allow the arm to rotate properly.
Step 7: Bearings you need to get your bearings...
Once the base was done I needed to work on the bearing table. This is Totally my design here, so you may not understand the layout. It is not a standard layout by far, but it works for me with what I had in house.
This piece was cut from 7136 Alum. it is as hard as steel and stronger, very light. I cut this into a hex pattern and added 6 special hardened shoulder bolts to hold these specially designed bearings in place. The bearings are standard 1 inch diam ball bearings Sealed with a 1/2 inch diam hole in the middle. We rounded the outside diameter so that they would work more like a ball bearing and have very little surface contact to ease friction and make the turning oh so easy.
I then cut a large diameter hole in the middle to hold yet another bearing that in turn would fit onto the boss left over in the center of the base. See the pictures. After cutting the hole i used the flat sides to help me jig up the part so I could drill and tap the bearing mounts. The shoulder bolts actually fit deeply into the part so the shoulder is recessed behind the bearing to help hold them, and add support to them.
After I finished that I then removed all of the bolts and bearings and turned the whole part to make the outside round instead of a hexagon. This allowed the locking plate to fit tighter and support the bearings better.
Step 8: Round about
Round and round she goes where she stops nobody knows. My next step was to make the lock down plate. This plate would lock down the hex bearing block from the previous step onto the base. This piece was cut again from Hot rolled steel. It is very strong, and heavy.
First I needed to turn the raw material down, I then cut a hole in the center, I did this with our Lathe which made it easy. Once the hole was cut and the part cleaned up and faced. I then cut the pocked where the bearings would be located. Once that was done I programed My CNC mill to drill the holes in the plate so I could bolt this part to the base. I also programed the CNC to drill and tap the base so I cold finish this piece.
Step 9: Arm Wrestling
Now that the base is Complete I Need to start on the first motor mount and the first moving powered part of the robot arm that is the base and pivot point.
This part I programed for my mill to create. This is made for 6061 alum and is custom fit to the motor where the planetary gearset will mount . this will lock the motor to the robot. With the motor inserted in the large hole you see the 4 bolt holes that will lock down the motor.
There are to be 6 holes on each side where the side rails will attach. More on that later. See the last pic here you see the motor mounted. I also chamfered the holes to allow the bolts to sit flush with the side of the mount. see the video.
Step 10: The Basics
Now that the motor has been attached to the main mount I need to build the support and structure to add to the base. This is a complex part and will need to be strong and stable.
As you can see this is the first half of the base interface. The motor mount attached to the pivot segment with the carrier bearing in the middle this will help to avoid slop in the arm as it travels around the base. I have created a race around the OD of the base that these bearings will ride on. I also added a forward support and mount for the soon to be added pneumatic cylinders that will act as the billows.
Also you can see the cutout for the next motor that will be added to this part, and will be the second axis of the arm. This will carry the bulk of the weight and soon will be the cause of my turning to large quantities of alcohol to relive my stress from the inability to tune this part of the arm, Once I was able to make the motor run freely on the base it tuned up perfectly.
Step 11: Dem Bones
Ok Base done, pivot and first two motor mount done. I finally received the arm parts from the water-jet folks. They look great. a but load of machine works still needs to be done.
As you can see the parts fit together great. After I tapped the holes and machined the ends see videos.
In this video I am hand tapping the motor mount for the end of the arms. You can see that in some of the pictures the rough test assembly of the parts. She is not ready to run yet just want to make sure all is going to fit right.
Looks great. just like I Designed her. To assemble the arm pieces I needed to also Chamfer the holes I had to drill so that the bolts would fit flush. I also had to start on the end motor mounts.
Step 12: Ending it All
Now I have to finish the mounting brackets for the motors and the bearing mounts for them as well. Here in this pic you can see the very hard alum 7135 alum hard as steel and light. I am using this again to hold the large diam bearings that will fit around the motor and create a pivot point for the arms.
I cut these square just to save time. then bored a hole in the middle and pocketed the arm segment with 3 tapped mounting holes at one end.
I then hot pressed the bearings into the alum holders.
As you can see in the video I also had to turn down the motor housings just a little bit so the bearings would fit perfectly. I then assembled the arm parts to test fit everything.
Now that the motor has been turned to the right size. Here is a video of the fit of the bearings and the motor.This is the motor mounted with bearings. Nice fit. I am very happy with how this turned out.
Here this video shows the arm assembled with the bearing mount.
Step 13: The Gun Show!
Now to add the arm components and test fit the whole enchilada except for the end effector. that will be last. I have placed these pictures in order of assembly you can see the arm come together now. I used 5/16 13 thread bolts for this the have a flush mount to avoid hanging up when passing other parts during movement. The bearings mounted beautifully. Over all I was very happy with the assembly. Once the arm was assembled for the first time I needed to make sure there was free movement for all the parts and nothing crashed into each other.
With but a few minor issues all fit amazingly well. This is a testament to computer aided design almost no mismatch all parts fit exactly like the should have. The only areas that gave me any trouble were those done manually or there was misread setup sheets.
There are still more axis to add to this robot arm however they are not ready to be attached. I have just ordered the end effector part, like the smaller motors gear reduction and encoders these i will add to this once i received and machine the parts to mount them.
Step 14: Software and Control
Now that I have the arm 80% done I can work on the control of it. In these videos you can see the first test run of the arm. I removed all the major arm extensions to avoid crashing the arm during testing of the software and motor controllers setup an tuning procedure.
I moved the assembled robot to my office for testing and tuning.
This video shows the robot motors running via HvLabs software for the first time.
This video shows the robot running in tuning software for first time without the arm segments.
Now that I can drive this baby lets see if my idea of easy programing will work. in this video you can see the robot moving via our motor computer interface board and the software from HVLabs. This is Great!
Step 15: This Blows
I finally received the air cylinders for the robot arm. here is one of them. I also show in the next pic about where this one will go. A lot of people were worried that the robot arm is too week and they are right it is week but with these bellows system that will be fully programmable via pwm and adjustable for added load I will be able to keep my design light and nimble and still be able to move with some degree of accuracy. Keep in mind this is a prototype and is in no way complete. The design will continue to evolve. And I will keep this instructible up to date as much as I Can.
Notice the pivot point at the bottom near my hand that will mount on a flat area already assembled into the arm. This kind of bellows system is not uncommon by far. You can find a version on many CNC machine centers like a HAAS VM series machines for example.
I will have to build a special ring that will mount to the motor and attache to this cylinder. Once I get it Caded I will post that.
I also added a special pressure regulator for this system it is designed to maintain the pressure very accurately around (.1 %) this will allow the arm to basically be neutrally buoyant and the motor will have most of its torque available for lifting the payload.
Step 16: Serial Killer
Here made a new serial interface cable. so that i can plug into the motor controllers and program or trouble shoot them should i have any issues.
Step 17: Plugged
Next I bought these RJ45 jacks and built my quick plug in for the motor controlers and added these to the wire loom of each of the axis.
I used heat shrink to cover the wiring and solder job the look good. I hope the work right. When I soldered them to the db connector i made sure the pin outs were correct.
Step 18: Mount Control/wire looming
I mounted this control near the motors to cut down on rf interference also made it easier to attache the control wires.
As you can see I used a Velcro strap to hold the motor this is temporary as this is a prototype I may find that I have to move them. So I will mount most of my crap temporarily. This first pic is before I wired all the contacts.
The second pic shows the finished install of the motor control for the 3rd axis and the wiring complete. I will add shrink tubing later once I am sure all is good on this control.
Step 19: Pandora's quandry.
Time to mount the PC and Serial boards in their box. This pic shows the pc with the keyboard and mouse outputs and the power supply, as well as the serial board.
There are a lot of holes to drill and allot of parts to mound. I have to keep in mind where my wires are going to come into the box. and where they are located in reference to the robot arm itself.
Step 20: I/O's
Next I made yet another RJ-45 cable with female end. and added the male end to the other side so I could make a pigtail jumper from the PC inside the box to the network interface.
I then mounted this to the side of the box and routed it to the pc.
Step 21: Boxing
I then added the holes that would mount the power switches to the box. I also added the main fuse to this panel.
Step 22: Spagetti
Once I finished that. I then went to work mounting the box to the robot. keep in mind that I wanted to keep all the controls pc drivers everything mounted with the robot arm this would limit the cables I would have to run across the floor and eliminate any issue of cable binding or cutting due to robot arm movement. the only cables that would be present are the main power and the air line that will control the end effector.
Now that the control box is installed I can rewire the power and encoder cables for the first test install of axis 1 and 2. as you can see its a bit of a mess. I dont like having all that wiring hanging out where it can get cut or damaged.
Step 23: AXIS of POWER
I finally got the 3rd axis up and running check out the video. I also ordered the finally parts for the end effector from eBay I hope the get here soon. I really want to get this project done and testing. The last things I need to do is install my operating system and configure my pc with all the drivers. then test with the software. and then finish my end effector/gripper and tune the whole robot to handle the weight. I also need to get my bellows installed and running.
I ordered a new set of gear reduction they are 100 to 1 ratio instead of 10 to 1 i need the extra power for lifting heaver payloads I hope those get here by next week.
Step 24: Losing my mind.
In this video I am installing windows xp pro on the robot arm brain pc.
Step 25: Look Mommy no hands.
Ok now we are getting somewhere. The pc is fully installed, the control board is up and running and the software is debugged. In this video though I know it is boring, but I have to show the robot running all on its own. As you can see the arm is in full auto mode and running self contained.
Step 26: So Squeezebly software..
In this video from HVLabs you can see how easy it is to setup and run the software with no programming experience what so ever, just using a standard joystick to control what ever type of robot you might have created. This is why I chose this interface the most difficult aspect of any robot is integration or making the hardware and software work together. This bit of software saves just tons of effort. So if you plan on making any robot not just an arm, but anything that has a servo on-board then I recommend this software.
Step 27: One Ring to Rule them all.
In this step I am adding the bellows load compensation system I designed. This setup will help with the weight of the robot arm and give me the ability to lift heavier payloads. Erlier I mentioned this system was needed becuase I miscalculated my load capablities and ordered too week of a gear reduction. I have better ones on order to fix that however i till wanted to have a larger payload and the ablity to control the payload and adust for all sorts of situtations. After all this is a research prototype. The picture here is the solid-works model I made for the air cylinder to mount to in order to give more lifting power. This one fits around the gear reduction system and the small hole 1 of 3 at the bottom is where the end of the cylinder rod attaches.
The next pic shows the finished part already milled and ready to mount to the motor as seen in the third picture.
Step 28: Tension Mounts
Once I installed the ring I then added the air cylinder this is a 1.25 inch diam by 10 inch throw, push pull cylinder by Bimba Inc.
The mounting hardware is supplied by the air cylinder manufacturer. The three small holes are for adjustment encase I needed to make any kind of adjustment to make it all work.
The next pic shows the cylinder attached. Now I can make changes and mark where my other end of the cylinder will mount. I will also need to drill and tap them to mount.
In the next pic you can see the other end bolted down. this is the first of two bellow I need the other one will be for the other extension. I will also be adding a very accurate pressure regulator to control the, for lack of a better word air spring.
The final pic shows the full extension of the arm and the chair give you some idea of the scale of this beast.
Step 29: Stay Tunned
Ok Got a lot done here. I still need to finish the end effector as mentioned before. So please check back from time to time to see the improvements to the robot. I will be running testing and upgrading and refining the system as I go. I hope to eventually sell these robot arms with many different tooling options for the little guy who cant compete with the big corporations. By cutting the cost of automating their operations, and by making the programing so easy that a 10 year old can do it. If we make this type of system available to the masses we can put more people to work.
Yes you can create jobs by automating. when we automate it allows us to compete for manufacturing jobs that have been shipped overseas. by cutting costs we can bring it back home. Then teach our workers to maintain the robots and build better ones. No denying the facts the world is automating and we need to be right up front. Cheap robots will bring us back from the brink. At least I hope so.
Step 30: Let the force be with you.
I have added my latest control. my epoc headset. this allows me to control the robot arm with my mind. check out the video's
you can see the contacts that touch my head. next you can see the video that shows the software. this takes a long time to program and train your brain and the control interface.
Finally I am driving the robot with my mind. you can see that the bellows are working great. This system rocks. I love it. check it out.
Step 31: The BASEICS
added the pedestal to the robot first, and second pic is the steel plate with holes drilled to receive the pivot base from the robot arm
After test fitting the robot arm we sent the base out to be welded and added the gussets for support. We then painted the whole thing blue.
Step 33: 4TH AXIS
After the pedestal was done we added the 4th axis you can see added drive and encoder wireing for this axis we used the same type motor and a 100 to 1 gear reduction drive for this axis. This is the same reduction used in axis 3, and 2.
Axis 1 uses the 10 to 1 gear reduction.
With the arm mounted I added the bushings for the 5 axis and made ready to mount.
Step 34: 5TH AXIS
Now I added the wrist. This is a much smaller motor with gear reduction and encoder. I bought it on ebay for 35$. works great. I took a piece of 1/2 inch rod drilled and tapped it to receive the motor end shaft and ran it through the bushings I used a piece of angle iron to build the motor mount.
To this I will add the end effector for the gripper.
Step 35: Mass EFFECTOR
Now you can see the end effector added to the arm. I also reworked the wiring harness for the motor. Good rotation very good holding power. you can see the last motor controller added to the end of the arm this not only drives the 5 axis but drives the solenoid for the end effector.
Step 36: PC
I removed the original atom PC from the gray box and instead placed this touch screen tablet to the robot for control I added a table mount for the tablet to mount to. It interfaces with the control boards in the box via a usb to serial cable works great. running windows 7 .
I made the tablet easily removable via the use of Velcro straps glued to the bottom of the tablet and to the table. The same control software is running the arm.
You can see how the table mounts to the robot in the last pic.
Step 37: YOU LIGHT UP MY LIFE
Finally I added a safety beacon to let anyone near the robot that it is powered up. This is a small 12 pulse light self charging strobe. once power is applied this will turn one and flash I also use the stand that this is attached to to attache the air supply line which is hanging from the ceiling.
this robot is fully self contained except for 110 power and air line bot come in from the top to avoid entanglements, and or a trip hazard.
Step 38: DA BIG FINNISH
I will be adding a video of this arm in full action soon please stay tuned.
And thank you one and all for taking the time to read my Instructable.
More to come