Running the Final Script
You’re Ready to Deliver Coffee
On TurtleBot, open a terminal and run:
On the workstation, open a terminal and run:
TIP: coffebot.launch
was created in a previous tutorial.
Set TurtleBot’s Initial Pose
RViz should open showing your map. TurtleBot isn’t reliably capable of estimating its pose on startup (though it can estimate it after you initialize its pose).
Select “2D Pose Estimate”
Click and hold on the location where the TurtleBot is on the map. An arrow will appear while you are holding. Use this to estimate its orientation.
Run the final script on your workstation
By now you’ve cloned the repository and updated coffee_bot.py settings.
Initial Results
After TurtleBot checks five times if anyone needs coffee, it will return to the docking station to charge while waiting for another request.
NOTE: Once it starts the docking procedure, TurtleBot will complete it prior to checking for coffee again.
Open the Web App
You’ve already installed the web app and/or browser extension and specified valid X and Y coordinates. Go ahead and open one of them. Press “order”. After a couple of seconds, TurtleBot should head towards the coordinates you specified in the app/extension!
After TurtleBot arrives it will wait until the customer presses B0. Since there isn’t a way (yet!) for TurtleBot to know when the customer is finished brewing coffee, B0 is a way for the customer to say “I’m finished, you can go elsewhere”.
After B0 is pressed, TurtleBot will check if there are other pending coffee requests. If no additional requests exist, it will return to the docking station.
Troubleshooting
To view a dump of the last 100 coffee requests go to:
TIP: A “status” value of 0 is pending, 1 is success and 2 is failed.
If you specified an invalid X and Y coordinate (i.e. a pose that TurtleBot could never reach), you can manually remove it by finding its ID in the printqueue
(above) and then passing that value to the update call:
TIP: If you load a new map file you’ll very likely need to update everyone’s coordinates.