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

Help aligning a 2-axis turntable

#1
Hello, anyone who is interested

I am using a customized two-axis turntable, and I would attach a reference to the turntable flange. I want to know how to obtain the two joint positions of the 2-axis turntable to align the z-axis of the reference system with a certain vector.

Best regards,
ZHANG Guoquan
#2
If you follow the steps to create a 2-axis turntable you should have the Z axis aligned along the rotation of the 2nd axis.

You can find more information about creating custom mechanisms here:
https://robodk.com/doc/en/General.html#ModelRobot
#3
Hello, Albert.

Maybe I don't clearly state my needs. I attach an external reference to the 2-axis turntable, like a tool of the turntable, the relationship between the reference and the turntable flange is constant. I need to rotate the turntable to align the reference z-Axis with the world reference z-Axis. So, how can I get turntable axes angles? I can use Python API, and I would be grateful if RoboDK officials provided relevant calculation functions.

Best regards!
ZHANG Guoquan
#4
I believe you are trying to synchronize your robot arm with your turntable. You can accomplish this task by selecting Utilities-Synchronize External Axes. You can find more information here:
https://robodk.com/doc/en/General.html#SyncAxes
#5
Thanks, Albert

Please allow me to update my question, what I need is more like a 3+2 axis (6+2 axis in our case) machining mode. I will add an M command to the file for every sub-manufacturing task to provide the new working reference, and I have written a small algorithm for calculating the axes values of the turntable. The M_RunCode file would add new instructions of 'set reference' and 'move turntable'. As a result, I now have some new questions. Firstly, I need to delete the Call M_RunCode instruction after adding the new instruction to avoid repeating instructions the second time I simulate the program, but the program will quit every time I delete the instruction. Secondly, when I directly drag the progress bar of the simulation program, I find that the call function instruction does not seem to run.
Finally, you recommend the function of Synchronize External Axes, I will try it. Before testing it, I want to ask some questions. The only path information I can provide for the RoboDK is XYZ and the new workpiece reference system, so the way I can think of for the time being is to set the new reference system after running Call M_RunCode. In this case, can the corresponding Turntable and Robot inverse kinematics be calculated before running the program simulation by setting the maintaining flange direction, or can the inverse kinematics only be calculated based on the reference system selected at the beginning of the calculation?

Best regards!
ZHANG Guoquan
#6
RoboDK can calculate the inverse kinematics solution for you.

I'm not sure I understand what you mean though. Can you provide the RoboDK project file?
#7
Hi, Albert
I will try to make my question clear and attach my file. 
Due to some cooperation restrictions, I can currently only use Gcode obtained by plane slicing with specific commercial software as input. To achieve variable-direction manufacturing, I pre-decomposed the target model, and slice it separately, and inserted M commands between different parts to transfer the new reference system required for the next sub-component manufacturing (relative to the initial workpiece reference system).

The manufacturing program obtained directly in this way is ‘Maching2’. A few of my questions are:
1. Due to the instructions for the reference set and for Turntable rotation are all in ‘Call M_RunCode’. I must run the simulation completely before I can update ‘Call M_RunCode’, and directly dry the progress bar will not run the CALL instruction.
2. During the update process, I found that once the M_RunCode instruction is deleted, the entire simulation program stops running.
3. Finally, I manually added the MovJ instruction to the program to run Turntable, which actually changed the reference system to make the robot move instead of Turntable. How do I set the Move instruction of Turantable in the program?

Best Regards!
ZHANG Guoquan


Attached Files
.rdk   Robot 3DP & Positioner - Printing_v4.rdk (Size: 29.37 MB / Downloads: 47)
#8
If I understand your task correctly and using a rotary table in cooperation with the robot is not possible, one approach would be to create a sequence of subroutines in which machining programs alternate with table repositioning programs.

For each of the machining programs, it is necessary to use a corresponding (possibly, manually recalculated) reference frame.

If you would like to automate your program generation routine, please look at our RoboDK Python API documentation.

RoboDK API for Python
#9
Hello, Sergei

Thanks for your reply!

I totally agree with you. I used the Python API to automate the creation of multiple subprograms and called them at the right time in a main program, which solved the problem.
  




Users browsing this thread:
2 Guest(s)