viam.gen.service.motion.v1.motion_pb2

@generated by mypy-protobuf. Do not edit manually! isort:skip_file

Attributes

DESCRIPTOR

PLAN_STATE_UNSPECIFIED

PLAN_STATE_IN_PROGRESS

PLAN_STATE_STOPPED

PLAN_STATE_SUCCEEDED

PLAN_STATE_FAILED

Global___PlanState

Global___MoveRequest

Global___MoveResponse

Global___MoveOnMapRequest

Global___MoveOnMapResponse

Global___ObstacleDetector

Global___MotionConfiguration

Global___MoveOnGlobeRequest

Global___MoveOnGlobeResponse

Global___GetPoseRequest

Global___GetPoseResponse

Global___StopPlanRequest

Global___StopPlanResponse

Global___ListPlanStatusesRequest

Global___ListPlanStatusesResponse

Global___GetPlanRequest

Global___GetPlanResponse

Global___Constraints

Global___LinearConstraint

Global___PseudolinearConstraint

Global___OrientationConstraint

Global___CollisionSpecification

Global___PlanWithStatus

Global___PlanStatusWithID

Global___PlanStatus

Global___Plan

Global___PlanStep

Global___ComponentState

Classes

PlanState

The states that a plan can be in.

MoveRequest

Moves any component on the robot to a specified destination which can be from the reference frame of any other component on the robot.

MoveResponse

Abstract base class for protocol messages.

MoveOnMapRequest

Abstract base class for protocol messages.

MoveOnMapResponse

Abstract base class for protocol messages.

ObstacleDetector

Pairs a vision service with a camera, informing the service about which camera it may use

MotionConfiguration

Abstract base class for protocol messages.

MoveOnGlobeRequest

Abstract base class for protocol messages.

MoveOnGlobeResponse

Abstract base class for protocol messages.

GetPoseRequest

Abstract base class for protocol messages.

GetPoseResponse

Abstract base class for protocol messages.

StopPlanRequest

Abstract base class for protocol messages.

StopPlanResponse

Abstract base class for protocol messages.

ListPlanStatusesRequest

Abstract base class for protocol messages.

ListPlanStatusesResponse

Status of all executed / executing plan statuses with associated IDs within the 24 hour TTL

GetPlanRequest

Abstract base class for protocol messages.

GetPlanResponse

Abstract base class for protocol messages.

Constraints

Constraints specifies all enumerated constraints to be passed to Viam's motion planning, along with any optional parameters

LinearConstraint

LinearConstraint specifies that the component being moved should move linearly relative to its goal.

PseudolinearConstraint

PseudolinearConstraint specifies that the component being moved should not deviate from the straight-line path to their goal by

OrientationConstraint

OrientationConstraint specifies that the component being moved will not deviate its orientation beyond some threshold relative

CollisionSpecification

CollisionSpecification is used to selectively apply obstacle avoidance to specific parts of the robot

PlanWithStatus

Describes a plan, its current status & all status changes

PlanStatusWithID

PlanStatusWithID describes the state of a given plan at a

PlanStatus

Plan status describes the state of a given plan at a

Plan

A plan describes a motion plan

PlanStep

Abstract base class for protocol messages.

ComponentState

A pose

Module Contents

viam.gen.service.motion.v1.motion_pb2.DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
class viam.gen.service.motion.v1.motion_pb2.PlanState

Bases: _PlanState

The states that a plan can be in. InProgress if the plan is executing. Stopped if the plan was stopped. Suceeded if the robot reached its destination successfully. Failed if the robot did not reach its destination.

viam.gen.service.motion.v1.motion_pb2.PLAN_STATE_UNSPECIFIED: PlanState
viam.gen.service.motion.v1.motion_pb2.PLAN_STATE_IN_PROGRESS: PlanState
viam.gen.service.motion.v1.motion_pb2.PLAN_STATE_STOPPED: PlanState
viam.gen.service.motion.v1.motion_pb2.PLAN_STATE_SUCCEEDED: PlanState
viam.gen.service.motion.v1.motion_pb2.PLAN_STATE_FAILED: PlanState
type viam.gen.service.motion.v1.motion_pb2.Global___PlanState = PlanState
class viam.gen.service.motion.v1.motion_pb2.MoveRequest(*, name: str = ..., destination: common.v1.common_pb2.PoseInFrame | None = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., world_state: common.v1.common_pb2.WorldState | None = ..., constraints: Global___Constraints | None = ..., component_name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Moves any component on the robot to a specified destination which can be from the reference frame of any other component on the robot.

name: str

Name of the motion service

component_name: str

Component on the robot to move to the specified destination

destination() common.v1.common_pb2.PoseInFrame

Destination to move to, which can a pose in the reference frame of any frame in the robot’s frame system

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

world_state() common.v1.common_pb2.WorldState

Avoid obstacles by specifying their geometries in the world state Augment the frame system of the robot by specifying additional transforms to add to it for the duration of the Move

constraints() Global___Constraints

Constrain the way the robot will move

extra() google.protobuf.struct_pb2.Struct

Additional arguments to the method

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__constraints) _WhichOneofReturnType__constraints | None
WhichOneof(oneof_group: _WhichOneofArgType__world_state) _WhichOneofReturnType__world_state | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___MoveRequest = MoveRequest
class viam.gen.service.motion.v1.motion_pb2.MoveResponse(*, success: bool = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

success: bool
type viam.gen.service.motion.v1.motion_pb2.Global___MoveResponse = MoveResponse
class viam.gen.service.motion.v1.motion_pb2.MoveOnMapRequest(*, name: str = ..., destination: common.v1.common_pb2.Pose | None = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., slam_service_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., motion_configuration: Global___MotionConfiguration | None = ..., obstacles: collections.abc.Iterable[common.v1.common_pb2.Geometry] | None = ..., component_name: str = ..., slam_service_name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str

Name of the motion service

component_name: str

Component on the robot to move to the specified destination

slam_service_name: str

Name of the slam service from which the SLAM map is requested

destination() common.v1.common_pb2.Pose

Specify a destination to, which can be any pose with respect to the SLAM map’s origin

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

slam_service_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use slam_service_name field.

motion_configuration() Global___MotionConfiguration

Optional set of motion configuration options

obstacles() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Geometry]

Obstacles to be considered for motion planning

extra() google.protobuf.struct_pb2.Struct

Additional arguments to the method

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__motion_configuration) _WhichOneofReturnType__motion_configuration | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___MoveOnMapRequest = MoveOnMapRequest
class viam.gen.service.motion.v1.motion_pb2.MoveOnMapResponse(*, execution_id: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

execution_id: str

The unique ID which identifies the execution. Multiple plans will share the same execution_id if they were generated due to replanning.

type viam.gen.service.motion.v1.motion_pb2.Global___MoveOnMapResponse = MoveOnMapResponse
class viam.gen.service.motion.v1.motion_pb2.ObstacleDetector(*, vision_service_deprecated: common.v1.common_pb2.ResourceName | None = ..., camera_deprecated: common.v1.common_pb2.ResourceName | None = ..., vision_service: str = ..., camera: str = ...)

Bases: google.protobuf.message.Message

Pairs a vision service with a camera, informing the service about which camera it may use

vision_service: str
camera: str
vision_service_deprecated() common.v1.common_pb2.ResourceName
camera_deprecated() common.v1.common_pb2.ResourceName
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___ObstacleDetector = ObstacleDetector
class viam.gen.service.motion.v1.motion_pb2.MotionConfiguration(*, obstacle_detectors: collections.abc.Iterable[Global___ObstacleDetector] | None = ..., position_polling_frequency_hz: float | None = ..., obstacle_polling_frequency_hz: float | None = ..., plan_deviation_m: float | None = ..., linear_m_per_sec: float | None = ..., angular_degs_per_sec: float | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

position_polling_frequency_hz: float

Sets the frequency to poll for the position of the robot

obstacle_polling_frequency_hz: float

Sets the frequency to poll the vision service(s) for new obstacles

plan_deviation_m: float

Sets the distance in meters that a robot is allowed to deviate from the motion plan

linear_m_per_sec: float

Optional linear velocity to target when moving

angular_degs_per_sec: float

Optional angular velocity to target when turning

obstacle_detectors() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___ObstacleDetector]

The ObstacleDetectors that will be used for transient obstacle avoidance

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__angular_degs_per_sec) _WhichOneofReturnType__angular_degs_per_sec | None
WhichOneof(oneof_group: _WhichOneofArgType__linear_m_per_sec) _WhichOneofReturnType__linear_m_per_sec | None
WhichOneof(oneof_group: _WhichOneofArgType__obstacle_polling_frequency_hz) _WhichOneofReturnType__obstacle_polling_frequency_hz | None
WhichOneof(oneof_group: _WhichOneofArgType__plan_deviation_m) _WhichOneofReturnType__plan_deviation_m | None
WhichOneof(oneof_group: _WhichOneofArgType__position_polling_frequency_hz) _WhichOneofReturnType__position_polling_frequency_hz | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___MotionConfiguration = MotionConfiguration
class viam.gen.service.motion.v1.motion_pb2.MoveOnGlobeRequest(*, name: str = ..., destination: common.v1.common_pb2.GeoPoint | None = ..., heading: float | None = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., movement_sensor_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., obstacles: collections.abc.Iterable[common.v1.common_pb2.GeoGeometry] | None = ..., motion_configuration: Global___MotionConfiguration | None = ..., bounding_regions: collections.abc.Iterable[common.v1.common_pb2.GeoGeometry] | None = ..., component_name: str = ..., movement_sensor_name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str

Name of the motion service

heading: float

Optional compass heading to achieve at the destination, in degrees [0-360)

component_name: str

Component on the robot to move to the specified destination

movement_sensor_name: str

Name of the movement sensor which will be used to check robot location

destination() common.v1.common_pb2.GeoPoint

Destination, encoded as a GeoPoint

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

movement_sensor_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use movement_sensor_name field.

obstacles() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoGeometry]

Obstacles to be considered for motion planning

motion_configuration() Global___MotionConfiguration

Optional set of motion configuration options

bounding_regions() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoGeometry]

Set of obstacles which the robot must remain within while navigating

extra() google.protobuf.struct_pb2.Struct

Additional arguments to the method

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__heading) _WhichOneofReturnType__heading | None
WhichOneof(oneof_group: _WhichOneofArgType__motion_configuration) _WhichOneofReturnType__motion_configuration | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___MoveOnGlobeRequest = MoveOnGlobeRequest
class viam.gen.service.motion.v1.motion_pb2.MoveOnGlobeResponse(*, execution_id: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

execution_id: str

The unique ID which identifies the execution. Multiple plans will share the same execution_id if they were generated due to replanning.

type viam.gen.service.motion.v1.motion_pb2.Global___MoveOnGlobeResponse = MoveOnGlobeResponse
class viam.gen.service.motion.v1.motion_pb2.GetPoseRequest(*, name: str = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., destination_frame: str = ..., supplemental_transforms: collections.abc.Iterable[common.v1.common_pb2.Transform] | None = ..., component_name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str
destination_frame: str

the reference frame in which the component’s pose should be provided, if unset this defaults to the “world” reference frame

component_name: str

the component whose pose is being requested

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

supplemental_transforms() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Transform]

pose information on any additional reference frames that are needed to compute the component’s pose

extra() google.protobuf.struct_pb2.Struct

Additional arguments to the method

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___GetPoseRequest = GetPoseRequest
class viam.gen.service.motion.v1.motion_pb2.GetPoseResponse(*, pose: common.v1.common_pb2.PoseInFrame | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

pose() common.v1.common_pb2.PoseInFrame
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___GetPoseResponse = GetPoseResponse
class viam.gen.service.motion.v1.motion_pb2.StopPlanRequest(*, name: str = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., component_name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str

The name of the motion service

component_name: str

The component of the currently executing plan to stop

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

extra() google.protobuf.struct_pb2.Struct

Additional arguments to the method

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___StopPlanRequest = StopPlanRequest
class viam.gen.service.motion.v1.motion_pb2.StopPlanResponse

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

type viam.gen.service.motion.v1.motion_pb2.Global___StopPlanResponse = StopPlanResponse
class viam.gen.service.motion.v1.motion_pb2.ListPlanStatusesRequest(*, name: str = ..., only_active_plans: bool = ..., extra: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str

The name of the motion service

only_active_plans: bool

If supplied, the response will filter the plan results for the supplied state

extra() google.protobuf.struct_pb2.Struct

Additional arguments to the method

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___ListPlanStatusesRequest = ListPlanStatusesRequest
class viam.gen.service.motion.v1.motion_pb2.ListPlanStatusesResponse(*, plan_statuses_with_ids: collections.abc.Iterable[Global___PlanStatusWithID] | None = ...)

Bases: google.protobuf.message.Message

Status of all executed / executing plan statuses with associated IDs within the 24 hour TTL

plan_statuses_with_ids() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PlanStatusWithID]

List of last known statuses with the associated IDs of all plans within the TTL ordered by timestamp in ascending order

type viam.gen.service.motion.v1.motion_pb2.Global___ListPlanStatusesResponse = ListPlanStatusesResponse
class viam.gen.service.motion.v1.motion_pb2.GetPlanRequest(*, name: str = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., last_plan_only: bool = ..., execution_id: str | None = ..., component_name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

name: str

The name of the motion service

last_plan_only: bool

If supplied, the response will only return the the last plan for the component / execution

execution_id: str

If you want to know about the plans of a previous execution

component_name: str

The name of the component which was requested to be moved.

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

extra() google.protobuf.struct_pb2.Struct

Additional arguments to the method

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__execution_id) _WhichOneofReturnType__execution_id | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___GetPlanRequest = GetPlanRequest
class viam.gen.service.motion.v1.motion_pb2.GetPlanResponse(*, current_plan_with_status: Global___PlanWithStatus | None = ..., replan_history: collections.abc.Iterable[Global___PlanWithStatus] | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

current_plan_with_status() Global___PlanWithStatus

The current plan and status that matches the request query

replan_history() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PlanWithStatus]

Returns the history of all previous plans that were generated in ascending order. This field will be empty if the motion service did not need to re-plan.

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___GetPlanResponse = GetPlanResponse
class viam.gen.service.motion.v1.motion_pb2.Constraints(*, linear_constraint: collections.abc.Iterable[Global___LinearConstraint] | None = ..., orientation_constraint: collections.abc.Iterable[Global___OrientationConstraint] | None = ..., collision_specification: collections.abc.Iterable[Global___CollisionSpecification] | None = ..., pseudolinear_constraint: collections.abc.Iterable[Global___PseudolinearConstraint] | None = ...)

Bases: google.protobuf.message.Message

Constraints specifies all enumerated constraints to be passed to Viam’s motion planning, along with any optional parameters

linear_constraint() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___LinearConstraint]

Typed message for a specific constraint

orientation_constraint() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___OrientationConstraint]
collision_specification() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___CollisionSpecification]
pseudolinear_constraint() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PseudolinearConstraint]

Arc constraint, Time constraint, and others will be added here when they are supported

type viam.gen.service.motion.v1.motion_pb2.Global___Constraints = Constraints
class viam.gen.service.motion.v1.motion_pb2.LinearConstraint(*, line_tolerance_mm: float | None = ..., orientation_tolerance_degs: float | None = ...)

Bases: google.protobuf.message.Message

LinearConstraint specifies that the component being moved should move linearly relative to its goal. It does not constrain the motion of components other than the component_name specified in motion.Move

line_tolerance_mm: float

Max linear deviation from straight-line between start and goal, in mm.

orientation_tolerance_degs: float

Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__line_tolerance_mm) _WhichOneofReturnType__line_tolerance_mm | None
WhichOneof(oneof_group: _WhichOneofArgType__orientation_tolerance_degs) _WhichOneofReturnType__orientation_tolerance_degs | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___LinearConstraint = LinearConstraint
class viam.gen.service.motion.v1.motion_pb2.PseudolinearConstraint(*, line_tolerance_factor: float | None = ..., orientation_tolerance_factor: float | None = ...)

Bases: google.protobuf.message.Message

PseudolinearConstraint specifies that the component being moved should not deviate from the straight-line path to their goal by more than a factor proportional to the distance from start to goal. For example, if a component is moving 100mm, then a LineToleranceFactor of 1.0 means that the component will remain within a 100mm radius of the straight-line start-goal path.

line_tolerance_factor: float
orientation_tolerance_factor: float
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__line_tolerance_factor) _WhichOneofReturnType__line_tolerance_factor | None
WhichOneof(oneof_group: _WhichOneofArgType__orientation_tolerance_factor) _WhichOneofReturnType__orientation_tolerance_factor | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___PseudolinearConstraint = PseudolinearConstraint
class viam.gen.service.motion.v1.motion_pb2.OrientationConstraint(*, orientation_tolerance_degs: float | None = ...)

Bases: google.protobuf.message.Message

OrientationConstraint specifies that the component being moved will not deviate its orientation beyond some threshold relative to the goal. It does not constrain the motion of components other than the component_name specified in motion.Move

orientation_tolerance_degs: float

Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__orientation_tolerance_degs) _WhichOneofReturnType__orientation_tolerance_degs | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___OrientationConstraint = OrientationConstraint
class viam.gen.service.motion.v1.motion_pb2.CollisionSpecification(*, allows: collections.abc.Iterable[Global___CollisionSpecification] | None = ...)

Bases: google.protobuf.message.Message

CollisionSpecification is used to selectively apply obstacle avoidance to specific parts of the robot

class AllowedFrameCollisions(*, frame1: str = ..., frame2: str = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

frame1: str
frame2: str
allows() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___CollisionSpecification]

Pairs of frame which should be allowed to collide with one another

type viam.gen.service.motion.v1.motion_pb2.Global___CollisionSpecification = CollisionSpecification
class viam.gen.service.motion.v1.motion_pb2.PlanWithStatus(*, plan: Global___Plan | None = ..., status: Global___PlanStatus | None = ..., status_history: collections.abc.Iterable[Global___PlanStatus] | None = ...)

Bases: google.protobuf.message.Message

Describes a plan, its current status & all status changes that have occured previously on that plan

plan() Global___Plan

The plan

status() Global___PlanStatus

The current status of the plan

status_history() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PlanStatus]

The prior status changes that have happened during plan execution

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___PlanWithStatus = PlanWithStatus
class viam.gen.service.motion.v1.motion_pb2.PlanStatusWithID(*, plan_id: str = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., execution_id: str = ..., status: Global___PlanStatus | None = ..., component_name: str = ...)

Bases: google.protobuf.message.Message

PlanStatusWithID describes the state of a given plan at a point in time plus the plan_id, component_name and execution_id the status is associated with

plan_id: str

The unique ID of the plan

execution_id: str

The unique ID which identifies the plan execution. Multiple plans will share the same execution_id if they were generated due to replanning.

component_name: str

The component to be moved. Used for tracking & stopping. NOTE: A plan may move more components than just the component_name.

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

status() Global___PlanStatus
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___PlanStatusWithID = PlanStatusWithID
class viam.gen.service.motion.v1.motion_pb2.PlanStatus(*, state: Global___PlanState = ..., timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., reason: str | None = ...)

Bases: google.protobuf.message.Message

Plan status describes the state of a given plan at a point in time

state: Global___PlanState

The state of the plan execution

reason: str

The reason for the state change. If motion plan failed this will return the error message. If motion needed to re-plan, this will return the re-plan reason.

timestamp() google.protobuf.timestamp_pb2.Timestamp

The time the executing plan transtioned to the state

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

WhichOneof(oneof_group: _WhichOneofArgType__reason) _WhichOneofReturnType__reason | None

Returns the name of the field that is set inside a oneof group.

If no field is set, returns None.

Parameters:

oneof_group (str) – the name of the oneof group to check.

Returns:

The name of the group that is set, or None.

Return type:

str or None

Raises:

ValueError – no group with the given name exists

type viam.gen.service.motion.v1.motion_pb2.Global___PlanStatus = PlanStatus
class viam.gen.service.motion.v1.motion_pb2.Plan(*, id: str = ..., component_name_deprecated: common.v1.common_pb2.ResourceName | None = ..., execution_id: str = ..., steps: collections.abc.Iterable[Global___PlanStep] | None = ..., component_name: str = ...)

Bases: google.protobuf.message.Message

A plan describes a motion plan

id: str

The plan’s unique ID

execution_id: str

The unique ID which identifies the execution. Multiple plans will share the same execution_id if they were generated due to replanning

component_name: str

The component requested to be moved. Used for tracking & stopping. NOTE: A plan may move more components than just the root component.

component_name_deprecated() common.v1.common_pb2.ResourceName

Deprecated, use component_name field.

steps() google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___PlanStep]

The steps of a plan is an ordered list of plan steps

HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___Plan = Plan
class viam.gen.service.motion.v1.motion_pb2.PlanStep(*, step: collections.abc.Mapping[str, Global___ComponentState] | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

class StepEntry(*, key: str = ..., value: Global___ComponentState | None = ...)

Bases: google.protobuf.message.Message

Abstract base class for protocol messages.

Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.

key: str
value() Global___ComponentState
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

step() google.protobuf.internal.containers.MessageMap[str, Global___ComponentState]

A step is the component state each component resource should reach while executing that step of the plan. Keys are the fully qualified component name.

type viam.gen.service.motion.v1.motion_pb2.Global___PlanStep = PlanStep
class viam.gen.service.motion.v1.motion_pb2.ComponentState(*, pose: common.v1.common_pb2.Pose | None = ...)

Bases: google.protobuf.message.Message

A pose

pose() common.v1.common_pb2.Pose
HasField(field_name: _HasFieldArgType) bool

Checks if a certain field is set for the message.

For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, ValueError will be raised.

Parameters:

field_name (str) – The name of the field to check for presence.

Returns:

Whether a value has been set for the named field.

Return type:

bool

Raises:

ValueError – if the field_name is not a member of this message.

type viam.gen.service.motion.v1.motion_pb2.Global___ComponentState = ComponentState