Skip to content

Tom hunts down Jerry by the virtual signal calculated by the simulation using GPS and Map data.

Notifications You must be signed in to change notification settings

SuminHan/Tom-and-Jerry-Simulation

Repository files navigation

Tom-and-Jerry Simulation (Transmitter Hunting)

Implementation of virtual gears required for the sport called the Foxhunt game where ‘hounds’ hunt down ‘a fox’ by observing the virtual signal calculated from a signal simulation using real GPS and Map data using mobile smartphones and multi-core processing server. We renamed to Tom-and-Jerry game for intuitive understanding of this game.

Presentation

  • [6/5] Final Presentation (EOSP): click to play the video on YouTube.

End of Semester Presentation

  • [4/10] Interim Presentation(MOSP): click to play the video on YouTube.

Middle of Semester Presentation

  • Signal Simulation Development Footage: click to play the video on YouTube.

Signal Simulation Presentation

  • App Alpha Test: click to play the video on YouTube.

App Alpha Test

Introduction

alt tag

Documents

Installation

OSM crawling

  1. Install BeautifulSoup.

    $ pip install beautifulsoup4
    
  2. Export OpenStreetMap data that will be used.

  3. Run our Python Code.

  4. Then you can get the results: (e.g.)

    i	949	117	4
    # nodes
    n	36.3673981	127.3637097
    n	36.3674462	127.3638063
    n	36.3677069	127.3643303
    n	36.3675444	127.364455
    n	36.3674521	127.3642694
    n	36.3674026	127.3641699
    n	36.3672357	127.3638344
    b E2-2	0	1	2	3	4	5	6	0
    

    first line: i, #of nodes, #of buildings, #of forests

OpenCL should be installed based on your graphics processing unit (GPU). (e.g. AMD, NVIDIA) We are using CUDA from NVIDIA in this project.

Online realtime signal simulation prototyping

We used node.js, socket.io, and pixi.js. (see WebGraphic and SeqProgram for this)

function runCalculation(){
	var prog = "SeqProgram.exe " + position.gx + " " + position.gy + " " + position.ax + " " + position.ay;
	exec(prog, (err, stdout, stderr) => {
		if (err) {
			console.error(err);
			return;
		}
		signal = JSON.parse(stdout);
	});
}
runCalculation(); //initalize

Our team used firebase for user authorization and realtime signal data synchronization.

Signal Simulation Development Footage

  • [4/22] Reflection Simulation on: # of signal:360

Signal Simulation

  • [4/25] Signal blocking by forests on KAIST MAP

Signal blocking by forests

  • [4/29] Signal reflectionon KAIST MAP (sig#3600, long double, sequential)

Signal reflection

  • [4/30] Signal reflectionon KAIST MAP (sig#3600, 64bit int, sequential, fixed bug)

Signal reflection

  • [5/1] Signal reflectionon KAIST MAP

    • Number of signals : 172032, max reflection: 10

    • Using GPU: NVIDIA GeForce GTX 650 Ti

Signal reflection

  • [5/8] Web Online Realtime Graphical Simulation

Signal Simulation Web Socket

  • [6/5] Signal Simulation Development

Signal Simulation Development

  • [6/5] Transmitter Hunting DEMO

Transmitter Hunting DEMO