新增四类连杆统一仿真接口

This commit is contained in:
zhangshun
2026-06-16 11:40:58 +08:00
parent a66952e636
commit f142b42dbe
9 changed files with 940 additions and 248 deletions

View File

@@ -444,6 +444,65 @@ func
- `trajectory`:B 点整段轨迹
- `slider_trajectory`:S 点整段滑块轨迹
### 6.3 `Cmd_FourBar_Simulate`
用途:
- 统一仿真 PDPS 连杆定义界面中的 `PRRR / RPRR / RRRP / RRRR` 四类结构
- 输入机构类型、起始输入、结束输入、总时长和步长时间
- 一次性返回逐帧点位、姿态、角度和轨迹,适合前端 Three.js 播放和 ECharts 曲线验证
调用履历:
```text
func
-> dispatchCommand
-> handleFourBarCommand
-> simulateUnifiedFourBar
-> 按 mechanismType 创建或调用对应机构类
-> validateParameters
-> for each frame:
-> calculate(currentInput)
-> 组装 frames / trajectory / parameters
```
类型映射:
- `RRRP`:调用 `CrankSliderMechanism`,角度驱动曲柄滑块正解
- `PRRR`:调用 `SliderCrankMechanism`,滑块位移驱动曲柄滑块逆解
- `RPRR`:调用 `CrankRockingBlockMechanism_Forward`,当前按曲柄摇块正解承接
- `RRRR`:调用 `FourBarMechanism`,角度驱动四转副四杆正解
主要公共入参:
- `mechanismType`:`PRRR`、`RPRR`、`RRRP`、`RRRR`
- `startValue` / `endValue`:统一输入范围,角度驱动类型表示角度,`PRRR` 表示滑块 X
- `duration`:仿真总时长,单位秒
- `stepTime`:仿真步长时间,单位秒
各类型参数:
- `RRRP`:`L_AB`、`L_BS`、`S_OFS`
- `PRRR`:`L_AB`、`L_BS`、`S_OFS`,也可使用 `startSliderX` / `endSliderX`
- `RPRR`:`OA`、`AB`、`OC`
- `RRRR`:`L1`、`L2`、`L3`、`L4`
主要出参:
- `mechanismType`:实际仿真的机构类型
- `inputName`:当前输入字段名,`angleDeg` 或 `sliderX`
- `frames[]`:逐帧仿真数据,每帧包含 `frame`、`time`、`inputValue`、`points`、`poses`、`angles`
- `trajectory`:主运动点轨迹
- `slider_trajectory`:滑块轨迹,适用于 `RRRP / PRRR`
- `alternative_trajectory`:备选逆解轨迹,适用于 `PRRR`
- `trajectory_c`:C 点轨迹,适用于 `RRRR`
- `crank_circle`:曲柄端点轨迹,适用于 `RPRR / RRRR`
- `rocker_trajectory`:摇块轨迹,适用于 `RPRR`
注意:
- `RPRR` 当前先复用现有曲柄摇块正解类,PDPS 中输入/输出链节的方向、坐标系和安装约定后续如有更精确资料,可继续对齐参数语义。
## 7. 四足机器人接口履历
命令文件: