Difference between revisions of "AXY:Rod forces model for Delta kinematics/Verification"
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> | ||
Revision as of 13:09, 24 November 2010
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
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.