Robotics Research Software Engineer

Last updated 22 days ago
Job Type:Full Time

"We are on a mission to transform the future of grocery retail through sustained technology innovation.”

Ocado Technology is putting the world’s retailers online using the cloud, robotics, AI, and IoT. We develop the innovative software and hardware systems that power, the world’s largest online-only grocery retailer as well as the global ‘Ocado Smart Platform’. With everything from websites to fully autonomous warehouse that we design in-house, our employees need to be specialists in a wide range of technologies to help drive our business.

What does the Robotics Research Team do?

The robotics research team is working on sensor-guided robotic systems to further improve the efficiency of our operation. Our primary goal is to find the best way to deploy robots in the production of grocery orders. In order to do this, we pursue cutting-edge research into state of the art algorithms, sensing technologies, and manipulation techniques.

As part of our effort to be in the vanguard of robotics research, the team is involved in two European Union funded Horizon 2020 research projects with a number of leading European Universities:-

  • The SoMa project is concerned with using inherently compliant robotic mechanisms in order to exploit environmental constraints to manipulate objects with a wide variety of properties in highly variable environments. More details of the project and the list of other participants can be found at the project's website:
  • Ocado is the project coordinator for the project SecondHands: the aim of the project is to develop a robot that will act as an assistant to Ocado maintenance technicians that is able to understand a technician's activity and pro-actively offer assistance in a timely manner, i.e. it will behave as a second pair of hands for the technician. More details of the project and the list of other participants can be found at the project's website:

In addition to these projects, the team liaises with a number of leading universities performing robotics and/or computer vision research and we often host student interns.

We are looking for a Robotics Research Software Engineer to work on the research, design and development of novel sensor-guided robotic systems in order to demonstrate the ability of such technology to further enhance the already highly automated Ocado product delivery systems.

What we'd like you to do...

  • Participate effectively in investigating and implementing sensor-guided robotics solutions to specific automation problems.
  • Take an active role in the choice of technologies and techniques used in the delivery of robotics application demonstrators.
  • Perform mathematical modelling and algorithm development to achieve real-time sensor-guided robot motions.
  • Develop software that implements novel and sophisticated solutions to specific robotic applications.
  • Documentation of theoretical developments and their software implementation.
  • Demonstrate working pre-production systems and thoroughly test them to establish their operational limits.
  • Liase with production engineering for the purpose of aiding the adoption of newly developed solutions.

What we look for...

  • Strong A-levels including A in Maths and either Physics, Further Maths or Computing.
  • 2:1 or 1st class degree in one of the following subjects:-

* Computer Science,
* Joint Maths and Computing,
* Robotics, Cybernetics, Mechatronics or Information Engineering with a strong software engineering component.

We’d love to talk to you if you have…

Candidates are sought with strong 3D mathematical skills and experience of using them in the development of software in a number of the following domains:-

  • Analysis of robot-environment interaction, grasping and the exploitation of environmental constraints to guide robot motion
  • Robot motion planning including compliant motion
  • Impedance control
  • Machine learning techniques used in the real time control of robotic manipulation
  • Spatial occupancy and collision prediction/avoidance
  • Sensor guided robot motions, particularly 3D vision guidance
  • 3D modelling and meshing algorithms
  • Level-set methods

In addition, demonstrable experience and an understanding of the underpinning techniques (where applicable) of a number of the following is required:

  • Primary Development Language - Python,C/C++ (using the GCC toolchain and Qt4)
  • Other Languages - Unix shell scripting, Java,
  • Libraries - OpenCV, Point Cloud Library, OpenGL, OpenMesh or MeshLab, GNU Scientific Library, Numerical Recipes, Computational Geometry Algorithms Library
  • Documentation tools - Doxygen, LaTeX
  • Development tools - Git or Git Lab
  • Operating system - Linux (Ubuntu)

Experience with programming an industrial robot arm would be beneficial, but not essential providing strong programming skills in other areas can be demonstrated.

Other software development skills of interest are those applicable to real-time systems and multi-tasking/multi-threading.

What we can offer you

Technically stretching work is a given. We want you to push technological boundaries and create solutions to problems people haven’t even thought about yet; so we’ll give you the freedom and the tools and the playful, stimulating working environment you need to do what’s never been done before. While red tape’s conspicuous by its absence, rewards are plentiful: as well as a competitive salary, benefits include pension scheme, share scheme, interest-free season ticket loan and, of course, a healthy 15% Ocado staff discount (and free delivery).

Find out more about Ocado Technology at

Please note that due to the high volume of applications we will be in contact with shortlisted candidates only. If you have not heard from us within 4 weeks, please assume your application has been unsuccessful on this occasion.