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

# Point Orientation Derived from Curve

I apologize if my questions have already been answered in a previous thread. I searched but did not find a thread addressing my specific questions.

If I understand the process correctly, the Load Curves button of the RoboDK SolidWorks Plug-In discretizes the SW curve into points with spacing determined by the tolerance settings.

What I am wondering about is how the Plug-In decides the i,j,k normal vector orientation of the points. I believe the k vector always matches the normal of the curve, but I am curious about the i and j vectors. It seems to me that they are oriented so that the tangent vector of the curve bisects the i and j vectors. Is that correct?

If I create a point-follow-project (PFP) for one of the points, I have to rotate the TCP z rotation 45deg in order for the TCP x-axis to be aligned with the curve tangent.

You can additionally select the corresponding surfaces/faces to orient the normals of the curve points:
Liquid dispensing with a Kawasaki robot and SolidWorks - RoboDK Plug-In

To adjust the curve point vectors, you can use the Tools-Modify Curves tool.

You may also use the Curve Utilities Add-in as an advanced option for editing curves.
Hi Sergei,

We are using the Python API to create point-follow-projects (PFP). It would be good to be able to predict the TCP orientation at the start point of the PFP. Is there a way to predict the point's i, j vector orientation when the curve from SolidWorks is discretized?
When you use a robot machining project, a curve follow project or a point follow project, by default, RoboDK will make the ijk vector of the points or curves perpendicular to the surfaces you selected. The direction of the tool Z axis will match this ijk orientation by default.

Also, by default, RoboDK tries to point the X axis of the tool against the opposite side of the X axis of your coordinate system.

You can add an additional Z axis rotation by default with the path to tool pose. You can also modify the vector that defines this preferred orientation.
(06-30-2024, 01:52 PM)Albert Wrote: When you use a robot machining project, a curve follow project or a point follow project, by default, RoboDK will make the ijk vector of the points or curves perpendicular to the surfaces you selected. The direction of the tool Z axis will match this ijk orientation by default.

Also, by default, RoboDK tries to point the X axis of the tool against the opposite side of the X axis of your coordinate system.

You can add an additional Z axis rotation by default with the path to tool pose. You can also modify the vector that defines this preferred orientation.

Hi Albert,

Thank you for your response. I understand that the point's k vector is normal to the selected surface. Our question regards the orientation/rotation of the i and j vectors with respect to the curve's tangent vector. We were hoping that the i and j vectors of the points created from the curve would be aligned with the tangent and radial vectors of the curve, respectively. However, when we tested this out, we saw that the point's i vector does not necessarily align with the curve's tangent vector. It seems that the i vector direction changes from point to point along the curve. Is the i vector direction something that we can predict and account for?

Thank you.

I think we are confusing terminology. We usually refer to the IJK vector as the normal to the surface, or the approach vector, which usually ends up being the Z axis of the tool.

In robotics, we refer to the 3 vectors of the tool (TCP) as N (normal), O (orientation) and A (approach), which correspond to the X,Y,Z vectors of the robot tool (TCP).

When you want the X axis to follow the curve tangent you can click on more options and you can uncheck the option to skip the tool reorientation for certain movements.

If you can share your RoboDK project file we can help you better.

 Users browsing this thread: 1 Guest(s)