Position Converter - Convert from XYZWPR Rep to Joint Rep and Back

  • How does that work? I'm not sure we're using the same terminology here -- I know that when I'm programming a Fanuc vs a KUKA, and using my hand to work out what angles I need to use, I have to rotate in completely different sequences.

    Its a property of extrinsic (always rotating about world frame) vs intrinsic (rotating about the frame created from the previous rotation (the ' and '' notations)) Euler rotations.


    To quote the wiki article on it:

    Any extrinsic rotation is equivalent to an intrinsic rotation by the same angles but with inverted order of elemental rotations, and vice versa. For instance, the intrinsic rotations x-y’-z″ by angles α, β, γ are equivalent to the extrinsic rotations z-y-x by angles γ, β, α.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • I've updated the position converter to v1.1.


    Changes:

    Added support for R2000iB/210F and the 165F.

    Added the ability to convert on robots with multiple groups. However only GP1 will convert.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Hi,

    Yes they are. However, we are both right! Rx - Ry' - Rz'' is equivalent to Rz - Ry - Rx.

    probably not


    Kuka is using Rz - Ry' - Rx"

    in accordance to the quote - it is not the same


    For technichians it is the best way always rotate around the new coordinate system (right/(left) hand rule)

    I am using the right hand rule with my left hand; so I can use my right hand for the direction of rotation.


    The math will have slight differences from a conversion done on the Fanuc controller vs a conversion done by this program. Typically the differences are in the order of hundredths to thousandths of a millimeter

    yes, agree you are completely off - what's about the angles?


    When I made first comparison between the robot reading and my values I was off about the same.

    After adjusting (PI, atan_2, etc.) I got almost the same values (off about 0.00001 mm or deg)


    There is actually not only one set of DH Parameter (for kuka there are at least 4 sets)

  • probably not

    What. Did you even read the wiki article I referenced? This is a mathematical concept that that has been proven. Extrinsic rotations of a particular order are the same as Intrinsic rotations with the order reversed. We were not discussing the order of rotations a particular robot uses.


    yes, agree you are completely off - what's about the angles?

    Angles are typically fine. "Completely off" is a bit of a strech here. Being off by a few microns on a robot not capable of repeating ten times the error my program introduces is a non issue. I don't feel like chasing down rounding errors in Fanuc's or my code when it produces the results I want within an acceptable margin of error.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

  • Hi,

    yes, agree you are completely off - what's about the angles?

    Your quote: typically the differences are in the order of hundredths to thousandths of a millimeter

    to be honest - could be better


    Yes they are. However, we are both right! Rx - Ry' - Rz'' is equivalent to Rz - Ry - Rx.

    This is correct - but not working for kuka

    Kuka is using Rz - Ry' - Rx"

    in accordance to the quote - it is not the same


    We were not discussing the order of rotations a particular robot uses.

    This I missed, sorry

  • HawkME


    I agree, normally distance of better than 0.01 mm is very good. But I also asked about degree.


    Althogether Nation did and still doing a very good job.

    If anyone had the idea, that I want to blame him - I am very sorry, this was never the case.


    He even encouraged me to work more on the robot models (ABB, FANUC, KUKA) in order to get a better understanding of the differences.


    regards


    MOM

  • Hello,


    I just want to know how did you do that freeware? which tool or software did you use? I want to do one application too.


    Regards

  • Hi Nation I am trying to run the program and it is also showing that the program can not find version.dg (I did an all of the above backup of the MD) I tried looking for the file on the robot itself and I don't seem to be able to find the file there either. Is there a way for me to bypass this step and enter the values manually?

  • I’m in the process of learning the kinematics. It looks like you wrote this in c#. Would you be willing to share source code so I could use it to help me understand the process?

  • I’m in the process of learning the kinematics. It looks like you wrote this in c#. Would you be willing to share source code so I could use it to help me understand the process?


    Sure. I've made it open source. Not the greatest code or organization, but you can view it on github.


    https://github.com/SynapticRobotics/PositionConverter.


    IK Conversion is done here.

    Check out the Fanuc position converter I wrote here! Now open source!

    Check out my example Fanuc Ethernet/IP Explicit Messaging program here!

Advertising from our partners