119 lines
3.9 KiB
Plaintext
119 lines
3.9 KiB
Plaintext
touch_screen_task {
|
||
id: "touch_screen"
|
||
# 是否在外部相机编码后的 gRPC 视频流中绘制 G/H 坐标系,仅影响显示帧;未配置时默认开启。
|
||
debug_draw_coordinate_frames: true
|
||
# G/H 坐标轴长度,单位为米。
|
||
debug_coordinate_axis_length_m: 0.02
|
||
|
||
devices {
|
||
arm_id: "right_arm"
|
||
dexhand_id: "paxini_tip_1"
|
||
# 手部相机和外部相机的 DeviceManager ID。
|
||
camera_id: "right_hand_cam"
|
||
external_camera_id: "left_hand_cam"
|
||
}
|
||
|
||
initialization {
|
||
before_start: false
|
||
after_finish: true
|
||
joint_positions { joint_name: "R_SHOULDER_P" rad: -0.338732 }
|
||
joint_positions { joint_name: "R_SHOULDER_R" rad: 1.265943 }
|
||
joint_positions { joint_name: "R_SHOULDER_Y" rad: 1.572396 }
|
||
joint_positions { joint_name: "R_ELBOW_R" rad: 1.5464 }
|
||
joint_positions { joint_name: "R_WRIST_P" rad: -2.8179 }
|
||
joint_positions { joint_name: "R_WRIST_Y" rad: 0.1105 }
|
||
joint_positions { joint_name: "R_WRIST_R" rad: 0.1347 }
|
||
velocity: 1.0
|
||
acceleration: 2.0
|
||
# 当前关节位置误差小于该值时跳过初始化 MoveJ,单位为弧度。
|
||
skip_position_tolerance_rad: 0.01
|
||
# 当前关节速度小于该值时才允许跳过初始化 MoveJ,单位为弧度/秒。
|
||
skip_velocity_tolerance_rad_s: 0.1
|
||
}
|
||
|
||
perception {
|
||
# 屏幕 Tag G 与手部 Tag H 的 ID 和物理边长,单位为米。
|
||
tags {
|
||
screen {
|
||
id: 14
|
||
size_m: 0.016
|
||
}
|
||
hand {
|
||
id: 16
|
||
size_m: 0.016
|
||
}
|
||
}
|
||
# 手部相机:用于点击目标点和手部目标跟踪。
|
||
hand_camera {
|
||
depth_policy: TOUCH_SCREEN_DEPTH_POLICY_NONE
|
||
target_point_method: TOUCH_SCREEN_TARGET_POINT_METHOD_TAG_PLANE
|
||
}
|
||
}
|
||
|
||
alignment {
|
||
calibration {
|
||
# TCP P 相对于 Hand Tag H 的目标姿态
|
||
hand_tag_to_tcp {
|
||
m00: 1.0 m01: 0.0 m02: 0.0 m03: 0.035
|
||
m10: 0.0 m11: 0.0 m12: -1.0 m13: 0.09
|
||
m20: 0.0 m21: 1.0 m22: 0.0 m23: -0.18
|
||
m30: 0.0 m31: 0.0 m32: 0.0 m33: 1.0
|
||
}
|
||
}
|
||
pbvs {
|
||
position_gain { x: 1.0 y: 2.0 z: 1.0 }
|
||
rotation_gain { x: 1.0 y: 1.5 z: 1.0 }
|
||
vmax6 { x: 0.04 y: 0.04 z: 0.04 rx: 0.050 ry: 0.050 rz: 0.050 }
|
||
amax6 { x: 0.80 y: 0.80 z: 0.80 rx: 2.0 ry: 2.0 rz: 2.0 }
|
||
twist_filter_alpha: 1.0
|
||
}
|
||
target {
|
||
# Hand Tag H 相对于屏幕 Tag G 的目标姿态,单位为弧度。
|
||
# rx、ry、rz 表示绕固定 G 坐标轴 X、Y、Z 依次旋转。
|
||
# 旋转组合为 R_G_H = Rz(rz) * Ry(ry) * Rx(rx)。
|
||
# PBVS 会结合上面的 T_H_P 将该目标转换为 TCP P 的目标姿态。
|
||
hand_orientation_G { rx: 0.0 ry: 0.0 rz: -1.57 }
|
||
# 点击目标点到 TCP 预对齐位置的偏移,表达在 G 坐标系,单位为米。
|
||
position_offset_G { x: 0.0 y: 0.0 z: 0.00 }
|
||
mode: TOUCH_SCREEN_ALIGN_MODE_RX_RY_AND_POSITION
|
||
}
|
||
error_threshold {
|
||
x: 0.005
|
||
y: 0.005
|
||
z: 0.005
|
||
rx: 0.0126646259971647
|
||
ry: 0.0126646259971647
|
||
rz: 0.1026646259971647
|
||
}
|
||
stable_frames: 2
|
||
# 对齐及到位暂停各自的超时时间(秒);暂停从对齐成功时重新计时。
|
||
timeout_s: 20.0
|
||
# 到位后暂停;暂停超时结束任务,after_finish 为 true 时尝试回初始位置。
|
||
pause_when_reached: false
|
||
}
|
||
|
||
touch {
|
||
speed_l {
|
||
twist_tool { x: 0.0 y: -0.08 z: 0.0 rx: 0.0 ry: 0.0 rz: 0.0 }
|
||
acceleration: 5.0
|
||
linear_jerk: 10.0
|
||
max_distance_m: 0.03
|
||
}
|
||
tactile {
|
||
finger: TOUCH_SCREEN_FINGER_TYPE_INDEX
|
||
region: TOUCH_SCREEN_TACTILE_REGION_TIP
|
||
criterion: TOUCH_SCREEN_TACTILE_CRITERION_FZ
|
||
force_threshold: 0.1 # N
|
||
}
|
||
dwell_time_s: 0.0
|
||
}
|
||
|
||
retract {
|
||
twist_tool { x: 0.0 y: 0.08 z: 0.0 rx: 0.0 ry: 0.0 rz: 0.0 }
|
||
acceleration: 8.0
|
||
linear_jerk: 40.0 # m/s^3,约束接触后的减速和连续换向。
|
||
# TCP 后退目标距离,单位为米。
|
||
distance_m: 0.01
|
||
}
|
||
}
|