Recherche
D'emploi

Ingénieur robotique
A partir d'octobre 2025

About Me

Lucas NAURY - Etudiant

Fraîchement diplômé d'un double diplôme entre Cranfield University (MSc Robotics) et l'IMT Nord-Europe (cycle ingénieur), je suis à la recherche d'un poste d'ingénieur en robotique à partir de septembre 2025.

Depuis toujours, je suis passionné par l'informatique. À l'aide de cours en ligne, j'ai appris différents langages (HTML, CSS, JS, VueJS, C#, C++, C, Python, Java...) afin de satisfaire ma curiosité. J'ai ainsi créé quelques projets personnels durant mon temps libre que vous pourrez consulter ci-dessous.

Cependant, je souhaite maintenant me spécialiser en robotique et électronique embarquée, c'est pourquoi j'ai continué mon cursus dans ce domaine. J'ai donc des connaissances en automatique, automatisme, ROS2...

Portfolio

Projets académiques

Projet #1 - Optimisation des trajectoires d'un robot spatial pour réduire les perturbations pendant l'assemblage en orbite

Dans le cadre de mon mémoire à Cranfield University, j'ai développé une approche de planification de mouvement destinée à améliorer l'efficacité et la fiabilité des opérations d'assemblage en orbite (In-Orbit Assembly, ISA). L'objectif : Concevoir et valider un algorithme de planification de trajectoires capable de limiter passivement l'impact des bras robotiques sur l'orientation du satellite, afin de prolonger la durée de vie des missions d'In-Orbit Assembly, tout en réduisant la consommation de carburant. Technologies utilisées : ROS2, C++, Python, MoveIt2, Gazebo

MARIO

MARIO

MARIO (Multi-Arm Robot for In-Orbit Operations) est un concept de robot spatial à 3 bras développé par Cranfield University. Il est conçu pour effectuer des opérations d'assemblage en orbite, en utilisant deux bras robotiques pour se déplacer, et le troisième pour manipuler et assembler des composants spatiaux.

Slope

ASTRA-Lab

MARIO évolue dans l'ASTRA-Lab, qui a la particularité d'avoir un sol extrêmement plat (± 1,5mm).

Cliquer pour afficher en grand
Air bearing

Air bearings

En utilisant des "air bearings" dans l'ASTRA-Lab, avec un flux d'air compressé continu dirigé vers le sol, cela créé une fine couche d'air sur laquelle les "air bearings" peuvent glisser sans friction, récréant ainsi les conditions de la micro-gravité dans le plan.

Cliquer pour afficher en grand

Mouvement de MARIO

MARIO se déplace sur la structure en utilisant s'attachant avec un bras puis en avançant l'autre. Ce cycle est répété 3 fois dans notre expérience.

Cliquer pour afficher en grand
Structure

Structure

MARIO se déplace sur une structure construite à partir de profilés aluminium. Cette modularité permet d'attacher des éléments à la structure tels que des points d'attaches pour les bras robotiques. Plusieurs unités peuvent être attachées ensemble pour former une plus longue structure.

Cliquer pour afficher en grand
Onglet Mes recettes / Favoris

Outil

Les 2 bras robot utilisés pour se déplacer sont équipés d'un "Docking end-effector". Celui-ci se monte facilement grâce au système de tool changer. Sur la structure, sont attachés des "Docking points", qui contiennent des disques magnétiques. Ainsi, en agissant sur l'état de l'électroaimant, on peut s'attacher/se détacher de la structure.

Cliquer pour afficher en grand

Projet #2 - Design d'un rover lunaire pour le transport d'oxygène sur la Lune

Dans le cadre d'un projet de groupe à Cranfield University, nous avons conçu un rover et ses algorithmes de navigation, en partenariat avec le consortium EURO2MOON. L'objectif : Concevoir un le design mécanique d'un rover lunaire pour le transport d'oxygène sur la Lune ainsi que les algorithmes de navigation autonomes qu'il utilise. Définition d'un scénario ISRU et validation des algorithmes sur ce scénario, en calculant les meilleurs chemins entres les différents points d'intérêt. Technologies utilisées : ROS2, Python, Nav2, Gazebo, A*

Design du rover

Design du rover

Le design mécanique du rover est un robot avec 4 roues motrices, montées sur des jambes reconfigurables, capable de transporter une charge utile de 50 kg. Ce type de locomotion permet au robot de se déplacer dans des terrains accidentés et des pentes raides.

Onglet Mes recettes / Favoris

Architecture de navigation autonome

Le global planning, basé sur des images satellites, est effectué offline pour exploiter la puissance de calcul terrestre. Les trajets pré-calculés sont stockés sur le rover et chargés au besoin. Le local planning, lui, s'exécute en temps réel pour éviter les obstacles détectés par les capteurs.

Cliquer pour afficher en grand
Onglet Mes recettes / Favoris

Global planning

Pour le global planning, nous utilisons l'algorithme A*, avec une cost function qui prend en compte: la distance parcourue, les pentes, l'illumination et l'angle de rotation. Ainsi, les chemins trouvés minimisent la distance tout en évitant les cratères et les zones d'ombre.

Cliquer pour afficher en grand
Resultats du global planning

Resultats - Global planning

Quelle que soit la configuration des unités ISRU, le rover est capable de trouver un chemin entre les différents points d'intérêt, qui évite les cratères. Plus la distance à couvrir est importante, plus le temps d'éxécution est important, mais il reste raisonable étant donné qu'il est éxécuté offline.

Cliquer pour afficher en grand
Onglet Mes recettes / Favoris

Local planning

Le local planning utilise une stéréocaméra et un lidar 3D pour percevoir son environment et créer une cost map. Cette costmap est ensuite utilisée par l'algorithme DWB pour counterner les obstacles.

Cliquer pour afficher en grand
Onglet Mes recettes / Favoris

Résultats - Local planning

Le rover arrive à esquiver les différents obstacles sur son chemin tout en suivant le global path.

Cliquer pour afficher en grand

Projet #3 - Hackathon Digital Innovation

En janvier 2024, j'ai eu l'occasion de participer au Hackathon Digital Innovation organisé par mon école (IMT Nord Europe) en partenariat avec la CITC et l'ENSAM Lille. L'objectif : concevoir un système robotique capable de trier des pièces de formes variées à l'aide d'un bras robotique (Niryo Ned2) équipé d'une caméra et d'une pince. Ces pièces étaient ensuites déposées sur un convoyeur (robot Kobuki équipé d'un lidar 2D) pour être déplacé vers des points d'intérêt. Technologies utilisées : ROS2, Python, OpenCV

Niryo

Niryo Ned2

Nous avons d'abord utilisé le robot Niryo Ned2 ainsi que son kit de vision, pour détecter puis attraper des pièces.
D'abord de simples carrés/ronds, nous avons ensuite du attraper des pièces plus complexes/

Ecran principal

Kobuki

Le robot Kobuki est un robot de type "TurleBot". Nous l'avons utilisé pour déplacer les pièces d'un point à l'autre de l'environnement, grâce à son lidar 2D lui permettant de se repérer.

Cliquer pour afficher en grand
Ecran principal

Environnement

L'environnement de test était un labyrinthe. Une fois le Kobuki chargé par le bras robot, il devait se déplacer dans l'un des points de l'environnement.

Cliquer pour afficher en grand
Onglet Mes recettes / Favoris

Déplacement des pièces

Le bras robot devait déposer les pièces dans la boite en bois (découpée au fablab de l'école) disposée sur le Kobuki.

Cliquer pour afficher en grand
Onglet Mes recettes / Favoris

La carte

A l'aide d'un algorithme de SLAM, nous avons créé une cartographie de l'environnement de test afin de déterminer les positions des points d'intérêt et permettre au robot de se repérer.

Cliquer pour afficher en grand

Projet #4 - Reconstruction 3D

En avril 2024, dans le cadre d'un module de robotique et vision, j'ai participé à un projet d'une durée d'une semaine. L'objectif : Prendre plusieurs prises de vue d'un objet 3D à l'aide d'un bras robot Kuka et d'une caméra Intel RealSense, afin de reconstituer le modèle 3D de l'objet. Technologies utilisées : ROS2, Python, OpenCV

Kuka robot setup

KUKA KR 5 Sixx R650

Nous avons utilisé un robot industriel Kuka pour ce projet, équipé d'un préhenseur pneumatique. L'objet à scanner était un cube, disposé sur un socle à un endroit précis.

Déplacement du robot

Déplacement du robot

Le robot s'occupait d'attraper la pièce avec son préhenseur, et de la montrer sous différents angles à la caméra Intel RealSense disposée au dessus du plan de travail.

Vision par ordinateur

Vision par ordinateur

Un algorithme de vision par ordinateur s'occupait de détecter la couleur du cube, et de prendre des mesures de distance pour chacun des pixels de la face du cube.

Cliquer pour afficher en grand
Résultat

Résultat

Une fois les données de profondeur des différentes faces récupérées, il a fallu fusionner ces nuages de point, pour obtenir un maillage. Le résultat reste à améliorer mais est plutôt correct au vu de la durée du projet.

Projets personnels

Projet #1 - CONTROL

Jeu PC développé pendant les vacances d'été 2020 à l'aide d'Unity 3D. Le principe est simple : vous controlez un personnage et vous devez atteindre le portail pour passer au niveau suivant. Pour cela, vous pouvez prendre le contrôle des différents personnages présents dans le niveau simplement en leur "tirant" dessus. Chaque personnage ayant des capacités spéciales, le joueur doit établir une stratégie afin de réussir le niveau.

Main Menu

Ecran d'accueil

C'est la première chose que le joueur voit en lançant le jeu.

Cliquer pour afficher en grand
Options

Menu Options

À partir de ce menu, le joueur peut modifier ses contrôles, ses paramètres graphiques et le volume du jeu.

Cliquer pour afficher en grand
Level Select

Sélecteur de niveaux

Seul le dernier niveau non joué est accessible au joueur.

Cliquer pour afficher en grand

Blobby - Le personnage qui rebondit

Le joueur est amené à rencontrer ce personnage qui permet au joueur de rebondir et ainsi accéder à des zones innaccessibles auparavant.

Cliquer pour afficher en grand
Tutorial

Premier niveau du tutoriel

C'est le premier niveau que le joueur est amené à jouer. Il lui apprend les déplacements de base.

Cliquer pour afficher en grand
Doubly

Doubly - Le personnage aux multiples saut

C'est le premier personnage que le joueur rencontre. Il est capable de faire un double saut, et donc franchir des obstacles plus grands.

Cliquer pour afficher en grand

Projet #2 - Recipes

Recipes est une application web qui vous permet de stocker vos recettes en un seul endroit. Avec elle, vous n'aurez plus à chercher dans des livres ou des tiroirs pendant des heures !!! Vous pourrez y accéder en un seul clic, à partir de n'importe quel appareil !
Cependant, ce n'est pas une application de recettes classique. Recipes vous permet de choisir des recettes aléatoirement, lorsque vous ne savez plus quoi cuisiner !

Présentation

Recipes possède plusieurs fonctionnalités telles que : sélection aléatoire de recettes lorsque vous manquez d'inspiration, synchronisation dans le cloud de vos recettes , partage de recettes par simple envoi d'un lien et bien d'autres...

Cliquer pour afficher en grand
Ecran principal

écran d'accueil

L'écran d'accueil vous permet d'accéder aux différentes fonctions de l'application.

Cliquer pour afficher en grand

Recettes

Lors de l'affichage des recettes, l'utilisateur voit le temps que cela va lui prendre ainsi que la difficulté et le nombre de personnes. Ensuite, les étapes et ingrédients sont organisés par catégories afin de faciliter compréhension.

Cliquer pour afficher en grand
Onglet Mes recettes / Favoris

Mes recettes

Dans cet onglet, l'utilisateur peut à la fois voir les recettes qu'il a créées ainsi que ses recettes favorites.

Cliquer pour afficher en grand
Onglet Recherche aléatoire

Recherche aléatoire

Dans cet onglet, l'utilisateur peut sélectionner le type de recettes qu'il souhaite, et l'application se charge de lui en trouver une au hasard.

Cliquer pour afficher en grand

Projet #3 - Workout Timer

Application web qui permet de planifier sa séance de sport. L'utilisateur choisit la durée, le temps de repos et le nombre de répétitions pour un exercice. L'application se charge alors d'afficher les comptes à rebours afin que l'utilisateur puisse se concentrer totalement sur sa séance de sport !

Settings

Ecran d'accueil

C'est la première page que l'utilisateur voit en lançant l'application. Il peut y remplir les données de son exercice.

Cliquer pour afficher en grand
Time Picker

Time Picker

Utilisation d'une librairie JavaScript pour avoir un Time Picker.

Cliquer pour afficher en grand
Settings Completed

Paramètres remplis

Une fois les paramètres remplis, l'utilisateur peut cliquer sur "START" afin de lancer l'application.

Cliquer pour afficher en grand

Application en marche

Lorsque le chronomètre est lancé, une animation affiche le temps qui s'écoule sous la forme d'un cercle.
L'application s'arrête lorsque l'exercice est totalement terminé.

Cliquer pour afficher en grand
Rest Time

Practice Time

L'utilisateur réalise l'exercice durant le temps indiqué.

Cliquer pour afficher en grand
Doubly

Rest Time

L'utilisateur se repose durant le temps indiqué.

Cliquer pour afficher en grand
<
>

  < >

Appuyer sur Echap pour quitter

Experimentations

Voici quelques projets rapides réalisés par simple curiosité, pour tester différentes choses et me cultiver.

Sorting Visualizer

Visualisation de différents algorithmes de tri, à l'aide de VueJS.
Voir le lien

Cliquer pour afficher en grand

A* Pathfinding visualization

Implémentation de l'algorithme de pathfinding A*, en affichant les coûts heuristiques, réels et totaux.

Cliquer pour afficher en grand
A* Pathfinding visualization

Double Pendulum

Implémentation des équations de mouvement du double pendule avec la méthode "Runge-Kutta".

Cliquer pour afficher en grand
Double Pendulum

Fractal Trees

Implémentation d'un algorithme de génération de Fractal trees à l'aide d'Unity3D.

Cliquer pour afficher en grand
Fractal Trees