Robot Settings

This section explains how to change the most commonly used robot settings.:

Inputs

The standard robot application has a position or speed input, by default set to speed input. There is made distinction between:

  • Joint Input - The movement of each axis individually to get desired end-effector motion.
  • Tool Input - The movement of axes combined to get a desired end-effector motion.

Joint Input

The UI provides a set of jogging joystick, which are visible after selecting Manual Joint. Joint input selection take place in: DESK-tool in tree path: root/Control/gotoJogMode set to 1 = Joint Velocity Input or to 0 = Joint Trajectory Input.

Joint Velocity

Per default the joystick vertical path is linked to root/Control/hostInJointVelocity. Inside nudge vertical and range vertical you define the maximum velocity [rad/s]. Check out joystick explained for more information.

image not found
Joint Velocity Gain

With DESK-tool in tree path: root/Control/hostInJointVelocityGain you find the Joint Velocity Gain parameter, this value is multiplied with the ../hostInJointVelocity. The ../hostInJointVelocityGain is a scaling factor toward the integrator and be used to quickly change the joint velocity.

Velocity input scaling example:

  • root/Control/hostInJointVelocity = 0.2 [rad/s]
  • root/Control/hostInJointVelocityGain = [0.2]
  • root/Control/jointJogIntegrators/input = 0.04 [rad/s]
Joint Jog Integrator

Inside the path: root/Control/jointJogIntegrator/.. you can activate and parameterize the input and output.

Parameter path: Description:
../inputLimiterOn Set to 1 to activate velocity input limiter.
../inputLimiterMin Define the minimum input velocity [rad/s] towards the integrator.
../inputLimiterMax Define the maximum input velocity [ras/s] towards the integrator.
../outputLimiterOn Set to 1 to activate position output limiter.
../outputLimiterMin Define the minimum output position [rad].
../outputLimiterMax Define the maximum output position [rad].

Joint Trajectory

To control the robot joints via trajectory input, you have to set joystick vertical path to root/Control/hostInJointTrajectory. Inside nudge vertical and range vertical you define the maximum trajectory [rad]. Check out joystick explained for more information.

image not found
Joint Trajectory Limiter

Inside the path: root/Control/jointTrajectoryLimiters/pvaLimiter0X/.. you can activate and parameterize the input and output.

Parameter path: Description:
../pvaInputsOn Set to 1 to activate position input limiter.
../upperLimit Define the minimum position [rad].
../lowerLimit Define the maximum position [rad].
../maxVelocity Define the maximum velocity [rad/s].
../maxAcceleration Define the maximum acceleration [rad/s/s].
../w Is input filter, set to maximum value because this value is self adjusting.

Tool Input

The GUI provides a set of translation and rotation joysticks, which are visible after selecting Manual Cartesian.Tool input selection take place in: DESK-tool in tree path: root/Control/gotoJogMode set to 1 = Tool Velocity Input or to 0 = Tool Trajectory Input.

Tool Velocity

Per default the joystick vertical/horizontal path are linked to root/Control/hostInToolVelocity. Inside nudge vertical, nudge horizontal, range vertical and range horizontal you define the maximum velocity for translation [m/s] and rotation [rad/s]. Check out joystick explained for more information.

image not found

Tool Trajectory

To control the robot in cartesian space, via trajectory input, you have to set the joystick vertical/horizontal path to root/Control/hostInToolTrajectory. Inside nudge vertical, nudge horizontal, range vertical and range horizontal you define the maximum velocity for translation [m] and rotation [rad]. Check out joystick explained for more information.

Signal Generators

Two types of signal generators are integrated to the robot application:

These signal generators ../signalGenerator0X are used to add a signal to the input, each signal generator contain a set of inputs:

  • Signal Type - How to select different signal types.
  • Amplitude - How to define the signal amplitude.
  • Offset - How to apply an amplitude offset.
  • Frequency - How to define the signal frequency [Hz].
  • Phase - How shift signal phase.
SignalTypes

The signal type input can be changed in the path: ../signalGenerator0X/signalType.

SignalTypes: Input Value:
Sine Wave 0
Block Wave 1
Triangle Wave 2
Sawtooth 3
Jerk Limited 4
Quintic (5th order) 5
Additive white gaussian noise 6
Amplitude

The amplitude input can be changed in the path: ../signalGenerator0X/amplitude. The amplitude unit is:

  • for jointReferenceGenerator in [rad],
  • and cartTransReferenceGenerator in [m].
Frequency

The frequency input defined in [rad/s] can be changed in the path: ../signalGenerator0X/frequency.

Phase

The phase shift input defined in [rad] can be adjusted in DESK-tool tree path: ../signalGenerator0X/phase.

Offset

The offset input can be changed in the path: ../signalGenerator0X/offset. The offset amplitude is:

  • for jointReferenceGenerator in [rad],
  • and cartTransReferenceGenerator in [m].
JerkLimited

Only when using JerkLimited signals the parameters:

  • jlpAccFactor path (../signalGenerator0X/jlpAccFactor)
  • and jlpJerkFactor path (../signalGenerator0X/jlpJerkFactor) can be changed in order to change the signal profile.

Joint Reference Generator

The Joint Reference Generator is a signal generator which is added to the joint inputs. This signal generator, which is disabled per default can be enabled and parameterized inside the path: root/Control/jointReferenceGenerator/signalGenerator0X.

Cartesian Translation Reference Generator

The Cartesian Trans Reference Generator is a signal generator which is added to the tool input. This signal generator, which is disabled per default can be adjusted inside the path: root/Control/cartTransReferenceGenerator/signalGenerator0X.

Window Detectors

Window detectors are used to trigger a warning or an e-stop. Each window detector contains the following set of inputs:

Alarm Description
enable To enable the detector set the value to 1 or disable the detector set value to 0.
Too Low If the input signal is less than the too low value an Emergency Stop Error is triggered.
Low If the input signal is less than the low value a Warning is triggered.
High If the input signal is higher than the high value a Warning is triggered.
Too High If the input signal is higher than the too high value an Emergency Stop Error is triggered.

Position Window Detector

The position Window monitors the absolute position in [rad] per axis. Inside the GUI under window detector tab you can set the Position Window Detectors parameters or via the tree under the path: root/Control/actuatorControlLoops/actuatorControlLoop0X/positionWindowDetector.

Velocity Window Detector

The velocity Window monitors the velocity in [rad/s] per axis. Inside the GUI under the window detector tab you can set the Velocity Window Detectors parameters or via the tree under the path: root/Control/actuatorControlLoops/actuatorControlLoop0X/velocityWindowDetector.

Acceleration Window Detector

The Acceleration Window monitors the acceleration in [rad/s/s] per axis. Inside the GUI under the window detector tab you can set the Acceleration Window Detectors parameters or via the tree under the path: root/Control/actuatorControlLoops/actuatorControlLoop0X/accelerationWindowDetector.

Torque Window Detector

The Torque Window monitors the torque in [N.m] per axis. Inside the GUI under the window detector tab you can set the Torque Window Detectors parameters or via the tree under the path: root/Control/actuatorControlLoops/actuatorControlLoop0X/torqueWindowDetector.

Position Error Window Detector

The Position Error Window monitors the position error (difference between commanded position and actual position) in [rad] per axis. Inside the GUI under the window detector tab you can set the Position Error Window parameters or via the tree under the path: root/Control/actuatorControlLoops/actuatorControlLoop0X/positionErrorWindowDetector.

Joint Setpoint Jump Detectors

The Joint Setpoint Jump Detector monitors if a setpoint jump occurs (difference between current setpoint and previous setpoint) in [rad] per axis. Inside the GUI under the window detector tab you can set the Joint Setpoint Jump Detector parameters or via the tree under the path: root/Control/jointSetpointJumpDetectors/windowDetector0X.

X Window Detector

The X Window monitors the position in x direction in [m] you can set the x window detector via the tree under the path: root/Control/xWindowDetector.

Y Window Detector

The Y Window monitors the position in y direction in [m] you can set the y window detector via the tree under the path: root/Control/yWindowDetector.

Z Window Detector

The Z Window monitors the position in z direction in [m] you can set the z window detector via the tree under the path: root/Control/zWindowDetector.

Actual Manipulability Detector

The Actual Manipulability Detector monitors the actual manipulability you can set the actual manipulability detector via the DESK-tool under the path: root/Control/actualManipulabilityDetector.

RT Violation Window Detector

The RT Violation Window monitors the realtime of the system in [ms] set the RT violation detector via DESK-tool under the path: root/Control/rtViolationWindowDetector.

Actuator Limiters

The actuator limiters allow you to set the position, speed and acceleration limits of each axis. Adjustments take place in: DESK-tool in tree path: root/Control/actuatorLimiters/pvaLimiter0X/.. or in GUI Axis Settings Tab.

Parameter path: Description:
../enable Set to 1 to activate PVA-limiters.
../lowerLimit Set this value to the lower position limit in [rad].
../upperLimit Set this value to the upper position limit in [rad].
../maxVelocity Set this value to the max allowable axis velocity in [rad/s] defined by the manufacturer.
../maxAcceleration Set this value to the maxVelocity*10 in [rad/s/s], rule of thumb to prevent setpoint overshoot while decelerating motion is to low.

Manipulability

The Manipulability indicates how moveable the robot is. If the robot is in a singular point, the manipulability will be 0. Switching to manual Cartesian in a singular point could lead to position jumps. To avoid this you can enable and adjust the Actual Manipulability Detector such that you are never able to start your robot in manual cartesian mode if the robot is located in a singular point.

Actual Manipulability

The actual manipulability is visible inside the path:root/Control/actualManipulability. If the number is 0 the robot pose is in its singular position. To understand the relation between robot pose and manipulability, you should switch the robot to manual joint mode and open the actualManipulability. Move each joint separately, in order to figure out which joints have influence on the manipulability of your robot. Try to understand how the robot behaves and adjust the Actual Manipulability Gain Lookup table such, that you have a smooth transition.

Manipulability Gain Lookup

The actual manipulabilityGain defines, the gain applied to the movement, if the gain = 0 the rate of movement = 0. With the manipulabilityGainLookup you can define the rate of deceleration towards a singular pose.

Parameter Description
input The input is linked to the actualManipulability.
numPoints The numPoints indicate how many table values are used.
output Indicates the manipulabilityGain as result of the lookup table.
x In the x table, you define the actual manipulability for each range xn, x(n+1), …
y In the y table you define the manipulabilityGain based on the actual manipulability range yn, y(n+1), …
image not found