<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title> – Window detectors</title>
    <link>/docs/applications/configure_application/axes_control/window_detectors/</link>
    <description>Recent content in Window detectors on </description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/docs/applications/configure_application/axes_control/window_detectors/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Setpoint jump detector</title>
      <link>/docs/applications/configure_application/axes_control/window_detectors/jump-detectors/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/applications/configure_application/axes_control/window_detectors/jump-detectors/</guid>
      <description>
        
        
        &lt;p&gt;The setpoint jump detector catches a setpoint that jumps, for example a wrong target or a link that suddenly delivers another value. It watches how far the axis setpoint moves in one cycle, before and after the limiter, and takes the larger of the two.&lt;/p&gt;
&lt;p&gt;It works on all axes at once, so it does not use &lt;code&gt;windowDetectorsEnable&lt;/code&gt;: each axis has its own detector at &lt;code&gt;root/AxesControl/axesSetpointJumpDetectors/windowDetectorNN&lt;/code&gt;.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Unit&lt;/td&gt;
&lt;td&gt;rad or m per cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;At &lt;code&gt;low&lt;/code&gt; or &lt;code&gt;high&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Warning &lt;code&gt;WA_SETPOINT_JUMP&lt;/code&gt; (210)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;At &lt;code&gt;tooLow&lt;/code&gt; or &lt;code&gt;tooHigh&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;The axes make a smooth stop and the application forces a disengage, &lt;code&gt;FD_SETPOINT_JUMP&lt;/code&gt; (309)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Paused&lt;/td&gt;
&lt;td&gt;While the axis runs open loop, for example while it is referenced&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Standard robot configuration&lt;/td&gt;
&lt;td&gt;Enabled; &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; at &lt;code&gt;-0.02&lt;/code&gt;, &lt;code&gt;0.02&lt;/code&gt;; &lt;code&gt;tooLow&lt;/code&gt;, &lt;code&gt;tooHigh&lt;/code&gt; at &lt;code&gt;-0.05&lt;/code&gt;, &lt;code&gt;0.05&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To choose the levels, work out the largest step a real move makes: the highest velocity times the cycle time. Set &lt;code&gt;high&lt;/code&gt; a little above it and &lt;code&gt;tooHigh&lt;/code&gt; well above it, and the negative levels the same.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Position window</title>
      <link>/docs/applications/configure_application/axes_control/window_detectors/position-window/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/applications/configure_application/axes_control/window_detectors/position-window/</guid>
      <description>
        
        
        &lt;p&gt;The position window watches the actual position, so it catches an axis that is outside its range whatever the setpoint says. The limiter only keeps the setpoint in range; this detector is the check on the axis itself. It matters most for axes driven by a velocity or torque setpoint.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Path&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorControlLoopNN/positionWindowDetector&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Watches&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorPositionActualFiltered&lt;/code&gt;, in rad or m&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Standard robot configuration&lt;/td&gt;
&lt;td&gt;Present but disabled, with the default levels&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Set &lt;code&gt;low&lt;/code&gt; and &lt;code&gt;high&lt;/code&gt; just outside the limiter&amp;rsquo;s position limits, and &lt;code&gt;tooLow&lt;/code&gt; and &lt;code&gt;tooHigh&lt;/code&gt; a little further out, still inside the mechanical end stops.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Tracking error window</title>
      <link>/docs/applications/configure_application/axes_control/window_detectors/tracking-error-window/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/applications/configure_application/axes_control/window_detectors/tracking-error-window/</guid>
      <description>
        
        
        &lt;p&gt;The tracking error window watches how far the axis is from where it should be: the position target minus the actual position. A large error means the axis is blocked, has hit something, or the drive or controller is not doing what it should.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Path&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorControlLoopNN/positionErrorWindowDetector&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Watches&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorPositionError&lt;/code&gt;, in rad or m&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Standard robot configuration&lt;/td&gt;
&lt;td&gt;Present but disabled; &lt;code&gt;high&lt;/code&gt; at &lt;code&gt;0.02&lt;/code&gt; and &lt;code&gt;tooHigh&lt;/code&gt; at &lt;code&gt;0.15&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To choose the levels, plot &lt;code&gt;actuatorPositionError&lt;/code&gt; in Desk during the fastest moves you make. Set &lt;code&gt;high&lt;/code&gt; and &lt;code&gt;low&lt;/code&gt; a margin beyond the largest error you see, and &lt;code&gt;tooHigh&lt;/code&gt; and &lt;code&gt;tooLow&lt;/code&gt; further out.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Velocity window</title>
      <link>/docs/applications/configure_application/axes_control/window_detectors/velocity-window/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/applications/configure_application/axes_control/window_detectors/velocity-window/</guid>
      <description>
        
        
        &lt;p&gt;The velocity window watches the actual velocity, so it catches an axis that moves too fast, for example after a wrong transformation or a drive fault.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Path&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorControlLoopNN/velocityWindowDetector&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Watches&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorVelocityActualFiltered&lt;/code&gt;, in rad/s or m/s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Set &lt;code&gt;high&lt;/code&gt; and &lt;code&gt;low&lt;/code&gt; a little beyond the limiter&amp;rsquo;s &lt;code&gt;velocityLimit&lt;/code&gt;, and &lt;code&gt;tooHigh&lt;/code&gt; and &lt;code&gt;tooLow&lt;/code&gt; further out.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Acceleration window</title>
      <link>/docs/applications/configure_application/axes_control/window_detectors/acceleration-window/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/applications/configure_application/axes_control/window_detectors/acceleration-window/</guid>
      <description>
        
        
        &lt;p&gt;The acceleration window watches the actual acceleration, worked out from the filtered actual velocity. It catches jolts, such as a collision or a sudden drive reaction.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Path&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorControlLoopNN/accelerationWindowDetector&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Watches&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorAccelerationActualFiltered&lt;/code&gt;, in rad/s² or m/s²&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Because it is a derivative, this value is noisy. Set the levels a good margin beyond the limiter&amp;rsquo;s &lt;code&gt;accelerationLimit&lt;/code&gt;, and use &lt;code&gt;timeWindow&lt;/code&gt; to ignore short spikes.&lt;/p&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Torque window</title>
      <link>/docs/applications/configure_application/axes_control/window_detectors/torque-window/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/applications/configure_application/axes_control/window_detectors/torque-window/</guid>
      <description>
        
        
        &lt;p&gt;The torque window watches the actual torque at the load, which reveals a collision, a blocked axis or a load that is heavier than expected. It exists on axes whose drive reports a torque.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Path&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorControlLoopNN/torqueWindowDetector&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Watches&lt;/td&gt;
&lt;td&gt;&lt;code&gt;actuatorTorqueActualFiltered&lt;/code&gt;, in Nm&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To choose the levels, plot &lt;code&gt;actuatorTorqueActual&lt;/code&gt; in Desk during normal work, including the heaviest load. Set &lt;code&gt;high&lt;/code&gt; and &lt;code&gt;low&lt;/code&gt; a margin beyond what you see, and &lt;code&gt;tooHigh&lt;/code&gt; and &lt;code&gt;tooLow&lt;/code&gt; below what the mechanics can take.&lt;/p&gt;

      </description>
    </item>
    
  </channel>
</rss>
