6

I would model this as a one-state system (x), with the gyro as the control input. The gyro noise becomes state input noise, the compass noise becomes measurement noise. So your system model becomes $$\hat{\dot \theta} = \omega_{gyro} + w$$ $$\hat y = \hat x$$ where $\hat y$ is the filter's estimate of direction, which you compare to the compass direction ...


6

gyroscopes do not measure [dRoll ,...] they measure body rates. These are not the same things. There is a transformation matrix ( that I do not have on hand) that relates body rates to euler rates. The euler rates are then integrated to get the short term change in orientation. -- relation -- this is the relation between the measured body rates from the ...


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

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


4

The complementary filter you mentioned comprises of both a low-pass filter (which filters out, or attenuates, short term accelerometer fluctuations), as well as a high pass filter (which tries to negate the effect of drift on the gyroscope). A time constant $\tau$ with respect to first order filters describes at what point (the cut-off frequency $f_{c}$) ...


4

If your object $O$ has a different orientation from your global frame $S$, and you know what that difference in orientation is, you can create a 4x4 transform matrix between the two: $$ T = \left[ \begin{array}{cc} R & s \\ 0 & 1 \end{array} \right] $$ where $R$ is the 3x3 rotation matrix, $s$ is the 3x1 translation vector, $0$ is a 1x3 row of ...


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

The device you describe is known as a Control Moment Gyroscope (CMG). These devices are mostly used for attitude control in spacecraft, but are also commercially available.


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

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

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

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

To apply Kalman filter successfully, you need two requirements namely the system must be linear (i.e. both the motion and observation models) and the noise to be Gaussian with zero mean and some variance besides the models must be specified accurately. Kalman filter is a time domain recursive filter. Meeting these requirements, Kalman filter is one of the ...


3

This is just basic trigonometry; you'll covert your world-relative calculations of roll and pitch ($\phi$ and $\theta$) into vehicle-relative values, based on yaw ($\psi$). Just so we're on the same page, I'm assuming measurements like the following, with roll, pitch, and yaw being zero when levelly flying North: $$\phi_{vehicle} = \phi_{world}\cos(\psi) - ...


3

There will be no control input term. You should take (x, xdot) as your state vector to formulate the Kalman filter properly. The primary sources of noise are the compass and the gyroscope. The gyroscope noise and drift are significant. It is pretty challenging to overcome magnetic distortion in general but there are compensation techniques. The assumption of ...


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


3

Calibration procedures for magnetometers exist, to compensate for soft iron (nearby ferromagnetic objects) and hard iron (nearby magnetic fields) offsets, which skew the measurements. However, these procedures usually map a static disturbance correction and apply it to all new measurements. On the contrary, your environment changes from one end of the tube ...


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

You need the transformation from the car to the IMU. You can get this by recording the IMU published attitude with the car in known orientations. You should be able to construct the IMU to car transformation by grabbing the IMU orientation while the car is flat, pitched up a bit (30 deg would should enough), and rolled (again, 30 deg should be enough). ...


3

1) An inertial frame is one in which a free particle travels in a straight line at constant speed, or is at rest. Practically speaking, you usually check if a frame is inertial or not by characterizing its motion w.r.t a reference inertial frame: all inertial frames are in a state of constant, rectilinear motion w.r.t one another. In the context of visual-...


3

As Ben noticed, you may want to elaborate on your question, but in general data collection in ROS is performed using tools from the rosbag package. As you'll find when you read the documentation, data (either from a simulation or the real world) can be recorded during a session, but not after it has already finished. Recorded data can be replayed or ...


2

You won't be able to determine the position of the quadcopter with accelerometers or gyros or a combination of both. You can use either accelerometers or a combination of accelerometers and gyros to determine the orientation (eg. roll, pitch, yaw) of the quadcopter. The gyro will allow for a more nimble quadcopter because it provides additional information ...


2

You definitely mean the orientation and not position. Any yes, people have used multiple accelerometers to determine the orientation, for example Wii's "nunchuck" is an attachment to the Wiimote that has an additional accelerometer, so that the orientation of the stick can be calculated


2

For both states, you are using sensors to give you the required information. One way to make this work properly: Use the gyroscope reading for your ω and your previous state estimate for your θ (or initial state estimate if its the first iteration). This is the predict step of the filter. Then for the update step you can use your compass measurement (...


2

An IMU as any sensor is not perfect and it is affected by errors. In IMUs case there are some accelerometers and gyros. They should be orthogonal each other but for construction constraints they can't really be. Expensive IMUs come with a calibration matrix which is "personal" for each device, and here is why of the extra costs. So someone should calibrate ...


2

I believe the term you are looking for is 'Cross sensitivity'. This term describes the effect that motion in one axis has on the measured motion of other orthogonal axes in accelerometers or gyroscopes Cross Sensitivity is normally stated by the manufacturer of the sensor and (depending on the quality/type of the sensor) is typically 1-5%. So, for example, ...


2

Dead reckoning is not a measurement, it's a form of estimation. It is by definition inaccurate, and accumulates error over time. We use it when more precise forms of position measurement aren't available (because it's better than nothing) and only to the extent that the accumulated error stays below a desired bound. In other words: after your error ...


2

Here is a useful thesis that might help: http://dspace.mit.edu/bitstream/handle/1721.1/69500/775672333.pdf And this paper discusses some of the control problems, including the drift compensation problem that you're having: http://www.raysforexcellence.se/wp-content/uploads/2013/01/Dennis-Jin-Development-of-a-stable-control-system-for-a-segway.pdf As a kind ...


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