使用自动对准料架功能
概述 / Overview
"自动对准料架"是潜伏顶升车 / 平板车在料架(4 腿、3 腿或 T 腿)下方的最后一步动作:车体进入料架投影区域后,根据 料架腿点云 把车体精确居中,然后顶升把料架举起或对接。
"Auto-rack alignment" is the final step a lift-AGV or flat-bed AGV performs once it has slid under a rack (4-leg, 3-leg or T-leg): it centres itself precisely on the leg cloud, then jacks up or docks.
底层算法见 自动识别工位并取放货;本页描述终端使用侧。 Underlying algorithm: see station-aware pick & place; this page covers the operator-side workflow.
适用车型 / Supported vehicle types
- 潜伏顶升 AGV(KIVA 类)/ Lift-AGV (KIVA-style)
- 全向重载 AGV(顶升或推爪式)/ Heavy-load omni-AGV (jack or pawl)
- 平板对接车 / Flat-bed docking AGV
- 顶升对接型叉车 / Forklift with built-in jack
不适用:纯叉孔型叉车(→ 用 自动取托盘功能)。 Not for: pure fork-pocket forklifts (use auto-pickup pallet instead).
前置条件 / Prerequisites
| 项 / Item | 要求 / Requirement |
|---|---|
| 料架几何 / Rack geometry | 在 CAD 工具中声明腿距、腿数、腿粗、料架投影长宽 |
| 激光雷达 / Lidar | 前向 2D 激光,高度位于腿点云面(约 100–200 mm)/ Front 2D lidar at leg-cloud height (~100–200 mm) |
| Detour 定位 / Localisation | 进入对位前位姿误差 ≤ ±80 mm / ±3° |
| 顶升机构 / Jack | Medulla 上位 IO 可读可写 `jackHeight`, `jackAtTarget` |
| 包络 / Envelope | 顶升后车体 + 料架的合包络已声明(见 包络如何定义) |
操作步骤 / Steps
1. 声明料架站点 / Declare the rack site on CAD
在 SimpleComposer CAD 工具中放一个 rack station: Place a rack station on the SimpleComposer CAD canvas:
- Approach — 料架开口正前方 1.2–2 m。
- DockCentre — 料架几何中心(车体顶升后中心要落在此)。
- LegCount — 腿数(4 / 3 / 6)。
- LegSpanX / LegSpanY — 料架腿距(车身坐标 X、Y)。
- LegRadius — 腿粗(mm)。
2. 绑定 MovementDefinition / Bind the Movement template
推荐用法(每个料架 1–2 个 leg-pair,4-腿料架最常见): Recommended for 4-leg racks (the most common case):
new AutoShelfFetching_ManyLegs
{
aX = ${Approach.X}, aY = ${Approach.Y},
bX = ${DockCentre.X}, bY = ${DockCentre.Y},
initSpeed = 600,
inShelfSpeed= 200,
stopDist = 30, // very tight: jack centre must hit DockCentre
width = ${LegSpanY},
lookahead = 500,
resolution = 40,
slots = 30,
dfac = 10,
inshelfMillis = 1000,
deaccMillis = 500,
startingSlot = 10
}
3 腿 / T 腿料架用 `AutoShelfFetching_3Legs`(参数等价;多一项 `thirdLegOffset`)。 For 3-leg / T-leg racks, switch to `AutoShelfFetching_3Legs`.
3. 配置顶升动作 / Wire the jack actuator
车型的 dock tail action 序列: The dock-tail action sequence:
- 等位置达成(含 inshelfMillis 安定时间)/ Wait for pose stabilised
- `SetUpperIO("jackHeight", riseTarget)`(典型 80 mm)/ Raise jack
- 等 `jackAtTarget == 1`,超时 4 s / Wait done, 4 s timeout
- 锁定料架方位(更新 SimpleComposer 中的 carried-rack 状态)/ Mark rack as carried in SimpleComposer
4. 试运行 / Dry run
在 SimpleComposer 上点 "Test Dock"。车会: Click "Test Dock"; the vehicle will:
- 巡线到 Approach。/ Run to Approach.
- 由 Approach 向 DockCentre 方向,钻入料架(速度 = `initSpeed`)。/ Slide under the rack toward DockCentre.
- 进入料架后切到 `inShelfSpeed`,开 `LidarDetectTray` 持续检测左右腿对,把车体居中。/ Inside the rack switch to fine speed, run `LidarDetectTray`, centre on the leg pairs.
- 到 `stopDist` 停车 → 顶升 → 完成。/ Stop, jack, done.
5. 常见调试 / Common adjustments
- 顶升后料架歪 / Rack tilts after jack: 检查 `LegSpanY` 先验;用 标定 工具复查。
- 钻入时车体撞腿 / Car hits a leg sliding in: Approach 站点离料架太近,或 `lookahead` 太大。
- 在料架内振荡 / Oscillation inside the rack: 减小 `dfac`,增大 `inshelfMillis`。
- 3 腿料架检测不稳 / 3-leg detection flaky: 用 `AutoShelfFetching_3Legs` 并调 `thirdLegOffset`;3 腿料架往往要单腿点云 ≥ 5 个有效点。
与 KIVA 类小车工作流程的对比
本动作是 潜伏顶升车 完整业务循环的一环: This Movement is one step in a complete lift-AGV business loop:
巡线到 Approach → 自动对准料架(本动作)→ 顶升 → 巡线到目标站点 → 自动对准目标位 → 落料架
相关页面 / See also
- 自动识别工位并取放货 — 算法底层
- 使用叉车自动取托盘功能 — 叉车场景
- 潜伏顶升车适配案例 — 完整车型适配
- 识别料框并堆垛拆垛