The Measure Moment of Inertia command measures an XBot's inertia about a single axis by exciting that axis:
-
X / Y / Z (linear axes) → mass
[kg] -
Rx / Ry / Rz (rotational axes) → moment of inertia
[kg·m²]
The measurement runs while the function block is Busy and completes on Done (success) or Error (failure).
Only one XBot is measured at a time
Function Blocks
|
Command |
Purpose |
|---|---|
|
Start and run a measurement. Read the value afterwards with |
|
|
Start and run a measurement and return the result on the same block (adds the |
|
|
Read the state and result of an XBot's measurement. |
Result States
MeasurementState (output on every block):
|
Value |
State |
Meaning |
|---|---|---|
|
0 |
idle |
No measurement has been started for this XBot. |
|
1 |
in progress |
Measurement running; result not yet available. |
|
2 |
done |
Measurement finished; |
|
3 |
failed |
Measurement aborted due to an error. |
Operating Conditions
-
Precondition: the target XBot must be idle at a stable location, and no other XBot may be under measurement. Starting again for the XBot already in progress is a no-op success; a request for a different XBot is rejected (
WRONG_STATE). -
During: the XBot is locked for the duration of the excitation — user motion commands to that XBot are blocked so they cannot disturb.
-
Postcondition: the XBot is released (whether the measurement completes or fails), the function block reports
Done/Error, and on success the measured value is available (theMomentofInertiaoutput of the Async block, or viaPMC_QueryMomentofInertia).
Notes
-
The excitation frequency is fixed by the controller and is not an input; only the magnitude is adjustable, and it is capped per axis: 10 N for X/Y/Z, 1 N·m for Rx/Ry/Rz. A magnitude of
0selects the controller default.