changed 3 years ago
Published Linked with GitHub

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →

github.com/dora-rs/dora




Xavier Tao, tao.xavier@outlook.com
Nov 17, 2022


Objectif du projet

If we were to rewrite ROS today, what would it look like?

  • Introduire un nouveau framework de robotique avec:

    • Minimiser la latence de communication
    • Maximiser la composabilité
    • Améliorer l'ergonomie par rapport ROS/ROS2

COMMUNICATION

  • Utilisation de shared memories pour les communications inter-process.

tcp: Average duration: 44.391 us
shared memory: Average duration: 0.238 us
Message size: 128 bytes
See: https://stackoverflow.com/questions/2854004/ipc-speed-and-compare

  • Utilisation de zenoh pour les communications en système distribué

  • Minimisation du nombre de copies des données


COMPOSABILITE

  • Utilisable sur Python, Rust, C, C++
  • Réutilisation d'operateur existant similaire à dockerhub.

Exemple de demo Python: https://github.com/mikel-brostrom/Yolov5_StrongSORT_OSNet/blob/master/track.py


communication:
  iceoryx:
    app_name_prefix: dora-iceoryx-example

nodes:
  - id: webcam
    custom:
      run: ../../physicals/webcam.py
      inputs:
        timer: dora/timer/millis/100
      outputs:
        - image

  - id: yolov5
    operator: 
      outputs:
        - bbox
      inputs:
        image: webcam/image
      python: ../../operators/yolov5_op.py

  - id: strong_sort
    operator: 
      outputs:
        - obstacles_id
      inputs:
        image: webcam/image
        obstacles_bbox: yolov5/bbox
      python: ../../operators/strong_sort_op.py

  - id: plot
    operator:
      python: ../../physicals/plot.py
      inputs:
        image: webcam/image
        obstacles_bbox: yolov5/bbox
        traffic_sign_bbox: traffic_sign/bbox
        lanes: yolop/lanes
        drivable_area: yolop/drivable_area
        obstacles_id: strong_sort/obstacles_id

Extensibilité

Opentelemetry Tracing

Protocol de tracing en système distribué dans plusieurs langages.

Opentelemtry: https://opentelemetry.io/docs/concepts/signals/traces/
Jaeger: https://www.jaegertracing.io/docs/1.21/opentelemetry/


Opentelemetry Metrics


DB supportant opentelemetry

  • Datadog
  • Prometheus
  • InfluxDB

Future Cloud Native integration: AWS S3, IAM, HashiCorp Vault, Keycloack, Docker, Kubernetes,


Ergonomy

Simple installation

wget https://github.com/.../dora-<version>-x86_64-Linux.zip
unzip dora-<version>-x86_64-Linux.zip
PATH=$PATH:$(pwd):$(pwd)/iceoryx
dora --help

Readable description

communication:
  zenoh:
    prefix: /abc_project

nodes:
  - id: webcam
    operator:
      python: https://raw.githubusercontent.com/dora-rs/dora-drives/main/operators/webcam.py
      inputs:
        tick: dora/timer/millis/100
      outputs:
        - image
  - id: plot_window
    operator:
      python: https://raw.githubusercontent.com/dora-rs/dora-drives/main/physicals/plot.py
      inputs:
        image: op_1/image

Command line program

dora up 
dora start dataflow.yml

Questions?


Comment pouvons nous avancer ensemble?

  • Vous aider à accomplir des projets ambitieux.
  • Développer le Campus de CentraleSupelec, l'infrastructure existente
  • Créer des partenariats internationaux avec CentraleSupelec. Huawei, c'est 22 Milliard $ de Budget R&D. En comparaison Safran, c'est 1,2 Milliard $ de budget R&D.

Projet d'une voiture autonome


Essai IRL

https://www.instagram.com/p/CkquyYJJb4y/

Select a repo