Биографии Характеристики Анализ

4 елемента от линейната теория на автоматичното управление. TAU за най-малките: пример за внедряване на PID контролера в Unity3D


Когато въпросът за внедряването на PID контролери е малко по-дълбок, отколкото изглежда. Толкова много, че младите самодейци, които решат да приложат такава схема за регулиране, чакат много прекрасни открития, а темата е актуална. Така че се надявам този опус да е полезен за някого, така че нека да започнем.

Опитайте номер едно

Като пример, нека се опитаме да приложим схема за управление, като използваме примера за управление на хода в проста 2D космическа аркада, стъпка по стъпка, започвайки от самото начало (не забравяйте, че това е урок?).


Защо не 3D? Тъй като изпълнението не се променя, с изключение на това, че трябва да включите PID контролера, за да контролирате тангажа, отклонението и накланянето. Въпреки че въпросът за правилното прилагане на PID контрола заедно с кватернионите е наистина интересен, може би в бъдеще ще го осветя, но дори НАСА предпочита ъглите на Ойлер вместо кватернионите, така че ще се справим с прост модел на два- размерна равнина.


Като начало, нека създадем самия обект на играта космически кораб, който ще се състои от самия обект кораб на най-високото ниво на йерархията, прикрепете дъщерен обект Engine към него (чисто в името на специалните ефекти). Ето как изглежда при мен:



И върху обекта на самия космически кораб хвърляме инспекторвсякакви компоненти. Гледайки напред, ще дам екран как ще изглежда накрая:



Но това е по-късно, но засега в него все още няма скриптове, само стандартен джентълменски набор: Sprite Render, RigidBody2D, Polygon Collider, Audio Source (защо?).


Всъщност физиката е най-важното нещо за нас сега и управлението ще се извършва изключително чрез нея, в противен случай използването на PID регулатор би загубило смисъла си. Нека оставим и масата на нашия космически кораб 1 кг, а всички коефициенти на триене и гравитация са равни на нула - в космоса.


защото в допълнение към самия космически кораб, има куп други, по-малко интелигентни космически обекти, тогава първо описваме родителския клас основно тяло, който ще съдържа препратки към нашите компоненти, методи за инициализация и унищожаване, както и редица допълнителни полета и методи, например за прилагане на небесната механика:


BaseBody.cs

използване на UnityEngine; използване на System.Collections; използване на System.Collections.Generic; пространство от имена Assets.Scripts.SpaceShooter.Bodies ( публичен клас BaseBody: MonoBehaviour ( само за четене float _deafultTimeDelay = 0.05f; публичен статичен списък _bodies = нов списък (); #region RigidBody public Rigidbody2D _rb2d; публичен Collider2D _c2d; #endregion #region Препратки public Transform _myTransform; публичен GameObject _myObject; ///

/// Обект, който се появява при унищожаване ///публичен GameObject _explodePrefab; #endregion #region Аудио публичен AudioSource _audioSource; /// /// Звуци, възпроизвеждани при повреда ///публичен AudioClip _hitSounds; /// /// Звуци, които се възпроизвеждат, когато се появи обект ///публичен AudioClip _awakeSounds; /// /// Звуци, изсвирени преди смъртта ///публичен AudioClip _deadSounds; #endregion #region Променливи за външна сила /// /// Външни сили, действащи върху обекта /// public Vector2 _ExternalForces = нов Vector2(); /// /// Вектор на текущата скорост ///обществен Vector2 _V = нов Vector2(); /// /// Текущ вектор на гравитационната сила ///обществен Vector2 _G = нов Vector2(); #endregion public virtual void Awake() ( Init(); ) public virtual void Start() ( ) public virtual void Init() ( _myTransform = this.transform; _myObject = gameObject; _rb2d = GetComponent (); _c2d = GetComponentsInChildren (); _audioSource = GetComponent (); Възпроизвеждане на случаен звук (_awakeSounds); BaseBody bb = GetComponent (); _тела.Добавяне(bb); ) /// /// Унищожаване на героя /// public virtual void Destroy() ( _bodies.Remove(this); for (int i = 0; i< _c2d.Length; i++) { _c2d[i].enabled = false; } float _t = PlayRandomSound(_deadSounds); StartCoroutine(WaitAndDestroy(_t)); } /// /// Изчакайте известно време, преди да унищожите /// /// Време за чакане /// public IEnumerator WaitAndDestroy(float waitTime) ( yield return new WaitForSeconds(waitTime); if (_explodePrefab) ( Instantiate(_explodePrefab, transform.position, Quaternion.identity); ) Destroy(gameObject, _deafultTimeDelay); ) /// /// Възпроизвеждане на случаен звук /// /// Масив от звуци /// Продължителност на звука public float PlayRandomSound(AudioClip audioClip) ( float _t = 0; if (audioClip.Length > 0) ( int _i = UnityEngine.Random.Range(0, audioClip.Length - 1); AudioClip _audioClip = audioClip[_i]; _t = _audioClip.length;_audioSource.PlayOneShot(_audioClip); ) return _t; ) /// /// Понасяне на щети /// /// Ниво на щети public virtual void Damage(float damage) ( PlayRandomSound(_hitSounds); ) ) )


Изглежда, че са описали всичко, което е необходимо, дори повече от необходимото (в рамките на тази статия). Сега нека наследим класа на кораба от него кораб, който трябва да може да се движи и обръща:


SpaceShip.cs

използване на UnityEngine; използване на System.Collections; използване на System.Collections.Generic; пространство от имена Assets.Scripts.SpaceShooter.Bodies ( public class Ship: BaseBody ( public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _rotation = 0f; public void FixedUpdate() ( float torque = ControlRotate( _rotation); Vector2 force = ControlForce(_movement); _rb2d.AddTorque(torque); _rb2d.AddRelativeForce(force); ) public float ControlRotate(Vector2 rotate) ( float result = 0f; върнат резултат; ) public Vector2 ControlForce(Vector2 движение) ( Vector2 резултат = нов Vector2(); върнат резултат; ) ) )


Въпреки че няма нищо интересно в него, в момента това е просто клас.


Също така ще опишем базовия (абстрактен) клас за всички входни контролери BaseInputController:


BaseInputController.cs

използване на UnityEngine; използване на Assets.Scripts.SpaceShooter.Bodies; пространство от имена Assets.Scripts.SpaceShooter.InputController ( public enum eSpriteRotation ( Rigth = 0, Up = -90, Left = -180, Down = -270 ) public abstract class BaseInputController: MonoBehaviour ( public GameObject _agentObject; public Ship _agentBody; // Link върху логическия компонент на кораба public eSpriteRotation _spriteOrientation = eSpriteRotation.Up; //Това се дължи на нестандартната // ориентация на спрайта "нагоре" вместо "надясно" public abstract void ControlRotate(float dt); public abstract void ControlForce (float dt); public virtual void Start() ( _agentObject = gameObject; _agentBody = gameObject.GetComponent (); ) public virtual void FixedUpdate() ( float dt = Time.fixedDeltaTime; ControlRotate(dt); ControlForce(dt); ) public virtual void Update() ( //TO DO ) ) )


И накрая, класът на контролера на играча PlayerFigtherInput:


PlayerInput.cs

използване на UnityEngine; използване на Assets.Scripts.SpaceShooter.Bodies; namespace Assets.Scripts.SpaceShooter.InputController ( public class PlayerFigtherInput: BaseInputController ( public override void ControlRotate(float dt) ( // Определяне на позицията на мишката спрямо играча Vector3 worldPos = Input.mousePosition; worldPos = Camera.main.ScreenToWorldPoint (worldPos); // Съхраняване на координатите на показалеца на мишката float dx = -this.transform.position.x + worldPos.x; float dy = -this.transform.position.y + worldPos.y; //Предаване на вектор2 посока цел = ново Vector2(dx, dy); _agentBody._target = target; // Изчисляване на въртенето според натискане на клавиш float targetAngle = Mathf.Atan2(dy, dx) * Mathf.Rad2Deg; _agentBody._targetAngle = targetAngle + (float)_spriteOrientation; ) публична замяна void ControlForce( float dt) ( //Преминаване на движение _agentBody._movement = Input.GetAxis("Vertical") * Vector2.up + Input.GetAxis("Horizontal") * Vector2.right; ) ) )


Изглежда приключи, сега най-накрая можем да преминем към това, за което беше започнато всичко това, т.е. PID контролери (не забравяйте, надявам се?). Изпълнението му изглежда просто до безобразие:


използване на системата; използване на System.Collections.Generic; използване на System.Linq; използване на System.Text; пространство от имена Assets.Scripts.Regulator ( // Този атрибут е необходим, за да могат полетата на регулатора // да се показват в инспектора и сериализиран публичен клас SimplePID ( публичен float Kp, Ki, Kd; частен float lastError; частен float P, I, D ; public SimplePID() ( Kp = 1f; Ki = 0; Kd = 0.2f; ) public SimplePID(float pFactor, float iFactor, float dFactor) ( this.Kp = pFactor; this.Ki = iFactor; this.Kd = dFactor ; ) public float Update(float error, float dt) ( P = грешка; I += грешка * dt; D = (грешка - lastError) / dt; lastError = грешка; float CO = P * Kp + I * Ki + D * Kd ; върнете CO; ) ) )

Ще вземем стойностите по подразбиране на коефициентите от тавана: това ще бъде тривиален единичен коефициент на пропорционалния закон за управление Kp = 1, малка стойност на коефициента за диференциалния закон за управление Kd = 0,2, което трябва да елиминира очаквани флуктуации и нулева стойност за Ki, която е избрана, защото в нашия софтуерен модел няма статични грешки (но винаги можете да ги въведете и след това да се борите героично с помощта на интегратора).


Сега нека се върнем към нашия клас SpaceShip и се опитаме да използваме нашето творение като контролер на въртене на космическия кораб в метода ControlRotate:


public float ControlRotate(Vector2 rotate) ( float MV = 0f; float dt = Time.fixedDeltaTime; //Изчисляване на грешката float angleError = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); //Получаване на коригиращо ускорение MV = _angleController. Актуализиране (angleError, dt); връщане на MV; )

PID контролерът ще извършва прецизно ъглово позициониране на космическия кораб, използвайки само въртящия момент. Всичко е честно, физика и самоходни оръдия, почти като в реалния живот.


И без тези твои Quaternion.Lerp

if (!_rb2d.freezeRotation) rb2d.freezeRotation = true; float deltaAngle = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); float T = dt * Mathf.Abs(_rotationSpeed ​​​​/ deltaAngle); // Трансформиране на ъгъла в кватернион вектор rot = Quaternion.Lerp(_myTransform.rotation, Quaternion.Euler(new Vector3(0, 0, targetAngle)), T); // Промяна на въртенето на обекта _myTransform.rotation = rot;


Полученият изходен код на Ship.cs е под спойлера

използване на UnityEngine; използване на Assets.Scripts.Regulator; пространство от имена Assets.Scripts.SpaceShooter.Bodies ( публичен клас Ship: BaseBody ( public GameObject _flame; public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _targetAngle = 0f; public float _angle = 0f; public SimplePID _angleController = new SimplePID(); public void FixedUpdate() ( float torque = ControlRotate(_targetAngle); Vector2 force = ControlForce(_movement); _rb2d.AddTorque(torque); _rb2d.AddRelativeForce(force); ) public float ControlRotate(float) завъртане) ( float MV = 0f; float dt = Time.fixedDeltaTime; _angle = _myTransform.eulerAngles.z; //Изчисляване на грешката float angleError = Mathf.DeltaAngle(_angle, rotate); //Получаване на коригиращо ускорение MV = _angleController.Update ( angleError, dt); return MV; ) public Vector2 ControlForce(Vector2 движение) ( Vector2 MV = new Vector2(); //Част от двигател, работещ със специален ефект код в името на if (движение != Vector2.zero) ( if (_flame != null) ( _flame.SetActive(tru д); ) ) else ( if (_flame != null) ( _flame.SetActive(false); ) ) MV = движение; returnMV; ) ) )


Всичко? Прибираме ли се?



WTF! Какво се случва? Защо корабът се върти по странен начин? И защо толкова рязко отскача от други предмети? Този глупав PID контролер не работи ли?


Без паника! Нека се опитаме да разберем какво се случва.


В момента, в който се получи нова стойност на SP, има рязък (стъпков) скок в несъответствието на грешката, което, както си спомняме, се изчислява по следния начин: съответно има рязък скок в производната на грешката , което изчисляваме в този ред код:


D = (грешка - lastError) / dt;

Можете, разбира се, да опитате други схеми за диференциация, например три точки, или пет точки, или ... но пак няма да помогне. Е, те не харесват производните на резки скокове - в такива точки функцията не е диференцируема. Струва си обаче да експериментирате с различни диференциационни и интеграционни схеми, но не в тази статия.


Мисля, че е дошло времето да се изградят графики на преходния процес: стъпково действие от S(t) = 0 до SP(t) = 90 градуса за тяло с тегло 1 kg, рамо на сила с дължина 1 метър и диференциална мрежа стъпка от 0,02 s - точно както в нашия пример на Unity3D (всъщност не съвсем, при конструирането на тези графики не беше взето предвид, че моментът на инерция зависи от геометрията на твърдо тяло, така че преходният процес ще бъде малко по-различен, но все пак достатъчно подобен за демонстрация). Всички стойности на графиката са дадени в абсолютни стойности:


Хм, какво става тук? Къде отиде отговорът на PID контролера?


Поздравления, току-що се сблъскахме с феномена "ритник". Очевидно, когато процесът все още е PV = 0 и зададената точка вече е SP = 90, тогава с числено диференциране получаваме стойността на производната от порядъка на 4500, която се умножава по Kd=0,2и сумирайте с пропорционален член, така че на изхода да получим стойността на ъгловото ускорение от 990 и това вече е форма на злоупотреба с физическия модел Unity3D (ъгловите скорости ще достигнат 18000 deg / s ... аз мисля, че това е граничната стойност на ъгловата скорост за RigidBody2D).


  • Може би си струва да изберете коефициентите с копчета, така че скокът да не е толкова силен?
  • Не! Най-доброто, което можем да постигнем по този начин, е малка амплитуда на скока на производната, но самият скок ще остане същият, докато е възможно да се прецака до пълната неефективност на диференциалния компонент.

Можете обаче да експериментирате.

Опит номер две. Насищане

Логично е, че задвижваща единица(в нашия случай виртуалните маневрени тласкачи на SpaceShip) не могат да изработят големи стойности, които нашият безумен регулатор може да даде. Така че първото нещо, което правим, е да наситим изхода на регулатора:


public float ControlRotate(Vector2 rotate, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; //Изчисляване на грешката float angleError = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); / / Получаване на коригиращо ускорение CO = _angleController.Update(angleError, dt); //Насищане на MV = CO; ако (MV > тяга) MV = тяга; ако (MV< -thrust) MV = -thrust; return MV; }

И отново пренаписаният клас Ship напълно изглежда така

пространство от имена Assets.Scripts.SpaceShooter.Bodies ( публичен клас Ship: BaseBody ( public GameObject _flame; public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _targetAngle = 0f; public float _angle = 0f; public float _thrust = 1f; public SimplePID _angleController = new SimplePID(0.1f,0f,0.05f); public void FixedUpdate() ( _torque = ControlRotate(_targetAngle, _thrust); _force = ControlForce(_movement); _rb2d.AddTorque(_torque); _rb2d.AddRelativeForce(_force); ) public float ControlRotate(float targetAngle, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; //Изчисляване на грешка float angleError = Mathf.DeltaAngle(_myTransform.eulerAngles .z, targetAngle); //Получаване на коригиращо ускорение CO = _angleController.Update(angleError, dt); //Насищане на MV = CO; ако (MV > тяга) MV = тяга; ако (MV< -thrust) MV = -thrust; return MV; } public Vector2 ControlForce(Vector2 movement) { Vector2 MV = new Vector2(); if (movement != Vector2.zero) { if (_flame != null) { _flame.SetActive(true); } } else { if (_flame != null) { _flame.SetActive(false); } } MV = movement * _thrust; return MV; } public void Update() { } } }


Тогава окончателната схема на нашите самоходки ще стане такава


В същото време става ясно, че изходът на контролера CO(t)малко по-различен от променливата на процеса MV(t).


Всъщност от това място вече можете да добавите нов обект на играта - задвижваща единица, чрез който ще се контролира процесът, чиято логика може да бъде по-сложна от просто Mathf.Clamp(), например, можете да въведете дискретизация на стойностите (за да не претоварвате физиката на играта със стойности) ​нарушаване на шестици след десетичната запетая), мъртва зона (отново, няма смисъл да се претоварва физиката с ултра-малки реакции), въвеждане на забавяне в управлението и нелинейност (например сигмоида) на устройството и след това вижте какво ще се случи.


Когато започнем играта, ще открием, че космическият кораб най-накрая е станал управляем:



Ако изградите графики, можете да видите, че реакцията на контролера вече е станала така:


Тук вече се използват нормализирани стойности, ъглите се разделят на стойността на SP и изходът на контролера се нормализира спрямо максималната стойност, при която вече се извършва насищане.

По-долу е добре позната таблица на влиянието на увеличаването на параметрите на PID регулатора ( как да намалим шрифта, в противен случай таблицата за сричкопренасяне на меренга не пасва?):



И общият алгоритъм за ръчна настройка на PID контролера е следният:


  1. Избираме пропорционалните коефициенти с изключени диференциални и интегрални връзки, докато започнат автотрептения.
  2. Постепенно увеличавайки диференциалния компонент, ние се отърваваме от собствените трептения
  3. Ако има остатъчна контролна грешка (изместване), тогава я елиминираме поради интегралния компонент.

Няма общи стойности за параметрите на PID контролера: специфичните стойности зависят единствено от параметрите на процеса (характеристиката му на предаване): PID контролер, който работи перфектно с един контролен обект, няма да работи с друг. Освен това коефициентите при пропорционалните, интегралните и диференциалните компоненти също са взаимозависими.


Опит номер три. Отново производни

След като поставихме патерица под формата на ограничаване на изходните стойности на контролера, ние не решихме основния проблем на нашия контролер - диференциалният компонент се чувства зле, когато грешката на входа на контролера се променя стъпаловидно. Всъщност има много други патерици, например, по време на рязка промяна на SP, "изключете" диференциалния компонент или поставете нискочестотни филтри между SP(t)и операция, поради която ще настъпи плавно увеличаване на грешката, или можете напълно да се обърнете и да завиете истински филтър на Калман, за да изгладите входните данни. Като цяло има много патерици и добавете наблюдателРазбира се, че бих искал, но не и този път.


Затова ще се върнем отново към производната на грешката на несъответствието и ще я разгледаме внимателно:



Не забелязахте нищо? Ако се вгледате внимателно, ще откриете, че като цяло SP(t) не се променя във времето (с изключение на моментите на стъпкова промяна, когато контролерът получава нова команда), т.е. неговата производна е нула:





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




Ние променяме кода на контролера:


използване на системата; използване на System.Collections.Generic; използване на System.Linq; използване на System.Text; пространство от имена Assets.Scripts.Regulator ( публичен клас SimplePID ( публичен float Kp, Ki, Kd; частен float P, I, D; частен float lastPV = 0f; публичен SimplePID() ( Kp = 1f; Ki = 0f; Kd = 0.2f ; ) public SimplePID(float pFactor, float iFactor, float dFactor) ( this.Kp = pFactor; this.Ki = iFactor; this.Kd = dFactor; ) public float Update(float error, float PV, float dt) ( P = грешка; I += грешка * dt; D = -(PV - lastPV) / dt; lastPV = PV; float CO = Kp * P + Ki * I + Kd * D; return CO; ) ) )

И нека променим малко метода ControlRotate:


public float ControlRotate(Vector2 rotate, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; //Изчисляване на грешката float angleError = Mathf.DeltaAngle(_myTransform.eulerAngles.z, targetAngle); / / Вземете коригиращо ускорение CO = _angleController.Update(angleError, _myTransform.eulerAngles.z, dt); //Насищане на MV = CO; ако (CO >< -thrust) MV = -thrust; return MV; }

И-и-и-и ... ако стартирате играта, се оказва, че всъщност нищо не се е променило от последния опит, което трябваше да се докаже. Въпреки това, ако премахнем насищането, тогава графиката на реакцията на регулатора ще изглежда така:


скочи CO(t)все още присъства, но вече не е толкова голям, колкото беше в самото начало, и най-важното е, че е станал предвидим, т.к. се осигурява изключително от пропорционалния компонент и е ограничен от максималната възможна грешка на несъответствието и пропорционалното усилване на PID контролера (и това вече подсказва, че Kpима смисъл да изберете по-малко от единица, например 1/90f), но не зависи от стъпката на мрежата за диференциране (т.е. дт). Като цяло силно препоръчвам да използвате производната на процеса, а не грешките.


Мисля, че сега няма да изненада никого, но можете да го замените по същия начин, но няма да се спираме на това, можете да експериментирате сами и да кажете в коментарите какво се получи от него (най-интересното)

Опит номер четири. Алтернативни реализации на PID контролера

В допълнение към идеалното представяне на PID регулатора, описано по-горе, на практика често се използва стандартната форма без коефициенти КиИ kd, вместо които се използват временни константи.


Този подход се дължи на факта, че редица техники за PID настройка се основават на честотната характеристика на PID контролера и процеса. Всъщност целият TAU се върти около честотните характеристики на процесите, така че за тези, които искат да навлязат по-дълбоко и внезапно се сблъскат с алтернативна номенклатура, ще дам пример за т.нар. стандартна форма PID контролер:




където е константата на диференциране, която влияе върху прогнозирането на състоянието на системата от регулатора,
- константа на интегриране, която влияе върху интервала на осредняване на грешката от интегралната връзка.


Основните принципи за настройка на PID контролер в стандартна форма са подобни на идеализирания PID контролер:

  • увеличаването на пропорционалния коефициент увеличава скоростта и намалява маржа на стабилност;
  • с намаляване на интегралния компонент грешката на управлението намалява по-бързо с времето;
  • намаляването на константата на интегриране намалява границата на стабилност;
  • увеличаването на диференциалния компонент увеличава маржа на стабилност и скорост

Изходният код на стандартната форма можете да намерите под спойлера

пространство от имена Assets.Scripts.Regulator ( публичен клас StandardPID ( public float Kp, Ti, Td; public float error, CO; public float P, I, D; private float lastPV = 0f; public StandardPID() ( Kp = 0.1f; Ti = 10000f; Td = 0.5f; отклонение = 0f; ) public StandardPID(float Kp, float Ti, float Td) ( this.Kp = Kp; this.Ti = Ti; this.Td = Td; ) public float Update(float грешка, float PV, float dt) ( this.error = грешка; P = грешка; I += (1 / Ti) * грешка * dt; D = -Td * (PV - lastPV) / dt; CO = Kp * ( P + I + D); lastPV = PV; връщане CO; ) ) )

Стойностите по подразбиране са Kp = 0,01, Ti = 10000, Td = 0,5 - с тези стойности корабът се обръща доста бързо и има известна граница на стабилност.


В допълнение към тази форма на PID регулатор, т.нар. рецидивираща форма:



Няма да се спираме на него, т.к. актуален е предимно за хардуерни програмисти, работещи с FPGA и микроконтролери, където подобна реализация е много по-удобна и ефективна. В нашия случай - нека направим нещо на Unity3D - това е просто още една реализация на PID контролера, която не е по-добра от другите и дори по-малко разбираема, така че отново ще се зарадваме заедно колко е добре да програмирате в уютен C #, и не в зловещия и страшен VHDL, например.

вместо заключение. Къде другаде да добавите PID контролер

Сега нека се опитаме малко да усложним управлението на кораба, като използваме двуконтурно управление: един PID контролер, вече познат ни _angleController, все още отговаря за ъгловото позициониране, но вторият - новият, _angularVelocityController - контролира въртенето скорост:


public float ControlRotate(float targetAngle, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; _angle = _myTransform.eulerAngles.z; //Контролер на ъгъла на въртене float angleError = Mathf.DeltaAngle(_angle, targetAngle); float torqueCorrectionForAngle = _angleController.Update(angleError, _angle, dt); // Контролер за стабилизиране на скоростта float angularVelocityError = -_rb2d.angularVelocity; float torqueCorrectionForAngularVelocity = _angularVelocityController.Update(angular controller, //VelocityErrorror d);Error d); CO = torqueCorrectionForAngle + torqueCorrectionForAngularVelocity;//Дискретно на стъпки от 100 CO = Mathf.Round(100f * CO) / 100f;///Наситено MV = CO;if (CO > тяга) MV = тяга;if (CO< -thrust) MV = -thrust; return MV; }

Целта на втория регулатор е да намали излишните ъглови скорости чрез промяна на въртящия момент - това е подобно на наличието на ъглово триене, което изключихме, когато създадохме игровия обект. Такава схема за управление [може би] ще позволи да се получи по-стабилно поведение на кораба и дори да се получи само с пропорционални коефициенти на управление - вторият регулатор ще заглушава всички колебания, изпълнявайки функция, подобна на диференциалния компонент на първия регулатор.


Освен това ще добавим нов клас за въвеждане на играч - PlayerInputCorvette, в който завоите ще се извършват чрез натискане на клавишите ляв-десен и ще оставим целевото обозначение с мишката за нещо по-полезно, например за управление кулата. В същото време вече имаме такъв параметър като _turnRate - който отговаря за скоростта / отзивчивостта на завоя (не е ясно къде да го поставим по-добре в InputCOntroller или все още Ship).


публичен клас PlayerCorvetteInput: BaseInputController ( public float _turnSpeed ​​​​= 90f; public override void ControlRotate() ( // Намерете показалеца на мишката Vector3 worldPos = Input.mousePosition; worldPos = Camera.main.ScreenToWorldPoint(worldPos); // Съхранявайте относителни координати на показалеца на мишката float dx = -this.transform.position.x + worldPos.x; float dy = -this.transform.position.y + worldPos.y; // Преминаване в посоката на показалеца на мишката Vector2 target = new Vector2(dx, dy); _agentBody. _target = target; // Изчисляване на въртенето според натискането на клавиш _agentBody._rotation -= Input.GetAxis("Horizontal") * _turnSpeed ​​​​* Time.deltaTime; ) public override void ControlForce() ( //Преминаване на движение _agentBody._movement = Input .GetAxis("Vertical") * Vector2.up; ) )

Също така, за по-голяма яснота, хвърляме скрипт на коленете си, за да покажем информация за отстраняване на грешки

пространство от имена Assets.Scripts.SpaceShooter.UI( публичен клас Debugger: MonoBehaviour( Ship _ship; BaseInputController _controller; List _pids = нов списък (); списък _names = нов списък (); Вектор2 _ориентация = нов Вектор2(); // Използвайте това за инициализация void Start() ( _ship = GetComponent (); _controller = GetComponent (); _pids.Add(_ship._angleController); _names.Add("Контролер на ъгъл"); _pids.Add(_ship._angularVelocityController); _names.Add("Регулатор на ъглова скорост"); ) // Актуализацията се извиква веднъж на кадър void Update() ( DrawDebug(); ) .up; case eSpriteRotation.Left: return -transform.right; case eSpriteRotation.Down: return -transform.up; ) return Vector3.zero; ) void DrawDebug() ( // Vector3 посока на въртене vectorToTarget = transform.position + 5f * нов Vector3(-Mathf.Sin(_ship._targetAngle * Mathf.Deg2Rad), Mathf.Cos(_ship._targetAngle * Mathf.Deg2Rad), 0f ); // Текуща посока Vector3 heading = transform.position + 4f * GetDirection(_controller. _spriteOrientation); // Ъглово ускорение Vector3 torque = heading - transform.right * _ship._Torque; Debug.DrawLine(transform.position, vectorToTarget, Color .white); Debug.DrawLine(transform.position, heading, Color.green); Debug.DrawLine(heading, torque, Color.red); ) void OnGUI( ) ( float x0 = 10; float y0 = 100; float dx = 200; floatdy=40; floatSliderKpMax = 1; floatSliderKpMin = 0; floatSliderKiMax = .5f; float SliderKiMin = -.5f; floatSliderKdMax = .5f; float SliderKdMin = 0; int i = 0; foreach (SimplePID pid в _pids) ( y0 += 2 * dy; GUI.Box(new Rect(25 + x0, 5 + y0, dx, dy), ""); pid.Kp = GUI.HorizontalSlider(new Rect( pid.Ki = GUI.HorizontalSlider(нов Rect(25 + x0, 20 + y0, 200, 10), pid.Ki, SliderKiMin, SliderKiMax); pid.Kd = GUI.HorizontalSlider(нов Rect(25 + x0, 35 + y0, 200, 10), pid.Kd, SliderKdMin, SliderKdMax); GUIStyle style1 = нов GUIStyle(); style1.alignment = TextAnchor.MiddleRight; style1.fontStyle = FontStyle.Bold; style1.normal.textColor = Color.yellow; style1.fontSize = 9; GUI.Label(нов Rect(0 + x0, 5 + y0, 20, 10), "Kp ", style1); GUI.Label(нов Rect(0 + x0, 20 + y0, 20, 10), "Ki", ​​​​style1); GUI.Label(new Rect(0 + x0, 35 + y0, 20, 10), "Kd", style1); GUIStyle style2 = new GUIStyle(); style2.alignment = TextAnchor.MiddleLeft; style2.fontStyle = FontStyle.Bold; style2.normal.textColor = Color.yellow; style2.fontSize = 9; GUI .TextField(new Rect(235 + x0, 5 + y0, 60, 10), pid.Kp.ToString(), style2); GUI.TextField(new Rect(235 + x0, 20 + y0, 60, 10), pid. Ki.ToString(), style2); GUI.TextField(нов Rect(235 + x0, 35 + y0, 60, 10), pid.Kd.ToString(), style2); GUI.Label(new Rect(0 + x0, -8 + y0, 200, 10), _names, style2); ) ) ) )


Класът кораб също е претърпял необратими мутации и сега трябва да изглежда така:

пространство от имена Assets.Scripts.SpaceShooter.Bodies ( публичен клас Ship: BaseBody ( public GameObject _flame; public Vector2 _movement = new Vector2(); public Vector2 _target = new Vector2(); public float _targetAngle = 0f; public float _angle = 0f; public float _thrust = 1f; public SimplePID _angleController = new SimplePID(0.1f,0f,0.05f); public SimplePID _angularVelocityController = new SimplePID(0f,0f,0f); private float _torque = 0f; public float _Torque ( get ( return _torque; ) ) private Vector2 _force = new Vector2(); public Vector2 _Force ( get ( return _force; ) ) public void FixedUpdate() ( _torque = ControlRotate(_targetAngle, _thrust); _force = ControlForce(_movement, _thrust); _rb2d.AddTorque( _torque); _rb2d.AddRelativeForce(_force); ) public float ControlRotate(float targetAngle, float thrust) ( float CO = 0f; float MV = 0f; float dt = Time.fixedDeltaTime; _angle = _myTransform.eulerAngles.z; //Контролер float angleError = Mathf.DeltaAngle(_angle, targetAngle); float torqueCorrectionForAngle = _angleController.Update(angleError, _angle, dt); // Контролер за стабилизиране на скоростта float angularVelocityError = -_rb2d.angularVelocity; float torqueCorrectionForAngularVelocity = _angularVelocityController.Update(angularVelocityError, -angularVelocityError, dt); //Общ изход на контролера CO = torqueCorrectionForAngle + torqueCorrectionForAngularVelocity; //Дискретно на стъпки от 100 CO = Mathf.Round(100f * CO) / 100f; //Насищане на MV = CO; ако (CO > тяга) MV = тяга; ако (CO< -thrust) MV = -thrust; return MV; } public Vector2 ControlForce(Vector2 movement, float thrust) { Vector2 MV = new Vector2(); if (movement != Vector2.zero) { if (_flame != null) { _flame.SetActive(true); } } else { if (_flame != null) { _flame.SetActive(false); } } MV = movement * thrust; return MV; } public void Update() { } } }

Теория на автоматичното управление(TAU) е научна дисциплина, която изучава процесите на автоматично управление на обекти с различна физическа природа. В същото време с помощта на математически средства се разкриват свойствата на системите за автоматично управление и се разработват препоръки за тяхното проектиране.

История

За първи път информация за автомати се появява в началото на нашата ера в произведенията на Херон от Александрия „Пневматика“ и „Механика“, които описват автомати, създадени от самия Херон и неговия учител Ктесибий: пневматичен автомат за отваряне на вратите на храм, воден орган, автомат за продажба на светена вода и др. Идеите на Херон са изпреварили много времето си и не са намерили приложение в неговата епоха.

Устойчивост на линейни системи

устойчивост- свойството на АСУ да се връща към дадено или близко до него стабилно състояние след всяко смущение.

Устойчив ACS- система, в която преходните процеси са затихващи.

Операторна форма на запис на линеаризирано уравнение.

y(t) = y устата(t)+y Пvyn(t)+y Св.

г устатаvyn) е конкретно решение на линеаризираното уравнение.

г ПСв.) е общото решение на линеаризираното уравнение като хомогенно диференциално уравнение, т.е.

ACS е стабилна, ако преходните процеси y n (t), причинени от всякакви смущения, ще бъдат затихвани с течение на времето, т.е.

Решавайки диференциалното уравнение в общия случай, получаваме комплексни корени p i , p i+1 = ±α i ± jβ i

Всяка двойка комплексно спрегнати корени съответства на следния компонент на преходното уравнение:

От получените резултати се вижда, че:

Критерии за устойчивост

Критерий на Рут

За да се определи стабилността на системата, се изграждат таблици от формата:

Коефициенти струни колона 1 колона 2 колона 3
1
2
3
4

За стабилността на системата е необходимо всички елементи от първата колона да имат положителни стойности; ако в първата колона има отрицателни елементи, системата е нестабилна; ако поне един елемент е равен на нула, а останалите са положителни, тогава системата е на границата на устойчивост.

Критерий на Хурвиц

Детерминант на Хурвиц

Теорема: За стабилността на затворена ACS е необходимо и достатъчно детерминантата на Хурвиц и всичките й минори да са положителни при

критерий Михайлов

Нека заменим , където ω е ъгловата честота на трептенията, съответстваща на чисто въображаемия корен на дадения характерен полином.

Критерий: за устойчивостта на линейна система от n-ти ред е необходимо и достатъчно кривата на Михайлов, построена в координати, да преминава последователно през n квадранта.

Разгледайте връзката между кривата на Михайлов и знаците на нейните корени(α>0 и β>0)

1) Коренът на характеристичното уравнение е отрицателно реално число

2) Коренът на характеристичното уравнение е положително реално число

Факторът, съответстващ на дадения корен

3) Коренът на характеристичното уравнение е комплексна двойка числа с отрицателна реална част

Факторът, съответстващ на дадения корен

4) Коренът на характеристичното уравнение е комплексна двойка числа с положителна реална част

Факторът, съответстващ на дадения корен

Критерий на Найкуист

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

Нека отворената система е представена като полином

след това правим заместване и получаваме:

За по-удобно конструиране на ходографа за n>2, привеждаме уравнението (*) до „стандартната“ форма:

С това представяне модулът A(ω) = | W(jω)| е равно на отношението на модулите на числителя и знаменателя, а аргументът (фазата) ψ(ω) е разликата между техните аргументи. От своя страна модулът на произведението на комплексните числа е равен на произведението на модулите, а аргументът е сумата от аргументите.

Модули и аргументи, съответстващи на факторите на трансферната функция

Фактор
к к 0
стр ω

След това конструираме ходограф за спомагателната функция , за която ще променим

В , и в (тъй като n

За да определим получения ъгъл на въртене, намираме разликата между аргументите на числителя и знаменателя

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

Част 1. Теория на автоматичното управление (TAU)

Лекция 1. Основни термини и определения на TAU. (2 часа)

Основни понятия.

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

Физическите величини, които определят протичането на технологичния процес се наричат параметри на процеса . Например параметрите на процеса могат да бъдат: температура, налягане, поток, напрежение и др.

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

Извиква се стойността на управляваната променлива в разглеждания момент от време моментна стойност .

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

Пример 1Схема за ръчно регулиране на температурата на сушилния шкаф.


Необходимо е ръчно да се поддържа температурата в сушилния шкаф на ниво T зад.

Човекът-оператор, в зависимост от показанията на живачния термометър RT, включва или изключва нагревателния елемент H с помощта на ножовия превключвател P. ¨

Въз основа на този пример можете да въведете дефиниции:

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



контрол – формиране на управляващи въздействия, които осигуряват необходимия режим на работа на ОС.

Регламент - конкретен тип контрол, когато задачата е да се осигури постоянството на всяка изходна стойност на ОС.

Автоматичен контрол - управление, извършвано без пряко участие на лице.

Действие за въвеждане(Х)– въздействие, приложено върху входа на системата или устройството.

Изходно действие(Y)- въздействието, издадено на изхода на системата или устройството.

Външно влияние - въздействието на външната среда върху системата.

Блоковата схема на системата за управление за пример 1 е показана на фиг. 1.2.


Ориз. 1.3

Пример 3Схема на ACP температура с измервателен мост.

Когато температурата на обекта е равна на зададената, измервателният мост М (виж фиг. 1.4) е балансиран, на входа на електронния усилвател на ЕИ не постъпва сигнал и системата е в равновесие. При отклонение на температурата съпротивлението на термистора R T се променя и балансът на моста се нарушава. На входа ED се появява напрежение, чиято фаза зависи от знака на температурното отклонение от зададената. Усиленото в ЕС напрежение се подава към двигателя D, който задвижва двигателя на автотрансформатора AT в съответната посока. Когато температурата достигне зададената точка, мостът ще бъде балансиран и двигателят ще се изключи.


Дефиниции:

Влияние на настройката (същото като входното действие X) - въздействието върху системата, което определя необходимия закон за промяна на управляваната променлива).

Контролно действие (u) - влияние на управляващото устройство върху обекта на управление.

контролно устройство (CU) - устройство, което влияе върху обекта на управление, за да осигури необходимия режим на работа.

Смущаващо влияние (f) - действие, което има тенденция да наруши необходимата функционална връзка между настройващото действие и контролираната стойност.

Контролна грешка (e = x - y) - разликата между предписаните (x) и действителните (y) стойности на контролираната променлива.

Регулатор (P) - набор от устройства, свързани с регулиран обект и осигуряващи автоматично поддържане на зададената стойност на регулираната му стойност или автоматичното й изменение по определен закон.

Автоматична система за управление (ACP) - автоматична система със затворена верига на влияние, в която управлението (u) се генерира в резултат на сравняване на истинската стойност на y с дадена стойност на x.

Допълнителна връзка в блоковата схема на ACP, насочена от изхода към входа на разглеждания участък от веригата от влияния, се нарича обратна връзка (FB). Обратната връзка може да бъде отрицателна или положителна.

ACP класификация.

1. По предназначение (по естеството на промяната на задачата):

· стабилизиране на ACP - система, чийто алгоритъм на работа съдържа инструкция за поддържане на контролираната стойност при постоянна стойност (x = const);

· софтуер ACP - система, чийто алгоритъм на работа съдържа инструкция за промяна на управляваната променлива в съответствие с предварително зададена функция (x се променя от софтуера);

· проследяване на ACP - система, чийто алгоритъм на работа съдържа инструкция за промяна на контролираната стойност в зависимост от предварително неизвестна стойност на входа на ACP (x = var).

2. По броя на контурите:

· едноконтурен - съдържащи един контур,

· многоцикличен - съдържащи няколко контура.

3. Според броя на регулируемите стойности:

· едноизмерен - системи с 1 управлявана променлива,

· многоизмерен - системи с няколко регулируеми стойности.

Многомерните ACS от своя страна се подразделят на системи:

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

б) свързано регулиране, при което регулаторите на различни параметри на един и същи технологичен процес са свързани помежду си извън обекта на регулиране.

4. По функционално предназначение:

ACP за температура, налягане, поток, ниво, напрежение и др.

5. По естеството на сигналите, използвани за управление:

непрекъснато,

Дискретни (релейни, импулсни, цифрови).

6. По естеството на математическите отношения:

линейни, за които е валиден принципът на суперпозицията;

нелинейни.

Принцип на суперпозиция (наслагване): Ако към входа на обекта се приложат няколко входни действия, тогава реакцията на обекта към сумата от входните действия е равна на сумата от реакциите на обекта към всяко действие поотделно:


L (x 1 + x 2) \u003d L (x 1) + L (x 2),

където L е линейна функция (интегриране, диференциране и т.н.).

7. Според вида енергия, използвана за регулиране:

пневматичен,

хидравличен,

електрически,

механични и др.

8. Според принципа на регулиране:

· по отклонение :

По-голямата част от системите са изградени на принципа на обратната връзка - регулиране по отклонение (виж фиг. 1.7).

Елементът се нарича суматор. Неговият изход е равен на сумата от входовете. Почерненият сектор показва, че този входен сигнал трябва да бъде взет с обратен знак.

· от възмущение .

Тези системи могат да се използват, ако е възможно да се измери смущението (виж Фиг. 1.8). Диаграмата показва K - усилвател с усилване K.

· комбинирани - комбинират характеристиките на предишните ACP.

Този метод (виж фиг. 1.9) постига високо качество на управление, но приложението му е ограничено от факта, че смущаващият ефект f не винаги може да бъде измерен.


Базови модели.

Действието на регулаторната система може да се опише устно. И така, в параграф 1.1 е описана системата за контрол на температурата на сушилния шкаф. Словесното описание помага да се разбере принципът на работа на системата, нейната цел, характеристики на работа и др. Но най-важното е, че не дава количествени оценки на качеството на регулиране и следователно не е подходящ за изследване на характеристиките на системите и изграждане на автоматизирани системи за управление. Вместо това TAU използва по-прецизни математически методи за описание на свойствата на системите:

статични характеристики,

динамични характеристики,

· диференциални уравнения,

трансферни функции,

честотни характеристики.

Във всеки от тези модели системата може да бъде представена като връзка с входни действия X, смущения F и изходни действия Y

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

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

Статични характеристики.

статична характеристика елемент е зависимостта на стационарните стойности на изходното количество от стойността на количеството на входа на системата, т.е.

y уста \u003d j (x).

Статичната характеристика (виж фиг. 1.11) често се изобразява графично като крива y(x).

статичен Извиква се елемент, за който с постоянно входно действие се установява постоянна изходна стойност във времето. Например, когато към входа на нагревателя се прилагат различни стойности на напрежението, той ще се нагрее до температурните стойности, съответстващи на тези напрежения.

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

Линеен статичен елемент се нарича неинерционен елемент с линейна статична характеристика:

y уста \u003d K * x + a 0.

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

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

ACS се нарича статичен , ако при постоянно входно действие грешката на управление e клони към постоянна стойност, в зависимост от големината на въздействието.

ACS се нарича астатичен , ако при постоянно входно действие грешката на управление клони към нула, независимо от големината на действието.

Трансформации на Лаплас.

Изследването на ASR е значително опростено чрез използване на приложни математически методи на операционното смятане. Например, функционирането на определена система се описва с DE на формата

, (2.1)

където x и y са входните и изходните величини. Ако в това уравнение вместо x(t) и y(t) заместим функциите X(s) и Y(s) на комплексната променлива s, така че

И , (2.2)

тогава първоначалният DE при нулеви начални условия е еквивалентен на линейното алгебрично уравнение

a 2 s 2 Y(s) + a 1 s Y(s) + a 0 Y(s) = b 1 X(s) + b 0 X(s).

Такъв преход от диференциално уравнение към алгебрично уравнение се нарича Преобразуване на Лаплас , съответно формули (2.2). Формули за трансформация на Лаплас и полученото уравнение - операторно уравнение .

Извикват се новите функции X(s) и Y(s). изображения x(t) и y(t) според Лаплас, докато x(t) и y(t) са оригинали по отношение на X(s) и Y(s).

Преходът от един модел към друг е доста прост и се състои в замяна на знаците на диференциалите с оператори s n , знаците на интегралите с фактори и самите x(t) и y(t) с изображения X(s) и Y(s ).

За обратния преход от операторното уравнение към функциите на времето се използва методът обратно преобразуване на Лаплас . Общата формула за обратното преобразуване на Лаплас е:

, (2.3)

където f(t) - оригинал, F(jw) - изображение при s = jw, j - имагинерна единица, w - честота.

Тази формула е доста сложна, така че бяха разработени специални таблици (виж таблици 1.1 и 1.2), които обобщават най-често срещаните функции F(s) и техните оригинали f(t). Те позволяват да се откаже от прякото използване на формула (2.3).

Таблица 1.2 - Трансформации на Лаплас

Оригинален x(t) Изображение X(а)
d-функция
T
t2
t n
Яжте
а. x(t) а. X(s)
x(t - a) X(s). e - a s
s n. X(s)

Таблица 1.2 - Формули за обратното преобразуване на Лаплас (добавяне)

Законът за промяна на изходния сигнал обикновено е функция, която трябва да се намери, а входният сигнал обикновено е известен. Някои типични входни сигнали бяха обсъдени в раздел 2.3. Ето техните изображения:

действие с една стъпка има изображение X(s) = ,

делта функция X(s) = 1,

линейно действие X(s) = .

Пример. Решение на DE с помощта на трансформации на Лаплас.

Да предположим, че входният сигнал има формата на едностъпково действие, т.е. x(t) = 1. Тогава изображението на входния сигнал X(s) = .

Преобразуваме оригиналния DE според Лаплас и заместваме X(s):

s 2 Y + 5sY + 6Y = 2sX + 12X,

s 2 Y + 5sY + 6Y = 2s + 12,

Y(s 3 + 5s 2 + 6s) = 2s + 12.

Изразът за Y е дефиниран:

.

Оригиналът на получената функция не е в таблицата с оригинали и изображения. За да се реши проблемът с нейното търсене, фракцията се разделя на сбора от прости дроби, като се вземе предвид фактът, че знаменателят може да бъде представен като s(s + 2)(s + 3):

= = + + =

Сравнявайки получената дроб с оригиналната, можем да съставим система от три уравнения с три неизвестни:

M 1 + M 2 + M 3 = 0 M 1 = 2

5. М 1 + 3. М 2 + 2. M 3 \u003d 2 à M 2 \u003d -4

6. M 1 = 12 M 3 = 2

Следователно една дроб може да бъде представена като сбор от три дроби:

= - + .

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

y(t) = 2 - 4 . e -2 t + 2 . e -3 t . ¨

трансферни функции.

Примери за типични връзки.

Връзката на системата е нейният елемент, който има определени свойства в динамичен смисъл. Връзките на системите за управление могат да имат различна физическа основа (електрически, пневматични, механични и др. връзки), но принадлежат към една и съща група. Съотношението на входните и изходните сигнали в връзките на една група се описва от едни и същи предавателни функции.

Най-простите типични връзки:

усилващ,

интегриране,

Разграничаващото

апериодичен,

колебателен,

забавено.

1) Подсилваща връзка.

Връзката усилва входния сигнал с K пъти. Уравнението на връзката y \u003d K * x, трансферната функция W (s) \u003d K. Параметърът K се нарича печалба .

Изходният сигнал на такава връзка точно повтаря входния сигнал, усилен с K пъти (виж фиг. 1.15).

Примери за такива връзки са: механични трансмисии, сензори, безинерционни усилватели и др.

2) Интегриране.

2.1) Идеален интегратор.

Изходната стойност на идеалния интегратор е пропорционална на интеграла на входната стойност.

; W(s) =

Когато към входа се приложи връзка за действие, изходният сигнал непрекъснато се увеличава (виж Фиг. 1.16).

Тази връзка е астатична, т.е. няма стабилно състояние.

2.2) Реален интегратор.

Трансферната функция на тази връзка има формата:

Преходната характеристика, за разлика от идеалната връзка, е крива (виж Фиг. 1.17).

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

3) Диференциране.

3.1) Идеалният диференциатор.

Изходната стойност е пропорционална на времевата производна на входа:

При стъпаловиден вход изходът е импулс (d-функция).

3.2) Реално диференциране.

Идеалните диференциращи връзки не са физически осъществими. Повечето от обектите, които са диференциращи връзки, са истински диференциращи връзки. Преходният отговор и трансферната функция на тази връзка имат формата:

4) Апериодични (инерционни).

Тази връзка съответства на DE и PF във формата:

; W(s) = .

Нека определим естеството на промяната в изходната стойност на тази връзка, когато към входа се приложи стъпково действие със стойност x 0.

Изображение на стъпка действие: X(s) = . След това изображението на изходното количество:

Y(s) = W(s) X(s) = = K x 0 .

Нека разложим фракцията на прости:

= + = = - = -

Оригиналът на първата фракция според таблицата: L -1 ( ) = 1, втората:

Тогава най-накрая получаваме:

y(t) = K x 0 (1 -).

Константата Т се нарича времева константа.

Повечето топлинни обекти са апериодични връзки. Например, когато се приложи напрежение към входа на електрическа пещ, температурата му ще се промени по подобен закон (виж фиг. 1.19).

5) Осцилираща връзкаима DE и PF на формата

,

W(s) = .

Когато към входа се приложи стъпаловидно действие с амплитуда x 0, кривата на прехода ще бъде

имат един от двата типа: апериодичен (при T 1 ³ 2T 2) или осцилаторен (при T 1< 2Т 2).

6) Забавено.

y(t) = x(t - t), W(s) = e - t s.

Изходната стойност y точно повтаря входната стойност x с известно забавяне t. Примери: движение на товара по конвейер, движение на течност по тръбопровод.

Линк връзки.

Тъй като изследваният обект е разделен на връзки, за да се опрости анализът на функционирането, след определяне на трансферните функции за всяка връзка възниква задачата да се комбинират в една трансферна функция на обекта. Типът на предавателната функция на обекта зависи от последователността на свързване на връзките:

1) Серийна връзка.

W около \u003d W 1. W2. W 3 ...

Когато връзките са свързани последователно, техните предавателни функции се умножават.

2) Паралелно свързване.

W около \u003d W 1 + W 2 + W 3 + ...

Когато връзките са свързани паралелно, техните трансферни функции се добавят.

3) Обратна връзка

Трансферна функция според задачата (x):

"+" съответства на отрицателна ОС,

"-" - положителен.

За определяне на трансферните функции на обекти с по-сложни връзки на връзки се използва или последователно разширяване на веригата, или те се преобразуват по формулата на Мезон.

Трансферни функции на ASR.

За изследване и изчисление структурната схема на ASR се довежда до най-простата стандартна форма "обект - контролер" чрез еквивалентни трансформации.

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

В общия случай всеки едномерен ACP с основна обратна връзка може да бъде намален до тази форма чрез постепенно увеличаване на връзките.

Ако изходът на системата y не се приложи към нейния вход, тогава ще получим отворена система за управление, чиято трансферна функция се определя като произведението:

W ¥ = W p . W y

(W p - PF на контролера, W y - PF на обекта на управление).

Тоест, последователността от връзки W p и W y може да бъде заменена с една връзка с W ¥ . Предавателната функция на затворена система обикновено се означава с Ф(s). Може да се изрази чрез W ¥:

Тази предавателна функция Ф з (s) определя зависимостта на y от x и се нарича предавателна функция на затворена система по канала на главното влияние (по присвояване).

За ASR има и функции за прехвърляне за други канали:

Ф e (s) = = - по погрешка,

Ф в (s) = = - чрез смущение.

Тъй като трансферната функция на отворена система в общия случай е дробно-рационална функция от формата W ¥ = , тогава трансферните функции на затворена система могат да бъдат трансформирани:

Ф з (s) = = , Ф e (s) = = .

Както се вижда, тези трансферни функции се различават само в изразите на числителите. Изразът на знаменателя се нарича характерен израз на затворена системаи се обозначава като D s (s) \u003d A (s) + B (s), докато изразът в числителя на функцията за предаване на отворена верига W ¥ се нарича характерен израз на отворена система B(s).

Честотни характеристики.

LCH примери.

1. Нискочестотен филтър (LPF)

LACH LPCH Пример за верига

Нискочестотният филтър е предназначен да потиска високочестотните влияния.

2. Високочестотен филтър (HPF)

LACH LPCH Пример за верига

Високочестотният филтър е предназначен да потиска нискочестотните влияния.

3. Бариерен филтър.

Филтърът за прихващане потиска само определен диапазон от честоти.

Пример за схема на LAFC и LFC



Критерии за стабилност.

Устойчивост.

Важен показател за ACP е стабилността, тъй като основната му цел е да поддържа дадена постоянна стойност на контролирания параметър или да го променя според определен закон. Когато контролираният параметър се отклони от зададената стойност (например под влияние на смущение или промяна в заданието), контролерът въздейства върху системата по такъв начин, че да елиминира това отклонение. Ако системата в резултат на това действие се върне в първоначалното си състояние или премине в друго равновесно състояние, тогава такава система се нарича устойчиви . Ако, от друга страна, възникват трептения с непрекъснато нарастваща амплитуда или възниква монотонно нарастване на грешката e, тогава системата се нарича нестабилен .

За да се определи дали дадена система е стабилна или не, се използват критерии за стабилност:

1) коренен критерий,

2) Критерий на Стодола,

3) Критерий на Хурвиц,

4) Критерий на Найкуист,

5) Критерий на Михайлов и др.

Първите два критерия са необходими критерии за стабилността на отделните връзки и отворените системи. Критерият на Хурвиц е алгебричен и е предназначен да определи стабилността на затворени системи без забавяне. Последните два критерия принадлежат към групата на честотните критерии, тъй като те определят стабилността на затворените системи чрез техните честотни характеристики. Тяхната характеристика е възможността за приложение в затворени системи със закъснение, което е по-голямата част от системите за управление.

коренен критерий.

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

Корените на характеристичното уравнение могат да бъдат както реални, така и комплексни и се нанасят върху комплексната равнина, за да се определи стабилността (виж Фиг. 1.34).

(Символът обозначава корените на уравнението).

Видове корени на характеристичното уравнение:

Валиден:

положителен (корен номер 1);

отрицателен (2);

нула (3);

Комплекс

комплексни конюгати (4);

чисто въображаемо (5);

Според кратността корените са:

единичен (1, 2, 3);

конюгат (4, 5): s i = a ± jw;

кратни (6) s i = s i +1 = …

Основният критерий се формулира, както следва:

Линейният ASR е стабилен, ако всички корени на характеристичното уравнение лежат в лявата полуравнина. Ако поне един корен е на въображаемата ос, която е границата на стабилност, тогава се казва, че системата е на границата на стабилност. Ако поне един корен е в дясната полуравнина (независимо от броя на корените в лявата), тогава системата е нестабилна.

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

Пример 3.1.Трансферната функция на системата има формата:

.

Характеристично уравнение: s 3 + 2s 2 + 2,25s + 1,25 = 0.

Корени: s 1 \u003d -1; s 2 \u003d -0,5 + j; s 3 \u003d -0,5 - j.

Следователно системата е стабилна. ¨

Критерий на Стодола.

Този критерий е следствие от предходния и се формулира по следния начин: Линейната система е устойчива, ако всички коефициенти на характеристичния полином са положителни.

Тоест, за предавателното отношение от пример 3.1, според критерия Стодол, то отговаря на стабилна система.

Критерий на Хурвиц.

Критерият на Хурвиц работи с характеристичния полином на затворена система. Както знаете, структурната диаграма на ASR погрешно изглежда така (вижте фиг.)

W p - предавателна функция на контролера,

W y - предавателна функция на обекта на управление.

Нека дефинираме трансферната функция за подаване напред (трансферна функция с отворена верига, вижте раздел 2.6.4): W ¥ = W p W y .

.

По правило трансферната функция на отворена система има дробно-рационална форма:

.

Тогава след заместване и трансформация получаваме:

.

От това следва, че характеристичният полином на затворена система (CPC) може да се дефинира като сбор от числителя и знаменателя W ¥ :

D s (s) \u003d A (s) + B (s).

За да се определи стабилността според Hurwitz, се изгражда матрица по такъв начин, че коефициентите на HPCD от n +1 до 0 са разположени по главния диагонал. Отдясно и отляво на него се записват коефициентите с индекси до 2 (a 0, a 2, a 4 ... или a 1, a 3, a 5 ...). Тогава за една устойчива система е необходимо и достатъчно детерминантата и всички главни диагонални минори на матрицата да са по-големи от нула.

Ако поне една детерминанта е равна на нула, тогава системата ще бъде на границата на стабилност.

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

Пример.Предвид предавателната функция на отворена система

.

Необходимо е да се определи устойчивостта на затворена система по критерия на Хурвиц.

За да направите това, HPLC се дефинира:

D(s) = A(s) + B(s) = 2s 4 + 3s 3 + s 2 + 2s 3 + 9s 2 + 6s + 1 = 2s 4 + 5s 3 + 10s 2 + 6s + 1.

Тъй като степента на HPCD е равна на n = 4, тогава матрицата ще има размер 4x4. Коефициентите на HPLC са а 4 = 2, а 3 = 5, а 2 = 10, а 1 = 6, а 0 = 1.

Матрицата изглежда така:

(обърнете внимание на сходството на редовете на матрицата: 1 с 3 и 2 с 4). Квалификатори:

Δ1 = 5 > 0,

,

Δ 4 \u003d 1 * Δ 3 \u003d 1 * 209\u003e 0.

Тъй като всички детерминанти са положителни, тогава ACP стабилен. ♦


Критерият на Михайлов.

Критериите за стабилност, описани по-горе, не работят, ако трансферната функция на системата има забавяне, тоест може да се запише като

,

където t е закъснението.

В този случай характерният израз на затворената система не е полином и неговите корени не могат да бъдат определени. За определяне на стабилността в този случай се използват честотните критерии на Михайлов и Найквист.

Процедурата за прилагане на критерия Михайлов:

1) Характерният израз на затворена система е написан:

D s (s) \u003d A (s) + B (s) . e - t s .

Размер: px

Начална импресия от страница:

препис

1 ТЕОРИЯ НА АВТОМАТИЧНОТО УПРАВЛЕНИЕ ЗА "ДЮТИ" КЮ Поляков Санкт Петербург 8

2 КЮ Поляков, 8 "В университета трябва да представите материала на високо професионално ниво. Но тъй като това ниво е много по-високо от главата на средностатистически студент, ще обясня с пръсти. Не е много професионално, но това е разбираемо." Неизвестен учител Предговор Това ръководство е предназначено за първо запознаване с предмета. Неговата задача е да обясни "на пръсти" основните понятия на теорията на автоматичното управление и да се увери, че след като го прочетете, можете да възприемате професионална литература по тази тема Трябва да разглеждате това ръководство само като основа, стартова площадка за сериозно изучаване на сериозна тема, която може да стане много интересна и завладяваща Има стотици учебници за автоматично управление Но целият проблем е, че мозъкът, когато възприема нова информация, търси нещо познато, за което може да се „закачи“ и на тази основа да „прикачи“ новото към вече познати понятия. Практиката показва, че четенето на сериозни учебници е трудно за съвременния ученик Няма какво да се придържаме към Да, а строгите научни доказателства често избягват същността на въпроса, който обикновено е доста прост Авторът се опита да „слезе“ на по-ниско ниво и да изгради верига от „ежедневни“ концепции до концепции за контрол теория Представянето греши с отпуснатост на всяка стъпка, доказателства не се дават, формули се използват само там, където е невъзможно без тях. Математикът ще намери много несъответствия и пропуски тук, тъй като (в съответствие с целите на ръководството) изборът между строгост и яснота винаги се прави в полза на разбираемостта От читателя се изисква да има малко предварителни познания Необходимо е да има представа за някои раздели от курса на висшата математика :) производни и интеграли;) диференциални уравнения; 3) линейна алгебра, матрици; 4) комплексни числа Благодарности Авторът изказва своята дълбока благодарност на д-р А.Н.Чурилов, д-р В.Н.Калиниченко и д-р.

3 Кю Поляков, 8 Съдържание ОСНОВНИ ПОНЯТИЯ 4 Въведение 4 Системи за управление4 3 Какво представляват системите за управление? 7 МАТЕМАТИЧЕСКИ МОДЕЛА Какво трябва да знаете, за да управлявате? Свързване на вход и изход 3 Как се изграждат моделите? 4 Линейност и нелинейност 5 Линеаризация на уравнения 3 6 Управление 7 3 МОДЕЛИ НА ЛИНЕЙНИ ОБЕКТИ 3 Диференциални уравнения 3 Модели на пространството на състоянията 33 Преходна функция 34 Импулсен отговор (теглова функция) 4 35 Трансферна функция 5 36 Трансформация на Лаплас 6 37 Трансферна функция и пространство на състояния 9 38 Честота Реакция 3 39 Логаритмични честотни характеристики 6 АНАЛИЗ НА СИСТЕМАТА ЗА УПРАВЛЕНИЕ 47 6 Изисквания за контрол 47 6 Процес на изход 47 63 Точност Стабилност 5 65 Критерии за стабилност 57 66 Преходен процес 6 67 Оценки на качеството на честотата 63 68 Оценки на качеството на корена 65 69 Устойчивост 66 7 СИНТЕЗ НА РЕГУЛАТОРИ 69 7 Класове Диаграма 69 7 PID контролери 7 73 Метод на поставяне на полюсите 7 74 LAFC корекция 7 75 Комбинирано управление 75 76 Инвариантност 75 77 Много стабилизиращи контролери 76 ЗАКЛЮЧЕНИЕ 79 ЛИТЕРАТУРА ЗА ДОПЪЛНИТЕЛНО ЧЕТЕНЕ 8 3

4 Кю Поляков, 8 Основни понятия Въведение От древни времена човекът е искал да използва обекти и природни сили за свои собствени цели, тоест да ги контролира.Можете да контролирате неодушевени обекти (например, да търкулнете камък на друго място), животни (обучение), хора (началник подчинен) Много задачи за контрол в съвременния свят са свързани с технически системи на автомобили, кораби, самолети, машини.Например, необходимо е да се поддържа даден курс на кораба, височината на самолета, оборотите на двигателя, температурата в хладилника или във фурната.Ако тези задачи се решават без човешка намеса, се говори за автоматично управление.Теорията на управлението се опитва да отговори на въпроса "как трябва да се управлява?" До 19-ти век науката за управлението не съществува, въпреки че вече съществуват първите автоматични системи за управление (например вятърни мелници, „научени“ да се обръщат към вятъра) Развитието на теорията за управление започва по време на индустриалната революция. Първо, тази посока в науката е разработен от механиката за решаване на проблеми с управлението, т.е. поддържане на зададената стойност на скоростта на въртене, температурата, налягането в технически устройства (например в парни двигатели) Оттук и името „теория на автоматичното управление“ Процесите на управление и обработка на информацията в системи от всякакво естество се изучават от науката кибернетика.Един от нейните раздели, свързан главно с техническите системи, се нарича теория на автоматичното управление.В допълнение към класическите проблеми на регулирането, тя се занимава и с оптимизирането на закони за контрол, Терминът "теория на автоматичното управление" и "теория на автоматичното управление" понякога се използват като синоними.Например, в съвременната чуждестранна литература ще намерите само един термин теория на управлението Системи за управление От какво се състои системата за управление? В задачите за управление винаги има два обекта, управляван и управляващ обект.Управляваният обект обикновено се нарича обект на управление или просто обект, а обектът на управление е регулатор.Например, когато се контролира скоростта на въртене, управлението обект е двигателят (електродвигател, турбина); в проблема за стабилизиране на курса на кораб, кораб, потопен във вода; в задачата за поддържане на нивото на звука на високоговорителя Регулаторите могат да бъдат изградени на различни принципи. Най-известният от първите механични регулатори е центробежен регулатор Watt за стабилизиране на скоростта на парната турбина (на фигурата вдясно) Когато скоростта се увеличава, топките се разминават поради увеличаването на лостовете на центробежната сила, амортисьорът се затваря леко, намалявайки потока на пара към турбината Температурният регулатор в хладилник или термостат е електронна верига, която включва режима на охлаждане (или отопление) ако температурата стане по-висока (или по-ниска) от зададената.В много съвременни системи регулаторите са микропроцесорни устройства, компютри.Те успешно управляват самолети и космически кораби без участието на човешка пара към турбината 4

5 Кю Поляков, 8 ка Съвременната кола е буквално "натъпкана" с управляваща електроника, до бордови компютри.Обикновено регулаторът не действа директно върху обекта на управление, а чрез изпълнителни механизми (задвижки), които могат да усилват и преобразуват управляващ сигнал, например, електрическият сигнал може да се „превърне в движение на клапан, който регулира разхода на гориво, или в завъртане на волана под определен ъгъл, за да може регулаторът да „види“ какво всъщност се случва с даден обект, са необходими сензори.Сензорите най-често измерват онези характеристики на даден обект, които трябва да бъдат контролирани.В допълнение, качеството на управление може да се подобри, ако се получи допълнителна информация измерване на вътрешните свойства на обекта Структура на системата И така, типичната система за управление включва обект, регулатор, задвижване и сензори Въпреки това, набор от тези елементи все още не е система За да се превърне в система, са необходими комуникационни канали, чрез които се обменя информация между елементите Информацията може да се предава с помощта на електрически ток, въздух (пневматични системи), течност (хидравлични системи), компютърни мрежи Взаимосвързаните елементи вече са система, която има (поради връзки) специални свойства, които отделните елементи и всяка комбинация от тях нямат. че обектът е засегнат от околната среда външни смущения, които "пречат" на контролера да изпълни поставената задача.Повечето от смущенията са непредвидими предварително, т.е. имат случаен характер.Освен това сензорите измерват параметрите не точно, а с известна грешка, макар и малък.В този случай те говорят за "шум от измерване" по аналогия с шума в радиотехниката, който изкривява сигналите Обобщавайки, можем да начертаем блокова диаграма на системата за управление, както следва: настройка на регулатора управление задвижващ обект външни смущения обратна връзка сензори за измерване на шума Например, в системата за контрол на курса на кораба, контролният обект е самият кораб във вода; за контролиране на курса му се използва рул, който променя посоката на водния поток; цифров компютърен контролер; задвижващо кормилно устройство, което усилва управляващия електрически сигнал и го преобразува в волан; сензори измервателна система, която определя действителния курс; външни смущения са морски вълни и вятър, които отклоняват кораба от дадения курс; шумовете при измерване са сензорни грешки Информацията в системата за управление изглежда „върти в кръг“: контролерът издава управляващ сигнал към задвижването, което действа директно върху обекта; след това информацията за обекта през сензорите се връща обратно към контролера и всичко започва наново Те казват, че системата има обратна връзка, тоест контролерът използва информация за състоянието на обекта, за да развие контрол Системите с обратна връзка се наричат ​​затворени, тъй като информацията се предава по затворен контур 5

6 Кю Поляков, 8 3 Как работи регулаторът? Контролерът сравнява сигнала за настройка („настройка“, „настройка“, „желана стойност“) със сигналите за обратна връзка от сензорите и определя несъответствието (грешка при управление) разликата между зададената точка и действителното състояние Ако е нула, не необходимо е управление Ако има разлика, контролерът произвежда управляващ сигнал, който се стреми да намали несъответствието до нула. Следователно веригата на контролера в много случаи може да бъде начертана по следния начин: настройка на несъответствие (грешка) контролен алгоритъм контролна обратна връзка Такава верига показва управление чрез грешка (или чрез отклонение) Това означава, че за да започне контролерът да действа, е необходимо контролираната стойност да се отклонява от зададената стойност Блокът, маркиран със знака, намира несъответствие В най-простия случай сигналът за обратна връзка ( измерена стойност) се изважда от зададената стойност. Може ли обектът да се управлява така, че да няма грешка? В реалните системи няма. На първо място, поради външни влияния и шумове, които не са известни предварително.В допълнение, обектите за управление имат инерция, тоест не могат незабавно да превключват от едно състояние в друго.Възможностите на контролера и задвижванията (т.е. мощността на управляващия сигнал) винаги са ограничени, така че скоростта на системата за управление (скоростта на преход към нов режим) също е ограничена. и действителното състояние на обекта на управление. Такава обратна връзка се нарича отрицателен, защото сигналът за обратна връзка се изважда от главния сигнал.Може ли да е обратното? Оказва се, че да В този случай обратната връзка се нарича положителна, тя увеличава несъответствието, тоест има тенденция да "разклати" системата На практика положителната обратна връзка се използва, например, в генераторите за поддържане на незатихващи електрически трептения 4 Системи с отворена верига Възможно ли е управление без използване на обратна връзка? Принципно е възможно.В този случай контролерът не получава никаква информация за реалното състояние на обекта, следователно трябва да се знае как точно се държи този обект.Едва тогава може да се изчисли предварително как трябва да да бъде контролиран (да се изгради желаната управляваща програма). че задачата ще бъде изпълнена. Такива системи се наричат ​​системи за програмно управление или системи с отворен цикъл, тъй като информацията не се предава по затворен контур, а само в една посока. обект външни смущения Сляп и глух шофьор също може да управлява кола правилно да изчисли мястото си Докато по пътя не се срещнат пешеходци или други превозни средства, за които той не може да знае предварително.От този прост пример става ясно, че без 6

7 Кю Поляков, 8 обратна връзка (информация от сензори) невъзможно е да се вземе предвид влиянието на неизвестни фактори, непълнотата на нашите знания Въпреки тези недостатъци, системите с отворен цикъл се използват на практика скорост на въртене Въпреки това, от гледна точка на теорията на управлението системите с отворена верига не представляват голям интерес и ние вече няма да си спомняме за тях 3 Какво представляват системите за управление? Автоматичната система е система, която работи без човешка намеса.Има и автоматизирани системи, при които рутинните процеси (събиране и анализ на информация) се извършват от компютър, но цялата система се управлява от човешки оператор, който взема решения.Ние допълнително ще изучава само автоматични системи 3 Задачи на системите за управление Системите за автоматично управление се използват за решаване на три вида проблеми: стабилизиране, т.е. поддържане на даден режим на работа, който не се променя дълго време (сигналът за настройка е постоянен, често нулев ); управление на програмно управление по предварително известна програма (сигналът за настройка се променя, но е предварително известен); проследяване на неизвестен главен сигнал Системите за стабилизиране включват например автопилоти на кораби (поддържащи даден курс), системи за контрол на скоростта на турбината Системите за програмно управление са широко използвани в домакински уреди, например в перални Системи за проследяване служат за усилване и преобразуване на сигнали , те се използват в задвижвания и при предаване на команди чрез комуникационни линии, например чрез интернет 3 Едномерни и многомерни системи По броя на входовете и изходите има едномерни системи, които имат един вход и един изход ( те се разглеждат в така наречената класическа теория на управлението); многомерни системи, които имат няколко входа и/или изхода (основният предмет на изследване на съвременната теория на управлението) Ще изучаваме само едномерни системи, където и обектът, и контролерът имат един вход и един изходен сигнал едно управляващо действие (рул завой) и една регулируема стойност (направление) Но всъщност това не е съвсем вярно. Факт е, че когато курсът се промени, наклонът и диферентът на кораба също се променят. В едномерен модел ние пренебрегваме тези промени , въпреки че те могат да бъдат много значителни Например, по време на остър завой, ролката може да достигне неприемлива стойност.От друга страна, не само воланът, но и различни тласкачи, стабилизатори и др., могат да се използват за управление, това означава, че обектът има няколко входа. По този начин реалната система за контрол на курса е многомерни системи е доста трудна задача и е извън обхвата на този урок. Следователно, в и в инженерните изчисления понякога се опитват да опростят многомерна система като няколко едномерни и доста често този метод води до успех. дискретни, при които се използват дискретни сигнали (поредици от числа), дефинирани само в определени моменти от времето; 7

8 Кю Поляков, 8 непрекъснато-дискретни, в които има както непрекъснати, така и дискретни сигнали Непрекъснатите (или аналоговите) системи обикновено се описват с диференциални уравнения Това са всички системи за управление на движението, в които няма компютри и други елементи на дискретно действие (микропроцесори , логически интегрални схеми ) Микропроцесорите и компютрите са дискретни системи, тъй като цялата информация се съхранява и обработва в тях в дискретна форма. Компютърът не може да обработва непрекъснати сигнали, тъй като работи само с поредици от числа. Примери за дискретни системи могат да бъдат намерени в икономика (референтен период тримесечие или година) и в биологията (модел "хищник-плячка") За описанието им се използват разностни уравнения.Съществуват и хибридни непрекъснато-дискретни системи, например компютърни системи за управление на движещи се обекти (кораби, самолети) , автомобили и др.) В тях някои от елементите се описват с диференциални уравнения, а някои с разностни уравнения. и от гледна точка на математиката това създава големи трудности за тяхното изучаване, следователно в много случаи непрекъснато-дискретните системи се свеждат до опростени чисто непрекъснати или чисто дискретни модели. които всички параметри остават постоянни, се наричат ​​стационарни, което означава " не се променя във времето" Този урок се занимава само със стационарни системи. В практическите задачи нещата често не са толкова розови. Например, летяща ракета изразходва гориво и поради това нейната маса се променя. По този начин ракета нестационарен обект Системи, в които параметрите на обект или промяна на контролера във времето се наричат ​​нестационарни.Въпреки че теорията на нестационарните системи съществува (формулите са написани), не е толкова лесно да се приложи на практика по същия начин като външните влияния.В случая говорим за детерминистични системи, които се разглеждат в класическата теория на управлението.В реални проблеми обаче нямаме точни данни.На първо място това се отнася за външните влияния.За например, за да изследваме клатенето на кораб. на първия етап можем да приемем, че вълната има формата на синус с известна амплитуда и честота. Това е детерминистичен модел. Вярно ли е това на практика? Естествено, не. Използвайки този подход, могат да се получат само приблизителни, груби резултати. Според съвременните концепции, формата на вълната се описва приблизително като сбор от синусоиди, които имат случайни, тоест неизвестни предварително, честоти, амплитуди и фази. Смущения, шум от измерване, това също са случайни сигнали.Системите, в които има случайни смущения или параметрите на обекта могат да се променят произволно, се наричат ​​стохастични (вероятностни) Теорията на стохастичните системи ви позволява да получавате само вероятностни резултати Например, тя не може да се гарантира, че отклонението на кораба от курса винаги няма да бъде повече, но можете да се опитате да осигурите такова отклонение с определена вероятност (вероятност от 99% означава, че изискването ще бъде изпълнено в 99 случая от) Трябва да се помни, че изразът „оптимална система" не означава, че тя наистина е идеална. Всичко се определя от приетия критерий; ако е избран успешно, системата ще се окаже добра, ако не, тогава обратното 8

9 Кю Поляков, 8 37 Специални класове системи Ако параметрите на даден обект или смущенията са известни неточно или могат да се променят във времето (в нестационарни системи), се използват адаптивни или самонастройващи се регулатори, при които законът за управление се променя, когато условията се променят В най-простия случай (когато има няколко предварително известни режима на работа) има просто превключване между няколко закона за управление Често в адаптивните системи контролерът оценява параметрите на обекта в реално време и съответно променя закона за управление според към дадено правило , се нарича екстремен (от думата екстремум, което означава максимум или минимум) Много съвременни домакински устройства (например перални) използват размити контролери, изградени на принципите на размитата логика. решения: „ако корабът е отишъл твърде далеч надясно, кормилото трябва да се премести твърде далеч наляво“

10 Кю Поляков, 8 Математически модели Какво трябва да знаете за управлението? Целта на всяко управление е да промени състоянието на обекта по правилния начин (в съответствие със задачата) Теорията на автоматичното управление трябва да отговори на въпроса: „как да се изгради контролер, който да управлява този обект по такъв начин, че за постигане на целта?" За да направи това, разработчикът трябва да знае как системата за управление ще реагира на различни влияния, т.е. необходим е модел на системата: обект, задвижване, сензори, комуникационни канали, смущения, шум Моделът е обект, който използваме за изследване на друг обект (оригинал) Моделът и оригиналът трябва да са донякъде сходни, така че изводите, направени при изучаване на модела, да могат (с известна вероятност) да бъдат прехвърлени към оригинала Ще се интересуваме преди всичко от математически модели, изразени под формата на формули. В допълнение, описателни (вербални), графични, таблични и други модели Връзка на вход и изход Всеки обект взаимодейства с външната среда, използвайки входове и изходи Входовете са възможни ефекти върху обекта, изходите са тези сигнали, които могат да бъдат измерени Например, за електродвигател входовете могат да бъдат захранващо напрежение и товар, а изходите са скоростта на вала, температурата Входовете са независими, те „идват“ от външната среда При промяна и информация на входа, вътрешното състояние на обекта се променя (както се наричат ​​променящите се свойства) и в резултат на това изходите: вход x изход y Това означава, че има някакво правило, според което елементът трансформира входа x в изходът y Това правило се нарича оператор за запис y U[ x] означава, че изходът y се получава чрез прилагане на оператора U към входа x За да се изгради модел, това означава да се намери оператор, който свързва входовете и изходите Може да се използва за предсказване на реакцията на обект към всеки входен сигнал. Да разгледаме DC мотор Входът на този обект е захранващото напрежение (във волтове), изходната скорост на въртене (в обороти в секунда) Ще приемем, че при напрежение V, скоростта на въртене е об / сек и при напрежение V об / сек, т.е. скоростта на въртене е равна по големина на напрежението. Лесно е да се види, че действието на такъв оператор може да се запише като U [ x ] x Сега да предположим, че същият двигател върти колелото и като изход на обекта сме избрали броя на оборотите на колелото спрямо относно началната позиция (в момента t) В този случай, с равномерно въртене, произведението x t ни дава броя на оборотите за времето t, тоест y (x t (тук обозначението y (изрично обозначава зависимостта на изход на време t) дефиниран оператор U? Очевидно не, тъй като получената зависимост е валидна само за постоянен входен сигнал. Ако напрежението на входа x (се промени (няма значение как!), Ъгълът на въртене ще бъде записан като интеграл U Разбира се, това ще бъде само вярно в определен диапазон от напрежения

11 Kyu Polyakov, 8 t U[ x] x(dt Операторът, който действа съгласно това правило, се нарича интеграционен оператор. Използвайки този оператор, можете например да опишете пълненето на празен резервоар с вода, ако кръстът на резервоара сечението S (в m) е постоянно по цялата си височина, тогава нивото на водата h се определя като интеграла на водния поток q (в m 3 /s), разделен на S: h(q(dt, S) Обратният оператор на операторът за диференциране изчислява производната: dx(U[ x(] x& (dt) Както ще видим, този оператор играе много важна роля в описанието на управляващите обекти. Обикновено операторът за диференциране се обозначава с буквата p Запис y (p x(външно изглежда като „умножение“ на оператора p със сигнала x (, но всъщност обозначава действието на този оператор, тоест диференциране: dx (p x(() dt Къде се срещат такива оператори? Нека дадем примери от електротехниката Например известно е, че токът i (в ампери), преминаващ през верига с кондензатор, е пропорционален на производната на потенциалната разлика u (във волтове) на нейните пластини: i du( i (C C p u (dt u тук C е капацитетът на кондензатора (измерен във фаради) В допълнение, спадът на напрежението u през индуктора е пропорционален на производната на преминаващия ток i: i di(u (L L p i(dt u), където L е индуктивността (измерена в henry) Операторът за диференциране е идеален (физически неосъществим) оператор, той не може да бъде приложен на практика. За да разберем това, нека си припомним, че при мигновена промяна в сигнала, неговата производна (скорост на нарастване) ще бъде равна на безкрайност и нито едно реално устройство не може да работи с безкрайни сигнали 3 Как се изграждат моделите? Първо, математическите модели могат да бъдат получени теоретично от законите на физиката (законите за запазване на масата, енергията, импулса) Тези модели описват вътрешните връзки в обекта и като правило са най-точни. Помислете за RLC верига, това е последователно свързване на резистор със съпротивление R ( в ома), индуктор с индуктивност L и кондензатор с капацитет C Може да се опише с помощта на две уравнения: u (R i (L C u c (t di(u) (uc(L R i(dt duc(i(C dt) означава, че потенциалната разлика в краищата на RLC веригата е равна на сумата от потенциалните разлики във всички междинни секции

12 Кю Поляков, 8 магазинът се изчислява според закона на Ом, а на бобината според формулата, дадена в предходния параграф Второто уравнение описва връзката между напрежение и ток за кондензатор Входът на този обект е напрежението u (при краищата на веригата и изходната потенциална разлика u c Вторият начин за изграждане на модел в резултат на наблюдение на обект с различни входни сигнали (теорията на идентификацията се занимава с това) Обектът се разглежда като „черна кутия“, т.е. , вътрешната му структура е неизвестна. Разглеждаме как реагира на входните сигнали и се опитваме да настроим модела така, че изходите на модела и обекта да съвпадат възможно най-точно с различни входове. На практика смесеният метод често е използва се: структурата на модела (видът на уравнението, свързващо входа и изхода) се определя от теорията, а коефициентите се намират емпирично.Например общата форма на уравненията за движение на кораба е добре известна, но в тези уравнения има са коефициенти, които зависят от много факти канавка (форма на корпуса, грапавост на повърхността и т.н.), така че те са изключително трудни (или невъзможни) за намиране теоретично.В този случай, за да се определят неизвестни коефициенти, се изграждат мащабни модели и се тестват в басейни по специални методи.В самолета индустрия, аеродинамичните тунели се използват за същите цели.на всеки контролен обект е възможно да се изградят много различни модели, които ще вземат под внимание (или да не вземат предвид) определени фактори.Обикновено на първия етап те се опитват да опишат обекта възможно най-подробно, съставете подробен модел.Въпреки това ще бъде трудно да се изчисли теоретично законът за управление, който отговаря на определените изисквания към системата Дори и да можем да го изчислим, може да се окаже твърде сложен за изпълнение или много скъпа помощ често може да постигне желаното В този случай обаче няма гаранция, че той ще контролира пълния модел (и реалния обект) също толкова добре.Обикновено се използва компромис.Започнете с прости модели, опитвайки се да проектирате контролера така, че да "пасва" за сложен модел Това свойство се нарича устойчивост (грапавост) на контролера (или системата), означава нечувствителност към грешки при моделиране След това действието на конструирания закон за управление се проверява върху пълния модел или върху реален обект. Ако се получава отрицателен резултат (обикновен контролер „не работи“), усложнете модела, като въведете допълнителни детайли в него И всичко започва отначало 4 Линейност и нелинейност От училищната математика се знае, че най-лесно се решават линейни уравнения Много по-трудно е да се работи с нелинейни уравнения (квадратни, кубични и т.н.), много видове уравнения математикът все още не може да реши аналитично (точно) Сред операторите най-простите също са линейни Те имат две свойства: т.е. към константа: U[ α x] α U[ x], където α е всяка константа (тоест, ако входът се увеличи няколко пъти, изходът се увеличава със същата сума); принцип на суперпозиция: ако към входа се приложи сумата от два сигнала, изходът ще бъде сумата от реакциите на един и същ оператор към отделни сигнали: U [ x x] U[ x ] U[ x] Модели, които се описват с линейни операторите се наричат ​​линейни.Можете да работите с тях, като използвате методите на теорията на линейните системи, която е най-развитата и ви позволява да решавате точно повечето от известните практически проблеми.В математиката тези свойства се наричат ​​хомогенност и адитивност

13 Kyu Polyakov, 8 Въпреки това, всички модели на реални системи са нелинейни.Това е лесно за разбиране, дори само защото винаги има максимално допустима стойност на входния сигнал, ако тя бъде превишена, обектът може просто да се провали или дори да се срине ( линейността е нарушена) Методите за изследване на нелинейните оператори са много сложни математически , в теорията на нелинейните системи точните решения са известни само за доста тесен кръг от проблеми Все още има повече "бели петна" от получените резултати, въпреки че това научно направление се развива активно през последните години Какво да правя? Най-често първо се извършва линеаризация на нелинейния модел на обекта (задвижване), тоест изгражда се приблизителен линеен модел.След това, въз основа на този модел, се проектира законът за управление с помощта на точните методи на теорията на линейни системи. Накрая, полученият контролер се проверява с помощта на компютърна симулация върху пълен нелинеен модел. Трябва да се отбележи, че ако обектът или задвижващият механизъм има така наречената "значителна" нелинейност, този подход може да не работи. Тогава има да се използват методи на нелинейна теория, както и компютърни симулации системи с различни допустими входни сигнали По този начин трябва да се добави още едно разделение към класификацията на системите за управление в раздел 3, може би най-значимите системи са линейни и нелинейни В линейните системи всички връзки се описват от линейна опера 5 Линеаризация на уравнения Вече знаете, че в теорията на управлението методите за изследване на линейни системи са най-добре развити.Но в света около нас няма строго линейни системи.Следователно, за да могат тези методи да се прилагат на практика, е необходимо необходимо за извършване на линеаризация за изграждане на приблизителен линеен модел, базиран на по-реалистичен нелинеен модел на обекта, свързва нивото на водата в резервоара h (в метри) и дебита на изтичащата вода q (в m 3 / s) Тази зависимост може да се намери с помощта на закона на Бернули, който в този случай приема формата ρ v ρ g h Тук ρ е плътността на течността (в kg / m 3), g 9,8 m/s ускорение на свободното падане, v скорост на изтичане на течност ( в m/s) се изчислява като q S v, намираме q α h, () където α S g е постоянна стойност Това е статичен модел, тъй като не съдържа производни, които характеризират промяната в сигналите във времето нивото на водата и изтичащата вода потокът също е постоянен h S S q 3

14 Kyu Polyakov, 8 Очевидно моделът () е нелинеен, тъй като съдържа h Да се ​​линеаризира това означава приблизително да се замени уравнението () с линейно уравнение q k h, където k е някакъв коефициент Как да го изберем? Няма недвусмислен отговор на този въпрос.Да предположим, че нивото на водата се променя в диапазона от до m. Тогава един от вариантите е да изчислим коефициента като наклон на отсечката, свързваща точките на кривата q α h в краищата от този интервал.За определеност допълнително вземаме α навсякъде, след което получаваме k Разбира се, този модел е много груб и дава голяма грешка, особено за нива в диапазона от, до,6 За да намалите грешката, можете да опитате леко да промените k (например, като го увеличите до малко по-добро, отколкото в първия случай q q k, k.77 k h 5 h допирателна в точката (,5;), чийто наклон е равен на производната dq k,77 dh h,5 h h,5 Тангентата е права линия с наклон k, минаваща през точката (,5;), нейното уравнение е q kh b b дефинирайте m от уравнението kh b,5 b b,354, 4, така че получаваме модела q h (3) 4 Това е линейно уравнение, но моделът (3) е нелинеен, тъй като, например, няма свойство на умножение по константа Това може лесно да се провери чрез сравняване на U [ h] и U [ h] : U [ h] h, U [ h] h U [ h] (h; q), в който определихме наклона на тангентата. От (3) следва, че 4

15 KYu Polyakov, 8 q q (h h) (4) 4 Тъй като графиката на зависимостта (3) минава през точката (h ; q), можем да приложим равенството q h Тогава от (4) намираме 4 q h (5) така полученото уравнение е линеен модел на обект, записан в отклонения на входа и изхода от номиналната (работна) точка (h ; q) Приблизителният модел (5) най-много съответства на обекта близо до тази точка и с големи отклонения от нея , грешката може да се увеличи значително принципи на линеаризация на нелинейни алгебрични уравнения В следващия параграф същите идеи се използват за по-сложен модел, който описва динамиката на системата (промяна във времето) 5 диференциални уравнения Реалните обекти не могат да променят състоянието си мигновено , следователно, вместо статични модели като динамични модели, които се описват с диференциални уравнения, съдържащи производни (скорости на промяна на сигналите) Както видяхме в раздел 3 такива модели могат да бъдат извлечени от физичните закони.В много случаи повече или по-малко точни модели са нелинейни диференциални уравнения, така че е необходима линеаризация, за да се приложи теорията на линейните системи.Това прилага почти същата техника като за алгебрични уравнения Идеята на линеаризацията се крие във факта, че в системите за управление (поддържане на зададени стойности на количествата) сигналите се отклоняват малко от работната точка на определено равновесно положение, в което всички сигнали са „правилни“ стойности и техните производни са равни на 0. Следователно, за решаване на проблеми с управлението, често е достатъчно да се използва линеен модел при отклонения от тази работна точка Моделът, току-що изграден за резервоар за вода, не е съвсем правилен, защото не взема като се има предвид, че нивото в резервоара се променя и намалява с изтичането на водата.Освен това да предположим, че се използва помпа за поддържане на нивото, която изпомпва вода в резервоара, нейната консумация се обозначава с cut Q За такъв обект входът е дебитът Q, а изходът е промяна в нивото h. Да предположим, че за малък интервал t дебитите Q и q могат да се считат за постоянни. През това време, обемът на водата, добавена към резервоара от помпата, е Q t, а обемът на "изчезналата" вода q t Като се има предвид, че площта на напречното сечение на резервоара е S, получаваме промяната на нивото: (Q q) h t Отива до границата при t, получаваме диференциалното уравнение S dh([ Q(q(] dt S) Този модел отчита, че нивото на водата и потокът се променят във времето. Спомнете си, че скоростта на потока на изтичащата течност q (зависи от нивото на водата в резервоара h (и е свързано с него чрез нелинейна зависимост q(α h(Следователно уравнението може да бъде записано като dh(α Q(h((6) dt S S 5

16 Kyu Polyakov, 8 Тук остават само две променящи се величини: дебитът на помпата Q ((вход на обекта) и нивото на водата h ((изход) Освен това, за да опростим обозначението, няма да посочим изрично зависимостта на тези сигнали навреме В постоянен (статичен) режим, когато сигналите не се променят, всички производни са равни на нула. В нашия случай, приемайки в (6), получаваме dh(dt Q Q α h h (7) α на входа, за да получим стойност на изхода h Сега да предположим, че е дадена определена работна точка, т.е. стойностите на входа Q Q и изхода h h отговарят на уравнение (7) и системата работи през цялото време около това равновесно положение Близо до тази точка Q Q Q и h h h, където Q и h малки отклонения на входа и изхода от работната точка Освен това, за линеаризация се използва разширението на функциите в серия на Тейлър За някаква функция f (x, y) в близост до точката x ,), тази серия има формата: (y f (x, y) f (x, y) f (x, y) f (x, y) x y F(x, y), x y f (x, y) f (x, y), където и x y са частичното производни на функцията f (x, y) по x и y в точка (x, y), а F (x, y) зависи от по-високите производни в същата точка (втора, трета и т.н.) За малки стойности ​​на x и y, можем да приемем, че "опашката" на тази серия F (x, y) е много малка, приблизително равна на нула, така че f (x, y) f (x, y) f (x , y) f (x, y) x y (8) x y формула (8) за линеаризация на дясната страна на уравнение (6), където ролята на x е скоростта на потока Q, а ролята на y е нивото h Извършвайки диференциране, намираме α α α Q h, Q h Q S S S h S S S h След това използвайки формула (8) получаваме α α α Q h Q h Q h S S S S S S h Заместете Q Q Q и h h h в уравнение (6) и вземете предвид че d h α α Q h Q dt S S S S h h d(h h) d h Тогава dt dt α Припомняйки си, че Q и h съответстват на статичния режим, т.е. Q h, получаваме линеаризирано уравнение в отклонения от работната точка: S S d h kh h kq Q, (9) dt 6

17 Kyu Polyakov, 8 α където k h и k Q Отбележете, че коефициентът k h зависи от h, тоест от избора на работната точка. Това проявява нелинейността на обекта S h S. Обикновено, когато пишете линеаризирано уравнение, знакът (обозначаващ отклонението) не е написан Така най-накрая получаваме линеаризирания модел dh(kh h(kq Q(() dt) Нека да разгледаме пример за това как може да се контролира обект и какво произтича от това Нека леко променим предишния проблем, като позволим на потока на изтичащата течност q да се променя независимо (в теорията на управлението това се нарича натоварване на обекта) За да осигурим вода на всички жители на селото, построихме водна кула, в която водата се изпомпва от реката с помпа Всеки жител може да пусне водата на парцела си по всяко време, например за напояване. автоматично поддържа дадено ниво h вода в резервоара Q (в метри) Ще приемем, че има доста жители, така че някой винаги има включена вода и помпата непрекъснато работи, за да изпомпва вода в резервоара За да контролира ниво на водата h, можем да променим неговия поток Q ( в m 3 /s) По този начин нивото h е контролирана стойност, а потокът Q е контролен сигнал c) показва колко вода изтича от резервоара в s това е натоварването Промяната на нивото h зависи от разликата в потока Q q и площта на напречното сечение на резервоара S Ако разликата в потока е постоянна за интервал от време, като цяло трябва да използвате интеграла: t t В S h((Q(q() dt S) номинална (работна точка) За За да получим уравнението в отклонения, представяме потоците във формата Q(q Q(, q(q q(, където Q( и q(малки отклонения на потоците от номиналния режим) Тогава, пропускайки знака за увеличение, можем да напишете модела на обекта на управление във формата t h( (Q(q() dt S 7

18 Kyu Polyakov, 8 Тук h (, Q (и q (означават отклоненията на тези величини от номиналните стойности). Обърнете внимание, че този модел може да бъде написан като диференциално уравнение (ако намерим производните на двете части на уравнението) : dh([ Q(q(] dt S За простота ще вземем допълнително S m Като обратна връзка ще използваме сигнала от сензора за ниво. Грешката при управление се изчислява като разликата между зададените и измерените водни нива: -контролер ), който управлява потока съгласно закона q(K e(K [ h (h(]) Блоковата схема на системата за управление е показана на фигурата по-долу. секторът е боядисан в черно, сигналът, който влиза в него, се изважда ( взети под внимание в сумата със знак минус).В допълнение към сигналите, които вече бяха обсъдени, фигурата показва също измервания шум m (, изкривяващ показания на сензора q контролер обект h e Q h K m Нека проверим работата на този контролер при различни стойности на коефициента K Първо ще приемем, че няма шум при измерване, т.е. нивото се измерва точно Да предположим, че водата потокът на изхода q нараства рязко (всички започнаха да поливат градините) Синята линия на фигурата (виж по-долу) показва промяната в нивото при K, а зелената линия при K 5 h K 5 t K От тези данни можем направете някои заключения: когато натоварването се промени (консумация на вода, поток q), регулаторът-усилвател не може да поддържа дадено ниво ( графиките не достигат до стойността на h); колкото по-голямо е K, толкова по-малка е грешката на управление h в стационарно състояние; може да се очаква, че за K грешката трябва да намалее до нула; колкото повече K, толкова по-бързо завършва преходът към новия режим Изглежда, че за подобряване на контрола е необходимо да се увеличи K, но това е само първо впечатление Сега да видим какво се случва, ако има шум при измерване (случайна грешка на сензора) 8

19 KYu Polyakov, 8 h Q K 5 t K 5 K K t Графиките показват, че при неточни измервания нивото варира около определена средна стойност (тази, която е получена без шум), а при по-високи K колебанията нарастват. Този ефект е особено ясно видими на графиката промени в дебита на помпата q (фигурата вдясно) С увеличаване на K се постига увеличаване на точността (намаляване на грешката в стационарно състояние) поради повишената активност на помпата, която "потрепва" през цялото време.В същото време механичните части се износват и експлоатационният му живот е значително намален.Следователно коефициентът K не може да бъде значително увеличен Един от основните изводи на този пример: управлението най-често се свързва с търговска off Тук, от една страна, трябва да увеличите K, за да подобрите точността, а от друга страна, трябва да намалите K, за да намалите влиянието на шума от измерването (P-регулатор) Внимателният читател неизбежно трябва да има въпроси от следното природа : може ли всеки обект да се управлява от регулатор-усилвател? как да изберем правилния коефициент К (на каква стойност да спрем)? Възможно ли е да се постигне по-добър контрол с по-сложен регулатор? какъв регулатор трябва да се приложи за подобряване на контрола? как да се осигури нулева грешка в стационарно състояние (постоянно ниво при всякакъв дебит q) и възможно ли е изобщо да се направи това? как да потискаме шумовете от измерването, така че да не водят до „потрепване“ на помпата? Следващите раздели представят основите на теорията на автоматичното управление, която отговаря на такива въпроси и предлага надеждни методи за проектиране на контролери, които решават проблема с управлението в съответствие с дадени изисквания 9

20 Кю Поляков, 8 3 Модели на линейни обекти 3 Диференциални уравнения Когато съставяме модел на обект въз основа на физични закони, най-често получаваме система от диференциални R уравнения от първи и втори ред За пример ще покажем как да изградете модел на двигател с постоянен ток, използвайки законите на механиката и електротехниката напрежение на котвата на обекта u ((в ω e u волта), изходен ъгъл на въртене на вала θ ((в радиани) i Първо, нека си припомним някои "светски" знания относно електрическите двигатели Валът на двигателя започва да се върти, когато се приложи захранващо напрежение. Ако напрежението не се променя, ъгловата скорост на въртене ω ((в радиани в секунда) остава постоянна, докато ъгълът θ (увеличава равномерно Колкото по-голямо е напрежението, колкото по-бързо се върти валът) Ако затегнете вала на ръка (или свържете товар, например, накарайте двигателя да завърти турбината), скоростта на въртене постепенно намалява до нова стойност, при която въртящият момент на двигателя ще бъде равен на момента съпротивление (натоварване ) Докато тези моменти са равни, скоростта на въртене остава постоянна и нейната производна е равна на нула Сега ние превеждаме тези аргументи на строгия език на математиката θ (това е интегралът на ъгловата скорост. В механиката уравнението на въртене движението обикновено се записва като dω(J M (M H (, dt където M (въртящ момент (измерен в H m), M H (въртящ момент на товара (смущение, също в H m) Буква J общият инерционен момент на котвата и товара е посочено (в kg m) Стойността на инерционния момент показва колко лесно е да се „ускори“ двигателят (колкото по-голям е моментът на инерция, толкова по-трудно е да се „ускори“) Да преминем към електротехниката В нашият случай, моментът M (това е електромагнитният момент на двигателя, който се изчислява по формулата M (CM Φ i(, където C M е коефициентът, Φ е магнитният поток, създаден от възбуждащата намотка (измерен във уебери) ; i (ток на котвата (в ампери), който може да се намери от уравнението u(e(R i(, където e (електродвижеща сила (ЕМС) на арматурата (във волтове) и R съпротивление на веригата на котвата (в ома) От своя страна EMF се изчислява по отношение на магнитния поток и скоростта на въртене: e(Cω Φ ω(, където C ω е коефициентът. Въвеждане на нови константи k C M Φ и k C ω Φ, можем да запишем модела на двигателя като система от уравнения dω(dθ (J k i(M H (, e (k ω, ω (, u(e(R i(() dt dt) Модел () описва връзките на реални сигнали в системата, нейната вътрешна структура не сме много интересуваме се от вътрешната структура, тоест ние

21 Кю Поляков, 8 разглеждаме обекта като „черна кутия” Замествайки второто уравнение от системата () в третото, намираме i (и го заместваме в първото уравнение Преминавайки към променливата θ (, получаваме : d θ (k dθ (J u(k M (H dt R dt) или, премествайки всички членове в зависимост от θ (, в лявата страна на уравнението d θ (kk dθ (J k u(M (H () dt R dt) Това е диференциално уравнение от втори ред, свързващо входа u (и товара M H (с изход θ (В сравнение със системата (), всички вътрешни сигнали на оригиналния модел (e (и i () бяха изключени от уравненията Следователно уравнението () се нарича уравнение „вход-изход". Редът на модела е редът на съответното диференциално уравнение. В този случай получихме модела от втори ред. В този раздел, използвайки прост пример, разгледахме как се изграждат математически модели на обекти на управление въз основа на физични закони.Като правило те са диференциални уравнения.В бъдеще ще използваме готови модели на обекти на управление, като приемем, че са били и от някой предварително получен (например предоставен от клиента) 3 State-space модели За да се улесни изучаването на модела на обекта, е желателно да се доведе до някакъв стандартен вид, за който вече има готови общи решения система от диференциални уравнения от първи ред, която се нарича нормална форма на Коши. Разгледайте отново модела на електрическия двигател, като приемете, че M H ((без товар) (ω(u(J R J R) Тази система от диференциални уравнения от първи ред може да бъде написани в матрична форма: & θ ((kk θ k u((J R ((3) & ω ω J R) означава, че знаейки техните стойности в даден момент от времето t и входния сигнал u (за всички t< t) не играют никакой роли Поэтому θ (и ω (называются переменными состояния, а вектор θ (вектором состояния ω(В теории управления принято обозначать вектор состояния через x (, вход объекта (сигнал управления) через u (Тогда модель (3) может быть записана в виде x& (A x(B u((4) θ (где x(, A kk ω(и B k Модель (4) связывает вход u (и вектор состояния x (, поэтому она называется моделью J R J R вход-состояние

22 KYu Polyakov, 8 Пълният модел на обекта в пространството на състоянията съдържа друго уравнение, изходното уравнение, което показва как изходът на обекта y (: x& (A x(B u((5) y(C x(D u() Този модел се нарича входно-състояние-изходен модел. Изходната координата за DC двигател е ъгълът на въртене на вала: чрез промяна на матриците C и D всяка линейна комбинация от състояние и входни променливи може да бъде взета като изход. В много практически проблеми изходът е една или повече променливи на състоянието, които можем да измерим. време, матриците A, B, C и D в модела (5) са постоянни. Такива обекти се наричат ​​стационарни, за разлика от нестационарните обекти, чиито параметри се променят във времето.Писането на модели в една форма (5) ви позволява да се абстрахирате от значението на променливите на състоянието и да изследвате системите p различно естество, използвайки стандартни методи, които са добре разработени и внедрени в съвременните компютърни програми. Нека покажем как могат да бъдат решени уравнения от формата (5) и защо тази форма на писане е удобна. Да приемем, че знаем началните условия, тоест състоянието вектор x () при t Спомнете си, че познаването на x () и вход u (за всички t > прави възможно недвусмислено определяне на по-нататъшното поведение на този обект. Първото уравнение в (5) ви позволява да намерите производната, т.е. , скоростта на промяна на вектора на състоянието x (по всяко време) Приемаме, че при t t, където t е малък интервал от време, тази производна не се променя. Тогава стойността на вектора на състоянието при t t се определя приблизително по формулата x(x() x& () t x() [ A x() B u() ] t, тоест може лесно да се изчисли. Познавайки x(и управляващия сигнал u(, намираме изхода на системата в същия момент y (C x(D u(Тази техника може да се приложи допълнително, в края на втория интервал получаваме x(x(x& (t x([ A x(B u(] t, y(C x(D u(Така , може (приблизително) да се изчисли изходът на системата за всички t> Разбира се, точността ще бъде толкова по-висока, колкото по-малък е t, но количеството изчисления също ще се увеличи.Този метод за приблизително решаване на диференциални уравнения се нарича метод на Ойлер, тъй като ние не правете каквито и да е предположения относно постоянните матрици A, B, C D, той (както и други, по-усъвършенствани методи) може да се използва без промени за решаване на всякакви уравнения от формата (5) „единичен скок“ („едностъпков сигнал“ ), тоест моментна промяна на входния сигнал от до в момент t Формално този сигнал се дефинира, както следва:, t< (, t


Лекция 3 Математическо описание на системите за управление В теорията на управлението, при анализа и синтеза на системи за управление, те се занимават с техния математически модел.Математическият модел на ACS е уравнение

Лекция 14 Класификация на СКУД Неадаптивните системи са най-простите системи, които не променят своята структура и параметри в процеса на управление. Използват се за стационарни контролни обекти, за

FGBOU VPO "Омски държавен технически университет" РАЗДЕЛ II НЕПРЕКЪСНАТИ ЛИНЕЙНИ АВТОМАТИЧНИ СИСТЕМИ ЗА УПРАВЛЕНИЕ Лекция 5

Задача. "Нелинейно трио" В тази задача се разглеждат "нелинейни резистори". Напрежението U на такъв резистор е пропорционално на квадрата на тока, протичащ през резистора (спазвайки полярността):

4 Лекция 5 АНАЛИЗ НА ДИНАМИЧНИ ВЕРИГИ План Уравнения на състоянието на електрически вериги Алгоритъм за формиране на уравнения на състоянието 3 Примери за съставяне на уравнения на състоянието 4 Заключения Уравнения на състоянието на електрически

Лекция 5 Автоматични регулатори в системите за управление и техните настройки Автоматични регулатори с типични алгоритми за управление релейни, пропорционални (P), пропорционално-интегрални (PI),

Принудителни електрически вибрации. Променлив ток Помислете за електрическите трептения, които възникват, когато във веригата има генератор, чиято електродвижеща сила се променя периодично.

Тема: Закони на променливия ток Електрически ток се нарича подредено движение на заредени частици или макроскопични тела Променлив ток се нарича, който променя стойността си с течение на времето

Зайцев Г. Ф. Теория на автоматичното управление и регулиране Второ издание, преработено и допълнено Одобрено от Министерството на висшето и средното специално образование на СССР като учебник

Лекция 6 Трансформация на математически модели на системи. трансферни функции. Модели под формата на сигнални графики За да изучавате свойствата на сложни физически системи и да научите как да ги управлявате, трябва да имате

Уравнения на динамиката и статиката. Линеаризация На определен етап от разработването и изследването на система за автоматично управление се получава нейното математическо описание, описание на процесите, протичащи в системата

Глава 1. Основни закони на електрическата верига 1.1 Параметри на електрическата верига Електрическата верига е набор от тела и среди, които образуват затворени пътища за протичане на електрически ток. Обикновено физически

Роботика RAR1300 Сергей Павлов TTÜ Virumaa Kolledž Управление на задвижването Контролът на движението на работеща машина или машина означава управление на позицията, скоростта и ускорението на система, която

Основни термини и определения Общата теория на управлението, обхващаща както неживата, така и живата природа, е предмет на науката кибернетика. Теорията на автоматичното управление (TAU) е част от кибернетиката.

Лекция 2 Линейни системи за автоматично управление Свойства на линейни системи Въз основа на изследването на много модели на системи можем да заключим, че системите, описани с линейни диференциални уравнения,

Лекция 1 Основни понятия и дефиниции на теорията на автоматичното управление. Управлението е набор от действия, насочени към постигане на целта. Регулирането е частен случай на управление на техническите

4.1 Контролни въпроси за самоконтрол 1 РАЗДЕЛ „Линейни непрекъснати модели и характеристики на системи за управление“ 1 Какво изучава теорията на управлението? 2 Дефинирайте понятията управление и обект на управление.

Тест 1 по дисциплината "Управление на технически системи" Вариант 1 1. Какво е функционалното предназначение на сензора в системата за управление? 1) регулиране на параметрите на технологичния процес; 2) потискане на шума

Тема 4 .. AC вериги Въпроси към темата .. AC верига с индуктивност .. AC верига с индуктивност и активно съпротивление. 3. AC верига с капацитет. 4. AC верига

Приложение 4 Принудени електрически трептения Променлив ток Следната теоретична информация може да бъде полезна при подготовката за лабораторна работа 6, 7, 8 в лабораторията "Електричество и магнетизъм"

Синусоидален ток "в дланта" По-голямата част от електрическата енергия се генерира под формата на ЕМП, която се променя във времето според закона на хармоничната (синусоидална) функция. Хармоничните ЕМП източници са

Лекция 1. Основни задачи, принципи, класификация на теорията на управлението B.1. Основни понятия и дефиниции Система за управление (CS) набор от управляващо устройство (CU) и обект на управление (OC), действия

МЕТОДИЧЕСКИ УКАЗАНИЯ за домашна работа по курса TCB Изследване на нелинейна система за автоматично управление ОПРЕДЕЛЯНЕ НА ИЗХОДНИ ДАННИ Изходните данни за домашна работа са дадени

Преходните процеси "на длан". Вече знаете методите за изчисляване на верига, която е в стабилно състояние, тоест в такава, в която токовете, както и спадовете на напрежението на отделните елементи, са непроменени във времето.

Класификация на улаторите според реализирания закон на улиране 1-ви тип. Пропорционален или P-превключвател с една настройка. Неговата предавателна функция е същата като предавателната функция на пропорционалната

Лабораторна работа 23 Принудени трептения в осцилаторна верига Целта на работата: експериментално да се изследва зависимостта на напрежението върху кондензатор в електромагнитна последователна колебателна верига

Глава II Изграждане на модел на система за управление Истинската система за управление се състои от определен брой взаимосвързани инструменти и устройства, включително, разбира се, обекта на управление, които имат различни

FGBOU VPO "Омски държавен технически университет" РАЗДЕЛ II НЕПРЕКЪСНАТИ ЛИНЕЙНИ АВТОМАТИЧНИ СИСТЕМИ ЗА УПРАВЛЕНИЕ Лекция 4. ДИНАМИЧНИ ВРЪЗКИ. ОБЩИ ПОНЯТИЯ, ВРЕМЕВА ХАРАКТЕРИСТИКА И ЧЕСТОТА

54 Лекция 5 ТРАНСФОРМАЦИЯ НА ФУРИЕ И СПЕКТРАЛЕН МЕТОД ЗА АНАЛИЗ НА ЕЛЕКТРИЧЕСКИ ВЕРИГИ План Спектри на апериодични функции и трансформация на Фурие Някои свойства на трансформацията на Фурие 3 Спектрален метод

И. В. Яковлев Физически материали MathUs.ru Електромагнитни трептения Теми на USE кодификатора: свободни електромагнитни трептения, колебателна верига, принудени електромагнитни трептения, резонанс,

СЕМИНАР Основни понятия. Съставяне (извеждане) на диференциално уравнение. Концепцията за решаване на диференциално уравнение. Решение по метода на разделимите променливи. Решаване на линейно диференциално уравнение

Управление на височината на полета на хеликоптера Нека разгледаме проблема за синтеза на системата за управление на движението на центъра на масата на хеликоптера във височина. Хеликоптерът като обект на автоматично управление е система с няколко

Лабораторна работа 1 1 ДИНАМИЧНИ ХАРАКТЕРИСТИКИ НА ТИПИЧНИТЕ ВРЪЗКИ 1. Целта на работата

Решение на системи от нелинейни уравнения в частни производни с времева производна от първи ред с коефициенти, зависещи от времето Е. Г. Якубовски e-i [имейл защитен]Анотация В статията [ решението е получено

Електромагнитни трептения Основна теоретична информация Хармонични трептения в трептяща верига Пример за електрическа верига, в която могат да възникнат свободни електрически трептения, е

Лабораторна работа 8 Принудени трептения в последователна осцилаторна верига Целта на работата: да се изследват амплитудно-честотните и фазово-честотните зависимости на напрежението в последователно кондензатора

Московски държавен университет М.В.Ломоносов Московски държавен университет Физически факултет Катедра по обща физика Лабораторна практика по обща физика (електричество и магнетизъм) .M.Bukhanov,

1 ВЪВЕДЕНИЕ Основни понятия и дефиниции на електротехниката Да се ​​изчисли режимът в дадена електрическа верига означава да се получи чрез изчисление тока, напрежението, мощността в отделните му секции, които ни интересуват.

1 Лабораторна работа 3 б ПРИНУДЕНИ ТРЕПТЕНИЯ В ТРЕТБЕТЕТЕЛНАТА ВЕРИГА

Лабораторна работа 1 1 ТИПИЧНИ ЕДИНИЦИ НА ACS 1. Цел на работата

Есенен семестър на учебната година Тема 3 ХАРМОНИЧЕН АНАЛИЗ НА НЕПЕРИОДИЧНИ СИГНАЛИ Директно и обратно преобразуване на Фурие Спектрална характеристика на сигнала Амплитудно-честотен и фазово-честотен спектър

4. РЕАКЦИЯ НА МЕМБРАННИЯ ПРЕХОД 4.1 Времеви характеристики на динамична система

Тема 3 ХАРМОНИЧЕН АНАЛИЗ НА НЕПЕРИОДИЧНИ СИГНАЛИ Директни и обратни трансформации на Фурие Спектрален отговор на сигнала Амплитудно-честотни и фазово-честотни спектри Спектрални характеристики

Федерална агенция за образование ТВЕР ДЪРЖАВЕН ТЕХНИЧЕСКИ УНИВЕРСИТЕТ Катедра по автоматизация на технологичните процеси

Изпълнено от: Прието от: Умаров Д. 1-14 IKSUTP Абдурахманова М.И. Анализ на стабилността на СКУД Практическата пригодност на системите за управление се определя от тяхната стабилност и приемливо качество на управление. Под

Глава 2. ЕЛЕКТРОМЕХАНИЧНИ И РЕГУЛИРАЩИ СВОЙСТВА НА ПОСТОЯНОВОЧНИТЕ ЗАХВОРЕНИЯ 2.1. Механични характеристики на електродвигателите и работните механизми. Механични характеристики на електродвигателя

Лекция 8 33 ЕДНОМЕРНИ СТАЦИОНАРНИ СИСТЕМИ ПРИЛОЖЕНИЕ НА ТРАНСФОРМАЦИЯТА НА ФУРИЕ 33 Описание на сигнали и системи Описание на сигнали За описание на детерминистични сигнали се използва трансформацията на Фурие:

Клюев О.В., Садовой А.В. Сохина Ю.В. Днепродзержински държавен технически университет Украйна Днепродзержинск ИДЕНТИФИКАЦИЯ НА КООРДИНАТИ И ПАРАМЕТРИ НА АСИНХРОННА МАШИНА ПОД СОФТУЕР ЗА ВЕКТОРНО УПРАВЛЕНИЕ

ЕЛЕКТРОТЕХНИКА И ЕНЕРГЕТИКА 79 УДК 004.0:6.3.078 РАЗРАБОТВАНЕ НА СОФТУЕРЕН ПРОДУКТ ЗА ИДЕНТИФИКАЦИЯ НА ПАРАМЕТРИ НА ЗАМЕСТВАЩАТА ВЕРИГА НА КЛЮЧОВИЯ ЕЛЕМЕНТ И СИНТЕЗ НА КОРИГИРАЩАТА ВРЪЗКА В. М. ЛУКАШОВ, С. Н. КУХАРЕНКО,

Работа 13 Изследване на зависимостите T(l) и A(t) на математическо махало Оборудване: статив, махало, линийка, електронен хронометър Описание на метода Графичният метод е най-простият

Федерална държавна автономна образователна институция за висше професионално образование "Национален изследователски технологичен университет "МИСиС" ПРОГРАМА за приемен изпит

TAU Практически упражнения Задания за контролна работа и насоки за нейното изпълнение Практически урок AFCH, LAH, преходни и тегловни характеристики на типични динамични връзки Повечето

Точност на удара. Статична точност с хармоничен вход. Най-простият метод за научаване на точността е да използвате трансферната функция по погрешка. () (). U; (

4 Лекция 1. ОСНОВНИ ПОНЯТИЯ И ЕЛЕМЕНТИ НА ЕЛЕКТРИЧЕСКИТЕ ВЕРИГИ План 1. Въведение. 2. Електрически величини и единици за тяхното измерване. 3. Биполярни елементи на електрически вериги. 4. Управляван (зависим)

Задача 1 Вася има два абсолютно еднакви динамометъра с много леки пружини и масивни корпуси. Тези динамометри не са калибрирани, но и двата имат скали с линейни показания спрямо разтягане.

Съдържание Предговор 9 Въведение 11 РАЗДЕЛ 1 Линейни системи за автоматично управление 19 1. Съставяне на уравнения на движение на елементите на ACS и методи за тяхното решаване 19 1.1. Математическо описание на елементите

Глава 2. Методи за изчисляване на преходни процеси. 2.1. Класически метод на изчисление. Теоретична информация. В първата глава бяха разгледани методите за изчисляване на веригата в стабилно състояние, т.е.

УДК: 62-971 СИСТЕМА ЗА АВТОМАТИЧЕН КОНТРОЛ НА ТЕМПЕРАТУРАТА НА ПЕЩТА ЗА ТУХЛИ студент гр.139114 Lappo I.A. Научен ръководител Чигарев В.А. Беларуски национален технически университет Минск,

Тема 8 ЛИНЕЙНИ ДИСКРЕТНИ СИСТЕМИ Концепцията за дискретна система Методи за описание на линейни дискретни системи: диференциално уравнение, трансферна функция, импулсен спектър, честотна трансферна функция

Работа 11 ИЗУЧАВАНЕ НА ПРИНУДЕНИТЕ ТРЕПТЕНИЯ И ЯВЛЕНИЯТА НА РЕЗОНАНСА В ТРЕМБЕБИТЕЛНАТА ВЕРИГА Във верига, съдържаща индуктор и кондензатор, могат да възникнат електрически трептения. Работата учи