Support Website Contact Support Blog

convert yaw, pitch, and roll to kappa, phi, omega


I have been tasked with processing data from a fixed-wing UAV. The output photos are not geotagged, but I do have a log that reports: Image, Latitude, Longitude, Altitude, Heading, Pitch, Roll, and Time.

I can import this .csv into Pix4D if I drop out the heading/pitch/roll info, but I would like to convert these values to Kappa/Phi/Omega so that I can use that info. I have looked over the help page for "How to convert Yaw, Pitch, Roll, to Omega, Phi, Kappa (, but frankly it was little help.

I there a user-friendly calculator I can use to convert these values? Or also I have read that if I import a TetraCam or QuestUAV log into Pix4D, then it will convert these values for me. Are there examples of these log formats so that I can modify my .csv log to match one of these formats?

Any help will be appreciated!

Can we chat?

Trying google hangouts?

or email

For what its worth, Euler angle formulas are easy to fine but I’m not smart enough to make a useful tool to input YPR data or output YPR data, very frustrating situation.

For the last two months or so, I was going to post this exact request.  I geotag my images and Pix4D does a fabulous job of aligning the pictures.  My hopes are that either/both speed and accuracy can be improved by providing the kappa, phi, omega data like is used in regular DJI Phantom pictures.

Gary, Paul or anybody at Pix4D figure this out yet?

We have updated the article cited in the post with a new document explaining how the omega, phi and kappa angles should be defined (there is a pdf to download at the bottom of the article). 

Here is a separate link to download it, hope it helps! 

]( that the Omega, Phi and Kappa angles are only used in the “Accurate Geolocation and Orientation” calibration pipeline. When using “Standard” or “Alternative” they are disregarded. From my understanding, the accurate pipeline will assume that these angles are very accurate and will thereby spend less time optimizing them, which is how the processing is speed up. Usually, this pipeline is used for projects taken from planes with high accuracy IMUs (which are very expensive), i.e. it will probably not work as well with the data from a DJI Phantom drone.  

Many thanks Pierangelo, I will see if I can figure out the math with the DJI flight logs.  I haven’t used that calibration setting yet but it is worth exploring in my testing.  When a big project is taking 7+ days to process even on my “super” computer, well even a 5% speed improvement is significant.

1 Like

Hi All,

I was trying to compute the Omega, phi and Kappa values from the formulas given in the documents from above link.

I took the rotation matrix from calibrated_camera_parameters.txt file inside the Pix4D’s output params folder. As given in companion notes, I multiplied the matrix with [(-1,0,0),(0,1,0),(0,0,-1)]. Then I followed the formulas given in right column of table1 in page 6.

omega = arctan −C 2,3/C 3,3

phi = arctan C 1,3/sqrt(C 2,3 **2 + C 3,3 **2)

kappa = arctan −C 1,2/C 1,1

And I compared the values with those given in calibrated_external_camera_parameters.txt file in same params folder.

I found that for some images the Kappa angle came same, but for others, Pix4D has done +/- 180 to the absolute value. I am interested in knowing the logic/pattern about how Pix4D identifies such images?

Thank you.

@Developer2 XYZ

We replied in the Roll pitch roll to Pix4d rotation matrix community post.

In order to keep the community clean, please avoid duplicating the posts in the future. Thank you for understanding.