10-06-2009 04:02 PM
Hi,
I'm using a microstrain IMU. It works correctly with Desktop using VISA VI.
I'd like to transform this communication to ARM platform.
Is this the right way to do this?
Thanks
10-07-2009 07:00 AM - edited 10-07-2009 07:04 AM
Looks like you handled switching to Serial Compatibility VIs.
Also, you managed to change commands in example provided by MicroStrain.
Don't understand very well what kind of help you are expecting. However, I would make some changes here:
1. There is no need to open/close the serial port each time you want new data (but you should follow the stream looking for headers)
2. The type cluster is too complex, and after the type cast you have unnecessary processing
Probably a 12 elements cluster is more appropriate (Header, M11, M12, etc) and wire the Type Cast output directly to an indicator (of course DCM2ANG.vi needs modification as well)
3. You should check if the packet is valid
4. Use always atan2 to make conversion to Euler (DCM2ANG.vi)
5. Analyse if a specific kind of Euler angles is needed (Tait-Bryan). 3DM calculates Euler angles and rates (0xCE or 0xCF messages). By using these you will avoid further processing in your microcontroller (distributed processing). Alternatively, analyze if the algorithm is not faster if you use directly orientation matrix or quaternion.
10-07-2009 03:06 PM
It's a goog idea. this is what I did before however my vI was very complicated:
I don't andestand how in the microstrain example, they did to extract angular rate from the stream. just by naming the cluster "Angular Rate Vector"?
10-07-2009 03:09 PM
10-08-2009 12:04 PM
neil84 wrote:
5. Analyse if a specific kind of Euler angles is needed (Tait-Bryan). 3DM calculates Euler angles and rates (0xCE or 0xCF messages). By using these you will avoid further processing in your microcontroller (distributed processing). Alternatively, analyze if the algorithm is not faster if you use directly orientation matrix or quaternion.
10-08-2009 06:26 PM
10-09-2009 04:27 AM
You have to do something like this:
Only Euler Angles are extracted here but you can extend to any message.
10-09-2009 02:14 PM
Hi Nic,
tahnk you for explaination.
Is this the right way to do that?
10-09-2009 02:44 PM
10-09-2009 04:34 PM
I didn't noticed that it was a snippet.
In this snippet you are handeling Integer Array. I don't understand how do you do to acquire serial data. using "Byte Array To String" VI?