dji-sdk/Guidance-SDK-ROS

Frame conventions for global motion data and velocity data.

Opened this issue · 3 comments

I am using the guidance as a odometry source for UAVs. I am looking for some info on the frame conventions used. Is the odometry data reported in a NED or ENU frame ? The x axis seems to be consistent. But movements along y axis seemed to be inverted. Could someone shed some light on this ?

Update: Test flights revealed that motion along y-axis obeyed NED convention. I cannot confirm that the global motion data is indeed in NED space since the z value is zero most of the time. By inverting the motion along y-axis, I was able to perform flights using position from global motion data as a differential input. Another data point would help consolidated this issue.
Also, I noticed that the guidance seems to use IMU for velocity estimates in the body coordinate frame. However, the axis are inconsistent. By that I mean a roll produces a body frame velocity in x axis and a pitch produces velocities in y axis.

Hello,

I'm trying to use guidance to have motion data but even if I put the select motion () function in the usb_example provided in the sdk I don't see the data displaying. The e_motion event doesn't occur, never...
I understand that you have succeded in displaying motion data ? Could you help me to do the same ?
I would like to use it as an odometry source like you.

Thank you !

Hi,

I've obtained the motion data successfully using select_motion(), and visualized the position and pose in Rviz. But the results show that the movement and orientation are incorrect. When moving along the z-axis and body frame y-axis, it goes in the opposite direction in Rviz. But when moving in the direction of the head of the drone(body frame x), the result is correct in Rviz. Do you have any idea how this happens?

Thanks!