Robot Laser Tag Team 1: Matt Pruitt, Dirk Van Bruggen, and Jay Doyle Team 7: Jason Grant & Joe Thompson Artists: Elizabeth Maltby, Kayla Wolter, and Chelsea Young Dirk
Overview Project Overview Methodology / Approach Results Collaboration Team 1 Team 7 Results Demonstration Video Discussion & Future Work Questions Dirk
Project Overview Matt
Why Laser Tag? Involves moving and thinking about moving Fits with Turtlebot constraints Made use of available sensors on the robots Vision and 3D sensors with cliff/bump as backup Shooting easily simulated with vision system Fun for kids to watch and to play Can also be controlled by PS3 controller Conceptually easy game Matt
Goals To have multiple robots autonomously play a game of laser tag in a constrained environment Move through the environment quickly while avoiding obstacles Track another robot when it is discovered "Shoot" another robot when it is close enough Scatter when it is hit Develop independent algorithms for autonomous gameplay Matt
Methodology Joe
System Overview Central game manager Scoreboard Handles score Hit/miss decided by neutral party Controls game state (hunting, scatter) ROS Master Node Scoreboard Scores maintained by MySQL PHP website to display score on projector Two independent players Each Turtlebot has own control algorithm Communicate with ROS master over WiFi Joe
Central Game Manager (ROS Master) Handles Score Hit Decision Uses CMVision blob info to determine hit/miss Had capability to process blobs without CMVision Switched to processing blobs on robots due to network latency Controls game state (hunting, scatter) Custom ROS msgs to send game state to players Notifies of state change & hit/miss ROS Master Node Joe
Scoreboard MySQL database for holding score PHP script for displaying score on webpage Apache web server for hosting score page Matt
Independent Players Each player has own strategy Standard msgs agreed upon for game state Custom ROS msgs for game state were created Each player can be controlled through PS3 Controller paired with robot and used PS3 teleop Robot would be autonomous until controller button pressed Jason
Team 1 Outline Component Diagram State Machine PCL Processing PS3 Controller Jay
Team 1 - System Architecture Game Arbitration Server Bump/Cliff Sensor Central Navigation Thread Jay CMVision Blobs Kinect/PCL Clouds ROS Messages
Team 1 - Navigation Jay
Team 1 - Navigation Jay
Crazy Ivan Jay
Team 1 - Controller Matt
Team 7 - Outline Separation of control and perception State Management Robot Control Issues / Solutions Joe
Team 7 - Perception All sensing through the Kinect handled by a nodelet Provides speed for rapid PCL processing Handles blob processing from CMVision Allows for translation from noisy sensor data to higher level information before reaching control Environment Perception Obstacles Joe PCL Depth Collision Opponent CMVision RGB Target
Team 7 - Custom Messages Opponent Obstacles Target Collision Contains : Blob information for opponent's "statue" aligned with PCL data Purpose : Provides information on position of opponent Obstacles Contains : Centroid information for PC points between 1 and 3 meters away within a half a meter to the right or left Purpose : Provides long range information of field Target Contains : Blob information for opponent's target aligned with PCL data Purpose : Provides information for a shooting solution Collision Contains : Centroid information for PC points < 1 meter away Purpose : Provides information concerning imminent collision Jason
Team 7 - State Machine Jason
Team 7 - Controller Reactive Controller Default Movement : move forward Each message sparks a reaction function Each assign weights An arbitrator calculated a weighted average and published a final rotational and linear velocity to the TurtleBot Allows larger goals to be usurped by immediate goals Larger Goals : Hunt Opponent, Hide by Obstacles Immediate Goals : Avoid Collisions Joe
Team 7 - Controller Movement Arbitrator Move Avoid Collisions HUGE Hunt Opponent WEIGHT Opponent Medium Weight Hide by Obstacles Movement Arbitrator Obstacles Small Weight Joe In range? Move Target Yes Shoot
Jason
Unexpected Events Formed line for each team for unexpectedly large crowd Wi-Fi Range Far side of area was not covered by Wi-Fi Running into walls Team7: default behavior was go forward Team1: kinect did not see paper at small angles Running through wall Avatars could rotate on robot base, kids confused Changing arenas Battery life One robot was a ballerina Jason
Problems with Multi-Robot System Passing Messages Multiple Namespaces to Avoid Conflicting Msgs Wi-Fi interference in Joyce Multiple Namespaces All default Turtlebot scripts changed e.g. both robots cannot publish/subscribe to cmd_vel CMVision needed to be remapped Nodelets difficult to integrate with new namespace No existing tutorials covered topic completely Dirk
Demo Video Jay
Jay!
Jay
Jay
Discussion Jason
Discussion Robots played laser tag Add "friggin" lasers 2013 Students: Dig into ROS early in semester Have lab assignment using multiple robots Turning issues with low battery Jason
Questions Dirk
Questions Dirk
Questions
Questions
Video http://www.flickr.com/photos/kristahoefle/69455 73614/