Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Determine slotcar target heading by proximity to the commanded heading in its trajectory #254

Merged
merged 1 commit into from
Oct 30, 2020

Conversation

mrushyendra
Copy link
Contributor

Modifies compute_change_in_rotation to choose a heading based on proximity to the commanded heading
in the slotcar's trajectory, instead of choosing a heading based off of the amount of rotation required.

Modifies compute_change_in_rotation to choose heading based on proximity
to the commanded heading in the trajectory, instead of choosing heading
based off of the amount of rotation required.
@luca-della-vedova
Copy link
Member

I gave it a quick try on the office scenario and I could still find some cases in which the robots have the unintended spinning but it does happen very seldom so it's a tricky issue to debug.
You might need to set the reversible tag to false in the fleet adapter launch since it seems the behavior mostly happens with non reversible robots, i.e add:

<arg name="reversible" value="false"/>

@mrushyendra
Copy link
Contributor Author

mrushyendra commented Oct 23, 2020

(Reposting from our meeting discussion just for log purposes):

After logging several different examples, it seems like the slotcar itself largely rotates correctly - i.e. to match the direction of dpos, taking into account the waypoint pose and travelling in the shortest direction possible (clockwise/anti-clockwise). However, sometimes the commanded pose itself may be such that it requires some spinning. This mostly seems to occur when:

  1. The robot starts travelling to a new waypoint, but some negotiation happens, causing its goal to be reset to a previous waypoint.
  2. The distance to this previous waypoint dpos is very small, but the angle between its current pose and the direction vector calculated from dpos may be large, so the robot spins in place to get to this new waypoint which is very close by.

I think we discussed that this would need some changes elsewhere to potentially fix.

@luca-della-vedova luca-della-vedova merged commit 604b732 into open-rmf:master Oct 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants