![Kinova Gen3 User Manual Download Page 127](http://html.mh-extra.com/html/kinova/gen3/gen3_user-manual_1971410127.webp)
KINOVA
®
Gen3 Ultra lightweight robot
User Guide
127
High-level servoing can in theory be either single-level (one user controls the robot at a time in
high-level servoing) or multi-level (multiple users simultaneously control the robot at the same
time).
Note:
Currently only single-level servoing is supported by the API.
Sessions and control permissions
As soon as someone takes control of the robot by sending a control command (whether from
API calls,
Web App
session, or Xbox gamepad input) to the robot, the control mode changes from
IDLE to SERVOING. In this mode, control commands from other sessions sent via the
Web App
or API methods will be blocked while the control mode is in SERVOING and this session has
control. However, after a predefined "grace period" of 7.5 seconds elapses with no new control
commands from the user, the robot control mode returns to IDLE and someone else can take
control by sending control inputs via the
Web App
or API calls.
Override by physical controls
Physical controls of the robot via a connected Xbox gamepad or the buttons on the robot wrist
override user session control of the robot via
Web App
or API calls. These physical controls
always take precedence immediately, without having to wait for the grace period to elapse.
Low-level servoing
This section describes the concept of low-level servoing with the robot.
In low-level servoing, the API client connects to the base and sends commands through the base
for routing.
The base ensures device routing and internal communications with the actuators at 1 kHz,
but the high-level functionalities for the base control loop (robot kinematics, trajectory
management, etc.) are no longer available.
Low-level servoing allows clients to control each actuator individually by sending position (or
velocity) increments at 1 kHz frequency (bypassing the kinematic control library).
Figure 68: Low-level servoing