config.yml内字段:physical/camera/[left|right]/
| 参数名 | 含义 | 默认值 |
|---|---|---|
fx |
相机 x 方向焦距(像素单位) | 500.0 |
fy |
相机 y 方向焦距(像素单位) | 500.0 |
cx |
相机主点 x 坐标 | 320.0 |
cy |
相机主点 y 坐标 | 240.0 |
uid |
摄像头的独特编号 | 无 |
width |
采集图像宽度 | 640 |
height |
采集图像高度 | 480 |
fps |
摄像头目标帧率 | 60 |
config.yml内字段:physical/arm/[left|right]/
| 参数名 | 含义 | 默认值 |
|---|---|---|
id |
名字(用于复用 calibration 的结果) | 无 |
port |
对应 USB 接口路径 | 无 |
urdf_path |
URDF 文件路径(可选,新版人脸追踪要用) | thirdparty/lerobot/so101/description/so101_new_calib.urdf |
config.yml内字段:agent/
| 参数名 | 含义 | 默认值 |
|---|---|---|
max_num_tasks_launched |
最多用几个子任务完成一个任务 | 20 |
max_workers |
同一时间能有最多几个子任务同时在跑 | 8 |
config.yml内字段:task/face_track/geometry
| 参数名 | 含义 | 默认值 |
|---|---|---|
face_width_m |
假设的真实人脸宽度,用于单目估深度 | 0.18 |
pan_axis_cam |
shoulder_pan 轴点在相机坐标系中的位置 (x, y, z),单位米 |
(0.055, 0.30, -0.13) |
pan_to_lift_home |
从 pan 轴点到 lift 轴点的固定偏移,单位米(相机坐标系) |
(0.00, -0.0075, 0.03) |
lift_to_phone_home |
从 lift 轴点到手机中心的固定偏移,单位米(相机坐标系) |
(0.00, 0.00, 0.12) |
screen_normal_home |
home 姿态下屏幕法向方向向量(相机坐标系) | (0.00, 0.00, 0.12) |
相机坐标系:镜头为坐标原点;(镜头看出去)X 向右、Y 向下、Z 向前
config.yml内字段:task/face_track
| 参数名 | 含义 | 默认值 |
|---|---|---|
model_path |
人脸识别库具体使用的模型 | "thirdparty/face_detector.task" |
control_hz |
控制指令发送频率 | 50.0 |
lost_timeout |
丢失人脸多久后判定为丢失(丢失时将返回 home 姿态) | 2.0 |
min_detection_confidence |
人脸检测最小置信度阈值 | 0.6 |
track_duration_s |
跟踪持续时长 | 25.0 |
hold_last_on_timeout |
到达定时后是否保持最后位姿 | True |
对应数据类:robiagent/backend/arm/face_track.py中的InternalParams。
| 参数名 | 含义 | 默认值 |
|---|---|---|
pan_sign |
shoulder_pan 控制方向符号 |
1.0 |
lift_sign |
shoulder_lift 控制方向符号 |
1.0 |
pan_units_per_rad |
pan 每弧度(约 ±57.3°)对应的关节单位数 |
45.0 |
lift_units_per_rad |
lift 每弧度对应的关节单位数 |
45.0 |
pan_bias |
pan 的静态偏置(用于校准几何零点;单位:关节单位数) |
0.0 |
lift_bias |
lift 的静态偏置(用于校准几何零点;单位:关节单位数) |
0.0 |
yaw_deadband_rad |
水平方向对准容差(弧度,0.02 rad ≈ 1.15°) | 0.02 |
pitch_deadband_rad |
俯仰方向对准容差(弧度) | 0.02 |
max_pan_step |
单次更新允许的最大 pan 移动关节单位数 |
5.0 |
max_lift_step |
单次更新允许的最大 lift 移动关节单位数 |
5.0 |
pan_min_offset |
相对 HOME 的 pan 最小移动关节单位数 |
-45.0 |
pan_max_offset |
相对 HOME 的 pan 最大移动关节单位数 |
45.0 |
lift_min_offset |
相对 HOME 的 lift 最小移动关节单位数 |
-45.0 |
lift_max_offset |
相对 HOME 的 lift 最大移动关节单位数 |
45.0 |
face_x_s |
人脸 X 坐标的初始值(相机坐标系;不重要) | -0.05 |
face_y_s |
人脸 Y 坐标的初始值(相机坐标系;不重要) | 0.0 |
face_z_s |
人脸 Z 坐标的初始值(相机坐标系;不重要) | 0.8 |
config.yml内字段:task/face_track_new/geometry
| 参数名 | 含义 | 默认值 |
|---|---|---|
face_width_m |
假设的真实人脸宽度,用于单目估深度 | 0.20 |
camera_origin_in_ik_m |
相机镜头在机械臂坐标系中的位置 (x, y, z),单位米 |
无 |
机械臂坐标系:机械臂基座中某一点为坐标原点;(朝机械臂伸出方向)X 向前、Y 向左、Z 向上
config.yml内字段:task/face_track_new
| 参数名 | 含义 | 默认值 |
|---|---|---|
model_path |
人脸识别库具体使用的模型 | "thirdparty/face_detector.task" |
control_hz |
控制指令发送频率 | 50.0 |
lost_timeout |
丢失人脸多久后判定为丢失(丢失时将返回 home 姿态) | 2.0 |
min_detection_confidence |
人脸检测最小置信度阈值 | 0.6 |
track_duration_s |
跟踪持续时长 | 25.0 |
hold_last_on_timeout |
到达定时后是否保持最后位姿 | True |
desired_eye_distance_m |
屏幕到估计眼部位置的目标距离,单位米 | 0.65 |
screen_tilt_deg |
期望屏幕俯仰角(相对竖直方向的几何定义,用于构造末端法向) | 30.0 |
target_plane_below_eye_m |
目标屏位在竖直方向上低于眼点的距离(米),与 desired_eye_distance_m 共同决定水平对准距离 |
0.15 |
ik_mode |
逆解策略:soft 不校验 FK 残差;hard 须在容差内才下发;hard_binary_search 在不可解时对当前与目标位姿做逼近(二分查找) |
hard_binary_search |
ik_bisection_max_depth |
hard_bisection 模式下二分搜索的最大迭代次数 |
6 |
ik_pos_tol_m |
“硬”逆解验收时,FK 末端位置与目标位置允许的最大偏差,单位米 | 0.01 |
ik_rot_tol_rad |
“硬”逆解验收时,FK 末端姿态与目标姿态允许的最大角误差,单位弧度 | 0.05 |
face_hold_enabled |
是否开启人脸位置锚定机制;开启后,小幅估计漂移会被视为人脸未移动,从而保持控制目标不变 | False |
face_hold_release_m |
人脸估计位置相对当前锚点的释放距离阈值,单位米;小于该距离时认为人脸未移动 | 0.025 |
face_hold_candidate_m |
新人脸位置候选点自身的稳定半径,单位米;候选位置在该半径内稳定后才会被接受为新锚点 | 0.020 |
face_hold_stable_s |
新人脸位置候选点需要持续稳定的时间,单位秒;稳定超过该时间后更新锚点 | 0.05 |
target_slew_enabled |
是否开启目标位姿限速机制;开启后,EE 目标位置和屏幕法向不会因视觉噪声在相邻控制周期内突变 | True |
target_pos_deadband_m |
目标位置变化死区,单位米;小于该距离的目标位置变化会被忽略 | 0.001 |
target_normal_deadband_deg |
目标屏幕法向变化死区,单位度;小于该角度的法向变化会被忽略 | 0.1 |
target_max_pos_step_m |
每个控制周期允许的最大目标位置变化量,单位米;用于限制目标位置移动速度 | 0.003 |
target_max_normal_step_deg |
每个控制周期允许的最大目标屏幕法向变化量,单位度;用于限制目标姿态变化速度 | 0.3 |
ik_joint_delta_gate_enabled |
是否开启关节空间连续性验收;开启后,即使 IK/FK 残差满足要求,若逆解结果相对当前关节位置跳变过大,也会拒绝该解 | True |
ik_max_joint_delta_deg |
关节空间连续性验收的最大单关节跳变量,单位度;用于避免 IK 在可达边缘跳到距离当前姿态很远的另一组解 | 8.0 |
ik_joint_delta_gate_keys |
参与关节跳变验收的关节名列表;通常检查主要机械臂关节,不检查夹爪 | ["shoulder_pan.pos", "shoulder_lift.pos", "elbow_flex.pos", "wrist_flex.pos", "wrist_roll.pos"] |
对应数据类:robiagent/backend/arm/face_track_new.py中的NewInternalParams
| 参数名 | 含义 | 默认值 |
|---|---|---|
distance_tolerance_m |
目标屏位与眼部几何解算后,实际 3D 距离相对 desired_eye_distance_m 的告警容差,单位米 |
0.03 |
tilt_tolerance_deg |
上述俯仰角相对期望值的告警容差,单位度 | 5.0 |
ik_target_frame_name |
URDF 中作为 IK/FK 末端坐标系的 link 名称 | gripper_frame_link |
cam_to_ik_rot |
相机坐标系到 IK/机械臂坐标系的 3×3 旋转矩阵(行优先三组三元组),与 geometry.camera_origin_in_ik_m 一起定义外参 |
((0.0, 0.0, 1.0), (-1.0, 0.0, 0.0), (0.0, -1.0, 0.0)) |
pan_axis_ik |
shoulder_pan 转轴在 IK 系中的参考点 (x,y,z)(米),用于「眼部—转轴」水平几何约束与目标屏位解算 |
(0.0, 0.0, 0.0) |
ee_forward_axis |
末端工具「朝前」方向在局部坐标系中的轴标记,如 +Z,用于从旋转矩阵取出视线/法向 |
+Z |
config.yml内字段:task/vocal_intro
| 参数名 | 含义 | 默认值 |
|---|---|---|
text |
待播报的文字内容 | 你好,很高兴向你介绍这款新产品! |
chunk_size |
每次上行发送多少字符 | 8 |
chunk_delay |
两块之间的延迟(模拟真人讲话) | 0.1 |