Skip to content

set_jog_profile

Runs at once Any mode Takes control

Set the jog's profile: with its jerk limited, or not.

  • "scurve": limits the jerk too. The acceleration builds up and falls away gradually, so starts and stops are smooth. The jerk is the acceleration times the factor of set_jog_jerk_factor().
  • "trapezoidal": the acceleration switches on and off at once. Shorter ramps, harder starts and stops.

Letter case does not matter, and "s_curve", "s-curve", "trapezoid" and "trap" are taken too. The setting is the robot's: it applies to every client's jogs and the dashboard's, and mode changes keep it. A jog in progress keeps its profile until the joint comes to rest. It lasts until it is changed or the robot software restarts.

Syntax

robot.set_jog_profile(profile)

Arguments

Name Type Default Description
profile str required "scurve" or "trapezoidal", or one of the other spellings above.

Default values

From config/system.xml <jog_defaults>, read at start: "scurve".

Returns

Any

None: the robot sends no value back.

Examples

robot.set_jog_profile("trapezoidal")
robot.set_jog_profile("scurve")

Further details

Note

The queued moves' profiles are another setting, set_profile().

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
  • [6003] Invalid arguments — profile is none of the names above
  • [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 name. The message says why

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

  • CommandRejected: The robot refused it: the name is none of the above, 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": "set_jog_profile", "args": ["trapezoidal"]}

See also