# Group G25 - Formal & Title & Goals

This is the original course proposal/goals document. For current setup,
training, evaluation, and Webots run instructions, see `../README.md`
and `../training/README.md`.

## Team members
- Diogo Costa <up202502576@up.pt>
- Johnny Fernandes <up202402612@up.pt>
- Nelson Neto <up202108117@up.pt>

## (i) Title and General objectives
**Autonomous Shepherd Robot for Livestock Herding (Strömbom)**

- Implement effective herding behaviors through proximity and movement strategies
- Build a 3D environment with realistic robot dynamics and LIDAR-based perception
- Develop a mobile robot capable of autonomously guiding a flock of sheep into a designated target area using the Strömbom heuristic approach


# Group G25 - (ii) Intermediate Goals

## Intermediate goals
- Set up the Webots simulation environment with an open field and target zone
- Implement lightweight 2D herding environment for algorithm evaluation
- Design a Sheep and Dog robot
- Implement a sheep flocking model for fast Strömbom iteration
- Validate LiDAR sensor feedback for sheep detection and distance estimation


# Group G25 - Course Project (Final) Goals

## (iii) Main goals
- State-of-the-art survey on shepherding algorithms with focus on Strömbom herding
- Implement and tune Strömbom controller to successfully herd a single sheep into the goal
- Achieve fully autonomous herding of multiple sheep and a full flock into the target area
- Optimize robot trajectory to minimize the time required to group the flock
- Ensure zero collisions between the robot and the sheep during the task
- Quantitative evaluation: success rate, time-to-pen, flock dispersion metrics
- Article, demo video, and final presentation

## (iv) Extra Merit
- Progressive evaluation (scaling from 1 sheep to a flock)
- Comparison of performance between Differential Drive and Mecanum wheels
- Robustness testing under sensor noise or varying sheep speeds, configurations and parameters
- Multi-shepherd cooperative mode: 2 dogs learn role specialization (collector vs. driver)
- Obstacles and terrain (walls, narrow gates, corridors) the flock must be funneled through


# Group G25 - Tools & Limitations

## (v) Tools
- Webots for 3D physics simulation with ROS2 integration via `webots_ros2` package
- Gymnasium (OpenAI) for the simulation wrapper and evaluation tooling
- Python as the primary programming language (sheep flocking model, reward shaping, evaluation)

## (vi) Limitations
- Computational Power: Large batch evaluation and parameter sweeps can still be time-consuming
- Sim-to-Real Gap: No real-world validation of the herding controller; project is simulation-only (2D + Webots 3D)
- Model Complexity: Simplified sheep behavior (scripted) may not account for all biological livestock nuances