Skip to content

VladLiteanu/DIT638-Cyberphysical

 
 

Repository files navigation

2022-group-04

Name

DIT638 - Cyber Physical Systems and Systems of Systems Group 4

Introduction

This repository contains Group 4's the source files to a microservice used to generate steering wheel angle based on video feedback for DIT638 Cyber Physical Systems and Systems of Systems at the University of Gothenburg.

License

MIT

Technologies used

Prerequisites

NOTE: Click the respective prerequisite to see installation steps

Getting started

  1. To get started, create a folder and go to it
mkdir group_4
cd group_4
  1. Clone the repository:
git clone [email protected]:courses/dit638/students/2022-group-04.git
  1. Go to the source files:
cd 2022-group-04/src
  1. From there, run OpenDLV Vehicle View:
docker run --rm --init --net=host --name=opendlv-vehicle-view -v $PWD:/opt/vehicle-view/recordings -v /var/run/docker.sock:/var/run/docker.sock -p 8081:8081 chalmersrevere/opendlv-vehicle-view-multi:v0.0.60

You can then go to http://localhost:8081/ to select and run any of the available videoclips

  1. In another terminal, build the OpenDLV H264 decoder:
docker build https://github.com/chalmers-revere/opendlv-video-h264-decoder.git#v0.0.4 -f Dockerfile.amd64 -t h264decoder:v0.0.4
  1. Then run the following commands:
xhost + 
docker run --rm -ti --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp:/tmp h264decoder:v0.0.4 --cid=253 --name=img
  1. Via a third terminal, to start our microservice go to the 2022-group-04 folder and run the following commands:
docker build -f Dockerfile -t my-opencv-example .
docker run --rm -ti --net=host --ipc=host -e DISPLAY=$DISPLAY -v /tmp:/tmp my-opencv-example:latest --cid=253 --name=img --width=640 --height=480 --verbose 

You should now be able to see the generated steering angle for a given timestamp whenever you run a video through OpenDLV Vehicle View.

New features process

  • Create an issue that addresses a requirement and assign it to one of the engineers.
  • Implement the solution on our local machines.
  • Create a new branch with an appropriate and descriptive name and description.
  • Create a merge request with the associated issue and await a review.
  • After the review process is complete and the merge request gets approved, we merge.

Bug fixing process

  • Create an issue with a bug tag and assign it to a developer.
  • When the bug has been fixed, we create a new branch and create a merge request.
  • After the review process is complete and the merge request gets approved, we merge.
  • Once an issue is found by a developer in a committed branch, the bug tag is selected to be seen by the group.

Commit message structure

  • The contents of the title shall contain a descriptive and short summary of the main changes using the imperative form (ie. Add counter to the home page). The title should not be longer than 50 characters.
  • The body of said comment shall contain a simple but descriptive technical description of modified code such that the changes can be easily understood. It should also include a description of any smaller changes or modifications.

Authors and acknowledgment

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.4%
  • CMake 1.3%
  • Dockerfile 0.3%