On the Design and Optimization of an Autonomous Microgravity Enabling Aerial Robot

On the Design and Optimization of an Autonomous Microgravity Enabling Aerial Robot

Juan-Pablo Afman, John Franklin, Mark L. Mote, Thomas Gurriet, Eric Feron*, *This work was supported by the National Science FoundationJ.P. Afman is with the Research Faculty of the Decision and Control Laboratory at the Georgia Institute of Technology, North Ave NW, Atlanta, GA 30332, USA afman@aerospace.gatech.eduJ.K. Franklin is an Undergraduate Researcher of the Decision and Control Laboratory at the Georgia Institute of Technology, North Ave NW, Atlanta, GA 30332, USA jfranklin36@gatech.eduThomas Gurriet is a Graduate Research Assistant in Decision and Control Laboratory at the Georgia Institute of Technology, North Ave NW, Atlanta, GA 30332, USA tgurriet3@gatech.eduMark L. Mote is a Graduate Research Assistant of the Decision and Control Laboratory at the Georgia Institute of Technology, North Ave NW, Atlanta, GA 30332, USA mmote3@gatech.eduEric Feron is the Dutton/Ducoffe Professor at the School of Aerospace Engineeringat the Georgia Institute of Technology, North Ave NW, Atlanta, GA 30332, USA, feron@gatech.edu
Abstract

This paper describes the process and challenges behind the design and development of a microgravity enabling aerial robot. The vehicle, designed to provide at minimum 4 seconds of microgravity at an accuracy of g’s, is designed with suggestions and constraints from both academia and industry as well a regulatory agency. The feasibility of the flight mission is validated using a simulation environment, where models obtained from system identification of existing hardware are implemented to increase the fidelity of the simulation. The current development of a physical test bed is described. The vehicle employs both control and autonomy logic, which is developed in the Simulink environment and executed in a Pixhawk flight control board.

I Motivation

The properties of microgravity conditions make it a valuable environment to conduct research otherwise unfeasible. Fields as diverse as materials science, fluid physics, combustion, biology and biotechnology all have current research questions proposed relating to microgravity conditions [1, 2, 3]. The microgravity research being conducted around the world is already proving its usefulness in challenging and validating contemporary scientific theories as a result of unexpected or unexplained discoveries. Since 1981, on average approximately $100 million are being spent annually towards microgravity research by space agencies in America, Europe, Germany and Japan [4]. Most of this research could be conducted in the long term microgravity conditions the International Space Station provides in orbit. However, for most researchers, access to space-based microgravity is prohibitively expensive, to the point of being entirely out of reach. Furthermore, many of these experiments only require brief periods in microgravity, on the scale of a few seconds. For these reasons, a large amount of work has been done enabling terrestrial microgravity options. Fig. 1 provides an overview of the currently available microgravity platforms and their corresponding details.

Fig. 1: Comparison of the available microgravity research platforms [6]

Two of the most commonly used terrestrial based options to generate microgravity are parabolic manned aircraft and drop towers. The “Vomit Comet”, an aircraft capable of parabolic flight resulting in weightlessness conditions within the fuselage is perhaps the most common example of this technology [5]. A Boeing 727 was NASA’s ”Vomit Comet” for years; it is now operated by the Zero Gravity Corporation (cf. Fig. 2).

Fig. 2: Vomit Comet beginning a microgravity parabola [19]

As illustrated by Fig. 1, the Vomit Comet can provide microgravity for up to 25 seconds with a gravity level threshold of - ’s. This method has the drawback of high price, which has been recorded to be as high as $3,000 USD/kg [6]. Another major draw back is the lack of repetition, as the aircraft is often booked months in advance and can be very selective [7]. Drop towers can potentially solve the issues arising with the parabolic flight. They are cheaper per use than the parabolic aircraft and have a very fast turn around time. However, the main drawback with drops towers is the large upfront cost of necessary infrastructure. Furthermore, the expected microgravity time is on the lower end of the spectrum, usually limited by the height of the tower. [8]. Hence, in order to fulfill the current gap faced by researchers from a variety of fields, a quad-rotor-based platform requiring a significantly lower investment, with increased availability and reliability, is now discussed.

The recent explosion of the Unmanned Aerial Vehicle (UAV) market has enabled the development of high end hobby grade components that are capable of creating 0- conditions. Therefore, we propose the development of such a vehicle with the potential of extending the field of microgravity experiments. This microgravity UAV option is not intended to replace any existing platforms, but rather provide researchers with a tool in which experiments can be refined enough to warrant the investment to the more costly and selective platforms.

Ii Design Methodology

The adopted design methodology suggests by starting with a clear description of the problem under consideration, in which the project requirements and constraints are stated and elaborated. The motivation section in this paper is clear in describing the need behind available microgravity platforms. Hence, the necessary requirements and constraints are now described in detail.

Ii-a Requirements and constraints

A product discovery process, led by the research team and composed of interviews performed at multiple schools within Georgia Institute of Technology, revealed the requirements and constraints involved in the the development of a microgravity platform. These are now itemized and described below.

  • Affordability: Vehicle must cost less than $25,000 USD,

  • Reliability: Vehicle must be produce repeatable results,

  • Time Exposure: Vehicle must be able to provide at minimum seconds of microgravity,

  • Regulatory Constraints: Vehicle must not violate regulations realtive to the operation of civilian drones.

The decision to use an autonomous UAV was made since it fits perfectly within the requirements and constraints discovered during the product discovery process. Furthermore, the choice of a quad rotor was made since it solves several drawbacks from current technologies available. First, an autonomous quadrotor does not require any supporting infrastructure, so it can be deployed and operated almost everywhere. Since it is capable of vertical flight, the real state necessary for testing is minimal. Furthermore, federal regulations posed by the US Federal Aviation Administration permits its use as long as it remains within eyesight, under 400ft (approximately 120 meters) and with a mass lower than 55 pounds (approximately 25 Kilograms). In Germany, the maximum allowable altitude is 500 feet and maximum mass is 25 Kilograms. From a financial standpoint, quadrotors are mechanically simple, which makes them available and affordable to any academic research institution.

Ii-B Preliminary design

Several modifications on the conventional quadrotor architecture are necessary to obtain a vehicle capable of producing microgravity. First, tracking a microgravity trajectory requires the use of both positive and negative thrust forces in order to compensate aerodynamic drag in ascent and descent portions of the parabolic flight; something that a fixed pitch quadrotor cannot do. Furthermore, since the thrust profile on a fixed pitch quadrotor is a quadratic function of the propeller rotational velocity, the control authority tends to zero as the thrust required goes to zero and hence, vehicle instability occurs. Fig. 3 shows experimental data for a fixed pitch quadrotor attempting to track a microgravity profile.

Fig. 3: Fixed pitch trajectory

Note that both slow responsiveness of fixed pitch electric motors, as well as aerodynamic drag forces prevent the vehicle from reaching the zero gravity line. Furthermore, since the thrust forces are nearly zero, the vehicle is incapable of retaining proper attitude during the maneuver and the results are catastrophic.

To overcome the issues observed during the fixed pitch quadrotor experiments, the research team developed a variable pitch quadrotor. This modification, which also results in using constant rotor speed, would enable a more responsive system that is capable of (i) fighting drag independent of its direction and (ii) maintaining attitude control authority independent of the thrust required during a microgravity tracking flight.

Ii-C Requirement based Sizing

Since one of the primary goals of this project is maximizing the time spent in microgravity, while staying within UAV operational limits, the authors developed an interactive sizing tool. The tool employs a physics-based approach along with the use of manufacturer data to enable the study of the interplay between vehicle size and mission profile. The tool employs Matlab appDesigner [9] and allows to the interactive definition of all the constraints and parameters that compose the problem. Hence, using user inputs, the tool computes a trajectory that optimizes the time spent in microgravity. Profiles of altitude, velocity and thrust enabling the trajectory are then suggested, which allow for an educated decision when sizing the vehicle, as illustrated in Fig. 4.

Fig. 4: Custom Sizing Tool

For the preliminary generation of this optimal trajectory, the vehicle is modeled as a one dimensional system traveling along a vertical axis. Hence, the equations of motion are reduced to a second-order non-homogeneous differential equation given by Eq. (1)

(1)

where the forces modeled include aerodynamic, gravitational and propulsive components. Gravitational and aerodynamic components of the force vector are given by Eqs. (2) and (3).

(2)
(3)

where is the vehicle’s mass, is gravity, is the planform area, is the air density and is the drag coefficient. Since there is not an analytical expression for thrust forces, and propeller characteristics are hard to find for commercially available hobby products, elementary momentum theory of propellers is used to get the ideal thrust as a function of speed; it is given by Eq. (4)

(4)

where the efficiency is the solution of Eq. (4.1)

(4.1)

Note that for the special case of static thrust,

(4.2)

Where it is assumed that the propeller control system optimizes the blade pitch for maximum efficiency, with the power generated by the motor as the control input. Here is the propeller diameter. Ultimately, this ideal thrust is reduced by a factor of 0.7 to account for all the dissipative forces in play and be more accurate with respect to real propellers efficiency.

Once in place, the challenge becomes finding a sequence of control inputs that maximizes the time in microgravity subjected to the previously defined dynamics and constraints. Hence, we use the maximum altitude allowed (400 ft), the minimum altitude at which to stop during the descent, and maximum power available based on data-sheets from [10]. The use of a launching mechanism can be taken into account by adjusting the initial velocity at takeoff, while the use of air-brakes can be taken into account by adjusting values for the coefficient of drag during the braking phase of the mission. A descriptive illustration of the mission is provided by Fig. 5.

Fig. 5: Trajectory generation

An optimal solution to this problem can be obtained by employing any non-linear optimizer; However, the solution to this problem can be found from elementary considerations. For example, it was observed that as long as the altitude requirement is not violated, the time spent in microgravity, during the acceleration section of the mission (shown by a green line in Fig. 5), is a monotonically increasing function of both thrust available and vehicle acceleration. Similarly, thrust available and the employment of air-brakes maximizes microgravity during the deceleration portion of the mission as a monotonically increasing function of the apogee altitude of the 0- parabola. Hence, the optimal solution an intuitive ”bang-coast-bang” policy [11]where maximum power is applied until the UAV merges with the parabola whose apogee is the maximum allowed altitude, and then begins breaking with maximum intensity as late as possible so as to stop at the desired ”park” altitude, which is bounded below by the ground. The previous considerations imply that in terms of calculating the actual trajectory, one must only find the time at which these two transitions must occur based on vehicle capabilities. Hence, a simple numerical integration of the equations of motions is used in conjunction with an iterative solver based on Newton’s method to find the 2 transition events marking the beginning and the end of the 0- flight segment.

Ii-D Physical modeling

Once the problem is properly defined and requirements are in place, a full 6 DOF model is derived. We begin by introducing the linear kinematic equations of motion for a quadrotor, which are given by the Newton-Euler equations (5).

(5)

Note that the previous equations employ notation from the linear velocity vector . Similarly, the angular kinematic equations of motion are given by the Newton-Euler equations (6); the cross products of inertia are neglected.

(6)

Note that the previous notation is composed of components from the angular velocity vector and the inertia tensor. The set of forces and moments acting on the system, denoted by and respectively, are organized as

(7)

Fig. 6 illustrates the commonly used variables necessary to describe a variable pitch quadrotor.

Fig. 6: Diagram of variable pitch quadrotor concept illustrating commonly used notation

The rotational kinematic equations were mechanized using quaternions [12]. The inertial velocities are derived from the body-axis velocities by a coordinate transformation (flat-Earth equations are used) and integrated to obtain inertial position. A fourth-order Bogacki-Shampine integration method [13] is used, with an integration step of 0.004 seconds.

Ii-E Simulation Environment

The development of a model inside of a simulation environment enables the evaluation of modeling assumptions and control algorithms. Fig. 7 is a high level illustration of the model developed inside the Simulink environment.

Fig. 7: Model Based Design in the Simulink Environment

In order to visualize the model properly, a direct link is established between Simulink and FlightGear. A link to a video of the Simulink-FlightGear simulation is provided on the caption of Fig. 13

Ii-F Attitude Control

Once the characteristics of the model are accounted for, the next step aims at the derivation of a control algorithm that will be executed by the embedded platform. The attitude control law employed in the vehicle is commonly known as a cascade feedback controller. After a thorough review of control algorithms for autonomous quadrotors [14], the PID cascade control strategy was chosen due to its simplicity, precision, tracking ability, fast convergence and robustness. Fig. 8 provides a high level overview of this controller.

Fig. 8: Nested PID Control Algorithm

In control theory, the PID controller in a parallel structure is represented in the continuous time domain as

(8)

where each subscript represents the proportional, integral and derivative component of the three gains denoted by , and respectively. Gain tuning was performed after a linearized model was obtained. First, vehicle rates were tuned such that proper tracking and risetime was achieved. Once the rate responses met a satisfactory response, a the angle attitude was tuned similarly with the rate loop activated. Responses of tuned roll dynamics are illustrated in Fig. 9

Fig. 9: Controlled response of roll and roll rate to step input

Ii-G Actuator Allocation

The actuator allocation block illustrated in Fig. 8 block-diagram computes the required blade pitch of each variable pitch system in order to generate the appropriate forces and moments required to stabilize and navigate the vehicle. The linear relationship between the forces and moments to the blade pitch of each propeller is given by Eq. (9).

(9)

where T indicates the thrust forces, L, M, N the moments about the x, y, z, axes respectively for each of the individual blade deflections . Furthermore, , . and are the coefficients that make this linear mapping possible.

Since the acceleration phase of the mission shown in Fig. 5 requires maximum thrust available in order to maximize microgravity time, actuator inputs are set to their maximum value. However, this interferes with the vehicles attitude control law and would leave the vehicle incapable of correcting itself since actuators are maxed out at this point. Hence, the derivation and implementation of an enhanced actuator allocation strategy was performed. This modification allows for maximum total thrust while ensuring that attitude controller is capable of operating by sizing the input signals when necessary such that saturation never occurs. This approach is based on the observation that for a variable pitch quadrotor, pitch and the roll are affected by the difference in thrust on the opposites pairs of motors. The derived algorithm is provided by Alg. 1.

1:procedure Mixing()
2:     
3:
4:     
5:
6:     
7:     if  saturates then
8:         if  then Improvement possible
9:              Find the biggest such that
10:              
11:              doesn’t saturate
12:              if such an exists then
13:                  return
14:              end if
15:         else if  then
16:              Find the biggest such that
17:               doesn’t saturate
18:              if such an exists then
19:                  return
20:              end if
21:         else
22:              Find the biggest such that
23:               doesn’t saturate
24:              return
25:         end if
26:     else
27:         return K*O
28:     end if
29:end procedure
Algorithm 1 Mixing algorithm

The proposed actuator allocation algorithm ensures that the commanded roll and pitch are the last to hit the saturation. Hence, roll and pitch have the highest priority, followed by thrust, and lastly yaw.

Ii-H System Identification of actuators

In order to increase the fidelity of the simulation, system identification was performed on the variable pitch system illustrated by Fig. 10.

Fig. 10: Variable pitch mechanism with custom 3D-printed servo mounts

This task enabled understanding of the servo dynamics, as well as the relationship between blade pitch and thrust for a given motor speed. The command ranges for a given blade pitch are symmetric around the neutral point. The maximum commanded deflections were set in radians as . Actual maximum pitch angles of the rotor blades were measured statically. Furthermore, linear transfer functions are used to model the servo dynamics. The HD-1810MG servos used in the variable pitch mechanism were subjected to small-amplitude frequency sweeps while attached to a load cell. Since the system was fully operational, it was assumed to be representative of the actual loads experienced by the servos during the flight. The following transfer function was obtained using the experimental data.

(10)

where seconds. A dead-band of 5 micro-seconds was also applied to account for servo backlash as suggested by the manufacturer data-sheet [15]. A static thrust experiment sweeping through the envelope of interested revealed a non-linear static thrust curve, see Fig. 11. Thus, in order to enforce linearity on the available thrust, the thrust curve was linearized through static inversion.

Fig. 11: Static thrust curve for blade deflection envelope

Ii-I Automation

An autonomous flight mode was designed for precise execution of the microgravity maneuver, while a manual flight mode enables the pilot to gain control of the vehicle. During the manual flight mode, thrust magnitude and attitude angle commands from the pilot are sent via Radio Controller (RC). The three phase time optimal trajectory plan for microgravity tracking is initiated through a manual switch. The autonomous controller switches between three sub-modes in its autonomous configuration, as outlined in Fig. 12. These switches during an overall aggressive flight sequence are reminiscent of prior work by the authors [16]. The ascent phase is initiated with a five second time delay and warning sound from the vehicle, after which maximum thrust is commanded until the microgravity parabola is entered and the vertical acceleration controller for the microgravity management takes over. During this phase, a controller compensates the error of the filtered vertical acceleration measurement signal with thrust output commands. The final stage of the maneuver commands full thrust in order to stop the vehicle descent (and will deploy air-brakes in the next prototype) and stop at the desired altitude. Once this altitude is reached and the vehicle stabilized, the mode switch back to manual flight mode.

Fig. 12: Autonomous logic represented as StateFlow diagram [17]

Results from the simulation are provided in Fig. 13. In order to prevent the vehicle from drifting due to lateral gusts, a position control algorithm was implemented. Position control in autonomous mode is partitioned into vertical () and lateral () dimensions. The position commands are mapped into attitude angle commands and sent to the attitude controller.

Fig. 13: Profiles from 6-DOF Simulation (Click to see video)

Iii Safety

Iii-a Online Fault Detection

Control algorithms were developed based on the nominal plant model. Design criteria such as gain and phase margins can ensure acceptable performance when there are slight changes in plant dynamics. However, if plant dynamics change significantly due to a component or sensor failure, the result can be sub-optimal or even catastrophic. To ensure that such failures do not produce such a result, it is important to detect failures as they happen. The execution of an online model enables the comparison of real measurements with predictions from the model and detect failures when the difference exceeds a certain threshold. Models for the servo have been included on board such that if the residual signal r(t), defined as the absolute value of the difference between outputs from the model and actual outputs ,

(11)

grows larger than a predefined value, a fault flag is engaged and vehicle is signaled to abort the mission. Fig. 14 illustrates this concept using a real servo and a model derived using system identification methods.

Fig. 14: Online fault detection employing residual signals

Iii-B Geofencing

To reinforce the safety during the mission, a layered geofence structure is defined as depicted of Fig. 15.

Fig. 15: Geofence Concept

First, a ”geofence” is defined: The UAV must stay in this safe set of space even in case of failure. Therefore, a ”critical volume” is defined as the biggest subset of the geofence such that cutting power to the motors while in that critical volume ensures that the vehicle stays into the geofence. The vehicle will embark an autonomous safety termination system that will cut the power to the motors in case the critical volume is trespassed. Finally, a ”nominal volume” is defined as a cone around the nominal path. This volume serves as a geofence that signals an abnormal deviation from the nominal path if the vehicles happens to trespass it. In such a scenario, the current microgravity mission is aborted and a re-centering maneuver is performed to get back to the bottom of the nominal path.

Iv Implementation

Iv-a Flight test vehicle

The model-based development described in the previous sections is used to generate the code employed by the Pixhawk [18] flight control board. This hardware was chosen based on its ability to interact with the system and support the automatically generated control algorithms. The Pixhawk flight control board, manufactured by 3D Robotics, features advanced processor and sensor technology from ST Micro-electronics and a NuttX real-time operating system delivering performance, flexibility, and reliability for controlling the vehicle. It contains a dual IMU system where an Invensense MPU 6000 supplements ST Micro LSM303D accelerometer to provide redundancy and improve noise immunity of the power supplies. Based on the detailed specifications, a test vehicle was built and is illustrated through Fig. 16

Fig. 16: Experimental test vehicle on tuning stand

Iv-B Flight test issues and future work

The custom-made components and heavily modified motors and variable pitch mechanisms, illustrated in Fig. 10, introduced a high level of complexity. Vibrations from unbalanced systems had to be eliminated in order to get operational. Due to these unforeseen challenges, no real microgravity tests have been performed to date. However, the authors plan on disclosing flight test data before the end of September 2016. Although the vehicle has managed to hover, it was observed that the responsiveness of the vehicle could be enhanced by replacing the current set of symmetric blades with some that possess a larger planform area. Due to the lack of availability of symmetric blades and variable pitch systems, the authors are currently manufacturing their own. The final version of this paper will aim at presenting microgravity experimental flight tests results.

Conclusion

The objective of this paper has been to present our design and simulation work towards building a microgravity enabling robot. The reason behind our particular design are explained. The different practical issues arising from this very specific use of a quadrotor UAV are discussed and solutions are proposed. A sizing tool as well as a fully functional 6DoF simulator based on hardware identification data has been developed, allowing us to confirm the viability of the proposed design and control architecture. Our efforts are now focused on implementing this work on a real system and test the practicality of the concept.

Acknowledgment

The authors wish to acknowledge Dr. Sylvester Ashok and Dr. Daniel Schrage from the Integrated Product Life-Cycle Engineering (IPLE) Laboratory at Georgia Institute of Technology for providing us with the tools necessary for rapid prototyping of the test vehicle.

References

  • [1] Goulard, R., Vercher, J. L., & Viollet, S. (2016). To crash or not to crash: how do hoverflies cope with free-fall situations and weightlessness?. Journal of Experimental Biology, 219(16), 2497-2503.
  • [2] Riès-Kautt, M., Broutin, I., Ducruix, A., Shepard, W., Kahn, R., Chayen, N., … & Thèobald-Dietrich, A. (1997). Crystallogenesis studies in microgravity with the Advanced Protein Crystallization Facility on SpaceHab-01. Journal of crystal growth, 181(1), 79-96.
  • [3] Law, C. K., & Faeth, G. M. (1994). Opportunities and challenges of combustion in microgravity. Progress in Energy and Combustion Science, 20(1), 65-113.
  • [4] Proceedings of National Workshop on Material Processing in Space and Space Biotechnology, 1 August 1997, Doc No.: ISROSP-66-98.
  • [5] Karmali, F.,& Shelhamer, M. (2008). The dynamics of parabolic flight: flight characteristics and passenger percepts. Acta astronautica, 63(5), 594-602.
  • [6] V. A. Thomas, N. S. Prasad, Microgravity research platforms – A study, Programme Planning and Evaluation Group, 10 Aug. 2000 p. 1
  • [7] ESA Microgravity News, April 1998.
  • [8] Haber, H. and F. Haber: Possible methods of producing the gravity-free state for medical research. J. Aviat. Med. 2 1 :395-400 (195 0). pg 16
  • [9] MATLAB App Designer. (n.d.). Retrieved September 14, 2016, from http://www.mathworks.com/products/matlab/app-designer/
  • [10] AXI Model Motors s. r. o. (n.d.). Retrieved September 14, 2016, from https://www.modelmotors.cz/
  • [11] Redding, D. C., & Adams, N. J. (1985). An optimized rotation-axis model-following controller for STS orbiter attitude maneuvers. Proceedings, AIAA, p.49.
  • [12] J.M. Rolfe, K.J. Staples, Flight Simulation. (Cambridge University Press, Cambridge, 1986)
  • [13] Choose a Solver. (n.d.). Retrieved September 14, 2016, from http://www.mathworks.com/help/simulink/ug/types-of-solvers.html
  • [14] A. Zulu, S. John, et al., A review of control algorithms for autonomous quadrotors, Open Journal of Applied Sciences, 4 (14) (2014), p. 547
  • [15] HD-1810MG Data. (n.d.). Retrieved September 14, 2016, from https://www.pololu.com/file/download/HD-1810MG.pdf?file_id=0J508
  • [16] V. Gavrilets, B. Mettler, E. Frazzoli, M. Piedmonte and E. Feron. Aggressive Maneuvering of Small Autonomous Helicopters: A Human-Centered Approach, International Journal of Robotics Research, Volume 20, Numb er 10, Pages 795-807, october 2001.
  • [17] Stateflow. (n.d.). Retrieved September 14, 2016, from http://www.mathworks.com/products/stateflow/
  • [18] Pixhawk PX4 Support from Embedded Coder. (n.d.). Retrieved September 14, 2016, from http://www.mathworks.com/hardware-support/pixhawk.html
  • [19] Now Boarding: Zero G Flights for the Public. (n.d.). Retrieved September 14, 2016, from http://www.space.com/332-boarding-flights-public.html
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
""
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
   
Add comment
Cancel
Loading ...
139304
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test
Test description