Данный урок поможет нам решать задачи, в которых роботу необходимо совершить произвольный поворот корпусом вокруг своей оси.
Как и в предыдущем уроке (см. Урок 1), прежде чем приступить к программированию, нам необходимо выполнить сборку нашего робота. Примером такого робота также может послужить конструкция Базового робота из набора Lego EV3 45544.
Для составления программы для произвольного поворота робота вокруг своей оси воспользуемся блоками Рулевое управление из панели блоков Действие и Математика из панели блоков Операции с данными.
Чтобы наш робот совершил поворот вокруг своей оси на произвольный угол, необходимо знать, сколько оборотов должны совершить большие моторы, вращая колеса робота. За каждый оборот робота вокруг своей оси, его колеса преодолевают путь, равный длине окружности, диаметром которой является колея робота.
Колеей будем называть поперечное расстояние между серединами колес, закрепленных на одной оси.
Таким образом, при совершении роботом полного оборота вокруг своей оси (360 градусов), каждое его колесо проходит путь, равный S1=π*K, π — постоянная, равная 3,14, K — колея робота. Чтобы найти количество оборотов оборотов, совершаемых колесами, необходимо этот путь разделить на длину окружности колеса, тогда получим: n=(π*K)/(π*D)=K/D, где D — диаметр колеса. При повороте на произвольный угол А, колеса совершают обороты равные nA=A*K/D/360.
Составление программы начинаем с использования блока Математика в режиме Дополнения:
В параметр a впишем колею робота, b — диаметр колеса, с — значение 360. В строке формулы впишем выражение a/b/c*d, а выход блока Математика подадим на вход Обороты блока Рулевое управление как на рисунке ниже.
В параметр d вписываем значение угла в градусах, на который требуется совершить поворот корпусом робота. Следует обратить внимание, что точность поворота зависит от скорости, чем выше скорость, тем нижу точность. При повороте влияние оказывают покрытие поля, развесовка робота, его инертность и т.д. Поскольку ширина колес робота отлична от нуля, то при совершении маневра, «пятно» контакта колес с поверхностью может меняться и измеренная «идеальная» колея также может отличаться от реальной. Поэтому при тестировании значение в параметре a требуется подкорректировать исходя из эксперимента.
Пользуясь меню Инструменты>Конструктор моего блока и выполняя те же шагами, что и в предыдущем уроке, создадим собственный блок для произвольного поворота робота вправо/влево вокруг своей оси
Задание. Проверьте самостоятельно: при каких значениях скоростей поворот роботом наиболее близок к заданному в нашем блоке. Составьте таблицу с результатами вашего эксперимента..