#################################### ##FILL ME IN #################################### ## for a custom note with links: ## descriptive title for the entry ## title = Customizable Buttons ## ## multi-line description to be displayed in search ## description = Using a white piece of paper and a black pen, you can draw your own array of buttons that are touch-activated ## submitter = Garratt Gallagher ## ## keywords = buttons, sound board, customizable #################################### <> <> == Video == <> <> == How to Reproduce Your Entry == === Physical Setup === The interface is pretty simple. White paper, black thick pen. There are several assumptions that this program uses: * The normal of the drawing surface is pointing in the positive z direction * The drawing surface is pretty much white (I threshold at r,g,b > 240) * the kinect is stationary * the pen color is very dark (I threshold at r+g+b < 100) * all the buttons are visible unless your hand is over at least one button The buttons can track up to 1cm/frame. If they go any faster, or are blocked for about a second, they will re-associate. === Code to Checkout === 1. First you have to check out and compile the mit-ros-pkg repository. Please follow the [[mit-ros-pkg/KinectDemos#General_Installation| MIT Kinect Demos General Installation]] instructions. 1. You can then continue on that page to follow the instructions for installing the ''''Customizable Buttons'''' Demo, which have been copied here for your convenience: {{{ rosmake impromptu_buttons --rosdep-install }}} === Running the Code === This demo uses the openni kinect driver. To launch it run: {{{ roslaunch openni_camera openni_kinect.launch }}} The one step you will have to do manually is provide a static transform from '''/world''' to '''/openni_camera''' which will make the normal of the drawing surface point in the positive z direction. In the video above, I ran the following: {{{ rosrun tf static_transform_publisher 0 0 1.2 0 .33 0 /world /openni_camera 10 }}} Finally, to launch this demo, run: {{{ rosrun impromptu_buttons buttons }}} === Dependencies === ==== External ==== This package depends on the [[http://www.sfml-dev.org/|Simple Fast Media Library]] to play sounds. you can install the dependencies using rosdep: {{{ rosdep install impromptu_buttons }}} ==== ROS Packages ==== * ni * pcl * pcl_ros ## AUTO GENERATED DO NOT DELETE ## ContestEntryCategory