Difference between revisions of "AXY:Rod forces model for Delta kinematics/Verification"

From SoftMC-Wiki
Jump to: navigation, search
 
(One intermediate revision by the same user not shown)
Line 8: Line 8:
  
 
<gallery widths=300px heights=200px caption="Rod forces (effective) for motions in main directions (Z-level 800mm)">
 
<gallery widths=300px heights=200px caption="Rod forces (effective) for motions in main directions (Z-level 800mm)">
File:Rod forces model for Delta kinematics - Verification X-direction (3D graph).png|X-direction
+
File:Control;Rod forces model for Delta kinematics - Verification X-direction (3D graph).png|X-direction
File:Rod forces model for Delta kinematics - Verification Y-direction (3D graph).png|Y-direction
+
File:Control;Rod forces model for Delta kinematics - Verification Y-direction (3D graph).png|Y-direction
File:Rod forces model for Delta kinematics - Verification Z-direction (3D graph).png|Z-direction
+
File:Control;Rod forces model for Delta kinematics - Verification Z-direction (3D graph).png|Z-direction
 
</gallery>
 
</gallery>
  

Latest revision as of 14:18, 24 December 2012

Effective rod force

For better presentation of results, effective rod force is introduced as:

In this way the load capacity reduction is included in the rod force.

Rod forces model

The graphs above are created using the following aico.motionAnalyser script.

fAcc      = 100;          // Acceleration [m/s^2] 
cfAccDir  = [1; 0; 0];    // Moving direction
fZ        = 0.800;        // Z level [m]


DeltaDR1200 = delta_newDR1200_4S();

RecPDm  = record_new('PDm', [0; 0; 0]);
RecPDDm = record_new('PDDm', fAcc * (cfAccDir / norm(cfAccDir)));

[mfXmesh, mfYmesh] = meshgrid(-0.600:0.05:0.600, -0.600:0.05:0.600);
mfZmesh = zeros(mfXmesh);
  
for iI = 1 : size(mfXmesh, 1)
  for iJ = 1 : size(mfYmesh, 2)

  if (norm([mfXmesh(iI, iJ); mfYmesh(iI, iJ)]) > 0.600) then 
    mfZmesh(iI,iJ) = %nan;
    continue; 
  end
  
  RecPm   = record_new('Pm', [mfXmesh(iI, iJ); mfYmesh(iI, iJ); fZ]);
  
  [RecQRad, RecQDRad, RecQDDRad] = delta_inverseKinematics(DeltaDR1200, RecPm, RecPDm, RecPDDm);
  RecTcmd                        = delta_inverseDynamics(DeltaDR1200, RecQRad, RecQDRad, RecQDDRad, RecPm, RecPDm, RecPDDm);

  [RecRF, RecRed, RecRFeff]      = delta_rodForces(DeltaDR1200, RecQRad, RecQDRad, RecQDDRad, RecPm, RecPDDm, RecTcmd);
  
  mfZmesh(iI,iJ) = max(record_getData(RecRFeff));

  end // iJ
end // iI

figure_new('Z level: ' + string(fZ));
mesh(mfXmesh, mfYmesh, mfZmesh);

Limitation of acceleration/deceleration

Control;Rod forces model for Delta kinematics - Verification of acceleration limitation.png

In this section the goal it to verify that the rod forces do not exceed the maximal allowed value. To achieve this typical robot motions (adapted from real applications) are recorded and the rod forces are computed in aico.motionAnalyser.

The graph shows that the rod forces during motion are within narrow tolerance.