I am starting to assemble a quadrotor from scratch.
Currently, I have this:
- Structure;
- an IMU (accelerometer, gyro, compass);
- 4 ESCs and DC motors;
- 4 propellers;
- Raspberry Pi to control the system, and;
- LiPo battery.
I have calibrated the ESCs and the four motors are already working and ready. But now I am stuck.
I guess the next step is to dive deeply in the control system, but I am not sure where to begin. I read some articles about the control using PIDs, but I don't know how many should I use, or whether I need to model the quadrotor first to compute kinematic and dynamic of the quadrotor inside the RPi. Sorry if the question is too basic!
More details
The structure is from a kit. Well, all I have now is the ESCs calibrated, although I do not have documentation of them to adjust the cut off voltage for the LiPo battery. I have been made tests with some Python code I found to have PWM outputs for the motors and to control I2C bus to communicate with IMU.
One of my problems now is that I need RPIO library for PWM and the quick2wire-python-api
to work with the I2C libraries from the MIT to control my IMU but as far as I know RPIO works with Python2 and quick2wire
works with Python3 so I don't know how to manage this.
So actually, I have no code yet to control the four motors in parallel, only have testing code to test them separately and also with the IMU.
About the IMU, I am still learning how to work with it and how to use the MIT library. The unit includes those sensors:
- ADXL345
- HMC5883L-FDS
- ITG3205
You can see a picture of the quadrotor below,
So as I said before, I would like to know how to handle the control system and how it is implemented inside the Raspberry Pi, and then start to work with the Python code to assemble the motors, the IMU and the control.