18

The answer to the larger question here is that when running the initial test of any vehicle that has the capability to harm itself, it should be sufficiently restrained until you are satisfied that it can be kept under control. In the case of a quadcopter, this would involve tying a bit of string to the corners, leaving enough slack so that it can rise 6-12 ...


17

As Rocketmagnet suggests, what frequency you "need" will depend on a lot of things. The more responsive your rotors are, the more sensitive your craft will be to random spikes in motor commands. These random spikes may be caused by noisy sensor readings caused by physical imperfections, which means you would need to lower your controller gains, which in turn ...


16

You almost definitely want to have the battery rigidly mounted to the center of the airframe. Mounting a battery underneath each motor (though I have never seen this) will increase the multicopter's moments of inertia, which will make it more "stable" in that it will more sluggishly lose its balance and thus give a controller more time to react. This, ...


14

Assuming it is a rigid robot, then the only weight properties of interest is: the total mass the centre of mass In terms of tipping over, the robot is more stable if the angle required before tipping over is maximized. This is achieved by having a low centre of mass, and a centre of mass as far away from the edges of the support polygon as possible. ...


8

Center, you want the moment of inertia to be as small as possible.


8

The function $f$ comes from the equation of motion for the inverted pendulum problem (inverted pendulum alone, not including the motion of the wheeled platform). If you consider your figure but ignore the side-to-side motion of the cart, then the equilibrium of moments about the hinge is: $\sum M = m g l \sin \theta - b\frac{d \theta}{dt} $ Where $m$ is ...


6

It looks like your proportional gain is too high. You seem to be constantly increasing RPM on one motor while locking in the other one to make the system rotate. This isn't a good control strategy as eventually those are going to both saturate and you will lose control. Also as time increases your ability to command the system decreases. So you need a ...


6

A quadcopter contains (among other things) two separate and independent algorithms: an attitude estimation algorithm, and a control algorithm. The attitude estimation algorithm computes information about the orientation of the quadcopter: the roll, pitch and yaw angles. The control algorithm is responsible for driving the motors so that the orientation of ...


6

You are most likely running into problems with the maximum time step in your simulation. This phenomenon is known as stiffness, where your equations of motion are highly sensitive to the size of the time step in a discrete solution. Consider a simple mass-spring system with mass $m$, spring stiffness $k$, displacement $x$ and velocity $\dot{x}$ for states $...


5

Something you can do WRONG to very easily unstabilize a quadcopter is to put the wrong propeller on the wrong motor. There are both pushers and pullers, and depending on the configuration you choose, you need the right type. Its possible you had two of them swapped. When they broke, you got the new ones on properly. This page really helped me. This one has ...


5

You want to mount the batteries as close to the center of the hub and as close to the center both horizontally and vertically. The closer it is, the less the controller has to work to keep the craft horizontally balanced and the less battery power you will use.


5

I'm not sure I agree that bipedal walking is so much harder that airplane control. It depends on how you look at it. Many robots can walk (bipedal walking) and many airplanes are difficult to control because of their flight characteristics or the flight conditions. It is easier for robots to walk in nice conditions. There are many weather conditions too ...


5

The stability is a property of the linear systems themselves, hence there is no meaning in considering stability as regarded with the input disturbance $T_d$. To verify if the closed-loop system $C/T_d$ is stable/unstable, you ought to compute the roots of the characteristic polynomial. Given that $$ \frac{C}{T_d} = - \frac{s^2+As}{s^2+As+K}, $$ the roots ...


4

You could use other ways of measuring orientation, such as an accelerometer, optical tracking of markers, or a depth sensor pointed at the floor.


4

Regarding point 1, yes you are understanding the problem correctly. Regarding points 1 and 2, I believe what you are looking for is the Nyquist-Shannon sampling theory. This theory says that your sampling frequency should be greater than 2x your "highest frequency of interest". This is to prevent aliasing, where you can incorrectly measure a high-frequency ...


4

I don't think this is related to integral windup at all. I noticed that the I-error does not converge to zero That's a good thing, because it means your integral term is not useless. The integral term is there to compensate for steady-state errors. If you set the integral gain to 0, you should see that your system never reaches the setpoint. The I-...


4

Not all fixed wing aircraft are inherently instable. That feature greatly depends on the center pressure and gravity center designed position. Passenger aircrafts are quite stable, and fight planes are just the opposite in order to achieve fast maneouvres, among other reasons. Read this aviation thread where this question was replied.


4

Without going into the details of the underlying equations of motion, I could argue that the D part is needed to damp out the oscillations of the pole while reaching for the (unstable) equilibrium point with no overshoots and guaranteeing at the same time a sufficient dynamics. Now, if we consider the context where the equilibrium point is reached but the ...


3

This paper, Full Quaternion Based Attitude Control for a Quadrotor by Emil Fresk and George Nikolakopoulos, demonstrates what you are trying to achieve. Abstract— The aim of this article is to present a novel quaternion based control scheme for the attitude control problem of a quadrotor. A quaternion is a hyper complex number of rank 4 that can be ...


3

First, I think you need to go back and look at your code. Gimbal lock is only a problem when you get very near (within a couple degrees) of 90. If you are seeing strange behavior at 45 degrees something else is the cause. As for your question, quaternions are usually not used directly in basic PID control since they have complicated behavior resulting in ...


3

I'd start by reading over this question: What are good strategies for tuning PID loops? If I had to guess, I'd say you have a problem in the way your complimentary filter is constructed. With the quadcopter motors off, you should tilt the frame back and forth and see if the roll / pitch values that are reported are actually accurate. To me, it looks ...


3

Sounds like ground effects. When a plane or helicopter is close to the surface, the aerodynamics change. This distance is usually considered to be the same as wingspan, or rotor diameter for a helicopter. The lift/drag ratios change, the thrust efficiency changes, and the balance can be affected because you are moving on or off a bubble of pressurized air. ...


3

For the most part, it will increase the gain of the controller. doesn't affect lift capabilities. Adding weight to something that flies always decreases lift capabilities. However, this influence is likely very small. So here's your quadrocopter with 1 DOF rotating around an axis: $$a\ddot r + b\dot r + c r$$ The general differential equation1 for a ...


3

Keep in mind that the ZMP is a simplification. In practice with walking robots the support polygon is constantly changing so it can be tough to keep the ZMP inside. Pregenerated (offline) trajectories will only work in very specific conditions (flat ground, no disturbances), and only if you can model your support polygon well. That said, everything you ...


3

Stabilization of a helicopter and a quadrotor are similar tasks - have a reference signal, compare that to feedback, then act on the difference. A quad rotor has four motors, and the helicopter arguably does as well: main rotor, tail rotor, swash plate fore/aft servo, swash plate port/stbd servo. I would bet you can find a helicopter community that could ...


2

Mathematically, the fact that you now have rotation (mostly) eliminates that parameter as a possible control parameter. Basically you'd have to redesign your algorithm to accept a large and variable angular velocity component while still using angular velocity in your feedback. The less noisy this is, the better the probable outcome simply because you're ...


2

You need some sensors to detect the state of the system. First linearize the system into a state space form, then consider what sensors you do have. Then check if it is observable. If it is observable, then you can feed the estimated states into your controller. Currently, it sounds like you are using the wheel position and back EMF (for velocity) as ...


2

If you managed to get it stable in a stationary configuration, I don't really see how it would be much more difficult to get it stable for a constant velocity. From a system model point of view it would effectively be the same thing bar some velocity offsets. If the transitions between velocities are not very large it should fall within the range of the ...


2

50-200Hz is pretty normal as we can see in the open source projects. You have to consider that in most cases the inertia of the motors and communication with the ESCs is the limiting factor.


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