dji-sdk / Guidance-SDK-ROS

The official ROS package of Guidance SDK for 32/64 bit Ubuntu and XU3
80 stars 87 forks source link

Frame conventions for global motion data and velocity data. #28

Open abhigoudar opened 8 years ago

abhigoudar commented 8 years ago

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 ?

abhigoudar commented 8 years ago

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.

martinscrach commented 6 years ago

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 !

INFINITSY commented 6 years ago

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!