transHumUs: A poetic experience in mobile robotics

transHumUs is an artistic work recently exhibited at the 56th Venice Biennale. The work aims at freeing trees from their roots. How to translate this poetic ambition into technological terms? This paper reports on the setup and the implementation of the project. It shows how state of the art mobile robotics technology can contribute to contemporary art development. The challenge has been to design original mobile platforms carrying charges of three tones, while moving noiseless according to tree metabolism, in operational spaces populated by visitors.


transHumUs: a poetic experience in mobile robotics
Guilhem Saurel 1

, Michel Taïx 1 and Jean-Paul Laumond 1
Abstract-transHumUs is an artistic work recently exhibited at the 56 th Venice Biennale. The work aims at freeing trees from their roots. How to translate this poetic ambition into technological terms? This paper reports on the setup and the implementation of the project. It shows how state of the art mobile robotics technology can contribute to contemporary art development. The challenge has been to design original mobile platforms carrying charges of three tones, while moving noiseless according to tree metabolism, in operational spaces populated by visitors.

I. WHEN ROBOTICS MEETS ART
The Venice Biennale [1] is the most important international exhibit for contemporary art. It takes place once every two years since 1895. The exhibition is distributed in many places in Venice, including ninety pavilions located in a park, each of them being managed by a nation. For the 56 th edition in 2015, the institute in charge of the French Pavilion selected the project of artist Céleste Boursier-Mougenot. The work included the so-called transHumUs project. With transHumUs, the artist intended to roll out the choreography of three mobile trees moving according to their metabolism, i.e. the varying flow of their sap when going from shadow to light. The show ran from May to November, six days a week, eight hours a day. Figure 1 shows respectively the initial sketch and the delivery of the project. Nine months separate both pictures. The purpose of this paper is to report on the research and development performed in this period, from the first meeting between the artist and the authors to the exhibition opening on the 5 th of May, 2015.
How to translate the poetic dimension of the project into technological terms? The question addresses all components of a robotics system, ranging from the design of machines capable of moving three tons (the tree and the root ball), the sensing architecture that should combine both egocentric and allocentric sensors, and the motion generation system that should translate the motion qualitative criteria defined by the artist in terms of motion smoothness and velocity. This paper does not address any theoretical challenge. Our contribution in this project has been to select the technology providers (Section II), develop an original software architecture, including user interfaces for non expert pavilion attendants (Section III) and to manage the entire project (Section V). The second main contribution has been to propose the artist motion planning and control strategies that give the feeling that trees move in full autonomy (Section IV). 1

II. SPECIFICATIONS AND TECHNICAL SOLUTIONS
The poetic ambition of the work is to free trees from their determinism by allowing them to explore the world by themselves. The ambition asks for original connections between natural and technological elements. The inspiration follows the work C. Boursier-Mougenot conducted for years [2]. The very first step of the project has been to open up a process of dialogue between the artist and the authors. What kind of trees? How are they distributed in the space of the Giardini? What does it mean for trees to move by themselves? What quality of motion is expected? What are the development and operating conditions? All questions should receive technological answers. The specifications that go out from the dialogue are the following ones: • Trees: There are three pine trees whose blooming from May coincides with the opening of the Biennale. They are about five meters high. They are alive and move together with their clod for a total mass of about three tons.
• Arena: Two trees share the space in front of the French pavilion. They should remain within a well-defined 300 square meter area (Fig. 2) made of limestone soil, whose softness depends on the weather. The third tree moves alone within the pavilion in a well-defined 50 square meter area equipped with a concrete floor. Both areas are permanent obstacle free. However they can be populated by visitors without any constraints imposing special safety zones. Visitors are allowed to approach and touch the trees.  • Motion origin: Trees are living beings. Their metabolism depends on environmental conditions and weather. The motion of the trees should take its origin in the internal state variations. This is a key point of the project: the work intends to reveal the invisible internal states of the trees. Also the two trees outside the pavilion have to coordinate themselves to avoid collision. • Motion quality: The trees are intended to move very slowly. With a velocity lower than one meter per minute, the motions should be hardly perceptible. The trees should move without any fixed direction: they should be holonomic. No noise should be perceptible by the visitors: trees should give the appearance of moving by levitation. The clod basement height should be less than five centimeters. • Operation: The project had to be concluded within six months without any possible extension of the deadline fixed by the opening of the biennale (May 5, 2015), with only two weeks of on-site test. The work should be operational until November 22, 2015, 8 hours a day, 6 days a week. It should be operated by museum staff after one-day training.
These specifications gave rise to the following technological solutions.
• Platform design (Fig. 3): Tailor-made platforms have been devised by BA Systemes, a company acting in automated guided vehicle (AGV) design and production for logistics. Each platform is made of a conveyor supported by three electrical driving wheels [3]. A vertical rotational axis passes through the contact point between the wheel and the floor. The noise of electrical motor is inaudible. Wheels can therefore turn on the spot. Synchronous drive system allows to steer the platform in any of the three directions in R 2 × S 1 : the platform is therefore holonomic. The control model is presented in Section IV. The tree sods are inserted within the conveyors while synthetic shells imitating soil and roots encapsulate the AGVs. The synthetic shells also contribute to totally cancel the remaining slight noise of the motors. • Metabolism sensor ( Fig. 4): Granier probe [4] is one of the most commonly used techniques for tree metabolism measurement [5], [6]. The probe is based on a thermal dissipation principle. It is made of two needles. A heated needle is placed above a neutral needle in the sapwood of the tree. The probe measures the difference between both temperatures. When the sap flow velocity is slow, the temperature difference is high, while it decreases as soon as the sap flow velocity increases. Granier probe sensitivity is enough to capture light changes. Light changes depend on the atmospheric conditions. They also depend on the motions of the trees' (since they are moving!). This is why we equip each tree with three probes surrounding the trunk in three different directions. When passing from sunlight through shadows, the metabolism reacts on measurable way. The measures given by the three probes are used as three inputs for motion generation (Section IV).  Those experiments allowed us to check this solution against our specifications. We found that the tree reactions to sunlight and shadows are exploitable as inputs for our systems, because when the trees would move between the sunlight and shadows, their metabolism will react in a measurable way.
• Localization: The motion arenas are well defined both inside and outside the pavilion. In order to locate the AGVs we have selected a ultra wideband (UWB) technology proposed by the Ubisense company. The technology realizes a good comprise between accuracy and stealth [7], [8]. The buildings surrounding the arenas are equipped with transmitters guaranteeing a complete coverage (Fig. 5). The trees are equipped with few small receivers hidden in the branches. An accuracy of 15 centimeters is then obtained with a high level of confidence.

III. SOFTWARE ARCHITECTURE
In addition to choosing the different hardware providers, the authors are in charge of the main software development. Figure 6 sums up the different components that have to communicate with each other.
The software has been developed to be as modular as possible. Therefore, it is easy to switch between the simulator and the production hardware. This modularity also allows to overcome the diversity in the providers' technologies, because converters are quick and simple to program.
Indeed, the sap flow sensors broadcast their results every 30 seconds on a serial cable, the AGV software expects commands as ASCII strings on a TCP socket, and the geolocation software stack is built on a .NET technology that can only be extended with modules from a proprietary framework where the dispatching frequency may vary from less than 1Hz up to 100Hz. Therefore, we took advantage of a software architecture built on an abstract message protocol, the ZeroMQ [9], [10] middleware library, that can be used for both low and high frequency sensor value retrieval and commands. ZeroMQ benefits in being programming language independent and abstracting connections and disconnection. It also implements different usual communication patterns as Client/Server, Publish/Subscribe and Push/Pull. The general idea of this architecture is to have a centralized Path Planner which is both Pulling from the inputs and Publishing to the outputs, so that any input can start and stop Pushing and any output can start and stop Subscribing at any moment, without disturbing the main process. If needed, new functionalities can then even be implemented as a Subscriber/Pusher.
A Graphical User Interface based on web technologies has also been developed in order to help the pavilion's staff to see the current situation and to foresee unexpected problems (Fig. 7). In complex cases, this also allows engineers to work remotely so that there is no need for skilled on-site staff. Please note that in nominal operation, this user interface is useless, and the system is fully autonomous.

A. Platform modeling
As we want a tree to be holonomic, in the most basic form, we need to input three variables. The specification also states that a tree should behave in a similar manner in whatever direction it goes, so we chose a polar velocity system concentric with the AGV, (v, θ , ω), where: • θ ∈ [0, 2π[ is the direction taken by the center of the AGV; • v ∈ [0, 1] is its linear velocity along the direction θ ; • ω ∈ [−1, 1] is its angular velocity. With this system, we can easily compute the output needed by the AGV, which consist of the orientation θ i of each wheel and its traction velocity v i : is the polar position of the wheel i (Fig. 8).
With this construction, we ensure the uniqueness of the instant center of rotation, so that the wheels do not tear apart an AGV (Fig. 9).

B. Motion generation
According to the specifications, the motion generation has to be generated from the tree metabolism. As we previously saw that we need three input variables, we chose to use the outputs of three sap flow sensors (s 1 , s 2 , s 3 ), normalized in [0, 1].
Two of them will be directly mapped to the linear velocity v and the angular velocity ω of the trunk of the tree:  The units of those velocities are then deducted to satisfy the specifications about the overall speed. In this case, the maximum speed of the trunk of the tree is one meter per minute (≈ 17mm/s), but the wheels of an AGV may go up to two meters per minute. Therefore we just have to multiply each v i by 17mm/s before sending it to the AGV.
A motion generation global strategy was elaborated with the artist which implies that the tree "remembers" where one of its metabolism variables was maximum or minimum. One tree will then alternately try to seek "sunlight" and "shadow" (as functions of its sap flow), in a place where he remembers how was its sap flow or in a place where it has not yet gone.
The main component of the motion generation is thus the θ parameter. Geolocation gives the absolute (x, y, α) position and orientation of an AGV, and once a destination (x goal , y goal ) is determined from the last sap flow sensor, we can compute the parameter θ : This idea addresses the space covering problem and is developed in subsection IV-D.

C. Smoothing issues
On top of that basic motion generation idea, we implemented a smoothing component that controls the maximum angular speed of each wheel. Indeed, the two AGVs which evolve in the gardens can get easily stuck in the mud, by turning their wheels and therefore digging the ground. In a same way, the AGV which is inside the French Pavilion can produce loud tire squeal when its wheels turn abruptly.
If this smoothing component detects that the difference between the curent direction of an AGV and the direction of the goal is greater than 2π/3, it can also invert the direction of the wheels to have to turn only by less than π/3. This also greatly improves the behaviour on the cusps.
A similar component works at the wheel level, but is adapted to ensure that the ICR remains unique.

D. Goal selection
The motion generation defines how an AGV would evolve alone on an infinite plane. We added some rules to ensure that the goal selection will not make the tree run straight into a wall or another AGV. These rules are detailed in Algorithm 1, but the general idea is to continuously update two maps of the area of evolution with the timestamp and s 3 at the current coordinates, so that the tables map sap f low and map timestamp will contain a heat map of respectively the areas where the sap flow is high or low (that will probably match sunlight and shadow zones) and the areas where an AGV has not recently been, in order to update the value of s 3 at these places.
Then, a finite state machine will alternate the goal = (x goal , y goal ) choosing mechanism between areas with high and low sap flows and areas where the tree has not been for a while.
In some circumstances, none of these possible goals are reachable in straight line without crossing the borders of the evolution area or the trajectory of an other AGV. In such case, defined as deadlock, the AGV must wait in its current position = (x, y). ω does not appear in this algorithm, as a tree is allowed to turn on itself even in a deadlock.
A result of such algorithm in simulation is in Fig. 12. An objective of motion generation is to guarantee a reasonable coverage of the entire inside and outside areas. Multiple runs in simulation (Fig. 12) helped to tune the controls through the normalization parameters of (s 1 , s 2 , s 3 ). In outside area motion coordination of the trees is performed in a centralized way on the basis of their respective localizations. From a formal point of view the system is not guaranteed to be free of local minima. However completeness of the algorithm is not an issue for practical reasons. Indeed operational regulations impose the staff to be permanently present to prevent any mishap. The staff is then allowed to unblock potential deadlock by giving trees new goals. In practice staff interventions occurred scarcely (less than once a week). Notice that deadlock is not an issue for the tree inside the pavilion.
return coordinates of a random minima of map end function function MAXI(map) return coordinates of a random maxima of map end function function CLEARPATH(tra jectory) return tra jectory ∩ (borders ∪tra jectory otherAGV ) = ∅ end function ▷ No obstacle between position and goal V. RESULTS

A. User Interface
The user interface is composed by a map of the Pavilion and the Giardini. AGVs are displayed in position and orientation according to the data gathered from the geolocation system (Fig. 10).
Below this map are provided several numerical indicators and controls that ease the maintenance operations that have to be performed by the pavilion's attendants. This avoids most of the time the need to control an AGV by directly plugin a joystick on it in front of the public.

B. Simulator
The short period of development on site (only one week) together with the very low AGV velocity imposed to tune the system imposed the use of a simulator. It allows to quickly check how the motion planning system would react in many different situations, that would take weeks to perform in real time.
The software blocks are the same as those described on the Fig. 6, except for the AGV and the geolocation, that are replaced by a single simulator module. Sap sensors data simulation has been done from several days real data recorded in Toulouse on a pine-tree of the same family as the Biennale trees.
On Fig. 11, we show an example the paths followed by the trees together with the tracks that would be let on the ground by the wheels in such a simulation.
(a) Center of the AGVs.
(b) Wheels of the AGVs. Fig. 11: Example of a simulation with the tracks of the tree's trunk and the wheels of the AGVs. In real life, this would approximately correspond to a 45 minutes journey. A trunk must not go out of the black polygon, but a wheel can. Fig. 12: Example of space covering simulation. On site, such coverage would have taken several days between the end of the hardware installation and the opening of the Biennale, which we had not.

C. Experimental
During the first days of tests, we realized that as the AGVs' wheels can be very quickly reoriented. It was in favor of some early tests, but introduced many issues: • a step response makes the orientation engines audible; • a quick turn of a wheel on itself leaves a permanent tire mark on the floor inside the French pavilion; • a slide of the rubber on the concrete also makes a loud shrill noise; • depending on the esplanade's soil moisture, a change in orientation of a wheel with a low traction speed is likely to dig a small trench. Then, if a trench is too deep or if multiple wheels are in trenches, the AGV has an high probability of getting stuck. This is why we implemented the smoothing component (subsection IV-C) Moreover, the software configuration of the geolocation system was not perfect from the beginning (Fig. 13). In most cases it worked exactly as expected, but unusual signal disturbance could induce inadmissible behaviours. Fig. 13: AGV trying to follow a square. Success rate can vary considerably even in similar conditions. Those issues were solved by tuning the configuration of the Ubisense's software stack.
Considering the speed of our robots, the need for safety has not been a major issue. The pavilion attendants may use the user interface to softly avoid casual heavy obstacles or a remote kill switch in case of emergency.
At the time of the writing of this article, the AGVs have been running for four months. The nominal mode has been increasingly used, from a few hours a day before the opening to entire weeks this summer. The running shows that the museum staff interventions rarely occur (less than once a week).
The main problem is the weather, as it can make the outside area impracticable for our robots. Still, the public can visit the inside of the French Pavilion in case of heavy rain.
Noiseless specification was respected, as the engines are perfectly inaudible, as long as there is no sudden turn in any wheel. And the smoothing component worked for that purpose.

VI. CONCLUSION
This paper contributes to disseminate the domain of art as an application field for robotics. Art history is rich in openings towards science and technology. Mobile robotics offers artists the unique possibility of making things moving and exploring the world, far beyond the possibilities of classical robot mechanisms that remain at fixed positions. Planned and controlled movements appear as new available components of artistic expression. Artist Robert Breer made floating sculptures moving at the end of the sixties [11]. Making trees moving six days a week during seven months, while revealing some autonomy in the strong operational conditions of Venice Biennale, has been a challenge. The challenge would not have been addressable thirty years ago. Robotics technology is today spreading quickly in arts field [12].
The solutions we have developed for transHumUs project did not ask for any new robot algorithm. The entire system has been built from existing know-how. However the devil was in the details. Translating artistic intentions into technological terms has required a lot of discussions. Motion qualities (silence, smoothness, variability, coverage) required a lot of control law tuning. While classical application domains in robotics (e.g. manufacturing, field robotics) ask for performance in completing an action (e.g. manipulation, exploration), art imposes constraints that are better defined in terms of style than in terms of actions to perform. These constraints open new issues in robot motion generation. By its very nature, the topic is necessarily multidisciplinary (e.g. [13]) and it enlarges the scope of robotics research.