Question concerning the movement of a 6DOF + frames
Right now I m writing a small urdf file to simulate the behaviour of a small RC helicopter (or UAV) in Rviz. The flying robot is going to read datas from an IMU and should move in Rviz accordingly to the received angles like in the following picture:
Now...I found a problem writing my code because as stated here is the definition of a "floating" joint deprecated and no more usable. My idea was to define a frame fixed with the robot and a "floating" frame which rotate about all 3 axis (see euler angles as a visual description of my idea):
How can I solve this problem? Defining 3 different frames doesn 't help since the rotation order is very important as you can see during a transformation about one axis then the other and the last one:
I this case I get different orientations depending on the sequence of the rotations. Shortly: 3 frames with a common center is definitely not the way to go...
EDIT: (Thanks foote): another idea could be to think the flying robot as a flying "point". It moves on a reference map. But in this case I face a big problem regarding that from this point of view is not possibile to give the flying point an orientation about one axis (let say yaw), just the absolute localization of the object in the space. Or how about roll? I can describe the movement in reference of a static object in Rviz but not the different position around one axis.
So I would be really happy if you could me some hints and example to realize a small flying object. Perhaps it is only a different way to think or a different perspective of the problem. Anyway any help is much appreciated! :)
Thanks and regards