[DB-AL] Modélisation de la température du corps humain et du rythme cardiaque pour évaluer la somnolence, dans Unity3D

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Manu-F
Messages : 8
Inscription : 07 Nov 2018 13:12

[DB-AL] Modélisation de la température du corps humain et du rythme cardiaque pour évaluer la somnolence, dans Unity3D

Message par Manu-F » 07 Nov 2018 13:42

Bonjour à toutes et à tous.

Je suis plus ou moins débutant en programmation et j'ai été "parachuté" ( :? ) sur un projet de simulateur de conduite développé en Unity3D/C#.
Ma focalisation est sur l'état physiologique du conducteur et le Use case choisi est celui de la somnolence en conduite. Plusieurs paramètres régulent cette situation. Mais pour plus de simplicité, j'ai choisi de commencer à considérer la température corporelle et le rythme cardiaque du conducteur; pour ajouter plus tard la température ambiante dans la voiture afin de réguler ces paramètres en cas de détection de somnolence (C'est le but).

Vu comment se fait l'évolution de la température corporelle (par exemple), je peine à logiquement modéliser/ écrire un script pour cela (j'avais pensé à Random.Range mais non: trop rapide (on voit rien) mais surtout pas logique par rapport à ce que je disais au début de la phrase).
Pensez-vous pouvoir m'aider, s'il vous plaît? Une idée de script; comment commencer?

Pour info, je veux juste comment on fait ce type de script et je pourrais l'adapter pour le rythme cardiaque et le reste de paramètres que l'on pourrait considérer.

Déjà, merci d'avoir lu en entier ce message et merci d'avance pour les pistes que vous pourriez me donner.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6220
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Modélisation de la température du corps humain et du rythme cardiaque pour évaluer la somnolence, dans Unity

Message par boubouk50 » 07 Nov 2018 14:05

J'ai pas compris ton besoin.
Tu dois décider de la température du conducteur pour activer quelque chose?
Tout est pré-scripté? Ou c'est "aléatoire" dans le sens la température corporelle doit-elle suivre une évolution non programmée?
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [DB-AL] Modélisation de la température du corps humain et du rythme cardiaque pour évaluer la somnolence, dans Unity

Message par djulio74 » 07 Nov 2018 14:14

Salut,
En effet un simple Random.Range es trop brutal pour ton cas.
Il va falloir mettre en jeux le temps :

- définir une variable "température"
- définir une variable " Température cible"
- définir une variable " vitesse changement température"
- donner une valeur aléatoire a " Température cible" dans la fonction start
- Lancer une coroutine pour le changement de température
- tant que la "température" n'est pas assez proche de "température cible", ajouter deltaTime*vitesse à "température"
- si la "température" est assez proche , redéfinir "Température cible" et relancer la coroutine

Du moin c'est comme cela je procederais ;-)

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Manu-F
Messages : 8
Inscription : 07 Nov 2018 13:12

Re: [DB-AL] Modélisation de la température du corps humain et du rythme cardiaque pour évaluer la somnolence, dans Unity

Message par Manu-F » 07 Nov 2018 19:34

boubouk50
Je pars en fait de l'évolution de la température corporelle normale [comprise entre 36° - 38° au courant de la journée] qui oscille autour de 37°c. Je fixe mon temps de départ à 37° et avec une évolution au dixième près et par seconde, je voudrais avoir quelque chose de ce style : 37.1°; 37.2°; 37.3°; 37.4°; 37.3°; 37.2; 37.1°; 37°; 37°; 37°; 36.9°; 36.8°; 36.7°; 36.8°; 36.9°, etc.
Maintenant, vu la taille en terme de distance du simulateur (conduite de voiture), je pense que l'on peut tout parcourir à une vitesse que l'on a décidé comme normale (en dessus de 50Km/h à peu près) en moins de 3 min.
Avec cela, je voudrais en faire ceci : si j'observe une baisse continue et sans évolution de la température pendant un certain temps et sur une portion de la distance parcourue, je voudrais dire que l'on est en situation critique (et considérant ce seul paramètre, un risque de somnolence). C'est cela que je voudrais programmer.
Je ne sais pas si c'est maintenant claire et surtout logique. Des idées?


djulio74
Je trouve que c'est quelque chose que je pourrais explorer ou adapter... Vu l'explication d'en haut, votre technique est elle toujours applicable?

djulio74
Messages : 682
Inscription : 19 Déc 2009 22:55

Re: [DB-AL] Modélisation de la température du corps humain et du rythme cardiaque pour évaluer la somnolence, dans Unity

Message par djulio74 » 07 Nov 2018 19:45

oui je pense toujours applicable. une "vitesse changement température" de 1.0 signifie prendre (ou perdre) un degré en une seconde, donc en jouant sur ce paramètre, peut avoir n'importe que vitesse de variation ( même 1 degré en 3 jours ^^)
"Température" sera au départ fixée à 37.0, et le "Température cible" un random range de 36 a 38, redéfini a chaque fin de coroutine.
Et "température" variera donc aléatoirement dans une plage comprise entre 36 et 38 degrés.

______________________________________________________________
\_______________________ Impossible is nothing _______________________/

Manu-F
Messages : 8
Inscription : 07 Nov 2018 13:12

Re: [DB-AL] Modélisation de la température du corps humain et du rythme cardiaque pour évaluer la somnolence, dans Unity

Message par Manu-F » 07 Nov 2018 21:04

djulio74
parfait. je teste ça et vous tiens au courant si j'avance avec ou pas (comment j'ai décidé d'évoluer)
Merci

Répondre

Revenir vers « (C#) CSharp »