Skip to content

JasmineRimani/Collaborative-Task-Planning-Lab

Repository files navigation

Collaborative Robotics Task Planning

This repository is a cleaned, public-facing refactor of the original code used for the IGLUNA and lunar lava tube analogue mission studies. The goal of the refactor is to make it understandable, reusable, and safe to extend.

The original project combined:

  • hierarchical task planning with HDDL domains and problems
  • SMACH-based mission execution in ROS
  • waypoint-based navigation
  • collaborative mission actions such as image capture, arTag reading, and health-state reporting
  • early experiments around mapping and fault-handling

The historical implementation is preserved under legacy/ so the research provenance stays intact. The reusable, better-documented Python package lives under src/igluna_task_planning/.

Why This Refactor Exists

The original repository was valuable but difficult to reuse because mission-specific scripts, prototypes, launch files, and helper utilities all lived side by side. This refactor reorganizes the codebase around a clearer story:

  1. legacy/ keeps the original ROS and HDDL artifacts.
  2. src/igluna_task_planning/ extracts the core planning and navigation ideas into testable Python modules.
  3. docs/ explains the algorithms, architecture, and MBSE/ConOps framing.
  4. examples/ shows how to inspect planner output and reason about occupancy-grid connectivity without needing a full ROS deployment.

Publications

This codebase originates from the work behind:

Repository Layout

.
├── docs/                     Architecture, algorithms, and MBSE/ConOps notes
├── examples/                 Small runnable examples
├── legacy/                   Original PhD-era ROS nodes, HDDL assets, plans, and launch files
├── src/igluna_task_planning/ Reusable Python package extracted from the legacy code
└── tests/                    Unit tests for the refactored modules

Core Algorithms in the Refactor

The extracted package focuses on the parts of the repository that are broadly reusable:

  • parsing HDDL planner output into structured plan steps
  • summarizing collaborative mission plans into navigation legs and task groups
  • converting waypoint indices into map coordinates
  • generating approach poses for objectives with configurable stand-off distance
  • converting occupancy-grid data into a traversable waypoint graph and (visible ...) facts for planning

These modules are intentionally ROS-light so they can be tested and reused outside a full robot stack.

Quick Start

python3 -m venv .venv
source .venv/bin/activate
pip install -e .
python -m unittest discover -s tests
python -m igluna_task_planning

The default CLI run summarizes the bundled IGLUNA plan from legacy/plans/monday.txt.

Documentation

Current Scope

This refactor makes the repository substantially easier to understand, but it is intentionally conservative:

  • the original ROS nodes are preserved instead of being silently rewritten
  • the extracted package focuses on reusable planning logic, not full ROS 1 runtime compatibility

About

Research framework for collaborative robotic task planning, combining HDDL plan analysis, waypoint reasoning, and reusable mission-planning utilities derived from analogue lunar mission studies.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages