4

Controlling a flying robot (or anything else) is a very complex subject (well, people are doing PhD on it..). I can recommend this free online course on the subject (I have taken it myself). It will give you a little taste of what it is.


4

A dualcopter, of the form you are talking about, can control all roll, pitch, yaw and it's altitude. To do so, it employs two rotors running in opposite directions to cancel any torque. This would give the copter the ability to control its altitude and yaw (by changing the relative speeds of both the rotors). For the rest, such a copter usually employs ...


3

The best way to manage power redundancy for autonomous systems is a really interesting topic. There are two classes of power needed. Flight and processing. Often the power required for flight is much higher than what's needed for processing. Issue number 1 is that as soon as you introduce redundancy (2 batteries instead of 1) you incur a penalty of extra ...


3

practice In practice, every multicopter (including 6-propeller hexacopter and 4-propeller quadcopter) that I've seen so far has 4 degrees of freedom: pitch, roll, yaw, and climb. The minimum number of rigid rotors to get 4 degrees of freedom is 4 rotors. (Single-rotor helicopters have articulated blades and swashplates, which are more complicated than ...


3

The course suggested by @Eugene Sh is a good one to understand in depth the relevant details. If you have general idea about how an aircraft (fixed wing) operates it will be actually helpful to you. Refer Small Unmanned Aircraft:Theory and Practice by Randal Beard, one of the pioneers in aerial vehicle research and T.Mclain. This is about fixed wing aircraft,...


3

A quick google search yields this video of an RC dual copter that looks like it is able to control its pitch, roll and yaw: https://www.youtube.com/watch?v=_cwCHgmDbz0 Skip to 5:50 for the part where he actually flies it. As for quadcopters, there is a well known video circulating on the internet of a presentation given at a TED conference by Raffaello d'...


3

Ideally, when you raise the collective all the way up, all the ESCs put out their max power and the quadcopter goes straight up. Different ESCs will end up producing different maximum thrusts; and also will ramp up (and down) differently with sudden changes in control signal. As you probably already know, if one rotor of a multirotor vehicle has more (or ...


3

In process of selection of components for multirotor, one should start from motor as it is the driving component. Maximum current drawn by your motor is given by manufacture which is 15A. Now your ESC should have maximum current rating more than maximum current rating of motor. This is satisfied in your motor-ESC combination so your selection looks good. ...


3

First, you can look at Mikrokopter as an example of quad with centrally mounted ESCs. As for the various engineering reasons for ESC location, here is some rationale behind the two you mentioned 1) Interference/noise. Non-steady state current running through wire can induce current to flow in nearby conductors. Practically speaking, this means that if you ...


2

Since your frame is about (220g + other parts' weight), you need to make sure that your 4 motors give you a combined thrust of atleast 100 g more than, just to get off the ground and maneuver. Anything greater than that is good. (Thurst Calculator). Just looking at the numbers, I think it should work out fine. You battery amps * burst C / constant C should ...


2

I can say positively that 900Mhz china video transmitters can affect 2.4Ghz frequency range. I experienced this first hand and confirmed interference on my spectrum analyzer, it can cause harmonics on the 2.4Ghz but when the tx and rx are close it appears to have an affect on the noise floor too, using those low pass filter don't seem to help close range ...


2

You can run a brushless DC motors backwards using a H-bridge. Basically you'll need to program your microcontroller/microprocessor onboard to flip the polarity of 2 of the wires of the bldc (a bldc has 3 wires, switching any 2 wires will reverse the spin)


2

Two approaches are possible: Combine the altitude (GPS or pressure) and vertical acceleration sensors' data to calculate a better geometric altitude, and tune your vertical controller using this feedback in your loop. Employ a stability augmentation loop for the z-acceleration (in body frame). In this case, if your vehicle swings, as shown on Jon's answer, ...


2

You seem to be controlling the quadrotor's attitude (roll, pitch) to (0, 0) and not its position. What you are seeing is drift in position, which is inevitable if you do not control the quadrotor's position. You might still be able to reduce the amount of drift a little: Make sure that the center of gravity of your quadrotor is actually in the center. If ...


2

There are quite a few possible explanations for the instability, I'll try to list 'em: PID settings are off the mark. I'm not familiar with KK2.1.5 Multi-Rotor controller, but I'm sure there will be something to adjust the roll/pitch PIDs. Try tweaking them. Under-compensated integral error may be a possible culprit. Some issue with ESC calibration. Try ...


2

If I'm understanding you correctly, you are saying that the motors spin, but they don't spin fast enough to generate enough thrust to get the drone off the ground. It sounds to me, if this is the case, that you maybe haven't done the speed calibration for the electronic speed controllers (ESCs). Here is the Hobbywing page on calibration, if you are using ...


2

Seeking proficiency in C++ or in OOP in general would either have to be a result of obtaining the necessary knowledge in order to browse through the code-base of the flight controllers that you mentioned, or with the eventual goal that this is what you would use when implementing your own flight controller. The first thing is familiarizing yourself with the ...


2

Firstly, you may be confusing ArduPilot/ArduCopter software with the ArduPilot Mega (APM) hardware platform. ArduPilot/ArduCopter is indeed a great piece of software and is still maintained. The ArduPilot Mega (APM) has been discontinued, and as such, has very limited support and development. Regardless of that, I looked into this whole issue, of which ...


2

Your own equations make a lot of assumptions about the problem you are trying to solve. They are sufficient to solve your problem, but will not work for certain conditions (z = 0 for instance). Euler angles are similar. A way describe orientation (we typically use orientation to mean all angles, not just pitch and roll as you are using here). Euler angles ...


2

I came across one paper that had a good description of this issue from Kristina Lerman and Aram Galstyan at University of Southern California entitled "Mathematical Model of Foraging in a Group of Robots: Effect of Interference"


1

A possible approach would be to construct a virtual potential field, which is tangent to your desired circle and use it for reference (target) orientation (yaw angle). There is an algorithm for a plane here: Beard, R., & McLain, T. (2012). Small unmanned aircraft: Theory and practice, Ch. 10.2


1

Would the answer not just be a make-before-break DPDT relay/toggle controlled by whatever (microcontroller, flight controller, etc.) is monitoring battery voltage? If battery voltage is less than preset limit then toggle. If battery voltage is still less than preset limit then power down. Use make-before-break (MBB) to ensure there's no gap in voltage ...


1

I think it would be feasible. There are multiple examples of power distribution boards which allow for dual batteries. If you use such a device, you can leave the multiple input managment to it, while you use a power switch to isolate each battery for charging. Provided that you use an adequately sized (for your required ampacity) solid-state switch, I ...


1

The website that you have used seems to be down, however looking at the specs announced on banggood, it looks compatible. You would need some 8*4 props and a 3S battery, I'd advise getting a 3000mAh one that can handle full power (200W per motor so 800W total for a 12V*3Ah battery=>36Wh so that's 800/36=22C) so a 3S 3000mAh 25C constant LiPo would be perfect ...


1

Operating an ESC is practically the same as operating a servo. The main difference is that instead of the pulse width translating to a position on the servo, it translates to an output speed. The range of widths is identical with ~1000µs representing the lowest setting and ~2000µs representing full on. These values can sometimes go beyond (as overshoot), ...


1

Which piece is the robot? This is not a robotics question. I have to assume since you are asking a question that shows a lack of fundamental mechanical understanding, that for its intended use, precision is not a requirement. In that case, wrap the motor shaft with some tape until you have the tightness you are looking for. A more appropriate fix would ...


1

Steps one should take to eventually write a flight controller software: Step 1 Learn the mathematics and physics laws behind the airplanes, helicopters, multi-rotors, etc. Step 2 Learn electronics. Electronics is a huge field and learning the robotics related stuff would be enough. Step 3 Learn how computers work. The electronics behind a computer. How does ...


1

This would be a hack, but you could add a small amount of weight to it so the tick that makes the quad ascend slightly would now be the hover tick.


1

First step to decide electronics is roughly estimate your all up weight (AUW) which is total flying weight including payload. Now your target total maximum thrust(T) provided by system should be just double your AUW which will ensure good maneuverability and control. This will given you amount of thrust to be provided by each motor (in your case it will be T/...


1

Cannot comment yet. I would add a gyro and use a complementary or Kalman filter. Accelerometers are right, on average, but wrong, right now. Gyros are right, right now, but are wrong, on average. The filter weights the two inputs based on how wrong they are and outputs a value somewhere between right and right now.


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