1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. Fanuc Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Cylindrical coordinates with Fanuc Robot?

  • vbebs
  • September 11, 2024 at 5:29 PM
  • Thread is Unresolved
  • vbebs
    Posts
    1
    • September 11, 2024 at 5:29 PM
    • #1

    I'm trying to make my Fanuc M20iD/35 robot follow a path on a conically shaped part. I have set it up with rectangular coordinates, but it is cumbersome and will be difficult to modify for other differently shaped conical or cylindrical parts I will be dealing with down the road. Is there any way to make a user frame with cylindrical coordinates?

    Thanks!

  • massula September 11, 2024 at 5:41 PM

    Approved the thread.
  • HawkME
    Reactions Received
    568
    Trophies
    11
    Posts
    3,268
    • September 12, 2024 at 2:49 AM
    • #2

    Not that I'm aware of.

  • hoitzing
    Reactions Received
    24
    Trophies
    1
    Posts
    128
    • September 12, 2024 at 7:58 AM
    • #3

    I don't know of any built-in methods either. But if you express your cylinder as a cone without any slant and create your own wrapper function/program to convert conical to cartesian coordinates (with the cone parameters saved in registers for example) you will only have to do the logic once right? Or am I missing something?

  • SkyeFire
    Reactions Received
    1,052
    Trophies
    12
    Posts
    9,429
    • September 12, 2024 at 3:10 PM
    • #4

    Just spitballing, but... what if you created a UFrame whose Z axis passes through the center of the cone? Program a PR on the circumference of the cone base, then rotate the UFrame around its own Z axis and keep running to that PR. That should generate a circular motion (you might have to un-rotate your PR to avoid winding up the wrist, though).

    Then, you might be able to generate your X,Y coords based on the Z value, and generate something conical that way.

  • AustinC03
    Bagel Devourer
    Reactions Received
    2
    Posts
    28
    • September 12, 2024 at 10:29 PM
    • #5
    Quote from SkyeFire

    Just spitballing, but... what if you created a UFrame whose Z axis passes through the center of the cone?

    I could be completely off on my thought process here but oh well. As SkyFire said I think setting a User Frame will work. Possibly start with converting the cylindrical Coordinates (r/θ/z) to Cartesian Coordinates (x,y,z) then setting up a User Frame that aligns with the parts dimensions. Then just input your converted coordinates into the program it could work?

    However this doesn't solve the problem of using a single program as you'd have to change the Coordinates would need to be changed for every variation.

    -:thinking_face:Also just spit-balling ideas; let me know if this doesn't make sense :grinning_squinting_face:

  • Shellmer
    Reactions Received
    52
    Trophies
    5
    Posts
    161
    • September 12, 2024 at 11:45 PM
    • #6
    Quote from hoitzing

    I don't know of any built-in methods either. But if you express your cylinder as a cone without any slant and create your own wrapper function/program to convert conical to cartesian coordinates (with the cone parameters saved in registers for example) you will only have to do the logic once right? Or am I missing something?

    For this scenario I think it would be the best approach, you either generate a path using some cad software that can output code using an uframe set on the center or... you generate a path automatically using TP + Karel to calculate new points on the fly.

    I've done something like this to create a pattern to grind the borders of some cylindrical pieces.

    On this particular case I generated only one point located on the border of the workpiece, then rotated this point a few degrees using a little bit of trigonometry to get the new equivalent XY coordinates of the new position, then I repeated this procedure until I finished the full circunference. (only 5 points but... robots do not like to execute circular paths whose points have more than 89.999º of diference, on this case it was a point every 72º)


    If you want to create an spiral path I would try this: (X= Radius, Z=Height)

    • First point: Start point
      • X= Minimum radius of the cone
      • Z = Maximum height of the cone
    • Second point:
      • Copy first point to second PR, add a few mm to X, decrement Z, rotate the point a few degrees so you get the new equivalent XY
    • Third point:
      • Copy second point to third PR, add a few mm to X, decrement Z, rotate the point a few degrees so you get the new equivalent XY

    Repeat until finished.

    You would need to know the angle slant of the cone in order to calculate how much mm you need to increment to X and decrement to Z so it follows the slant of the workpiece. Nevr tried to do an spiral pattern but I am sure it's possible.

    On my case in order to calculate the coordinates of the new rotated points I just used a Karel function that I made to rotate the point using SIN and COS from karel, this karel routine accepted an origin PR, and destiny PR and the angle I wanted to rotate the point around the uframe.

    oE6No.png

    Note that this approach doesn't take into account the rotation of the Z tool axis, I haven't needed as the tool was able to be used without rotating, if you need to rotate the tool, you may also need to increment the Z angle of each point manually so the robot tools rotate at the same time it does the circular motion (This is not a good idea unless you have a very well measured tcp)

    Not the best of the world as I usually try to not use Karel, but the math functions are only avaiable from there.

  • Online
    hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,612
    • September 13, 2024 at 7:19 AM
    • #7
    Quote from Shellmer

    Not the best of the world as I usually try to not use Karel, but the math functions are only avaiable from there.

    If you have only very raw (few) steps in angle, you can use a lookup table for sin/cos values in TP and don't need Karel. :winking_face:

  • Shellmer
    Reactions Received
    52
    Trophies
    5
    Posts
    161
    • September 13, 2024 at 8:04 AM
    • #8
    Quote from hermann

    If you have only very raw (few) steps in angle, you can use a lookup table for sin/cos values in TP and don't need Karel. :winking_face:

    Sure, thats what I usually do when I need to recenter the coordinates of a picking point of workpieces that go into V shape stops, depending on the workpiece radius and point of contact I offset the coordinates by that ammount.

    You can usually do almost all through TP if you get creative, I remember that someone from here has even created from scratch the matrix inverse function on TP.


    On my case as I have Karel avaiable on all our robots I prefer to just write little karel functions that do very specific things, so per example if I need the COS function I just write a karel routine that accepts an angle value and a register, and when called on TP it just gets the angle and writes the result on the provided register. That way that code doesn't need to be maintained as it's a simple operation that allows you to use karel math functions on TP without the need to compile a karel function with all your calculations.

    If that karel source code is lost, well, it's not a big deal as you know that the function is a simple interface of the original math function of karel.

  • SkyeFire
    Reactions Received
    1,052
    Trophies
    12
    Posts
    9,429
    • September 13, 2024 at 3:10 PM
    • #9
    Quote from Shellmer

    Not the best of the world as I usually try to not use Karel, but the math functions are only avaiable from there.

    You can buy the Math option for TP. Or, if your Fanuc has certain irVision packages installed, they bring the Trig functions with them.

    But, yes -- Fanuc regards any math more complicated than basic addtion/subtraction/multiplication/division as a paid option. :icon_rolleyes:

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download