2025-08-07 01:29:00 -04:00

HRIStudio Robot Plugins Repository

Official collection of robot plugins for the HRIStudio platform, providing standardized interfaces for controlling and interacting with different types of robots in Human-Robot Interaction research.

Overview

This repository contains robot plugins that enable HRIStudio to work with various robot platforms including mobile robots, humanoid robots, manipulators, and drones. Each plugin provides a standardized interface for robot control, sensor data collection, and experiment execution.

Available Plugins

Mobile Robots

  • TurtleBot3 Burger (turtlebot3-burger) - Compact educational robot platform
  • TurtleBot3 Waffle (turtlebot3-waffle) - Extended TurtleBot3 with camera and additional sensors

Humanoid Robots

  • NAO Humanoid (nao-humanoid) - SoftBank Robotics NAO for social interaction research

Quick Start

Using Plugins in HRIStudio

  1. Add Repository: In HRIStudio Admin panel, add this repository URL
  2. Install Plugins: Browse and install plugins for your study
  3. Design Experiments: Use plugin actions in the experiment designer
  4. Run Trials: Execute experiments with real-time robot control

Local Development

# Clone the repository
git clone https://github.com/soconnor0919/robot-plugins.git
cd robot-plugins

# Install development dependencies (optional)
npm install

# Start development server
./validate.sh serve

# Validate all plugins
./validate.sh validate

# Create a new plugin
./validate.sh create my-robot

Repository Structure

robot-plugins/
├── repository.json         # Repository metadata
├── index.html             # Web interface
├── plugins/               # Plugin definitions
│   ├── index.json         # Plugin list
│   ├── turtlebot3-burger.json
│   ├── turtlebot3-waffle.json
│   └── nao-humanoid.json
├── assets/                # Visual assets
│   ├── repository-*.png   # Repository branding
│   ├── turtlebot3-burger/ # Robot images
│   ├── turtlebot3-waffle/
│   └── nao-humanoid/
├── docs/                  # Documentation
│   ├── schema.md          # Plugin schema reference
│   └── plugins.md         # Plugin development guide
├── scripts/               # Development tools
│   └── validate-plugin.js # Plugin validator
└── .github/workflows/     # CI/CD pipelines

Plugin Development

Creating a New Plugin

  1. Generate Template:

    ./validate.sh create my-robot
    
  2. Edit Plugin Definition: Update plugins/my-robot.json with robot details

  3. Add Assets: Place robot images in assets/my-robot/

  4. Validate Plugin:

    ./validate.sh validate
    
  5. Update Index:

    ./validate.sh update-index
    

Plugin Schema

Each plugin must include:

{
  "robotId": "unique-robot-id",
  "name": "Robot Display Name",
  "platform": "ROS2|NAOqi|Custom",
  "version": "1.0.0",
  "pluginApiVersion": "1.0",
  "hriStudioVersion": ">=0.1.0",
  "trustLevel": "official|verified|community",
  "category": "mobile-robot|humanoid-robot|manipulator|drone",
  "actions": [...]
}

Action Definitions

Actions define robot operations available in experiments:

{
  "id": "action_name",
  "name": "Action Display Name",
  "category": "movement|interaction|sensors|logic",
  "parameterSchema": {
    "type": "object",
    "properties": {...},
    "required": [...]
  },
  "ros2": {
    "messageType": "geometry_msgs/msg/Twist",
    "topic": "/cmd_vel"
  }
}

Development Tools

Validation Script

# Validate all plugins and repository
./validate.sh validate

# Run full test suite
./validate.sh test

# Build for production
./validate.sh build

# Start development server
./validate.sh serve [port]

Node.js Scripts

# Validate specific plugin
node scripts/validate-plugin.js validate plugins/my-robot.json

# Validate all plugins
npm run validate

# Update plugin index
npm run update-index

# Show repository statistics
npm run stats

Web Interface

The repository includes a built-in web interface accessible at the repository URL. It provides:

  • Repository information and statistics
  • Plugin catalog with search and filtering
  • Individual plugin details and documentation
  • Asset preview and download links
  • Installation instructions for HRIStudio

Contributing

Adding a Plugin

  1. Fork this repository
  2. Create your plugin using the template
  3. Add comprehensive robot assets
  4. Validate your plugin thoroughly
  5. Submit a pull request

Plugin Requirements

  • Valid JSON syntax and schema compliance
  • Complete action definitions with parameter schemas
  • High-quality robot images (thumbnail, main, angles)
  • Accurate robot specifications
  • Working communication protocol configuration

Review Process

All plugins undergo review for:

  • Technical correctness
  • Schema compliance
  • Asset quality
  • Documentation completeness
  • Security considerations

Integration with HRIStudio

Repository Registration

Administrators can add this repository in HRIStudio:

  1. Navigate to Admin > Plugin Repositories
  2. Add repository URL: https://repo.hristudio.com
  3. Set trust level and enable synchronization
  4. Plugins become available for installation

Study Installation

Researchers can install plugins for studies:

  1. Go to Study > Plugins
  2. Browse available plugins from registered repositories
  3. Install required plugins for your research
  4. Configure plugin settings as needed

Experiment Design

Plugin actions appear in the experiment designer:

  1. Drag actions from the Block Library
  2. Configure parameters in the Properties Panel
  3. Connect actions to create experiment flow
  4. Test and validate your protocol

Trial Execution

During live trials:

  1. HRIStudio establishes robot connections
  2. Wizard controls actions in real-time
  3. All robot commands are logged
  4. Sensor data is captured automatically

API Compatibility

This repository supports:

  • Plugin API Version: 1.0
  • HRIStudio Version: 0.1.0+
  • Schema Version: Latest

Trust Levels

Plugins are classified by trust level:

  • Official: Maintained by HRIStudio team or robot manufacturers
  • Verified: Third-party plugins reviewed and tested
  • Community: User-contributed plugins (use with caution)

Support

License

This repository is licensed under the MIT License. See LICENSE for details.

Individual plugins may have different licenses - please check each plugin's documentation.

Acknowledgments

  • ROBOTIS for TurtleBot3 platform support
  • SoftBank Robotics for NAO platform documentation
  • ROS2 community for standardized messaging
  • HRIStudio research community for feedback and testing
Description
Official plugins repository and template for HRIStudio
Readme MIT 3.2 MiB
Languages
HTML 51.7%
CSS 25.8%
JavaScript 11.6%
Shell 10.9%