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


8

The only way to get a velocity from an accelerometer is to numerically integrate the output of the accelerometer. That is, $$ v = v_0 + a*dT \\ $$ where $dT$ is the elapsed time between accelerometer readings. This means that you need to find the initial velocity $v_0$, and that an accelerometer cannot give an absolute velocity reading, only relative. ...


7

The answer is that 3-axis accelerometers don't have a left handed coordinate system just for the gravity. In static condition (i.e. if the accelerometer is not accelerating with respect to any inertial frame) they measure the opposite of gravity acceleration, not the gravity acceleration itself. In more general terms, the accelerometers measure the ...


7

You should really read the datasheet that acs linked in a comment to your question. The device you're using has a set of 16-bit analog to digital converters (ADCs) that convert the actual outputs of the gyroscopes and accelerometers to a digital format the microcontrollers can process. The device outputs positive and negative accelerations and speeds, ...


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


6

There are lots of ways to solve this problem, which falls into the category of Control Engineering. There are two standard approaches: Classical Control: The control command has to be proportional to a linear combination of the error, the rate of change of the error, and the integral over time of the error, a.k.a. a PID controller. This approach ...


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

OK. I'm too lazy to read the document, but in general you can model the sensor response as $$\alpha_m = S \alpha + b$$ where $\alpha$ is the actual acceleration in three dimensions with respect to the accelerometer body (including the acceleration due to gravity), $\alpha_m$ is the measured acceleration from the accelerometer, $b$ is an offset, and $S$ is ...


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

First, here's what you CAN do with those sensors. Assuming you are not constantly accelerating you can use the accelerometer to know which direction is "down" (the gyro can be used as well for faster updates). If there aren't any magnetic field disturbances, you can also use the compass to know which direction is forward. Usually this is done using either an ...


5

You're trying to do numeric integration, which takes the form: $$ \mbox{integrated value } +=\mbox{derivative} * \mbox{elapsed time} $$ What you have instead of elapsed time is some value called speed. Try setting up your numeric integration code on an interrupt, where the interrupt timing is what you would use in place of elapsed time. I'm not sure what ...


5

Most "meters" of all varieties include up to three degrees of freedom simply to observe all three dimensions of reality we find ourselves in. That said, every object in our three space has three additional dimensions of rotation. Therefore an unconstrained object is typically said to have six degrees of freedom. I had to search nine to understand. ...


5

Cross-axis sensitivity: A reading on one axis creates a false reading on another axis. This could be because the signal traces are close together and capacitive coupling induces a voltage on the adjacent trace. Axis misalignment: The x-axis of the sensor is not aligned with the x-axis of the package, so when you are expecting an x-axis reading because you ...


5

If the drone is not falling (holding height in the sky), and it's not accelerating in any particular direction, then the accelerometer should be reading: $$ a = \left[ \begin{array}{} g_x \\ g_y \\ g_z \end{array}\right] $$ where $g_N$ is the component of gravity along each axis. If the drone is upright and stationary, and the accelerometer is oriented ...


4

The mechanics of your vehicle are not extremely relevant here; I will assume that the motion your vehicle induces on the sensors will be within their specifications. Entire volumes have been written on "sensor fusion", which is the act of combining measurements from multiple sensors (e.g. your gyro, accelerometer, and compass). Doing this 100% accurately ...


4

There are quite a few things wrong here. I'll split them into two sections: technical errors, and coding warnings. Technical Errors: You are not calculating your angles from accelerometer readings correctly. Consider the arguments in general - they are the normalized accelerometer readings on each axis. You then take the inverse cosine of these. So, if ...


3

Is ... GPS data ... fused with the accelerometer data? Yes, many aircraft use sensor-fusion techniques so both GPS data and accelerometer data effect the estimated X, Y, Z position. Often they use a Kalman filter to do the data fusion. ( kalman-filter; Why do I need a Kalman filter? ) Measuring X,Y,Z accurately for each photo is important for assembling ...


3

Gyroscopes will only give you the rate of change of the yaw angle, not the absolute yaw angle. Unless you plan to set the yaw angle initially and have it drift further and further into garbage values (as you integrate the rate of change), you'll need another sensor to provide periodic updates on your actual yaw. This could be a magnetometer (compass), or ...


3

I went through the header files of the 12cdev lib and I figured it out. you have to first add the line VectorInt16 gyro; to your motion variables, then you add the line mpu.dmpGetGyro(&gyro, fifoBuffer); to your outputs.


3

I realize this question is 2 years old, but I have direct recent experience with this. The way I did this is with 6 rotated cube positions with 1000 points at each position, so a total of 6000 samples. I'm assuming Matlab/numpy nomenclature, where NxM means N rows and M columns. I assume an equation like Ax = B where B is the measured values matrix (...


3

This is really simple. First of all, you need to understand how the sensor works. In other words, you need understand whether the measurements is coming from linear or nonlinear model. Second, what is the type of the sensor's noise? CASE STUDY: Let's say you want to simulate DC Voltemeter to measure a battery's voltage of 5 Volt. In an ideal case, the ...


3

Look into a complementary filter. It isn't the correct way to go out this but it will give you usable data for attitudes around level. It's also worth mentioning that you will not be able to track yaw. There is no way to account for bias/noise with the two sensors you've listed. complementary filter: http://www.pieter-jan.com/node/11


3

First you need to integrate the output from the gyro to get the actual X, Y and Z angles. angleX = gyroAngleX + gyroInputX angleY = gyroAngleY + gyroInputY However this value will drift over time so you will need to use a complementary filter or kalman filter. Personally, I would recommend a complementary filter because it is much simpler to implement. ...


3

This will depend on what you mean by "displacement" and for how long you want to do this. Can you supply more details on what your trying to accomplish and why? As Bending Unit 22 mentioned, you integrate acceleration to get velocity, and then integrate velocity to get position. The problem with this though that any drift/error/noise on the ...


3

I would use linear or rotary encoders - the difference in terminology, encoder vs. potentiometer, is in the fact that any linear potentiometer could be used as a linear encoder, but not all linear encoders are potentiometers. From the Wikipedia article on linear encoders: Optical linear encoders, "following interpolation, can provide resolutions as fine as a ...


3

The theory that describes what you are looking for is call Control Theory. Search for the Nonlinear Systems textbook by Hassan Khalil for an excellent overview of the material--the inverted pendulum problem is addressed explicitly. To theoretically stabilize the inverted pendulum on the cart, a model of the dynamics of the system are needed and can easily ...


3

The problem is that you can't apply path planning until you know where the robot is in the global coordinate frame. There are many localization techniques, and each has its pros/cons; I have used Particle Filtering for a very similar localization task. Extensive coverage of particle filtering is given by Sebastian Thrun in his book Probabilistic Robotics--...


3

A gimbal system will not replace an accelerometer. I assume by gimbal system you mean something like a Gyroscope, i.e. a device that has a fixed orientation allowing you to measure your orientation relative to it. A gyroscope can give you information on orientation and possibly angular velocity. An accelerometer gives you information on acceleration/gravity....


3

Accelerometers measure kinematic acceleration with the addition of gravity. So for an accel to measure 0, the vehicle would need to be accelerating downward at $g$. To get inertial acceleration out of an accel measurement one simply needs to subtract the acceleration measured by the IMU when the IMU is static. So, assuming the coordinate system of the ...


3

I encountered the same puzzle. I had a clue at the beginning that the gravity information is contained within accelerometer measurements due to aerodynamic drag. Then I found a paper The True Role of Accelerometer Feedback in Quadrotor Control, which had proved the idea. My simulation also revealed the process of stabilization. As long as a quadcopter ...


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