Other usage and real-time topics
Do teach-pendant motion/safety settings apply in real-time mode?
Most do not, including acceleration-like items. The arm behaves closer to a pure actuator: valid commands execute; invalid ones trip errors and power-off, with few extra soft limits. Items that often still apply:
- Collision detection (power-off after collision)
- Joint limits
- Base frame
- Force-control parameters (under impedance control)
Callback “real-time” behavior
Each cycle is roughly: receive one controller status → send one command. The controller sends status in real time, but the host does not have to run in a hard real-time thread, so cycles may not be strictly 1 ms; timing follows the controller’s send cadence.
follow_joint_position / torque_control examples do not compile
These samples need the xMate model library and the CMake option:
cmake -DXCORE_USE_XMATE_MODEL=ON
For non-CMake projects, define XMATEMODEL_LIB_SUPPORTED.
Real-time motion feels slow
- Issue 1: With 1 ms open-loop commands, ~20 ms lag between command and execution.
- Issue 2: Following feels sluggish.
Mitigation: The default wait for status is 1 ms. Add xcoresdk_config.json next to the executable to tune timeout for your network. If the link is good but commands drift late over time, increase timeout slightly. Allowed range 1–4 ms:
{
"rt": {
"_timeout_": 2
}
}