CSV files from ulog: difference between files that ends with groundtruth

I’m logging the flight data of jmavsim simulator on matlab. I’m converting the ulog file into csv files through ulogpy. The convertion of the ulog files creates several csv files for every message published (e.g vehicle_local_position, vehicle_attitude etc…). I have different files that have similar name as vehicle_local_position vehicle_local_position_groundtruth , vehicle_attitude,vehicle_attitude_groundtruth and so on. What does it mean? What is the difference between the csv file that ends with _groundtruth ?

_ground_truth is what is correct, so what is simulated by the simulator, and not what PX4 is estimating based on the (noisy) sensor data.

Hello, are you implying that the data with “_groundtruth” in their names are the correct actual trajectory data in the log files?

I have a question: In my previous SITL (Software-in-the-Loop) experiments, the flight logs included the following data:

  • “vehicle_angular_acceleration”
  • “vehicle_angular_velocity”
  • “vehicle_attitude”
  • “vehicle_attitude_groundtruth”
  • “vehicle_attitude_setpoint”
  • “vehicle_global_position”
  • “vehicle_global_position_groundtruth”
  • “vehicle_gps_position”
  • “vehicle_local_position”
  • “vehicle_local_position_groundtruth”

However, when I performed fixed-wing simulation using SIH (Software-in-the-Hand), the flight logs contained the following data:

  • “vehicle_angular_velocity”
  • “vehicle_angular_velocity_groundtruth”
  • “vehicle_attitude”
  • “vehicle_attitude_groundtruth”
  • “vehicle_attitude_setpoint”
  • “vehicle_global_position”
  • “vehicle_global_position_groundtruth”
  • “vehicle_gps_position”
  • “vehicle_local_position”
  • “vehicle_local_position_setpoint”

In the first case, the data is lacking the “_groundtruth” version for angular velocity and angular acceleration, while in the second case, “vehicle_local_position_groundtruth” is missing, and even “vehicle_angular_acceleration” is not present. Why is this the case?

I require accurate position and attitude data for fixed-wing UAV flight. How can I resolve these discrepancies?

Could you please respond to this question?@JulianOes

Simulation in hardware, I think is what this is.

That’s probably because the data is not generated by the simulator and sent to be logged. You would have to inspect the simulator that you’re using and check what data it sends and where it arrives. Angular acceleration is likely not available because it’s not actually in the sensor model. To simulate it we would have to differentiate the angular velocity.

According to the sih simulator source it should be published:

I’d add some printfs in that module and in the logger to check where it is getting lost.

I do this in my spare time and I happened to be on holiday. If I respond I respond, if not, then I might not have the time. If you need my attention urgently, consider using github sponsors.

1 Like

Thank you very much for your reply. I will seriously consider your answers and suggestions.

1 Like