Giter VIP home page Giter VIP logo

dat255's People

Contributors

angermark avatar badaam avatar hej2010 avatar hugfro avatar kadric94 avatar kirez avatar knya avatar linusberglund avatar papihax avatar tagonice avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dat255's Issues

Java API specification

As developers we want to specify a Java API to communicate with the MOPED. This way we can implement software while the hardware communication is still in the works.

DoD: create a java interface with relevant methods. The interface itself will be implemented by the hardware-team.

Write Java method to get odometer value from VCU

As a developer implementing the velocity control part of the adaptive cruise control system I need a Java interface to read the odometer

DoD: Calling the method should return the speed in cm/s based on the latest recorded values

Visualize platooning state machine

As developers we want to visualize the state machine for platooning.

It should cover possible states in platooning. As a follower and as driver

This should be done to get a clear view on how the program should operate

Read documentation on the MOPED

As developers we want to know the current software status of the MOPED.

DOD: Everyone in the group should have a view of how the current code is implemented and what exists.

Read data from distance sensor using plugin

As a developer I want to be able to read data from the distance sensors on our MOPED so it can be seen how far ahead of us a object is.

Tasks:
-Familiarizing with the hardware and the existing software enough to write a reliable program.
-Write the program.
-Create the plugin.
-Test the plugin on the simulator. This will probably not work due to the limited utility of the simulator, but will give a sense of compatibility with the MOPED later on.

DOD: A prototype plugin is written and tested in the simulator.

Create a control system for steering

As developers we want the MOPED to be able to adjust its lateral course based on data from images taken by the camera so that the MOPED can follow other MOPEDs.

DoD: The MOPED aligns itself laterally with the preceding car

Read Moped Documentation

As developers we want to know the current software status of the MOPED.

DOD: Everyone in the group should have a view of how the current code is implemented and what exists.

The MOPED can stop at obstacles

As developers we want the MOPED to stop before it runs into an obstacle as a first step towards platooning.

Tasks:
-Using the existing software, create a program that stops the MOPED when detecting an immovable obstacle.
-Create plugin and send onto RPi.
-Test plugin.

DoD: The moped stops when detecting an immovable obstacle.

Adaptive Cruise Control (longitudinal control)

As a product owner I want the car to be able to accelerate and decelerate based on the cars ahead or behind.

DoD: We can accelerate and decelerate whilst being in cruise control(fixed speed).

Keep a distance to the MOPED in front

As developers we want the MOPED to be able to keep distance to the MOPED in front of ours, so that we can prevent collision when the vehicle is in platooning mode.

DOD: Combine the read data from sensor and set a fixed distance to moped in front programs, so that our MOPED can successfully be in platooning mode.

Java implementation of a control system

As developers we want to have software that regulates the velocity of the car based on input from the sensor, so that the speed will be more controllable.

DoD: The function returns a stable output when given values on a set interval.

UDP implementation

As a developer I want to be able to send and receive data between the MOPED and a app/computer.

DOD: Being able to send and receive data over the internet from and to our MOPED.

Try to use a local python script on the MOPED

As developers, we want a backup solution if we can't get the plugin server to work. We want to be able to use python scripts that can communicate directly with the CAN bus on the MOPED.

DoD: successfully used an existing python script (e.g. run.py)

Drive forwards/backwards in the simulator using plugin(s)

As developers we want to be able to drive the MOPED forwards and backwards with the help of one or several plugins. We first test the drive mode in the simulator.

Tasks:
-Familarize with the other plugins and additional software enough to create a program.
-Write the program.
-Create plugin.
-Test on the simulator.

DOD: We can successfully drive forwards and backwards in the simulator using plugin(s).

Set a fixed distance to the MOPED in front

As a developer I want to be able to se a fixed distance(Int) between our MOPED and the MOPED in front of ours.

DOD: We can follow a moped with a fixed distance infront of us.

Setup IDE

As a team we want each team member to have a working development environment to be able to contribute to the project. We don't want this to hinder our progress.

DoD: each team member have successfully setup their development environment

Broker hardware communication api specification

As a team working on either the SW or HW side we need a unified vision of how each hardware access method should be named as well as how in which manner of Java classes they should be structured into. The team also must be in agreement of which communication model the hardware access methods should apply. direct access vs event driven. If direct access should a call block until new sensor data is available or should the latest value be returned?

Drive forwards/backwards the MOPED using plugin

As developers we want to be able to drive the MOPED forwards and backwards autonomously with the help of one plugins.

Tasks:
-Familiarize with the plugin created for the simulator.
-Implement the plugin to the MOPED vehicle.

DOD: We can successfully drive forwards and backwards the MOPED using a plugin.

Setup Git

As developers we want a working git setup for the group so that we can work on the project in paralell.

Every member shall add their names in README.md and push to repository.

DoD: Every member writes their name in the README.txt.

Set up plugin server

Set up a server so we can send plugins to the MOPED.

Tasks:
The tasks are described in the moped.txt document.

DOD : Being able to at least send one plugin to the server and update the MOPED

Set motor voltage

As developers we want to be able to set a constant MOPED-motor voltage to keep a fixed speed. This way we can achieve one part of the Adaptive Cruise Control-theme.

DoD: the MOPED can be run in a specific motor voltage.

Send a pre-made plugin to the server

As developers, we want to make sure the plugin system is working as intended. The MOPED have numerous existing plugins.

DoD: an existing plugin of our choice can be used by the MOPED.

Write document about the work so far(D3)

As developers we want to evaluate the project when it's halfway done, so that we can learn a lesson for the next time.

DoD: Complete the assignment before due deadline.

Read data from sensor

As developers we want to be able to read data from the distance sensors on our MOPED, so that we can see how far ahead of us a object(MOPED) is located. It is necessary that we can slow down the vehicle to be able to have smooth platooning.

Tasks:
-Familiarizing with the software implementation and the existing code enough to write a reliable program.
-Write the program and complete testing.

DOD: A program written that can successfully read values from the vehicle sensors.

Put together the features for ACC

As developers we want to put together the features we developed for the ACC, so that the MOPED can automatically adjust its speed to keep a safe distance from other MOPED(s) in the simulator.

DoD: All interfaces and regulator(s) to run the ACC are put together into an ACC-class.

Check speed

As a developer we want to be able to constantly check the speed that the moped is going in.

DoD: We can view the speed that the moped is having.

Create domain UML

As developers we want to create a domain UML, so that we can very easily get an overview of our classes or functions.

DOD: An understandable UML diagram created.

Set a fixed speed

As a developer we want to be able to set a fixed speed on our MOPED.

DOD: We can drive the car automatically with a fixed speed.

CAN Interface

As developers we need an interface to use in our code so that we can control the MOPED

DoD: Be able to send and receive messages via the CAN-bus.

Create a MOPED simulator

As developers, we want to have a modular simulator that can simulate the ACC between 2 or more mopeds so that we can test our control systems without access to the hardware.

DoD: A working simulator that we can use to adjust our Control System variables.

Upload code to RPi

As developers we want to find a unified way to upload code to the RPi, so that we can take a step closer to be able to run code on RPi.

DoD: Code is successfully uploaded to RPi. There should be at least two persons who can do this process.

Car recognition - prestudy

As developers, we want to examine our options for implementing platooning using the provided camera so that we can plan our future software implementation.

DoD: A small presentation for the rest of the group explaining the requirements and possible challenges implementing car recognition.

Set distance

As developers we want to be able to set the distance for the MOPED-car, so that we can keep a desired distance.

DoD: Set a desired distance for the MOPED-car.

Send a self-made plugin to the server

As developers, we want to make sure our own code works in a foreign environment and we know how to use the plugin system.

DoD: our self-made plugin can be used on the MOPED.

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.