Nieuws DurableCASE

Lees hieronder het laatste nieuws over DurableCASE.

Vandaag vond het afsluitende event plaats met daarin reflectie op het projectverloop, bespreking van de projectuitkomsten en een live demo van de meest complexe use case in het Mobile Robotics Lab van de HAN: Samenwerkende ‘chaser bins’ voor het afvoeren van oogst, waarbij elektrisch(/waterstof) aangedreven, gerobotiseerde kistenkarren, die passen in een circulaire energievoorziening op de boerderij, die de bodemverdichting aanzienlijk verminderen omdat er per machine minder oogst hoeft te worden vervoerd, waarbij tegelijk de druk op benodigd personeel vermindert.

In de H2TRac use case is samenwerkend gedrag van gerobotiseerde ‘chaser bins’ geïmplementeerd, zowel op simulatieniveau als in de praktijk op labschaal. Deze use case is complex, vanwege planningsuitdagingen door variaties in opbrengst en snelheid van de oogster, het benodigde leader-follower gedrag, overname van een volle chaser bin door een lege en complexe keeracties op de kopakker. Hieronder video’s van een simulatie en van de praktische implementatie in het lab.

 

In de Lely use case is samenwerkend gedrag op twee manieren geïmplementeerd. Het eerste scenario is overname van taken van een robot zijn taken niet meer kan uitvoeren door een nog operationele robot, zodat de stalvloer grotendeels schoongemaakt blijft worden. Een tweede scenario is het onderling delen van resource zoals een laadstation of een ‘shared corridor’ door meerder robots. Hieronder enkele video’s van implementaties van deze scenario’s.

 

De startgedachte voor de functionele architectuur van besturing van robots die samenwerken in een team zoals beschreven in het projectvoorstel is weergegeven in de volgende figuur:

De groene blokken geven de ‘real-time motion control’ weer van de machine. De blauwe blokken representeren functies voor het automatiseren van de machine, met daarin interpretatie van de wereld om de robot en planning van missie, manoeuvres en uiteindelijk motion. De rode blokken verbinden de geautomatiseerde machine, ofwel de robot, met de buitenwereld. Dit kan een cloudomgeving zijn voor remote diagnostics en predictive maintenance, AI training, of een verbinding met het farm management. Ook kan een verbinding bestaan met een remote operator. DurableCASE richt zich op het gele deel, waarin samenwerking met andere robots wordt toegevoegd via een framework van software agents.

De architectuur van het DurableCASE RCF (Robot Cooperativity Framework) is door toepassing in 3 use cases geëvolueerd tot een hybride oplossing bestaande uit enkele centrale ‘server’ agents, waarvan er slechts één actief is in een samenwerkend team van robots, en enkele ‘client’ agents waarvan er meerdere bestaan: één voor elke samenwerkende robot.

De resulterende ‘architectural blueprint’ van DurableCASE is als volgt:

In deze architectuur zijn de betekenissen van de kleuren hetzelfde gebleven. Het RCF is in deze architectuur verder uitgewerkt met de ‘client’ agents (één voor elke robot) in geel en de ‘server’ agents in rood, omdat deze mogelijk de cloud of backend kunnen zijn geplaatst. Tijdens het project is de keuze gemaakt vanuit het RCF slechts één centrale interface te hebben met de robotbesturing. Deze interface koppelt aan het hoogste abstractieniveau van de robotbesturing, die we gemakshalve ‘Supervisory control’ noemen. Hierin veronderstelt het RCF (behavior-tree gebaseerde) functionaliteit voor robotplanning en centrale beslissingen met de nodige ‘recovery handling’. Een expliciete toevoeging is de mogelijkheid tot peer-2-peer interactie tijdens het uitvoeren van samenwerkende taken. De volgende figuur zoomt verder in op de functionaliteit van de RCF agents (groene tekst), de communicatie tussen de agents (blauwe tekst) en de gebruikte protocollen (gele tekst).

In de huidige architectuur bevat de Vehicle Operating Agent nog en task dispatcher. Toekomstige implementaties van het RCF gaan er bij voorkeur vanuit dat deze functie is geïntegreerd in de  supervisory control:

In deze architectuur communiceert het RCF en lijst van taken naar de individuele robots. Samen met de mogelijkheid om via peer-to-peer interactie lokaal samen te werken en eventuele problemen op te lossen geeft dit de robot een maximale ‘autonomy horizon’. Dit is een van de uitgangspunten van het RCF.

 

 

 

Na een onverwachte vertraging start Master thesis kandidaat Emmanuel Tomo zijn thesis waarin hij onderzoek doet naar generalisatie van de API van het DurableCASE Robot Cooperativity Framework (RCF). Emmanuel zal allereerst de laatste state of the art onderzoeken van robot fleet management oplossingen en het onderscheidend vermogen van het DurableCASE RCF scherper definiëren. Een belangrijk aspect hierbij is de maximale ‘autonomy horizon; die we aan de individuele robots willen meegeven. Vanuit de ervaringen met de verschillende use cases (Lely mestrobots, coöperatieve oogstafvoer en het coöperatieve AAN field coverage scenario) zal zijn onderzoek zich vervolgens richten op een generieke, herbruikbare interface tussen het DurableCASE RCF en de ‘high-level’ robotbesturing. Een belangrijk aspect hierbij is de balans afhandeling van onverwachte situaties op robotniveau en op teamniveau. De mogelijkheden van peer-to-peer interactie worden hierin meegenomen.

Met het beschikbaar komen van de derde robot is een eerste labscenario operationeel met twee chaser bins en een oogster. In dit scenario neemt een ‘lege’ chaser bin over van een ‘volle’ chaser bin, zodat de oogster zij werk kan blijven voortzetten. Binnen de fysieke grenzen van het beschikbare vloeroppervlak in het lab zal het gedrag van keren en overname nog verder worden geoptimaliseerd om de realiteit zoveel mogelijk te representeren. Implementatie van dit scenario levert veel leerpunten op voor het toevoegen van peer-to-peer interactie en verdere generalisatie van het DurableCASE RCF (Robot Cooperativity Framework).

PhD onderzoek aan de WUR, in samenwerking met het DurableCASE project en geïnspireerd door de coöperatieve oogstafvoer use case, zal in de nabije toekomst leiden tot meerdere publicaties. Dit onderzoek richt zich op reinforcement learning gebaseerde benaderingen voor zowel planning van de oogster als planning van de coöperatieve chaser bins. Ter ondersteuning van dit onderzoek ontwikkelt de WUR, met enige input van de HAN, een Python-gebaseerd discrete event simulatiepakket dat snelle simulaties van de voorziene scenario’s mogelijk maakt: AgRobPlanner. Een eerste paper, waarin de ontwikkeling van deze simulator wordt beschreven, is geaccepteerd voor de AgEng2024-conferentie.

In het AAN project wordt hard gewerkt aan de voorbereidingen voor een coöperatief scenario van de AAN referentie use case in de Asimovo ontwikkelomgeving. Intussen is het gelukt om op simulatieniveau twee robots te kunnen navigeren. Dit vormt de basis voor het toevoegen van coöperativiteit vanuit DurableCASE.

Studenten hebben een derde robot opgeleverd, waarmee het mogelijk wordt om meer complexiteit toe te voegen aan het coöperatieve oogstafvoer scenario. Met 3 robots worden scenario’s mogelijk waarin een team van twee coöperatieve chaser bins met een oogster samenwerken voor de afvoer van oogst.

Samen met Saxion, trekker van het AAN project, hebben we besloten om de beoogde AAN field coverage use case muit te breiden met een coöperatief scenario vanuit DurableCASE. Hierbij zullen twee veldrobots het werk verdelen en gezamenlijk door de gewasrijen navigeren, waarbij het team van twee robots de field coverage in een kortere tijd kan verzorgen. We testen daarbij gelijk de cloud gebaseerde samenwerkingsmogelijkheden van Asimovo, waarin we dit scenario gezamenlijk ontwikkelen. De gezamenlijke use case zal als voorbeeld van coöperatieve mobiele agrobots in open source worden gepubliceerd.

 

Het gecombineerde team van studenten en onderzoekers heeft vandaag een eerste coöperatief ‘mini-scenario’ operationeel gemaakt. In dit eerste eenvoudige scenario wordt een robot die een oogstmachine voorstelt gevolgd door een tweede robot die een chaser bin voorstelt. De oogstmachine rijdt een vooraf geplande route over denkbeeldige rijen gewassen en de chaser bin moet de oogstmachine volgen, inclusief draaien aan het einde van de gewasrijen. Vanwege de laboratoriumschaal omvat het scenario maximaal 4-5 gewasrijen.

 

Vanwege de opgelopen vertragingen door de Covid pandemie en de gewenste samenwerking met project AAN heeft is een projectverlenging met de duur van 1 jaar aangevraagd die intussen is gehonoreerd. De nieuwe einddatum van DurableCASE wordt daarmee 31 augustus 2024. Dit is tevens de einddatum van project AAN. Hiermee ontstaat de mogelijkheid om de resultaten goed af te stemmen. DurableCASE wil de extra tijd inzetten om goede praktische integratie en demonstratie op labschaal te doen en de oplossing te herijken met de open-source ontwikkelingen op het gebied van fleet management in de mobiele robotica.

Intussen is een verbeterde simulatie beschikbaar voor coöperatieve oogstafvoer waarbij de regeling van de autonome chaser bin op basis van (onderdelen van) de ROS2-gebaseerd Autoware.Auto software stack wordt gedaan. Extra toevoeging is een eenvoudige ‘supervisory control’ laag die de centrale communicatie met het DurableCASE framework voor coöperativiteit verzorgd. Tegelijk hebben studenten verbeteringen aan de EOX-175 op schaal aangebracht en is de labomgeving verder voorbereid voor praktische tests op labschaal.

Na goede gesprekken op ERF2022 geeft project AAN zich vandaag gepresenteerd tijdens een regulier plenair partneroverleg van DurableCASE. Beide projecten zijn goed complementair. AAN richt zich op lokalisatie en navigatie van mobiele agrobots op de akker, terwijl DurableCASE hier een framework van coöperativiteit bovenop ontwikkeld. Beide projecten richten zich op een open-source, ROS-gebaseerde oplossing. Beide projecten gaan samenwerken door tenminste elkaars ontwikkelingen te volgen. Daarnaast worden waar mogelijk de oplossingen compatibel gemaakt qua software interfacing.

De DurableCASE workshop met focus op mobiele robot coöperativiteit werd goed bezocht en het project heeft waardevolle input meegekregen vanuit de discussies met het publiek, met als belangrijkste input de bevestiging dat er behoefte bestaat aan open source oplossingen voor de beoogde coöperativiteit. Op de stand werd de geschaalde EOX-175 live gedemonstreerd door de studenten. Er werden goede contacten gelegd. Met name de interactie met mede standhouder Saxion bleek heel waardevol: Hiermee werd de aanzet tot een lectorenplatform rondom robotica besproken en reeds lopende samenwerkingsgesprekken mondden uit in de intentie om twee RAAK projecten te koppelen (Raak-mkb AAN met trekker Saxion en RAAK-PRO DurableCASE) mede op initiatief van AAN-partner Odd.Bot.    

Van 28 t/m 30 juni vindt het European Robotics Forum 2022 plaats in Ahoy, Rotterdam. DurableCASE is hier aanwezig met een stand en als onderdeel van workshop “Applying collaborative mobile robots in agriculture” op dinsdag 28 juni van 10:20-11:40. De DurableCASE stand is onderdeel van het Holland Robotics Plein met standnummer 33.

Na de laatste design activiteiten, vele 3D printuren en het nodige assemblagewerk is het dan zover: de studenten van het ‘cooperative agrobotics lab’ team hebben hun EOX175 op schaal opgeleverd. De robot is een goede lookalike geworden van de echte machine en heeft dezelfde 4-wiel stuur mogelijkheden.

In DurableCase werken we aan een leider-volger Reinforcement Learning-architectuur voor logistieke planning, die is opgesplitst in optimale padplanning voor de leader agent en operatie coördinatie van de follower agent. Het deel van de optimale padplanning voor de leader agent, dat het een Traveling Saleman Problem (TSP) oplost, is intussen voltooid met behulp van een Epsilon-Greedy Q-Learning Algoritme. Dit verschilt van de klassieke Q-Learning omdat het probeert om exploratie en exploitatie in evenwicht te brengen door middel van randomness. Door deze randomness kan de agent acties ondernemen die op korte termijn misschien niet zo logisch lijken, maar het stelt hem wel in staat om verschillende ruimtes te verkennen.

Om de resultaten te kunnen vergelijken, implementeren we ook een heuristische benadering die het TSP oplost. Beide benaderingen zijn geïmplementeerd in Python. Vergeleken met een heuristische benadering levert deze nieuwe methode ongeveer 25% slechtere resultaten op (2805 afgelegde meters versus 3500 meter).

Momenteel zijn we bezig met het verbeteren van de prestaties van het algoritme, door verschillende hyperparameters te onderzoeken en verschillende Reinforcement Learning-algoritmen te implementeren.

Hopelijk boeken we de komende weken resultaten die dichter bij de heuristische benaderingen liggen. Hieronder enkele figuren die aangeven wat we zouden doen om het TSP op te lossen. Heur_TSP is voor de heuristiek, RL_TSP is voor de RL. In rood het pad dat we nemen. In grijs alle mogelijke paden.

Voor integratie- en testactiviteiten in het lab zijn twee engineering versies van Lely Discovery Collector robots beschikbaar gekomen. De robots worden via dezelfde controller aangestuurd als de full-scale Collectors. Op de HAN zal een deel van een stal op schaal worden nagebouwd om hiermee het cooperatieve gedrag te kunnen testen dat in DurableCASE aan de robots wordt toegevoegd.

Een multidisciplinair HAN studententeam van semester 6 van diverse HAN engineering/automotive opleidingen werkt aan integratie van een labomgeving van coöperatieve mobiele robots voor onder andere de agrosector. Dit betreft een combinatie van (ROS2) simulatie en rondrijdende robots op schaal in het lab slimme voertuigen.

In het lab is een Optitrack systeem beschikbaar voor nauwkeurige lokalisatie van de bewegende robots. Dit systeem dient als alternatief voor bijvoorbeeld de GPS lokalisatie van de mobile robot dat binnen gebouwen niet goed functioneert.

De studenten werken momenteel aan een upgrade van de EOX175 van H2Trac op schaal 1:10. Het doel is om de robot een representatiever uiterlijk mee te geven. De meeste onderdelen worden in het HAN Fablab geproduceerd met behulp van lasersnijden, 3D printen, etc. Het nieuwe ontwerp ziet er als volgt uit:

De cabine kan worden losgeklikt van het chassis, waardoor een mobiele robot versie met laadvloer ontstaat. In DurableCASE dient deze versie als autonome chaser bin: een kar met kisten waarin de oogst wordt opgevangen uit de oogster en getransporteerd naar een losplaats naast de akker. Voor dit werken de studenten aan kisten die op schaal die oom met 3D-printing worden geproduceerd.

Een tweede belangrijke activiteit van de studenten is het ontwikkelen van een ROS2 gebaseerde simulatie van rondrijdende EOX175 machines op een akker. Deze simulatie wordt ontwikkeld in samenwerking met het project Automotion. Hierbij wordt gebruik gemaakt van de Autoware.auto open source software stack voor autonome auto’s. Deze software stack is ROS2 gebaseerd. Intussen rijdt een (geschaalde) EOX175 op basis van GPS-emulatie en Autoware.auto path tracking gesimuleerd rond op een akker. In volgende stappen wordt gewerkt aan Autoware.auto gebaseerde padplanning met paden die kloppen met de oogstvolorde zoals de boer die hanteert.

Het doel van een ROS2 gebaseerde simulatie is om Implementatie van de software agents van het DurableCASE multi-agent ontwerp heeft twee doelen. Ten eerste kunnen de functionele algoritmes op simulatieniveau in detail worden ontwikkeld en getest. Ten tweede kan dezelfde implementatie van deze algoritmes op fysieke robots worden toegepast. Voor de Lely use case is een eerste ROS2 simulatie-omgeving operationeel.

De Lely use case is gericht op het realiseren van coöperatieve schoonmaakrobots in een stal. De ROS2-simulatie maakt gebruik van de in DurableCASE gedefinieerde software agents, waaronder de Vehicle Operating Agent, de Cooperative Agent, de Monitoring & Logging Agent en de Forecasting Agent. Omdat de agents zich in een ROS2 netwerk bevinden kan de locatie van de agents op elke willekeurige fysieke locatie in het netwerk worden gekozen. Tijdens het onderzoek naar een goede multi-agent architectuur is al gekeken naar verschillende benaderingen in de besturingsarchitectuur van de robotsamenwerking, zoals volledig gecentraliseerd, volledig gedecentraliseerd en een combinatie daarvan (hybride).  In de ROS2 simulatie-omgeving voor de Lely use case is een hybride vorm geïmplementeerd: In elke robot bevindt zich een Vehicle Operating Agent. De andere agenten bevinden zich aan de ‘server’ zijde: dit kan een locatie in de stal, de boerderij, de cloud, of een combinatie daarvan zijn.

Het eerste gesimuleerde coöperatieve scenario gebruikt al die agenten om een robot het werk automatisch over te laten nemen van een robot die niet meer goed functioneert. Het systeem kan een foutstatus detecteren van een van de robots in de stal en vervolgens een andere robot selecteren om het werk van over te nemen. In de simulatie-omgeving bevinden zich momenteel twee robots. Beide robots worden gerepresenteerd door een eigen simulator. Hieronder is een visualisatie te zien van beide robots en voorbeeld van de interacties tussen de diverse software agents tijdens een ‘overname’ scenario.

In de architectural bleuprint van DurableCASE zijn een aantal software agents gedefinieerd, zoals de Vehicle Operating Agent, de Cooperating Agent, de Monitoring & Logging Agent en de Forecasting Agent. De eerste implementatie van deze agents, met initiële functionaliteit voor de Lely use case is een feit. De agents zijn allemaal gebaseerd op een behavior tree als kernalgoritme. Het voordeel van dit algoritme is de schaalbaarheid en modulariteit. Visualisatie van een behavior tree is zeer intuïtief en functionele componenten als onderdeel van een behavior tree kunnen eenvoudig worden gewijzigd en verwisseld.

In DurableCASE maken we gebruik van het ROS2 Nav2 Behavior Trees-pakket. Het behavior tree model wordt beschreven in een XML-bestand dat bij het opstarten van de applicatie kan worden geladen. Het gedrag wordt dan een ros2-actieserver, die zijn vertakkingen uitvoert wanneer een ROS2-doel wordt ontvangen.

In lijn met de belofte in het projectvoorstel van DurableCASE is sinds kort een demonstratie van de inzichten van DurableCASE te bewonderen. Vanwege de Covid gerelateerde vertragingen op praktisch gebied is heeft de demo de vorm van een interactieve serious game gekregen.

De game maakt dankbaar gebruik van de discrete event simulatie die in DurableCASE wordt ingezet voor ontwikkeling van de multi-agent system architectuur van robotcoöperativiteit en voor analyse van het performance potentieel van die coöperativiteit. Deze discrete event simulatie maak gebruik van Plant Simulation, een onderdeel van de Technomatix PLM software van projectpartner Siemens.

In de game kan de speler verschillende aspecten configureren van vervoer van aardappeloogst met behulp van samenwerkende EOX175 chaser bins, van de oogster naar een centraal punt. Met behulp van discrete event simulatie wordt vervolgens de ingestelde configuratie gesimuleerd, waarbij wordt bepaald hoe goed de configuratie scoort op de apsecten ‘people’, ‘planet’ en ‘profit’. De speler krijgt een video te zien van het oogstproces, waarna de score bekend wordt gemaakt.

De game is te bewonderen in het Food Forum, vlak bij de hoofdingang. De game kan tevens online gespeeld worden op het volgende webadres: https://floriade-serious-game.anvil.app/

In the agriculture sector, using small, autonomous and cooperative machines, namely multi-agent agrobots, to take over specific tasks from farmers is an inevitable trend. To have optimal and reliable logistic planning for cooperative multi-agent agrobots, researchers from Farm Technology Group in Wageningen University propose a learning-based approach using Master-Slave Reinforcement Learning, that will be researched in the light of DurableCASE.

The main challenges of using multi-agent robots for harvesting are how to plan, communicate and cooperate multiple robots to solve a range of tasks efficiently and safely. Instead of using the traditional heuristic methods to solve a travelling salesman problem (TSP), the proposed approach aims to explore power of reinforcement learning in planning and coordinating generically, using a master learner (harvester) and the joint slave learners (trucks or chaser bins).

The KPIs will focus on number of required slave robots, master robot utilization, path coverage, operation time and energy usage. Soil compaction is also an important KPI.

A student team from the new HAN Minor Mobile Robotics developed a scaled H2Trac robot platform. This robot platform will be used to integrate and validate various cooperative scenarios of the H2Trac use case at lab scale within the DurableCASE project.

A word from the student: 

“During the minor Mobile Robotics, a few elective projects were presented to students following the Minor Mobile robotics. Our project group had chosen for the durable CASE project from H2Trac. The project goal was to design an autonomous driving vehicle that mimics the capabilities and preferably the looks of the H2Trac tractor, the EOX-175. This design can be used to build multiple scaled models and test cooperative algorithms. The vehicle will also be used in demos to show the use cases of the real EOX-175. A demo for such a use case is a primary EOX-175 driving a harvester and a secondary EOX-175 driving autonomously next to the harvester with a collector bin.

The project started from scratch with the design of the scaled model. The scaled model has four-wheel drive and steering (45˚), proximity sensors, wireless communication and an indoor localization interface via Optitrack. The software runs on a Nvidia Jetson and ROS2 is used to ensure the platform is future proof. The project team managed to build a prototype and developed both the low-level (PID controller for steering and speed) and the high-level software. The scale model is also able to drive to coordinates and can communicate with other identical vehicles (currently uses our own cooperative controller and path planning implementation, this will later be replaced by controllers that are developed by the durableCASE project).

As shown in the figures the body of the model is an almost complete physical copy of the EOX-175 (1:10 scale). However the wheel assembly currently doesn’t look a lot like the real life tractor. Hence one of the main take-aways from this project is that some of the electronics don’t scale very well. Consequently, it is very challenging to make the scaled model look like its full scale counterpart. However, apart from the visual aspect, one can still conclude that the physical abilities of the model are a direct scaled down copy of the EOX-175 tractor.

Hopefully future project teams will be able to use our work to improve the design since the scaled model is fully modular and further develop the cooperative driving algorithms.”

Eind November is Thijs Broekhuijsen afgestudeerd bij Distribute met de ontwikkeling van een simulatiemodel voor de H2Trac use-case binnen DurableCASE. Het simulatiemodel visualiseert en kwantificeert de impact van (lichtere) autonome oogstrobots en Controlled Traffic Farming op de efficiency van het oogstproces en de bodemverdichting van het land. 

Met behulp van het simulatiemodel kan worden bepaald hoeveel oogstafvoerrobots (chaser bins) benodigd zijn om de oogstmachine optimaal te benutten, zonder dat er onnodig over het land gereden wordt om bodemverdichting te voorkomen. Daarnaast kan er worden geëxperimenteerd met verschillende groottes van chaser bins en hoe zwaar ze beladen kunnen worden. Met behulp van routeplanning algoritmes en verschillende afroepsystemen (waarin wordt bepaald wanneer een lege robot een volle aflost) kan de juiste balans gevonden worden tussen de totale oogsttijd, het aantal overslag wagens en diens technische specificaties en de totale bodemverdichting. Momenteel wordt bij Distribute het model verder verfijnd en in een serious game vorm gegoten voor een expositie op de Floriade.

ROS2 uses DDS for communication between nodes. A number of different implementations of ROS2 MiddleWare (RMW) exist, and as part of a cyber security semester project, a group of students from The Hague University of Applied Sciences (THUAS) compared three RMW implementations. The focus was mainly on the usability, interoperability, and security aspects of the middleware.

The THUAS students Max Aartsen, Kanta Banga, Konrad Talko, Dustin Touw, and Bertus Wisman, together with their project supervisor Mathias Björkqvist, set out to evaluate three different RMW implementations: Fast DDS and Cyclone DDS, open-source RMW implementations available with the latest ROS2 distributions; and RTI Connext, a proprietary RMW implementation, for which a university research license was obtained. The aforementioned three RMWs are the only ones currently supported by ROS2, and this is why they were selected for this project.

Each RMW supports all three mandatory security features: Authentication, Access Control, and Cryptography. RTI Connext also supports the optional Logging security feature, whereas Fast DDS supports both Logging and Data tagging, on top of the mandatory features.

The most recent ROS2 distributions are Foxy Fitzroy and Galactic Geochelone, released in June 2020 and May 2021, respectively. By default, all RMW implementations have the security features disabled. Installing Fast DDS and RTI Connext with security features enabled was relatively simple on both distributions, but for Cyclone DDS, some dependencies were missing in Foxy Fitzroy, and installing the dependencies was also tricky, so for Cyclone DDS the Galactic Geochelone distribution is recommended.

The RMWs support two communication patterns: publish-subscribe, and client-server. In our interoperability tests, with security disabled, all RMWs could communicate with each other in the publish-subscribe mode. For the client-server mode, some RMW combinations did not work, and one only worked with a specific compatibility mode turned on. After enabling security, the number of supported publish-subscribe configurations were further reduced, with only two RMW combinations working with different publisher and subscriber implementations, whereas with client-server mode, only one combination of different client and server implementations worked. Most of the interoperability issues seem to be the result of (too much) flexibility in the specification, rather than programming errors, although the latter cannot be ruled out. Some combinations are mentioned as non-working interoperability-wise on the official ROS2 website, whereas for other combinations, the issues were only discovered as part of our testing.

The final details of the study are still being verified, along with some performance measurements. For more details, contact Mathias Björkqvist – M.A.Bjorkqvist@hhs.nl

DoBots is a robotics partner company mainly active in the Lely case of the DurableCASE project. In the previous months, DoBots was busy creating a robotics development platform, which would make it simpler to develop robots against a simulated environment.

Currently, the installation of Ubuntu, ROS and ROS related packages takes a lot of time for novice ROS developers. With Asimovo you can create a ready-to-start ROS environment with a fully functional robot moving around in a virtual environment in a matter of minutes.

The first user tests will be conducted in November in a close collaboration of DoBots with the HAN Hogeschool. The students will work on the development of extensions to the H2Trac tractor platform as part of the DurableCASE project.

In the future, we are planning to test with multiple universities and add many new features, which are not available in the regular ROS environment at the moment.

We would like to extend the capabilities of Gazebo by integrating wind and water models developed by experts.

In addition to adding sophisticated world plugins, we would like to lower the barrier to create artificial intelligence algorithms on ROS-enabled robots.

The cloud hosting of the platform makes it possible to collaborate on the development of a robot and work in the same simulated environment. The user could create and share their work easily. The simulation could be easily shared with a potential client, who could zoom in and look at the robot from different angles, if needed with VR glasses. The simulation can be displayed on a phone or tablet as well and presented to others without worrying about the demo effect.

Next to extending the simulation capabilities, we are planning to offer the opportunity of renting robots in a remote lab and testing the developed algorithms on a real robot. We would like to offer a test arena for ground robots, UAV’s, and swimming robots as well.

Finally, we would like to offer the option to run hardware-in-the-loop tests in Asimovo. Hardware-in-the-loop tests make it possible to bridge the simulation-to-reality gap. It makes it possible to test in a safe environment on a real robot while providing the simulated objects as an input to the robot and simulating challenging situations.

We are really excited to create and share this platform with the robotics community! We strongly believe that it can provide a big help for students and beginners as well as extend the capabilities of ROS!

De DurableCASE software architectuur is beschreven in termen van autonome softwareprocessen, “agents” genaamd. Zo wordt aan elke individuele robot een Vehicle Operating Agent (VOA) toegevoegd om samenwerking met andere robots mogelijk te maken. Op een centrale server draaien we een Cooperativity Agent (CA), die met alle VOA’s communiceert om te zorgen dat routes worden herverdeeld als er een robot uitvalt en om te zorgen dat robots niet botsen op gedeelde route segmenten.


We hebben er voor gekozen om dit multi-agent systeem te implementeren in de infrastructuur die geboden wordt door de tweede generatie van het Robot Operating System (ROS2). In ROS2 worden agents geïmplementeerd als communicerende “nodes”. Dergelijke nodes (gecodeerd in C++ of Python) kunnen in ROS communiceren via “topics”, “services” of “actions”. Al deze primitieven zijn in ROS2 gebaseerd op industrie standaard Data Distribution Service (DDS) middleware.

Het gedrag van agents kun je direct vastleggen in de code van agent nodes. Dat zou ons systeem echter erg star maken qua ontwikkeling en onderhoud. We hebben er daarom voor gekozen om het gedrag van de agents te specificeren met behulp van “Behavior Trees”. Een Behavior Tree is een boom bestaande uit beslissingsknopen (Sequence, Fallback, Parallel), actie knopen (Actions) en conditie knopen (Conditions). Actions and Conditions zijn de blaadjes van de boom. In een BT leg je vast wanneer en onder welke conditie welke actie moet worden uitgevoerd.

Als eerste stap in de realisatie van de DurableCASE software architectuur hebben we in ROS2 een implementatie gemaakt van een generieke Behavior Tree gebaseerde agent (BT Agent). Voor het inlezen en interpreteren van BTs hebben we daarbij dankbaar gebruik gemaakt van de “BehaviorTree.CPP” bibliotheek die in ROS2 o.a. ook gebruikt wordt in de navigatie stack (Nav2). Deze BT bibliotheek kan BTs inlezen en executeren die gespecificeerd zijn in een XML file. Zo’n XML file kun je met een gewone tekst editor maken of met een speciale grafische BT editor “Groot” genaamd. De in de BT gedefinieerde condities en acties moeten vervolgens als plugins in C++ uitgecodeerd worden.

Uitgaande van de Lely use case hebben we inmiddels een eerste implementatie gemaakt van een VOA. Daarvoor moesten we eerste de communicatie tussen VOAs en CA vastleggen in termen van ROS communicatieprimitieven en ROS messages. Van Lely hebben we de specificatie gekregen van een interface naar hun embedded software. Vervolgens hebben we op basis van de generieke BT Agent software een specifieke VOA agent gerealiseerd. Wij hebben daarbij gekozen om de benodigde C++ BT plugins zo klein mogelijke te houden door taken te delegeren naar specifieke server processen die we in Python hebben gerealiseerd.

De HAN heeft een RAAK Impuls aanvraag ingediend om de impact van coronabeperkingen op DurableCASE te minimaliseren. 

Deze aanvraag is goedgekeurd. In het Impuls project zullen we de labopstelling voor integratie- en validatiewerkzaamheden op schaal voorzien van een (remote) monitoring- en managementsysteem. De labopstelling kan daarmee op afstand worden bekeken via camera’s en bediend via een webinterface. Op deze manier hopen we dat praktische werkzaamheden met de labopstelling zo min mogelijk zullen worden vertraagd door eventuele nieuwe coronabeperkingen. 

Het stof is nog niet helemaal neergedaald, maar de verbouwing van Ruitenberglaan 29, van origine het gebouw van HTS Autotechniek en later HAN Automotive, is grotendeels achter de rug. 

Op de begane grond wordt er nog druk verbouwd, maar de etages daarboven zijn vrijwel geheel in gebruik genomen. Het gebouw biedt vanaf cursusjaar 2021-2022 onderdak voor de gecombineerde opleidingen van Academie Engineering en Automotive (HAN AEA). Op de tweede etage bevindt zich labruimte slimme voertuigen (ruimte H2.04). Naast de labs op de begane grond hebben we daarmee een ruimte voor opstellingen met voertuigen op schaal. De DurableCASE labtests zullen dan ook in deze ruimte gaan plaatsvinden. De ruimte krijgt ook waardevolle instrumentatie, zoals een bewaking en bediening op afstand (via het DurableCASE-Impuls project – zie het betreffende nieuwsbericht) en een Optitrack systeem dat met hoge frequentie en nauwkeurigheid positie en oriëntatie van rijdende (of vliegende) robots kan meten.

De ruimte moet nog definitief worden ingericht, waarbij de combinatie onderwijs en onderzoek zoveel mogelijk ruimte krijgt. Een deel van de ruimte zal bestaan uit werkplekken voor studenten en onderzoekers. Vandaar de tafels op de foto’s. Ongeveer de helft van de ruimte zal dienstdoen als testruimte, met mogelijkheid om tijdelijk een groter deel van de ruimte te bestrijken met testwerkzaamheden. Voor DurableCASE betekent dit dat we een deel van een stal of een akker op schaal kunnen nabootsen en daarmee (delen van) praktische scenario’s van samenwerkende robots op schaal kunnen. De labruimte wordt gedeeld met de masteropleiding die hier in de avonden practica regeltechniek verzorgt.

Stef Bunte van Distribute heeft op 27 augustus met succes zijn onderzoek naar coöperativiteit van agrobots verdedigd. De titel van zijn onderzoek is “Introducing Cooperativeness for Agrobotics: an Agent-Based Approach”. In het onderzoek van Stef staat samenwerking van Lely Discovery Collector robots centraal. Daarbij heeft hij de basis gelegd voor een generieke Multi Agent Systems gebaseerde architectuur voor coöperativiteit van agrobots. Stef legt kort uit waar zijn thesis over gaat.

Om coöperativiteit te introduceren bij verschillende agrobotics hebben wij een Multi-Agent System ontworpen om onderlinge commutatie tussen verschillende robots mogelijk te maken. Het ontworpen systeem is generiek opgebouwd zodat het toepasbaar is meerdere cases en bestaat uit zes verschillende agents met elk zijn eigen taak. Het ontwerp is getest met een case van twee Lely Discovery 120 mestrobots. In deze case is zijn drie scenario’s getest: (i) taakoverdracht, (ii) gedeelde faciliteiten en paden en (iii) een volledig autonoom planningssysteem. Hieruit is gebleken dat wanneer dit systeem geïmplementeerd wordt er gemiddeld meer mest in de stal ligt, maar de maximale ligtijd is gereduceerd.

Om coöperativiteit te introduceren bij verschillende agrobotics hebben wij een Multi-Agent System ontworpen om onderlinge commutatie tussen verschillende robots mogelijk te maken. Het ontworpen systeem is generiek opgebouwd zodat het toepasbaar is meerdere cases en bestaat uit zes verschillende agents met elk zijn eigen taak. Het ontwerp is getest met een case van twee Lely Discovery 120 mestrobots. In deze case is zijn drie scenario’s getest:

  • taakoverdracht, waarbij in het geval van wanneer een robot buiten werking is de taken worden overgenomen door een andere robot.
  • gedeelde faciliteiten en paden, waarbij de dump plaatsen voor mest en staldelen niet specifiek toegeëigend meer zijn aan een bepaalde robot.
  • een volledig autonoom planningssysteem waarbij er niet meer wordt gereden volgens een vast routeschema maar alle routes bepaald en gepland wordt door een heuristiek.

Deze heuristiek werk op basis van een Arc Routing Problem. In dit soort gevallen wordt er een netwerk gecreëerd van arcs en nodes. In een stal is er een node geplaatst op elke kruising en zijn deze allen verbonden met elkaar door arcs. In dit geval wordt de stal ook opgedeeld in meerdere sectoren. De heuristiek begint met het bepalen van de meest urgente sector om schoon te maken, dit is bepaald aan de hand van de tijd van het laatste bezoek. Wanneer deze bepaald is gaat de heuristiek op zoek naar de robot die de sector gaat schoonmaken. De uiteindelijke route wordt gemaakt door bij elke node te kijken wat de beste volgende optie is om heen te gaan. Hier zijn nog verschillende mogelijkheden ingebouwd. Eentje waarin de arcs kunnen worden opgedeeld en eentje waar arcs prioriteit krijgen boven andere.

Uit de simulatiestudie is gebleken dat wanneer het Multi-Agent System geïmplementeerd wordt er gemiddeld meer mest in de stal ligt, maar de maximale ligtijd is gereduceerd. Dit is het geval in elk scenario. Verder is gebleken dat prioriteit geven aan arcs een positief effect heeft op het resultaat. En de beste communicatiestrategie voor het Multi-Agent System is om ten minste een communicatie range van 10 meter te hebben tussen de robots en het centrale punt. Dit betekent ook dat de hybride benadering net zo goed presteert als een centrale benadering.

Het organiseren van een veilige samenwerking tussen robots kent meerdere uitdagingen. Waar bij robots vaak gesproken wordt over de veiligheid van interacties met de fysieke wereld, staat tijdens dit project ook een beveiligde oplossing in de digitale wereld centraal.  


 

De EBIOS RM methodologie, ontwikkeld door de Franse National Cybersecurity Agency (ANSSI), is een “Design Thinking” achtige aanpak voor het identificeren en mitigeren van cyberrisico’s. Aan de hand van 5 interactieve en iteratieve workshops worden de deelnemers meegenomen in het identificeren van high-level doelstellingen en richtlijnen, en vervolgens helemaal naar beneden naar de low-level keuzes die gemaakt kunnen worden over het concreet inrichten van de gewenste cyber hygiëne.

Tijdens deze workshops zijn er interessante discussies ontstaan over waar nu precies de verschillende stakeholders in de avond van wakker liggen. Tot verrassing van sommige deelnemers bleek het thema privacy wel degelijk een gespreksonderwerp om dieper op in te gaan. Hoewel de interne software en processen van de robot natuurlijk inzicht aan concurrenten kan geven over de precieze werking van de robot, vertelt het gedrag van de robot juist veel over de eigenaar die de robot gebruikt. Maar in het werkveld van informatie beveiliging zijn alle gebruikers ook potentiële misbruikers en zijn gedurende de workshops ook de nodige scenario’s besproken waarin er door de gebruiker frauduleuze acties worden ondernomen.

Als resultaat van de security workshops is er een lijst met requirements opgesteld waaraan het reeds gestarte ontwikkelproces nu invulling dient te geven. Naast de nodige richtlijnen met betrekking tot de operationele veiligheid en monitoring van de robots is een duidelijke focus gelegd op het definiëren van rollen en rechten. Een belangrijk aandachtspunt in deze rollen en rechten is de correctheid van authenticatie processen en versleutelde communicatie.

Om tot een goede cyber hygiëne te komen moet er tijdens iedere stap in het ontwikkelproces gekeken worden naar hoe zaken als authenticatie en monitoring invulling krijgen. Los van gesprekken over welke computerbesturingssystemen als veilig worden beschouwd en gesprekken over versie-beheer van netwerkprotocollen, betekend een goede cyber hygiëne ook dat er op het abstracte niveau van modellen over multi-agent-systemen keuzes over security moeten worden gemaakt.

Als concrete invulling van de aspecten authenticatie en monitoring is één van de eerste security keuzes van de DurableCASE, de implementatie van de anomaly-agent. Het is vooraf lastig te bepalen welke signalen aangeven dat er een digitale aanval plaats vindt, maar wat we wel kunnen detecteren is dat er gedrag van en tussen robots plaats vindt dat anders is dan normaal. Waarom zou opeens een sensor proberen te communiceren over het Internet als deze enkel dient te praten met de fysieke motor? En waarom zou opeens een motor heftig beginnen te fluctueren in snelheden als deze gewoon constant dient te draaien? De anomaly-agent gaat het detecteren van deze abnormaliteiten als taak hebben.

 

Partner Distribute werkt samen met Universiteit Twente aan het Multi-Agent System (MAS) ontwerp voor DurableCASE. Dit MAS is generiek ontworpen zodat het toepasbaar is voor een verscheidenheid aan cases voor agrobotica. Het MAS onderkend in drie verschillende niveaus. 

Distribute heeft een Multi-Agent System (MAS) ontworpen voor dit project. Een MAS is een (semi-)zelf organiserend systeem, bestaande uit verschillende stukjes software, zogeheten agents worden genoemd. Elk van deze agents is verantwoordelijk voor een bepaalde taak en kan beslissingen op zich zelf maken om hun eigen doelen na te streven. Door samen te werken met andere agents, kunnen ze gezamenlijke doelen behalen op een doorgaans efficiëntere en robuustere manier dan wanneer één centraal software-systeem dit op zich neemt.

Het MAS voor de DurableCASE is generiek ontworpen zodat het toepasbaar is voor een verscheidenheid aan cases voor agrobotics. Het MAS is opgedeeld in drie verschillende levels, zoals afgebeeld in het figuur. Een lower level wat de basis functionaliteiten moet aansturen van de robot. Een mid level waar de intelligentie van het systeem in zit. En een high level wat bestaat uit data opslag en gebruiker interactie.

Het MAS kan op drie verschillende manieren worden ingezet: (i) volledig decentraal, (ii) volledig centraal of (iii) een hybride variant tussen decentraal en centraal in. In de decentrale benadering leven de intelligente agents op de robot zelf. Dit heeft als voordeel dat de robot hier continu gebruik van kan maken, ook als bijvoorbeeld de internetverbinding wegvalt of hapert. Een nadeel hiervan is dat er ook veel communicatie nodig is tussen de robots om af te stemmen welke taken door welke robots worden gedaan. De centrale benadering heeft de intelligente agents op een centraal punt zitten. Omdat de intelligentie op één vast punt zit, is het mogelijk om globaal te optimaliseren op basis van informatie uit het gehele systeem. De laatste benadering, de hybride benadering, is een tussenweg. Met deze benadering kunnen de robots zelf een aantal handelingen zelf uitvoeren en communiceren met andere robots in het systeem. Op bepaalde fysieke locaties heeft de robot de mogelijkheid om globale informatie op te vragen, bijvoorbeeld bij een laadpaal.  Aan de hand van deze informatie kunnen – lokaal genomen beslissingen – gewijzigd worden. Deze benadering kan goed functioneren in dynamische omgevingen waar communicatie niet altijd stabiel is, maar waar instructies van hogerhand af en toe nuttig zijn om de operatie te stroomlijnen.

Om het MAS te toetsen, wordt er momenteel gewerkt aan een tweetal simulatie studies: één voor Lely en één voor H2Trac. Voor de Lely case is er inmiddels besloten om allereerst de hybride benadering te toetsen

In het DurableCASE-project wordt gewerkt aan een blueprint voor een architectuur van systemen met coöperatieve robots. De architectuur moet op een dusdanig abstract niveau zijn dat deze ook buiten het project te implementeren is. Samen met domeinexperts binnen het project (Hogescholen, Universiteiten, bedrijfsleven), modeleren we tijdens werksessies deze architectuur op basis van thema’s zoals robuustheid, security en interfacing (communicatie-protocollen). We hebben elementaire taken en eigenschappen gedefinieerd zodanig dat ze een onderdeel kunnen zijn van een generieke coöperatieve architectuur. De focus hierbij ligt op het coöperatieve gedrag van de robots en de onderlinge interfacing.

Een van de doelen van het DurableCASE-project is om tot een abstracte architectuur te komen voor systemen met coöperatieve robots. Gedurende het project wordt aan de casussen van Lely en H2Trac gewerkt. Hierbij komen casus-specifieke aspecten aan bod die te maken hebben met de functionaliteit van beide casussen, waar coöperatief gedrag op een robuuste manier aan toegevoegd moet worden. Elke situatie is anders, zo rijden de robots van Lely een route door een schuur met koeien om deze schoon te maken. De robots van H2Trac rijden door gewassen om te oogsten. Hiervoor hebben beide robots andere software en hardware nodig. Om de schuren schoon te houden moeten de Lely-robots bijvoorbeeld routes rijden, water op de vloer spuiten en rekening houden met koeien. Terwijl de H2Trac-robots onder andere rekening moeten houden met de ruimtes op de velden en het vullen van losse containers met de oogst. Toch zijn er ook veel overeenkomsten zoals het managen van de capaciteit van de robot en het batterijniveau. En ook in het normale gedrag van de robots als je dit naar een hoger abstract niveau tilt: de robots moeten taken uitvoeren, rijden, weten waar ze zich bevinden en status rapporteren. Dat geldt ook voor het coöperatieve gedrag. Zo weten we dat de robots elkaars taken kunnen overnemen en dat bepaalde onderdelen van het systeem met elkaar kunnen interfacen, maar wanneer dit gebeurt en wat er gerapporteerd wordt is implementatie-specifiek. Zo willen we tot een architectuurmodel komen dat herbruikbaar is als template voor andere situaties met coöperatieve robots buiten het DurableCASE-project.

Om tot een eerste versie van de architectuur te komen hebben we vanaf het begin van het project werksessies georganiseerd. Vaak gebaseerd op een onderwerp zoals robuustheid, security of de robot en het coöperatieve gedrag. In eerste instantie om kennis op te doen van de manier waarop coöperatieve systemen in elkaar zitten en moeten zitten, maar ook om een gezamenlijk begrip te krijgen van de termen en basis van de architectuur. Het gedeelte dat we met het project toe hopen te voegen aan de bestaande systemen, het coöperatieve gedrag, moest nog gedefinieerd worden. Omdat er gedurende het project ook steeds aan de specifieke casussen gewerkt wordt, maakt dit de abstracte architectuur ook een product dat zich nog altijd verder ontwikkeld. In een later stadium van het project hebben we ook samen met verschillende projectleden uit andere disciplines (Universiteiten, Hogescholen, bedrijfsleven, etc..) geprobeerd om samen te modelleren en de architectuur verder uit te specificeren. Hierbij hebben we ook veel gebruik gemaakt van het ontwerpwerp van Distribute voor de Lely-case volgens de Prometheus methode. Voor het modelleren is gebruik gemaakt van Draw.io.

In de abstracte architectuur focussen we ons vooral op het coöperatieve gedeelte omdat wij dit willen toevoegen aan het bestaande systeem. We hebben bepaald dat dit nieuwe gedeelte moet communiceren met een supervisory controller, een soort entrypoint in het systeem. Als je het coöperatieve deel van het systeem weghaalt, moet het systeem als voorheen functioneren. Het is belangrijk om te bepalen waar de interfacing plaats vindt omdat het coöperatieve gedrag het bestaande gedrag moet gaan beïnvloeden. Losse aspecten van het coöperatieve gedeelte moeten heb nieuwe gedrag bepalen en doorspelen naar de robots om zo de “missies” of “manoeuvres” aan te sturen.

Om het gedrag van het systeem te beïnvloeden moeten we kennis hebben van enkele aspecten van het systeem: de locatie waar de robot zich bevindt, de directe omgeving, de status van taken of calamiteiten die gemonitord zullen worden. Al deze informatie wordt opgeslagen in hiervoor gedefinieerde “agents”, gedefinieerd volgens de Prometheus methode. Elke robot in het systeem zal een eigen “operating agent” hebben die luistert naar de “cooperative agent”. Wat hier gecommuniceerd een aangestuurd wordt kan verschillen per situatie omdat in elk systeem andere taken of prioriteiten kan hebben. Zo kan elke systeem hele andere eisen hebben rondom de security of over wanneer er een calamiteit plaatsvindt waar het coöperatieve gedrag op moet reageren door één of meerdere robots aan te sturen. Hier kan onder andere ook configuratie van doelen of regels van invloed op zijn, evenals de mogelijkheid dat het systeem voorspellend gedrag vertoont over mogelijke malfuncties, kritieke situaties of onverwachte calamiteiten. 

Wat dat precies betekent in bijvoorbeeld de casussen van Lely en H2Trac wordt los gespecificeerd in dit project met hiervoor geplande trajecten. Hiermee wordt ook onze architectuur verder gevalideerd en verbeterd. Het kan dienen als template voor het verdere design en de implementatie. Dat is ook het doel van deze abstracte architectuur: om tijdens maar ook na het project als product te dienen voor het ontwerpen en ontwikkelen van systemen met coöperatieve robots.

Autonome volgwagentjes met kisten die hun lading zelf gaan wegbrengen, terwijl een lege wagen aansluit en gevuld wordt? Dat past in het project DurableCase. Want onze Nederlandse landbouw kent meer innovatieve ontwikkelingen dan enige andere economische sector!

Het project DurableCase (Durable Cooperative Agrobotics Systems Engineering), waarin HAN Automotive Research samenwerkt met andere kennisinstituten, hogescholen en het bedrijfsleven, richt zich op de ontwikkeling van deze volgzame kistenkarren.

Op dit moment rijdt er, naast de oogsttractor, een andere tractor mee met een grote aanhanger die gevuld wordt met bijvoorbeeld wortelen. Als deze aanhanger vol is, is het gewicht zo hoog dat de grond ongewenst verdicht wordt. Een oplossing zou dan zijn te gaan rijden met kleinere aanhangers, maar dan moet de volgtractor telkens terugrijden of moeten meer volgtractoren ingezet worden.

Door slim gebruik te maken van een Robot Operating System (ROS) kunnen kleine autonome volgkarren worden ingezet, die zelf bepalen wanneer ze hun lading gaan wegbrengen en dan een andere autonome volgkar laten aanhaken die door de oogsttractor gevuld wordt.

Samen met studenten Automotive gaat Jan Benders (jan.benders@han.nl) hier mee aan de slag, zodat het eindresultaat op de Floriade 2022 in Almere gepresenteerd kan worden.

Bron: Nieuwsbrief Automotive Research

 

Contact informatie​

Projectleider

Jan Benders MSc
Program Manager Control Systems –
HAN Automotive Research
Jan.Benders@han.nl
+31(0)6-12537646

DurableCASE is een RAAK-PRO project, gefinancierd door Regieorgaan SIA.