ros-geographic-info / geographic_info

ROS packages for geographic information
http://ros.org/wiki/geographic_info
60 stars 61 forks source link

Azimuth message type? #52

Open peci1 opened 1 year ago

peci1 commented 1 year ago

Hi, I was doing research about ways of representing azimuth in ROS, and found out that there is no publicly available suitable message for it! How are people coping with that? I see robot_localization expects azimuth encoded in an IMU message, which is... a workaround? :)

Nevertheless, for our internal purposes, I've put together the following message definition. Would there be interest to send a PR and integrate this message into the more standardized geographic_msgs message library?

Azimuth.msg
Header header

# The represented azimuth angle (angular difference between a given direction and north/east)
float64 azimuth

# Variance of the measurement (i.e. standard deviation squared)
float64 variance

# Unit of measurement:
#  RAD: radians, default
#  DEG: degrees (not suggested by REP-103, but are more human-friendly)
uint8 UNIT_RAD=0
uint8 UNIT_DEG=1
uint8 unit

# Orientation type:
#  ENU: default, 0 degrees on east, increases CCW, follows to REP-103
#  NED: 0 degrees on north, increases CW (consistent with the touristic magnetic compasses)
uint8 ORIENTATION_ENU=0
uint8 ORIENTATION_NED=1
uint8 orientation

# Which north reference is used:
#  MAGNETIC: magnetic north, changes in time
#  GEOGRAPHIC: geographic north, stable in time, also called "true azimuth"
#  UTM: UTM grid azimuth, based on GEOGRAPHIC, but accounts for UTM grid convergence; valid only in specific UTM zone
uint8 REFERENCE_MAGNETIC=0
uint8 REFERENCE_GEOGRAPHIC=1
uint8 REFERENCE_UTM=2
uint8 reference