Maker Pro
Maker Pro

Detecting Leveling of Arm and Shoulder

Johnny101

Jul 13, 2014
43
Joined
Jul 13, 2014
Messages
43
Hi guys,

I want to detect the point, during a hand swing motion, when the arm aligns or comes to the level of shoulder like the 1st, 3rd and 5th ones in the figure.
img.jpg
I am using an IMU i.e. an accelerometer with gyroscope to measure the yaw, pitch and roll. The IMU is placed on the upper arm such that the roll when goes negative I can judge that the arm and shoulder are level. All this works when I move my arm slowly as soon as I swing it fast the leveling is not detected. What could be the reason for this. What could be alternative solutions for this.

A design constraint is that I can place sensors on the arm only nothing on the shoulder.

Thanks in advance.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
If you're using an accelerometer, I would have it in an orientation (or measure the axis) which results in a change of sign when motion is reversed at the top of the swing. This will happen at two places, and you can use other measurements to determine if it is at the top or the bottom.
 

hevans1944

Hop - AC8NS
Jun 21, 2012
4,880
Joined
Jun 21, 2012
Messages
4,880
@Minder: mercury? really? in a glass caspsule? I would think the inertia of the blob of mercury would affect the horizontal reading.

Could the OP provide a specification or model number of the IMU? What is the minimum and maximum rate of change of rotation (degrees per second) that the rate gyro will respond to? What is it's sensitivity? Does it provide a digital or analog output? How is it interfaced to your instrumentation package?
 

Johnny101

Jul 13, 2014
43
Joined
Jul 13, 2014
Messages
43
If you're using an accelerometer, I would have it in an orientation (or measure the axis) which results in a change of sign when motion is reversed at the top of the swing. This will happen at two places, and you can use other measurements to determine if it is at the top or the bottom.
I tried it but again by just using the accelerometer when I move the hand very fast the values of the accelrometer just keep on increasing the sign never reverses because from what I have read the accelerometer it self can't differentiate between the force being applied by the hand and the gravity.
That is why I moved on to using a Kalman filter based acc+gyro combination.
 

Johnny101

Jul 13, 2014
43
Joined
Jul 13, 2014
Messages
43
@Minder: mercury? really? in a glass caspsule? I would think the inertia of the blob of mercury would affect the horizontal reading.

Could the OP provide a specification or model number of the IMU? What is the minimum and maximum rate of change of rotation (degrees per second) that the rate gyro will respond to? What is it's sensitivity? Does it provide a digital or analog output? How is it interfaced to your instrumentation package?

I am using an MPU6050 and operating it at 2000 deg/sec which is its max rate. It is a digital sensor interfaced via i2c. The sensitivity is 16.4 LSB/°/sec at 2000 dps
 

hevans1944

Hop - AC8NS
Jun 21, 2012
4,880
Joined
Jun 21, 2012
Messages
4,880
Hi guys,

I want to detect the point, during a hand swing motion, when the arm aligns or comes to the level of shoulder like the 1st, 3rd and 5th ones in the figure.
View attachment 30517
I am using an IMU i.e. an accelerometer with gyroscope to measure the yaw, pitch and roll. The IMU is placed on the upper arm such that the roll when goes negative I can judge that the arm and shoulder are level. All this works when I move my arm slowly as soon as I swing it fast the leveling is not detected. What could be the reason for this. What could be alternative solutions for this.

A design constraint is that I can place sensors on the arm only nothing on the shoulder.

Thanks in advance.
Is the upper arm the part between the elbow and the shoulder? Or is the IMU mounted at the wrist on the forearm? If it works for slow motions, then the data rate is either too slow to detect the change in rate gyro output for faster motions, or the response of the rate gyro is too slow. Are you using the maximum possible data transfer rate? The I²C bus is significantly slower than the 4-wire SPI configuration according to the InvenSense MPU6050/6000 datasheet. However, the SPI is supported only on the MPU6000, not the MPU6050.

I can think of no alternative solutions. The InvenSense IMU may be the only reasonably affordable commercial product that is capable of six degree-of-freedom motion sensing and light enough to wear on the arm. There is a very high speed, direct-access, mode available for reading the register containing the raw sensor data. Have you investigated this possible method of increasing data transfer rate?

For anyone new to Inertial Measurement Units (IMUs), which are becoming readily available at low cost because of MEMS (Micro Electro-Mechanical Systems) technology, here is a website to get ya started down that road. Some math required.
 

Johnny101

Jul 13, 2014
43
Joined
Jul 13, 2014
Messages
43
Is the upper arm the part between the elbow and the shoulder? Or is the IMU mounted at the wrist on the forearm? If it works for slow motions, then the data rate is either too slow to detect the change in rate gyro output for faster motions, or the response of the rate gyro is too slow. Are you using the maximum possible data transfer rate? The I²C bus is significantly slower than the 4-wire SPI configuration according to the InvenSense MPU6050/6000 datasheet. However, the SPI is supported only on the MPU6000, not the MPU6050.

I can think of no alternative solutions. The InvenSense IMU may be the only reasonably affordable commercial product that is capable of six degree-of-freedom motion sensing and light enough to wear on the arm. There is a very high speed, direct-access, mode available for reading the register containing the raw sensor data. Have you investigated this possible method of increasing data transfer rate?

For anyone new to Inertial Measurement Units (IMUs), which are becoming readily available at low cost because of MEMS (Micro Electro-Mechanical Systems) technology, here is a website to get ya started down that road. Some math required.

Thanks for the reply hevans. The upper arm is the part between the elbow and shoulder and that is where the IMU is mounted. I was at first using the 100 Hz sampling rate which gives the data from a DMP which is present on the MPU chip and has its own algorithm implemented within. Then I moved to 200Hz which is the max limit at which the DMP can output the values. The data I get shows that the axis flip takes place once the arm crosses the shoulder level but it occurs a bit late. As I also verify this by brightening an LED and see it using a slow motion camera. This made me believe that the response rate is slow.

The result from the camera shows that once the arm has crossed the shoulder level and is about like 30 degree above that is when the LED lights up as shown in the fig.
1.PNG

I also tried using the raw values for a higher data rate. I implemented the simple complementary filter to get the roll data but that gives a worse performance than the dmp when moving the hand very fast. It doesn't even show the sign flipping at any point in the data and once the hand stops then it get backs to normal.
 

hevans1944

Hop - AC8NS
Jun 21, 2012
4,880
Joined
Jun 21, 2012
Messages
4,880
So, unless someone here can find a faster IMU or another method, it looks like you are SOL for a solution. I do know that the maker community has fully embraced this technology for building things like 'copters and robots and such, and modern cell phones use it to determine orientation of the phone to present a "right side up" view of the screen, but wearable devices that measure body movements seem to be conspicuously absent. There may be a very good reason for this: the state-of-the-art hasn't advanced far enough yet, or if it has, the cost may currently be prohibitive. Sometimes good ideas just need to wait for the technology to catch up.

Okay, someone please chime in now with a link to the solution.
 

Johnny101

Jul 13, 2014
43
Joined
Jul 13, 2014
Messages
43
This is bit of a setback. Anybody else having any ideas.

@hevans1944 Is there any research done on how much G's and degrees/sec human arm swing can produce.
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
This is bit of a setback. Anybody else having any ideas.

@hevans1944 Is there any research done on how much G's and degrees/sec human arm swing can produce.
If you want to know the limits of acceleration, look at baseball pitchers:

http://resenv.media.mit.edu/pubs/papers/2006-06-IMU-Baseball.pdf

The IMUs recorded 60.4g’s of acceleration at the shoulder and 83.0g’s of acceleration at the wrist. Acceleration over 100g’s was documented at the hand.

Wow, 100 g's

Bob
 

phin

Mar 29, 2016
7
Joined
Mar 29, 2016
Messages
7
From what I have seen, motion studies are done using video. This would avoid the "G" problem. Any chance you could pursue that method?
 

hevans1944

Hop - AC8NS
Jun 21, 2012
4,880
Joined
Jun 21, 2012
Messages
4,880
The article that Bob cited has an extensive list of references to pursue. Following just one of them, led to this paper where the authors did an extensive review of IMU methods. The review is six years old, so you may want to search for something more recent. The authors' conclusion is probably still relevant today:

This review concludes that inertial sensors can offer an accurate and reliable method to study human motion, but the degree of accuracy and reliability is site and task specific. They are able to measure differing body regions and overcome the problem of line-of-sight or metallic disturbance associated with other methods. They offer a tool, which has the potential to span many applications in many environments outside of a laboratory and therefore, they warrant further development to continue to improve their systems and their application for human motion analysis.

I would think this would be a "hot topic" for sports medicine research, so you may have to wade through a quagmire of papers to find something relevant to your task. BTW, just what is it you are trying to DO? Time frame to get it accomplished? Off-the-shelf or roll-your-own system? Budget constraints?
 

Johnny101

Jul 13, 2014
43
Joined
Jul 13, 2014
Messages
43
The article that Bob cited has an extensive list of references to pursue. Following just one of them, led to this paper where the authors did an extensive review of IMU methods. The review is six years old, so you may want to search for something more recent. The authors' conclusion is probably still relevant today:



I would think this would be a "hot topic" for sports medicine research, so you may have to wade through a quagmire of papers to find something relevant to your task. BTW, just what is it you are trying to DO? Time frame to get it accomplished? Off-the-shelf or roll-your-own system? Budget constraints?

I am trying to study alternatives for the motion capture systems for high speed body movements, currently focused on different exercises mainly skipping to see exertion and stuff. I am mainly looking at off the shelf solutions and the time frame is around one month. with not a lot budget constraints but cost constraint for the end prototype.

Something a bit off topic but a problem I am facing. I have interfaced the IMU via i2c at 400kHz. Now, when I use the controller and IMU on the same board I face no issues. But when the IMU is connected via a half meter wire I get noisy data and the i2c also hanging at times. I have disabled internal pull ups and only using the external 4.7kohm pullups. Would decreasing the pull up help a bit.
 
Top