Giter VIP home page Giter VIP logo

emg-robot's Introduction

Controlling a Robot with EMG Sensors and Arduino

This project was conducted for the bachelor's degree by Ali Mahdiliunder the supervision of Dr.Mehdi Baradarannia at the University of Tabriz.

This project has been carried out in several stages, which are described below:

  • Setting up and receiving correct data from the sensor - April 2023
  • Controlling the robot in three states (stop-forward-backward) by connecting with a wire - June 2023
  • Controlling the robot in three states (stop-forward-backward) by wireless connection - July 2023

Description

This project allows you to control a robot using EMG Electromyography sensors and Arduino. It also includes a remote control functionality using NRF24L01 modules. The system interprets muscle signals captured by the EMG sensors and translates them into commands for the robot, enabling intuitive control based on muscle movements. R

Features

  • Control the robot using EMG signals
  • Remote control functionality via Bluetooth modules
  • Real-time interpretation of muscle signals for responsive control
  • Adjustable sensitivity and calibration options for personalized control
  • Support for multiple robotic platforms

Hardware Requirements

Software Requirements

  • Arduino IDE
  • Arduino libraries for modules

Installation

  1. Clone or download the repository to your local machine.
  2. Connect the Arduino board to your computer.
  3. Open the Arduino IDE and load the Arduino sketch provided in the repository.
  4. Install the required libraries through the Arduino Library Manager.
  5. Connect the EMG sensors to the Arduino board as per the provided documentation.
  6. Connect the modules and set up the communication between the master and slive boards.
  7. Compile and upload the sketch to the Arduino board.
  8. Power up the robot and ensure all connections are secure.

Usage

  1. Turn on the EMG sensors and ensure they are properly positioned on the user's muscles.
  2. Establish a Bluetooth connection between the remote control device and the Arduino board.
  3. Calibrate the system, adjusting the sensitivity and thresholds as needed.
  4. The EMG signals will be continuously monitored and translated into control commands for the robot.
  5. Use the remote control device to send commands via Bluetooth, allowing manual control of the robot.
  6. Explore the possibilities of controlling the robot through muscle movements and the remote control interface.

Sensor calibration

Sensor start-ups can generally be divided into 3 steps:

  1. In this step, only the data is displayed
  2. by pressing the key once, the system starts to take the minimum and maximum and divides this period into 3 parts. At this stage, the system is not yet active.
  3. In the last step by pressing the key for the second time, the system starts working according to the data of the previous step, so that the middle third is used for stop mode and the first and last third are used for forward and backward.

Wireless connection

nRF24L01 is a single-chip radio transceiver for the worldwide 2.4 - 2.5 GHz ISM band. The transceiver consists of a fully integrated frequency synthesizer, a power amplifier, a crystal oscillator, a demodulator, a modulator, and Enhanced ShockBurst™ protocol engine. Output power, frequency channels, and protocol setup are easily programmable through an SPI interface. Current consumption is very low, only 9.0mA at an output power of -6dBm and 12.3mA in RX mode. Built-in Power Down and Standby modes make power saving easily realizable.

image

Contributing

We welcome contributions from the community to improve this project. If you would like to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure they are adequately tested.
  4. Submit a pull request, describing the changes you have made.

License

This project is licensed under the MIT License.

Contact

If you have any questions, suggestions, or feedback, please get in touch with us at [email protected]

emg-robot's People

Contributors

ebugsteam avatar tfrbf avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.