ILESP — Intelligent Logistics Equipment Scheduling Platform
统一物流设备调度平台:一个代码库内实现 WCS(仓库控制系统)+ RCS(机器人调度系统)+ 内置仿真, 通过适配器缝向真实设备平滑过渡——模拟与真实是同一接口的两种实现,切换 = 换配置,代码零分叉。
设计决策与演进规划
见 docs/ARCHITECTURE.md(统一 vs 分散)与 docs/ROADMAP.md(三阶段生产化:试点 → 交通管制内核 → 多厂商矩阵)。结论:模块化单体——WCS/RCS/SIM 是三个有界上下文, 内部通过任务契约通信(与将来拆分后对外的契约同形);模拟层实现与真实设备驱动相同的 Adapter 接口。
架构
WMS / MES / Aethon ──HTTP(幂等任务接口)──► ┌─────────── ILESP ───────────┐
│ wcs: 站台拓扑/路由/设备级调度 │
│ rcs: 车队注册/派工(预留+TTL) │
│ core: 任务状态机/幂等账本/事件 │
│ adapters: ◄─ 适配器缝 ─► │
│ ├── simulated/(内置仿真) │
│ └── modbus 等(真实驱动) │
CPS 数字孪生 ◄──遥测/状态(标准协议)──────────└─────────────────────────────┘
快速开始
pip install -e ".[api]"
uvicorn ilesp.api:app --port 8800 # 或 python -m ilesp.api
pytest # 测试(含端到端竖切)
端到端语义(竖切)
POST /api/v1/tasks(幂等)→ WCS 依站台拓扑规划路径 → 逐站设备级执行
(simulated 输送线状态机)→ 需要搬运时创建 RCS 搬运腿 → 派给模拟 AMR(行驶/电池)→
到达 → 下一腿 → 任务 COMPLETED。全程迁移进 SQLite 事件账本(WAL),来源归因。
确定性
仿真适配器以固定 tick + 可传 seed 的 Random 驱动——相同 seed + 相同任务序列 ⇒ 相同结局 (对拍/回归友好,与 CPS 的确定性文化一致)。
生产化路线
| 已内置 | 路线图 |
|---|---|
| 幂等任务接口(主键+指纹+201/200/409) | 鉴权/TLS、多实例会话路由 |
| 严格状态机 + DISPATCHED 超时回退(补参考实现的缺口) | 真实设备驱动补全(Modbus 点表由配置生成) |
| 事件账本 + 断线补发(PENDING 与 DISPATCHED 超时双覆盖) | VDA5050 over MQTT(多厂商 AMR) |
| 确定性仿真 + seed 对拍 | 塔台可视化(复用 CPS 3D 管线) |
测试
pytest tests/ -q
Metadata
Release files for ilesp 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ilesp-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for ilesp-0.1.1-py3-none-any.whl |
Release files / ilesp-0.1.1-py3-none-any.whl
| Download URL | ilesp-0.1.1-py3-none-any.whl |
|---|---|
| Size | 45.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c061fd9e63887c8fbe1cd8a4c68a313ccd20e05d8341ba17f0b95e022a36d1d0
|
|
BLAKE2b-256 checksum How to use checksums |
10bbf8f414af7aaade783b38650993858a0928e3a00508c7f727772476ebb5b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.7
|
Security for ilesp 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.