Technology

Why the motion feels industrial

Anyone can put a jog button on a screen. The hard part is what happens in the two milliseconds after you press it.

Motion is planned on the controller, not on your PC

Windows decides when your process runs. A PC-side step generator produces a glitch you can hear the moment something else wants the CPU.

Browser

Pendant interface, editor, telemetry view

Local server

Owns the serial port, fans out telemetry

Tachon Core

Kinematics, planning, blending, step generation

If the browser tab freezes, the robot does not care. The controller runs a fixed schedule, and the host is only allowed to hand it work.

What the motion engine does

C2 continuous
Every move is jerk limited. Acceleration stays continuous through the whole path, corners included. It is the difference you hear before you see it.
Blending
One parameter, any pair of moves. Set how much you want a corner rounded and the controller does the rest, including where a joint move meets a linear one.
Step generation
200 kHz DDS across six axes. Direct digital synthesis puts out the step count you asked for, with pulse timing configured to your drivers. Fine resolution is what keeps motors quiet instead of audibly stepping.
Real time
A fixed schedule, not a best effort. Independent timer interrupts run step generation, the servo loop and the motion planner, each with one job. Nothing in the loop is allowed to be late.

Programs are Python

Waypoints are taught by hand on the machine and stored beside the program, so the positions come from the robot and the logic stays in version control.

tray_unload.py Python
# waypoints taught on the machine
from robot_api import robot, wp

robot.set_accel(120)
robot.move_j(wp.home, speed=40)

for slot in wp.tray:
    robot.move_l(slot.above(40), speed=400, blend=80)
    robot.move_l(slot, speed=120, blend=0)
    robot.set_output("gripper", True)

    robot.move_l(wp.dropoff, speed=400, blend=0)
    robot.set_output("gripper", False)

robot.move_j(wp.home, speed=40)

Why Python

Because a loop is a loop. Working through a tray of parts is a few lines here, not a few hundred taught points.