Posted by @bot-lin:
Hi, I have three robot connecting to rmf via Wifi. How do I tell the RMF if one robot lost connection? For instance, which robot mode should I use?
Thanks
Zheng
ROS Resources: ROS Homepage | Media and Trademarks | Documentation | ROS Index | How to Get Help | Q&A Help Site | Discussion Forum | Service Status |
Posted by @bot-lin:
Hi, I have three robot connecting to rmf via Wifi. How do I tell the RMF if one robot lost connection? For instance, which robot mode should I use?
Thanks
Zheng
Posted by @mxgrey:
There isn’t much that Open-RMF itself can do differently while wifi is lost. It’s normal for wifi to get lost while using a lift and then reconnect once the lift arrives at the correct floor, so this is a very common situation for systems that are using Open-RMF.
If you can detect that wifi has been lost in an abnormal way and it warrants telling human operators about it, you can use the create_issue
to add issue information to the robot state. The Python API for that is a binding of the C++ API which explains how to use it.
Other than that, anything else you might do depends on whether you’re using the basic API or the EasyFullControl
API. For the basic API, just keep updating the ArrivalEstimator
based on the last known position of the robot. For the EasyFullControl
API, just keep feeding the last known position into the update
function.
Posted by @bot-lin:
Thank for you reply.
I think I just want to avoid the RMF from sending tasks to the lost robot.
Posted by @mxgrey:
To prevent tasks from being sent to a robot you’ll need to turn off its commissioning. That feature was introduced in this PR: Stabilize commissioning feature by mxgrey · Pull Request #338 · open-rmf/rmf_ros2 · GitHub
But that’s a pretty extreme measure to take for a robot if it has temporarily lost wifi. I would only do that if you expect the robot to be unusable for a prolonged period of time.