Гурская Наталья Викторовна

могу сделать; могу научить, КАК сделать

------------------------------------------------------------------------------------

 

5 февраля мы вернулись к работе над "Шорт-треком": именно в этой номинации нам предстоит выступать на отборочных соревнованиях на "Робофест-2016".

Задача наша понятная, но непростая: как заставить робота, который уже успешно преодолевает дистанцию от старта до финиша, делать это как можно быстрее? Конструкцию мы менять не будем: нам ее еще собирать и разбирать - нельзя отказываться от того, что мы уже наработали. Нужно "выжать" из этой конструкции максимум за счет настройки коэффициентов (или по-другому - параметров) в блоке управления роботом.

Итак, что же можно изменять? Вспомним, как у нас идет управление движением по линии:

В начале главного цикла у нас стоят два блока математики и блок управления двигателями, который и определяет, куда робот, собственно, едет. У нас три числовых параметра для управления движением робота:

1. Скорость робота - это число в третьем блоке (на картинке 40) - обозначим ее буквой V

2. Коэффициент усиления - первое число во втором блоке математики (на картинке 0.5) - обозначим его K1

3. Коэффициент при кубической составляющей - второе число в том же блоке математики (на картинке 0.001, но целиком не видно) - обозначим его К2.

Эти три числа нужно подобрать таким образом, чтобы робот ехал ровно, не вилял на прямой, максимально ровно проходил повороты, и стабильно доезжал до финиша за минимальное время. Поиск этого набора настроек мы выполнили в виде трех экспериментов:

1. Сначала увеличиваем скорость, оставляя К1 и К2 неизменными и смотрим: время прохождения уменьшилось?. При дальнейшем увеличении скорости робот начинал сильно "вилять", что его существенно замедляло, или даже сходил с дистанции. В результате получилось значение в диапазоне от 55 до 65 (для разных роботов).

2. После этого, чтобы избавиться от "виляния" на поворотах, начали изменять коэффициент К2 - причем оказалось, что для плавности хода робота его надо уменьшать. В результате остановились на значении от 0.00001 до 0.0002 (опять-таки для разных роботов).

3. Последним решили исследовать влияние первого коэффициента, то есть К1. Пробовали уменьшать (до 0.4) - робот сходит с трассы :( Пробовали увеличить до 0.6 - опять начинает "вилять". В результате решили, что тройка значений 0.5 - 0.00001 - 64 (это конкретно для моего робота, у каждого из участников - свои) это и есть те настройки, с которых нужно начинать отладку на соревнованиях.

Это исходные настройки, которые нужно будет уточнять конкретно на месте соревнований. Зависят они от освещенности, материала, на котором нарисована трасса, заряда аккумулятора робота и так далее... Это та работа, которую должен уметь выполнять КАЖДЫЙ робототехник и от качества выполнения которой существенно зависит результат выступления. 

Не забываем, что и настройку параметров робота, и выступления на соревновании необходимо проводить при ПОЛНОМ заряде аккумулятора. В дальнейшем, такую отладку программы мы будем повторять с каждым роботом перед соревнованиями - только количество и состав параметров могут существенно отличаться. Но об этом уже после Робофеста...

 

 

 

 

Как считаются баллы?

  • За 1 место работе дается 1 балл, за 2 - 2 балла, за 3 - 3 балла. Все остальные работы получают 4 балла. Такой столбик у каждого проголосовавшего.

  • Далее по строкам (т. е. за каждую работу) идет суммирование всех баллов. 

  • Места и рейтинг присваиваются от наименьшего результата.

Система опробована неоднократно.