# Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome

Bertrand Barbedette, Toufik Azib, Judicaël Aubry, Imen Miladi

► To cite this version:

Bertrand Barbedette, Toufik Azib, Judicaël Aubry, Imen Miladi. Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome. SGE 2016, Jun 2016, Grenoble, France. hal-04583683

HAL Id: hal-04583683

https://hal.science/hal-04583683

Submitted on 22 May 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome

Bertrand Barbedette, Toufik Azib, Judicaël Aubry, Imen Miladi

► To cite this version:

Bertrand Barbedette, Toufik Azib, Judicaël Aubry, Imen Miladi. Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome. SGE 2016, Jun 2016, Grenoble, France. hal-04583683

HAL Id: hal-04583683

https://hal.science/hal-04583683v1

Submitted on 22 May 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/332029648

# Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome.

Conference Paper · June 2016

CITATION

1

READS

421

5 authors, including:

<figure><img src="image_2.png" /></figure>

Judicael Aubry

Université de Rennes 1

39 PUBLICATIONS

518 CITATIONS

SEE PROFILE

<figure><img src="image_3.png" /></figure>

Bertrand Barbedette

Ecole Supérieure des Techniques Aéronautiques et de Construction Automobile

48 PUBLICATIONS

276 CITATIONS

SEE PROFILE

<figure><img src="image_4.png" /></figure>

Toufik Azib

Ecole Supérieure des Techniques Aéronautiques et de Construction Automobile

89 PUBLICATIONS

810 CITATIONS

SEE PROFILE
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/332029648

# Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome.

**Conference Paper** · June 2016

CITATION

1

READS

421

5 authors, including:

<figure><img src="image_2.png" /></figure>

Judicael Aubry

Université de Rennes 1

39 PUBLICATIONS

518 CITATIONS

SEE PROFILE

<figure><img src="image_3.png" /></figure>

Bertrand Barbedette

Ecole Supérieure des Techniques Aéronautiques et de Construction Automobile

48 PUBLICATIONS

276 CITATIONS

SEE PROFILE

<figure><img src="image_4.png" /></figure>

Toufik Azib

Ecole Supérieure des Techniques Aéronautiques et de Construction Automobile

89 PUBLICATIONS

810 CITATIONS

SEE PROFILE
# Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome.

Judicaël AUBRY, Imen MILADI, Bertrand BARBEDETTE, Toufik AZIB

ESTACA'LAB, S2ET Energy and Embedded Systems for Transportation

ESTACA Campus Ouest - Rue George Charpak 53061 Laval

judicael.aubry@estaca.fr

**RESUME** – De nouveaux type d'assistance électrique paraissent sur le marché du cycle. Elles offrent de nouvelles possibilités en termes de gestion d'énergie. Nous présentons dans cet article une méthode d'optimisation de la gestion d'énergie, basée sur la programmation dynamique, se basant sur la connaissance *a priori* du parcours. Cela permet de disposer d'une assistance électrique autonome, c'est à dire fournissant, en moyenne, une puissance nulle et ne nécessitant donc pas d'être rechargée. Les résultats montrent qu'il est possible d'optimiser le potentiel énergétique du cycliste afin de minimiser à la fois le temps de parcours et son niveau de fatigue.

*Mots-clés – Véhicule à propulsion humaine, Gestion de l'énergie humaine, Contrôle optimal, Programmation dynamique*

## 1. INTRODUCTION

### 1.1. L'assistance électrique autonome

Un précédent article [1] nous a permis d'introduire le concept d'hybridation série appliquée à l'assistance électriques des vélos ou plus largement à celle des véhicules à propulsion humaine [2].

Récemment, nous pouvons voir apparaître, sur le marché du cycle, de nouveaux concepts d'assistance électrique et notamment certains que l'on pourrait qualifier d"hybrides non plug-in", par transposition des termes utilisés dans le domaine automobile. Nous utiliserons dans cet article le terme d'**assistance électrique autonome**. L'objectif d'une assistance électrique autonome est de pouvoir fournir à certains moments d'un parcours, une assistance à l'effort, mais d'un point de vue global, l'énergie utilisée ne provient que du cycliste (énergie humaine), du freinage (énergie cinétique) ou d'une descente ( potentiel).

<figure><img src="image_5.png" /><figcaption>Flux d'énergie dans un VAE autonome</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>Fig. 1. Représentations des flux d'énergie possibles dans les VAE actuels et dans les VAE dotés d'une assistance électrique autonome.</figcaption></figure>

A titre d'exemple, une société italienne, ZEHUS, qui est une spin-off de l'école polytechnique de Milan, développe actuellement un hub (package s'insérant au niveau du moyeu de la roue arrière), le BIKE+, pour roue de vélo, contenant une batterie, un convertisseur électronique de puissance et un moteur

électrique... mais pas de prise de recharge [3] ! Des fabricants adaptent ce hub aussi bien sur des vélos, que sur des trottinettes par exemple. L'architecture électrique du BIKE+, développé par ZEHUS, est du type hybride parallèle et le rapport de transmission pédalier-roue est fixe (vélo de type "fixie"). Cela implique que la cadence de pédalage est forcément liée à la vitesse d'avance, ce qui ne serait pas forcément le cas avec une architecture de type série ou bien encore série-parallèle.

<figure><img src="image_7.png" /><figcaption>Fig. 2. Vue éclatée du BIKE+ développé par ZEHUS</figcaption></figure>

Comme nous l'avions déjà présenté dans [1], des solutions d'assistance électrique autonome avec une architecture série ou bien encore série-parallèle ont également déjà été proposées dans la littérature, mais n'ont pas encore trouvé de place sur le marché.

### 1.2. L'utilisation de la programmation dynamique pour l'optimisation de la gestion d'énergie dans un système de traction hybride

Le fait de disposer d'une assistance électrique autonome sur un cycle implique de pouvoir gérer en temps réel les flux d'énergie, en particulier afin de maintenir l'état de charge du système de stockage dans des niveaux admissibles. En effet, contrairement à une assistance électrique classique que l'on peut recharger sur le secteur, la puissance moyenne fournit par le système de stockage doit être nulle.

Des algorithmes basés sur la programmation dynamique ont été assez largement utilisés, avec succès, dans le contexte des véhicules automobiles hybrides pour optimiser cette gestion d'énergie embarquée. Généralement, le problème posé est celui de l'optimisation du taux d'hybridation (rapport de la puissance électrique fournie sur la puissance motrice totale), ceci afin de minimiser la consommation globale du moteur thermique. Cette
# Optimisation de la gestion d'énergie d'un véhicule à propulsion humaine à assistance électrique autonome.

Judicaël AUBRY, Imen MILADI, Bertrand BARBEDETTE, Toufik AZIB

ESTACA'LAB, S2ET Energy and Embedded Systems for Transportation

ESTACA Campus Ouest - Rue George Charpak 53061 Laval

judicael.aubry@estaca.fr

**RESUME** – De nouveaux type d'assistance électrique paraissent sur le marché du cycle. Elles offrent de nouvelles possibilités en termes de gestion d'énergie. Nous présentons dans cet article une méthode d'optimisation de la gestion d'énergie, basée sur la programmation dynamique, se basant sur la connaissance *a priori* du parcours. Cela permet de disposer d'une assistance électrique autonome, c'est à dire fournissant, en moyenne, une puissance nulle et ne nécessitant donc pas d'être rechargée. Les résultats montrent qu'il est possible d'optimiser le potentiel énergétique du cycliste afin de minimiser à la fois le temps de parcours et son niveau de fatigue.

*Mots-clés – Véhicule à propulsion humaine, Gestion de l'énergie humaine, Contrôle optimal, Programmation dynamique*

## 1. INTRODUCTION

### 1.1. L'assistance électrique autonome

Un précédent article [1] nous a permis d'introduire le concept d'hybridation série appliquée à l'assistance électriques des vélos ou plus largement à celle des véhicules à propulsion humaine [2].

Récemment, nous pouvons voir apparaître, sur le marché du cycle, de nouveaux concepts d'assistance électrique et notamment certains que l'on pourrait qualifier d"hybrides non plug-in", par transposition des termes utilisés dans le domaine automobile. Nous utiliserons dans cet article le terme d'**assistance électrique autonome**. L'objectif d'une assistance électrique autonome est de pouvoir fournir à certains moments d'un parcours, une assistance à l'effort, mais d'un point de vue global, l'énergie utilisée ne provient que du cycliste (énergie humaine), du freiage (énergie cinétique) ou d'une descente ( potentiel).

Flux d'énergie dans un VAE actuel

<figure><img src="image_5.png" /><figcaption>Fig. 1. Représentations des flux d'énergie possibles dans les VAE actuels et dans les VAE dotés d'une assistance électrique autonome.</figcaption></figure>

Flux d'énergie dans un VAE autonome

<figure><img src="image_6.png" /></figure>

A titre d'exemple, une société italienne, ZEHUS, qui est une spin-off de l'école polytechnique de Milan, développe actuellement un hub (package s'insérant au niveau du moyeu de la roue arrière), le BIKE+, pour roue de vélo, contenant une batterie, un convertisseur électronique de puissance et un moteur

électrique... mais pas de prise de recharge [3] ! Des fabricants adaptent ce hub aussi bien sur des vélos, que sur des trottinettes par exemple. L'architecture électrique du BIKE+, développé par ZEHUS, est du type hybride parallèle et le rapport de transmission pédalier-roue est fixe (vélo de type "fixie"). Cela implique que la cadence de pédalage est forcément liée à la vitesse d'avance, ce qui ne serait pas forcément le cas avec une architecture de type série ou bien encore série-parallèle.

<figure><img src="image_7.png" /><figcaption>Fig. 2. Vue éclatée du BIKE+ développé par ZEHUS</figcaption></figure>

Comme nous l'avions déjà présenté dans [1], des solutions d'assistance électrique autonome avec une architecture série ou bien encore série-parallèle ont également déjà été proposées dans la littérature, mais n'ont pas encore trouvé de place sur le marché.

### 1.2. L'utilisation de la programmation dynamique pour l'optimisation de la gestion d'énergie dans un système de traction hybride

Le fait de disposer d'une assistance électrique autonome sur un cycle implique de pouvoir gérer en temps réel les flux d'énergie, en particulier afin de maintenir l'état de charge du système de stockage dans des niveaux admissibles. En effet, contrairement à une assistance électrique classique que l'on peut recharger sur le secteur, la puissance moyenne fournit par le système de stockage doit être nulle.

Des algorithmes basés sur la programmation dynamique ont été assez largement utilisés, avec succès, dans le contexte des véhicules automobiles hybrides pour optimiser cette gestion d'énergie embarquée. Généralement, le problème posé est celui de l'optimisation du taux d'hybridation (rapport de la puissance électrique fournie sur la puissance motrice totale), ceci afin de minimiser la consommation globale du moteur thermique. Cette
optimisation est généralement effectuée avec un profil de vitesse comme donnée d'entrée [4]. Le temps de parcours est donc figé dans ces approches.

Dans le contexte de l'optimisation de la gestion d'énergie d'un cycle à assistance électrique autonome, il n'est pas forcément adapté d'imposer un profil de vitesse et par conséquent un temps de parcours, ce dernier dépendant essentiellement de la puissance moyenne fournie par le cycliste. En effet, cette puissance n'est pas une grandeur directement contrôlable par un système de gestion car elle résulte seulement d'une volonté du cycliste. Ainsi, nous préférons poser le problème de gestion d'énergie de façon différente, en n'imposant pas le profil de vitesse, mais simplement un profil de pente sur un trajet à parcourir. Cette hypothèse de travail est parfaitement envisageable sur le terrain dans le contexte où le cycliste renseignerait à l'avance son point d'arrivée dans un système de navigation, à l'instar du système Nyon développé par Bosch. La vitesse instantanée le long du parcours devient alors un résultat de l'algorithme d'optimisation. Ce type d'approche, original dans ce contexte, se rapporte de ce qui a déjà été proposé dans [6].

## 2. OPTIMISATION DE LA GESTION DE L'ÉNERGIE DANS UNE ARCHITECTURE DE TYPE HYBRIDE SÉRIE

### 2.1. Architecture série d'une assistance électrique autonome

Une assistance électrique autonome, telle que définie au paragraphe 1.1, avec une architecture série est composée de différentes parties :

**une génératrice-pédalier** qui convertit la puissance mécanique humaine en puissance électrique. Le cycliste joue donc un rôle analogue à celui du moteur thermique d'un véhicule automobile hybride. Il peut pédaler à cadence régulée et fournir une puissance qui peut être monitorée (ex : affichage de la puissance à la vue du cycliste et régulation par bio-feedback)

**un système de stockage d'énergie** qui joue un rôle de tampon énergétique entre la génératrice-pédalier et le moteur-roue. Comme nous nous plaçons dans le contexte d'une assistance autonome, ce système de stockage d'énergie n'a pas vocation a être rechargé sur le secteur et doit fournir (hors pertes) une puissance électrique moyenne nulle.

**un moteur-roue** qui propulse le cycle. Dans une architecture de type série, seul ce moteur participe à la propulsion, le pédalier n'étant pas mécaniquement relié à la roue. Il y a donc un découplage mécanique total entre la cadence de pédalage et la vitesse d'avance, ce qui peut être perturbant en termes de relations habituelles entre la perception et l'action.

### 2.2. Formulation du problème d'optimisation de la gestion d'énergie

#### Notations

* $x$ distance parcourue depuis le début du trajet en m

* $z(x)$ profil d'élévation du trajet en fonction de la distance parcourue en m

* $T_{mot}$ couple moteur ramené à la roue en Nm

* SOE état d'énergie du système de stockage, sans unité

* $M_{cyc}$ masse du cycle et du cycliste en kg (typ : 100kg)

* $v_{cyc}$ vitesse du cycle en m/s

* $R_{wheel}$ rayon des roues en m (typ : 0, 3m)

#### Formulation

Le problème de contrôle optimal de la gestion d'énergie dans le cas d'une architecture série peut être décrit avec :

**Une variable de contrôle** : Nous considérons ici le couple fourni par le moteur-roue, noté $T_{mot}(x)$ comme une variable de contrôle suffisante.

**Un critère d'optimisation** : Il s'agit de déterminer pour un trajet $z(x)$ donné, la commande optimale $T_{mot}^*(x)$ permettant de minimiser l'énergie fournie par le cycliste. Nous ferons l'hypothèse que ce dernier décide de pédaler à puissance constante, ce qui est envisageable car il pédale sur un système mécaniquement découplée du système de propulsion. Minimiser l'énergie fournie par le cycliste revient dans ce dernier cas à minimiser le temps de parcours.

#### Deux variables d'état :

1. l'état d'énergie du système de stockage d'énergie $SOE(x)$

2. la vitesse du cycle $v_{cyc}(x)$

Comme précisé ci-dessus, à puissance de pédalage constante, la minimisation de l'énergie fournie par le cycliste revient à la minimisation du temps de parcours sur le trajet donné. Cet objectif de temps de parcours sur un trajet $z(x)$, compris dans un intervalle $[0; X_{end}]$, peut être calculé à partir du profil de vitesse $v_{cyc}(x)$ :

$$t_{trip} = \int_{0}^{X_{end}} \frac{1}{v_{cyc}(x)} dx \quad (1)$$

Ainsi, un des résultats de cette optimisation est le profil de la variable de contrôle à chaque position du parcours $T_{mot}^*(x)$ :

$$T_{mot}^*(x) = \arg \min \int_{0}^{X_{end}} \frac{1}{v_{cyc}(x)} dx \quad (2)$$

sous les contraintes suivantes :

- l'évolution des variables d'état est contrainte par les équations différentielles discrétisées qui sont précisées dans le paragraphe 2.3.

- l'état d'énergie du moyen de stockage SOE doit être maintenu entre 0 et 1

- le couple moteur $T_{mot}$ est borné entre deux limites $[-T_{max}; T_{max}]$ et la puissance moteur $P_{mot} = \frac{T_{mot}v_{cyc}}{R_{wheel}}$ entre $[-P_{max}; P_{max}]$

- l'état de charge initial $SOE(0)$ doit être égal à l'état de charge final $SOE(x = x_{final})$, sachant que nous ne considérerons que des trajets de type "aller-retour", c'est à dire vérifiant $\forall h z(\frac{x_{final}}{2} - h) = z(\frac{x_{final}}{2} + h)$

Notons que les grandeurs sont toutes exprimées en fonction de la variable $x$ qui est la position sur le parcours, et non pas en fonction du temps $t$ comme il est habituel de le voir
optimisation est généralement effectuée avec un profil de vitesse comme donnée d'entrée [4]. Le temps de parcours est donc figé dans ces approches.

Dans le contexte de l'optimisation de la gestion d'énergie d'un cycle à assistance électrique autonome, il n'est pas forcément adapté d'imposer un profil de vitesse et par conséquent un temps de parcours, ce dernier dépendant essentiellement de la puissance moyenne fournie par le cycliste. En effet, cette puissance n'est pas une grandeur directement contrôlable par un système de gestion car elle résulte seulement d'une volonté du cycliste. Ainsi, nous préférons poser le problème de gestion d'énergie de façon différente, en n'imposant pas le profil de vitesse, mais simplement un profil de pente sur un trajet à parcourir. Cette hypothèse de travail est parfaitement envisageable sur le terrain dans le contexte où le cycliste renseignerait à l'avance son point d'arrivée dans un système de navigation, à l'instar du système Nyon développé par Bosch. La vitesse instantanée le long du parcours devient alors un résultat de l'algorithme d'optimisation. Ce type d'approche, original dans ce contexte, se rapporte de ce qui a déjà été proposé dans [6].

## 2. OPTIMISATION DE LA GESTION DE L'ÉNERGIE DANS UNE ARCHITECTURE DE TYPE HYBRIDE SÉRIE

### 2.1. Architecture série d'une assistance électrique autonome

Une assistance électrique autonome, telle que définie au paragraphe 1.1, avec une architecture série est composée de différentes parties :

**une génératrice-pédalier** qui convertit la puissance mécanique humaine en puissance électrique. Le cycliste joue donc un rôle analogue à celui du moteur thermique d'un véhicule automobile hybride. Il peut pédaler à cadence régulée et fournir une puissance qui peut être monitorée (ex : affichage de la puissance à la vue du cycliste et régulation par bio-feedback)

**un système de stockage d'énergie** qui joue un rôle de tamenon énergétique entre la génératrice-pédalier et le moteurroue. Comme nous nous plaçons dans le contexte d'une assistance autonome, ce système de stockage d'énergie n'a pas vocation a être rechargé sur le secteur et doit fournir (hors pertes) une puissance électrique moyenne nulle.

**un moteur-roue** qui propulse le cycle. Dans une architecture de type série, seul ce moteur participe à la propulsion, le pédalier n'étant pas mécaniquement relié à la roue. Il y a donc un découplage mécanique total entre la cadence de pédalage et la vitesse d'avance, ce qui peut être perturbant en termes de relations habituelles entre la perception et l'action.

### 2.2. Formulation du problème d'optimisation de la gestion d'énergie

#### Notations

* $x$ distance parcourue depuis le début du trajet en m

* $z(x)$ profil d'élévation du trajet en fonction de la distance parcourue en m

* $T_{mot}$ couple moteur ramené à la roue en Nm

* SOE état d'énergie du système de stockage, sans unité

* $M_{cyc}$ masse du cycle et du cycliste en kg (typ : 100kg)

* $v_{cyc}$ vitesse du cycle en m/s

* $R_{wheel}$ rayon des roues en m (typ : 0, 3m)

#### Formulation

Le problème de contrôle optimal de la gestion d'énergie dans le cas d'une architecture série peut être décrit avec :

**Une variable de contrôle** : Nous considérons ici le couple fourni par le moteur-roue, noté $T_{mot}(x)$ comme une variable de contrôle suffisante.

**Un critère d'optimisation** : Il s'agit de déterminer pour un trajet $z(x)$ donné, la commande optimale $T_{mot}^*(x)$ permettant de minimiser l'énergie fournie par le cycliste. Nous ferons l'hypothèse que ce dernier décide de pédaler à puissance constante, ce qui est envisageable car il pédale sur un système mécaniquement découplée du système de propulsion. Minimiser l'énergie fournie par le cycliste revient dans ce dernier cas à minimiser le temps de parcours.

#### Deux variables d'état :

1. l'état d'énergie du système de stockage d'énergie $SOE(x)$

2. la vitesse du cycle $v_{cyc}(x)$

Comme précisé ci-dessus, à puissance de pédalage constante, la minimisation de l'énergie fournie par le cycliste revient à la minimisation du temps de parcours sur le trajet donné. Cet objectif de temps de parcours sur un trajet $z(x)$, compris dans un intervalle $[0; X_{end}]$, peut être calculé à partir du profil de vitesse $v_{cyc}(x)$ :

$$t_{trip} = \int_{0}^{X_{end}} \frac{1}{v_{cyc}(x)} dx \quad (1)$$

Ainsi, un des résultats de cette optimisation est le profil de la variable de contrôle à chaque position du parcours $T_{mot}^*(x)$ :

$$T_{mot}^*(x) = \arg \min \int_{0}^{X_{end}} \frac{1}{v_{cyc}(x)} dx \quad (2)$$

sous les contraintes suivantes :

- l'évolution des variables d'état est contrainte par les équations différentielles discrétisées qui sont précisées dans le paragraphe 2.3.

- l'état d'énergie du moyen de stockage SOE doit être maintenu entre 0 et 1

- le couple moteur $T_{mot}$ est borné entre deux limites $[-T_{max}; T_{max}]$ et la puissance moteur $P_{mot} = \frac{T_{mot}v_{cyc}}{R_{wheel}}$ entre $[-P_{max}; P_{max}]$

- l'état de charge initial $SOE(0)$ doit être égal à l'état de charge final $SOE(x = x_{final})$, sachant que nous ne considérerons que des trajets de type "aller-retour", c'est à dire vérifiant $\forall h z(\frac{x_{final}}{2} - h) = z(\frac{x_{final}}{2} + h)$

Notons que les grandeurs sont toutes exprimées en fonction de la variable $x$ qui est la position sur le parcours, et non pas en fonction du temps $t$ comme il est habituel de le voir
dans les problèmes de commande optimale. La raison est que nous ne connaissons par l'instant final $t_{final}$ mais seulement les positions initiales et finales sur le parcours $x_{initial}$ et $x_{final}$. Les équations différentielles régissant l'évolution des variables d'état SOE et $v_{cyc}$, dépendant habituellement du temps, doivent donc être réécrites afin de faire apparaître des dérivées par rapport à $x$ et non plus par rapport à $t$. Elles doivent également être discrétisées, la résolution par programmation dynamique impitant une approche discrète du problème. Le pas de discrétisation sera considéré comme constant le long du parcours.

### 2.3. Modélisation

#### 2.3.1. Partie mécanique : variable $v_{cyc}$

Le principe fondamental de la dynamique appliqué à un cycle de masse $M_{cyc}$, dont l'inertie des roues sera négligée ou intégrés dans une masse équivalente, soumis à des frottements aérodynamiques ainsi que de roulements, se déplaçant à une vitesse $v_{cyc}$, dont la somme des couples moteurs seront ramenés à la roue et notés $T_{mot}$ et se déplaçant le long d'un trajet d'élévation $z(x)$ donne :

$$M_{cyc} \frac{dv_{cyc}}{dt} = \frac{T_{mot}(t)}{R_{wheel}} - \frac{1}{2} \rho S C_x v_{cyc}(t)^2 - M_{cyc} g \left( C_{rr} + \frac{dz}{dx} \right) \quad (3)$$

En faisant apparaître des dérivées par rapport à la variable $x$ :

$$M_{cyc} \frac{dv_{cyc}}{dt} \frac{dt}{dx} = \frac{T_{mot}(x)}{R_{wheel}} \frac{dt}{dx} - \frac{1}{2} \rho S C_x v_{cyc}(x)^2 \frac{dt}{dx} - M_{cyc} g \left( C_{rr} + \frac{dz}{dx} \right) \frac{dt}{dx} \quad (4)$$

on obtient :

$$M_{cyc} \frac{dv_{cyc}}{dx} = \frac{T_{mot}(x)}{R_{wheel} v_{cyc}(x)} - \frac{1}{2} \rho S C_x v_{cyc}(x) - \frac{M_{cyc} g}{v_{cyc}(x)} \left( C_{rr} + \frac{dz}{dx} \right) \quad (5)$$

Pour pouvoir résoudre numériquement cette équation différentielle et s'en servir dans un algorithme itératif, il convient de l'écrire sous la forme d'une équation aux différences sous la forme :

$$v_{cyc}[k+1] = f(v_{cyc}[k], \dots) \quad (6)$$

En multipliant l'équation 5 par $v_{cyc}dx$, on peut la réécrire sous la forme suivante :

$$M_{cyc} v_{cyc} dv_{cyc} = \left( \frac{T_{mot}(x)}{R_{wheel}} - M_{cyc} g \left( C_{rr} + \frac{dz}{dx} \right) \right) dx - \frac{1}{2} \rho S C_x v_{cyc}^2 dx \quad (7)$$

Puis, en intégrant de la position $x[k]$ à la position $x[k+1]$, on obtient :

$$M_{cyc} \left( \frac{v_{cyc}[k+1]^2 - v_{cyc}[k]^2}{2} \right) = \left( \frac{T_{mot}[k]}{R_{wheel}} - M_{cyc} g C_{rr} \right) \Delta x - M_{cyc} g \Delta z[k] - \frac{1}{2} \rho S C_x \frac{v_{cyc}[k+1]^2 + v_{cyc}[k]^2}{2} \Delta x \quad (8)$$

On peut ainsi noter que cette formulation revient à écrire un bilan d'énergie entre les positions $x[k]$ et $x[k+1]$ :

$$\Delta W_{kinetic} = \Delta W_{mot} - \Delta W_{rolling} + \Delta W_{potential} - \Delta W_{aerodrag} \quad (9)$$

Nous pouvons alors exprimer $v_{cyc}[k+1]$ en fonction des autres grandeurs. La solution de cette équation du second degré est évidente car seule la racine positive est une solution possible :

$$v_{cyc}[k+1] = \sqrt{\frac{M_{cyc} \frac{v_{cyc}[k]^2}{2} + \left( \frac{T_{mot}[k]}{R_{wheel}} - M_{cyc} g C_{rr} \right) \Delta x - M_{cyc} g \Delta z[k] - \frac{1}{2} \rho S C_x \frac{v_{cyc}[k]^2}{2} \Delta x}{\frac{M_{cyc}}{2} + \frac{1}{4} \rho S C_x \Delta x}} \quad (10)$$

Pour le phase dite "Backward" d'un algorithme basé sur la programmation dynamique, il est aussi utile d'exprimer $v_{cyc}[k]$ en fonction de $v_{cyc}[k+1]$ :

$$v_{cyc}[k] = \sqrt{\frac{M_{cyc} \frac{v_{cyc}[k+1]^2}{2} - \left( \frac{T_{mot}[k]}{R_{wheel}} + M_{cyc} g C_{rr} \right) \Delta x - M_{cyc} g \Delta z[k] + \frac{1}{2} \rho S C_x \frac{v_{cyc}[k+1]^2}{2} \Delta x}{\frac{M_{cyc}}{2} - \frac{1}{4} \rho S C_x \Delta x}} \quad (11)$$
dans les problèmes de commande optimale. La raison est que nous ne connaissons par l'instant final $t_{final}$ mais seulement les positions initiales et finales sur le parcours $x_{initial}$ et $x_{final}$. Les équations différentielles régissant l'évolution des variables d'état $SOE$ et $v_{cyc}$, dépendant habituellement du temps, doivent donc être réécrites afin de faire apparaître des dérivées par rapport à $x$ et non plus par rapport à $t$. Elles doivent également être discrétisées, la résolution par programmation dynamique impitant une approche discrète du problème. Le pas de discrétisation sera considéré comme constant le long du parcours.

## 2.3. Modélisation

### 2.3.1. Partie mécanique : variable $v_{cyc}$

Le principe fondamental de la dynamique appliqué à un cycle de masse $M_{cyc}$, dont l'inertie des roues sera négligée ou intégrés dans une masse équivalente, soumis à des frottements aérodynamiques ainsi que de roulements, se déplaçant à une vitesse $v_{cyc}$, dont la somme des couples moteurs seront ramenés à la roue et notés $T_{mot}$ et se déplaçant le long d'un trajet d'élévation $z(x)$ donne :

$$M_{cyc} \frac{dv_{cyc}}{dt} = \frac{T_{mot}(t)}{R_{wheel}} - \frac{1}{2} \rho S C_x v_{cyc}(t)^2 - M_{cyc} g \left( C_{rr} + \frac{dz}{dx} \right) \quad (3)$$

En faisant apparaître des dérivées par rapport à la variable $x$ :

$$M_{cyc} \frac{dv_{cyc}}{dt} \frac{dt}{dx} = \frac{T_{mot}(x)}{R_{wheel}} \frac{dt}{dx} - \frac{1}{2} \rho S C_x v_{cyc}(x)^2 \frac{dt}{dx} - M_{cyc} g \left( C_{rr} + \frac{dz}{dx} \right) \frac{dt}{dx} \quad (4)$$

on obtient :

$$M_{cyc} \frac{dv_{cyc}}{dx} = \frac{T_{mot}(x)}{R_{wheel} v_{cyc}(x)} - \frac{1}{2} \rho S C_x v_{cyc}(x) - \frac{M_{cyc} g}{v_{cyc}(x)} \left( C_{rr} + \frac{dz}{dx} \right) \quad (5)$$

Pour pouvoir résoudre numériquement cette équation différentielle et s'en servir dans un algorithme itératif, il convient de l'écrire sous la forme d'une équation aux différences sous la forme :

$$v_{cyc}[k+1] = f(v_{cyc}[k], \dots) \quad (6)$$

En multipliant l'équation 5 par $v_{cyc}dx$, on peut la réécrire sous la forme suivante :

$$M_{cyc} v_{cyc} dv_{cyc} = \left( \frac{T_{mot}(x)}{R_{wheel}} - M_{cyc} g \left( C_{rr} + \frac{dz}{dx} \right) \right) dx - \frac{1}{2} \rho S C_x v_{cyc}^2 dx \quad (7)$$

Puis, en intégrant de la position $x[k]$ à la position $x[k+1]$, on obtient :

$$M_{cyc} \left( \frac{v_{cyc}[k+1]^2 - v_{cyc}[k]^2}{2} \right) = \left( \frac{T_{mot}[k]}{R_{wheel}} - M_{cyc} g C_{rr} \right) \Delta x - M_{cyc} g \Delta z[k] - \frac{1}{2} \rho S C_x \frac{v_{cyc}[k+1]^2 + v_{cyc}[k]^2}{2} \Delta x \quad (8)$$

On peut ainsi noter que cette formulation revient à écrire un bilan d'énergie entre les positions $x[k]$ et $x[k+1]$ :

$$\Delta W_{kinetic} = \Delta W_{mot} - \Delta W_{rolling} + \Delta W_{potential} - \Delta W_{aerodrag} \quad (9)$$

Nous pouvons alors exprimer $v_{cyc}[k+1]$ en fonction des autres grandeurs. La solution de cette équation du second degré est évidente car seule la racine positive est une solution possible :

$$v_{cyc}[k+1] = \sqrt{\frac{M_{cyc} \frac{v_{cyc}[k]^2}{2} + \left( \frac{T_{mot}[k]}{R_{wheel}} - M_{cyc} g C_{rr} \right) \Delta x - M_{cyc} g \Delta z[k] - \frac{1}{2} \rho S C_x \frac{v_{cyc}[k]^2}{2} \Delta x}{\frac{M_{cyc}}{2} + \frac{1}{4} \rho S C_x \Delta x}} \quad (10)$$

Pour le phase dite "Backward" d'un algorithme basé sur la programmation dynamique, il est aussi utile d'exprimer $v_{cyc}[k]$ en fonction de $v_{cyc}[k+1]$ :

$$v_{cyc}[k] = \sqrt{\frac{M_{cyc} \frac{v_{cyc}[k+1]^2}{2} - \left( \frac{T_{mot}[k]}{R_{wheel}} + M_{cyc} g C_{rr} \right) \Delta x - M_{cyc} g \Delta z[k] + \frac{1}{2} \rho S C_x \frac{v_{cyc}[k+1]^2}{2} \Delta x}{\frac{M_{cyc}}{2} - \frac{1}{4} \rho S C_x \Delta x}} \quad (11)$$
### 2.3.2. Partie énergétique : variable SOE

La puissance utilisée pour faire avancer le cycle provient, en partie, d'un élément de stockage de capacité énergétique nominale $W_{rated}$. Ce dernier stocke et/ou fournit deux puissances distinctes :

$P_{mot} = \frac{T_{mot}v_{cyc}}{R_{wheel}}$ : la puissance motrice qui est celle nécessaire à faire avancer le véhicule. Cette puissance sera comptée positivement lorsqu'elle accélère le véhicule et négativement dans le cas d'un freinage récupératif.

$P_{human} = 120$W typ. : la puissance humaine de pédalage fournie par l'intermédiaire d'une génératrice électrique. Cette puissance sera considérée comme constante égale à 120W dans la suite.

En intégrant de l'instant $[k]$ à l'instant $[k+1]$, on obtient :

$$W_{rated}(SOE[k+1] - SOE[k]) = P_{human}\Delta t[k] - \frac{T_{mot}}{R_{wheel}}\Delta x \quad (16)$$

avec

$$\Delta t[k] = \frac{2\Delta x}{v_{cyc}[k+1] + v_{cyc}[k]} \quad (17)$$

Nous pouvons alors exprimer $SOE[k+1]$ en fonction des autres grandeurs.

$$SOE[k+1] = \frac{1}{W_{rated}} \left( P_{human}\Delta t[k] - \frac{T_{mot}}{R_{wheel}}\Delta x \right) + SOE[k] \quad (18)$$

Pour la phase "backward", il peut être utile d'exprimer $SOE[k-1]$ en fonction de $SOE[k+1]$, c'est ici trivial.

## 2.4. Algorithme

L'intérêt de l'utilisation de la programmation dynamique pour résoudre ce type de problème a déjà été évoqué dans le paragraphe 1.2. Nous n'évoquons dans cette partie que les aspects numériques liés à l'utilisation de cet outil.

La résolution d'un problème de contrôle optimal à l'aide de la programmation dynamique impose de discrétiser l'espace d'état. Dans notre cas, l'état est de dimension deux, et est entièrement défini par le couple $(v_{cyc}; SOE)$. La variable de contrôle, ici $T_{mot}$ doit également être discrétisée. Le choix des pas de discrétisation de ces trois grandeurs est important car le temps de calcul tout comme l'espace mémoire requis augmente en $N_{v_{cyc}} \times N_{SOE} \times N_{T_{mot}} \times N_x$ où $N_x$ est le nombre de point de discrétisation du parcours à effectuer.

Un des intérêts de la programmation dynamique est que la solution trouvée (si solution il y a) est garantie d'être la solution globale. Cependant, la convergence n'est pas nécessairement assurée, en particulier selon la manière dont les contraintes du problème sont gérées numériquement. Ces problématiques sont très bien évoquées dans la référence [5].

L'équation différentielle de l'évolution temporelle de l'état de charge du système de stockage SOE est :

$$W_{rated} \frac{dSOE}{dt} = P_{human}(t) - P_{mot}(t) \quad (12)$$

De la même manière que précédemment, nous souhaitons faire apparaître des dérivées liées à la position $x$ :

$$W_{rated} \frac{dSOE}{dt} \frac{dt}{dx} = (P_{human}(x) - P_{mot}(x)) \frac{dt}{dx} \quad (13)$$

$$W_{rated} \frac{dSOE}{dx} = \frac{P_{human}(x) - P_{mot}(x)}{v_{cyc}} \quad (14)$$

Le passage vers une équation aux différences là aussi être obtenu à partir d'un bilan d'énergie :

$$W_{rated}dSOE = \frac{P_{human}(x)}{v_{cyc}}dx - \frac{T_{mot}}{R_{wheel}}dx \quad (15)$$

# 3. RÉSULTATS

## 3.1. Présentation du trajet considéré

Nous considérons dans la suite un trajet réel Domicile-Travail-Domicile (donc symétrique), d'une longueur totale de 9,8km et dont le profil d'élévation est présenté sur la figure 3. Ce trajet présente un dénivelé maximal de 42,7m. Les données ont été obtenues via l'API Google Maps Elevation. Le pas de discrétisation horizontale est de 40m.

<figure><img src="image_8.png" /><figcaption>Fig. 3. Élévation le long du trajet considéré</figcaption></figure>
### 2.3.2. Partie énergétique : variable SOE

La puissance utilisée pour faire avancer le cycle provient, en partie, d'un élément de stockage de capacité énergétique nominale $W_{rated}$. Ce dernier stocke et/ou fournit deux puissances distinctes :

$P_{mot} = \frac{T_{mot}v_{cyc}}{R_{wheel}}$ : la puissance motrice qui est celle nécessaire à faire avancer le véhicule. Cette puissance sera comptée positivement lorsqu'elle accélère le véhicule et négativement dans le cas d'un freinage récupératif.

$P_{human} = 120$W typ. : la puissance humaine de pédalage fournie par l'intermédiaire d'une génératrice électrique. Cette puissance sera considérée comme constante égale à 120W dans la suite.

En intégrant de l'instant $[k]$ à l'instant $[k+1]$, on obtient :

$$W_{rated}(SOE[k+1] - SOE[k]) = P_{human}\Delta t[k] - \frac{T_{mot}}{R_{wheel}}\Delta x \quad (16)$$

avec

$$\Delta t[k] = \frac{2\Delta x}{v_{cyc}[k+1] + v_{cyc}[k]} \quad (17)$$

Nous pouvons alors exprimer $SOE[k+1]$ en fonction des autres grandeurs.

$$SOE[k+1] = \frac{1}{W_{rated}} \left( P_{human}\Delta t[k] - \frac{T_{mot}}{R_{wheel}}\Delta x \right) + SOE[k] \quad (18)$$

Pour la phase "backward", il peut être utile d'exprimer $SOE[k-1]$ en fonction de $SOE[k+1]$, c'est ici trivial.

## 2.4. Algorithme

L'intérêt de l'utilisation de la programmation dynamique pour résoudre ce type de problème a déjà été évoqué dans le paragraphe 1.2. Nous n'évoquons dans cette partie que les aspects numériques liés à l'utilisation de cet outil.

La résolution d'un problème de contrôle optimal à l'aide de la programmation dynamique impose de discrétiser l'espace d'état. Dans notre cas, l'état est de dimension deux, et est entièrement défini par le couple $(v_{cyc}, SOE)$. La variable de contrôle, ici $T_{mot}$ doit également être discrétisée. Le choix des pas de discrétisation de ces trois grandeurs est important car le temps de calcul tout comme l'espace mémoire requis augmente en $N_{v_{cyc}} \times N_{SOE} \times N_{T_{mot}} \times N_x$ où $N_x$ est le nombre de point de discrétisation du parcours à effectuer.

Un des intérêts de la programmation dynamique est que la solution trouvée (si solution il y a) est garantie d'être la solution globale. Cependant, la convergence n'est pas nécessairement assurée, en particulier selon la manière dont les contraintes du problème sont gérées numériquement. Ces problématiques sont très bien évoquées dans la référence [5].

L'équation différentielle de l'évolution temporelle de l'état de charge du système de stockage SOE est :

$$W_{rated} \frac{dSOE}{dt} = P_{human}(t) - P_{mot}(t) \quad (12)$$

De la même manière que précédemment, nous souhaitons faire apparaître des dérivées liées à la position $x$ :

$$W_{rated} \frac{dSOE}{dt} \frac{dt}{dx} = (P_{human}(x) - P_{mot}(x)) \frac{dt}{dx} \quad (13)$$

$$W_{rated} \frac{dSOE}{dx} = \frac{P_{human}(x) - P_{mot}(x)}{v_{cyc}} \quad (14)$$

Le passage vers une équation aux différences là aussi être obtenu à partir d'un bilan d'énergie :

$$W_{rated} dSOE = \frac{P_{human}(x)}{v_{cyc}} dx - \frac{T_{mot}}{R_{wheel}} dx \quad (15)$$

# 3. RÉSULTATS

## 3.1. Présentation du trajet considéré

Nous considérons dans la suite un trajet réel Domicile-Travail-Domicile (donc symétrique), d'une longueur totale de 9,8km et dont le profil d'élévation est présenté sur la figure 3. Ce trajet présente un dénivelé maximal de 42,7m. Les données ont été obtenues via l'API Google Maps Elevation. Le pas de discrétisation horizontale est de 40m.

<figure><img src="image_8.png" /><figcaption>Fig. 3. Élévation le long du trajet considéré</figcaption></figure>
**Algorithm 1** Algorithme basé sur la programmation dynamique pour optimiser la gestion d'énergie

1: *Phase Backward*

Require: a discretized elevation profile of the route (x[k]; z[k]) with $N_x$ elements

2: **for** $k = N_x$ to 2 **do**

3: *entering in a loop for each point of the quantized state space of size ($N_{v_{cyc}} \times N_{SOE}$)*

4: **for** $i = 1$ to $N_{v_{cyc}}$ **do**

5: **for** $j = 1$ to $N_{SOE}$ **do**

6: **for** each quantized value of the control variable $T_{mot}$ **do**

7: $v_{cyc}[k-1] = f(v_{cyc}[k], T_{mot}, \dots)$

8: $SOE[k-1] = f(SOE[k], T_{mot}, \dots)$

9: $\Delta t[k-1] = \frac{2\Delta x}{v_{cyc}[k] + v_{cyc}[k-1]}$

10: **end for**

11: find the optimal value of $T_{mot}$ that minimizes the cost-to-go function :

12: $CostToGo = \Delta t[k-1] + J[i, j, k]$

13: Store the new time-to-go value $J[i, j, k-1]$ and the optimal value $T_{mot}^*[i, j, k]$ for this position $x[k]$ and the considered point of the quantized state space.

14: $J[i, j, k-1] \leftarrow \min CostToGo$

15: $T_{mot}^*[i, j, k-1] \leftarrow \arg \min CostToGo$

16: **end for**

17: **end for**

18: **end for**

19: *Phase Forward*

20: Definition of an initial state ($v_{cyc}[1]; SOE[1]$)

21: **for** $k = 1$ to $N_x - 1$ **do**

22: Find, by interpolation, the optimal value of the control variable $T_{mot}^*[k]$ for the present position $x[k]$ and state ($v_{cyc}[k]; SOE[k]$)

23: Compute the next state ($v_{cyc}[k+1]; SOE[k+1]$) according to this value of $T_{mot}^*[k]$

24: **end for**

<table><caption>Tableau 1. Valeurs des paramètres physiques du problème</caption><thead><tr><td>Symbole</td><td>Description</td><td>Valeur</td></tr></thead><tbody><tr><td>$m_{human}$</td><td>masse du cycliste</td><td>80kg</td></tr><tr><td>$m_{cycle}$</td><td>masse du véhicule à propulsion humaine hors cycliste</td><td>20kg</td></tr><tr><td>$\rho$</td><td>masse volumique de l'air</td><td>1200g/m³</td></tr><tr><td>$SC_x$</td><td>maître-couple de l'ensemble cycle+cycliste</td><td>0.6m²</td></tr><tr><td>$C_{rr}$</td><td>coefficient de roulement des roues sur le sol</td><td>0.01</td></tr><tr><td>$W_{rated}$</td><td>énergie stockable</td><td>cf. suite</td></tr><tr><td>$P_{human}$</td><td>puissance de pédalage fournie par le cycliste</td><td>cf. suite</td></tr></tbody></table>

## 3.2. Résultat sur un cas référence

Les valeurs par défaut des principaux paramètres du problème sont donnés dans le tableau 1. Les hypothèses de départ sont les suivantes :

- Nous imposons un arrêt (vitesse inférieure à 1,5m/s) du véhicule à mi-parcours.

- L'énergie embarquée est prise, dans un premier temps, égale à deux fois l'amplitude de l'énergie potentielle sur le trajet, soit ici $W_{rated} \approx 84kJ \approx 23Wh$.

- La puissance fournie par le cycliste est considérée comme constante égale, dans un premier temps, à $P_{human} = 120W$

- Les rendements de conversion sont considérés égaux à 1.

<figure><img src="image_9.png" /><figcaption>Fig. 4. Résultats obtenus sur le trajet considéré. (Temps de parcours : 1677s)</figcaption></figure>

L'algorithme d'optimisation semble converger vers un profil de vitesse quasi constante pendant les phases de roulage (en dehors des phases d'accélération et de freinage). En effet, nous avons dit que minimiser le temps de parcours est équivalent à minimiser l'énergie fournie par le cycliste qui, rappelons-le, pé-dale ici à puissance constante. La puissance dissipée par effets aérodynamiques étant proportionnelle au cube de la vitesse, il convient d'éviter les fluctuations importantes de vitesse si l'on souhaite minimiser l'énergie dissipée.

Le résultat obtenu est donc parfaitement compréhensible et aurait même pu être prédit à l'avance. Cette prédiction reste cependant plus délicate si le niveau de puissance fournie par le cycliste évolue le long du parcours et/ou que les contraintes en termes d'état de charge sont atteintes à certains instants.

## 3.3. Résultat avec une quantité d'énergie réduite

Sur le résultat précédent, nous pouvons également constater que le profil d'état d'énergie du système de stockage est presque parfaitement opposé au profil d'élévation. Pour maintenir une vitesse quasi-constante, le système de stockage n'a simplement qu'à assurer un rôle de tampon de l'énergie potentielle de l'ensemble cycle+cycliste.

Les résultats présentés sur les figure 5 et 6 montrent que, lorsque l'on réduit la quantité d'énergie embarquée, les limites d'état d'énergie peuvent être atteintes. Les profils de vitesse obtenus montrent alors différents paliers avec des changements de valeurs intervenants au moment où l'état d'énergie atteint justement ses limites hautes ou basses.
**Algorithm 1** Algorithme basé sur la programmation dynamique pour optimiser la gestion d'énergie

1: *Phase Backward*

Require: a discretized elevation profile of the route ($x[k]$; $z[k]$) with $N_x$ elements

2: **for** $k = N_x$ to 2 **do**

3: *entering in a loop for each point of the quantized state space of size ($N_{v_{cyc}} \times N_{SOE}$)*

4: **for** $i = 1$ to $N_{v_{cyc}}$ **do**

5: **for** $j = 1$ to $N_{SOE}$ **do**

6: **for** each quantized value of the control variable $T_{mot}$ **do**

7: $v_{cyc}[k-1] = f(v_{cyc}[k], T_{mot}, \dots)$

8: $SOE[k-1] = f(SOE[k], T_{mot}, \dots)$

9: $\Delta t[k-1] = \frac{2\Delta x}{v_{cyc}[k]+v_{cyc}[k-1]}$

10: **end for**

11: find the optimal value of $T_{mot}$ that minimizes the cost-to-go function :

12: $CostToGo = \Delta t[k-1] + J[i, j, k]$

13: Store the new time-to-go value $J[i, j, k-1]$ and the optimal value $T_{mot}^*[i, j, k]$ for this position $x[k]$ and the considered point of the quantized state space.

14: $J[i, j, k-1] \leftarrow \min CostToGo$

15: $T_{mot}^*[i, j, k-1] \leftarrow \arg \min CostToGo$

16: **end for**

17: **end for**

18: **end for**

19: *Phase Forward*

20: Definition of an initial state ($v_{cyc}[1]$; $SOE[1]$)

21: **for** $k = 1$ to $N_x - 1$ **do**

22: Find, by interpolation, the optimal value of the control variable $T_{mot}^*[k]$ for the present position $x[k]$ and state ($v_{cyc}[k]$; $SOE[k]$)

23: Compute the next state ($v_{cyc}[k+1]$; $SOE[k+1]$) according to this value of $T_{mot}^*[k]$

24: **end for**

<table><caption>Tableau 1. Valeurs des paramètres physiques du problème</caption><thead><tr><td>Symbole</td><td>Description</td><td>Valeur</td></tr></thead><tbody><tr><td>$m_{human}$</td><td>masse du cycliste</td><td>80kg</td></tr><tr><td>$m_{cycle}$</td><td>masse du véhicule à propulsion humaine hors cycliste</td><td>20kg</td></tr><tr><td>$\rho$</td><td>masse volumique de l'air</td><td>1200g/m³</td></tr><tr><td>$SC_x$</td><td>maître-couple de l'ensemble cycle+cycliste</td><td>0.6m²</td></tr><tr><td>$C_{rr}$</td><td>coefficient de roulement des roues sur le sol</td><td>0.01</td></tr><tr><td>$W_{rated}$</td><td>énergie stockable</td><td>cf. suite</td></tr><tr><td>$P_{human}$</td><td>puissance de pédalage fournie par le cycliste</td><td>cf. suite</td></tr></tbody></table>

## 3.2. Résultat sur un cas référence

Les valeurs par défaut des principaux paramètres du problème sont donnés dans le tableau 1. Les hypothèses de départ sont les suivantes :

- Nous imposons un arrêt (vitesse inférieure à 1,5m/s) du véhicule à mi-parcours.

- L'énergie embarquée est prise, dans un premier temps, égale à deux fois l'amplitude de l'énergie potentielle sur le trajet, soit ici $W_{rated} \approx 84kJ \approx 23Wh$.

- La puissance fournie par le cycliste est considérée comme constante égale, dans un premier temps, à $P_{human} = 120W$

- Les rendements de conversion sont considérés égaux à 1.

<figure><img src="image_9.png" /><figcaption>Fig. 4. Résultats obtenus sur le trajet considéré. (Temps de parcours : 1677s)</figcaption></figure>

L'algorithme d'optimisation semble converger vers un profil de vitesse quasi constante pendant les phases de roulage (en dehors des phases d'accélération et de freinage). En effet, nous avons dit que minimiser le temps de parcours est équivalent à minimiser l'énergie fournie par le cycliste qui, rappelons-le, pé-dale ici à puissance constante. La puissance dissipée par effets aérodynamiques étant proportionnelle au cube de la vitesse, il convient d'éviter les fluctuations importantes de vitesse si l'on souhaite minimiser l'énergie dissipée.

Le résultat obtenu est donc parfaitement compréhensible et aurait même pu être prédit à l'avance. Cette prédiction reste cependant plus délicate si le niveau de puissance fournie par le cycliste évolue le long du parcours et/ou que les contraintes en termes d'état de charge sont atteintes à certains instants.

## 3.3. Résultat avec une quantité d'énergie réduite

Sur le résultat précédent, nous pouvons également constater que le profil d'état d'énergie du système de stockage est presque parfaitement opposé au profil d'élévation. Pour maintenir une vitesse quasi-constante, le système de stockage n'a simplement qu'à assurer un rôle de tampon de l'énergie potentielle de l'ensemble cycle+cycliste.

Les résultats présentés sur les figure 5 et 6 montrent que, lorsque l'on réduit la quantité d'énergie embarquée, les limites d'état d'énergie peuvent être atteintes. Les profils de vitesse obtenus montrent alors différents paliers avec des changements de valeurs intervenants au moment où l'état d'énergie atteint justement ses limites hautes ou basses.
<figure><img src="image_10.png" /><figcaption>Fig. 5. Résultats obtenus pour une énergie stockable réduite à l'amplitude de l'énergie potentielle sur le trajet, soit ici $W_{rated} \approx 42\text{kJ} \approx 12\text{Wh}$. (Temps de parcours : 1698s)</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Fig. 6. Résultats obtenus pour une énergie stockable réduite à la moitié de l'amplitude de l'énergie potentielle sur le trajet, soit ici $W_{rated} \approx 21\text{kJ} \approx 6\text{Wh}$. (Temps de parcours : 1745s)</figcaption></figure>

### 3.4. Evaluation de l'intérêt en termes de niveau de fatigue

Le réseau de courbes de la figure 7 est issu de [7] et représente des limites d'épuisement dans le plan Puissance de pédalage-Durée de pédalage. Intéressons-nous seulement à celle

<figure><img src="image_12.png" /><figcaption>Fig. 7. Courbes d'épuisement dites de puissance critique [7]</figcaption></figure>

de "l'homme en bonne santé" ("healthy men" en bas à gauche). Des tests physiologiques ont permis d'établir qu'il est possible de maintenir une puissance de 200W pendant une durée d'1h avant d'être en limite d'épuisement. Une puissance de 100W peut, quant à elle, être maintenue pendant 6h (300min), tandis qu'une puissance de 750W ne peut être maintenue que pendant 6s. La relation entre la puissance et le niveau de fatigue engendrée est donc fortement non-linéaire. Sur un parcours donné, à même puissance moyenne, il apparaît donc préférable, en termes de fatigue, de maintenir une puissance de pédalage constante plutôt que fluctuante.

Sur la base de cette courbe, aussi appelée "critical power curve", il est possible de construire un indicateur de fatigue qui prend comme donnée d'entrée un profil temporel de puissance de pédalage $P_{human}(t)$. La courbe d'épuisement peut être écrite sous la forme d'une fonction de la durée de pédalage. Nous utiliserons plutôt la réciproque de cette fonction que l'on peut écrire sous la forme :

$$d_{exhausting} = f_{exhaust}(P_{critical}) \quad (19)$$

Nous définissons alors un indice de fatigue cumulée, fonction du profil de puissance fournie $P_{human}(t)$, de la forme :

$$i_{fatigue}(t) = \int_{0}^{t} \frac{1}{f_{exhaust}(P_{human}(t))} dt \quad (20)$$

Ce critère est construit de manière à quantifier la fatigue sous la forme d'un pourcentage d'épuisement total, en partant de l'hyphothèse (critiquable) que la sensation de fatigue évolue, à puissance constante, de façon linéaire en fonction du temps. Ainsi, pédaler 30min à 200W générera un indice de fatigue de 50%.

Ici, nous considérons la puissance produite par le cycliste comme constante. L'évaluation de cet indice de fatigue est donc aisée. Nous trouvons ainsi, sur notre cas de référence, une valeur de 11%. La valeur en elle-même n'ayant que peu d'intérêt, nous allons plutôt nous en servir comme un élément de comparaison.

Dans un premier temps, nous allons considérer le cas d'un pédalage à puissance constante mais sans moyen de stockage de
<figure><img src="image_10.png" /><figcaption>Fig. 5. Résultats obtenus pour une énergie stockable réduite à l'amplitude de l'énergie potentielle sur le trajet, soit ici $W_{rated} \approx 42\text{kJ} \approx 12\text{Wh}$. (Temps de parcours : 1698s)</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>Fig. 6. Résultats obtenus pour une énergie stockable réduite à la moitié de l'amplitude de l'énergie potentielle sur le trajet, soit ici $W_{rated} \approx 21\text{kJ} \approx 6\text{Wh}$. (Temps de parcours : 1745s)</figcaption></figure>

### 3.4. Evaluation de l'intérêt en termes de niveau de fatigue

Le réseau de courbes de la figure 7 est issu de [7] et représente des limites d'épuisement dans le plan Puissance de pédalage-Durée de pédalage. Intéressons-nous seulement à celle

<figure><img src="image_12.png" /><figcaption>Fig. 7. Courbes d'épuisement dites de puissance critique [7]</figcaption></figure>

de "l'homme en bonne santé" ("healthy men" en bas à gauche). Des tests physiologiques ont permis d'établir qu'il est possible de maintenir une puissance de 200W pendant une durée d'1h avant d'être en limite d'épuisement. Une puissance de 100W peut, quant à elle, être maintenue pendant 6h (300min), tandis qu'une puissance de 750W ne peut être maintenue que pendant 6s. La relation entre la puissance et le niveau de fatigue engendrée est donc fortement non-linéaire. Sur un parcours donné, à même puissance moyenne, il apparaît donc préférable, en termes de fatigue, de maintenir une puissance de pédalage constante plutôt que fluctuante.

Sur la base de cette courbe, aussi appelée "critical power curve", il est possible de construire un indicateur de fatigue qui prend comme donnée d'entrée un profil temporel de puissance de pédalage $P_{human}(t)$. La courbe d'épuisement peut être écrite sous la forme d'une fonction de la durée de pédalage. Nous utiliserons plutôt la réciproque de cette fonction que l'on peut écrire sous la forme :

$$d_{exhausting} = f_{exhaust}(P_{critical}) \quad (19)$$

Nous définissons alors un indice de fatigue cumulée, fonction du profil de puissance fournie $P_{human}(t)$, de la forme :

$$i_{fatigue}(t) = \int_{0}^{t} \frac{1}{f_{exhaust}(P_{human}(t))} dt \quad (20)$$

Ce critère est construit de manière à quantifier la fatigue sous la forme d'un pourcentage d'épuisement total, en partant de l'hyphothèse (critiquable) que la sensation de fatigue évolue, à puissance constante, de façon linéaire en fonction du temps. Ainsi, pédaler 30min à 200W générera un indice de fatigue de 50%.

Ici, nous considérons la puissance produite par le cycliste comme constante. L'évaluation de cet indice de fatigue est donc aisée. Nous trouvons ainsi, sur notre cas de référence, une valeur de 11%. La valeur en elle-même n'ayant que peu d'intérêt, nous allons plutôt nous en servir comme un élément de comparaison.

Dans un premier temps, nous allons considérer le cas d'un pédalage à puissance constante mais sans moyen de stockage de
l'énergie. Ce cas, idéal, correspondrait à un cycliste qui arrivait à suivre un niveau de puissance constant en ajustant parfaitement ses rapports de vitesse en fonction du parcours. De plus, il faudrait même que la transmission soit de type continûment variable pour espérer se rapprocher de ce cas idéal. Voyons simplement ce cas comme une limite vers lequel le cycliste lambda pourra tendre. La figure 8 représente le profil de vitesse correspondant à une puissance motrice au niveau de la roue constante et égale à 120W. On peut alors naturellement constater que la vitesse est fluctuante contrairement à précédemment où le système de stockage faisait office de tampon énergétique entre la puissance motrice et la puissance de pédalage.

<figure><img src="image_13.png" /><figcaption>Fig. 8. Profil de vitesse résultant d'une puissance motrice et de pédalage constante égale à 120W (Transmission de type CVT). (Temps de parcours : 2142s)</figcaption></figure>

Sur cet exemple, le temps de parcours s'allonge. Il passe de 1677s à 2142s. A même puissance de pédalage, cela fait donc grimper l'indice de fatigue à 14%.

Il est également possible de chercher le niveau de puissance nécessaire pour revenir sur un temps de parcours identique à notre cas de référence. La figure 9 montre le profil de vitesse pour une puissance motrice et de pédalage constante égale à 174W. Notons qu'ici, le profil est représenté en fonction du temps. Le temps de parcours est identique à celui du cas de référence. Cependant, il a fallu ici fournir une puissance de 174W ce qui fait grimper l'indice de fatigue à 23%.

<figure><img src="image_14.png" /><figcaption>Fig. 9. Profil de vitesse résultant d'une puissance motrice et de pédalage constante égale à 174W (Transmission de type CVT). (Temps de parcours : 1678s)</figcaption></figure>

## 4. CONCLUSIONS

Un des objectifs de ce travail est de transposer des méthodes d'optimisation, déjà appliquées dans le domaine automobile,

dans le contexte de l'optimisation de la gestion d'énergie d'une assistance électrique autonome pour un véhicule à propulsion humaine. Nous avons pour cela utilisé la programmation dynamique pour résoudre un problème, non pas en fonction du temps, mais en fonction de la position. Cet originalité est nécessaire dans ce contexte où ni le profil de vitesse, ni le temps final ne peut être connu à l'avance. Le parcours à effectuer peut, lui, par contre être renseigné à l'avance lorsqu'il s'agit de trajets réguliers et donc connus.

A l'instar d'un système de navigation GPS qui nous conseille un trajet optimal à prendre afin de minimiser le temps de parcours, nous montrons qu'il est possible d'envisager un système de gestion d'énergie, qui, sur un trajet donné, propose un profil de vitesse optimal afin de minimiser l'énergie fournie et le temps de parcours. Ce profil de vitesse est optimisé pour un niveau de puissance fournie donné, mais peut parfaitement être recalculé cours de parcours si le cycliste change ce niveau de puissance, de la même manière qu'un système GPS recalculerait un nouveau trajet suite à un changement de direction du conducteur.

Cela pose bien évidemment le problème de la délégation de conduite à un système informatique qui déciderait pour nous de la vitesse à suivre. Il resterait bien évidemment indispensable que le cycliste puisse garder la possibilité de prendre la main sur un tel système de délégation.

Un second objectif de cet article est de se servir de cet outil d'optimisation comme un moyen d'évaluation de l'intérêt d'une assistance électrique autonome en termes de fatigue. Un indicateur de fatigue a donc été présenté. La valeur en tant que telle de cet indicateur n'a que peu d'intérêt, mais il fournit un moyen de comparaison entre différents cas. Nous avons ainsi montré qu'une assistance électrique autonome, bien que n'utilisant pas d'autres sources d'énergie que l'énergie humaine de pédalage, permet d'optimiser l'utilisation de cette dernière et ainsi de réduire le temps de parcours et le niveau de fatigue du cycliste.

L'intérêt d'une telle technologie n'est bien évidemment pas de réduire l'activité physique de personnes qui en font de façon régulière. Mais la fatigue ressentie (ou pressentie) est un frein connu à l'utilisation du vélo et ce système permettrait d'aider à franchir cette barrière.

## 5. RÉFÉRENCES

[1] Judicaël Aubry, Bertrand Barbedette. Évaluation de l'intérêt d'une hybrication série pour un véhicule à propulsion humaine. Pré-dimensionnement d'une génératrice-pédalier. Symposium de Génie Électrique 2014, Jul 2014, Cachan, France. <hal-01065195>

[2] Article sur les véhicules à propulsion humaine, Wikipédia

[3] "Zehus!Wize Hub." [Online]. Available : http://www.zehus.it/

[4] Zhang, X., Mi, C. (2011). Vehicle Power Management. London : Springer London. doi :10.1007/978-0-85729-736-5

[5] Guzzella L., Sciarretta A. (2013). Vehicle Propulsion Systems : Introduction to Modeling and Optimization. 3rd edition. Springer-Verlag Berlin Heidelberg. doi :10.1007/978-3-642-35913-2

[6] Chen, Y., Li, X., Wiet, C., Wang, J. (2013). Energy Management and Driving Strategy for In-Wheel Motor Electric Ground Vehicles with Terrain Profile Preview. IEEE Transactions on Industrial Informatics, PP(99), 1–1. doi :10.1109/TII.2013.2290067

[7] F. Whitt and D. Wilson, *Bicycling science*. 1982.
l'énergie. Ce cas, idéal, correspondrait à un cycliste qui arrivait à suivre un niveau de puissance constant en ajustant parfaitement ses rapports de vitesse en fonction du parcours. De plus, il faudrait même que la transmission soit de type continûment variable pour espérer se rapprocher de ce cas idéal. Voyons simplement ce cas comme une limite vers lequel le cycliste lambda pourra tendre. La figure 8 représente le profil de vitesse correspondant à une puissance motrice au niveau de la roue constante et égale à 120W. On peut alors naturellement constater que la vitesse est fluctuante contrairement à précédemment où le système de stockage faisait office de tampon énergétique entre la puissance motrice et la puissance de pédalage.

<figure><img src="image_13.png" /><figcaption>Fig. 8. Profil de vitesse résultant d'une puissance motrice et de pédalage constante égale à 120W (Transmission de type CVT). (Temps de parcours : 2142s)</figcaption></figure>

Sur cet exemple, le temps de parcours s'allonge. Il passe de 1677s à 2142s. A même puissance de pédalage, cela fait donc grimper l'indice de fatigue à 14%.

Il est également possible de chercher le niveau de puissance nécessaire pour revenir sur un temps de parcours identique à notre cas de référence. La figure 9 montre le profil de vitesse pour une puissance motrice et de pédalage constante égale à 174W. Notons qu'ici, le profil est représenté en fonction du temps. Le temps de parcours est identique à celui du cas de référence. Cependant, il a fallu ici fournir une puissance de 174W ce qui fait grimper l'indice de fatigue à 23%.

<figure><img src="image_14.png" /><figcaption>Fig. 9. Profil de vitesse résultant d'une puissance motrice et de pédalage constante égale à 174W (Transmission de type CVT). (Temps de parcours : 1678s)</figcaption></figure>

## 4. CONCLUSIONS

Un des objectifs de ce travail est de transposer des méthodes d'optimisation, déjà appliquées dans le domaine automobile,

dans le contexte de l'optimisation de la gestion d'énergie d'une assistance électrique autonome pour un véhicule à propulsion humaine. Nous avons pour cela utilisé la programmation dynamique pour résoudre un problème, non pas en fonction du temps, mais en fonction de la position. Cet originalité est nécessaire dans ce contexte où ni le profil de vitesse, ni le temps final ne peut être connu à l'avance. Le parcours à effectuer peut, lui, par contre être renseigné à l'avance lorsqu'il s'agit de trajets réguliers et donc connus.

A l'instar d'un système de navigation GPS qui nous conseille un trajet optimal à prendre afin de minimiser le temps de parcours, nous montrons qu'il est possible d'envisager un système de gestion d'énergie, qui, sur un trajet donné, propose un profil de vitesse optimal afin de minimiser l'énergie fournie et le temps de parcours. Ce profil de vitesse est optimisé pour un niveau de puissance fournie donné, mais peut parfaitement être recalculé cours de parcours si le cycliste change ce niveau de puissance, de la même manière qu'un système GPS recalculerait un nouveau trajet suite à un changement de direction du conducteur.

Cela pose bien évidemment le problème de la délégation de conduite à un système informatique qui déciderait pour nous de la vitesse à suivre. Il resterait bien évidemment indispensable que le cycliste puisse garder la possibilité de prendre la main sur un tel système de délégation.

Un second objectif de cet article est de se servir de cet outil d'optimisation comme un moyen d'évaluation de l'intérêt d'une assistance électrique autonome en termes de fatigue. Un indicateur de fatigue a donc été présenté. La valeur en tant que telle de cet indicateur n'a que peu d'intérêt, mais il fournit un moyen de comparaison entre différents cas. Nous avons ainsi montré qu'une assistance électrique autonome, bien que n'utilisant pas d'autres sources d'énergie que l'énergie humaine de pédalage, permet d'optimiser l'utilisation de cette dernière et ainsi de réduire le temps de parcours et le niveau de fatigue du cycliste.

L'intérêt d'une telle technologie n'est bien évidemment pas de réduire l'activité physique de personnes qui en font de façon régulière. Mais la fatigue ressentie (ou pressentie) est un frein connu à l'utilisation du vélo et ce système permettrait d'aider à franchir cette barrière.

## 5. RÉFÉRENCES

[1] Judicaël Aubry, Bertrand Barbedette. Évaluation de l'intérêt d'une hybrication série pour un véhicule à propulsion humaine. Pré-dimensionnement d'une génératrice-pédalier. Symposium de Génie Électrique 2014, Jul 2014, Cachan, France. <hal-01065195>

[2] Article sur les véhicules à propulsion humaine, Wikipédia

[3] "Zehus!Wize Hub." [Online]. Available : http://www.zehus.it/

[4] Zhang, X., Mi, C. (2011). Vehicle Power Management. London : Springer London. doi :10.1007/978-0-85729-736-5

[5] Guzzella L., Sciarretta A. (2013). Vehicle Propulsion Systems : Introduction to Modeling and Optimization. 3rd edition. Springer-Verlag Berlin Heidelberg. doi :10.1007/978-3-642-35913-2

[6] Chen, Y., Li, X., Wiet, C., Wang, J. (2013). Energy Management and Driving Strategy for In-Wheel Motor Electric Ground Vehicles with Terrain Profile Preview. IEEE Transactions on Industrial Informatics, PP(99), 1–1. doi :10.1109/TII.2013.2290067

[7] F. Whitt and D. Wilson, *Bicycling science*. 1982.