Soma logo

Ocado, the world’s largest online-only supermarket, has been evaluating the feasibility of robotic picking and packing of shopping orders in its highly-automated warehouses through the SoMa project, a Horizon 2020 framework programme for research and innovation funded by the European Union.

SoMa is a collaborative research project between the Technische Universität Berlin (TUB), Università di Pisa, Istituto Italiano di Tecnologia, Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR), the Institute of Science and Technology Austria, Ocado Technology, and Disney Research Zurich.

One of the main challenges of robotic manipulation has been the handling of easily damageable and unpredictably shaped objects such as fruit and vegetable groceries. These products have unique shapes and should be handled in a way that does not cause damage or bruising. To avoid damaging sensitive items, the project uses a compliant gripper (i.e. one that possesses spring-like properties) in conjunction with an industrial robot arm.

The variation in shape of the target objects imposes another set of constraints on the design of a suitable gripper. The gripper must be sufficiently versatile to pick a wide variety of products, including Ocado’s current range which includes over 48,000 hypermarket items.

How RBO softhand could help address these challenges

The SoMa project (EU Horizon 2020 GA 645599) aims to design compliant robotic hands that are suitable for handling fragile objects without much detailed knowledge of an item’s shape; in addition, the robotic arms should also be capable of exploiting environmental constraints (physical constraints imposed by the environment). The goal is to develop versatile, robust, cost-effective, and safe robotic grasping and manipulation capabilities.

An example of a compliant gripper is the RBO Hand 2 developed by the Technische Universität Berlin (TUB). The gripper uses flexible rubber materials and pressurized air for passively adapting grasps which allows for safe and damage-free picking of objects. With seven individually controllable air chambers, the anthropomorphic design enables versatile grasping strategies.

Due to its compliant design, the robotic hand is highly under-actuated: only the air pressure is controlled, while the fingers, palm, and thumb adjust their shape to the given object geometry (morphological computation). This simplifies control and enables effective exploitation of the environment.

Integrating the RBO Hand 2 with an industrial manipulator and testing with a standard object set

The Ocado Technology robotics team replicated a production warehouse scenario in order to evaluate the performance of the RBO Hand 2 for Ocado’s use case. The team mounted the soft hand on two different robot arms, a Staubli RX160L and a KUKA LBR iiwa14. Both of these arms can operate in the standard position controlled mode; in addition to this, the KUKA provides the capability of demonstrating a certain amount of software controlled compliance in the arm.

KUKA robotic arm

We designed a set of experiments to evaluate grasping performance on an example set of artificial fruit stored in an IFCO (International Fruit Container) tray. The adopted strategies attempted to exploit environmental constraints (e.g. the walls and the bottom of the tray) to perform the gripping tasks successfully,.

RBO robotic arm

The experiments started with the simple scenario of grasping a single object from the example set using only the bottom of the tray. Initial results showed that the hand is able to successfully grasp a variety of shapes and the results suggested the chance of success increased when environmental constraints are being used effectively to restrict the movement of the object.

In the coming months, we plan to explore more complex scenarios, adding more objects in the IFCO, and introducing additional environmental constraints that could be exploited by a grasping strategy.

Graham Deacon, Robotics Research Team Leader

January 31st, 2017

Posted In: Blog

Tags: , , , , , , , , , , ,

Office kitchen

When we kicked off our Wrocław office we had only around 20 people, almost all developers, plus the head of the office. One day, the head came to us saying the office needed a development manager. Someone to help run the organisation, move us in the right directions, overcome obstacles, and inspire people. He asked each and every of us to help with the recruitment. We were going to recruit our manager.

Where to begin

The first thing that came to my mind after getting this breaking news was, ‘cool’! I, a software engineer, would have a real impact on who my manager would be and consequently what my everyday work would look like. I felt the power! But then I realised that with great power comes great responsibility…

So I started thinking about how I imagined my ideal manager. What’s important for me as a developer? And how should I measure whether a potential candidate meets the criteria?

Obviously, we were not left alone with our thoughts. We scheduled an internal meeting to discuss what we wanted to achieve and how our recruitment process would look. Our mission was to find a person who would be able to create and support happy teams in a highly effective organisation.

A development manager is neither project manager nor architect for us. We don’t require deep domain and technical knowledge. Instead, we felt the person needed to fit well in our working environment and help move us another step in our direction of travel. Sounds good, doesn’t it? But how to define a happy team or a highly effective organisation?

Some details about the way we work

The company is distributed between multiple locations (Hatfield, Kraków, Wrocław, Sofia, Barcelona). We work in small agile teams. Some of them do Scrum, some Kanban, and the rest… ‘Scrum-ban’. A few teams work as squads, without formally assigned leaders. All of us have great autonomy  —  this is one of our core values. Development managers support teams and help them grow. They look for potential improvements and directions in which we want to develop as organisation.

One of the few constants in our company is a change. We like to experiment: not only with technology but with Agile and management practices as well.

What makes organisations effective?

For me, the two main ingredients of effective organisation are: effective individuals, and good cooperation between them.

Good cooperation requires even better communication. Free and direct communication across the whole organisation (between all levels) is now a mainstream trend in all kinds of companies. It’s easy to say but harder to practice. Creating a respectful environment in which people are not afraid of voicing their opinions freely, their voices are heard and listened to, and there is trust in good intentions, is not a trivial task.

And what makes teams happy?

Sometimes I find it difficult just to define what makes me, as an individual, happy – and there are six of us in my team. One thing I am confident of is that a team cannot be happy without each and every of its members feeling happy.

Management 3.0 gives us some universal tricks when it comes to making people happy. Here is the list of twelve steps to happiness:

Looks easy, doesn’t it? But is the list complete? Does it work for everyone?

To sum up what a development manager means to us

The role is more about helping others than managing resources. It’s about listening and observing instead of talking. And most importantly, about making people learn what they need to be happy and effective and how to achieve it. Helping them by giving tools, knowledge, tips, and the freedom to use them how they like, instead of enforcing ready solutions.

The recruitment process

At this point, you should have a better feeling how this role is defined in our company. Let me shed more light on how the team played a part in the process of recruiting our manager, what we learnt from it, and how it impacted our further work.

Every candidate was scheduled a team interview – a 1.5 hour meeting with developers in our company. The aims were to:

  • Decide if the candidate would fit well in our environment and if we wanted to work with them
  • Give the candidate an opportunity to meet their potential colleagues, learn about our working environment, and decide if working with us looked like fun

At the beginning of the meeting, the candidate was asked to give us a presentation about developing great teams. This was just an entry point to the further discussion.

The course of the meeting was driven both by us and the candidate themselves, and usually differed slightly with every session. Our idea was to make it as natural and interactive as possible.

Most questions were based on the presentation, however, we had a few prepared in advance (in any interview we always want to know what a candidate expects from the role, what’s their vision, and what value they can bring to the organisation). We were also interested in their approach to handling conflicts and difficult situations, development of people, projects, teams and organisation.

We also made sure that there was time for questions from the candidate. It’s important to bear in mind that the team interview was more focussed on relations with our future coworker than on checking their knowledge.

How well did it work?

The first time we applied this process was at the end of last year, and the first successful candidate joined us in March.

Since then, we’ve found it very beneficial to get candidates exposed to the broader group of people, to the whole team with whom they’ll be working. Every person is looking from a slightly different perspective, which helps us making more informed decisions, and it gives candidates a broader insight into the company. It also helps to establish a better relationship with our future colleague from the very beginning.

We’ve found it especially important in the case of leaders and product owners. The first day our new development manager came to work I felt I knew him already, which made the conversation very natural.

He had very similar feelings. Wojtek – our first Development Manager in Wroclaw – shared his thoughts about the newly created process:

“During the team interview you have the possibility to meet the people you will be working with – hear about challenges in their daily work, what they like/don’t like. It allows you to make more informed decisions, not only compared to the recruiter or interviewer but also the website. You just feel the company culture. And believe me, it is much more important to feel this culture inside the team, during the team interview, than hear about it from a manager. It’s more impressive when (as in my case) you first observe the culture during the team interview, then hear about it from office head. You realise that you’ve just observed in practise what they are talking about. You know that it’s not a culture on paper but a living one. Last but not least, after a team interview, you’ve got ‘buy in’ from the team. You know that they accept you as their new colleague and manager and are open to work with you.”

Having software engineers involved in the decision process gives us a real impact on building the organisation, helps us to identify with results and take responsibility for them. However, it creates also some challenges, like putting aside personal objections to accept a group decision. The process is also time consuming and engages a lot of people.

Should you help recruit your next manager?

Introducing the team interview into the recruitment process turned out to be a very successful experiment, and I’d recommend you try it.

We’ve carried on with this approach for development manager positions, and have extended it for product owners as this role requires a lot of communication and coworking with the teams. Maybe one day we will do it for other positions as well…

Even if you are not interested in being a manager, it’s still good to remember ‘Management is too important to leave to the managers’ (Jurgen Appelo). Everyone has an impact on, and is responsible for, the environment around them. So be the change you are looking for!

Dorota Wojtalow, Software Engineer

July 21st, 2016

Posted In: Blog

Tags: , , , , ,

Bulgarian flag

Ocado Technology employs over 650 software engineers in the UK and Poland. We are intending to continue to grow that number significantly in both Poland and the UK in 2016. Our need for talented software developers is driven, in part, by our ambitious project to rewrite, from scratch, our end-to-end software platform to run in the cloud, to refresh all our technology stacks, and to wipe out our accumulated technical debt.

No mean feat! To enable us to achieve this, we’ve recently opened a new development centre, in Sofia, Bulgaria, complementing our development centres in the UK and Poland. These sites will develop the cutting edge software which Ocado and future retailers will depend upon to deliver high quality customer service.

Every time we open in a new country or city it brings new developers with different experiences into the company, which is a great way for Ocado Technology to be challenged internally and for us not to stagnate.

Ocado has never stood still; what many companies would consider R&D we see as business as usual innovation. So this international expansion is just one more way we continue to improve our service.

The Sofia office will grow into a significant development centre over the next few years, anyone who is part of this will benefit from the significant opportunities it creates, to grow and develop a wide range of both technical and non technical skills.

If you’re interested in joining us at the Sofia office then the current opportunities can be found on Questers

Richard Haywood, Development Manager

November 17th, 2015

Posted In: Blog

Tags: , , , , ,

Scroll Up