Tuesday, August 12。夜勤。
夜9:40 PM、出荷ピークの真っ最中だった。本線Bと通路Cが交わるクロス通路に、4台のAMRが4方向から同時に到着した。そして止まった。4台とも。誰も動かない。なぜなら4台とも自分が優先だと思っていたからだ。
配車画面では4つの小さなドットが凍りついていた。その後ろでは、通路Cにロボットの列が伸びていた。シフトリーダーのXiao Liが駆けつけ、しばらく見て、戻ってきて言った:「Chen、あの4台、示し合わせたみたいですよ。誰も動きません。」
ロックアップから、うちの者が歩いて行って1台を手動でどかすまで8分かかった。通路Cは8分間、動きゼロ。補充は入れない。波動計画は崩壊した。その夜の時間当たりスループットは、いつもの1,100ケースからかろうじて800まで落ちた。正直に言う:RCSは3か月順調に動いていた。そして我々を倒したのは、たった1つの交差点だった。
4台のロボット、誰も譲らない
工場出荷時のデフォルト優先は「先着順」だった。公平に聞こえるだろう? 行列と同じだ。交差点に先に着いた者が先に行く。
実際に起きることはこうだ。ピーク時には4台のロボットが約1秒の間隔で到着する。システムは本当に誰が先だったか判別できない。そこで4台とも止まり、4台とも少し前に出て様子をうかがい、4台とも安全レーザーが互いを捉えて緊急停止する。3秒止まって、もう一度試して、また止まる。デッドロックだ。
デッドロックは伝染する。交差点が凍ると、その後ろのロボットが止まり、そのさらに後ろも止まる。8分後には、ゾーンBのフリートの半分が立ち往生し、RCS画面は真っ赤な壁になっていた。夜勤のベテランOld Wangが無線で言った:「Chen、あいつらは働きに来たのか、会議しに来たのか?」
翌朝の朝会では、ベンダーのエンジニアとずっと言い争った。彼の言葉そのまま:「Chen、これは業界標準です。」私は言った:「その標準がうちの倉庫を8分間止めた。非標準のをくれ。」
実際に試した2つの間違った修正
最初の案は明白だった:積載車両優先だ。「積載優先」を設定した——積んだロボットが最優先、空のロボットが譲る。
3日後、Old Zhangが通路Cの交差点で新人2人と一緒に立ち、ロボットに悪態をついていた。積載に向かう空のロボットが、7台か8台の積載ロボットに連続で譲り、11分間その場にいた。Zhangは言った:「Chen、あいつらは新人いじめだよ——空のロボットはロボットじゃないのか?」さらに悪いことに、積載ロボットは特権意識を持ち始めた。みんなが譲ると分かっているので、交差点で減速しなくなり、横の通路から出てきた空のロボットをラックに押しつけそうになったのが2回ある。士気は壊れるまで見えない——だがその日のシフト引き継ぎで、誰かが本当にこう言った:「夜勤はフォークリフトに戻したほうがいいんじゃないか。」それを聞いて背筋が寒くなった。
2つ目の案:本線優先だ。本線上のロボットは止まらない。横の通路のロボットが譲る。
それはもっとひどかった。横の通路のロボットは本線にまったく合流できなくなった。通路に溜まる——最悪は40メートルの横通路に6台のロボットがバンパーtoバンパーで詰まり、補充担当者は手動パレットジャックすら通せなかった。渋滞を交差点から通路に移した。そこでは対処が難しく、ついでにピックゾーンへの補充も枯渇させた。
2つの失敗した実験から、逆説的なことが分かった:「公平」を突き詰めようとすればするほど、渋滞は悪化する。
先着順は最も公平に聞こえる——そして最もデッドロックする。積載優先は最も理にかなって聞こえる——そして空のロボットをいじめて使い物にならなくする。本線優先は最も科学的に聞こえる——そして渋滞をより対処しにくい場所に移す。ついに腑に落ちた:交差点が恐れるのは遅さではなく曖昧さだ。2台のロボットが両方「自分が行くべき」と思った瞬間、終わりだ。交通を流し続ける唯一の方法は、意図的な「不公平」を組み込むことだ——誰が誰に譲るかを明確にし、交渉の余地をゼロにする。
うちの倉庫が今やっていること
1か月の試行錯誤の末、3つのルールに落ち着いた。これがうちの倉庫の今のやり方だ。
ルール1:時間帯でルールを変える。万能はなし。
日中、波動が軽く出ているロボットが少ない時間帯は、先着順を使う。シンプルで、面倒がない。7 PMから11 PMまでは、システムが自動で「タスク緊急度優先」に切り替わる。すべてのタスクにスコアがつく——キャリアのカットオフが近い出荷タスクが最高、次に補充、充電に戻る空のロボットが最低だ。注:スコアは重さではなく緊急度でつける。カットオフを逃しそうな波動に向かう空のロボットは、期限のない積載ロボットより上位だ。Old Zhangはそれ以来、交差点で悪態をついていない。
| 戦略 | デッドロックリスク | 空ロボットの最長待ち | ピークスループット | 使う場面 |
|---|---|---|---|---|
| 先着順 | 高い(ピーク時はほぼ毎日) | 約5分 | ベースライン | 日中、交通量少 |
| 積載優先 | 中程度 | 10分超 | ベースラインより約10%低い | 3日試して廃止 |
| 本線優先 | 中程度 | 横通路に溜まる | 通路が詰まり、さらに悪化 | 2日試して廃止 |
| 時間帯別タスク緊急度 | 低い(3か月ゼロ) | 3分未満 | ベースラインより約15%高い | 現在運用中、終日 |
(これは40台の自社現場での実測値だ。フリートが違えば、レイアウトも違う——福音ではなく参考として受け取ってほしい。)

ルール2:厄介な交差点の周りに停止禁止ボックスを描く。
建物内の6つの交差点の統計を取った。本線Bのあの交差点がデッドロックの70%超を占めていた。修正は単純だった:各方向15メートル、電子フェンスを描いた。ロボットがボックスに入る前に、RCSは交差点を一気に通過できることを証明しなければならない。証明できなければ外で待つ。「とりあえず入ってみて様子を見る」はなしだ。街中の「交差点内で止まるな」と同じルール——ソフトウェアに書き込んだだけだ。その交差点はそれ以来一度もロックしていない。
ルール3:新人の配車担当はベテランについて3日間——交差点を見る。
これは人の話だ。ルール変更後の最初の2週間、夜勤のベテランたちはモニターをにらみ、少しでもおかしければ無線で報告した。今では新人の配車担当は全員、Old Wangについて3日間、交差点の交通を見るだけの日々を過ごす。「あの2台はやり合いそうだ」と見抜けるようになるためだ。ルールは機械が回し、例外は人が回す。古臭く聞こえるが、効果がある——先月、ソフトウェアアップデートで優先パラメーターが工場出荷時にリセットされ、Old Wangがシステムアラームの10分前に「ロボットの譲り方がおかしい」と気づいた。
計算してみよう。最悪の週には、1日平均3回のデッドロック、1回5〜8分、時間当たりスループットは毎回200〜300ケース落ちた。1週間で約4,000ケースのロスだ。ピークシーズンにそんなミスをすれば、目が飛び出るような顧客ペナルティが待っている。新しい体制で3か月:デッドロックゼロ、夜勤のスループットはむしろ上がった。正直に言うと、ベンダーのエンジニアは最初、うちのアプローチを荒っぽいと思っていた。今ではうちの時間帯別ルールを、他倉庫に配る推奨設定に書き込んでいる。
同じオペレーターへの1つの忠告:RCSを立ち上げる時、配車アルゴリズムの賢さに感心するだけではだめだ。まずピークシフトに一番忙しい交差点に立ってみよう。交差点を間違えれば40台のロボットは40の障害物になる。正しくやれば、人こそがボーナスになる。そして交通ルールを変える前には、まず夜勤のベテランに相談しよう——ロボットは自動で走るが、シフトを回すのは人だ。人が納得しなければ、どんなルールも機能しない。
Chen Feng(倉庫運営マネージャー)著
英語版からの翻訳。内容に相違がある場合は英語版を優先します。





