Open auturgy opened 3 years ago
Json schema unification and consolidated
Json support for gazebo
Timeserver for SITL : alllow better mutil instance synchronisation and better lockstep with simulators
Better ground management to allow some obstacles and ground types
better physics definitions for rover and plane similarly to copter one's
I'd like to be able to use a nice 3D backend for visualisation while using the internal physics for a vehicle. Ideally this would be done while allowing for collisions to be calculated in the 3D backend
My requests are similar to Tridge's above. I'd like an easy-to-start and free 3D visualisation that is closely integrated with our existing SITL. Ideally it should be as easy to start as the 2D viewer started with sim_vehicle. No extra scripts to run, no licenses or separate downloads required.
Ideally the 3D environment would provide simulated 3D cameras pointing forward and downwards which give us point clouds and RGB images that we could then pass into scripts (probably python) to convert the data into a form that can be passed into the AP flight code (i.e. mavlink message most likely)
Maybe a GSoC project for the 3D environment?
Schema:
Sensors:
The range of sensors supported by PX4-SITL plus:
Sensor / FDM integration
Question about visualisation backend: is the idea that the 3D backend maintains the graphics update and collision space and sends the contacts back to SITL to incorporate in the SITL dynamics engine?
would be nice to unlink the built in physics from AP, so you could connect the physics via the JSON backend, this would allow a easy path ride along flight controllers to test features such as standby mode or simulate AP_Periph sensors.
+1 to consolidating the SITL backends to the JSON backend
@stephendade we already got a swarm option on sim_vehicle.py. it can still be improved but that outside SITL scope
@stephendade we already got a swarm option on sim_vehicle.py. it can still be improved but that outside SITL scope
Been trying some stuffs related to synchronisation of some particular actions between multiple SITL instances using GPS time, that is working well on multiple quadcopters in real time but I am not able to achieve that synchronisation with multiple SITL instances
@IamPete1 suggested using JSON backend to lock step all the instances together, according to him which requires using a external physics backend, but could allow it to use the internal one, but I am not able to figure out implementation for that
@Notorious811 suppose we take SIM_Rover as an example and want to use its physics with the SIM_JSON backend. Both subclass from SIM_Aircraft which contains both FDM code and FCU update code:
Where SIM_JSON is concerned it is (mostly) updating the FCU with the current FDM state from the external physics model, calculating its response in terms of PWM values, then sending them back to the external physics model.
Where SIM_Rover is concerned SIM_Aircraft is both maintaining the bulk of the rigid body dynamics and updating the FCU and getting its response. SIM_Rover adds vehicle specific behaviour over that.
I think the proposal from @IamPete1 and what I was trying to express in my list of requests, is a clean split between the two responsibilities. So the parts of SIM_Aircraft which deal with the physics (rigid body dynamics and sensor simulation) are split from the part the talks to the controller code and get the control outputs.
I see a number of benefits in organising the calculation this way:
It would probably be worth providing an extra interface that didn't require sockets to pass JSON back and forth between the FDM and FCU parts to keep the AP testing infrastructure simple and make it easier to debug.
Umbrella issue to plan a SITL Sprint Platform [ X ] All
Please be specific in requests: which vehicle and sensor models to add/improve to which simulator, etc