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

Mutex groups, dynamic charging, and more #310

Merged
merged 100 commits into from
Dec 15, 2023
Merged

Mutex groups, dynamic charging, and more #310

merged 100 commits into from
Dec 15, 2023

Conversation

mxgrey
Copy link
Contributor

@mxgrey mxgrey commented Nov 29, 2023

New features

  • Mutex Groups: Now lanes and vertices can be assigned to a "mutex group". Before a robot can begin using a lane or vertex that belongs to a mutex group, the robot must lock the mutex group for itself. A mutex group can only be locked for one robot at a time. This allows graphs to be designed with improved traffic flow in cases where a system integrator can anticipate clutter.
  • Localization Hook: The EasyFullControl API now has a hook that will trigger a localization request whenever the robot has arrived at a new floor after taking the lift.
  • Dynamic Charging: You can dynamically update which chargers each robot should use while idle (or provide a location for them to park). There is also a charger schedule node that lets you pass in a schedule configuration (.yaml) and will automatically send out charger updates according to the schedule.
  • Lift Properties: The fleet adapter is now aware of lift properties (name, location, shape) and can communicate those lift properties to the client-side.
  • Door Properties: The fleet adapter is now aware of door properties and can communicate those properties to the client-side

Improved Behaviors / Fixes

  • Lift usage behavior is improved
    • Robots now set the horizon of their traffic schedule to be the point where they begin waiting for a lift session to begin
    • While using a lift, robots are stubborn, i.e. they will not participate in negotiations, forcing other agents to give way to them
    • Following replans while using a lift, the adapter will reliably determine if the lift session must remain locked or should be release
  • "Finishing tasks" (e.g. returning to charger) will now be immediately canceled when a new task request comes in instead of needing to finish.
  • Doors will be opened or released reliably as needed after a replan occurs
  • Task bidding calculations are done outside of the main worker loop so that task auctions no longer have a risk of slowing down normal operations

mxgrey and others added 30 commits September 5, 2023 22:12
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
mxgrey and others added 15 commits November 26, 2023 16:50
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
@mxgrey mxgrey changed the title [WIP] Mutex groups, dynamic charging, and more Mutex groups, dynamic charging, and more Dec 12, 2023
@mxgrey mxgrey marked this pull request as ready for review December 12, 2023 10:11
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
Signed-off-by: Michael X. Grey <grey@openrobotics.org>
@mxgrey mxgrey merged commit 2e4dcbd into main Dec 15, 2023
4 checks passed
@mxgrey mxgrey deleted the mutex_groups branch December 15, 2023 02:57
mxgrey added a commit that referenced this pull request Dec 15, 2023
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Co-authored-by: Xiyu Oh <xiyu@openrobotics.org>
arjo129 pushed a commit that referenced this pull request Jun 7, 2024
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Xiyu Oh <xiyu@openrobotics.org>
Co-authored-by: Xiyu Oh <xiyu@openrobotics.org>
Signed-off-by: Arjo Chakravarty <arjoc@google.com>
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.

2 participants