Path position and length calculation methodAlong a path object, a position can be defined. That position, also referred to as path position, is different from the position of a path object. While the position of a path object is the position of the path object origin point (which is shown as a white wireframe cube when the path is selected), the path position or rather intrinsic path position is a position value along the path as can be seen in following figure: [The current path position is indicated as a red sphere] The Bezier points of a path can be distinct or coincident: imagine a welding robot whose end-effector is the tip of the welding device; between two consecutive Bezier points, the end-effector can: Additionally, there are some situations where we want the welding torch to follow a predefined path, pause at some specific position (e.g. to handle a bigger welding spot), then continue along the path. In order to properly handle above 3 cases and the special pause case, it is important to be able to uniquely identify any position* (position taken in the wider sense) along the path (i.e. path position*), as well as the path length* (length taken in the wider sense). For this, the user can select between several position calculation methods: ![]() ![]() ![]() ![]() ![]() ![]() ![]() Where Δl and Δα is the linear and angular variation respectively, between two consecutive Bezier points. Angular** variation is the regular angular variation multiplied with an angular coefficient c. c is called the angular to linear conversion coefficient, and allows to combine an angular value with a linear value. This means that the position* along the path or the path length* is always given in a linear unit (e.g. meter), irrespective of the selected position calculation method here above. The term marked in red is zero by default. The term can be seen as a virtual distance or a forth coordinate of a Bezier point (or path control point) (i.e. each Bezier point would then be defined by an orientation and a position (x,y,z,w), where w is the forth coordinate). This is useful to archive a pause point along a path. Following example clarifies the position and length calculation concept: [Path example, (a) overview, (b) Bezier points with orientation, (c) cumulative linear and angular values] [Path example, various path position/length calculation methods that can present discontinuities] [Path example, various path position/length calculation methods] [Path example, various path position/length calculation methods] To archive a movement pause at a specific point along a path, proceed as following: create 3 identical path control points (perfectly coincident position and orientation) and specify a virtual distance value different from zero for the middle control point. In following example, the virtual distance at the 3 coincident points is 2 (1 between the first and the middle coincident control points, and 1 between the middle and the third coincident control points). If an object travels along the path at a velocity of 1 meter per second, then it would archive a 2 seconds pause at the coincident control points: [Path example, movement pause] One should carefully select the path position/length calculation method depending on the application. It should also be noted that velocities, accelerations and all other values derived from a position on a path, will also be calculated similarly (e.g. velocity*=d(position*)/dt). Recommended topics |