✨ feat(native-planning): 更新 Rust ICSP 原生库及构建脚本
* 将 Rust ICSP 原生库名称更改为 `flyshot_planning`,更新相关引用。 * 修改构建脚本以支持新的库名称,并确保库文件复制到正确的目录。 * 添加对 Rust ICSP 原生库的依赖检查,确保发布时包含必要的库文件。 * 更新测试项目以加载新的原生库,确保兼容性和功能完整性。
This commit is contained in:
12
README.md
12
README.md
@@ -17,7 +17,7 @@
|
||||
- 宿主只保留 ASP.NET Core HTTP 控制器层,以及其后端 `Flyshot.ControllerClientCompat` 兼容服务。
|
||||
- `ExecuteTrajectory` 与 `ExecuteFlyShotTraj` 已经接入 `Planning + Triggering + Runtime` 链路;Web 状态页已通过 `/status` 和 `/api/status/snapshot` 暴露当前兼容层与运行时状态。
|
||||
- `Flyshot.Core.Planning` 的 ICSP / self-adapt-icsp 轨迹已经完成旧系统导出轨迹对齐;`doubles` 仍未实现。
|
||||
- `Flyshot.Native.Planning` 已提供显式 Rust ICSP 规划入口,通过 C ABI 调用 `flyshot_native_planning`;普通轨迹和飞拍轨迹可使用准确参数 `method="icsp_rust"` 选择该后端,默认 `icsp` 仍使用 C# `ICspPlanner`。
|
||||
- `Flyshot.Native.Planning` 已提供显式 Rust ICSP 规划入口,通过 C ABI 调用 `flyshot_planning`;普通轨迹和飞拍轨迹可使用准确参数 `method="icsp_rust"` 选择该后端,默认 `icsp` 仍使用 C# `ICspPlanner`。
|
||||
- `Flyshot.Runtime.Fanuc` 已固化 `10010 / 10012 / 60015` 基础协议帧编解码。`10010` 状态通道以 `j519 协议.pcap` 和 `Rvbust/uttc-20260428/20260428.pcap` 真机抓包确认为 90B 固定帧。
|
||||
- 2026-04-28 UTTC 抓包确认:UDP 60015 命令 `target[0..5]` 为关节角度制 `deg`,`JointDetialTraj.txt` 为弧度制 `rad`,`speed_ratio=0.7` 体现为 UDP 下发时间轴约 `1.427730x` 拉伸;2026-04-30 实体机确认 `speed_ratio` 不影响生成的 `JointTraj.txt` 规划时长,当前实际生成约 `7.4s` 轨迹。
|
||||
- 2026-04-30 本机 `50001/TCP+JSON` 抓包确认:`ExecuteFlyShotTraj(save_traj=true,use_cache=false)` 请求只显式携带规划方法、保存、缓存和等待参数,不携带 `JointLimits / acc_limit / jerk_limit / velocity / acceleration / jerk`。因此旧系统不可见的有效规划限制不再继续假设来自公开链路,新系统按 replacement-only 内部参数限制规划加速度。
|
||||
@@ -96,13 +96,15 @@ Windows x64 需要安装:
|
||||
.\build\Copy-NativePlanningArtifacts.ps1 -Configuration Release
|
||||
```
|
||||
|
||||
脚本会通过 `vcvars64.bat` 初始化 MSVC 环境,构建
|
||||
`native/flyshot-native-planning/target/release/flyshot_native_planning.dll`,
|
||||
并默认复制到 `tests/Flyshot.Core.Tests/bin/Release/net8.0/`。发布服务时可通过
|
||||
脚本会执行 `cargo build --release`,构建
|
||||
`native/flyshot-native-planning/target/release/flyshot_planning.dll`,
|
||||
并默认复制到 `src/Libs/flyshot_planning.dll` 与
|
||||
`tests/Flyshot.Core.Tests/bin/Release/net8.0/`。发布服务时可通过
|
||||
`-DestinationDirectories` 把原生库复制到实际发布目录。
|
||||
|
||||
Linux x64 在已安装 `stable-x86_64-unknown-linux-gnu` 工具链的 Linux 环境执行同一脚本,
|
||||
产物为 `libflyshot_native_planning.so`。Windows 第一阶段不要求交叉编译 Linux 原生库。
|
||||
产物为 `libflyshot_planning.so`,默认写入 `src/Libs/libflyshot_planning.so`。
|
||||
Windows 第一阶段不要求交叉编译 Linux 原生库。
|
||||
|
||||
剩余 Todo:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user