From 30baad1fca386d440796d8e515350a0fac397fd7 Mon Sep 17 00:00:00 2001 From: Russ Tedrake <russt@mit.edu> Date: Sat, 28 Dec 2024 10:13:38 -0500 Subject: [PATCH] [multibody] Add binding for MultibodyPlant::GetActuationFromArray() (#22356) --- bindings/pydrake/multibody/plant_py.cc | 3 +++ bindings/pydrake/multibody/test/plant_test.py | 3 +++ 2 files changed, 6 insertions(+) diff --git a/bindings/pydrake/multibody/plant_py.cc b/bindings/pydrake/multibody/plant_py.cc index 1e94f55ff30f..f15ba41b59ad 100644 --- a/bindings/pydrake/multibody/plant_py.cc +++ b/bindings/pydrake/multibody/plant_py.cc @@ -442,6 +442,9 @@ void DoScalarDependentDefinitions(py::module m, T) { cls_doc.SetDefaultFreeBodyPose.doc) .def("GetDefaultFreeBodyPose", &Class::GetDefaultFreeBodyPose, py::arg("body"), cls_doc.GetDefaultFreeBodyPose.doc) + .def("GetActuationFromArray", &Class::GetActuationFromArray, + py::arg("model_instance"), py::arg("u"), + cls_doc.GetActuationFromArray.doc) .def("SetActuationInArray", &Class::SetActuationInArray, py::arg("model_instance"), py::arg("u_instance"), py::arg("u"), cls_doc.SetActuationInArray.doc) diff --git a/bindings/pydrake/multibody/test/plant_test.py b/bindings/pydrake/multibody/test/plant_test.py index 161b96a7fa92..8d285d001e04 100644 --- a/bindings/pydrake/multibody/test/plant_test.py +++ b/bindings/pydrake/multibody/test/plant_test.py @@ -1941,6 +1941,9 @@ def test_model_instance_state_access_by_array(self, T): plant.SetActuationInArray( model_instance=iiwa_model, u_instance=u_iiwa, u=u) numpy_compare.assert_float_equal(u_iiwa, u[:7]) + numpy_compare.assert_float_equal( + u_iiwa, plant.GetActuationFromArray( + model_instance=iiwa_model, u=u)) @numpy_compare.check_all_types def test_map_qdot_to_v_and_back(self, T):