I am new to the field of control systems, PID and robotics and I want to enhance my knowledge in the field. Can you recommend me books where I can start learning about control system engineering (with mathematical and practical examples) so I can finally finish my project. (I am working on quad copter and I can find all codes online but can't understand it because some people here told me that I should start reading on these subjects first).

  • 2
    $\begingroup$ can't understand it ... which part do you not understand .... there is no way to answer your question because we have no way of knowing how much you already know $\endgroup$ – jsotola Feb 20 '18 at 0:17
  • $\begingroup$ Okay. I need to start from the begining, to learn the control theory and how it is related to PID and then go to some practical examples @jsotola $\endgroup$ – alim1990 Feb 20 '18 at 6:41

I can see two parts to this question!

  1. You need to learn the math needed to develop such control systems in an advance manner.

    • Look for Author: Norman S. Nice - Control Systems Engineering. Sixth Edition I found this PDF online and was used in my course.
  2. the programming skills needed to convert this math into a usable system.

Warning - Controlling a quadcopter is not beginner level task and requires at the least.

  1. Good calibration and a Kaman filter on the accelerometer(acc) data.
  2. The ability to transpose the the filtered acc data to a real world coordinate frame.
  3. Power algorithm to determine the needed PWM output at a given motor to achieve flight.
  4. PID control that uses the filtered acc data to determine error between set-point and actual data.
  5. A good PID tune to make the system function as intended.
  6. Programming skills in data manipulation and math.

Assuming you would be using Arduino or C/C++ you could simply google "quad*copter PID Arduino" and you would get 100's of matches.

  • $\begingroup$ Thanks. I dont want premade algos. I need to make them from scratch so I can understand them. Ok I will find the book and buy it. But how can I study the second part of the question which is controlling the quadcopter $\endgroup$ – alim1990 Feb 20 '18 at 14:41
  • $\begingroup$ Be a little more specific, when you say controlling the quadcopter! what exactly do you mean? $\endgroup$ – Ben Feb 20 '18 at 15:55
  • $\begingroup$ Make it stable when I stop working with RC. Gather information so it will prevent hitting walls or trees, fly with it normally without any movement perturbations. $\endgroup$ – alim1990 Feb 21 '18 at 6:16
  • $\begingroup$ By the way, what is your course Ben and can I find it online ? $\endgroup$ – alim1990 Feb 21 '18 at 7:08

Making advanced projects with PID control is easy. At first, a uav-testbed is needed. This consists of two UAVs at the same time. The left UAV is controlled by the human operator with a joystick. And the right UAV is controlled by the pid-tracking controller. The idea is, that the pid-controller follows the human-demonstration in realtime and reduces the error. Such a set-up results not to the Artificial Intelligence itself, but it is only a development platform for testing out different kinds of pid-controllers. A more advanced form is model-predictive control, in which the error between the demonstration and the autonomous controlled vehicle is reduced by a dedicated model which can be a physics-engine, a transfer function or a neural network.

Finding good books about the topic is indeed a problem. I can only provide a link to paper which is not very useful Real-Time Predictive Control of an UR5 Robotic Arm Through Human Upper Limb Motion Tracking because it has nothing to do with UAV control. Another problematic source Designing Interactive Blimps as Puppets is unscientific because it is from the area of animatronics.

  • $\begingroup$ Thanks. It is really hard to find resources related to this field. $\endgroup$ – alim1990 Feb 20 '18 at 14:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.