Моделирование и сочетание компьютерных рисунков с движением. Курсовая работа: Моделирование движения парашютиста

Раздел программы: “Формализация и моделирование”.

Тема урока: “Моделирование движения”.

Тип урока: урок изучения нового материала.

Вид урока: комбинированный.

Технология: личностно-ориентированная.

Время проведения: второй урок по теме “Моделирование графических объектов”.

Цели урока:

  • развитие представлений о моделировании как методе познания;
  • формирование системно-информационного подхода к анализу окружающего мира;
  • формирование общеучебных и общенаучных навыков работы с информацией.

Задачи урока:

  • Воспитательная – развитие познавательного интереса, воспитание информационной культуры, воспитание умения четко организовать самостоятельную работу.
  • Учебная – изучить и закрепить прием моделирования динамических объектов.
  • Развивающая – развитие системно-конструктивного мышления, расширение кругозора.

Методы: словесные, наглядные, практические.

Организационные формы работы: фронтальные, индивидуальные.

Материально-техническая база:

  • презентация “Моделирование движение”;
  • комплекс: демонстрационный экран и компьютер с ОС Windows-9x с установленным MS Office 2000;
  • компьютеры с программной средой Turbo Pascal 7.0.

Межпредметная связь : математика.

1. Подготовка к уроку

Для урока подготовлена презентация с помощью Power Point с целью визуализации информации по ходу объяснения нового материала. (Приложение1.ppt)

План урока:

Содержание этапа урока Вид и формы работы
1. Организационный момент Приветствие
2. Мотивационное начало урока Постановка цели урока.
Фронтальный опрос
3. Изучение нового материала Использование слайдов, работа в тетради
4. Этап закрепления, проверки полученных знаний Практическая работа: компьютерный эксперимент по проверке программы
5. Этап систематизации, обобщения изученного Самостоятельная работа за компьютером: компьютерный эксперимент по исследованию модели.
Работа в тетради
6. Подведение итогов, домашнее задание Работа в тетради

Ход урока

2. Организационный момент

3. Мотивационное начало урока. Постановка цели урока

Учитель: На прошлом занятии мы строили статичное изображение.

Вопрос: Какая модель называется статической? Какая модель называется динамической?

Ответ: Модель, описывающая состояние объекта, называется статической. Модель, описывающая поведение объекта, называется динамической.

Учитель: Сегодня продолжим тему построение изображений, но уже в динамике, т.е. объект будет изменять свое положение на плоскости во времени. Начну с демонстрации имеющейся у меня копилки программ, которые хорошо иллюстрируют тему сегодняшнего урока. (Начинается показ через запуск программ на ЯП Паскаль “Хаотичное движение” , “Полет в космосе” , “Движение колеса” (Приложение2.pas, Приложение3.pas, Приложение4.pas). Изучение модели движения мы и посвятим сегодняшний урок.

В классе на экране тема урока “Моделирование движения”.

Запишите тему сегодняшнего урока.

Учитель: Условие задачи зафиксируйте в тетради.

Для решения задачи смоделируем процесс движения сначала через описательную модель, затем формализованную и, наконец, компьютерную, чтоб можно было реализовать модель на компьютере.

Для начала давайте обсудим вопрос, что значит создать анимацию (иллюзию движения какого-либо объекта)?

Обсуждение. Заслушивание всех вариантов ответов, вплоть до невозможных.

Предполагаемый ответ: Если это как в мультипликации, то, наверное, это должно быть в виде набора статичных изображений сменяющих друг друга через какое-то время.

Учитель: Хорошо.

4. Изучение нового материала

Словесную описательную модель нашей задачи можно сформулировать так:

Учитель вслух комментирует описательную модель, просит учащихся зафиксировать ее в тетради.

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

Учащиеся фиксируют эту модель в тетрадь.

Учитель: А вот как это будет выглядеть на экране (слайд выполнен с анимацией, круг проделывает движение слева на право).

Учащиеся наблюдают.

Учитель: Запишем словесный алгоритм реализации нашей модели. Ясно, что для повторения многократного изображений круга каждый раз в новой точке экрана понадобится цикл.

Вопрос: Какой цикл лучше использовать?

Ответ: For-To-Do.

Вопрос: Какая процедура поможет нам нарисовать круг белого цвета? Черного цвета?

Ответ: SetColor(15) и Circle(X,Y,R), затем SetColor(0) и Circle(X, Y, R).

Вопрос: Как осуществить задержку времени на пример на 100 м/сек?

Ответ: Delay(100).

Учитель: Правильно.

Демонстрируем слайды с 8 по 10. Учащиеся сверяют свои ответы с правильными.

Учитель: А теперь запишите всю программу целиком у себя в тетради.

Выдерживаем паузу 5–7 минут. Затем даем возможность свериться с образцом.

В транспортном потоке каждый автомобиль движется либо под влиянием со стороны других участников движения, либо в отсутствии их влияния. Движение автомобиля будем называть свободным, если ни один из участников дорожного движения не оказывает влияния на движение этого автомобиля, а также на мнение водителя о дорожно-транспортной обстановке, в результате изменения которого он мог бы изменить режим движения своего автомобиля. Скорость движения такого автомобиля будем называть скоростью свободного движения на данном участке дороги.

Основанием для моделирования свободного движения автомобиля явились:

Уравнения теории эксплуатационных свойств автомобиля:

а) тягово-скоростные и тормозные свойства автомобиля;

б) уравнения криволинейного движения и устойчивости автомобиля.

Натурные наблюдения за параметрами движения автомобилей на двухполосных дорогах.

Математическая модель свободного движения автомобиля имеет следующую концептуальную основу:

Мера воздействия на органы управления автомобиля, а также мнение водителя о ДТС могут измениться только при наступлении одного из ситуаций, перечисленных ниже.

На каждом участке дороги водитель стремится поддерживать оптимальную с его точки зрения (базовую) скорость движения, которая зависит от цели и дальности поездки, вида перевозимого груза (количества пассажиров), состояния здоровья и степени утомления водителя и других факторов. Базовая скорость в модели задается случайным законом распределения, полученным в результате натурных наблюдений.

Если базовая скорость движения автомобиля на следующем участке дороги отличается от базовой скорости на текущем участке, то водитель заранее изменяет скорость движения автомобиля таким образом, чтобы к моменту въезда на новый участок скорость движения достигла величины базовой скорости на новом участке.

Водитель может через органы управления автомобиля воздействовать на параметры движения следующими способами:

а) изменить скорость движения и ускорение нажатием на педаль тормоза или акселератора (выдвижением рейки);

б) изменить передаточное число КПП, что позволяет изменить диапазон значений скорости движения автомобиля;

в) изменить направление движения автомобиля, вращением рулевого колеса.

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

С точки зрения обеспечения базовой скорости движения автомобиля в конкретных дорожных условиях могут возникнуть следующие характерные обстоятельства:

возможность водителя увеличить скорость движения автомобиля до базовой скорости ограничена тягово-динамическими характеристиками автомобиля;

возможность водителя уменьшить скорость движения автомобиля в режиме торможения (экстренное торможение) ограничена коэффициентом сцепления шины с дорогой и/или тормозными характеристиками автомобиля;

возможность водителя изменить скорость движения автомобиля до базовой скорости не ограничено ни тягово-динамическими или тормозными характеристиками автомобиля, ни сцепными качествами поверхности дороги.

Рассмотрим подробнее, каким образом моделируется движение автомобиля в перечисленных выше случаях.

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

P т = P п + P к + P в + P и, (2.5)

где P т - тяговая сила при установившейся скорости автомобиля;

P п - сила сопротивления подъему;

P к - сила сопротивления качению;

P в - сила сопротивления воздуху;

P и - сила сопротивления разгону (приведенная сила инерции).

Существуют различные зависимости, аппроксимирующие внешние характеристики двигателя. В рассматриваемой модели дифференциальные уравнения движения автомобиля получены на основе аппроксимации внешней характеристики двигателя, приведенной в работе :

где N e , N max - соответственно, мощность и максимальная мощность двигателя, квт;

M k - крутящий момент двигателя, Нм;

M kN - крутящий момент двигателя, при максимальной мощности, Нм;

a, b, c - постоянные коэффициенты для данного двигателя;

n - угловая скорость коленчатого вала двигателя, об/мин;

n N - угловая скорость коленчатого вала при максимальной мощности двигателя, об/мин.

После замены всех членов уравнения (2.5) на соответствующие значения и некоторых преобразований получается:

Где m a - масса автомобиля, кг;

m 0 - масса автомобиля, с номинальной нагрузкой, кг;

u k i - передаточное число коробки передач;

v - скорость движения автомобиля, м/с;

тр - коэффициент полезного действия трансмиссии;

k p - коэффициент коррекции двигателя;

Номинальная скорость движения автомобиля при i-й передаче, м/c;

G a - сила тяжести, действующий на автомобиль, Н;

k f - параметр учета влияния скорости движения на коэффициент сопротивления качению колеса;

W - фактор обтекаемости автомобиля, кг/м;

f 0 - коэффициент сопротивления качению при малой скорости движения;

б - продольный уклон дороги.

Уравнение (2.8) определяет ускорение автомобиля в зависимости от скорости движения. Для рассматриваемой имитационной модели зависимости вида “ускорение - скорость”, “путь разгона - скорость” и т. д. непригодны, поскольку при пересчете векторов-координат автомобилей через интервал времени t min (см. блок 12 на рис 2.16) возникает необходимость определения этих параметров в зависимости от времени.

С целью определения зависимости скорости движения от времени при полной подаче топлива можно проинтегрировать выражение (2.8). Пусть начальным условием будет v = v 0 при t=0. Тогда после интегрирования получим:

Проинтегрируем (2.13) еще раз, при начальных условиях t=0 и s=s 0 . Получим:

где v 0 - начальная скорость движения автомобиля;

s 0 - начальное положение автомобиля;

v 1 и v 2 - корни уравнения.

Для того чтобы получить зависимость a = a(t) нужно найти производную выражения (2. 13) по времени. Получим:

Выражения (2.13) - (2.15) позволяют пересчитать параметры движения автомобиля через произвольный промежуток времени t min , в условиях ограничения параметров движения тягово-динамическими характеристиками автомобиля.

Во втором случае моделирование движения автомобиля осуществляется при следующих допущениях:

силы реакции R x достигают максимального значения одновременно для всех колес;

коэффициенты сцепления x всех колес с дорогой, а следовательно, и ускорение автомобиля j з остаются неизменными за весь период установившегося замедления.

При таких допущениях процесс торможения может быть описан тормозной диаграммой j з = j(t) (рис. 2.3) . Весь процесс торможения с момента обнаружения опасности до полной остановки автомобиля состоит из следующих этапов:

время реакции водителя t рв;

время запаздывания t з;

время нарастания тормозного усилия t н;

время установившегося замедления t уст;

время растормаживания t р.

В случае торможения при полном использовании сил сцепления (экстренное торможение) j уст зависит только от коэффициента сцепления шин с дорогой и продольного уклона дороги, а значение ускорения можно считать постоянным:

Скорость движения и пройденный путь автомобиля в произвольный момент времени t легко определяются интегрированием выражений (2.16) и (2.17):

Рис. 2.3 Тормозная диаграмма автомобиля

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

j уст < a < a max , (2. 20)

и определяется водителем.

С целью упрощения расчетов предполагается, что в таком режиме автомобиль движется равноускоренно до следующего особого состояния. Скорость движения и пройденный путь автомобиля через промежуток времени t в таком случае определяются следующим образом:

Теперь рассмотрим движение автомобиля в условиях изменения направления движения.

В модели предусмотрены следующие виды траекторий движения автомобилей:

прямолинейное движение;

круговое движение (угол поворота управляемых колес не изменяется);

криволинейное движение при постоянной угловой скорости поворота управляемых колес;

Маневрирование автомобилей (обгоны, перестраивания по полосам движения, повороты и т.д.) являются опасными, но в то же время неотъемлемыми элементами движения автомобилей. С изменением направления движения автомобилей связаны многочисленные конфликтные ситуации и ДТП, поскольку такие маневры, часто совершаемые внезапно для других участников дорожного движения, создают возмущения в транспортном потоке. Несмотря на это, в существующих имитационных моделях дорожного движения различных отечественных и зарубежных исследователей упрощенно описываются движение автомобиля и траектории отдельных его точек при изменении направления движения. Часто положение автомобиля на дороге задается только продольной координатой; при этом подразумевается, что в поперечном направлении автомобиль не движется, а изменение полосы движения при обгонах или маневрах перестроения происходит скачкообразно. В тех моделях, где учитывается поперечное движение, в лучшем случае движение автомобиля рассматривается как плоскопараллельное движение, при котором продольная ось автомобиля остается параллельной относительно продольной оси дороги. Такое упрощение оправдано при решении некоторых задач, таких, как определение скорости сообщения, определение пропускной способности участка дороги, при решении проблем экологии и т. д., потому что значительно упрощает модель и уменьшает объем расчетов. Однако при решении задач оценки уровня безопасности движения такое упрощение не оправдано.

Криволинейное движение автомобиля в рассматриваемой имитационной модели определяется:

координатами расчетной точки автомобиля относительно неподвижной системе координат;

курсовым углом движения автомобиля;

углом поворота управляемых колес автомобиля;

угловой скоростью поворота управляемых колес.

Расчетной точкой, относительно которого производятся все расчеты по определению координат автомобиля, в модели принята середина задней оси автомобиля. В таком случае уравнения, определяющие координаты имеют наименее громоздкий вид.

В модели движение автомобиля рассматривается как чередование прямолинейного движения, кругового движения и криволинейного движения переменного радиуса. Первые два достаточно хорошо описываются сравнительно простыми аналитическими выражениями. Рассмотрим подробней криволинейное движение (рис. 2.4). В дальнейшем будем принимать следующие допущения:

углы поворота обоих управляемых колес автомобиля равны между собой;

у колес автомобиля отсутствует боковой увод;

угловая скорость поворота управляемых колес постоянна;

расчетная точка автомобиля движется с постоянным ускорением;

автомобиль движется на плоскости (плоское движение);

отсутствует буксование колес;

крен автомобиля не влияет на траекторию.

Для оценки уровня безопасности движения первые два допущения мало значимы. Если в процессе движения значение угловой скорости поворота управляемых колес либо ускорение расчетной точки автомобиля существенно изменяется, то траектория автомобиля разбивается

на несколько участков, на каждом из которых значения указанных величин принимается постоянными.

Рис. 2.4

Таким образом, в пределах приемлемой точности вышеуказанные допущения значительно упрощают расчеты.

В работах приводятся уравнения, которые позволяют определить траекторию движения автомобиля. Так, в работе приведены следующие формулы, определяющие курсовой угол и координаты движения середины задней оси автомобиля:

где x в, y в - координаты середины задней оси автомобиля;

C 1 и C 2 - постоянные, определяемые начальными условиями;

Угол поворота управляемых колес автомобиля;

v o - скорость движения автомобиля;

k - угловая скорость поворота управляемых колес автомобиля;

L 0 - база автомобиля;

k p - режимный параметр, характеризующий режим криволинейного движения:

Аналогичные формулы, но относительно движения центра масс автомобиля приведены в работе:

где x ц.м. , y ц.м. - координаты центра масс автомобиля;

C 1 , C 2 , C 3 - постоянные, определяемые начальными условиями;

v a - скорость движения автомобиля;

v y - скорость бокового смещения центра масс автомобиля;

a - угловая скорость продольной оси автомобиля в горизонтальной плоскости.

Траектории точек автомобиля, находящихся на продольной оси, могут быть заданы зависимостью ее кривизны от времени. Однако, моделирование криволинейного движения автомобиля в неподвижной системе координат через x в, и y в, а также угла гораздо удобнее.

В уравнениях (2.23) - (2.26) скорость движения автомобиля предполагается постоянной величиной. В реальном процессе движения автомобиля в транспортном потоке часто сочетаются криволинейное движение с изменением скорости движения. Это происходит, в частности, в следующих ситуациях:

перед остановкой автомобиль одновременно уменьшает скорость движения и криволинейным движением приближается к правой кромке проезжей части;

после трогания с места автомобиль увеличивает скорость движения и по криволинейной траектории приближается к середине полосы движения;

во время обгона, особенно в первой фазе обгона с ожиданием, автомобиль меняет полосу движения и одновременно увеличивает скорость движения;

на перекрестках, после запрещающего сигнала светофора, или после пропуска помехи справа, поворачивающие автомобили двигаются криволинейно и с ускорением и т.д.

Сочетание криволинейного движения с изменением скорости движения является потенциальным источником конфликтных ситуаций, т.к. оно часто заставляет других участников движения изменить режим движения. Криволинейное движение автомобиля обязательно необходимо моделировать с учетом ускорения.

Уравнения, приведенные в разных исследованиях для определения траектории криволинейного движения, чаще всего выражают параметры движения автомобиля в виде дифференциальных уравнений или интегралов. Как правило, подынтегральные выражения имеют сложный аналитический вид и в явном виде не интегрируются. Поэтому, либо такие уравнения решаются численными, приближенными методами с применением компьютеров, либо траектория движения строится графическим или графоаналитическим методом. При решении многих конкретных задач эти методы оказываются целесообразными, особенно первый из них, при помощи которого можно рассчитать траекторию движения практически с любой точностью. Однако это достигается за счет больших затрат машинного времени счета. В течение имитационных экспериментов на задаваемом участке дороги одновременно могут находиться сотни автомобилей, каждый из которых совершает различные маневры, в том числе и криволинейное движение с ускорением. При использовании итерационных методов с целью расчета траектории движения большие затраты машинного времени неизбежны. Это резко замедляет работу имитационной модели в реальном масштабе времени. Поэтому здесь более целесообразным представляется разложение подынтегральных выражений в степенной ряд с требуемой точностью. Далее, после интегрирования полученных многочленов можно получить искомые параметры криволинейного движения в аналитическом виде.

Пусть автомобиль движется с постоянным ускорением a. Тогда выражение (2.23) принимает следующий вид:

Разложим в степенной ряд подынтегральное выражение, содержащееся в правой части (2.30) и возьмем столько членов, сколько требуется для обеспечения необходимой точности. Обозначим

Тогда (2.30) можно переписать в следующем виде:

Приближенные аналитические решения уравнений (2.24) и (2.25) также будем искать, разлагая в степенной ряд функции f()=cos(()) и g()=sin(()), где курсовой угол определяется из выражения (2.31). Производные от упомянутых функций первых нескольких порядков приведены в табл. 2.1.

Пусть в начале криволинейного движения курсовой угол автомобиля 0 =0. Тогда:

Теперь можно определить траекторию движения точки B автомобиля (рис. 2.4). Выражения (2.24) и (2.32) позволяют после интегрирования (2.24) получить

Аналогично, из выражений (2.25) и (2.33) после интегрирования (2.25) можно получить

Выражения (2.34) и (2.35) вполне приемлемы для расчета траектории движения автомобиля, если за время криволинейного движения курсовой угол автомобиля изменяется не более чем на 90°. В реальных дорожных условиях такое изменение практически никогда не превышает

Таблица 2.1

Производные от функций f(и) и g(и) первых нескольких порядков

Порядок производной n

f(n)(и), при и=0

g(n)(и), при и=0

105 B4-588 B2-896 D2

420 B3-272 B+1120 B D2

2520 B3 D+8160 B D

8064 B2 D-2240 D3+2176 D

6300 B4-18960 B2+25200 B2 D2-31104 D2

945 B5+16380 B3-7936 B+57120 B D2

Таблица 2.2

Значения функций f(и) и g(и), описывающие процесс поворота автомобиля ГАЗ-24 при v 0 =10 м/с, k =0,05 рад/с, L 0 =2,8 м, 45°.

г(и), по формуле (2.23), град

f(и), по формуле (2.23)

f(и), по формуле (2.32)

g(и), по формуле (2.23)

g(и), по формуле (2.33)

В табл. 2.2 приведены значения функций f() и g(), которые описывают процесс поворота автомобиля ГАЗ-24 при v 0 =10 м/с, k =0,05 рад/с, L 0 =2,8 м. Вычисления проводились с одной стороны с применением выражения (2.23), а с другой стороны - выражений (2.32) и (2.33). При <90° расхождения в значениях функций не превышает 0,1%, что вполне обеспечивает требуемую точность вычислений.

Координаты любой другой точки E автомобиля (рис. 2.4), находящейся от точки B на расстояниях a и b, соответственно по продольной и поперечной оси автомобиля, можно определить следующим образом:

Рассмотрим, каким образом происходит процесс поворота в имитационной модели в режиме свободного движения. До начала криволинейного движения водитель уменьшает скорость движения до значения базовой скорости свободного движения v св на участке поворота. С такой скоростью он завершает поворот, а после поворота при необходимости опять увеличивает скорость движения. Значение скорости движения v св определяется на основе натурных наблюдений.

Модель процесса поворота представляет собой последовательность трех этапов (рис. 2.5):

водитель с постоянной угловой скоростью р1 вращает рулевое колесо по/против направления часовой стрелки, при правом/левом повороте. Управляемые колеса совершают поворот с угловой скоростью k1 . Автомобиль совершает криволинейное движение. Радиус кривизны траектории движения уменьшается от + до R п (участок E 1);

водитель держит рулевое колесо в неподвижном состоянии. Автомобиль двигается по круговой траектории с постоянным радиусом поворота R п относительно центра поворота С. Этот этап в процессе поворота может отсутствовать (участок E 2);

водитель вращает рулевое колесо в обратном направлении с постоянной угловой скоростью р2 . Управляемые колеса поворачиваются с угловой скоростью k2 . Автомобиль снова движется по криволинейной траектории. Радиус кривизны траектории движения увеличивается от R п до + (участок E 3).

Первая часть неравенства (2.38) объясняется стремлением водителя удержать автомобиль на своей полосе движения. При < S 0min водитель не в состоянии предотвратить выезд автомобиля за пределы своей полосы движения, если ускорение не изменять (если ускорение изменится, то S 0min тоже изменится).

Рис. 2.5 Схема к описанию модели процесса поворота автомобиля

Вторая часть неравенства объясняется тем, что, если в начале поворота > S 0max , и в дальнейшем водитель не изменит параметры движения автомобиля (k и a), то автомобиль либо выедет за пределы проезжей части дороги, либо пересечет биссектрису OC угла ц под острым углом, т.е. в дальнейшем опять-таки выедет за пределы полосы движения. Поэтому, для предотвращения этого, водитель вынужден приближаться к повороту до тех пор, пока не выполнится второе условие неравенства (2.38) и только после этого начинать поворот.

Водитель начинает поворот на некотором расстоянии до центра O перекрестка. является случайной величиной. При принятых выше ограничениях значение величины находится в пределах:

S 0min < < S 0max (2.38)

Угловая скорость поворота управляемых колес k , которая определяется как отношение угловой скорости поворота рулевого колеса р на передаточное число рулевого механизма, рассматривается как случайная величина и определяется следующим образом:

определяется минимальное значение kmin угловой скорости поворота управляемых колес, при котором автомобиль в процессе поворота не выедет за пределы полосы движения с противоположной стороны от центра поворота С (рис. 2.6а);

определяется максимальное значение kmax угловой скорости поворота управляемых колес, при котором автомобиль в процессе поворота не выедет за пределы полосы движения со стороны центра поворота (рис. 2.6б);

определяются значения р min и р max угловой скорости поворота рулевого колеса, соответствующие значениям kmin и kmax ;

между значениями р min и р max генератором случайных чисел по заранее заданному закону распределения разыгрывается случайное число k ", которое и является значением угловой скорости поворота управляемых колес на первом этапе поворота.

Рис. 2.6 Схема к вычислению угловой скорости поворота управляемых колес автомобиля в процессе поворота

Закон распределения случайной величины k ", определяется в результате натурных наблюдений (см. п. 3.2, рис. 3.12). На третьем этапе значение угловой скорости поворота управляемых колес k "" определяется аналогично.

Цели урока:

Обучающие (конечные результаты урока):

Знание: знать, что представляют собой процесс движения, как его организовать в Qbasic.

Понимание: уметь привести примеры движения, которые можно смоделировать на ЭВМ.

Применение: уметь составить программу, реализующую движение по заданной траектории, проверить ее на ЭВМ.

Анализ: уметь определить результаты работы строк из программы, выявить ошибки.

Синтез: уметь создать моделирующую программу с использованием движения.

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

Развивающие: развитие общеучебных умений и навыков, воображения и фантазии.

Воспитательные: воспитание ученика самостоятельной, организованной личностью.

Оборудование:

компьютерный класс, язык программирования Qbasic, презентация по теме урока, проектор к ЭВМ, экран, карты урока, карточки с правильными ответами для самоконтроля, демонстрационные программы.

Ход урока:

Наш урок посвящен практическому применению операторов организации циклов. С их помощью мы научимся моделировать на компьютере процесс движения различных объектов.

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

Говоря о движении, сразу вспоминается крылатое выражение «Движение – это жизнь». И действительно, кто не хотел, чтобы неподвижная картинка на экране «ожила». Например, на ней пошел бы «настоящий» снег, неподвижный кораблик поплыл, а стрелки часов начали бы свой ход. Этому «волшебству» мы можем научиться сегодня на уроке.

Итак, вы узнаете,

Как смоделировать процесс движения по прямой;

Рассмотрите примеры программ;

Научитесь «оживлять» объекты;

Проанализируете готовые программы;

Сравните процесс движения в графическом и текстовом режимах.

Что такое движение? С физической точки зрения движение – это изменение положения тела с течением времени. Для начала мы будем моделировать движение простых объектов– точки, окружности, линий. Вспомним их форматы записи.

У каждого объекта выбирается точка с координатой (x,y), положение которой будет меняться. Если для окружности – это координата центра, то у линии (прямоугольника) - это только одна из точек.

Если мы хотим перемещать символы по экрану, то нам потребуются операторы: LOCATE для выбора положения символа и PRINT для его печати.

Каковы правила моделирования движения?

1) Выберем координаты.

2) Изобразим объект.

3) Сделаем паузу.

4) Сотрем объект (закрашивая его цветом фона, или на месте удаляемых символов будем печатать пробелы).

5) Выберем следующие координаты.

Хотелось бы обратиться к еще одному высказыванию О. Холмз: «В нашей жизни важно не столько положение, в котором мы находимся, сколько направление, в котором мы движемся». Помимо глубокого философского смысла, оно имеет самое прямое отношение к моделированию движения.

Для перемещения очень важно, по какой траектории будет двигаться объект: по прямой (в горизонтальном или вертикальном направлениям), или графикам различных функций. Сегодня мы уделим внимание только движению по прямой (в горизонтальном и вертикальном направлении).

Тренинг 1. Движение по горизонтали.

Определите по приведенным траекториям следующие данные и занесите в таблицу:

номер графика

координата X меняется

координата Y

Тренинг 2. Движение по вертикали.

Определите по приведенным траекториям следующие данные и занесите в таблицу:

номер графика

координата X

координата Y меняется

Составьте программу, моделирующую движение точки по траектории графика №_____.

Тренинг 3.

Определите по приведенным строкам программы направление, в котором движется объект (вверх, вниз, вправо или влево по экрану), обозначьте направление стрелками:

1) FOR Y= 5 TO 100 STEP 10 _____________________________

2) FOR X= 1 TO 400 STEP 1 _____________________________

3) FOR X= 300 TO 40 STEP -10 _____________________________

4) FOR Y= 200 TO 10 STEP -10 _____________________________

5) FOR Y= 105 TO 3 STEP 10 _____________________________

6) FOR X= а TO a-100 STEP -10_____________________________

Тренинг 4.

Определите результат выполнения программы:

CLS
SCREEN 12
FOR Y= 5 TO 25 STEP 1
X=10
LOCATE Y,X
PRINT “ *”
SLEEP 1
LOCATE Y,X
PRINT “ ”
NEXT Y
FOR Х= 10 TO 60 STEP 1
Y= 25
LOCATE Y,X
PRINT “ *”
SLEEP 1
LOCATE Y,X
PRINT “ ”
NEXT Х
END

Упражнения

  1. В предложенной программе внести следующие изменения:
    1. чтобы точка двигалась по заданной траектории из тренинга 1;
    2. чтобы точка двигалась по заданной траектории из тренинга 2;
    3. чтобы двигалась не точка, а окружность (радиус = 30);
    4. чтобы окружность двигалась в обратном направлении;
    5. чтобы двигался закрашенный прямоугольник со сторонами 50 и 30.

Подсказка. Форматы записи:

окружность CIRCLE (X, Y), R, C

закрашенный прямоугольник LINE (X,Y) – (X1,Y1), C, BF

Составить программу для моделирования движения символов по экрану, составляющих любое из предложенных слов:

Домашнее задание:

1) Смоделируйте на компьютере сюжет русской народной сказки «Колобок». Изобразите дорогу-лабиринт и колобка, который ее успешно преодолевает.

2) Действие одного из компьютерных вирусов на экране проявлялось тем, что напечатанные символы «ссыпались» вниз. Составьте программу, которая моделировала бы данный процесс.

3) Видоизмените программу, так, чтобы пользователь печатал слово в произвольном месте экрана, но его «постигала бы та же участь».

Подведение итогов урока.

Ответьте на вопросы:

1) Как организуется движение по горизонтальной траектории?

2) Как смоделировать движение по вертикали?

3) В чем отличие моделирования движения графических объектов и текстовых символов?

4) Какие процессы можно смоделировать, пользуясь полученными на уроке знаниями?

Допустим, вы двигаетесь на велосипеде, и вдруг кто-то толкает вас сбоку. Чтобы быстро восстановить равновесие и избежать падения, вы повернете руль велосипеда в направлении толчка. Велосипедисты делают это рефлекторно, но удивительно, что велосипед может выполнить это действие самостоятельно. Современные велосипеды могут самостоятельно удерживать равновесие даже при движении без управления. Посмотрим, как этот эффект можно смоделировать в COMSOL Multiphysics.

Что мы знаем о самобалансировании велосипедов

Современный велосипед не очень сильно отличается от безопасного велосипеда — одной из первых конструкций, появившейся в 80-х годах XIX века. По прошествии более ста лет ученые все еще пытаются выяснить, за счет каких эффектов велосипед становится самобалансируемым. Другими словами, как неуправлемый велосипед сохраняет равновесие в вертикальном положении? Описанию движения велосипеда с помощью аналитических уравнений посвящено множество опубликованных работ. Одной из первых важных публикаций по этой теме была статья Фрэнсиса Уиппла, в которой он получил общие нелинейные уравнения динамики велосипеда, управляемого велосипедистом без использования рук.

Принято считать, что устойчивость велосипеда обеспечивается двумя факторами — гироскопической прецессией переднего колеса и стабилизирующим действием продольного наклона оси поворота колеса. Совсем недавно команда исследователей из Делфта и Корнелла (см. ) опубликовала всеобъемлющий обзор линеаризованных уравнений движения для модели велосипеда Уиппла. Они использовали свои результаты для демонстрации самобалансирующегося велосипеда. Их исследование показывает, что этому явлению нельзя дать простое объяснение. Сочетание факторов, в том числе гироскопического и стабилизирующего эффектов, геометрии велосипеда, скорости и распределения массы позволяет неуправляемому велосипеду сохранять вертикальное положение.

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

Положение велосипеда в разные моменты времени.

Многотельная модель велосипеда

Чтобы обеспечить чистое качение колес и ограничить их проскальзывание в трех направлениях, нам нужны три граничных условия.


Модель колеса с отображением направлений, в которых ограничены перемещения.

Используются следующие ограничения: Отсутствие проскальзывания в прямом направлении:

{\frac{d\bold{u}}{dt}.\bold{e}_{2}=r\frac{d\bold{\theta}_s}{dt}}

Отсутствие проскальзывания в поперечном направлении:

\frac{d\bold{u}}{dt}.\bold{e}_{3}=r\frac{d\bold{\theta}_{l}}{dt}

Отсутствие проскальзывания перпендикулярно поверхности контакта с землей:

\frac{d\bold{u}}{dt}.\bold{e}_{4}=0

где \bold{e}_{2} , \bold{e}_{3} , and \bold{e}_{4} — мгновенное направление (наклонная ось), поперечное направление (ось вращения) и нормаль к поверхности контакта (\bold{e}_{4}=\bold{e}_{2} \times\bold{e}_{3}) , соответственно;

\frac{d\bold{u}}{dt} — поступательная скорость движения; r — радиус колеса; \frac{d\bold{\theta}_{s}}{dt} — угловая скорость вращения; \frac{d\bold{\theta}_{l}}{dt} — угловая наклонная скорость.

Поскольку применить указанные граничные условия к скорости невозможно, они дискретизируются во времени и накладываются следующим образом:

(\bold{u}-\bold{u}_{p}).\bold{e}_{2}=r(\bold{\theta}_{s}-\bold{\theta}_{sp})

(\bold{u}-\bold{u}_{p}).\bold{e}_{3}=r(\bold{\theta}_{l}-\bold{\theta}_{lp})

(\bold{u}-\bold{u}_{p}).\bold{e}_{4}=0

где \bold{u}_{p} , \bold{\theta}_{sp} и\bold{\theta}_{lp} — это вектор смещения, угол вращения и наклона в предыдущий момент времени, соответственно.

В дискретных граничных условиях, обеспечивающих отсутствие проскальзывания, используется результат расчета положения колеса на предыдущем шаге по времени. Положение жесткого тела, вращение и мгновенные положения осей на предыдущем шаге по времени сохраняются с помощью глобальных уравнений и узла Previous Solution в нестационарном решателе.

Моделирование движения самобалансирующегося велосипеда

Для анализа мы выбрали велосипед, угол наклона руля которого составляет 18°. Начальное значение скорости велосипеда составляет 4.6 м/с. Через 1 секунду после начала движения на велосипед в течение очень короткого периода времени воздействует сила 500 Н. Под действием силы велосипед отклоняется от прямолинейной траектории движения в заданном направлении.

В течении первой секунды велосипед движется вперед вдоль первоначально заданного направления с постоянной скоростью. Затем боковое усилие вызывает отклонение. Отметим, что велосипедист не держит руки на руле и не может управлять балансом велосипеда. Что происходит дальше? Мы можем заметить, что как только велосипед начинает наклоняться, руль поворачивается в направлении падения. Корректировка положения руля при падении приводит к восстановлению равновесия велосипеда.

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

Движение велосипеда на ровной поверхности при отклонении от прямолинейного движения. Стрелка показывает наклон велосипеда.

Результаты расчета углов наклона и поворота руля (слева) и относительная угловая скорость (справа) велосипеда.

Проведение анализа устойчивости

Таким образом, мы узнали, что велосипед может самобалансироваться. Исследование показало, что невозможно выделить какой-то один параметр, определяющий устойчивость велосипеда. Конструкция велосипеда, распределение массы и скорость движения — все эти факторы влияют на устойчивость. Чтобы лучше понять это явление, мы провели дополнительный анализ для изучения влияния двух параметров — начальной скорости и наклона рулевой оси. Мы использовали описанную выше модель велосипеда с углом наклона оси руля 18° и начальной скоростью 4.6 м/с в качестве исходной конфигурации и провели параметрический анализ влияния этих двух факторов.

Различные значения начальной скорости

Велосипед не может оставаться в строго вертикальном положении, когда стоит на месте. Мы изменяли скорость движения от 2.6 м/с до 6.6 м/с с шагом 1 м/с, чтобы оценить влияние этого параметра. В диапазоне 2.6–3.6 м/с велосипед наклоняется слишком сильно и неустойчив. На скорости 5.6 м/с скорость наклона стремится к нулю, но сам угол наклона приобретает ненулевое значение. Хотя данная конфигурация устойчива, велосипед будет двигаться по кругу с небольшим наклоном. На 6.6 м/с наклон и угол поворота руля увеличиваются со временем, делая движение неустойчивым.

Неустойчивое Устойчивое Неустойчивое
2.6 м/с 3.6 м/с 4.6 м/с 5.6 м/с 6.6 м/с

Устойчивый случай соответствует скорости 5.6 м/с (слева), а неустойчивый — скорости 6.6 м/с (справа).

Угол поворота руля

Узел рулевого управления очень важен для самобалансировки велосипеда. Если велосипедом невозможно управлять (например, если руль заклинило), то велосипед не сможет компенсировать наклон, поэтому он в итоге упадет. В этой связи, поворот оси руля, который контролирует уход вилки, также влияет на самобалансировку велосипеда.

Чтобы проанализировать влияние поворота оси руля на устойчивость велосипеда, мы изменяли углы поворота руля от 15° до 21° с шагом 1°. При угле в 15° наклон и угол поворота руля увеличиваются со временем, что делает данную конфигурацию неустойчивой. Велосипед устойчив в диапазоне от 16° до 19° и неустойчив для больших углов. При значениях поворота больше 19°, наклон и угол поворота колеблются, и эти осцилляции со временем возрастают, что приводит к потере устойчивости.

В этой публикации мы рассказали, как смоделировать движение неуправляемого самобалансирующегося велосипеда с помощью модуля Динамика многотельных систем (Multibody Dynamics) в COMSOL Multiphysics. Мы продемонстрировали, как реализовать ограничения на проскальзывание на жестком колесе через уравнения, а затем объединили эти ограничения с многотельной моделью велосипеда. Затем мы проанализировали влияние начальной скорости и поворота оси на устойчивость велосипеда. Оценив эти параметры, мы увидели, что велосипед может сохранять устойчивость в одной конфигурации и терять ее в другой.

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