diff --git a/README.md b/README.md index e2c5341..3ef8b6f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # ecmc hexapod — first simulation prototype +![Hexapod simulation running with ecmc](hexapod_ecmc_running.png) + Twelve axes, with inverse **and** forward kinematics implemented in C++: | Axes | Meaning | Trajectory source | Encoder source | @@ -437,6 +439,10 @@ Velocity/acceleration limits in joint space are not implemented by the transform ## Can IK and FK run at 1 kHz? +Observed execution time on a Beckhoff C6025 with an Intel Core i7: +approximately **50 µs while idle** and **200 µs while moving**. These are +reported measurements, not worst-case execution-time bounds. + **Yes, the measured computational cost makes 1 kHz plausible for this C++ implementation.** A 1 kHz cycle is 1,000 microseconds, shared with all other ecmc, EtherCAT, motion and user-logic work. The actual real-time IOC must still be @@ -524,4 +530,5 @@ nor Channel Access delivery needs to run at 1 kHz for the kinematics to do so. encoders, and latched geometry/FK/axis/host faults. - Python/C ABI round trip and headless 3D rendering. -A live IOC and real-time execution timing have **not** been tested yet. +Live IOC execution times reported from the Beckhoff C6025 are recorded above; +sustained real-time deadline and overrun testing remains outstanding. diff --git a/hexapod_ecmc_running.png b/hexapod_ecmc_running.png new file mode 100644 index 0000000..ca72e68 Binary files /dev/null and b/hexapod_ecmc_running.png differ