Closed leifole closed 9 years ago
You're right ... it should be NWU. The original idea was to stick to zero-heading pointing north.
Am 08.06.2015 um 16:20 schrieb Sylvain Joyeux:
You're right ... it should be NWU. The original idea was to stick to zero-heading pointing north.
— Reply to this email directly or view it on GitHub https://github.com/rock-core/base-types/issues/50#issuecomment-110011143.
If we want to have zero-heading pointing north, shouldn't it be NED (North-East-Down) then? At least according to ROS REP 103. And NWU is quite uncommon (without having proper statistical data on that ;-) ).
Leif
Having Z down is really shitty. I know it's a common convention in aerospace, but in robotics it's close to unused (no real statistical data on that either). In any case, there's no way we change the actual convention actually used so far. So, we'll have to break with ROS REP 103 and stick with NWU
Disclaimer: I am biased, I really think that the only convention that makes sense is heading == 0 => pointing north)
If we would design from scratch, I would have favored NED, but thats just me. And since NWU is already in use, I would also avoid changing that. But we shouldn't refer to ROS REP 103 anymore, or at least mention it.
:+1:
I mentioned the deviation from ROS REP 103 on https://rock.opendfki.de/wiki/WikiStart/Standards. Can / should I close this issue?
Well, I agree with what has been said so far, but I'd like to bring to light a reference manual that has been used for underwater robotics, at least in the control field. The document's name is "Nomenclature for treating the motion of a submerged body through a fluid" and it indicates the use of NED axis convention. It can be found on the following link (pages 5 to 7 for axes convetions):
http://www.itk.ntnu.no/fag/gnc/papers/Sname%201950.PDF
I really appreciate when the conventions are based on some reference manual, since we can walk on the same ground as other systems and researchers when it come to conventions. But I'm sure you guys know what is best considering that currently the system is based on a different frame, and changing that could be costly.
Nomenclature for treating the motion of a submerged body through a fluid
The problem is that each engineering domain decided that it would be smart to use their own convention[1]. Fortunately for us, robot software is very much cross-domain, which makes it necessary to pick one. It so happens that Z up has been pretty universal in the robotic domain. Where things have differed is about X or Y forward. I've been taken off-guard by the ROS convention as I was used to have bodies point north when heading=0 (meaning that the two different conventions I saw when I was at LAAS was either Yforward and WNU or Xforward and NEU)
I can't remember why we picked a different reference than ROS (i.e. if it was intended or just a mistake), but if I was to redo this decision today I would definitely try to get the ROS one accepted.
[1] AFAIK, in aerospace engineering, the Z down was there because they wanted X forward and pitch>0=>moving up. Which makes sense for humans doing control laws (computers really could not care less), but really for nothing else. Robotics work a lot in cartesian coordinates and mostly stopped using euler angles as internal representations for rotations, which makes Z positive=up the most intuitive.
Can / should I close this issue?
I guess so, no ?
Since we use ROS REP 103 as convention, we use x forward, y left and z up for body fixed frames. But then our documentation is talking about world-fixed frames, that should be aligned to North-East-Up.
That seems to be a mistake, and I have never heard of such a NEU convention (which would also switch from right-handed-rule to left-handed-rule).
In accordance with ROS REP 103 we should use either ENU or NED for world fixed frames.