You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-11Lines changed: 7 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,14 +8,10 @@ It moves away from complex automation "glue" in favor of a clean, Python-first a
8
8
9
9
### Scope
10
10
11
-
In this initial phase, LAMBKIN provides a simple Python script that serves as the foundation for the orchestration system. It automates the full benchmarking
12
-
pipeline using **Beluga AMCL** as the localization algorithm, evaluating it across multiple configurations(sensor models and particle counts) and measuring its accuracy against a ground truth trajectory.
11
+
Lambkin is a simple, sequential process orchestrator that covers the basic concepts of process lifecycle management and graceful termination for ROS2-based benchmarking pipelines. It handles each stage of a benchmark run in a strictly ordered sequence — spawning nodes, recording topics, synchronizing playback, and collecting evaluation metrics — making the execution flow explicit and easy to follow.
12
+
13
+
While Lambkin is algorithm-agnostic by design and can integrate with any ROS2-based pipeline, this repository provides a specific worked example using the [Beluga](https://github.com/Ekumen-OS/beluga) AMCL localization algorithm, including a predefined launch file and configuration files to run a complete benchmark out of the box.
13
14
14
-
- Launches Beluga AMCL with different configurations (sensor models, particle counts)
15
-
- Plays a reference rosbag to simulate a real robot environment
16
-
- Records the output topics and evaluates the estimated trajectory
17
-
- Computes the Absolute Pose Error (APE) against the ground truth
18
-
- Generates comparison plots across all configurations
19
15
20
16
## Architecture
21
17
@@ -55,12 +51,12 @@ flowchart TD
55
51
style H fill:#ede9fe,stroke:#7c3aed,color:#4c1d95
56
52
```
57
53
58
-
### Use Case
54
+
### ROS2 Package
59
55
60
-
LAMBKIN is designed to work with any localization algorithm package. In this
61
-
phase, it orchestrates the following ROS2 nodes:
56
+
LAMBKIN is designed to work with any localization algorithm package.
57
+
The provided launch file brings up three ROS2 nodes:
62
58
63
-
-**Beluga AMCL** — the algorithm being benchmarked (e.g. a AMCL-based node), responsible for estimating the robot pose from sensor data and a known map
59
+
-**Beluga AMCL** — the algorithm being benchmarked (e.g. a AMCL-based node), responsible for estimating the robot pose from sensor data and a known map.
64
60
-**map_server** — provides the static map to the localization node
65
61
-**lifecycle_manager** — manages the lifecycle of both the localization node and map_server, handling their startup and shutdown transitions automatically
0 commit comments