Capture.U Education - Learn More
Topics
Should you wish to learn more about any of these topics, please do not hesitate to contact us at support@vicon.com.
Accelerometer
The following topcs expand upon the content that is presented in the Accelerometer module.
Accelerometer at rest
In the Accelerometer module, it mentioned that an accelerometer at rest would measure 1g in the vertical direction. Did this make sense? Non-zero acceleration when an accelerometer is at rest can sometimes be one of the hardest concepts to grasp. Let’s try to look at it in terms of its Free Body Diagram (FBD), which is meant to analyze all of the forces acting on a system.
First, let’s recall that an accelerometer is a spring-mass system which measures the force acting on the sensor by measuring the compression (or tension) of the spring relative to a fixed plate inside the sensor. Using the force of the spring and Newtons second law, an acceleration is output by the sensor.
Now, let's look at the spring-mass system. At rest, the spring is displaced by the mass due to the force of gravity (F = m*g). With an accelerometer flat on a table, this force will be in the negative direction. To keep the mass from moving, the spring also exerts a force, so the force of the spring is equal to the force of gravity, as shown in the following diagram.
As mentioned, the force exerted by the spring is what the accelerometer is using to output an acceleration. So based off the FBD of the entire system (ie, the accelerometer), the sum of forces should equal 0 since the sensor is not moving. This gives us:
Substituting in Newtons second law for the force of the spring and knowing that the force of gravity is equal to -m*g, we should be able to rearrange the equation above to get a = g.
You should be able to perform a similar exercise to verify that acceleration, while in freefall, will measure ~0g.
Low-g or High-g?
In the Final Thought of the Accelerometer module, the concept of saturation was introduced; it occurs when the signal of the accelerometer during the movement being analyzed exceeds the range of the sensor. In the Vicon Blue Trident, there is a low-g sensor with a range of +/- 16g and a high-g sensor with a range of +/- 200g. So if we want to avoid saturation, shouldn’t we always use the high-g sensor to capture data? To answer this, we must take a closer look at the sensor’s resolution and sensitivity.
Both resolution and sensitivity help to describe the precision at which a sensor can measure. Resolution is often quoted in bits: the number of unique measurement points that a sensor can measure. In the Blue Trident, the low-g sensor is 16-bit while the high-g is 13-bit. The sensitivity then considers these bits as a function of its range. So the sensitivity of the low-g sensor is 32g (the entire range of the sensor as it can measure 16g in the positive and negative direction) divided by its 16-bit resolution, while the high-g is 400g divided by its 13-bit resolution. You can see that the sensitivity of the low-g is better than the high-g (lower value of sensitivity equates to better sensitivity). This means that it is capable of measuring much smaller changes in acceleration and this has implications on the noise that is measured by the sensor.
Noise is a fluctuation in the signal that you are trying to measure that isn't caused by the movement of the sensor itself. You can observe this noise with an accelerometer at rest; the signal will not be flat but rather fluctuate around a certain value. Sources of noise in an accelerometer are likely mechanical, thermal, or electrical. As no sensor is perfect, noise is unavoidable. While noise can be minimized through the sensor's design, it can also be limited by its sensitivity. If the noise fluctuation is smaller than its sensitivity, the sensor itself will still report values at that level of sensitivity. Another point to consider, with respect to noise, is a sensor's signal-to-noise ratio. This is essentially a measure of how confident you can be that a sensor’s measurement was actually caused by movement rather than noise. You can observe this effect in real time in the Capture.U Real-Time Insight mode by streaming both the low-g and high- accelerometer in real time; you may see differences in the values and the fluctuations that are recorded!
While a lot of information about the sensor was just presented, what does it mean for the decision of choosing between the high-g or low-g accelerometer? If you expect that the accelerations will measure greater than 16g, the answer is simple, the high-g sensor must be chosen to avoid saturation. But what if it is lower than 16g? As it has greater sensitivity (ie, lower sensitivity values) and higher signal-to-noise ratios at all values of g lower than 16, the low-g data should be used where possible. Therefore, it is always important to know the magnitudes of acceleration of the movement you are trying to measure. Luckily, in the case of a Vicon Blue Trident, you don't have to make this type of decision when it is time to collect data: if you are capturing data "To-Sensor" you can choose to collect both the low-g and high-g and make the decision of which to use when post-processing.
Integration
Acceleration is the rate of change in the velocity of an object and velocity is the rate of change in position of that object. As such, there is a relationship between acceleration and position and it is a common expectation that an accelerometer should be able to calculate the change in position of an object or a person's whole body or segment. Is it as simple as integrating the acceleration twice to get position? First, let’s establish how to calculate velocity from acceleration.
But as we just learned in the preceding section, all accelerometers have inherent, unavoidable noise. Part of this noise includes effects due to vibration or drift of the sensor. We must include this as part of the integration equation:
To complicate this further, as mentioned, there is the influence of gravity which must be accounted for. This is non-trivial in real-world measurements as the orientation of the sensor, and thus the component of gravity in each accelerometer axis can be difficult to determine.
Let's try to investigate the issues with integrating acceleration (twice) to get velocity experimentally. Place the accelerometer on a flat surface next to a ruler. Move the accelerometer a known distance and then use the acceleration outputs to calculate position. Do you get what you expected?
Stiction
As discussed within the module, an accelerometer is a mechanical sensor that calculates acceleration based on the movement of a spring-mass system. On rare occasions, a force exceeding the threshold of the accelerometer can cause the system to ‘stick’ causing a phenomenon known as stiction. When in a state of stiction, the accelerometer will report as if it is saturated and will remain in this state until another sufficiently high force can un-stick the system. In the Capture.U app, you are warned when a state of stiction has been detected.
Go back to list of Topics
Gyroscope
The following topics expand upon the content that was presented within the Gyroscope module.
Range and Sensitivity
Similar to the accelerometer, a gyroscope has both a range and sensitivity. In the case of the Vicon Blue Trident IMU, the range is +/- 2000 deg/s with a 16-bit resolution. While this range can measure the majority of human movements, there are some movements that would also cause the gyroscope to saturate. Can you think of what these might be?
Integration
As mentioned, a gyroscope measures angular velocity but this is often confused or misinterpreted for a representation of its orientation. However, as angular velocity is the rate of change in orientation, it can be integrated to provide an estimate in the orientation difference between time steps (ie, frames). Notice, this still does not explicitly say that integrating the gyroscope data will provide orientation as there are two important points to consider.
The first is that while a gyroscope can estimate changes in orientation, it must know its initial orientation to determine its current orientation. This is, theoretically the same as integrating accelerometer data, but when an accelerometer is at rest, we know what the initial velocity is. Typically, the gyroscope would need to rely on one of the other sensors in the IMU to determine its initial orientation.
Secondly, in addition to the inherent noise in the gyroscope, there is significant drift when integrating. This will get wrapped into the 'noise' variable here but it is much more significant compared to the accelereometer.
There are many techniques available to mitigate the effect of the noise and drift. Watch this space for more information on this in the future!
Go back to list of Topics
Magnetometer
The following topics expand upon the content that was presented within the Magnetometer module.
Calibration and the effects of ferrous materials
Have you ever used the compass app on your mobile phone and wondered why you need to calibrate? Or have you ever had to calibrate your drone? Did you know that what you are actually calibrating in this process is the magnetometer? So what is actually happening during this calibration process?
First, it’s important to consider what a magnetometer is actually tasked with doing. It is trying to measure a small magnetic field in a world full of magnets and magnetic materials. As such, it must be sufficiently sensitive to sense the small changes in magnetic field and needs as much help as possible to reduce the noise in its environment.
In an ideal environment, waving a magnetometer around should produce a perfect sphere just like the one below:
Hard Iron sources act to shift the origin of the sphere while soft iron sources stretch out the sphere into an ellipsoid.
When you wave a magnetometer (or your phone) in the figure-of-eight pattern, you are allowing the magnetometer to account for the soft and hard iron sources in its current environment and re-calibrate to the ideal sphere. You can see this in the image below.
Ultimately, how the sphere is fit is a function of the technique and equations used but remains an important process to ensure more accurate magnetometer readings. This becomes especially important when fusing sensor data which will be discussed in the Global Angles section.
You can generate similar graphs in MATLAB using sample code provided at www.mathworks.com. For more information about magnetometer calibration, please see the links section at the end.
Visualization
As mentioned, a magnetometer outputs its data in three axes and expresses them in microTeslas (μT). On their own, the values don’t mean very much and are hard to interpret on a graph. While taking the resultant of these three axes will provide a vector pointing towards magnetic north, this is also difficult to visualize graphically in an app. As such, you will not find them visualized within any Capture.U mode.
One slight difference with the magnetometer is its sample rate.
Go back to list of Topics
Global Angles
The following topics expand upon the content that was presented within the Global Angles module.
Global coordinate system and calibration
As you will recall, a global angle is the orientation of an object with respect to a fixed reference system commonly referred to as the Global Coordinate System (GCS) or Global Reference Frame. In the case of IMUs, the GCS is determined using outputs from the sensor; the accelerometer helps to determine the direction of gravity and the magnetometer provides the direction of magnetic north. Using these two vectors and cross products, the North-East-Down (NED) coordinate system can be calculated. As the GCS is directly dependent on the accelerometer and magnetometer data, how can you ensure that you get the best quality data? The answer lies in calibration.
Calibration of the Vicon Blue Trident IMUs consists of three steps: waving the IMU in a figure-of-eight pattern, then laying the IMU at rest on a flat surface, then rotating it about its z-axis. How do each of these steps help to improve sensor data quality and which sensor is being targeted by each movement?
In the figure-of-eight pattern, the main focus is on calibrating the magnetometer. As mentioned, hard and soft iron sources can affect the readings on a magnetometer so if we want to accurately identify magnetic north, we will want to account for their effects. When we lay the sensor to rest, we are actually targeting both the accelerometer and gyroscope. The accelerometer should be able to accurately determine the direction of gravity, and when static, the gyroscope should be able to correct for any drift in its readings, since the angular velocity should be zero. The last rotation about the z-axis will then help to align the magnetometer axis with the other sensors.
It is important to note that the technique for calibrating an IMU can differ between brands and even models. If collecting global angles, it is important to know how to calibrate, and how often you may need to calibrate. In the Capture.U app, the calibration is retained between trials when collecting global angles, and in the event that the sensor has been idle, the calibration will remain valid for up to 2 hours.
Understanding global angles
As mentioned, global angles provide a measure of an IMU's orientation relative to the Global Co-ordinate System (GCS). What can make Global Angles hard to interpret is that the term 'global angles' itself, is not used commonly and we often do not know the orientation of the GCS. Let's address both of these now.
So are global angles a concept or terminology used exclusively with IMUs? Global angles are certainly not a new concept and in movement sciences, global angles are used all the time. Foot Progress Angle, Tibia Inclination, Pelvic Tilt/Obliquity are all examples of global angles. These angles are much easier to understand since the GCS has already been established. Clinicians, when hand measuring metrics such as pelvic tilt, are using some reference system that is fixed to their environment (e.g. the floor) to measure a global angle. In traditional motion capture, a calibration wand is used to set the lab axis. Participants are asked to move relative to that axis and global angles can be calculated. To get a better idea of what an IMU Global Angle is measuring, imagine if your participant, instead of walking along one of the lab axes, actually moved diagonally across the room. What would the foot progress or tibia inclination look like? Probably different from what you'd expect: there is likely to be a change in angle in more than one axis. So what is going on? Did the participant change how they were moving? Seems unlikely. So what is the cause of this cross-talk?
Cross-Talk
In the context of angles and human movement, cross-talk refers to an unwanted transfer of angles from the expected primary axis of movement to a secondary axis where little to no movement was expected. This can occur when the measurement axis (ie, lab) is not aligned with the movement axis (ie, segment).
When we are asking the participant to move along one of the lab axes, we are attempting to align the segment axis with the local axis. In this way, the global angle should, more or less, be the segment angle. When the participant walks diagonally across the lab coordinate system, there is a misalignment between the segment axis and lab axis so there should be a change in orientation in at least one other axis. In the case of the lab, it is very easy to fix; we simply re-orient the participant so they're moving in-line with a lab axis. Without being able to see the GCS with the IMU, this is a much more difficult task, but certainly not impossible. Let's take a closer look!
Calculating local angles
The issue with the participant walking diagonally across the lab can be easily fixed by re-positioning them and having them walk along one of the lab's axes. Can we employ a similar strategy here? Absolutely. As it is difficult to know where the GCS is, rather than re-positioning the participant to align with a global coordinate axis, we can re-align the GCS so it is in-line with the participant's natural path of movement. We can either have the participant capture a 'static trial' while wearing the IMU or just have them start each trial in a neutral position. We'll go into further detail about how to do this within the Global Angles - Practice module.
Euler and Helical angles
In biomechanics, angles are typically displayed in Euler angles and, to a lesser degree, helical angles. We are not going into too much depth about either but it is important to get a baseline understanding of each and their limitations.
Euler angles describe the orientation of a rigid body with respect to a reference frame using a set of three ordered rotations. Sometimes, these are referred to as roll, pitch and yaw though these are usually reserved for vehicles (primarily aircraft). Euler angles are typically expressed as a sequence (e.g. XYZ) which specifies the order in which we rotate about each axis, and the three rotations themselves. What makes Euler angles easy to interpret is its simplicity - we can easily visualize rotating about each of the three axes separately. With that said, Euler Angles are not without issue. They are susceptible to gimbal lock, which is a phenomenon that occurs when one axis (the second axis in the order of rotations) reaches 90° and becomes aligned with the third axis in the order of rotations. The net effect is that two of the axes rotate with each other and you lose the ability to specify the rotation about one of the axes. For the majority of human movements, we do not need to worry about gimbal lock as this would require two axes to reach at least 90° - in the case where we know only one axis will approach angle changes around ~90°, we specify this axis as the first in the order Moreover, aside from providing information about orientations at each frame, Euler angles are not useful to calculate relative changes in orientation; that is, we cannot simply cannot add or subtract the difference between two orientations to describe how you can manipulate one orientation to achieve the other. As such, Euler angles are reserved for visualization purposes in Capture.U only.
Helical angles, also known as angle-axis, are another intuitive way to visualize orientations. As its name suggests, it consists of an axis (specified as a vector going through the origin) and an angle of rotation. While it does not suffer from gimbal lock, angle-axis representations aren't necessarily unique; there are always two ways to specify the same orientation. Imagine an axis with an associated angle. This orientation could also be specified using an axis in the opposite direction and a rotation in the opposite direction. With that said, it is a more reliable representation of a global angle and is used within Capture.U. Similar to Euler Angles, however, we cannot use helical angles to the relative change between orientations.
For more information about gimbal lock, see Useful links.
Quaternions
We will not go into much depth about quaternions here and suggest that you look at the links below to find more information about quaternions.
Please check back regularly as this may change.
Go back to list of Topics.
Useful links
- Magnetometer calibration examples: MATLAB Magnetometer Calibration
- A great talk about IMU sensor fusion: Invensense Sensor Fusion
- Learn about Euler Angles and Gimbal Lock: Euler Angles
- All things quaternions: Quaternions
- Capture.U documentation page: IMU documentation
Go back to list of Topics.