Code Monkey home page Code Monkey logo

nsqd's Introduction

NSQD

NoStoneQuadDrone (NSQD) is a 4th semester project by Group 463 on Aalborg University. This project is made for the curriculum 'Interaction with Surroundings' on the bachelor 'Robot Technology' of the 2024 class.

Dependencies

The code in this repository was made using the following dependencies:

OpenCV Version

Project Scope

The scope of this project is to find and solve a real world problem with the use of an autonomous drone. As stated in the learning objectives of the curriculum the project must demonstrate the ability to design and implement simple robot mechanism like sensor usage, actuators and computer hardware as well as software.

Contributors

This project was developed by group 463 on Aalborg University, Robot Technology at 3rd semester.


Gustav Bay Baastrup

🤖

Thor Iversen

👨‍🌾

Kasper Lauritsen

🎥

Silas Jensen

😎

Nikolaj Bjørnager Krebs

🤠

Special Thanks

The group would like to thank J. J. Rus for helping with networking concepts, providing networking code and general advising on good practice in the field of TCP networking in C++.

License

This project is licensed under the terms of the Creative Commons Attribution 4.0 International License.

nsqd's People

Contributors

nikobk avatar thor2643 avatar xdkazer avatar silasjensen2001 avatar gustav-bay avatar

Watchers

 avatar

nsqd's Issues

Unreadable String (Server -> Client)

When writing a string from the server (linux) to the client (windows) the buffer is going to contain 4 random bytes in the end of the buffer.
The buffer contains a short (3 bytes) that write the length of the string which works fine. The string characters in themselves convert fine however 4 unset bytes are always set for some reason.

This bug occured in instances where SendError() was used on the backend, it happens regardless of what string is sent and where SendError() is called from.

This only happens when a string is sent from server to client. Client to server strings work fine.

Float parsing

Floats when written using htonl from the client (windows) and read using ntohl on the server (linux) will remove any decimals, interpreting a float as a int where 1.9 would become 1.
Floats when written using htonf from the client (windows) and read using ntohl on the server (linux) will be read as 0 regardless of conditions.

Current float values sent from client to server is temporarily written as strings and converted to floats on the server.

New Graphics Backend

The version of the project that was handed in was made with a DirectX9 graphics backend which has proved to be challenging for creating and rendering textures from a byte stream.
This issue aims to address this as an issue that can be fixed by swapping out the backend with OpenGL or possibly rewriting the entire frontend on the OpenGL backend.

Video Byte Stream

This issue aims to address the current lack of a video frame byte stream message implementation that allows the backend (drone application) to send video frames of any resolution preferably above 800x600 over the custom protocol (TCP transport).

This implementation should be tested with 1920x1080 resolution that is about 6 million bytes which would be an interesting test.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.