Goto_place tasks look-ahead feature questions (#417)

Posted by @cwrx777:

Hi,

I read with great interest on the options for go_to_place task.

  1. I don’t understand the description.
    • what does one in A list of places that the robot might go after it reaches this one refer to? is it place?
    • what activities in It will not actually go to these places unless other activities bring it there? what’s the triggering condition?
  2. I used the following in the description, but the robot only went to coe and back to charger. When does the robot go to the waypoints in the followed_by ?
{
  "place":{
    "waypoint": "coe"
  },
  "followed_by": [
    {"waypoint": "coe"},
    {"waypoint": "lounge"},
    {"waypoint": "pantry"},
  ]
}
Chosen answer

Answer chosen by @cwrx777 at 2024-02-07T07:48:42Z.
Answered by @mxgrey:

The followed_by field is used primarily in patrolling tasks where a robot is required to pass through a sequence of waypoints that might create a traffic conflict for other robots.

Ordinarily when the robot is carrying out a go_to_place, we only report its traffic prediction up to the time that it should reach the place it’s going to. If the place it’s going to is in the middle of a high-traffic area, then this short prediction horizon could lead to avoidable traffic conflicts happening shortly after it arrives there. We specifically saw this problem happen when multiple robots needed to patrol along paths that intersect with each other.

The followed_by parameter was a workaround so that the patrolling robots could effectively say “First I’m going to point X, then after that I expect to go to points A, B, and C”. Other robots who are planning on going to points A, B, or C then have an opportunity to plan around that longer horizon.

However the robot’s task still needs to have one go_to_place for each of those points: A, B, and C. So you’d end up with a task that looks like this:

- go_to_place X, followed by A, B, and C
- go_to_place A, followed by B and C
- go_to_place B, followed by C
- go_to_place C

I expect us to have a cleaner way of representing this in the future, but for now I don’t think this feature has any use cases beyond patrol tasks.

Posted by @cwrx777:

I notice that the goto place with followed by is GoToPlace look-ahead feature.
What is the feature for and in what scenario will it be useful?

Posted by @mxgrey:

The followed_by field is used primarily in patrolling tasks where a robot is required to pass through a sequence of waypoints that might create a traffic conflict for other robots.

Ordinarily when the robot is carrying out a go_to_place, we only report its traffic prediction up to the time that it should reach the place it’s going to. If the place it’s going to is in the middle of a high-traffic area, then this short prediction horizon could lead to avoidable traffic conflicts happening shortly after it arrives there. We specifically saw this problem happen when multiple robots needed to patrol along paths that intersect with each other.

The followed_by parameter was a workaround so that the patrolling robots could effectively say “First I’m going to point X, then after that I expect to go to points A, B, and C”. Other robots who are planning on going to points A, B, or C then have an opportunity to plan around that longer horizon.

However the robot’s task still needs to have one go_to_place for each of those points: A, B, and C. So you’d end up with a task that looks like this:

- go_to_place X, followed by A, B, and C
- go_to_place A, followed by B and C
- go_to_place B, followed by C
- go_to_place C

I expect us to have a cleaner way of representing this in the future, but for now I don’t think this feature has any use cases beyond patrol tasks.


This is the chosen answer.