Build Thread Router Spindle on Robot Arm - Software solution.


Page 1 of 2 12 LastLast
Results 1 to 20 of 21

Thread: Router Spindle on Robot Arm - Software solution.

  1. #1
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Post Router Spindle on Robot Arm - Software solution.

    Recently I lost all my equipment and "supplies" so seeing as I have to start from scratch, why not try something relatively out the box.
    I have often thought that a robot arm with a spindle would make a pretty versatile CNC machine for someone doing art projects like I want to but "home" robot arm designs are very weak for this purpose - 500g load capacity - basically there is no way that they would be able to throw a large router making a 10mm cut at 20,000 rpm around without breaking itself up.
    However, the primary problem is the software - how to get the g-code generated by the CAD to move the arm (and therefor spindle) where it has to be.
    Essentially you will have the standard X, Y, Z axis with an A axis (the work piece is mounted on a turn table) - many CAM packages can do this (genuine 4th axis) for the "normal" type of router machine.

    So this is the question: How can I / What can I use to - convert g-code to motion on a robot arm?

    As to the construction of the machine itself, an "agricultural" approach will be used - not quite as heavy as the image but still pretty robust.
    All "joints" will be car wheel bearings. They are definitely strong enough and do not cost too much if you buy the repair kits (you even get a nice seal in those)
    All "joint housing" components can be sand-cast aluminum (that is also on my "to to" bucket list) and you can make the long parts of the arms between the joints out of 3mm thick steel pipe.
    So although it will be a fair amount of work, it is not really all that difficult to design and build a robot arm strong enough to handle the job and definitely stronger than the average extruded aluminum construction machine.
    Using steppers for movement will be costly as they will have to be big - maybe modify wiper motors into servo motors will be the way to go.
    Yes there will be issues with "slop" but that is a problem for later.

    Now everyone and his dog prefers the Arduino UNO for driving home routers but I think that these 4MHz units have become too "light" for the task - the GRBL developers seem to be at a standstill and I personally think that they cannot get the 4th Axis code to work because they have simply run out of processing capacity on the UNO and MEGA boards.
    And NO, I am extremely allergic to LINUX so the PI is not on my list.

    So using the the new Arduino DUE with its 84MHz processor (which I have heard benchmarks something like 20 times faster than the UNO range but don't quote me please) is probably the way to go.

    So if an affordable software solution is not available then we are probably going to have to "grow our own" which means that a test machine will be needed.
    This will be a VERY light construction using printer steppers or very cheap RC servos - whatever - its a test bed....

    And if this is the route to follow, I cannot do it on my own!
    I have extensive (since 1985) programming experience but my math sucks big time and this will be math all the way and then some.
    So if there are people out there who can / will support this project technically on the programming math side then maybe we should go for it.

    Any takers????




    Similar Threads:
    Attached Thumbnails Attached Thumbnails Router Spindle on Robot Arm - Software solution.-6-axis-robot-arm-cnc-router-jpg  


  2. #2
    Member ger21's Avatar
    Join Date
    Mar 2003
    Location
    Shelby Township
    Posts
    35538
    Downloads
    1
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Now everyone and his dog prefers the Arduino UNO for driving home routers
    Maybe in the maker and low end hobby community, but not here.
    You'll find very few posts here from people using Grbl and Arduinos to control machines.


    What can I use to - convert g-code to motion on a robot arm?
    I believe that LinuxCNC may be the only free option, and you don't want to go there.

    I think you have 3 options here.

    1) A control the has the kinematics to control a robotic arm.

    2) CAM software that can output the proper g-code to control the arm.

    3) A "converter" program to convert conventional g-code into code to control the arm.

    If you plan on coding this yourself, 3 may be the easiest option. Just guessing, though.

    Gerry

    UCCNC 2017 Screenset
    [URL]http://www.thecncwoodworker.com/2017.html[/URL]

    Mach3 2010 Screenset
    [URL]http://www.thecncwoodworker.com/2010.html[/URL]

    JointCAM - CNC Dovetails & Box Joints
    [URL]http://www.g-forcecnc.com/jointcam.html[/URL]

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  3. #3
    Member
    Join Date
    Jun 2012
    Location
    usa
    Posts
    182
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Get over not liking Linux and take a look at Machinekit. It's based on LinuxCNC. Website: About Machinekit Forum: https://groups.google.com/forum/#!forum/machinekit



  4. #4
    Member dharmic's Avatar
    Join Date
    May 2015
    Location
    Australia
    Posts
    1422
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Could I recommend you do a little more work on your feasibility study first?

    For example:

    - Generously estimate the weight of the spindle and two axis knuckle at the end of the arm chain.

    - Now look at the length of the last arm. It needs to be able to support that weight and only flex by whatever your limit of precision needs to be when the largest cutter is under full cutting load. Roughly work out what it's made out of, the size and most importantly the weight of the arm.

    - That elbow joint needs to be able to accelerate the (end effector weight * full arm length) + (arm weight * 1/2 arm length) / (whatever reduction ratio on the elbow actuator is) so then you can work out the weight of the gearbox.

    Now work back through the joints, accumulating the full stretch lengths and weights as above until you get to the base.

    What you'll find is:
    - For stiffness and precision, you need big thick arms which end up weighing a tonne.
    - To swing those arms around, and support the arms further down the chain, you need big motors and even bigger arms further back.

    As you've guessed, the maths on these things gets intense fast. Calculating XYZABC from {Ø} (the joint angle space) is a pretty simple matrix algebra problem, but heading the other way ("I want to be at this point in space with this orientation, what joint angles do I need?") gets fun, fast. Nonlinear optimisation, jacobian transforms and a whole bunch of other nasty. And that's just for the kinematics. Now add mass, acceleration, PID joint control to allow smooth movement without overshooting the tool head into your part and, well, there's a reason the commercial units are big, heavy and stupidly expensive.

    Not trying to dissuade you (I am really) but this is a big project, before you burn any time on it you really want to have a closer look at how silly this rabbit hole you're thinking about chasing down is going to get.

    :edit: re-reading this post I'm coming over as being a patronising negative jerk, I'm sorry, I don't mean it that way. I went down exactly the same road myself years ago. Blew a heap of cash on stock for what turned into a pile of scrap metal which wobbled slowly all over the place. Utterly useless. Moving then through an engineering degree and a bit of actual tool time (I know, apparently rare for engineers to get their hands dirty now) I could look back and see how futile my mission was from the start. And when I see someone else teetering on the precipice I just wanna save you the pain.



  5. #5
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Hi Gerry
    Quote Originally Posted by ger21 View Post
    I believe that LinuxCNC may be the only free option, and you don't want to go there.
    Maybe I didn't put it so clearly (sometimes I tend to do that):
    I am seeing a machine controller that is mounted to one specific machine, has a USB cable that gives it g-code and then it carries on.
    What flavor of OS is the other side of the USB cable is of absolutely no importance at all as long as valid, specifications compliant g-code is received by the machine, it will do its thing correctly.
    I understand that on most of the Linux products, the actual step/dir commands are generated by the software (eg. LinuxCNC) and the machine and its electronics are simply doing what they are told to do.
    That is fine for traditional machines but here we are talking about a machine that has 5 or 6 joints between the fixed base and the tip of the tool.
    Lets say you have 2 identical machines one PC to drive them both on a rotating basis - this will work.
    Then one day you discover a crack in one of the "arm" section so you strip it out and get it repaired and put it back.
    The problem is that now due to heat or whatever during welding up the crack, that repaired arm is 5mm longer than it used to be center to center.
    Now when you change over you have to go in and change the length parameter to suit and at some stage you WILL forget to change it (or change it back) and it is disaster time.
    Having the controller for the machine ON THE MACHINE and set up specifically for THAT machine's parameters would make the most sense.
    So in effect, the base operating system of the driver PC or indeed the software generating the tool path g-code would have no effect on the working of the device.

    Quote Originally Posted by ger21 View Post
    3) A "converter" program to convert conventional g-code into code to control the arm.
    Yes, I feel that this is the way to go.
    It will mean that the arm is totally independent of whatever is upstream of the USB cable and simply processes the g-code
    Call it a "post processor" or an "arm driver" if you will, but as you say, it converts conventional g-gode to control the arm.

    Quote Originally Posted by elfrench View Post
    Get over not liking Linux and take a look at Machinekit. It's based on LinuxCNC.
    Hi elfrench,
    Its not a case of not liking Linux, this project should take the raw g-code generated by any program on any OS and be able to move the arm where it should be.
    As Gerry pointed out, it should be a "converter".
    And the unit should be set up specifically for the arm it is mounted on because unlike the "normal" CNC machines where if the rails of an axis are 20mm further apart on router A than on router B and makes absolutely no difference to anything at all, a 20mm difference in the center to center dimension of one arm section will make an incredible difference to the positioning of everything during operation.


    Hi dharmic,
    Quote Originally Posted by dharmic View Post
    Could I recommend you do a little more work on your feasibility study first?
    Very "diplomatically" put !!!
    Essentially this is my feasibility study (I have been thinking about it for well over 2 years).
    The questions are as follows:
    1) Would it be possible using an Arduino DUO (I think that it is safe to say that the 4MHz UNO family are simply "too light" for the task) to actually take standards compliant g-gode, do all the math required and come up with the new position of the tool at the end of a 4 or 5 part arm, then figure out what joints have to move in what direction an how much and then issue the instructions to the motor h-bridge drivers to do it.


    2) The mechanical capabilities and construction of the various parts can only be done once we are certain that we have the programming in place that will be able to figure everything out.
    I think I mentioned that the actual joints will probably be home cast aluminum (light). These will have bearings (small but heavy) and shafts (hollow - not so heavy - maybe aluminum or even titanium) in them and of course the drive motors (pretty heavy)
    I was speaking to someone yesterday about this and he told me that instead of using 3mm wall steel pipe, I should look at using a thin wall (1 layer) glass fibre cylinder and then filling it with a "cement" of polystyrene balls and resin.
    This would effectively make a honeycomb structure that would be very strong with very little weight in comparison to the steel pipe option.
    Most large industrial arms are made up out of thick heavy steel pipe, flanges and castings - we need to figure out a way to make stuff light but also very strong.
    Someone else made the suggestion that the motor for an elbow should be located at the previous elbow to keep the weight swinging around to the minimum.
    It has also been suggested that all the actuation motors be mounted in the base and cables used to do the actual movement at the joints. Something like a human hand is - all the muscles that operate the fingers are above the wrist and sinews then run to the fingers and cause the motion - not so sure about that one - DEFINITELY a method of introducing "slop" into the system.

    As to the momentum of things like the router motor at full arm extension we will possibly have to calculate the distance between the arm base rotation point and the radial distance of the router and if necessary adjust the maximum speed allowable, especially for a G0 command so that speeds remain within acceptable parameters.

    Quote Originally Posted by dharmic View Post
    As you've guessed, the maths on these things gets intense fast.
    I have been thinking about this project for more than 2 years and when I first saw the type of math involved, I stopped right there - scared ****less....
    But for some reason or other I keep returning to it and now that retirement is looming and everyone expects me to sit quietly on the veranda while waiting to die, I need something to keep the spirit fires going.
    So why not the next generation of CNC home mills?

    Quote Originally Posted by dharmic View Post
    re-reading this post I'm coming over as being a patronising negative jerk, I'm sorry, I don't mean it that way. I went down exactly the same road myself years ago. Blew a heap of cash on stock for what turned into a pile of scrap metal which wobbled slowly all over the place. Utterly useless. Moving then through an engineering degree and a bit of actual tool time (I know, apparently rare for engineers to get their hands dirty now) I could look back and see how futile my mission was from the start. And when I see someone else teetering on the precipice I just wanna save you the pain.
    1) I do not think you are a jerk !!! Your experience has taught you things and you are simply putting those experiences on the table - please do not apologize - after all, I did ask for comments.
    2) Apart from buying a DUO (which I can probably use somewhere else if this project does not work out) I will definitely not be investing big money until the proof of concept proves that it is viable.
    And even then the money will not be that big - I simply do not have it.
    3) As to the time, I have plenty - and I do not relish the thought of using it for simply sitting on the veranda with my memories - I would much rather be creating new memories. And if they do not work, maybe someone else can learn from the project and figure out their own way to get it to work. EVERY invention ever has come from someone's failures (or rather, UNSUCCESSFUL ATTEMPTS) at doing something.
    4) My "test arm" will be made using motors out of printers and photocopy machines (and anything else that is for free) because its prime purpose will be to test the code being written.
    5) If it wobbles all over the place that can be very important information as to where stresses are being experienced and basically if you can identify a problem you can fix it - if you do not see a problem then it will not get fixed and further down the road it will come back to bite you in the ass.
    6) Sometimes pain is part of the process and enjoyment you get (sounds bad I know but...). By the time Edison had got the first viable light bulb to work, he had figured out well over a 1000 ways of making said light bulb that WOULD NOT WORK.

    So to all of you, thanks for the input and please keep an eye on what is going down here and feel free to add your bit whenever you feel the need.
    Later today I'm going to see if I can beg some plastic off cuts and old printers and suchlike so that the raw test bed machine can be built.
    Maybe I'll also order the DUE and get my power supply working again (built that using a massive transformer out of an old amplifier some years ago)
    Then we start getting back into C - hopefully I can remember everything I "USED" to know.



  6. #6
    Member dharmic's Avatar
    Join Date
    May 2015
    Location
    Australia
    Posts
    1422
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Good context. If you're about to have some time on your hands and want to get neck deep in some challenging, interesting project then this is a pretty good one. Just make sure you don't go more than neck deep

    If I were to go down this road again, I'd approach it thusly:
    1. Machines exist that do what you want to do, and have done for many years. If nothing else, this tells you that the maths and computing is achievable - at worst it can be done on a cheap PC.
    2. There's another arm robot project on here which is really cool, the guy's built it and made it work and made it do something. Looks like he's done all the inverse kinematics by eye and programmed purely in joint space rather than XYZABC which keeps the software much, much simpler.
    3. I'd probably start on that basis. Use the very nice idea of a honeycomb filled monocoque composite frame (I REALLY like that idea btw) and build up your hardware, get a working robot first and drive it with joint space. I'd look at maybe servos, maybe steppers with encoders, running through hypocycloidal drives at a suitable ratio to get the required torque. But definitely close the loop whatever you use because with all those joints flying around, skipping steps on a stepper can mean big accumulated errors very quickly.
    4. You can then do the mapping from cartesian to joint space as a kind of post post processor, ie take in cartesian G-code from your CAM software and spit out G-code in joint space for whatever's doing the driving.

    Doing it that way means the processor actually driving the machine needs enough outputs to run all the motor drives, enough inputs to take all the encoders, enough speed to get division ratios up high enough for smooth linked accel and decel but otherwise it's all pretty simple stuff. The Duo should handle it no problems.

    Try to keep the embedded board as dumb as possible, handle the real-time shenanigans only from whatever intermediate file you feed it. All the big maths? Do that on a PC ahead of time if you can. Time then isn't so critical and the development tools are a lot nicer on a PC than on an embedded micro.



  7. #7
    Member
    Join Date
    Jun 2012
    Location
    usa
    Posts
    182
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Quote Originally Posted by MadAubrey View Post

    Hi elfrench,
    Its not a case of not liking Linux, this project should take the raw g-code generated by any program on any OS and be able to move the arm where it should be.
    As Gerry pointed out, it should be a "converter".
    And the unit should be set up specifically for the arm it is mounted on because unlike the "normal" CNC machines where if the rails of an axis are 20mm further apart on router A than on router B and makes absolutely no difference to anything at all, a 20mm difference in the center to center dimension of one arm section will make an incredible difference to the positioning of everything during operation.
    I hate to tell you but that is precisely what LinuxCNC, Machinekit, Mach3, etc. do.



  8. #8
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Quote Originally Posted by elfrench View Post
    I hate to tell you but that is precisely what LinuxCNC, Machinekit, Mach3, etc. do.
    So does that mean that you can feed in all the parameters like arm segment length and everything else into a parameter file in one of these and will it then be able to draw a straight line if you mount a sharpie and a piece of paper?

    Maybe a dumb question but the only CNC devices I have ever worked with were Fanuc controllers on Victor 2000 machines and then not much - my primary job was to repair and fix machines that had NEVER been serviced for more than 6 years - I kid you not...



  9. #9
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    This is kind of what I would like the result to be except the big orange thing must be smaller and lighter and a lot less costly.
    And of course it must take the standard g-code file from any standards compliant CAD system and then simply "do its thing.
    Maximum material should be hardwood - lets face it, anything "home built" would not be able to handle even aluminum.




  10. #10
    Member awerby's Avatar
    Join Date
    Apr 2004
    Posts
    5734
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Notice that the rather beefy arm in the video below is carving foam. While robot arms capable of carving wood do exist, they are heavier, not lighter than this. One can sometimes find robot arms that are surplussed, usually in non-working condition (at least in the US) but it's still a daunting challenge to get them operational. Programming them to be able to carve sculptures is non-trivial as well. There are software packages that do this, but they tend to be rather costly. You wrote:

    "Essentially you will have the standard X, Y, Z axis with an A axis (the work piece is mounted on a turn table) - many CAM packages can do this (genuine 4th axis) for the "normal" type of router machine."

    Actually robot arms don't have the standard X, Y and Z; motion along any of those axes has to be interpolated between the angular motions of two or more joints; this is the kinematics problem people have mentioned here. If your goal is to experiment with alternative types of machinery, that's great - let us know how it goes. But if you mainly want to carve wood, spending your time and money building a more standard Cartesian machine, perhaps with some extra tilts and swings, will get you there quicker and cheaper.

    [FONT=Verdana]Andrew Werby[/FONT]
    [URL="http://www.computersculpture.com/"]Website[/URL]


  11. #11
    Member
    Join Date
    Jun 2012
    Location
    usa
    Posts
    182
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Quote Originally Posted by MadAubrey View Post
    So does that mean that you can feed in all the parameters like arm segment length and everything else into a parameter file in one of these and will it then be able to draw a straight line if you mount a sharpie and a piece of paper?

    Maybe a dumb question but the only CNC devices I have ever worked with were Fanuc controllers on Victor 2000 machines and then not much - my primary job was to repair and fix machines that had NEVER been serviced for more than 6 years - I kid you not...
    Yes, LinuxCNC/Machinekit has a standard configuration file with around a 100 parameters. You still would need to provide the gcode for the straight line. I'd recommend visiting the Machinekit forum and asking about the feasibility of this project there.



  12. #12
    Member samco's Avatar
    Join Date
    Jul 2003
    Posts
    1754
    Downloads
    2
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    You mean like this?

    Linuxcnc allows you to have kinematics that translate world to joint movements. (that was the normal linuxcnc splash screen gcode.)

    It certainly isn't turnkey but there are examples and some generic kins that are good starting points (ie - puma 560)

    sam

    Attached Thumbnails Attached Thumbnails Router Spindle on Robot Arm - Software solution.-screenshot-2016-08-29-13-04-21-a  


  13. #13
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Question Hardware Idea

    Hi all
    Although this thread is "Software solution", I am fast becoming aware that when it comes to a robot arm, the physical arm itself HAS to be part of the thinking process simply because with all the dimensions and angles involved mechanically in the arm, the software will not have a clue what to do without these settings.
    Which means that now I have to think "hardware" while thinking "software" (where are the aspirins?)
    But we can overcome that by having a parameter set that will allow the software to make its calculations so that is not the end of the world as we know it.

    Then I drove past an excavator and had a bit of a brain wave.
    These machines have a control system that you can use to move each individual part of the excavator where you need it.
    BUT on some machines the individual parts are interlocked to a degree.
    If the bucket is on the ground and level with the ground and the bucket support frame is also level with the ground and you raise the bucket, the frame that the bucket is mounted to swivels up - all fine and well.
    Now logic tells you that the bucket remains in alignment with the support frame and is therefore no longer parallel with the ground.
    BUT when you do that on some machines, the bucket remains level with the ground even though the operator is not moving the bucket at all.
    This means that there is some sort of interlocking that is keeping the bucket in its original orientation when the bucket frame is raised.
    Now i know this from the early 70's and believe me there was no fancy electronics doing the changes to the bucket positioning back then.
    So it must have been designed into the mechanicals of the machine.
    Now I am wondering if there is not some way to design the arm so that if you are milling a vertical pocket in the top and get a G1Z-25 that by simply moving one part up (the Z axis in a conventional design) to withdraw the tool, the relationships and positioning of all the other parts will automatically be adjusted as the tool withdraws to keep the tool in the same position on the X and Y axis.
    As I have explained it, it will probably not work if you are cutting a pocket at say 20 degrees but it is an interesting concept - Just a thought.



  14. #14
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Exclamation Quick Update

    Hi all - quick update:
    The house is finally on the market.
    Everything has been cleaned, neatened up and sooo much stuff put in a dumpster (including tools and equipment as I found out AFTER the dumpster was gone)
    Then the house was "staged" and from that point I am not allowed to do anything - no electronics on my desk because it will "make the office look cluttered". WTF.
    And definitely not any old printers and printer parts that will be needed to make the test platform so basically I am stuffed for now.
    Anyway, there are estate agents and prospective buyers coming out of the woodwork and I need to sit prettily at my desk and look like part of the furniture so I am spending far more time on YouTube than is healthy.
    I started having a look at the GRBL code and although my "C" is very rusty, I can follow what is going on - more or less anyway.
    And they have documented the whole thing very well with comments all over the place.
    I recon that if you take out all the comment lines, the file line count would drop to maybe 15% of what it is now, maybe even smaller.
    The math that will have to be used to generate the step/dir commands for the 6 robot joints is something that I will leave for later once I know specifically what and where it needs to happen in the "C" code.
    The word "kinematics" will probably become a swearword before this project is finished - just a guess...
    So basically from my side the project is on hold until after we have sold the house, moved into our new home and sorted all sorts of stuff out.
    But that does not mean that my brain is stopping - all it means is that progress will become somewhat sporadic if at all.
    In the meantime I will also be cleaning out all my hard drives which should reveal some interesting stuff.
    Over the years I have thought out and investigated a lot of stuff - especially in the CNC field - things like concrete based machines and weird designs and things so if I find something that may be interesting to others, I will post it here just to keep the thread alive.
    So from me and mine to you and yours, go safely.



  15. #15
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Default Scorbot - Tech manual, thoughts, concerns and possible answers

    Recently found some tech info docs on the Scorbot (from around 2003) which was evidently popular with learning institutions.

    The document has very detailed exploded mechanical drawings (around page 117), the metalwork of the construction is really simple but there is a lot of complexity in the arm control section because ALL THE ARM POSITIONING MOTORS ARE IN THE BASE OF THE MACHINE.
    This means that all the heavy motors are not on the arm sections which means you have a lot more flexibility when deciding what type of motor (stepper or servo) to use and how big they can be.
    If I decide to go with this design I will probably be using windscreen wiper motors - easy to get, robust, cheap and pack a good amount of torque.
    Yes their gearbox has an incredible amount of "slop" but we can make a plan to work around that - after all, we have space and weight is no longer a big issue.

    A scaled down replica of this arm and most of its components could probably be 3D printed and the fact that all the heavy hardware is in the base means that it will not suffer too much from "arm droop".

    But here is the thing:
    When an arm on this machine moves it moves around its axis shaft.
    Now all the pulleys for all the arm belts actuating stuff further up the unit rotate around the same shaft freely.
    When the angle of the arm changes, so does the angle of the belts on the pulleys which can be seen as effectively moving the pulley.
    That means that when section 1 moves (rotates), the joint at section 2 will also move (rotate) which is a major pain because now the effective joint angle between section 1 and section 2 has changed due to mechanical influences and not because the controller told it to change.
    Now this effect can be counteracted by the controller BUT that adds yet another layer of complexity to the controller and dealing with Inverse Kinematics will be complex enough thank you.

    Remember that the idea as far as the controller is concerned is to be able to run a 6 axis arm using g-code, none of this "learning" crap, no sitting for hours sitting guessing and using "by trial and error" methods to get your arm to go where you want it, but rather sending the controller a single line of g-code and it goes to the exact position specified.
    If this controller that I want to develop can do that, then it may do for the robot arm what GRBL and Arduino UNO did for small home mill and 3D printing - make it easy so that you can get on with what you want to do.

    Getting the "multiple Joint Movement" issue under control:
    Stepper motors are an open loop so this will not help you to get this problem under control. They like dropping steps which normally leads to a scrap project and you have to start all over again.

    Servos (which normally have the encoders attached to the shaft of the motor to control positioning) will also not be of any use (in their standard form) in solving the problem.

    But what if we used servos and the feedback encoders were mounted on the arm and measured the angle of the joint (which is in fact what we need to know - how many steps the stepper took or what sort of input the servo had to be given to get there is of no real concern) and we used this feedback to allow the control unit to control the stepper/servo motor?

    Now as the angle of the joint changes, the servo would automatically compensate and the angle between the 2 arms and they would remain at a constant angle as you would expect them to.

    The encoder drive would have to be geared up quite a bit so that small movements between the arm sections would translate to large movements on the encoder disk which would make the positioning data received by the controller/servo driver far more accurate.
    This gearing will not have to be robust and heavy because it is only rotating a light plastic encoder disk.
    If there is "slop" that produces inaccuracies, put a watch type spring in there to keep all the gears tensioned in one direction.

    This whole design concept is pretty nice and yes, there are a lot of individual parts BUT if you scale it down, you can probably 3D print most of them.

    So here is another design to make life more complicated when deciding what arm to build.

    Update on project:
    Managed to find a DUE board supplier locally who is not charging an arm and a leg for them - will be picking it (and some other bits and pieces) up later today.
    Then it is a case of "Let the FUN begin".
    Go well people

    Last edited by MadAubrey; 09-05-2016 at 12:43 PM. Reason: spelling - what else?


  16. #16
    Member
    Join Date
    Jun 2016
    Location
    South Africa
    Posts
    63
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    something weird going down here - the pdf and image have gone missing - any ideas anyone?



  17. #17
    Registered
    Join Date
    Nov 2016
    Location
    Canada
    Posts
    28
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Well if you want to make a profound busty bust like that, you might want to invest in some clay and art school..

    With something like Powermill, you can download robotic arm machine tool models and just program something as you normally would next to the arm and watch it go in simulation mode.



  18. #18
    Member BalloonEngineer's Avatar
    Join Date
    Dec 2012
    Location
    United States
    Posts
    46
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    I am coming into this discussion late, but I want to ask a question. Is your goal to build a CNC robotic arm router, or is it to carve designs that cannot be made with a conventional 3 or 4 axis router?

    If, as I expect, the ultimate goal is carving shapes not feasible on conventional routers, I would like to suggest another option. Use a conventional 3 axis router, but mount your blank on a base capable of two axis of rotation. See the "Pocket NC" for a relatively inexpensive example of this type of design. Pocketnc.com

    This machine geometry eliminates the issues of heavy weights out at the end of an arm supported on only one end and all of what has been discussed above. In addition, the CAM for this type of mill is much cheaper. I think the free (for hobbyists) Fusion 360 can handle it (or soon will).

    By the way - give up on the hope of translating a conventional g-code into one for your arm. The location of the tip of the tool does not exist in the g-code, since the tool definition is not in the g-code, except potentially as a comment. Even knowing the tool definition, there is no indication of what , if any, part of the bit is in contact with the stock at any given point in the code - the tip or side, is it cutting on the climb or conventional side, etc. To generate the proper g-code a program requires access to the part as well as the tool geometry, information that is simply not contained in a g-code file. Even if you exactly reproduce the orientation and travel of the entire bit all you have succeeded in creating is a part that could have been produced on the original cnc in the first place (i.e. No undercuts, etc.)

    It all depends on what your goal is - if it is a robotic arm router, that is a cool and worthwhile project to continue with, and I will be happy to follow your progress.

    If your goal is to carve shapes not possible with other cnc routers, consider if you can get there by moving the stock and tool separately and simultaneously, I think it is a much more easily achievable design. Both concepts can be proven topologically equivalent - a carving possible with one is achievable with the other.

    Tubular latex pressure vessel configuration engineer


  19. #19
    Registered
    Join Date
    Nov 2016
    Location
    Canada
    Posts
    28
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Quote Originally Posted by BalloonEngineer View Post
    I am coming into this discussion late, but I want to ask a question. Is your goal to build a CNC robotic arm router, or is it to carve designs that cannot be made with a conventional 3 or 4 axis router?

    If, as I expect, the ultimate goal is carving shapes not feasible on conventional routers, I would like to suggest another option. Use a conventional 3 axis router, but mount your blank on a base capable of two axis of rotation. See the "Pocket NC" for a relatively inexpensive example of this type of design. Pocketnc.com

    This machine geometry eliminates the issues of heavy weights out at the end of an arm supported on only one end and all of what has been discussed above. In addition, the CAM for this type of mill is much cheaper. I think the free (for hobbyists) Fusion 360 can handle it (or soon will).

    By the way - give up on the hope of translating a conventional g-code into one for your arm. The location of the tip of the tool does not exist in the g-code, since the tool definition is not in the g-code, except potentially as a comment. Even knowing the tool definition, there is no indication of what , if any, part of the bit is in contact with the stock at any given point in the code - the tip or side, is it cutting on the climb or conventional side, etc. To generate the proper g-code a program requires access to the part as well as the tool geometry, information that is simply not contained in a g-code file. Even if you exactly reproduce the orientation and travel of the entire bit all you have succeeded in creating is a part that could have been produced on the original cnc in the first place (i.e. No undercuts, etc.)

    It all depends on what your goal is - if it is a robotic arm router, that is a cool and worthwhile project to continue with, and I will be happy to follow your progress.

    If your goal is to carve shapes not possible with other cnc routers, consider if you can get there by moving the stock and tool separately and simultaneously, I think it is a much more easily achievable design. Both concepts can be proven topologically equivalent - a carving possible with one is achievable with the other.
    Well said! I've been thinking of getting a manual rotary table or indexing chuck for my 3-axis. They have mechanical locks, no need for a stepper with a dirty holding force and gear reduction! One workplane on the center of rotation, one setup at a time kind of thing. Much easier than going full 4 axis!



  20. #20
    Member
    Join Date
    Mar 2017
    Location
    United States
    Posts
    926
    Downloads
    0
    Uploads
    0

    Default Re: Router Spindle on Robot Arm - Software solution.

    Did any more progress get made on this project?

    I have been fascinated by these robot arm cnc routers ever since I saw one being demonstrated. If some of the issues could be solved, it seems like they would have a number of advantages for the home / DIY market. E.g. They could be made with a fairly long reach but still fold away neatly in the corner without taking up too much space when not in use.

    On the challenge of making it stiff and stable without making it too heavy to be viable for regular stepper motors, why not use a lighter material for the limbs? If the goal is strong, stiff and lightweight, steel is definitely not the way to go. These guys used carbon fiber for the arm:

    AMRC Makes First Reconfigurable Carbon Fiber Robotic Machine Tool

    If the goal is also to keep it cheap, fiberglass would be worth a try. It's low cost and easy to work with. Definitely easier than casting aluminum or steel (which is incredibly dangerous if you don't know what you are doing).

    A fiberglass or carbon fiber structure capable of supporting your average 2.2kw spindle could easily be light enough to be moved with 381oz steppers and stiff enough for hobby use. Maybe you could use epoxy granite for the base as it's heavy and easy to cast.

    I'll probably never get around to building one myself but I am definitely interested to see if others manage it. They seem to be getting more popular on the industrial side. I wonder what advantages they offer over regular 5 or 6 axis gantry routers.



Page 1 of 2 12 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Router Spindle on Robot Arm - Software solution.

Router Spindle on Robot Arm - Software solution.