Сумобот 6. Подходы к реализации.

05.09.2012
By

2012-09-05 сегодня должны придти моторы из Китая- можно будет начинать создание нового робота на основе 4 проекта, как наиболее хорошо себя зарекомендовавшего, хотя и с ограничениями – в частности управление сервомоторами проше и предсказуемее управления двигателями постоянного тока.

Для улучшения поиска и удержания цели предполагается использовать датчик srf04, укрепленный на сервоприводе для поиска поворотами вправо и влево. Кроме того, предполагается использовать менее прямолинейную тактику поведения. В частности – добавить первичный маневр- сразу по истечении 5 секунд, отведенных правилами на режим спокойствия.

Кроме того, как идея родилась использование статичного робота – ловушки, раскладывающего платформу после старта и ожидающего на этой платформе соперника, а затем его переворачивающего на ней и затем выталкивающего.

Итак у нас есть основные события, на которые должен реагировать бот и основные исполнительным устройства ( моторы) с их алгоритмами поведения. Кроме того, есть частота цикла, определяющая пульс движений бота. Если не используется параллельные вычисления, то надо все делать в данной частоте «пульса».

Датчики
1. Датчик края поля.
2. Датчик обнаружения объекта на заданном расстоянии

Исполнительным устройства
1. Серво радара дальномера
2. Двигатели

По каждой системе – события
1. Датчик края поля
А) на черном поле
Б) на белом поле
2. Датчик обнаружения объекта на заданном расстоянии
А) расстояние до объекта за пределами диапазона расстояния
Б) расстояние в пределах
В) расстояние меньше нижнего предела

Исполнительным механизмы
1. Серво радара
а) первичное положение +90 градусов к направлению движения.
Б) первичный обзор на 180 градусов (от +90до -90)
* первичные режимы могут быть реализованы поворотом колес на месте
В) рабочий режим поиска (+- 30 градусов к направлению движения)
http://picaxe.hobbizine.com/srf05.html полезная информация по использованию соната

2. Двигатели
А) движение вперед
Б) назад
В) вправо
Г) влево
Д) остановка

Маневры стандартные
А) форсаж
Б) первичный маневр – надо обдумать исходя их характеристик поля

Логика примерно следующая:
Loop()
{// начало loop
Получаем данные датчиков белого поля
Если на черном
{// начало если на черном
Получаем данные о расстоянии до объекта
Если

}//конец цикла на черном
Иначе если на белом
{// начало если на белом

}// конец если на белом

}//конец loop

Подпрограмма получения расстояния до объекта
{// необходимо вычислить вектор движения

}

2012-09-22 получившийся резльтат неудовлетворителен. Двигатели оказались слишком тихоходны, чтобы продолжать двигаться в данном направлении

тем не менее – получен результат:

Добавить комментарий