PX4 Supported package - Why Simulink SITL use uORB ground truth?

4 次查看(过去 30 天)
When I tried to run Simulink SITL, with upload my own controller in px4, I found that I have to read uorb message with ground truth.
When I read just uorb message, it only reads 0.
Can you explain what groundtruth means and why should I use this instance not just uorb message(e.g. vehicle_local_position, not vehicle_local_position_groundtruth)?
Thank you in advance!

回答(1 个)

Arun Mathamkode
Arun Mathamkode 2023-4-28
You should be able to use vehicle_local_position instead of vehicle_local_position_groundtruth as well. I would recommend you try out the controller model described in the PX4 HITL example for SITL as it is a bit better controller than the SITL controller. I also recommend trying out this in R2023a.
  2 个评论
Arun Mathamkode
Arun Mathamkode 2023-5-2
Can you please check if your estimator is running with out any errors? Are you seeing any errors in the SITL window? As per your description the uORB is never getting published (A value of 0 indicates that the uORB data at the Msg output is the latest, and a value of 1 indicates that the uORB data was received during the previous time step). My best guess is that the estimator is not running properly. You can verify if the uORB getting published using 'listener' command in SITL window.





Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by