Close

Does this project spark your interest?

Become a member to follow this project and don't miss any updates

0%
0%

5 Axis Robot Arm

Building an open source robot arm for makers and small businesses

Similar projects worth following
In September of 2015, a five axis industrial robot arm able to lift a kilo started at $10,000 USD.
In October of 2015 Marginally Clever introduced the Evil Minion and brought the starting price down to $2000.

I see an opportunity for low cost arms to serve small industry, hobbyists, and schools. I want to drive the cost down even more by making an arm that others can tinker with, improve on, and build community around. I'd like to see two arms assemble a third.

Tell SpaceX and RocketLabUSA I need their rockets - lets put Marginally Clever Robots to work building a lunar colony.

Like what you see? Support me on Patreon.

  • 2 × linear actuators + controllers and just a soupçon of joy
  • 3 × NEMA17 stepper motors + controllers https://www.marginallyclever.com/shop/motors-servos/stepper-motor-nema17-12v0.3a
  • 1 × MEGA 2560
  • 1 × Custom controller PCB shield for MEGA
  • 10 × bearings of various types
  • 20 × 3d printed parts
  • 35 × laser cut parts
  • 6 × touchless continuous hall effect angle sensors
  • 2 × metal brackets
  • 1 × PC power supply slim profile, 500W

View all 14 components

  • Added Andreas Hoelldorfer's arm to Robot Overlord

    Dan Royer05/03/2016 at 20:03 0 comments

    @Andreas Hoelldorfer has been building a 3D printable robot arm. It's making progress faster than mine.

    https://hackaday.io/project/3800-3d-printable-robot-arm

    His forte is hardware and mine is software. It seemed only reasonable to combine forces. So I asked him to share his Inventor model files with me, and then I imported them to Robot Overlord.

    https://github.com/marginallyclever/Robot-Overlord

    Here's a quick video of forward kinematics in action.

    https://www.instagram.com/p/BE9AE8YIfB7/

    Inverse kinematics shouldn't be too hard. Java support for joysticks is shamefully bad. Firmware to connect RO and AHRobot together is definiitely possible.

    ----

    Meanwhile I've been spending a lot of my free time working on my own design. It's very slow going. I have the wrist designed to satisfaction and the elbow is working-but-ugly. The shoulder and the pistons to drive the arm backhoe-style is where I'm currently struggling. I wish I had more time!

  • Folded Arm3 into Robot Overlord

    Dan Royer04/01/2016 at 15:48 0 comments

    instagram doesn't embed, boo hiss. https://www.instagram.com/p/BDoEmVzIfO7

    Yesterday I moved the software for controlling the arm from http://github.com/i-make-robots/Evil-Overlord to https://github.com/marginallyclever/Robot-Overlord. I, for one, welcome this move.

    I also completed the merge of the older Arm3 into Robot Overlord, along side the Evil Minion (5 axis), the Delta Robot, the Stewart Platform, and Spidee (crab robot). The only robot that isn't merged is the Makelangelo, which has been eating all my time by being very very popular.

    Also last week I was looking at https://hackaday.io/project/3800-3d-printable-robot-arm and I see @Andreas Hoelldorfer has used a camera quick-connect for his tool changer. Great minds think alike!

  • Second Evil Minion

    Dan Royer11/16/2015 at 15:09 0 comments

    Going from zero to one of something is challenging.

    Going from 1 to 2 is still challenging, even if you're planning ahead for it. The bill of materials was wrong, the assembly instructions weren't written down, and there were design choices that didn't matter for "just getting it done" that made doing it again a pain in the ass. Already I'm thinking "all this here, this over here, and those bits should be changed for easier manufacturing".

    I've ordered enough parts for five machines, and I've begun assembling them. The documentation will be smoothed out by then.

    Because of the high difficulty assembling the machine I'm only offering to ship fully assembled arms: http://www.marginallyclever.com/product/evil-minion-5-axis-arm/

    I've only had one robot go to >1000 units. I look forward to having an arm do the same.

  • Robot Overlord v2 Demo Video

    Dan Royer10/27/2015 at 04:13 0 comments

  • Evil Minion on Intel's instagram

    Dan Royer10/15/2015 at 16:59 0 comments

    https://instagram.com/p/80sGATQQFJ/?taken-by=intel

    Picture was taken at Makerfair NY 2015. Curiously, the photo didn't include attribution and the arm doesn't include an intel chipset AND the fair they are promoting is not one to which I have been invited. If you are in Rome for the fair, ask the intel booth "where is the arm?" Maybe if we make enough noise they'll fly me to other EU fairs to set it up and bring it to you.

  • Evil Overlord can now save & load world states

    Dan Royer10/11/2015 at 03:32 0 comments

    ...which means once I setup my robots in the simulator their locations will persist. This will make it easier to run more sophisticated tests. It also means that (in theory) I can stream worlds to another computer. Why not gamify it? I wonder how hard it would be to make Evil Overlord run with Steam....

    Also today,

    https://instagram.com/p/8qsO6FofLf/?taken-by=imakerobots

    Replaced all the shameful wiring that killed my public demos.

    It was like this: https://instagram.com/p/8lroiJIfJ0/

    Now it's like this: https://instagram.com/p/8mMWpdofDs/

    And yesterday,

    https://instagram.com/p/8lj20uIfK5/?taken-by=imakerobots

    Modded a few parts to improve cable management. Fewer danglies. Eventually all the cables will be sealed away.

  • Evil Overlord adds Gripper simulation

    Dan Royer10/06/2015 at 23:46 0 comments

    https://instagram.com/p/8g4auHofPn

    The gripper code I wrote while at NY Makerfair didn't include the 3D model parts. Now it does. 1:1 modelling across the board.

  • Many robots of many types in Evil Overlord

    Dan Royer10/04/2015 at 19:06 0 comments

    https://instagram.com/p/8ZMljCIfA2

    As of 2015-10-03 I have Evil Minions, Stewart Platforms, and Spidee-1 all running in Evil Overlord. This means less code for me to maintain, more cross-promotion, and opportunities for robots working together. For you it means one program to install instead of three.

    Win/win!

  • NEW: Evil Overlord Supports Many Minions

    Dan Royer10/03/2015 at 00:32 0 comments

    For a while now I've wanted to support many robots in Evil Overlord. To do this I need two things: (1) a way to select robots on the screen and (2) a context sensitive menu for each selected robot. I've had #2 for a while now. Today I got #1 working.

    Multi-tool support

    0800-1300 today was spent cleaning up code for menus so that each tool on the arm generates it's own sub-menu and there's the start of an attach() and detach() behavior that swaps out the sub menu.

    Ray Picking vs OpenGL sampling

    1300-1800 was spent building a ray picking system. Ray picking involves shooting a ray out of the camera, through the cursor, into the 3d world, and finding the nearest thing that the ray hits. Those five hours were spent checking the ray went out, stayed correct, and so on. I got that working and felt very good about myself. Mentally, I turned the page.... and realized I'd have to build code to make the ray hit every triangle in every object, figure out which one was closest, optimize the shit out of it... Aw hell no.

    Surely there's a way to get the OpenGL graphics to tell me what's under the cursor to begin with, right? They're already doing all the heavy lifting. (In retrospect) it would be stupid to reinvent the wheel. As it turns out glRenderMode(GL_SELECT) is for exactly that purpose. I'm so happy it works, I don't mind the time wasted on the ray picking.

    Here are two great links I found to explain how OpenGL sampling works.

    End Result

    Now in Evil Overlord you start with an empty world and the context sensitive menu is set to the camera controls. The "World" menu at the top has only one option: "Add Evil Minion". Click it and an Evil Minion Arm appears in the world. now any time you click on an EM the menu changes to that robot. You can connect over serial, drive it with FK and IK, and open/close the gripper.

    I have tested adding multiple robots to EO at once they are independently selectable, each can be connected separately, and clicking on the background (anywhere with no robot) returns you to the camera menu.

    Have your say!

    Should the next step be:

    1. Record & playback
    2. Build a second Minion and drive both at once
    3. Finish the tool changing
    4. Make some 15-30 second videos of the robot doing stuff. (Suggest something.)

  • Minor firmware update

    Dan Royer10/01/2015 at 22:05 0 comments

    I'm in Ottawa, Canada, visiting my parents for the next few days, and trying to run my business from remote is tough. At least I have Evil Minion #1 with me to hack on.

    The wrist rotation is the only rotation that can move more than 360 degrees. If the wrist is at 350 and I say "go +20" it wants to reach 370 but the sensor says 10. Uh oh! Same thing going down (start at 10 and move -20).

    Fellow Vancouver hackspace member Shane figured out a solution that works really well. I could complain that it only works if your move command is less than abs(180) but we don't listen to that nasty little voice, do we? No, we don't.

    I've also moved all the code for the gripper tool into an ArmToolGripper class that's derived from an ArmTool class that's derived from an ObjectInWorld class... phew. An ArmTool loads and displays the STL for a given tool and provides an attach() and detach() hook. Like every ObjectInWorld it can provide and update a UI. That way when you choose to attach the gripper it will display open/close buttons. When you choose drill it will have speeds. When you choose air pump it might have suck/blow/off.

    Now I'm actively looking for software design advice to create the record & playback system. The Makelangelo does it all by saving commands to a text file and then spitting those commands out in an uninterrupted sequence. The Evil Minion is far more sophisticated. So much so that I don't yet know how to tackle the challenge. One possible way is a multi-track editor. Another is something that looks like node-RED or Scratch. I could go the route of one of my competitors and make a custom 4th gen language nobody else uses.

    In other related news, at the NYMF I saw a robot arm that claims to have 20 bits precision, but doesn't come assembled, doesn't have ANY software, and could only make a single move. I'm already working with my suppliers on a 14 bit version, so a 20 bit version can't be that far off.

View all 66 project logs

  • 1

    Soon.

View all instructions

Enjoy this project?

Share      

Discussions

Peter wrote 09/25/2015 at 19:12 point

Do you have any STL or STP files for this Project? 

  Are you sure? yes | no

Dan Royer wrote 09/26/2015 at 02:27 point

they're in a zip in the Evil Overlord project so the arm can the rendered in 3D

  Are you sure? yes | no

chetan wrote 09/02/2015 at 12:11 point

Nice project dan. I am regular visitor to your marginally clever website to learn CNC basics and when i was looking for DIY robotic arm then i found you again here.. :) 

  Are you sure? yes | no

Dan Royer wrote 09/02/2015 at 15:31 point

Do you think I should post this stuff to the MC blog?

  Are you sure? yes | no

chetan wrote 09/03/2015 at 11:41 point

Yes, It would be great if you post it to MC blog and link it to MC tutorials page. 

  Are you sure? yes | no

Andrew Becker wrote 06/17/2014 at 10:50 point
Hi Dan, sorry for the long delay, I took my family on holiday and decided to leave the hobbies behind. I have already had a good look at your project and it looks great, I would be more than happy to share my work with you, I'm also very curious as to what control system you're using.

  Are you sure? yes | no

Dan Royer wrote 06/17/2014 at 15:57 point
The software is home-grown. The electronics are a RUMBA controller - think an Arduino MEGA and a super sized RAMPS board put together.

  Are you sure? yes | no

Andrew Becker wrote 06/17/2014 at 21:02 point
So you are doing all of the forward and inverse kinematics from first principles? I've managed to logic out the geometric relationships for my arm because the axis pairs intersect which simplifies the maths. I've then moved all of that into excel to visualise it and plan on using that to implement it in Linux CNC. It works out fairly simple because the alpha, beta and gamma angles fix the position of the 3rd link in space, thereafter it's a matter of working back through each joint position. Because of the geometry I chose there is only one solution to the set of equations and it's not necessary to use matrices to solve. How are you handling it?

I have a Reprap Ormerod and initially I had some trouble with the software. It turned out that the PSU supplied was not supplying a stable voltage to the controller and when the heated bed switched on it would freeze. I went for an industrial PSU with a much higher rated amperage and the problem disappeared. It did however put me off using an arduino based controller considering how easily my first Linux CNC set-up went.

  Are you sure? yes | no

Kevin Harrington wrote 06/05/2014 at 04:51 point
I had a random thought:
If you take that whole arm section and put it in a 2 axis gambol, centered around the elbow joint (with the elbow being the outside joint), you could get a true R-R-R spherical wrist, without twisting the belts. The entire section you have now would rotate around the center axis. With a circular track around the edge the track race could then form the elbow joint on the out side. You could actuate it with a third counterbalance motor and a gear interface to the outer track.

  Are you sure? yes | no

Dan Royer wrote 06/05/2014 at 05:30 point
That's the first thought I had. I've skipped it for now to ... Work my way up? Also as the gimbal turns the wrist motors could collide with the shoulder assembly. I'm looking for a method closer to what existing arms do where the ulna rotation is between the elbow and wrist. I have some drawings and I'm saving them for later.

  Are you sure? yes | no

Dan Royer wrote 06/03/2014 at 14:35 point
One of the things that drives my business most is customer feedback. You asked for it and I can do it, so I'll start posting here more. Given how busy I am it will probably be a copy/paste from my website, which may hurt my SEO.

  Are you sure? yes | no

zakqwy wrote 06/03/2014 at 18:15 point
Thanks Dan. Great work so far, it's been fun to watch your progress as you develop the 4th and 5th axes.

  Are you sure? yes | no

zakqwy wrote 06/03/2014 at 12:11 point
What are your thoughts on putting more info on HaD.io? I'm less likely to click through for project logs or other updates, it's easier to read everything in one place (and comment on it here, too).

  Are you sure? yes | no

Similar Projects