2014 International Conference on Indoor Positioning and Indoor Navigation, 27th -30th October 2014 The Application of “Off-the-shelf” Components for Building IMUs for Navigation Research Nimsiri Abhayasinghe Department of Electrical and Computer Engineering Curtin University Perth, Western Australia [email protected] Abstract—Inertial measurement units (IMU) are commonly used in pedestrian and robotic navigation applications and research. Although many IMUs are commercially available, almost all of them are non-customizable and they process the collected raw data before presenting them to the user. However, this creates a limitation for researchers due to the fact that they have to rely on a set of per-processed data. Further, available resources and features such as SD card slots, wireless connectivity, available in the IMU may not suit one’s research. This paper provides a survey on availability and usage of different off-the-shelf devices to build a custom made IMU. The authors considered opensource microcontroller platforms, low cost MEMS sensors and low cost accessories in this survey so that the IMUs will be affordable to many people. A range of sensors, their features, available processor options and different types of wired and wireless communication options available are discussed. Particular emphasis is made on the ability to modify or add functionality to commonly available hardware. Possible technical issues in assembling the IMU and calibrating sensors are also discussed in this paper. Technologies available for constructing a housing and mounting systems for the IMU best suited to the application are also discussed in this paper. As an example, IMUs developed and implemented by the authors with different housing designs specifically created for particular applications are presented. This survey indicated that off-the-shelf components can effectively be used to build custom-made IMUs to suit the particular research interest or application best. Keywords—Human gait analysis; inertial measurement units; indoor navigation Iain Murray Department of Electrical and Computer Engineering Curtin University Perth, Western Australia [email protected] a different package or options than those currently owned, then purchase of a new module is required. In addition to that, performing unknown processing inside the IMU before output is produced restricts the users’ access to raw data and the flexibility to perform operations and computations desired. This paper presents the outcomes of a survey conducted to identify the off-the-shelf resources available to build an IMU that exactly suits one’s requirements. It also presents techniques available for building custom made housings for the IMUs to suit the application. This paper also discusses two custom made IMUs that are designed and build by the authors to suit with two applications as examples. The work discussed in this paper is a part of a project conducted at Curtin University, Perth, Western Australia that develops a navigation aid for vision impaired people. Two commercially available IMUs are discussed in the “Commercially Available IMUs” section of this paper while available electronics circuit options are discussed in the “Options Available for Electronic Circuitry” section. Possibilities for implementing custom made housings are discussed in the “Enclosure Design and Implementation” section and the IMUs built by the authors, issues faced in building those and how they could be overcome are discussed in the “IMUs Implemented by the Authors”. II. C OMMERCIALLY AVAILABLE IMU S I. I NTRODUCTION Many researchers use Inertial Measurement Units (IMU) to track movement of sections of body in human navigation and tracking systems. IMUs are commonly used in other areas such as robotics too. Usage of bare sensor boards and microcontroller boards is not uncommon in most cases in areas like robotics. However, securely enclosed devices will have to be used in applications with human interaction and involvement, such as navigation and tracking systems. Although IMUs are commercially available in a variety of packages, they are usually expensive and noncustomizable. Some limitations of using such ready made IMUs are that they often do some processing of data before presenting to the user, availability of limited packaging options and availability of limited options (Bluetooth, SD card, etc.). If one requires Although many IMUs are available in the market, most of them are either sensor ICs or development boards. Details of these are discussed in “Sensors” sub section of this paper. Two ready to use IMUs available in the market will be discussed in this section. These IMUs come in a casing and easy to use. One of them is the x-IMU by x-IO Technologies [1]. This IMU consists of a 3–axis accelerometer, a 3–axis gyroscope and a 3–axis magnetometer. It has an SD card for data logging and the IMU can be connected to a computer using a USB cable or Bluetooth. x-IO provides software needed to access the IMU and configure it and one can develop software for this as the software is open source. However, their firmware is not open source, hence one has to rely on its per-processed output. The x-IMU comes with an enclosure and a battery as shown in Fig. 1 and priced at £309.00. 2014 International Conference on Indoor Positioning and Indoor Navigation, 27th -30th October 2014 Table I: Sensors and Their Usage Sensor Accelerometer Gyroscope Magnetometer Pressure Sensor Temperature Sensor Ambient Light Sensor Fig. 1: x-IMU [1] The second is 3-Space IMU series by YEI Technologies. They have several versions of the IMU with different features such as SD card slot, Bluetooth and wireless. Each version has its own set of features and there is no version which supports both wireless communication and SD card. These IMUs also have a 3–axis accelerometer, a 3–axis gyroscope and a 3– axis magnetometer. YEI Technologies also provide software to work with the IMUs and an API for software developing, but the firmware of the IMUs are not open source. The Bluetooth version of 3-Space IMUs is shown in Fig. 2 which is priced at US$309.00. Further technical details of these two sensors are discussed in [3] and can be found in their websites. III. O PTIONS AVAILABLE FOR E LECTRONIC C IRCUITRY There are many different options available for sensors, processing units, data storage, communication, batteries and chargers. Some of the low cost, easy to use options are discussed in this section. A. Sensors Although there are many different types of sensors and sensor technologies available in the market, the authors have selected Microelectromechanical Systems (MEMS) sensors in this survey as they have become more popular and affordable nowadays. Sensors that may be used in robotics and indoor navigation applications are listed with their usage in Table I. The authors have considered sensors that comes on a board (breakout board) in this study, so that they can be easily used to assemble the IMU. Fig. 2: 3-Space Bluetooth [2] Parameter Measured by the Sensor Acceleration Angular velocity (rotation) Magnetic field strength Atmospheric pressure Atmospheric temperature Light level There are many MEMS accelerometers and magnetometers produced by different manufacturers that come on breakout boards in Sparkfun store [4]. However, there is a limited number of MEMS gyroscopes available. The most common one is ITG3200 by Invensense [5] for which Sparkfun has a breakout board. Although these individual sensors may be used in IMUs, the complexity and the size of the product increases when they are used. One solution for this issue is to use a breakout board that has two or three of these sensors as necessary. There are some such boards in Sparkfun. Although this option is better than using one breakout board per sensor, larger size of such breakout boards limits the miniaturization of the IMU. Further, using several inertial sensors will introduce errors due to offset of sensors on the Printed Circuit Board (PCB). A solution for this is to select a sensor that includes two or three inertial sensors in a single electronic chip. One example for such a sensor is MPU6050 by Invensense [5], which has a 3–axis accelerometer and a 3–axis gyroscope in a single chip. A breakout board for this is available in Sparkfun. When such a 6–axis sensor is used, one still has to use another sensor for the magnetometer. Depending on the application a better solution may be a 9– axis sensor that contains 3–axis accelerometer, gyroscope and a magnetometer. The authors of this paper have found four 9–axis sensors during the survey. They are MPU-9150 and MPU-9250 from Invensense [5], LSM9DS0 from STMicroelectronics [6] and BMX055 from Bosch Sensortec [7]. Breakout boards for both MPU-9150 and LSM9DS0 are available in Sparkfun while breakout board for BMX055 is available in ThanksBuyer [8]. All these sensor breakout boards are also available in on-line stores [9]. Prices of these sensor boards are shown in Table II. Some of the specification that has to be considered when selecting a digital inertial sensor are resolution, measurement ranges, sensitivity, zero-point offset and noise density. A comparison of these parameters for the above sensors is shown in Table III. This indicates the the performance of each sensor of these IMUs are slightly different. All these have comparable measurement ranges. The sensitivity of the accelerometer of MPU-9150 and LSM9DS0 is better than that of BMX055 where as the sensitivities of the gyroscope of all three IMUs are in the same range. The zero-point offset of the accelerometer is worst in MPU-9150 and best in LSM9DS0, but BMX055 has the lowest zero-point error in the gyroscope. Although the noise density of the accelerometer of MPU-9150 is worse than BMX055, the noise density of the gyroscope of MPU9150 is better than that of BMX055. This implies that none of these sensors is a best: all have some parameters better 2014 International Conference on Indoor Positioning and Indoor Navigation, 27th -30th October 2014 than the others. Because of this reason, there would not be any major advantage or disadvantage of selecting any of these three sensors. There are many digital temperature, pressure and ambient light sensors available in on-line stores. Examples are TMP102 digital temperature sensor, ISL29125 RGB Light Sensor and MPL115A1 barometric pressure sensor [4]. B. Processors There are many 8-bit microcontrollers available in the market. Most these microcontrollers suit the needs of an IMU, where the main task is to read sensors and either store them onto a storage device or send them to a computer or both. For connecting sensors, storage devices and communication devices, these microcontrollers are required to include communication interfaces such as I2 C (Inter Integrated Circuit) and SPI (Serial Peripheral Interface). For one to implement the IMU without designing and producing a PCB, a development board has to be used. Although most microcontrollers have their development boards, authors have selected Arduino open source platform [10], as the best option because it is easy to use and there is a number of different boards with different sizes and capabilities. The Arduino platform has several available boards with a reduced footprint, such as Arduino Micro, Arduino Nano, Arduino Pro Mini and Arduino Fio. All these boards are about the same with Fio being slightly larger. Micro and Nano boards work at 5 V while Pro Mini works either at 5 V or 3.3 V and Fio works at 3.3 V. Although 5 V devices may be used in wired applications, 3.3 V devices are better for wireless devices due to their suitability to work with battery voltages. Although Micro and Nano are programmable directly using a micro USB cable, an external programming cable or an FTDI breakout board. The processors used in all these boards are 8bit Atmel microcontrollers with comparable performance and all these have I2 C, SPI and serial interfaces. C. Data Storage and Communication Options The most common storage option for embedded devices is the Secure Digital (SD) memory card. The version of SD cards used in most small size devices is microSD. All SD card versions support SPI bus mode and SD bus mode [11]. Therefore, they can be connected with a microcontroller using the SPI bus and there is an Arduino library to work with SD cards [10]. microSD card breakout boards are available in both Sparkfun and in on-line stores. There are many communication options that one can use with an IMU. The wired options are serial (RS-232) and USB. USB is a better option out of these two due to the fact that most computers and laptops are equipped with USB ports and the serial port is rarely found in laptops nowadays. Arduino boards can communicate with a computer through the programming interface (FTDI). If RS-232 is opted, then a level shifter has to be used. RS-232 level shifters are available in Sparkfun and in on-line stores. There are few commonly used wireless communication options that can be used in an IMU. Two commonly used alternatives are Bluetooth and NRF24 wireless transceivers. Both these modules are available both in Sparkfun and in online stores. Bluetooth transceivers communicate with the host microcontroller using RS-232 interface while NRF24 uses SPI interface. Using a Bluetooth transceiver will be advantageous when sensor data is to be sent to a smartphone or a PDA as these devices are equipped with Bluetooth interfaces. However, for long rage (up to 100 m) communications, NRF24 will be better, but it needs a separate receiving device connected with the computer. Details of this are discussed in “IMUs Implemented by the Authors” section. The Current consumption of the HC-06 Bluetooth modules after pairing is less that 10 mA [12] where as for NRF24, that is about 12 mA [13]. D. Batteries and Battery Chargers Lithium-ion polymer batteries (LiPo) are the commonly used batteries in embedded and robotics applications. LiPo is well suited due to the availability of capacity and dimensions - suits housing design. One can select the shape, size and the capacity depending on their design and time of run required. Small size USB powered LiPo chargers are also available in the market so that one can use a USB port or a USB charger to charge the battery. Some battery and charger options are discussed in “IMUs Implemented by the Authors” section of this paper. IV. E NCLOSURE D ESIGN AND I MPLEMENTATION Prototyping with filament type 3D printers has now become affordable. One main advantage when using a 3D printer to print the IMU enclosure is that a custom made enclosure can be made that suits the application. Although high end 3D printers that give much better qualities are also available, they are not affordable as home and hobby use 3D printers do. Some low-end 3D printer makes are Leapfrog, Makerbot, PrintrBot, Afinia, Rostock, Ultimaker, Reprap, Bits from Bytes, Makergear, Airwolf3D and Bukobot. Although 3D printers are available for prices under USD 1000, a decent quality printer will be in the range of USD 3000 and the filament price is in the range of USD 30-60 per 1 kg roll. The authors of this paper have designed three different enclosure designs and printed with a Leapfrog Creatr Dual Extruder printer, which are discussed in “IMUs Implemented by the Authors” section of this paper. Table II: Prices of 9–Axis Sensor Breakout Boards [4], [8], [9] Sensor MPU-9150 MPU-9250 LSM9DS0 BMX055 Sparkfun/ThanksBuyer Pricea. USD 34.95 – USD 29.95 USD 16.36 Ebay Price USD 11.50 USD 10.00 USD 33.50 USD 13.00 a. Prices at Sparkfun and ThanksBuyer are without shipping and prices at Ebay are with shipping to Perth, Australia. V. IMU S I MPLEMENTED BY THE AUTHORS Two IMUs implemented by the authors for different requirements are discussed in this section. Devices used for each IMU, the enclosure designs, some concerns when implementing IMU and remedies for those are discussed in relevant subsections. 2014 International Conference on Indoor Positioning and Indoor Navigation, 27th -30th October 2014 Table III: Comparison of Key Specifications of the Inertial Sensors [5], [6], [7] Accelerometer Gyroscope Magnetometer Specification MPU-9150 LSM9DS0 BMX055 MPU-9150 LSM9DS0 BMX055 MPU-9150 LSM9DS0 Resolution N/A N/A 0.98 mg N/A N/A 0.004 °/s N/A N/A 0.3 µT Measurement ±2 g, ±4 g, ±2 g, ±4 g, ±2 g, ±4 g, ±250 °/s, ±245 °/s, ±125 °/s, ±1200 µT ±200 µT, ±1300 µT (x,y), Ranges ±8 g, ±16 g ±6 g, ±8 g, ±8 g, ±16 g ±500 °/s, ±500 °/s, ±250 °/s, ±400 µT, ±2500 µT (z) ±1000 °/s, ±2000 °/s ±500 °/s, ±800 µT, ±1000 °/s, ±1200 µT ±16 g ±2000 °/s BMX055 ±2000 °/s Sensitivity 1024 LSB/g , 131 LSB/°/s, 8.75 m°/digit, 262.4 LSB/°/s, 8197 LSB/g, 512 LSB/g, 65.5 LSB/°/s, 17.5 m°/digit, 131.2 LSB/°/s, 0.016 µT/LSB, 4096 LSB/g, 5464 LSB/g, 256 LSB/g, 32.8 LSB/°/s, 70 m°/digit 65.6 LSB/°/s, 0.032 µT/LSB, 2048 LSB/g 4098 LSB/g, 128 LSB/g 16.4 LSB/°/s 32.8 LSB/°/s, 0.048 µT/LSB Zero-point ± 80 mg (x, y), Offset ± 150 mg (z) √ 400 µg/ Hz 1 µT/µT 16.4 LSB/°/s ± 60 mg ± 70 mg ± 20 °/s N/A √ 150 µg/ Hz √ 0.005 °/s/ Hz ± 10 °/s, ± ± 1 °/s ±1000 LSB N/A ± 40 µT √ 0.014 °/s/ Hz N/A N/A 0.6 µT 15 °/s, ± 25 °/s A. Strap-Mount IMU The requirement for this IMU was to record inertial data of the lower human body (legs). Logging of data from multiple sensors was also a requirement. The sensor selected for this application was MPU-9150 mainly due to the fact that it contains all 3 sensors (accelerometer, gyroscope and magnetometer) in a single chip and hence the size of the boards is smaller. A picture of the MPU-9150 board is shown in Fig. 3a. A clone of Arduino Pro-mini 3.3 V was selected as the microcontroller board because of its small size and as it is working at 3.3 V. Although the 3.3 V version runs at 8 MHz, it is sufficient to cater the demands of the IMU. A picture of the board is shown in Fig. 3b. This clone of Pro-mini was selected because of its pin placement is helpful in assembling the IMU. nRF24L01+ RF transceiver was selected to communicate with the host device because it can communicate simultaneously with 6 slaves. A “dongle”, which is connected with the computer, was designed using Arduino Uno board and nRF24L01+ to communicate with 6 IMUs and transfer data to the computer. All IMUs are synchronized to the time of the dongle, so that the relation between the movement of different sections of the leg can be studied. A 3.7 V 900 mAh flat LiPo battery of size of 48 mm × 30 mm × 5.5 mm was used so that the circuit can be mounted directly on the battery and the finished IMU to have (a) MPU-9150 0.008 µT/LSB, 16384 LSB/g , 8192 LSB/g, 1366 LSB/g Noise Density 0.3 µT/LSB 16384 LSB/g , (b) Pro-mini (c) nRF24L01+ Fig. 3: Devices used for strap-mount IMU N/A proper aspect ratio. The battery selected has a built-in protecting circuit. An external USB charger was used to charge the battery, so that the size of the IMU and internal heating is a minimum. The charger contains a charging controller to avoid over charge of the battery. The battery and charger are shown in Fig. 4. The assembled IMU is shown in Fig. 5a. The enclosure was designed to have loops to strap down. The 3D printed enclosure is shown in Fig. 5b. The program of the IMUs was designed to sample all sensors at 100 samples per second and send data to the dongle and the program of the dongle was designed to read data from 6 IMUs and send them to the USB port. A serial reader software was used to read data from the USB port and log them. Although the dongle theoretically support 6 IMUs, it was observed that 4 IMUs is the practical limit for reliable operation due to collisions and subsequent packet loss. The dimensions of the strap-mount IMU are 55 mm × 41 mm × 23 mm without the loops and the total cost was about AUD 35. B. IMU for White Cane The second version of the IMU was designed to be attached to the white cane to study the synchronization of the leg movement with the white cane movement. Therefore, it was designed to be longer, but narrower. Sample data was to be sent to a smartphone for further analysis. Therefore, HC06 Bluetooth was selected as the communication interface as smartphones are equipped with Bluetooth. A longer (58 mm × 19 mm × 7 mm) 600 mAh battery was selected so that it matches the design of the IMU. The battery and HC-06 are (a) Battery (b) Charger Fig. 4: Battery and the charger 2014 International Conference on Indoor Positioning and Indoor Navigation, 27th -30th October 2014 (a) Assembled IMU (b) IMU with enclosure Fig. 5: Completed strap-mount IMU (a) Assembled IMU shown in Fig. 6. All other units are as same as the units used for the strap-mount IMU. Two enclosure designs were used, one for the white cane and the other for strapping to the thigh. The completed IMU and the two enclosures are shown in Fig. 7. The dimensions of the IMU for white cane are 91 mm × 25 mm × 25 mm without the mounting mechanism and the total cost was about AUD 35. (b) White cane mounted IMU (c) Thigh mounted IMU Fig. 7: Completed IMU for white cane C. Sample Outputs In one of the experiments, two strap-mount IMUs were used to check the synchronization of the two legs. In this experiments, two strap-mount IMUs were attached to the two thighs of the subject and the subject was instructed to walk on flat surface. The output of the two IMUs were logged in the computer and the thigh angles were computed by fusing the accelerometer and the gyroscope. The outcome is shown in Figure 8. This is similar to the thigh angle waveform discussed in [14], [15] and [16] that has been captured using a smartphone. However, it was observed that there are packet losses sometimes, which makes the waveform non-smooth at some points. Further results obtained using both these IMUs are discussed in [17] with more details on development steps of the IMU for White Cane. D. Concerns and Remedies The main concern when building both IMUs was the alignment of the sensor with the enclosure of the IMU. Three remedial measures were taken to reduce and compensate the alignment error. The first is to align the sensor board with the microcontroller board as much as possible while assembling the IMU. Solid connector pins were used to mount the sensor on the microcontroller board so that there is no free movement between them. Suitable holding mechanisms were designed in the enclosures to avoid any movements of the circuit inside the (a) Battery (b) HC-06 Fig. 6: Devices used for IMU for white cane Fig. 8: Thigh angle of the two legs computed from data of two strap-mount IMUs enclosure. As these two solutions cannot avoid misalignment fully, an axis calibration was done after building the IMU, so that the output of the IMU is aligned with the enclosure. VI. C ONCLUSIONS This paper presented a survey of available off-the-shelf devices for building IMUs for navigation research and possible custom-made enclosure making technologies. This also presented two IMU built for two different applications with different requirements. It is concluded that off-the-shelf components and devices can effectively be used, without great difficulty, to build IMUs well suited to each application with an enclosure designed specifically for the application . R EFERENCES [1] x-io Technologies. “x-IMU” [Online]. Available: http://www.xio.co.uk/products/x-imu/, [July 17, 2014]. [2] YEI Technology. “YEI 3-Space Sensor” [Online]. Available: http://www.yeitechnology.com/yei-3-space-sensor, [July 17, 2014]. [3] R. Chandrasiri, N. Abhayasinghe and I. Murray. (2013, Oct.). “Bluetooth Embedded Inertial Measurement Unit for Real-Time Data Collection,” in Forth International Conference on Indoor Positioning and Indoor Navigation (IPIN2013)[Online], Montbéliard, France, 2013, pp. 510–513. Available: http://ipin2013.sciencesconf.org/conference/ipin2013/eda_en.pdf, [Nov. 19, 2013]. [4] Sparkfun. [Online]. Available: https://www.sparkfun.com [July 17, 2013]. [5] Invensense. [Online]. Available: http://www.invensense.com, [July 17, 2014]. 2014 International Conference on Indoor Positioning and Indoor Navigation, 27th -30th October 2014 [6] STMicroelectronics. “LSM9DS0 iNEMO inertial module:3D accelerometer, 3D gyroscope, 3D magnetometer” [Online]. Available: http://www.st.com/web/catalog/sense_power/FM89/SC1448/PF258556, [July 17, 2014]. [7] Bosch Sensortec. “BMX055” [Online]. Available: http://www.boschsensortec.com/en/homepage/products_3/9_axis_sensors_5/ecompass_2/ bmx055_1/bmx055, [July 17, 2014]. [8] ThanksBuyer. “BMX055 IMU 9DoF Sensor Board Integrated 9-Axis Attitude Sensor Module SPI/I2C” [Online]. Available: http://www.thanksbuyer.com/bmx055-imu-9dof-sensor-board-integrated9-axis-attitude-sensor-module-spi-i2c-28310, [July 17, 2014]. [9] Ebay. [Online]. Available: http://www.ebay.com, [July 17, 2014]. [10] Arduino. [Online]. Available: http://arduino.cc/ [11] Wikipedia. (2014, Jul. 23). “Secure Digital” [Online]. Available: http://en.wikipedia.org/wiki/Secure_Digital [Jul. 25, 2014]. [12] Exp Tech. “HC Serial Bluetooth Products User Instructional Manual” [Online]. Available: http://www.exp-tech.de/service/datasheet/HC-SerialBluetooth-Products.pdf [Jul. 25, 2014]. [13] Nordic Semiconductor. “nRF24L01 Single Chip 2.4GHz Transceiver Product Specification” [Online]. Available: http://www.nordicsemi.com/eng/nordic/download_resource/8041/1/ 62622944 [Jul. 25, 2014]. [14] K. Abhayasinghe and I. Murray. (2012, Nov.). “A novel approach for indoor localization using human gait analysis with gyroscopic data,” in Third International Conference on Indoor Positioning and Indoor Navigation (IPIN2012) [Online], Sydney, Australia, 2012. Available: http://www.surveying.unsw.edu.au/ipin2012/proceedings/submissions/ 22_Paper.pdf [Mar. 5, 2013]. [15] S. Jayalath, N. Abhayasinghe and I. Murray. (2013, Oct.). “A Gyroscope Based Accurate Pedometer Algorithm,” in Forth International Conference on Indoor Positioning and Indoor Navigation (IPIN2013)[Online], Montbéliard, France, 2013, pp. 510–513. Available: http://ipin2013.sciencesconf.org/conference/ipin2013/eda_en.pdf [Nov. 19, 2013]. [16] N. Abhayasinghe and I. Murray, “Human Gait Phase Recognition Based on Thigh Movement Computed using IMUs”, in 2014 IEEE Ninth International Conference on Intelligent Sensors, Sensor Networks and Information Processing (ISSNIP)[Online], Singapore, April, 2014. Available: IEEE Xplore [Jun. 19, 2014] [17] R. Dumont, “IMU based method to study the synchronization between the white cane usage and the human gait cycle by vision impaired people,” M. S. Thesis, Faculty of Engineering, University of Mons, Mons, Belgium, 2014.
© Copyright 2024 ExpyDoc