Repository navigation
FC Configuring
Firmware is the software program that is programmed on a Hardware. The hardware in the FC like Magnetometers, Accelerometers get data and publish it to the FC. While the Firmware is the real brain of FC it processes all these datas and according to the user input it gives commands so as to drive the multirotor accordingly.
- Steps involved in uploading firmware and in basic tuning.
To upload the firmware onto the FC we need some software on our computers. To upload ardupilot firmware on the Pixhawk FC we use QGC or the mission planner ground control station. To upload PX4 onto the Pixhawk FC we can use Mission Planner Ground Control Station. Installing a firmware to other board involves these steps: 1.Installing the required driver and flashing tool. 2.Installing the appropriate firmware. 3.Loading the firmware to the board.
A lot of FC’s behaviour can be tuned by altering parameters. For example we can alter the parameter for minimum altitude to which the copter must take off. And firmwares like Ardupilot and PX4 provide us with many parameters to change.
WHY DO WE NEED AN FC?
Usually, when it comes to controlling a model boat or plane, the pilot has absolute, precise control over the motor. A nudge of the throttle translates to a proportional increase in RPM.
The distinction with multi-rotors is that no human is capable of controlling the rotational speeds of three or more motors simultaneously with enough precision to balance a craft in the air. This is where flight controllers come into play.
The flight controller (a.k.a FC) is the brain of the aircraft. It’s a circuit board with a range of sensors that detect movement of the drone, as well as user commands.
**FUNCTIONS OFfollower=open('erclean.txt','r') following=open('ingclean.txt','r') er_list=follower.readlines() ing_list=following.readlines()
b=len(er_list) a=len(ing_list)
notfollowback=[] for i in range(0,a): c=0; for j in range(0,b): if(er_list[j]==ing_list[i]): c=1; if(c==0): notfollowback.append(ing_list[i]); print(notfollowback) len(notfollowback) AN FC**
Its function is to direct the RPM of each motor in response to input. A command from the pilot for the multi-rotor to move forward is fed into the flight controller, which determines how to manipulate the motors accordingly. Most flight controllers employ basic sensors such as Gyro (Gyroscopes) and Acc (Accelerometer) to supplement their calculations. Some FC include more advanced sensors such as Barometer (barometric pressure sensors) and magnetometer (compass).
The FC is also a hub for other peripherals, such as GPS, LED, LIDAR,Sonar sensor etc.
The backbone of a FPV Drone Flight Controller is the PID control loop in the software used to maintain quadcopter stability during flight. PID stands for ‘proportional, integral and derivative’ which are calculus terms related to the magnitude, area, and gradient of a curve respectively. Tuning these three P, I, and D gains properly drastically increases the stability and responsiveness of a craft.
FIRMWARE
Firmware is a software program permanently etched into a hardware device such as a keyboards, hard drive, BIOS, or video cards. It is programmed to give permanent instructions to communicate with other devices and perform functions like basic input/output tasks. Firmware is typically stored in the flash ROM (read only memory) of a hardware device. It can be erased and rewritten.
Two popular choices for firmware for an FC are ArduPilot and PX4(for MAVLINK protocol).
The key differentiation is with the software license. PX4 uses BSD while ArduPilot uses GPL. This makes PX4 more attractive for commercial use since you dont need to make your modifications open source. With ardupilot, any changes need to be shared as open source.
The direction in which the rotors move is crucial for the copter’s stability. The direction
of rotation of individual rotors is accomplished by how it is wired to the ESC. Even though
they rotate in opposite directions,the blades are positioned such that all 4 rotors are designed
to generate lift.
How does a Quadcopter remain stationery whilst midair? Its obvious that when the rotors constantly and symmetrically push down the air the copter remains at a constant height. But how does it manage to maintain its position without spinning, or tilting? This is where the direction of rotation of rotors step in. A rotating rotor has angular momentum of its own. Since the copter as a whole is in equilibrium, the remaining copter must rotate in the opposite direction to balance the spinning effect. If all the 4 rotors were spinning in the same direction, the copter, though stationary; would be spinning in the opposite direction.
- Roll: Roll is like the sideways rocking of a boat in disturbed water. It can be achieved by increasing the speeds by equal amount of the 2 rightside rotors(refer Fig 1) for a leftward roll and the other 2 for a rightward roll.
- Pitch: Pitch is similar to the up and down rocking of a boat encountering turbulence. It can be achieved by equally increasing speeds of the 2 frontside rotors for a pitch up; and equally increasing speed of rearside rotors for a pitch down.(refer Fig 1)
- Yaw: Yawing motion does not involve tilting the drone. It is turning the drone in the same plane, as if we are moving our head sideways to look around. To achieve a CW roll, the speed of the 2 opposite anticlockwise spinning rotors should be increased, and vie-versa.