This repository aims to recognize gestures made by users. Recognized gestures can lead the robot to take certain actions and/or repeat user's movement.
This repository is written in standards-conforming Python. It is developed and tested on the following platforms:
- Ubuntu 16.04
- ROS Kinetic
- Openpose Software
- CUDA 8.0
- OpenCV 3.2
- Librealsense SDK 2.10.0+
Project uses following hardware:
- Intel Core-i7 6700HQ
- Nvidia Mobile Gtx 960
- RealSense SR300 (Firmware 3.10.10.0 and up)
- USB 3.0 Type-A port for camera connection
As the ROS will be main environment it needs to be installed first. You may switch between camera and openpose installation. However completing step 3 before 4 is vital to prevent kernel errors.
-
Install ROS Kinetic.
-
Install Openpose and OpenposeROS node following instructions below.
Unless you want to use a separate camera skip step 3 and 4.
-
Install Realsense Camera Prerequisities.
-
Install Realsense Camera ROS Node from source.
http://wiki.ros.org/realsense_camera/Tutorials/Building_librealsense_from_Sources
-
Git clone the package into catkin workspace src folder.
:~/path-to-catkin-workspace/catkin_ws/src$ git clone https://github.com/tolgasaglik/Gesture-Recognition-with-Openpose-ROS.git
Skip step 2 if you have already initialized your workspace.
-
Initialize your workspace.
:~/catkin_ws$ catkin_init_workspace
-
Build your package.
:~/catkin_ws$ catkin_make
-
Source you environment.
:~/catkin_ws$ source devel/setup.bash
-
Invoke the launcher. You may modify it if you want to use another camera.
:~/catkin_ws$ roslaunch $(find gesture_detector)/launch/gesture_detector.launch
Unless otherwise noted, gesture_detector repository is licensed under a BSD license (see LICENSE.bsd).
This is a non-exhaustive list of contributors:
- FranLera