Published Articles
The following acticles are centered around experimental results produced from student projects and research conducted at D-FaLL.
Published in the IEEE 4th World Forum on Internet of Things proceedings and presented in Singapore in February 2018. (doi:10.1109/WF-IoT.2018.8355120)
Abstract: In this paper we propose an embedded optimization framework for the simultaneous self-localization of all sensors in wireless sensor networks making use of range measurements from ultra-wideband (UWB) signals. Low-power UWB radios, which provide time-of-arrival measurements with decimeter accuracy over large distances, have been increasingly envisioned for realtime localization of IoT devices in GPS-denied environments and large sensor networks. In this work, we therefore explore different non-linear least-squares optimization problems to formulate the localization task based on UWB range measurements. We solve the resulting optimization problems directly using non-linear-programming algorithms that guarantee convergence to locally optimal solutions. This optimization framework allows the consistent comparison of different optimization methods for sensor localization. We propose and demonstrate the best optimization approach for the self-localization of sensors equipped with off-the-shelf microcontrollers using state-of-the-art code generation techniques for the plug-and-play deployment of the optimal localization algorithm. Numerical results indicate that the proposed approach improves localization accuracy and decreases computation times relative to existing iterative methods.
Published in the IEEE Internet of Things Journal in March 2019. (doi:10.1109/JIOT.2019.2904559)
Abstract: In this paper we propose an embedded optimization approach for the localization of IoT devices making use of range measurements from ultra-wideband (UWB) signals. Low-cost, low-power UWB radios provide time-of-arrival measurements with decimeter accuracy over large distances. UWB-based localization methods have been envisioned to enable feedback control in IoT applications, particularly, in GPS-denied environments and large wireless sensor networks. In this work we formulate the localization task as a non-linear least-squares optimization problem based on two-way time-of-arrival measurements between the IoT device and several UWB radios installed in a 3D environment. For the practical implementation of large-scale IoT deployments we further assume only approximate knowledge of the UWB radio locations. We solve the resulting optimization problem directly on IoT devices equipped with off-the-shelf microcontrollers using state-of-the-art code generation techniques for plug-and-play deployment of the non-linear-programming algorithms. The paper further provides practical implementation details to improve the localization accuracy for feedback control in experimental IoT applications. The experimental results finally show that sub-decimeter localization accuracy can be achieved using the proposed optimization-based approach, even when the majority of the UWB radio locations are unknown.
Published in the IEEE European Control Conference (ECC) proceedings and to be presented in Naples in June 2019.
Abstract: While Approximate Dynamic Programming has successfully been used in many applications involving discrete states and inputs such as playing the games of Tetris or chess, it has not been used in many continuous state and input space applications. In this paper, we combine Approximate Dynamic Programming techniques and apply them to the continuous, nonlinear and high dimensional dynamics of a quadcopter vehicle. We use a polynomial approximation of the dynamics and sum-of-squares programming techniques to compute a family of polynomial value function approximations for different tuning parameters. The resulting approximations to the optimal value function are combined in a point-wise maximum approach, which is used to compute the online policy. The success of the method is demonstrated in both simulations and experiments on a quadcopter. The control performance is compared to a linear time-varying Model Predictive Controller (MPC). The two methods are then combined to keep the computational benefits of a short horizon MPC and the long term performance benefits of the Approximate Dynamic Programming value function as the terminal cost.
Student Projects
The following lists the student projects completed at D-FaLL.
Authors: E. Elokda
Abstract: To be completed.
Authors: A. Irvine, O. Shams, L. Widmer
Abstract: To be completed.
Authors: S. Marti, V. Marugg, P. Sivananthaguru
Abstract: The rise of multirotors creates a lot of new opportunities, but some of the potential applications are limited by short flight time and small load-carrying capacity. To address these short-comings, autonomous fixed-wing aircrafts could be combined with multirotors. One of the key challenges that arises is to land a quadrotor on a moving platform which we refer to as the "mothership." The goal of this group project is to prove the concept of a mothership. In order to do so, Crazyflie quadrotors were used and different controllers as well as trajectory generation and tracking were implemented and tested in the IfA lab to land on the moving mothership.
Authors: Y. Bosshard, T. Salzmann
Abstract: Recent development in indoor localisation involving UWB technology suggests its potential as a cheap, robust and scalable localisation system. The Automatic Control Lab (IfA) has supervised multiple student projects involving UWB technology: one concluded by a participation in the Microsoft Indoor Localisation Challenge and another enabled UWB-localisation for the Crazyflie quad-rotors used in the P&S course at IfA. The accuracy of the systems resulting from these projects varied between 10 and 50 centimeters, however neither system is suitable for use in arbitrary environments and with a varying number of moving agents (tags) to be localised.
The motivating application for this project is autonomous video production, where the number and location of anchors needs to adapt to the environment, and the number of moving objects to be tracked and filmed varies. The goal of this group project is to take the experiences from the previous UWB projects and develop a system that can be used in an arbitrary environment and natively supports a varying number of anchors and tags.
Author: T. Keller
Abstract: The need for distributed control of physically interconnected systems arises in many areas and can be critical if the agents are restricted in communication. Using Lagrange’s principle we will derive the non-linear equations of motion for a system of N quadrotors cooperatively carrying a load. In contrast to other work the load is modelled as an extended rigid body instead of a point mass and the system is derived to be of minimal order yielding a complex, coupled system. With the linearized system representation a distributed output feedback controller is designed in an augmented state space, where the agents are estimating their own state and possibly other parts of the original state space. A novel iterative approach based on the minimization of a H2 performance criterion is proposed, which is able to provide such a distributed overlapping estimator and controller. Results include system theoretical design considerations for the state space augmentation. We will show the performance benefits of such an overlapping distributed controller and estimator. Furthermore we will provide simulation results to show how three quadrotors cooperatively stabilize a box using the distributed controller and estimator.
Author: A. Romero
Abstract: Approximate Dynamic Programming has proven to be successful in many discrete state applications such as playing the games of Tetris or chess. However, not so many applications involving continuous state space dynamics have been proposed. In this thesis we study the possibilities of applying these same techniques to the continuous, non-linear, high dimensional dynamics of a quad-rotor vehicle, by using the Linear Programming approach to find a set of polynomial approximations to the optimal value function. Using a polynomial approximation of the non-linear dynamics, this problem is formulated as a convex semidefinite program and solved multiple times for different tuning parameters. All these approximations are then put together using the point-wise maximum approach, and demonstrated by playing the resulting online policy in simulation and implementation in the real system. We then compare the results obtained in simulation and implementation with another non-linear control approach, Linear Time Varying Model Predictive Control. We then mix both approaches aiming to find a balance between the short term performance of Model Predictive Control and the long term benefits of Approximate Dynamic Programming.
Authors: Y. Bosshard, M. Rogenmoser, T. Salzmann
Abstract: The Automatic Control Laboratory (IfA) at ETH Zurich currently organizes a P&S course for Bachelor students on control of quadcopters. The system for this course currently uses Bitcraze's Crazyflie 2.0 quadcopters with three reflective balls attached, which allows for precise localization with a Vicon camera system. However, this system is rather expensive and a hastle to set up. The IfA has also been working on ultra-wideband (UWB) localization, developing a robust system to locate a tag using only UWB ranging.
The aim of this group project was to combine the two other projects: locate and control the Crazyflie using only UWB and onboard sensors. While UWB is a lot less precise than the Vicon system, it is far more versatile and less expensive. Using an optimization-based approach, the location of the Crazyflie can be determined using only the distances between the Crazyflie and fixed anchors. As this information is quite flawed, the position has to be filtered and a controller optimized to work with this new method of localization.
Authors: B. Berabi, A. Hirte
Abstract: Having a reliable, cheap and precise localisation system gives rise to a whole new field of possible technologies and has the potential to change our daily life. GPS most famously did exactly that for outdoor navigation applications. However, GPS falls short when it comes to the general task of indoor localisation, which has a significant potential to be integrated in society in the near future. The goal of this group project is to develop a live indoor localisation system by developing affordable ultra-wide-band devices that can perform distance measurements between themselves accurately. This is achieved by installing a number of Anchor boards in an environment, measuring their exact coordinates and performing two- way ranging with an additional microprocessor (the Tag) to get the distance between the Anchors and the latter. This set-up then allows to compute the coordinates of the Tag using mathematical and geometrical tools. The initial calculation will be improved by optimization methods and unreliable noisy outcomes will be filtered in order to obtain the most accurate result. By repeating this process, the system is able to achieve a live visualization of the Tag’s position.
Author: D. Zivkovic
Abstract: Today single quadrotors are used for load transportation in numerous applications. Requirements to transport heavier and bigger loads exceed the limitations of the single agent systems. Introducing multiple quadrotors working cooperatively enables efficient solution to this more demanding problems. In case of the large scale systems, it is infeasible for one processor to process all data and to control all agents. Therefore, this thesis suggests a solution to the load transportation problem using a distributed control theory. A nonlinear model of the system is derived, which is further linearized and discretized to be used in the controller design. Three types of state feedback distributed controllers are designed in this project, in addition to a centralized controller, and their performance is analyzed in a simulated environment. Simulation results justify the implementation of two distributed controller types on the real world hardware, which consists of three nano quadrotors and a motion capture system. Stable autonomous load transportation is achieved in both simulation and real world experiments, and the performance of different controller types is compared.
Author: D. Speziali
Abstract: The goal of the Semester Project was to extend the formation controller developped in [1] to allow for trajectories to be described as piecewise smoothing splines, with the intention of developping a testbed for distributed flying control, using the Robot Operating System (Ros [8]). For this purpose a package containing various functions to generate and manipulate piecewise smoothing splines and to compute the optimal trajectories was developed, which enables the tracking of a given target trajectory starting from the actual position of the agent. To solve the resulting optimization problem, the Quadratic Program was used.
Authors: C. Burgener, P. Friedli, M. Mueller
Abstract: The Distributed Flying and Localisation Laboratory was initiated some time ago at the Automatic Control Lab, with the intention of creating an experimenting platform in the field of flying machines and their localisation.
To benefit from the already available existing hardware, the idea came up to use it for extended teaching purposes in the form of a PPS Session. Since quadcopters offer a nice opportunity to learn about system control, the students can get practical experience by applying the concepts they learned in the control theory lectures.
In order to allow multiple teams to work independently with their quadcopter, a setup was needed that separates the flying area into sections that can be used independently from each other. Furthermore it was required to provide some safety measures to mitigate the risk of crashing and destroying the quadcopters. To achieve this, a fast and reliable controller needs to be activated whenever the controller under test mistakenly commands the quadcopter to exceed the safety limits.
In the context of this work, an environment with such functionality was devised and successfully implemented. Special attention was paid on a neat and clear implementation, that facilitates further works. Moreover, the setting is capable to generically adapt to any number of quadcopters and flight zones.
To reduce the hassle of familiarizing with other peoples code projects, the following report is intended to be used as a manual to understand the set-up. It will not only include a description of the concept, but also hands-on advices and remarks on how to use the project environment. Apart from being a required formal part of a group project, it is also meant to serve as a help for each user dealing with the code.
Authors: L. Bieri, M. Binder, M. Meier, N. Melchior
Abstract: Having a reliable, cheap and precise localization system gives rise to a whole new field of possible technologies and has the potential to transform whole industries. GPS most famously did exactly that for most outdoor navigation applications. However, GPS falls short when it comes to high accuracy and the general task of indoor localisation. The goal of this group project is to solve this problem by developing affordable ultra-wideband devices that can perform the task of indoor localisation accurately. This is achieved by installing a number of anchor boards inside a room, measuring their exact coordinates and performing two-way ranging with an additional chip (the tag) to get the distance between the anchors and the tag. This set-up then allows to calculate the coordinates of the tag using a geometrical approach.
This set-up has further been used to compete at the Pittsburgh Microsoft Indoor Localization Competition 2017 where it got placed 3rd.
Author: D. Zivkovic
Abstract: Today autonomous flying vehicles operate in a wide range of applications such as film productions, surveillance and security, transportation, and military applications. As such, the Automatic Control Lab at ETH Zurich has decided to create a P&S course that will teach bachelors students about the basic of quadcopter modelling and control. The project includes implementation of a PID and LQR control algorithms for a stable quadcopter flight, as well as a GUI to interface the system. The project is realized using a Crazyflie 2.0 nano quadrotor designed by the Bitcraze company as an open source project with development in mind. Position and attitude measurements are acquired with the motion capture system from Vicon. The control system is split between the quadcopter's MCU and an offboard computer. Using the mathematical model of the Crazyflie 2.0, a simulation of the system is introduced to analyze the performance of different control algorithms and tune the controller parameters prior to their real world implementation. The mathematical model and motion capture measurements are connected with a Kinematic Kalman filter in order to acquire the full quadrotor state estimations. The GUI allows switching between different types of control algorithms as well as providing setpoints to the system, displaying the current quadrotor state and choosing the amount of computation done onboard and offboard. Robot operating system (ROS) is used for connecting and synchronizing the offboard controller, GUI and the hardware components of the system. Stable quadrotor flight is achieved with both control algorithms and their performance is compared analyzing the in-flight logged data.
Author: M. Boesch
Abstract: The task was to develop a testbed for distributed flying algorithms on top of the Robot Operating System (ROS) and Gazebo, a simulation and 3D visualization software. In particular, a distributed formation controller from the literature was implemented and analyzed. This algorithm allows a team of aerial vehicles to track a given group trajectory while preserving a specified time-varying formation. In addition we implemented a non-linear position controller for quadcopters that satisfies the high tracking performance required by formation control.
Author: C. Frei
Abstract: In this work we present a study of how the autonomy of a miniature quadrotor drone can be extended using state estimation and sensor calibration. We introduce two state estimators, one that is purely based on kinematics and one that takes aerodynamics and quadrotor system dynamics into account. In addition, we investigate the influence of sensor calibration as well as noise on gyroscope and accelerometer readings on the quality of the state estimation. This reveals the dominant disturbances that are required to be eliminated in order to prolong the time for which the drones can fly autonomously.
Author: M. Schuette
Abstract: This paper describes the setup of a simulation environment for a Distributed Autonomous Flying Testbed using an advanced robotic software stack as a framework as well as the implementation of certain components for the simulated system. Using this simulated testbed, each aspect of a distributively controlled swarm of multirotor Unmanned Aerial Vehicles can be simulated and evaluated with high accuracy, eradicating the need for a spacious testing environment as well as time consuming real-world setups and test runs for early development stages. The simulation environment, consisting of Robot Operating System (ROS), Gazebo, a 3D visual dynamics simulator, and the RotorS Micro Aerial Vehicle package for ROS/Gazebo, is introduced and its core concepts are described to the reader. The simulated system is defined, sensors, position controllers and distributed controllers are introduced and their C++ implementation is explained. Furthermore, three communication architectures for distributed controllers in swarm operation are introduced and roughly analyzed for best suitability. The chosen architecture is tested with a Distributed Attraction Controller and a Distributed Leader-Follower controller is showcased as starting ground for further development. Finally, a rough performance analysis is made and ideas for further development of this simulation testbed are presented.
Authors: T. Aras, A. Berger, C. Fluri, T. Zwellweger
Abstract: The goal of this group project was to build a handheld device which collects sensor data from an Inertial Measurement Unit (IMU) and the corresponding ground truth position data at high frequency. The motivation of building this device is the application of localization of device based on IMU measurements. By contrast, most common localization techniques today rely on triangulation. For example, the most common one is GPS, which relies on satellite signals. However there are some applications for which GPS localization isn't good enough. For example indoor localization based on GPS is not sufficiently accurate due to the distortion and attenuation of the signals by the buildings structure. For a system with fast dynamics, for example a quadrocopter, GPS alone is also insufficient because the 1Hz frequency is too slow to control the system. One needs also to know the position of the quadrocopter between two consecutive GPS signals. A common technique for localization using IMU data is to implement a Kalman filter that integrates the accelerometer and gyroscope measurements, and removes biases using the magnetometer measurements. However, for the low cost IMU sensors deployed in many devices, the level of measurement noise renders the Kalman filter approaches to be useless. Recent literature has proposed an alternative for low cost IMU sensors that uses machine learning methods to train a filter that predicts position localization based on noise IMU measurements. The proposed methods use supervised learning techniques, hence a data set of IMU measurements and ground truth position measurements is required for the training phase. The necessary data streams can be collected with the device we created. Additionally, to be able to compare different low cost IMU sensors, the created device supports multiple connection protocols.
Author: N. Jakob
Abstract: In this project a positioning system using novel ultra-wideband (UWB) technology was implemented for GPS-denied applications where accuracy, scalability, indoor/outdoor use and ease of setup is critical. Eight self- contained UWB transceiver nodes were built using commercially available UWB range sensors. The nodes have been programmed to either participate in active two-way ranging or in a passive time-difference-of- arrival (TDoA) fashion. The two-way ranging mode allows for a complete calibration of the system with knowledge of only one node location. The TDoA implementation subsequently allows for a purely passive self- localization of an arbitrary number of hardware nodes similar to GPS. Both localisation methods have been formulated as an optimisation problem and were implemented using the FORCES Nonlinear Programming Solver. Based on measured experimental data, we compared standard triangulation methods with the optimisation-based approaches to demonstrate the performance improvements from the overdetermined system. The optimisation problem is solved fast enough to be implemented on the nodes directly.
Authors: A. Kim and J. Seitz
Abstract: The Distributed Autonomous Flying Test Bed is intended to be a platform to test various distributed control algorithms using quadcopters. For these purposes second generation nano quadcopters Crazyflies 2.0 (Crazyflies) have been chosen. These compact lightweight quadcopters have been developed by three embedded engineers from Sweden who later became founders of the Bitcraze AB company.
This project took the first step towards this platform and tried to engineer a setup for a single agent, which allows the extension to multiple Crazyflies in successive steps. To that end, the necessary components of the system were identified and communication between them was established. Measurement data from the Vicon positioning system that captures the location and attitude of the rotorcraft was transferred to the Crazyflie through a Raspberry Pi computer which extends the computational capabilities of the quadrotor.
In order to implement a controller on the Crazyflie, the quadcopter's equations of motions were derived, three controller designs proposed and a linear as well as a nonlinear Kalman filter introduced. To assess the control algorithms, the whole system was modeled in Matlab Simulink. The model allows to use different combinations of controller and estimator which can be perturbed by measurement noise, model-controller mismatch and time delays inbetween components. The robustness of the controller schemes was tested and provided satisfactory results. The control algorithms allowed stable flight conditions for a single Crazyflie.
The performance of the algorithms remains to be tested on the real rotorcraft. In case of success, the subsequent projects related to the Distributed Autonomous Flying Test Bed can focus on the implementation of high-level distributed control algorithms for multiple Crazyflies.