Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > c72d609d39bfe5656f218382a504969f > files > 134

libkni3-doc-3.9.2-13.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>KatanaNativeInterface: CLMBase Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">KatanaNativeInterface&#160;<span id="projectnumber">$VERSION$</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classCLMBase.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<h1>CLMBase Class Reference</h1>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CLMBase" --><!-- doxytag: inherits="CikBase" -->
<p>Linear movement Class.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="lmBase_8h_source.html">lmBase.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for CLMBase:</div>
<div class="dyncontent">
<div class="center"><img src="classCLMBase__inherit__graph.png" border="0" usemap="#CLMBase_inherit__map" alt="Inheritance graph"/></div>
<map name="CLMBase_inherit__map" id="CLMBase_inherit__map">
<area shape="rect" id="node2" href="classCikBase.html" title="{CikBase\n|&#45; _kinematicsImpl\l&#45; _kinematicsIsInitialized\l|+ CikBase()\l+ ~CikBase()\l+ DKApos()\l+ getCoordinates()\l+ IKCalculate()\l+ IKCalculate()\l+ IKGoto()\l+ moveRobotTo()\l+ moveRobotTo()\l&#45; _initKinematics()\l}" alt="" coords="28,1213,193,1472"/><area shape="rect" id="node4" href="classCKatana.html" title="Extended Katana class with additional functions." alt="" coords="12,5,209,1165"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for CLMBase:</div>
<div class="dyncontent">
<div class="center"><img src="classCLMBase__coll__graph.png" border="0" usemap="#CLMBase_coll__map" alt="Collaboration graph"/></div>
<map name="CLMBase_coll__map" id="CLMBase_coll__map">
<area shape="rect" id="node2" href="classCikBase.html" title="{CikBase\n|&#45; _kinematicsImpl\l&#45; _kinematicsIsInitialized\l|+ CikBase()\l+ ~CikBase()\l+ DKApos()\l+ getCoordinates()\l+ IKCalculate()\l+ IKCalculate()\l+ IKGoto()\l+ moveRobotTo()\l+ moveRobotTo()\l&#45; _initKinematics()\l}" alt="" coords="545,3277,711,3536"/><area shape="rect" id="node4" href="classCKatana.html" title="Extended Katana class with additional functions." alt="" coords="780,1539,977,2699"/><area shape="rect" id="node6" href="classCKatBase.html" title="Base Katana class." alt="" coords="1036,433,1233,1298"/><area shape="rect" id="node18" href="structTSctGNL.html" title="[GNL] controller generals" alt="" coords="1096,2059,1173,2179"/><area shape="rect" id="node45" href="structTMotGNL.html" title="[GNL] motor generals" alt="" coords="1357,2067,1435,2170"/><area shape="rect" id="node8" href="structTKatMFW.html" title="[MFW] master firmware version/revision number" alt="" coords="1197,227,1280,330"/><area shape="rect" id="node10" href="structTKatCBX.html" title="[CBX] connector box" alt="" coords="1304,227,1381,330"/><area shape="rect" id="node12" href="structTKatSCT.html" title="[SCT] every sens ctrl&#39;s attributes" alt="" coords="1064,4297,1141,4417"/><area shape="rect" id="node14" href="structTSctDesc.html" title="sensor controller description (partly)" alt="" coords="1052,3347,1153,3467"/><area shape="rect" id="node16" href="classCSctBase.html" title="Sensor Controller class." alt="" coords="1177,3312,1287,3501"/><area shape="rect" id="node21" href="structTSctDAT.html" title="[DAT] sensor data" alt="" coords="1197,2067,1275,2170"/><area shape="rect" id="node23" href="classCCplBase.html" title="Abstract base class for protocol definiton." alt="" coords="1405,193,1560,365"/><area shape="rect" id="node39" href="classCMotBase.html" title="Motor class." alt="" coords="1880,2766,2069,4047"/><area shape="rect" id="node25" href="classCCdlBase.html" title="Abstract base class for devices." alt="" coords="1428,5,1537,125"/><area shape="rect" id="node27" href="structTKatCTB.html" title="[CTB] command table defined in the firmware" alt="" coords="640,236,717,321"/><area shape="rect" id="node29" href="structTKatECH.html" title="[ECH] echo" alt="" coords="741,236,819,321"/><area shape="rect" id="node31" href="structTKatEFF.html" title="Inverse Kinematics structure of the endeffektor." alt="" coords="843,236,949,321"/><area shape="rect" id="node33" href="structTKatGNL.html" title="[GNL] general robot attributes" alt="" coords="973,227,1077,330"/><area shape="rect" id="node35" href="structTKatMOT.html" title="[MOT] every motor&#39;s attributes" alt="" coords="1569,4297,1647,4417"/><area shape="rect" id="node37" href="structTMotDesc.html" title="motor description (partly)" alt="" coords="1567,3364,1649,3449"/><area shape="rect" id="node41" href="structTMotENL.html" title="[ENL] limits in encoder values (INTERNAL STRUCTURE!)" alt="" coords="1587,2041,1704,2196"/><area shape="rect" id="node43" href="structTMotSFW.html" title="[SFW] slave firmware" alt="" coords="1728,2041,1824,2196"/><area shape="rect" id="node48" href="structTMotInit.html" title="Initial motor parameters." alt="" coords="1848,2033,1989,2205"/><area shape="rect" id="node50" href="structTMotCLB.html" title="Calibration structure for single motors." alt="" coords="2083,2015,2237,2222"/><area shape="rect" id="node52" href="structTMotSCP.html" title="[SCP] static controller parameters" alt="" coords="1997,693,2147,1038"/><area shape="rect" id="node54" href="structTMotDYL.html" title="[DYL] dynamic limits" alt="" coords="2195,736,2328,995"/><area shape="rect" id="node56" href="structTMotPVP.html" title="[PVP] position, velocity, pulse width modulation" alt="" coords="2327,2050,2404,2187"/><area shape="rect" id="node58" href="structTMotAPS.html" title="[APS] actual position" alt="" coords="2428,2067,2511,2170"/><area shape="rect" id="node61" href="structTMotTPS.html" title="[TPS] target position" alt="" coords="2535,2067,2617,2170"/><area shape="rect" id="node65" href="structTKatIDS.html" title="[IDS] identification string" alt="" coords="1101,236,1173,321"/><area shape="rect" id="node70" href="classKNI_1_1KatanaKinematics.html" title="The base class for all kinematic implementations." alt="" coords="692,797,849,934"/><area shape="rect" id="node72" title="STL class." alt="" coords="516,823,641,908"/><area shape="rect" id="node76" href="structTLMtrajectory.html" title="[LM] linear movement: parameters" alt="" coords="5,3277,141,3536"/><area shape="rect" id="node78" href="structTLM__points.html" title="[LM] linear movement: points to be interpolated" alt="" coords="16,2067,107,2170"/><area shape="rect" id="node80" href="structTBLENDtrajectory.html" title="[LMBLEND] Trajectory points" alt="" coords="177,3303,367,3510"/><area shape="rect" id="node82" href="structTSplinepoint.html" title="{TSplinepoint\n|+ point\l+ time\l|}" alt="" coords="131,2067,224,2170"/><area shape="rect" id="node84" href="structTPoint6D.html" title="[LMBLEND] Standard coordinates for a point in space" alt="" coords="187,779,264,951"/><area shape="rect" id="node86" href="structTBlendtrace.html" title="{TBlendtrace\n|+ p1p2n\l+ p2p3n\l+ V1A\l+ V1B\l+ P1A\l+ P1B\l+ b1\l+ b2\l+ m1\l+ m2\l+ tA\l+ tB\l+ distBA\l|}" alt="" coords="385,1972,476,2265"/><area shape="rect" id="node88" href="structTPoint3D.html" title="{TPoint3D\n|+ X\l+ Y\l+ Z\l|}" alt="" coords="392,805,469,925"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classCLMBase-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a97770ffc63896ec86a5b2bb719599ac2">CLMBase</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a0588b70f72fa9fc88902b32095f98c10">initLM</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize the parameters for the linear movements.  <a href="#a0588b70f72fa9fc88902b32095f98c10"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a728b71724865e3b6d410b428e79a31d8">movLM</a> (double X, double Y, double Z, double Al, double Be, double Ga, bool exactflag, double vmax, bool wait=true, int tolerance=100, long timeout=TM_ENDLESS)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a6d7f4471bc3b8ab2af611889622865e4">movLM2PwithL</a> (double X1, double Y1, double Z1, double Al1, double Be1, double Ga1, double X2, double Y2, double Z2, double Al2, double Be2, double Ga2, bool exactflag, double vmax, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Old version of movLM2P which uses L-Command (only 4 splines)  <a href="#a6d7f4471bc3b8ab2af611889622865e4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a959caa52685d1251a1b94d07a4c10b87">movLM2P4D</a> (double X1, double Y1, double Z1, double Al1, double Be1, double Ga1, double X2, double Y2, double Z2, double Al2, double Be2, double Ga2, bool exactflag, double vmax, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a82f9e6bbfe141a631c450c26d93994d3">movLM2P</a> (double X1, double Y1, double Z1, double Al1, double Be1, double Ga1, double X2, double Y2, double Z2, double Al2, double Be2, double Ga2, bool exactflag, double vmax, bool wait=true, int tolerance=100, long timeout=TM_ENDLESS)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">New version of movLM2P with multiple splines.  <a href="#a82f9e6bbfe141a631c450c26d93994d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#aa681841b6b7de20c096cf0330eaf1c26">setMaximumLinearVelocity</a> (double maximumVelocity)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a0e3e6fe11c0c3a989f46317818b8e6a2">getMaximumLinearVelocity</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a6a36cfee0f659e071746a4dd1dba0c61">setActivatePositionController</a> (bool activate)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Re-Activate the position controller after the linear movement.  <a href="#a6a36cfee0f659e071746a4dd1dba0c61"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#aa7f092dc22569135677113554a8edc2f">getActivatePositionController</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the position controller will be activated after the linear movement.  <a href="#aa7f092dc22569135677113554a8edc2f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#ad8d130a1ee82f07257a5a5229fe67f30">moveRobotLinearTo</a> (double x, double y, double z, double phi, double theta, double psi, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#af9ee29f7dbe2dee3ea4429fc97500e4e">moveRobotLinearTo</a> (std::vector&lt; double &gt; coordinates, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method does the same as the one above and is mainly provided for convenience.  <a href="#af9ee29f7dbe2dee3ea4429fc97500e4e"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#af64d90f475acdc1fe2c243e47abf644c">fillPoints</a> (double vmax)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#ade2c8d404502aa717a88d2f92fd8f16c">polDeviratives</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a15b8fb661f5b7a1ee00ef425ae1db806">polCoefficients</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a9f74699391ac130fb9b9708770097810">calcParameters</a> (double *arr_actpos, double *arr_tarpos, double vmax)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#af78530acb154cc505ac8f1ea5fa91d1f">totalTime</a> (double distance, double acc, double dec, double vmax)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates time needed for movement over a distance.  <a href="#af78530acb154cc505ac8f1ea5fa91d1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a69e4d9726b8bd3bc1c40e23b569112e3">relPosition</a> (double reltime, double distance, double acc, double dec, double vmax)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the relative position reached after the relative time given.  <a href="#a69e4d9726b8bd3bc1c40e23b569112e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#abdf434b55bc561e678b2b2820e2a7c31">splineCoefficients</a> (int steps, double *timearray, double *encoderarray, double *arr_p1, double *arr_p2, double *arr_p3, double *arr_p4)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates the spline coefficient and stores them in arr_p1 - arr_p4.  <a href="#abdf434b55bc561e678b2b2820e2a7c31"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a7f3ba36881e0945d6e5cf121f88cad28">checkJointSpeed</a> (std::vector&lt; int &gt; lastsolution, std::vector&lt; int &gt; solution, double time)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the joint speeds are below speed limit.  <a href="#a7f3ba36881e0945d6e5cf121f88cad28"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a5e3635cf4fe50f0937c2c5841a17feae">_maximumVelocity</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a1a012f08b7a5c2d9e0bb40d02863c669">_activatePositionController</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#aa537fa2ef4f3f56265eaf410db7c43be">_isInitialized</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structTLMtrajectory.html">TLMtrajectory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a8dc3ca0cfbc7b25892bc05d8bd7b33ca">trajectory</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structTBLENDtrajectory.html">TBLENDtrajectory</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCLMBase.html#a429d7e9435537e39386e8e3a23d3c1e5">blendtrajectory</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Linear movement Class. </p>
<p>This class allows to do linear movements with the Katana robot. </p>

<p>Definition at line <a class="el" href="lmBase_8h_source.html#l00153">153</a> of file <a class="el" href="lmBase_8h_source.html">lmBase.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a97770ffc63896ec86a5b2bb719599ac2"></a><!-- doxytag: member="CLMBase::CLMBase" ref="a97770ffc63896ec86a5b2bb719599ac2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CLMBase::CLMBase </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="lmBase_8h_source.html#l00239">239</a> of file <a class="el" href="lmBase_8h_source.html">lmBase.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a9f74699391ac130fb9b9708770097810"></a><!-- doxytag: member="CLMBase::calcParameters" ref="a9f74699391ac130fb9b9708770097810" args="(double *arr_actpos, double *arr_tarpos, double vmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::calcParameters </td>
          <td>(</td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>arr_actpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>arr_tarpos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7f3ba36881e0945d6e5cf121f88cad28"></a><!-- doxytag: member="CLMBase::checkJointSpeed" ref="a7f3ba36881e0945d6e5cf121f88cad28" args="(std::vector&lt; int &gt; lastsolution, std::vector&lt; int &gt; solution, double time)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CLMBase::checkJointSpeed </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; int &gt;&#160;</td>
          <td class="paramname"><em>lastsolution</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; int &gt;&#160;</td>
          <td class="paramname"><em>solution</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>time</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Checks if the joint speeds are below speed limit. </p>
<p>Maximum joint speed is 180enc / 10ms.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Jonas Haller </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">lastsolution</td><td>encoder values of last point </td></tr>
    <tr><td class="paramname">solution</td><td>encoder values of current point </td></tr>
    <tr><td class="paramname">time</td><td>time difference between the points in s </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if joint speeds ok, false if joint speed too high </dd></dl>

</div>
</div>
<a class="anchor" id="af64d90f475acdc1fe2c243e47abf644c"></a><!-- doxytag: member="CLMBase::fillPoints" ref="af64d90f475acdc1fe2c243e47abf644c" args="(double vmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::fillPoints </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa7f092dc22569135677113554a8edc2f"></a><!-- doxytag: member="CLMBase::getActivatePositionController" ref="aa7f092dc22569135677113554a8edc2f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CLMBase::getActivatePositionController </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the position controller will be activated after the linear movement. </p>

</div>
</div>
<a class="anchor" id="a0e3e6fe11c0c3a989f46317818b8e6a2"></a><!-- doxytag: member="CLMBase::getMaximumLinearVelocity" ref="a0e3e6fe11c0c3a989f46317818b8e6a2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double CLMBase::getMaximumLinearVelocity </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0588b70f72fa9fc88902b32095f98c10"></a><!-- doxytag: member="CLMBase::initLM" ref="a0588b70f72fa9fc88902b32095f98c10" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::initLM </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Initialize the parameters for the linear movements. </p>
<p>This is in the case you want to initialize it manually </p>
<dl class="note"><dt><b>Note:</b></dt><dd>If you do not call it, <a class="el" href="classCLMBase.html#ad8d130a1ee82f07257a5a5229fe67f30">moveRobotLinearTo()</a> will do it for you automatically </dd></dl>

</div>
</div>
<a class="anchor" id="af9ee29f7dbe2dee3ea4429fc97500e4e"></a><!-- doxytag: member="CLMBase::moveRobotLinearTo" ref="af9ee29f7dbe2dee3ea4429fc97500e4e" args="(std::vector&lt; double &gt; coordinates, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::moveRobotLinearTo </td>
          <td>(</td>
          <td class="paramtype">std::vector&lt; double &gt;&#160;</td>
          <td class="paramname"><em>coordinates</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>waitUntilReached</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>waitTimeout</em> = <code>TM_ENDLESS</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This method does the same as the one above and is mainly provided for convenience. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>You can call this function in python using tuples: Example: katana.moveRobotLinearTo( (x,y,z,phi,theta,psi) ) </dd>
<dd>
If the size of the container is smaller than 6, it will throw an exception! </dd></dl>

</div>
</div>
<a class="anchor" id="ad8d130a1ee82f07257a5a5229fe67f30"></a><!-- doxytag: member="CLMBase::moveRobotLinearTo" ref="ad8d130a1ee82f07257a5a5229fe67f30" args="(double x, double y, double z, double phi, double theta, double psi, bool waitUntilReached=true, int waitTimeout=TM_ENDLESS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::moveRobotLinearTo </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>phi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>theta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>psi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>waitUntilReached</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>waitTimeout</em> = <code>TM_ENDLESS</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">waitUntilReached</td><td>has to be true with new implementation of movLM2P </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a728b71724865e3b6d410b428e79a31d8"></a><!-- doxytag: member="CLMBase::movLM" ref="a728b71724865e3b6d410b428e79a31d8" args="(double X, double Y, double Z, double Al, double Be, double Ga, bool exactflag, double vmax, bool wait=true, int tolerance=100, long timeout=TM_ENDLESS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::movLM </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>X</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Z</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Al</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Be</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Ga</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>exactflag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>wait</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tolerance</em> = <code>100</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>TM_ENDLESS</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">wait</td><td>has to be true with new implementation of movLM2P </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a82f9e6bbfe141a631c450c26d93994d3"></a><!-- doxytag: member="CLMBase::movLM2P" ref="a82f9e6bbfe141a631c450c26d93994d3" args="(double X1, double Y1, double Z1, double Al1, double Be1, double Ga1, double X2, double Y2, double Z2, double Al2, double Be2, double Ga2, bool exactflag, double vmax, bool wait=true, int tolerance=100, long timeout=TM_ENDLESS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::movLM2P </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>X1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Z1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Al1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Be1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Ga1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>X2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Z2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Al2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Be2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Ga2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>exactflag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>wait</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tolerance</em> = <code>100</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>TM_ENDLESS</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>New version of movLM2P with multiple splines. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Jonas Haller </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">X1</td><td>X coordinate of actual position </td></tr>
    <tr><td class="paramname">Y1</td><td>Y coordinate of actual position </td></tr>
    <tr><td class="paramname">Z1</td><td>Z coordinate of actual position </td></tr>
    <tr><td class="paramname">Ph1</td><td>Phi angle of actual position </td></tr>
    <tr><td class="paramname">Th1</td><td>Theta angle of actual position </td></tr>
    <tr><td class="paramname">Ps1</td><td>Psi angle of actual position </td></tr>
    <tr><td class="paramname">X2</td><td>X coordinate of target position </td></tr>
    <tr><td class="paramname">Y2</td><td>Y coordinate of target position </td></tr>
    <tr><td class="paramname">Z2</td><td>Z coordinate of target position </td></tr>
    <tr><td class="paramname">Ph2</td><td>Phi angle of target position </td></tr>
    <tr><td class="paramname">Th2</td><td>Theta angle of target position </td></tr>
    <tr><td class="paramname">Ps2</td><td>Psi angle of target position </td></tr>
    <tr><td class="paramname">exactflag</td><td>activate the position controller after the movement </td></tr>
    <tr><td class="paramname">vmax</td><td>maximum velocity of the movement in mm/s </td></tr>
    <tr><td class="paramname">wait</td><td>param for legacy reasons only, has to be true </td></tr>
    <tr><td class="paramname">tolerance</td><td>tolerance for all motor encoders </td></tr>
    <tr><td class="paramname">timeout</td><td>timeout for linear movement in ms </td></tr>
  </table>
  </dd>
</dl>
<dl><dt><b>Exceptions:</b></dt><dd>
  <table class="exception">
    <tr><td class="paramname">NoSolutionException</td><td>if no solution found for IK </td></tr>
    <tr><td class="paramname"><a class="el" href="classJointSpeedException.html" title="Joint speed too high.">JointSpeedException</a></td><td>if joint speed too high </td></tr>
    <tr><td class="paramname"><a class="el" href="classWaitParameterException.html" title="Wait parameter set to false.">WaitParameterException</a></td><td>if wait set to false </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>

</div>
</div>
<a class="anchor" id="a959caa52685d1251a1b94d07a4c10b87"></a><!-- doxytag: member="CLMBase::movLM2P4D" ref="a959caa52685d1251a1b94d07a4c10b87" args="(double X1, double Y1, double Z1, double Al1, double Be1, double Ga1, double X2, double Y2, double Z2, double Al2, double Be2, double Ga2, bool exactflag, double vmax, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::movLM2P4D </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>X1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Z1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Al1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Be1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Ga1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>X2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Z2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Al2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Be2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Ga2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>exactflag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>wait</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tolerance</em> = <code>100</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>TM_ENDLESS</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6d7f4471bc3b8ab2af611889622865e4"></a><!-- doxytag: member="CLMBase::movLM2PwithL" ref="a6d7f4471bc3b8ab2af611889622865e4" args="(double X1, double Y1, double Z1, double Al1, double Be1, double Ga1, double X2, double Y2, double Z2, double Al2, double Be2, double Ga2, bool exactflag, double vmax, bool wait=false, int tolerance=100, long timeout=TM_ENDLESS)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::movLM2PwithL </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>X1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Z1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Al1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Be1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Ga1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>X2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Y2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Z2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Al2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Be2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>Ga2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>exactflag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>wait</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tolerance</em> = <code>100</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>TM_ENDLESS</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Old version of movLM2P which uses L-Command (only 4 splines) </p>

</div>
</div>
<a class="anchor" id="a15b8fb661f5b7a1ee00ef425ae1db806"></a><!-- doxytag: member="CLMBase::polCoefficients" ref="a15b8fb661f5b7a1ee00ef425ae1db806" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::polCoefficients </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ade2c8d404502aa717a88d2f92fd8f16c"></a><!-- doxytag: member="CLMBase::polDeviratives" ref="ade2c8d404502aa717a88d2f92fd8f16c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::polDeviratives </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a69e4d9726b8bd3bc1c40e23b569112e3"></a><!-- doxytag: member="CLMBase::relPosition" ref="a69e4d9726b8bd3bc1c40e23b569112e3" args="(double reltime, double distance, double acc, double dec, double vmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double CLMBase::relPosition </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>reltime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>distance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>acc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>dec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the relative position reached after the relative time given. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Jonas Haller </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">reltime</td><td>relative time (fraction of totaltime) </td></tr>
    <tr><td class="paramname">distance</td><td>distance of the movement in mm </td></tr>
    <tr><td class="paramname">acc</td><td>acceleration at the beginning in mm/s^2 </td></tr>
    <tr><td class="paramname">dec</td><td>deceleration at the end in mm/s^2 </td></tr>
    <tr><td class="paramname">vmax</td><td>maximum velocity of the movement in mm/s </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>relative distance (fraction of distance) </dd></dl>

</div>
</div>
<a class="anchor" id="a6a36cfee0f659e071746a4dd1dba0c61"></a><!-- doxytag: member="CLMBase::setActivatePositionController" ref="a6a36cfee0f659e071746a4dd1dba0c61" args="(bool activate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::setActivatePositionController </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>activate</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Re-Activate the position controller after the linear movement. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>This can result in a small movement after the movement </dd></dl>

</div>
</div>
<a class="anchor" id="aa681841b6b7de20c096cf0330eaf1c26"></a><!-- doxytag: member="CLMBase::setMaximumLinearVelocity" ref="aa681841b6b7de20c096cf0330eaf1c26" args="(double maximumVelocity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::setMaximumLinearVelocity </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>maximumVelocity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abdf434b55bc561e678b2b2820e2a7c31"></a><!-- doxytag: member="CLMBase::splineCoefficients" ref="abdf434b55bc561e678b2b2820e2a7c31" args="(int steps, double *timearray, double *encoderarray, double *arr_p1, double *arr_p2, double *arr_p3, double *arr_p4)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CLMBase::splineCoefficients </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>steps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>timearray</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>encoderarray</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>arr_p1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>arr_p2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>arr_p3</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>arr_p4</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates the spline coefficient and stores them in arr_p1 - arr_p4. </p>
<p>Boundary conditions are that f_1'=0 and f_n'=0 (zero velocity at beginning and end of the movement) and f_i''=P_(i+1)''.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>Jonas Haller </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">steps</td><td>number of splines to calculate </td></tr>
    <tr><td class="paramname">timearray</td><td>times of the points (length = steps + 1) </td></tr>
    <tr><td class="paramname">encoderarray</td><td>encoder values of the points (length = steps + 1) </td></tr>
    <tr><td class="paramname">arr_p1</td><td>to return parameters 1 (length = steps) </td></tr>
    <tr><td class="paramname">arr_p2</td><td>to return parameters 2 (length = steps) </td></tr>
    <tr><td class="paramname">arr_p3</td><td>to return parameters 3 (length = steps) </td></tr>
    <tr><td class="paramname">arr_p4</td><td>to return parameters 4 (length = steps) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>void </dd></dl>

</div>
</div>
<a class="anchor" id="af78530acb154cc505ac8f1ea5fa91d1f"></a><!-- doxytag: member="CLMBase::totalTime" ref="af78530acb154cc505ac8f1ea5fa91d1f" args="(double distance, double acc, double dec, double vmax)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double CLMBase::totalTime </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>distance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>acc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>dec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>vmax</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Calculates time needed for movement over a distance. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Jonas Haller </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">distance</td><td>distance of the movement in mm </td></tr>
    <tr><td class="paramname">acc</td><td>acceleration at the beginning in mm/s^2 </td></tr>
    <tr><td class="paramname">dec</td><td>deceleration at the end in mm/s^2 </td></tr>
    <tr><td class="paramname">vmax</td><td>maximum velocity of the movement in mm/s </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>time needed for the movement in s </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a1a012f08b7a5c2d9e0bb40d02863c669"></a><!-- doxytag: member="CLMBase::_activatePositionController" ref="a1a012f08b7a5c2d9e0bb40d02863c669" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classCLMBase.html#a1a012f08b7a5c2d9e0bb40d02863c669">CLMBase::_activatePositionController</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="lmBase_8h_source.html#l00157">157</a> of file <a class="el" href="lmBase_8h_source.html">lmBase.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa537fa2ef4f3f56265eaf410db7c43be"></a><!-- doxytag: member="CLMBase::_isInitialized" ref="aa537fa2ef4f3f56265eaf410db7c43be" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classCLMBase.html#aa537fa2ef4f3f56265eaf410db7c43be">CLMBase::_isInitialized</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="lmBase_8h_source.html#l00158">158</a> of file <a class="el" href="lmBase_8h_source.html">lmBase.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5e3635cf4fe50f0937c2c5841a17feae"></a><!-- doxytag: member="CLMBase::_maximumVelocity" ref="a5e3635cf4fe50f0937c2c5841a17feae" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="classCLMBase.html#a5e3635cf4fe50f0937c2c5841a17feae">CLMBase::_maximumVelocity</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="lmBase_8h_source.html#l00156">156</a> of file <a class="el" href="lmBase_8h_source.html">lmBase.h</a>.</p>

</div>
</div>
<a class="anchor" id="a429d7e9435537e39386e8e3a23d3c1e5"></a><!-- doxytag: member="CLMBase::blendtrajectory" ref="a429d7e9435537e39386e8e3a23d3c1e5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structTBLENDtrajectory.html">TBLENDtrajectory</a> <a class="el" href="classCLMBase.html#a429d7e9435537e39386e8e3a23d3c1e5">CLMBase::blendtrajectory</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="lmBase_8h_source.html#l00162">162</a> of file <a class="el" href="lmBase_8h_source.html">lmBase.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8dc3ca0cfbc7b25892bc05d8bd7b33ca"></a><!-- doxytag: member="CLMBase::trajectory" ref="a8dc3ca0cfbc7b25892bc05d8bd7b33ca" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structTLMtrajectory.html">TLMtrajectory</a> <a class="el" href="classCLMBase.html#a8dc3ca0cfbc7b25892bc05d8bd7b33ca">CLMBase::trajectory</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="lmBase_8h_source.html#l00161">161</a> of file <a class="el" href="lmBase_8h_source.html">lmBase.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/KNI_LM/<a class="el" href="lmBase_8h_source.html">lmBase.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="classCLMBase.html">CLMBase</a>      </li>
      <li class="footer">Generated on Tue Feb 8 2011 for KatanaNativeInterface by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>