<reponame>peci1/emanual<filename>docs/en/software/robotis_manipulator_libs/doxygen/latex/classrobotis__manipulator_1_1_joint_trajectory.tex
\hypertarget{classrobotis__manipulator_1_1_joint_trajectory}{}\section{robotis\+\_\+manipulator\+:\+:Joint\+Trajectory Class Reference}
\label{classrobotis__manipulator_1_1_joint_trajectory}\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}


The \hyperlink{classrobotis__manipulator_1_1_joint_trajectory}{Joint\+Trajectory} class.  




{\ttfamily \#include $<$robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+h$>$}



Collaboration diagram for robotis\+\_\+manipulator\+:\+:Joint\+Trajectory\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=269pt]{classrobotis__manipulator_1_1_joint_trajectory__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classrobotis__manipulator_1_1_joint_trajectory_abeaf864dbc1fa619ca8870c03f36f8b5}{Joint\+Trajectory} ()
\item 
virtual \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a971255bd9c193d9c333f1c095692f7e3}{$\sim$\+Joint\+Trajectory} ()
\item 
void \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a27165ae6c8bc5ffd3d431ac03c77cddb}{make\+Joint\+Trajectory} (double move\+\_\+time, \hyperlink{namespacerobotis__manipulator_a4456fd8b14e1f6b7733a77837dfe9339}{Joint\+Waypoint} start, \hyperlink{namespacerobotis__manipulator_a4456fd8b14e1f6b7733a77837dfe9339}{Joint\+Waypoint} goal)
\begin{DoxyCompactList}\small\item\em make\+Joint\+Trajectory \end{DoxyCompactList}\item 
Eigen\+::\+Matrix\+Xd \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a2a471ffc50baf5d83bd857ea57ed3ccd}{get\+Minimum\+Jerk\+Coefficient} ()
\begin{DoxyCompactList}\small\item\em get\+Minimum\+Jerk\+Coefficient \end{DoxyCompactList}\item 
\hyperlink{namespacerobotis__manipulator_a4456fd8b14e1f6b7733a77837dfe9339}{Joint\+Waypoint} \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_aef1a0eaac83af6599f2bef674d299f4c}{get\+Joint\+Waypoint} (double tick)
\begin{DoxyCompactList}\small\item\em get\+Joint\+Waypoint \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
uint8\+\_\+t \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_abfc3d7ff3a5789f818ce2a483118458a}{coefficient\+\_\+size\+\_\+}
\item 
\hyperlink{classrobotis__manipulator_1_1_minimum_jerk}{Minimum\+Jerk} \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a7138717ca5cd53ca07e3ff9c68494170}{minimum\+\_\+jerk\+\_\+trajectory\+\_\+generator\+\_\+}
\item 
Eigen\+::\+Matrix\+Xd \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\+\_\+jerk\+\_\+coefficient\+\_\+}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
The \hyperlink{classrobotis__manipulator_1_1_joint_trajectory}{Joint\+Trajectory} class. 

Definition at line 79 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+h.



\subsection{Constructor \& Destructor Documentation}
\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!Joint\+Trajectory@{Joint\+Trajectory}}
\index{Joint\+Trajectory@{Joint\+Trajectory}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{Joint\+Trajectory()}{JointTrajectory()}}]{\setlength{\rightskip}{0pt plus 5cm}Joint\+Trajectory\+::\+Joint\+Trajectory (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_abeaf864dbc1fa619ca8870c03f36f8b5}{}\label{classrobotis__manipulator_1_1_joint_trajectory_abeaf864dbc1fa619ca8870c03f36f8b5}


Definition at line 72 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+cpp.


\begin{DoxyCode}
73 \{\}
\end{DoxyCode}
\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!````~Joint\+Trajectory@{$\sim$\+Joint\+Trajectory}}
\index{````~Joint\+Trajectory@{$\sim$\+Joint\+Trajectory}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{$\sim$\+Joint\+Trajectory()}{~JointTrajectory()}}]{\setlength{\rightskip}{0pt plus 5cm}Joint\+Trajectory\+::$\sim$\+Joint\+Trajectory (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_a971255bd9c193d9c333f1c095692f7e3}{}\label{classrobotis__manipulator_1_1_joint_trajectory_a971255bd9c193d9c333f1c095692f7e3}


Definition at line 75 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+cpp.


\begin{DoxyCode}
75 \{\}
\end{DoxyCode}


\subsection{Member Function Documentation}
\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!get\+Joint\+Waypoint@{get\+Joint\+Waypoint}}
\index{get\+Joint\+Waypoint@{get\+Joint\+Waypoint}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{get\+Joint\+Waypoint(double tick)}{getJointWaypoint(double tick)}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Joint\+Waypoint} Joint\+Trajectory\+::get\+Joint\+Waypoint (
\begin{DoxyParamCaption}
\item[{double}]{tick}
\end{DoxyParamCaption}
)}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_aef1a0eaac83af6599f2bef674d299f4c}{}\label{classrobotis__manipulator_1_1_joint_trajectory_aef1a0eaac83af6599f2bef674d299f4c}


get\+Joint\+Waypoint 


\begin{DoxyParams}{Parameters}
{\em tick} & \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 92 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+cpp.


\begin{DoxyCode}
93 \{
94   \hyperlink{namespacerobotis__manipulator_a4456fd8b14e1f6b7733a77837dfe9339}{JointWaypoint} joint\_way\_point;
95   \textcolor{keywordflow}{for} (uint8\_t index = 0; index < \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_abfc3d7ff3a5789f818ce2a483118458a}{coefficient\_size\_}; index++)
96   \{
97     \hyperlink{structrobotis__manipulator_1_1_point}{JointValue} single\_joint\_way\_point;
98 
99     single\_joint\_way\_point.\hyperlink{structrobotis__manipulator_1_1_point_a0f122386b502d9b316bdead542ed2145}{position} = \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(0, index) 
      +
100              \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(1, index) * pow(tick, 1) +
101              \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(2, index) * pow(tick, 2) +
102              \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(3, index) * pow(tick, 3) +
103              \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(4, index) * pow(tick, 4) +
104              \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(5, index) * pow(tick, 5);
105 
106     single\_joint\_way\_point.\hyperlink{structrobotis__manipulator_1_1_point_a4eaec95fac0c755eb0aa704b36ebe97b}{velocity} = \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(1, index) 
      +
107              2 * \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(2, index) * pow(tick, 1) +
108              3 * \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(3, index) * pow(tick, 2) +
109              4 * \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(4, index) * pow(tick, 3) +
110              5 * \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(5, index) * pow(tick, 4);
111 
112     single\_joint\_way\_point.\hyperlink{structrobotis__manipulator_1_1_point_adb49f1fbcc0eaa7f530c54fdf0ede836}{acceleration} = 2 * 
      \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(2, index) +
113              6 * \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(3, index) * pow(tick, 1) +
114              12 * \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(4, index) * pow(tick, 2) +
115              20 * \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}(5, index) * pow(tick, 3);
116 
117     single\_joint\_way\_point.\hyperlink{structrobotis__manipulator_1_1_point_add1a7019fc87cc2ac9bdf033372a9bb6}{effort} = 0.0;
118 
119     joint\_way\_point.push\_back(single\_joint\_way\_point);
120   \}
121 
122   \textcolor{keywordflow}{return} joint\_way\_point;
123 \}
\end{DoxyCode}


Here is the caller graph for this function\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{classrobotis__manipulator_1_1_joint_trajectory_aef1a0eaac83af6599f2bef674d299f4c_icgraph}
\end{center}
\end{figure}


\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!get\+Minimum\+Jerk\+Coefficient@{get\+Minimum\+Jerk\+Coefficient}}
\index{get\+Minimum\+Jerk\+Coefficient@{get\+Minimum\+Jerk\+Coefficient}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{get\+Minimum\+Jerk\+Coefficient()}{getMinimumJerkCoefficient()}}]{\setlength{\rightskip}{0pt plus 5cm}Eigen\+::\+Matrix\+Xd Joint\+Trajectory\+::get\+Minimum\+Jerk\+Coefficient (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_a2a471ffc50baf5d83bd857ea57ed3ccd}{}\label{classrobotis__manipulator_1_1_joint_trajectory_a2a471ffc50baf5d83bd857ea57ed3ccd}


get\+Minimum\+Jerk\+Coefficient 

\begin{DoxyReturn}{Returns}

\end{DoxyReturn}


Definition at line 125 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+cpp.


\begin{DoxyCode}
126 \{
127   \textcolor{keywordflow}{return} \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_};
128 \}
\end{DoxyCode}
\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!make\+Joint\+Trajectory@{make\+Joint\+Trajectory}}
\index{make\+Joint\+Trajectory@{make\+Joint\+Trajectory}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{make\+Joint\+Trajectory(double move\+\_\+time, Joint\+Waypoint start, Joint\+Waypoint goal)}{makeJointTrajectory(double move_time, JointWaypoint start, JointWaypoint goal)}}]{\setlength{\rightskip}{0pt plus 5cm}void Joint\+Trajectory\+::make\+Joint\+Trajectory (
\begin{DoxyParamCaption}
\item[{double}]{move\+\_\+time, }
\item[{{\bf Joint\+Waypoint}}]{start, }
\item[{{\bf Joint\+Waypoint}}]{goal}
\end{DoxyParamCaption}
)}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_a27165ae6c8bc5ffd3d431ac03c77cddb}{}\label{classrobotis__manipulator_1_1_joint_trajectory_a27165ae6c8bc5ffd3d431ac03c77cddb}


make\+Joint\+Trajectory 


\begin{DoxyParams}{Parameters}
{\em move\+\_\+time} & \\
\hline
{\em start} & \\
\hline
{\em goal} & \\
\hline
\end{DoxyParams}


Definition at line 77 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+cpp.


\begin{DoxyCode}
79 \{
80   \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_abfc3d7ff3a5789f818ce2a483118458a}{coefficient\_size\_} = start.size();
81   \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}.resize(6,\hyperlink{classrobotis__manipulator_1_1_joint_trajectory_abfc3d7ff3a5789f818ce2a483118458a}{coefficient\_size\_});
82   \textcolor{keywordflow}{for} (uint8\_t index = 0; index < \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_abfc3d7ff3a5789f818ce2a483118458a}{coefficient\_size\_}; index++)
83   \{
84     \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a7138717ca5cd53ca07e3ff9c68494170}{minimum\_jerk\_trajectory\_generator\_}.
      \hyperlink{classrobotis__manipulator_1_1_minimum_jerk_afd29204e588525a2688a74d2a9656354}{calcCoefficient}(start.at(index),
85                                     goal.at(index),
86                                     move\_time);
87 
88     \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{minimum\_jerk\_coefficient\_}.col(index) = 
      \hyperlink{classrobotis__manipulator_1_1_joint_trajectory_a7138717ca5cd53ca07e3ff9c68494170}{minimum\_jerk\_trajectory\_generator\_}.
      \hyperlink{classrobotis__manipulator_1_1_minimum_jerk_a1610599c85567422e492e0893e02cc34}{getCoefficient}();
89   \}
90 \}
\end{DoxyCode}


\subsection{Member Data Documentation}
\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!coefficient\+\_\+size\+\_\+@{coefficient\+\_\+size\+\_\+}}
\index{coefficient\+\_\+size\+\_\+@{coefficient\+\_\+size\+\_\+}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{coefficient\+\_\+size\+\_\+}{coefficient_size_}}]{\setlength{\rightskip}{0pt plus 5cm}uint8\+\_\+t robotis\+\_\+manipulator\+::\+Joint\+Trajectory\+::coefficient\+\_\+size\+\_\+\hspace{0.3cm}{\ttfamily [private]}}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_abfc3d7ff3a5789f818ce2a483118458a}{}\label{classrobotis__manipulator_1_1_joint_trajectory_abfc3d7ff3a5789f818ce2a483118458a}


Definition at line 82 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+h.

\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!minimum\+\_\+jerk\+\_\+coefficient\+\_\+@{minimum\+\_\+jerk\+\_\+coefficient\+\_\+}}
\index{minimum\+\_\+jerk\+\_\+coefficient\+\_\+@{minimum\+\_\+jerk\+\_\+coefficient\+\_\+}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{minimum\+\_\+jerk\+\_\+coefficient\+\_\+}{minimum_jerk_coefficient_}}]{\setlength{\rightskip}{0pt plus 5cm}Eigen\+::\+Matrix\+Xd robotis\+\_\+manipulator\+::\+Joint\+Trajectory\+::minimum\+\_\+jerk\+\_\+coefficient\+\_\+\hspace{0.3cm}{\ttfamily [private]}}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}{}\label{classrobotis__manipulator_1_1_joint_trajectory_a74b431132c75c6840b70ea62f65d3c48}


Definition at line 84 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+h.

\index{robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}!minimum\+\_\+jerk\+\_\+trajectory\+\_\+generator\+\_\+@{minimum\+\_\+jerk\+\_\+trajectory\+\_\+generator\+\_\+}}
\index{minimum\+\_\+jerk\+\_\+trajectory\+\_\+generator\+\_\+@{minimum\+\_\+jerk\+\_\+trajectory\+\_\+generator\+\_\+}!robotis\+\_\+manipulator\+::\+Joint\+Trajectory@{robotis\+\_\+manipulator\+::\+Joint\+Trajectory}}
\subsubsection[{\texorpdfstring{minimum\+\_\+jerk\+\_\+trajectory\+\_\+generator\+\_\+}{minimum_jerk_trajectory_generator_}}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Minimum\+Jerk} robotis\+\_\+manipulator\+::\+Joint\+Trajectory\+::minimum\+\_\+jerk\+\_\+trajectory\+\_\+generator\+\_\+\hspace{0.3cm}{\ttfamily [private]}}\hypertarget{classrobotis__manipulator_1_1_joint_trajectory_a7138717ca5cd53ca07e3ff9c68494170}{}\label{classrobotis__manipulator_1_1_joint_trajectory_a7138717ca5cd53ca07e3ff9c68494170}


Definition at line 83 of file robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+h.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
include/robotis\+\_\+manipulator/\hyperlink{robotis__manipulator__trajectory__generator_8h}{robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+h}\item 
src/robotis\+\_\+manipulator/\hyperlink{robotis__manipulator__trajectory__generator_8cpp}{robotis\+\_\+manipulator\+\_\+trajectory\+\_\+generator.\+cpp}\end{DoxyCompactItemize}
