Нечеткий регулятор и его реализация на языке C / How to implement fuzzy logic control in c

  Рет қаралды 6,577

Renat Abaydulin

Renat Abaydulin

5 жыл бұрын

Рассмотрим теоретические основы процесса нечеткого регулирования и его реализацию на языке C. Разберемся с понятием о нечеткой логики, нечеткого множества, нечеткой переменной. Разработаем набор нечетких правил регулятора и на примере внедрим и протестируем созданный искусственный интеллект.
Скачать исходный код и помочь проекту:
abaidulin.com/autopilot_source...
Можно почитать краткое изложение.
abaidulin.com/math/fuzzy-logic/
abaidulin.com/math/fuzzy-contr...
Let's look at the theoretical foundations of the process of fuzzy logic regulation and its implementation in C. Understanding of fuzzy logic, fuzzy set, fuzzy variable. We will develop a set of fuzzy rules of the regulator and, on the example, introduce and test the created artificial intelligence.
Source code of autopilot:
abaidulin.com/autopilot_source...
Музыка: The Fat Rat / thisisthefatrat

Пікірлер: 44
@user-pk4wz1hb2q
@user-pk4wz1hb2q 2 жыл бұрын
Спасибо за представленный код. Я до сих пор не находил внятного объяснения принципа работы Fuzzy. Ученые заваливают формулами и определениями, дилетанты пишут, то чего не понимают. Автор, не серчайте :). Ваше объяснение не помогло совсем. Я одно понял, вы действительно разобрались и сделали рабочий си-код. Ваш код расставил все реперные точки в моей голове на место. За что огромное спасибо. Супер!!! Как хорошо, что я решился дослушать до конца, где представлена программа. Теперь я знаю как оптимально объяснить принципы работы программистам, а остальным это и не нужно.
@The32psix
@The32psix 2 жыл бұрын
Спасибо дядь, защитился по твоему видео.
@RenatAbaidulin
@RenatAbaidulin 2 жыл бұрын
Всегда пожалуйста!)
@mrsuratech8344
@mrsuratech8344 5 жыл бұрын
Традиционно круто!)
@RenatAbaidulin
@RenatAbaidulin 5 жыл бұрын
Спасибо!))
@Igor_Sidorov_
@Igor_Sidorov_ 5 жыл бұрын
Строить всё это, конечно, не буду, но некоторые моменты логики обработки для себя узнал.
@RenatAbaidulin
@RenatAbaidulin 5 жыл бұрын
На самом там 3 функции, одна проще другой. Самое сложное - это придумать правила, согласно которым искусственный интеллект будет принимать решения)
@user-gz3oo7pg9o
@user-gz3oo7pg9o Жыл бұрын
Сделал все так же как у вас,но при изменении дельтаЕ,ничего не происходит и Z изменяется только по еррорам.В чем проблема может быть?
@bus12
@bus12 3 жыл бұрын
Из какой книги картинки ? Посоветуйте что почитать для "чайника". С понятием множеств более менее разобрался, а вот с синтезем регулятора и переводом его в С/С++ код пока туго.
@RenatAbaidulin
@RenatAbaidulin 3 жыл бұрын
Картинки это графики из Numbers. Посмотрите вот тут kzfaq.info/love/felJa0QlJWwPEZ6XNbNRyAplaylists Про нечеткие множества, вывод, управление...да там в принципе все можно смотреть, очень качественный контент!
@bus12
@bus12 3 жыл бұрын
@@RenatAbaidulin я там уже посмотрел видео, просветление пока не пришло :-)
@alekseyvolodin3659
@alekseyvolodin3659 5 жыл бұрын
Подскажите, в чем отличие этой схемы от классического PID регулятора? Кстати, очень хорошее оформление кода.
@RenatAbaidulin
@RenatAbaidulin 5 жыл бұрын
Спасибо!) Я в видео это пытался разъяснить. В данной схеме, вы просто опрашиваете эксперта о методах управления объектом, реакции регулятора на определенные состояния системы. И записываете полученные опыт в виде правил. В принципе, решения системы довольно легко объясняются правилами и, при необходимости, их можно дописывать/изменять. Более интеллектуальная система получается.
@ismelnikov
@ismelnikov 5 жыл бұрын
В этом простом примере разница не столь заметна. В данном случае мы как раз записали правила для Proportional и Diferential из PID. А коэфициенты перед ними зашили в нечеткие переменные "Очень большое отрицательное" равное -120 и т.п. На мой взгляд преимущество в том, что мы можем придумать более сложные правила и добавить в набор правил.
@Tim_Linkel
@Tim_Linkel 5 жыл бұрын
@@ismelnikov разве нечеткий регулятор и пид регулятор не разные вещи? Первый это что то на подобие системы программного управления, но обратной связью. я ошибаюсь?
@sencis9367
@sencis9367 4 жыл бұрын
@@ismelnikov Преимущества в нелинейности, так можно лучше описать модель чем просто ПИД где по идее модель с начало нужно ленейризировать. Но с костылями ПИД наверно будет лучше, по крайней мере во всех коммерческих АП используют ПИД с костылями. Хотя, возможно ещё потому-что обычному пользователю проще его настроить.
@shutkaday
@shutkaday Жыл бұрын
@@RenatAbaidulin Здравствуйте. Можно ваш код? По ссылке нет ничего
@denisend281998
@denisend281998 2 жыл бұрын
Добрый день! Код почему то недоступен на сайте для доступа. Подскажите пожалуйста, а что за библиотека "fuzzy.h"?
@RenatAbaidulin
@RenatAbaidulin 2 жыл бұрын
Добрый день! Код продал пару лет как. fuzzy.h это либа, которую мы тут и пишем)
@user-tn2oi9vs6m
@user-tn2oi9vs6m 10 ай бұрын
Здравствуйте уважаемый автор этого видео. Очень полезное видео. Многое понял я. Спасибо Вам. У меня имеются вопросы к вам. Можно ли с вами связаться в личной переписке ? Тут писать не хочу, ибо текста много будет.
@RenatAbaidulin
@RenatAbaidulin 10 ай бұрын
Добрый день! можно написать на email: abaidulin@gmail.com
@user-tn2oi9vs6m
@user-tn2oi9vs6m 10 ай бұрын
Уважаемый автор. Я подготовил свои вопросы и отправил Вам на почту, что Вы указали ! Спасибо !
@DianaEllina
@DianaEllina 4 жыл бұрын
Не очень понятно, почему отрезок [-125,125], а можно, например, взять значения [-80 ,80] и что может в такой ситуации измениться ?
@RenatAbaidulin
@RenatAbaidulin 4 жыл бұрын
На первой минуте объясняю почему взял такой отрезок) Вы можете взять любой отрезок, который подходит под условия вашей задачи.
@user-vp5bp9kf5v
@user-vp5bp9kf5v Жыл бұрын
Включи голову. Посмотри на название переменных и соотнеси их с числами. Тупо для большего понимания. ты можешь вообще там от 0 до 1 и умножать на кофф.
@user-im9fi5ee4i
@user-im9fi5ee4i Жыл бұрын
на фоне FatRat warrior song или как спалить дотера
@bus12
@bus12 3 жыл бұрын
оператор в правилах как расставляется, исходя из чего ?
@RenatAbaidulin
@RenatAbaidulin 3 жыл бұрын
О каком месте идет речь? На какой минуте?
@bus12
@bus12 3 жыл бұрын
@@RenatAbaidulin 16:40
@bus12
@bus12 3 жыл бұрын
@@RenatAbaidulin допер, как сочинили так и расставляются
@RenatAbaidulin
@RenatAbaidulin 3 жыл бұрын
@@bus12 это мы записываем правила реагирования регулятора исходя из опроса "специалиста".
@RenatAbaidulin
@RenatAbaidulin 3 жыл бұрын
@@bus12 ну, "как сочинили", так не полетит)) А вот как эксперт рассказал, так мы и переложили в правила.
@sergeyrink3003
@sergeyrink3003 Жыл бұрын
Не проще логарифмически растянуть значение угла для PID? А регулятор можно и не настраивать вручную, достаточно ввести данные о размере и весе квадрика в матмодель которая сама выберет значения коэффициентов p i d. Матмодель это всего одна формула из школьного курса физики :))
@user-vp5bp9kf5v
@user-vp5bp9kf5v Жыл бұрын
А можно не выебываться и просто понять как работает данный регулятор )) может пригодится чтобы контролировать поток бестолковой инфы из под рук)))
@bus12
@bus12 3 жыл бұрын
музыка реально отвлекает. 8 бит вообще -127 127 :-) а не 125
@RenatAbaidulin
@RenatAbaidulin 3 жыл бұрын
Ну, тогда [-128, 127] ;) Имеется ввиду, что в 8 бит умещаемся. Можно и 256 взять за основу, но мне захотелось так)
@mrsuratech8344
@mrsuratech8344 5 жыл бұрын
Но сложно))))
@RenatAbaidulin
@RenatAbaidulin 5 жыл бұрын
Жизнь, в принципе, - сложная штука!)))
@The32psix
@The32psix 2 жыл бұрын
на скорости 1.5 - приемлемо
@user-zy7ui3ix1z
@user-zy7ui3ix1z 2 жыл бұрын
По-моему, Вы перемудрили. Тут достаточно обычной отрицательной обратной связи, аналоговой.
@vladpanov9672
@vladpanov9672 Жыл бұрын
для дискретного воздействия не хватит, всегда будет получаться либо недорегулирование либо колебания
@andreya3423
@andreya3423 Жыл бұрын
Чушь всё это. Не кому это не надо. Вводится кривая зависимости угол наклона к оборотам (как обороты на кулерах в видеокартах от температуры) . Это быстрей (не надо формул), навастривай как хочешь - хочешь синусом, хочешь параболой или линейно.
@RenatAbaidulin
@RenatAbaidulin Жыл бұрын
Сначала хотел убрать такой категоричный коммент. Но пусть висит, пусть люди знают, что все эти нечеткие логики, нейронки, ИИ и т.п. в автоматическом управлении - чушь, никому не нужная. Оказывается нужна волшебная синусоида, которая все заменит. Видимо нейронки это глобальный заговор производителей МК, дабы поднять продажи?)))))
THEY made a RAINBOW M&M 🤩😳 LeoNata family #shorts
00:49
LeoNata Family
Рет қаралды 27 МЛН
small vs big hoop #tiktok
00:12
Анастасия Тарасова
Рет қаралды 33 МЛН
Survival skills: A great idea with duct tape #survival #lifehacks #camping
00:27
I Can't Believe We Did This...
00:38
Stokes Twins
Рет қаралды 76 МЛН
PID vs. Other Control Methods: What's the Best Choice
10:33
RealPars
Рет қаралды 111 М.
Fuzzy String Matching in Python
13:07
NeuralNine
Рет қаралды 61 М.
Fuzzy Logic Toolbox
9:11
ЦИТМ Экспонента
Рет қаралды 34 М.
Нечеткие множества (Fuzzy Sets)
19:50
Kirsanov2011
Рет қаралды 11 М.
Неразрушаемый смартфон
1:00
Status
Рет қаралды 2,4 МЛН
Tag her 🤭💞 #miniphone #smartphone #iphone #samsung #fyp
0:11
Pockify™
Рет қаралды 18 МЛН
GamePad İle Bisiklet Yönetmek #shorts
0:26
Osman Kabadayı
Рет қаралды 572 М.
When you have 32GB RAM in your PC
0:12
Deadrig Gaming
Рет қаралды 984 М.
Choose a phone for your mom
0:20
ChooseGift
Рет қаралды 5 МЛН