Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented QGC-Gazebo Parameter Sync Tools & Avl_automation Enhancements #79

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

Filipe-Cavalheiro
Copy link

Two new tools were implemented and one was updated

Summary

This pull request introduces two new tools and an update to Avl_automation, aiming to improve simulation accuracy and enhance aerodynamic modeling.

New Tool: QGC2ROMFS_parameters

  • Ensures that parameters set in QGroundControl (QGC) are correctly transferred to Gazebo.
  • Addresses a critical issue where discrepancies between QGC and Gazebo parameters caused severe crashes during real-world tests.
  • Can be executed manually or with a single-line command, as described in the README.

New Tool: ROMFS2QGC_parameters (In Development)

  • Enables the export of simulation-tuned parameters back to QGC for real-world use.
  • Provides an automated solution to ensure consistency between simulation and physical flight behavior.

Updated Tool: Avl_automation

  • Now supports multiple control surfaces per wing surface.
  • A new example has been added to demonstrate this feature.

Feedback & Next Steps

Any feedback is appreciated to ensure a smooth integration of these improvements. Let me know if anything needs adjustment!

Filipe-Cavalheiro and others added 8 commits February 18, 2025 16:11
…piler' since the more robust

surface definition is not compatible with the old yaml version

This new tool helps make the simulation more accurate by importing from QGC the parameters
and adding them to the gazebo sim

This tool is not complete and turns Gazebo parameters back to a .param file for QGC
Copied an actual error from the gazebo output to better show and explain why do errors appear on the first simulation run
README was updated to reflect this change
Copy link
Member

@Jaeyoung-Lim Jaeyoung-Lim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the contribution!

  • Could you separate the two features to two different PRs?

  • I am not sure if I understand correctly the QGC2ROMFS feature. Wouldnt this be agnostic to the simulator used, and simply a separate tool for px4? Why is this useful for gazebo?

@Filipe-Cavalheiro
Copy link
Author

Hi @Jaeyoung-Lim,

Thank you for your reply.

I’ve only used Gazebo Classic, so I hadn’t considered the versatility of QGC2ROMFS across different simulators. As long as the parameter definition format remains consistent across all simulators, then yes! Both QGC2ROMFS and ROMFS2QGC will have a PR submitted to PX4, with only the updated AVL_automation remaining specific to Gazebo.

}
],
"version": 4
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove vscode artifacts from the PR

"/opt/ros/humble/lib/python3.10/site-packages",
"/opt/ros/humble/local/lib/python3.10/dist-packages"
]
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, I don't think this should be part of the PR

@Jaeyoung-Lim
Copy link
Member

@Filipe-Cavalheiro There seems to be vscode artifacts and pycache submitted as part of the PR. After these are removed, I can review the PR

@Filipe-Cavalheiro
Copy link
Author

Hi @Jaeyoung-Lim,
The artifacts have been removed, apologies for the newbie mistake, and both QGC2ROMFS and ROMFS2QGC have been transferred to new PRs in the PX4 repository:

To be completely honest, I do believe that the AVL automation with multiple control surfaces per wing is functional. However, I haven’t been able to create a YAML file for AVL that I’m fully satisfied with. This is mainly because aerodynamics are outside my area of expertise so I believe that my definition of the wings (easy_glider4) is not totally correct.

@hamishwillee
Copy link

Assuming this changes the way the AVL tool is run, would be great if we could have a docs update after this merges: https://docs.px4.io/main/en/sim_gazebo_gz/tools_avl_automation.html#advanced-lift-drag-avl-automation-tool

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants