oblu - a wearable platform and wireless IMU for all your motion sensing needs
There is a need for a platform which can give wings to your thoughts and imaginations in case of inertial motion sensing. So comes oblu- a development board specially designed keeping in mind the need of students, DIY community and robotics enthusiasts. So what is oblu??
oblu is a low cost feature rich motion sensor comes pre-programmed as a shoe-sensor (Pedestrian Dead Reckoning or PDR sensor). It is Arduino compatible, miniaturized and open source inertial sensor targeted towards wearable motion sensing applications.
The main application of oblu is centred on its pre-programmed powerful indoor navigation algorithm. It is mainly use for indoor pedestrian tracking and navigation. Apart from that oblu’s applications are in robotics, gait analysis, virtual and augmented reality, geo survey to name a few.
oblu comes along with Android application "Xoblu" and a PC based analysis tool "MIMUscope". Also available are accessories which are helpful in getting best out of oblu.
Below animation explains how to setup oblu as a shoe-mounted Indoor GPS and how it performs PDR.
However oblu can be used purely as a development board. One may write his/her own algorithm to use it as the application demands. The open source nature of the source code, open source APIs and access to many internal signals on the board makes it possible to use it as a simple development board. One advantage of oblu over any other commercially available development board is that it already inbuilt with four 6-axis IMUs, Bluetooth Low Energy (BLE) and a powerful 64 MHz 32bit floating point microcontroller with 512 KB internal flash memory which allows solving complex algorithm onboard. Thus one can easily realize solution for any inertial motion sensing problem without the need to buy and integrate various off chip components. This makes integration of oblu with any associate system extremely simple. It hosts multi-IMU (MIMU) array which allows sensor fusion and enhances motion sensing performance. MIMU approach adds to the uniqueness of oblu. oblu is Li-ion rechargeable battery operable and allows onboard USB battery charging. It has an onboard Bluetooth (BLE 4.1) module for wireless communication.
Different components used in oblu are shown in the block diagram below.
So the applications around oblu are endless. It can give wings to your imagination in precision motion sensing. Another important aspect for using oblu development board is easy and affordable accessories to enhance its performance. You no longer need to spend huge amount of money for calibrating the motion sensors using shakers and rate table which are often inaccessible to a large portion of student and DIY community. Here comes oblu with a unique 20 faced icosahedrons for calibrating the sensors at a very affordable price. With calibration one can easily estimate inter IMU misalignment, gain and bias error, non-orthogonality of the accelerometers’ sensitivity axis and static bias of the gyroscopes of oblu. The calibration compensation takes place in the embedded software. The icosahedrons are 3d printed and shown in the picture below.
As mentioned earlier apart from its main application as a pedestrian navigation device oblu can be use as a development board.
So here is an example of versatility of oblu. oblu is used for navigation of robot car in the example described below.
The indoor navigation of robot is done with oblu and the real-time track is being monitored on the Android App Xoblu.
oblu has been pre programmed as a PDR device. It can track human navigation pretty well. But how can oblu track a Robot car? The main USP of the PDR algorithm of oblu is to correct the error arising due to sensor noise at each zero velocity instant of a human walk as shown in the video below.
But how will it correct the errors in case of a robot car. So the robot car is made to walk (move) like a human i.e. move, stop, move, stop.
Infact, oblu could be used for navigation of any object whose movement has regular zero and nonzero moments.
The robot assembly consists of Arduino as a main controller, controlling motor drivers (left and right) and interfaced with oblu for motion sensing.
Arduino is pre-programmed with path and oblu is used for sensing robot's motion. oblu transmits movement information to Arduino at regular interval. Based on that, Arduino controls wheels' movements to let robot follow the predefined path. oblu simultaneously transmits movement information to Smartphone for real time display.
The robot's path is programmed as a set of straight line segments. Each line segment is defined by its length and orientation with respect to the previous one. The robot's motion is kept discreet, i.e. it moves in straight line, but in smaller segments (let’s call 'strides' for simplicity). At the end of every stride, oblu transmits stride length and extent of deviation (change in orientation) from straight line, to Arduino.
As per program, the robot is always supposed to move in a straight line fashion. However, it may deviate from straight line and may move at a certain angle or skewed path because of non-idealities like uneven surface, mass imbalance in robot assembly, architectural or electrical imbalance in dc motors or the random orientation of front free running wheel. In case of robot's deviation from the pre-defined straight line, Arduino corrects the alignment at every stride on receiving such information. Take one stride. Correct your heading... move forward. The robot also moves backwards if it travels more than the programmed length of that particular line segment..
The next stride length for a particular straight line segment depends upon the remaining distance to be covered in that segment. The robot takes large strides when the distance to be travelled is larger and takes smaller strides close to destination (i.e. end of every straight line segment).
IMU oblu transmits data to Arduino and phone (over BLE) simultaneously. Xoblu (the Android app) performs some simple computation to construct the path based on the movement information received from the robot, which is used for real-time tracking on phone. (Path construction using Xoblu is illustrated below.)
In summary, oblu senses motion and communicates movement information to Arduino and phone at regular intervals. Based on the programmed path and the motion information (sent by oblu), Arduino controls the wheels' movements. The robot's movement is NOT remotely controlled except for start/stop commands.
So one can see that oblu can easily be use as a powerful development board with endless motion sensing applications. Versatility and affordability of oblu makes it a unique development board for various inertial sensing problems. It is one of its kinds and no other development board in the market offers as much utility as oblu at such an affordable price.
© 2016-18 GT Silicon Pvt Ltd. All rights reserved.