Best approach for waiting on an elevator door to open
Hello, I am working on an Ros module that allows our robot to traverse between two floors using a elevator.
The elevator uses a sliding door.
Currently navigation is good enough to get into position in front of the door and wait.
I was thinking I would do something like
- Position in front of elevator (done)
- Detect that the door is closed
- Wait until the door opens
- Enter the elevator/ turn to face the door (allow the door to close again)
- .... And get out of the elevator/ Switch floor maps and so on.
My problem is steps 2) and 3).
Some of my questions:
I am unsure how I say to ROS that I want you to wait for obstacle at position x,y to clear? Then continue. <-- This a big question for me (If you could explain how this is done I would be very grateful)
How do I keep the planner from quitting if the robot has to wait a hour for the door to open?
How do I keep the planner from trying to take alternate routes inside the elevator? (this may be an mute point as the robot's planner will only see one route into the elevator)
If this approach is just bad overall feel free to suggest another more robust version.
P.S. This is 2D navigation/obstacle detection using a LIDAR sensor. I have an premade accurate map of the environment that the robot is using AMCL to localize from. Knowing this I am able to say location x,y is an door on a map.