Files
mcp-wms-wiki/wiki/limagrain/05-agv/agv-stations-routes.md
T
arthur 7496aafe64 lint(limagrain): corrections completes Phase 1+2
- Bloquants: mermaid 03-picking/_index reconstitue (archive 11-05), 13 liens vers pages squelette retires, 2 liens recibles (anoxie, application-dictionary)
- Conventions: 910 em dashes -> tirets simples, 145 checklists -> puces question, 13 questions resolues barrees
- Liens: 9 ancres reparees (slugs GitHub)
- Delta: 12 standard_ref remappes, blocs Standard EasyWMS + sections References ajoutes, front matter complete
- Glossaire: 15 termes standard deplaces en section rappel avec renvoi
- Rapport: limagrain/_lint_report.md (Phase 1 + Phase 2 + re-scan final)
- Inclut les pages des sessions precedentes non commitees + CLAUDE.md et consume.log en l'etat
2026-07-20 12:56:42 +02:00

128 lines
5.3 KiB
Markdown

---
title: "Stations et routes AGV - Topologie iGO"
tags: [agv, still, igo, stations, routes, topologie, location, group]
status: draft
standard_ref: concepts/stations.md
jira_refs: []
confluence_refs: []
sources: ["CR technique - iGO STILL - fonctionnement et flux API + correspondance avec le module AGV EasyWMS Opus 4.7 v1.md"]
last_updated: 2026-05-12
author: Arthur
---
# Stations et routes AGV - Topologie iGO
> **Résumé** : correspondance entre les stations/routes EasyWMS et les
> concepts Location/Group/Vehicle d'iGO. Configuration dans MyMA vs
> EasyS, différences de gestion des routes, et mapping topologique.
> **Standard EasyWMS** : → voir [Stations & Routes](../../concepts/stations.md)
> Ce qui suit documente les **spécificités Limagrain** liées à
> l'utilisation d'iGO easy comme fleet manager AGV.
## Contexte projet
Chez Limagrain, les AGV Still (EXV CB iGo) circulent entre les images
de quai, les PIE, les postes de picking (PK) et les zones de stockage.
La topologie physique (positions, trajets) est gérée **entièrement
dans iGO** (MyMA / iGO designer) - EasyWMS ne connaît que les points
de départ et d'arrivée.
## Mapping topologique EasyWMS ↔ iGO
| Concept EasyWMS | Concept iGO | Notes |
|----------------|-------------|-------|
| Station (type 65 - AGV) | **Vehicle** | Le véhicule physique lui-même |
| Location (`IRealLocation`) | **Location** | Point physique avec `possibleActions` |
| Route entre stations | _(pas d'équivalent)_ | iGO gère le routage en interne |
| WorkingZone | **Group** | Ensemble de Locations (décision tardive) |
| AGV equipment group (EasyS) | Flotte dans MyMA | Configuration véhicules |
| `Allow loading` / `Allow unloading` | `Location.isEnabled` + `possibleActions` | Flag binaire côté iGO |
| `LocationLockType` "For AGV" | `Location.isEnabled = false` | iGO n'a pas de typage de lock |
| Manual loading aisle | _(pas d'équivalent)_ | iGO calcule la trajectoire seul |
| Route distance | _(pas d'équivalent)_ | iGO optimise le chemin en interne |
## Configuration côté iGO (MyMA)
Les éléments suivants sont configurés dans MyMA, **pas dans EasyS** :
- **Vehicles** : enregistrement des AGV physiques (id, modèle, capacité)
- **Locations** : déclaration de chaque point physique avec actions
autorisées, types de véhicules et de charges admis, et
`actualLoads` courantes
- **Groups** : regroupement de Locations pour la décision tardive (cas
typique : zone de déchargement avec plusieurs alvéoles)
- **Layout / routes** : géré dans le designer iGO, invisible côté WMS
## Configuration côté EasyS (EasyWMS)
Restent dans EasyS :
- Création du warehouse station lié à l'AGV equipment group
- Déclaration des AGV dans le groupe
- Routes EasyWMS **entre stations WMS** (type "External" pour les
segments AGV - le manager d'exécution est "External")
> ⚠️ Pas d'équivalent aux "Routes between stations" de type Galileo
> pour iGO. Les routes EasyS servent uniquement à valider l'existence
> d'un chemin logique côté WMS avant de créer la tâche AGV - la
> trajectoire physique est résolue par iGO.
## Décision tardive - utilisation des Groups
Cas d'utilisation chez Limagrain :
- **Déchargement vers un quai** : le WMS crée le transport avec
`destinationGroupId = "DOCK_OUT"`. iGO achemine l'AGV au point de
décision du groupe. Le WMS choisit alors l'alvéole exacte via
`POST /transports/{id}/final-destination`.
- **Reproduction du CanPick/CanDrop** : pour forcer iGO à demander
une autorisation avant chargement/déchargement, il faut configurer
un Group même pour une seule Location. Le status `RequestSource` /
`RequestDestination` sert alors de signal d'autorisation.
## Gestion des verrous
| EasyWMS | iGO |
|---------|-----|
| `LocationLockType` avec flag "For AGV" | `Location.isEnabled = false` |
| Lock typé (par erreur extraction, putaway, etc.) | Un seul flag binaire côté iGO |
| Lock posé automatiquement par les workflows | À gérer côté WMS uniquement - iGO ne pose pas de lock |
> ⚠️ iGO n'a pas de granularité dans les types de verrous. La
> traduction entre les codes erreur EasyWMS (1001-2700) et le flag
> `isEnabled` est à la charge du middleware.
## Points d'attention
⚠️ **Pas de routage exposé** : si un AGV ne peut pas atteindre une
location (obstacle, zone interdite), iGO gère le contournement en
interne. Pas d'erreur "Disabled route" renvoyée au WMS.
⚠️ **Pas de notion d'allée** (`LoadAisle` / `UnloadAisle`) côté iGO :
ces champs EasyWMS (obligatoires en FIFO compact) sont portés par la
Location côté iGO, pas par le transport.
⚠️ **Modification des Locations via API** : l'API iGO n'expose que
`GET /api/locations` - pas de `POST`/`PUT`. Toute modification de
topologie passe par MyMA manuellement.
## Questions ouvertes
- ❓ Création/modification de Location via API iGO - actuellement
en lecture seule, à clarifier avec STILL (@Arthur)
## Historique des modifications
| Date | Auteur | Modification |
|------|--------|-------------|
| 2026-05-12 | Arthur | Création initiale |
## Références
| Source | Type | Date |
|--------|------|------|
| CR technique iGO STILL v1 | CR technique | 2026-04-28 |
| [Stations & Routes standard](../../concepts/stations.md) | Wiki standard | - |
| [AGV module standard](../../modules/agv.md) | Wiki standard | - |