Страницы

воскресенье, 31 декабря 2017 г.

Зона Ардуино: Отладка программы управления робота и модернизация формул управления

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