Skip to content

This repository provides a lightweight HTTP-to-ROS 2 bridge designed to connect Asterics Grid, a symbolic communication interface based on ARASAAC pictograms, with ROS 2-based robotic systems.

License

Notifications You must be signed in to change notification settings

fjrodl/astericsgrid_ros

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ROS 2 Asterics Bridge

This repository provides a simple HTTP-to-ROS 2 bridge that enables accessible and symbolic explainability for robots using Asterics Grid and ROS 2.


📚 Table of Contents


🧠 Purpose

The goal of this bridge is to facilitate inclusive human–robot interaction (HRI) by enabling users to send symbolic commands or explanation requests to a robot through a pictogram-based interface (e.g. ARASAAC boards). The system is designed with Universal Design for Learning (UDL) in mind.


🚀 How It Works

  1. Asterics Grid sends HTTP POST requests with a payload (e.g. "turn", "why").
  2. A lightweight Flask server receives these requests.
  3. The message is published to a ROS 2 topic (/asterics_commands).
  4. Robot nodes subscribed to the topic respond (e.g., by generating a verbal explanation).

🔧 Setup Instructions

1. Install dependencies

git clone https://github.com/fjrodl/AsTeRICS-Grid
pip install flask flask-cors

2. Source your ROS 2 environment

source /opt/ros/humble/setup.bash  # or your ROS 2 distro

3. Run the bridge

python3 ros2_asterics_bridge.py

The server will listen on http://localhost:5000/command.


📤 Example Payload from Asterics Grid

Each pictogram on the Asterics board should be configured with a custom HTTP action:

{
  "type": "HTTP",
  "method": "POST",
  "url": "http://localhost:5000/command",
  "headers": { "Content-Type": "application/json" },
  "body": {
    "payload": "turn"
  }
}

Testing the server with Curl:

curl -X POST http://localhost:5000/command      -H "Content-Type: application/json"      -d '{"payload": "turn"}'

📡 ROS 2 Topic

The bridge publishes all incoming payloads to:

/asterics_commands  [std_msgs/msg/String]

Example message:

data: "turn"

You can test it with:

ros2 topic echo /asterics_commands

🧩 Use Case Example

Asterics Grid HTTP POST → ROS 2 Topic Robot Explanation
Pictogram: "Why?" payload: "why" /asterics_commands "Because I detected an obstacle."
Pictogram: "Turn" payload: "turn" /asterics_commands "Turning left to avoid object."

🧱 Files

  • ros2_asterics_bridge.py – Main Flask+ROS 2 server
  • example.grd (optional) – Demo board with pictograms and HTTP actions
  • guia_asterics_ros2.pdf – Setup guide (included in paper)

📜 License

License: Apache 2.0

This repository (astericsgrid_ros) is distributed under the Apache License 2.0.
It is an independent bridge that connects AsTeRICS-Grid with ROS 2 via HTTP requests.

⚖️ Legal Note

  • No source code from AsTeRICS-Grid is included or modified in this repository.
  • This bridge only communicates externally with AsTeRICS-Grid through HTTP and does not constitute a derivative work under the AGPL v3 license.
  • Users must comply with the AGPL v3 terms only when running or modifying AsTeRICS-Grid itself.

📖 Citation

If you use this work, please cite:

Rodríguez Lera, F. J., Fernández Hernández, R., Lopez González, S., González-Santamarta, M. A., Rodríguez Sedano, F. J., & Fernandez Llamas, C. (2025). Accessible and Pedagogically-Grounded Explainability for Human-Robot Interaction: A Framework Based on UDL and Symbolic Interfaces. arXiv:2504.06189. https://arxiv.org/abs/2504.06189


🤝 Acknowledgments

Developed as part of research on accessible explainability and Universal Design for Learning in HRI. Integrates:


🤝 Project Acknowledgments

DMARCE_logo drawio

DMARCE (EDMAR+CASCAR) Project: EDMAR PID2021-126592OB-C21 -- CASCAR PID2021-126592OB-C22 funded by MCIN/AEI/10.13039/501100011033 and by ERDF A way of making Europe

DMARCE_EU eu_logo

Erasmus+ Project ROBOSTEAMSEN - Training SEN teachers to use robotics for fostering STEAM and develop computational thinking with reference: 2023-I-ESOI-KA220-SCH-OOOI55379.

About

This repository provides a lightweight HTTP-to-ROS 2 bridge designed to connect Asterics Grid, a symbolic communication interface based on ARASAAC pictograms, with ROS 2-based robotic systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages