Actions
Bug #147
closedskipping waypoint instruction when calling multiple waypoint in a row without pause
Status:
Closed
Priority:
Normal
Assignee:
-
Description
With the following matlab script, we noticed that some of the waypoints added to the stack were randomly ignored (see image 1) :
p10 = [1 1 1.1 0]';
p20 = [1 -1 1.1 0]';
p30 = [-1 -1 1.1 0]';
p40 = [-1 1 1.1 0]';
p50 = [0 0 1.1 0]';
duration = 5;
add_waypoint_robots(robots,p10, duration);
add_waypoint_robots(robots,p20, duration);
add_waypoint_robots(robots,p30, duration);
add_waypoint_robots(robots,p40, duration);
add_waypoint_robots(robots,p50, duration);
By adding a small pause (example : "pause(0.1);") between each call of maneuver.waypoint, the requested path would then be respected.
Files
Updated by Anthony Mallet almost 7 years ago
Indeed, in maneuver.gen you can see that "waypoint" interrupts itself,
so if you issue a new one while the prev. one hasn't completed, the
prev. one is cancelled. This is correct according to the component
spec, although maybe the specified behaviour might not be the one we
want.
I guess you are invoking the "waypoint" service asynchronously ('-a'
flag in matlab). If yes, try to invoke it synchronously, this will fix
what you are seeing.
Actions