Robotics Software System Engineer

Company Details

Accelerating Innovation

We are looking for a Robotics Software System Engineer on behalf of the European Space Agency (ESA) for their location in Noordwijk, The Netherlands, to join their ESTEC Human Robot and Interaction Laboratory.

The ESA Human Robot and Interaction lab, formerly known as Telerobotics & Haptics Laboratory, operates in a modern agile fashion that encourages and requires individual responsibility and innovation. The laboratory consists of a high focus, goal oriented and well organized structure that is targeting at innovating the space sector and implementing world-class space robotics projects and technology developments.

The lab is providing solutions for operating robots remotely in real-time for space and analog missions.  In the past we have developed and implemented technology demonstration missions on the International Space Station such as: HAPTICS 1& 2, INTERACT, and recently ANALOG-1.

The team of the Laboratory is composed of members with various professional and educational backgrounds centered around mechatronics and robotics. This team consists of young professional engineers, engineering doctors, and a small number of students and trainees. Our equipment consists of commercial industrial components as well as in-house developed ones. Our goal for the next years will be to integrate/implement perform robotic experiments with our in-house built robots on the slopes of Mt. Etna and a multi robot experiment from the ISS.

It is the primary purpose of this position of Robotics Software System Engineer to: develop software to have a robust remote operated robot. This includes: control software for embedded real-time systems, Linux based systems, communication of distributed systems, computer vision and robotic control. 

Please note, the successful candidate will be employed by ATG Europe and not by ESA.
The successful candidate will be tasked with, but not limited to:

Tasks & Responsibilities

  • Write high quality embedded Linux software for robotic applications.
  • Operate, test and debug and optimize robotics systems
  • Design and implement custom embedded system software for interfacing new sensors/actuators and field-bus level communication;
  • Help maintain the laboratories software frameworks for real-time control and ideally help to extend them to support embedded vision applications;
  • The work within the Human Robot Interaction Laboratory consists of engineering developments, fundamental research and project support in the domains of robotics, mechatronics, control, software and electrical engineering. Besides this, support to ESA’s industrial contracts is provided by means of technical advice and review of proposed solutions.

Requirements

  • Master´s degree or higher in Engineering, Computer Science, Physics, or proof of exceptional skills in related fields with practical software engineering experience;
  • Minimum 4 years of relevant work experience;
  • Minimum 3 years of experience writing production level C/C++; with preferable experience on C++11 (and later), real-time systems and generic programming are also highly preferable;
  • Mininum 3 year of experience of developing and debugging, in and for Linux environments;
  • Experience with modern CMake and cross compiling;
  • Mathematical fundamentals, including; linear algebra, vector calculus, probability and statistics. Experience implementing this math effectively in software (eg C++ Eigen, MATLAB, Python numpy, etc);
  • Git knowledge (branching, merging rebasing, squashing, cherry picking). Gitlab workflows and CI/CD also preferable;
  • Be a self-starter and possess a good sense of autonomy and responsibility;
  • Actively communicate and collaborate with the team and understand the importance of interactions across multiple domains;
  • Work under pressure of potential spaceflight projects and thrive on being given challenging assignments;
  • Able to work easily with international team members and communicate clearly and be confident and also able to listen and reflect on opinions and beliefs;
  • Motivated to contribute to exciting robotics research and you will have excellent problem-solving skills;
  •  Fluent in English (both written and spoken).

 The following are considered an asset:

  • Familiarity with core problems in robotics, including state estimation (Kalman filter, particle filter, etc.), SLAM;
  • Familiarity with basic computer vision concepts, including: intrinsic and extrinsic calibrations, homogeneous coordinates, projection matrices, and epipolar geometry. Some additional expertise in more advanced fields, such as 3D reconstruction, structure from motion, visual odometry, etc., is highly desirable;
  • Familiarity of Linux real-time extensions like preempt_rt;
  • Familiarity with Buildroot, Yocto, Linux from scratch;
  • Familiarity with distributed pub/sub middleware especially DDS;
  • Familiarity with google test framework;
  • Familiarity with common robotic bus protocols EtherCat, CAN etc;
  • Familiarity with Qt or Unreal Engine.

Tagged as: EtherCAT, yocto, unreal engine, linux from scratch, CAN, buildroot

Visit us on LinkedInVisit us on FacebookVisit us on Twitter