4

Technically, you can do it either way, but consider the following scenario: You are flying with a heavy load, and there is a wind gust. Each rotor is operating at almost 100% capacity due to the heavy load. Now the wind gust has gotten you un-level. Say you need 20% of full speed to make the correction. What happens? Well, if you are trying to control level ...


3

I cannot comment on 'most common', but I can definitely share several tools and research efforts towards using FPGA for deep-learning. See my survey paper on FPGA-based accelerators for CNN which reviews 75+ recent papers. Some of these research projects have released their code, such as DNNWeaver. Also, see tools from companies such as Xilinx. Finally, see ...


2

You might want to try a Non linear controller if you want disturbance rejection. But I will suggest you to fine tune your PID first. Now, back to non linear controls, you need to develop a very good mathematical model of the dynamics of your robot. You can use a scheduler controller: first linearize you plant at different operating points an design a ...


2

Chuck's answer is spot on. Anyway, if you want to derive the reason mathematically, you can start off from the most common form of a PD controller where we employ a setpoint-weighting for the derivative part: $$ u(t) = K \cdot \left( e(t) - T_d \cdot \dot{y}(t) \right). $$ The Laplace transform of a feasible $D$ term is thus: $$ D(s) = -\frac{sKT_d}{1+sT_d/N}...


1

Real signals have noise. Because noise happens on a per-sample basis, you wind up with a derivative that is constantly fluctuating. A derivative gain acts on this fluctuation and feeds it to the motor, resulting in the noise or jitter you observe.


Only top voted, non community-wiki answers of a minimum length are eligible