MAKIINASDK

Get startedOverview

MAKIINA SDK

Drive MAKIINA arms, robots and actuators from the Robot Console or from Python, with one API behind both.

The MAKIINA SDK is a Python package, makiina, and the Robot Console that ships with it. You use it to drive an arm on your desk, a two-arm robot anywhere on your network, or a single actuator on a bench. The console is built on the same public API your scripts use, so everything you can do with a click, you can also do in code.

The Robot Console Control page during a live session. The console is built on the same public API your scripts use, so everything you can do with a click, you can also do in code.

Start here

Build with it

A first script

This connects to the arm plugged into your PC, sets conservative limits, prints where every joint is, and turns the base joint by 0.1 rad:

Python
import time
from makiina.robot import Robot

robot = Robot.connect_local()                   # the arm on this PC's USB CAN adapter
robot.safety.set_torque_fraction(0.4)           # 40 % of each joint's current limit
robot.safety.set_max_joint_velocity(0.5)        # rad/s at the joint
print(robot.sensors.get_joints())               # {"J01-R": 0.0, "J02-R": 1.1, ...}
robot.control.set_joints_relative({"J01-R": 0.1})
time.sleep(1)                                   # the move takes a moment
robot.disconnect()

The arm cannot move until your first motion command, here set_joints_relative, and that command starts from where the arm actually is, so it never jumps. If your script dies halfway, the robot stops itself after 30 seconds without commands. Move joints safely covers limits, stopping and releasing the arm.

Swap Robot.connect_local() for Robot.connect("head-10") and the same lines drive the two-arm robot over the network.

What you need

  • A MAKIINA arm, robot or actuator. They leave the factory calibrated and with their firmware loaded, so there is nothing to set up on the hardware.
  • A USB CAN adapter (candleLight class) for each arm or actuator you plug into your PC. Robots on the network need none.
  • Windows or Linux on x86_64, or Linux on ARM64. The kit brings its own Python.
  • A MAKIINA Cloud account to reach robots through the fleet.

How the pieces fit

How the pieces fitmakiina.actuator talks to one drive over CAN. makiina.robot gives you a Robot object, for an arm on this PC through a local robot server, or for a robot anywhere through MAKIINA Cloud or the LAN, with the same five namespaces: sensors, model, control, safety and actuation. The Robot Console and your script sit on the same object.SOFTWARECONNECTIONHARDWAREmakiina.actuatorOne driveCANRobot ConsoleYour scriptRobotmakiina.robotsensorsmodelcontrolsafetyactuationthe same five namespacesLocal robot serveron this PCAn arm on this PCCANMAKIINA Cloudor the LANA robot anywhere

makiina.actuator talks to one drive directly. makiina.robot gives you a Robot object for an arm on your PC or a robot anywhere, with the same five namespaces either way: sensors, model, control, safety and actuation. The Robot Console is a web page on your PC that uses that same object.