KINOVA
®
Gen3 Ultra lightweight robot
User Guide
124
For full details on available services, see the KINOVA
®
KORTEX™ GitHub repository.
Users, connections and sessions
This section describes the concept of connections and sessions in the API.
Introduction
A user has a
connection
with the robot when communication is established between the client
application and the robot.
A
session
is active when the user has used the connection to log in to the robot with credentials.
The default session credentials for the robot are:
• user:
admin
• password:
admin
A session is opened using a SessionManager object.
Sessions and robot control
Multiple users can connect to the same robot simultaneously, and have multiple sessions open
on the robot.
A session must be created before commands can be received by the base (otherwise they will be
discarded). Sessions are only supported for communications routed through the base. Sessions
are
not
supported for communications between a client computer and a device.
Currently, high-level servoing for the robot only work in single-level servoing mode. Multi-level
servoing is not currently supported. What this means is that multiple sessions can be active
on the robot, and multiple users can pull data from the robot. However, only one session can
actively control the robot at any given time. Rules are in place on the robot base to manage
which session has control of the robot at any given time.
Services, methods, and messages
This section describes the concept of messages used by functions within services.
The API services offer a set of RPC and pub/sub methods. The methods exchange data which are
structured as Google Protocol Buffer message objects.
KINOVA
®
KORTEX™ API and Google Protocol Buffer
This section describes the use of Google Protocol Buffer for the
KINOVA
®
KORTEX™ API.
On Google Protocol Buffer
The KINOVA
®
KORTEX™ API is based on the Google Protocol Buffer 3 mechanism for
serializing structured data.
Using Protocol Buffer, the Kortex API is made available in C++ and
Python languages.
Developers accustomed to Protocol Buffer can see .proto files on the KINOVA
®
KORTEX™
GitHub repository. These files are published as a means to document the services and methods
offered via the API.
The API data structures are based on Google Protocol Buffer messages. Extensive
documentation has been made available by Google explaining the different mechanisms
offered to:
• set a field in a message
• read a OneOf element in a message
• go through a nested object