复合卷料机械手叉车

来自MDCS wiki2
跳到导航 跳到搜索


概述 / Overview

"复合卷料机械手叉车"是 MDCS 中的复合机器人形态:把 叉车+机械手+卷料专用夹具组合在一台 AGV 上,实现卷料(钢卷、纸卷、塑料卷、布卷等)的自动取放与上下料。它是 叉车适配 + 卷料夹具适配 + 机械手协同的综合案例。

The "composite coil-handling robotic forklift" combines forklift + robotic arm + coil-specific gripper on one AGV to autonomously handle coils (steel, paper, plastic, fabric, …). It's the composite of forklift adaptation + coil-gripper adaptation + manipulator coordination.

业务场景 / Business scenarios

  • 钢卷仓库 / Steel-coil yard: 单卷重 5–25 t,堆叠 3–5 层
  • 造纸 / 卷烟生产线 / Paper / cigarette lines: 中等卷重,节拍紧
  • 汽车冲压线 / Auto stamping: 卷料上料 + 废料下料
  • 纺织 / Textile: 布卷搬运 + 上下料

硬件组成 / Hardware

部件 / Part 规格 / Spec
底盘 / Chassis 重载叉车 / 牵引车 / heavy-load forklift or tractor
机械手 / Arm 6-DoF 工业臂或 SCARA / 6-DoF or SCARA
卷料夹具 / Coil gripper V 形托架 + 夹紧机构 / V-cradle + clamp; 或 C 形钩 / C-hook
视觉 / Vision 3D 相机扫卷端面识别中心 + 直径 / 3D camera for coil-end ID
激光雷达 / Lidar 前向 + 侧向(多激光融合)
负载传感 / Load sensor 称重模块;溢出阈值即报警

机械手的关注点:足够长以触到地面卷 + 提到货架;足够强以拿动单卷重量;末端夹具与卷料 V 形配合好。 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.

1. Medulla 适配 / Medulla side

比标准叉车多了机械手 + 卷料夹具的 IO: On top of a standard forklift, add IO for the arm + the coil-specific gripper:

public class CoilFork : CartDefinition
{
    // 底盘 IO(同 LB14 forklift)/ Chassis IO same as a regular forklift...

    // 机械手 IO / Arm IO
    [AsUpperIO] public float[] armJointTgt = new float[6];
    [AsUpperIO] public bool   gripperClose;
    [AsLowerIO] public float[] armJointEst = new float[6];
    [AsLowerIO] public bool   gripperClosed;
    [AsLowerIO] public float  coilWeight;

    // 卷料夹具 IO / Coil gripper IO
    [AsUpperIO] public bool   vCradleLift;          // V 托架升起
    [AsUpperIO] public bool   clampOn;              // 夹紧
    [AsLowerIO] public bool   clampForceOK;         // 夹紧力到位
    [AsLowerIO] public bool   coilDetected;         // 卷在槽内

    [AsInitParam] public string armConfig = "armconfigs/UR10.json";
}

2. Clumsy 自动驾驶适配 / Clumsy side

卷料场景多了几个特定 Movement: A few coil-specific Movements:

  • `CoilApproach` — 用 3D 相机识别卷端面,AGV 居中对位
  • `CoilPickWithArm` — 机械手放 V 托架 → 卷滚入托架 → 升起 → 夹紧
  • `CoilPlaceOnRack` — 把卷放到 V 形支架 (rack saddle)
  • `CoilDestackFromGround` — 地面堆叠的卷分层取下
public void PickCoilFromGround(double sx, double sy, int srcId)
{
    Queue(
      async () => DriveTask.WaitDriveTask(new SteeringLineFollowing
              { srcX = currentX, srcY = currentY,
                dstX = sx, dstY = sy, basespeed = 400 }.Follow()),
      async () =>
      {
          // 3D 相机识别卷
          DriveTask.WaitDriveTask(new CoilApproach
              { stopDist = 600, coilDiamMax = 1500 }.Get());
      },
      async () =>
      {
          // 机械手伸出 + V 托架放到卷下
          await MoveArmTo(grabPose);
          SetUpperIO("vCradleLift", false);
          await Task.Delay(500);
          DriveTask.WaitDriveTask(new ForwardTracker
              { dstAhead = 800, basespeed = 100 }.Get()); // 微推让卷滚入托架
      },
      async () =>
      {
          SetUpperIO("vCradleLift", true);
          await WaitForLowerIO("coilDetected", 4000);
          SetUpperIO("clampOn", true);
          await WaitForLowerIO("clampForceOK", 3000);
      });
}

3. SimpleComposer 端 / SimpleComposer side

  • 带卷包络 / Loaded envelope: 卷直径影响 车体外缘,必须声明对应大包络。
  • 可达性约束 / Reachability: 持卷在低净高区段降速 + 禁止某些急转。
  • 机械手姿态约束 / Arm pose: 行驶时机械手必须收回到 行驶姿态;离开取放工位前不允许行驶。
  • The carrying envelope expands with coil diameter; declare an alternate envelope.
  • Reachability prohibits sharp turns + low-clearance corridors when carrying.
  • Arm pose must be 'stow' before driving; refuse motion otherwise.

4. 安全 / Safety

  • 卷脱落自动停车 / Coil-drop auto-stop: `coilDetected` 在搬运中突然为 false → e-stop。
  • 机械手碰撞监测 / Arm collision: 关节力矩 > 阈值 → e-stop。
  • 负载超限 / Overload: 单卷 > 设计载重 → 拒绝取。
  • 人员靠近 / Personnel proximity: 工作半径内 1.5 m 任何动态物体 → e-stop。

5. 节拍 / Throughput

单卷搬运参考节拍: Per-coil cycle:

阶段 / Stage 时间 / Time
巡线到取卷工位 / Travel to source 30–60 s
3D 视觉识别 + 对位 / 3D recognition 5–10 s
机械手取卷 / Arm pickup 15–25 s
巡线到目标工位 / Travel to dest. 30–60 s
机械手放卷 / Arm place 15–25 s
离开 / Withdraw 10–15 s
单次总节拍 / Per-coil total 1.5–3 min

相关页面 / See also