鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    在moveit2-示例-与新机器人集成-moveit设置助手中,设置robot pose 时闪退

    已定时 已固定 已锁定 已移动
    动手学ROS2
    moveit2助手 闪退 robot pose
    1
    1
    411
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 1
      1065639249
      最后由 编辑

      我的环境是Ubuntu24.04的ros2的jazzy版本
      我在按照moveit2给的教程一步一步运行时,在示例中的与新机器人集成的moveit设置助手中,设置robot pose时闪退,请问有没有大佬知道是什么原因?
      我搜了一下说是moveit_setup_assistant 程序崩溃了,崩溃原因是 moveit::core::RobotState::getCollisionBodyTransform 函数里的断言 checkCollisionTransforms() 失败,请教一下有没有什么解决办法?

      moveit.core.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint
      [moveit_setup_assistant-1] Error: Virtual joint does not attach to a link on the robot (link '' is not known)
      [moveit_setup_assistant-1] at line 104 in ./src/model.cpp
      [moveit_setup_assistant-1] [INFO] [1746411226.290223960] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] [INFO] [1746411226.290290451] [moveit_3648284124.moveit.core.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint
      [moveit_setup_assistant-1] [INFO] [1746411226.301623446] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] [INFO] [1746411226.315506811] [moveit_3648284124.moveit.ros.rdf_loader]: Loaded robot model in 0.00213362 seconds
      [moveit_setup_assistant-1] [INFO] [1746411226.315543618] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] [INFO] [1746411226.315557866] [moveit_3648284124.moveit.core.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint
      [moveit_setup_assistant-1] Warning: Group 'panda_arm' is empty.
      [moveit_setup_assistant-1] at line 262 in ./src/model.cpp
      [moveit_setup_assistant-1] [INFO] [1746411240.082504367] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] [WARN] [1746411240.093801741] [moveit_3648284124.moveit.core.robot_model]: Group 'panda_arm' must have at least one valid joint
      [moveit_setup_assistant-1] [WARN] [1746411240.093825487] [moveit_3648284124.moveit.core.robot_model]: Failed to add group 'panda_arm'
      [moveit_setup_assistant-1] [INFO] [1746411248.739835954] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] Warning: Group 'hand' is empty.
      [moveit_setup_assistant-1] at line 262 in ./src/model.cpp
      [moveit_setup_assistant-1] [INFO] [1746411253.859376020] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] [WARN] [1746411253.870377748] [moveit_3648284124.moveit.core.robot_model]: Group 'hand' must have at least one valid joint
      [moveit_setup_assistant-1] [WARN] [1746411253.870402681] [moveit_3648284124.moveit.core.robot_model]: Failed to add group 'hand'
      [moveit_setup_assistant-1] [INFO] [1746411256.657937157] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] [INFO] [1746411360.736098454] [moveit_3648284124.moveit.core.robot_model]: Loading robot model 'panda'...
      [moveit_setup_assistant-1] [WARN] [1746411373.492043737] [moveit_3648284124.moveit.core.robot_state]: Returning dirty collision body transforms
      [moveit_setup_assistant-1] moveit_setup_assistant: /home/ls/ws_moveit/src/moveit2/moveit_core/robot_state/include/moveit/robot_state/robot_state.hpp:1305: const Isometry3d& moveit::core::RobotState::getCollisionBodyTransform(const moveit::core::LinkModel*, std::size_t) const: 断言 "checkCollisionTransforms()" 失败。
      [moveit_setup_assistant-1] Stack trace (most recent call last):
      [moveit_setup_assistant-1] #31 Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.13", at 0x77b2f3ad8117, in QCoreApplication::notifyInternal2(QObject*, QEvent*)
      [moveit_setup_assistant-1] #30 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f476bd44, in QApplicationPrivate::notify_helper(QObject*, QEvent*)
      [moveit_setup_assistant-1] #29 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f47cdfbe, in
      [moveit_setup_assistant-1] #28 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f47caa38, in
      [moveit_setup_assistant-1] #27 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f4772873, in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool)
      [moveit_setup_assistant-1] #26 Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.13", at 0x77b2f3ad8117, in QCoreApplication::notifyInternal2(QObject*, QEvent*)
      [moveit_setup_assistant-1] #25 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f47746af, in QApplication::notify(QObject*, QEvent*)
      [moveit_setup_assistant-1] #24 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f476bd44, in QApplicationPrivate::notify_helper(QObject*, QEvent*)
      [moveit_setup_assistant-1] #23 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f47b0df7, in QWidget::event(QEvent*)
      [moveit_setup_assistant-1] #22 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f492071a, in QSlider::mouseMoveEvent(QMouseEvent*)
      [moveit_setup_assistant-1] #21 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f486b8e2, in QAbstractSlider::setValue(int)
      [moveit_setup_assistant-1] #20 Object "/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.15.13", at 0x77b2f486b0ef, in QAbstractSlider::valueChanged(int)
      [moveit_setup_assistant-1] #19 Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.13", at 0x77b2f3b12dbe, in
      [moveit_setup_assistant-1] #18 Source "/home/ls/ws_moveit/build/moveit_setup_srdf_plugins/include/moveit_setup_srdf_plugins/moc_robot_poses_widget.cpp", line 247, in qt_static_metacall [0x77b2c2d8e818]
      [moveit_setup_assistant-1] 244: (void)t;
      [moveit_setup_assistant-1] 245: switch (id) {
      [moveit_setup_assistant-1] 246: case 0: t->jointValueChanged((reinterpret_cast< const std::string()>(a[1])),(reinterpret_cast< double()>(a[2]))); break;
      [moveit_setup_assistant-1] > 247: case 1: t->changeJointValue((reinterpret_cast< int()>(a[1]))); break;
      [moveit_setup_assistant-1] 248: case 2: t->changeJointSlider(); break;
      [moveit_setup_assistant-1] 249: default: ;
      [moveit_setup_assistant-1] 250: }
      [moveit_setup_assistant-1] #17 Source "/home/ls/ws_moveit/src/moveit2/moveit_setup_assistant/moveit_setup_srdf_plugins/src/robot_poses_widget.cpp", line 790, in changeJointValue [0x77b2c2d7ed87]
      [moveit_setup_assistant-1] 787: joint_value
      ->setText(QString("%1").arg(double_value, 0, 'f', 4));
      [moveit_setup_assistant-1] 788:
      [moveit_setup_assistant-1] 789: // Send event to parent widget
      [moveit_setup_assistant-1] > 790: Q_EMIT jointValueChanged(joint_model
      ->getName(), double_value);
      [moveit_setup_assistant-1] 791: }
      [moveit_setup_assistant-1] 792:
      [moveit_setup_assistant-1] 793: // ******************************************************************************************
      [moveit_setup_assistant-1] #16 Source "/home/ls/ws_moveit/build/moveit_setup_srdf_plugins/include/moveit_setup_srdf_plugins/moc_robot_poses_widget.cpp", line 318, in jointValueChanged [0x77b2c2d8eaa8]
      [moveit_setup_assistant-1] 315: void moveit_setup::srdf_setup::SliderWidget::jointValueChanged(const std::string & t1, double t2)
      [moveit_setup_assistant-1] 316: {
      [moveit_setup_assistant-1] 317: void _a[] = { nullptr, const_cast<void>(reinterpret_cast<const void*>(std::addressof(t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(t2))) };
      [moveit_setup_assistant-1] > 318: QMetaObject::activate(this, &staticMetaObject, 0, a);
      [moveit_setup_assistant-1] 319: }
      [moveit_setup_assistant-1] 320: QT_WARNING_POP
      [moveit_setup_assistant-1] 321: QT_END_MOC_NAMESPACE
      [moveit_setup_assistant-1] #15 Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.13", at 0x77b2f3b12dbe, in
      [moveit_setup_assistant-1] #14 Source "/home/ls/ws_moveit/build/moveit_setup_srdf_plugins/include/moveit_setup_srdf_plugins/moc_robot_poses_widget.cpp", line 127, in qt_static_metacall [0x77b2c2d8e5f3]
      [moveit_setup_assistant-1] 124: case 7: t->loadJointSliders((reinterpret_cast< const QString()>(a[1]))); break;
      [moveit_setup_assistant-1] 125: case 8: t->showDefaultPose(); break;
      [moveit_setup_assistant-1] 126: case 9: t->playPoses(); break;
      [moveit_setup_assistant-1] > 127: case 10: t->updateRobotModel((reinterpret_cast< const std::string()>(a[1])),(reinterpret_cast< double()>(a[2]))); break;
      [moveit_setup_assistant-1] 128: default: ;
      [moveit_setup_assistant-1] 129: }
      [moveit_setup_assistant-1] 130: } else if (c == QMetaObject::RegisterMethodArgumentMetaType) {
      [moveit_setup_assistant-1] #13 Source "/home/ls/ws_moveit/src/moveit2/moveit_setup_assistant/moveit_setup_srdf_plugins/src/robot_poses_widget.cpp", line 687, in updateRobotModel [0x77b2c2d7e3bd]
      [moveit_setup_assistant-1] 684: robot_state.setVariablePosition(name, value);
      [moveit_setup_assistant-1] 685:
      [moveit_setup_assistant-1] 686: // Update the robot model/rviz
      [moveit_setup_assistant-1] > 687: updateStateAndCollision(robot_state);
      [moveit_setup_assistant-1] 688: }
      [moveit_setup_assistant-1] 689:
      [moveit_setup_assistant-1] 690: void RobotPosesWidget::updateStateAndCollision(const moveit::core::RobotState& robot_state)
      [moveit_setup_assistant-1] #12 Source "/home/ls/ws_moveit/src/moveit2/moveit_setup_assistant/moveit_setup_srdf_plugins/src/robot_poses_widget.cpp", line 696, in updateStateAndCollision [0x77b2c2d7e418]
      [moveit_setup_assistant-1] 694: // if in collision, show warning
      [moveit_setup_assistant-1] 695: // if no collision, hide warning
      [moveit_setup_assistant-1] > 696: collision_warning
      ->setHidden(!setup_step
      .checkSelfCollision(robot_state));
      [moveit_setup_assistant-1] 697: }
      [moveit_setup_assistant-1] 698:
      [moveit_setup_assistant-1] 699: // ******************************************************************************************
      [moveit_setup_assistant-1] #11 Source "/home/ls/ws_moveit/src/moveit2/moveit_setup_assistant/moveit_setup_srdf_plugins/src/robot_poses.cpp", line 115, in checkSelfCollision [0x77b2c2d4c57a]
      [moveit_setup_assistant-1] 112: {
      [moveit_setup_assistant-1] 113: // Decide if current state is in collision
      [moveit_setup_assistant-1] 114: collision_detection::CollisionResult result;
      [moveit_setup_assistant-1] > 115: srdf_config
      ->getPlanningScene()->checkSelfCollision(request
      , result, robot_state, allowed_collision_matrix
      );
      [moveit_setup_assistant-1] 116: return !result.contacts.empty();
      [moveit_setup_assistant-1] 117: }
      [moveit_setup_assistant-1] #10 Source "/home/ls/ws_moveit/src/moveit2/moveit_core/planning_scene/src/planning_scene.cpp", line 559, in checkSelfCollision [0x77b2f25f7cf5]
      [moveit_setup_assistant-1] 556: const collision_detection::AllowedCollisionMatrix& acm) const
      [moveit_setup_assistant-1] 557: {
      [moveit_setup_assistant-1] 558: req.pad_self_collisions ? getCollisionEnv()->checkSelfCollision(req, res, robot_state, acm) :
      [moveit_setup_assistant-1] > 559: getCollisionEnvUnpadded()->checkSelfCollision(req, res, robot_state, acm);
      [moveit_setup_assistant-1] 560: }
      [moveit_setup_assistant-1] 561:
      [moveit_setup_assistant-1] 562: void PlanningScene::getCollidingPairs(collision_detection::CollisionResult::ContactMap& contacts)
      [moveit_setup_assistant-1] #9 Source "/home/ls/ws_moveit/src/moveit2/moveit_core/collision_detection_fcl/src/collision_env_fcl.cpp", line 271, in checkSelfCollision [0x77b2eefc45b6]
      [moveit_setup_assistant-1] 268: void CollisionEnvFCL::checkSelfCollision(const CollisionRequest& req, CollisionResult& res,
      [moveit_setup_assistant-1] 269: const moveit::core::RobotState& state, const AllowedCollisionMatrix& acm) const
      [moveit_setup_assistant-1] 270: {
      [moveit_setup_assistant-1] > 271: checkSelfCollisionHelper(req, res, state, &acm);
      [moveit_setup_assistant-1] 272: }
      [moveit_setup_assistant-1] 273:
      [moveit_setup_assistant-1] 274: void CollisionEnvFCL::checkSelfCollisionHelper(const CollisionRequest& req, CollisionResult& res,
      [moveit_setup_assistant-1] #8 Source "/home/ls/ws_moveit/src/moveit2/moveit_core/collision_detection_fcl/src/collision_env_fcl.cpp", line 279, in checkSelfCollisionHelper [0x77b2eefc462a]
      [moveit_setup_assistant-1] 276: const AllowedCollisionMatrix* acm) const
      [moveit_setup_assistant-1] 277: {
      [moveit_setup_assistant-1] 278: FCLManager manager;
      [moveit_setup_assistant-1] > 279: allocSelfCollisionBroadPhase(state, manager);
      [moveit_setup_assistant-1] 280: CollisionData cd(&req, &res, acm);
      [moveit_setup_assistant-1] 281: cd.enableGroup(getRobotModel());
      [moveit_setup_assistant-1] 282: manager.manager
      ->collide(&cd, &collisionCallback);
      [moveit_setup_assistant-1] #7 Source "/home/ls/ws_moveit/src/moveit2/moveit_core/collision_detection_fcl/src/collision_env_fcl.cpp", line 258, in allocSelfCollisionBroadPhase [0x77b2eefc44df]
      [moveit_setup_assistant-1] 255: {
      [moveit_setup_assistant-1] 256: manager.manager
      = std::make_uniquefcl::DynamicAABBTreeCollisionManagerd();
      [moveit_setup_assistant-1] 257:
      [moveit_setup_assistant-1] > 258: constructFCLObjectRobot(state, manager.object
      );
      [moveit_setup_assistant-1] 259: manager.object
      .registerTo(manager.manager
      .get());
      [moveit_setup_assistant-1] 260: }
      [moveit_setup_assistant-1] #6 Source "/home/ls/ws_moveit/src/moveit2/moveit_core/collision_detection_fcl/src/collision_env_fcl.cpp", line 221, in constructFCLObjectRobot [0x77b2eefc407e]
      [moveit_setup_assistant-1] 218: {
      [moveit_setup_assistant-1] 219: if (robot_geoms
      [i] && robot_geoms
      [i]->collision_geometry
      )
      [moveit_setup_assistant-1] 220: {
      [moveit_setup_assistant-1] > 221: transform2fcl(state.getCollisionBodyTransform(robot_geoms
      [i]->collision_geometry_data
      ->ptr.link,
      [moveit_setup_assistant-1] 222: robot_geoms
      [i]->collision_geometry_data
      ->shape_index),
      [moveit_setup_assistant-1] 223: fcl_tf);
      [moveit_setup_assistant-1] 224: auto coll_obj = new fcl::CollisionObjectd(*robot_fcl_objs
      [i]);
      [moveit_setup_assistant-1] #5 Source "/home/ls/ws_moveit/src/moveit2/moveit_core/robot_state/include/moveit/robot_state/robot_state.hpp", line 1305, in getCollisionBodyTransform [0x77b2eefc8772]
      [moveit_setup_assistant-1] 1303: const Eigen::Isometry3d& getCollisionBodyTransform(const LinkModel* link, std::size_t index) const
      [moveit_setup_assistant-1] 1304: {
      [moveit_setup_assistant-1] >1305: assert(checkCollisionTransforms());
      [moveit_setup_assistant-1] 1306: return global_collision_body_transforms
      [link->getFirstCollisionBodyTransformIndex() + index];
      [moveit_setup_assistant-1] 1307: }
      [moveit_setup_assistant-1] #4 Source "./assert/assert.c", line 105, in __assert_fail [0x77b2f303b516]
      [moveit_setup_assistant-1] #3 Source "./assert/assert.c", line 96, in __assert_fail_base [0x77b2f302881a]
      [moveit_setup_assistant-1] #2 Source "./stdlib/abort.c", line 79, in abort [0x77b2f30288fe]
      [moveit_setup_assistant-1] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0x77b2f304527d]
      [moveit_setup_assistant-1] #0 | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
      [moveit_setup_assistant-1] | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
      [moveit_setup_assistant-1] Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x77b2f309eb2c]
      [moveit_setup_assistant-1] 已中止 (tkill() 发送的信号 6482 1000)
      [ERROR] [moveit_setup_assistant-1]: process has died [pid 6482, exit code -6, cmd '/home/ls/ws_moveit/install/moveit_setup_assistant/lib/moveit_setup_assistant/moveit_setup_assistant --ros-args'].

      1 条回复 最后回复 回复 引用 0
      • 第一个帖子
        最后一个帖子
      皖ICP备16016415号-7
      Powered by NodeBB | 鱼香ROS