-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Use variable move mission #16
Conversation
Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
….lane Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a few comments, but I wouldn't consider them to be blockers.
I have one general concern related to the implementation of this fleet adapter. On this line and this line we're looking at the state reported by MiR, and if it gives us a READY result then we assume that it has reached the last waypoint that we commanded to it. However, what happens if the system falls out of sync? For example, what if the following sequence happens:
This sequence may be improbable, but unless there's something in the REST API library to guarantee that the REST request/response ordering is FIFO, we have to consider that this sequence is possible. Packets dropping over wifi with TCP resending the requests + responses could allow this sequence to happen. I've certainly witnessed this kind of behavior in async systems that don't have message ordering guarantees. |
…pdated all use cases as well, added additional documentation Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
Yeah I can see that happening in rare scenarios, #20. I'll try to get it addressed in the next overhaul. |
Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
* Adding task planner params, waypoint and lane merge distance, various fixes in accessing dict Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Using member function to insert update rmf_updater instead of lambda Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Basic prototype for perform action working, needs refactoring Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Reading actions from config file to be accepted Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Add example for perform action, and added in max merge waypoint and lane distance in example config Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Changing rouge warn to info Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Reporting error to execution Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Fix missing assignment to None Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Using a Action class to encompass all action related members Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Use variable move mission (#16) * First implementation of calling predefined variable move mission Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * added variable_move_mission field in example config, fixed mir_config Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Add assert that start sets are not empty, and fix API usage for start.lane Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Removed unused create move missions, fix use before declare Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Docking using pre-defined mission, adding to example config Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Changed variable_move_mission to more descriptive rmf_move_mission, updated all use cases as well, added additional documentation Signed-off-by: Aaron Chong <aaronchongth@gmail.com> Signed-off-by: Aaron Chong <aaronchongth@gmail.com> Signed-off-by: Aaron Chong <aaronchongth@gmail.com>
Fixes: #7
charge
finishing_request, executes thedock
command successfully, tested on hardware, however once docked and charging starts, it was found that the fleet adapter is unable to interrupt it and send new commands even though the robot is fully charged, charge finishing task can't be interrupted #17