| | 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 | |