2025.06.29(更新日: 2025.06.29)
AGV(Automated Guided Vehecle)
はじめに
次の職場で、AGVに指示を出す、WCS(Warehouse Controll System)の別工場仕向けの開発に携わる。
ファミマで、AGVを見かけたので、記事を書いている。
ファミマにあったAGV

工場のAGVは、用途が違うとは思うが、上記のようにものを運ぶのがAGV。
WCSとAGVの関係
以下のソースコードを作成した。
class AGV:
def __init__(self, id, battery_level):
self.id = id
self.battery_level = battery_level
self.status = "待機中"
def move(self, from_point, to_point):
if self.battery_level < 10:
raise Exception(f"{self.id} のバッテリー残量が不足しています。")
self.status = "搬送中"
print(f"{self.id} が {from_point} から {to_point} へ移動中...")
# 仮の処理
self.battery_level -= 10
self.status = "搬送完了"
print(f"{self.id} の搬送が完了しました。")
class WCS:
def assign_task(self, agv, from_point, to_point):
print(f"{agv.id} に搬送タスクを指示します。")
agv.move(from_point, to_point)
# テスト実行
agv1 = AGV("AGV-001", battery_level=50)
wcs = WCS()
try:
wcs.assign_task(agv1, "A地点", "B地点")
except Exception as e:
print(f"エラー発生: {e}")
実行すると、以下のようになる。
AGV-001 に搬送タスクを指示します。
AGV-001 が A地点 から B地点 へ移動中...
AGV-001 の搬送が完了しました。
コメントを残す