motor-model-dynamics
Use this skill when simulating quadrotor physical dynamics — mapping desired thrust/moments to individual motor RPMs via a propeller allocation matrix, applying first-order motor lag, and integrating the nonlinear equations of motion (translational and rotational) using RK45.
Install / Use
npx skills add benchflow-ai/skillsbench --skill motor-model-dynamicsInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
Project & Program ManagementSupported Platforms
Our assessment of motor-model-dynamics
motor-model-dynamics scores 86/100 on our quality scale, 17th of 71 Project & Program Management skills we index (top 24%).
Its SKILL.md is 3.3 KB long, well organised into 11 sections with 1 code example: a solid amount of guidance for an agent.
With 1,813 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so motor-model-dynamics is actively maintained.
- It is released under the Apache-2.0 license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
motor-model-dynamics compared with similar skills
All 4 of these similar skills score higher than motor-model-dynamics; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| motor-model-dynamics (this skill)by benchflow-ai | 86 | 1.8k | 2mo ago | SKILL.md |
| algorithmic-artby anthropics | 100 | 177.9k | 9d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 9d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 11d ago | SKILL.md |
| ui-ux-pro-maxby nextlevelbuilder | 100 | 130.2k | 11d ago | SKILL.md |
Frequently asked questions
- How do I install motor-model-dynamics?
- Run
npx skills add benchflow-ai/skillsbench --skill motor-model-dynamics. The install tabs above show the steps for each supported agent. - Which AI agents does motor-model-dynamics work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is motor-model-dynamics safe to use?
- It is Apache-2.0-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is motor-model-dynamics still maintained?
- The repository was last updated about 2 months ago, so motor-model-dynamics is actively maintained.
Skill content
View source on GitHubname: motor-model-dynamics description: Use this skill when simulating quadrotor physical dynamics — mapping desired thrust/moments to individual motor RPMs via a propeller allocation matrix, applying first-order motor lag, and integrating the nonlinear equations of motion (translational and rotational) using RK45.
Motor Model and Dynamics Simulation
Overview
Two modules form the physics layer of the simulator:
- Motor model — maps desired
[F, Mx, My, Mz]→ desired motor RPMs → applies first-order lag → returns actual thrust and moments - Dynamics — nonlinear equations of motion; given forces and moments, returns the 16-element state derivative for ODE integration
Motor Model
Propeller Allocation Matrix (X-frame quadrotor)
The 4×4 allocation matrix maps [F, Mx, My, Mz] to squared motor RPMs. For an X-frame with arm length d, thrust coefficient cT, and torque coefficient cQ:
motor: 1 2 3 4
Thrust: +cT +cT +cT +cT
Roll (Mx): 0 +d·cT 0 -d·cT
Pitch (My): -d·cT 0 +d·cT 0
Yaw (Mz): -cQ +cQ -cQ +cQ
Implementation Logic
- Build the 4×4
prop_matrixfromcT,cQ, andd. - Solve
prop_matrix @ rpm_sq = [F, Mx, My, Mz]forrpm_sq(desired squared RPMs). - Take
sqrtof each element (clamp negatives to 0 first), then clip to[rpm_min, rpm_max]. - Apply first-order motor lag:
rpm_dot = km * (rpm_desired - rpm_current). - Compute actual force/moment using
prop_matrix @ (motor_rpm ** 2)and return(F_actual, M_actual, rpm_dot).
Dynamics (Equations of Motion)
State vector (16,)
| Indices | Meaning | |---|---| | 0:3 | Position [x, y, z] | | 3:6 | Velocity [vẋ, vẏ, vż] | | 6:9 | Euler angles [φ, θ, ψ] | | 9:12 | Angular velocity [p, q, r] | | 12:16 | Motor RPM [ω₁, ω₂, ω₃, ω₄] |
Implementation Logic
Compute state_dot (16,) from current state and applied forces/moments:
- Position derivative = current velocity (
state[3:6]). - Velocity derivative = gravity + thrust projected into world frame via ZYX Euler rotation. The x/y accelerations depend on
F/m,sin/cosof all three Euler angles. The z acceleration is−g + (F/m)·cos(φ)·cos(θ). - Euler angle derivative = current angular velocity (
state[9:12]). - Angular velocity derivative =
I⁻¹ M(solve inertia matrix against moment vector). - Motor RPM derivative =
rpm_motor_dotfrom the motor model.
RK45 Integration
Use scipy.integrate.solve_ivp with method='RK45' over each timestep [t_k, t_{k+1}]. The ODE function wraps dynamics(params, s, F_actual, M_actual, rpm_motor_dot) with F_actual and M_actual held constant for the step. After solving, take the last column of sol.y as the new state.
Motor Physical Limits
| Parameter | Value | Meaning |
|---|---|---|
| rpm_min | 3000 | Minimum motor speed (motors always spinning) |
| rpm_max | 20000 | Maximum motor speed |
| motor_constant km | 36.5 s⁻¹ | First-order time constant; τ = 1/km ≈ 27 ms |
Max Thrust Calculation
Derived from motor limits:
T_max = 4 * cT * rpm_max²(all 4 motors at max RPM)T_min = 4 * cT * rpm_min²- Thrust-to-weight ratio:
twr = T_max / (mass * gravity) - Max upward acceleration:
(T_max − mass·g) / mass - Max downward acceleration:
(mass·g − T_min) / mass
Related Skills
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
ui-ux-pro-max
130.2kUI/UX design intelligence for web, mobile, and desktop. This skill should be used when designing, building, reviewing, or fixing interfaces, including pages, components, design systems, accessibility, interaction, responsive layout, typography, color, charts, and stack-specific UI implementation.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
