Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Move linear rail to rounded integer values

#1
Hi, I have a linear rail synchronized with a robot in RoboDK. I need the rail to only have integer values (thus to move only by steps of 1 mm).

Can I achieve this somehow?

Thanks
#2
Do you have a robot arm synchronized with a linear rail and you use the optimization parameters to generate robot programs?

If so, one quick workaround is to modify the post processor to round the position of the external axis to the closes integer value. If you use Cartesian targets with respect to a static reference you don't need to adjust any other values as the controller will make the necessary adjustments to move to the correct Cartesian position.

Another option is to round a script in RoboDK that checks all targets in a program and modifies the position of the external axis.

Let us know if you need more help, if you can share your project we can better understand what you are trying to do and help you better.
#3
Yes, they're synchronized (I'm using a UR10 robot, which hasn't got a linear rail by default, and now I have the rail as 7th joint in the robot panel) and I use optimization parameters.
I'm using joint targets so both those solutions are fine but I should recalculate the joint position for each one of them.

Isn't there a way from the UI to force the 7th joint value (the rail position) to only be integer when I move it in the robot panel?
#4
It is not possible to force the 7th joint value to be an integer using the default optimization options.

Instead, I would recommend you to create an Add-in to automatically modify the programs. For example, you could use the functions Instruction and setInstruction for movement commands as shown here:
https://robodk.com/doc/en/PythonAPI/exam...structions

You also have an example that uses external axes here:
https://robodk.com/forum/Thread-External...04#pid4304
  




Users browsing this thread:
1 Guest(s)