Skip to content

OpenGL/Java Virtual Drones

You can check the documentation for this project here

During the summer at my internship at the University of Oulu, I developed a drone simulator using Java that let’s you fly through the corridors of ITEE.

How it started

I had to begin from complete scratch, I chose to use OpenGL, so I started out creating simple shapes, Cubes .

Collisions

I had to deal with collisions, which took a long time to figure out. Not only did I have to come up with an algorithm that constantly checks the coordinates of bodies, and the overall physical properties (direction, velocity, acceleration, momentum, mass, etc.) of the system, but I also had to do the math behind it.

I ended up with quite a satisfactory result as you can see.

A 3D World

Taking inspiration from Google Maps, I used 360 photos like the one above and mapped them to multiple sphere objects. The result looked liked this.

  • In the photo, all spheres are displayed at once.

Now the little cubes had a happy place to live in.

The Drones

Using Fusion 360 I modeled a drone similar to Parrot AR Drone and imported it to my environment as a .obj file. Propellers and drone were imported separately so the propellers could turn. At first it was quite complicated, but I realized I simply had to use the drone frame’s local coordinates.

The result

At the end I had a simple physics engine, and a couple of drones. The drones are able to be controlled using UDP protocol. This project was used for the Measurement Systems course at the University of Oulu.

Creative Commons License
VirtualDrone Java by University of Oulu is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


Last update: June 7, 2023