ardrone2.0s coordinate system
Hy community!
I am writing my thesis at the university about Localization and navigation of ARDrone 2.0. I have read all of the available topics and documentations for the ros support of ardrone, but i have a problem which i could not solve yet.
I know, that i can get the position data from ardrone's /ardrone/odometry topic. And i know that too, that if i get an msg object on that topic, the position data is in the msg->pose.pose.position field!
But can somebody explain to me HOW THIS POSITION DATA IS DETERMINED??? How does the drone's coordinate system works? HOw can i get this coordinate system?
This is important to me, because i have an indoor localization system, and with the help of it i plan the start and end point of the path. But thanks to the turbulance and the noise of the drone, the provided data of the localization system is very noisy during the "travelling".
So i figured out that i have to transform the indoor localization data (start coordinate, end coordinate, orientation) into the drone's coordinate system. But this is not clear to me how this inner coordinate system works. And i could not find any info about it either ... yet.
So i hope you could help me! This is very important, because it is the last step of my work to finish it! My mathematic model is perfect, and i coded it properly. But the perception of "did the drone reached the destination" doesn't perfect.
I'm using Indigo Igloo in Ubuntu 14.04 virtual machine! And ardrone_autonomy as well.
Thank you in advance! Yours, Steve
Update:
Thank you for answering this fast lads! I appreciate it!
So is there any way to "visualize" / draw up any kind of coordinate system to my calculations? I would like to do some kind of "coordinate transformation" on my own in order to get the destination coordinate in the Drone's coordinate system.
The aim of this calculation is to supervise the drone's travelling to the destination point: if the drone not turned enough and started to travel to a wrong direction, i could shut down the process automatically. OR if the drone has arrived to the destination's environment (for example 30 cm distance from that point), i could send a signal to the drone which tells it to STOP, YOU JUST ARRIVED TO YOUR DESTINATION!
Update2
I am so sorry that ARDrone autonomy's documentation is so imperfect. I mean the coordinate frames chapter is only 1 page long... And there is not any concrete documentation of how drone frames is related to each other, how or when odom tf is set up... Why do i have to take the time to figure out such important things like that???
Why can't be just one man or a team who write the documentations RESPONSIBLY? It is very annoying!!!
@Steve_RosUsr: it's considered bad form to say something like "this is urgent" or to give deadlines so I removed that from your question.
@Steve_RosUsr: I deleted your "answer" and moved the text to your question. Please don't use answers to provide more information. This isn't a forum.
Many of the projects that are available were made as part of a person's or groups research (such as
ardrone_autonomy
). The project was then graciously released to the community so that everyone can benefit. We should feel fortunate that we can "stand on others' shoulders" and focus on our ...research and not have to write drivers and other software that isn't directly related to our research/job. Sometimes documentation isn't the best (
ardrone_autonomy
's is quite good actually), but since this is open source you can... read the source!There's also plenty of books, articles, and documentation (and this site) that explain a lot of ROS (which is what you're having trouble with). ROS has a very large ecosystem and takes a lot of reading (including source code) to understand how everything works. Good luck and keep asking questions!
@jayess: we should be glad we can re-use, but a dump of source code with an implicit "but you can read the source" is obviously not very helpful. The ardrone pkgs are not like that, but I can understand the frustration of the OP.
In this case, I believe the authors expect (whether that is ..
.. ok or not, I don't know) a certain level of understanding from their users, and they show a TF tree + add a link to
REP-103
. For someone 'in the know' wrt ROS tf frames (and probably drones), this should be sufficient to understand what is going on.For newcomers this might not be enough.
@gvdhoorn: Agreed. An answer of "read the source" isn't productive nor what I was arguing for. What I was arguing for was instead to remember that many of the packages that we use aren't written by big companies with time/budgets to write extensive documentation. And, that there are many ...