Interface Gantry

Represents a physical gantry that exists in three-dimensional space.

interface Gantry {
    getGeometries: (extra?: Struct) => Promise<commonApi.Geometry[]>;
    getLengths: (extra?: Struct) => Promise<number[]>;
    getPosition: (extra?: Struct) => Promise<number[]>;
    home: (extra?: Struct) => Promise<boolean>;
    isMoving: () => Promise<boolean>;
    moveToPosition: (
        positionsMm: number[],
        speedsMmPerSec: number[],
        extra?: Struct,
    ) => Promise<void>;
    name: string;
    stop: (extra?: Struct) => Promise<void>;
    doCommand(command: Struct): Promise<JsonValue>;
}

Hierarchy (View Summary, Expand)

Implemented by

Properties

getGeometries: (extra?: Struct) => Promise<commonApi.Geometry[]>

Get the geometries of the component in their current configuration.

const gantry = new VIAM.GantryClient(machine, 'my_gantry');

// Get the geometries of this component
const geometries = await gantry.getGeometries();

For more information, see Gantry API.

getLengths: (extra?: Struct) => Promise<number[]>

Get the lengths of the axes of the gantry in millimeters.

Type declaration

    • (extra?: Struct): Promise<number[]>
    • Parameters

      Returns Promise<number[]>

      A list of the length of each axis in millimeters.

const gantry = new VIAM.GantryClient(machine, 'my_gantry');

// Get the lengths of the axes in millimeters
const lengths = await gantry.getLengths();

For more information, see Gantry API.

getPosition: (extra?: Struct) => Promise<number[]>

Get the current position of each axis.

Type declaration

    • (extra?: Struct): Promise<number[]>
    • Parameters

      Returns Promise<number[]>

      A list of the current position of each axis in millimeters.

const gantry = new VIAM.GantryClient(machine, 'my_gantry');

// Get the current positions of the axes in millimeters
const positions = await gantry.getPosition();

For more information, see Gantry API.

home: (extra?: Struct) => Promise<boolean>

Runs the homing sequence to find the start and end positions of the gantry axis.

Type declaration

    • (extra?: Struct): Promise<boolean>
    • Parameters

      Returns Promise<boolean>

      A bool representing whether the gantry has run the homing sequence successfully.

const gantry = new VIAM.GantryClient(machine, 'my_gantry');

// Run the homing sequence
const success = await gantry.home();

For more information, see Gantry API.

isMoving: () => Promise<boolean>

Get if the gantry is currently moving.

const gantry = new VIAM.GantryClient(machine, 'my_gantry');

// Check if the gantry is moving
const moving = await gantry.isMoving();
console.log('Moving:', moving);

For more information, see Gantry API.

moveToPosition: (
    positionsMm: number[],
    speedsMmPerSec: number[],
    extra?: Struct,
) => Promise<void>

Move each axis of the gantry to the positionsMm at the speeds in speedsMmPerSec.

Type declaration

    • (positionsMm: number[], speedsMmPerSec: number[], extra?: Struct): Promise<void>
    • Parameters

      • positionsMm: number[]

        The goal positions for each axis of the gantry.

      • speedsMmPerSec: number[]

        The desired speed for each axis to move to the respective position in positionsMm.

      • Optionalextra: Struct

      Returns Promise<void>

const gantry = new VIAM.GantryClient(machine, 'my_gantry');

// Create positions for a 3-axis gantry
const positions = [1, 2, 3];
const speeds = [3, 9, 12];

// Move the axes to the specified positions
await gantry.moveToPosition(positions, speeds);

For more information, see Gantry API.

name: string

The name of the resource.

stop: (extra?: Struct) => Promise<void>

Stop the motion of the gantry.

const gantry = new VIAM.GantryClient(machine, 'my_gantry');

// Stop all motion of the gantry
await gantry.stop();

For more information, see Gantry API.

Methods

  • Send/Receive arbitrary commands to the resource.

    Parameters

    • command: Struct

      The command to execute.

    Returns Promise<JsonValue>

    const result = await resource.doCommand({
    name: 'myCommand',
    args: { key: 'value' },
    });
MMNEPVFCICPMFPCPTTAAATR