Industrial embedded project dedicated to a train controlling system
Elsys Design, Grenoble (2019-present)
Industrial embedded software designer
**Keywords**: `Linux driver, Embedded system, Yocto linux, middleware, software designer, automatic test, integration test, networking, continous integration`
**Skills**: ` C, C++, Python, Rust, TCP/IP, Yocto linux, Jenkin, git`
Working as software designer (on behalf of Elsys), my current mission focuses mainly on the development of an industrial embedded software system dedicated to train controlling:
* Participate to the documentation of specification, interface description, and test planning
* Design and develop a new on-board maintenance middle-ware/service in **C, Rust**
* Participating in the development and maintenance of a **Yocto Linux** layer for the embedded Linux distribution used by one of the hardware boards of the controlling system
* Linux driver development
* Develop and test new feature of the existing software system
* Porting and test legacy softwares on new embedded board (in C)
* Setup new continuous integration test bench for the new system
Multi-robots autonomous exploration of un known environment in ROS
IMT Lille-Douai, France (2017-2019)
Post-Doc, research project
**Keywords**: `ROS, distributed system, middleware, robotic, mono and multi-robot SLAM, autonomous exploration, multi-agent, Vector map, PolySLAM`
**Skills**: `ROS, C, C++, Python, PharOS (ROS binding for Pharo Smalltak), TCP/IP, linux`
**CPER-Data** European research project: Working as researcher in the robotic domain, particularly in: autonomous navigation, SLAM, multi-robot SLAM and navigation. We worked on PolySLAM, a new SLAM algorithm that produces vector based maps (PolyMap). This kind of map proved its advantage in multi-robot context thanks to its compact format that reduces the network overhead when exchanging the maps in a collaboration (autonomous) exploration.
Software/FPGA Co-design for Edge-computing: Promoting Object-oriented Design
IMT Lille-Douai and ENSTA Bretagne, France (2014-2017)
PhD, research project
**Keywords**: `IoT, FPGA, edge-computing, middleware, Sensor network, Object Oriented, modelling, HW design, SW/HW co-design, embeded system`
**Skills**: `VHDL, middleware architecture, C, C++, Smalltalk, UML, FPGA, ARM, embeded linux, network programming, language virtual machine`
Edge-centric computing for IoT requires sensors nodes with more software capability and processing power while being constrained by energy consumption. Hybrid hardware systems consisting of FPGA and processor (ARM) offer a good trade-off for this requirement. Applications design for such hybrid network/software/hardware (SW/HW) system remains always a challenged task. Our motivation is to propose a homogeneous design methodology and environment for such system. We study the application of a modern design methodology, in particular object-oriented design (OOD), to the field of embedded systems. We aim at using OOD to develop a homogeneous design environment for edge-centric systems. Our approach addresses three design concerns: (1) *HW design, where object-oriented principles and design patterns are used to improve the reusability, adaptability, and extensibility of the HW system*. (2) *HW / SW co-design, for which we propose to use OOD to abstract the SW/HW integration and the communication that encourages the system modularity and flexibility*. (3) *middleware design for Edge Computing which rely on a centralized development environment for distributed applications, while the middleware facilitates the integration of the peripheral nodes in the network, and allows automatic remote reconfiguration both SW and HW (FPGA).*
Optimization by parallelization of the 3d elastic Free Form Deformation algorithm
DSV/I2BM/MIRCen - CEA Fontenay-aux-Roses, France (2012)
Master 2, research project
**Keyword**: `Bioinformatic, 3D image registration, image proccessing, Computer vision`
**Skills**: `Python, C/C++, openCV, linux, teamwork`
Working in bioinformatic domain, my work addresses an optimization and parallelisation solution for an elastic 3D Freeform Deformation (FFD) algorithm implemented at MIRCen. The goal is to optimize the 3D mapping of biomedical multimodal mono and inter-subject data whose volume is increasing exponentially.
Interfacing the ArcRisk earthquake simulator and the GAMA platform
Institut Francophone International and Vietnam Geophysical Institute (2011)
Master 1, research project
**Keywords**: `Simulation, GIS, GAMA, Multi-agents system, modelling`
**Skills**: `Java, GAML, GIS`
Participation in the research of modeling and simulation of complex systems, a collaboration project between IFI and Vietnam Geophysical Institute: the objective is to set up a **multi-agent** simulation model to evaluate an
earthquake rescue protocol using ArcRisk’s geographic data (GIS) and the GAMA modeling and simulation platform
Digital Asset Management System
HD2NET, Paris – France
Fullstack developer, Industrial project (internship)
Working as developer, participation in the "Digital Asset Management System" (DAMS) project, a software project for managing
multi-media files online, in a collaboration between HD2NET, EISTI University and EPITECH University, Paris.
Jarvis the DYI robot
DYI Robot system for indoor autonomous exploration and navigation
It is one of my hobby project outside of my job.
My goal in this DIY project is to make a low-cost yet feature-rich ROS (Robot Operating System) based mobile robot that allow me to experiment my work on autonomous robot at home.
More information at: [https://doc.iohub.dev/jarvis/](https://doc.iohub.dev/jarvis/)
ROS based event driven control and visualization toolkit for PhaROS
**Keywords**: ` Pharo Smalltalk, PhaROS, ROS, robotic, visualization toolkit`
**Skills**: `Smalltalk, ROS, C, C++`
A ROS control and visualization toolkit for the Pharo language (Smalltalk), it is built on top of the PhaROS client, provides the visualization API for our new PolySLAM algorithm.
Galleon and the PhaROS client have won the ***3rd Innovation Technology Awards (15th Edition)*** of **ESUG 2018**. ([https://esug.github.io/2018-Conference/awardsSubmissions2018.html](https://esug.github.io/2018-Conference/awardsSubmissions2018.html))
For more information: [https://github.com/lxsang/Galleon](https://github.com/lxsang/Galleon)
A web desktop for accessing embedded linux or linux server from browser
**Keywords**: `web OS, web technologies, Web API, UI design, system design`
AntOS is a front-end API that mimics the traditional desktop environment on the web browser. The original purpose of AntOS is to provide visual tools to access and control resource on remote server and embedded linux environment. With its application API and the provided SDK, AntOS facilitates the development and deployment of user specific applications.
For more information: [https://doc.iohub.dev/antos](https://doc.iohub.dev/antos)
And many more...
Many of my personal or work projects are hosted on my Github page at: [https://github.com/lxsang](https://github.com) or on my blog [https://blog.iohub.dev](https://blog.iohub.dev)