Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .github/workflows/rust-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,6 @@ jobs:

upload-assets:
needs: create-release
defaults:
run:
working-directory: antares
strategy:
matrix:
include:
Expand All @@ -41,7 +38,7 @@ jobs:
with:
# (required) Comma-separated list of binary names (non-extension portion of filename) to build and upload.
# Note that glob pattern is not supported yet.
bin: ...
bin: antares
# (optional) Target triple, default is host triple.
# This is optional but it is recommended that this always be set to
# clarify which target you are building for if macOS is included in
Expand All @@ -67,3 +64,4 @@ jobs:
archive: $bin-$tag-$target
# (required) GitHub token for uploading assets to GitHub Releases.
token: ${{ secrets.GITHUB_TOKEN }}
manifest-path: antares/Cargo.toml
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,12 @@ We present ANTARES, an open-source, software-based naval radar simulator. ANTARE

## Credits

This project was developed by **Juan Sebastian Urrea-Lopez** as part of research initiatives at **Universidad de los Andes**, in collaboration with the **Armada de la República de Colombia**.
This project was developed jointly by The Software Design Lab at Universidad de los Andes and the Colombian Navy.

**Authors:**
- Juan Sebastian Urrea-Lopez (Universidad de los Andes) <js.urrea@uniandes.edu.co>
- Camilo Barreto-Reyes (Universidad de los Andes, Colombian Navy) <c.barretor@uniandes.edu.co>
- Mario Linares-Vásquez (Universidad de los Andes) <m.linaresv@uniandes.edu.co>

## License

Expand Down
4 changes: 3 additions & 1 deletion antares-python/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
[project]
name = "antares-python"
version = "0.1.2"
version = "1.0.0"
description = "Python interface for the Antares simulation software"
authors = [
{ name = "Juan Sebastian Urrea-Lopez", email = "js.urrea@uniandes.edu.co" },
{ name = "Camilo Barreto-Reyes", email = "c.barretor@uniandes.edu.co" },
{ name = "Mario Linares-Vásquez", email = "m.linaresv@uniandes.edu.co" },
]
readme = "README.md"
requires-python = ">=3.13"
Expand Down
2 changes: 1 addition & 1 deletion antares-web/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "antares-web",
"private": true,
"version": "2.0.0",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
2 changes: 1 addition & 1 deletion docs/antares-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,5 @@ antares-cli subscribe

## 📎 Technical Details

For installation instructions, configuration schema, and developer options, see the [antares-python GitHub repository](https://github.com/jsurrea/antares-python).
For installation instructions, configuration schema, and developer options, see the [antares-python GitHub repository](https://github.com/TheSoftwareDesignLab/ANTARES/tree/main/antares-python).

2 changes: 1 addition & 1 deletion docs/antares-python.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,4 @@ Whether you're building mission rehearsal tools, tactical planning apps, or AI-c

## 🔗 Learn More

Full technical details, API reference, and source code are available at the [GitHub repository](https://github.com/TheSoftwareDesignLab/ANTARES/antares-python).
Full technical details, API reference, and source code are available at the [GitHub repository](https://github.com/TheSoftwareDesignLab/ANTARES/tree/main/antares-python).
94 changes: 64 additions & 30 deletions docs/antares-simulator.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,62 +7,96 @@ description: >-
A high-fidelity simulation engine for maritime radar and sensor systems, designed for real-time experimentation and analysis.
---

# 🧠 ANTARES Simulator

> The core of the platform: a high-fidelity, real-time radar simulation engine built for performance, extensibility, and operational realism.
{: .prompt-info }

## 🎯 Purpose

The simulator models **naval radar operations** in dynamic maritime scenarios, supporting both training and system integration efforts.
It enables reproducible experiments, behavior analysis, and real-time radar tracking.
The simulator models **naval radar operations** in dynamic maritime scenarios, supporting both training and system integration efforts. It enables reproducible experiments, behavior analysis, and real-time radar tracking.

## 🔄 Architecture Overview

- **Built in Rust**: Ensures high performance, type safety, and memory security.
- **Command-Driven**: Controlled via TCP messages for full integration flexibility.
- **Event Loop Core**: Uses a time-stepped loop to simulate real-world radar behavior.
- **Data Broadcast**: Publishes `Track` objects in real-time to subscribers (via TCP or WebSocket).
ANTARES follows a modular design centered around two main subsystems: **Simulation** and **Radar**, coordinated by a central **Controller**.

```mermaid
flowchart TD
A[Simulation Controller] --> B[World State Engine]
B --> C[Ship Dynamics]
B --> D[Radar Signal Generator]
D --> E[Track Data Stream]
graph TD
Controller[Controller]

Controller --> Simulation[Simulation]
Controller --> Radar[Radar]

Ship[Ship] --> Emitter[Emitter]
Simulation --> Emitter

Emitter --> MovementStrategy[Movement Strategy]

Line[Line] --> MovementStrategy
Circle[Circle] --> MovementStrategy
Random[Random] --> MovementStrategy
Stationary[Stationary] --> MovementStrategy

Radar --> Detector[Detector]
Radar --> Tracker[Tracker]

Detector --> TrackInterface[Track InterfaceTCP]
Tracker --> TrackInterface

TrackInterface --> TCI[TCI]
TrackInterface --> TDI[TDI]
```

> Track data can be consumed by GUI clients, automated systems, or external C4I modules.
> {: .prompt-tip }
### **Core Components**

**🎛️ Controller**
Acts as a unified facade managing both simulation and radar subsystems. Provides centralized control for initialization, execution, and coordination between components.

**🌊 Simulation Subsystem**
- **Emitters**: Generate radar signals within the environment (e.g., ships, buoys)
- **Ships**: Moving or stationary vessels that emit trackable signals
- **Movement Strategy**: Implements the Strategy Pattern to decouple movement logic from entities, supporting:
- **Line**: Linear movement with constant heading
- **Circle**: Circular patrol patterns
- **Random**: Unpredictable movement within boundaries
- **Stationary**: Fixed position entities

**📡 Radar Subsystem**
- **Detector**: Captures raw signals from emitters, filters by operational range, and calculates distance/direction to generate individual plots
- **Tracker**: Processes multiple plots over time to establish coherent tracks, calculating target velocity and trajectory

**🔗 Track Interface (TCP)**
- **TCI (Track Control Interface)**: Receives control commands from external systems for runtime radar adjustments
- **TDI (Track Data Interface)**: Transmits detected tracks and associated data to connected systems for analysis

### **Design Philosophy**

- **High Performance**: Built in Rust for type safety, memory security, and concurrent execution
- **Extensibility**: Strategy Pattern enables easy addition of new movement behaviors without architectural changes
- **Real-Time Operation**: Event-driven loop ensures sub-10ms latency for live tracking scenarios
- **Integration-Ready**: TCP-based interfaces support seamless connection with C4I and Combat Management Systems

> The modular architecture allows components to operate independently while maintaining tight integration for real-time performance.
{: .prompt-tip }

## 📦 Use Cases

* 🧭 **Officer Training Simulations**
Build realistic operational scenarios without physical deployments.
* 🧭 **Officer Training Simulations**: Build realistic operational scenarios without physical deployments.

* 🔍 **Sensor Behavior Testing**
Validate how detection algorithms react under different vessel configurations.
* 🔍 **Sensor Behavior Testing**: Validate how detection algorithms react under different vessel configurations.

* 🧪 **System Integration & Interoperability**
Emulate radar behavior to test communication with external systems (e.g., CMS, C4I).
* 🧪 **System Integration & Interoperability**: Emulate radar behavior to test communication with external systems (e.g., CMS, C4I).

* 🧰 **Research and Development**
Rapidly prototype and validate new tracking algorithms or radar control strategies.
* 🧰 **Research and Development**: Rapidly prototype and validate new tracking algorithms or radar control strategies.

## 🛠️ Configuration

Simulation parameters are defined via structured TOML or TCP commands.
Entities are configurable with:
Simulation parameters are defined via structured TOML or TCP commands. Entities are configurable with:

* Initial position, heading, and velocity
* Radar range, scan rate, and update interval
* Behavioral strategies and decision logic

> Ships and radars can be added, modified, or removed at runtime.
> {: .prompt-info }
{: .prompt-info }

## Learn More

For source code, contributions, or in-depth technical details, visit the GitHub repository:
👉 [https://github.com/TheSoftwareDesignLab/ANTARES/antares](https://github.com/TheSoftwareDesignLab/ANTARES/antares)
👉 [https://github.com/TheSoftwareDesignLab/ANTARES/tree/main/antares](https://github.com/TheSoftwareDesignLab/ANTARES/tree/main/antares)

2 changes: 1 addition & 1 deletion docs/antares-web.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,5 +51,5 @@ _Adding a new vessel with customizable parameters_
## Learn More

For source code, contributions, or in-depth technical details, visit the GitHub repository:
👉 [https://github.com/TheSoftwareDesignLab/ANTARES/antares-web](https://github.com/TheSoftwareDesignLab/ANTARES/antares-web)
👉 [https://github.com/TheSoftwareDesignLab/ANTARES/tree/main/antares-web](https://github.com/TheSoftwareDesignLab/ANTARES/tree/main/antares-web)

54 changes: 19 additions & 35 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,20 @@ toc: true
# ⚓ ANTARES
## A Modern, Open-Source Platform for Simulating Naval Radar Operations

**ANTARES** is a modular, real-time radar simulator developed for training, validation, and research in naval environments.
It seamlessly integrates with modern systems, while remaining intuitive, secure, and extensible.
**ANTARES** is a modular, real-time radar simulator developed for training, validation, and research in naval environments. It seamlessly integrates with modern systems, while remaining intuitive, secure, and extensible.

## 🎯 Mission

**Prepare. Validate. Evolve.**

ANTARES is designed to serve **military training programs**, **system integrators**, and **research teams** by simulating realistic naval radar operations in software. It empowers decision-making and systems engineering*before touching real hardware*.
ANTARES is designed to serve **military training programs**, **system integrators**, and **research teams** by simulating realistic naval radar operations in software. It empowers decision-making and systems engineering *before touching real hardware*.

## 🔍 What is ANTARES?

**ANTARES** is an open-source project developed by **Juan Sebastián Urrea-López** at **Universidad de los Andes**, in collaboration with the **Colombian Navy**.
**ANTARES** is an open-source project developed by **The Software Design Lab** at **Universidad de los Andes**, in collaboration with the **Colombian Navy**.

> This work is presented in the paper: **“ANTARES: A Software-Based Tool for Simulating Naval Radar Operations”**
> This work is presented in the paper:
**“ANTARES: A Software-Based Tool for Simulating Naval Radar Operations”**
_International Conference on Military Technologies 2025_
Brno, Czechia
{: .prompt-info }
Expand Down Expand Up @@ -65,32 +65,19 @@ Feedback confirmed its:
The platform is composed of multiple sub-projects, each with a focused role:

### 🧠 [`antares-simulator`](antares-simulator/)
> High-performance simulation engine written in **Rust**
> Simulates ship motion, wave interaction, radar detection, and signal broadcasting
{: .prompt-info }
High-performance simulation engine written in **Rust**. Simulates ship motion, wave interaction, radar detection, and signal broadcasting

### 🌐 [`antares-web`](antares-web/)
> Interactive web interface for configuring simulations, tracking targets, and visualizing radar output in real time
{: .prompt-info }
Interactive web interface for configuring simulations, tracking targets, and visualizing radar output in real time

### 🧪 [`antares-python`](antares-python/)
> Python SDK for scripting simulation workflows and integrating with external platforms or AI agents
{: .prompt-info }
Python SDK for scripting simulation workflows and integrating with external platforms or AI agents

### 💻 [`antares-cli`](antares-cli/)
> Terminal interface for automation, testing, and headless execution of ANTARES simulations
{: .prompt-info }

All components are released under the MIT License and designed to work independently or as an integrated system.

## 📄 Documentation
Terminal interface for automation, testing, and headless execution of ANTARES simulations

All documentation is written in Markdown and compiled automatically using
👉 [**showcase-chirpy-easy-docs**](https://github.com/jsurrea/showcase-chirpy-easy-docs)
powered by GitHub Actions.

> View individual guides, tutorials, and API references inside the `docs/` folder or through each sub-project’s page.
{: .prompt-tip }
> All components are released under the MIT License and designed to work independently or as an integrated system.
{: .prompt-info }

## 🌍 Impact

Expand All @@ -101,21 +88,18 @@ ANTARES brings the power of simulation to modern naval operations by:
- **Improving readiness** with repeatable and measurable scenarios
- **Democratizing access** to radar simulation technologies through open source

> Simulation is not just a convenience — it is a strategic enabler for defense innovation.
{: .prompt-danger }

## 📬 Contact

**Juan Sebastian Urrea-Lopez**
Lead Developer & Researcher
[📧 Contact](mailto:js.urrea@uniandes.edu.co)
**Project Authors:**
- **Juan Sebastian Urrea-Lopez** (Universidad de los Andes) <js.urrea@uniandes.edu.co>
- **Camilo Barreto-Reyes** (Universidad de los Andes / Colombian Navy) <c.barretor@uniandes.edu.co>
- **Mario Linares-Vásquez** (Universidad de los Andes) <m.linaresv@uniandes.edu.co>

*Developed through a collaboration between:*
🔹 **The Software Design Lab** at Universidad de los Andes
🔹 **Armada de la República de Colombia**

## 🔗 Links

- 🔗 [GitHub Repository](https://github.com/thesoftwaredesignlab/ANTARES)
- 🔗 [Project Website](https://thesoftwaredesignlab.github.io/ANTARES)
- 🔗 [Conference Info](https://icmt2025.cz)

> Ready to explore?
Start with the simulator 👉 [`antares/`](./antares/)
{: .prompt-success }