Simulation is at the core of the development process at Wandercraft. It helps reduce costs, certify product functionality and safety, and accelerate the production launch of new algorithms. It has multiple uses:
Replacing some tests on real robots, to postpone deployment on a real system as far as possible
Fine-tune automatically parameters of control algorithms
Validate theoretical properties of control schemes and calibration procedures
Analyze rigorously and quantitatively the performance of control algorithms and monitor the progress (e.g., determine the maximum external disturbance before total loss of balance as a function of direction and walking phase, the maximum height of ground irregularities before causing a fall, etc.)
Reproduce unforeseen and undesirable behaviors that only occur under very specific conditions, which are difficult to achieve in practice
Generate synthetic data for training control policies using reinforcement learning
Wandercraft actively contributed to the development of the open-source simulator for Jiminy poly-articulated robots over the last few years. Jiminy already reproduces fairly accurately the dynamics of the exoskeleton. Notably, it has been a core component of a scientific publication about learning reactive stepping emergency push-recovery strategies in simulation and transfer to reality (see video), which demonstrates its maturity. Nevertheless, there is still room for improvement in many aspects. You will be involved in improving the simulation tools used daily in Research and Development at Wandercraft. You will report to the control team, but will also work closely with the mechanics, electronics and embedded systems teams on specific topics.
Several areas for improvement are considered. The final choice will depend on the areas of expertise and wishes of the selected candidate:
Realism, in particular collision detection and impact modelling
Performance, through more efficient mathematical formulations or algorithms, elimination of redundant calculations, or optimized use of available scientific computing libraries and processor instructions
User interface, enabling the robot to interact with the simulation environment (external forces, moving obstacles, …etc.) or to control the passage of time
System identification, by designing a set of minimal experiments to quantify the simulator’s reliability and accurately identify unknown parameters in the dynamic model, whether associated with structural deformation, the input-output law of transmissions, or patient-robot interaction
Integration, involving simulation more closely in offline trajectory generation, online prediction of foot impact time, calibration procedures, or reinforcement learning algorithms.
Internship preferably for 6 consecutive months, minimum 5 months. Telecommuting is not possible.
Diploma: BAC +3 / Last year of master’s or engineering school, gap year
Skills
Python programming (functional and object-oriented): autonomous
C++ programming: autonomous
Newtonian and lagrangian mechanics of the rigid body: autonomous
Poly-articulated systems dynamics algorithms: basic knowledge
Command and control for poly-articulated robots basic knowledge
Git: basic knowledge
Docker: basic knowledge
This job offer is also available in French language on request.
Ces entreprises recrutent aussi au poste de “Engineering R&D”.