You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下Apt/Tar安装Drake后Meshcat Visualizer示例求助

Ubuntu 22.04下apt/tar安装Drake后使用Meshcat Visualizer的配置与示例

CMake配置步骤

  • 编写CMakeLists.txt时,需正确引入Drake依赖:
    cmake_minimum_required(VERSION 3.16)
    project(meshcat_demo)
    
    find_package(Drake REQUIRED)
    add_executable(meshcat_demo main.cpp)
    target_link_libraries(meshcat_demo PRIVATE Drake::drake)
    
  • 若采用tar包手动安装,执行CMake时需指定Drake的配置路径:
    cmake .. -DDrake_DIR=/opt/drake/lib/cmake/Drake
    

完整C++示例代码

#include <drake/systems/framework/diagram_builder.h>
#include <drake/multibody/plant/multibody_plant.h>
#include <drake/multibody/parsing/parser.h>
#include <drake/geometry/meshcat_visualizer.h>
#include <drake/systems/analysis/simulator.h>

int main() {
  drake::systems::DiagramBuilder<double> builder;

  // 初始化多体植物
  auto plant = builder.AddSystem<drake::multibody::MultibodyPlant<double>>(0.0);
  drake::multibody::Parser parser(plant);
  // 替换为你的URDF/SDF模型路径,也可以用Drake自带模型,比如:
  // parser.AddModelsFromFile(drake::FindResourceOrThrow("drake/manipulation/models/iiwa_description/urdf/iiwa14_no_collision.urdf"));
  parser.AddModelsFromFile("your_model.urdf");
  plant->Finalize();

  // 将Meshcat Visualizer添加到图中
  drake::geometry::MeshcatVisualizer<double>::AddToBuilder(
      &builder, plant->get_geometry_poses_output_port());

  // 构建仿真图并运行
  auto diagram = builder.Build();
  drake::systems::Simulator<double> simulator(*diagram);
  simulator.Initialize();
  // 仿真10秒
  simulator.AdvanceTo(10.0);

  return 0;
}

运行说明

  • 编译完成后执行二进制文件,控制台会输出Meshcat的访问地址(默认是http://localhost:7000),在浏览器打开该链接即可查看模型可视化效果。
  • 如需自定义端口或允许远程访问,可修改Meshcat的创建参数:
    auto meshcat_options = std::make_shared<drake::geometry::MeshcatOptions>();
    meshcat_options->host = "0.0.0.0"; // 允许远程访问
    meshcat_options->port = 7001; // 修改端口
    auto meshcat = drake::geometry::Meshcat::Create(meshcat_options);
    drake::geometry::MeshcatVisualizer<double>::AddToBuilder(
        &builder, plant->get_geometry_poses_output_port(), meshcat);
    

内容的提问来源于stack exchange,提问作者Murt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 03:01:02