All streams
Search
Write a publication
Pull to refresh
206
0.4
Send message

Ещё бы это заработало.
Настроить фильтр Калмана так же сложно, как и PID-регулятор: никаких «волшебных» коэффициентов и универсальных архитектур - ни у Калмана, ни у других алгоритмов - не существует.
Качество работы достигается лишь при наличии мощной и непрерывной телеметрии.

Поэтому, когда в таких проектах сразу переходят к функциям управления двигателями, это выглядит как «забег вперёд паровоза».
Любые сторонние решения без беспроводной широкополосной телеметрии, построенные на ардуино, можно смело обходить стороной: аналогичный шлаκ ChatGPT сгенерирует и сам. А вот инфраструктуру для реальных исследований он за вас не создаст.

Ни разу не видел чтобы после силовых бегали дольше 5 мин.
Это не бег, а пародия.
Давайте это просто называть заминкой к бегу отношения не имеющей.
Вопрос мотивации и ее долгосрочного сохраннеия считаю для физкультурников важнейшим.
За 15 лет в клубе видел только одного! человека из сотен который все это время продолжает посещать тренировки. Но у него там что-то с суставами, и просто жизненно необходимо.

Почему бегать предлагают после силовой тренировки, а не наоборот?
Странно.
Подозреваю, что скоро британские учёные сделают очередное открытие.

А ведь всё просто.
Бег повышает уровень дофамина, и уже под дофамином гораздо легче браться за силовые.
Если же сразу начать с силовых, то бег дастся труднее и не обеспечит того самого дофамина.

Да, при первом варианте мышцы не вырастут, ведь с 45-й минуты бега организм начинает их съедать.

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

Любой из ChatGPT каждый день показывают гораздо худшие результаты чем Cloude Sonnet 4 в режиме агента.
ChatGPT всегда делает меньше и требует более детальных заданий.
Годен только для того чтобы на пять минут заменить Cloude пока тот перегружен.

Это просто классическое экспоненциальное скользящее среднее (EMA) + один нуль.
Этот нуль - костыль. Сдвиги все равно не дадут точно сделать нужную полосу.
Я применяю медианный фильтр на 3 отсчета перед EMA . Гораздо лучше сглаживает выбросы.

Ну алгоритм довольно нестабильный на реальных разрядностях
Вот так выглядят амплитуды при разных способах округления в младших разрядах

Программа на Python
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Drift caused by biased rounding (Q1.15 fixed-point oscillator)
"""

import math
import numpy as np
import matplotlib.pyplot as plt


# ------------------------------------------------------------
#  ПАРАМЕТРЫ ЭКСПЕРИМЕНТА
# ------------------------------------------------------------
Fs      = 1_000.0          # частота дискретизации, Гц
f0      = 5.0              # генерируемая частота, Гц
seconds = 60               # длительность теста, с
N       = int(Fs * seconds)

omega   = 2 * math.pi * f0 / Fs
kappa_f = 2 * math.sin(omega / 2)     # float-коэффициент

Q   = 15                 # формат Q1.15
S   = 1 << Q             # масштаб 2^Q
kappa = int(round(kappa_f * S))       # фикс-пойнт коэффициент


# ------------------------------------------------------------
#  ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ
# ------------------------------------------------------------
def one_step(c: int, s: int, rounding: str = 'trunc'):
    """
    Один рекурсивный шаг генератора:
    c_{n+1} = c_n - kappa*s_n
    s_{n+1} = s_n + kappa*c_{n+1}

    rounding:
        'trunc' – обычный сдвиг вправо (предвзятое округление)
        'sym'   – симметричное округление к ближайшему
    """
    if rounding == 'trunc':
        prod1 = (kappa * s) >> Q
    else:                           # symmetric
        tmp = kappa * s
        prod1 = (tmp + (1 << (Q-1))) >> Q if tmp >= 0 else (tmp - (1 << (Q-1))) >> Q

    c_next = c - prod1

    if rounding == 'trunc':
        prod2 = (kappa * c_next) >> Q
    else:
        tmp = kappa * c_next
        prod2 = (tmp + (1 << (Q-1))) >> Q if tmp >= 0 else (tmp - (1 << (Q-1))) >> Q

    s_next = s + prod2
    return c_next, s_next


def run(rounding: str):
    """Запускаем генератор и возвращаем массив амплитуд"""
    c, s = S, 0    # cos(0)=1, sin(0)=0 в Q1.15
    amp   = np.empty(N)
    for n in range(N):
        amp[n] = math.hypot(c / S, s / S)   # мгновенная амплитуда
        c, s   = one_step(c, s, rounding)
    return amp


# ------------------------------------------------------------
#  МОДЕЛИРУЕМ ОБЕ СХЕМЫ И РИСУЕМ
# ------------------------------------------------------------
amp_trunc = run('trunc')
amp_round = run('sym')

t = np.arange(N) / Fs

plt.figure(figsize=(10, 6))
plt.plot(t, amp_trunc, label='truncate-shift', lw=0.8, color='orange')
plt.plot(t, amp_round, label='symmetric-round', lw=0.8, color='orangered')
plt.title('Drift caused by biased rounding (Q1.15)')
plt.xlabel('Time [s]')
plt.ylabel('Instant amplitude')
plt.grid(True, alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()

Если нужна квадратурная детекция частот, то напрямую использовть Goertzel гораздо практичнее.

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

Нет, это так не работает.
Любая внешняя микросхема вызовет неприемлемые задержки и нарушение детерминизма. Поскольку микроконтроллер будет вынужден обращаться к этой микросхеме через свою низкоприоритетную периферийную шину и так занятую кучей DMA и DCT.

А в статье как раз показываю способ как делать минимум обращений даже к нативной внутренней оптимизированой периферии. И даже эти обращения вызывают беспокойство - не нужно ли делать DSB ( Data Synchronization Barrier ) после них.
Тут каждая наносекунда дорога, особенно на высоких частотах ШИМ.
Какое CPLD, шутите?

Особенно вывывает улыбку предложение делать некий блэкджек-навороченный ШИМ на FPGA. Ну почему мне не встречаются предложения сделать на FPGA движок USB включая все классы дивайсов. Там годами приходится с аппаратными багами бороться и никто не поможет таким дельным советом.

  • Представлена нейросетью, параметризованной с помощью MLP (multilayer perceptron).

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

Словом, зря они от Калмана отказались.

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

В смысле - "Почему бы не сделать значительно дороже чем сейчас" ?

Этот свободный пересказ упустил один из важнейших контраргументов от А. Лоусена
Вот этот:
- 2.1 Consequences of Rigid Evaluation

Кто программит с помощью Cloude Sonnet отлично знает, как он может уходить в длиннющие сессии итераций с запусками и исправлениями.
А там ребята решили, что если сделал ошибку с первого раза, то сразу незачет.
В жизни так никому не интересно. Особенно у разработчиков.

Странная двойственность.
В начале говорится, что код прямо промптами будет писаться. Т.е. про безусловное доверие к сгенерированному коду или даже не коду, а прям решениям принимаемым LLM.
А в конце про какой-то бегунок, где доверие на уровне чуть-чуть что-то в файле поменять.
Яйца он варит... Что-то тут не договаривается.
И мне кажется именно из-за того, что технология в непонятных руках у непонятных регуляторов.
Claude 4 может нагенерить тысячи строк кода безошибочно, но почему-то с подозрительной регулярностью то тут, то там съедает мелкие операторы. Из-за этого работа тормозится минимум в два раза и требуется отладка.
Это не что иное как интермиттирующее (частичное) подкрепление - один из самых мощных механизмов удержания и формирования зависимости.

Сложными графические модели делают "телепорты" сигналов через Goto/From, Off-page connectors .
Это когда ссылаются из одного листа на другой лист или вообще на другой уровень иерархии. Но телепорты это и есть проблема имен поскольку их надо глобально именовать в отличие от локальных портов не требующих глобальной уникальности.
Если все связи выполнены линиями, то сложность резко снижается.
Линиями некоторые разработчики пренебрегают, таща представления о структуре из своих текстовых нотаций.
Но они являются главным элементом диаграм. Потом хорошие графические языки предоставляют еще и шины для агрегации линий.
Словом агрегация и иерархия - вот на чем держится сила графики.

А в пределе Дойча на самом деле скрываются многие десятки листов и файлов текстовой нотации.
Попытка изучения эквививалентного объема текстовой нотации графичекой схемы на пределе Дойча вообще легкий шок вызвал бы. Это я попытался показать вот в этой статье - https://habr.com/ru/articles/581468/
Посмотрите, там маленькая диаграмка, которой далеко еще до предела выливается в такой текст, что редко кто возьмется его анализировать.
По сути нет другого шанса дать человеку быстро изучить реально сложный проект не превратив его в графическое представление. Либо долгие месяцы анализа текстов.

Неужели у преподавателей кончился ChatGPT?

Можно ли в MATLAB решать следующие задачи и какими инструментами ?

Взаимодействие сотен разных или схожих объектов (летательных аппаратов ....

Крупное промышленное предприятие в условиях реконструкции ....

Биосфера в условиях человеческого влияния ....

На что ChatGPT отвечает -

Да элементарно все решается в MATLAB. Ничего придумывать не нужно.

  1. Флот/техника: Simulink + SimEvents (дискретные события) + Simscape/Blocksets (физика) + Predictive Maintenance & Optimization Toolbox (износ, планирование).

  2. Промпредприятие: SimEvents (логистика) + Simulink/Stateflow (станки) + Optimization Toolbox (расписания) + System Composer (архитектура).

  3. Биосфера: PDE Toolbox/SimBiology (процессы) + Mapping Toolbox & Climate Data Toolbox (геоданные, климат).

Параллельные вычисления ускоряют моделирование во всех трёх случаях.

От себя напишу.
Главная слабость текстовых языков - зависимость от имён: их трудно придумывать, запоминать и не перепутать. Графические нотации снимают большую часть этой когнитивной нагрузки.
Да , в графической нотации есть проблемы с контролем версий и diff-ами. Но это от скудности самих сред разработки. И в этом направлении как раз и стоило бы приложить усилия.
Но там и так прикладывают. Simulink и Stateflow самого начала были гибридными. Там всегда можно было перейти на текст если не хватало графической фантазии.

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

Рецензия от ChatGPT

Коротко о главных противоречиях в тексте

  • Команда ↔ одиночка. Автор говорит, что «развиваю RuFA Hub вместе с небольшой командой» — и почти сразу заявляет: «я — единственный разработчик проекта».

  • Зрелый продукт ↔ сырой альфа. Сначала RuFA Hub описан как уже «универсальный центр взаимодействия», но спустя несколько абзацев называется «стадией альфы, которую автор регулярно переписывает».

  • От «говорящей банки» к всеядной шине. Проект стартовал как простая колонка, подающая питание на пины, а мгновенно стал маршрутизатором «между чем угодно», без чёткого объяснения перехода.


А так вообще не понял что это и даже GPT не сильно помог. Скорее всего плохая копипаста с DeepSeek

Уже месяц пишу в стиле telepathic-code с Claude.
Забыл все спецификации языков. Telepathic-code не зажат в рамки спецификаций — только идеи и мысли. Не нужно знать ни нотаций, ни синтаксиса, ни правил и загружать себя ими. Это всё мелочи, с которыми справится достаточно развитый агент.

Все low-code, no-code, Camunda — всего лишь неудачные приближения к telepathic-code.

Благодаря агентам феномен «контент-ферм» в стиле Матрицы уже существует.
ИИ получает мегабайты рабочих проектов из всяческих Copilotов от самих разработчиков да еще и за их деньги.
Это гораздо круче чем высасывать из Stack Overflow.
Качество генерируемых сорсов на высшем уровне.
Оно такое что боязно уже руками писать, чтоб не наделать ошибок.
Близко время когда людям запретят кодировать руками , по типу того как в машинах уберут руль. Наверно это случится одновременно и не позже 30 года.
Сейчас не хватает именно мощности и энергии.

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

Information

Rating
2,048-th
Registered
Activity