UNPKG

spot-sdk-ts

Version:

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

1,166 lines (1,165 loc) 262 kB
import { ServiceFault_Severity, ServiceFault } from "./service_fault"; import { Duration } from "../../google/protobuf/duration"; import { FrameTreeSnapshot, SE3Velocity, Vec3 } from "./geometry"; import { Parameter } from "./parameter"; import { RequestHeader, ResponseHeader } from "./header"; import _m0 from "protobufjs/minimal"; export declare const protobufPackage = "bosdyn.api"; /** Kinematic model of the robot skeleton. */ export interface Skeleton { /** The list of links that make up the robot skeleton. */ links: Skeleton_Link[]; /** URDF description of the robot skeleton. */ urdf: string; } /** Each link of the robot skeleton. */ export interface Skeleton_Link { /** The link name, which matches those used in the urdf. */ name: string; /** The OBJ file representing the model of this link. */ objModel: Skeleton_Link_ObjModel | undefined; } /** * Model to draw, expressed as an obj file. * Note: To limit the size of responses, obj_file_contents might be omitted. */ export interface Skeleton_Link_ObjModel { /** Name of the file. */ fileName: string; /** The contents of the file. */ fileContents: string; } /** Robot Hardware Configuration, described with the robot skeleton. */ export interface HardwareConfiguration { /** Robot link and joint description. */ skeleton: Skeleton | undefined; /** Turn off the robot. Same as physical switch. */ canPowerCommandRequestOffRobot: boolean; /** Power cycle the robot. Same as physical switch. */ canPowerCommandRequestCycleRobot: boolean; /** Control power to the payload ports. */ canPowerCommandRequestPayloadPorts: boolean; /** Control power to the hardware Wi-Fi radio. */ canPowerCommandRequestWifiRadio: boolean; } /** The current state of the robot. */ export interface RobotState { /** Power state (e.g. motor power). */ powerState: PowerState | undefined; /** Battery state (e.g. charge, temperature, current). */ batteryStates: BatteryState[]; /** Communication state (e.g. type of comms network). */ commsStates: CommsState[]; /** Different system faults for the robot. */ systemFaultState: SystemFaultState | undefined; /** * Because there may be multiple E-Stops, and because E-Stops may be supplied with payloads, * this is a repeated field instead of a hardcoded list. */ estopStates: EStopState[]; /** Kinematic state of the robot (e.g. positions, velocities, other frame information). */ kinematicState: KinematicState | undefined; /** Robot behavior fault state. */ behaviorFaultState: BehaviorFaultState | undefined; /** The foot states (and contact information). */ footState: FootState[]; /** / State of the manipulator, only populated if an arm is attached to the robot. */ manipulatorState: ManipulatorState | undefined; /** Service faults for services registered with the robot. */ serviceFaultState: ServiceFaultState | undefined; /** Relevant terrain data beneath and around the robot */ terrainState: TerrainState | undefined; } /** * The power state for the robot. * If a robot is not in the POWER OFF state, if is not safe to approach. * The robot must not be E-Stopped to enter the POWER_ON state. */ export interface PowerState { /** Robot clock timestamp corresponding to these readings. */ timestamp: Date | undefined; /** The motor power state of the robot. */ motorPowerState: PowerState_MotorPowerState; /** The shore power state of the robot. */ shorePowerState: PowerState_ShorePowerState; /** The payload ports power state of the robot. */ robotPowerState: PowerState_RobotPowerState; /** The payload ports power state of the robot. */ payloadPortsPowerState: PowerState_PayloadPortsPowerState; /** The hardware radio power state of the robot. */ wifiRadioPowerState: PowerState_WifiRadioPowerState; /** * Number from 0 (empty) to 100 (full) indicating the estimated state of charge. * This field provides a summary of the BatteryStates that provide power for motor and/or * base compute power, both of which are required for locomotion. */ locomotionChargePercentage: number | undefined; /** * An estimate of remaining runtime. Note that this field might not be populated. * This field provides a summary of the BatteryStates that provide power for motor and/or * base compute power, both of which are required for locomotion. */ locomotionEstimatedRuntime: Duration | undefined; } export declare enum PowerState_MotorPowerState { /** * STATE_UNKNOWN - Unknown motor power state. Do not use this field. * * @deprecated */ STATE_UNKNOWN = 0, MOTOR_POWER_STATE_UNKNOWN = 0, /** * STATE_OFF - Motors are off, the robot is safe to approach. * * @deprecated */ STATE_OFF = 1, MOTOR_POWER_STATE_OFF = 1, /** * STATE_ON - The motors are powered. * * @deprecated */ STATE_ON = 2, MOTOR_POWER_STATE_ON = 2, /** * STATE_POWERING_ON - The robot has received an ON command, and is turning on. * * @deprecated */ STATE_POWERING_ON = 3, MOTOR_POWER_STATE_POWERING_ON = 3, /** * STATE_POWERING_OFF - In the process of powering down, not yet safe to approach. * * @deprecated */ STATE_POWERING_OFF = 4, MOTOR_POWER_STATE_POWERING_OFF = 4, /** * STATE_ERROR - The robot is in an error state and must be powered off before attempting to re-power. * * @deprecated */ STATE_ERROR = 5, MOTOR_POWER_STATE_ERROR = 5, UNRECOGNIZED = -1 } export declare function powerState_MotorPowerStateFromJSON(object: any): PowerState_MotorPowerState; export declare function powerState_MotorPowerStateToJSON(object: PowerState_MotorPowerState): string; /** * State describing if robot is connected to shore (wall) power. Robot can't be powered on * while on shore power */ export declare enum PowerState_ShorePowerState { /** * STATE_UNKNOWN_SHORE_POWER - Unknown shore power state. Do not use. * * @deprecated */ STATE_UNKNOWN_SHORE_POWER = 0, SHORE_POWER_STATE_UNKNOWN = 0, /** * STATE_ON_SHORE_POWER - The robot is connected to shore power. The robot will not power on while connected to * shore power. * * @deprecated */ STATE_ON_SHORE_POWER = 1, SHORE_POWER_STATE_ON = 1, /** * STATE_OFF_SHORE_POWER - The robot is disconnected from shore power and motors can be powered up. * * @deprecated */ STATE_OFF_SHORE_POWER = 2, SHORE_POWER_STATE_OFF = 2, UNRECOGNIZED = -1 } export declare function powerState_ShorePowerStateFromJSON(object: any): PowerState_ShorePowerState; export declare function powerState_ShorePowerStateToJSON(object: PowerState_ShorePowerState): string; /** State describing if the robot has power. */ export declare enum PowerState_RobotPowerState { /** ROBOT_POWER_STATE_UNKNOWN - Unknown robot power state. Do not use this field. */ ROBOT_POWER_STATE_UNKNOWN = 0, /** ROBOT_POWER_STATE_ON - The robot is powered on. */ ROBOT_POWER_STATE_ON = 1, /** * ROBOT_POWER_STATE_OFF - The robot does not have power. * Impossible to get this response, as the robot cannot respond if it is powered off. */ ROBOT_POWER_STATE_OFF = 2, UNRECOGNIZED = -1 } export declare function powerState_RobotPowerStateFromJSON(object: any): PowerState_RobotPowerState; export declare function powerState_RobotPowerStateToJSON(object: PowerState_RobotPowerState): string; /** State describing if the payload port has power. */ export declare enum PowerState_PayloadPortsPowerState { /** PAYLOAD_PORTS_POWER_STATE_UNKNOWN - Unknown payload port power state. Do not use this field. */ PAYLOAD_PORTS_POWER_STATE_UNKNOWN = 0, /** PAYLOAD_PORTS_POWER_STATE_ON - The payload port is powered on. */ PAYLOAD_PORTS_POWER_STATE_ON = 1, /** PAYLOAD_PORTS_POWER_STATE_OFF - The payload port does not have power. */ PAYLOAD_PORTS_POWER_STATE_OFF = 2, UNRECOGNIZED = -1 } export declare function powerState_PayloadPortsPowerStateFromJSON(object: any): PowerState_PayloadPortsPowerState; export declare function powerState_PayloadPortsPowerStateToJSON(object: PowerState_PayloadPortsPowerState): string; /** State describing if the robot Wi-Fi router has power. */ export declare enum PowerState_WifiRadioPowerState { /** WIFI_RADIO_POWER_STATE_UNKNOWN - Unknown radio power state. Do not use this field. */ WIFI_RADIO_POWER_STATE_UNKNOWN = 0, /** WIFI_RADIO_POWER_STATE_ON - The radio is powered on. */ WIFI_RADIO_POWER_STATE_ON = 1, /** WIFI_RADIO_POWER_STATE_OFF - The radio does not have power. */ WIFI_RADIO_POWER_STATE_OFF = 2, UNRECOGNIZED = -1 } export declare function powerState_WifiRadioPowerStateFromJSON(object: any): PowerState_WifiRadioPowerState; export declare function powerState_WifiRadioPowerStateToJSON(object: PowerState_WifiRadioPowerState): string; /** * The current state of each system fault the robot is experiencing. * An "active" fault indicates a hardware/software currently on the robot. * A "historical" fault indicates a, now cleared, hardware/software problem. * Historical faults are useful to diagnose robot behavior subject to intermittent failed states. */ export interface SystemFaultState { /** Currently active faults */ faults: SystemFault[]; /** Inactive faults that cleared within the last 10 minutes */ historicalFaults: SystemFault[]; /** * Aggregated fault data. * This provides a very quick way of determining if there any * "battery" or "vision" faults above a certain severity level. */ aggregated: { [key: string]: SystemFault_Severity; }; } export interface SystemFaultState_AggregatedEntry { key: string; value: SystemFault_Severity; } /** * The current system faults for a robot. * A fault is an indicator of a hardware or software problem on the robot. An * active fault may indicate the robot may fail to comply with a user request. * The exact response a fault may vary, but possible responses include: failure * to enable motor power, loss of perception enabled behavior, or triggering a * fault recovery behavior on robot. */ export interface SystemFault { /** Name of the fault. */ name: string; /** Time of robot local clock at fault onset. */ onsetTimestamp: Date | undefined; /** Time elapsed since onset of the fault. */ duration: Duration | undefined; /** * Error code returned by a fault. The exact interpretation of the fault code * is unique to each variety of fault on the robot. The code is useful for * Boston Dynamics support staff to diagnose hardware/software issues on * robot. */ code: number; /** Fault UID */ uid: number; /** User visible description of the fault (and possibly remedies.) */ errorMessage: string; /** * Fault attributes * Each fault may be flagged with attribute metadata (strings in this case.) * These attributes are useful to communicate that a particular fault may * have significant effect on robot operations. Some potential attributes * may be "robot", "imu", "vision", or "battery". These attributes would let * us flag a fault as indicating a problem with the base robot hardware, * gyro, perception system, or battery respectively. A fault may have, zero, * one, or more attributes attached to it, i.e. a "battery" fault may also * be considered a "robot" fault. */ attributes: string[]; /** * Fault severity, how bad is the fault? * The severity level will have some indication of the potential robot * response to the fault. For example, a fault marked with "battery" * attribute and severity level SEVERITY_WARN may indicate a low battery * state of charge. However a "battery" fault with severity level * SEVERITY_CRITICAL likely means the robot is going to shutdown * immediately. */ severity: SystemFault_Severity; } export declare enum SystemFault_Severity { /** SEVERITY_UNKNOWN - Unknown severity */ SEVERITY_UNKNOWN = 0, /** SEVERITY_INFO - No hardware problem */ SEVERITY_INFO = 1, /** SEVERITY_WARN - Robot performance may be degraded */ SEVERITY_WARN = 2, /** SEVERITY_CRITICAL - Critical fault */ SEVERITY_CRITICAL = 3, UNRECOGNIZED = -1 } export declare function systemFault_SeverityFromJSON(object: any): SystemFault_Severity; export declare function systemFault_SeverityToJSON(object: SystemFault_Severity): string; /** * The robot's current E-Stop states and endpoints. * A typical robot has several different E-Stops, all which must be "NOT_ESTOPPED" * in order to run the robot. */ export interface EStopState { /** Robot clock timestamp corresponding to these readings. */ timestamp: Date | undefined; /** Name of the E-Stop */ name: string; /** What kind of E-Stop this message describes. */ type: EStopState_Type; /** The state of the E-Stop (is it E-Stopped or not?) */ state: EStopState_State; /** Optional description of E-Stop status. */ stateDescription: string; } export declare enum EStopState_Type { /** TYPE_UNKNOWN - Unknown type of E-Stop. Do not use this field. */ TYPE_UNKNOWN = 0, /** TYPE_HARDWARE - E-Stop is a physical button */ TYPE_HARDWARE = 1, /** TYPE_SOFTWARE - E-Stop is a software process */ TYPE_SOFTWARE = 2, UNRECOGNIZED = -1 } export declare function eStopState_TypeFromJSON(object: any): EStopState_Type; export declare function eStopState_TypeToJSON(object: EStopState_Type): string; export declare enum EStopState_State { /** STATE_UNKNOWN - No E-Stop information is present. Only happens in an error case. */ STATE_UNKNOWN = 0, /** STATE_ESTOPPED - E-Stop is active -- robot cannot power its actuators. */ STATE_ESTOPPED = 1, /** STATE_NOT_ESTOPPED - E-Stop is released -- robot may be able to power its actuators. */ STATE_NOT_ESTOPPED = 2, UNRECOGNIZED = -1 } export declare function eStopState_StateFromJSON(object: any): EStopState_State; export declare function eStopState_StateToJSON(object: EStopState_State): string; /** * The battery state for the robot. This includes information about the charge or the * battery temperature. */ export interface BatteryState { /** Robot clock timestamp corresponding to these readings. */ timestamp: Date | undefined; /** An identifier for this battery (could be a serial number or a name. subject to change). */ identifier: string; /** Number from 0 (empty) to 100 (full) indicating the estimated state of charge of the battery. */ chargePercentage: number | undefined; /** An estimate of remaining runtime. Note that this field might not be populated. */ estimatedRuntime: Duration | undefined; /** * Measured current into (charging, positive) or out of (discharging, negative) the battery in * Amps. */ current: number | undefined; /** Measured voltage of the entire battery in Volts. */ voltage: number | undefined; /** * Measured temperature measurements of battery, in Celsius. * Temperatures may be measured in many locations across the battery. */ temperatures: number[]; /** Current state of the battery. */ status: BatteryState_Status; } export declare enum BatteryState_Status { /** STATUS_UNKNOWN - The battery is in an unknown / unexpected state. */ STATUS_UNKNOWN = 0, /** STATUS_MISSING - The battery is not plugged in or otherwise not talking. */ STATUS_MISSING = 1, /** STATUS_CHARGING - The battery is plugged in to shore power and charging. */ STATUS_CHARGING = 2, /** STATUS_DISCHARGING - The battery is not plugged into shore power and discharging. */ STATUS_DISCHARGING = 3, /** STATUS_BOOTING - The battery was just plugged in and is booting up= 3; */ STATUS_BOOTING = 4, UNRECOGNIZED = -1 } export declare function batteryState_StatusFromJSON(object: any): BatteryState_Status; export declare function batteryState_StatusToJSON(object: BatteryState_Status): string; /** * The kinematic state of the robot describes the current estimated positions of the robot body and joints throughout the world. * It includes a transform snapshot of the robot’s current known frames as well as joint states and the velocity of the body. */ export interface KinematicState { /** Joint state of all robot joints. */ jointStates: JointState[]; /** Robot clock timestamp corresponding to these readings. */ acquisitionTimestamp: Date | undefined; /** * A tree-based collection of transformations, which will include the transformations to the * robot body ("body") in addition to transformations to the common frames ("world", "dr") and * ground plane estimate "gpe". * All transforms within the snapshot are at the acquisition time of kinematic state. */ transformsSnapshot: FrameTreeSnapshot | undefined; /** * Velocity of the body frame with respect to vision frame and expressed in vision frame. * The linear velocity is applied at the origin of the body frame. */ velocityOfBodyInVision: SE3Velocity | undefined; /** * Velocity of the body frame with respect to odom frame and expressed in odom frame. * Again, the linear velocity is applied at the origin of the body frame. */ velocityOfBodyInOdom: SE3Velocity | undefined; } /** * Proto containing the state of a joint on the robot. This can be used with the robot skeleton to * update the current view of the robot. */ export interface JointState { /** This name maps directly to the joints in the URDF. */ name: string; /** * This is typically an angle in radians as joints are typically revolute. However, for * translational joints this could be a distance in meters. */ position: number | undefined; /** The joint velocity in [m/s]. */ velocity: number | undefined; /** The joint acceleration in [m/s^2]. */ acceleration: number | undefined; /** * This is typically a torque in Newton meters as joints are typically revolute. However, for * translational joints this could be a force in Newtons. */ load: number | undefined; } /** * This describes any current behaviror faults on the robot, which would block any robot commands * from going through. These can be cleared using the ClearBehaviorFault rpc in the robot command * service. */ export interface BehaviorFaultState { /** Current errors potentially blocking commands on robot */ faults: BehaviorFault[]; } /** * The details of what the behavior fault consistents of, and the id for the fault. The unique * behavior_fault_id can be used to clear the fault in robot command service ClearBehaviorFault rpc. */ export interface BehaviorFault { /** Behavior fault unique id */ behaviorFaultId: number; /** Time of robot local clock at time of the error */ onsetTimestamp: Date | undefined; /** The potential cause of the fault. */ cause: BehaviorFault_Cause; /** Information about the status/what can be done with the fault. */ status: BehaviorFault_Status; } export declare enum BehaviorFault_Cause { /** CAUSE_UNKNOWN - Unknown cause of error */ CAUSE_UNKNOWN = 0, /** CAUSE_FALL - Error caused by mobility failure or fall */ CAUSE_FALL = 1, /** CAUSE_HARDWARE - Error caused by robot hardware malfunction */ CAUSE_HARDWARE = 2, /** CAUSE_LEASE_TIMEOUT - / A lease has timed out */ CAUSE_LEASE_TIMEOUT = 3, UNRECOGNIZED = -1 } export declare function behaviorFault_CauseFromJSON(object: any): BehaviorFault_Cause; export declare function behaviorFault_CauseToJSON(object: BehaviorFault_Cause): string; export declare enum BehaviorFault_Status { /** STATUS_UNKNOWN - Unknown clearable status */ STATUS_UNKNOWN = 0, /** STATUS_CLEARABLE - Fault is clearable */ STATUS_CLEARABLE = 1, /** STATUS_UNCLEARABLE - Fault is currently not clearable */ STATUS_UNCLEARABLE = 2, UNRECOGNIZED = -1 } export declare function behaviorFault_StatusFromJSON(object: any): BehaviorFault_Status; export declare function behaviorFault_StatusToJSON(object: BehaviorFault_Status): string; /** Key robot metrics (e.g., Gait cycles (count), distance walked, time moving, etc...). */ export interface RobotMetrics { /** Robot timestamp corresponding to these metrics. */ timestamp: Date | undefined; /** Key tracked robot metrics, such as distance walked, runtime, etc. */ metrics: Parameter[]; } /** * The current comms information, including what comms the robot is using and the current status * of the comms network. */ export interface CommsState { /** Robot timestamp corresponding to these readings. */ timestamp: Date | undefined; /** The communication state is WiFi. */ wifiState: WiFiState | undefined; } export interface WiFiState { /** Current WiFi mode. */ currentMode: WiFiState_Mode; /** Essid of robot (master mode) or connected network. */ essid: string; } export declare enum WiFiState_Mode { /** MODE_UNKNOWN - The robot's comms state is unknown, or no user requested mode. */ MODE_UNKNOWN = 0, /** MODE_ACCESS_POINT - The robot is acting as an access point. */ MODE_ACCESS_POINT = 1, /** MODE_CLIENT - The robot is connected to a network. */ MODE_CLIENT = 2, UNRECOGNIZED = -1 } export declare function wiFiState_ModeFromJSON(object: any): WiFiState_Mode; export declare function wiFiState_ModeToJSON(object: WiFiState_Mode): string; /** Information about the foot positions and contact state, on a per-foot basis. */ export interface FootState { /** The foot position described relative to the body. */ footPositionRtBody: Vec3 | undefined; /** Is the foot in contact with the ground? */ contact: FootState_Contact; terrain: FootState_TerrainState | undefined; } export declare enum FootState_Contact { /** CONTACT_UNKNOWN - Unknown contact. Do not use. */ CONTACT_UNKNOWN = 0, /** CONTACT_MADE - The foot is currently in contact with the ground. */ CONTACT_MADE = 1, /** CONTACT_LOST - The foot is not in contact with the ground. */ CONTACT_LOST = 2, UNRECOGNIZED = -1 } export declare function footState_ContactFromJSON(object: any): FootState_Contact; export declare function footState_ContactToJSON(object: FootState_Contact): string; /** * Foot specific terrain data. Data may not be valid if the contact state is * not CONTACT_MADE. */ export interface FootState_TerrainState { /** Estimated ground coefficient of friction for this foot. */ groundMuEst: number; /** Reference frame name for vector data. */ frameName: string; /** Foot slip distance rt named frame */ footSlipDistanceRtFrame: Vec3 | undefined; /** Foot slip velocity rt named frame */ footSlipVelocityRtFrame: Vec3 | undefined; /** Ground contact normal rt named frame */ groundContactNormalRtFrame: Vec3 | undefined; /** * Mean penetration (meters) of the foot below the ground visual * surface. For penetrable terrains (gravel/sand/grass etc.) these values are * positive. Negative values would indicate potential odometry issues. */ visualSurfaceGroundPenetrationMean: number; /** Standard deviation of the visual surface ground penetration. */ visualSurfaceGroundPenetrationStd: number; } /** / Additional state published if an arm is attached to the robot. */ export interface ManipulatorState { /** * How open the gripper is, measured in percent. * 0 = fully closed, 100 = fully open. */ gripperOpenPercentage: number; /** / Will be true if the gripper is holding an item, false otherwise. */ isGripperHoldingItem: boolean; /** The estimated force on the end-effector expressed in the hand frame. */ estimatedEndEffectorForceInHand: Vec3 | undefined; /** / Information on if the arm is stowed, or deployed. */ stowState: ManipulatorState_StowState; /** * Velocity of the hand frame with respect to vision frame and expressed in vision frame. * The linear velocity is applied at the origin of the hand frame. */ velocityOfHandInVision: SE3Velocity | undefined; /** * Velocity of the hand frame with respect to odom frame and expressed in odom frame. * Again, the linear velocity is applied at the origin of the hand frame. */ velocityOfHandInOdom: SE3Velocity | undefined; carryState: ManipulatorState_CarryState; } export declare enum ManipulatorState_StowState { STOWSTATE_UNKNOWN = 0, STOWSTATE_STOWED = 1, STOWSTATE_DEPLOYED = 2, UNRECOGNIZED = -1 } export declare function manipulatorState_StowStateFromJSON(object: any): ManipulatorState_StowState; export declare function manipulatorState_StowStateToJSON(object: ManipulatorState_StowState): string; /** * The stowing behavior is modified as a function of the Carry State. If holding an item, the * stowing behavior will be modified as follows: * NOT_CARRIABLE - The arm will not stow, instead entering stop * CARRIABLE - The arm will not stow, instead entering stop * CARRIABLE_AND_STOWABLE - The arm will stow while continuing to grasp the item * The comms loss behavior of the arm is also modified as follows: * NOT_CARRIABLE - The arm will release the item and stow * CARRIABLE - The arm will not stow, instead entering stop * CARRIABLE_AND_STOWABLE - The arm will stow while continuing to grasp the item */ export declare enum ManipulatorState_CarryState { CARRY_STATE_UNKNOWN = 0, CARRY_STATE_NOT_CARRIABLE = 1, CARRY_STATE_CARRIABLE = 2, CARRY_STATE_CARRIABLE_AND_STOWABLE = 3, UNRECOGNIZED = -1 } export declare function manipulatorState_CarryStateFromJSON(object: any): ManipulatorState_CarryState; export declare function manipulatorState_CarryStateToJSON(object: ManipulatorState_CarryState): string; /** * The current state of each service fault the robot is experiencing. * An "active" fault indicates a fault currently in a service. * A "historical" fault indicates a, now cleared, service problem. */ export interface ServiceFaultState { /** Currently active faults */ faults: ServiceFault[]; /** Service faults that have been cleared. Acts as a ring buffer with size of 50. */ historicalFaults: ServiceFault[]; /** * Aggregated service fault data. Maps attribute string to highest severity level * of any active fault containing that attribute string. * This provides a very quick way of determining if there any "locomotion" or * "vision" faults above a certain severity level. */ aggregated: { [key: string]: ServiceFault_Severity; }; } export interface ServiceFaultState_AggregatedEntry { key: string; value: ServiceFault_Severity; } /** Relevant terrain data beneath and around the robot */ export interface TerrainState { /** * Is the terrain immediately under the robot such that sitting or powering off * the robot may cause the robot to be in an unstable position? */ isUnsafeToSit: boolean; } /** The RobotState request message to get the current state of the robot. */ export interface RobotStateRequest { /** Common request header. */ header: RequestHeader | undefined; } /** * The RobotState response message, which returns the robot state information from the time * the request was received. */ export interface RobotStateResponse { /** Common response header. */ header: ResponseHeader | undefined; /** The requested RobotState. */ robotState: RobotState | undefined; } /** The RobotMetrics request message to get metrics and parameters from the robot. */ export interface RobotMetricsRequest { /** Common request header. */ header: RequestHeader | undefined; } /** * The RobotMetrics response message, which returns the metrics information from the time * the request was received. */ export interface RobotMetricsResponse { /** Common response header. */ header: ResponseHeader | undefined; /** The requested robot metrics. */ robotMetrics: RobotMetrics | undefined; } /** * The RobotHardwareConfiguration request message to get hardware configuration, described * by the robot skeleton and urdf. */ export interface RobotHardwareConfigurationRequest { /** Common request header. */ header: RequestHeader | undefined; } /** * The RobotHardwareConfiguration response message, which returns the hardware config from the time * the request was received. */ export interface RobotHardwareConfigurationResponse { /** Common response header. */ header: ResponseHeader | undefined; /** The requested RobotState. */ hardwareConfiguration: HardwareConfiguration | undefined; } /** * The RobotLinkModel request message uses a link name returned by the RobotHardwareConfiguration response to * get the associated OBJ file. */ export interface RobotLinkModelRequest { /** Common request header. */ header: RequestHeader | undefined; /** The link name of which the OBJ file shoould represent. */ linkName: string; } /** The RobotLinkModel response message returns the OBJ file for a specifc robot link. */ export interface RobotLinkModelResponse { /** Common response header. */ header: ResponseHeader | undefined; /** The requested RobotState skeleton obj model. */ linkModel: Skeleton_Link_ObjModel | undefined; } /** Keeps track of why the robot is not able to drive autonomously. */ export interface RobotImpairedState { /** If the status is ROBOT_IMPAIRED, this is specifically why the robot is impaired. */ impairedStatus: RobotImpairedState_ImpairedStatus; /** If impaired_status is STATUS_SYSTEM_FAULT, these are the faults which caused the robot to stop. */ systemFaults: SystemFault[]; /** * If impaired_status is STATUS_SERVICE_FAULT, these are the service faults which caused * the robot to stop. */ serviceFaults: ServiceFault[]; /** * If impaired_status is STATUS_BEHAVIOR_FAULT, these are the behavior faults which caused * the robot to stop. */ behaviorFaults: BehaviorFault[]; } /** If the robot is stopped due to being impaired, this is the reason why. */ export declare enum RobotImpairedState_ImpairedStatus { /** IMPAIRED_STATUS_UNKNOWN - Unknown/unexpected error. */ IMPAIRED_STATUS_UNKNOWN = 0, /** IMPAIRED_STATUS_OK - The robot is able to drive. */ IMPAIRED_STATUS_OK = 1, /** IMPAIRED_STATUS_NO_ROBOT_DATA - The autonomous system does not have any data from the robot state service. */ IMPAIRED_STATUS_NO_ROBOT_DATA = 2, /** IMPAIRED_STATUS_SYSTEM_FAULT - There is a system fault which caused the robot to stop. See system_fault for details. */ IMPAIRED_STATUS_SYSTEM_FAULT = 3, /** IMPAIRED_STATUS_NO_MOTOR_POWER - The robot's motors are not powered on. */ IMPAIRED_STATUS_NO_MOTOR_POWER = 4, /** IMPAIRED_STATUS_REMOTE_CLOUDS_NOT_WORKING - The autonomous system is expected to have a remote point cloud (e.g. a LIDAR), but this is not working. */ IMPAIRED_STATUS_REMOTE_CLOUDS_NOT_WORKING = 5, /** IMPAIRED_STATUS_SERVICE_FAULT - A remote service the autonomous system depends on is not working. */ IMPAIRED_STATUS_SERVICE_FAULT = 6, /** IMPAIRED_STATUS_BEHAVIOR_FAULT - A behavior fault caused the robot to stop. See behavior_faults for details. */ IMPAIRED_STATUS_BEHAVIOR_FAULT = 7, UNRECOGNIZED = -1 } export declare function robotImpairedState_ImpairedStatusFromJSON(object: any): RobotImpairedState_ImpairedStatus; export declare function robotImpairedState_ImpairedStatusToJSON(object: RobotImpairedState_ImpairedStatus): string; export declare const Skeleton: { encode(message: Skeleton, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Skeleton; fromJSON(object: any): Skeleton; toJSON(message: Skeleton): unknown; fromPartial<I extends { links?: { name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; }[] | undefined; urdf?: string | undefined; } & { links?: ({ name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; }[] & ({ name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; } & { name?: string | undefined; objModel?: ({ fileName?: string | undefined; fileContents?: string | undefined; } & { fileName?: string | undefined; fileContents?: string | undefined; } & { [K in Exclude<keyof I["links"][number]["objModel"], keyof Skeleton_Link_ObjModel>]: never; }) | undefined; } & { [K_1 in Exclude<keyof I["links"][number], keyof Skeleton_Link>]: never; })[] & { [K_2 in Exclude<keyof I["links"], keyof { name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; }[]>]: never; }) | undefined; urdf?: string | undefined; } & { [K_3 in Exclude<keyof I, keyof Skeleton>]: never; }>(object: I): Skeleton; }; export declare const Skeleton_Link: { encode(message: Skeleton_Link, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Skeleton_Link; fromJSON(object: any): Skeleton_Link; toJSON(message: Skeleton_Link): unknown; fromPartial<I extends { name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; } & { name?: string | undefined; objModel?: ({ fileName?: string | undefined; fileContents?: string | undefined; } & { fileName?: string | undefined; fileContents?: string | undefined; } & { [K in Exclude<keyof I["objModel"], keyof Skeleton_Link_ObjModel>]: never; }) | undefined; } & { [K_1 in Exclude<keyof I, keyof Skeleton_Link>]: never; }>(object: I): Skeleton_Link; }; export declare const Skeleton_Link_ObjModel: { encode(message: Skeleton_Link_ObjModel, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Skeleton_Link_ObjModel; fromJSON(object: any): Skeleton_Link_ObjModel; toJSON(message: Skeleton_Link_ObjModel): unknown; fromPartial<I extends { fileName?: string | undefined; fileContents?: string | undefined; } & { fileName?: string | undefined; fileContents?: string | undefined; } & { [K in Exclude<keyof I, keyof Skeleton_Link_ObjModel>]: never; }>(object: I): Skeleton_Link_ObjModel; }; export declare const HardwareConfiguration: { encode(message: HardwareConfiguration, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): HardwareConfiguration; fromJSON(object: any): HardwareConfiguration; toJSON(message: HardwareConfiguration): unknown; fromPartial<I extends { skeleton?: { links?: { name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; }[] | undefined; urdf?: string | undefined; } | undefined; canPowerCommandRequestOffRobot?: boolean | undefined; canPowerCommandRequestCycleRobot?: boolean | undefined; canPowerCommandRequestPayloadPorts?: boolean | undefined; canPowerCommandRequestWifiRadio?: boolean | undefined; } & { skeleton?: ({ links?: { name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; }[] | undefined; urdf?: string | undefined; } & { links?: ({ name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; }[] & ({ name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; } & { name?: string | undefined; objModel?: ({ fileName?: string | undefined; fileContents?: string | undefined; } & { fileName?: string | undefined; fileContents?: string | undefined; } & { [K in Exclude<keyof I["skeleton"]["links"][number]["objModel"], keyof Skeleton_Link_ObjModel>]: never; }) | undefined; } & { [K_1 in Exclude<keyof I["skeleton"]["links"][number], keyof Skeleton_Link>]: never; })[] & { [K_2 in Exclude<keyof I["skeleton"]["links"], keyof { name?: string | undefined; objModel?: { fileName?: string | undefined; fileContents?: string | undefined; } | undefined; }[]>]: never; }) | undefined; urdf?: string | undefined; } & { [K_3 in Exclude<keyof I["skeleton"], keyof Skeleton>]: never; }) | undefined; canPowerCommandRequestOffRobot?: boolean | undefined; canPowerCommandRequestCycleRobot?: boolean | undefined; canPowerCommandRequestPayloadPorts?: boolean | undefined; canPowerCommandRequestWifiRadio?: boolean | undefined; } & { [K_4 in Exclude<keyof I, keyof HardwareConfiguration>]: never; }>(object: I): HardwareConfiguration; }; export declare const RobotState: { encode(message: RobotState, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): RobotState; fromJSON(object: any): RobotState; toJSON(message: RobotState): unknown; fromPartial<I extends { powerState?: { timestamp?: Date | undefined; motorPowerState?: PowerState_MotorPowerState | undefined; shorePowerState?: PowerState_ShorePowerState | undefined; robotPowerState?: PowerState_RobotPowerState | undefined; payloadPortsPowerState?: PowerState_PayloadPortsPowerState | undefined; wifiRadioPowerState?: PowerState_WifiRadioPowerState | undefined; locomotionChargePercentage?: number | undefined; locomotionEstimatedRuntime?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; batteryStates?: { timestamp?: Date | undefined; identifier?: string | undefined; chargePercentage?: number | undefined; estimatedRuntime?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; current?: number | undefined; voltage?: number | undefined; temperatures?: number[] | undefined; status?: BatteryState_Status | undefined; }[] | undefined; commsStates?: { timestamp?: Date | undefined; wifiState?: { currentMode?: WiFiState_Mode | undefined; essid?: string | undefined; } | undefined; }[] | undefined; systemFaultState?: { faults?: { name?: string | undefined; onsetTimestamp?: Date | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; code?: number | undefined; uid?: number | undefined; errorMessage?: string | undefined; attributes?: string[] | undefined; severity?: SystemFault_Severity | undefined; }[] | undefined; historicalFaults?: { name?: string | undefined; onsetTimestamp?: Date | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; code?: number | undefined; uid?: number | undefined; errorMessage?: string | undefined; attributes?: string[] | undefined; severity?: SystemFault_Severity | undefined; }[] | undefined; aggregated?: { [x: string]: SystemFault_Severity | undefined; } | undefined; } | undefined; estopStates?: { timestamp?: Date | undefined; name?: string | undefined; type?: EStopState_Type | undefined; state?: EStopState_State | undefined; stateDescription?: string | undefined; }[] | undefined; kinematicState?: { jointStates?: { name?: string | undefined; position?: number | undefined; velocity?: number | undefined; acceleration?: number | undefined; load?: number | undefined; }[] | undefined; acquisitionTimestamp?: Date | undefined; transformsSnapshot?: { childToParentEdgeMap?: { [x: string]: { parentFrameName?: string | undefined; parentTformChild?: { 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; } | undefined; } | undefined; } | undefined; velocityOfBodyInVision?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; velocityOfBodyInOdom?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; } | undefined; behaviorFaultState?: { faults?: { behaviorFaultId?: number | undefined; onsetTimestamp?: Date | undefined; cause?: BehaviorFault_Cause | undefined; status?: BehaviorFault_Status | undefined; }[] | undefined; } | undefined; footState?: { footPositionRtBody?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; contact?: FootState_Contact | undefined; terrain?: { groundMuEst?: number | undefined; frameName?: string | undefined; footSlipDistanceRtFrame?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; footSlipVelocityRtFrame?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; groundContactNormalRtFrame?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; visualSurfaceGroundPenetrationMean?: number | undefined; visualSurfaceGroundPenetrationStd?: number | undefined; } | undefined; }[] | undefined; manipulatorState?: { gripperOpenPercentage?: number | undefined; isGripperHoldingItem?: boolean | undefined; estimatedEndEffectorForceInHand?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; stowState?: ManipulatorState_StowState | undefined; velocityOfHandInVision?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; velocityOfHandInOdom?: { linear?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; angular?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; } | undefined; carryState?: ManipulatorState_CarryState | undefined; } | undefined; serviceFaultState?: { faults?: { faultId?: { faultName?: string | undefined; serviceName?: string | undefined; payloadGuid?: string | undefined; } | undefined; errorMessage?: string | undefined; attributes?: string[] | undefined; severity?: ServiceFault_Severity | undefined; onsetTimestamp?: Date | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] | undefined; historicalFaults?: { faultId?: { faultName?: string | undefined; serviceName?: string | undefined; payloadGuid?: string | undefined; } | undefined; errorMessage?: string | undefined; attributes?: string[] | undefined; severity?: ServiceFault_Severity | undefined; onsetTimestamp?: Date | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; }[] | undefined; aggregated?: { [x: string]: ServiceFault_Severity | undefined; } | undefined; } | undefined; terrainState?: { isUnsafeToSit?: boolean | undefined; } | undefined; } & { powerState?: ({ timestamp?: Date | undefined; motorPowerState?: PowerState_MotorPowerState | undefined; shorePowerState?: PowerState_ShorePowerState | undefined; robotPowerState?: PowerState_RobotPowerState | undefined; payloadPortsPowerState?: PowerState_PayloadPortsPowerState | undefined; wifiRadioPowerState?: PowerState_WifiRadioPowerState | undefined; locomotionChargePercentage?: number | undefined; locomotionEstimatedRuntime?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } & { timestamp?: Date | undefined; motorPowerState?: PowerState_MotorPowerState | undefined; shorePowerState?: PowerState_ShorePowerState | undefined; robotPowerState?: PowerState_RobotPowerState | undefined; payloadPortsPowerState?: PowerState_PayloadPortsPowerState | undefined; wifiRadioPowerState?: PowerState_WifiRadioPowerState | undefined; locomotionChargePercentage?: number | undefined; locomotionEstimatedRuntime?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined;