<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki2.lessokaji.com/index.php?action=history&amp;feed=atom&amp;title=%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E5%AF%B9%E5%87%86%E6%96%99%E6%9E%B6%E5%8A%9F%E8%83%BD</id>
	<title>使用自动对准料架功能 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki2.lessokaji.com/index.php?action=history&amp;feed=atom&amp;title=%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E5%AF%B9%E5%87%86%E6%96%99%E6%9E%B6%E5%8A%9F%E8%83%BD"/>
	<link rel="alternate" type="text/html" href="https://wiki2.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E5%AF%B9%E5%87%86%E6%96%99%E6%9E%B6%E5%8A%9F%E8%83%BD&amp;action=history"/>
	<updated>2026-05-16T15:15:59Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki2.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E5%AF%B9%E5%87%86%E6%96%99%E6%9E%B6%E5%8A%9F%E8%83%BD&amp;diff=995&amp;oldid=prev</id>
		<title>Artheru：​Initial bilingual draft (auto-published)</title>
		<link rel="alternate" type="text/html" href="https://wiki2.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E8%87%AA%E5%8A%A8%E5%AF%B9%E5%87%86%E6%96%99%E6%9E%B6%E5%8A%9F%E8%83%BD&amp;diff=995&amp;oldid=prev"/>
		<updated>2026-05-16T11:15:14Z</updated>

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