|
8 | 8 | from typing_extensions import TypeAlias |
9 | 9 |
|
10 | 10 | from viam.proto.common import GeoGeometry, Geometry, GeoPoint, Pose, PoseInFrame, ResourceName, Transform, WorldState |
11 | | -from viam.proto.service.motion import Constraints, GetPlanResponse, MotionConfiguration, PlanStatusWithID |
| 11 | +from viam.proto.service.motion import Constraints, GetPlanResponse, MotionConfiguration, PlanStatusWithID, PseudolinearConstraint |
12 | 12 | from viam.resource.types import API, RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE |
13 | 13 | from viam.utils import ValueTypes |
14 | 14 |
|
@@ -75,7 +75,15 @@ async def move( |
75 | 75 | world_state (viam.proto.common.WorldState): When supplied, the motion service will create a plan that obeys any constraints |
76 | 76 | expressed in the WorldState message. |
77 | 77 | constraints (viam.proto.service.motion.Constraints): When supplied, the motion service will create a plan that obeys any |
78 | | - specified constraints. |
| 78 | + specified constraints. These can include: |
| 79 | + - LinearConstraint: Specifies that the component being moved should move linearly relative to its goal. |
| 80 | + - OrientationConstraint: Specifies that the component being moved will not deviate its orientation beyond some threshold |
| 81 | + relative to the goal. |
| 82 | + - CollisionSpecification: Used to selectively apply obstacle avoidance to specific parts of the robot. |
| 83 | + - PseudolinearConstraint: Specifies that the component being moved should not deviate from the straight-line path to their |
| 84 | + goal by more than a factor proportional to the distance from start to goal. For example, if a component is moving 100mm, |
| 85 | + then a LineToleranceFactor of 1.0 means that the component will remain within a 100mm radius of the straight-line |
| 86 | + start-goal path. |
79 | 87 |
|
80 | 88 | Returns: |
81 | 89 | bool: Whether the move was successful. |
|
0 commit comments