# Tag Info

11

In controls this is known as disturbance rejection. In order to sustain your motion in the presence of high winds you need the controller to be as responsive as possible, and an accelerometer would help. A fast loop rate will also help. You also have to deal with the nonlinearities of thrust, drag, weight, and lift. Depending on the design of your ...

11

The glaring issue I see at the moment is that you are forcing polarity on the I and D terms. In general, you are using a lot of sign checks, sign assignments, and conditional programming. None of that belongs in a PID controller. The entire controller should look like: pError = Input - Output; iError = iError + pError*dt; dError = (pError - previousError)/dt;...

10

You could probably calculate this value, but the sensible thing to do would be to just measure it directly. Just turn it upside-down and put it on a kitchen scale as shown in this video.

10

For testing simple algorithms, you might be able to get by with a 2D simulator. There are a few out there that I am aware of: Stage: http://playerstage.sourceforge.net/index.php?src=stage STDR: http://stdr-simulator-ros-pkg.github.io/ Stage is an older, but useful, simulator which has integration with ROS (http: //wiki.ros.org/stage_ros) which will allow ...

10

The barometer carried on the pixhawk has an altitude resolution of 10 cm. If that isn't enough, you could write a kalman filter that uses the accelerometer data in the prediction step and the ultrasonic sensor and/or the barometer in the correction step. But I don't see this solving your problem. An accurate measurement of altitude at 20hz should be plenty ...

8

You're trying to implement more PIDs than you have degrees of freedom. In a quadcopter, you have only 4: $(Z, \phi, \theta, \psi)$ i.e. (Altitude, Roll, Pitch, and Yaw). via (http://www.draganfly.com/uav-helicopter/draganflyer-x4/features/stability.php) Interestingly, from a PID perspective you definitely do have desired values for $\phi$ and $\theta$: ...

8

This is video is from an Edx course on Autonomous Quadcopters...It is 10 minutes and goes over the "Flying Principle" of quadrotors. But basically what you are missing is the reactions. The famous Newtown's third law says (paraphrasing) "for every action there is an equal and opposite reaction". So by spinning the clockwise blades faster, a counter-...

8

It all depends on the video quality that you require. The short answer is to use a 3G or 4G transmitter, assuming that you are in an area with mobile coverage, to either a local device (Mobile phone) or a cloud based service. Other options exist, including the use of XBee networks. XBee networks (depending on the series used and protocol, and whether you ...

8

Similar answer to this post: Choosing motor for a tricopter This depends on what you want to do with your copter. Hovering: 100-150 Watt/kg ScaleFlight: 200-300 Watt/kg Some chilling acrobatic flight: 350-400 Watt/kg 3D acrobatics 500+ Watt/kg Hardcore 3D 1000 Watt/kg Just take your motors and your flight style and you got some values for the max weight ...

7

Even very small errors can bother the balancing. Small errors such as: Weight of the quadcopter is unbalanced. One motor is rotating faster/slower than others due to manufacturing or your power-source. Air resistance and wind. Unbalanced propellers due to manufacturing. Strong magnetic forces. You simple can not send the same motor speed to all motors ...

7

Gyro is needed to stabilize angular acceleration. Knowing only your attitude, drone doesn't know how fast on which axis is rotating, knows only where is gravity vector. Gyro gives you feedback on angular acceleration and that's what gives your drone stability. Also, you can use only gyro in your drone, it will stabilize movement, but won't get back to ...

7

A couple things, the first is that the controller does not really care what the "real" values are. Everything is relative, if the controller sees that it is sinking it will increase the thrust until it is not sinking. If it is tilting too far to the left it will decrease the right thrust and increase the left thrust. (Here is a good resource if you want to ...

7

These are markers for a visual Motion Capture system. Buy some markers here Most MoCap systems work by setting up multiple cameras with strong IR-Flashes and IR-Cameras and the surface of the balls are optimized to reflect the specific wavelength. The cameras then almost only see the markers and can use triangulation to compute their position. As at least ...

6

For the smallest (and cheapest) of multicopters, DC brushed motors are well in use: http://www.rcgroups.com/forums/showthread.php?t=2009496 They are coreless motors1 and have very little inertia, can accelerate very quickly and are perfectly suited for high frquency PWM (we drive them with up to 32kHz). You can achieve more than 3:1 power:weight ratio on a ...

6

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 ...

6

Using a so-called optical flow sensor is the best way to help with holding the horizontal (i.e. in X-Y plane) position. I don't see any reason why you couldn't do the same for vertical control, although a sonar is probably easier and cheaper to use for this (likewise, if you are indoors, you could use 2 sonars for the horizontal position as well) People ...

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

Yes, they are dangerous. I've cut myself multiple times. Once through the nail. The small toy helicopters are apparently some cause for increased eye injury, although studies suggest the injuries are usually not severe. Larger helicopters though seem to have caused fatal injuries in the past.

6

Ironic answer: you do not need any channel, but your quadcopter will just hover stationary :) Practical answer: The throttle controls translation on the vertical axis. This allows you to gain or loose altitude. Depending on how the quadcopter is programmed you may control the vertical acceleration or the vertical speed (aka autolevel mode). The rudder ...

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

By far, the most common solution to this problem is to use 2 separate controllers. The inner loop controller is what you already have: it tracks angle and height commands. The outer loop controller assumes that the angles are tracked perfectly and treats angles as inputs, rather than separate states. So it takes the position error and converts it to a ...

6

In a normal quadcopter configuration, if you tilt you will be pointing some of the lift force to the side. The only way to hover at a tilt, then, would be to somehow apply a counter force. A standard quadcopter can't do that itself, so it would need be an external force (tether, wind, etc). Your other options are to use a nonstandard configuration such as ...

5

Generally, for indoor flight, commercial quadcopters do not measure position. Instead, they measure the change in position so as to prevent the quadrotor from moving when it should not. So while accelerometers are not great for maintaining an estimate of the quadrotors position they can be used to stabilize the system, i.e. to determine what commands needed ...

5

The servo.write(angle) function is designed to accept angles from 0 to 180. (The value 180 is significantly larger than 100). Could you tell me where in the Servo documentation you read "100 (motor at full power)", so we can fix that typo? Please change the line int maxspeed=100; /* wrong */ to int maxspeed=180; Also, please run servo.refresh() ...

5

1) I would try find out how fast your ESCs can update and use that as the PID update rate. Your current rate is definitely too slow (need at least 50Hz for marginal performance). 2) Putting a threshold on the maximum change should only be used to handle emergency/unexpected situations. You should NOT expect it to be part of the normal operation, and if you ...

5

Assuming your vehicle is roughly horizontal to the ground, you won't be able get a good estimate of yaw from the accelerometer. Consider the nominal case: when your accelerometer is pointing straight down (Ax=0, Ay=0, Az=g) the reading will never change as you change yaw angle. Normally, to get yaw angle vehicles use a magnometer (measure earth's magnetic ...

5

You can calculate the moment of inertia of a pendulum by measuring the period of oscillation for small amplitudes. Suspend the quad by one arm and give it a little push and time the period. It does work better for larger aircraft, measuring the period of a quad-pendulum will be tricky. Maybe get a video of the aircraft with a high framerate so you can get a ...

5

There are a few ways to read your question, but in general what you are suggesting is a bad idea. The only reason to do it would be in the extreme case where splitting a large battery into several smaller batteries would help you find space for them in a tightly-packed chassis, and even then it might be more trouble than it's worth -- quadrupling the number ...

5

To what degree are you looking to cage the fans? IP code gives some grades for fan protection, which may help you decide or even find some stock guards. Level 'A' protects against striking by the back of the hand, 'B' protects against striking a finger. You are correct that the math is complicated; it's more than simply a reduction in diameter - flow ...

5

For interfacing with a camera, I would recommend the Pi. The reason is that the AVR in the Arduino is an ordinary processor, whereas the Broadcom SoC in the Pi was originally designed for multimedia. Besides the ARM processor, it contains video encoding/decoding hardware that you won't find in the Arduino. Of course, you would need to learn how to use that ...

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