Internships Robotics & Vision

Fulltime
Oldenzaal, Overijssel

Riwo specializes in industrial automation and machine and process control. We work on (customized) projects which are prepared in our office and commissioned onsite. Within Riwo, we appreciate an informal and collegial working atmosphere.


We differentiate ourselves by relieving our customers by supporting them in project management, organization and selection of machine controls, be in lead of automation development, but especially by investing in ourselves. Never the less, our employees make the difference. By combining the aspects mentioned above, our customer relations will turn into partnerships. 


The projects

We are currently working on the following robotics and vision projects within the R&D division:


Autonomous fruit picking and tree pruning

Together with universities and partners in industry we are developing a robotic system for autonomous fruit detection and picking, based on a cobot and 3D vision. In the winter this system should be able to perform autonomous tree pruning. Riwo focusses on the robot control, the object analytics and the overall integration. 


Fruit quality control and packaging

Riwo is developing a system for precise and high speed fruit quality control and pose estimation. This system will be places in-line with a fruit handling system such as a packaging robot. 


Bin picking

Together with a local partners we are developing a binpicker in which we try to 1) estimate the pose of non-geometrical objects, 2) track objects that move in and out of frame and 3) distinguish new from moved objects between frames. The results will be shown in a working demonstrator. 


The Internship

Our internship assignments are all related to ongoing R&D projects, so your input may end up in a real product at one of our customers.


The internship duration is three to six months. For a proper start of the internship you will be expected to write a project proposal. Together with your supervisor you will evaluate the proposal, so your mutual goals are clearly formulated. Then you will start your research and the accompanying experimentation. At the end of your internship you will present your results to your colleagues, often as a demonstrator or test setup. Naturally you will document your process and findings thoroughly, The internship duration is three to six months. For a proper start of the internship you will be expected to write a project proposal. Together with your supervisor you will evaluate the proposal, so your mutual goals are clearly formulated. Then you will start your research and the accompanying experimentation. At the end of your internship you will present your results to your colleagues, often as a demonstrator or test setup. Naturally you will document your process and findings thoroughly, so a colleague can continue with your work. 


These competences will help you achieve the goal:

  • Experience with robotics or vision
  • Experience with C++ or Python
  • An independent, curious and creative attitude
  • You like coding, but you also want to get some hands-on experience
  • Nice to have: experience with ROS and Linux 

In return we offer you:

  • Possibility to shape your own internship assignment 
  • A market-based internship fee
  • Day-to-day technical supervision
  • Working in a collegial and familiar environment


If a BSc or MSc assignment is desired instead of an internship, we may be able to adapt the assignment in accordance with your university supervisor. To be able to do this, please first ask your university of this is possible and if so, what the requirements are.


THE ASSIGNMENTS

Here is a comprehensive list of available assignments. Each assignment will be tailored to your knowledge and interests. Combinations of assignments are also possible.


Robot control

For all our projects we are continuously looking for improvements of the robot control. Challenges that we would like to tackle are:

  • Controlling the robot from a realtime system
  • Admittance control
  • Dynamic obstacle map, e.g. Octomap (voxels). The main challenge here is the speed.
  • Hybrid planning
  • Grasp generation
  • Fault handling
  • Collaboration between two robots

During your internship you may investigate how to tackle some of these issues and integrate the solutions in simulation and on the real picking robot. 


Neural nets

For both the fruit picking and the sorting we need various neural nets for classification, detection and segmentation:

  • Classification of ripeness of the fruit (size, colour)
  • Classification of quality of the fruit (rotten spots, bruises, cuts, shape) OR detection of quality-diminishing features
  • Detection of the crown and stem
  • Instance segmentation of the fruit
  • Semantic or instance segmentation of obstacles (poles, wires, branches)


For instance segmentation of the fruit, quality ripeness and detection of the crown we already have annotated datasets. We also have working Python pipelines for the individual nets and are currently porting them to C++.

Your task is to:

  • Gather and annotate images for the nets that do not have an annotated dataset yet
  • Train the nets
  • Create a C++ pipeline where all of the above neural nets are integrated
  • Optimise the pipeline for minimal memory and minimal processing time
  • Validate the pipeline in simulation (and if possible, also in the field)

Possible additions could be:

  • Realtime guarantees
  • Selection of a dataset management tool
  • Automated training pipelines
  • Remote training


ROS2 Rimote interface

Currently rViz and the command line are used as user interface for the ROS projects. We would like to integrate our ROS2 projects with our own Rimote platform. The Rimote platform allows us to remotely control, monitor and service systems. This way the orchard farmer can for example start and stop the picking process from his tablet, and a service engineer might be able to tweak some parameters.

The goal of the assignment is to:

  • Investigate communication methods, such as OPC/UA
  • Enable the following ROS functionalities in Rimote
  • Parameter get/set
  • Visualisation
  • Simple commands, such as start/stop/reset/etc.
  • Implement the communication in a project-independent way
  • Test with a wired and wireless connection


This list was last updated at 14-01-2022. For the most recent internship opportunities, please contact n.geerlings@riwo.eu