Inertial Motion capture system

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
salil2008
 
Posts: 2
Joined: Sat Sep 24, 2011 3:49 am

Inertial Motion capture system

Post by salil2008 »

hey am salil ..doin BANNED in comp. Science & engg.
and am doin a project named Low cost Motion Cpature System using Arduino..

so right now am having some trouble in deciding what sensors to use
that is...
Accelerometers or gyroscope or IMUs..

if IMu plz tell me how to build a IMU....steps involved and thing that should be taken care of.....
also plz estimate the total cost involved...as i have estimated it to $330...

thnk you

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Inertial Motion capture system

Post by adafruit_support_bill »

You will need a combination of accelerometers and gyroscopes. That is what IMUs are: a combination of accelerometers and gyroscopes.

User avatar
chatham
 
Posts: 144
Joined: Thu Feb 04, 2010 2:30 am

Re: Inertial Motion capture system

Post by chatham »

If you haven't already, you should poke around on http://diydrones.com/ - there's a lot of stuff about IMUs over there.

salil2008
 
Posts: 2
Joined: Sat Sep 24, 2011 3:49 am

Re: Inertial Motion capture system

Post by salil2008 »

Can u suggest me a way 2 get these IMUs......or How to build them ..... coz right now we are lookin for those..

meseta
 
Posts: 82
Joined: Tue Aug 02, 2011 7:57 pm

Re: Inertial Motion capture system

Post by meseta »

Your estimate is too high, for low cost IMU systems, you're looking at a total component cost of less than $50.

For example, I've got a low cost autonomous navigation systems for UAVs, our IMU sensor board that was built for less than $80 in parts, and this included 3-axis accelerometer, 3-axis gyro, 3-axis magnetometer, barometer, GPS module (external patch antenna) and microSD slot.

If you'd like to know how to build them, I can give you a brief overview of what is required, but without knowing your level of expertise with electronics and building electronics, this is all I can give to point you in the right direction; there are many many steps involved, I don't know how much of the process you are familiar with, and there is no way I can cover them all in a single forum post. For this reason, the following will be a very high-level overview, if you find you are comfortable with the high-level overview, then you should have no problems in diving into the details and knocking out each step. If you are not familiar with any of the steps, then you will need to do some research on how to do these things.

Firstly, you need accelerometer and gyro modules, I suggest looking on sites like Farnell or Digikey to find one that suits your required range of motion. Low-end cost for 3-axis accelerometers would be under or around $5, low-end cost for 3-axis gyro probably around $20. I would recommend something with I2C bus, as it makes communications with the Arduino much easier. Alternatively you can probably find these components on breakout boards at other hobbyist retailers, but since you're going for low-cost, building them would be your best option in terms of cost.

Assuming you want to build an expansion board for the Arduino, you will then have to design a PCB to hold these two components, since you'd be hard-pressed to find chips that are 0.1" pitch compatible with stripboard or breadboard. Typically you'll need to add three or four decoupling capacitors for each part, as well as a voltage regulator if the voltage required by the parts are lower. Note: a lot of low-cost accelerometer/gyro ICs are QFN packages, so if you're hand soldering, you'll need to be very careful. Look on the datasheets for each component, it'll describe the circuit required.

Or if you're buying them on breakout boards, then simply connect them to the Arduino by the method specified by their datasheet.

Once you're done with the hardware construction, you'll need to write the software for the Arduino to communicate with the device, if the accelerometer and gyroscopes are I2C, then the process is relatively straightforward, consult the component's datasheets for details on the protocol and register locations for the data and configurations. Most accelerometers/gyros will need to receive a certain message/configuration for them to start up (or start up in the right mode), once you've sent this message, you can simply poll the ICs for new data every now and again.

If the components are analog, then you will do a few analog reads, which in terms of code is slightly simpler, but not as nice (more wires, more noise issues, etc.)

Now the tricky bit: you will need to write some code to handle inertial measurement depending on your intended application, if you just want to know your accelerations, and rotations, then you can deal with the raw data. Otherwise if you want to know which way you're pointing when not stationery, then you'll need sensor-fusion algorithms that'll combine the readings, look up DCM, or EKFs for IMUs.

Good luck.

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”