Skip to main content

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 statussend 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
}
}