Skip to content

Plusero/ABM

Repository files navigation

ABM

By Jialin He and Gijs Boer, 2024, Netherlands

Note that Gijs and Jialin were coding together simultaneously using the Live Share feature of Visual Studio Code, and Jialin did those commits, so don't be confused why there are no commits from Gijs.

Structure of Repo

herds.nlogo is the Netlogo file that contains all the model, including schemes for sensitivity analysis in the BehaviorSpace.

folder SA_results contains the Excel files generated by BehaviorSpace, the .py files to draw the figures, and the figures drawn.

SA_Scheme.txt is the fast overview of the scheme of sensitivity analysis.

ABM_citations.enl is the EndNote library for citation.

ACKNOWLEDGMENT

This model was built with assistance from Yara Khaluf, Mark Kramer, and Gijs van der Gun, as a part of the course Agent-Based Modelling of Complex Adaptive Systems (INF34806, Academic year 2023-2024) in Wageningen University and Research, Netherlands.

The shepherding strategy implemented mainly refers to

Strömbom, D., et al. (2014). "Solving the shepherding problem: heuristics for herding autonomous, interacting agents." Journal of the royal society interface 11(100): 20140719.

and the collective movement imitates the implementation in

Van Havermaet, S., et al. (2023). "Steering herds away from dangers in dynamic environments." Royal Society Open Science 10(5): 230015.

Sincere thanks to all the great researchers, teachers and TA.

WHAT IS IT?

The purpose of the study is to gain insight into different herd-shepherd interactions, and to study the performance of different hyperparameters on the performance of the chosen shepherding strategy.

The animals follows the rules of interaction, attraction, repulsion and alignment, to determine the interactions within animals, and they determine which other animals to interact using 3 possible models, Metric, which defines that agents interact with all agents within a certain radius, Topological, a certain number of agents that are nearest, and long range, topological agents plus a certain number of randomly chosen agents.

The robot follows the shepherding strategy by Van Havermaet, Simoens et al. (2023) .

HOW TO USE IT

First, determine the number of animals you want in the simulation and set the population slider to that value. Press SETUP to create the animalss, and press GO to have them start flocking together.

The default settings for the sliders will produce reasonably good flocking behavior. However, you can play with them to get variations:

model-neighbor to have differen flocking modes

vision is the distance that each animal can see 360 degrees around it.

happyzone-max and happyzone-min are used to determine the 3 zones of repulsion, alignment and attraction.

repulsion, alignment, and attraction-weight will influence the interaction within herdanimals.

robot-repulsion is the range that robot is repulsive to the herdanimals.

randomness indicates the random movement of the herdanimals.

herd-speed-ratio is the speed of herdanimals with respect to the base speed.

bot-speed-ratio is the speed of robot with respect to the base speed.

seed-option controls the random seed.

farmer-vision determines how long can the farmer collect herdanimals.

global vision decides if the robot has global vision or local vision.

furthest-allowed and min-distance-to-herd are two parameters of the shepherding strategy.

debuggers allow you to move the robot at your will.

THINGS TO NOTICE

Controlling your random seed is crucial to reproduce results, you can do this with the chooser seed-option.

Different model-neighbor lead to very different behavior and shepherding performance, be careful! The most natural and realistic one is the long-range.

Sometimes animals could get stuck in the corner, sometimes robot and animals overlap and results in malfunctioning of the shepherding. Bugs will appear as you play with it, but the default setting should give you a decent shepherding behavior.

THINGS TO TRY

Play with all the sliders and choosers to see the effect. There are also a set of debugging buttons for you to move the robot at you will.

EXTENDING THE MODEL

There is also a major limitation of this study no validation comparing simulations results and real world data was done. Besides that, there is no mechanism to handle anomalies within this program.

Potential areas of future research could be finding mechanisms to handle anomalies, adding landscape to simulate real world situations, as local vision of robots are highly sensitive to the terrain, and reinforcement learning could be incorporated to constantly improve the performance of the strategy, or find the optimal set of parameters for handle a certain kind of animal.

RELATED MODELS

  • Flocking

HOW TO CITE

For the model itself:

https://github.com/Plusero/ABM

Please cite the NetLogo software as:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published