mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-05-23 13:47:35 +08:00
publish platform position on uOrb topic.
reused SensorGps.msg with new topic platform_gps_position. Currently only latitude_deg, longigude_deg and altitude_ellipsoid are set. check out with listener platform_gps_position.
This commit is contained in:
+1
-1
@@ -69,4 +69,4 @@ uint8 RTCM_MSG_USED_NOT_USED = 1
|
||||
uint8 RTCM_MSG_USED_USED = 2
|
||||
uint8 rtcm_msg_used # Indicates if the RTCM message was used successfully by the receiver
|
||||
|
||||
# TOPICS sensor_gps vehicle_gps_position
|
||||
# TOPICS sensor_gps vehicle_gps_position platform_gps_position
|
||||
|
||||
@@ -561,6 +561,14 @@ void GZBridge::platformNavsatCallback(const gz::msgs::NavSat &nav_sat)
|
||||
// print d n'ebugging pas
|
||||
// PX4_INFO("Moving Platform NavSat pos: lat=%.2f, lon=%.2f, alt=%.2f",
|
||||
// nav_sat.latitude_deg(), nav_sat.longitude_deg(), nav_sat.altitude());
|
||||
sensor_gps_s gps_output{};
|
||||
|
||||
gps_output.latitude_deg = nav_sat.latitude_deg();
|
||||
gps_output.longitude_deg = nav_sat.longitude_deg();
|
||||
// not sure if this is msl or ellipsoid. consult gz docs.
|
||||
gps_output.altitude_ellipsoid_m = nav_sat.altitude();
|
||||
|
||||
_platform_gps_position_pub.publish(gps_output);
|
||||
|
||||
// TODO publish the corresponding uOrb msg. then in reality we just have
|
||||
// to convert the mavlink msg from the ground station to exactly the
|
||||
|
||||
@@ -54,6 +54,7 @@
|
||||
#include <lib/drivers/device/Device.hpp>
|
||||
#include <uORB/topics/sensor_accel.h>
|
||||
#include <uORB/topics/sensor_gyro.h>
|
||||
#include <uORB/topics/sensor_gps.h>
|
||||
#include <uORB/topics/vehicle_angular_velocity.h>
|
||||
#include <uORB/topics/vehicle_attitude.h>
|
||||
#include <uORB/topics/vehicle_global_position.h>
|
||||
@@ -190,6 +191,8 @@ private:
|
||||
uORB::Publication<vehicle_local_position_s> _lpos_ground_truth_pub{ORB_ID(vehicle_local_position_groundtruth)};
|
||||
uORB::PublicationMulti<sensor_baro_s> _sensor_baro_pub{ORB_ID(sensor_baro)};
|
||||
|
||||
uORB::Publication<sensor_gps_s> _platform_gps_position_pub{ORB_ID(platform_gps_position)};
|
||||
|
||||
uORB::PublicationMulti<sensor_accel_s> _sensor_accel_pub{ORB_ID(sensor_accel)};
|
||||
uORB::PublicationMulti<sensor_gyro_s> _sensor_gyro_pub{ORB_ID(sensor_gyro)};
|
||||
uORB::PublicationMulti<vehicle_odometry_s> _visual_odometry_pub{ORB_ID(vehicle_visual_odometry)};
|
||||
|
||||
Reference in New Issue
Block a user