Package intrinsic_proto.motion_planning.v1
Message
CartesianBlendingParameters
Message
CheckCollisionsRequest
Message
CheckCollisionsResponse
Message
ComputeIkDebugInformation
Message
ConstraintIntersection
Message
DynamicCartesianLimits
Message
JointBlendingParameters
Message
JointConfigurationValidationResult
Message
LockMotionConfiguration
Message
MotionPlannerConfiguration
Message
RelativePositionEquality
Message
RelativeRotationEquality
Message
TrajectoryPlanningResponse
Message
UniformGeometricConstraint
Services
service MotionPlannerService intrinsic/motion_planning/proto/v1/motion_planner_service.proto
The Motion Planner Service provides motion planning and related operations,
such as kinematics and collision checking. It is used by skills such as
Move Robot and is available by thid party skills and services.
rpc PlanTrajectory
Request: intrinsic_proto.motion_planning.v1.MotionPlanningRequest
Response:
intrinsic_proto.motion_planning.v1.TrajectoryPlanningResponse
Plans a trajectory that fulfills the defined motion specification in the
MotionPlannerRequest. Requests are cached in a volatile cache, if the
service encounters identical requests it will return previously cached
solutions. The cache can be cleared by either restarting the service or
calling ClearCache.
rpc ComputeIk
Request: intrinsic_proto.motion_planning.v1.IkRequest
Response:
intrinsic_proto.motion_planning.v1.IkResponse
Computes the Inverse Kinematics (IK) for the robot, i.e. the robots joint configuration that satisfy the set of Cartesian constraints.
rpc ComputeFk
Request: intrinsic_proto.motion_planning.v1.FkRequest
Response:
intrinsic_proto.motion_planning.v1.FkResponse
Computes the Forward Kinematic (FK), i.e., the Cartesian pose of a target frame with respect to a reference, for a given joint configuration of a robot.
rpc CheckCollisions
Request: intrinsic_proto.motion_planning.v1.CheckCollisionsRequest
Response:
intrinsic_proto.motion_planning.v1.CheckCollisionsResponse
Collision-checks a specified path.
PlanTrajectory uses caching to speed up repeated similar planning calls. Clear cache for PlanTrajectory.
Messages
message BlendingParameters intrinsic/motion_planning/proto/v1/motion_blending_parameter.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | cartesian_blending |
optional
intrinsic_proto.motion_planning.v1.CartesianBlendingParameters
|
|
| 2 | joint_blending |
optional
intrinsic_proto.motion_planning.v1.JointBlendingParameters
|
message CartesianBlendingParameters intrinsic/motion_planning/proto/v1/motion_blending_parameter.proto
Blending parameters for Cartesian linear trajectory generation.
| Field | Type | Description | |
|---|---|---|---|
| 1 | translation_corner_rounding |
optional
double
|
Cartesian radius of the circular blend around a Cartesian waypoint corner. |
| 2 | rotational_corner_rounding |
optional
double
|
Radius of the circular blend around a waypoint corner (max angles-axis deviation). |
message CheckCollisionsRequest intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to be used for the collision check. |
| 2 | robot_reference |
intrinsic_proto.motion_planning.v1.RobotReference
|
Specification of what robot is being controlled. |
| 3 | waypoint |
repeated
intrinsic_proto.icon.JointVec
|
The path of the robot specified in |
| 4 | collision_settings |
intrinsic_proto.world.CollisionSettings
|
Collision settings to applied during collision checking. If not defined, the default setting with zero margin will be applied. |
message CheckCollisionsResponse intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | has_collision |
bool
|
Whether the checked path is in collision or not. |
| 2 | collision_debug_msg |
string
|
Message to help the caller understand the collision that occurred. Note, that this message only lists the first collision encountered. There may be more collisions. |
message ComputeIkDebugInformation intrinsic/motion_planning/proto/v1/compute_ik.proto
Contains debug information from inverse kinematics (IK) computations. Each message consist of a set of ik solution and each ik solution contains a joint configuration and the validation result that details which tests failed. If configuration were rejected due to collision, the collision pairs will be contained in the collision_checking_debug_info. If no ik solution are contained in the message, it usually means that no ik solution for the defined problem exist and the Cartesian pose was not reachable.
| Field | Type | Description | |
|---|---|---|---|
| 1 | ik_solutions |
repeated
intrinsic_proto.motion_planning.v1.IkSolution
|
All joint configuration of an IK computation and their respective validation results. |
message ConstraintIntersection intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Satisfied if all of the contained constraints are satisfied.
| Field | Type | Description | |
|---|---|---|---|
| 1 | constraints |
repeated
intrinsic_proto.motion_planning.v1.GeometricConstraint
|
Set of constraints that must be jointly satisfied |
message DynamicCartesianLimits intrinsic/motion_planning/proto/v1/motion_planning_limits.proto
| Field | Type | Description | |
|---|---|---|---|
| 2 | max_rotational_velocity |
optional
double
|
Maximum Cartesian rotational velocity. If not specified, the default value defined in the robot limits will be used. |
| 3 | max_translational_velocity |
optional
double
|
Maximum Cartesian translational velocity. The value defines the max translational velocity in the x, y, and z axis. If not specified, the default value defined in the robot limits will be used. |
| 4 | max_rotational_acceleration |
optional
double
|
Maximum Cartesian rotational acceleration limits. If not specified, the default value defined in the robot limits will be used. |
| 5 | max_translational_acceleration |
optional
double
|
Maximum Cartesian translational acceleration limits. The value defines the max translational acceleration in the x, y, and z axis. If not specified, the default value defined in the robot limits will be used. |
message FkRequest intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to be used for the Forward Kinematic (FK) computation. |
| 2 | joints |
intrinsic_proto.icon.JointVec
|
Joints to set for the robot. If not set, the current position in the world will be used. |
| 3 | robot_reference |
intrinsic_proto.motion_planning.v1.RobotReference
|
Specification of what robot is being controlled. |
| 4 | reference |
intrinsic_proto.world.TransformNodeReference
|
The reference frame for which the Cartesian pose is computed. The returned
transform is reference_t_target, i.e. the frame of |
| 5 | target |
intrinsic_proto.world.TransformNodeReference
|
The target frame for which the Cartesian pose is computed. The returned
transform is reference_t_target, i.e. the frame of |
message FkResponse intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 3 | reference_t_target |
intrinsic_proto.Pose
|
Cartesian pose of the |
message GeometricConstraint intrinsic/motion_planning/proto/v1/geometric_constraints.proto
message IkRequest intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to be used for Inverse Kinemetics (IK) computation. |
| 2 | target |
intrinsic_proto.motion_planning.v1.GeometricConstraint
|
The Cartesian motion target constraint for which we want to compute a joint configuration that satisfies those constraints. |
| 3 | starting_joints |
intrinsic_proto.icon.JointVec
|
[Optional] Joint configuration, used to seed the Ik. If not set, the current position in the world will be used. |
| 4 | robot_reference |
intrinsic_proto.motion_planning.v1.RobotReference
|
Specification of what robot is being controlled. |
| 5 | max_num_solutions |
int32
|
The maximum number of solutions to be returned. If not set (== 0), the underlying implementation has the freedom to choose. Negative values are invalid. Choosing a smaller value may make some implementations faster, but this depends on the underlying implementation and is not guaranteed. |
| 6 | collision_settings |
intrinsic_proto.world.CollisionSettings
|
If this field is left unset, no collision checking will take place. Otherwise, only collision-free solutions are returned. |
| 7 | ensure_same_branch |
optional
bool
|
Specify whether to compute an IK solution which is on the same kinematic
branch as the |
| 9 | prefer_same_branch |
optional
bool
|
Optional same branch Ik flag that will prefer solutions on the same
kinematic branch over those close to the |
| 10 | disable_error_on_collisions |
optional
bool
|
Optional flag to disable setting the error status when there are no valid solutions due to collisions. When false, the request will fail if no collision free solution is found. When true, the request will succeed even if no collision free solution is found. This is useful when accessing the collision debug information. Defaults to false. |
message IkResponse intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | solutions |
repeated
intrinsic_proto.icon.JointVec
|
Robot joint configuration that satisfy the Cartesian target constraint
specified in the request. Solutions will be sorted by distance away from
the joint values in the request. If |
| 2 | ik_debug_information |
intrinsic_proto.motion_planning.v1.ComputeIkDebugInformation
|
Contains the debug information from the IK call. This includes all solutions generated from the IK solver and their validation results. It informs a user why specific configurations were excluded from the results. In case of collision, it also provides the collision information to identify the objects in collision. |
message IkSolution intrinsic/motion_planning/proto/v1/compute_ik.proto
Contains a joint configuration and the validation result that details which tests failed. If configuration were rejected due to collision, the collision pairs will be contained in the collision_checking_debug_info.
| Field | Type | Description | |
|---|---|---|---|
| 1 | joint_configuration |
intrinsic_proto.icon.JointVec
|
|
| 2 | validation_result |
intrinsic_proto.motion_planning.v1.JointConfigurationValidationResult
|
|
| 3 | collision_checking_debug_info |
intrinsic_proto.world.CollisionCheckingDebugInformation
|
message JointBlendingParameters intrinsic/motion_planning/proto/v1/motion_blending_parameter.proto
Single waypoints blending parameter that apply to all joint configuration way points.
| Field | Type | Description | |
|---|---|---|---|
| 1 | desired_tightness_rad |
optional
double
|
Quantifies how closely the blend must pass by the joint configuration waypoint. It can be interpreted as the coordinate-wise distance at which the blending arc begins. |
message JointConfigurationValidationResult intrinsic/motion_planning/proto/v1/compute_ik.proto
Encapsulates all validation results that can be used to validate a joint configuration.
| Field | Type | Description | |
|---|---|---|---|
| 1 | collision_validity_check |
intrinsic_proto.motion_planning.v1.JointConfigurationValidationResult.ValidationStatus
|
Defines the result of a collision check. VIOLATED means that a collision was detected. VALID means that no collision was detected. |
| 2 | limit_validity_check |
intrinsic_proto.motion_planning.v1.JointConfigurationValidationResult.ValidationStatus
|
Defines the result of a joint limit validation check. VIOLATED means that the joint configuration was outside the defined joint limits. |
| 3 | constraint_validatity_check |
intrinsic_proto.motion_planning.v1.JointConfigurationValidationResult.ValidationStatus
|
Defines the result of a geometric constraint validation check. VIOLATED means that the joint configuration did not satisfy the defined constraints. |
message JointIds intrinsic/motion_planning/proto/v1/geometric_constraints.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | joint_ids |
repeated
uint32
|
message JointLimitsUpdate intrinsic/motion_planning/proto/v1/motion_planning_limits.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | min_position |
optional
intrinsic_proto.RepeatedDouble
|
Lower joint position limits allow to restrict the robot joint movement in joint space. Each joint of the robot has lower (min) and upper (max) limits. The specified limits need to be within the robot application limits. |
| 2 | max_position |
optional
intrinsic_proto.RepeatedDouble
|
Upper joint position limits allow to restrict the robot joint movement in joint space. Each joint of the robot has lower (min) and upper (max) limits. The specified limits need to be within the robot application limits. |
| 3 | max_velocity |
optional
intrinsic_proto.RepeatedDouble
|
Maximum joint velocity limits per joint. Units are in radians or degrees per second. When not specified, the application limits of the robot will be used. |
| 4 | max_acceleration |
optional
intrinsic_proto.RepeatedDouble
|
Max joint acceleration limits per joint. Units are in radians or degrees per second^2. When not specified, the acceleration limits from the robot application limits will be used. |
| 5 | max_jerk |
optional
intrinsic_proto.RepeatedDouble
|
Maximum joint jerk limits for the robot. Units are in radians or degrees per second^3. When not specified, the jerk limits from the robot application limits will be used. |
message JointPositionEquality intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires one or more joints to have the given positions
| Field | Type | Description | |
|---|---|---|---|
| 3 | joint_positions |
intrinsic_proto.icon.JointVec
|
The desired position, one element per joint. |
|
oneof joint_group
|
|||
| 1 | object_id |
intrinsic_proto.world.ObjectReference
|
|
message JointPositionLimits intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Defines lower and upper bounds on the positions of joints (e.g. for a robot).
| Field | Type | Description | |
|---|---|---|---|
| 3 | lower_limits |
repeated
double
|
Either one element per joint or empty, in which case the limits default to
those defined in the |
| 4 | upper_limits |
repeated
double
|
Either one element per joint or empty, in which case the limits default to
those defined in the |
|
oneof joint_group
|
|||
| 1 | object_id |
intrinsic_proto.world.ObjectReference
|
|
message JointPositionSumLimit intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Defines the limit on the squared of the sum of several selected joints' position.
| Field | Type | Description | |
|---|---|---|---|
| 3 | joint_signs |
repeated
intrinsic_proto.motion_planning.v1.JointPositionSumLimit.JointSign
|
A vector that indicates the signs of the joint positions in their sum
combination. For example, if we want to express the constraint |
| 4 | joint_sum_limit |
double
|
The positive square root of the limit on the squared of the sum combination
of the joint positions. For an example, please see the comment on
|
|
oneof joint_group
|
|||
| 1 | object_id |
intrinsic_proto.world.ObjectReference
|
|
| 2 | joint_ids |
intrinsic_proto.motion_planning.v1.JointIds
|
|
message LoadMotionCommand (Nested in intrinsic_proto.motion_planning.v1.LockMotionConfiguration ) intrinsic/motion_planning/proto/v1/motion_planner_config.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | motion_id |
string
|
The motion id to load. |
| 2 | replan_motion_segment_ids |
repeated
uint32
|
The motion segments to replan. |
message LockMotionConfiguration intrinsic/motion_planning/proto/v1/motion_planner_config.proto
Contains lock motion specific configurations.
| Field | Type | Description | |
|---|---|---|---|
|
oneof command
|
|||
| 1 | save_motion_command |
intrinsic_proto.motion_planning.v1.LockMotionConfiguration.SaveMotionCommand
|
|
| 2 | load_motion_command |
intrinsic_proto.motion_planning.v1.LockMotionConfiguration.LoadMotionCommand
|
|
message MotionPlannerConfiguration intrinsic/motion_planning/proto/v1/motion_planner_config.proto
Contains motion planning specific configurations.
| Field | Type | Description | |
|---|---|---|---|
| 1 | timeout_sec |
optional
google.protobuf.Duration
|
Maximum time in seconds available for motion planning. Default is 180 seconds. |
| 3 | lock_motion_configuration |
optional
intrinsic_proto.motion_planning.v1.LockMotionConfiguration
|
Configuration for saving or loading this motion. |
| 4 | path_planning_step_size |
optional
double
|
|
| 5 | skip_fuzzy_cache_check |
optional
bool
|
If true, the cache will not check for fuzzy matches. Default to false. |
message MotionPlanningRequest intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | world_id |
string
|
The id of the world to be used for motion planning. |
| 2 | robot_specification |
intrinsic_proto.motion_planning.v1.RobotSpecification
|
Defines the robot for which the motion is planned and its parameters. |
| 3 | motion_specification |
intrinsic_proto.motion_planning.v1.MotionSpecification
|
Specifies the motion planning problem to be solved. |
| 4 | motion_planner_config |
optional
intrinsic_proto.motion_planning.v1.MotionPlannerConfiguration
|
Planner specific configuration. Default will set a timeout of 90 seconds for the motion planning request. |
| 5 | compute_swept_volume |
bool
|
If set, a successful plan will also include the swept volume occupied by the robot while performing the motion. |
| 6 | caller_id |
optional
string
|
An ID for identifying which skill/service sends this request. |
| 7 | context |
optional
intrinsic_proto.data_logger.Context
|
The logging context for the skill sending the request. |
| 10 | snapshot_world_id |
string
|
This id should be set ONLY by the motion planning service, and ONLY for the
purpose of logging.
As worlds are mutable, we should not assume that the world of |
message MotionSegment intrinsic/motion_planning/proto/v1/motion_specification.proto
| Field | Type | Description | |
|---|---|---|---|
| 3 | path_constraints |
optional
intrinsic_proto.motion_planning.v1.UniformGeometricConstraint
|
Specifies geometric constraints that will be applied to the motion of the robot. This will also add the constraint to the start and end configuration of the robot. |
| 5 | target |
intrinsic_proto.motion_planning.v1.GeometricConstraint
|
The motion target of the segment defines the final robot configuration for this segment. The target is defined as a set of constraints that can be specified in terms of either joint position or Cartesian constraints like a pose. |
| 15 | motion_type |
intrinsic_proto.motion_planning.v1.MotionSegment.MotionType
|
Allows setting the motion type. ANY is the default motion type that enables arbitrary collision free paths in configuration space. LINEAR enforces Cartesian linear trajectories. JOINT enforces joint space interpolation. A planning failure error will be returned if a motion cannot be found of the given type. |
| 16 | collision_settings |
optional
intrinsic_proto.world.CollisionSettings
|
Local collision settings for the individual segments. If not defined, segment will use the global collision settings if defined or the default collision settings with zero margin if none are set. |
| 17 | joint_limits |
optional
intrinsic_proto.motion_planning.v1.JointLimitsUpdate
|
Robot joint limits that allow to update the lower and upper position limits, velocity, acceleration, and jerk for the motion segment. If not defined, the application limits of the robot will be used. |
| 18 | cartesian_limits |
optional
intrinsic_proto.motion_planning.v1.DynamicCartesianLimits
|
Cartesian limit constraints allow to restrict the Cartesian velocity and acceleration of the robot motion. If not defined, the default limits defined for the robot will be used for Cartesian linear motions and unlimited limits will be used for all other motions. The limit constraints apply to the origin of the moving frame defined in the motion target. |
message MotionSpecification intrinsic/motion_planning/proto/v1/motion_specification.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | motion_segments |
repeated
intrinsic_proto.motion_planning.v1.MotionSegment
|
The motion is divided into segments, where each motion segment defines a single motion target as well as optional path and dynamic limit constraints. Note: Currently it is not possible to combine motion segments with linear Cartesian motion requirements with those without linear Cartesian motion requirement. We also do not currently support different joint limits for different segments. |
| 3 | curve_parameters |
optional
intrinsic_proto.motion_planning.v1.BlendingParameters
|
The curve waypoint fitting parameters that will be applied during trajectory generation if multiple motion segments have been defined. Use Cartesian blending parameter for linear Cartesian motion requests and joint blending parameter otherwise. |
message PathConstraint intrinsic/motion_planning/proto/v1/motion_specification.proto
| Field | Type | Description | |
|---|---|---|---|
| 1 | collision_settings |
optional
intrinsic_proto.world.CollisionSettings
|
Local collision settings for the individual segments. If not defined, segment will use the global collision settings if defined or the default collision settings with zero margin if none are set. |
| 5 | uniform_geometric_constraint |
optional
intrinsic_proto.motion_planning.v1.UniformGeometricConstraint
|
Specifies geometric constraints that will be applied to the motion of the robot. |
| 6 | motion_type |
optional
intrinsic_proto.motion_planning.v1.MotionSegment.MotionType
|
Allows setting the motion type. ANY is the default motion type that enables arbitrary collision free paths in configuration space. LINEAR enforces Cartesian linear trajectories. JOINT enforces joint space interpolation. A planning failure error will be returned if a motion cannot be found of the given type. |
message PointAt intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Constrains a point and axis attached to moving_frame to point at target
point.
Increase tolerance to reduce the required precision. This may increase the
number of possible solutions. This is especially useful if the constraint is
used as a path constraint.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for |
| 3 | moving_axis |
optional
intrinsic_proto.Point
|
Axis used as direction from |
| 4 | moving_frame_offset |
optional
intrinsic_proto.Point
|
The point defined relative to |
| 5 | target_frame_offset |
optional
intrinsic_proto.Point
|
The point defined relative to |
| 6 | tolerance |
optional
double
|
The maximum distance between the closest point of the ray and the target
point represented by the |
| 7 | min_distance |
optional
double
|
The minimum distance between the |
| 8 | max_distance |
optional
double
|
The maximum distance between the |
message PoseEquality intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires moving_frame and target_frame to have a fixed relative pose at
the end pose.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Moving frame that will be constrained to have a fixed relative pose to the reference frame. This typically is a tool or tip frame. |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Reference frame that will be constrained to have fixed relative pose to the moving frame. For relative motions this typically equals the moving frame. For absolute motions it can be any useful reference frame. |
| 3 | target_frame_offset |
optional
intrinsic_proto.Pose
|
The required relative pose between |
message PositionBoundingBox intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Constrains a point attached to moving_frame to remain within a bounding
box of positions defined in the target_frame. This constraint does not
limit the rotation between the frames.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for bounding box. This must be the base of a kinematic chain leading to moving_frame, with >= one non-fixed DOF between them in the kinematic chain. |
| 3 | moving_frame_offset |
optional
intrinsic_proto.Point
|
The point defined relative to |
| 4 | target_bounding_box_center |
optional
intrinsic_proto.Pose
|
Defines the center position and rotation of the bounding box relative
to the |
| 5 | lower_bounds |
optional
intrinsic_proto.Point
|
Defines the (x, y, z) lower bounds in the center frame (i.e., defines a corner of the bounding box). If not set, defaults to having no lower bound, so the bounding box extends to -infinity in every dimension. Elements of the point may also be -infinity to indicate that there is no lower bound on a particular dimension. |
| 6 | upper_bounds |
optional
intrinsic_proto.Point
|
Defines the (x, y, z) upper bounds in the center frame (i.e., defines a corner of the bounding box). If not set, defaults to having no upper bound, so the bounding box extends to +infinity in every dimension. Elements of the point may also be +infinity to indicate that there is no upper bound on a particular dimension. |
message PositionEllipsoid intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires a point attached to moving_frame to remain within an ellipsoid
of positions defined in the target_frame. This constraint does not limit
the rotation between the frames. The ellipsoid half-axes are defined with
respect to the ellipsoid center frame, which may be translated and rotated
relative to the target_frame.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Reference frame for the ellipsoid. |
| 3 | rx |
double
|
The x-radius of the ellipsoid |
| 4 | ry |
optional
double
|
The y-radius of the ellipsoid. If unset, defaults to |
| 5 | rz |
optional
double
|
The z-radius of the ellipsoid. If unset, defaults to |
| 6 | moving_frame_offset |
optional
intrinsic_proto.Point
|
The point defined relative to |
| 7 | target_ellipsoid_center |
optional
intrinsic_proto.Pose
|
Defines the center position and rotation of the ellipsoid relative to
the |
message PositionEquality intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires a point attached to moving_frame to have the same position as
a point attached to the target_frame, regardless of the orientation of
the frames.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for |
| 3 | moving_frame_offset |
optional
intrinsic_proto.Point
|
The point attached to |
| 4 | target_frame_offset |
optional
intrinsic_proto.Point
|
The point attached to the |
message PositionFrustum intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires a point attached to moving_frame to remain within a frustum of
positions defined in the target_frame. A frustum is a truncated pyramid
in which its tip is cut off by a plane parallel to its base. Frustums can
represent the field of view of some cameras. The frustum extends from its tip
in the +z direction in the target_frame with its tip at the origin.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Reference frame for the frustrum. |
| 3 | x_angle |
double
|
Angle between frustrum surface plane and x-z plane |
| 4 | y_angle |
double
|
Angle between frustrum surface plane and y-z plane |
| 5 | moving_frame_offset |
optional
intrinsic_proto.Point
|
The point defined relative to |
| 6 | min_z_distance |
optional
double
|
The distance in meters between the origin of the |
| 7 | max_z_distance |
optional
double
|
The distance in meters between the origin of the |
message RelativePoseEquality intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires moving_frame to translate and rotate by relative_pose from its
starting pose. By default, relative_pose is with respect to starting pose
of moving_frame. If optional field reference_frame is set,
relative_pose is with respect to reference_frame.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Moving frame that will be constrained to a new pose that is offset by
|
| 2 | relative_pose |
intrinsic_proto.Pose
|
The pose offset to apply to the pose of moving_frame. By default, this is
relative to the pose of |
| 3 | reference_frame |
optional
intrinsic_proto.world.TransformNodeReference
|
Optional frame that can be used as a reference for |
message RelativePositionEquality intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires a point attached to moving_frame to translate by
relative_position from its starting position. By default,
relative_position is with respect to starting orientation of
moving_frame. If optional field reference_frame is set,
relative_position is with respect to reference_frame.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Moving frame that will be constrained to a new position that is offset by
|
| 2 | relative_position |
intrinsic_proto.Point
|
The translation to apply to position of moving_frame. By default, this is
relative to the orientation of |
| 3 | reference_frame |
optional
intrinsic_proto.world.TransformNodeReference
|
Optional frame that can be used as a reference for
|
| 4 | moving_frame_offset |
optional
intrinsic_proto.Point
|
The point attached to |
message RelativeRotationEquality intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires moving_frame to rotate by relative_rotation from its starting
pose. By default, relative_rotation is with respect to starting orientation
of moving_frame. If optional field reference_frame is set,
relative_rotation is with respect to reference_frame.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Moving frame that will be constrained to a new orientation that is offset
by |
| 2 | relative_rotation |
intrinsic_proto.Quaternion
|
The rotation to apply to orientation of moving_frame. By default, this is
relative to the orientation of |
| 3 | reference_frame |
optional
intrinsic_proto.world.TransformNodeReference
|
Optional frame that can be used as a reference for
|
message RobotReference intrinsic/motion_planning/proto/v1/robot_specification.proto
| Field | Type | Description | |
|---|---|---|---|
|
oneof robot_reference
|
|||
| 1 | object_id |
intrinsic_proto.world.ObjectReference
|
Must have ObjectType==ROBOT_PART. |
message RobotSpecification intrinsic/motion_planning/proto/v1/robot_specification.proto
Contains all relevant information to identify the robot that is being controlled and sets robot specific parameters used for planning.
| Field | Type | Description | |
|---|---|---|---|
| 1 | robot_reference |
intrinsic_proto.motion_planning.v1.RobotReference
|
Specification of what robot is being controlled. |
| 2 | start_configuration |
optional
intrinsic_proto.icon.JointVec
|
Starting joint configuration of the robot. If not set, the current position in the world will be used. |
message RotationBall intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires moving_frame and target_frame to have a relative rotation
that is within a given angular distance from a given rotation.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Moving frame that will be constrained to have relative rotation to the reference frame that is within some angular offset of a given rotation. |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Reference frame that will be constrained to have a relative rotation to the moving frame that is within some angular offset of a given rotation. |
| 3 | rotation_offset |
optional
intrinsic_proto.Quaternion
|
The required relative rotation between |
| 4 | angular_radius |
double
|
The radius of the ball. This is an upper bound on the
angular distance between |
message RotationCone intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires an axis defined in moving_frame to be rotated within a maximum
angle from an axis defined in the target_frame. Does not constrain the
positions of the frames. Axes are directional, so inverting an axis results
in a different rotation cone.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for the moving axis that will be constrained to lie within the cone. |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Frame for the reference axis that is the center of the cone. |
| 3 | moving_axis |
intrinsic_proto.Vector3
|
The direction of the axis in |
| 4 | target_axis |
optional
intrinsic_proto.Vector3
|
The direction of the axis in the |
| 5 | cone_opening_half_angle |
optional
double
|
The maximum absolute angle from which the axes are allowed to
deviate from parallel. This is equivalent to half of the opening angle of
the cone formed from all allowed positions of |
message RotationEquality intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Requires moving_frame and target_frame to have a fixed relative
rotation. Does not constrain their positions.
| Field | Type | Description | |
|---|---|---|---|
| 1 | moving_frame |
intrinsic_proto.world.TransformNodeReference
|
Moving frame that will be constrained to have a fixed relative rotation to the reference frame. |
| 2 | target_frame |
intrinsic_proto.world.TransformNodeReference
|
Reference frame that will be constrained to have a fixed relative rotation to the moving frame. |
| 3 | rotation_offset |
optional
intrinsic_proto.Quaternion
|
The required rotation between |
message SaveMotionCommand (Nested in intrinsic_proto.motion_planning.v1.LockMotionConfiguration ) intrinsic/motion_planning/proto/v1/motion_planner_config.proto
| Field | Type | Description |
|---|
message TrajectoryPlanningResponse intrinsic/motion_planning/proto/v1/motion_planner_service.proto
| Field | Type | Description | |
|---|---|---|---|
| 2 | swept_volume |
repeated
intrinsic_proto.geometry.TransformedGeometryStorageRefs
|
If requested, these shapes represent the swept volume generated by the input robot performing the computed trajectory. |
| 3 | lock_motion_id |
optional
string
|
If the motion is locked based on the request, this is the id of the motion for loading later. Note this field is not set if this response is from loading a locked motion. |
| 4 | logging_id |
string
|
Logging id generated for this request. Can be used to retrieve details about the request for debugging. |
|
oneof trajectory
|
|||
| 1 | discretized |
intrinsic_proto.icon.JointTrajectoryPVA
|
The computed discretized trajectory that can be executed by the input robot. |
message UniformGeometricConstraint intrinsic/motion_planning/proto/v1/geometric_constraints.proto
| Field | Type | Description | |
|---|---|---|---|
|
oneof constraint
|
|||
| 3 | rotation_cone |
intrinsic_proto.motion_planning.v1.RotationCone
|
|
| 4 | uniform_geometric_constraint_intersection |
intrinsic_proto.motion_planning.v1.UniformGeometricConstraintIntersection
|
|
| 5 | position_bounding_box |
intrinsic_proto.motion_planning.v1.PositionBoundingBox
|
|
| 6 | joint_position_sum_limit |
intrinsic_proto.motion_planning.v1.JointPositionSumLimit
|
|
| 7 | point_at |
intrinsic_proto.motion_planning.v1.PointAt
|
|
message UniformGeometricConstraintIntersection intrinsic/motion_planning/proto/v1/geometric_constraints.proto
Satisfied if all of the contained constraints are satisfied.
| Field | Type | Description | |
|---|---|---|---|
| 1 | constraints |
repeated
intrinsic_proto.motion_planning.v1.UniformGeometricConstraint
|
Set of constraints that must be jointly satisfied |
Enums
enum JointSign intrinsic/motion_planning/proto/v1/geometric_constraints.proto
| Name | Number | Description |
|---|---|---|
UNSPECIFIED |
0 | means zero |
POSITIVE |
1 | means +1 multiplier |
NEGATIVE |
2 | means -1 multiplier |
enum MotionType intrinsic/motion_planning/proto/v1/motion_specification.proto
| Name | Number | Description |
|---|---|---|
ANY |
0 | |
LINEAR |
1 | |
JOINT |
2 |
enum ValidationStatus intrinsic/motion_planning/proto/v1/compute_ik.proto
| Name | Number | Description |
|---|---|---|
UNKNOWN |
0 | Means validation test was not performed and is unknown. |
VIOLATED |
1 | |
VALID |
2 |