• No results found

A Singing Drone Choir

N/A
N/A
Protected

Academic year: 2021

Share "A Singing Drone Choir"

Copied!
133
0
0

Loading.... (view fulltext now)

Full text

(1)

IN

DEGREE PROJECT COMPUTER SCIENCE AND ENGINEERING, SECOND CYCLE, 30 CREDITS

STOCKHOLM SWEDEN 2017,

A Singing Drone Choir

VINCENT TRICHON

(2)

A Singing Drone Choir

VINCENT TRICHON

Master in Computer Science Date: 2017-09-20

(3)
(4)

Dedicated to my Mother and Julien.

(5)

Contents

1 Introduction 4

1.1 Motivation . . . . 4

1.2 Context . . . . 4

1.3 Contribution . . . . 5

1.4 Limitations . . . . 6

1.5 Societal, ethical, and sustainability aspects . . . . 6

1.6 Outline . . . . 7

2 Related Work 8 3 Background 11 3.1 Modelling the dynamics of a quadrotor X . . . . 11

3.1.1 The X design . . . . 11

3.1.2 Reference frames . . . . 11

3.1.3 Rigid body dynamics . . . . 12

3.1.4 Action of one rotor . . . . 12

3.1.5 Combined action of the rotors . . . . 13

3.2 Motion planning strategies . . . . 13

3.2.1 Implicit methods . . . . 14

3.2.2 Explicit methods . . . . 15

3.3 Discussion . . . . 16

4 Design and Building of the Quadrotors 18 4.1 Parts selection . . . . 18

4.1.1 The frame . . . . 18

4.1.2 The flight controller . . . . 20

4.1.3 The motors . . . . 21

4.1.4 The propellers . . . . 24

4.1.5 The ESC . . . . 24

4.1.6 The onboard computer . . . . 25

(6)

4.1.7 The speaker . . . . 25

4.1.8 The battery . . . . 25

4.1.9 Miscellenous parts . . . . 26

4.2 The design . . . . 27

4.3 Discussion . . . . 30

5 The Stage: Setting up the Flying Area 31 5.1 The location . . . . 31

5.2 Hardware . . . . 31

5.3 Software . . . . 33

5.4 Safety measures . . . . 34

5.5 Discussion . . . . 34

6 Control of the Quadrotors and Implementation 36 6.1 General control architecture . . . . 36

6.2 Control by the PX4 flight controller . . . . 38

6.3 Trajectory control: Using potentials . . . . 38

6.3.1 Design of the potentials . . . . 39

6.3.2 Trajectory convergence . . . . 44

6.3.3 Prediction Step . . . . 46

6.4 Implementation of the potentials . . . . 47

6.5 The motion library . . . . 47

6.5.1 Hardcoded motions . . . . 48

6.5.2 Interactive motions . . . . 48

6.5.3 Playback motions . . . . 48

6.6 The “Choreographer” . . . . 49

6.6.1 Description . . . . 49

6.6.2 The syntax . . . . 49

7 Simulation and Visualization Tools 52 7.1 Quadrotor Simulation: PX4 SITL . . . . 52

7.2 Simulation inROS . . . . 53

7.2.1 Implementation . . . . 53

7.2.2 Hybrid simulation . . . . 54

7.3 Web user interface . . . . 54

7.3.1 Architecture . . . . 56

7.3.2 Security . . . . 56

7.3.3 Use . . . . 56

7.3.4 Discussion . . . . 57

7.4 Visualization tools . . . . 58

(7)

7.4.1 Automatic trajectory plotting . . . . 59

7.4.2 Automatic potential visualization . . . . 59

8 Experiments and Results 61 8.1 Hardcoded motions . . . . 61

8.1.1 Experiment 1: Lines and Circle . . . . 61

8.1.2 Experiment 2: Drone Avoidance . . . . 68

8.1.3 Experiment 3: Dancer Avoidance . . . . 77

8.1.4 Experiment 4: Crash Test . . . . 83

8.2 Interactive motions . . . . 89

8.2.1 Experiment 1: Dancer Following . . . . 89

8.2.2 Experiment 2: Dancer Interactions . . . . 96

8.2.3 Experiment 3: Hand Motions . . . 104

9 Conclusions and Future Work 117 9.1 Conclusion . . . 117

9.2 Future work . . . 118

Bibliography 120

(8)

Abstract

Drones have a new emerging use case: performing in shows and live events.

This master thesis has been driven by an artistic project invited to take part in a full-scale operatic performance in the Croatian National Theatre Ivan Zajc in Rijeka, Croatia, in 2019. This project merges technological re- search with ancient theatrical and operatic traditions by using drones as an opera choir. After describing the process of designing and building a fleet of quadrotors equipped with speakers, we present a reacting and interacting motion planning strategy based on potential fields. We analyse and evalu- ate our drone design with its control strategy on simulation and on a real drone.

(9)

Sammanfattning

Droner har ett nytt framväxande användarfall: att delta i show- och live- evenemang. Detta examensarbete har drivits av ett konstnärligt projekt som inbjudits att delta i ett fullskaligt opera-uppträdande i den kroatiska nationalteatern Ivan Zajc i Rijeka, Kroatien, 2019. Detta projekt förenar teknisk forskning med gamla teatraliska och opera-traditioner genom att använda droner som en operakör. Efter att ha beskrivit processen att des- igna och bygga en flotta quadrotors utrustade med högtalare presenterar vi en reagerande och interaktiv rörelseplaneringsstrategi baserad på poten- tiella fält. Vi analyserar och utvärderar vår drone-design med sin kontroll- strategi för simulering och på en riktig drone.

(10)

Acknowledgments

I would like to thank Hedvig Kjellström for proposing me and supervising this master thesis, Patric Jensfelt for his support along this project and Dan- ica Kragic Jensfelt for being my examiner. Åsa and Carl Unander-Scharin are at the origin of this project, and I am grateful for our collaboration. Leif Handberg opened us the doors of KTH R1 to setup a temporary flying area there. Also, I would like to thank everyone involved in UAV activities at CAS RPL, Antonio Adaldo for our discussions at the beginning of this project and Kristina Höök for her support.

(11)

Chapter 1 Introduction

1.1 Motivation

Let us imagine an opera singer dancing and singing with a flying choir, re- acting and interacting with each other through their movements according to the music. However, this is not your typical opera choir, it is formed of custom made quadrotors equipped with a speaker. For such robotic per- formance to come to light, having agile performers like the quadrotors is not enough. Indeed, first it requires a flying area equipped with a local- ization system and appropriate security measures for the performance to take place. Then the drones need to have a motion planning strategy en- abling them to react and interact with a dynamical environment without crashing into each other or into the dancer. And finally, the dancer needs to be empowered to interact with the drones and their singing so that the synchronization of the music and the motions create an expressive chore- ography.

Although challenging, this is now possible to undertake, thanks to the recent developments in flying drone control. Initiated by composer

Carl Unander-Scharin and choreographer Åsa Unander-Scharin, who have both internationally acclaimed robotic art-works behind them, this robotic choir is meant to merge technological research with ancient the- atrical and operatic traditions.

1.2 Context

During ancient times, the choir had the major function in the classical

(12)

ters in the drama. Åsa Unander-Scharin and Carl Unander-Scharin aim to create a robotic choir, consisting of small flying drones equipped with a sound mechanism so that they can react and interact with human singers through their motions and their singing as individual agents and as a group. This project, ReCallas, has been invited to take part in a full-scale operatic performance in the Croatian National Theater Ivan Zajc in Rijeka, Croatia, in 2019.

1.3 Contribution

This master thesis is about the engineering part of the ReCallas project. It describes the hardware, the software and the integration steps that make this project possible. Specifically, there are four contributions:

1. We have designed and built a fleet of singing quadrotors. In Chap- ter 4, we provide a way to build custom drones with a speaker on- board connected to the onboard computer. These small quadrotors weight less than 1200g, they can fly for 8-10min and are relatively quiet allowing them to sing via their speaker while flying.

2. We have designed and implemented a motion planning solution en- abling the quadrotors to react and interact with the dancer and the music as an opera choir. In Chapter 6, we implement and adapt a mo- tion planning strategy based on potential fields to meets our require- ments and constraints. It allows multiple quadrotors to fly according a choreography and at the same time interact with a dancer/singer through their motions.

3. We have created a scripting language to choreograph such perfor- mance. In the end of Chapter 6, we describe our solution to synchro- nize the movements of all the drones with those of the dancer and the music.

4. We have integrated all the previous contributions into a flying platform/environment that will be used by Åsa Unander-Scharin and Carl Unander-Scharin for their project ReCallas. In fact, in this master thesis, we setup a mobile flying area (Chapter 5), we built quadrotors (Chapter 4), we designed a control solution with its visualization tools and simulation environment (Chapter 6-7), we created a way to orchestrate complex and interactive choreographies (Chapter 6) and we integrated everything into a flying platform.

(13)

1.4 Limitations

The project ReCallas will have many scientific contributions in terms of in- teractive design but they are not the focus of this master thesis. Also, we do not evaluate the expressiveness of the drone motions in this thesis.

1.5 Societal, ethical, and sustainability as- pects

Before discussing the sustainability aspects of this project, let us recall what sustainability means. From the Latin sustinere (meaning ‘maintain’, ‘sup- port’) a broad definition would be the ability to continue a given behaviour indefinitely. In fact, the most accepted definition comes from the UN World Commission on Environment and Development report (Our Common Fu- ture, also known as the Brundtland Report) in 1987 [43] which defines sus- tainable development as “development that meets the needs of the present without compromising the ability of future generations to meet their own needs.” This definition reveals two concepts: the concept of ‘needs’ and the concepts of ‘limitations’ and ‘management’ particularly about the use and waste of natural resources. However, in our society, the sustainabil- ity problem is much broader, it encompasses environmental sustainabil- ity as well as economic sustainability and social sustainability (often called the three pillars of sustainability [42]). According to [41], economic sus- tainability refers to the ability of an economy to support a defined level of economic production indefinitely; environmental sustainability is the abil- ity to maintain rates of renewable resource harvest, pollution creation, and non-renewable resource consumption that can be continued indefinitely [8]; and social sustainability is the ability of a social system to function at a defined level of social well-being indefinitely.

This master thesis project is not designed for an economic purpose and its impact on the environment, apart from the unavoidable use of non- renewable resources for building the drones and the energy needed for run- ning them, is very limited and comparable to the impact of other devices used for artistic performances such as lighting and sound systems. Indeed, we develop a reactive motion planning strategy to create interactive chore- ographies with a human dancer. Such motion control solution is not aimed to be optimal in terms of position accuracy, shortest path, trajectory dura- tion or energy efficiency and thus it is not meant to be used anywhere but

(14)

for research purposes and for its artistic values. This project due to its artis- tic and cultural value contributes to the social well-being of a society and thus is socially sustainable.

Linked to its social sustainability, the societal aspects of this project are multiple. Through the exploration of the human-drone relationship, this project invites artists and roboticists to create and develop expressive per- formances. In particular, by merging technological research with ancient theatrical and operatic traditions, it roots its innovative artistic value into our cultural heritage. Moreover, by doing so, it takes part in popularizing drone research and technology.

More generally, this project questions the place of robots in our society, as they are no longer used for productivity and efficiency purposes. In fact, it contributes to broaden the use of robots, their role and meaning for us, humans. Already omnipresent in our society by automating some of our daily tasks, by doing difficult or dangerous jobs for us and now by being a source and a vector of our creativity, it seems almost unimaginable to live in a world without them. Like the article [19] concluded “in the end, robots may expand what it means to be human. After all, they are machines, but humans are the ones who built them.”

1.6 Outline

After presenting the related work (Chapter 2) and some background about modelling the dynamics of a quadrotor and the different motion planning strategies available (Chapter 3), we describe how we designed our drones (Chapter 4) and how we setup our flying area (Chapter 5). Then we ex- plain our motion planning and control strategy with its implementation (Chapter 6) and we discuss our simulation environment and the visualiza- tion tools used to test and diagnose our algorithms and their implementa- tion (Chapter 7). Finally, we analyse the results of our solution on a series of experiments (Chapter 8) before concluding and discussing future work (Chapter 9).

(15)

Chapter 2

Related Work

Robots and Arts have a long intertwined history [38]. It is not a coincidence that the word ‘Robot’ was first introduced by the Czech playwright Karel Capek in his play ‘Rossumovi Univerzální Roboti’ (R.U.R) in 1920 [6]. Ety-ˇ mologically, it came from the Czech ‘robota’ which means forced manual labour.

Since then, the exploration of the human-machine relationship has at- tracted many artists and roboticists. Artists — dancers, musicians, chore- ographers, composers — find in it a new form of expression and produc- tion. Roboticists consider it as a new dimension of robotics in terms of control, communication, interaction and collaboration. In fact, according to the preface of Control and Art [22], the research in control related to arts can be classified into three types: “research that (1) uses artistic ideas for the purpose of control design and analysis, (2) uses control theoretic ideas to understand and analyze art, and (3) uses control theory as a generator of artistic expressions”.

Among all the robotics platforms, drone shows are particularly inter- esting. Recently many collaborations between roboticists and artists have emerged resulting in drone performances in shows or live events (a selec- tion is shown on Figure 2.0.1). Many of those collaborations have lead to the creation of companies specialized in drone performances. For instance, Verity Studios [51] is a company emerged from Flying Machine Arena [12] at the Swiss Federal Institute of Technology (ETH). It is responsible of many drone performances [52, 7, 54, 53, 55]. The Flying Machine Arena is also active in drone research related to art [35, 37, 2, 36].

In Japan the company Rhizomatiks [32], founded in 2006, is specialized in experimentation and research in art. It has collaborated with the dance

(16)

Figure 2.0.1: Examples of live drone performances (starting top left): Muse Drone Tour [27], Verity Studios, SPARKED [55], Ars Electronica’s Spaxels [1], Cirque du Soleil’s Paramour on Broadway [7], Intel-Disney ‘Starbright’ Hol- iday Drone Show [13], ABB’s 125th Anniversary Celebration [53], Saatchi &

Saatchi’s Meet Your Creator [34], Elevenplay’s dance with drones on Amer- ica’s Got Talent [10], Elevenplay’s dance with drones Shadow [11], Verity Studios, Fantastic Journey [54]

(17)

Figure 2.0.2: Examples of Opera Mecatronica works (starting top left):

Robocygne [47], Ombra mai Fú [46], Olimpia [45], Orpheus [48]

group Elevenplay [9] several times to produce many drone performances [10, 11].

What makes drones in artistic performances fascinating is their power of embodiment. According to the Embodied Mind hypothesis [50], all as- pects of cognition are shaped by the experience of the body, and how we move through this world and interact with it intrinsically determines the ways in which we think and experience. Dancing, that is to say moving in an expressive manner, is a perfect example of this embodiment idea. But as the quadrotors do not have any articulated limbs, only their rigid body mo- tions can be used as a means of expression. In performances, drones can be dressed up to act like characters, they can dance and interact with human dancers. However, their embodiment is very different from humans, so how is it possible for quadrotor motions to be recognized and interpreted as expressive from our point of view? This is still an open research question.

The project Singing drone choir driving this master thesis has been ini- tiated by Carl Unander-Scharin [49] and Åsa Unander-Scharin [44], both artists and researchers. Interested in exploring the interactions between motion, electronics, voice and machine, they created Opera Mecatronica in 2010 (Figure 2.0.2). It consists of several custom robotic contructions

(18)

Chapter 3 Background

3.1 Modelling the dynamics of a quadrotor X

3.1.1 The X design

There are two main designs for quadrotors: “+” and “X”. In the literature, the dynamics is usually modelled for design “+”, with the four rotors in the front, rear, left and right of the drone. The design we have chosen is “X”, with rotors positioned front left, front right, rear left, rear right. Of course the dynamics is the same, the only difference is a change of coordinates.

By construction, the center of mass G of the drone is at the same dis- tance ` (the arm length of the quadrotor) to each of the rotor axes. The rotors are numbered 1 to 4 according to the PX4 convention, with rotors 1 and 2 turning counterclockwise and rotors 3 and 4 turning clockwise. We setε1= ε2= 1 and ε3= ε4= −1 to keep track of the rotation direction. The angles between the forward axis and each arm # »

GRi (where Ri is the inter- section of the axis of rotor i and the horizontal plane through G) are respec- tivelyΦ1= −π/4, Φ2= 3π/4, Φ3= π/4, and Φ4= −3π/4.

3.1.2 Reference frames

We shall use two reference frames. The first one, (A), is linked with the theatre stage and is assumed to be an inertial frame. Its reference point O is on the ground at the center of the stage, and axes are given by unit vectorsa

1(pointing right when viewed from the audience),a

2(pointing to the back), anda

3(pointing up). The second one, (B ), is linked to the drone, centered on its center of mass G, and has unit vectors

b1(pointing forward),

(19)

b2(pointing left), and

b3(pointing up).

Note that this choice follows the usual conventions of ROS [31].

3.1.3 Rigid body dynamics

Let R be the rotation matrix that converts vector coordinates in (B ) to co- ordinates in (A). The columns of (R) are the coordinates of the vectors

b1, b2,

b3expressed in (A). The matrix R defines the attitude of the quadrotor, while its position is given by the vectorξ =# »

OG.

The velocity of the quadrotor is described by its linear velocity v (in (A)) and its angular velocityΩ (in (B)), which is a vector pointing along the ro- tation axis. Angular velocity can also be represented by a skew-symmetric matrix×such thatΩ × u = Ω×u for any vector u.

The dynamics of the drone is then given by the equations:

ξ = v˙ (3.1.1)

m ˙v = −mga

3+ RF (3.1.2)

R˙ = RΩ× (3.1.3)

I ˙Ω = −Ω × IΩ + τ (3.1.4)

where m is the mass of the quadrotor and I its inertia matrix expressed in (B ). The term −mga

3is the gravitation force (pointing down). Finally, F is the sum of all aerodynamic forces, andτ is the resulting torque.

3.1.4 Action of one rotor

The aerodynamics of rotors is rather complicated. But, for controlling a drone, an approximate model is sufficient. We will thus assume, for the moment, that the forces are independent of the relative motion of the air around the drone: that is, we will assume that the drone is hovering. Also, we will neglect aerodynamic forces on the body of the drone. Then F andτ are just the sum of the corresponding vectors for each rotor:

F =

4

X

i =1

Fi (3.1.5)

τ = X4

i =1

τi (3.1.6)

Aerodynamic forces on a single blade of a rotor can be decomposed as the sum of lift (vertical upwards, assuming the axis of the rotor is ver-

(20)

wing. When the rotor is hovering, the lift on the blades sum up and pro- duce thrust Ti, while drag cancels but produces torque. So we have

Ti= cTω2i (3.1.7)

Qi= cQω2i (3.1.8)

where cQand cT are constants that depend on rotor radius, rotor geometry, and air density, and are in practice determined by bench tests, whileωi is the rotation speed of the rotor.

We then have

Fi = Ti

b3 (3.1.9)

τi = Ti# » GRi×

b3− εiQi

b3 (3.1.10)

3.1.5 Combined action of the rotors

Since # »

GRi= ` cos Φi

b1+ ` sin Φi

b2, we have:

τi= (`cTsinΦi

b1− `cTcosΦi

b2− εicQ

b32i For a quadrotor X, this is best expressed in matrix form :

µ T τ

= Γ

ω21 ω22 ω23 ω24

whereΓ is the matrix

Γ =

cT cT cT cT

−CT

p2/2 cTp

2/2 cTp

2/2 −CT

p2/2

−CT

p2/2 cT

p2/2 −CT

p2/2 cT

p2/2

−cQ −cQ cQ cQ

which is clearly invertible: given any desired vertical thrust and moment, the rotor speeds to achieve that effect can thus be computed.

3.2 Motion planning strategies

Motion planning is an essential problem in robotics and especially in robot automation. From an initial configuration (position, orientation) to a final

(21)

configuration, its aims is to find a collision-free motion with its set of in- puts (forces, torques, etc.) in a specified environment. In other words, mo- tion planning is the process of selecting, among all possible motions and all their possible input sets, a motion with a corresponding set of inputs that ensures that all constraints are satisfied. Therefore, it depends on the model of the robot and its environment. The process to follow a planned motion is called control and it is not the focus of this section.

Several ways to classify motion planning strategies are proposed in the literature. One way is to distinguish global methods from local ones. Global strategies ensure that if there exist collision-free trajectories between the current robot configuration and its goal, the robot will try to follow one such trajectory. Usually, such strategies plan in advance the trajectory, and try to make it optimal for some criterion (shortest distance, shortest time, least energy consumption, etc.). In contrast, local strategies aim to avoid unexpected obstacles (unmodelled or moving) by reacting to the robot en- vironment. However, we decide to follow another classification [18] that distinguishes implicit motion plans from explicit ones.

3.2.1 Implicit methods

Implicit motion strategies do not explicitly compute the trajectories before the motion starts. The motion is never pre-computed. Instead they define how the robot interacts with its surroundings by specifying how it responds to its sensory information.

Potential field. One such method is the potential field method [15, 16]. In this method an artificial potential is associated to all the obstacles and to the goal, similar to the potential associated to conservative physical forces such as electrostatic forces. The robot has to follow the negative gradient of the potential until it reaches a local minimum, for instance by taking the negative gradient as input for a velocity controller.

The potential function can be freely chosen and does not need to model any existing physical force. However, it has to be smooth enough, minimal at the goal and maximal at the obstacles. Usually, this potential is chosen with limited range so that the obstacle does not interfere with the motion of the robot when the robot is far from it. For instance, the following formula

(22)

is often used for the repulsive potential and the associated force:

V = β

µ 1

min(q,`)1

`

2

(3.2.1)

F =

0

if q > `

−2βqq3

³1 q1`

´

if q < ` (3.2.2) where q is the vector from the obstacle to the robot, ` is the (constant) range of the force andβ a coefficient.

This method has several advantages: it is computationally light, no prior processing is needed, it adapts well to unexpected environment changes. It has also several drawbacks [17]: the robot may not reach its goal when it is trapped in another local minimum, it may not find a passage between obstacles that are near each other, and it may oscillate when it is close to obstacles. The resulting trajectory can be very different from trajectories obtained by other algorithms and far from optimal for usual measures. It is difficult to integrate the kinematic and dynamic constraints of the robot.

In order to avoid being trapped by local minima one can use harmonic potentials (that have only one minimum) or a navigation function [33].

3.2.2 Explicit methods

Explicit motion planning strategies explicitly compute the complete trajec- tory by producing a set of sub-goals. They plan the trajectory from start to goal before the motion occurs. We can further divide explicit strategies between the discrete ones and the continuous ones.

Discrete methods

Such methods discretize the configuration space and represent it with a graph. Motion planning is therefore reduced to a graph search problem.

As the potential method, discrete explicit strategies do not accommodate for kinematic and dynamic constraints of the robot. However a two-step strategy could be used: first find a suitable motion plan with the method and then restrict it to make sure it meets all the constraints of the robot.

Among these methods we find two types of algorithms: road map and cell decomposition.

(23)

Road map. Road map algorithms consist in constructing a set of curves that connect the space. Then finding a path between two points comes down to connecting these two points to the connectivity graph. Methods such as visibility graph, Voronoi graph, etc. can then be used.

Cell decomposition. Cell decomposition algorithms subdivide the con- figuration space into non-overlapping cells and then construct a connec- tivity graph based on the neighbour relations of these cells. To find a path, we simply need to connect the cells from the start to the goal, using a short- est path algorithm.

Continuous methods

Continuous explicit methods are similar to open loop control laws. There are two types of continuous methods: specific methods for nonholonomic systems (also called underactuated systems), and optimal methods.

Underactuated systems. The methods in this family, based on controlla- bility tests, provide ways to generate motion plans for nonholonomic sys- tems [23]. Also known as steering methods, they come from nonlinear con- trol [4, 39]. Some of these methods can be used for dynamic motion plan- ning [3, 28].

Optimal methods. Finding an optimal trajectory for a constrained robot is find a solution to a minimization problem (optimal control) [21]. For solving optimal control problems, we often need to use numerical meth- ods, such as the method of neighbouring extremals [5], conjugate gradients algorithms [14, 20, 25, 26], discretization [40, 30], or finite-elements tech- niques [56].

3.3 Discussion

In our project, the drones live in a dynamic environment. Apart from the fixed restrictions of our flying area (ground, artificial walls and ceiling) the drones have to avoid each other and the moving dancer. Also, unlike in typical motion planning problems, our drones do not require optimal mo- tions. Instead, we would like them to have natural and smooth motions suitable to express emotions and intents. This is why we have decided to

(24)

use an implicit motion planning method, namely potential fields. More de- tails about our motion planning strategy can be found in Chapter 6.

(25)

Chapter 4

Design and Building of the Quadrotors

In this chapter we present the construction steps of our quadrotors. After studying the market of the commercially available drones we concluded that we had to build custom drones for the purpose of this project.

We have several constraints: it needs to carry a speaker, be connectable via wifi, have a long flight time and be as silent as possible. Indeed, the drones will fly during a singing performance. So we need to be able to hear the sound coming from their respective speaker and also the singing of the singers when they are surrounded by those flying drones. We had to do many trade-offs to meet all our constraints.

4.1 Parts selection

Let us look at all the component parts we need and what role they play. It is important to note that all the components have been selected so that they are quickly available. Therefore we have prioritised components available in Swedish stores.

4.1.1 The frame

The frame is the first part we selected. We chose the Nighthawk-X6 from EMAX (see Figure 4.1.1).

In fact, there are three type of quadrotor frames: the X configuration, the + configuration and the H configuration (see Figure 4.1.2). Only the orienta- tion of the drone differ between the X and the + configurations. We picked

(26)

Figure 4.1.1: The Components selected for our drones (starting top left):

the frame Nighthawk-X6 from EMAX; the flight controller Pixracer; the Brushless Motors DYS SE2205 PRO 2550KV ; the propellers DAL 6x4.5 Bull- nose; the ESCs DYS XS30A; the Raspberry Pi model B type 3; the JBL Clip 2 Portable Bluetooth Speaker; the battery ZIPPY Flightmax 8000mAh 3S1P 30C Lipo Pack; the PDB; the power module; Y-PWR Hot Swap and Load Sharing Controller; Poron XRD

(27)

Figure 4.1.2: Three different quadrotor frame configurations

the X configuration as it seems the most common among small drones.

The Nighthawk-X6 is made of 3 mm thick carbon fibre which is both sturdy and light. All the components are to be arranged toward the center, making it easier to place its center of gravity in its center. It comes with replaceable arms.

The dimensions of a frame are measured according to its wheelbase (i.e., the diagonal distance between two motor axes). The dimension of the frame restricts which type of motors and propellers we can use. We choose a 240 mm frame because we know we are going to mount a speaker and an onboard computer on it. We will associate this frame with a compatible motor-propellers pair: DYS SE2205 motors (see Section 4.1.3) and 6 × 4.500 propellers (see Section 4.1.4)

Name EMAX - Nighthawk X6

Weight 95 g

Size 240 mm

Material 3 mm CF

Compatible Motors MT22XX

Compatible Props 600max (152.4 mm)

4.1.2 The flight controller

A flight controller is essentially a programmable microcontroller with spe- cific sensors onboard and connectors. Paired with an autopilot firmware, it keeps our drone stable by dealing with the motor controllers. In this sec- tion we focus on the hardware components, its firmware will be discussed in Section 6.2. We choose the Pixracer flight controller (see Figure 4.1.1) with the open source PX4 Firmware [29].

The Pixracer is small and can be used either in a racing drone or in an

(28)

Figure 4.1.3: Brushed DC motor vs brushless DC motor)

sors are the most important part since together with the firmware they per- form operations that keep the drone level and stable in the air. The Pixracer includes:

• a ICM-20608-G 6-axis motion tracking device (3-axis accelerometer, 3-axis gyroscope)

• a MPU-9250 9-axis motion tracking device (3-axis gyroscope, 3-axis accelerometer, 3-axis magnetometer)

• a MEAS MS5611 barometer

• a Honeywell HMC5983 magnetometer (temperature compensated) As we will fly our drones indoors, we will only use the two motion track- ing devices with an external tracking system (see Chapter 5) to stabilize the drones.

The flight controller connectors allows us to attach this control unit to the motors, the battery, the RC controller and the onboard computer. We discuss the wiring of the Pixracer in Section 4.2.

The Pixracer also comes with a wifi module. It is meant to be used for wifi telemetry and firmware update and cannot be used for calibrating the sensors or receiving control commands. Because we will have an onboard computer, we decide to leave this component aside.

Name Pixracer Weight 10.54 g

Size 36 × 36mm Software PX4

4.1.3 The motors

The motors make the quadrotor fly by spinning the propellers. We chose the DYS SE2205 PRO 2550KV Brushless Motors (see Figure 4.1.1). Two of them have to rotate clockwise and the other two counterclockwise. For drones, we use brushless motors instead of classic DC motors (see Fig- ure 4.1.3). In a brushless motor the permanent magnets are on the ro-

(29)

tor (rotating part of the motor) and the electromagnets are on the stator (immobile part). Then it requires an Electronic Speed Controller (ESC) to take care of switching the voltage of these electromagnets to make the ro- tor spin. Such motor has several advantages: no more brushes that can be worn-out or need to be cleaned, no more frictions. A brushless motor is more efficient and allows a more precise speed control than a regular brush motor. Also the electromagnets on the stator are easy to cool. The motors are characterized by their size, their speed of revolution, their efficiency.

They are usually named according to their size which is given by the di- ameter of the stater and its length. For instance the motors SE2205 have a stator with a 22 mm diameter and it is 5 mm tall. Next to their name comes their speed given by the KVRating coefficient. In fact, the speed is mea- sured by the number of revolution per minute (rpm) the motor will spin at full throttle given a voltage. And specifically

Number of revolutions per minute = KV× voltage

In our case at 11.1 V, at full throttle our motors can speed at up to 28305 rev- olutions per minute (∼ 471 revolutions per second)! The thrust generated by the motors depends on its KVRating, the type of propeller it is associated with and the quantity of power it can instantaneously draw from the ESC and the battery. Indeed, an increase in the thrust implies a higher current incoming from the battery. In physics we usually measure it in Newton (N, i.e. kg · m · s−2) but in drone construction it is expressed in grammes (g). If our quadrotor weights 2 kg (which is less than the final weight of our drone) then each motor need to produce 500 g of thrust to make it takeoff. On the technical data sheet (Figure 4.1.4) we can see that with those motors, if our drone is less than 2 kg, it will have no problem to takeoff.

Efficiency of the motor is measured by the power coming out divided by the power coming in. Basically the efficiency measures the percentage of the incoming power transform into motion. The more efficient a motor is, the longer the drone will fly. And as a rule of thumb anything above 7 gW−1is considered good.

Name DYS SE2205 PRO 2550KV

Weight 29 g

Motor dimensions 27.7 × 19.0mm (diameter × height)

Stator Diameter 22 mm

Stator Length 5 mm

KV 2550 rpm/V

(30)

Figure 4.1.4: DYS SE2205 PRO 2550KV technical data

(31)

Figure 4.1.5: Electronic Speed Controller Schematic

4.1.4 The propellers

We choose the HQProp 6x4.5R propellers (see Figure 4.1.1). There are sev- eral types of propellers depending on their material, their dimensions, their pitch, their number of blades and their shape.

The material used to make the props influences the flight characteris- tics but it will also influence its potential to hurt and wound a human op- erator. However, we should not forget about safety. That is why we chose them to be in plastic instead of carbon fibre. The propellers are measured by their diameters in inches. For instance, 600 prop (15.24 cm) correspond to approximately 7.5 cm blade. The pitch of a propeller is measured as a distance (usually in inches) instead of degree. It corresponds to the ver- tical distance a horizontal propeller would move after one revolution if it didn’t slip. The difference between a two-blade propeller and a three-blade one is in the thrust produced for a fix material, dimension and pitch. The three-blade propeller can reach higher thrust, but then they draw more cur- rent making the drone consume more power. Also, some propellers have a shape called “bullnose”. It means that the end of the blade is larger than the normal ones.

Name DAL 6x4.5 Bullnose Propeller v2

Weight 3.8 g

Material Plastic

Number of blades 2

Shape Bullnose

Diameter 600(15.24 cm)

Pitch 4.500

4.1.5 The ESC

We choose the DYS XS30A ESCs for our drone (see Figure 4.1.1).

An ESC (Electronic Speed Controller) controls the speed of a brushless

(32)

to connect to the radio receiver or the flight controller and another one to connect to the motor. It receives an input ppm signal (pulse position mod- ulation) from the receiver (or flight controller) which indicates how much power it should send to the motor. A brushless ESC has three wires to con- nect to the motor but only two are energized at any given time. The wire that is not energized tells the ESC in which direction and how fast the motor spins by generating a small voltage proportional to the speed of the motor.

That way the ESC knows how to adjust the charge of the electromagnets to follow the speed instruction from the receiver or the flight controller.

Also, the ESC must be able to handle the maximum current that the motor can draw. That is why the ESCs are rated for a maximum current. In our case, the maximum continuous current that can be drawn from the motor is 27.8 A, so no problem for our 30 A ESCs.

Name DYS XS30A BLHeli_S Firmware 3-6S 8BB2 ESC for Multicopter

Weight 8.6 g

Size 45 × 16 × 6mm

Max. Continuous Current 30 A

Firmware BLHeli

4.1.6 The onboard computer

We choose the Raspberry Pi model B type 3 as our onboard computer (see Figure 4.1.1). With its 1.2 GHz 64-bit quad-core ARM Cortex-A53 CPU and its 1GB SDRAM memory, it allows us to run our robotic software platform ROSand to control the music playlist for each drone.

4.1.7 The speaker

Our sound system consists of a JBL Clip 2 speaker (see Figure 4.1.1). With its small size 141×94×42mm and light weight 184g, this speaker can reach up to 3 W of output power with up to 8 hours of play time.

4.1.8 The battery

We choose ZIPPY Flightmax 8000mAh 3S1P 30C Lipo battery (see Fig- ure 4.1.1). A lipo battery is characterized by its voltage (number of cells), its capacity, its discharge rate, its weight and its size. A battery is constructed from rectangular cells which are connected together. Each cell holds a

(33)

nominal voltage of 3.7 V, so the voltage of such a battery is a multiple of 3.7. A three-cell battery delivers 11.1 V. The cell configuration of a battery is indicated by the notation xSyP where x is the number of cell sets in series and y is the number of sets in parallel. In our case, our battery has 3 cells in series. The capacity of a battery indicates how much energy it has, measured in milli Ampere hours (mAh). With 8000 mAh, if we assume that our four motors consume their maximum continuous current 27.8 A then this battery can last only a little more than 4 min (which is very in ordinary conditions, the motors should use a bit less that half of their maximum continuous current which gives between 10 and 15 min of flight time.

The discharge rate of a battery defines how fast we can extract the energy from our battery. For our battery of discharge rate 30C, it means that its maximum continuous current output is 240 A. We verify that this number is bigger than the sum of the maximum continuous currents consumed by the drone components (∼ 111.2A in our case).

Name ZIPPY Flightmax 8000mAh 3S1P 30C Lipo Pack

Weight 644 g

Size 169 × 69 × 27mm

Voltage 11.1 V (3S1P)

Capacity 8000 mAh

discharge rate 30C

Maximum Continuous Current 240 A

4.1.9 Miscellenous parts

The power distribution board (PDB)

We use the default power distribution board given with the frame (see Fig- ure 4.1.1). It fits perfectly with the frame. However, it does not provide the connector to plug the flight controller Pixracer. That is why we need a power module.

The power module

The power module (see Figure 4.1.1) allows us to power the flight controller directly from the battery. That way the flight controller can measure the battery life. The drone cannot takeoff if the Pixracer does not sense the battery or if the battery is too low.

(34)

Hot Swap, Load Sharing Controller

The Y-PWR (see Figure 4.1.1) is used to perform a smooth transition be- tween AC/DC wall adapter and battery to power the onboard computer, the flight controller, and the RC receiver. Thanks to this component, we can work on the onboard computer connected to the flight controller with- out powering the motors.

Poron XRD

Due to our design constraints we cannot put the pixracer on a traditional anti vibration mount preventing the vibrations from the frame to interfere with the sensors of the autopilot. So we decided to use a small sheet (3 mm) of poron XRD to isolate the flight controller (see Figure 4.1.1). Poron XRD with its open-cell technology is often used as a cushioning and impact pro- tection solution (it is used in athletic shoes, etc.).

4.2 The design

Now that all the parts have been selected, we create a CAD design to struc- ture our assembly process. In Figure 4.2.1, from bottom to top we have the battery (in yellow), a level containing the Raspberry Pi (in black) with the Hot Swap, Load Sharing Controller (in salmon), the main body of the frame (in grey), the Pixracer (in red) and on top the speaker (in black). The parts to expand the frame have been cut and drilled by ourselves.

As we can see in Figure 4.2.2, we have not yet mounted the speaker. For the moment the top of the drone is used to place the markers used for the localization.

The schematic representation in Figure 4.2.3 explains how the power is distributed in the drone. There are two possible sources of power but only the battery can power the motors and therefore make the drone takeoff.

The speaker is not linked with the other components in this representation because it has an independent battery: it does not use the power from the drone battery. It is simply connected to the Raspberry Pi via the 3.5 mm audio jack.

(35)

Figure 4.2.1: CAD design of our drone

Figure 4.2.2: Our real drone built

(36)

Figure 4.2.3: Power distribution schematic

(37)

Figure 4.3.1: Propeller protection from Rhizomatiks Research

4.3 Discussion

The final design of our drones was found after several iterations. We even built at the beginning a model in cardboard box to make sure the carbon fibre parts were at the right dimensions and everything could fit on the drone. The final characteristics of the drone are gathered in the following table.

Weight without battery 524 g Weight with battery 1168 g Thrust to takeoff (per motor) 292 g

Flight time (in theory) ∼ 15 min Flight time (in practice) ∼ 8 min

This design is working: the drone is able to fly. The flight time in practice is an average of several flight times measured when the drone was performing a real choreography, including interactions with a dancer.

There are still some improvements to do on the design. Regarding the propeller protections, it would be useful if we could create a protection like in Figure 4.3.1. It would be lighter and it would create some space to place the mocap markers on the sides. It’s likely that we’ll incorporate a lighting system that for instance could be used to give visual feedbacks of the drone behaviours. Also, we might have to orient the speaker differently if we want a directional sound coming from the drone.

(38)

Chapter 5 The Stage:

Setting up the Flying Area

In this section we present our flying area. First, we describe its current loca- tion, its position tracking system, its network/software setup and its safety measures. Second, we analyse and discuss its characterisitics.

5.1 The location

When the project started in September 2016, the RPL lab didn’t have a flying area for drones. And because the drone choir is meant to be performed indoors at different locations, we decided to setup an independent flying area for this project. This area had to be large enough to allow five drones and one dancer to wander freely inside.

Thanks to the artistic value of this project, we settled down in KTH R1.

R1 was Sweden’s first experimental nuclear reactor. It was in operation un- til 1970. After its dismantling around 1982 and its radioactive decontam- ination period, it became in 2007 part of KTH as a cultural experimental center. Focused on the interconnection between science and art, a num- ber of different installations, performances and projects have been carried out there.

5.2 Hardware

To track the position of the quadrotors we use an OptiTrack Motion Cap- ture System (MoCap). Currently it consists of 8 OptiTrack Flex 13 Cameras

(39)

Figure 5.0.1: MoCap setup in R1

Figure 5.2.1: OptiTrack Flex 13 motion capture camera (on the left) and its wiring to USB camera system (on the right)

(40)

Figure 5.3.1: Schematic of our MoCap setup

(see Figure 5.2.1). Each camera has 56° of horizontal field of view (FOV) and 46° of vertical FOV. When paired with the biggest available marker, the maximum tracking distance can reach up to 12 m. The advertised tracking volume on OptiTrack’s website is 7 × 7 × 2m. In the analysis section, we will discuss our capture volume compared with that one.

The wiring schematic is represented in Figure 5.2.1. The cameras are connected to a hub which is connected to a Windows laptop. Both connec- tions are in USB. If we use several hubs, then we need to connect the hubs together via a RCA to RCA cable to synchronize them. Between a camera and the hub we can use only one USB cable which means that the max- imum distance between those two is 5 m. In R1 we put the cameras on each wall (see Figure 5.0.1). However the distance between these two walls is longer than 11 m which is the longest RCA-RCA synchronization cable sold by OptiTrack. Because finding a longer RCA-RCA cable with a low impedance (video usage) was difficult, we decided to buy another RCA- RCA cable and simply link the two synchronization cables with an RCA- RCA connector. It worked.

5.3 Software

The MoCap system comes with its software Motivewhich is exclusively running in Windows.Motiveis used to calibrate the cameras, control and supervise our tracking volume and stream the tracking data to a Linux lap-

(41)

top (Debian Jessie) via an Ethernet cable (see Figure 5.3.1). Motiveuses the NatNet streaming protocol to stream the tracking data.

We use the ROSpackage mocap_optitrackto parse the incoming streaming data from Motiveinto tf transforms and poses usable in the ROSenvironment.

We setup a local network which is not connected to the Internet inside R1, so that the Linux laptop can communicate with the drones via wifi. Be- cause each drone has an onboard computer also runningROS, the com- munication between the Linux laptop and the drones consists ofROSin- ternal messages. And the onboard computer will translate the flight in- structions to the flight controller via the MAVLink protocol thanks to the packagemavros.

5.4 Safety measures

In the flying area, safety measures are important not only to protect the surrounding humans from hazardous drone behaviours but also to prevent the drones from destructing themselves when they crash.

On the ground we put six foam mattresses (210 × 182 × 35mm) to cover an area of 22 m2. We restrict the flying area to the surface covered by those mats so that it now measures 4.20 × 5.46m. To protect the mats we had planned to put a plastic cover over them. However it turned out that the plastic was interfering with the tracking system and had to be removed.

Instead we use simple black bed sheets. They provide protection for the mats against dust, add more resistivity for the drone landings/crashes, and allow a better control of the tracking area regarding unwanted reflections.

It was not possible to put nets around the flying area. So we decided to attach each drone to a weight via a fishing wire. The wire is light enough to not disturb the drone flight and rigid enough to prevent it from going beyond the flying area borders.

5.5 Discussion

In our current setup the disposition of the cameras is not optimal. The volume covered by a MoCap depends heavily on how the cameras are po- sitioned, which depends on where we setup our flying area. In R1, to max- imize the stage area, we needed to put the cameras on the walls. However, by doing so, the mattress area which is half of the maximum advertised cov-

(42)

ered area is at the border of our tracked volume. Also, by having the cam- eras that far from the center of the stage (11 m), it makes it hard to track the drone for two reasons: first, it is difficult to place the markers on the drone so that the MoCap software does not consider two different markers as one due to the camera angle views. Second, as soon as a dancer steps into the flying area, he or she interferes with the tracking volume: in some positions the dancer can prevent the MoCap from tracking the drone po- sition. We are conscious that our security measures are really rudimentary (no net). In fact, the main part of our safety measures relies on our control based on potential fields. Attaching the drone to a weight with a wire is only used for testing experimental features and making sure that our potentials can keep the drone and the dancer safe.

References

Related documents

Both Brazil and Sweden have made bilateral cooperation in areas of technology and innovation a top priority. It has been formalized in a series of agreements and made explicit

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Närmare 90 procent av de statliga medlen (intäkter och utgifter) för näringslivets klimatomställning går till generella styrmedel, det vill säga styrmedel som påverkar

I dag uppgår denna del av befolkningen till knappt 4 200 personer och år 2030 beräknas det finnas drygt 4 800 personer i Gällivare kommun som är 65 år eller äldre i

Detta projekt utvecklar policymixen för strategin Smart industri (Näringsdepartementet, 2016a). En av anledningarna till en stark avgränsning är att analysen bygger på djupa

DIN representerar Tyskland i ISO och CEN, och har en permanent plats i ISO:s råd. Det ger dem en bra position för att påverka strategiska frågor inom den internationella

While firms that receive Almi loans often are extremely small, they have borrowed money with the intent to grow the firm, which should ensure that these firm have growth ambitions even

Effekter av statliga lån: en kunskapslucka Målet med studien som presenteras i Tillväxtanalys WP 2018:02 Take it to the (Public) Bank: The Efficiency of Public Bank Loans to