2026-08-18 16:05:17,164 - INFO - nio_sdk.client.robot - robot py name TestRobot 2026-08-18 16:05:17,164 - DEBUG - nio_sdk.client.channel - Creating gRPC channel to 192.168.101.1:50051 2026-08-18 16:05:17,202 - INFO - nio_sdk.client.robot - Connected to directory at 192.168.101.1:50051 2026-08-18 16:05:17,236 - DEBUG - nio_sdk.client.robot - Directory advertised 2 instances of nio.api.v0.TelemetryService; picking the first (10.42.0.109:50054). The SDK Robot facade resolves one endpoint per FQN; per-instance fan-out is the caller's job. 2026-08-18 16:05:17,237 - DEBUG - nio_sdk.client.robot - Re-keyed bootstrap channel from 192.168.101.1:50051 to directory self-advertisement 192.168.100.1:50051. 2026-08-18 16:05:17,267 - INFO - nio_sdk.examples.test_fold_unfold - Robot connected successfully to 192.168.101.1:50051 2026-08-18 16:05:17,273 - INFO - nio_sdk.examples.test_fold_unfold - Loaded folded pose (20 joints) from /mnt/c/Users/chend/nio-sdk/src/nio_sdk/examples/fold_unfold_pose.yaml 2026-08-18 16:05:17,276 - INFO - nio_sdk.examples.test_fold_unfold - Loaded UNFOLDED (flat) pose (20 joints) from /mnt/c/Users/chend/nio-sdk/src/nio_sdk/examples/unfold_pose.yaml 2026-08-18 16:05:17,276 - DEBUG - nio_sdk.client.robot - Opening per-role channel to 192.168.100.1:50053 2026-08-18 16:05:17,276 - DEBUG - nio_sdk.client.channel - Creating gRPC channel to 192.168.100.1:50053 2026-08-18 16:05:17,311 - INFO - nio_sdk.examples.test_fold_unfold - control mode = mpc 2026-08-18 16:05:17,311 - INFO - nio_sdk.examples.test_fold_unfold - Switching to JOINT_CONTROL mode… 2026-08-18 16:05:18,374 - INFO - nio_sdk.client.robot - Command ID 1 reached terminal state: DONE 2026-08-18 16:05:18,375 - INFO - nio_sdk.examples.test_fold_unfold - JOINT_CONTROL enabled. 2026-08-18 16:05:18,375 - INFO - nio_sdk.examples.test_fold_unfold - Initial: unfolding to the flat pose before cycling… 2026-08-18 16:05:18,405 - INFO - nio_sdk.examples.test_fold_unfold - INIT UNFOLD command sent (id=2); waiting… 2026-08-18 16:05:19,497 - INFO - nio_sdk.client.robot - Command ID 2 status changed: PROCESSING 2026-08-18 16:05:26,705 - INFO - nio_sdk.client.robot - Command ID 2 reached terminal state: DONE 2026-08-18 16:05:26,705 - INFO - nio_sdk.examples.test_fold_unfold - === Cycle 1/1 === 2026-08-18 16:05:26,736 - INFO - nio_sdk.examples.test_fold_unfold - [1] FOLD command sent (id=3); waiting… 2026-08-18 16:05:27,767 - INFO - nio_sdk.client.robot - Command ID 3 status changed: PROCESSING 2026-08-18 16:05:31,029 - INFO - nio_sdk.client.robot - Command ID 3 reached terminal state: DONE 2026-08-18 16:05:31,062 - INFO - nio_sdk.examples.test_fold_unfold - [1] UNFOLD command sent (id=4); waiting… 2026-08-18 16:05:32,092 - INFO - nio_sdk.client.robot - Command ID 4 status changed: PROCESSING 2026-08-18 16:05:39,302 - INFO - nio_sdk.client.robot - Command ID 4 reached terminal state: DONE 2026-08-18 16:05:39,302 - INFO - nio_sdk.examples.test_fold_unfold - PASS: completed 1 fold/unfold cycles. RESULT: {"test": "MOT-3", "cycles_requested": 1, "cycles_done": 1, "retries_used": 0, "verdict": "pass", "exit_code": 0, "reason": "", "duration_s": 22.1} REPORT: /mnt/c/Users/chend/nio-sdk/reports/test_fold_unfold_20260818_160517_pass.html