DWAPlanner::checkTrajectory always success [closed]

asked 2014-08-13 01:35:51 -0600

Hello, I try to use the dwa_local_planner::DWAPlanner::checkTrajectory.

I have edit the dwa_planner_ros.cpp and .h in order to subsrcibe to a path and i want to check if the trajectory is right. I use the dwa_planner initialize and update by the dwa_planner_ros.cpp

  costmap_ros_->getRobotPose(current_pose_); // (costmap_ros_ is the costmap_2d::Costmap2DROS)

    //we want to clear the robot footprint from the costmap we're using
    costmap_ros_->clearRobotFootprint();

    // make sure to update the costmap we'll use for this cycle
    costmap_ros_->getCostmapCopy(costmap_);
        tf::Stamped<tf::Pose> robot_vel;
        odom_helper_.getRobotVel(robot_vel);

        tf::Stamped<tf::Pose> drive_cmds;
        drive_cmds.frame_id_ = costmap_ros_->getBaseFrameID();


        dp_->updatePlanAndLocalCosts(current_pose_,req.path); // dp_ is the dwa_local_planner::DWAPlanner
        planner_util_.setPlan(req.path);
        dp_->findBestPath(current_pose_, robot_vel, drive_cmds, costmap_ros_->getRobotFootprint());
        Eigen::Vector3f pos,vel,vel_samples;
        pos[0]=current_pose_.getOrigin().getX();
    pos[1]=current_pose_.getOrigin().getY();
    pos[2]=current_pose_.getOrigin().getZ();
        vel[0]=robot_vel.getOrigin().getX();
        vel[1]=robot_vel.getOrigin().getY();
        vel[2]=robot_vel.getOrigin().getZ();
        vel_samples[0]=3;
        vel_samples[1]=10;
        vel_samples[2]=20;

        if(dp_->checkTrajectory(pos,vel,vel_samples)){ROS_INFO("success");}else{ROS_INFO("fail");}

But even with a wrong plan ( i can visualize that the path go into walls) the checkTrajectory function always return true.

Someone can tell me what is my mistake, what I have forget?

thanks

edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tfoote
close date 2018-01-30 22:54:20.062698