[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6H9CMZE8RRZKXFMP331YAXD":3,"skill-same:01M6H9CMZE8RRZKXFMP331YAXD":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":34,"linkOnly":35,"markdownContent":36,"markdownBody":37,"frontMatter":38,"refName":41,"commitSha":42,"skillDirectory":43,"forksCount":14,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6H9CMZE8RRZKXFMP331YAXD","control-systems",null,"Control systems analysis and design","NeuralBlitz\u002FMito","NeuralBlitz","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F79354388?v=4","01M6H8T2TFH477HRS0KTSTKR2E","David Riggs","01M6H8T2YQQDXPYM092P670Z21",0,"MIT","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fcontrol-systems\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33],"control systems","control","systems","design","automation","engineering","analysis","opencode","specialists","students","2026-11-10 10:12:30",false,"---\nname: control-systems\ndescription: Control systems analysis and design\nlicense: MIT\ncompatibility: opencode\nmetadata:\n  audience: engineers, automation specialists, students\n  category: engineering\n---\n\n## What I do\n\n- Design feedback control systems and controllers\n- Analyze system stability and performance\n- Implement PID and advanced control strategies\n- Model dynamic systems and create simulations\n- Tune control parameters for optimal performance\n\n## When to use me\n\n- When designing automated control systems\n- When analyzing stability of feedback systems\n- When implementing PID controllers\n- When tuning control system parameters\n- When modeling dynamic systems\n\n## Key Concepts\n\n### Control System Basics\n\n```python\nimport numpy as np\nimport control as ct\n\n# Transfer function representation\ns = ct.TransferFunction.s\n\n# First order system\nG1 = 1 \u002F (s + 1)\n\n# Second order system\nG2 = 1 \u002F (s**2 + 2*0.1*s + 1)\n\n# Closed loop transfer function\ndef closed_loop(G, K):\n    \"\"\"Calculate closed loop TF\"\"\"\n    return (G * K) \u002F (1 + G * K)\n\n# System response\nt = np.linspace(0, 10, 100)\nt, y = ct.step_response(G1, t)\n```\n\n### PID Controller\n\n```python\nclass PIDController:\n    def __init__(self, Kp=1, Ki=0, Kd=0):\n        self.Kp = Kp  # Proportional gain\n        self.Ki = Ki  # Integral gain  \n        self.Kd = Kd  # Derivative gain\n        self.prev_error = 0\n        self.integral = 0\n        self.setpoint = 0\n    \n    def compute(self, measurement, dt):\n        \"\"\"Compute PID output\"\"\"\n        error = self.setpoint - measurement\n        \n        # Proportional term\n        P = self.Kp * error\n        \n        # Integral term\n        self.integral += error * dt\n        I = self.Ki * self.integral\n        \n        # Derivative term\n        derivative = (error - self.prev_error) \u002F dt\n        D = self.Kd * derivative\n        \n        self.prev_error = error\n        \n        return P + I + D\n    \n    def tune_ziegler_nichols(self, Ku, Tu):\n        \"\"\"Ziegler-Nichols tuning\"\"\"\n        self.Kp = 0.6 * Ku\n        self.Ki = 2 * self.Kp \u002F Tu\n        self.Kd = self.Kp * Tu \u002F 8\n```\n\n### Stability Analysis\n\n```python\n# Routh-Hurwitz criterion\ndef routh_hurwitz(coeffs):\n    \"\"\"Determine stability from characteristic equation\"\"\"\n    n = len(coeffs)\n    if n \u003C 2:\n        return \"Insufficient order\"\n    \n    # Check coefficients\n    if any(c \u003C= 0 for c in coeffs[:-1]):\n        return \"Unstable - negative coefficients\"\n    \n    # For 2nd order: a1 > 0, a0 > 0\n    # For 3rd order: a1*a2 > a0*a3\n    \n    return \"Potentially stable - verify\"\n\n# Bode stability margin\ndef stability_margins(G):\n    \"\"\"Calculate gain and phase margin\"\"\"\n    mag, phase, omega = ct.bode(G, Plot=False)\n    \n    # Phase crossover (phase = -180)\n    phase_cross_idx = np.where(phase \u003C= -180)[0]\n    if len(phase_cross_idx) > 0:\n        gm = 1 \u002F mag[phase_cross_idx[0]]\n    else:\n        gm = np.inf\n    \n    # Gain crossover (magnitude = 1)\n    gain_cross_idx = np.where(mag >= 1)[0][0]\n    pm = 180 + phase[gain_cross_idx]\n    \n    return {\"gain_margin\": gm, \"phase_margin\": pm}\n```\n\n### State Space Control\n\n```python\nclass StateSpaceController:\n    def __init__(self, A, B, C, D):\n        self.A = A\n        self.B = B\n        self.C = C\n        self.D = D\n        self.x = np.zeros((A.shape[0], 1))\n    \n    def pole_placement(self, desired_poles):\n        \"\"\"Place closed loop poles\"\"\"\n        # Calculate gain matrix K for desired poles\n        # K = place(A, B, poles)\n        pass\n    \n    def observer_design(self, desired_poles):\n        \"\"\"Design state observer\"\"\"\n        # L = place(A', C', poles)'\n        pass\n    \n    def update(self, u, dt):\n        \"\"\"State update\"\"\"\n        self.x = self.x + dt * (self.A @ self.x + self.B @ u)\n        return self.C @ self.x\n```\n\n### Performance Specifications\n\n| Specification | Definition | Typical Value |\n|----------------|------------|---------------|\n| Rise Time | 10%-90% of final value | \u003C 2 sec |\n| Settling Time | Within 2% of final | \u003C 5 sec |\n| Overshoot | Peak above final value | \u003C 10% |\n| Steady-State Error | Final value error | \u003C 1% |\n| Bandwidth | -3dB frequency | Design dependent |\n\n### Control Strategies\n\n```python\n# Feedforward control\nclass FeedforwardController:\n    def __init__(self, G_inv):\n        self.G_inv = G_inv  # Inverse of plant model\n    \n    def compute(self, disturbance, setpoint):\n        \"\"\"Feedforward + feedback\"\"\"\n        u_ff = self.G_inv * setpoint\n        u_fb = self.feedback_controller.compute()\n        return u_ff + u_fb\n\n# Cascade control\nclass CascadeControl:\n    \"\"\"Inner loop (fast) and outer loop (slow)\"\"\"\n    def __init__(self, inner_loop, outer_loop):\n        self.inner = inner_loop\n        self.outer = outer_loop\n```\n","## What I do\n\n- Design feedback control systems and controllers\n- Analyze system stability and performance\n- Implement PID and advanced control strategies\n- Model dynamic systems and create simulations\n- Tune control parameters for optimal performance\n\n## When to use me\n\n- When designing automated control systems\n- When analyzing stability of feedback systems\n- When implementing PID controllers\n- When tuning control system parameters\n- When modeling dynamic systems\n\n## Key Concepts\n\n### Control System Basics\n\n```python\nimport numpy as np\nimport control as ct\n\n# Transfer function representation\ns = ct.TransferFunction.s\n\n# First order system\nG1 = 1 \u002F (s + 1)\n\n# Second order system\nG2 = 1 \u002F (s**2 + 2*0.1*s + 1)\n\n# Closed loop transfer function\ndef closed_loop(G, K):\n    \"\"\"Calculate closed loop TF\"\"\"\n    return (G * K) \u002F (1 + G * K)\n\n# System response\nt = np.linspace(0, 10, 100)\nt, y = ct.step_response(G1, t)\n```\n\n### PID Controller\n\n```python\nclass PIDController:\n    def __init__(self, Kp=1, Ki=0, Kd=0):\n        self.Kp = Kp  # Proportional gain\n        self.Ki = Ki  # Integral gain  \n        self.Kd = Kd  # Derivative gain\n        self.prev_error = 0\n        self.integral = 0\n        self.setpoint = 0\n    \n    def compute(self, measurement, dt):\n        \"\"\"Compute PID output\"\"\"\n        error = self.setpoint - measurement\n        \n        # Proportional term\n        P = self.Kp * error\n        \n        # Integral term\n        self.integral += error * dt\n        I = self.Ki * self.integral\n        \n        # Derivative term\n        derivative = (error - self.prev_error) \u002F dt\n        D = self.Kd * derivative\n        \n        self.prev_error = error\n        \n        return P + I + D\n    \n    def tune_ziegler_nichols(self, Ku, Tu):\n        \"\"\"Ziegler-Nichols tuning\"\"\"\n        self.Kp = 0.6 * Ku\n        self.Ki = 2 * self.Kp \u002F Tu\n        self.Kd = self.Kp * Tu \u002F 8\n```\n\n### Stability Analysis\n\n```python\n# Routh-Hurwitz criterion\ndef routh_hurwitz(coeffs):\n    \"\"\"Determine stability from characteristic equation\"\"\"\n    n = len(coeffs)\n    if n \u003C 2:\n        return \"Insufficient order\"\n    \n    # Check coefficients\n    if any(c \u003C= 0 for c in coeffs[:-1]):\n        return \"Unstable - negative coefficients\"\n    \n    # For 2nd order: a1 > 0, a0 > 0\n    # For 3rd order: a1*a2 > a0*a3\n    \n    return \"Potentially stable - verify\"\n\n# Bode stability margin\ndef stability_margins(G):\n    \"\"\"Calculate gain and phase margin\"\"\"\n    mag, phase, omega = ct.bode(G, Plot=False)\n    \n    # Phase crossover (phase = -180)\n    phase_cross_idx = np.where(phase \u003C= -180)[0]\n    if len(phase_cross_idx) > 0:\n        gm = 1 \u002F mag[phase_cross_idx[0]]\n    else:\n        gm = np.inf\n    \n    # Gain crossover (magnitude = 1)\n    gain_cross_idx = np.where(mag >= 1)[0][0]\n    pm = 180 + phase[gain_cross_idx]\n    \n    return {\"gain_margin\": gm, \"phase_margin\": pm}\n```\n\n### State Space Control\n\n```python\nclass StateSpaceController:\n    def __init__(self, A, B, C, D):\n        self.A = A\n        self.B = B\n        self.C = C\n        self.D = D\n        self.x = np.zeros((A.shape[0], 1))\n    \n    def pole_placement(self, desired_poles):\n        \"\"\"Place closed loop poles\"\"\"\n        # Calculate gain matrix K for desired poles\n        # K = place(A, B, poles)\n        pass\n    \n    def observer_design(self, desired_poles):\n        \"\"\"Design state observer\"\"\"\n        # L = place(A', C', poles)'\n        pass\n    \n    def update(self, u, dt):\n        \"\"\"State update\"\"\"\n        self.x = self.x + dt * (self.A @ self.x + self.B @ u)\n        return self.C @ self.x\n```\n\n### Performance Specifications\n\n| Specification | Definition | Typical Value |\n|----------------|------------|---------------|\n| Rise Time | 10%-90% of final value | \u003C 2 sec |\n| Settling Time | Within 2% of final | \u003C 5 sec |\n| Overshoot | Peak above final value | \u003C 10% |\n| Steady-State Error | Final value error | \u003C 1% |\n| Bandwidth | -3dB frequency | Design dependent |\n\n### Control Strategies\n\n```python\n# Feedforward control\nclass FeedforwardController:\n    def __init__(self, G_inv):\n        self.G_inv = G_inv  # Inverse of plant model\n    \n    def compute(self, disturbance, setpoint):\n        \"\"\"Feedforward + feedback\"\"\"\n        u_ff = self.G_inv * setpoint\n        u_fb = self.feedback_controller.compute()\n        return u_ff + u_fb\n\n# Cascade control\nclass CascadeControl:\n    \"\"\"Inner loop (fast) and outer loop (slow)\"\"\"\n    def __init__(self, inner_loop, outer_loop):\n        self.inner = inner_loop\n        self.outer = outer_loop\n```\n",{"name":5,"license":15,"metadata":39,"description":7,"compatibility":31},{"audience":40,"category":29},"engineers, automation specialists, students","main","2ea764e153842704d24a2e9aa4170441a7f03081",".opencode\u002Fskills\u002Fcontrol-systems","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito","https:\u002F\u002Fgithub.com\u002FNeuralBlitz","nuralnexus.org","Theoretical and Futuristic AI Nerd 🤓 ","2026-04-21 14:37:05",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add NeuralBlitz\u002FMito --skill control-systems",{"tool":55,"command":56},"bunx","bunx skills add NeuralBlitz\u002FMito --skill control-systems",{"tool":58,"command":59},"pnpm","pnpm dlx skills add NeuralBlitz\u002FMito --skill control-systems","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fcontrol-systems\u002FSKILL.md",true,[],[64,77,90,103,111,133],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":34},"01M6HAZSAQK1S27CEZYAYJTQDX","wireless-communications","Wireless systems, mobile networks, and 5G\u002F6G","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fwireless-communications\u002FSKILL.md",[],[71,72,73,26,29,74,75,33,31,76],"communications","wireless communications","wireless","networks","5G","mobile",{"skillNo":78,"name":79,"nameZh":6,"description":80,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":34},"01M6HAZFX6E8NK3WZWDX5YCKYY","websockets","WebSocket implementation and best practices","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fwebassembly\u002Fwebsockets\u002FSKILL.md",[],[79,84,85,86,31,87,88,89],"websocket implementation","time","implementation","real-time","websocket","best practices",{"skillNo":91,"name":92,"nameZh":6,"description":93,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":96,"publishedAt":34},"01M6HAZ6DAXBQ7QHXXM1EM7715","vulnerability-auditing","Vulnerability assessment and auditing","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvulnerability-auditing\u002FSKILL.md",[],[97,98,99,100,31,101,102],"vulnerability","vulnerability auditing","security","vulnerability assessment","cybersecurity","assessment",{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":34},"01M6HAZ3FKF3CS9Z3J96RVE2ZE","vulnerability-assessment","Finding and assessing security vulnerabilities","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvue\u002Fvulnerability-assessment\u002FSKILL.md",[],[100,97,102,99,110,31],"vulnerabilities",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":125,"publishedAt":34},"01M6HAYSHM6HKRKEHFP0SGZQX7","vlsi-design","Very-Large-Scale Integration circuit design and semiconductor engineering","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvlsi-design\u002FSKILL.md",[117,120],{"categoryNo":118,"categoryName":119,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[126,127,27,128,129,29,130,31,131,33,132],"vlsi design","VLSI","hardware","integration","computer","scale","circuit",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":34},"01M6HAYPQ30FFE2JXD7WQJ8R6C","unsupervised","Unsupervised learning concepts","https:\u002F\u002Fgithub.com\u002FNeuralBlitz\u002FMito\u002Fblob\u002Fmain\u002F.opencode\u002Fskills\u002Fvisualization\u002Funsupervised\u002FSKILL.md",[],[135,140,31,141,142,143,144,145],"learning","intelligence","unsupervised learning","machine","concepts","machine-learning"]