ThakkarVidhi/nao-gesture-hri
NAOgest is a software application that explores how the NAO humanoid robot can use expressive hand gestures to improve conflict resolution in customer support. Developed with Webots, the simulation evaluates the effects of verbal and non-verbal behaviors on user trust, empathy, and satisfaction during stressful interactions.
NAOgest: Human-Gesture Execution System in Webots
A Webots-based software system for generating and executing dynamic human gestures using the NAO humanoid robot.
Project Description
NAOgest enables realistic, expressive gesture execution by NAO robots in simulation using a modular, C-based architecture integrated with Webots simulated enviorement. This project aims to enhance non-verbal communication strategies in human-robot interactions.
Table of Contents
- Project Title and Overview
- Project Description
- Features
- Technology Stack
- Demo and Preview
- Installation
- Usage
- Configuration
- Testing
- License
- FAQs
- Contact Information
Features
- 🎯 Modular gesture architecture using C controller in Webots.
- 🎥 Built simulation for gesture visualization.
- 🧠 Scenario-based gesture execution.
- 🔧 Easy to extend with custom gestures.
Technology Stack
Simulation & Robotics:
- Webots
- NAO robot model
- Choregraphe
Programming & Tools:
- C
Others:
- Motion Fiels
- Custom World
- Webots supervisor/controller interface
Demo and Preview
Here’s a snapshot of NAOgest in action:
- 🤖 NAO executes "greeting" and "pointing" gestures in Webots.
- 🔄 Scenario scripts define gesture sequences with delays and transitions.
- 🎬 Real-time animation synchronized with Webots simulation clock.
- 🎥 Demo Video
Installation
-
Clone the repository:
git clone https://github.com/ThakkarVidhi/nao-gesture-hri.git cd nao-gesture-hri -
Open Webots and load the provided project world file:
worlds/nao-gesture-hri.wbt
-
Run the simulation and observe the NAO robot executing gestures.
-
Ensure C controller is selected and configured in the Webots world.
Usage
-
Place gesture motions in
motions/directory as.motionfiles. -
Use the provided Webots controller to run the scenario aftercompiling:
controllers/nao_controller/nao_controller.c
-
To test a specific gesture manually, invoke:
start_motion(motion_name)
Configuration
Configuration is managed in nao-gesture-hri.wbproj.
Testing
This project includes basic manual testing. To test the application:
-
Launch the Webots simulator and load the
nao-gesture-hriworld file. -
Start the simulation and observe the NAO robot’s gesture-based actions in response to coded triggers.
-
Manually test each scenario to verify that gestures are performed accurately and consistently.
-
Monitor the simulation logs and console output for any unexpected behavior or execution errors.
License
This project is licensed under the MIT License.
FAQs
Q: What should I do if Webots fails to load the NAO robot correctly?
A: Ensure you have the latest version of Webots installed. Download the NAO model if prompted.
Q: Can I use this project with a real NAO robot?
A: This is primarily designed for Webots simulation. Adapting to real hardware is possible but requires additional SDK integration.
Q: How can I add custom gestures?
A: Add a new MOTION file in the motions directory and reference it in the controller to simulate the gesture.
Contact Information
For questions or feedback:
- 📧 Email: vidhithakkar.ca@gmail.com
- 💼 LinkedIn: Vidhi Thakkar
