UNPKG

spot-sdk-ts

Version:

TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics

661 lines 31.1 kB
import { SE3Pose, Vec3 } from "./geometry"; import { SE3Trajectory } from "./trajectory"; import { ArmJointPosition } from "./arm_command"; import { ClawGripperCommand_Request } from "./gripper_command"; import _m0 from "protobufjs/minimal"; export declare const protobufPackage = "bosdyn.api"; /** * ArmSurfaceContact lets you accurately move the robot's arm in the world while having some ability * to perform force control. This mode is useful for drawing, wiping, and other similar behaviors. * * The message is similar to the ArmCartesianCommand message, which you can look at for additional * details. */ export interface ArmSurfaceContact { } export interface ArmSurfaceContact_Request { /** * The root frame is used to set the optional task frame that all trajectories are * specified with respect to. If the optional task frame is left un-specified it defaults * to the identity transform and the root frame becomes the task frame. */ rootFrameName: string; /** * The tool pose relative to the parent link (wrist). * Defaults to * [0.19557 0 0] * [1 0 0 0] * a frame with it's origin slightly in front of the gripper's palm plate aligned with wrists orientation. */ wristTformTool: SE3Pose | undefined; /** * The fields below are specified in this optional task frame. If unset int defaults * to the identity transform and all quantities are therefore expressed in the root_frame_name. */ rootTformTask: SE3Pose | undefined; /** * A 3D pose trajectory for the tool expressed in the task frame, e.g. task_T_tool. * This pose trajectory is optional if requesting a pure wrench at the end-effector, * otherwise required for position or mixed force/position end-effector requests. */ poseTrajectoryInTask: SE3Trajectory | undefined; /** * Optional Maximum acceleration magnitude of the end-effector. * Valid ranges (0, 20] */ maximumAcceleration: number | undefined; /** Optional Maximum linear velocity magnitude of the end-effector. (m/s) */ maxLinearVelocity: number | undefined; /** Optional Maximum angular velocity magnitude of the end-effector. (rad/s) */ maxAngularVelocity: number | undefined; /** * Maximum allowable tracking error of the tool frame from the desired trajectory * before the arm will stop moving and cancel the rest of the trajectory. When this limit is exceeded, the * hand will stay at the pose it was at when it exceeded the tracking error, and any other part of the * trajectory specified in the rest of this message will be ignored. * max position tracking error in meters */ maxPosTrackingError: number | undefined; /** max orientation tracking error in radians */ maxRotTrackingError: number | undefined; forceRemainNearCurrentJointConfiguration: boolean | undefined; preferredJointConfiguration: ArmJointPosition | undefined; xAxis: ArmSurfaceContact_Request_AxisMode; yAxis: ArmSurfaceContact_Request_AxisMode; zAxis: ArmSurfaceContact_Request_AxisMode; /** * Amount of force to use on each axis, from 0 (no force) to 1.0 (maximum force), can also * be negative. Full range: [-1.0, 1.0] */ pressForcePercentage: Vec3 | undefined; /** Admittance settings for each axis in the admittance frame. */ xyAdmittance: ArmSurfaceContact_Request_AdmittanceSetting; zAdmittance: ArmSurfaceContact_Request_AdmittanceSetting; /** * Cross term, making force in the XY axis cause movement in the z-axis. * By default is OFF * Setting this value will make the arm move in the negative Z-axis whenever it feels force in * the XY axis. */ xyToZCrossTermAdmittance: ArmSurfaceContact_Request_AdmittanceSetting; /** * Specifies a force that the body should expect to feel. This allows the robot to "lean into" * an external force. Be careful using this field, because if you lie to the robot, it can * fall over. */ biasForceEwrtBody: Vec3 | undefined; /** Gripper control */ gripperCommand: ClawGripperCommand_Request | undefined; /** Set to true to have robot is walk around to follow the hand. */ isRobotFollowingHand: boolean; } /** * If an axis is set to position mode (default), read desired from SE3Trajectory command. * If mode is set to force, use the "press_force_percentage" field to determine force. */ export declare enum ArmSurfaceContact_Request_AxisMode { AXIS_MODE_POSITION = 0, AXIS_MODE_FORCE = 1, UNRECOGNIZED = -1 } export declare function armSurfaceContact_Request_AxisModeFromJSON(object: any): ArmSurfaceContact_Request_AxisMode; export declare function armSurfaceContact_Request_AxisModeToJSON(object: ArmSurfaceContact_Request_AxisMode): string; /** * Parameters for controlling admittance. By default, the robot will * stop moving the arm when it encounters resistance. You can control that reaction to * make the robot stiffer or less stiff by changing the parameters. */ export declare enum ArmSurfaceContact_Request_AdmittanceSetting { ADMITTANCE_SETTING_UNKNOWN = 0, /** ADMITTANCE_SETTING_OFF - No admittance. */ ADMITTANCE_SETTING_OFF = 1, /** ADMITTANCE_SETTING_NORMAL - Normal reaction to touching things in the world */ ADMITTANCE_SETTING_NORMAL = 2, /** ADMITTANCE_SETTING_LOOSE - Robot will not push very hard against objects */ ADMITTANCE_SETTING_LOOSE = 3, /** ADMITTANCE_SETTING_STIFF - Robot will push hard against the world */ ADMITTANCE_SETTING_STIFF = 4, /** ADMITTANCE_SETTING_VERY_STIFF - Robot will push very hard against the world */ ADMITTANCE_SETTING_VERY_STIFF = 5, UNRECOGNIZED = -1 } export declare function armSurfaceContact_Request_AdmittanceSettingFromJSON(object: any): ArmSurfaceContact_Request_AdmittanceSetting; export declare function armSurfaceContact_Request_AdmittanceSettingToJSON(object: ArmSurfaceContact_Request_AdmittanceSetting): string; export interface ArmSurfaceContact_Feedback { } export declare const ArmSurfaceContact: { encode(_: ArmSurfaceContact, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ArmSurfaceContact; fromJSON(_: any): ArmSurfaceContact; toJSON(_: ArmSurfaceContact): unknown; fromPartial<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(_: I): ArmSurfaceContact; }; export declare const ArmSurfaceContact_Request: { encode(message: ArmSurfaceContact_Request, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ArmSurfaceContact_Request; fromJSON(object: any): ArmSurfaceContact_Request; toJSON(message: ArmSurfaceContact_Request): unknown; fromPartial<I extends { rootFrameName?: string | undefined; wristTformTool?: { position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } | undefined; rootTformTask?: { position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } | undefined; poseTrajectoryInTask?: { points?: { pose?: { position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } | undefined; velocity?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] | undefined; referenceTime?: Date | undefined; posInterpolation?: import("./trajectory").PositionalInterpolation | undefined; angInterpolation?: import("./trajectory").AngularInterpolation | undefined; } | undefined; maximumAcceleration?: number | undefined; maxLinearVelocity?: number | undefined; maxAngularVelocity?: number | undefined; maxPosTrackingError?: number | undefined; maxRotTrackingError?: number | undefined; forceRemainNearCurrentJointConfiguration?: boolean | undefined; preferredJointConfiguration?: { sh0?: number | undefined; sh1?: number | undefined; el0?: number | undefined; el1?: number | undefined; wr0?: number | undefined; wr1?: number | undefined; } | undefined; xAxis?: ArmSurfaceContact_Request_AxisMode | undefined; yAxis?: ArmSurfaceContact_Request_AxisMode | undefined; zAxis?: ArmSurfaceContact_Request_AxisMode | undefined; pressForcePercentage?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; xyAdmittance?: ArmSurfaceContact_Request_AdmittanceSetting | undefined; zAdmittance?: ArmSurfaceContact_Request_AdmittanceSetting | undefined; xyToZCrossTermAdmittance?: ArmSurfaceContact_Request_AdmittanceSetting | undefined; biasForceEwrtBody?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; gripperCommand?: { trajectory?: { points?: { point?: number | undefined; velocity?: number | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] | undefined; referenceTime?: Date | undefined; interpolation?: import("./trajectory").PositionalInterpolation | undefined; } | undefined; maximumOpenCloseVelocity?: number | undefined; maximumOpenCloseAcceleration?: number | undefined; maximumTorque?: number | undefined; disableForceOnContact?: boolean | undefined; } | undefined; isRobotFollowingHand?: boolean | undefined; } & { rootFrameName?: string | undefined; wristTformTool?: ({ position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } & { position?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K in Exclude<keyof I["wristTformTool"]["position"], keyof Vec3>]: never; }) | undefined; rotation?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { [K_1 in Exclude<keyof I["wristTformTool"]["rotation"], keyof import("./geometry").Quaternion>]: never; }) | undefined; } & { [K_2 in Exclude<keyof I["wristTformTool"], keyof SE3Pose>]: never; }) | undefined; rootTformTask?: ({ position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } & { position?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_3 in Exclude<keyof I["rootTformTask"]["position"], keyof Vec3>]: never; }) | undefined; rotation?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { [K_4 in Exclude<keyof I["rootTformTask"]["rotation"], keyof import("./geometry").Quaternion>]: never; }) | undefined; } & { [K_5 in Exclude<keyof I["rootTformTask"], keyof SE3Pose>]: never; }) | undefined; poseTrajectoryInTask?: ({ points?: { pose?: { position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } | undefined; velocity?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] | undefined; referenceTime?: Date | undefined; posInterpolation?: import("./trajectory").PositionalInterpolation | undefined; angInterpolation?: import("./trajectory").AngularInterpolation | undefined; } & { points?: ({ pose?: { position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } | undefined; velocity?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] & ({ pose?: { position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } | undefined; velocity?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } & { pose?: ({ position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } & { position?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_6 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number]["pose"]["position"], keyof Vec3>]: never; }) | undefined; rotation?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { [K_7 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number]["pose"]["rotation"], keyof import("./geometry").Quaternion>]: never; }) | undefined; } & { [K_8 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number]["pose"], keyof SE3Pose>]: never; }) | undefined; velocity?: ({ linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } & { linear?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_9 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number]["velocity"]["linear"], keyof Vec3>]: never; }) | undefined; angular?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_10 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number]["velocity"]["angular"], keyof Vec3>]: never; }) | undefined; } & { [K_11 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number]["velocity"], keyof import("./geometry").SE3Velocity>]: never; }) | undefined; timeSinceReference?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & { [K_12 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number]["timeSinceReference"], keyof import("../../google/protobuf/duration").Duration>]: never; }) | undefined; } & { [K_13 in Exclude<keyof I["poseTrajectoryInTask"]["points"][number], keyof import("./trajectory").SE3TrajectoryPoint>]: never; })[] & { [K_14 in Exclude<keyof I["poseTrajectoryInTask"]["points"], keyof { pose?: { position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } | undefined; velocity?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[]>]: never; }) | undefined; referenceTime?: Date | undefined; posInterpolation?: import("./trajectory").PositionalInterpolation | undefined; angInterpolation?: import("./trajectory").AngularInterpolation | undefined; } & { [K_15 in Exclude<keyof I["poseTrajectoryInTask"], keyof SE3Trajectory>]: never; }) | undefined; maximumAcceleration?: number | undefined; maxLinearVelocity?: number | undefined; maxAngularVelocity?: number | undefined; maxPosTrackingError?: number | undefined; maxRotTrackingError?: number | undefined; forceRemainNearCurrentJointConfiguration?: boolean | undefined; preferredJointConfiguration?: ({ sh0?: number | undefined; sh1?: number | undefined; el0?: number | undefined; el1?: number | undefined; wr0?: number | undefined; wr1?: number | undefined; } & { sh0?: number | undefined; sh1?: number | undefined; el0?: number | undefined; el1?: number | undefined; wr0?: number | undefined; wr1?: number | undefined; } & { [K_16 in Exclude<keyof I["preferredJointConfiguration"], keyof ArmJointPosition>]: never; }) | undefined; xAxis?: ArmSurfaceContact_Request_AxisMode | undefined; yAxis?: ArmSurfaceContact_Request_AxisMode | undefined; zAxis?: ArmSurfaceContact_Request_AxisMode | undefined; pressForcePercentage?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_17 in Exclude<keyof I["pressForcePercentage"], keyof Vec3>]: never; }) | undefined; xyAdmittance?: ArmSurfaceContact_Request_AdmittanceSetting | undefined; zAdmittance?: ArmSurfaceContact_Request_AdmittanceSetting | undefined; xyToZCrossTermAdmittance?: ArmSurfaceContact_Request_AdmittanceSetting | undefined; biasForceEwrtBody?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_18 in Exclude<keyof I["biasForceEwrtBody"], keyof Vec3>]: never; }) | undefined; gripperCommand?: ({ trajectory?: { points?: { point?: number | undefined; velocity?: number | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] | undefined; referenceTime?: Date | undefined; interpolation?: import("./trajectory").PositionalInterpolation | undefined; } | undefined; maximumOpenCloseVelocity?: number | undefined; maximumOpenCloseAcceleration?: number | undefined; maximumTorque?: number | undefined; disableForceOnContact?: boolean | undefined; } & { trajectory?: ({ points?: { point?: number | undefined; velocity?: number | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] | undefined; referenceTime?: Date | undefined; interpolation?: import("./trajectory").PositionalInterpolation | undefined; } & { points?: ({ point?: number | undefined; velocity?: number | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] & ({ point?: number | undefined; velocity?: number | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } & { point?: number | undefined; velocity?: number | undefined; timeSinceReference?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & { [K_19 in Exclude<keyof I["gripperCommand"]["trajectory"]["points"][number]["timeSinceReference"], keyof import("../../google/protobuf/duration").Duration>]: never; }) | undefined; } & { [K_20 in Exclude<keyof I["gripperCommand"]["trajectory"]["points"][number], keyof import("./trajectory").ScalarTrajectoryPoint>]: never; })[] & { [K_21 in Exclude<keyof I["gripperCommand"]["trajectory"]["points"], keyof { point?: number | undefined; velocity?: number | undefined; timeSinceReference?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[]>]: never; }) | undefined; referenceTime?: Date | undefined; interpolation?: import("./trajectory").PositionalInterpolation | undefined; } & { [K_22 in Exclude<keyof I["gripperCommand"]["trajectory"], keyof import("./trajectory").ScalarTrajectory>]: never; }) | undefined; maximumOpenCloseVelocity?: number | undefined; maximumOpenCloseAcceleration?: number | undefined; maximumTorque?: number | undefined; disableForceOnContact?: boolean | undefined; } & { [K_23 in Exclude<keyof I["gripperCommand"], keyof ClawGripperCommand_Request>]: never; }) | undefined; isRobotFollowingHand?: boolean | undefined; } & { [K_24 in Exclude<keyof I, keyof ArmSurfaceContact_Request>]: never; }>(object: I): ArmSurfaceContact_Request; }; export declare const ArmSurfaceContact_Feedback: { encode(_: ArmSurfaceContact_Feedback, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ArmSurfaceContact_Feedback; fromJSON(_: any): ArmSurfaceContact_Feedback; toJSON(_: ArmSurfaceContact_Feedback): unknown; fromPartial<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(_: I): ArmSurfaceContact_Feedback; }; declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; declare type KeysOfUnion<T> = T extends T ? keyof T : never; export declare type Exact<P, I extends P> = P extends Builtin ? P : P & { [K in keyof P]: Exact<P[K], I[K]>; } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never; }; export {}; //# sourceMappingURL=arm_surface_contact.d.ts.map