# Swarming Behavior Emerging from the Uptake-Kinetics Feedback Control in a Plant-Root-Inspired Robot
## 2 Materials and Methods
### Robotic Architecture, Simulated Environment and Sensing  
Root-inspired behavior was implemented first in a simulation and then in a robotic platform called Plantoid, which is a plant-inspired robot with a root apparatus where the robotic roots mimic the bending movements of plant roots thanks to the actuation of three soft springs that can elongate differentially [26]. Each root is endowed with perception capabilities by embedding an accelerometer, to detect gravity, three commercial temperature sensors, placed at 120\({}^{\circ}\) from each other, and customized humidity and tactile sensors (for details on the design and sensors, see [26]). The overall system (Figure 1) can be considered as a multi-agent system with two types of agents: a shoot agent, grouping all aerial elements (trunk, branches and leaves), dedicated in this implementation only to the collection and redistribution of nutrients, plus three root agents that search for and collect nutrients. Root and shoot agents, in the following also only called roots and shoot unless ambiguous, each have their local memory for nutrient storage with a maximal capacity (with variable name storeCapacity) for each nutrient (_Property 8_). Roots have a direct communication with the shoot in both directions to simulate the xylem channel (from roots to shoot) and phloem channel (bidirectionality). With the three soft spring robotic roots, it is possible to visualize the directional response by bending the root (Supplementary Video S1). While growth is simulated on a virtual environment created in MATLAB (R2016b, The Mathworks, Natick, MA, USA) and containing three roots where only the skeleton is visible. The simulated environment is used to plot tip positions (the apical part is at the beginning oriented downwards), the historical path (previous positions of the point at the back of the tip) and to provide a chemical stimulation to the robotic tips. Roots are stimulated with gravity and chemical stimuli. On the robot, temperature sensors are used instead of chemical sensors, thus the gradient of a nutrient is simulated with a gradient of temperature, while the other two nutrients are provided with the virtual environment to the robot. Consequently, chemical receptors on the simulated roots are localized at the same positions as temperature sensors present in the robotic root. In fact, there is a receptive site for nitrate (N), for potassium (K) and for phosphorus (P) every 120\({}^{\circ}\) along the circumference of the tip. The environment simulates static gradients of the three selected nutrients (Figure 2), drawn with a Gaussian function:  
\[G(x)=d\times e^{\frac{-(x-c)^{2}}{2\sigma^{2}}}, \tag{5}\]  
with \(\sigma\) Gaussian root mean square width, \(d\) maximal concentration and \(c\) central location of nutrient in the soil. The proof of concept works best with a simplified system so several assumptions were made. For instance, it is assumed that all nutrients are highly requested by the shoot to force the immediate sending of the total amount from roots to shoot (using _Property_ 6--alternative II in Section 2.1.3). It is assumed that there is always enough water potential to pump ions in the xylem channel, and to always have a constant optimal temperature in order to consider the influence of this factor to be negligible on the uptake-kinetics parameters. In addition, only the interaction between gravity and attractive chemicals are considered here. The aerial part in this case only works as a gateway, collecting and redistributing the absorbed nutrients. This means that processes such as photosynthesis and nutrient transformation are not modeled. Consequently, energy production, redistribution, and consumption are not considered here. Taking this simplification into account, to prevent a rapid filling of local storages, a consumption factor was introduced to decrease the root local memory, which should be in the future related to energy consumption.