Professional Documents
Culture Documents
37
2019 IFAC ACE
38 1-3, 2016. Bratislava, Slovakia
June Paul N. Beuchat et al. / IFAC PapersOnLine 52-9 (2019) 36–41
Network Mocap
Switch Computer
Student Computers
Fig. 2. Left: schematic of how the hardware components are arranged for our classroom setting. Typically four or more
Mocap cameras are required depending on the size of the flying volume. Right: screenshot of the GUI used by the
teacher to define flying zones in a “click-and-drag” fashion (the boxes numbered 1,2,3). The teacher then uses a few
GUI buttons to allocate each Crazyflie to a particular flying zone and student computer. As described in Sec. 2.3,
the flying zone is used for the safety mechanism that ensures the Crazyflie remains in its allocated zone.
38
2019 IFAC ACE
June 1-3, 2016. Bratislava, Slovakia Paul N. Beuchat et al. / IFAC PapersOnLine 52-9 (2019) 36–41 39
equilibrium thrusts
feed forward
thrust adjustments plant
reference + outer
position
Σ controller body + propeller
inner thrust
and − rates Σ Σ
controller adjustments thrusts
heading reference −
gyroscope measurements
Mocap measurements
Fig. 4. Block diagram of the cascaded architecture. The inner loop (red) runs on-board the Crazyflie quadcopter (plant).
The outer loop and feed forward (blue) are implemented by the student using an off-board computer.
39
2019 IFAC ACE
40 1-3, 2016. Bratislava, Slovakia
June Paul N. Beuchat et al. / IFAC PapersOnLine 52-9 (2019) 36–41
crash compared with seeing traces diverge to infinity in a pellers. By considering a multirotor vehicle we motivate
simulation environment. In addition, the fast dynamics of discussion and questions that guide the student to un-
a quadcopter is challenging and motivating, in the sense derstand why a symmetric quadcopter is well suited for
that mistakes in the controller design are observed through applying basic control techniques. The modelling details
unstable flight, and at the same time, achieving stable are found in our course script (Beuchat, 2019a).
flight is rewarding. (Session 2) Students build the equations of motion in the
Matlab/Simulink simulation environment, starting from
Productive failure can also be used as a pedagogic ele-
a template that includes a stabilizing controller. In this
ment (Kapur, 2008). The structure of the course allows
simulation session we guide the students to observe and
opportunities for students to make mistakes, and the safety
understand design choices for a quadcopter and related
mechanisms, described in Sec. 2.3, enable the students
dynamic effects. For the Crazyflie 2.0 model parameters,
to observe the outcome of such mistakes multiple times
we use those identified by Förster (2015).
without damaging the system. For example, positive feed-
back or high integrator gains in the altitude controller (Session 3) Students continue building their simulation
cause the quadcopter to accelerate towards the ceiling, and environment, first implementing the cascaded architec-
the Default Controller is activated just-in-time to avoid a ture shown in Fig. 4, and then using either a PID or
collision. This creates an appreciation for the mistakes, LQR controller for the outer loop. To achieve this, we
and allows students to experiment with the limits and guide the students to linearize the equations of motion
sensitivity of their controller design. The students thus and observe the decoupling of the states and actua-
learn from poor design choices and unforeseen errors, until tors, thus motivating a decoupled controller structure.
they are rewarded not only with a working flight controller, The students learn about time scale separation of the
but also with a deeper understanding of the system and positions and angles, motivating the cascaded control
the underlying control theory. architecture. Using the linearized model for controller
design allows students to apply the control theory stud-
Working in teams of two, and towards the end of the course ied in their undergraduate courses. Testing and tuning
collaborating with other teams, teaches the students that the controller in simulation highlights the link between
complex tasks are better solved as a team. In addition, the the controller parameters and their effect on the closed-
team work makes the class more enjoyable and efficient. loop quadcopter dynamics.
As this hands-on course is offered in parallel with the first (Session 4) This first hands-on session focuses on getting
control theory courses, it demonstrates the importance of familiar with the experimental setup, working with the
control in real-world systems and can motivate students to operating system, the coding framework, and conduct-
pursue advanced control courses in their further studies. ing flight tests with the GUI. Once the students under-
stand where the C++ file for implementing their con-
3.2 Course content troller sits within the system, they begin implementing
and testing the real-world counterpart of Session 3.
The number of participating students depends on the size (Session 5) The students continue implementing their
of the quadcopter platform. In our case, the room size, controller and we guide them to observe and explain
equipment available, and volume of the flying space en- differences between their quadcopter’s behavior in sim-
ables a productive classroom environment with up to eight ulation and experiments. For example, model mismatch
flying zones, Crazyflies, and student computers operating of the mass, center of gravity, or inertia is influenced by
simultaneously, see Fig. 6. Thus the capacity of a hands-on the retro-reflective markers shown in Fig. 1. Changing
session is 16 students who work in pairs, and we offer two the model parameters during experiments enhances un-
parallel classes per semester. derstanding of the dynamic effects of model mismatch.
The course curriculum is split over six sessions, the first (Session 6) The students are given freedom to propose
three sessions focus on modeling and control through their own ideas of a control task to perform with their
theory and simulations, and the remaining are hands-on quadcopter, and subsequently they implement, test, and
sessions where the students implement the controllers they demonstrate it to their cohort. The student pairs are
developed. A brief description of each session follows: also free to collaborate with other pairs. Examples of
control tasks performed include: trajectory tracking,
(Session 1) Is an interactive “chalk-and-talk” lecture where
flips, mimicking the trajectory of another object or
we derive and discuss the design and equations of motion
quadcopter, and formation control with multiple quad-
for multirotor vehicles with an arbitrary number of pro-
copters. Through the last two examples students dis-
cover aspects of distributed control and the required
data communication. Highlights from Session 6 can be
seen in this video (Beuchat, 2019b).
40
2019 IFAC ACE
June 1-3, 2016. Bratislava, Slovakia Paul N. Beuchat et al. / IFAC PapersOnLine 52-9 (2019) 36–41 41
collaborative fashion. These observations were confirmed Beuchat, P.N. and Romero, A. (2019). D-FaLL-System.
by the survey results. To highlight how the hands-on URL http://doi.org/10.5905/ethz-1007-180.
course complements the material taught in other classes, Bitcraze (2019). Bitcraze AB. URL bitcraze.io.
in response to the survey statement “The course was Bloom, B., Englehart, M., Furst, E., Hill, W., and Krath-
useful for understanding the theory of the control systems wohl, D. (1956). Taxonomy of educational objectives:
1 class”, 90% of students agreed or strongly agreed. The classification of educational goals. Longmans, NY.
The following two responses were received in the general Bucki, N. and Mueller, M.W. (2018). Improved quadcopter
comments section of the survey: “I really liked the course, disturbance rejection using added angular momentum.
and I am still very surprised on how easily we could design In International Conference on Intelligent Robots and
the control for a fairly complex system with only basic Systems (IROS), 4164–4170.
control theory tools that we had learned in 4–5 weeks of Campos-Macı́as, L., Gómez-Gutiérrez, D., Aldana-López,
lecture!”; “It was a great course, one of the more useful and R., de la Guardia, R., and Parra-Vilchis, J.I. (2017). A
interesting ones that there are. Keep up the good work!”. hybrid method for online trajectory planning of mobile
robots in cluttered environments. IEEE Robotics and
4. FURTHER USES OF THE PLATFORM Automation Letters, 2(2), 935–942.
Feisel, L.D. and Rosa, A.J. (2005). The role of the labo-
The hardware and software platform can be used in all ratory in undergraduate engineering education. Journal
levels of control education. Courses can also be designed of Engineering Education, 94(1), 121–130.
for teaching advanced control concepts such as Robust Förster, J. (2015). System identification of the Crazyflie
Control, Model Predictive Control, or Distributed Con- 2.0 nano quadrocopter. BSc. thesis, ETH Zürich.
trol. Furthermore, Bachelor’s and Master’s projects can Giernacki, W., Skwierczyński, M., Witwicki, W., Wroński,
be run on the platform to combine theoretical, practical, P., and Kozierski, P. (2017). Crazyflie 2.0 quadrotor
and research considerations. The platform also serves as as a platform for research and education in robotics
a testbed where advanced control concepts can be readily and control engineering. In Methods and Models in
tested and validated. Evaluating the performance of novel Automation and Robotics (MMAR), 37–42.
control concepts and comparing it to that of existing ones Hamer, M. and D’Andrea, R. (2018). Self-calibrating
in experiments, gives important insights and is very valu- ultra-wideband network supporting multi-robot local-
able for research. The streamlined software architecture ization. IEEE Access, 6, 22292–22304.
described in Sec. 2 and 3 facilitates such research efforts. Hönig, W., Milanes, C., Scaria, L., Phan, T., Bolas, M.,
The platform has been used to implement distributed con- and Ayanian, N. (2015). Mixed reality for robotics.
trol and approximate dynamic programming algorithms, In International Conference on Intelligent Robots and
Romero et al. (2019), and is currently being used for the Systems (IROS), 5382–5387.
validation of learning-based control. Kapur, M. (2008). Productive failure. Cognition and
Demonstrations are an important part of communicating Instruction, 26(3), 379–424.
not only with other researchers, but also a general audi- Lupashin, S., Hehn, M., Mueller, M.W., Schoellig, A.P.,
ence. During lab visits, high school students, for example, Sherback, M., and D’Andrea, R. (2014). A platform for
can experience the concept of feedback control in a playful aerial robotics research and demonstration: The flying
way by changing parameters over the intuitive GUI shown machine arena. Mechatronics, 24(1), 41–54.
in Fig. 5. If the Mocap system and computers are chosen Merriaux, P., Dupuis, Y., Boutteau, R., Vasseur, P., and
accordingly the hardware platform is easy to move which, Savatier, X. (2017). A study of Vicon system positioning
together with the robust software, makes it well suited for performance. Sensors, 17(7).
demonstration purposes outside the laboratory. Optitrack (2019). NaturalPoint, Inc. DBA OptiTrack.
URL optitrack.com.
ACKNOWLEDGEMENTS Preiss, J.A., Hönig, W., Sukhatme, G.S., and Ayanian, N.
(2017). Crazyswarm: A large nano-quadcopter swarm.
The authors would like to thank Angel Romero and Yvan In International Conference on Robotics and Automa-
Bosshard for their contributions to developing the software tion (ICRA), 3299–3304.
(Sec. 2.2) and course (Sec. 3.2). Prince, M. (2004). Does active learning work? a review of
the research. Journal of Engineering Education, 93(3),
REFERENCES 223–231.
Qt (2019). The Qt Company. URL qt.io.
Antsaklis, P., Basar, T., DeCarlo, R., McClamroch, N.H., Qualisys (2019). Qualisys AB. URL qualisys.com.
Spong, M., and Yurkovich, S. (1999). Report on the Quigley, M., Gerkeyand, B.P., Conley, K., Faust, J., Foote,
NSF/CSS workshop on new directions in control engi- T., Leibs, J., Wheeler, R., and Ng, A.Y. (2009). ROS:
neering education. IEEE Control Systems Magazine, an open-source Robot Operating System. In ICRA
19(5), 53–58. Workshop on Open Source Software.
Bencomo, S. (2004). Control learning: present and future. Romero, A., Beuchat, P.N., Stürz, Y.R., Smith, R.S., and
Annual Reviews in Control, 28(1), 115 – 136. Lygeros, J. (2019). Nonlinear control of quadcopters
Beuchat, P.N. (2019a). N-rotor vehicles: modelling, con- via approximate dynamic programming. In European
trol, and estimation. ETH Zürich Research Collection. Control Conference (ECC).
doi:10.3929/ethz-b-000325583. Vicon (2019). Vicon Motion Systems Ltd. URL
Beuchat, P.N. (2019b). Quad-rotor P&S: High- vicon.com.
lights from 2018 autumn semester. URL
youtube.com/watch?v=PEg-XHSXd58.
41