PX4 / PX4-Autopilot

PX4 Autopilot Software
https://px4.io
BSD 3-Clause "New" or "Revised" License
8.2k stars 13.37k forks source link

(new) GZ Feature tracker #23602

Open Jaeyoung-Lim opened 3 weeks ago

Jaeyoung-Lim commented 3 weeks ago

Describe problem solved by the proposed feature

This is a feature tracker to achieve feature parity with gazebo classic.

Feed free to modify the issue to append the list or mark it as completed. If there is an issue/PR, please reference it.

Describe your preferred solution

The list of features that are missing in the new GZ is as follows:

Models

Worlds

PX4 related Features

Sensors

Actuators

Simulation Features

Describe possible alternatives

NA

Additional context

dakejahl commented 3 weeks ago

Add optical flow to the sensors list. I can help with creating the plugin architecture, I just need to find some time to do it.

mrpollo commented 3 weeks ago

Maybe add switching the MAVSD SITL tests to the new GZ as well. I can take care of it once we have faster than real-time.

dirksavage88 commented 3 weeks ago
  1. Collision prevention/obstacle distance already exists in PX4 gz with the x500 lidar model: https://github.com/PX4/PX4-Autopilot/blob/1a0f97ebbd67870d4686ee7ebb6d38e11662eabc/src/modules/simulation/gz_bridge/GZBridge.cpp#L808

  2. Catapult is just a Wrench publisher in GZ and a model would purely be for visual purposes. Easy to implement outside of PX4: gz topic -t /world/default/wrench -m gz.msgs.EntityWrench -p 'entity:{name:"x_500",type:MODEL},wrench:{force: {x:32000,y:0,z:8500,}}' -n 100

  3. Airspeed is in GZ garden, but not yet in a PX4 plugin: https://github.com/gazebosim/gz-sensors/blob/gz-sensors7/src/AirSpeedSensor.cc

Multivehicle simulation as in multiple PX4 capable vehicles or just one PX4 vehicle and another controlled externally?

Jaeyoung-Lim commented 3 weeks ago

@dirksavage88

Collision prevention/obstacle distance already exists in PX4 gz with the x500 lidar model:

I know, but does the test work?

Catapult is just a Wrench publisher in GZ and a model would purely be for visual purposes. Easy to implement outside of PX4: gz topic -t /world/default/wrench -m gz.msgs.EntityWrench -p 'entity:{name:"x_500",type:MODEL},wrench:{force: {x:32000,y:0,z:8500,}}' -n 100

We need to write a plugin that does it automatically on arm to make testing more convenient. It doesn't make sense to type that everytime you test it.

Airspeed is in GZ garden, but not yet in a PX4 plugin: https://github.com/gazebosim/gz-sensors/blob/gz-sensors7/src/AirSpeedSensor.cc

That is just the sensor implementation. We need to incorporate it into gz bridge and handle the airframe configs for it.

dirksavage88 commented 2 weeks ago

@dirksavage88

Collision prevention/obstacle distance already exists in PX4 gz with the x500 lidar model:

I know, but does the test work?

Catapult is just a Wrench publisher in GZ and a model would purely be for visual purposes. Easy to implement outside of PX4: gz topic -t /world/default/wrench -m gz.msgs.EntityWrench -p 'entity:{name:"x_500",type:MODEL},wrench:{force: {x:32000,y:0,z:8500,}}' -n 100

We need to write a plugin that does it automatically on arm to make testing more convenient. It doesn't make sense to type that everytime you test it.

Airspeed is in GZ garden, but not yet in a PX4 plugin: https://github.com/gazebosim/gz-sensors/blob/gz-sensors7/src/AirSpeedSensor.cc

That is just the sensor implementation. We need to incorporate it into gz bridge and handle the airframe configs for it.

By test, this is in reference to a unit test of some sort? I am not sure how tests were carried out in gazebo classic.