На прошлом занятии мы добились работы всех рассмотренных узлов нашего робота, но правильного исполнения заложенного алгоритма не добились. Возможно ошибка в формулах управления. Попробуем упростить их. Итак на рисунке показана таблица возможных состояний.
Зеленым выделены наборы значений при которых черный ящик выдаст управляющие сигналы на моторы для движения вперед. Из шести наборов только два управляют возможным поворотом робота. Более того в четырех наборов присутствует 0 сигнал от препятствия спереди, что противоречит заданным условиям алгоритма, по которому черный ящик управления поворотом получает управляющие сигналы на вход, только в случае обнаружения препятствия спереди (1). Значит для упрощения формул управления мы можем исключить ненужные наборы.
Таким образом формулы управления примут вид:
M1 = B & A & noC
M2 = noB & A & C
M2 = noB & A & C
Применительно к нашей программе
M1 = BBBB & AAAA & CCC;
M2 = BBB & AAAA & CCCC;
M2 = BBB & AAAA & CCCC;