Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
pepper-imitation:pepper-imitation [2018/06/28 19:16]
s4pepper2018
pepper-imitation:pepper-imitation [2018/06/28 19:37]
s4pepper2018
Line 26: Line 26:
   * pepper_imitation:​ the system developed by the S4 team.   * pepper_imitation:​ the system developed by the S4 team.
  
-Dependencies (and even ROS itself if not present in the system), can be installed ​by running installDependencies.sh in pepper_imitation/​installDependencies.sh.+Dependencies (and even ROS itself if not present in the system), can be installed running installDependencies.sh in pepper_imitation/​installDependencies.sh.
  
 ===== Running the game ===== ===== Running the game =====
  
-The game sequence can be started by running the roslaunch file pepper_imitation_game.launch. The skeleton tracker and the kinect driver are to be run separately using the file pepper_imitation_kinect.launch.+The game sequence can be started by running the roslaunch file pepper_imitation_game.launch. 
 +The skeleton tracker and the kinect driver are to be run separately using the file pepper_imitation_kinect.launch.
    
 +Body pose checks can be disabled in pepper_imitation_node.launch,​ setting the "​skip_pose_checks"​ parameter to true. If disabled, the game will assume all the checks to be correct.
 +
 ===== Architecture ===== ===== Architecture =====
  
Line 40: Line 43:
   * pepper_tablet_node:​ pops up an input box for the user to type his name before starting the game.   * pepper_tablet_node:​ pops up an input box for the user to type his name before starting the game.
   * pepper_imitation_node:​ command the different gestures and checks if the detected person'​s pose - if any - is similar.   * pepper_imitation_node:​ command the different gestures and checks if the detected person'​s pose - if any - is similar.
-  * pepper_teleop_joy_node: ​r+  * pepper_teleop_joy_node: ​allows to control the robot'​s movement and rotation using a joystick. Keep in mind that the default joystick'​s values defined in the node have been set up to match those of a wired Xbox controller. 
 + 
 +All this nodes can be run separately and commanded by publishing in their respective topics, allowing a Wizard of Oz-ish level of control. 
 +The actual game and synchronization is achieved by means of a state machine, defined in "​pepper_imitation_game_node.py"​ file. SMACH was the library chosen for this. 
 + 
 +===== Game Flow ===== 
 + 
 +The expected behaviour is as follows: 
 +  * Pepper says hi, welcome the users to IMT Atlantique, and invites them to click on the tablet to enter a name. 
 +  * When the user clicks, an input dialog will appear after a few seconds. 
 +  * After entering his name, the music starts playing and the game goes into its main loop. 
 +  * Pepper prompts the user to do as him, and assumes a given pose sync'd with the music. 
 +  * Now, two possible scenarios can follow: 
 +     * The player adopts a pose similar enough. Then Pepper will encourage him to keep going, and the son g continues. 
 +     * The player does not make a similar pose, or the body pose is not detected properly. In this case, Pepper will ask the player to focus and try again, and the music will go back to the previous part. 
 +     * If no skeleton at all is found, Pepper will tell the user that it cannot find him. Two more additional sub-scenarios are possible here: 
 +         * The user is detected again after a while. Pepper informs the player and the game continues. 
 +         * If no skeleton is found after a while the game is stopped. 
 +  * When all the gestures are done and the music ends, Pepper thanks the user and the game goes back to its first state. The user can then click on the tablet again to re-start the game without having to input his name again.
  
 ===== Known issues and limitations ===== ===== Known issues and limitations =====
  • pepper-imitation/pepper-imitation.txt
  • Last modified: 2019/04/25 14:08
  • (external edit)