新的 Drake Visualizer 示例

问题描述

将我的 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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...