Robot Racers Senior Project Doran Wilde and James Archibald 10 January 2012 1 Assignment • Before Tuesday, team leader sends email to Drs. Wilde and Archibald with: – team name – for each individual: • • • • name email address Route Y id specializations 2 Task Chart Game Stategy Controller Control velocity, steering, read encoder, curvature *test on block* Load code on Helios *Hello World* Feedback control for steering and velocity. Basic Wireless Communication *loop test* Drive Blind Drive fixed distance Drive fixed radius ESTOP Drive by vision Drive to base Play Game Shoot Stationary Target Shoot Moving Target Drive from Keyboard Design GUI *document* GUI Program *demo* Display Frame on GUI Capture video on Helios *display over USB* Color conversion Color segmentation Tower Recognition Recognize state truck vs. base friend vs. foe 3 Team Specialists • • • • • • • • • Leader and magician Control guru and resident genius Navigator and mystical guide Vision expert and oracle Communication lord and poet laureate Hardware and embedded system wizard GUI artist and master programmer Game AI strategist and algorithmist Golf pro (optional) 4 Leader • “And whosoever of you will be the chiefest, shall be servant of all.” Mark 10:4 • Provide vision and direction to the team • Conduct team meetings • Motivation, Morale, make sure everyone is producing at all times. • Coordination, Integration, Reporting • Making the hard decisions, even when not popular 5 Control • Control of the speed and steering of the vehicle. • Velocity input (m/sec, or ft/sec, or cm/sec) • Steering input (curvature: rad/sec or deg/sec, or steering angle: degrees) • Also inputs from encoders and gyro • Control the PWM outputs to the motors • Control loop, PID or PI to match actual speed and steering with desired values. 6 Navigation • How to get from where you are to where you need to be. • Path Planning, Ostacle avoidance • Following other trucks • Aligning a shot • Inputs from Game AI, or Vision • Outputs velocity and steering instructions to the controller 7 Vision • The camera is the primary input to your system • Input from the camera • Determine relative position of – bases – other trucks – obstacles – navigation landmarks • Outputs to Game AI and Navigation 8 Communication • Establish wireless communication between truck and – host control station (gui) – receive commands ESTOP, GO, Parameter settings, send back debug info – teammates (in multiplayer games) • Establish wired communication with – game system for shooting, reading encoders and gyro, game state, debugging 9 Hardware & Embedded Systems • Write the VHDL code for the Virtex 4 FPGA to – interface with peripherals – Implement parts of the vision algorithm – Interface with the game system • Manage the EDK – Configuration of the embedded system – Microprocessors, busses, peripherals 10 GUI • The host station interface with the truck. • Control center for configuring parameters, starting and stopping the truck. • Debug window into the truck. Display debug info coming back from truck. • Display vision info. Camera + overlays. • Take advantage of previous GUIs that have been written. 11 Game AI • Determine strategy to win various games. • Input info from vision giving relative positions of objects on the field. • Input state from game system (enabled, disabled, enabled with flag) • Decide on best course of action. • Output navigation for movement • Output to game system to make shots 12 Milestones (tentative) • Week 1 (Theme: Get team, learn tools, become productive) – • Week 2 (Theme: Everyone has a job and a goal to work towards) – • Vision competition (drive to base, stop at specified distance from base); working debug environment to test and debug vision (GUI works) Week 5 (Theme: Trucks can track and shoot stationary targets) – • Compulsory maneuvers competition (no vision) Week 4 (Theme: Our trucks can see and maneuver based on sight) – • Choose team specialists; leadership program; check out hardware; try out hardware, get installation working; control lecture, vision lecture Week 3 (Theme: Our trucks can accurately follow maneuver commands) – • Choose team members, team name, team leader; create team logo; get doorcode and space in FB 150; get team computer setup; download and setup svn client on team and personal computers; check out basic installation files; have first team meeting; setup Trac page; intro to basic installation, EDK, cores, etc.; intro to Trac (online only) Race to base competition (first to shoot the base wins), possibly with obstacles Week 6 (Theme: We have a winning strategy) – Simulated game competition (try out game strategies) 13 Milestones (tentative) • Week 7 (Theme: Our truck can track and shoot moving targets) – • Week 8 (Theme: Our trucks can shoot and avoid being shot) – • Practice laser tag competition (press coverage?) Week 13 (Theme: Knock their socks off. DATE=????) – • Treasure hunt competition (practice mapping and navigating to absolute coordinates) Week 12 (Theme: Rehearse the show) – • Practice laser tag competition Week 11 (Theme: Map building, cooperative map building) – • Tag competition (trying to pass the flag to someone—anyone, same skills as death match) Week 10 (Theme: Identify our weaknesses) – • Death match competition (shoot-em-up, last truck standing wins) Week 9 (Theme: We can put it all together and play the game) – • Follow that truck competition (track a moving target) Final laser tag competition Week 14 (Theme: Wind down, prepare for next year) – Check in hardware; commit files to repository; exit interview; final reports 14 Questions? 15