b45b15d153
build / setup (compute matrix) (push) Has been cancelled
build / ${{ matrix.label }} (push) Has been cancelled
build / macos-15-arm64-studio (push) Has been cancelled
build / ubuntu-24.04-clang-18-studio (push) Has been cancelled
build / ubuntu-24.04-gcc-14-studio (push) Has been cancelled
build / windows-2025-ninja-studio (push) Has been cancelled
build / ubuntu-24.04-clang-18-wasm (push) Has been cancelled
build / ubuntu-24.04-clang-18-mjx (push) Has been cancelled
1.8 KiB
1.8 KiB
执行器插件(Actuator plugins)
PID
mujoco.pid 执行器插件实现了一个可配置的 PID 控制器:
f(t) = K_\text{p} e(t) + K_\text{i} \int_0^t e(\tau) \mathrm{d}\tau + K_\text{d} \frac{\mathrm{d}e(t)}{\mathrm{d}t},
其中 e(t) = u(t) - \ell(t) 是控制量 u 与执行器长度 \ell 之间的差值。
使用示例如下:
<mujoco>
<extension>
<plugin plugin="mujoco.pid">
<instance name="pid">
<config key="kp" value="40.0"/>
<config key="ki" value="40"/>
<config key="kd" value="4"/>
<config key="slewmax" value="3" />
<config key="imax" value="1"/>
</instance>
</plugin>
</extension>
<worldbody>
<body>
<joint name="j" type="slide" axis="0 0 1" />
<geom size="0.01" mass="1"/>
</body>
</worldbody>
<actuator>
<plugin joint="j" plugin="mujoco.pid" instance="pid" />
</actuator>
</mujoco>
可用配置选项如下:
| 属性 | 默认值 | 含义 |
|---|---|---|
kp |
0 | 控制器的**比例(P)**增益。 |
ki |
0 | 控制器的**积分(I)**增益。 若非零,将在 |
kd |
0 | 控制器的**微分(D)**增益。 |
imax |
可选 | 若指定,积分项产生的力将被截断至 [-imax, imax] 范围内。 |
slewmax |
可选 | PID 控制器设定点允许的最大变化速率(斜率限制)。 若两个时间步之间请求了更大的变化,它将被截断至 若指定,将在 |