Skip to content

Robotics-Mechatronics-UMA/ROUD-PositioningSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

System use

Description

This repository introduces a method for victim localization and positioning using a One Search Agent (OSA) equipped with an FTM-based anchor. The system relies on a Python-based multilateration algorithm to estimate the victim’s coordinates by analyzing Round-Trip Time (RTT) signals emitted by their WiFi-enabled devices. The provided dataset demonstrates the effectiveness of the proposed strategy, showing that a single UAV can accurately geolocate hidden victims in a short period of time.

You can deploy and test the system using your own FTM-based anchor attached to a GNSS receiver, both mounted on a mobile platform. To monitor and visualize the platform's performance, the SARFIS tool is provided, which allows importing orthophotos of varying resolutions corresponding to the area of operation. The algorithm can output both raw and filtered positioning data. Finally, the repository includes a dataset captured in a real Search and Rescue (SAR) scenario with first responders, where a UAV equipped with the mentioned hardware was flown to validate the results and showcase the potential of this tool in outdoor victim detection and search missions.

Requirements

Before starting, ensure you have the following installed:

  • Access to the project repository, which contains the necessary scripts.
  • MATLAB R2023b or higher versions.
  • Ubuntu 22, or higher.
  • ROS 2 Humble.

Project Structure

The project is organized as follows:

OSA_ps/
├── Dataset/
│   ├── jemerg24-filtered
│   ├── jemerg24-FX8-position
│   └── jemerg24-realTime
├── Code/
│   ├── SARFIS/
│   │   ├── DEM files/
│   │   ├── Matlab functions/
│   │   │   ├── DEM/
│   │   │   ├── GPX/
│   │   │   ├── GUI/
│   │   │   └── ROS/
│   │   │       ├── jemerg24-filtered-0.db3
│   │   │       ├── metadata.yaml
│   │   ├── resources/
│   │   ├── works/
│   │   └── SARFIS.prj
│   ├── Multilateration/
│   │   ├── data_visualization.py
│   │   ├── FX8_medianBoth.py
│   │   ├── gpsMovil2Nav_fx8.py
│   │   ├── infoViewer_fx8.py
│   │   ├── inputViewer_fx8.py
│   │   ├── multilateration_for_OSA.py
│   │   ├── sendDataTo_ROS2node.py
│   │   ├── server_ros_bridge.py
│   │   ├── ros_wrapper.py
│   │   ├── positioning_rtt_ils.py
│   │   └── anchors_positions.py
├── Figures/
├── Demo/
│   └── video-demo.mp4
└── docker_launch.sh

  • Code/Multilateration/: contains the multilateration algorithm and workflow to be applied on the provided dataset.
  • Dataset/: contains the real data from the experiment and raw data to be processed offline.
  • SARFIS/Matlab functions/ROS/: folder where new recorded rosbags are stored.
  • docker_launch.sh: shell script used to automate tasks.
  • DEM files: empty folder. Download the DEM files and include them in the folder. Link to DEM files

Instructions

Explanation of the SARFIS Tool

The SARFIS tool is a Graphical User Interface (GUI) developed in MATLAB, with ROS 2 nodes integrated. This tool serves to get feedback from the operational environment where the mobile robots are deployed. In addition, you can monitor the coordinates estimated by the multilateration algorithm in real time.

Open MATLAB and the prj file.

  • Open the SARFIS tool selecting the button on the upper left corner.
  • In the Global Settings tab, select the checkbox to connect to the ROS 2 network. By default, it is using a zero value in the
  • Create the default agent (OSA) using the add button. The associated subscribers are configured by default.
  • Create the subscriber associated with geolocation in the Global Settings tab.

About

Potential victim detection and localization in ROUD Scenarios

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published