Stack

Here’s how the cogs of the KT technology stack work together

The KT Tech Stack

The Kinematic Trees technology stack is designed to make the development and deployment of simple and sophisticated robotics applications easy. The key design principle behind the stack is portability:

The tools we provide for writing robotics applications are portable across computer operating systems (currently windows, mac, android, linux) and programming languages (currently python, c++, c#). software you write is portable across robots.

The robotics applications you develop are portable across robots; your code interacts with the hardware at the level of requesting sensor data and setting target poses for your robot to achieve; we handle all of the details that translate those high-level commands into low level communications with the electronics. This means the software you develop will run instantly on other robots without and code re-writes.

The code assets you develop can be easily shared with other software developers and hobbyists, allowing you’re robotics development to be shared with friends and colleagues and preserved and reused, allowing you to collaborate on bigger projects with wider teams, and allowing you to commercialise your robotics creations.

KT Engine

The KT Engine communicates between your robot (or polymorph) and your computer (or mobile / tablet). It consists of the following:

The KT API that allows your applications to issue high-level commands; to Connect() to a robot, to Get() data from a sensory channel like vision or proprioception, and to Set() data on an output channel, e.g., the motor channel for movement.

The KT Robot API that manages the sensory and output channels of your robot in terms of the specific arrangement of sensors and actuators on your robot’s body, whether it’s a humanoid shape, a quadruped, or has any other kind of kinematic tree structure. A key feature is the KT Inverse Kinematics solver, which translates the positions/orientations of the body that you want your robot to achieve into the settings for it’s motors that are required to do so, while guaranteeing that your robot can’t crash into itself.

KT Comms which handles the communications between your robot (or polymorph) and your computer (or mobile, tablet etc.). KT Comms is essentially a heavily-optimised custom WebRTC protocol (patent pending), and it’s so fast and reliable that we’ve tele-operated robots fast enough to avoid VR sickness across the atlantic ocean on crowded wifi connections.

KT Driver

A robot (or polymoprh) driver is a piece of software that is specific on your robot and runs on your robot’s on-board computer (if it has one). This translates your applications high-level instructions (Connect(), Get(), Set()) into machine code that works with your robot’s specific sensors and motors. We have built drivers for dozens of robots. We use all kinds of tools to do so, including ROS and ROS2 if your robot already supports them. If you are interested in a robot that we don’t yet support, get in touch and we can build (or help you) build a driver for it.

KT Cognition

KT Cognition is a powerful software architecture that helps you build complex robotics applications and deploy them easily on your hardware. Cutting edge robotics increasingly requires the integration of modular software components that operate on different data structures and interoperate on different timescales, including:

Raw sensor data, percepts, and inferences on the sensing side;

Beliefs, policies, and state transitions on the decision-making side;

Direct joint settings, inverse kinematics objectives, fixed action patterns on the action side.

KT Cognition handles the interaction between modular components developed by you and third party developers so you can focus on building the behaviors you want. You interact with KT Cognition through an application that runs on your desktop computer.

KT Helix

As your projects scale, and your robotics becomes more sophisticated, you may need to access computing resources hosted on other machines via the internet. KT Helix is an enterprise level cloud computing service, which makes deploying your robot’s brain across third-party servers, and slotting them into your robot’s cognitive architecture seamless.