PID (ПИД) без математики: как просто понять P, I и D

PID-регулятор — частая проблема для начинающих в робототехнике: математика отпугивает. Но саму идею понять можно без формул. В этой статье я объясню P, I и D простыми словами и с визуализацией
Пользователь

PID-регулятор — частая проблема для начинающих в робототехнике: математика отпугивает. Но саму идею понять можно без формул. В этой статье я объясню P, I и D простыми словами и с визуализацией

Большая часть электровакуумных приборов (ЭВП) удовлетворительно (и долго) работает только при откачке их до высокого и сверхвысокого вакуума. Дело, однако, это долгое, хлопотное и дорогое, требующее драконовских мер чистоты и большой подготовки. Высоковакуумные насосы не умеют работать «с атмосферы» — требуют для своего запуска предварительной форвакуумной откачки, обычно до 10^-2…10^-3 мм рт. ст. (Торр). Существует целый ряд очень разных высоковакуумных насосов, работа которых основана на различных принципах. Не все они устроят самодельщика — где-то требуется слишком низкое давление для старта, недостижимое распространёнными и доступными форвакуумными насосами, где-то нужен жидкий азот для экстремального охлаждения, какие-то просто имеют огромную стоимость. Тем не менее существует вариант получения высокого вакуума, свободный от этих недостатков — весьма просто устроенный насос, не содержащий редких и дорогих материалов, подвижных и прецизионных частей, ртути и масла, горячих короткоживущих электродов, требующий для запуска около 10^-2 Торр, пригодный для самостоятельного изготовления в любительской мастерской, из стекла или металла, в нужном масштабе. Речь идёт о магниторазрядных, иначе — ионно-распылительных или ионно-геттерных насосах.

Я не инженер и не продуктовый менеджер. Я продолжаю работать в маркетинге как проектный менеджер и остаюсь скорее гуманитарием, но после переезда в Европу в моём окружении стало много специалистов из IT. Я наблюдаю, как они организуют работу, ведут проекты, договариваются о задачах — и многое из этого оказалось неожиданно практичным, рациональным и универсальным.
Ниже — практики, которые я подсмотрела у техлидов и продуктовых команд. Это не попытка «учить» разработчиков тому, что они и так знают лучше меня. Скорее, я описываю опыт со стороны — как человек, который постоянно учится у них дисциплине управления временем.
Буду рада комментариям: так ли это работает внутри ваших команд.
Как разработать источник отрицательного напряжения? Легко, это делается из классического Buck конвертера!
Стандартное решение, которое может пригодиться всем, кто хоть раз сталкивался с разработкой DC/DC источников питания или столкнулся сейчас.

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

Во всех устройствах YADRO, будь то системы хранения данных, серверы или коммутаторы, есть система BMC, через которую администраторы гибко управляют серверами.
Мы поддерживаем продукты в конкурентоспособном состоянии и выпускаем обновления с исправлениями багов, поддержкой новых стандартов безопасности и новой функциональностью. Но чем больше новшеств, тем больше места бинарный код занимает на накопителе с прошивкой устройства. На старых платформах уже нет возможности расширить накопитель, поэтому мы ищем, как уменьшить прошивку, сохранив всю нужную функциональность.
Меня зовут Максим Гончаров, и я расскажу, как мы оптимизировали кодовую базу на C++ по размеру конечного образа, чтобы новые фичи были доступны на всех уже работающих у заказчиков серверах.

Привет, Хабр!
Наткнулись на задачу: нужен плагин на C#, который можно грузить как обычную C-библиотеку без CLR и JIT, а вызывать из Rust и Python. Без обвязок, без CoreCLR-хостинга и прочего. Чистый C ABI, нормальные строки, предсказуемые структуры, обработка ошибок и нулевой JIT-прогрев. Это как раз случай для NativeAOT: компилируем библиотеку в нативный .dll/.so/.dylib, экспортируем функции через [UnmanagedCallersOnly], а дальше живём как с любой C-библиотекой. Нюансов хватает: что экспортируется и как назвать символ, как договориться по ABI, что делать со строками UTF-8, как возвращать ошибку, как освобождать память снаружи, почему исключения нельзя проталкивать за границу, и в каком месте «cdecl» реально что-то значит.

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

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

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

Как вычислить экспоненциальную функцию быстро и с минимальной погрешностью? Пишем векторизованный код.

Салют, Хабр! На связи снова я, Aragorn, со своим проектом по терроризированию Роскомпозора. В прошлый раз я рассказывал о NoDPI - утилите для "раздеградирования" YouTube и установил личный рекорд - 400 звезд на GitHub и блокировка статьи РКН через три дня после публикации.
Многие мои знакомые и люди в комментариях просили сделать версию под Android и Android TV. Я не очень дружу с Джавой и с Джавой под андроид в особенности, и поэтому такая перспектива меня не очень прельщала, но у меня был опыт написания android-приложений на python и kivy, который я и решил применить. После нескольких дней (и ночей) напряженного труда и танцев с бубном, мне наконец удалось создать NoDPI for Android, который практически не имеет аналогов. Именно о нем я и хочу сегодня рассказать. Надеюсь, статья будет вам полезна и интересна. Поехали!

Я написал на C# консольный клон Wordle, но попытался сделать двоичный файл максимально крошечным.
Я взял популярную игру Wordle с такими правилами:
Нужно за шесть попыток угадать слово из пяти букв. После ввода каждого варианта цвет букв будет меняться, показывая близость догадки к загаданному слову.
Для каждой попытки уменьшения двоичного файла мы создадим отдельный проект, чтобы удобно было сравнивать предпринятые действия.
В работе с консолью мне помогла игра Console Games - Snake
Проект запускается в новой консоли dotnet.





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

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

В жизни каждого программиста С++ рано или поздно возникает задача, которую кто-либо уже решил. Однако найти это решение бывает очень непросто в силу разных причин: оно недостаточно разрекламировано, либо имеет нечеткую документацию, или возникает проблема языкового барьера, ну, или поисковики просто плохо ищут).
Столкнувшись много раз подряд с тем, что найти что-то толковое довольно непросто, я решил попробовать распутать это узел и предложить для русскоязычных читателей свой справочник классных библиотек на С++. Я исходил из этого источника. Это очень многогранный и объемный список библиотек языка С++, но, скажем так, у меня были к нему вопросы. Потому я сделал перевод, затем значительно улучшил его в плане содержания (далее объясню, как, почему и зачем). На выходе получилось около 1000 библиотек. Как в сказке). Они, конечно, не покрывают все возможные задачи и предметные области, но поверьте, они затрагивают действительно многое.