ArduPilot / ardupilot_gazebo

Plugins and models for vehicle simulation in Gazebo Sim with ArduPilot SITL controllers
GNU Lesser General Public License v3.0
81 stars 76 forks source link

Camera: ported GstCameraPlugin from PX4 gazebo classic #97

Closed trexgerratt closed 2 months ago

trexgerratt commented 2 months ago

I'm sure it could be improved, but here's a port of the gazebo classic GstCameraPlugin into Gazebo harmonic. This was heavily based on the plugin from the PX4 gazebo repo (https://github.com/PX4/PX4-SITL_gazebo-classic/blob/main/src/gazebo_gst_camera_plugin.cpp) and the existing camera zoom plugin.

I ran into problem after problem trying to use the new gazebo api for taking frames from the gazebo server and ended up subscribing to the gazebo image topic instead. It works really well, but I'd love feedback or improvements for this approach as I know it's not super efficient. Hoping this PR gets the ball rolling in the right direction.

srmainwaring commented 2 months ago

@trexgerratt - this is a great addition. I've got a few change requests, mostly formatting and conventions for the sdf elements. I think we also need an example and a section in the README explaining the additional dependencies and use.

Here's the video from the iris streamed to QCG running on macOS - very nice!

gz-sim-gstreamer
srmainwaring commented 2 months ago

@trexgerratt - could you please rebase-merge https://github.com/trexgerratt/ardupilot_gazebo/pull/2 into your PR branch, I can then merge this PR.

For some reason I cannot push commits to your branch, although you have allowed maintainers to edit this PR.

Edit worked on another attempt - so will merge on CI pass.