From: Alberto Amengual <amengual@ICSI.Berkeley.EDU>  20060131 19:06:00

So I am attaching some more data related to my previous post. I have been doing some tracing, and it seems that the planner in fact is setting up a direct trajectory, but then for some reason it is not actually followed, and the planner has to set up new addapted (corrective) paths. I have been playing with different parameters in vfh (max_speed, max_acceleration, max_turnrate, and min_turnrate) and in wavefront (replan_dist_thresh, and replan_min_time), but no matter what I do I always get deviations from the planned path (the trajectories differ when altering the parameters). Even with the default (slow) speeds in vfh and a more frequent than default replanning in wavefront, the deviations occur IN THE PRESENCE OF THE PEOPLEBOT. If the PeopleBot is not there, the planned trajectory is followed much closer. The configuration I am currently using is driver ( name "vfh" provides ["position:1"] requires ["position:0" "laser:0"] safety_dist 0.1 distance_epsilon 0.3 angle_epsilon 2.5 max_speed 0.6 max_acceleration 0.5 min_turnrate 40 max_turnrate 75 ) driver ( name "amcl" provides ["localize:1"] requires ["odometry::position:2" "laser:2" "laser::map:0"] update_thres [0.1 5] ) driver ( name "wavefront" provides ["planner:0"] requires ["position:1" "localize:0" "map:0"] safety_dist 0.15 distance_epsilon 0.5 angle_epsilon 5 replan_dist_thresh 0.5 replan_min_time 0.1 ) The replan parameters in wavefront seem particularly important, otherwise the Pioneer really goes on little excursions around before getting to the goal location. Now a little recount on what happens and the traces. The PeopleBot is static in location (2000, 3500, 270), and the Pioneer, that moves, starts in location (0, 250, 0). I set up the goal to location (2000, 2000, 90), which is 1500mm away from the PeopleBot. Therefore, I understand that because the max_radius param of wavefront is set to 1m (default), the cost of all cells in the path would be 0, because the PeopleBot as an obstacle is further than that, and there are no other obstacles. But that does not seem to be what actually happens. Starting point: [Localize] Number of hypotheses for Pioneer: 1 [Pioneer Position] : Current location is:[0, 250, 0] [Localize] Number of hypotheses for PeopleBot: 1 [PeopleBot Position] : Current location is:[2020, 3480, 277] [Planner] : Number of waypoints to follow : 2 [Planner][Waypoints] : Following the trajectory : [0, 250, 0] [2000, 2000, 0] [Planner] : Goal is: [2000, 2000, 90] Then the Pioneer sets its orientation up, and starts to move: [Localize] Number of hypotheses for Pioneer: 1 [Pioneer Position] : Current location is:[23, 266, 118] [Localize] Number of hypotheses for PeopleBot: 1 [PeopleBot Position] : Current location is:[2020, 3480, 277] [Planner] : Number of waypoints to follow : 2 [Planner][Waypoints] : Following the trajectory : [0, 250, 0] [2000, 2000, 0] [Planner] : Goal is: [2000, 2000, 90] At first, the trajectory followed looks coherent with the planned path, and the planner simply updates the starting point: [Localize] Number of hypotheses for Pioneer: 1 [Pioneer Position] : Current location is:[764, 712, 135] [Localize] Number of hypotheses for PeopleBot: 1 [PeopleBot Position] : Current location is:[2020, 3480, 277] [Planner] : Number of waypoints to follow : 2 [Planner][Waypoints] : Following the trajectory : [775, 700, 0] [2000, 2000, 0] [Planner] : Goal is: [2000, 2000, 90] BUT THEN THE PIONEER VEERS LEFT FOR SOME REASON, SEPARATING FROM THE PLANNED PATH: [Localize] Number of hypotheses for Pioneer: 1 [Pioneer Position] : Current location is:[1144, 562, 153] [Localize] Number of hypotheses for PeopleBot: 1 [PeopleBot Position] : Current location is:[2020, 3480, 277] [Planner] : Number of waypoints to follow : 2 [Planner][Waypoints] : Following the trajectory : [775, 700, 0] [2000, 2000, 0] [Planner] : Goal is: [2000, 2000, 90] and follows: [Localize] Number of hypotheses for Pioneer: 1 [Pioneer Position] : Current location is:[1741, 840, 152] [Localize] Number of hypotheses for PeopleBot: 1 [PeopleBot Position] : Current location is:[2020, 3480, 277] [Planner] : Number of waypoints to follow : 2 [Planner][Waypoints] : Following the trajectory : [1250, 550, 0] [2000, 2000, 0] [Planner] : Goal is: [2000, 2000, 90] Eventually, it starts to move up, but again instead of moving directly towards the goal, it veers to the right for some reason. So we get the zigzag trajectory Anybody has some ideas? Thanks, Alberto 