Orientation Estimation using Smartphone Sensors
|
|
|
- Joan Melton
- 10 years ago
- Views:
Transcription
1 Statistical Sensor Fusion Lab 2 Orientation Estimation using Smartphone Sensors This version: May 2014 LERTEKNIK REG Name: P-number: AU T O MA RO TI C C O N T LINKÖPING L Date: Passed:
2 1 Introduction Navigation is one of the first and one of the most important applications of sensor fusion. At the same time, it is quite challenging both from a complexity and a numerical point of view. The core in any navigation system is the orientation filter that integrates inertial information from gyroscopes and accelerometers with magnetometer measurements and other supporting sensors that relate to the orientation of the platform with respect to the world. This laboration aims at providing theoretical insights into the design and implementation of such filters, and also to give practical experience in issues such as tuning, and disturbance rejection and sensitivity. 2 The Sensor Fusion Android app During the lab session you will work with data that you collect online with an Android smartphone (technically any Android device with suitable sensors that can be connected to Internet) using an app that streams the measurements from the phone to a PC, where it can be accessed in for example Matlab. The application is available for free from Google Play ( under the name Sensor Fusion. First time launching the Sensor Fusion app you up in its home screen (Figure 1(a)), from which all the app s basic functionality can be reached. Select Sensor Clicking Select Sensor yields a new view similar to the one in Figure 1(b). Exactly what exact sensors show up deps on what (a) Home screen. (b) Sensor selection screen. (c) Graph of gyroscope data. Figure 1: Screen shots from the Sensor Fusion app. 2
3 (a) Stream view. (b) Sensor information. (c) Settings screen. Figure 2: Screen shots from the Sensor Fusion app. sensors are available in your phone, this varies between different brands and models. When selecting a sensor, sensor readings from it are visualized. Figure 1(c) shows the result from clicking the Gyroscope button. The gyroscope measurements are visualized as three curves in a graph, together with the norm of the measurements. Log Data Clicking Log Data brings up a view (Figure 2(a)) from which it is possible to stream data over internet or save it to a file on the device to be read out and processed at a later time. What sensor data is collected is determined by checking the respective check box in the sensor list. The check boxes Stream and Log determine if the collected measurements should be streamed over internet and/or saved to a log file, respectively. The details about where to stream the data and the log file are displayed in the field below and can be changed by clicking the red gear at the bottom right of the screen. Data collection is started and stopped using the button at the bottom of the page. (Note that before starting to stream data a receiver must be available, or the connection will be automatically shut down.) Sensor list Clicking Sensor list brings up a dialog (Figure 2(b)) enumerating all sensory measurements that are available on request by an Android app. Note that some of the listed sensors are physical sensors, e.g., accelerometers and magnetometers; whereas others are virtual sensors (the measurements are obtained from fusing other sensors), e.g., orientation and gravity. (The orientation sensor will be used to benchmark the orientation filter you construct in this lab.) 3
4 About/Help This displays some information about the app. Clicking the red gear in any view where it is present brings up the preferences view (Figure 2(c)). Changes made in this view are stored in the device. The most important fields are the Measurement>Frequency which determine the measurement rate (default: 100 Hz); the Network settings which are needed to determine where data is streamed; and the Log settings which decide where the log file is created. 3 Summary of Relevant Theory This section provides relevant background theory needed to perform this lab. The presentation here could be considered complimentary to the description in Chapter 13 of the textbook, and can in many cases replace it for the purposes of this lab. 3.1 Representing Rotations using Quaternions In this exercise two inertial frames are considered: The world frame, W, which is fixed to the earth, is aligned with its x-axis pointing east, its y-axis pointing north, and its z-axis pointing up. This way an orthogonal right-hand system is formed, sometimes denoted an ENU-system (east-north-up-system). The sensor frame, S, is centered in the smartphone and moves with it. Ideally it would be centered in the accelerometer to avoid measuring accelerations due to pure rotations, but as the exact location of it is unknown, the frame is considered positioned in the center of the phone. Laying with the screen face up the x-axis points right, the y-axis points forward, and the z-axis points up. This is the same coordinate system used in both the Android and the ios APIs for writing apps. See Figure 3 for an illustration of how the world frame, W, and the sensor frame, S, relate to each other. The world and sensor systems are related via a linear transformation, which can be described mathematically as p W = R W/S p S + t W/S, (1) where p S is a point expressed in the sensor frame and p W is the same point expressed in the world frame. The relative rotation between the two frames is given by R W/S, the rotation aligns the world frame with the sensor frame. The translation between centers of the coordinate frames is given by t W/S ; however, as only the rotation is of interest in this lab, t W/S will not be considered further. The focus of this lab is to estimate the rotation R W/S based on the sensor measurements available from a smartphone. The rotation describes how to 4
5 z S z W y S y W p W p ps S x S W x W Figure 3: Illustration of the two inertial frames used here; the world fixed frame, W, and the sensor (phone) fixed frame, S. rotate points in the sensor frame, S, to describe them in the world frame, W. It can also be interpretation as the rotation that is applied to the world frame to align it with the sensor system. A rotation can be described in many ways. One way is to use a rotation matrix. This is a description most of us are familiar with and know well how to manipulate. However, it uses 9 values to represent 3 degrees of freedom. Hence, it is not a minimal representation, which makes estimating the rotation matrix difficult. Another alternative is to use Euler angles, i.e., a representation in terms of three consecutive rotations around predefined axes. Even though represented by three values, Euler angles are not unique several combinations of rotations result in the same final rotation the representation has discontinuities in the parameters, and suffers from the gimbal lock effect. These are all factors that make the Euler angles unsuitable for estimation purposes. A third alternative is to use a unit length quaternion representation. This representation suffers less from the problems of the two other representations and is therefore a popular choice for orientation estimation. The quaternion representation of a rotation can be interpreted as an axis angle representation of the rotation according to q 0 cos( 1 2 α) ) q = q 1 q 2 q 3 = ˆv ( sin( 1 x 2 α) cos( 1 ˆv y = 2 α) sin( 1 2 α)ˆv ˆv z where α is a positive rotation around the axis of rotation ˆv, assumed to be of unit length, i.e., ˆv = 1. Note, this interpretation clearly shows that the quaternion representation is in fact not unique, q and q represent the same rotation. (To show this is a straightforward application of trigonometric identities on the axis angle representation.) However, this is much less of a problem than in the case with Euler angles. In most cases, q 0 0 is assumed and enforced to get an unambiguous representation. The following mathematical relations are useful when working with orientation estimation using the quaternion representation:, 5
6 The formula to convert from a unit length quaternion to a rotation matrix, 2q q1 2 2q 1 q 2 2q 0 q 3 2q 1 q 3 + 2q 0 q 2 R = Q(q) = 2q 1 q 2 + 2q 0 q 3 2q q2 2 2q 2 q 3 2q 0 q 1. 2q 1 q 3 2q 0 q 2 2q 2 q 3 + 2q 0 q 1 2q q3 2 (2a) This is implemented in Qq(q) in Appix A.2.3. Note how all occurrences of q i are in pairs, hence, changing the sign on all quaternion components does not change the resulting rotation matrix Q(q) = Q( q), as noted previously. The reverse operation is given by t/2 q = Q 1 (R) = (R 23 R 32 )/(2t) (R 31 R 13 )/(2t), (R 12 R 21 )/(2t) (2b) where t = R 11 + R 22 + R A certain degree of caution must be applied to ensure numerical stability performing this conversion. The angle,, between two unit length quaternions q 0 and ˆq can be calculated as ( 3 = 2 arccos qi 0 ˆq i ). (2c) This way describes the difference between ˆq and q 0 as the angle ˆq must be turned to obtain q 0. The time derivative of a quaternion, in terms of angular velocities, ω, (where the quaternion represents R W/S and ω is given in the sensor frame) can be shown to be 0 ω x ω y ω z q = 1 2 S(ω)q = 1 ω x 0 ω z ω y 2 ω y ω z 0 ω x q (2d) ω z ω y ω x 0 = 1 2 S(q)ω = 1 2 i=0 q 1 q 2 q 3 ω x ω y. ω z q 0 q 3 q 2 q 3 q 0 q 1 q 2 q 1 q 0 (2e) The functions S(ω) and S(q) are implemented in Somega(omega) and Sq(q), in Appices A.2.5 and A.2.4, respectively. Differentiating Q(q) with respect to q is a bit more tricky as the result is a three-dimensional tensor. Differentiating with respect to one component 6
7 at the time yields: 2q dq(q) 0 q 3 q 2 = 2 q 3 2q 0 q 1, dq 0 q 2 q 1 2q 0 2q dq(q) 1 q 2 q 3 = 2 q 2 0 q 0, dq 1 q 3 q q dq(q) 1 q 0 = 2 q 1 2q 2 q 3, dq 2 q 0 q q dq(q) 0 q 1 = 2 q 0 0 q 2. dq 3 q 1 q 2 2q 3 (2f) (2g) (2h) (2i) The quaternion derivative is implemented in dqqdq(q), in Appix A.2.6. The discrete time update of a quaternion based on given angular velocities, ω k, and process noise, w k in (3), can be approximated with q k+1 = e 1 2 S(ω k+w k )T q k ( = cos ( ω k +w k T ) 2 I + T 2 sin ( ωk+wk T ) 2 ( I S(ω k)t ) q k + T 2 S(q k )w k. ω k +w k T 2 ) S(ω k + w k ) q k (2j) (2k) 3.2 Sensor Fusion The basic sensor fusion model is x k+1 = f(x k, u k, w k ), y k = h(x k, u k, e k ), (3a) (3b) where x k is the state at time k, u k known (or measured) input to the system, w k is process noise, y k is the measurements (or system output), and e k is the measurement noise. Here, the goal is to estimate the orientation, represented by the quaternion q k. The sensors provide 3D measurements of: Angular rates ω k, denoted yk ω rate fs ω. Accelerations a k, denoted yk a rate fs a. when used as measurements, at sampling when used as measurements, at sampling Magnetic field m k, denoted yk m rate fs m. when used as measurement, at sampling 7
8 When designing a filter to estimate the phone s orientation there are several things to take into consideration: how to divide the measurements in input and output, which sensor biases, if any, to estimate, and how to handle asynchronous measurements. There are many ways to divide the measured quantities in inputs u k and outputs y k in (3). For clarity, everything that is measured is referred to as measurements, and can be used as inputs or outputs deping on the chosen filter structure. The main structures are as follows: 1. The simplest model is to let x k = q k, u k = ω k, y k = ( y a,t k and not to attempt any bias estimation. y m,t ) T k, (4a) 2. The most complex model is to let x k = ( q T k ω T k b ω,t k b a,t ) T k, yk = ( y ω,t k y a,t k y m,t ) T k, (4b) and estimate both the accelerometer bias, b a, and the gyroscope bias, b ω. 3. An intermediate model is x k = ( q T k b ω,t k b a,t k ) T, uk = ω k, y k = ( y a,t k y m,t ) T k, (4c) where the gyroscope measurement is considered as input, but the biases are estimated. 4. Since the accelerometer measures both the specific force F k (that accelerates the platform) and the gravity g 0, another alternative is to include position and velocity in the state, and to let acceleration either be a state or an output. That is, to also estimate t W/S. This is a much harder problem which needs some sort of absolute measurement to be observable, or the estimate will quickly start to drift. A more philosophical question is what the difference of an input and output is from a filtering perspective. There are many explanations to this degree of freedom. One specific aspect here is the following: If the angular rates are integrated as inputs in the time update, the motion affects the mean of the state estimate directly. If the angular rates are used in the measurement update, this new information is weighted together with the prior in a Bayesian fashion. The mean of the orientation state does not take the full step according to the measurement. There will also be a delay in information, because it takes one time update until the derivative affects the angular state. 8
9 The conclusion is that we prefer to consider u k = ω k as an input. Both a k and m k are subject to disturbances, and outlier rejection is most naturally implemented in the measurement update. This is another reason why we advocate the first approach above. A remaining question is whether an attempt should be done to estimate the biases in the sensors, b ω and b a above. The multi-rate, or asynchronous, measurement aspect is an issue in practice if all sensors have different rates. Consider case 1 above. If the sample rate fs ω is an integer multiple of fs a and fs m, then the measurement update can be performed at regular cycles after the time update. In the general case, the piece-wise constant assumption has to be used, and the time update is matched to the next output observation. 4 Preparations Given the discussion above, use a state-space model with the rotation R W/S represented as a quaternion as state vector. 4.1 Dynamic Equation The dynamic model is then given by (2j). Before the lab session, write a Matlab function [x, P] = tu_qw(x, P, omega, T, Rw) that implements the time update function, where omega is the measured angular rate, T the time since the last measurement, and Rw the process noise covariance matrix. For your convenience, the functions S(q) and S(ω) are available in App. A.2.4 and A.2.5, respectively. Furthermore, write a similar function to handle the time update in the case that there is no angular rate measurement available. 4.2 Acceleration Measurement Equation The measurements from the accelerometer can be modeled using the relation y a k = Q T (q k )(g 0 + F k ) + e a k, (5) where no specific force is assumed present (i.e., F k = 0), g 0 is the nominal gravity vector, and e a k is the measurement noise. Before the lab session, prepare a Matlab function [x, P] = mu_g(x, P, yacc, Ra, g0) that implements the accelerometer measurement update, where yacc is a shorthand for yk a and Ra is the measurement noise covariance matrix. You can let g 0 be a constant in your implementation. The functions to compute Q(q) and dq(q)/dq are available in App. A.2.3 and A.2.6, respectively. 9
10 4.3 Magnetic Field Measurement Equation Before the lab session prepare a Matlab function [x, P] = mu_m(x, P, ymag, Rm, m0) that implements a magnetometer measurement update, where ymag is a shorthand for y m k. Hint: The magnetometer measures the earth magnetic field (possibly including disturbances) in sensor coordinates, y m k = Q T (q k )m 0 + e m k, (6) where m 0 is the earth magnetic field in world coordinates. By definition there should be no magnetic field component in the west-east direction. Hence, the nominal magnetic field can be derived from magnetic field measurements as the phone lies horizontally without knowledge of the direction of north using the relation m 0 = ( 0 where m is the measured magnetic field. 4.4 Quaternion Normalization m 2 x + m 2 y m z ) T, (7) In order for the quaternion representation of the orientation to work, it is essential that the quaternion is of unit length. The exted Kalman filter does not automatically maintain this quaternion property. Therefore, before the lab session, figure out a way to ensure the quaternion keeps unit length. 5 Exercises The following exercises should be completed during the lab session. The passages prefixed by Check-point: should be presented to a lab assistant to pass the lab. Consider the structure (4a) and make use of the code skeleton in Appix A Connect the phone with your lab computer: Download all the supporting Matlab files and the sensorfusion.jar file from: Extract the files in the zip-archive to your lab folder. Run the startup function to initialize the environment correctly. Note, this must be done each time Matlab is restarted. Connect the smartphone to eduroam using the instructions in Appix B. Determine the IP of your lab computer. One way to do this is to run showip in Matlab. 10
11 Check-point: Check-point: Enter the lab computer s IP into the app s configuration view (see Figure 2(c).) At the same time, make sure the port is set to 3400 and that the measurement frequency is 100 Hz. Always start your Matlab program before initiating the streaming from the smartphone, it acts as a server to which the client on the phone tries to connect to. 2. Get to know your data: Sp a few minutes to play around with the app and the sensors in the Select Sensor view to get an initial feeling for the data you are going to work with. Use filtertemplate to collect a few seconds of data and compute mean and variance for the accelerometer, gyroscope, and magnetometer. Also, analyze the measurements to see if the noise is Gaussian and if it has any trs. What do the results tell you? Your results should be used to tune the filter. Hint: Unavailable measurements are marked with a NaN (not a number) value. Make sure to take this into consideration when computing means etc. The function isnan(x) can be used to find NaN values; the average acceleration can be computed as: mean(meas.acc(:, ~any(isnan(meas.acc), 1)), 2) Be prepared to show the lab assistant: A histogram of the measurements for each sensor and axis. A plot of the signals over time. If there are trs figure out a way to deal with these. The determined average acceleration vector, angular velocity vector, and magnetic field, and their respective covariance matrices. 3. Add the EKF time update step: Start to implement an EKF to estimate the orientation by adding the time update. (Make a copy of filtertemplate.m and add the time update step you wrote in Section 4.1 as part of your lab preparations.) Use the previously estimated mean and variance as input to the filter and use it to compensate for bias and noise levels. You should now have a very reactive estimate with no absolute orientation. What happens if you start the filter with the phone on the side instead of laying face up on the desk? Why? Shake the phone and explain what happens. Show the filter running to the lab assistant, and be prepared to present your findings from the experiments indicated above. 4. Add the EKF accelerometer measurement update step: Add the accelerometer update to the EKF (use mu_g(x, P, yacc, Ra) you wrote in Section 4.2 preparing for the lab). Now, the orientation should be correct up to a rotation in the horizontal plane. Test the sensitivity to 11
12 Check-point: Check-point: Check-point: specific forces (body accelerations) with different experiments. As an example, slide the device quickly back and forth on the horizontal surface of a table. 5. Add accelerometer outlier rejection: Add a simple outlier rejection algorithm for a k, based on the assumption that a k g = 9.81 without specific force. Use the orientation view s setaccdist function to indicate when the accelerometer measurements are considered disturbed/outliers. Repeat the same experiments as in the previous two steps. Show the filter running to the assistant, and be ready to explain what you observed when shaking and sliding your phone on the desk with and without outlier rejection. 6. Add the EKF magnetometer measurement update step: Implement a magnetometer update, based on your preparations in Section 4.3. You should now have a orientation filter that behaves much like the one implemented in the phone. What happens if you introduce a magnetic disturbance? (The power supply in the monitor can provide a suitable disturbance.) 7. Add magnetometer outlier rejection: Try to come up with a way to perform outlier rejection for magnetic disturbances, e.g., by estimating the strength of the magnetic field and reject measurements when the field strength differs too much from what you expect. Implement the outlier rejection, and evaluate if it helps. Use the orientation view s setmagdist function to indicate when the magnetic field measurements are considered disturbed/outliers. What assumptions do you rely on? When are they reasonable? What happens now when you introduce a magnetic disturbance? Use the q2euler function (Appix A.2.2) and plot the Euler angles of both your orientation filter and the built in filter in the phone. Show the filter running to the assistant, and be ready to explain what you observed when using the filter with and without a magnetic disturbance. 8. Test your filter without gyroscope measurements: Turn off the gyroscope measurements and evaluate the filter; slide the phone on the desk, shake it, and introduce magnetic disturbances. Show the filter running without gyroscope measurements to the assistant 9. If you are interested and have time: Compare the results difference between using (2k) and the exact form (2j). Evaluate the remaining combinations of measurements in the filter: only acceleromter, only magnetometer, gyroscope and magnetomter. 12
13 10. Wipe your account details from the phone: Once you have passed the lab, wipe your login details for eduroam from the phone. Got to the network settings screen again, press the eduroam entry until you get the option to Forget network and do so. A Provided Code The following functionality is provided in the zip-archive Make sure to run the included startup function to initialize the package before doing anything else. Without this step it is not possible to establish a connection with the phone. When using filtertemplate always start the Matlab program before initializing the streaming from the phone as the Matlab program acts as a server for the data from the phone A.1 Code Skeleton 1 function [ xhat, meas ] = f i l t e r T e m p l a t e ( calacc, calgyr, calmag ) % FILTERTEMPLATE F i l t e r t e m p l a t e % % This i s a t e m p l a t e f u n c t i o n f o r how to c o l l e c t and f i l t e r data 5 % s e n t from a smartphone l i v e. C a l i b r a t i o n data f o r t h e % accelerometer, gyroscope and magnetometer assumed a v a i l a b l e as % s t r u c t s with f i e l d s m (mean) and R ( v a r i a n c e ). % % The f u n c t i o n r e t u r n s xhat as an array o f s t r u c t s comprising t 10 % ( timestamp ), x ( s t a t e ), and P ( s t a t e c ovariance ) f o r each % timestamp, and meas an array o f s t r u c t s comprising t ( timestamp ), % acc ( a c c e l e r o m e t e r measurements ), gyr ( gyroscope measurements ), % mag ( magnetometer measurements ), and o r i n t ( o r i e n t a t i o n q u a t e r n i o n s % from t h e phone ). Measurements not a v a i l a b e are marked with NaNs. 15 % % As you implement your own o r i e n t a t i o n estimate, i t w i l l be % v i s u a l i z e d in a simple i l l u s t r a t i o n. I f t h e o r i e n t a t i o n e s t i m a t e % i s checked in t h e Sensor Fusion app, i t w i l l be d i s p l a y e d in a % s e p a r a t e view. 20 %% Setup n e c e s s a r y i n f r a s t r u c t u r e import ( com. l i u. s e n s o r d a t a. ) ; % Used to r e c e i v e data. %% F i l t e r s e t t i n g s 25 t0 = [ ] ; % I n i t i a l time ( i n i t i a l i z e on f i r s t data r e c e i v e d ) nx = 4 ; % Add your f i l t e r s e t t i n g s here. % Current f i l t e r s t a t e. 30 x = [ 1 ; 0 ; 0 ; 0 ] ; P = eye ( nx, nx ) ; % Saved f i l t e r s t a t e s. xhat = s t r u c t ( t, zeros ( 1, 0 ), x, zeros ( nx, 0 ),... P, zeros ( nx, nx, 0 ) ) ; 13
14 meas = s t r u c t ( t, zeros ( 1, 0 ),... acc, zeros ( 3, 0 ), gyr, zeros ( 3, 0 ),... mag, zeros ( 3, 0 ),... o r i e n t, zeros ( 4, 0 ) ) ; t r y %% Create data l i n k 45 s e r v e r = StreamSensorDataReader ( ) ; % Makes sure to r e s o u r c e s are r e turned. s e n t i n e l = oncleanup (@( ) s e r v e r. stop ( ) ) ; s e r v e r. s t a r t ( ) ; % S t a r t data r e c e p t i o n. 50 % Used f o r v i s u a l i z a t i o n. figure ( 1 ) ; subplot ( 1, 2, 1 ) ; ownview = OrientationView ( Own f i l t e r, gca ) ; % Used f o r v i s u a l i z a t i o n. 55 googleview = [ ] ; counter = 0 ; % Used to t h r o t t l e t h e d i s p l a y e d frame r a t e. %% F i l t e r l o o p while s e r v e r. s t a t u s ( ) % Repeat w h i l e data i s a v a i l a b l e 60 % Get t h e next measurement set, assume a l l measurements % w i t h i n t h e next 5 ms are concurrent ( s u i t a b l e f o r sampling % in 100Hz ). data = s e r v e r. getnext ( 5 ) ; 65 i f isnan ( data ( 1 ) ) % No new data r e c e i v e d c o n t i n u e ; t = data ( 1 ) / ; % E x t r a c t c u r r e n t time 70 i f isempty ( t0 ) % I n i t i a l i z e t0 t0 = t ; acc = data ( 1, 2 : 4 ) ; 75 i f ~any( isnan ( acc ) ) % Acc measurements are a v a i l a b l e. % Do something gyr = data ( 1, 5 : 7 ) ; i f ~any( isnan ( gyr ) ) % Gyro measurements are a v a i l a b l e. 80 % Do something mag = data ( 1, 8 : 1 0 ) ; i f ~any( isnan (mag ) ) % Mag measurements are a v a i l a b l e. 85 % Do something o r i e n t a t i o n = data ( 1, 1 8 : 2 1 ) ; % Google s o r i e n t a t i o n e s t i m a t e. 90 % V i s u a l i z e r e s u l t i f rem( counter, 10) == 0 s e t O r i e n t a t i o n ( ownview, x ( 1 : 4 ) ) ; t i t l e ( ownview, OWN, FontSize, 1 6 ) ; 14
15 i f ~any( isnan ( o r i e n t a t i o n ) ) 95 i f isempty ( googleview ) subplot ( 1, 2, 2 ) ; % Used f o r v i s u a l i z a t i o n. googleview = OrientationView ( Google f i l t e r, gca ) ; 100 s e t O r i e n t a t i o n ( googleview, o r i e n t a t i o n ) ; t i t l e ( googleview, GOOGLE, FontSize, 1 6 ) ; counter = counter + 1 ; 105 % Save e s t i m a t e s xhat. x ( :, +1) = x ; xhat. P ( :, :, +1) = P ; xhat. t (+1) = t t0 ; 110 meas. t (+1) = t t0 ; meas. acc ( :, +1) = acc ; meas. gyr ( :, +1) = gyr ; meas. mag ( :, +1) = mag ; 115 meas. orient ( :, +1) = o r i e n t a t i o n ; catch e f p r i n t f ( [ U n s u c c e s s f u l c o n n e c t i n g to c l i e n t! \ n... Make s u r e to s t a r t streaming from the phone a f t e r running t h i s f u n c t i o n! ] ) ; A.2 Utility Functions A.2.1 Normalize quaternion 1 function [ x, P ] = mu_normalizeq ( x, P) % MU_NORMALIZEQ Normalize t h e quaternion x ( 1 : 4 ) = x ( 1 : 4 ) / norm( x ( 1 : 4 ) ) ; 5 x = x sign ( x ( 1 ) ) ; A.2.2 Convert quaternions to Euler angles 1 function e u l e r = q 2 e u l e r ( q ) % Q2EULER Convert q u a t e r n i o n s to Euler a n g l e s 5 e u l e r = zeros ( 3, size ( q, 2 ) ) ; xzpwy = q ( 2, : ). q ( 4, : ) + q ( 1, : ). q ( 3, : ) ; IN = xzpwy+sqrt ( eps ) >0.5; % Handle t h e north p o l e e u l e r ( 1, IN ) = 2 atan2 ( q ( 2, IN ), q ( 1, IN ) ) ; 10 IS = xzpwy sqrt ( eps ) <0.5; % Handle t h e south p o l e 15
16 e u l e r ( 1, IS ) = 2 atan2 ( q ( 2, IS ), q ( 1, IS ) ) ; I = ~( IN IS ) ; % Handle t h e d e f a u l t case e u l e r ( 1, I ) = atan2( 2 (q ( 1, I ). q ( 3, I ) q ( 1, I ). q ( 4, I ) ), (q ( 3, I ). ^ 2 + q ( 4, I ). ^ 2 ) ) ; e u l e r ( 3, I ) = atan2 ( 2 ( q ( 3, I ). q ( 4, I ) q ( 1, I ). q ( 2, I ) ), (q ( 2, I ). ^ 2 + q ( 3, I ). ^ 2 ) ) ; 20 e u l e r ( 2, : ) = asin (2 xzpwy ) ; e u l e r ( 1, : ) = rem( e u l e r ( 1, : ), 2 pi ) ; A.2.3 Q(q) 1 function Q=Qq( q ) % The matrix Q( q ) d e f i n e d in ( ) q0=q ( 1 ) ; q1=q ( 2 ) ; q2=q ( 3 ) ; q3=q ( 4 ) ; Q = [ 2 ( q0^2+q1 ^2) 1 2 ( q1 q2 q0 q3 ) 2 ( q1 q3+q0 q2 ) ; 5 2 ( q1 q2+q0 q3 ) 2 ( q0^2+q2 ^2) 1 2 ( q2 q3 q0 q1 ) ; 2 ( q1 q3 q0 q2 ) 2 ( q2 q3+q0 q1 ) 2 ( q0^2+q3 ^2) 1 ] ; A.2.4 S(q) 1 function S=Sq ( q ) % The matrix S( q ) d e f i n e d in (13.11 c ) q0=q ( 1 ) ; q1=q ( 2 ) ; q2=q ( 3 ) ; q3=q ( 4 ) ; S=[ q1 q2 q3 ; 5 q0 q3 q2 ; q3 q0 q1 ; q2 q1 q0 ] ; 16
17 A.2.5 S(ω) 1 function S=Somega (w) % The matrix S( omega ) d e f i n e d in (13.11 b ) wx=w( 1 ) ; wy=w( 2 ) ; wz=w( 3 ) ; S=[ 0 wx wy wz ; 5 wx 0 wz wy ; wy wz 0 wx ; wz wy wx 0 ] ; A.2.6 dq(q)/dq 1 function [ Q0, Q1, Q2, Q3 ] = dqqdq( q ) % The d e r i v a t i v e o f Q( q ) wrt qi, i ={0,1,2,3}, as i m p l i c i t e l y d e f i n e d % in (13.20 d ) q0=q ( 1 ) ; q1=q ( 2 ) ; q2=q ( 3 ) ; q3=q ( 4 ) ; 5 Q0 = 2 [ 2 q0 q3 q2 ; q3 2 q0 q1 ; q2 q1 2 q0 ] ; Q1 = 2 [ 2 q1 q2 q3 ; q2 0 q0 ; 10 q3 q0 0 ] ; Q2 = 2 [ 0 q1 q0 ; q1 2 q2 q3 ; q0 q3 0 ] ; Q3 = 2 [ 0 q0 q1 ; 15 q0 0 q2 ; q1 q2 2 q3 ] ; A.2.7 OrientationView The class orientation view provides a way to easily visualize orientations. The class is used in the filter template. self = OrientationView(figname) Create a OrientationView figure with a given figure name. setorientation(self, q, P) Set the orientation to display, if P is given it is used to visualize the uncertainty in the orientation. title(self, str) Set the title of the view to str. setstandstill(self, flag) Set the stand still indicator on or off. setaccdist(self, flag) Set the acceleration disturbance indicator on or off. setmagdist(self, flag) Set the magnetometer disturbance indicator on or off. A.2.8 showip() showip provides easy access to the IP the computer is using. 17
18 A.3 sensordata.jar The Java package sensordata.jar provides the functionality needed to communicate with the Sensor Fusion app and to integrate the measurements in real time into for instance Matlab. The documentation of the public interface can be found here: B Configure the Phone for eduroam To be able to stream measurement data from the Android device to the computers in the ISY computer labs, the phone needs to be connected to a LiU network, i.e., eduroam or Netlogon. We recomm using eduroam. To connect via wireless network to eduroam follow these instructions: Obtain a eduroam password; you can either reuse a previously generate one or generate a new one: Configure the phone to connect to eduroam. The different steps are illustrated in Figure Drag down the status bar at the top. 2. Click the configuration to bring out the settings menu. 3. Select the wifi settings. 4. Find eduroam in the list, and configure it with the following values: EAP method: PEAP Phase 2 authentification: MSCHAPV2 Identity: <your-liu-id>@liu.se Anonymous identity: <your-liu-id>@liu.se Password: <the eduroam password generated above> If your are trying to connect your own phone, things might look slightly different deping on the make of the device and the version of Android it is running. In this cases, the following link can be useful: 18
19 Figure 4: Illustration of the basic steps needed to configure the device for the eduroam network. 19
Sensor Fusion Mobile Platform Challenges and Future Directions Jim Steele VP of Engineering, Sensor Platforms, Inc.
Sensor Fusion Mobile Platform Challenges and Future Directions Jim Steele VP of Engineering, Sensor Platforms, Inc. Copyright Khronos Group 2012 Page 104 Copyright Khronos Group 2012 Page 105 How Many
Application Note IMU Visualization Software
ECE 480 Spring 2013 Team 8 Application Note IMU Visualization Software Name: Alex Mazzoni Date: 04/04/2013 Facilitator: Dr. Aviyente Abstract This application note covers how to use open source software
Metrics on SO(3) and Inverse Kinematics
Mathematical Foundations of Computer Graphics and Vision Metrics on SO(3) and Inverse Kinematics Luca Ballan Institute of Visual Computing Optimization on Manifolds Descent approach d is a ascent direction
Chapter 11 Equilibrium
11.1 The First Condition of Equilibrium The first condition of equilibrium deals with the forces that cause possible translations of a body. The simplest way to define the translational equilibrium of
An inertial haptic interface for robotic applications
An inertial haptic interface for robotic applications Students: Andrea Cirillo Pasquale Cirillo Advisor: Ing. Salvatore Pirozzi Altera Innovate Italy Design Contest 2012 Objective Build a Low Cost Interface
CS 4620 Practicum Programming Assignment 6 Animation
CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key
Effective Use of Android Sensors Based on Visualization of Sensor Information
, pp.299-308 http://dx.doi.org/10.14257/ijmue.2015.10.9.31 Effective Use of Android Sensors Based on Visualization of Sensor Information Young Jae Lee Faculty of Smartmedia, Jeonju University, 303 Cheonjam-ro,
521493S Computer Graphics. Exercise 2 & course schedule change
521493S Computer Graphics Exercise 2 & course schedule change Course Schedule Change Lecture from Wednesday 31th of March is moved to Tuesday 30th of March at 16-18 in TS128 Question 2.1 Given two nonparallel,
SOLID MECHANICS TUTORIAL MECHANISMS KINEMATICS - VELOCITY AND ACCELERATION DIAGRAMS
SOLID MECHANICS TUTORIAL MECHANISMS KINEMATICS - VELOCITY AND ACCELERATION DIAGRAMS This work covers elements of the syllabus for the Engineering Council exams C105 Mechanical and Structural Engineering
InfiniteInsight 6.5 sp4
End User Documentation Document Version: 1.0 2013-11-19 CUSTOMER InfiniteInsight 6.5 sp4 Toolkit User Guide Table of Contents Table of Contents About this Document 3 Common Steps 4 Selecting a Data Set...
Animation (-4, -2, 0 ) + (( 2, 6, -4 ) - (-4, -2, 0 ))*.75 = (-4, -2, 0 ) + ( 6, 8, -4)*.75 = (.5, 4, -3 ).
Animation A Series of Still Images We Call Animation Animation needs no explanation. We see it in movies and games. We grew up with it in cartoons. Some of the most popular, longest-running television
Using Excel (Microsoft Office 2007 Version) for Graphical Analysis of Data
Using Excel (Microsoft Office 2007 Version) for Graphical Analysis of Data Introduction In several upcoming labs, a primary goal will be to determine the mathematical relationship between two variable
Experiment #1, Analyze Data using Excel, Calculator and Graphs.
Physics 182 - Fall 2014 - Experiment #1 1 Experiment #1, Analyze Data using Excel, Calculator and Graphs. 1 Purpose (5 Points, Including Title. Points apply to your lab report.) Before we start measuring
Indoor Positioning using Sensor-fusion in Android Devices
September 2011 School of Health and Society Department Computer Science Embedded Systems Indoor Positioning using Sensor-fusion in Android Devices Authors Ubejd Shala Angel Rodriguez Instructor Fredrik
http://school-maths.com Gerrit Stols
For more info and downloads go to: http://school-maths.com Gerrit Stols Acknowledgements GeoGebra is dynamic mathematics open source (free) software for learning and teaching mathematics in schools. It
0 Introduction to Data Analysis Using an Excel Spreadsheet
Experiment 0 Introduction to Data Analysis Using an Excel Spreadsheet I. Purpose The purpose of this introductory lab is to teach you a few basic things about how to use an EXCEL 2010 spreadsheet to do
Spike Tech Tip: How to use your online, cloud-based tools for Spike
Spike Tech Tip: How to use your online, cloud-based tools for Spike September 30, 2015 Tech Tip: How to use your online, cloud-based tools for Spike ikegps introduced a beta version of its cloud-based
11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space
11 Vectors and the Geometry of Space 11.1 Vectors in the Plane Copyright Cengage Learning. All rights reserved. Copyright Cengage Learning. All rights reserved. 2 Objectives! Write the component form of
Please check www.milestonesys.com for updates to make sure you install the most recent version of our software.
Guide Contents Dear Milestone Customer, With the purchase of Milestone XProtect Central you have chosen a very powerful central monitoring solution, providing instant overview of any number of Milestone
Scicos is a Scilab toolbox included in the Scilab package. The Scicos editor can be opened by the scicos command
7 Getting Started 7.1 Construction of a Simple Diagram Scicos contains a graphical editor that can be used to construct block diagram models of dynamical systems. The blocks can come from various palettes
Signal Processing First Lab 01: Introduction to MATLAB. 3. Learn a little about advanced programming techniques for MATLAB, i.e., vectorization.
Signal Processing First Lab 01: Introduction to MATLAB Pre-Lab and Warm-Up: You should read at least the Pre-Lab and Warm-up sections of this lab assignment and go over all exercises in the Pre-Lab section
Magnetometer Realignment: Theory and Implementation
Magnetometer Realignment: heory and Implementation William Premerlani, Octoer 16, 011 Prolem A magnetometer that is separately mounted from its IMU partner needs to e carefully aligned with the IMU in
Technical Report. An introduction to inertial navigation. Oliver J. Woodman. Number 696. August 2007. Computer Laboratory
Technical Report UCAM-CL-TR-696 ISSN 1476-2986 Number 696 Computer Laboratory An introduction to inertial navigation Oliver J. Woodman August 27 15 JJ Thomson Avenue Cambridge CB3 FD United Kingdom phone
Enhancing the SNR of the Fiber Optic Rotation Sensor using the LMS Algorithm
1 Enhancing the SNR of the Fiber Optic Rotation Sensor using the LMS Algorithm Hani Mehrpouyan, Student Member, IEEE, Department of Electrical and Computer Engineering Queen s University, Kingston, Ontario,
Computing Euler angles from a rotation matrix
Computing Euler angles from a rotation matrix Gregory G. Slabaugh Abstract This document discusses a simple technique to find all possible Euler angles from a rotation matrix. Determination of Euler angles
Motion Sensing with mcube igyro Delivering New Experiences for Motion Gaming and Augmented Reality for Android Mobile Devices
Motion Sensing with mcube igyro Delivering New Experiences for Motion Gaming and Augmented Reality for Android Mobile Devices MAY 2014 Every high-end smartphone and tablet today contains three sensing
Power Electronics. Prof. K. Gopakumar. Centre for Electronics Design and Technology. Indian Institute of Science, Bangalore.
Power Electronics Prof. K. Gopakumar Centre for Electronics Design and Technology Indian Institute of Science, Bangalore Lecture - 1 Electric Drive Today, we will start with the topic on industrial drive
Essential Mathematics for Computer Graphics fast
John Vince Essential Mathematics for Computer Graphics fast Springer Contents 1. MATHEMATICS 1 Is mathematics difficult? 3 Who should read this book? 4 Aims and objectives of this book 4 Assumptions made
HP TouchPad Sensor Setup for Android
HP TouchPad Sensor Setup for Android Coordinate System The Android device framework uses a 3-axis coordinate system to express data values. For the following HP TouchPad sensors, the coordinate system
How To Control Gimbal
Tarot 2-Axis Brushless Gimbal for Gopro User Manual V1.0 1. Introduction Tarot T-2D gimbal is designed for the Gopro Hero3, which is widely used in film, television productions, advertising aerial photography,
7 6.2 Windows Vista / Windows 7. 10 8.2 IP Address Syntax. 12 9.2 Mobile Port. 13 10.2 Windows Vista / Windows 7. 17 13.2 Apply Rules To Your Device
TABLE OF CONTENTS ADDRESS CHECKLIST 3 INTRODUCTION 4 WHAT IS PORT FORWARDING? 4 PROCEDURE OVERVIEW 5 PHYSICAL CONNECTION 6 FIND YOUR ROUTER S LOCAL NETWORK IP ADDRESS 7 6.1 Windows XP 7 6.2 Windows Vista
Configuring an Android device to access Staff Wi-Fi and Email.
Information Services Revised 15.10.15 ISD Customer Services Configuring an Android device to access Staff Wi-Fi and Email. Screenshots provided from Google Nexus, Android version 4.2.1 Jelly Bean. Important
EE 402 RECITATION #13 REPORT
MIDDLE EAST TECHNICAL UNIVERSITY EE 402 RECITATION #13 REPORT LEAD-LAG COMPENSATOR DESIGN F. Kağan İPEK Utku KIRAN Ç. Berkan Şahin 5/16/2013 Contents INTRODUCTION... 3 MODELLING... 3 OBTAINING PTF of OPEN
Module 1: Sensor Data Acquisition and Processing in Android
Module 1: Sensor Data Acquisition and Processing in Android 1 Summary This module s goal is to familiarize students with acquiring data from sensors in Android, and processing it to filter noise and to
3D Tranformations. CS 4620 Lecture 6. Cornell CS4620 Fall 2013 Lecture 6. 2013 Steve Marschner (with previous instructors James/Bala)
3D Tranformations CS 4620 Lecture 6 1 Translation 2 Translation 2 Translation 2 Translation 2 Scaling 3 Scaling 3 Scaling 3 Scaling 3 Rotation about z axis 4 Rotation about z axis 4 Rotation about x axis
t Tests in Excel The Excel Statistical Master By Mark Harmon Copyright 2011 Mark Harmon
t-tests in Excel By Mark Harmon Copyright 2011 Mark Harmon No part of this publication may be reproduced or distributed without the express permission of the author. [email protected] www.excelmasterseries.com
SE05: Getting Started with Cognex DataMan Bar Code Readers - Hands On Lab Werner Solution Expo April 8 & 9
SE05: Getting Started with Cognex DataMan Bar Code Readers - Hands On Lab Werner Solution Expo April 8 & 9 Learning Goals: At the end of this lab, the student should have basic familiarity with the DataMan
DNS (Domain Name System) is the system & protocol that translates domain names to IP addresses.
Lab Exercise DNS Objective DNS (Domain Name System) is the system & protocol that translates domain names to IP addresses. Step 1: Analyse the supplied DNS Trace Here we examine the supplied trace of a
Scientific Graphing in Excel 2010
Scientific Graphing in Excel 2010 When you start Excel, you will see the screen below. Various parts of the display are labelled in red, with arrows, to define the terms used in the remainder of this overview.
CHAPTER 5 PREDICTIVE MODELING STUDIES TO DETERMINE THE CONVEYING VELOCITY OF PARTS ON VIBRATORY FEEDER
93 CHAPTER 5 PREDICTIVE MODELING STUDIES TO DETERMINE THE CONVEYING VELOCITY OF PARTS ON VIBRATORY FEEDER 5.1 INTRODUCTION The development of an active trap based feeder for handling brakeliners was discussed
MTi and MTx User Manual and Technical Documentation
MTi and MTx User Manual and Technical Documentation Document MT0100P Revision G, March 2, 2006 Xsens Technologies B.V. Capitool 50 phone +31-(0)53-4836444 P.O. Box 545 fax +31-(0)53-4836445 7500 AM Enschede
Mini-project in TSRT04: Cell Phone Coverage
Mini-project in TSRT04: Cell hone Coverage 19 August 2015 1 roblem Formulation According to the study Swedes and Internet 2013 (Stiftelsen för Internetinfrastruktur), 99% of all Swedes in the age 12-45
animation animation shape specification as a function of time
animation animation shape specification as a function of time animation representation many ways to represent changes with time intent artistic motion physically-plausible motion efficiency control typically
E0-245: ASP. Lecture 16+17: Physical Sensors. Dipanjan Gope
E0-245: ASP Lecture 16+17: Physical Sensors Module 2: Android Sensor Applications Location Sensors - Theory of location sensing - Package android.location Physical Sensors - Sensor Manager - Accelerometer
Basic Principles of Inertial Navigation. Seminar on inertial navigation systems Tampere University of Technology
Basic Principles of Inertial Navigation Seminar on inertial navigation systems Tampere University of Technology 1 The five basic forms of navigation Pilotage, which essentially relies on recognizing landmarks
Sensors and Cellphones
Sensors and Cellphones What is a sensor? A converter that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument What are some sensors we use every
Section 1.1. Introduction to R n
The Calculus of Functions of Several Variables Section. Introduction to R n Calculus is the study of functional relationships and how related quantities change with each other. In your first exposure to
Technology Services Group Procedures. IH Anywhere guide. 0 P a g e
VDI Pilot Technology Services Group Procedures IH Anywhere guide 0 P a g e Installation Disable Apple Security Table of Contents IH Anywhere for Apple OSX (MAC)... 2 1. Installation... 2 Disable Apple
Embedded Systems Design Course Applying the mbed microcontroller
Embedded Systems Design Course Applying the mbed microcontroller Serial communications with SPI These course notes are written by R.Toulson (Anglia Ruskin University) and T.Wilmshurst (University of Derby).
Structural Health Monitoring Tools (SHMTools)
Structural Health Monitoring Tools (SHMTools) Getting Started LANL/UCSD Engineering Institute LA-CC-14-046 c Copyright 2014, Los Alamos National Security, LLC All rights reserved. May 30, 2014 Contents
GeoGebra. 10 lessons. Gerrit Stols
GeoGebra in 10 lessons Gerrit Stols Acknowledgements GeoGebra is dynamic mathematics open source (free) software for learning and teaching mathematics in schools. It was developed by Markus Hohenwarter
Solutions to old Exam 1 problems
Solutions to old Exam 1 problems Hi students! I am putting this old version of my review for the first midterm review, place and time to be announced. Check for updates on the web site as to which sections
CONTRIBUTIONS TO THE AUTOMATIC CONTROL OF AERIAL VEHICLES
1 / 23 CONTRIBUTIONS TO THE AUTOMATIC CONTROL OF AERIAL VEHICLES MINH DUC HUA 1 1 INRIA Sophia Antipolis, AROBAS team I3S-CNRS Sophia Antipolis, CONDOR team Project ANR SCUAV Supervisors: Pascal MORIN,
Plots, Curve-Fitting, and Data Modeling in Microsoft Excel
Plots, Curve-Fitting, and Data Modeling in Microsoft Excel This handout offers some tips on making nice plots of data collected in your lab experiments, as well as instruction on how to use the built-in
Quickstart for Desktop Version
Quickstart for Desktop Version What is GeoGebra? Dynamic Mathematics Software in one easy-to-use package For learning and teaching at all levels of education Joins interactive 2D and 3D geometry, algebra,
Autodesk Fusion 360: Assemblies. Overview
Overview In this module you will learn how different components can be put together to create an assembly. We will use several tools in Fusion 360 to make sure that these assemblies are constrained appropriately
The Power Loader GUI
The Power Loader GUI (212) 405.1010 [email protected] Follow: @1010data www.1010data.com The Power Loader GUI Contents 2 Contents Pre-Load To-Do List... 3 Login to Power Loader... 4 Upload Data Files to
Phone Network Gateway Android Application. User Guide
Phone Network Gateway Android Application For Smartphones, PDAs and other hand-held devices which use Android 2.2 (or higher) Operating System User Guide Feb 2015 Page 1 of 16 Contents 1. Installation...
Review of Fundamental Mathematics
Review of Fundamental Mathematics As explained in the Preface and in Chapter 1 of your textbook, managerial economics applies microeconomic theory to business decision making. The decision-making tools
NETGEAR genie Apps. User Manual. 350 East Plumeria Drive San Jose, CA 95134 USA. August 2012 202-10933-04 v1.0
User Manual 350 East Plumeria Drive San Jose, CA 95134 USA August 2012 202-10933-04 v1.0 Support Thank you for choosing NETGEAR. To register your product, get the latest product updates, get support online,
Vectors 2. The METRIC Project, Imperial College. Imperial College of Science Technology and Medicine, 1996.
Vectors 2 The METRIC Project, Imperial College. Imperial College of Science Technology and Medicine, 1996. Launch Mathematica. Type
CHAPTER 2: USING THE CAMERA WITH THE APP
TABLE OF CONTENTS OVERVIEW... 1 Front of your camera... 1 Back of your camera... 2 ACCESSORIES... 3 CHAPTER 1: Navigating the Mobile Application... 4 Device List: How to Use this Page... 4 My Messages:
Mobile Iron User Guide
2015 Mobile Iron User Guide Information technology Sparrow Health System 9/1/2015 Contents...0 Introduction...2 Changes to your Mobile Device...2 Self Service Portal...3 Registering your new device...4
Universal Simple Control, USC-1
Universal Simple Control, USC-1 Data and Event Logging with the USB Flash Drive DATA-PAK The USC-1 universal simple voltage regulator control uses a flash drive to store data. Then a propriety Data and
Tracking devices. Important features. 6 Degrees of freedom. Mechanical devices. Types. Virtual Reality Technology and Programming
Tracking devices Virtual Reality Technology and Programming TNM053: Lecture 4: Tracking and I/O devices Referred to head-tracking many times Needed to get good stereo effect with parallax Essential for
MTw Development Kit WIRELESS MOTION TRACKERS
MTw Development Kit WIRELESS MOTION TRACKERS MTw Development Kit incorporates multiple wireless motion trackers (MTw) with the Awinda Station, dedicated software and a set of full body-click-in straps.
Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.
ECE1778 Project Report Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.ca Executive Summary The goal of this project
ASEN 3112 - Structures. MDOF Dynamic Systems. ASEN 3112 Lecture 1 Slide 1
19 MDOF Dynamic Systems ASEN 3112 Lecture 1 Slide 1 A Two-DOF Mass-Spring-Dashpot Dynamic System Consider the lumped-parameter, mass-spring-dashpot dynamic system shown in the Figure. It has two point
Solar Tracking Controller
Solar Tracking Controller User Guide The solar tracking controller is an autonomous unit which, once configured, requires minimal interaction. The final tracking precision is largely dependent upon the
Beginner s Matlab Tutorial
Christopher Lum [email protected] Introduction Beginner s Matlab Tutorial This document is designed to act as a tutorial for an individual who has had no prior experience with Matlab. For any questions
ME 115(b): Solution to Homework #1
ME 115(b): Solution to Homework #1 Solution to Problem #1: To construct the hybrid Jacobian for a manipulator, you could either construct the body Jacobian, JST b, and then use the body-to-hybrid velocity
Access Control and Audit Trail Software
Varian, Inc. 2700 Mitchell Drive Walnut Creek, CA 94598-1675/USA Access Control and Audit Trail Software Operation Manual Varian, Inc. 2002 03-914941-00:3 Table of Contents Introduction... 1 Access Control
VEHICLE TRACKING USING ACOUSTIC AND VIDEO SENSORS
VEHICLE TRACKING USING ACOUSTIC AND VIDEO SENSORS Aswin C Sankaranayanan, Qinfen Zheng, Rama Chellappa University of Maryland College Park, MD - 277 {aswch, qinfen, rama}@cfar.umd.edu Volkan Cevher, James
Lab 7: Rotational Motion
Lab 7: Rotational Motion Equipment: DataStudio, rotary motion sensor mounted on 80 cm rod and heavy duty bench clamp (PASCO ME-9472), string with loop at one end and small white bead at the other end (125
Software for Agilent Technologies Vector Series Network Analyzers
Using the Software Software for Agilent Technologies Vector Series Network Analyzers Software Overview The IntuiLink Vector Series Network Analyzer (VNA) software offers a set of connectivity tools that
SLIM Estimate and Microsoft Project Best Practices
SLIM Estimate and Microsoft Project Best Practices There are many activities to perform during the life of a software development project. No single tool provides all of the functionality or data that
Microsoft Excel Tutorial
Microsoft Excel Tutorial by Dr. James E. Parks Department of Physics and Astronomy 401 Nielsen Physics Building The University of Tennessee Knoxville, Tennessee 37996-1200 Copyright August, 2000 by James
Lines & Planes. Packages: linalg, plots. Commands: evalm, spacecurve, plot3d, display, solve, implicitplot, dotprod, seq, implicitplot3d.
Lines & Planes Introduction and Goals: This lab is simply to give you some practice with plotting straight lines and planes and how to do some basic problem solving with them. So the exercises will be
IIS, FTP Server and Windows
IIS, FTP Server and Windows The Objective: To setup, configure and test FTP server. Requirement: Any version of the Windows 2000 Server. FTP Windows s component. Internet Information Services, IIS. Steps:
AP1 Oscillations. 1. Which of the following statements about a spring-block oscillator in simple harmonic motion about its equilibrium point is false?
1. Which of the following statements about a spring-block oscillator in simple harmonic motion about its equilibrium point is false? (A) The displacement is directly related to the acceleration. (B) The
Apple - Purchasing and Deploying New Apps
Apple - Purchasing and Deploying New Apps These notes describe how you purchase and deploy apps to Apple Devices following the process below: Pages 1 & 2 Purchase the required Volume Licenses Action by
DAKTON µ BOX MANUAL µbox User Manual 1
µbo User Manual 1 DAKTON µ BO: compact data logger and sensor µ BO is a sensor and a data logger together. It records data processed by DAKTON DASHBOARD with the addition of lateral and longitudinal accelerations.
Component Ordering in Independent Component Analysis Based on Data Power
Component Ordering in Independent Component Analysis Based on Data Power Anne Hendrikse Raymond Veldhuis University of Twente University of Twente Fac. EEMCS, Signals and Systems Group Fac. EEMCS, Signals
FREE FALL. Introduction. Reference Young and Freedman, University Physics, 12 th Edition: Chapter 2, section 2.5
Physics 161 FREE FALL Introduction This experiment is designed to study the motion of an object that is accelerated by the force of gravity. It also serves as an introduction to the data analysis capabilities
CATIA V5 Tutorials. Mechanism Design & Animation. Release 18. Nader G. Zamani. University of Windsor. Jonathan M. Weaver. University of Detroit Mercy
CATIA V5 Tutorials Mechanism Design & Animation Release 18 Nader G. Zamani University of Windsor Jonathan M. Weaver University of Detroit Mercy SDC PUBLICATIONS Schroff Development Corporation www.schroff.com
Rotation: Moment of Inertia and Torque
Rotation: Moment of Inertia and Torque Every time we push a door open or tighten a bolt using a wrench, we apply a force that results in a rotational motion about a fixed axis. Through experience we learn
Orbital Mechanics. Angular Momentum
Orbital Mechanics The objects that orbit earth have only a few forces acting on them, the largest being the gravitational pull from the earth. The trajectories that satellites or rockets follow are largely
Solar Shading Android Application v6.0. User s Manual
Solar Shading Android Application v6.0 User s Manual Comoving Magnetics Revision: April 21, 2014 2014 Comoving Magnetics. All rights reserved. Preface... 3 Part 1: Shading Analysis... 4 How to Start a
Classroom Tips and Techniques: The Student Precalculus Package - Commands and Tutors. Content of the Precalculus Subpackage
Classroom Tips and Techniques: The Student Precalculus Package - Commands and Tutors Robert J. Lopez Emeritus Professor of Mathematics and Maple Fellow Maplesoft This article provides a systematic exposition
Mathieu St-Pierre. Denis Gingras Dr. Ing.
Comparison between the unscented Kalman filter and the extended Kalman filter for the position estimation module of an integrated navigation information system Mathieu St-Pierre Electrical engineering
1. Introduction 2. 2. What is Axis Camera Station? 3. 3. What is Viewer for Axis Camera Station? 4. 4. AXIS Camera Station Service Control 5
Table of Contents 1. Introduction 2 2. What is Axis Camera Station? 3 3. What is Viewer for Axis Camera Station? 4 4. AXIS Camera Station Service Control 5 5. Configuring Ports 7 5.1 Creating New Inbound
Tegra Android Accelerometer Whitepaper
Tegra Android Accelerometer Whitepaper Version 5-1 - Contents INTRODUCTION 3 COORDINATE SPACE GLOSSARY 4 ACCELEROMETER CANONICAL AXES 6 WORKING WITH ACCELEROMETER DATA 7 POWER CONSERVATION 10 SUPPORTING
Lecture L3 - Vectors, Matrices and Coordinate Transformations
S. Widnall 16.07 Dynamics Fall 2009 Lecture notes based on J. Peraire Version 2.0 Lecture L3 - Vectors, Matrices and Coordinate Transformations By using vectors and defining appropriate operations between
Understanding and Applying Kalman Filtering
Understanding and Applying Kalman Filtering Lindsay Kleeman Department of Electrical and Computer Systems Engineering Monash University, Clayton 1 Introduction Objectives: 1. Provide a basic understanding
Calibration and Linear Regression Analysis: A Self-Guided Tutorial
Calibration and Linear Regression Analysis: A Self-Guided Tutorial Part 1 Instrumental Analysis with Excel: The Basics CHM314 Instrumental Analysis Department of Chemistry, University of Toronto Dr. D.
Accounting Manager. User Guide A31003-P1030-U114-2-7619
Accounting Manager User Guide A31003-P1030-U114-2-7619 Our Quality and Environmental Management Systems are implemented according to the requirements of the ISO9001 and ISO14001 standards and are certified
SwannEye HD Plug & Play Wi-Fi Security Camera Quick Start Guide Welcome! Lets get started.
EN SwannEye HD Plug & Play Wi-Fi Security Camera Quick Start Guide Welcome! Lets get started. QHADS453080414E Swann 2014 1 1 Introduction Congratulations on your purchase of this SwannEye HD Plug & Play
