Hot answers tagged

5

A good choice for sensor fusion with the MPU6050 is a second order complementary filter, which I used for the orientation estimation in a project. The complementary filter is computational cheap and so a good choice for a microcontroller. A paper about the implementation you can find here: http://www.academia.edu/6261055/...


4

First, let's look at if your findings seem reasonable given the datasheet specifications for the sensor. For this, I'll assume that Wikipedia is generally correct and that the strength of Earth's magnetic field is on the stronger end of the range given (0.25 to 0.60 gauss), so I'll use 0.6 gauss. Then I'll also assume that +Y is oriented to magnetic North ...


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


4

I have used POMDP like models on top of a localization algorithm (Adaptive Monte Carlo Localization, from ROS), and a person detector [1][2] to find and follow a person with a humanoid robot. These two algorithms generate the input (observation) for the POMDP model in [1] and [2]. Also in [3] they used a POMDP model with similar input. As next step we used ...


3

It happens many times that set-points fed in our systems do change in a step-wise manner. Your intuition of filtering those variations is correct and represents a common practice. Here I'd give two cases: You have direct access to $\dot{s}$, which is thus your velocity reference varying step-wise. Then, you could consider a simple frequency based filter, ...


3

You gave the part number and protocol, but Can you provide a schematic for how this is installed in a circuit? Are you using the module or an individual chip? Is this all soldered together or is it connected on a breadboard? Is this laying on a table or similar or is it actually in a quadcopter body? Are the quadcopter motors running? What sampling rate ...


2

:UPDATED: This is the last update I'm going to make to this answer because I feel like you are repeatedly redefining your question. You have already designed a Butterworth filter that removes the DC offset, but your question title is "How can I remove low frequency component with a high pass filter". What is the problem you are having?? You ask, in what ...


2

Here are my two suggestions for dealing with this problem: Use a median filter, which replaces each value of your signal with the median of the values in a small window around each one. Here is some pseudo-code, where x is your original signal, y is the filtered signal, N is the number of points in your signal, and W is the number of points in the median ...


2

Particle filters (epecially in Monte Carlo localization) always seemed easy to intuitively understand to me. You basically simulate bunch of possible states of your robot, rank them with probabilities and occasionally you throw away the improbable ones. There's obviously more to it (and more math), but this should be enough to make a small working test.


2

You can use the last value $u_{t-1}$ if the time step is not too big ($\delta t$ is small). Or, you can keep track of $u$ some time steps in the past, e.g. ten of them and extrapolate $u_t$ when you lose it. You can use a line equation for that: $$ y = mx + b $$ You can use a simple linear regression to find the values of $m$ and $b$.


1

The reason the two sources of error are treated differently is because.. they are different. To some extent, this is a matter of terminology. Imagine you're walking in a room where the lights keep flickering. Let's say you take five steps towards a door in the dark, and you can predict how far you might have walked in meters based on muscle memory - but you'...


1

I think the answer is that a covariance matrix represents uncertainty. As its singular values grow, uncertainty grows as well. On the other hand, if you look at its inverse you see (of course) the opposite. As singular values of the covariance matrix inverse grow, uncertainty decreases. In other words, uncertainty decreases when more valuable information is ...


1

If you can write the dynamics with a matrix, which you have, then a normal kalman filter will be best. However, your measurements will probably be nonlinear. You will find that you won't be able to write your measurements equations using matrices. You will almost certainly need an extended kalman filter because your measurements will be nonlinear.


1

Like with anything in engineering, you first need a good definition of what "success" (or "done") means. SLAM running how fast? Under what particular lighting and environmental conditions? Using what kind of processing power, what kind of weight, driving what kind of chassis, with what kind of battery lifetime? Then, you need to break the problem backwards ...


1

Want to get orientations from accelerometers and gyroscopes? Use the Madgwick filter. From the paper, "Results indicate the filter achieves levels of accuracy exceeding that of the Kalman-based algorithm." As @CroCo mentioned, the Kalman filter is the optimal estimator.... for a linear system signal in the presence of zero-mean, Gaussian noise. ...


1

Check this website pratical approach to kalman filter it will give you a comprehensive description of kalman filter for a balancing robot (like yours) both theoritical and pratical (you have the code as well). And it runs on an Arduino !


1

I can give you some leads and you can probably take it from there. Since you mention calculating "the probability of the robot present in each of the grid cell", what you want to do is essentially a histogram filter, i.e a discrete bayes filter applied to a continuous state space. If you have the Probabilistic Robotics book by Thrun, you will find the ...


1

:EDIT: I've edited out most of the content I had previously written because your code does work (except for the mis-matched parenthesis), but it threw me off because this is not really a complimentary filter. You have a hodge-podge here that is confusing to look at initially. First you have a lag filter on the accelerometer output: alpha = 0.98; ...


1

One of the options is to utilize the exponential moving average. The below picture shows data corrupted by Gaussian noise with zero mean and 0.4 variance and how the filter does a good job to remove the spiky noisy data. x = -pi:0.01:2*pi; perfectY = cos(x); % generate data noisyY = perfectY + .4 * randn(1, length(perfectY)); % corrupt data by noise a =...


1

Did you try out median filtering? This nonlinear technique is suitable to counteract the presence of spikes while preserving the high frequency content of the input signal.


1

Please refer to this Article "Keeping a Good Attitude: A Quaternion-Based Orientation Filter for IMUs and MARGs". They are using low-pass filter at stationary gyro to estimate the gyro bias and then subtract it from the original signal. They are doing that only if the gyro is stationary. However, I recommend to remove the bias when the gyro is stationary by ...


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