This project was the bachelor thesis of Bjørnar Alvestad, Benjamin Odland Skare and Erlend Lone. Our goal was to make a learining tool for automation/electrical engineering students at Western Norway University of Applied Science. The physical car we made has ultrasonic sensors and a LiDAR for measuring distance to obstacles and it has encoders that is used to determine the speed of the car and the distance travelled. HVL SensorVehicle Simulator was made so that the students could test their control logics without having the physical car present.
SensorVehicle-main (UWP app, C#, XAML)
-
Extension that makes it easier to create UWP apps Windows Template Studio
-
MVVM framework Prism
Simulator-2D (UWP app, C#, XAML)
-
Game developement framework MonoGame
-
Simple 2D camera for Monogame Comora
-
Map editor Tiled
-
Importer for Tiled maps TiledSharp
SensorVehicle-extras (UWP app, C#, XAML, JavaScript, CSS, HTML)
- Starting point for webcam streaming HttpWebcamLiveStream
Android app for remote control (Java - Android Studio)
Code for microcontrollers (C++ - Visual Micro)
To fully use HVL SensorVehicle Main and write your own control logic you need to:
- For writing your own control logic:
git clone https://github.com/BjAlvestad/BO19E-15_SensorVehicle-Simplified.git
- For access to the entire software:
git clone https://github.com/BjAlvestad/BO19E-15_SensorVehicle.git
- Install HVL SensorVehicle Simulator from Microsoft Store
- Open SensorVehicle-main.sln and navigate to one of the StudentXX.cs-files
The above example shows how one can make the car drive towards the largest distance reported by the LiDAR.
To write your own control logic, navigate to the files in the picture below.
The different StudentXX.cs-files contains instruction where to write the control logic.
An overview of the different control logics from the shown .cs-files will appear in the student logic page.
The different version of the car that was made are shown in the pictures above.
The first version was made to get the different hardware components to work.
The second version was made fully functional. The complete software was made by using this version of the sensor vehicle.
The third and final version was made even more solid than the second version. The brackets were 3D-printed and the sheet were cut with laser cutter.
For more information about the development process and a detailed user manual, see Bachelor thesis document (Norwegian)
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
- This README is based on othneildrew's Best-README-Template