Dataset for Pick and Place Operations (Bipartite Travelling Salesman Problem - BTSP)
Authors/Creators
Description
This repository provides short description of the problem, and benchmark datasets for research and evaluation of robot pick-and-place operation in Pilot 3 using Bipartite Traveling Salesman Problem (BTSP) formulations.
Problem Description
Industrial kitting robot systems (KRS) must move components from Gravity Racks (GR) to Kit-Holders (KH) efficiently. A KRS (single or dual gripper) travels between storage positions (GR) and assembly positions (KH) to fulfill kits. The planning challenge is to compute a travel sequence that satisfies all KH demands while minimizing total travel time (or distance), subject to practical flow rules (start/end stations, one- or two-component capacity, and allowed transitions).
We model this as a Bipartite Traveling Salesman Problem (BTSP)—a directed graph with two main node sets (GR and KH) and special pseudonodes that encode the start and end of operations. Unlike the classic TSP, edges are type-aware and directional (GR→KH vs KH→GR may differ), and certain edges are only valid in one direction (e.g., start→GR, KH→end). In the dual-gripper variant, the robot may perform GR→GR (double pick) and KH→KH (double place) transitions before alternating between sets, which changes the feasible transitions and the optimal tour structure.
The datasets here provide reproducible instances of this BTSP formulation derived from Pilot 3, spanning: (i) a simplified Complete Graph family for scalability, (ii) a realistic Parse Graph family for single-gripper KRS with typed components and constrained connectivity, and (iii) a Dual-Gripper Parse Graph family for evaluating dual-capacity heuristics and dual-linear baselines.
Components and Terminology
-
GR nodes
Storage locations of components. In real setups, a “container” may hold multiple item positions; in our graph each GR node represents a pickable item position. -
KH nodes
KH that require specific component types and quantities. In typed scenarios, only GR nodes with a matching component type connect to a KH node. -
Pseudonodes
-
0.0(Start): the robot departs from here; only connects to GR nodes. -
0.0.0(End/Return): the final station; KH→0.0.0 edges exist, and 0.0.0→0.0 closes the loop with a fixed cost (often 1).
-
-
Edge types and directionality
-
GR ↔ KH: core transport links (often asymmetric to reflect approach/handling differences).
-
0.0 → GR: start edges only.
-
KH → 0.0.0: finishing edges only.
-
0.0.0 → 0.0: loop-closure edge (fixed cost).
-
GR ↔ GR and KH ↔ KH: enabled in dual-gripper scenarios (double pick/place), and optionally provided in other datasets for analysis and ablations.
-
-
Costs
Each edge has a travel time/distance cost.
Problem Constraints and Variants
-
Complete Graph (Homogeneous)
-
All components are interchangeable; every GR connects to every KH (fully connected bipartite core).
-
Designed for scalability tests and algorithm sanity checks without type constraints.
-
Often uses symmetric costs for clarity, though asymmetry can be present.
-
-
Single-Gripper (Parse Graph)
-
Robot carries one component at a time.
-
Valid tour segments include:
0.0 → GR → KH → 0.0.0 → 0.0(abstractly), with repeated GR→KH alternating until all KH demands are satisfied. -
Type constraints: GR→KH edges exist only if the GR component type matches the KH demand.
-
Typically no GR→GR or KH→KH transitions (unless explicitly enabled for analysis).
-
-
Dual-Gripper (Dual_Gripper_Parse_Graph)
-
Robot can pick two components before placing, enabling GR→GR moves (double pick) and KH→KH moves (double place) when logically and temporally feasible.
-
After a (double) pick phase, the route alternates to KH nodes to place the carried items, respecting capacity and type matching.
-
This variant broadens the feasible solution space and often reduces travel cost but increases planning complexity.
-
-
Objective
Minimize total travel cost while visiting edges in an order that fulfills all KH demands and adheres to the start/end flow and capacity rules.
Graph / Data Structure (What’s inside each dataset)
-
Directed edges recorded as string pairs:
"(source, target)" : distance
Examples:-
(0.0, GR_i)— start to a gravity-rack node -
(GR_i, KH_j)— typed pick-to-place travel -
(KH_j, 0.0.0)— end of a placement phase -
(GR_i, GR_k)/(KH_j, KH_m)— intra-set transitions (e.g., dual-gripper)
-
Files
Complete_Graph100x100.json
Files
(4.6 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:fd05e754917ef0a9194356acc2024587
|
1.5 MB | Preview Download |
|
md5:ea9442519ca1076838288a29c65c42e3
|
24.8 kB | Preview Download |
|
md5:dd7b07c8e3b71fe7e87d76d20eca924f
|
71.2 kB | Preview Download |
|
md5:a22fbeeb4dd3a0381f656a93ef6739e3
|
391.2 kB | Preview Download |
|
md5:05bf1b0d6a7a42f773f36551181a5c64
|
673.3 kB | Preview Download |
|
md5:96980b66b05d9df28182e1d32fec474d
|
1.1 MB | Preview Download |
|
md5:fb923ab50929b797a3f8db9295fb439c
|
304.2 kB | Preview Download |
|
md5:9ab524f70783023e03ad27b6d6a7af0e
|
498.8 kB | Preview Download |