Fanuc 420 linuxcnc

  • Hi folks.


    I am new in this forum and in the field of robots. My background is software and mechanics.


    For a new project i need to run a 6 axis robot. So we bougth a fanuc 420. I need to run this robot on linuxcnc because i want to be independent of any software or controller-hardware related stuff.


    I am wondering if somebody did the same in the past or can point me in the right direction.


    Thanks :smiling_face:

  • Let me get this straight: you want to control the robot servo motors directly from LinuxCNC? How are you planning to re-create the kinematic model of the arm? Can LinuxCNC even coordinate a 6-axis serial-kinematic device?


  • Let me get this straight: you want to control the robot servo motors directly from LinuxCNC?


    Exactly


    Quote

    How are you planning to re-create the kinematic model of the arm?


    As I wrote i am new and i am not sure if i understand this question exactly. If the question is how to calculate the angles between the axis to get the actor to the right point, then this would be my cam software i wrote.



    Quote

    Can LinuxCNC even coordinate a 6-axis serial-kinematic device?


    I think so, then there are a couple of projects using linuxcnc for they robot.


    We are producing right now on a huge 5 axis cnc timber frame mill. We want to increase the production but such machines are expensive, hard to transport and need a lot of space. Thats why we wanna give a try to use a robot.


    I wrote our own cam to do the parts because tool-path is really complicated and a result of boolean operation between two parts of each 500k+ 3d points. Standard software couldn't handle this.


    In my naive view a robot "just" has one axis more. But i have a bad feeling that this additional axis will make me a lot of trouble. I have a couple ideas how i can do the programming. For now i just need to be able to turn every single axle out of linuxcnc. The rest will come.

  • Well, I did some poking about, and it looks like LinxCNC does have some capability in this area. I suspect you will have to find servo amps that are compatible with both the Fanuc motors and LinuxCNC's drivers, but this appears to be possible. Your odds with a Fanuc are actually probably pretty good, since Fanuc motors are used in lots of non-robot applications. So compatible amps should be available on the market.
    Do this very carefully, though -- during your tuning process, you could easily smash the robot into the ground, or yourself/someone else. Without the actual Fanuc robot controller, you'll be missing a big piece of the robot's normal inherent safety measures. Rigging up a good safety parameter, and possibly adding some limit switches to tie into the servo amps and/or the LinuxCNC board, will be a very wise investment.


    As for kinematics, you're correct: this is a completely different universe than even a 5-axis CNC. The relationships between joint angles and tool position/orientation are drastically different than any CNC-type machine. A CNC-type machine mostly uses linear axes and the kinematics are parallel -- an error on one axis is usually 1-dimensional, and easily tuned out. Errors on multiple axes are additive.


    Articulated robots, OTOH, are serial kinematic devices -- errors in axes are multiplicative, multidimensional, and very complex.


    The good news is, there has been some work done in this area, even in LinuxCNC: http://www.linuxcnc.org/index.…-with-puma-560-kinematics
    If you've written your own CAM software, then you're probably better qualified in this subject than I am. But the key appears to be deriving the correct Denavit-Hartenberg parameters for your particular arm (there appear to be two different standards for doing D-H parameters, the original and the "Craig" version, if I recall correctly, but this fact is not well documented), and get them into the "genserkins" (General Serial Kinematics?) module. The various forum posts make it sound like this is fairly straightforward, at least for a normal 6-axis robot.

Advertising from our partners