The Distributed Flight Array

during a pirouette maneuver, measured using a Vicon MX system. Note that the maneuver is very repeatable for over six orbits considering that the maneuver ...
2MB taille 6 téléchargements 422 vues
2010 IEEE International Conference on Robotics and Automation Anchorage Convention District May 3-8, 2010, Anchorage, Alaska, USA

The Distributed Flight Array Raymond Oung, Fr´ed´eric Bourgault, Matthew Donovan, and Raffaello D’Andrea

Abstract— This paper introduces the Distributed Flight Array which is being developed at ETH Zurich. This multipropeller platform consists of autonomous single-propeller modules that are able to drive, dock with their peers, and fly in a coordinated fashion. These modules are organized as distributed computational units with minimal sensory input. This is a complex system that is rich in dynamics with plenty of room to explore various distributed estimation and control strategies. Experimental demonstrations in docking, driving, and flight have proven its feasibility.

I. I NTRODUCTION Vertical takeoff and landing vehicles have gained popularity within the aerial vehicles community over the last few years. A particular advantage they have over most aerial vehicles is their unique ability for stationary flight. Moreover, they provide an excellent platform for exploiting advanced sensor technology, pushing the limits of energy storage, and investigating techniques in automatic control. Until now, researchers in this area have focused primarily on quadrotor platforms [1], [2], [3]. The Institute for Dynamic Systems and Control at ETH Zurich has extended this design to a multi-rotor platform with distributed control, which has been designated the Distributed Flight Array (DFA). The DFA consists of individual modules that are able to drive autonomously and assemble with their peers on the ground. Each module can generate enough thrust using a single fixed-pitch propeller to lift itself into the air, but is unstable in flight. Not until they are joined do these relatively simple modules evolve into a sophisticated multi-propeller system capable of coordinated flight, see Fig. 1. The goal is to have many modules assemble at random, fly to a predetermined altitude, hover, break apart, fall back down, and repeat the cycle. This abstract testbed features rich dynamics and challenging design problems, and will undoubtedly be an eye-catching pedagogical showpiece for distributed estimation and control. Moreover, there are interesting applications; particularly unique to multipropeller systems are high altitude airborne wind turbines where modularity and high-redundancy is desirable in order to handle multiple points of failure while still remaining airborne [4]. This project comprises three key areas of interest: 1) Each DFA module must be optimized for weight, strength, and durability; 2) Modules must be able to drive and dock reliably with peers using a minimum number of sensors in favor of reducing design complexity and energy usage; and The authors are with the Institute for Dynamic Systems and Control, ETH Zurich, 8092 Z¨urich, Switzerland {roung, fbourgault, mdonovan, rdandrea}@ethz.ch.

978-1-4244-5040-4/10/$26.00 ©2010 IEEE

Fig. 1. This concept representation of the DFA is shown to be composed of a random arrangement of interconnected single-propeller modules that communicate with one another for coordinated flight.

3) The DFA must be able to fly in a coordinated fashion regardless of the array’s configuration. This paper summarizes these three key aspects of the DFA and presents experimental results for docking, driving, and coordinated flight, the latter being the focus of a recent publication [5]. This paper is organized as the following: Section II provides a detailed system description of a DFA module; Section III presents both the drive model and the flight model; Section IV briefly describes the docking strategy and Section V describes a simple distributed strategy for hover control; experimental results are presented in Section VI; and concluding remarks are made in Section VII. II. D ESIGN Recent experiments using the first revision of the modules shown in Fig. 2(a) have demonstrated feasibility of the DFA, which will be the focus of this paper. A second revision shown in Fig. 2(b) is currently under development and it will feature many improvements to the first revision. The design challenges of the DFA mirror those of modular reconfigurable robots and micro aerial vehicles, which include electromechanical interconnection, inter-module communication, and energy storage [6], [7]. The design of the system can be divided into four tightly interconnected subsystems: (A) Chassis & Docking Mechanism; (B) Drive Unit; (C) Flight Unit; and (D) Sensing, Communication & Computation. A. Chassis & Docking Mechanism Each DFA module resembles a hexagon with protruding features designed for passive alignment and docking, see Fig. 2(a). The chassis must be light enough to facilitate flight, and durable enough to repeatedly withstand a drop from at least two meters. To accomplish this, a low-density expanded polypropylene (EPP) foam was chosen as the chassis material. Two-dimensional foam cutouts were layered on top of one another to generate the assemblies shown in Fig. 2. This simple manufacturing process saves time and

601

TABLE I P HYSICAL ATTRIBUTES OF A DFA M ODULE (R EV. 1) Symbol Description Value ` Characteristic lengtha 0.250 m rw Wheel distanceb 0.100 m – Propeller duct diameter 0.180 m m Mass per module 0.180 kg a b

Defined as the distance between opposite sides of a module. Defined as the lateral distance from the center of the module to the center of the wheel.

B. Drive Unit

(a) Four DFA modules (rev. 1) are shown in a docked configuration. The module’s hexagonal chassis has protruding features designed for passive alignment and docking; it is assembled from foam sheet cutouts of lowdensity EPP. The top-left inset shows a custom-made omni wheel that is used to drive the module; the dotted boxes indicate their location in the chassis.

Custom-made omni wheels with rollers orthogonal to the axis of the wheel are mounted to three sides of the chassis, see top-left insets of Fig. 2. A 0.5 Watt brushed DC motor with integrated encoder for velocity feedback drives each wheel. Omni wheels were chosen because they offer a high degree of in-plane maneuverability, and they eliminate any steering linkage(s) that would otherwise be necessary for coordinated driving, as demonstrated in Section VI-B. C. Flight Unit Mounted to the center of the chassis is a 50 Watt brushless DC motor with an off-the-shelf electronic speed controller and a 3-blade fixed-pitch propeller capable of producing more than 3 Newtons of thrust. Embedded in the chassis is a Lithium-Ion Polymer battery that is capable of powering both the motors and the electronics for up to 5 minutes of flight. All modules are identical except for the direction of propeller rotation, where there are two possibilities: clockwise (CW) and counterclockwise (CCW). This is necessary to cancel the aerodynamic torques in trimmed flight. D. Sensing, Communication & Computation

(b) Currently in development is the second revision of the DFA module. Seen in this photo is the 3-blade fixed-pitch propeller mounted to a brushless DC motor, a plywood molded frame, and an EPP foam chassis. The onboard electronics will be embedded in the foam chassis for protection against impact. Also embedded in the foam chassis are the drive units indicated by the dotted boxes and shown in the top-left inset. Note that the drive motor is mounted to a cantilever spring suspension that is used to absorb shock upon impact and prevent damage to the drive unit. Fig. 2. Development revisions of the DFA: (a) revision 1 is presented in this paper, and (b) revision 2 is under development.

Custom designed electronics were made to meet all the on-board sensing, communication, and computation requirements. Each module comes equipped with a 3-axis rate gyro for measuring angular rates and a pressure sensor for measuring altitude. Bi-directional inter-module communication is accomplished using infrared transceivers mounted to each side of the module. An ARM7 core microcontroller handles all the required computation needed for estimation and control. III. M ODELING

cost. However, it removes the possibility of generating a smooth leading edge for the duct which could improve thrust efficiency. The protruding features assist with alignment and eliminate the unnecessary complexity of an active docking mechanism. A symmetric arrangement of four permanent magnets on each side of the module help to keep the modules attached. The magnets have been chosen to be strong enough to keep the modules together and to withstand the stresses of flight, but weak enough to break apart when sufficient force and/or torque is applied by a module. Table I lists some of the important physical attributes that characterize a DFA module.

A. Kinematic Drive Model Since the modules drive on the ground with relatively low velocities, dynamic effects that act on the system may be neglected. For this reason, the drive model considers only the kinematics of a rigid body with three independently driven omni wheels. The module’s body coordinate frame M coincides with the center of the module. It is oriented such that the xaxis is orthogonal to a side of the module and the y-axis is 90◦ CCW from the x-axis in the plane of the module when looking at it from above, see Fig. 3. The transformation ˙ matrix J which maps the module’s velocity ζ˙ = (Vx , Vy , θ) in the module’s body coordinate frame to wheel velocities v = (v1 , v2 , v3 ) for a three omni wheel vehicle has been

602

V

ZB

Vy

YM

f2

f3

τ2

τ3 YB

v1 Vx

f1

fN

XM Z

YM

τ1

XB

τN

v3 XM

Y

θ˙

X

Fig. 4. The inertial coordinate frame and the DFA’s body coordinate frame B are shown with force and torque vectors (fi , τi ) produced by various modules. The body coordinate frame is chosen to coincide with the array’s center of mass and is aligned with the principal axes of rotation.

v2

rw

Fig. 3. The DFA module’s drive model consists of a rigid body with three independently driven omni wheels with wheel velocities (v1 , v2 , v3 ). Shown in this diagram is the body coordinate frame M of the module and ˙ the velocity vectors (Vx , Vy , θ).

developed in previous work and will only be summarized here [8]: v = Jζ˙ where   J=



√ 3 2

0

√ 3 2

 rw  −1 rw  1 rw 2 1 2

PN moment arm xi , Tβ = − i=1 xi fi . The yawing torque is the sum of all reaction torques produced by each module; in this case, torque can be accurately modeled as a linear function of thrust P [5]. Hence, the yawing torque can be N expressed as Tα = i=1 ci fi , where the sign of ci depends on the propeller’s direction of rotation, i.e. positive when the propeller rotates CCW and negative when the propeller rotates CW. The following summarizes the equations of motion which are linearized about hover and are normalized in order to gain some intuition about how the number of modules N in the array affects flight dynamics [5]:

and rw is the lateral distance from the center of the module to the center of the wheel, see Fig. 3.

z¨ =

B. Dynamic Flight Model The full flight dynamics of the DFA can be quite complex if effects like the flexibility of the propellers, aerodynamic effects of the propeller duct, and the forces that keep the modules together are considered [9]. As a first step, the system is simply modeled as a rigid body without any compliant inter-module connections, incorporating a force and torque generation process at each module around the hovering equilibrium. This will be shown to be adequate for the purpose of hover control. The DFA’s body coordinate frame B coincides with the array’s center of mass and is aligned with its principal axes of rotation, see Fig. 4. A sequence of three rotations described by the Euler angles α, β, γ acting along the z-, y-, x-axis, respectively and in that order, describes the orientation of the DFA’s body coordinate frame with respect to the inertial coordinate frame. Let (xi , yi ) be the coordinate location of module i with respect to the DFA’s body coordinate frame. The altitude and attitude of the DFA can be controlled by varying the force (or thrust) fi and torque τi produced by each module, see Fig. 4. How these control forces are generated will be described later. The total thrust generated by N modules is the sum of all thrusts produced by each module, F = PN sum of all thrusts acting i=1 fi . The rolling torque is theP N along the moment arm yi , Tγ = i=1 yi fi . Similarly, the pitching torque is the sum of all thrusts acting along the

Iˆx γ¨

=

N 1 X ai N i=1

(1)

N 1 X y ˆi ai N i=1

(2)

N 1 X Iˆy β¨ = − x ˆi ai N i=1

Iˆz α ¨

=

N 1 X cˆi ai N i=1

(3)

(4)

where ai is the normalized control input in units of acceleration, cˆi = ci /` is the normalized force to torque conversion constant and is expected to be much less than 1, and the normalized position coordinates (ˆ xi , y ˆi ) can be written as xi yi x ˆi = √ , y ˆi = √ . ` N 2

` N 2



Assuming that the array configuration is disk-like, ` 2N is comparable to the radius of the array, in which case the largest elements of the normalized position coordinates (ˆ xi , y ˆi ) are of the order 1. The normalized principal mass moments of inertia (Iˆx , Iˆy , Iˆz ) can be written as √ √ x ` N y ` N z `N ˆ ˆ Ix = , Iy = , Iˆz = , 8 8 8 where (x , y , z ) are statistical parameters capturing the mass distribution of the array and are expected to be close to 1 for a disk-like array.

603

Bode Plot

Magnitude [dB]

10

Data Model

0 !10 !20 !30 !1 10

0

10

1

10

2

10

! [rad/s] Data Model

o

Phase [ ]

0

!50

Fig. 6. Six DFA modules are shown to be randomly scattered across a circular arena defined by the cone of illumination from an overhead light source. The perimeter of this circular region can be adjusted by varying the light intensity, the height of the lamp, the aperture of the light source, and/or the intensity threshold of the module’s photodiode.

!100 !1

10

0

10

1

10

2

10

! [rad/s]

Fig. 5. The Bode plot of the thrust response is shown here to approximate a first-order system. A sinusoidal varying PWM duty cycle, with an offset equivalent to the hovering thrust and an amplitude equivalent to 0.5 N, was commanded to the system. Force and torque measurements were made using a 6-axis force-torque strain gauge load cell. The dash-dotted lines in the plots indicate the magnitude and phase at −3 dB frequency, which is 14.3 rad/s. Note that at high frequencies the measured phase diverges from the model; this is due to unmodeled dynamics, such as delays.

It can be seen from the equations (1) – (4) that the maximum vertical angular acceleration z¨ is independent of N . However, the maximum angular accelerations in roll √ γ¨ and in pitch β¨ decrease by a factor of N , while the maximum angular acceleration in yaw α ¨ decreases by a factor of N . Note that the input to the module’s flight unit is not directly the normalized control inputs ai , but is rather a pulse width modulated (PWM) duty cycle D, which effectively controls the angular velocity of the rotor. The output from this system is both the generated force and torque of the module. Experimental results show that around the hovering thrust, force and duty cycle can be approximated by an affine relationship, while the torque resulting from the propeller’s drag can be approximated as a linear function of thrust [5]. Motivated by these results, the transfer function Gf that relates the input desired thrust f (D) to the output thrust is modeled as a linear time-invariant system. The transfer function that was obtained from the Bode plot of the thrust response, shown in Fig. 5, was found to approximate a firstorder system: ω Gf (s) = s+ω where ω = 14.3 rad/s. IV. D OCKING S TRATEGY At the start of each cycle, a number of DFA modules will be scattered randomly across the floor. Without any prior knowledge about the environment, the objective for each module will be to dock with one another in preparation for coordinated flight. Although there are many ways in which this can be accomplished, one particular strategy is summarized here.

Consider an overhead light source as the only environmental feature detectable by each module via a single on-board photodiode. This photodiode along with encoder odometry will be the only source of information used for pose estimation. Modules will be able to move around a prescribed circular region as defined by the cone of illumination from the overhead light source, see Fig. 6. A user-defined light intensity threshold will force a module to be in one of two states: 1) within the circular region and 2) outside the circular region. The goal for each module will be to drive towards the center of the circular region and randomly dock with its peers. Modules will initially drive in random directions. Once a module crosses the boundary of the circular region at three different locations, it will be able to use these three data points to estimate the center of the circle and drive towards it. Since modules can randomly interconnect during the data point collection process, they can share information to improve their common estimate of the circular region. Depending on their estimate, they will coordinate with each other to either continue exploration, or to move towards the center. A 2D simulator using the Box2D physics engine is currently being developed to experiment with this and other docking strategies, see Fig. 7 [10]. It will be used to obtain array configuration statistics, which will be needed to determine the typical values of the mass distribution parameters (x , y , z ) required for testing various control strategies and analyzing their performance. V. F LIGHT C ONTROL This section presents a simple distributed strategy for hover control based on physical parameters of the DFA. A reason for using a distributed strategy is that it can be made scalable and robust to module failure [11]. The control strategy presented here is generalized and assumes full state feedback of the system. It is assumed that an estimator is used to obtain the state of the system. Starting with the dynamic model of the DFA presented in Section III-B, the normalized and linearized equations of motion about the equilibrium (1) – (4) can be written as

604

making this decoupling strategy independent of N . Moreover, this strategy has the desirable property of minimizing the inter-module shear stresses in the array resulting from pitch and roll errors [5]. This control strategy only works if both P and (Iˆx , Iˆy , Iˆz ) are known. Both of these can be computed if the position and the direction of propeller rotation for each module are known; this assumes that all modules are identical, and that the mass and mass moments of inertia are given. It follows that the module’s position and the propeller’s direction of rotation is the only information that needs to be communicated across the array before taking flight. With a decoupled control strategy, one can consider each degree of freedom separately. For example, the following functions can be chosen: fz (z, z) ˙ = −2ωz ζz z˙ − ωz2 (z − zd ) fγ (γ, γ) ˙ = −Iˆx (2ωγ ζγ γ˙ + ωγ2 γ) ˙ = −Iˆy (2ωβ ζβ β˙ + ω 2 β) fβ (β, β) β fα (α, α) ˙ = −Iˆz (2ωα ζα α˙ + ωα2 α)

Fig. 7. A docking and drive simulator is being developed for the DFA using the Box2D physics engine. The simulator will be used to obtain array configuration statistics, which will be needed for testing various control strategies and analyzing their performance.

T

M¨s = P a where M = diag(1, Iˆx , Iˆy , Iˆz ) s = [z, γ, β, α]T a = [a1 , . . . , aN ]T and the matrix P contains information pertaining to the configuration of the array. This can be written as P = [pz , pγ , pβ , pα ] where 1 1 [1, . . . , 1]T , pγ = [ˆ y1 , . . . , y ˆN ]T , N N 1 1 pβ = − [ˆ x1 , . . . , x ˆN ]T , pα = [ˆ c1 , . . . , cˆN ]T . N N Consider the following control strategy: pz =

=

[qz , qγ , qβ , qα ] ˙ fα (α, α)] [fz (z, z), ˙ fγ (γ, γ), ˙ fβ (β, β), ˙ T

and where f · ( · ) are arbitrary functions to be determined. It can be shown that for a large and equal number of CW and CCW modules, one could use the following elements of Q to decouple the degrees of freedom, i.e. PT Q = I4 [5]: pz , kpz k2 pβ qβ = , kpβ k2 qz =

(8)

where each degree of freedom is a second-order system with two tuning parameters: 1) the natural frequency (ωz , ωγ , ωβ , ωα ), and 2) the damping ratio (ζz , ζγ , ζβ , ζα ). The variable zd represents the desired hovering altitude. This control strategy uses normalized thrust as the control input, which is in fact indirectly generated by the DFA module as described in Section III-B. Thrust dynamics and saturation of the control inputs should be considered. Timescale separation is needed between the desired dynamics of the system and the rotor dynamics. A way to achieve this is to invert the transfer function Gf over a desired frequency range, enough to achieve time-scale separation. This control strategy has been simulated in MATLAB for random array configurations consisting of up to 20 modules, see Fig. 8 for an example. These simulations take into account sensor noise derived from physical experiments and the motor model described in Section III-B.

Three important aspects of the DFA were demonstrated in order to verify its feasibility1 : (A) Docking, (B) Driving, and (C) Flying. Each one in sequence is a prerequisite to the next, and therefore each is needed to achieve the end goal of coordinated flight.

where

f

(7)

VI. E XPERIMENTS

˙ α, α) a = Qf (z, z, ˙ γ, γ, ˙ β, β, ˙

Q =

(5) (6)

pγ , kpγ k2 pα qα = . kpα k2 qγ =

Note that the elements of Q are not a function of N ,

A. Docking A variety of experiments were performed to test the module’s ability to dock. Based on experimental results, two modules have the highest probability of successfully docking when one is rotating and another is translating along converging trajectories, see Fig. 9. Although the docking strategy will be sufficiently random, this is an important 1 A video accompanied with this paper demonstrating docking, driving, and coordinated flight of the DFA can be found in the Proceedings of the IEEE International Conference on Robotics and Automation 2010.

605

Distributed Flight Array

Altitude vs. Time

1

3

16 11

0.4

10 8

0.2

15

0

20

!0.2 !0.4

6 12

!0.5

0

z z

0

ref

5

10

1

9

19 !1

1

15

20

25

30

Time (sec) Attitude vs. Time

2 14

2

!1 0

3 5

13 17

!0.6

7

4

Attitude, !, " (rad)

0.6

Y!Axis (m)

Altitude, z (m)

18

0.8

CW CCW 0.5

1

0.04 0.02 0 !0.02

γ β

!0.04 0

5

10

15

20

25

30

Time (sec)

X!Axis (m)

(a)

(b)

Fig. 8. Simulation results for a 20-module configuration, where the natural frequencies were set to (ωz , ωγ , ωβ , ωα ) = (0.67, 5.81, 5.81, 0.45) rad/s and the damping ratios were set to (ζz , ζγ , ζβ , ζα ) = (1, 1, 1, 1). Drive Trajectory 1 0.8 0.6

Y!axis (m)

0.4 0.2 0 !0.2 !0.4 !0.6 Module!1 Module!2 Start

!0.8 !1 !1

!0.8

!0.6

!0.4

!0.2

0

0.2

0.4

0.6

0.8

1

X!axis (m)

Fig. 10. Shown here is a plot of the trajectory made by a pair of modules during a pirouette maneuver, measured using a Vicon MX system. Note that the maneuver is very repeatable for over six orbits considering that the maneuver was performed open-loop.

Fig. 9. Shown here is an image sequence of two DFA modules docking. In frame 1–2, the left module rotates CCW while the right module drives towards the rotating module. In frame 3, the modules collide. The left module continues to rotate CCW and due to its protruding features it induces a CW rotation in the right module. The modules finally dock together, making a solid connection in frame 4.

observation to consider when developing a strategy to ensure that modules readily connect with one another.

transceivers then performed pirouettes along a circular trajectory, i.e. the pair of modules rotated about their combined center while both modules followed a 2 meter diameter circular trajectory in the direction opposite to their rotation. Using omni wheels increases the degree of maneuverability and in turn eases docking constraints. A Vicon MX system was used to measure the performance of this pirouette maneuver, which performed very well considering that that the maneuver was performed open-loop, see Fig. 10 [12]. The pair was able to meet the desired trajectory with relatively good accuracy and precision while performing a 1.3 meter diameter orbit over 6 times. This repeatability gives weight to the method of module fabrication and the chosen driving surface.

B. Driving Two modules were driven together and used to demonstrate maneuvers which would otherwise be impossible without the use of omni wheels or a steering mechanism. Once docked, the modules synchronized via the infrared

C. Flying The linear model presented in Section III-B and the results gathered from simulating the controller described in Section V were verified by testing the control strategy on the

606

DFA in the array configuration shown in Fig. 2(a). Preliminary results established that the pressure sensor performed poorly and provided imprecise altitude measurements. Moreover, yaw control was intentionally left out to simplify the experiments. Consequently, experiments were made using only roll and pitch as feedback to the controller, see (6) – (7). Before taking flight, the modules synchronized via the infrared transceivers and calibrated their sensors by removing sensor bias over a 5 second initialization sequence. Rate gyro measurements were made at 200 Hz and the controller was operated at 60 Hz. The control input fz was set to a very small value. A Vicon MX system was used to measure both altitude and attitude of the DFA, see Fig. 11(b) – 11(c). The DFA was shown to fly successfully with roll and pitch control. The experimental results shown in Fig. 11(b) are comparable to the simulation results shown in Fig. 11(a), thus verifying the utility of the linear model and the simulator. This paper presented the Distributed Flight Array (DFA), a unique modular multi-rotor vehicle capable of autonomous self-assembly and coordinated flight. The initial prototype of the DFA has demonstrated various important aspects of the system, including: docking, driving, and flying. The DFA is currently undergoing its second revision which will enable coordinated driving and flying experiments on a larger scale, including non-symmetric flight configurations. These results will be presented in future work.

Altitude, z (m)

2 1 0 z !1 0

1

2

3

4

5

6

7

Attitude, !, " (rad)

Time (sec) Attitude vs. Time 0.04 0.02 0 !0.02

γ β

!0.04 0

1

2

3

4

5

6

7

Time (sec)

(a) Simulated results for a 4-module configuration without feedback on altitude and yaw, where the natural frequencies and damping ratios were set to (ωγ , ωβ ) = (13, 13) rad/s and (ζγ , ζβ ) = (1, 1), respectively. Altitude vs. Time 3

Altitude, z (m)

VII. C ONCLUSIONS AND F UTURE W ORK

Altitude vs. Time 3

2 1 0 z !1 0

1

2

3

4

5

6

7

Time (sec) Attitude vs. Time 0.04 0.02 0 !0.02

! "

!0.04 0

1

2

3

4

5

6

7

Time (sec)

(b) Experimental results for a flight test performed using the same controller that was used to obtain the simulation results shown in (a). 3D Position 3

2

Z!Axis (m)

[1] J. How, B. Bethke, A. Frank, D. Dale, and J. Vian, “Real-time indoor autonomous vehicle test environment,” IEEE Control Systems Magazine, vol. 28, no. 2, pp. 51–64, April 2008. [2] G. Hoffmann, H. Huang, S. Waslander, and C. Tomlin, “Quadrotor helicopter flight dynamics and control: Theory and experiment,” in Proceedings of the AIAA Guidance, Navigation, and Control Conference, Aug. 2007. [3] N. Guenard, T. Hamel, and V. Moreau, “Dynamic modeling and intuitive control strategy for an “X4-Flyer”,” in Proceedings of the IEEE International Conference on Control and Automation, vol. 1, June 2005, pp. 141–146. [4] E. Vance, “High hopes,” Nature, vol. 460, pp. 564–566, July 2009. [5] R. Oung, A. Ramezani, and R. D’Andrea, “Feasibility of a distributed flight array,” in Proceedings of the IEEE Conference on Decision and Control, Dec. 2009, pp. 3038–3044. [6] M. Yim, W.-M. Shen, B. Salemi, D. Rus, M. Moll, H. Lipson, E. Klavins, and G. Chirikjian, “Modular self-reconfigurable robot systems [grand challenges of robotics],” IEEE Robotics & Automation Magazine, vol. 14, no. 1, pp. 43–52, March 2007. [7] S. Bouabdallah, M. Becker, and R. Siegwart, “Autonomous miniature flying robots: Coming soon! – research, development, and results,” IEEE Robotics & Automation Magazine, vol. 14, no. 3, pp. 88–98, Sept. 2007. [8] J. Agullo, S. Cardona, and J. Vivancos, “Kinematics of vehicles with directional sliding wheels,” Mechanism and Machine Theory, vol. 22, no. 4, pp. 295–301, 1987. [9] P. Bristeau, P. Martin, E. Sala¨un, and N. Petit, “The role of propeller aerodynamics in the model of a quadrotor UAV,” in Proceedings of the European Control Conference, Aug. 2009, pp. 683–688. [10] “Box2D physics engine homepage,” Jan. 2010, [Accessed: Jan. 14, 2010]. [Online]. Available: http://www.box2d.org/ [11] E. Klavins, “Programmable self-assembly,” IEEE Control Systems Magazine, vol. 27, no. 4, pp. 43–56, Aug. 2007. [12] “Vicon MX homepage,” Aug. 2009, [Accessed: Jan. 14, 2010]. [Online]. Available: http://www.vicon.com/products/viconmx.html

Attitude, !, " (rad)

R EFERENCES

1

0 0.5

Y!Axis 0 (m)

0 !0.5 X!Axis

(m)

(c) A plot of the DFA’s 3D position relative to its takeoff origin, obtained from an experimental flight test. Fig. 11. Comparison of the results gathered from a simulation and an experimental attitude-controlled flight test without feedback on altitude and yaw. Experimental measurements were made using a Vicon MX system.

607