pathLength

Length of path

Description

example

len = pathLength(path) returns the total length of path by summing the distances between every sequential pair of states in the path. The function uses the state space object associated with path to calculate the distance between each state pair.

Examples

collapse all

Create a navPath object based on multiple waypoints in a Dubins space.

dubinsSpace = stateSpaceDubins([0 25; 0 25; -pi pi])
dubinsSpace = 
  stateSpaceDubins with properties:

   SE2 Properties
                 Name: 'SE2 Dubins'
          StateBounds: [3×2 double]
    NumStateVariables: 3

   Dubins Vehicle Properties
     MinTurningRadius: 1

pathobj = navPath(dubinsSpace)
pathobj = 
  navPath with properties:

    StateSpace: [1×1 stateSpaceDubins]
        States: [0×3 double]
     NumStates: 0

waypoints = [...
    8 10 pi/2;
    10 12 pi/4;
    12 17 pi/2;
    11 10 -pi];
append(pathobj, waypoints);

Interpolate that path so that it contains exactly 250 points.

interpolate(pathobj, 250)

Visualize the interpolated path and the original waypoints.

figure;
grid on;
axis equal;
hold on;
plot(pathobj.States(:,1), pathobj.States(:,2), ".b");
plot(waypoints(:,1), waypoints(:,2), "*r", "MarkerSize", 10)

Calculate length of path.

len = pathLength(pathobj);
disp("Path length = " + num2str(len))
Path length = 19.37

Input Arguments

collapse all

Path object, specified as a navPath object.

Data Types: object

Output Arguments

collapse all

Length of the path, returned as a nonnegative scalar.

See Also

Introduced in R2019b