@wandelbots/nova-js
Version:
Official JS client for the Wandelbots API
77 lines • 3.81 kB
TypeScript
import type { ControllerInstance, MotionGroupPhysical, MotionGroupSpecification, MotionGroupStateResponse, Mounting, RobotControllerState, RobotTcp, SafetySetup } from "@wandelbots/nova-api/v1";
import * as THREE from "three";
import type { AutoReconnectingWebsocket } from "../AutoReconnectingWebsocket";
import type { NovaClient } from "./NovaClient";
export type MotionGroupOption = {
selectionId: string;
} & MotionGroupPhysical;
/**
* Store representing the current state of a connected motion group.
*/
export declare class ConnectedMotionGroup {
readonly nova: NovaClient;
readonly controller: ControllerInstance;
readonly motionGroup: MotionGroupPhysical;
readonly initialMotionState: MotionGroupStateResponse;
readonly motionStateSocket: AutoReconnectingWebsocket;
readonly isVirtual: boolean;
readonly tcps: RobotTcp[];
readonly motionGroupSpecification: MotionGroupSpecification;
readonly safetySetup: SafetySetup;
readonly mounting: Mounting | null;
readonly initialControllerState: RobotControllerState;
readonly controllerStateSocket: AutoReconnectingWebsocket;
static connect(nova: NovaClient, motionGroupId: string, controllers: ControllerInstance[]): Promise<ConnectedMotionGroup>;
connectedJoggingCartesianSocket: WebSocket | null;
connectedJoggingJointsSocket: WebSocket | null;
planData: any | null;
joggingVelocity: number;
rapidlyChangingMotionState: MotionGroupStateResponse;
controllerState: RobotControllerState;
/**
* Reflects activation state of the motion group / robot servos. The
* movement controls in the UI should only be enabled in the "active" state
*/
activationState: "inactive" | "activating" | "deactivating" | "active";
constructor(nova: NovaClient, controller: ControllerInstance, motionGroup: MotionGroupPhysical, initialMotionState: MotionGroupStateResponse, motionStateSocket: AutoReconnectingWebsocket, isVirtual: boolean, tcps: RobotTcp[], motionGroupSpecification: MotionGroupSpecification, safetySetup: SafetySetup, mounting: Mounting | null, initialControllerState: RobotControllerState, controllerStateSocket: AutoReconnectingWebsocket);
get motionGroupId(): string;
get controllerId(): string;
get modelFromController(): string | undefined;
get wandelscriptIdentifier(): string;
/** Jogging velocity in radians for rotation and joint movement */
get joggingVelocityRads(): number;
get joints(): {
index: number;
}[];
get dhParameters(): import("@wandelbots/nova-api/v1").DHParameter[] | undefined;
get safetyZones(): import("@wandelbots/nova-api/v1").SafetySetupSafetyZone[] | undefined;
/** Gets the robot mounting position offset in 3D viz coordinates */
get mountingPosition(): [number, number, number];
/** Gets the robot mounting position rotation in 3D viz coordinates */
get mountingQuaternion(): THREE.Quaternion;
/**
* Whether the controller is currently in a safety state
* corresponding to an emergency stop
*/
get isEstopActive(): boolean;
/**
* Whether the controller is in a safety state
* that may be non-functional for robot pad purposes
*/
get isMoveableSafetyState(): boolean;
/**
* Whether the controller is in an operation mode that allows movement
*/
get isMoveableOperationMode(): boolean;
/**
* Whether the robot is currently active and can be moved, based on the
* safety state, operation mode and servo toggle activation state.
*/
get canBeMoved(): boolean;
deactivate(): Promise<void>;
activate(): Promise<void>;
toggleActivation(): void;
dispose(): void;
setJoggingVelocity(velocity: number): void;
}
//# sourceMappingURL=ConnectedMotionGroup.d.ts.map