@小鱼
我设定的机器人底座的板远大于机器臂的可达范围,关节空间的规划或者笛卡尔规划中机械臂末端靠近底座的板的时候会因为碰撞而规划失败,所以为猜测应该是已经发布成功了,我不知道怎么查障碍物是否正确发布。现在的症状是,如图机械末端高于部分本体时,当用computeCartesianPath机械往下时,本体就从板子往下钻,显示规划成功,实际发生了碰撞;当末端为最低时,能正常的直接规划失败。
moveit_msgs::msg::CollisionObject object;
object.id = "board";
object.header.frame_id = "world";
object.primitives.resize(1);
object.primitives[0].type = shape_msgs::msg::SolidPrimitive::BOX;
object.primitives[0].dimensions = { 2.0, 2.0,0.01 };
geometry_msgs::msg::Pose pose;
pose.position.x = 0.0;
pose.position.y = 0.0;
pose.position.z = 0.0;
object.pose = pose;
planning_scene_interface.applyCollisionObject(object);