Piano Playing Demo

This is a kinect demo found in the mit-ros-pkg repository. For more MIT kinect demos check out the MIT Kinect Demos page.

How to Run this Demo

  Show EOL distros: 

Installation

  1. Like all MIT kinect demos, you must first perform the General Installation

  2. Once your environment is setup, run:
     rosmake piano

Execution

  • roslaunch piano pianist.launch

Installation

  1. Like all MIT kinect demos, you must first perform the General Installation

  2. Once your environment is setup, run:
     rosmake piano

Execution

  • roslaunch piano pianist.launch
  • Note: if this instruction doesn't work, try the instruction of electric.

Installation

  1. Like all MIT kinect demos, you must first perform the General Installation

  2. in file kinect_utils/rosdep.yaml, add below to the bottom of the file:

    • lucid:
      • libsfml-dev libsfml-audio1.5
      maverick:
      • libsfml-dev libsfml-audio1.6
      natty:
      • libsfml-dev libsfml-audio1.6
      oneiric:
      • libsfml-dev libsfml-audio1.6

    roscd kinect_utils 
    gedit rosdep.yaml
  3. install dependencies.
    rosdep install piano
  4. in file piano/CMakeLists.txt, replace target_link_libraries(testsound sfml-audio) with target_link_libraries(testsound sfml-audio sfml-system)

    rosed piano CMakeLists.txt 
  5. Once your environment is setup, run:
     rosmake piano

Execution

  • roslaunch piano pianist.launch

Tips

  • see the finger detection demo for tips on how to have reliable finger detections

  • it may be helpful to see your fingers in rviz. see the finger detection demo for the rviz configuration to do so.

  • when it detect five fingers, it will first say: "Hold still" indicating that it is waiting for your hand to remain at a fixed position, so it can set up a baseline.
  • When it says: fingers: <some numbers> you are ready to go!

  • if you dip your finger too much, the kinect will lose sight of it, and the Piano program will do nothing if it does not see five fingers.
  • The distance threshold is set low, so you should not have to move much.

Development Info

Nodes Involved

Dependencies

External

This package depends on the Simple Fast Media Library to play sounds. you can install the dependencies using rosdep:

rosdep install piano

ROS Packages

  • ni
  • pcl
  • hand_interaction
  • skeletal_tracker
  • piano

Wiki: mit-ros-pkg/KinectDemos/Piano (last edited 2012-04-06 13:35:12 by azureviolin)