Orientation Capture of a Walker s Leg Using Inexpensive Inertial Sensors with Optimized Complementary Filter Design

Similar documents
Estimation of Altitude and Vertical Velocity for Multirotor Aerial Vehicle using Kalman Filter

Using SensorTag as a Low-Cost Sensor Array for AutoCAD

navigation Isaac Skog

Testing the Possibilities of Using IMUs with Different Types of Movements

Electronics Design Contest 2016 Wearable Controller VLSI Category Participant guidance

EXPERIMENTAL COMPARISON BETWEEN MAHONEY AND COMPLEMENTARY SENSOR FUSION ALGORITHM FOR ATTITUDE DETERMINATION BY RAW SENSOR DATA OF XSENS IMU ON BUOY

Inertial Navigation Static Calibration

Calibration of Inertial Measurement Units Using Pendulum Motion

Navigational Aids 1 st Semester/2007/TF 7:30 PM -9:00 PM

Quaternion Kalman Filter Design Based on MEMS Sensors

ROTATING IMU FOR PEDESTRIAN NAVIGATION

Inertial Navigation Systems

Dynamic Modelling for MEMS-IMU/Magnetometer Integrated Attitude and Heading Reference System

DE2.3 Electronics 2. Lab Experiment 3: IMU and OLED Display

Selection and Integration of Sensors Alex Spitzer 11/23/14

Investigation: How is motion recorded?

CHARACTERIZATION AND CALIBRATION OF MEMS INERTIAL MEASUREMENT UNITS

ADVANTAGES OF INS CONTROL SYSTEMS

Lecture 13 Visual Inertial Fusion

Review Paper: Inertial Measurement

DYNAMIC POSITIONING CONFERENCE September 16-17, Sensors

Satellite/Inertial Navigation and Positioning System (SINAPS)

Autonomous Navigation for Flying Robots

Motion Capture & Simulation

IMU and Encoders. Team project Robocon 2016

Measurement of Deformations by MEMS Arrays, Verified at Sub-millimetre Level Using Robotic Total Stations

Indoor navigation using smartphones. Chris Hide IESSG, University of Nottingham, UK

Satellite and Inertial Navigation and Positioning System

INTEGRATED TECH FOR INDUSTRIAL POSITIONING

VSEW_mk2-8g. Data Sheet. Dec Bruno Paillard

Control of a quadrotor manipulating a beam (2 projects available)

Strapdown Inertial Navigation Technology, Second Edition D. H. Titterton J. L. Weston

MEMS technology quality requirements as applied to multibeam echosounder. Jerzy DEMKOWICZ, Krzysztof BIKONIS

This was written by a designer of inertial guidance machines, & is correct. **********************************************************************

Game Application Using Orientation Sensor

Appendix E: Software

R&D Centre: GT Silicon Pvt Ltd 171, MIG, Awadhpuri, Block B, Lakhanpur, Kanpur (UP), India, PIN

Camera Drones Lecture 2 Control and Sensors

Strapdown Inertial Navigation Technology

Tracking of Human Arm Based on MEMS Sensors

Design and Development of Control System for Three- Dimensional Wireless Human-Computer

Low-Cost IMU Implementation via Sensor Fusion Algorithms in the. Arduino Environment

LPMS-B Reference Manual

TEST RESULTS OF A GPS/INERTIAL NAVIGATION SYSTEM USING A LOW COST MEMS IMU

Performance Evaluation of INS Based MEMES Inertial Measurement Unit

The Performance Evaluation of the Integration of Inertial Navigation System and Global Navigation Satellite System with Analytic Constraints

Inertial Measurement Units I!

E80. Experimental Engineering. Lecture 9 Inertial Measurement

To Measure a Constant Velocity. Enter.

EKF Localization and EKF SLAM incorporating prior information

3D Motion Tracking by Inertial and Magnetic sensors with or without GPS

Simplified Orientation Determination in Ski Jumping using Inertial Sensor Data

LPMS-B Reference Manual

Design and Implementation of Somatosensory Teaching Pendant System Based on Android Platform

Electronic Letters on Science & Engineering 11(2) (2015) Available online at

DriftLess Technology to improve inertial sensors

Testing Approaches for Characterization and Selection of MEMS Inertial Sensors 2016, 2016, ACUTRONIC 1

FAB verses tradition camera-based motion capture systems

An Intro to Gyros. FTC Team #6832. Science and Engineering Magnet - Dallas ISD

CENG4480 Embedded System Development and Applications The Chinese University of Hong Kong Laboratory 6: IMU (Inertial Measurement Unit)

RESEARCH ON THE APPLICATION OF STABLE ATTITUDE ALGORITHM BASED ON DATA FUSION OF MULTI- DIMENSIONAL MEMS INERTIAL SENSORS

Camera and Inertial Sensor Fusion

Measurements of Pedestrian s load Using Smartphones

COMPARISON OF TWO STATIC CALIBRATION METHODS OF AN INERTIAL MEASUREMENT UNIT

XDK HARDWARE OVERVIEW

MULTI-SENSOR DATA FUSION FOR LAND VEHICLE ATTITUDE ESTIMATION USING A FUZZY EXPERT SYSTEM

Computer Animation and Visualisation. Lecture 3. Motion capture and physically-based animation of characters

Gravity compensation in accelerometer measurements for robot navigation on inclined surfaces

EE 570: Location and Navigation: Theory & Practice

Gesture Recognition Using 3D MEMS Accelerometer

Low Power Gesture Recognition

Me 3-Axis Accelerometer and Gyro Sensor

A sliding walk method for humanoid robots using ZMP feedback control

Unscented Kalman Filtering for Attitude Determination Using MEMS Sensors

Use of Image aided Navigation for UAV Navigation and Target Geolocation in Urban and GPS denied Environments

GNSS-aided INS for land vehicle positioning and navigation

Exam in DD2426 Robotics and Autonomous Systems

Vector Decomposition

Encoder applications. I Most common use case: Combination with motors

DEVELOPMENT OF A PEDESTRIAN INDOOR NAVIGATION SYSTEM BASED ON MULTI-SENSOR FUSION AND FUZZY LOGIC ESTIMATION ALGORITHMS

Computationally Efficient Visual-inertial Sensor Fusion for GPS-denied Navigation on a Small Quadrotor

REAL-TIME human motion tracking has many applications

ALGORITHMS FOR DETECTING DISORDERS OF THE BLDC MOTOR WITH DIRECT CONTROL

Error Simulation and Multi-Sensor Data Fusion

RECOGNITION OF DRIVING MANEUVERS BASED ACCELEROMETER SENSOR

CANAL FOLLOWING USING AR DRONE IN SIMULATION

Research and Literature Review on Developing Motion Capture System for Analyzing Athletes Action

Traffic Flow Prediction Based on the location of Big Data. Xijun Zhang, Zhanting Yuan

Exterior Orientation Parameters

Design and Development of Unmanned Tilt T-Tri Rotor Aerial Vehicle

Strapdown system technology

Modeling of Humanoid Systems Using Deductive Approach

Strapdown inertial navigation technology

Analysis of the Motion Control Methods for Stratospheric Balloon-Borne Gondola Platform

Introduction to Inertial Navigation (INS tutorial short)

Simplified Walking: A New Way to Generate Flexible Biped Patterns

Tracking driver actions and guiding phone usage for safer driving. Hongyu Li Jan 25, 2018

Using the MPU Inertia Measurement Systems Gyroscopes & Accelerometers Sensor fusion I2C MPU-6050

An Interactive Software Environment for Gait Generation and Control Design of Sony Legged Robots

Ronin Release Notes. What s New?

Transcription:

Orientation Capture of a Walker s Leg Using Inexpensive Inertial Sensors with Optimized Complementary Filter Design Sebastian Andersson School of Software Engineering Tongji University Shanghai, China Liu Yan School of Software Engineering Tongji University Shanghai, China Abstract Accelerometers and gyroscope are often referred to as inertial sensors. They detect movement and are used for motion tracking systems in many fields. In recent years they have become much smaller, lighter and cheaper which makes them attractive for use in consumer electronics. The goal of this research is to use all these advantages to create a cheap, low cost and accurate motion tracking system. The system that will be developed is using two pairs of accelerometer + gyroscope sensors which communicates with an ios device using BLE. The sensors are attached to a persons leg to capture the orientation of the leg while walking or running. Studying the movements of a persons leg can be useful regarding both performance and health aspects. To create the system, usage of inertial sensors and how to combine their data using the complementary filter have been studied. Further, several experiments were made to optimize the filter design for this kind of movement. The results shows how the orientation estimation differs in accuracy depending on different values of how the filter is designed. However, by using the right values, a fairly accurate orientation of the leg can be estimated which is proved by the simple visualization of the ios application. inertial measurement unit (IMU) [4-6]. The improvements of inertial sensor technologies opens up a lot of possibilities for developers to create cheap consumer electronics in ways that was not possible before. It could be anything from tracking the movement of a specific body part to a completely different device or vehicle. One interesting example is to capture the orientation of the legs while walking or running. This can be done for many different reasons. One might want to study the movement of the legs to improve the running technique which can increase the performance and avoid injuries [7]. This paper is considering orientation capturing of the leg while walking or running by using sensors in the CC2541 SensorTag. To make the orientation estimation as accurate as possible, data is combined from both accelerometer and gyroscope sensors by using a complementary filter. Experiments are then made to optimize the accuracy of the filter by having a test subject walking while wearing the sensors. Keywords Motion capture, Complementary Filter, Inertial sensors, Bluetooth Low Energy, ios. I. INTRODUCTION Motion tracking systems with inertial sensors have been used for many years in fields that includes military, health care, navigation and flight technologies [1]. But it is just in the last decade that the market of inertial sensors in consumer electronics has rapidly increased [2]. The main reason for this is advances in Micro-Electro-Mechanical-System (MEMS) technology which makes the sensors small, light, low cost and with low power consumption [2,3]. Together with Bluetooth Low Energy (BLE, Bluetooth Smart), which also have reduced power consumption compared to the classic Bluetooth, it makes the sensors very convenient to wear on the body for applications in sports, fitness and health. One product that use the advantages of both these technologies is the CC2541 SensorTag by TI. With the CC2541 SensorTag the development process for smart phone applications that uses inertial sensors gets a lot simpler since no hardware implementation is required. Inertial sensors includes accelerometers and gyroscopes. For a successful motion tracking system, data from both these sensors is combined and thereby creating an The rest of the paper is organized in the following way: Section II gives an overview of the application and details about the setup of the experiments, Section III introduces usage of inertial sensors while Section IV introduces the complementary filter, the procedure of how to optimize the filter for this application is described in Section V and finally, the result and conclusion is presented in Sections VI and VII respectively. II. EXPERIMENTAL ENVIRONMENT Two CC2541 SensorTags and an ios device is used for implementation of the orientation tracking system. Each SensorTag represents one IMU and they are attached to the lower leg and the upper leg respectively to get an orientation estimation of the whole leg. Only one angle is being tracked as it is the most interesting while walking or running, this is the angle of the leg straight forward or backward of the walker. In all tests the test subject that is wearing the sensors starts from a standing position with the legs 90 relative to the ground. The subject then starts walking in a speed of 4km/h for around 1 minute and then ends the test by stop walking and goes back to the starting position. 177 P a g e

Fig. 1: Placement of the sensors B. Accelerometer An accelerometer measures the acceleration in G forces. Similar to the gyroscope, three accelerometers placed orthogonal to each other is needed to measure acceleration in a 3D space. In a constant speed or in a resting state the only output will be gravity, which is 1G straight down towards the earth. The gravity can be used to calculate the angle of the accelerometer using trigonometry. In Objective-C the function atan2f can be used which is the arctangent function with two arguments. A. TI CC2541 SensorTag The CC2541 SensorTag is a device which includes several commonly used sensors, including accelerometer and gyroscope, on one single board and uses Bluetooth Low Energy for communication. It is specially targeted for smart phone application development since a lot of configurations can be done over the GATT 1 server which is already included in the SensorTag s firmware. B. ios application The responsibilities of the ios device is to connect, configure, read the sensor values from the SensorTags and, most important, make all calculations of the orientation estimation. Connecting, configuring and reading the SensorTag is done using the following steps: 1) Scan and discover the SensorTag 2) Establish a connection 3) Discover the available services and characteristics 4) Write to characteristic value 5) Read from characteristic value In ios this is done by using the CBCentralManagerDelegate and CBPeripheralDelegate protocols. These protocols makes step 1-3 very straight forward. Step 4 activates and configures the wanted sensors to suit with the application needs. When that is done the SensorTag will advertise at the specified intervals with data from the active sensors. Calculations of the angle estimation is done after each time a new value is updated from a characteristic. A. Gyroscope III. INERTIAL SENSORS Gyroscope sensors measures the velocity of angular movement around one axis. The angle of a rotating gyroscope can be obtained by integrating this data. Of course, since there will be a time interval between each reading from the sensor the integration will not be 100% accurate and as time goes the angle estimation will be less and less accurate. This problem is referred to as drift which is a big problem with inertial sensors [8]. To measure the angular movement in a 3D space it is required to use three different gyroscopes placed orthogonal to each other. In this experiment only one gyroscope is used since it is only the angle in one direction that is of interest. 1 Framework for transporting data between two Bluetooth Low Energy devices zangle = atan2f(x, y) 180.0/M P I; The above code calculates the angle around the accelerometer z axis. X and y is the acceleration measured on the respective axis. The resulted angle from the atan2f function is in radians so it needs to be converted to degrees. Unlike the gyroscopes drift problem when it comes to angle estimation, the accelerometer angle calculation is very accurate as long as it is not exposed to any kind of acceleration other than gravity. In this experiment a 2D accelerometer is used to measure the one angle that is interesting. Table I shows the update frequency as well as the range of which each sensor is operable. There are some limitations TABLE I: Sensor details Updates Range Accelerometer 100ms ±8G Gyroscope 100ms ±1000 /s in the range of the gyroscope. For the usage within this paper (walking, slow running) the range is enough but faster movements will need a gyroscope with higher range. Another limitation is, of course, the updates. It is obvious that faster updates will give better results. The SensorTag doesn t allow a lower update frequency to be set over the GATT server and the reason for this is to keep the power consumption at an acceptable level. IV. COMPLEMENTARY FILTER Basically, there are two different kinds of filters that have become very popular to use when combining accelerometer and gyroscope data for angle calculation. The more complex one is the Kalman filter. It was first introduced in 1960 by R.E. Kalman [9]. It uses a set of complex mathematical equations to estimate the past, present and future state of a process in a way that minimizes the errors [10]. The other one is the complementary filter. It is much simpler to understand and contains a lot less computations and is therefore much easier to modify and optimize for a specific problem. In its most basic form it takes integrated data from the gyroscope and combines it with data from the accelerometer [11,12] in the following way: angle = (1 ii) (angle+gyrodata dt)+ii accdata (1) Where gyrodata is the angular movement in /s, dt is the time passed since the last reading and accdata is the angle calculated by the accelerometer. The variable ii is a value 178 P a g e

between 0 and 1 and will directly decide the influence of the different sensors. Bigger ii will result in an angle where the accelerometer has more influence. How to choose the best possible ii depends a lot of the kind of movement that the IMU will be used for. As mentioned before, the gyroscope is good for reading fast movements during a short time but will drift over time and the accelerometer is very reliable when the speed is constant. How can these principles be applied to optimize the filter for a walking movement? V. OPTIMIZING THE FILTER The basic idea for the optimization is simple: use data from the two different sensors when it is the most reliable. This means using gyroscope data when the movement is big and many disturbing forces is acting on the accelerometer and using accelerometer data as much as possible when the sensor is in a resting state to correct the drift caused by the gyroscope. To do this we must know when and how much (varying values of ii) to use the data according to when it is the most reliable. Figure 2 shows the angle estimation of both sensors alone, without combining any data and with no filters. The angle from the gyroscope is very smooth and behaves in a logical way for a walking motion. But one can see that already after 10 seconds the angle has drifted away and after 48 seconds the angle has drifted around 60. The angle from the accelerometer on the other hand is very noisy during a lot of movement but when standing still again after 48 seconds the angle is back to where it started, no drift at all. Fig. 3: Improved angle estimation of accelerometer (y axis: angle, x axis: seconds) Figure 3 shows the result of this method. The improvements from figure 2 where no filtering of the accelerometer data was done is very clear. The spikes are almost gone, the data is less noisy and the angle estimation behaves more logical (more like the gyroscope in figure 2). After knowing how to use the accelerometer data the next step is to find out how much of the data to use. If the accelerometer angle estimation have too much influence there will be too much disturbance in the filtered angle. If it has too little influence the angle will start to drift away with the gyroscope angle estimation. Experiments were made with different values of ii (0.5, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35) and the result is presented in the next section. VI. RESULT The figures 4 to 10 presents the resulted angles of the complementary filter discussed in previous sections using different values of ii and with the accelerometer filter. The data is extracted from the same test session, starting from the 22:nd second. Fig. 2: Angle estimation from gyroscope (green) and accelerometer (red) (y axis: angle, x axis: seconds) First, the accelerometer data alone can be filtered to get Fig. 4: ii=0.05 (y axis: angle, x axis: seconds) rid of some noise during movement. We know now that angle estimation by the accelerometer is almost 100% accurate when gravity is the only force that is acting on it. This means that in a position where one axis is directed straight to earth that axis will measure an acceleration of 1G and the other two axes 0G which makes the total acceleration 1G. If the device is tilted 45, two of the axes will measure an acceleration of 0.75G and the third 0G which makes the total 1.5G. So, when gravity is the only force the total acceleration must measure between 1G and 1.5G and that is when the accelerometer angle should have the most influence. This can be programmed as shown below. totalacc = fabsf(x) + fabsf(y) + fabsf(z); Fig. 5: ii=0.1 (y axis: angle, x axis: seconds) if totalacc 1.0 && totalacc 1.5 then {Calculations of the desired angles} {according to the algorithm} {presented in section IV} If ii is too small like in figure 4 where it is 0.05 we can end if see that the angle is drifting away with the gyroscope. On the 179 P a g e

Fig. 6: ii=0.15 (y axis: angle, x axis: seconds) Fig. 10: ii=0.35 (y axis: angle, x axis: seconds) has been taken of the visualization, starting when the foot is about to leave the ground and ends when it is making contact again. The data is the same as in the previous figures of the complementary filter output and the filter is using ii = 0.15. Fig. 7: ii=0.2 (y axis: angle, x axis: seconds) (a) 36.1s (b) 36.4s (c) 36.7s Fig. 8: ii=0.25 (y axis: angle, x axis: seconds) Fig. 11: (a) The leg is behind the body and the foot is just about to get released from the ground. (b) The leg is in the middle of the forward swing. No contact with the ground. (c) The forward swing is complete and the foot is just about to make contact with the ground again. Fig. 9: ii=0.3 (y axis: angle, x axis: seconds) other hand, we can also see the effects of ii being too big as in figure 10 where it is 0.35. The angle doesn t drift at all but the angle estimation when movement is occurring is way too noisy because of the accelerometers big influence. When ii = 0.1 there is still some drift on the angle but at ii >= 0.15 there is not much difference when considering the drift problem. From ii = 0.2 and up we mostly just gain noise and making the angle estimation less and less smooth. The ios application includes a simple visualization of a leg which is wearing the sensors. In figure 11, three samples VII. CONCLUSION A system with a pair of IMU s that s connected with an ios device have been developed for angle estimation of a persons leg while walking. Optimizations of the sensor data was applied considering the specific application. The complementary filter has been studied and with help of several experiments we can see how the performance of the filter changes by adjusting how much of each sensor s data is used. The result shows how different values of ii in the filter affects the outcome of the angle estimation. For the best performance we end up with ii around 0.15-0.2, depending a little on what factor is most important: no drifting or making the angle smoother while moving. After 36 seconds of walking, the system is still capturing the angles of the leg which is shown by the simple leg visualization in figure 11. The filter can be improved even further by analyzing more accurately when each sensor is reliable and from there we can make ii change with the reliability. For example, if at one point the accelerometer data is 80% reliable then 80% of that data should be used but at another point it is calculated to be 5% reliable then only that much is used. 180 P a g e

REFERENCES [1] Oliver J. Woodman, An Introduction to Inertial Navigation. Technical Report, University of Cambridge, 2007 [2] K. Maenaka, MEMS inertial sensors and their applications. 5th International Conference on Networked Sensing Systems - INSS, 2008, 71-73, doi: 10.1109/INSS.2008.4610859 [3] N. Yazdi, F Ayazi and K. Najafi, Michromachined Inertial Sensors. Proc. of the IEEE, 1998, vol. 86, 1640-1659. [4] D. Hazry, M. Sofian and A. Zul Azfar, Study of Inertial Measurement Unit Sensor. Proc. of the International Conference on Man-Machine Systems, 2009, doi: http://hdl.handle.net/123456789/7317 [5] P. Corke, J. Lobo and J. Dias, An Introduction to Inertial and Visual Sensing. The International Journal of Robotics Research, 2007, vol. 26, 519-535. [6] C. Fischer, P. T. Sukumar, M. Hazas, Tutorial: Implementing a Pedestrian Tracker Using Inertial Sensors. IEEE Pervasive Computing, 2013, vol. 12, 17-27. doi: http://doi.ieeecomputersociety.org/10.1109/mprv.2012.16 [7] B. Martin, Running Technique. Smashwords, 2011, (E-book) [8] G. Welch and E. Foxlin, Motion tracking: no silver bullet, but a respectable arsenal. Computer Graphics and Applications, IEEE, 2002, vol. 22, 24-38. [9] R. E. Kalman, A New Approach to Linear Filtering and Prediction Problems. Trans. of the ASME-Journal of Basic Engineering, 1960, vol. 82, 35-45. [10] G. Welch and G. Bishop, An Introduction to the Kalman Filter. Department of Computer Science, University of North Carolina at Chapel Hill, 2006, www.cs.unc.edu/ welch/media/pdf/kalman intro.pdf (Accessed 2014-11-03). [11] Hyung Gi Min and Eun Tae Jeung, Complementary Filter Design for Angle Estimation using MEMS Accelerometer and Gyroscope. Department of Control and Instrumentation, Changwon National University, http://www.academia.edu/6261055/complementary Filter Design for Angle Estimation using MEMS Accelerometer and Gyroscope (Accessed 2015-01-19). [12] W. T. Higgins, A Comparison of Complementary and Kalman Filtering. IEEE Trans. on Aerospace and Electronic Systems, 1975, vol. 11, 321-325. 181 P a g e