Skip to content

reload_filters

Runs at once Any mode Takes control

Read the signal filter file again and apply it at once. The robot parses config/filters.xml, which sets the filter of each derived signal: the filtered joint speed, acceleration, jerk and torque, the tool centre point's acceleration and the gripper's speed. When the whole file is valid, the real-time loop rebuilds its filters from it on its next tick; no restart and no homing are needed. A signal the file leaves out gets its built-in default. An invalid file is refused, and the filters in force stay.

Syntax

robot.reload_filters()

Arguments

None.

Returns

Nothing.

Examples

robot.reload_filters()

Further details

Note

Every filter starts again, so the filtered values, and what the robot computes from them (the tool's speed and acceleration, the external torque estimate, freedrive's friction compensation), settle again over about one filter time constant. Reload with the arm at rest.

Usage restrictions 4 codes

This command runs at once; it is not queued. The robot accepts it in any mode and state, from the client that holds control or when no client does.

It answers with one of these codes when it does not carry the command out:

  • [6101] Control held by another client — another client holds control; the message names it
  • [7002] Filter file invalid — the file is missing, does not parse, is written for a newer robot software, or sets an invalid filter, such as an unknown type, a median filter with an even window or an exponential filter without a time constant. The message says where
  • [6025] RTI not running or not answering — rTI did not answer within 1 s: it is not running or not responding. The command may still have taken effect
  • [6026] Refused by RTI — rTI could not use the filters the robot read. The message says why; the filters in force stay

In Python, a code above raises CommandRejected; its number is the code. The call raises:

  • CommandRejected: The robot refused it: the file is invalid, or another client holds control. Or RTI refused it or did not answer within 1 s (Errors:).
  • RobotTimeout: The robot did not answer within 5 s.
  • RobotConnectionError: The client is not connected.

If the connection drops while the call waits for the robot's answer, it raises CommandRejected with the code CONNECTION_LOST (DISCONNECTED after disconnect()); while it waits for the robot's status, RobotConnectionError.

Like every immediate command, it also answers BAD_ARGS when a raw client sends a value the robot cannot read at all, and INTERNAL when it fails inside the robot.

Protocol

A client that does not use robotclient sends this over the TCP command protocol (port 29000) for the example above:

{"id": "c1", "cmd": "reload_filters", "args": []}

See also