Before anything, I would like to say that I greatly appreciate your anticipation regarding anything related to PX4 both here and on GitHub, you are actually making me consider being part of the contributors even when our senior project finalizes.
That being said, the part I had issue with was to actually not about adding animation (which is indeed straightforward) but adding the model to world xml. With
include, it just places a static object. For animation,
script part was quite straightforward, but what I couldn’t manage (after trying to work with different combinations of
actor tag, XML is hard to me, especially when I can’t find a decent document )
About your recommendation regarding just using multi-vehicle setup, I actually agree with you. However, during the meeting with the “supervisor company”, the dude apparently recommended against it since “it would be less intense in terms of hardware requirements”.
The more drones you add to the world with their own nodes and communication the more, the laggy it gets. Don’t get me wrong, I think ros nodes are probably not that HW intensive, especially MAVROS etc., but problematic thing is more relevant to the simulation I think.
Personally on my computer (Ryzen 5 3600, 6Core 12Thread @ 3.60 Ghz, Nvidia GTX 1660 TI, 16 GB Ram @ 3200 Mhz) I am fine, but other members of the team apparently have performance issues when they run Gazebo + ROS + QGroundControl. Adding some online conference with screen share (which we avoid unless we have to, basically only I can do all of these at the same time ) it gets laggy. I don’t have the whole conversation since I couldn’t attend that meeting, but I suppose the advice of using actors raised when one of my friends told about lag.
Anyways, these were a bit irrelevant to PX4 context, since it doesn’t necessarily report a performance issue, I just wanted to provide background information regarding why it was possibly recommended.
About adding Iris or any other PX4 vehicles, I just need tips regarding how I could add the model to the world, within actor tags, so that I can place positions (such as making “pray” or “rabbit” drone follow a path that is like “8”) and capture images. I have inspected model directories within gazebo_sitl and some of them are .dae (parts of the drone, no mesh for the whole object since it is animated I think). There also seems to be config, jinja and .sdf files which I couldn’t directly made use of.
I can’t wait to generate our data set and share our model, accuracy results using this method.
If you think this is not viable and we should:
- Launch using multi-vehicle setup as I intended to do so initially,
- Use Typhoon H480 + (Iris or anot other UAV model) within QGroundControl
- Using various missions, MAVROS control or manual control via joypad, capture images of the “prey” drone.
For me, this path is nicer, since we can just use two different MAVROS nodes to control both “cat” and “mice” drone. However, with the use of actors, we could just edit typhoon_h480_world, adding some scripted movement and fly around it with Typhoon 480 to capture images. I will look further into these .sdf files, seeing what kind of tags I can use.
I know these lengthy posts naturally reflect motivation and anticipation on my part which I can imagine you appreciate, but at the same time I may not be efficient enough expression my thoughts. In that regard I also apologize for taking your time. I hope these discussions will still prove to be useful for people that work with PX4Autopilot, MAVROS, Gazebo and other relevant components.