| 1 | = Wildcard tournament experiment eaxmple #1 = |
| 2 | |
| 3 | [[TOC(DSC*,depth=2)]] |
| 4 | |
| 5 | == Objective == |
| 6 | Use OEDL script to execute competitive game in wildcard with the simple house bot. |
| 7 | |
| 8 | == Hardware / Software Resources Used == |
| 9 | 1. Four grid nodes with USRPs. |
| 10 | 2. ''dsc-bot.ndz'': disk image loaded onto one pair of nodes. This image has all the prerequisite software to configure the USRPs and execute a house radio. |
| 11 | 3. ''team-image.ndz'': disk image with team radio. |
| 12 | 4. Scoring packet server: This is server that resides on the grid console (for the practice) and is used by a transmitting nodes to send data packets over the air via USRP as well as by the receiving nodes to submit received packets for scoring. |
| 13 | 5. [attachment:dsc-wildcard.rb]: this is the OEDL experiment script to execute the game. |
| 14 | |
| 15 | == Setting up the nodes == |
| 16 | * To get started first make a reservation on the [https://www.orbit-lab.org/loginService/ControlPanel Orbit Scheduler] for using the Grid. |
| 17 | |
| 18 | * After logging into grid console, make sure all nodes are turned off (in the example below, turn off all the nodes in the grid): |
| 19 | {{{ |
| 20 | username@console.grid:~$ omf tell -a offh -t system:topo:all |
| 21 | }}} |
| 22 | |
| 23 | * Verify state of node before continuing. Make sure nodes are in the POWEROFF state. |
| 24 | {{{ |
| 25 | username@console.grid:~$ omf stat |
| 26 | }}} |
| 27 | |
| 28 | * Image the two nodes to be used for first team radios (in this case team A nodes): |
| 29 | {{{ |
| 30 | username@console.grid:~$ omf load -i dsc-bot.ndz -t system:topo:dsc-teamA |
| 31 | }}} |
| 32 | |
| 33 | * Image the two nodes to be used for house radios (in this case team C nodes): |
| 34 | {{{ |
| 35 | username@console.grid:~$ omf load -i dsc-bot.ndz -t system:topo:dsc-teamC |
| 36 | }}} |
| 37 | |
| 38 | * Turn nodes back on and verify they are in POWERON state |
| 39 | {{{ |
| 40 | username@console.grid:~$ omf tell -a on -t system:topo:teamA |
| 41 | username@console.grid:~$ omf tell -a on -t system:topo:teamC |
| 42 | }}} |
| 43 | |
| 44 | * Download the [attachment:dsc-wildcard.rb OEDL experiment script for this tutorial] to your local directory. |
| 45 | {{{ |
| 46 | username@console.grid:~$ wget http://www.orbit-lab.org/raw-attachment/wiki/DSC/dc_trial2/dsc-wildcard.rb |
| 47 | }}} |
| 48 | |
| 49 | == Running the experiment script == |
| 50 | |
| 51 | By default, the experiment script will execute '''/root/gnuradio/gr-digital/examples/narrowband/bot1_tx.py''' and '''/root/gnuradio/gr-digital/examples/narrowband/bot1_rx.py''' on transmitter and receiver respectively. Each team will use a separate set of parameters for a very simple bot: brute-force radio that sends a random number of packets at random intervals. The sender module draws packets from a packet server, while the receiver module delivers packets to the same packet server. The code is based on the same benchmark radio that was used for Hurdle 3. |
| 52 | |
| 53 | |
| 54 | * Type to following command to run the experiment. This will start the packet server, start the transmitter and receiver for both teams and release the packet source. The actual transmission/reception will run for 100 seconds (which can be adjusted with the property at the top of the script) or until one radio successfully transmits the file. |
| 55 | {{{ |
| 56 | username@console.grid:~$ omf exec dsc-wildcard.rb -- --team1 dsc-teamA --team2 dsc-teamC |
| 57 | }}} |
| 58 | |
| 59 | * The output should look similar to the following: |
| 60 | {{{ |
| 61 | username@console.grid:~# omf exec dsc-wildcard.rb |
| 62 | ... |
| 63 | }}} |
| 64 | |
| 65 | * Turn the nodes off |
| 66 | {{{ |
| 67 | username@console.grid:~$ omf tell -a offh -t system:topo:all |
| 68 | }}} |
| 69 | |
| 70 | NOTES: |
| 71 | |