新的 Drake 可视化工具示例

New Drake Visualizer Example

将我的 drake 更新到最新版本后,由于 API 更改,我之前的模拟代码无法运行。我想知道是否有这个新可视化的现有教程或示例 API。

我在网上找到了一个类似的例子(https://github.com/RobotLocomotion/drake/issues/8576),但是其中一些头文件也找不到。

我之前的实现是可视化分段多项式轨迹的模拟,如下:

 // Make a trajectory from these waypoints (first-order hold)
drake::trajectories::PiecewisePolynomial<double> trajectory_solution =
        drake::trajectories::PiecewisePolynomial<double>::FirstOrderHold(t_solution, q_solution);
const auto traj_source = viz_builder.AddSystem<drake::systems::TrajectorySource<double>>(
        trajectory_solution);

// Connect the trajectory source directly to the geometry poses
auto q_to_pose = viz_builder.AddSystem<drake::systems::rendering::MultibodyPositionToGeometryPose<double>>(viz_plant);
viz_builder.Connect(traj_source->get_output_port(), q_to_pose->get_input_port());
viz_builder.Connect(q_to_pose->get_output_port(), viz_scene_graph.get_source_pose_port(viz_plant_source_id));

// Create the visualizer
drake::geometry::ConnectDrakeVisualizer(&viz_builder, viz_scene_graph);
std::unique_ptr<drake::systems::Diagram<double>> viz_diagram = viz_builder.Build();

// Set up simulator and run
drake::systems::Simulator<double> simulator(*viz_diagram);
simulator.set_publish_every_time_step(true);
simulator.set_target_realtime_rate(1.0);
simulator.Initialize();
simulator.AdvanceTo(100); 

根据答案中的建议,我更新了实现:

drake::geometry::ConnectDrakeVisualizer(&viz_builder, viz_scene_graph);

drake::geometry::DrakeVisualizer<double> viz;
viz.AddToBuilder(&viz_builder, viz_scene_graph);

drake::geometry::ConnectDrakeVisualizer 移至 drake::geometry::DrakeVisualizer::AddToBuilder https://drake.mit.edu/doxygen_cxx/classdrake_1_1geometry_1_1_drake_visualizer.html#a532df1140a607611304fbd439519a4c5