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 on your network or across the internet, 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 in a live session with acme-robot-02: Safety and motion, Joint states, the 3D twin of both arms and the head, the camera pictures and Telemetry.

Start here

With a new robot, install the SDK on your PC first. Then pick your robot in Choose your robot and follow its own path.

Build with it

A first script

With a single arm kit plugged into your PC, this connects to the arm, 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, each joint goes on to its last target and holds there, and after 30 seconds without commands the session ends. Move joints safely covers limits, stopping and releasing the arm.

Swap Robot.connect_local() for Robot.connect("acme-robot-02"), with your robot's name, 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 for each arm you plug into your PC; several actuators can share one. It must run candleLight firmware, and on Windows it needs a driver, given once on each PC (Install the SDK). Robots on the network need none.
  • A PC with Windows 10 or 11 (x64), or Linux on x64 or ARM64 (which versions). The kit brings its own Python.
  • A MAKIINA account with a confirmed email address. You download the kit from it, add your robots to it, and reach them through it.

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 six namespaces: sensors, model, control, safety, actuation and recording. The Robot Console and your script sit on the same object.SOFTWARECONNECTIONHARDWAREmakiina.actuatorOne driveCANRobot ConsoleYour scriptRobotmakiina.robotsensorsmodelcontrolsafetyactuationrecordingthe same six 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 six namespaces either way: sensors, model, control, safety, actuation and recording. The Robot Console is a web page on your PC that uses that same object.

License

The SDK, the Robot Console, the robot models and these docs are MAKIINA's own work, source available under the MAKIINA License 1.0 (LICENSE-MAKIINA.md in the kit). You may use, copy, change and share them for any purpose, commercial work included, in systems that include MAKIINA hardware. Your system may also include other computers, actuators, sensors and parts. You may not use them to design, make or sell products that copy or replace MAKIINA hardware. Third party parts in the kit keep their own licenses, listed in THIRD-PARTY.txt.

Common questions

Can I control MAKIINA actuators from my own computer, for example a Jetson or a Raspberry Pi? Yes.

Can I mix MAKIINA actuators with other actuators in my robot? Yes.

Can I sell a robot I built with MAKIINA actuators? Yes.

Can I use the CAD or meshes to make my own actuators or arms? No.