This repository provides a simple HTTP-to-ROS 2 bridge that enables accessible and symbolic explainability for robots using Asterics Grid and ROS 2.
- 🧠 Purpose
- 🚀 How It Works
- 🔧 Setup Instructions
- 📤 Example Payload from Asterics Grid
- 📡 ROS 2 Topic
- 🧩 Use Case Example
- 🧱 Files
- 📜 License
- 📖 Citation
- 🤝 Acknowledgments
- 🤝 Project Acknowledgments
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.
- Asterics Grid sends HTTP
POSTrequests with apayload(e.g."turn","why"). - A lightweight Flask server receives these requests.
- The message is published to a ROS 2 topic (
/asterics_commands). - Robot nodes subscribed to the topic respond (e.g., by generating a verbal explanation).
git clone https://github.com/fjrodl/AsTeRICS-Gridpip install flask flask-corssource /opt/ros/humble/setup.bash # or your ROS 2 distropython3 ros2_asterics_bridge.pyThe server will listen on http://localhost:5000/command.
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"}'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| 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." |
ros2_asterics_bridge.py– Main Flask+ROS 2 serverexample.grd(optional) – Demo board with pictograms and HTTP actionsguia_asterics_ros2.pdf– Setup guide (included in paper)
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.
- 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
Developed as part of research on accessible explainability and Universal Design for Learning in HRI. Integrates:
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
Erasmus+ Project ROBOSTEAMSEN - Training SEN teachers to use robotics for fostering STEAM and develop computational thinking with reference: 2023-I-ESOI-KA220-SCH-OOOI55379.

