Skip to content

RSDK-11061 move GetPose from the Motion service API to robot API #713

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 40 additions & 12 deletions proto/viam/robot/v1/robot.proto
Original file line number Diff line number Diff line change
Expand Up @@ -44,18 +44,6 @@ service RobotService {
option (google.api.http) = {get: "/viam/api/v1/module_models"};
}

rpc FrameSystemConfig(FrameSystemConfigRequest) returns (FrameSystemConfigResponse) {
option (google.api.http) = {get: "/viam/api/v1/frame_system/config"};
}

rpc TransformPose(TransformPoseRequest) returns (TransformPoseResponse) {
option (google.api.http) = {get: "/viam/api/v1/frame_system/transform_pose"};
}

rpc TransformPCD(TransformPCDRequest) returns (TransformPCDResponse) {
option (google.api.http) = {get: "/viam/api/v1/frame_system/transform_pcd"};
}

// GetStatus returns the list of all statuses requested. An empty request signifies all resources.
rpc GetStatus(GetStatusRequest) returns (GetStatusResponse) {
option (google.api.http) = {get: "/viam/api/v1/status"};
Expand Down Expand Up @@ -122,6 +110,28 @@ service RobotService {
rpc ListTunnels(ListTunnelsRequest) returns (ListTunnelsResponse) {
option (google.api.http) = {get: "/viam/api/v1/list_tunnels"};
}

// The below methods constitute the methods accessible to modules as part of the FrameSystem service.

// FrameSystemConfig returns the information relevant to building the robot's frame system.
rpc FrameSystemConfig(FrameSystemConfigRequest) returns (FrameSystemConfigResponse) {
option (google.api.http) = {get: "/viam/api/v1/frame_system/config"};
}

// GetPose returns the pose of a component in a desired referenceframe.
rpc GetPose(GetPoseRequest) returns (GetPoseResponse) {
option (google.api.http) = {get: "/viam/api/v1/frame_system/pose"};
}

// TransformPose returns a pose in one referenceframe in a desired referenceframe.
rpc TransformPose(TransformPoseRequest) returns (TransformPoseResponse) {
option (google.api.http) = {get: "/viam/api/v1/frame_system/transform_pose"};
}

// TransformPose returns a point cloud in one referenceframe in a desired referenceframe.
rpc TransformPCD(TransformPCDRequest) returns (TransformPCDResponse) {
option (google.api.http) = {get: "/viam/api/v1/frame_system/transform_pcd"};
}
}

message TunnelRequest {
Expand Down Expand Up @@ -425,3 +435,21 @@ message GetVersionResponse {

string api_version = 3;
}

message GetPoseRequest {
// the component whose pose is being requested
string component_name = 1;
// the reference frame in which the component's pose
// should be provided, if unset this defaults
// to the "world" reference frame
string destination_frame = 2;
// pose information on any additional reference frames that are needed
// to compute the component's pose
repeated common.v1.Transform supplemental_transforms = 3;
// Additional arguments to the method
google.protobuf.Struct extra = 99;
}

message GetPoseResponse {
common.v1.PoseInFrame pose = 1;
}
3 changes: 3 additions & 0 deletions proto/viam/service/motion/v1/motion.proto
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ service MotionService {

rpc GetPose(GetPoseRequest) returns (GetPoseResponse) {
option (google.api.http) = {get: "/viam/api/v1/service/motion/{name}/pose"};
option deprecated = true;
}

// Stops a Plan
Expand Down Expand Up @@ -160,6 +161,7 @@ message MoveOnGlobeResponse {
}

message GetPoseRequest {
option deprecated = true;
string name = 1;
// the component whose pose is being requested
common.v1.ResourceName component_name = 2;
Expand All @@ -175,6 +177,7 @@ message GetPoseRequest {
}

message GetPoseResponse {
option deprecated = true;
common.v1.PoseInFrame pose = 1;
}

Expand Down
Loading