osrf / rmf_core

Provides the centralized functions of RMF: scheduling, etc.
Apache License 2.0
102 stars 41 forks source link

Deviate from original route and move diagonally #146

Closed Benjamin-Tan closed 3 years ago

Benjamin-Tan commented 4 years ago

Version: latest master branch of commit 4d0dfca75b07c17078f88154e123a61e20b217a6

Using the demo launch file in rmf_demos, this behavior of moving diagonally is being observed across 2 different laptops. Below are the screenshots and gif for reference. It may bump into obstacles if it moves diagonally. Has anyone come across this issue before?

Office environment

Screenshot from 2020-08-03 15-20-23 Screenshot from 2020-08-03 11-34-50

Custom environment

diagonal_motion

mxgrey commented 4 years ago

Yep, this is a known behavior which results from using a deprecated fleet adapter API in simulation. We're in the process of updating the simulation fleets to use the new API, which should eliminate this unintended behavior.

In the meantime, if this is a critical issue, then we could add an interface to the deprecated API to reduce this behavior by allowing less tolerance for "lane merging" (which is what's happening here), but the trade-off is the simulation will be less robust to any situations where the robot diverges from its navigation graph.

Jason-Zhou1 commented 4 years ago

Hi mxgrey, Would you please summarize for us about the traffic management rules of the rmf_core? Thanks!

mxgrey commented 4 years ago

@Jason-Zhou1 I'm not sure that this issue ticket is right place to be discussing that question. I would recommend opening a new ticket to discuss that topic.

If you decide to follow up by opening a ticket, I might suggest being more specific about what you're trying to ask, because I'm afraid the question you've posed is so broad that I wouldn't know how to answer it. For one thing, the "traffic management" would be more accurately described as "traffic scheduling and negotiation". There aren't exactly "traffic rules" so much as a framework that allows fleets to see each other and negotiate with each other. That framework is designed to be extremely flexible, so the exact outcome of the traffic scheduling and negotiations will really depend on how the individual fleets have been integrated with RMF.

Jason-Zhou1 commented 4 years ago

Ok, I may need to reconsider how to ask this question. Thank you mxgrey.

mxgrey commented 3 years ago

This issue should get resolved by migrating to the upcoming version of free_fleet. There isn't a compelling way to fix this in the legacy fleet adapter, so the issue will remain, and we'll encourage people to migrate when possible.