My name is Lucas. I've been a long time lurker of Unmanned Spaceflight and I'm always in awe of what the members of this site can achieve!
For a few weeks I've been attempting to project the Rosetta NAVCAM and OSIRIS imagery onto the ESA shape model. My goal is to end up with a very high resolution texture of 67P's surface.
I'm new to processing data from probes and as such have run into some issues. I could definitely use some expert advice!
My technique is to set the relative position\orientation of Rosetta\67P at the time each NAVCAM image was taken, then project each pixel out of the "virtual NAVCAM" and find it's intersection point on the ESA shape model.
I've tried this 2 different ways but with no success:
1. Reading SC_TARGET_POSITION_VECTOR, SUB_SPACECRAFT_LATITUDE, SUB_SPACECRAFT_LONGITUDE, RIGHT_ASCENSION and DECLINATION from each image label.
With those values I was able to correctly position the objects in my scene and get the virtual NAVCAM pointing at 67P. However I couldn't get the shape model in the correct orientation.
I suspect I wasn't computing the correct rotational axis for the shape model.
2. Using CSPICE to get the relative positions of the NAVCAM and 67P and finding their orientations relative to J2000.
Once again the object positioning was perfect and the virtual NAVCAM pointed at 67P, but the shape model was in the incorrect orientation. If it's any help the code for this was:
CODE
str2et_c(lbl.IMAGE_TIME, &et);
spkezr_c("67P/C-G", et, "J2000", "NONE", "ROSETTA", pos, <); // Get the position from Rosetta to 67P.
pxform_c("J2000", "67P/C-G_CK", et, rot_67p); // Get the absolute 67P rotation.
pxform_c("J2000", "ROS_NAVCAM-A", et, rot_ros); // Get the absolute Rosetta rotation.
spkezr_c("67P/C-G", et, "J2000", "NONE", "ROSETTA", pos, <); // Get the position from Rosetta to 67P.
pxform_c("J2000", "67P/C-G_CK", et, rot_67p); // Get the absolute 67P rotation.
pxform_c("J2000", "ROS_NAVCAM-A", et, rot_ros); // Get the absolute Rosetta rotation.
The results are being rendered in OpenGL (Y axis up) which makes me think I'm might also be missing a transform from Z up to Y up.
Any insight into this problem would be greatly appreciated!
Best regards