Non-standard motions

I'm working on a project right now that requires a tapered spiral profile using an external positioner. That being said, it also requires a high degree of precision in the movement path.

My knee jerk, 'work with the tools I have', response to this is to string a series of circular movements together. Unfortunately, this also forces me to perform a tolerance analysis for my path to ensure that I am not deviating too far. This creates a somewhat iterative process, which I am positive will be very tedious and annoying. Additionally, this doesn't create smooth path planning so I expect to have more and more deviation the more points I put in, unless I periodically stop it with a zfine to ensure I hit the target.

Ideally, I would like to be able to provide some parametric path to the motion planner. If this is possible, please let me know. If not, I'm also open to adding something via the development tools, though I have yet to venture there with robot studio.

Any help would be appreciated. Thank you!


  • Hi, 

    I'm not aware of any functions for parametric path planning as with RAPID, the move instructions require a future target for a fixed point as opposed to a path equation, and the path planning and monitoring is done by the controller.

    I have approximated a Sine wave closely with 'MoveC' instructions before to weld a pipe intersection and found it to be accurate enough, what kind of accuracy are you chasing?

    A suggestion, if you can measure deviation as you are moving, would be to look into using a correction generator; the description for the 'CorrCon' function in the RAPID instructions help manual is informative. Could you could use a background task to monitor the trajectory deviation and add corrections?


  • It sounds like you are looking for EGM (External Guided Motion), it's an option for ABB Robots.
    There is some videos on youtube where this is demonstrated, but it's basically bypassing the motion planner. 

    It's possible to combine with regular code so you do some MoveL/MoveJ's to the starting point, initiate EGM, your software runs its program and then ends EGM and your robot returns to starting position with regular instructions. 

    Then you can do your own path with correction from external sensors if needed. 
    I don't have much experience with EGM except a few hours with a demo station.
    But it sounds like it's what your looking for. 
    Systemintegrator - Web / C# / Rapid / Robotstudio

    If I helped, please press Vote Up  :smile:
  • Thanks! Regarding accuracy, I have a 0.5mm end effector (driven by path width) that needs to stay along a path width of 1.4mm width, so +/- 0.45mm. It won't be long before we will need to roughly half that path width. We will require this accuracy through the entirety of the path.

    EGM looks interesting and something that I may be able to use. I will look into, thank you.