"Вы читаете о роботах и программировании и думаете: «Было бы здорово сделать что-то подобное самому!» Теми, кем эта идея овладевает чуть больше просто мыслей смотрят кто и как делал своего робота. Читают статьи, смотрят видео. На картинках все понятно. В видеороликах тоже обычно показываются уже готовые продукты, а также сжато показываются технологии их изготовления. И вроде бы то же всё понятно: отпилил, прикрутил, припаял, соединил, запрограммировал вон на той программе вот этим кодом."

воскресенье, 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;