MAKIINASDK

ReferenceConsole, CLI, environment

Console, CLI and environment

The Robot Console's options and shortcuts, the cloud command line tool, environment variables, ports and the files the SDK writes.

The Robot Console

Shell
RobotConsole.bat [options]          # Windows
./robot_console.sh [options]        # Linux, macOS
makiina-console [options]           # any shell with the SDK environment active
OptionMeaning
--port 8726the port the console serves on
--hostthe address it listens on; 127.0.0.1 by default, so only your PC can open it
--robot NAMEsign in and open this fleet robot's session at start
--no-browserserve without opening a browser
--demoseven simulated drives: the maintenance tools work, a session does not
--record-dir DIRwhere the console's recorder writes; default recordings
--tee-forward PORTsend the session's traffic to your own recorder on this port instead of the console's
--sidecar [PORT]watch a session another program on this PC owns, read only; the VR operator app's copy arrives on 17999
--state-hz HZhow often the page receives state
--arms-dir DIRwhere the per-robot folders live; default robot-calibrations/

Pages

Each page has an address you can bookmark:

AddressPage
#/the landing page
#/localOn this PC
#/fleetthe fleet list
#/control/local, #/control/fleet/head-10the cockpit
#/tuning/local, #/tuning/fleet/head-10Tuning
#/calibrate/..., #/firmware/..., #/software/...the maintenance tools

Keyboard

KeyDoes
SpaceSTOP: cancel a running move and hold
W, Ethe gripper handle moves or rotates
Escclose the open card; cancel a session start
[, ]previous and next page
Enter on Tuningpush the drafts
Esc in a Tuning fielddrop that draft

The cloud command line tool

Shell
python -m makiina.cloud.makiina_cli login you@example.com     # asks for the password, saves a token
python -m makiina.cloud.makiina_cli robots                    # your robots and who is using them
python -m makiina.cloud.makiina_cli connect head-10           # open a bare session to check the path

Run it with the SDK's Python (.venv\Scripts\python.exe or .venv/bin/python). The saved token is used by Robot.connect, Fleet.login and the console's Saved login. --url points it at another cloud endpoint. The tool also has commands for account administrators (creating organisations, users and robots) that need an administrator account.

makiina.cloud

CallReturns
Fleet.login(email=None, password=None, base_url=None)a signed-in view of your account's robots
fleet.robots()one dict per robot: name, id, online, status, status_detail, last_seen, active_session, agent_version, inventory, console
fleet.console_url(robot)http://<lan address>:<port>/ of the robot's own console, or None
login_client(email=None, password=None, base_url=None)a signed-in CloudClient for Robot.connect(cloud=...)
cached_token_path()where the saved login lives

Environment variables

VariableUsed byMeaning
MAKIINA_EMAIL, MAKIINA_PASSWORDRobot.connect, Fleet.login, the consolecloud credentials
MAKIINA_CLOUD_URLthe sameanother cloud endpoint
MAKIINA_TEE_PORTyour sessionsend a copy of the traffic to a recorder on this port
MAKIINA_ROBOT_DIRthe robot serverthe per-robot folder to use
MAKIINA_ARM_SIDEthe robot serverthe side of an arm whose boards do not say it
MAKIINA_ROBOTS_BASEthe model registrya separate folder of robot models

Ports

PortWho listens
8726the Robot Console
8770the robot server of Robot.connect_local(); a second session needs another
8766your PC in Robot.connect_direct()
17999the session recorder

Files the SDK writes

PathWhat it holds
robot-calibrations/<name>/robot.tomlthe robot's name, role, 3D model and camera settings
robot-calibrations/<name>/actuators.tomlthe gains and limits every session starts from, per joint
robot-calibrations/<name>/cameras/the stereo cameras' calibration
logs/<name>-server.logthe log of a robot server on your PC; read it when a connection fails
recordings/<date>_<time>/a recorded session: packets.mkrec and meta.json
~/.makiina/token.jsonthe saved cloud login

To keep a gain for good, edit it in actuators.toml: [defaults] applies to every joint, [joints.J2] to that joint on both sides, and [joints.left_J2] to one side only. The next session uses it.