Convert Euler angles into Equatorial coordinate system

justcallmesteve

New member
Joined
Apr 16, 2013
Messages
2
Reaction score
0
Points
0
I am building a computerized tracking system for my Celestron C10-N telescope. I have purchased a ArduIMU+ v3 which has many sensors on it. It outputs Euler angles. I plan on mounting this to my telescope so that I can use these Euler angles to calculate exactly where the telescope is pointing. My only problem is that I have no been able to figure out how to convert the Euler angles into the equatorial coordinate system (my telescope is mounted on a equatorial mount so I don't think it would be a good idea to use another coordinate system). I have found some information on converting Euler angles to a normal x, y, z Euclidean coordinate system, but I would rather go straight from the Euler angles to equatorial coordinates to save CPU time and power. Has anyone done anything like this before, or know how this could be done?
 
The first thing you might wanna check is the accuracy of those angles. I recently bought a RazorIMU for my RC airplane autopilot. From the description of the ArduIMU, I'm guessing it uses the same sensors.

The first thing I can tell you is that there's noise on all sensors and you'll have to deal with it. But you probably already know that.

The bigger problem is that your sensor might not be entirely accurate. I know mine isn't. When it's level with the ground, the angles it outputs are accurate to as far as I can measure. But when it's tilted by 45° in pitch or roll, it produces an error of about 3°.

In an application as accurate as telescope guidance, 3° is horrible. It's bad enough that even I can't tolerate it and I'm going through the firmware line by line to see if I can do something about it...


As far as conversion to equatorial coordinates, wouldn't you also need a position on Earth and accurate time as well?
 
Last edited:
IMU gives you three angles: magnetic heading (yaw), pitch and roll.

640px-Roll_Pitch_Yaw.JPG


Think of the tube of the telescope as the body of the aircraft, flying towards the star you are aiming at: heading is azimuth, pitch is elevation (okay, almost, depending on the measuring convention, but you get the idea) and roll can be ignored.

Find some standard routines from converting between equatorial coords and az/el coords and you're set.

Source: I have built an IMU :-)

---------- Post added at 11:17 PM ---------- Previous post was at 10:25 PM ----------

The bigger problem is that your sensor might not be entirely accurate. I know mine isn't. When it's level with the ground, the angles it outputs are accurate to as far as I can measure. But when it's tilted by 45° in pitch or roll, it produces an error of about 3°.

If I remember correctly, the problem is that different axes have different sensitivity, and in particular the Z axis is way off from X and Y.

The solution was to orient the accelerometer so +X points down, and note the reading (it should be exactly 1g, but it will be off). Repeat for Y and Z axes. Then use measured values to rescale measured X, Y and Z accelerations before plugging them into functions which calculate Euler angles.

A simple sanity check is to verify if the vector sum of accelerations on X, Y and Z axes is constant regardless of device orientation (it should always be exactly 1g if the device is at rest).
 
Thanks for the help! I should also mention that I have a EM-406a GPS unit attached the the ArduIMU. I should be able to use this to get the time and position.
 
Back
Top