| В прошлой заметке было уделено вниманию реализации куска программы, отвечающего за раскладку кубиков по корзинам. В этом материале будет рассмотрен вариант, что роботу делать дальше, как двигаться на финиш. |
В общем случае, для раскладывания кубиков и для дальнейшего перемещения, во главу угла, на первое время, должно ставиться не скорость работы, а стабильность, повторяемость результатов. Робот должен из раза в раз делать одни и те же действия, не должен сбиваться. Поэтому имеет смысл при проектировании конструкции и алгоритма работы задуматься, какие элементы поля он будет использовать для позиционирования, какие элементы поля позволят программе сказать буквально следующее "в этот момент прохождения трассы я точно знаю, где нахожусь, поэтому следующая цепочка действий однозначно приведет меня к следующему такому моменту".
Это правило будет использоваться при размышлениях, представленных ниже. А начнется все с конструкции...
Очевидно, что после анализа задания "Батик" становиться ясно - робот должен обладать двумя важными конструктивными элементами:
- Механизм, с помощью которого выкладываются кубики на поле, вместе с резервуаром для кубиков
- Приспособление, позволяющее аккуратно задвинуть цилиндр в соответствующую зону
Ниже будет подразумеваться, что механизм выталкивания расположен таким образом, что не мешает роботу перемещаться, прижавшись правым краем (если смотреть по ходу движения) вплотную к борту. Также следует отметить, что приспособление выталкивания цилиндра будет находиться в задней части робота. В передней же части располагаются датчики, использовавшиеся для навигации в зоне корзин.