Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Paper discussion: 13b. End-to-End Analysis and Design of a Drone Flight Controller #102

Open
gkahl opened this issue Mar 30, 2020 · 8 comments
Labels
paper discussion s20 The discussion of a paper for the spring 2020 class.

Comments

@gkahl
Copy link
Contributor

gkahl commented Mar 30, 2020

Please add your feedback and reviews below.

Edit:
As everyone has said, I think we can all agree that the equations and timing analysis explanation was overly complicated. We will be looking at these equations tomorrow, and hopefully I can break them down into easier to digest bites.

@mralexjacobson Alex Jacobson had a good question on what is exactly meant by composability easing the end to end calculation time.
@ericwendt Eric Wendt brought up good points about how security would affect the timing requirements, and whether there is a default task running. He also asked about how the pipes are modeled, hopefully this will be cleared up during the presentation.
@lrshpak Lily Shpack asked about how turning off noncritical functions off affects the drone, how the pipe model is an improvement, and whether the pipe communication model slows down the drone. I hope to address these during the explanation of the pipes.

@gparmer gparmer added the paper discussion s20 The discussion of a paper for the spring 2020 class. label Mar 31, 2020
@jacobcannizzaro
Copy link
Contributor

Reviewer: Jacob Cannizzaro
Type: Comprehend/Skim

Problem:
If there aren’t timing guarantees between sensors and drone processing, then the system can fail. If there isn’t a bounded wait on between sensor readings and virtual or physical actuation, then an autonomous drone may lose control in the air.

Main Contributions:
This paper introduces a pipe model that is able to take a set of tasks, and with analyzation, produce a set of time periods and budgets for those tasks that need to be done. This is implemented within a refactoring of a real-time flight controller called Cleanflight used for autonomous drone control. The Experiments show that the system is able to keep latencies within the bounds of the analyzed time budgets.

@mralexjacobson
Copy link

Reviewer: Alex Jacobson
Type: comprehend/skim

Problem: In order to achieve an autonomous drone, there are constraints on the data. Specifically, data freshness and reaction time. The drone must be able to react to input data within a certain time frame: the data it is reacting to must still be relevant! Likewise, if the drone is to react to data, that data must be fresh enough: You don’t want the drone to react to altitude data indicating that the drone is too low if the drone is currently at a safe altitude (the altitude data is no longer fresh).

Solution: The author’s were able to solve the problem and meet the time constraints. They did this by taking drone software that accepts human inputs, and adapting it to run on their own in house operating system. Using the remaining cores of the processor, data will be gathered and piped into the drone software that is expecting human inputs.

Questions: I find it difficult to understand all the calculations that somehow achieve the stated goal. Also, the paper states that composability is a key aspect of the pipe model since is eases the end to end time calculation. My question regards the use of the term eases. Does that mean decreases, as in “composability is a key aspect of the pipe model since it decreases the end to end time calculation”?

@chandaweia
Copy link
Contributor

Reviewer: Cuidi Wei
Review Type: Comprehension/Skim
Problem:
End-to-end delay between sensing, processing, and actuation have great impacts on embedded and cyber-physical applications. Therefore, how to satisfy both schedulability and end-to-end semantics is a big problem to solve.

Main contributions:
This paper proposes a composable pipe model for sensor data processing and actuation tasks to guarantee bounded end-to-end processing and communication delay amongst a set of independently activated tasks assigned to bandwidth-preserving server. Also, the paper provides a method to derive task periods and budgets and do the reimplementation and evaluation of the Cleanflight flight controller on the Quest RTOS.

@AkinoriKahata
Copy link
Contributor

Reviewer: Akinori Kahata
Review type: Comprehension/skim

  1. The problem being solved.
  • Some applications of Cyber-Physical systems, which are consist of many sensors and actuators, have time constraints from starting input data to finishing output by actuators. During input and output, there are many tasks, and each task has a dependency on other tasks. To keep the time constraint of application, RTOS of the cyber-physical system should control and manage CPU and memories to execute each task in the time constraint.
  1. The main contributions.
  • This paper proposed the RTOS Quest, which manages each task for keeping time constraints, such as End to End reaction time and freshness time. The researchers showed the result of the evaluation that Quest can manage the tasks of Cleanflight better than time constraint. Also, they showed the result of Quest is better than Linux RTOS.

@grahamschock
Copy link
Contributor

Reviewer: Graham Schock
Review type: Comprehension/skim

The Problem Being Solved
Cyber physical systems rely on a lot of sensor data and produce a lot of actuation in order to interact with the physical world. A lot of this data is communicated through a task pipeline. A task pipeline is a set of data processing elements that are connected where the output of one is fed into the other. However, cyber physical systems have strict deadlines as timing guarantees are crucial. This is especially true in a drone.

Main Contributions
This paper brings up a new pipe model that factors in tasks, scheduling and communication between components. They are able to determine freshness time of this model within a drone flight controller. Furthermore, they provide experimental validity and show that they are able to meet deadlines.

@ericwendt
Copy link
Contributor

Reviewer: Eric Wendt
Review type: Critical

Problem being solved
For a device such as a drone, it is imperative that commands issued to it are being completed in a timely fashion. Latency must be reduced wherever possible to avoid risk of crashing.

Main Contribution
The main contribution of this paper is to provide a framework for device interactivity
in drone controllers. There are many points of failure that can result in a task not being completely fast enough, or even being completed at all. Three latency examples they address are processing, communication, and scheduling latency. Processing refers to "the time it takes for a task to translate raw input to a processed output." Communication refers to the time it takes to transfer data. Scheduling is the time it takes to schedule events. This paper provides many equations for predicting the worst case times that events will be processed.

Critiques

  • The figures are difficult to understand. I know what they were going for, but their relationship to the equations described in the paper are daunting to analyze. I feel bad for the reviewer.
  • A clearer presentation of the math would be helpful. There are so many equations here and I don't think paragraph format is the best way to describe what they represent.

Questions

  • Can you talk about how exactly a pipe is represented in this paper? Is it just a VCPU?
  • How do you think security would affect timing requirements?
  • How does the system respond to a long period of time without commands? Is there a default task always running?

@nikorev
Copy link
Contributor

nikorev commented Apr 6, 2020

Reviewer: Niko Reveliotis
Review Type: Comprehension (Skim Edition)

Problem Being Solved

Cyberphysical systems follow the procedure of sensing, processing, and actuation. This paper refers to this procedure as the processing pipeline between sensing and actuation. With more advanced machines containing more complex sensors and actuators, it is imperative that we complete this process within a suitable timeframe to ensure the data is fresh and the actuation is accurate. Failure to adhere to this strict timeframe can create system instability as the actuation won't be accurate to the current state of the machine.

In this paper they apply this concept to a drone, and show how their pipeline can ensure that all deadlines are met, keeping the drone stable.

Main Contributions
Because they were outlined so clearly, I decided to quote the listed contributions listed from the introduction

  • "The objective of this paper is to develop a system that supports real-time task pipelines with end-to-end timing guarantees"
  • "A composable pipe model that guarantees bounded end-to-end processing and communication delay amongst a set of independently activated tasks assigned to bandwidth-preserving servers"
  • "A method to derive task periods and budgets from given end-to-end timing constraints in the application design stage"
  • "The reimplementation and evaluation of the Cleanflight flight controller on the Quest RTOS."

@lrshpak
Copy link
Contributor

lrshpak commented Apr 6, 2020

Reviewer: Lily Shpak
Review Type: Critical

Problem Being Solved

The authors of this paper want to develop a system that has end-to-end timing guarantees and is supported by real-time task pipelines. They want to do this so they can easily and securely relay data from sensors to the computational piece of the device. Since lots of cyber-physical devices have sensors that are critical to the function of the device, this is an important problem to solve.

Main Contributions

The authors use an autonomous drone that uses a firmware called CleanFlight. They modeled the flight control with a set of real-time periodic tasks. They also use a communication model with implicit communication. The authors also use pipes to send the information between the sensors.

Questions

  1. The authors said they turned off nontime-critical functions for testing such as the black box, but isn't that still an important feature that could affect actuation?
  2. Will the memory space needed for the communication pipe slow down the operation of the drone?
  3. Why is using pipes for communication better than what already was in place?

Critiques

  1. I thought there were a lot of equations in this paper that clouded what was actually being solved in the paper.
  2. I thought it was good how they immediately introduced their testing model. I think this makes it easier to understand background knowledge on the topic because you have a tangible example of a device that has this problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
paper discussion s20 The discussion of a paper for the spring 2020 class.
Projects
None yet
Development

No branches or pull requests

10 participants