syntax = "proto3";

package cmvr.config;

import "cmvr/common/geometry.proto";
import "cmvr/config/touch_screen_common_config.proto";

message TouchScreenApriltagConfig {
  optional double tag_size_m = 1;
  optional TouchScreenDepthPolicy depth_policy = 2;
  optional TouchScreenTargetPointMethod target_point_method = 3;
}

message TouchScreenIbvsConfig {
  optional string camera_link = 1;
  optional double lambda = 2;
  optional double mu = 3;
  optional double qdot_max = 4;
  .cmvr.common.Vec6 vmax6 = 5;
  .cmvr.common.Vec6 amax6 = 6;
  optional double twist_filter_alpha = 7;

  optional bool enable_joint_limit_avoidance = 8;
  optional double joint_limit_avoidance_gain = 9;
  optional double joint_limit_avoidance_margin_ratio = 10;
  optional double joint_limit_avoidance_max_push = 11;

  .cmvr.common.Mat3 r_camera_to_visp = 12;
  .cmvr.common.Mat3 r_camera_to_urdf = 13;

  repeated string control_joint_names = 14;
}
