mavlink / mavros

MAVLink to ROS gateway with proxy for Ground Control Station
Other
879 stars 989 forks source link

global_position.cpp plugin #87

Closed TSC21 closed 10 years ago

TSC21 commented 10 years ago

Creating this plugin has a reason: gps.cpp gives us GPS_RAW_INT handle, which is the global position, as returned by the Global Positioning System, which means, a RAW sensor value.

For getting the filtered global position, we need to read the GLOBAL_POSITION_INT, which is fused with IMU sensor data onboard the FCU. This can be useful to add some features regarding global<->local conversions.

TSC21 commented 10 years ago

What do you think of this? It's feasable?

vooon commented 10 years ago

Yeah, but need find standard messages for this.

TSC21 commented 10 years ago

Probably sensor_msgs/NavSatFix.msg for lat/lon/alt, sensor_msgs/MagneticField.msg for compass and geometry_msgs/Vector3Stamped.msg to GPS velocities.

Still in doubt relative to the relative altitude (maybe a custom stamped message with a float64 rel_alt field needs to be created - mavros/global_position/rel_alt). But probably it's not the best way. Maybe it can be thrown away in this case, since we have the barometer (or sonar) measures.

To convert to local coordinates, LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET should be considered. A origin should be take in account in this case, I think. Don't know if it's active but there's SET_GPS_GLOBAL_ORIGIN to do that job.

@LorenzMeier I'm calling you also to this topic so you can please clarify and give your opinion in what should be done in this case if we want to do a conversion from GPS to local coordinates. Thanks!

TSC21 commented 10 years ago

Found what can be used to convert into a pose (GPS to UTM): http://wiki.ros.org/gps_common?distro=hydro

TSC21 commented 10 years ago

I already started to develop this! I will let you know when I am to finish it out. Probably going to need some help in one or two particular cases.

vooon commented 10 years ago

Reopen: plugin not complete.

TSC21 commented 10 years ago

I think as is, it can be closed ;) Next thing to do should be add the possibility to handle GLOBAL_POSITION_INT_COV.