Giter Site home page Giter Site logo

tbohne / vehicle_diag_smach Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 1.0 82.91 MB

Neuro-symbolic anomaly detection and complex fault diagnosis exemplified in the automotive domain.

License: MIT License

Python 98.64% Dockerfile 0.99% Shell 0.37%
fault-diagnosis knowledge-graphs neural-networks neuro-symbolic-ai

vehicle_diag_smach's People

Contributors

tbohne avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

aw40

vehicle_diag_smach's Issues

Apply improvements / bugfixes from `nesy_diag_smach`

  • the vehicle_diag_smach is still not supporting many of the features, e.g., it only uses the first error code leading to some fault path, potentially following ones are ignored
  • additionally, all kinds of bugs that are fixed by now in nesy_diag_smach are still present in vehicle_diag_smach

Remove `PERFORM_DATA_MANAGEMENT` state

  • already part of all the other states (each state performs its own data management)
  • retrieving the latest trained classifier is no longer reasonable, we retrieve them when we know the component (this takes place in the classification states)
  • PERFORM_DATA_MANAGEMENT state was born with the idea that we communicate all the data we obtain during diagnosis to some server, but actually more and more of this is either shifting to the individual states, or the info is not stored on some external server, but in the KG

Implement all aspects as part of other states - systematically:

  • retrieving latest version of trained classifier from server
  • reading customer complaints from session files + uploading
  • reading OBD data from session files + uploading
  • reading historical info from session files + uploading
  • reading user data from session files + uploading
  • reading XPS interview data from session files + uploading

Termination criterion in diagnostic loop

  • the smach ends with the first detected anomaly that has been isolated, it doesn't continue with potential remaining DTCs - should it?
  • it is conceivable that the remaining DTCs should also be examined, even if anomalies have already been detected

Compatibility issues

  • update all the requirements.txt + setup.py in the dependencies
  • works with Python 3.8 and tf-keras-vis 0.8.5
  • verified with fresh Python env on Windows and Ubuntu

Fehlermeldung diagnostics-Service Werkstatt Hub

Edit: @T-Thurow veröffentlicht später nochmal ein Issue, das hier ist scheinbar nicht so hilfreich. :D

@tbohne Wir haben aktuell Probleme mit dem Start des diagnostics-Services in unserem Werkstatt-Hub. @sply88 hat dieses Repository hier in der dazugehörigen requirements.txt referenziert:

redis==4.5.4
celery==5.2.7
httpx==0.23.3
pydantic==1.10.5
git+https://github.com/tbohne/vehicle_diag_smach@4c2b043ef336a58471f652c8199efefa3aef84e6

Leider failed die Installation mit der folgenden Fehlermeldung:

hgtfredwsa

Und das Repository wird anschließend nicht gefunden:

uhzgtfrdes

@T-Thurow hat gemutmaßt:

"Ich denke das Problem liegt bei dem vehicle_smach python Modul von Tim. @sply88 hat zwar das Packet auf einen bestimmen commit fest geschrieben aber das klappt nicht weil Tim das bei sich in der requirements nicht macht sondern immer den letzten commit verwendet. Dann laufen die die Versionen auseinander."

Dynamic model selection based on suspect component

  • replace hard-coded model with coded (with suspect component) pool of models
  • select model based on considered component
  • corresponding component coded in filename
  • component name has to precisely match the component_name field of the corresponding SuspectComponent

KG extension (diag level)

Implement KG enhancements based on information collected during diagnosis, i.e. application of the state machine:

  • Vehicle with HSN, TSN, VIN, model
  • DiagLog with max_num_of_parallel_rec, date
  • createdFor relation between DiagLog and Vehicle
  • appearsIn relation between DTC and DiagLog
  • entails relation between DiagLog and FaultPath
  • FaultPath with path_description
  • resultedIn relation between FaultCondition and FaultPath
  • ParallelRecOscillogramSet
  • partOf relation between Oscillogram and ParallelRecOscillogramSet
  • Oscillogram with time_series
  • classifies relation between OscillogramClassification and Oscillogram
  • OscillogramClassification with model_id and uncertainty and prediction
  • produces relation between OscillogramClassification and Heatmap
  • Heatmap with generation_method and generated_heatmap
  • ManualInspection with prediction
  • reasonFor between two Classification instances
  • checks relation between Classification instance and SuspectComponent
  • ledTo relation between DiagnosticAssociation and Classification
  • diagStep relation between Classification instance and DiagLog

Using version tags in python requirements

The requirements.txt currently references the upstream version of obd_ontology and oscillogram_classification which are prone to change.

It would be better to reference specific version tags or commit hashes to keep older commits build clean in case there are API changes for obd_ontology oroscillogram_classification.

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.