@wandelbots/wandelbots-js-react-components
Version:
React UI toolkit for building applications on top of the Wandelbots platform
90 lines • 3.83 kB
TypeScript
import { type AutoReconnectingWebsocket } from "@wandelbots/nova-js";
import type { MotionGroupDescription, MotionGroupState, NovaClient, RobotControllerState } from "@wandelbots/nova-js/v2";
import * as THREE from "three";
import type { Vector3Simple } from "./JoggerConnection";
export type RobotTcpLike = {
id: string;
readable_name: string;
position: Vector3Simple;
orientation: Vector3Simple;
};
export type MotionGroupOption = {
selectionId: string;
};
/**
* Store representing the current state of a connected motion group.
* API v2 version, not used yet in the components.
*/
export declare class ConnectedMotionGroup {
readonly nova: NovaClient;
readonly controller: RobotControllerState;
readonly motionGroup: MotionGroupState;
readonly initialMotionState: MotionGroupState;
readonly motionStateSocket: AutoReconnectingWebsocket;
readonly isVirtual: boolean;
readonly tcps: RobotTcpLike[];
readonly description: MotionGroupDescription;
readonly initialControllerState: RobotControllerState;
readonly controllerStateSocket: AutoReconnectingWebsocket;
static connectMultiple(nova: NovaClient, motionGroupIds: string[]): Promise<ConnectedMotionGroup[]>;
static connect(nova: NovaClient, motionGroupId: string): Promise<ConnectedMotionGroup>;
connectedJoggingSocket: WebSocket | null;
planData: any | null;
joggingVelocity: number;
rapidlyChangingMotionState: MotionGroupState;
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: RobotControllerState, motionGroup: MotionGroupState, initialMotionState: MotionGroupState, motionStateSocket: AutoReconnectingWebsocket, isVirtual: boolean, tcps: RobotTcpLike[], description: MotionGroupDescription, initialControllerState: RobotControllerState, controllerStateSocket: AutoReconnectingWebsocket);
get motionGroupId(): string;
get controllerId(): string;
get modelFromController(): string;
get wandelscriptIdentifier(): string;
/** Jogging velocity in radians for rotation and joint movement */
get joggingVelocityRads(): number;
get joints(): {
index: number;
}[];
get dhParameters(): {
alpha?: number;
theta?: number;
a?: number;
d?: number;
reverse_rotation_direction?: boolean;
}[] | undefined;
get safetyZones(): {
[key: string]: import("@wandelbots/nova-api/v2").Collider;
} | 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