22/02/2022
This project aims to control and simulate the turtlebot3 in Gazebo using hand gestures. It has two parts:
Detection of Hand gestures using the OpenCV library.
Using the above code to control the linear and angular velocities of the turtlebot3 in Gazebo.
Detecting the hand gestures:
1. We first create a mask to segment the hand in HSV colour space.
2. Further noise is removed by first applying Morphological transformation on it and then smoothing the image using a Gaussian filter.
3. The contours of the hand are found and then using various properties such as convex hull, convex area and aspect ratio, the various hand gestures are differentiated from each other.
Implementation on turtlebot3:
1. This project uses ROS Noetic.
2. First, a ROS publisher is created in order to control the turtlebot3.
3. This publisher then publishes the Twist message in the rostopic cmd_vel.
4. The above code is used to detect the following hand gestures and corresponding changes are made in the linear and angular velocities of the turtlebot3.
0 - Stationary(velocities set to zero)
1 - Moving forward(increase in linear velocity)
2 - Moving backward(decrease in linear velocity till it becomes negative)
3 - Turning right(increase in angular velocity)
4 - Turning left(decrease in angular velocity till it becomes negative)
Refer the link in our bio for the full code.
Members:
, Deepshikhar Gupta, , , ,
Mentors:
, .singh.09, , Nachiket Sawwalakhe, ,