This is a ROS1 package designed to interface with the MindRove Armband. The package processes data from the armband's 8 EMG channels and 6 IMU channels (Gyroscope and Accelerometer) to detect a double_squeeze trigger and perform gesture classification. Based on the detected gestures, the package can execute various robot commands, which can be customized in the command_center.py
script.
The required dependencies for this package are listed in the requirements.txt
file. To install them, you can use the following command:
pip install -r requirements.txt
- Double Squeeze Trigger: The package can detect a double squeeze gesture to activate the command listening mode. This allows the system to start listening for subsequent gesture commands to execute.
- Gesture Classification: The package can classify different gestures such as wave, push, squeeze, point, and thumb_up.
- Customizable Commands: Users can customize the robot commands associated with each gesture in the
command_center.py
script. - Robot Control: The package can send navigation goals, change LED colors, and play sounds based on the classified gestures.
- Ensure you have ROS1 installed on your system.
- Clone this repository into your ROS workspace:
cd ~/catkin_ws/src git clone <repository_url>
- Build the package:
cd ~/catkin_ws catkin_make
- Source your ROS workspace:
source ~/catkin_ws/devel/setup.bash
- Launch the program with the launch file:
roslaunch lauch mindrove_launch.launch
The command_center.py
script contains the logic for handling different gestures. You can customize the commands by modifying the callback
function in the script.