PyDrake AttributeError: 'MultibodyPlant_[float]' object has no attribute 'get_body_poses_output_port'

PyDrake AttributeError: 'MultibodyPlant_[float]' object has no attribute 'get_body_poses_output_port'

在 PyDrake 中,我从这一行得到 AttributeError:body_pose_output_port = plant.get_body_poses_output_port()

错误信息:

AttributeError: 'MultibodyPlant_[float]' object has no attribute 'get_body_poses_output_port'

以下是我设置工厂的方式:

plt_is_interactive = SetupMatplotlibBackend()

builder = DiagramBuilder()
plant, scene_graph = AddMultibodyPlantSceneGraph(builder, time_step=0.0001)
file_name = FindResource("models/robot.urdf")
robot_model = Parser(plant).AddModelFromFile(file_name)
file_name = FindResource("models/object.urdf")
object_model = Parser(plant).AddModelFromFile(file_name)

plant.Finalize()
plant.set_name('robot')

我不明白的是,以基本相同的方式获取状态输出不会引发任何错误,即state_output_port = plant.get_state_output_port(robot_model) 的行为符合预期,returns 是正确的端口。

调用 get_body_poses_output_port() 与调用 get_state_output_port() 有什么区别?我在这里失踪?

C++ 方法 MultibodyPlant::get_body_poses_output_port() 未在 pydrake 中绑定。