<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">%=====================================================================
\section{The Shadow Behavior}
%=====================================================================
\wikisec{grp=bhvmulti}
\wikisec{file=BehaviorShadow, short=Shadow Behavior}
\label{bhv_shadow}
\index{IvP Behaviors Implemented!\var{BHV\_Shadow}}
\index{Shadow Behavior}

This behavior will drive the vehicle to match the trajectory of
another specified vehicle. This behavior in conjunction with the
BHV\_CutRange behavior can produce a "track and trail"
capability. 

%=======================================================================
\subsection{Configuration Parameters}
\label{sec_bhv_shadow_params}

\input{includes/bhv_all_properties}

\input{includes/bhv_contact_properties}

\vspace{0.15in}
\begin{listing}{Configuration Parameters for the Shadow Behavior}
\label{lst_bhv_shadow}
\small
\renewcommand{\arraystretch}{1.15}
\begin{longtable}{rp{0.76\textwidth}} 

  {\bf Parameter} &amp; {\bf Description} \\  

  \bvar{heading\_peakwidth}: &amp; Width of the peak, in degrees, in the 
  produced ZAIC-style IvP function.\\ 
  
  \bvar{heading\_basewidth}: &amp; Width of the base, in degrees, in the 
  produced ZAIC-style IvP function.\\ 
  
  \bvar{speed\_peakwidth}: &amp; Width of the peak, in m/sec, in the 
  produced ZAIC-style function. \\ 
  
  \bvar{speed\_basewidth}: &amp; Width of the base, in m/sec, in the 
  produced ZAIC-style IvP function.\\  
\end{longtable}
\end{listing}
\normalsize

\vspace{0.15in}
\begin{listing}{Example Configuration Block}
\label{lst_bhv_shadow_ex}

\begin{fileverb}
Behavior = BHV_CutRange
{
  // General Behavior Parameters
  // ---------------------------
  name         = shadow_henry          // example
  pwt          = 200                   // example
  condition    = SHADOW = true         // example
  updates      = CONTACT_INFO          // example


  // General Contact Behavior Parameters
  // -----------------------------------
            contact = henry            // example
              decay = 15,30            // default (seconds)
        extrapolate = true             // default
   on_no_contact_ok = true             // default
        time_on_leg = 60               // default (seconds)


  // Parameters specific to this behavior
  // ------------------------------------
        pwt_outer_dist = 0             // default (meters)
     heading_peakwidth = 20            // default 
     heading_basewidth = 160           // default 
       speed_peakwidth = 0.1           // default 
       speed_basewidth = 2.0           // default 
}
\end{fileverb}
\end{listing}




\vspace{0.15in}
\begin{itemize}

\item \bvar{pwt\_outer\_dist}: The distance (in meters) that the
  contact must be within for the behavior to be active and produce an
  objective function.  The default is zero meaning it will be active
  regardless of the distance to the contact.

\item \bvar{heading\_peakwidth}: This behavior uses the
  \var{ZAIC\_PEAK} tool from the IvP Toolbox for generating an
  objective function over heading and speed. This parameter sets the
  peakwidth parameter of the heading component.

\item \bvar{heading\_basewidth}: This behavior uses the
  \var{ZAIC\_PEAK} tool from the IvP Toolbox for generating an
  objective function over heading and speed. This parameter sets the
  basewidth parameter of the heading component.

\item \bvar{speed\_peakwidth}: This behavior uses the \var{ZAIC\_PEAK}
  tool from the IvP Toolbox for generating an objective function over
  heading and speed. This parameter sets the peakwidth parameter of
  the speed component.

\item \bvar{speed\_basewidth}: This behavior uses the \var{ZAIC\_PEAK}
  tool from the IvP Toolbox for generating an objective function over
  heading and speed. This parameter sets the basewidth parameter of
  the speed component.

\end{itemize}


%=======================================================================
\subsection{Variables Published}

The below MOOS variables will be published by the behavior during
normal operation, in addition to any configured flags. A variable
published by any behavior may be supressed or changed to a different
variable name using the \var{post\_mapping} configuration parameter
described in Section \ref{sec_bhv_post_mapping}.

\vspace{0.15in}
\begin{listing}{Variables Published by the Shadow Behavior}
\label{lst_bhv_shadow_pubs}
\small
\renewcommand{\arraystretch}{1.15}
\begin{longtable}{rp{0.76\textwidth}} 

  {\bf Variable} &amp; {\bf Description} \\  

  \mvar{SHADOW\_CONTACT\_X}: &amp; description \\

  \mvar{SHADOW\_CONTACT\_Y}: &amp; description \\

  \mvar{SHADOW\_CONTACT\_SPEED}: &amp; description \\

  \mvar{SHADOW\_CONTACT\_HEADING}: &amp; description \\

  \mvar{SHADOW\_CONTACT\_RELEVANCE}: &amp; description 

\end{longtable}
\end{listing}
\normalsize
  

</pre></body></html>