# Help finding transfer function for root locus using Matlab

I'd like to pick $k_d$ using root locus method, but have problems deriving the necessary transfer function of the system presented below. Assume $k_p$ is fixed. The question originates from Randal Beard's paper: "Quadrotor dynamics and control", p.42. The answer is actually given there, but for a slightly different block diagram and with no derivation. So it's the derivation that matters to me most.

As far as I understand the method in question, I need obtain an equation:

$1 + k_d P(s) = 0$,

but don't know how to derive $P(s)$.

If you're able and willing to help, please don't only provide the solution - I need to know how the solution was obtained to be able to help myself in the future. Any hints appreciated.

EDIT: What I already tried out is simplifying the above block diagram into the form below:

Then we have:

$\Large L(s) = \frac{G(s)H(s)}{1 + k_d G(s)H(s)}$ %Inner loop's transfer function

$\Large R(s) = \frac{L(s)/s}{1 + k_p L(s) / s} = \frac{L(s)}{s + k_p L(s)}$, substituting for $L(s)$ we have:

$\Large R(s) = \huge \frac{\frac{G(s)H(s)}{1 + k_d G(s)H(s)}}{s + k_p \frac{G(s)H(s)}{1 + k_d G(s)H(s)}} = \Large \frac{G(s)H(s)}{s(1+k_d G(s)H(s)) + k_p G(s)H(s)}$.

So the point is, how to convert $R(s)$ denominator into: $1 + k_d P(s) = 0$.

-

## 3 Answers

OK, I got it. To obtain the necessary transfer function in Evan's form, one has to assume $\phi_c = 0$. Then, the block diagram in question can be converted into:

So $P(s) = \Large \frac{p}{\alpha} = \frac{G(s)H(s)}{1 + \frac{k_p}{s} G(s)H(s)}$.

-

Lets take a look at the transfer function of the inner loop $$I(s) = \frac{p}{\Phi_e}$$ To understand don't use formulas, do it (at least the until you understand) by hand. So lets build the transfer function (just follow your diagram): $$p = H(s) G(s) (k_p \Phi_e - k_d p)$$ Rearrange it: $$p \left(1+k_d H(s) G(s)\right) = k_p H(s) G(s) \Phi_e$$ So our tranfer function is: $$I(s) = \frac{p}{\Phi_e} = \frac{k_p H(s) G(s)}{1+k_d H(s) G(s)}$$ To find the roots of the characteristic equation you need to find the solution to: $$1+k_d H(s) G(s) = 0$$ So in your case, when you compare the formula with your formula $$1+k_d P(s) = 0$$ it is easy to see what's P(s): $$P(s) = H(s) G(s)$$

-

Thanks PetPaulsen, I edited my question again - mostly adding what I already figured out and mentioning Beard's paper the question originates from. I think the outer loop's influence is missing in your answer. I just figured out that maybe the block diagram should be transformed assuming $\phi_c = 0$ to obtain the answer I'm looking for. I'll try that out and let know. – mmm Aug 9 '12 at 7:24
@mmm - Yes, now I see what you mean. I am used to lay out the inner loop first. Then the inner loop is fixed (just another transfer function I add to the plant) and I lay out the outer loop. So I am afraid I cannot help you here. Anyway if I have addiditonal information I will let you know. – PetPaulsen Aug 9 '12 at 7:30

Break this into two pieces. The inner loop (G(s), H(s) and the feedback term kd) and the outer loop, Kp onto the inner loop.

Inner loop first. The transfer function is the forward path divided by 1 + the loop gain.

I(s) = transfer function of the inner loop = $\dfrac{G(s) H(s) \dfrac {1}{s}} {(1+G(s)H(s)k_d)}$

Simplifying this; $I(s)= \dfrac {s} {s G(s) H(s) + sk_d}$ Not 100% sure on the math here, did it real quick.

Now the entire loop. $T(s)= \dfrac {k_p I(s)} {1 + k_p I(s)}$

If i was doing this, I would maybe simplifiy this down, but you could just plug T(s) into Matlab and call the RLTool.

-

1
Can you please calrify what your inner loop is? At first glance I did expect $I(s) = p/\Phi_e$, but you got no $k_p$ in your formula, and the term (1/s) confuses me, too. That doesn't look right. – PetPaulsen Aug 9 '12 at 6:40
Thanks for your time Michael. I think, there is a mistake in your answer, as PetPaulsen pointed out, though. The inner loop shouldn't contain the $1/s$ term - it should be added to the $T(s)$ transfer function instead. But the main question is how to transfer this into Evan's form for root locus based $k_d$ design, and it's still unanswered. – mmm Aug 9 '12 at 6:49
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 21, "mathjax_display_tex": 7, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9407703876495361, "perplexity_flag": "middle"}