This is the main script of the current section. The difference between it and previous section is in the way we get robot's coordinates (from amcl as opposed to from dif. drive odometry alone) and logic for some navigation functions was changed accordingly. Here, "some navigation functions" means that I am not going to fine tune this class completely, as I am planning to additionally improve it in the following sections. So I have only changed the rotation function, as rotation was the most error prone part of the project in previous section.
11_charger_docking.py