16

The simplest controller is a linear state feedback controller. There are essentially 4 different states that you need a gain for. These are tilt angle, tilt rate, speed and position. LQR (linear quadratic regulator) is a method to design these gains (after obtaining a linearized state-space representation of your system). If you do not have a state space ...


12

"LSB RMS" means the root-mean-squared value of the total noise in least significant bits of the digital channel. Roughly, that's the standard deviation of the noise times the weight of one step of the digital value. "$\mu g/\sqrt{Hz}$" means the power spectral density in micro-g's ($1\mu g \simeq 0.000098 m/s^2$). If the power spectral density is flat, ...


9

I believe the most popular solution to this problem is an LQR controller. The problem you are trying to solve is the inverted pendulum problem. Using those keywords, you should be able to Google someone's open-source code. The next problem will be mapping most of the relevant physics quantities to your application (weight, motor torque, etc...)


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

I assume that you are looking for an IMU that provides you with an orientation estimation. The complete package is usually called an Attitude and Heading Reference System (AHRS). What really is the most defining criteria is your budget. Getting above 3 degrees/s should be within reach though. We have been working with the XSens MTi and had good enough ...


6

I have used a VN-100 IMU to replace an old one (which could be quite inaccurate). My experience with the VN-100 is quite good. It includes an internal Kalman filter to estimate pitch, roll and yaw (using magnetic sensors), and you can tune the gains on the Kalman filter yourself. How they should be tuned will depend on your application (eg. vibration, usual ...


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

Since I don't know your skills in control engineering/theory, I recommend you to start with a PID controller. It is a simple controller and you will find many code implementations of it. The drawback of the PID is that you probably will end up spending some time tuning the parameters by hand. Some years ago I used it to control a two wheeled Lego Mindstorm ...


5

Am I correct in saying that this would not require a gyro, just a 3 (2?) axis accelerometer, to detect pitch and roll, then adjust the ailerons and elevator to compensate? No. The opposite is true. The accelerometer will be almost useless to detect rotations on a platform that's experiencing unknown accelerations. Your plane will be subject to two force ...


5

As the name of the accelerometer implies, you measure the acceleration on your system excluding that from the gravitational force. When your sensor is at rest, you measure the acceleration from the force that you use to counteract the gravitational force. This is how you can fix your orientation vs the gravity vector. When the sensor is accelerated, as would ...


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

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

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

You can theoretically use just an accelerometer for determining motion, but it may not be accurate enough to achieve your goals. The big problem with accelerometers is drift over time (i.e., errors in the acceleration measurement get integrated twice), so your position accuracy significantly decreases over time. The severity of this problem depends on the ...


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

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

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

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

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

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


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