Technologie die de glastuinbouw verovert
De kracht van een systeem wordt bepaald door de aanwezige kennis in de glastuinbouw te vertalen naar slimme besturingssoftware en ingenieuze oplossingen op het gebied van hardware. echnische oplossingen in de glastuinbouw worden alsmaar populairder. Innovatieve oplossingen om processen te automatiseren komen vanuit alle hoeken. GreenTech is de wereldwijde ontmoetingsplaats voor alle professionals die betrokken zijn bij tuinbouwtechnologie. Op de GreenTech-beurs staan bedrijven die zich richten op productievraagstukken die relevant zijn voor telers. Zo staat ook VDL ETG Projects op de beurs met een komkommerbladsnijrobot. Deze robot gebruikt kunstmatige intelligentie in combinatie met robotpadplanning om autonoom bladknippen te bewerkstelligen. ALTEN ontwikkelt in opdracht van VDL ETG Projects de besturingssoftware voor het algehele systeem, met uitzondering van de beeldherkenning en beeldanalyse. De bladsnijrobot zal door middel van navigatie rondbewegen in de kas. Dit kan twee verschillende vormen aannemen: lineaire bewegingen over verwarmingsbuizen tussen de komkommerplanten door en automatische padwissels tussen verschillende rijen planten. Tijdens het rijden op de verwarmingsbuizen zal het systeem stoppen op gespecificeerde afstanden. Nadat de robot gestopt is, zal er een beeld worden gemaakt van het gewas met behulp van een RGBD-camera. De RGB-beelden zullen worden geanalyseerd door een machine-learning-algoritme. In combinatie met de diepte-map zal de camera uiteindelijk de exacte positie en oriëntatie van de plant kunnen teruggeven aan de besturingssoftware van het complete systeem. Met behulp van een SCARA-robot, in combinatie met een zelfontwikkelde grijper, zal het systeem naar het komkommerblad toe bewegen en het blad afknippen volgens de richtlijnen van de teler van de kas. Uitdaging De veranderende omgeving in de kas zorgt voor complex en soms ongedefinieerd gedrag, wat voor uitdagingen zorgt tijdens de softwareontwikkeling. Daarnaast is de bladsnijrobot een Research and Development (R&D) project, wat betekent dat het product nog in de eerste fase van het ontwikkelingsproces zit. Het doel is om een vernuftig en vernieuwend product op de markt te brengen, wat met zich meebrengt dat verschillende componenten van het systeem gedurende ontwikkeling kunnen veranderen. Uitbreidbaarheid en modulariteit van het besturingssysteem zijn dus van groot belang om optimaal met deze veranderingen te kunnen omgaan. Omdat het product uiteindelijk op de markt wordt gebracht met als doel een bijdrage te leveren om de snelgroeiende wereldbevolking te blijven voorzien van hoogwaardig en veilig voedsel, worden er hoge eisen gesteld aan de software. Zo zal het systeem volledig autonoom en veilig moeten opereren in de kassen. Het gewas mag hierbij niet worden beschadigd. Het systeem moet kunnen omgaan met alle mogelijke foutsituaties, om een hoge uptime te hebben, zodat het product kan worden ingezet als vervanger van de manuele bladknip. Het opensource-ontwikkelraamwerk ROS2 is gekozen als backbone voor de ontwikkeling van de besturingssoftware. ROS2 is veelvoudig getest en biedt de mogelijkheid tot uitbreiding en aanpassing van onderdelen, waardoor het uiterst geschikt is voor de ongedefinieerde omgeving in de kassen. Smacc2 en ReactiveX ROS2 biedt softwarebibliotheken en softwarepakketten, die gebruikt kunnen worden als modules, met als voordeel dat ze altijd een gestandaardiseerde manier van communiceren hebben. E é n van deze modules is Smacc2. Smacc2 is een ‘event-driven, asynchronous, behavioral state machine’, ontworpen om developers in staat te stellen om robotbesturingstoepassingen te bouwen voor meerdere robots met meerdere componenten. Het systeem heeft op deze manier een gedefinieerd gedrag. In het geval van de bladsnijrobot zal dit resulteren in de volgende states: inactief , knippen , rijden en fout . Het voordeel van een statemachine is dat het systeem robuust is tegen verandering van gedrag. Door middel van geïmplementeerde error handling kun je van state veranderen, waardoor het systeem altijd weet wat de actuele status is van de robot. Smacc2 zal worden geoptimaliseerd door het te combineren met ReactiveX (RX). RX is een opzichzelfstaande softwarebibliotheek die gebruikt wordt voor het parallelliseren van taken door het gebruik van een planner. Op deze manier kunnen verschillende taken in de statemachine gelijktijdig worden uitgevoerd, wat voornamelijk leidt tot een snelheidsoptimalisatie. Dit is een belangrijk onderdeel van de oplossing, want uiteindelijk zal het systeem vergelijkbaar moeten functioneren met een werknemer bij de teler. Dit betekent dat er gemiddeld duizend bladeren per uur moeten worden geknipt, in andere woorden: het systeem heeft 3.6 seconden de tijd per blad. RVIZ en Gabezo Naast het uitvoeren van de besturingssoftware via Smacc2 en RX, wordt er ook gebruik gemaakt van verschillende simulatie tools. Op deze manier kunnen veel situaties worden getest voordat deze worden uitgevoerd in de echte kas. Zo kun je met RVIZ het complete model inladen (robot, grijper en transporter). Dit model kan dan gecombineerd worden met een motion planner algoritme, om te testen of de robot kan bewegen naar verschillende gewenste locaties. Naast dat je dit in simulatie kunt doen, kun je RVIZ ook inzetten als visualisatie tool tijdens het testen met het echte systeem. RVIZ laat dan exact alle bewegingen van het systeem zien. Gazebo is geen visualisatietool, maar echt bedoelt voor simulatie. In Gazebo kun je de hardware rondom het systeem simuleren, waardoor je alles in detail kunt testen voordat de echte hardware nodig is. Dit is handig, omdat het gevolg van een R&D-project is dat onderdelen van het systeem kunnen wijzigen. Als er bijvoorbeeld besloten wordt om een andere grijper te ontwikkelen met een andere motorleverancier, dan kan de nieuwe driver alvast apart worden ontwikkelend. Nadat deze driver apart is ontwikkeld kan deze ook direct geïntegreerd getest worden door de simulatie in Gazebo. Naast het feit dat je robuust bent tegen verandering, is Gazebo ook een van de tools die gebruikt wordt voor testautomatisering. Testautomatisering Je kunt het gehele systeem in Gazebo testen voordat de veranderde code wordt gepusht en gereleast op de fleet van robots. Dit geeft als voordeel dat je altijd zeker weet of je code een breaking change bevat. Het besturingssysteem wordt dus getest door middel van een continuous-integration-framework. De code wordt getest door middel van unit-, integratie- en systeemtesten en deze testen worden altijd uitgevoerd en gevalideerd tijdens het releasen van een nieuwe softwareversie. Een nieuwe softwareversie wordt voornamelijk gepusht wanneer er een nieuwe feature is gemaakt, maar ook wanneer een software-bug ervoor zorgt dat het systeem zich niet gedraagt zoals verwacht. What’s next? Door het gebruik van bovengenoemde tools, heeft ALTEN een functioneel en betrouwbaar systeem ontwikkeld dat kan worden ingezet bij de komkommerteelt. De software voor de robot is inmiddels klaar voor de eerste duurtesten in de kas. Als deze met goed resultaat worden voltooid, zal in samenwerking met de teler en medewerkers van de kas het systeem verder worden geoptimaliseerd en zal de kwaliteit verhogen. Het systeem zal dan de fase van deployment ingaan, waarbij de hoofdsoftwarecomponenten tot op zekere hoogte zijn voltooid, maar waarbij deployment en security de meeste aandacht eisen. De kracht van een systeem wordt uiteindelijk bepaald door de aanwezige kennis in de glastuinbouw te vertalen naar slimme besturingssoftware. Menno Nijssen, Project-Lead ALTEN Technology
>>> Read our latest article on “Monolith, Modular, Mesh: Modern architecture for modern data platforms