spot-sdk-ts
Version:
TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics
661 lines • 31.1 kB
TypeScript
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