Чтож на ютуб по каким то не понятным причинам видео не грузится, поэтому загрузил на ютубру. ТОЛЬКО ЗВУК ЗАРАНЕЕ ВЫКЛЮЧИТЕ. Почему то после загрузки вместо звука шум. http://rutube.ru/tracks/2478545.html?v= ... 235a93b5d1
Народ мож кто идейку подкинет . Уже всю голову сломал как лучше будет управлять 3-мя дальномерами работающих на объезд препятствий. Значит 3 датчика зафиксировано на платформе один прямо другие направлены вправо и влево под углом 45. Один на подвижной туреле(движения влево-вправо, вверх-вниз, но он скорей всего будет на измерения расстояния работать, поэтому по возможности его не трогаем). С боковым всё понятно препятствие слева поворачиваем вправо и т.д. А как быть с центральным. Допустим ножка стула, не делать же отъезд назад чтоб робот поехал снова вперёд и наткнулся на эту ножку снова. А разворот лишь в одну сторону не то. Если есть идеи внимательно слушаю
Можно ввести несколько переменных (типа память ) и использовать результаты накопленных в них событий... сколько до этого было поворотов направо или налево.... сколько пройдено расстояния вообще и от последнего поворота...например: если последний поворот был налево и пройдено большое расстояние (например по времени) то поворот налево ещё раз, так как впереди скорее всего стена... ну или, как то так...
Во спасиб, навёл на нужные мысли . Ну несколько не обязательно достаточно одной будет. Можно попробовать сделать переменную которая будет изменяться. Типо первый раз перед сабой видит стену, поворачивает влево и изменяет переменную с 0 на 1. А в след. раз когда увидит препятствие уже будет проверять чему равна данная переменная если 0, значит влево, если 1 значит вправо, затем обнуляем переменную.
Идея была пошире конечно...но принцип один, использование памяти. Причём я думаю, что зацикливаться на бинарных ячейках не стоит. Гораздо интересней использовать несколько ячеек, увеличивая значение одной из них, при наступлении события, а затем сравнивать накопленные события и выбирать действия. При достижении заполнения одной из связанных ячеек (например переменные - количество поворотов направо и к-во налево) делить значения обоих ячеек на 2...не давая им переполнится. И на основе разницы значений в них, "знать" куда мы давно не поворачивали... лучше если это будет небольшой массив переменных, в которых запоминаются разные события и отдельная ветка программы (возможно вызываемая по таймеру) которая и обрабатывает этот массив, являющийся как-бы "виртуальными датчиками", для основной программы. Такой вот маленький и непредсказуемый мозг
То что ты предлагал эт уж оч круто, но говорю на мысли нужные навёл. Пробовал заносить значение переменной в ячейку внешней памяти, но чёт не получилось. Датчик вообще перестал реагировать.
Идея наверное древна как сам мир, но, а что если с помощью этих дальномеров сканировать область перед роботом (или да же вокруг него). Потом с помощью "графика" определить где находится ножка стула, и сделать уже вывод куда поворачивать/ехать.