Hi all,I recently purchased an ArduIMU+ V2 for the purpose of capturing human motion. I quickly was able to get it up and running using firmware (ArduIMU_1.8.2.zip from http://code.google.com/p/ardu-imu/downloads/list) and demo program (by happykillmore) from http://code.google.com/p/ardu-imu/wiki/HomePage?tm=6.I'm currently writing my own software that will read orientation (roll, pitch and yaw) and angular velocity values from serial. These values will be used to record human motion. However, I'm confused about which variables in the firmware represent angular velocity (preferably measured in degrees per second). In the firmware code, I noticed the following float arrays: Gyro_Vector, Omega_Vector, Omega_P, Omega_I and Omega. There is a comment next to Omega_Vector that says "Corrected Gyro_Vector data". Does anyone know which variable I should use, and what units they are measured in? I noticed in the demo program that the display shows Gyro X Roll, Gyro Y Pitch and Gyro Z Yaw. It looks like these are the values I need, correct? But now the question is how to I get them.Also, does anyone know how much current the ArduIMU+ V2 draws?
You need to be a member of diydrones to add comments!
Replies
Use these libraries:
#include <AP_IMU.h> // ArduPilot Mega IMU Library
#include <AP_DCM.h> // ArduPilot Mega DCM Library
APM and ACM both do.
Vector3f omega = dcm.get_gyro();
omega.x, omega.y, omega.z = roll, pitch, yaw
This is the rotational velocity in radians per second.
Jason