simulation: update sensor_agp_sim for AuxGlobalPosition message

Update the AGP simulator to publish the new AuxGlobalPosition message
type with the required source ID field.
This commit is contained in:
Marco Hauswirth 2026-02-12 16:20:31 +01:00 committed by Marco Hauswirth
parent 8a9be9a8f0
commit 17242bc1a4
2 changed files with 7 additions and 6 deletions

View File

@ -114,7 +114,7 @@ void SensorAgpSim::Run()
_time_last_update = now;
if (!(_param_sim_agp_fail.get() & static_cast<int32_t>(FailureMode::Stuck))) {
_measured_lla = LatLonAlt(gpos.lat, gpos.lon, gpos.alt_ellipsoid);
_measured_lla = LatLonAlt(gpos.lat, gpos.lon, gpos.alt);
}
if (_param_sim_agp_fail.get() & static_cast<int32_t>(FailureMode::Drift)) {
@ -131,17 +131,17 @@ void SensorAgpSim::Run()
CONSTANTS_RADIUS_OF_EARTH);
const double altitude = (double)(_measured_lla.altitude() + (generate_wgn() * 0.5f));
vehicle_global_position_s sample{};
aux_global_position_s sample{};
sample.id = 123;
sample.source = aux_global_position_s::SOURCE_VISION;
sample.timestamp_sample = gpos.timestamp_sample;
sample.lat = latitude;
sample.lon = longitude;
sample.alt = altitude;
sample.lat_lon_valid = true;
sample.alt_ellipsoid = altitude;
sample.alt_valid = true;
sample.eph = 20.f;
sample.epv = 5.f;
sample.lat_lon_reset_counter = 0;
sample.timestamp = hrt_absolute_time();
_aux_global_position_pub.publish(sample);

View File

@ -44,6 +44,7 @@
#include <uORB/SubscriptionInterval.hpp>
#include <uORB/topics/parameter_update.h>
#include <uORB/topics/vehicle_global_position.h>
#include <uORB/topics/aux_global_position.h>
using namespace time_literals;
@ -85,7 +86,7 @@ private:
uORB::SubscriptionInterval _parameter_update_sub{ORB_ID(parameter_update), 1_s};
uORB::Subscription _vehicle_global_position_sub{ORB_ID(vehicle_global_position_groundtruth)};
uORB::PublicationMulti<vehicle_global_position_s> _aux_global_position_pub{ORB_ID(aux_global_position)};
uORB::PublicationMulti<aux_global_position_s> _aux_global_position_pub{ORB_ID(aux_global_position)};
perf_counter_t _loop_perf{perf_alloc(PC_ELAPSED, MODULE_NAME": cycle")};