<?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=%E5%A4%8D%E5%90%88%E5%8D%B7%E6%96%99%E6%9C%BA%E6%A2%B0%E6%89%8B%E5%8F%89%E8%BD%A6</id>
	<title>复合卷料机械手叉车 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki2.lessokaji.com/index.php?action=history&amp;feed=atom&amp;title=%E5%A4%8D%E5%90%88%E5%8D%B7%E6%96%99%E6%9C%BA%E6%A2%B0%E6%89%8B%E5%8F%89%E8%BD%A6"/>
	<link rel="alternate" type="text/html" href="https://wiki2.lessokaji.com/index.php?title=%E5%A4%8D%E5%90%88%E5%8D%B7%E6%96%99%E6%9C%BA%E6%A2%B0%E6%89%8B%E5%8F%89%E8%BD%A6&amp;action=history"/>
	<updated>2026-05-16T15:09:53Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki2.lessokaji.com/index.php?title=%E5%A4%8D%E5%90%88%E5%8D%B7%E6%96%99%E6%9C%BA%E6%A2%B0%E6%89%8B%E5%8F%89%E8%BD%A6&amp;diff=1024&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=%E5%A4%8D%E5%90%88%E5%8D%B7%E6%96%99%E6%9C%BA%E6%A2%B0%E6%89%8B%E5%8F%89%E8%BD%A6&amp;diff=1024&amp;oldid=prev"/>
		<updated>2026-05-16T11:43:01Z</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;是 MDCS 中的复合机器人形态：把 ''叉车''+''机械手''+''卷料专用夹具''组合在一台 AGV 上，实现卷料（钢卷、纸卷、塑料卷、布卷等）的自动取放与上下料。它是 ''叉车适配 + 卷料夹具适配 + 机械手协同''的综合案例。&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;composite coil-handling robotic forklift&amp;quot; combines '''forklift''' + '''robotic arm''' + '''coil-specific gripper''' on one AGV to autonomously handle coils (steel, paper, plastic, fabric, …). It's the composite of [[Special:MyLanguage/叉车适配案例|forklift adaptation]] + coil-gripper adaptation + manipulator coordination.&lt;br /&gt;
&lt;br /&gt;
== 业务场景 / Business scenarios ==&lt;br /&gt;
* '''钢卷仓库''' / Steel-coil yard: 单卷重 5–25 t，堆叠 3–5 层&lt;br /&gt;
* '''造纸 / 卷烟生产线''' / Paper / cigarette lines: 中等卷重，节拍紧&lt;br /&gt;
* '''汽车冲压线''' / Auto stamping: 卷料上料 + 废料下料&lt;br /&gt;
* '''纺织''' / Textile: 布卷搬运 + 上下料&lt;br /&gt;
&lt;br /&gt;
== 硬件组成 / Hardware ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 部件 / Part !! 规格 / Spec&lt;br /&gt;
|-&lt;br /&gt;
| 底盘 / Chassis || 重载叉车 / 牵引车 / heavy-load forklift or tractor&lt;br /&gt;
|-&lt;br /&gt;
| 机械手 / Arm || 6-DoF 工业臂或 SCARA / 6-DoF or SCARA&lt;br /&gt;
|-&lt;br /&gt;
| 卷料夹具 / Coil gripper || V 形托架 + 夹紧机构 / V-cradle + clamp; 或 ''C 形钩'' / C-hook&lt;br /&gt;
|-&lt;br /&gt;
| 视觉 / Vision || 3D 相机扫卷端面识别中心 + 直径 / 3D camera for coil-end ID&lt;br /&gt;
|-&lt;br /&gt;
| 激光雷达 / Lidar || 前向 + 侧向（多激光融合）&lt;br /&gt;
|-&lt;br /&gt;
| 负载传感 / Load sensor || 称重模块；溢出阈值即报警&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
机械手的关注点：足够长以触到地面卷 + 提到货架；足够强以拿动单卷重量；末端夹具与卷料 V 形配合好。&lt;br /&gt;
Key arm requirements: long enough to reach a floor coil and lift to rack, strong enough for single-coil weight, end-effector matches the V-cradle profile.&lt;br /&gt;
&lt;br /&gt;
== 1. Medulla 适配 / Medulla side ==&lt;br /&gt;
比标准叉车多了机械手 + 卷料夹具的 IO：&lt;br /&gt;
On top of a standard forklift, add IO for the arm + the coil-specific gripper:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
public class CoilFork : CartDefinition&lt;br /&gt;
{&lt;br /&gt;
    // 底盘 IO（同 LB14 forklift）/ Chassis IO same as a regular forklift...&lt;br /&gt;
&lt;br /&gt;
    // 机械手 IO / Arm IO&lt;br /&gt;
    [AsUpperIO] public float[] armJointTgt = new float[6];&lt;br /&gt;
    [AsUpperIO] public bool   gripperClose;&lt;br /&gt;
    [AsLowerIO] public float[] armJointEst = new float[6];&lt;br /&gt;
    [AsLowerIO] public bool   gripperClosed;&lt;br /&gt;
    [AsLowerIO] public float  coilWeight;&lt;br /&gt;
&lt;br /&gt;
    // 卷料夹具 IO / Coil gripper IO&lt;br /&gt;
    [AsUpperIO] public bool   vCradleLift;          // V 托架升起&lt;br /&gt;
    [AsUpperIO] public bool   clampOn;              // 夹紧&lt;br /&gt;
    [AsLowerIO] public bool   clampForceOK;         // 夹紧力到位&lt;br /&gt;
    [AsLowerIO] public bool   coilDetected;         // 卷在槽内&lt;br /&gt;
&lt;br /&gt;
    [AsInitParam] public string armConfig = &amp;quot;armconfigs/UR10.json&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2. Clumsy 自动驾驶适配 / Clumsy side ==&lt;br /&gt;
卷料场景多了几个特定 Movement：&lt;br /&gt;
A few coil-specific Movements:&lt;br /&gt;
&lt;br /&gt;
* `CoilApproach` — 用 3D 相机识别卷端面，AGV 居中对位&lt;br /&gt;
* `CoilPickWithArm` — 机械手放 V 托架 → 卷滚入托架 → 升起 → 夹紧&lt;br /&gt;
* `CoilPlaceOnRack` — 把卷放到 V 形支架 (rack saddle)&lt;br /&gt;
* `CoilDestackFromGround` — 地面堆叠的卷分层取下&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
public void PickCoilFromGround(double sx, double sy, int srcId)&lt;br /&gt;
{&lt;br /&gt;
    Queue(&lt;br /&gt;
      async () =&amp;gt; DriveTask.WaitDriveTask(new SteeringLineFollowing&lt;br /&gt;
              { srcX = currentX, srcY = currentY,&lt;br /&gt;
                dstX = sx, dstY = sy, basespeed = 400 }.Follow()),&lt;br /&gt;
      async () =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
          // 3D 相机识别卷&lt;br /&gt;
          DriveTask.WaitDriveTask(new CoilApproach&lt;br /&gt;
              { stopDist = 600, coilDiamMax = 1500 }.Get());&lt;br /&gt;
      },&lt;br /&gt;
      async () =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
          // 机械手伸出 + V 托架放到卷下&lt;br /&gt;
          await MoveArmTo(grabPose);&lt;br /&gt;
          SetUpperIO(&amp;quot;vCradleLift&amp;quot;, false);&lt;br /&gt;
          await Task.Delay(500);&lt;br /&gt;
          DriveTask.WaitDriveTask(new ForwardTracker&lt;br /&gt;
              { dstAhead = 800, basespeed = 100 }.Get()); // 微推让卷滚入托架&lt;br /&gt;
      },&lt;br /&gt;
      async () =&amp;gt;&lt;br /&gt;
      {&lt;br /&gt;
          SetUpperIO(&amp;quot;vCradleLift&amp;quot;, true);&lt;br /&gt;
          await WaitForLowerIO(&amp;quot;coilDetected&amp;quot;, 4000);&lt;br /&gt;
          SetUpperIO(&amp;quot;clampOn&amp;quot;, true);&lt;br /&gt;
          await WaitForLowerIO(&amp;quot;clampForceOK&amp;quot;, 3000);&lt;br /&gt;
      });&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3. SimpleComposer 端 / SimpleComposer side ==&lt;br /&gt;
* '''带卷包络''' / Loaded envelope: 卷直径影响 ''车体外缘''，必须声明对应大包络。&lt;br /&gt;
* '''可达性约束''' / Reachability: 持卷在低净高区段降速 + 禁止某些急转。&lt;br /&gt;
* '''机械手姿态约束''' / Arm pose: 行驶时机械手必须收回到 ''行驶姿态''；离开取放工位前不允许行驶。&lt;br /&gt;
&lt;br /&gt;
* The carrying envelope expands with coil diameter; declare an alternate envelope.&lt;br /&gt;
* Reachability prohibits sharp turns + low-clearance corridors when carrying.&lt;br /&gt;
* Arm pose must be 'stow' before driving; refuse motion otherwise.&lt;br /&gt;
&lt;br /&gt;
== 4. 安全 / Safety ==&lt;br /&gt;
* '''卷脱落自动停车''' / Coil-drop auto-stop: `coilDetected` 在搬运中突然为 false → e-stop。&lt;br /&gt;
* '''机械手碰撞监测''' / Arm collision: 关节力矩 &amp;gt; 阈值 → e-stop。&lt;br /&gt;
* '''负载超限''' / Overload: 单卷 &amp;gt; 设计载重 → 拒绝取。&lt;br /&gt;
* '''人员靠近''' / Personnel proximity: 工作半径内 1.5 m 任何动态物体 → e-stop。&lt;br /&gt;
&lt;br /&gt;
== 5. 节拍 / Throughput ==&lt;br /&gt;
单卷搬运参考节拍：&lt;br /&gt;
Per-coil cycle:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 阶段 / Stage !! 时间 / Time&lt;br /&gt;
|-&lt;br /&gt;
| 巡线到取卷工位 / Travel to source || 30–60 s&lt;br /&gt;
|-&lt;br /&gt;
| 3D 视觉识别 + 对位 / 3D recognition || 5–10 s&lt;br /&gt;
|-&lt;br /&gt;
| 机械手取卷 / Arm pickup || 15–25 s&lt;br /&gt;
|-&lt;br /&gt;
| 巡线到目标工位 / Travel to dest. || 30–60 s&lt;br /&gt;
|-&lt;br /&gt;
| 机械手放卷 / Arm place || 15–25 s&lt;br /&gt;
|-&lt;br /&gt;
| 离开 / Withdraw || 10–15 s&lt;br /&gt;
|-&lt;br /&gt;
| 单次总节拍 / Per-coil total || 1.5–3 min&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 相关页面 / See also ==&lt;br /&gt;
* [[Special:MyLanguage/叉车适配案例|叉车适配案例]]&lt;br /&gt;
* [[Special:MyLanguage/全向车适配案例|全向车适配案例]]&lt;br /&gt;
* [[Special:MyLanguage/使用叉车自动取托盘功能|使用叉车自动取托盘功能]]&lt;br /&gt;
* [[Special:MyLanguage/3D相机适配|3D相机适配]]&lt;br /&gt;
* [[Special:MyLanguage/识别料框并堆垛拆垛|识别料框并堆垛拆垛]]&lt;br /&gt;
&lt;br /&gt;
[[Category:特殊技术方案]]&lt;/div&gt;</summary>
		<author><name>Artheru</name></author>
	</entry>
</feed>