From 1e0c873426f34491c47ee56587fb5ca8a38f3756 Mon Sep 17 00:00:00 2001 From: chenjian Date: Mon, 11 May 2026 19:20:18 +0800 Subject: [PATCH 1/3] fix opw tcp --- embodichain/lab/sim/solvers/opw_solver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/embodichain/lab/sim/solvers/opw_solver.py b/embodichain/lab/sim/solvers/opw_solver.py index e64cc99c..e3202597 100644 --- a/embodichain/lab/sim/solvers/opw_solver.py +++ b/embodichain/lab/sim/solvers/opw_solver.py @@ -127,7 +127,7 @@ def set_tcp(self, xpos: np.ndarray): self._tcp_warp = wp.mat44f(self.tcp_xpos) tcp_inv = np.eye(4, dtype=float) tcp_inv[:3, :3] = self.tcp_xpos[:3, :3].T - tcp_inv[:3, 3] = -tcp_inv[:3, :3].T @ self.tcp_xpos[:3, 3] + tcp_inv[:3, 3] = -tcp_inv[:3, :3] @ self.tcp_xpos[:3, 3] self._tcp_inv_warp = wp.mat44f(tcp_inv) def _init_warp_solver(self, cfg: OPWSolverCfg, **kwargs): From 7c99f6b1069afcd93d7cbb2f28eb79357081f50b Mon Sep 17 00:00:00 2001 From: chenjian Date: Mon, 11 May 2026 19:30:50 +0800 Subject: [PATCH 2/3] update unittest --- tests/sim/solvers/test_opw_solver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/sim/solvers/test_opw_solver.py b/tests/sim/solvers/test_opw_solver.py index 8153489d..29255cac 100644 --- a/tests/sim/solvers/test_opw_solver.py +++ b/tests/sim/solvers/test_opw_solver.py @@ -99,7 +99,7 @@ def setup_simulation(self, sim_device): "class_type": "OPWSolver", "end_link_name": "left_link6", "root_link_name": "left_arm_base", - "tcp": [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0.143], [0, 0, 0, 1]], + "tcp": [[0, 0, -1, 0], [0, 1, 0, 0], [1, 0, 0, 0.143], [0, 0, 0, 1]], "qpos_limits": [ [-2.618, 0.0, -2.967, -1.745, -1.22, -2.0944], [2.618, 3.14159, 0.0, 1.745, 1.22, 2.0944], From c8442a2b1f9c9309e29d61080698504ba542a499 Mon Sep 17 00:00:00 2001 From: chenjian Date: Mon, 11 May 2026 19:31:09 +0800 Subject: [PATCH 3/3] update --- tests/sim/solvers/test_opw_solver.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/sim/solvers/test_opw_solver.py b/tests/sim/solvers/test_opw_solver.py index 29255cac..7dae255d 100644 --- a/tests/sim/solvers/test_opw_solver.py +++ b/tests/sim/solvers/test_opw_solver.py @@ -99,7 +99,12 @@ def setup_simulation(self, sim_device): "class_type": "OPWSolver", "end_link_name": "left_link6", "root_link_name": "left_arm_base", - "tcp": [[0, 0, -1, 0], [0, 1, 0, 0], [1, 0, 0, 0.143], [0, 0, 0, 1]], + "tcp": [ + [0, 0, -1, 0], + [0, 1, 0, 0], + [1, 0, 0, 0.143], + [0, 0, 0, 1], + ], "qpos_limits": [ [-2.618, 0.0, -2.967, -1.745, -1.22, -2.0944], [2.618, 3.14159, 0.0, 1.745, 1.22, 2.0944],