Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Траекторияны оңтайландыру – бұл белгілі бір шектеулерді сақтай отырып, өнімділіктің белгілі бір өлшемін азайту (немесе арттыру) үшін траекторияны жобалау процесі. Жалпы айтқанда, траекторияны оңтайландыру – оптималды басқару мәселесіне ашық циклдік шешім табу әдісі. Ол көбінесе толық жабық циклдік шешімді есептеу қажет болмайтын, қиын немесе мүмкін емес жүйелер үшін қолданылады. Егер траекторияны оңтайландыру мәселесі Липшиц тұрақтысының кері шамасымен берілген жылдамдықпен шешілсе, оны Каратеодори мағынасында жабық циклдік шешімді жасау үшін итеративті түрде қолдануға болады. Траекторияның тек бірінші қадамы шексіз горизонт мәселесі үшін орындалса, онда бұл Модельдік Болжамды Бақылау (МББ) деп аталады. Траекторияны оңтайландыру идеясы жүздеген жылдар бойы бар болғанымен (вариациялар есебі, брахистохрондық мәселе), ол компьютерлердің пайда болуымен ғана нақты әлемдегі мәселелер үшін практикалық болды. Траекторияны оңтайландырудың алғашқы көптеген қолданыстары әуе-ғарыш өнеркәсібінде, ракеталар мен зымырандарды ұшыру траекторияларын есептеуде болды. Соңғы уақыттарда траекторияны оңтайландыру өндірістік процестер мен робототехниканың кең ауқымында да қолданылуда.
Trajectory optimization is the process of designing a trajectory that minimizes (or maximizes) some measure of performance while satisfying a set of constraints. Generally speaking, trajectory optimization is a technique for computing an open loop solution to an optimal control problem. It is often used for systems where computing the full closed loop solution is not required, impractical or impossible. If a trajectory optimization problem can be solved at a rate given by the inverse of the Lipschitz constant, then it can be used iteratively to generate a closed loop solution in the sense of Caratheodory. If only the first step of the trajectory is executed for an infinite horizon problem, then this is known as Model Predictive Control (MPC). Although the idea of trajectory optimization has been around for hundreds of years (calculus of variations, brachystochrone problem), it only became practical for real world problems with the advent of the computer. Many of the original applications of trajectory optimization were in the aerospace industry, computing rocket and missile launch trajectories. More recently, trajectory optimization has also been used in a wide variety of industrial process and robotics applications.
Тарих
Траекторияны оңтайландыру 1697 жылы Брахистохрон мәселесін енгізумен басталды: сымның қандай пішінде болуын анықтау керек, осы сыммен сырғанап түсетін дененің екі нүкте арасындағы қозғалысы ең аз уақытты алсын. Бұл мәселенің ерекшелігі – ол жеке сан емес, қисық (сымның пішіні) бойынша оңтайландыруды жүзеге асыруы. Ең белгілі шешімдер вариациялық есептеулерді қолдану арқылы есептелді. 1950 жылдары цифрлық компьютерлер траекторияны оңтайландыруды нақты проблемаларды шешу үшін қолдануға мүмкіндік берді. Алғашқы оңтайлы басқару әдістері Америкада Гилберт Эймс Блис пен Брайсон, ал Ресейде Понтрягиннің зерттеулеріне негізделген вариациялық есептеулерден туындады. Понтрягиннің максимум принципі ерекше атауға лайық. Осы алғашқы зерттеушілер траекторияны оңтайландырудың жанама әдістері деп білетін негізді қалады. Траекторияны оңтайландыру бойынша алғашқы жұмыстардың көп бөлігі вакуумда да, атмосферада да зымыранның итермелеу профильдерін есептеуге бағытталған. Бұл зерттеулер қазірге дейін қолданылып келе жатқан көптеген негізгі принциптерді анықтады. Тағы бір табысты қолданысы – ертедегі реактивтік ұшақтардың биіктікке өрлеу траекториялары. Трансдыбыстық кедергі аймағының жоғары кедергісі және ертедегі реактивтік ұшақтардың төмен итермелеуі салдарынан траекторияны оңтайландыру биіктікке өрлеу көрсеткіштерін барынша арттырудың кілті болды. Оптималды басқаруға негізделген траекториялар әлемдік рекордтардың біріне жауапты болды. Мұндай жағдайларда ұшқыштар оптималды басқару шешімдеріне сүйенген Мах саны мен биіктік кестесін сақтады. Траекторияны оңтайландырудағы маңызды мәселелердің бірі – Понтрягиннің максимум принципі толық шешім бермейтін сингулярлық доға. Сингулярлық басқарудың мысалы – тұрақты биіктікте ұшатын және төмен жылдамдықпен ұшырылатын зымыранның итермелеуін оңтайландыру. Мұнда мәселе сингулярлық доғаға жеткенге дейін максималды итермелеуде «bang-bang» басқару болып табылады. Содан кейін сингулярлық басқарудың шешімі күйіп кетуге дейін төменгі айнымалы итермелеуді қамтамасыз етеді. Осы кезде «bang-bang» басқару итермелеудің ең төменгі мәніне, яғни нөлге дейін төмендейді. Бұл шешім бүгінде зымыранның өнімділігін арттыру үшін кеңінен қолданылатын ракеталық қозғалтқыш профилінің негізі болып табылады.
Trajectory optimization first showed up in 1697, with the introduction of the Brachystochrone problem: find the shape of a wire such that a bead sliding along it will move between two points in the minimum time. The interesting thing about this problem is that it is optimizing over a curve (the shape of the wire), rather than a single number. The most famous of the solutions was computed using calculus of variations. In the 1950s, the digital computer started to make trajectory optimization practical for solving real world problems. The first optimal control approaches grew out of the calculus of variations, based on the research of Gilbert Ames Bliss and Bryson in America, and Pontryagin in Russia. Pontryagin's maximum principle is of particular note. These early researchers created the foundation of what we now call indirect methods for trajectory optimization. Much of the early work in trajectory optimization was focused on computing rocket thrust profiles, both in a vacuum and in the atmosphere. This early research discovered many basic principles that are still used today. Another successful application was the climb to altitude trajectories for the early jet aircraft. Because of the high drag associated with the transonic drag region and the low thrust of early jet aircraft, trajectory optimization was the key to maximizing climb to altitude performance. Optimal control based trajectories were responsible for some of the world records. In these situations, the pilot followed a Mach versus altitude schedule based on optimal control solutions. One of the important early problems in trajectory optimization was that of the singular arc, where Pontryagin's maximum principle fails to yield a complete solution. An example of a problem with singular control is the optimization of the thrust of a missile flying at a constant altitude and which is launched at low speed. Here the problem is one of a bang bang control at maximum possible thrust until the singular arc is reached. Then the solution to the singular control provides a lower variable thrust until burnout. At that point bang bang control provides that the control or thrust go to its minimum value of zero. This solution is the foundation of the boost sustain rocket motor profile widely used today to maximize missile performance.
Қолданбалар
Траекторияны оңтайландырудың кең ауқымды қолданыс салалары бар, негізінен робототехникада: өнеркәсіп, манипуляция, қадам басу, жол жоспарлау және аэроғарыш салалары. Оны модельдеу және бағалау үшін де пайдалануға болады.
There are a wide variety of applications for trajectory optimization, primarily in robotics: industry, manipulation, walking, path planning, and aerospace. It can also be used for modeling and estimation.
Роботтық манипуляторлар
Конфигурацияға байланысты, ашық тізбекті робот манипуляторларына траекторияны оңтайландыру қажет болуы мүмкін. Мысалы, 7 буынға және 7 серіктес буынға (7 DOF) ие робот қолдары артық жүйе болып табылады, онда аяқтағы эффектінің бір картезиялық орны буындардың шексіз бұрыш позицияларына сәйкес келеді. Осы артық мүмкіндікті траекторияны оңтайландыру үшін пайдалануға болады, мысалы, жұмыс кеңістігіндегі кедергілерден қашуға немесе буындардағы моментті азайтуға.
Depending on the configuration, open chain robotic manipulators require a degree of trajectory optimization. For instance, a robotic arm with 7 joints and 7 links (7 DOF) is a redundant system where one cartesian position of an end effector can correspond to an infinite number of joint angle positions, thus this redundancy can be used to optimize a trajectory to, for example, avoid any obstacles in the workspace or minimize the torque in the joints.
Төртбұрышты тікұшақтар
Траекторияны оңтайландыру көбінесе квадроторлы тікұшақтардың траекториясын есептеу үшін қолданылады. Мұндай қолданыстарда әдетте арнайы алгоритмдер пайдаланылады. U. Penn GRASP Lab көрсеткен бір қызықты мысал – квадротордың оны лақтырған кезде шеңберден ұшып өтуіне мүмкіндік беретін траекторияны есептеу. Ал, ETH Zurich Flying Machine Arena-дағы мысал екі квадротордың бір полюсті кері маятниктей теңгеріп, бір-біріне алға-артқа лақтыруын қамтиды. Квадрокоптер үшін ең төмен энергияны қажет ететін траекторияны есептеу мәселесі де соңғы кезде зерттелді.
Trajectory optimization is often used to compute trajectories for quadrotor helicopters. These applications typically used highly specialized algorithms. One interesting application shown by the U. Penn GRASP Lab is computing a trajectory that allows a quadrotor to fly through a hoop as it is thrown. Another, this time by the ETH Zurich Flying Machine Arena, involves two quadrotors tossing a pole back and forth between them, with it balanced like an inverted pendulum. The problem of computing minimum energy trajectories for a quadcopter, has also been recently studied.
Өңдеу
Траекторияны оңтайландыру өндірісте, әсіресе химиялық процестерді басқаруға немесе роботтық манипуляторлардың қажетті траекториясын есептеуге қолданылады.
Trajectory optimization is used in manufacturing, particularly for controlling chemical processes or computing the desired path for robotic manipulators.
Жүретін роботтар
Жүретін роботтар саласында траекторияны оңтайландырудың түрлі қолданыс орындары бар. Мысалы, бір зерттемеде екі аяқты жүрістің траекториясын оңтайландыру арқылы қарапайым модельде төмен жылдамдықпен жүрудің, ал жоғары жылдамдықпен жүгірудің энергия тұрғысынан тиімді екені көрсетілді. Көптеген басқа қолданыстардағыдай, траекторияны оңтайландыру номиналды траекторияны есептеу үшін қолданылуы мүмкін, оның негізінде тұрақтандыру контроллері құрылады. Траекторияны оңтайландыру Atlas сияқты күрделі адам тәрізді роботтардың толыққанды қозғалысын жоспарлауда қолданылады. Соңында, траекторияны оңтайландыру, қысқартылған модельдерді пайдалана отырып, күрделі динамикалық шектеулері бар роботтардың жолын жоспарлау үшін де қолданылуы мүмкін.
There are a variety of different applications for trajectory optimization within the field of walking robotics. For example, one paper used trajectory optimization of bipedal gaits on a simple model to show that walking is energetically favorable for moving at a low speed and running is energetically favorable for moving at a high speed. Like in many other applications, trajectory optimization can be used to compute a nominal trajectory, around which a stabilizing controller is built. Trajectory optimization can be applied in detailed motion planning complex humanoid robots, such as Atlas. Finally, trajectory optimization can be used for path planning of robots with complicated dynamics constraints, using reduced complexity models.
Әуе кеңістігі
Тактикалық зымырандар үшін ұшу траекториялары, итеру күші мен көтерілу тарихымен анықталады. Бұл тарихты, шабуыл бұрышының командалық тарихын қолдану немесе зымыранның орындауы тиіс биіктік/қашықтық кестесі сияқты әдістерді қоса алғанда, түрлі тәсілдермен басқаруға болады. Зымыранның құрылымдық факторларының, қажетті өнімділігінің және жүйелік шектеулердің әрбір комбинациясы, оптималды басқару параметрлерінің жаңа жиынтығын құрайды.
For tactical missiles, the flight profiles are determined by the thrust and lift histories. These histories can be controlled by a number of means including such techniques as using an angle of attack command history or an altitude/downrange schedule that the missile must follow. Each combination of missile design factors, desired missile performance, and system constraints results in a new set of optimal control parameters.
Траекторияны оңтайландыру әдістері
Кез келген оптимизациялау мәселелерін шешу әдістерін екі топқа бөлуге болады: жанама және тікелей. Жанама әдіс оптималдық үшін қажетті және жеткілікті шарттарды талдау арқылы анықтап, оларды сандық түрде шешеді. Тікелей әдіс оңтайлы шешімге қадам-қадаммен жақындықтар тізбегін құрастыру арқылы тікелей сандық шешім табуға тырысады.
The techniques to any optimization problems can be divided into two categories: indirect and direct. An indirect method works by analytically constructing the necessary and sufficient conditions for optimality, which are then solved numerically. A direct method attempts a direct numerical solution by constructing a sequence of continually improving approximations to the optimal solution.
Бірнеше рет атылған
Көп рет ату – бір рет атудың қарапайым кеңейтілген түрі, оны едәуір тиімді етеді. Алгоритм траекторияны бір симуляция (кезең) ретінде емес, көптеген қысқа сегменттерге бөледі және әрбір сегмент арасына қателік шектеуі қосылады. Соның нәтижесінде үлкен, сирек кездесетін сызықтық емес бағдарлама пайда болады, оны бір рет ату арқылы алынған шағын тығыз бағдарламаларға қарағанда шешу оңайырақ.
Multiple shooting is a simple extension to single shooting that renders it far more effective. Rather than representing the entire trajectory as a single simulation (segment), the algorithm breaks the trajectory into many shorter segments, and a defect constraint is added between each. The result is large sparse non linear program, which tends to be easier to solve than the small dense programs produced by single shooting.
Псевдоспектрлік дискреттеу
Псевдоспектрлік дискреттеуде траекторияның толыққанды жолы уақыт доменіндегі (тәуелсіз айнымалы) негіздік функциялар жиынтығы арқылы көрсетіледі. Негіздік функциялар міндетті түрде полиномдар болуы керек емес. Псевдоспектрлік дискреттеу спектрлік колокация деп те аталады. Егер траекторияны оңтайландыру мәселесін шешу үшін қолданылса және шешімі тегіс болса, псевдоспектрлік әдіс спектрлік (экспоненциалдық) жуықтауға қол жеткізеді. Траектория тегіс болмаған жағдайда да жуықтау өте жылдам болады, Рунге-Кутта әдістерінен асып түседі.
In pseudospectral discretization the entire trajectory is represented by a collection of basis functions in the time domain (independent variable). The basis functions need not be polynomials. Pseudospectral discretization is also known as spectral collocation. When used to solve a trajectory optimization problem whose solution is smooth, a pseudospectral method will achieve spectral (exponential) convergence. If the trajectory is not smooth, the convergence is still very fast, faster than Runge Kutta methods.
Уақытша шекті элементтер
1990 жылы Дьюи Х. Ходжес және Роберт Р. Блесс оңтайлы басқару мәселелері үшін әлсіз Гамильтондық шекті элементтер әдісін ұсынды. Олардың идеясы – оптималдық үшін қажетті бірінші реттік шарттардың әлсіз вариациялық формасын шығару, уақыт саласын шекті интервалдарға бөлу және әрбір интервалдағы күйлердің, басқарудың және ко-мәндердің қарапайым нөлдік дәрежелі полиномдық өрнектемесін қолдану болды.
In 1990 Dewey H. Hodges and Robert R. Bless proposed a weak Hamiltonian finite element method for optimal control problems. The idea was to derive a weak variational form of first order necessary conditions for optimality, discretise the time domain in finite intervals and use a simple zero order polynomial representation of states, controls and adjoints over each interval.
Дифференциалдық динамикалық бағдарламалау
Дифференциалдық динамикалық бағдарламалау, мұнда сипатталған басқа техникалардан сәл ерекшеленеді. Атап айтқанда, ол транскрипцияны және оптимизацияны нақты бөліп көрсетпейді. Оның орнына, траектория бойымен бірнеше итеративті алға және кері өтулерді жасайды. Әрбір алға өту жүйе динамикасын қанағаттандырады, ал әрбір кері өту басқарудың оңтайлылық шарттарын қанағаттандырады. Соңында, бұл итерация қанағаттандыратын және оңтайлы траекторияға жуықсады.
Differential dynamic programming, is a bit different than the other techniques described here. In particular, it does not cleanly separate the transcription and the optimization. Instead, it does a sequence of iterative forward and backward passes along the trajectory. Each forward pass satisfies the system dynamics, and each backward pass satisfies the optimality conditions for control. Eventually, this iteration converges to a trajectory that is both feasible and optimal.
Техникаларды салыстыру
Траекторияны оңтайландыру мәселесін шешу үшін көптеген техникалар бар. Ең жақсы әдіс жоқ, бірақ кейбір әдістер нақты мәселелерде жақсы нәтиже беруі мүмкін. Осы бөлім әдістердің артықшылықтары мен кемшіліктерін салыстыра қарастырады.
There are many techniques to choose from when solving a trajectory optimization problem. There is no best method, but some methods might do a better job on specific problems. This section provides a rough understanding of the trade offs between methods.
Тікелей және жанама әдістер
Траекторияны оңтайландыру мәселесін жанама әдіспен шешетін болсаңыз, қосымша теңдеулерді және олардың градиенттерін нақты құрастыру қажет. Бұл көбінесе қиынға соғады, бірақ шешімнің өте жоғары дәлдік өлшемін қамтамасыз етеді. Тікелей әдістерді орнату және шешу әлдеқайда оңай, бірақ оларда кіріктірілген дәлдік өлшемі болмайды. Сондықтан тікелей әдістер, әсіресе маңызды емес қолдануларда, кеңінен қолданылады. Жанама әдістер әлі де мамандандырылған қолдануларда, әсіресе аэроғарыш саласында, дәлдік аса маңызды болған жағдайларда қолданысқа ие. Жанама әдістердің қиындыққа тап болатын бір жағдайы – жол теңсіздігі шектеулері бар мәселелер. Мұндай мәселелердің шешімдерінде шектеулердің бір бөлігі белсенді болады. Жанама әдіс үшін қосымша теңдеулерді құрастырғанда, пайдаланушы шектеудің шешімде қашан белсенді болатынын нақты көрсетуі керек, ал мұны алдын ала білу қиын. Мұның бір шешімі – бастапқы шамалауды есептеу үшін тікелей әдіс қолданып, содан кейін шектеулер белгіленген көп фазалы мәселені құру. Соның нәтижесінде алынған мәселені жанама әдіспен дәл шешуге болады.
When solving a trajectory optimization problem with an indirect method, you must explicitly construct the adjoint equations and their gradients. This is often difficult to do, but it gives an excellent accuracy metric for the solution. Direct methods are much easier to set up and solve, but do not have a built in accuracy metric. As a result, direct methods are more widely used, especially in non critical applications. Indirect methods still have a place in specialized applications, particularly aerospace, where accuracy is critical. One place where indirect methods have particular difficulty is on problems with path inequality constraints. These problems tend to have solutions for which the constraint is partially active. When constructing the adjoint equations for an indirect method, the user must explicitly write down when the constraint is active in the solution, which is difficult to know a priori. One solution is to use a direct method to compute an initial guess, which is then used to construct a multi phase problem where the constraint is prescribed. The resulting problem can then be solved accurately using an indirect method.
Атыс пен орналасу
Бір рет түсіру әдістері басқару өте қарапайым (немесе бастапқы шамалау өте жақсы) мәселелер үшін ең қолайлы. Мысалы, спутниктік миссия жоспарлау мәселесі, ондағы жалғыз басқару – қозғалтқыштардан басталатын импульстің шамасы мен бағыты. Көп рет түсіру салыстырмалы түрде қарапайым басқаруға, бірақ күрделі динамикаға ие мәселелер үшін жақсы. Жолдық шектеулер қолданылғанның өзінде, олар нәтижедегі сызықтық емес бағдарламаны шешуді қиындатады. Тікелей колокация әдістері басқару мен күйдің дәлдігі шамалас мәселелер үшін жақсы. Бұл әдістер басқаларына қарағанда аз дәл болуы мүмкін (олардың төмен ретіне байланысты), бірақ қиын жолдық шектеулері бар мәселелер үшін ерекше сенімді. Ортогональды колокация әдістері басқару траекториясының дәлдігі маңызды мәселелерге жоғары дәлдікті шешімдер алу үшін ең жақсы. Кейбір іске асыруларда жолдық шектеулермен қиындықтар туындауы мүмкін. Бұл әдістер шешім тегіс болған кезде өте жақсы нәтиже береді.
Single shooting methods are best used for problems where the control is very simple (or there is an extremely good initial guess). For example, a satellite mission planning problem where the only control is the magnitude and direction of an initial impulse from the engines. Multiple shooting tends to be good for problems with relatively simple control, but complicated dynamics. Although path constraints can be used, they make the resulting nonlinear program relatively difficult to solve. Direct collocation methods are good for problems where the accuracy of the control and the state are similar. These methods tend to be less accurate than others (due to their low order), but are particularly robust for problems with difficult path constraints. Orthogonal collocation methods are best for obtaining high accuracy solutions to problems where the accuracy of the control trajectory is important. Some implementations have trouble with path constraints. These methods are particularly good when the solution is smooth.