uavOrbitFollower
Orbit location of interest using a UAV
Description
The uavOrbitFollower
object is a 3-D path follower for unmanned aerial
vehicles (UAVs) to follow circular paths that is based on a lookahead distance. Given the
circle center, radius, and the pose, the orbit follower computes a desired yaw and course to
follow a lookahead point on the path. The object also computes the cross-track error from the
UAV pose to the path and tracks how many times the circular orbit has been completed.
Tune the lookaheadDistance
input to help improve path tracking.
Decreasing the distance can improve tracking, but may lead to oscillations in the path.
To orbit a location using a UAV:
Create the
uavOrbitFollower
object and set its properties.Call the object with arguments, as if it were a function.
To learn more about how System objects work, see What Are System Objects?
Creation
Description
orbit = uavOrbitFollower
returns an orbit follower object with
default property values.
orbit = uavOrbitFollower(Name,Value)
creates an orbit follower
with additional options specified by one or more Name,Value
pair
arguments.
Name
is a property name and Value
is the
corresponding value. Name
must appear inside single quotes
(''
). You can specify several name-value pair arguments in any order
as Name1,Value1,...,NameN,ValueN
.
Properties
Usage
Description
[
follows the set of waypoints specified in the waypoint follower object. The object takes
the current position and lookahead distance to compute the lookahead point on the path.
The desired course, yaw, and cross track error are also based on this lookahead point
compared to the current position. lookaheadPoint
,desiredCourse
,desiredYaw
,orbitRadiusFlag
,lookaheadDistFlag
,crossTrackError
,numTurns
] = orbit(currentPose
,lookaheadDistance
)status
returns zero until the UAV
has navigated all the waypoints.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
System object™ as the first input argument. For
example, to release system resources of a System object named obj
, use
this syntax:
release(obj)
Examples
Extended Capabilities
Version History
Introduced in R2019a