Rimosso il modulo agent (LLM chat) e la relativa config OpenRouter. La tab Pose 3D ora: espone i giunti reali via G1 /diagnostics per specchiare l'URDF senza IK; acquisisce point cloud Nuwa+D435i (/api/pose_3d/clouds); mostra il modello 3D della camera sul polso; degrada gracefully a 200 (wrist=null) quando il robot è offline. Il vecchio renderer canvas-2D (app.js view3d + diagnostic3d.js) è stato consolidato nel viewport Three.js di pose_3d.js. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
168 lines
3.0 KiB
YAML
168 lines
3.0 KiB
YAML
services:
|
|
nuwa:
|
|
base_url: http://localhost:8877
|
|
timeout_s: 5.0
|
|
api_key: null
|
|
marker_finder:
|
|
base_url: http://localhost:8082
|
|
timeout_s: 5.0
|
|
yolo:
|
|
base_url: http://localhost:8879
|
|
timeout_s: 10.0
|
|
g1:
|
|
base_url: http://localhost:8765
|
|
timeout_s: 5.0
|
|
write_timeout_s: 30.0
|
|
h1:
|
|
base_url: http://localhost:8767
|
|
timeout_s: 5.0
|
|
write_timeout_s: 30.0
|
|
sam21:
|
|
base_url: http://localhost:8002
|
|
timeout_s: 10.0
|
|
open3dmodel:
|
|
base_url: http://localhost:8878
|
|
timeout_s: 30.0
|
|
api_key_env: OPEN3D_API_KEY
|
|
max_stl_bytes: 20000000
|
|
front_camera:
|
|
base_url: http://192.168.123.99:8878
|
|
timeout_s: 5.0
|
|
aruco:
|
|
dictionary: DICT_4X4_50
|
|
wrist_marker:
|
|
id: 10
|
|
size_mm: 40.0
|
|
robot:
|
|
wrist_side: right
|
|
active: g1
|
|
tab_right_arm:
|
|
yolo_class: pestello
|
|
yolo_conf_front: 0.4
|
|
yolo_conf_wrist: 0.4
|
|
move_offset_camera_mm:
|
|
x: 100.0
|
|
y: 0.0
|
|
z: 100.0
|
|
axis_sign_cam_to_wrist:
|
|
x: 1
|
|
y: -1
|
|
z: -1
|
|
cam_to_wrist_perm:
|
|
- z
|
|
- x
|
|
- y
|
|
camera_offset_wrist_mm:
|
|
x: 0.0
|
|
y: 0.0
|
|
z: 100.0
|
|
cluster_depth_window_m: 0.2
|
|
verify_marker:
|
|
id: 1
|
|
size_mm: 40.0
|
|
max_step_m: 0.15
|
|
z_floor_m: null
|
|
home_pose:
|
|
position:
|
|
- 0.3
|
|
- -0.2
|
|
- 0.3
|
|
rpy_deg:
|
|
- 0
|
|
- 0
|
|
- 0
|
|
custom_pose:
|
|
position:
|
|
- 0.3
|
|
- -0.2
|
|
- 0.3
|
|
rpy_deg:
|
|
- 0
|
|
- 0
|
|
- 0
|
|
pose_3d:
|
|
live_max_step_m: 0.15
|
|
right_wrist_camera:
|
|
enabled: true
|
|
mesh_url: /static/assets/nuwa/nuwa-hp60c.stl
|
|
offset_m:
|
|
- 0.05
|
|
- 0
|
|
- 0.1
|
|
rpy_deg:
|
|
- 0
|
|
- -90
|
|
- -90
|
|
clouds:
|
|
nuwa:
|
|
use_nuwa_camera_transform: true
|
|
extra_offset_m:
|
|
- 0.0
|
|
- 0.0
|
|
- 0.0
|
|
extra_rpy_deg:
|
|
- 0
|
|
- 0
|
|
- 0
|
|
d435:
|
|
offset_m:
|
|
- -0.01
|
|
- 0
|
|
- 0
|
|
rpy_deg:
|
|
- -90
|
|
- 86
|
|
- 0
|
|
transform_pelvis_4x4:
|
|
- - -0.011344227963137242
|
|
- -0.9974094742471121
|
|
- -0.07103273311663486
|
|
- 0.007340882385689307
|
|
- - -0.5556320632728338
|
|
- 0.06534842452974676
|
|
- -0.8288561960163252
|
|
- 0.3109738415126284
|
|
- - 0.8313508998943191
|
|
- 0.03006533042523672
|
|
- -0.5549340115286931
|
|
- 0.2869260834772309
|
|
- - 0.0
|
|
- 0.0
|
|
- 0.0
|
|
- 1.0
|
|
named_poses:
|
|
Base:
|
|
side: left
|
|
position:
|
|
- 0.2561414814483791
|
|
- 0.14648003458557432
|
|
- 0.10874469031742239
|
|
quaternion:
|
|
- -0.005339006082777725
|
|
- -0.047703617194205114
|
|
- -0.005110044879619669
|
|
- 0.9988341941293186
|
|
grasp:
|
|
approach_offset_m: 0.1
|
|
pre_grasp_clearance_m: 0.05
|
|
max_object_width_m: 0.08
|
|
pointcloud_step: 1
|
|
pointcloud_max_depth_mm: 2000
|
|
use_sam21: true
|
|
visual_servo:
|
|
min_distance_m: 0.1
|
|
step_fraction: 0.5
|
|
wrist_marker_rvec:
|
|
- 0
|
|
- 0
|
|
- 0
|
|
find_model:
|
|
sample_points: 2000
|
|
min_fitness: 0.5
|
|
max_rmse_mm: 5.0
|
|
calibration:
|
|
min_samples: 5
|
|
method: DANIILIDIS
|
|
file: data/calibration.yaml
|
|
samples_file: data/samples.json
|