@小鱼 问题终于解决了 Moveit2的官方教程有些问题。

首先得先把原本默认使用的Fast DDS改成 Cyclone DDS

sudo apt install ros-rolling-rmw-cyclonedds-cpp

或者跟着这个

然后重启终端

接着再打开hello_moveit.cpp

把这一段初始化提到新建一个Thread之前

// Create the MoveIt MoveGroup Interface using moveit::planning_interface::MoveGroupInterface; auto move_group_interface = MoveGroupInterface(node, "panda_arm"); // We spin up a SingleThreadedExecutor so MoveItVisualTools interact with ROS rclcpp::executors::SingleThreadedExecutor executor; executor.add_node(node); auto spinner = std::thread([&executor]() { executor.spin(); });

接着重新编译 就可以解决了!

GitHub上的解决办法在这