TransWikia.com

Control: control action of a PID controller with feedback

Engineering Asked by Unnamed on April 18, 2021

I’m programming the controller for a drone and I’ve got a question that may be basic, but I need to understand this perfectly to continue with the most interesting part of the project.

The sensors of my drone give me the position (x,y,z) and orientation (quaternion: x,y,z,w) of the drone, and I need to control the altitude of the drone, so I need to control the velocity in the z coordinate because that velocity is send to a topic of my drone (for those who use ROS, to the cmd_vel topic) and changing the velocity I can control the altitude.

So, basically the input of the controller is the desired position of the drone, then I have a PID controller and the plant (unknown model, so I have to “guess” the parameters of the PID), and the feedback is the current position.

Which would be the output of the controller (I mean, the $u_k$, with the discrete model of the PID that is the input of the plant)? Is it a position or a velocity? If it is a position, then I can do something like: (position_current – position_before)/timestep. But I don’t know what is theoretically correct, because maybe I can find some $k_p$, $k_i$ and $k_d$ to have the desired velocity as the output.

Thanks 😀

Edit: this is basically the model I’m using

Controller model

One Answer

Normally PID or any feedback control has a controller which outputs a signal that is passed to the actuators of the system. In your case the actuators would be the propeller motors of the drone. So the output would have the units volts.

But for systems you could also use sequential loop closing, where the output of the controller in the outer loops would have the units of the reference of the inner loop. For drones you sometimes have a separate loop for the angular speed for each propellor, such that the outer loop PID would have the controller output units of angular velocity. It is also possible that actual output of the outer loop is the square of the angular velocity, since that is proportional to the amount of thrust that a propellor generates.

Answered by fibonatic on April 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP